Snap for 10453563 from 4d20a1a42e907eac3e13995a06590e98861cd725 to mainline-conscrypt-release

Change-Id: If1084fa989f7edf33be5bc4990ee5d661987a68b
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..273bb06
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,15 @@
+# EditorConfig : http://EditorConfig.org
+
+root = true
+
+[Makefile*]
+indent_style = tab
+
+[CMakeLists.txt]
+indent_style = tab
+indent_size = 4
+
+[*.{c,h}]
+indent_style = space
+indent_size = 4
+tab_width = 8
diff --git a/.gitignore b/.gitignore
index ad751e8..6f5dc0b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,7 @@
 config.status
 config.sub
 configure
+configure~
 dba100000.xml
 depcomp
 doc/Makefile
@@ -63,13 +64,14 @@
 libxml-2.0.pc
 libxml2-config.cmake
 libxml2.la
-libxml2.spec
 list
 ltmain.sh
 log
 missing
 missing.lst
-m4
+m4/libtool.m4
+m4/lt*.m4
+py-compile
 python/.deps
 python/.libs
 python/Makefile
@@ -93,18 +95,8 @@
 stamp-h1
 tags
 test.out
-testAutomata
-testC14N
-testHTML
 testModule
-testReader
-testRegexp
-testRelax
-testSAX
-testSchemas
 testThreads
-testURI
-testXPath
 testapi
 testapi.c.new
 testchar
@@ -116,7 +108,6 @@
 tst.c
 tst
 xml2-config
-xml2Conf.sh
 xmlcatalog
 xmlconf
 xmllint
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 24e357e..b547f24 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,85 +1,114 @@
 .test:
-  # The image was generated with the following Dockerfile. It is also used
-  # for libxslt, that's why we need git and libgcrypt-dev.
-  #
-  # FROM ubuntu:20.04
-  # ENV DEBIAN_FRONTEND=noninteractive
-  # RUN apt-get update && \
-  #     apt-get upgrade -y && \
-  #     apt-get install -y --no-install-recommends \
-  #         curl git ca-certificates \
-  #         autoconf automake libtool pkg-config \
-  #         make gcc clang llvm \
-  #         zlib1g-dev liblzma-dev libgcrypt-dev \
-  #         python-dev python3-dev \
-  #         cmake
-  # WORKDIR /tests
-  # RUN curl https://www.w3.org/XML/Test/xmlts20080827.tar.gz |tar xz
   image: registry.gitlab.gnome.org/gnome/libxml2
+  variables:
+    BASE_CONFIG: "--with-ftp --with-legacy --with-xptr-locs"
+  before_script:
+    - rm -rf libxml2-build
+    - mkdir libxml2-build
+    - ln -s /tests/xmlconf libxml2-build
   script:
-    - |
-      ln -s /tests/xmlconf
-      sh autogen.sh $CONFIG
-      make -j$(nproc) V=1 CFLAGS="$CFLAGS -Werror"
-      make check
+    - sh .gitlab-ci/test.sh
 
 gcc:
   extends: .test
   variables:
     CFLAGS: "-O2 -std=c89 -D_XOPEN_SOURCE=700"
 
+gcc:minimum:
+  extends: .test
+  variables:
+    BASE_CONFIG: "--with-minimum"
+    CFLAGS: "-O2"
+
 gcc:python3:
   extends: .test
-  only:
-    - schedules
   variables:
-    CONFIG: "--with-python=/usr/bin/python3"
+    CFLAGS: "-O2"
+    PYTHON: "/usr/bin/python3"
+
+gcc:static:
+  extends: .test
+  variables:
+    CONFIG: "--disable-shared --without-python --without-modules"
     CFLAGS: "-O2"
 
 clang:asan:
   extends: .test
+  tags:
+    - asan
   variables:
     CONFIG: "--without-python"
     CC: clang
     CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,integer -fno-sanitize-recover=all -Wno-error=cast-align"
-    # LeakSanitizer requires SYS_CAP_PTRACE
-    ASAN_OPTIONS: "detect_leaks=0"
     UBSAN_OPTIONS: "print_stacktrace=1"
+    ASAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer"
 
 clang:msan:
   extends: .test
-  only:
-    - schedules
+#  only:
+#    - schedules
   variables:
     CONFIG: "--without-python --without-zlib --without-lzma"
     CC: clang
     CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wno-error=cast-align"
+    MSAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer"
+
+.mingw:
+  tags:
+    - win32-ps
+  variables:
+    BASE_CONFIG: "--with-ftp --with-legacy --with-xptr-locs"
+    CHERE_INVOKING: "yes"
+  before_script:
+    - $Env:Path="C:\msys64\usr\bin;$Env:Path"
+    - bash -lc 'sh .gitlab-ci/setup_mingw.sh autotools'
+  script:
+    - bash -lc 'sh .gitlab-ci/test.sh'
+  cache:
+    key: "$MSYSTEM"
+    paths:
+      - libxml2-build/xmlconf/
+
+mingw:w64-x86_64:shared:
+  extends: .mingw
+  variables:
+    CFLAGS: "-O2"
+    MSYSTEM: MINGW64
+
+mingw:w64-i686:shared:
+  extends: .mingw
+  only:
+    - schedules
+  variables:
+    CFLAGS: "-O2"
+    MSYSTEM: MINGW32
+
+# Disabled, GCC missing?
+.mingw:msys:shared:
+  extends: .mingw
+  variables:
+    CFLAGS: "-O2"
+    MSYSTEM: MSYS
 
 .cmake:linux:
   image: registry.gitlab.gnome.org/gnome/libxml2
+  before_script:
+    - rm -rf libxml2-build
+    - mkdir libxml2-build
+    - ln -s /tests/xmlconf libxml2-build
   script:
-    - cmake -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLIBXML2_XMLCONF_WORKING_DIR=/tests -S . -B libxml2-build
-    - cmake --build libxml2-build --target install
-    - mkdir -p libxml2-install/share/libxml2
-    - cp Copyright libxml2-install/share/libxml2
-    - cd libxml2-build
-    - ctest -VV
-  after_script:
-    - cd libxml2-install
-    - tar -czf ../libxml2-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz *
+    - sh .gitlab-ci/test_cmake.sh
   artifacts:
     paths:
-      - libxml2-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz
+      - libxml2-$CI_COMMIT_SHORT_SHA-$SUFFIX.tar.gz
     expire_in: 1 day
 
 cmake:linux:gcc:shared:
   extends: .cmake:linux
-  only:
-    - schedules
   variables:
     BUILD_SHARED_LIBS: "ON"
     CC: gcc
-    SUFFIX: shared
+    SUFFIX: linux-gcc-shared
 
 cmake:linux:gcc:static:
   extends: .cmake:linux
@@ -88,7 +117,7 @@
   variables:
     BUILD_SHARED_LIBS: "OFF"
     CC: gcc
-    SUFFIX: static
+    SUFFIX: linux-gcc-static
 
 cmake:linux:clang:shared:
   extends: .cmake:linux
@@ -97,7 +126,8 @@
   variables:
     BUILD_SHARED_LIBS: "ON"
     CC: clang
-    SUFFIX: shared
+    CFLAGS: "-Wno-error=cast-align"
+    SUFFIX: linux-clang-shared
 
 cmake:linux:clang:static:
   extends: .cmake:linux
@@ -106,48 +136,26 @@
   variables:
     BUILD_SHARED_LIBS: "OFF"
     CC: clang
-    SUFFIX: static
+    CFLAGS: "-Wno-error=cast-align"
+    SUFFIX: linux-clang-static
 
 .cmake:mingw:
   tags:
     - win32-ps
+  variables:
+    CHERE_INVOKING: "yes"
   before_script:
-    - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12"
-    - $Env:Path="C:\msys64\$Env:MINGW_PATH\bin;C:\msys64\usr\bin;$Env:Path"
-    - pacman --noconfirm -Syu
-    - pacman --noconfirm -S
-        $Env:MINGW_PACKAGE_PREFIX-cmake
-        $Env:MINGW_PACKAGE_PREFIX-libiconv
-        $Env:MINGW_PACKAGE_PREFIX-ninja
-        $Env:MINGW_PACKAGE_PREFIX-python
-        $Env:MINGW_PACKAGE_PREFIX-python2
-        $Env:MINGW_PACKAGE_PREFIX-xz
-        $Env:MINGW_PACKAGE_PREFIX-zlib
-    - if (-not (Test-Path 7za.exe)) {
-        Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-extra.7z -OutFile 7z1900-extra.7z ;
-        cmake -E tar xf 7z1900-extra.7z 7za.exe
-      }
-    - if (-not (Test-Path libxml2-build/xmlconf)) {
-        Invoke-WebRequest -Uri https://www.w3.org/XML/Test/xmlts20080827.tar.gz -OutFile xmlts20080827.tar.gz ;
-        .\7za.exe x xmlts20080827.tar.gz -olibxml2-build
-      }
+    - $Env:Path="C:\msys64\usr\bin;$Env:Path"
+    - bash -lc 'sh .gitlab-ci/setup_mingw.sh cmake ninja'
   script:
-    - cmake -G Ninja -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -B libxml2-build
-    - cmake --build libxml2-build --target install
-    - New-Item -ItemType Directory libxml2-install\share\libxml2
-    - Copy-Item Copyright libxml2-install\share\libxml2
-    - cd libxml2-build
-    - ctest -VV
-  after_script:
-    - .\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z .\libxml2-install\*
+    - bash -lc 'sh .gitlab-ci/test_cmake.sh -G Ninja'
   cache:
-    key: "$MINGW_PACKAGE_PREFIX"
+    key: "$MSYSTEM"
     paths:
       - libxml2-build/xmlconf/
-      - 7za.exe
   artifacts:
     paths:
-      - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z
+      - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:SUFFIX.tar.gz
     expire_in: 1 day
 
 cmake:mingw:w64-i686:shared:
@@ -156,9 +164,8 @@
     - schedules
   variables:
     BUILD_SHARED_LIBS: "ON"
-    MINGW_PACKAGE_PREFIX: mingw-w64-i686
-    MINGW_PATH: mingw32
-    SUFFIX: shared
+    MSYSTEM: MINGW32
+    SUFFIX: mingw-w64-i686-shared
 
 cmake:mingw:w64-i686:static:
   extends: .cmake:mingw
@@ -166,17 +173,15 @@
     - schedules
   variables:
     BUILD_SHARED_LIBS: "OFF"
-    MINGW_PACKAGE_PREFIX: mingw-w64-i686
-    MINGW_PATH: mingw32
-    SUFFIX: static
+    MSYSTEM: MINGW32
+    SUFFIX: mingw-w64-i686-static
 
 cmake:mingw:w64-x86_64:shared:
   extends: .cmake:mingw
   variables:
     BUILD_SHARED_LIBS: "ON"
-    MINGW_PACKAGE_PREFIX: mingw-w64-x86_64
-    MINGW_PATH: mingw64
-    SUFFIX: shared
+    MSYSTEM: MINGW64
+    SUFFIX: mingw-w64-x86_64-shared
 
 cmake:mingw:w64-x86_64:static:
   extends: .cmake:mingw
@@ -184,41 +189,19 @@
     - schedules
   variables:
     BUILD_SHARED_LIBS: "OFF"
-    MINGW_PACKAGE_PREFIX: mingw-w64-x86_64
-    MINGW_PATH: mingw64
-    SUFFIX: static
+    MSYSTEM: MINGW64
+    SUFFIX: mingw-w64-x86_64-static
 
 .cmake:msvc:
   tags:
     - win32-ps
   variables:
+    # MSVC warns when casting `const char **` to `void *` which is wrong.
+    # Disable warning C4090.
+    CFLAGS: /WX /wd4090
     CMAKE_VERSION: 3.19.4
-  before_script:
-    - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12"
-    - if (-not (Test-Path cmake-$Env:CMAKE_VERSION-win64-x64)) {
-        Invoke-WebRequest -Uri http://github.com/Kitware/CMake/releases/download/v$Env:CMAKE_VERSION/cmake-$Env:CMAKE_VERSION-win64-x64.zip -OutFile cmake-$Env:CMAKE_VERSION-win64-x64.zip ;
-        Expand-Archive cmake-$Env:CMAKE_VERSION-win64-x64.zip -DestinationPath .
-      }
-    - $Env:Path="$Env:CI_PROJECT_DIR\cmake-$Env:CMAKE_VERSION-win64-x64\bin;$Env:Path"
-    - if (-not (Test-Path 7za.exe)) {
-        Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-extra.7z -OutFile 7z1900-extra.7z ;
-        cmake -E tar xf 7z1900-extra.7z 7za.exe
-      }
-    - if (-not (Test-Path libxml2-build/xmlconf)) {
-        Invoke-WebRequest -Uri https://www.w3.org/XML/Test/xmlts20080827.tar.gz -OutFile xmlts20080827.tar.gz ;
-        .\7za.exe x xmlts20080827.tar.gz -olibxml2-build
-      }
   script:
-    - cmake -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxml2-install -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_LZMA=OFF -DLIBXML2_WITH_PYTHON=OFF -DLIBXML2_WITH_ZLIB=OFF -S . -B libxml2-build
-    - cmake --build libxml2-build --config Debug --target install
-    - cmake --build libxml2-build --config Release --target install
-    - New-Item -ItemType Directory libxml2-install\share\libxml2
-    - Copy-Item Copyright libxml2-install\share\libxml2
-    - cd libxml2-build
-    - ctest -C Debug -VV
-    - ctest -C Release -VV
-  after_script:
-    - .\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z .\libxml2-install\*
+    - .gitlab-ci/Test-Msvc
   cache:
     key: "msvc"
     paths:
@@ -279,7 +262,9 @@
 pages:
   script:
     - mkdir -p public
-    - cp -r doc/devhelp doc/tutorial doc/xmllint.html doc/xmlcatalog_man.html public
+    - cp -r doc/devhelp doc/tutorial doc/xmllint.html doc/xmlcatalog.html public
+    - mkdir -p public/examples
+    - cp doc/examples/*.html doc/examples/*.c public/examples
   artifacts:
     paths:
       - public
diff --git a/.gitlab-ci/Dockerfile b/.gitlab-ci/Dockerfile
new file mode 100644
index 0000000..3937c7d
--- /dev/null
+++ b/.gitlab-ci/Dockerfile
@@ -0,0 +1,16 @@
+# The image is also used for libxslt, that's why we need git and
+# libgcrypt-dev.
+
+FROM ubuntu:22.10
+ENV DEBIAN_FRONTEND=noninteractive
+RUN apt-get update && \
+    apt-get upgrade -y && \
+    apt-get install -y --no-install-recommends \
+        curl git ca-certificates \
+        autoconf automake libtool pkg-config \
+        make gcc clang llvm \
+        zlib1g-dev liblzma-dev libgcrypt-dev \
+        python2-dev python3-dev \
+        cmake
+WORKDIR /tests
+RUN curl https://www.w3.org/XML/Test/xmlts20080827.tar.gz |tar xz
diff --git a/.gitlab-ci/Test-Msvc.ps1 b/.gitlab-ci/Test-Msvc.ps1
new file mode 100644
index 0000000..796d75c
--- /dev/null
+++ b/.gitlab-ci/Test-Msvc.ps1
@@ -0,0 +1,49 @@
+[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
+
+if (-not (Test-Path cmake-$Env:CMAKE_VERSION-win64-x64)) {
+    Invoke-WebRequest `
+        -Uri http://github.com/Kitware/CMake/releases/download/v$Env:CMAKE_VERSION/cmake-$Env:CMAKE_VERSION-win64-x64.zip `
+        -OutFile cmake-$Env:CMAKE_VERSION-win64-x64.zip
+    Expand-Archive cmake-$Env:CMAKE_VERSION-win64-x64.zip -DestinationPath .
+}
+$Env:Path="$Env:CI_PROJECT_DIR\cmake-$Env:CMAKE_VERSION-win64-x64\bin;$Env:Path"
+
+if (-not (Test-Path 7za.exe)) {
+    Invoke-WebRequest `
+        -Uri https://www.7-zip.org/a/7z1900-extra.7z `
+        -OutFile 7z1900-extra.7z
+    cmake -E tar xf 7z1900-extra.7z 7za.exe
+}
+
+if (-not (Test-Path libxml2-build/xmlconf)) {
+    Invoke-WebRequest `
+        -Uri https://www.w3.org/XML/Test/xmlts20080827.tar.gz `
+        -OutFile xmlts20080827.tar.gz ;
+    .\7za.exe x xmlts20080827.tar.gz -olibxml2-build
+}
+
+cmake `
+    -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" `
+    -DCMAKE_INSTALL_PREFIX=libxml2-install `
+    -DLIBXML2_WITH_ICONV=OFF `
+    -DLIBXML2_WITH_LZMA=OFF `
+    -DLIBXML2_WITH_PYTHON=OFF `
+    -DLIBXML2_WITH_ZLIB=OFF `
+    -S . -B libxml2-build
+cmake --build libxml2-build --config Debug --target install
+cmake --build libxml2-build --config Release --target install
+New-Item -ItemType Directory libxml2-install\share\libxml2
+Copy-Item Copyright libxml2-install\share\libxml2
+
+cd libxml2-build
+ctest -C Debug -VV
+if ($LastExitCode -ne 0) {
+    throw "ctest failed"
+}
+ctest -C Release -VV
+if ($LastExitCode -ne 0) {
+    throw "ctest failed"
+}
+cd ..
+
+.\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z .\libxml2-install\*
diff --git a/.gitlab-ci/llvm-symbolizer b/.gitlab-ci/llvm-symbolizer
new file mode 100755
index 0000000..cfc85e8
--- /dev/null
+++ b/.gitlab-ci/llvm-symbolizer
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Newer versions of llvm-symbolizer require libxml2 themselves. Running
+# a test program with LD_LIBRARY_PATH set to .libs makes llvm-symbolizer
+# pick up the tested development version of libxml2 which breaks
+# completely if the build is instrumented with ASan. This wrapper script
+# invokes llvm-symbolizer with an empty LD_LIBRARY_PATH.
+
+LD_LIBRARY_PATH='' llvm-symbolizer "$@"
diff --git a/.gitlab-ci/setup_mingw.sh b/.gitlab-ci/setup_mingw.sh
new file mode 100644
index 0000000..7e61c34
--- /dev/null
+++ b/.gitlab-ci/setup_mingw.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+pacman --noconfirm -Syu
+
+prefix=
+if [ -n "$MINGW_PACKAGE_PREFIX" ]; then
+    prefix="${MINGW_PACKAGE_PREFIX}-"
+fi
+for module in libiconv python xz zlib "$@"; do
+    pacman --noconfirm -S --needed ${prefix}$module
+done
+
+if [ ! -e libxml2-build/xmlconf ]; then
+    mkdir -p libxml2-build
+    wget https://www.w3.org/XML/Test/xmlts20080827.tar -O - |
+       tar -x -C libxml2-build
+fi
diff --git a/.gitlab-ci/test.sh b/.gitlab-ci/test.sh
new file mode 100644
index 0000000..0d8942f
--- /dev/null
+++ b/.gitlab-ci/test.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+set -e
+
+cd libxml2-build
+sh ../autogen.sh $BASE_CONFIG $CONFIG
+make -j$(nproc) V=1 CFLAGS="$CFLAGS -Werror"
+make CFLAGS="$CFLAGS -Werror" check
diff --git a/.gitlab-ci/test_cmake.sh b/.gitlab-ci/test_cmake.sh
new file mode 100644
index 0000000..99c22a8
--- /dev/null
+++ b/.gitlab-ci/test_cmake.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+set -e
+
+CFLAGS="-Werror $CFLAGS" \
+cmake "$@" \
+    -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS \
+    -DCMAKE_INSTALL_PREFIX=libxml2-install \
+    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+    -S . -B libxml2-build
+cmake --build libxml2-build --target install
+
+(cd libxml2-build && ctest -VV)
+
+mkdir -p libxml2-install/share/libxml2
+cp Copyright libxml2-install/share/libxml2
+(cd libxml2-install &&
+    tar -czf ../libxml2-$CI_COMMIT_SHORT_SHA-$SUFFIX.tar.gz *)
diff --git a/Android.bp b/Android.bp
index ae4cce9..c839186 100644
--- a/Android.bp
+++ b/Android.bp
@@ -89,7 +89,6 @@
         "xpath.c",
         "xpointer.c",
         "xinclude.c",
-        "DOCBparser.c",
         "catalog.c",
         "globals.c",
         "threads.c",
@@ -158,7 +157,6 @@
     target: {
        android: {
            shared_libs: ["libandroidicu"],
-           export_shared_lib_headers: ["libandroidicu"],
        },
        host: {
            shared_libs: [
@@ -179,7 +177,6 @@
     },
     apex_available: [
         "//apex_available:platform",
-        "com.android.runtime", // used by linkerconfig
         "com.android.uwb",
         "com.android.virt",
     ],
@@ -442,6 +439,7 @@
         "test/VC/*",
         "test/VCM/*",
         "test/XInclude/docs/*",
+        "test/XInclude/without-reader/*",
         "test/xmlid/*",
     ],
     // The genseed tool only writes under its current directory.
@@ -589,6 +587,7 @@
         "fuzz/seed/xml/fallback4.xml",
         "fuzz/seed/xml/fallback5.xml",
         "fuzz/seed/xml/fallback6.xml",
+        "fuzz/seed/xml/fallback7.xml",
         "fuzz/seed/xml/fallback.xml",
         "fuzz/seed/xml/icu_parse_test.xml",
         "fuzz/seed/xml/id1.xml",
@@ -607,6 +606,8 @@
         "fuzz/seed/xml/isolat1",
         "fuzz/seed/xml/isolat2",
         "fuzz/seed/xml/isolat3",
+        "fuzz/seed/xml/issue424-1.xml",
+        "fuzz/seed/xml/issue424-2.xml",
         "fuzz/seed/xml/japancrlf.xml",
         "fuzz/seed/xml/mixed_ns.xml",
         "fuzz/seed/xml/name2.xml",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f922d5a..39d3623 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,15 +26,14 @@
 option(LIBXML2_WITH_C14N "Add the Canonicalization support" ON)
 option(LIBXML2_WITH_CATALOG "Add the Catalog support" ON)
 option(LIBXML2_WITH_DEBUG "Add the debugging module" ON)
-option(LIBXML2_WITH_DOCB "Add Docbook SGML support" ON)
 set(LIBXML2_WITH_EXPR ON)
-option(LIBXML2_WITH_FTP "Add the FTP support" ON)
+option(LIBXML2_WITH_FTP "Add the FTP support" OFF)
 option(LIBXML2_WITH_HTML "Add the HTML support" ON)
 option(LIBXML2_WITH_HTTP "Add the HTTP support" ON)
 option(LIBXML2_WITH_ICONV "Add ICONV support" ON)
 option(LIBXML2_WITH_ICU "Add ICU support" OFF)
 option(LIBXML2_WITH_ISO8859X "Add ISO8859X support if no iconv" ON)
-option(LIBXML2_WITH_LEGACY "Add deprecated APIs for compatibility" ON)
+option(LIBXML2_WITH_LEGACY "Add deprecated APIs for compatibility" OFF)
 option(LIBXML2_WITH_LZMA "Use liblzma" ON)
 option(LIBXML2_WITH_MEM_DEBUG "Add the memory debugging module" OFF)
 option(LIBXML2_WITH_MODULES "Add the dynamic modules support" ON)
@@ -45,7 +44,6 @@
 option(LIBXML2_WITH_PYTHON "Build Python bindings" ON)
 option(LIBXML2_WITH_READER "Add the xmlReader parsing interface" ON)
 option(LIBXML2_WITH_REGEXPS "Add Regular Expressions support" ON)
-option(LIBXML2_WITH_RUN_DEBUG "Add the runtime debugging module" OFF)
 option(LIBXML2_WITH_SAX1 "Add the older SAX1 interface" ON)
 option(LIBXML2_WITH_SCHEMAS "Add Relax-NG and Schemas support" ON)
 option(LIBXML2_WITH_SCHEMATRON "Add Schematron support" ON)
@@ -60,6 +58,7 @@
 option(LIBXML2_WITH_XINCLUDE "Add the XInclude support" ON)
 option(LIBXML2_WITH_XPATH "Add the XPATH support" ON)
 option(LIBXML2_WITH_XPTR "Add the XPointer support" ON)
+option(LIBXML2_WITH_XPTR_LOCS "Add support for XPointer locations" OFF)
 option(LIBXML2_WITH_ZLIB "Use libz" ON)
 set(LIBXML2_XMLCONF_WORKING_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH "Working directory for XML Conformance Test Suite")
 
@@ -78,15 +77,10 @@
 if(LIBXML2_WITH_PYTHON)
 	check_include_files(unistd.h HAVE_UNISTD_H)
 	check_symbol_exists(F_GETFL fcntl.h HAVE_F_GETFL)
-	if(HAVE_UNISTD_H AND HAVE_F_GETFL)
-		find_package(Python COMPONENTS Interpreter Development REQUIRED)
-	else()
-		find_package(Python2 COMPONENTS Interpreter Development REQUIRED)
-		add_library(Python::Python ALIAS Python2::Python)
-		set(Python_EXECUTABLE ${Python2_EXECUTABLE})
-		set(Python_SITEARCH ${Python2_SITEARCH})
-	endif()
-	set(LIBXML2_PYTHON_INSTALL_DIR ${Python_SITEARCH} CACHE PATH "Python bindings install directory")
+	find_package(Python COMPONENTS Interpreter Development REQUIRED)
+        #set(LIBXML2_PYTHON_INSTALL_DIR ${Python_SITEARCH} CACHE PATH "Python bindings install directory")
+        set(LIBXML2_PYTHON_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/python"
+	    CACHE PATH "Python bindings install directory")
 endif()
 
 if(LIBXML2_WITH_THREADS)
@@ -97,7 +91,7 @@
 	find_package(ZLIB REQUIRED)
 endif()
 
-foreach(VARIABLE IN ITEMS WITH_AUTOMATA WITH_C14N WITH_CATALOG WITH_DEBUG WITH_DOCB WITH_EXPR WITH_FTP WITH_HTML WITH_HTTP WITH_ICONV WITH_ICU WITH_ISO8859X WITH_LEGACY WITH_LZMA WITH_MEM_DEBUG WITH_MODULES WITH_OUTPUT WITH_PATTERN WITH_PUSH WITH_READER WITH_REGEXPS WITH_RUN_DEBUG WITH_SAX1 WITH_SCHEMAS WITH_SCHEMATRON WITH_THREADS WITH_THREAD_ALLOC WITH_TREE WITH_TRIO WITH_UNICODE WITH_VALID WITH_WRITER WITH_XINCLUDE WITH_XPATH WITH_XPTR WITH_ZLIB)
+foreach(VARIABLE IN ITEMS WITH_AUTOMATA WITH_C14N WITH_CATALOG WITH_DEBUG WITH_EXPR WITH_FTP WITH_HTML WITH_HTTP WITH_ICONV WITH_ICU WITH_ISO8859X WITH_LEGACY WITH_LZMA WITH_MEM_DEBUG WITH_MODULES WITH_OUTPUT WITH_PATTERN WITH_PUSH WITH_READER WITH_REGEXPS WITH_SAX1 WITH_SCHEMAS WITH_SCHEMATRON WITH_THREADS WITH_THREAD_ALLOC WITH_TREE WITH_TRIO WITH_UNICODE WITH_VALID WITH_WRITER WITH_XINCLUDE WITH_XPATH WITH_XPTR WITH_XPTR_LOCS WITH_ZLIB)
 	if(LIBXML2_${VARIABLE})
 		set(${VARIABLE} 1)
 	else()
@@ -105,10 +99,13 @@
 	endif()
 endforeach()
 
-set(LIBXML_VERSION ${LIBXML_MAJOR_VERSION}0${LIBXML_MINOR_VERSION}0${LIBXML_MICRO_VERSION})
-set(LIBXML_VERSION_STRING "${LIBXML_VERSION}")
+set(LIBXML_VERSION ${VERSION})
 set(LIBXML_VERSION_EXTRA "")
-set(LIBXML_VERSION_NUMBER ${LIBXML_VERSION})
+math(EXPR LIBXML_VERSION_NUMBER "
+    ${LIBXML_MAJOR_VERSION} * 10000 +
+    ${LIBXML_MINOR_VERSION} * 100 +
+    ${LIBXML_MICRO_VERSION}
+")
 
 set(MODULE_EXTENSION "${CMAKE_SHARED_LIBRARY_SUFFIX}")
 
@@ -132,9 +129,7 @@
 	list(APPEND CMAKE_REQUIRED_LIBRARIES ZLIB::ZLIB)
 endif()
 
-if(MSVC)
-	configure_file(include/win32config.h config.h COPYONLY)
-else()
+if (NOT MSVC)
 	check_c_source_compiles("
 		void __attribute__((destructor))
 		f(void) {}
@@ -143,112 +138,40 @@
 	if(HAVE_ATTRIBUTE_DESTRUCTOR)
 		set(ATTRIBUTE_DESTRUCTOR "__attribute__((destructor))")
 	endif()
-	check_c_source_compiles("
-		#include <netdb.h>
-		int main() { (void) gethostbyname((const char*) \"\"); return 0; }
-	" GETHOSTBYNAME_ARG_CAST_CONST)
-	if(NOT GETHOSTBYNAME_ARG_CAST_CONST)
-		set(GETHOSTBYNAME_ARG_CAST "(char *)")
-	else()
-		set(GETHOSTBYNAME_ARG_CAST "/**/")
-	endif()
 	check_include_files(arpa/inet.h HAVE_ARPA_INET_H)
-	check_include_files(arpa/nameser.h HAVE_ARPA_NAMESER_H)
-	check_struct_has_member("struct sockaddr_storage" ss_family "sys/socket.h;sys/types.h" HAVE_SS_FAMILY)
-	check_struct_has_member("struct sockaddr_storage" __ss_family "sys/socket.h;sys/types.h" HAVE_BROKEN_SS_FAMILY)
-	if(HAVE_BROKEN_SS_FAMILY)
-		set(ss_family __ss_family)
-	endif()
 	check_function_exists(class HAVE_CLASS)
-	check_include_files(ctype.h HAVE_CTYPE_H)
 	check_include_files(dlfcn.h HAVE_DLFCN_H)
 	check_library_exists(dl dlopen "" HAVE_DLOPEN)
 	check_include_files(dl.h HAVE_DL_H)
-	check_include_files(errno.h HAVE_ERRNO_H)
 	check_include_files(fcntl.h HAVE_FCNTL_H)
-	check_include_files(float.h HAVE_FLOAT_H)
 	check_function_exists(fpclass HAVE_FPCLASS)
-	check_function_exists(fprintf HAVE_FPRINTF)
 	check_function_exists(ftime HAVE_FTIME)
-	check_function_exists(getaddrinfo HAVE_GETADDRINFO)
 	check_function_exists(gettimeofday HAVE_GETTIMEOFDAY)
 	check_include_files(inttypes.h HAVE_INTTYPES_H)
 	check_function_exists(isascii HAVE_ISASCII)
 	check_library_exists(history append_history "" HAVE_LIBHISTORY)
 	check_library_exists(readline readline "" HAVE_LIBREADLINE)
-	check_include_files(limits.h HAVE_LIMITS_H)
-	check_function_exists(localtime HAVE_LOCALTIME)
-	check_include_files(malloc.h HAVE_MALLOC_H)
-	check_include_files(math.h HAVE_MATH_H)
 	check_function_exists(mmap HAVE_MMAP)
 	check_function_exists(munmap HAVE_MUNMAP)
 	check_include_files(netdb.h HAVE_NETDB_H)
 	check_include_files(netinet/in.h HAVE_NETINET_IN_H)
 	check_include_files(poll.h HAVE_POLL_H)
-	check_function_exists(printf HAVE_PRINTF)
-	check_include_files(pthread.h HAVE_PTHREAD_H)
 	check_function_exists(putenv HAVE_PUTENV)
-	check_function_exists(rand HAVE_RAND)
 	check_function_exists(rand_r HAVE_RAND_R)
-	check_include_files(resolv.h HAVE_RESOLV_H)
 	check_library_exists(dld shl_load "" HAVE_SHLLOAD)
-	check_include_files(signal.h HAVE_SIGNAL_H)
-	check_function_exists(snprintf HAVE_SNPRINTF)
-	check_function_exists(sprintf HAVE_SPRINTF)
-	check_function_exists(srand HAVE_SRAND)
-	check_function_exists(sscanf HAVE_SSCANF)
 	check_function_exists(stat HAVE_STAT)
-	check_include_files(stdarg.h HAVE_STDARG_H)
 	check_include_files(stdint.h HAVE_STDINT_H)
-	check_include_files(stdlib.h HAVE_STDLIB_H)
-	check_function_exists(strftime HAVE_STRFTIME)
-	check_include_files(strings.h HAVE_STRINGS_H)
-	check_include_files(string.h HAVE_STRING_H)
 	check_include_files(sys/mman.h HAVE_SYS_MMAN_H)
 	check_include_files(sys/select.h HAVE_SYS_SELECT_H)
 	check_include_files(sys/socket.h HAVE_SYS_SOCKET_H)
 	check_include_files(sys/stat.h HAVE_SYS_STAT_H)
 	check_include_files(sys/timeb.h HAVE_SYS_TIMEB_H)
 	check_include_files(sys/time.h HAVE_SYS_TIME_H)
-	check_include_files(sys/types.h HAVE_SYS_TYPES_H)
-	check_function_exists(time HAVE_TIME)
-	check_include_files(time.h HAVE_TIME_H)
 	check_include_files(unistd.h HAVE_UNISTD_H)
 	check_function_exists(va_copy HAVE_VA_COPY)
-	check_function_exists(vfprintf HAVE_VFPRINTF)
-	check_function_exists(vsnprintf HAVE_VSNPRINTF)
-	check_function_exists(vsprintf HAVE_VSPRINTF)
 	check_function_exists(__va_copy HAVE___VA_COPY)
-	check_c_source_compiles("
-		#include <stdlib.h>
-		#include <iconv.h>
-		extern
-		#ifdef __cplusplus
-		\"C\"
-		#endif
-		#if defined(__STDC__) || defined(__cplusplus)
-		size_t iconv(iconv_t cd, char** inbuf, size_t* inbytesleft, char** outbuf, size_t* outbytesleft);
-		#else
-		size_t iconv();
-		#endif
-		int main() { return 0; }
-	" ICONV_CONST_TEST)
-	if(NOT ICONV_CONST_TEST)
-		set(ICONV_CONST "const")
-	endif()
 	set(LT_OBJDIR ".libs/")
 	check_c_source_compiles("
-		#include <sys/socket.h>
-		#include <sys/types.h>
-		int main() { (void) send(1, (const char*) \"\", 1, 1); return 0; }
-	" SEND_ARG2_CAST_CONST)
-	if(NOT SEND_ARG2_CAST_CONST)
-		set(SEND_ARG2_CAST "(char *)")
-	else()
-		set(SEND_ARG2_CAST "/**/")
-	endif()
-	check_include_files("float.h;stdarg.h;stdlib.h;string.h" STDC_HEADERS)
-	check_c_source_compiles("
 		#include <stdarg.h>
 		void a(va_list* ap) {};
 		int main() { va_list ap1, ap2; a(&ap1); ap2 = (va_list) ap1; return 0; }
@@ -261,7 +184,6 @@
 	check_c_source_compiles("
 		#include <stddef.h>
 		#include <sys/socket.h>
-		#include <sys/types.h>
 		int main() { (void) getsockopt(1, 1, 1, NULL, (socklen_t*) NULL); return 0; }
 	" XML_SOCKLEN_T_SOCKLEN_T)
 	if(XML_SOCKLEN_T_SOCKLEN_T)
@@ -270,7 +192,6 @@
 		check_c_source_compiles("
 			#include <stddef.h>
 			#include <sys/socket.h>
-			#include <sys/types.h>
 			int main() { (void) getsockopt(1, 1, 1, NULL, (size_t*) NULL); return 0; }
 		" XML_SOCKLEN_T_SIZE_T)
 		if(XML_SOCKLEN_T_SIZE_T)
@@ -279,13 +200,11 @@
 			check_c_source_compiles("
 				#include <stddef.h>
 				#include <sys/socket.h>
-				#include <sys/types.h>
 				int main() { (void) getsockopt (1, 1, 1, NULL, (int*) NULL); return 0; }
 			" XML_SOCKLEN_T_INT)
 			set(XML_SOCKLEN_T int)
 		endif()
 	endif()
-	configure_file(config.h.cmake.in config.h)
 endif()
 
 set(
@@ -295,7 +214,6 @@
 	include/libxml/chvalid.h
 	include/libxml/debugXML.h
 	include/libxml/dict.h
-	include/libxml/DOCBparser.h
 	include/libxml/encoding.h
 	include/libxml/entities.h
 	include/libxml/globals.h
@@ -398,10 +316,6 @@
 	)
 endif()
 
-if(LIBXML2_WITH_SAX1)
-	list(APPEND LIBXML2_SRCS DOCBparser.c)
-endif()
-
 if(LIBXML2_WITH_TRIO)
 	list(APPEND LIBXML2_SRCS trio.c triostr.c)
 endif()
@@ -409,15 +323,28 @@
 add_library(LibXml2 ${LIBXML2_HDRS} ${LIBXML2_SRCS})
 add_library(LibXml2::LibXml2 ALIAS LibXml2)
 
+target_compile_definitions(LibXml2 PRIVATE SYSCONFDIR="${CMAKE_INSTALL_FULL_SYSCONFDIR}")
+
 if(NOT BUILD_SHARED_LIBS)
-	target_compile_definitions(LibXml2 INTERFACE LIBXML_STATIC)
+	target_compile_definitions(LibXml2 PUBLIC LIBXML_STATIC)
 	set(XML_CFLAGS "-DLIBXML_STATIC")
 endif()
 
+if(CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID STREQUAL "GNU")
+	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic -Wall -Wextra -Wshadow \
+-Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return \
+-Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline \
+-Wredundant-decls -Wno-long-long -Wno-format-extra-args")
+
+	if(BUILD_SHARED_LIBS AND UNIX AND NOT APPLE)
+		target_link_options(LibXml2 PRIVATE "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libxml2.syms")
+	endif()
+endif()
+
 if(LIBXML2_WITH_THREADS)
 	target_compile_definitions(LibXml2 PRIVATE _REENTRANT)
-	if(WIN32)
-		target_compile_definitions(LibXml2 PRIVATE HAVE_WIN32_THREADS)
+        if(NOT WIN32)
+		check_include_files(pthread.h HAVE_PTHREAD_H)
 	endif()
 endif()
 
@@ -429,24 +356,26 @@
 	$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}/libxml2>
 )
 
-if(HAVE_DLOPEN)
-	target_link_libraries(LibXml2 PRIVATE dl)
-	set(MODULE_PLATFORM_LIBS "-ldl")
-endif()
+if(LIBXML2_WITH_MODULES)
+	if(HAVE_DLOPEN)
+		target_link_libraries(LibXml2 PRIVATE dl)
+		set(MODULE_PLATFORM_LIBS "-ldl")
+	endif()
 
-if(HAVE_SHLLOAD)
-	target_link_libraries(LibXml2 PRIVATE dld)
-	set(MODULE_PLATFORM_LIBS "-ldld")
+	if(HAVE_SHLLOAD)
+		target_link_libraries(LibXml2 PRIVATE dld)
+		set(MODULE_PLATFORM_LIBS "-ldld")
+	endif()
 endif()
 
 if(UNIX)
 	target_link_libraries(LibXml2 PRIVATE m)
-	set(M_LIBS "-lm")
+	set(LIBM "-lm")
 endif()
 
 if(WIN32)
 	target_link_libraries(LibXml2 PRIVATE ws2_32)
-	set(WIN32_EXTRA_LIBADD "-lws2_32")
+	set(WINSOCK_LIBS "-lws2_32")
 endif()
 
 if(LIBXML2_WITH_ICONV)
@@ -488,6 +417,7 @@
 	POSITION_INDEPENDENT_CODE ON
 	PREFIX lib
 	VERSION ${PROJECT_VERSION}
+        SOVERSION ${LIBXML_MAJOR_VERSION}
 )
 
 if(MSVC)
@@ -532,6 +462,7 @@
 	foreach(PROGRAM ${PROGRAMS})
 		add_executable(${PROGRAM} ${PROGRAM}.c)
 		add_executable(LibXml2::${PROGRAM} ALIAS ${PROGRAM})
+		target_compile_definitions(${PROGRAM} PRIVATE SYSCONFDIR="${CMAKE_INSTALL_FULL_SYSCONFDIR}")
 		target_link_libraries(${PROGRAM} LibXml2)
 		if(HAVE_LIBHISTORY)
 			target_link_libraries(${PROGRAM} history)
@@ -547,29 +478,29 @@
 	enable_testing()
 	set(
 		TESTS
+		runtest
 		runxmlconf
 		runsuite
 		testapi
-		testAutomata
-		testC14N
 		testchar
 		testdict
-		testHTML
 		testModule
 		testlimits
-		testReader
 		testrecurse
-		testRegexp
-		testRelax
-		testSAX
-		testSchemas
-		testURI
-		testXPath
+		testThreads
 	)
 	foreach(TEST ${TESTS})
 		add_executable(${TEST} ${TEST}.c)
+		target_compile_definitions(${TEST} PRIVATE SYSCONFDIR="${CMAKE_INSTALL_FULL_SYSCONFDIR}")
 		target_link_libraries(${TEST} LibXml2)
 	endforeach()
+	if(Threads_FOUND)
+		foreach(TEST runtest testThreads)
+			target_link_libraries(${TEST} Threads::Threads)
+		endforeach()
+	endif()
+	add_test(NAME runtest COMMAND runtest --out ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+	add_test(NAME runsuite COMMAND runsuite WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
 	if(EXISTS ${LIBXML2_XMLCONF_WORKING_DIR}/xmlconf/xmlconf.xml)
 		add_test(NAME runxmlconf COMMAND runxmlconf WORKING_DIRECTORY ${LIBXML2_XMLCONF_WORKING_DIR})
 	endif()
@@ -579,22 +510,7 @@
 	add_test(NAME testchar COMMAND testchar)
 	add_test(NAME testdict COMMAND testdict)
 	add_test(NAME testrecurse COMMAND testrecurse WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
-	if(Threads_FOUND)
-		set(
-			TESTS_THREADS
-			runtest
-			testThreads
-		)
-		foreach(TEST ${TESTS_THREADS})
-			add_executable(${TEST} ${TEST}.c)
-			if(WIN32)
-				target_compile_definitions(${TEST} PRIVATE HAVE_WIN32_THREADS)
-			endif()
-			target_link_libraries(${TEST} LibXml2 Threads::Threads)
-		endforeach()
-		add_test(NAME runtest COMMAND runtest --out ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
-		add_test(NAME testThreads COMMAND testThreads WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
-	endif()
+	add_test(NAME testThreads COMMAND testThreads WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
 endif()
 
 if(LIBXML2_WITH_PYTHON)
@@ -634,6 +550,9 @@
 		PREFIX lib
 		VERSION ${PROJECT_VERSION}
 	)
+	if (WIN32)
+		set_target_properties(LibXml2Mod PROPERTIES SUFFIX ".pyd")
+	endif()
 	install(
 		TARGETS	LibXml2Mod
 		ARCHIVE DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT development
@@ -647,10 +566,16 @@
 	install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2.py DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime)
 endif()
 
-install(FILES libxml.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 COMPONENT documentation)
+install(FILES doc/xml2-config.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation)
 install(FILES doc/xmlcatalog.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation)
 install(FILES doc/xmllint.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation)
-install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxml2 COMPONENT documentation PATTERN Makefile.* EXCLUDE)
+install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT documentation
+	PATTERN "Makefile.*" EXCLUDE
+	PATTERN "*.1" EXCLUDE
+	PATTERN "*.py" EXCLUDE
+	PATTERN "*.res" EXCLUDE
+	PATTERN "*.xml" EXCLUDE
+	PATTERN "*.xsl" EXCLUDE)
 
 configure_package_config_file(
 	libxml2-config.cmake.cmake.in libxml2-config.cmake
@@ -683,6 +608,11 @@
 	COMPONENT development
 )
 
+if(MSVC)
+	configure_file(include/win32config.h config.h COPYONLY)
+else()
+	configure_file(config.h.cmake.in config.h)
+endif()
 configure_file(include/libxml/xmlversion.h.in libxml/xmlversion.h)
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml/xmlversion.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libxml2/libxml COMPONENT development)
 
@@ -694,26 +624,34 @@
 set(XML_INCLUDEDIR "-I\${includedir}/libxml2")
 set(XML_LIBDIR "-L\${libdir}")
 set(XML_LIBS "-lxml2")
-set(XML_PRIVATE_LIBS "${Z_LIBS} ${LZMA_LIBS} ${THREAD_LIBS} ${ICONV_LIBS} ${ICU_LIBS} ${M_LIBS}")
+set(XML_PRIVATE_LIBS "${Z_LIBS} ${LZMA_LIBS} ${THREAD_LIBS} ${ICONV_LIBS} ${ICU_LIBS} ${LIBM} ${WINSOCK_LIBS}")
 
 file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig" "${CMAKE_INSTALL_PREFIX}")
 string(REGEX REPLACE "/$" "" PACKAGE_RELATIVE_PATH "${PACKAGE_RELATIVE_PATH}")
 
-set(prefix "\${pcfiledir}/${PACKAGE_RELATIVE_PATH}")
+if(WIN32)
+	set(prefix "\${pcfiledir}/${PACKAGE_RELATIVE_PATH}")
+else()
+	set(prefix "${CMAKE_INSTALL_PREFIX}")
+endif()
 set(exec_prefix "\${prefix}")
 set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
 set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
 configure_file(libxml-2.0.pc.in libxml-2.0.pc @ONLY)
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml-2.0.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT development)
 
-set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..")
+if(WIN32)
+	set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..")
+endif()
 configure_file(xml2-config.in xml2-config @ONLY)
 install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xml2-config DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT development)
 
+if(UNIX)
+	install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/libxml.m4 DESTINATION ${CMAKE_INSTALL_DATADIR}/aclocal)
+endif()
+
 set(XML_INCLUDEDIR "-I${CMAKE_INSTALL_FULL_INCLUDEDIR}/libxml2")
 set(XML_LIBDIR "-L${CMAKE_INSTALL_FULL_LIBDIR}")
-configure_file(xml2Conf.sh.in xml2Conf.sh @ONLY)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/xml2Conf.sh DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT development)
 
 set(CPACK_COMPONENT_DEVELOPMENT_DEPENDS runtime)
 set(CPACK_COMPONENT_PROGRAMS_DEPENDS runtime)
diff --git a/DOCBparser.c b/DOCBparser.c
deleted file mode 100644
index c5a06f9..0000000
--- a/DOCBparser.c
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * DOCBparser.c : an attempt to parse SGML Docbook documents
- *
- * This is deprecated !!!
- * Code removed with release 2.6.0 it was broken.
- * The doc are expect to be migrated to XML DocBook
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXML
-#include "libxml.h"
-#ifdef LIBXML_DOCB_ENABLED
-
-#include <libxml/xmlerror.h>
-#include <libxml/DOCBparser.h>
-
-/**
- * docbEncodeEntities:
- * @out:  a pointer to an array of bytes to store the result
- * @outlen:  the length of @out
- * @in:  a pointer to an array of UTF-8 chars
- * @inlen:  the length of @in
- * @quoteChar: the quote character to escape (' or ") or zero.
- *
- * Take a block of UTF-8 chars in and try to convert it to an ASCII
- * plus SGML entities block of chars out.
- *
- * Returns 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.
- */
-int
-docbEncodeEntities(unsigned char *out ATTRIBUTE_UNUSED,
-                   int *outlen ATTRIBUTE_UNUSED,
-                   const unsigned char *in ATTRIBUTE_UNUSED,
-                   int *inlen ATTRIBUTE_UNUSED,
-                   int quoteChar ATTRIBUTE_UNUSED)
-{
-    static int deprecated = 0;
-
-    if (!deprecated) {
-        xmlGenericError(xmlGenericErrorContext,
-                        "docbEncodeEntities() deprecated function reached\n");
-        deprecated = 1;
-    }
-    return(-1);
-}
-
-/**
- * docbParseDocument:
- * @ctxt:  an SGML parser context
- *
- * parse an SGML document (and build a tree if using the standard SAX
- * interface).
- *
- * Returns 0, -1 in case of error. the parser context is augmented
- *                as a result of the parsing.
- */
-
-int
-docbParseDocument(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
-{
-    static int deprecated = 0;
-
-    if (!deprecated) {
-        xmlGenericError(xmlGenericErrorContext,
-                        "docbParseDocument() deprecated function reached\n");
-        deprecated = 1;
-    }
-    return (xmlParseDocument(ctxt));
-}
-
-/**
- * docbFreeParserCtxt:
- * @ctxt:  an SGML parser context
- *
- * Free all the memory used by a parser context. However the parsed
- * document in ctxt->myDoc is not freed.
- */
-
-void
-docbFreeParserCtxt(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
-{
-    static int deprecated = 0;
-
-    if (!deprecated) {
-        xmlGenericError(xmlGenericErrorContext,
-                        "docbFreeParserCtxt() deprecated function reached\n");
-        deprecated = 1;
-    }
-    xmlFreeParserCtxt(ctxt);
-}
-
-/**
- * docbParseChunk:
- * @ctxt:  an XML parser context
- * @chunk:  an char array
- * @size:  the size in byte of the chunk
- * @terminate:  last chunk indicator
- *
- * Parse a Chunk of memory
- *
- * Returns zero if no error, the xmlParserErrors otherwise.
- */
-int
-docbParseChunk(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
-               const char *chunk ATTRIBUTE_UNUSED,
-	       int size ATTRIBUTE_UNUSED,
-               int terminate ATTRIBUTE_UNUSED)
-{
-    static int deprecated = 0;
-
-    if (!deprecated) {
-        xmlGenericError(xmlGenericErrorContext,
-                        "docbParseChunk() deprecated function reached\n");
-        deprecated = 1;
-    }
-
-    return (xmlParseChunk(ctxt, chunk, size, terminate));
-}
-
-/**
- * docbCreatePushParserCtxt:
- * @sax:  a SAX handler
- * @user_data:  The user data returned on SAX callbacks
- * @chunk:  a pointer to an array of chars
- * @size:  number of chars in the array
- * @filename:  an optional file name or URI
- * @enc:  an optional encoding
- *
- * Create a parser context for using the DocBook SGML parser in push mode
- * To allow content encoding detection, @size should be >= 4
- * The value of @filename is used for fetching external entities
- * and error/warning reports.
- *
- * Returns the new parser context or NULL
- */
-docbParserCtxtPtr
-docbCreatePushParserCtxt(docbSAXHandlerPtr sax ATTRIBUTE_UNUSED,
-                         void *user_data ATTRIBUTE_UNUSED,
-                         const char *chunk ATTRIBUTE_UNUSED,
-			 int size ATTRIBUTE_UNUSED,
-			 const char *filename ATTRIBUTE_UNUSED,
-                         xmlCharEncoding enc ATTRIBUTE_UNUSED)
-{
-    static int deprecated = 0;
-
-    if (!deprecated) {
-        xmlGenericError(xmlGenericErrorContext,
-                        "docbParseChunk() deprecated function reached\n");
-        deprecated = 1;
-    }
-
-    return(xmlCreatePushParserCtxt(sax, user_data, chunk, size, filename));
-}
-
-/**
- * docbSAXParseDoc:
- * @cur:  a pointer to an array of xmlChar
- * @encoding:  a free form C string describing the SGML document encoding, or NULL
- * @sax:  the SAX handler block
- * @userData: if using SAX, this pointer will be provided on callbacks.
- *
- * parse an SGML in-memory document and build a tree.
- * It use the given SAX function block to handle the parsing callback.
- * If sax is NULL, fallback to the default DOM tree building routines.
- *
- * Returns the resulting document tree
- */
-
-docbDocPtr
-docbSAXParseDoc(xmlChar * cur ATTRIBUTE_UNUSED,
-                const char *encoding ATTRIBUTE_UNUSED,
-		docbSAXHandlerPtr sax ATTRIBUTE_UNUSED,
-                void *userData ATTRIBUTE_UNUSED)
-{
-    static int deprecated = 0;
-
-    if (!deprecated) {
-        xmlGenericError(xmlGenericErrorContext,
-                        "docbParseChunk() deprecated function reached\n");
-        deprecated = 1;
-    }
-
-    return (xmlSAXParseMemoryWithData(sax, (const char *)cur,
-			  xmlStrlen((const xmlChar *) cur), 0,  userData));
-}
-
-/**
- * docbParseDoc:
- * @cur:  a pointer to an array of xmlChar
- * @encoding:  a free form C string describing the SGML document encoding, or NULL
- *
- * parse an SGML in-memory document and build a tree.
- *
- * Returns the resulting document tree
- */
-
-docbDocPtr
-docbParseDoc(xmlChar * cur ATTRIBUTE_UNUSED,
-             const char *encoding ATTRIBUTE_UNUSED)
-{
-    static int deprecated = 0;
-
-    if (!deprecated) {
-        xmlGenericError(xmlGenericErrorContext,
-                        "docbParseChunk() deprecated function reached\n");
-        deprecated = 1;
-    }
-
-    return (xmlParseDoc(cur));
-}
-
-
-/**
- * docbCreateFileParserCtxt:
- * @filename:  the filename
- * @encoding:  the SGML document encoding, or NULL
- *
- * Create a parser context for a file content.
- * Automatic support for ZLIB/Compress compressed document is provided
- * by default if found at compile-time.
- *
- * Returns the new parser context or NULL
- */
-docbParserCtxtPtr
-docbCreateFileParserCtxt(const char *filename ATTRIBUTE_UNUSED,
-                         const char *encoding ATTRIBUTE_UNUSED)
-{
-    static int deprecated = 0;
-
-    if (!deprecated) {
-        xmlGenericError(xmlGenericErrorContext,
-                        "docbCreateFileParserCtxt() deprecated function reached\n");
-        deprecated = 1;
-    }
-
-    return (xmlCreateFileParserCtxt(filename));
-}
-
-/**
- * docbSAXParseFile:
- * @filename:  the filename
- * @encoding:  a free form C string describing the SGML document encoding, or NULL
- * @sax:  the SAX handler block
- * @userData: if using SAX, this pointer will be provided on callbacks.
- *
- * parse an SGML file and build a tree. Automatic support for ZLIB/Compress
- * compressed document is provided by default if found at compile-time.
- * It use the given SAX function block to handle the parsing callback.
- * If sax is NULL, fallback to the default DOM tree building routines.
- *
- * Returns the resulting document tree
- */
-
-docbDocPtr
-docbSAXParseFile(const char *filename ATTRIBUTE_UNUSED,
-                 const char *encoding ATTRIBUTE_UNUSED,
-                 docbSAXHandlerPtr sax ATTRIBUTE_UNUSED,
-		 void *userData ATTRIBUTE_UNUSED)
-{
-    static int deprecated = 0;
-
-    if (!deprecated) {
-        xmlGenericError(xmlGenericErrorContext,
-                        "docbSAXParseFile() deprecated function reached\n");
-        deprecated = 1;
-    }
-
-    return (xmlSAXParseFileWithData(sax, filename, 0, userData));
-}
-
-/**
- * docbParseFile:
- * @filename:  the filename
- * @encoding:  a free form C string describing document encoding, or NULL
- *
- * parse a Docbook SGML file and build a tree. Automatic support for
- * ZLIB/Compress compressed document is provided by default if found
- * at compile-time.
- *
- * Returns the resulting document tree
- */
-
-docbDocPtr
-docbParseFile(const char *filename ATTRIBUTE_UNUSED,
-              const char *encoding ATTRIBUTE_UNUSED)
-{
-    static int deprecated = 0;
-
-    if (!deprecated) {
-        xmlGenericError(xmlGenericErrorContext,
-                        "docbParseFile() deprecated function reached\n");
-        deprecated = 1;
-    }
-
-    return (xmlParseFile(filename));
-}
-
-#endif /* LIBXML_DOCB_ENABLED */
diff --git a/HTMLparser.c b/HTMLparser.c
index e72f418..e908495 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -11,24 +11,8 @@
 #ifdef LIBXML_HTML_ENABLED
 
 #include <string.h>
-#ifdef HAVE_CTYPE_H
 #include <ctype.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef LIBXML_ZLIB_ENABLED
-#include <zlib.h>
-#endif
 
 #include <libxml/xmlmemory.h>
 #include <libxml/tree.h>
@@ -44,8 +28,12 @@
 #include <libxml/globals.h>
 #include <libxml/uri.h>
 
-#include "buf.h"
-#include "enc.h"
+#include "private/buf.h"
+#include "private/enc.h"
+#include "private/error.h"
+#include "private/html.h"
+#include "private/parser.h"
+#include "private/tree.h"
 
 #define HTML_MAX_NAMELEN 1000
 #define HTML_PARSER_BIG_BUFFER_SIZE 1000
@@ -161,7 +149,7 @@
  *
  * Pushes a new element name on top of the name stack
  *
- * Returns 0 in case of error, the index in the stack otherwise
+ * Returns -1 in case of error, the index in the stack otherwise
  */
 static int
 htmlnamePush(htmlParserCtxtPtr ctxt, const xmlChar * value)
@@ -171,15 +159,17 @@
     if ((ctxt->html < 10) && (xmlStrEqual(value, BAD_CAST "body")))
         ctxt->html = 10;
     if (ctxt->nameNr >= ctxt->nameMax) {
-        ctxt->nameMax *= 2;
-        ctxt->nameTab = (const xmlChar * *)
-                         xmlRealloc((xmlChar * *)ctxt->nameTab,
-                                    ctxt->nameMax *
-                                    sizeof(ctxt->nameTab[0]));
-        if (ctxt->nameTab == NULL) {
+        size_t newSize = ctxt->nameMax * 2;
+        const xmlChar **tmp;
+
+        tmp = xmlRealloc((xmlChar **) ctxt->nameTab,
+                         newSize * sizeof(ctxt->nameTab[0]));
+        if (tmp == NULL) {
             htmlErrMemory(ctxt, NULL);
-            return (0);
+            return (-1);
         }
+        ctxt->nameTab = tmp;
+        ctxt->nameMax = newSize;
     }
     ctxt->nameTab[ctxt->nameNr] = value;
     ctxt->name = value;
@@ -286,8 +276,6 @@
  *
  * Clean macros, not dependent of an ASCII context, expect UTF-8 encoding
  *
- *   CURRENT Returns the current char value, with the full decoding of
- *           UTF-8 if we are using this mode. It returns an int.
  *   NEXT    Skip to the next character, this does the proper decoding
  *           in UTF-8 mode. It also pop-up unfinished entities on the fly.
  *   NEXTL(l) Skip the current unicode character of l xmlChars long.
@@ -307,20 +295,17 @@
 
 #define SHRINK if ((ctxt->input->cur - ctxt->input->base > 2 * INPUT_CHUNK) && \
 		   (ctxt->input->end - ctxt->input->cur < 2 * INPUT_CHUNK)) \
-	xmlParserInputShrink(ctxt->input)
+	xmlParserShrink(ctxt)
 
 #define GROW if ((ctxt->progressive == 0) &&				\
 		 (ctxt->input->end - ctxt->input->cur < INPUT_CHUNK))	\
-	xmlParserInputGrow(ctxt->input, INPUT_CHUNK)
-
-#define CURRENT ((int) (*ctxt->input->cur))
+	xmlParserGrow(ctxt)
 
 #define SKIP_BLANKS htmlSkipBlankChars(ctxt)
 
 /* Imported from XML */
 
-/* #define CUR (ctxt->token ? ctxt->token : (int) (*ctxt->input->cur)) */
-#define CUR ((int) (*ctxt->input->cur))
+#define CUR (*ctxt->input->cur)
 #define NEXT xmlNextChar(ctxt)
 
 #define RAW (ctxt->token ? -1 : (*ctxt->input->cur))
@@ -343,7 +328,7 @@
 #define CUR_SCHAR(s, l) xmlStringCurrentChar(ctxt, s, &l)
 
 #define COPY_BUF(l,b,i,v)						\
-    if (l == 1) b[i++] = (xmlChar) v;					\
+    if (l == 1) b[i++] = v;						\
     else i += xmlCopyChar(l,&b[i],v)
 
 /**
@@ -434,7 +419,7 @@
          * a compatible encoding for the ASCII set, since
          * HTML constructs only use < 128 chars
          */
-        if ((int) *ctxt->input->cur < 0x80) {
+        if (*ctxt->input->cur < 0x80) {
             *len = 1;
             if ((*ctxt->input->cur == 0) &&
                 (ctxt->input->cur < ctxt->input->end)) {
@@ -442,7 +427,7 @@
                                 "Char 0x%X out of allowed range\n", 0);
                 return(' ');
             }
-            return((int) *ctxt->input->cur);
+            return(*ctxt->input->cur);
         }
 
         /*
@@ -488,7 +473,7 @@
         if ((c & 0x40) == 0)
             goto encoding_error;
         if (cur[1] == 0) {
-            xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+            xmlParserGrow(ctxt);
             cur = ctxt->input->cur;
         }
         if ((cur[1] & 0xc0) != 0x80)
@@ -496,14 +481,14 @@
         if ((c & 0xe0) == 0xe0) {
 
             if (cur[2] == 0) {
-                xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+                xmlParserGrow(ctxt);
                 cur = ctxt->input->cur;
             }
             if ((cur[2] & 0xc0) != 0x80)
                 goto encoding_error;
             if ((c & 0xf0) == 0xf0) {
                 if (cur[3] == 0) {
-                    xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+                    xmlParserGrow(ctxt);
                     cur = ctxt->input->cur;
                 }
                 if (((c & 0xf8) != 0xf0) ||
@@ -549,7 +534,7 @@
         }
         /* 1-byte code */
         *len = 1;
-        return((int) *ctxt->input->cur);
+        return(*ctxt->input->cur);
     }
 
 encoding_error:
@@ -586,7 +571,7 @@
         (ctxt->input->buf->encoder == NULL))
         xmlSwitchEncoding(ctxt, XML_CHAR_ENCODING_8859_1);
     *len = 1;
-    return((int) *ctxt->input->cur);
+    return(*ctxt->input->cur);
 }
 
 /**
@@ -603,18 +588,14 @@
     int res = 0;
 
     while (IS_BLANK_CH(*(ctxt->input->cur))) {
-	if ((*ctxt->input->cur == 0) &&
-	    (xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0)) {
-		xmlPopInput(ctxt);
-	} else {
-	    if (*(ctxt->input->cur) == '\n') {
-		ctxt->input->line++; ctxt->input->col = 1;
-	    } else ctxt->input->col++;
-	    ctxt->input->cur++;
-	    if (*ctxt->input->cur == 0)
-		xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
-	}
-	res++;
+        if (*(ctxt->input->cur) == '\n') {
+            ctxt->input->line++; ctxt->input->col = 1;
+        } else ctxt->input->col++;
+        ctxt->input->cur++;
+        if (*ctxt->input->cur == 0)
+            xmlParserGrow(ctxt);
+	if (res < INT_MAX)
+	    res++;
     }
     return(res);
 }
@@ -1238,7 +1219,6 @@
     { "menu", "form" },
     { "menu", "ul" },
     { "ol", "form" },
-    { "ol", "ul" },
     { "option", "optgroup" },
     { "option", "option" },
     { "p", "address" },
@@ -1322,7 +1302,6 @@
     { "ul", "address" },
     { "ul", "form" },
     { "ul", "menu" },
-    { "ul", "ol" },
     { "ul", "pre" },
     { "xmp", "dd" },
     { "xmp", "dl" },
@@ -1410,7 +1389,7 @@
 /**
  * htmlInitAutoClose:
  *
- * This is a no-op now.
+ * DEPRECATED: This is a no-op.
  */
 void
 htmlInitAutoClose(void) {
@@ -2087,8 +2066,8 @@
 #define growBuffer(buffer) {						\
     xmlChar *tmp;							\
     buffer##_size *= 2;							\
-    tmp = (xmlChar *) xmlRealloc(buffer, buffer##_size * sizeof(xmlChar)); \
-    if (tmp == NULL) {						\
+    tmp = (xmlChar *) xmlRealloc(buffer, buffer##_size); 		\
+    if (tmp == NULL) {							\
 	htmlErrMemory(ctxt, "growing buffer\n");			\
 	xmlFree(buffer);						\
 	return(NULL);							\
@@ -2332,7 +2311,7 @@
 	    else
 		cp = ent->name;
 	    len = strlen(cp);
-	    if (out + 2 + len > outend)
+	    if (outend - out < len + 2)
 		break;
 	    *out++ = '&';
 	    memcpy(out, cp, len);
@@ -2557,6 +2536,21 @@
 
 static const xmlChar * htmlParseNameComplex(xmlParserCtxtPtr ctxt);
 
+static void
+htmlSkipBogusComment(htmlParserCtxtPtr ctxt) {
+    int c;
+
+    htmlParseErr(ctxt, XML_HTML_INCORRECTLY_OPENED_COMMENT,
+                 "Incorrectly opened comment\n", NULL, NULL);
+
+    do {
+        c = CUR;
+        if (c == 0)
+            break;
+        NEXT;
+    } while (c != '>');
+}
+
 /**
  * htmlParseHTMLName:
  * @ctxt:  an HTML parser context
@@ -2569,6 +2563,7 @@
 
 static const xmlChar *
 htmlParseHTMLName(htmlParserCtxtPtr ctxt) {
+    const xmlChar *ret;
     int i = 0;
     xmlChar loc[HTML_PARSER_BUFFER_SIZE];
 
@@ -2586,7 +2581,11 @@
 	NEXT;
     }
 
-    return(xmlDictLookup(ctxt->dict, loc, i));
+    ret = xmlDictLookup(ctxt->dict, loc, i);
+    if (ret == NULL)
+        htmlErrMemory(ctxt, NULL);
+
+    return(ret);
 }
 
 
@@ -2672,6 +2671,9 @@
     int len = 0, l;
     int c;
     int count = 0;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_TEXT_LENGTH :
+                    XML_MAX_NAME_LENGTH;
     const xmlChar *base = ctxt->input->base;
 
     /*
@@ -2696,6 +2698,10 @@
 	    GROW;
 	}
 	len += l;
+        if (len > maxLength) {
+            htmlParseErr(ctxt, XML_ERR_NAME_TOO_LONG, "name too long", NULL, NULL);
+            return(NULL);
+        }
 	NEXTL(l);
 	c = CUR_CHAR(l);
 	if (ctxt->input->base != base) {
@@ -2733,6 +2739,9 @@
 htmlParseHTMLAttribute(htmlParserCtxtPtr ctxt, const xmlChar stop) {
     xmlChar *buffer = NULL;
     int buffer_size = 0;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_HUGE_LENGTH :
+                    XML_MAX_TEXT_LENGTH;
     xmlChar *out = NULL;
     const xmlChar *name = NULL;
     const xmlChar *cur = NULL;
@@ -2742,7 +2751,7 @@
      * allocate a translation buffer.
      */
     buffer_size = HTML_PARSER_BUFFER_SIZE;
-    buffer = (xmlChar *) xmlMallocAtomic(buffer_size * sizeof(xmlChar));
+    buffer = (xmlChar *) xmlMallocAtomic(buffer_size);
     if (buffer == NULL) {
 	htmlErrMemory(ctxt, "buffer allocation failed\n");
 	return(NULL);
@@ -2852,6 +2861,12 @@
 	    }
 	    NEXT;
 	}
+        if (out - buffer > maxLength) {
+            htmlParseErr(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+                         "attribute value too long\n", NULL, NULL);
+            xmlFree(buffer);
+            return(NULL);
+        }
     }
     *out = 0;
     return(buffer);
@@ -2862,6 +2877,8 @@
  * @ctxt:  an HTML parser context
  * @str:  location to store the entity name
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an HTML ENTITY references
  *
  * [68] EntityRef ::= '&' Name ';'
@@ -3344,6 +3361,9 @@
     int len = 0;
     int size = HTML_PARSER_BUFFER_SIZE;
     int cur, l;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_HUGE_LENGTH :
+                    XML_MAX_TEXT_LENGTH;
     const xmlChar *target;
     xmlParserInputState state;
     int count = 0;
@@ -3376,7 +3396,7 @@
 		ctxt->instate = state;
 		return;
 	    }
-	    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+	    buf = (xmlChar *) xmlMallocAtomic(size);
 	    if (buf == NULL) {
 		htmlErrMemory(ctxt, NULL);
 		ctxt->instate = state;
@@ -3394,7 +3414,7 @@
 		    xmlChar *tmp;
 
 		    size *= 2;
-		    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+		    tmp = (xmlChar *) xmlRealloc(buf, size);
 		    if (tmp == NULL) {
 			htmlErrMemory(ctxt, NULL);
 			xmlFree(buf);
@@ -3415,6 +3435,13 @@
                                     "Invalid char in processing instruction "
                                     "0x%X\n", cur);
                 }
+                if (len > maxLength) {
+                    htmlParseErr(ctxt, XML_ERR_PI_NOT_FINISHED,
+                                 "PI %s too long", target, NULL);
+                    xmlFree(buf);
+                    ctxt->instate = state;
+                    return;
+                }
 		NEXTL(l);
 		cur = CUR_CHAR(l);
 		if (cur == 0) {
@@ -3464,6 +3491,9 @@
     int r, rl;
     int cur, l;
     int next, nl;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_HUGE_LENGTH :
+                    XML_MAX_TEXT_LENGTH;
     xmlParserInputState state;
 
     /*
@@ -3476,7 +3506,7 @@
     ctxt->instate = XML_PARSER_COMMENT;
     SHRINK;
     SKIP(4);
-    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+    buf = (xmlChar *) xmlMallocAtomic(size);
     if (buf == NULL) {
         htmlErrMemory(ctxt, "buffer allocation failed\n");
 	ctxt->instate = state;
@@ -3487,10 +3517,20 @@
     q = CUR_CHAR(ql);
     if (q == 0)
         goto unfinished;
+    if (q == '>') {
+        htmlParseErr(ctxt, XML_ERR_COMMENT_ABRUPTLY_ENDED, "Comment abruptly ended", NULL, NULL);
+        cur = '>';
+        goto finished;
+    }
     NEXTL(ql);
     r = CUR_CHAR(rl);
     if (r == 0)
         goto unfinished;
+    if (q == '-' && r == '>') {
+        htmlParseErr(ctxt, XML_ERR_COMMENT_ABRUPTLY_ENDED, "Comment abruptly ended", NULL, NULL);
+        cur = '>';
+        goto finished;
+    }
     NEXTL(rl);
     cur = CUR_CHAR(l);
     while ((cur != 0) &&
@@ -3515,7 +3555,7 @@
 	    xmlChar *tmp;
 
 	    size *= 2;
-	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    tmp = (xmlChar *) xmlRealloc(buf, size);
 	    if (tmp == NULL) {
 	        xmlFree(buf);
 	        htmlErrMemory(ctxt, "growing buffer failed\n");
@@ -3530,6 +3570,13 @@
             htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR,
                             "Invalid char in comment 0x%X\n", q);
         }
+        if (len > maxLength) {
+            htmlParseErr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
+                         "comment too long", NULL, NULL);
+            xmlFree(buf);
+            ctxt->instate = state;
+            return;
+        }
 
 	q = r;
 	ql = rl;
@@ -3538,6 +3585,7 @@
 	cur = next;
 	l = nl;
     }
+finished:
     buf[len] = 0;
     if (cur == '>') {
         NEXT;
@@ -3559,6 +3607,8 @@
  * htmlParseCharRef:
  * @ctxt:  an HTML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse Reference declarations
  *
  * [66] CharRef ::= '&#' [0-9]+ ';' |
@@ -3687,7 +3737,8 @@
 	htmlParseErr(ctxt, XML_ERR_DOCTYPE_NOT_FINISHED,
 	             "DOCTYPE improperly terminated\n", NULL, NULL);
         /* Ignore bogus content */
-        while ((CUR != 0) && (CUR != '>'))
+        while ((CUR != 0) && (CUR != '>') &&
+               (ctxt->instate != XML_PARSER_EOF))
             NEXT;
     }
     if (CUR == '>')
@@ -3824,7 +3875,7 @@
 	    (ctxt->input->buf->raw != NULL) &&
 	    (ctxt->input->buf->buffer != NULL)) {
 	    int nbchars;
-	    int processed;
+	    size_t processed;
 
 	    /*
 	     * convert as much as possible to the parser reading buffer.
@@ -4019,7 +4070,8 @@
     SKIP_BLANKS;
     while ((CUR != 0) &&
            (CUR != '>') &&
-	   ((CUR != '/') || (NXT(1) != '>'))) {
+	   ((CUR != '/') || (NXT(1) != '>')) &&
+           (ctxt->instate != XML_PARSER_EOF)) {
 	GROW;
 	attname = htmlParseAttribute(ctxt, &attvalue);
         if (attname != NULL) {
@@ -4080,7 +4132,8 @@
 	     * the end of the tag. */
 	    while ((CUR != 0) &&
 	           !(IS_BLANK_CH(CUR)) && (CUR != '>') &&
-		   ((CUR != '/') || (NXT(1) != '>')))
+		   ((CUR != '/') || (NXT(1) != '>')) &&
+                   (ctxt->instate != XML_PARSER_EOF))
 		NEXT;
 	}
 
@@ -4379,72 +4432,74 @@
 	     * Handle SCRIPT/STYLE separately
 	     */
 	    htmlParseScript(ctxt);
-	} else {
-	    /*
-	     * Sometimes DOCTYPE arrives in the middle of the document
-	     */
-	    if ((CUR == '<') && (NXT(1) == '!') &&
-		(UPP(2) == 'D') && (UPP(3) == 'O') &&
-		(UPP(4) == 'C') && (UPP(5) == 'T') &&
-		(UPP(6) == 'Y') && (UPP(7) == 'P') &&
-		(UPP(8) == 'E')) {
-		htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR,
-		             "Misplaced DOCTYPE declaration\n",
-			     BAD_CAST "DOCTYPE" , NULL);
-		htmlParseDocTypeDecl(ctxt);
-	    }
-
-	    /*
-	     * First case :  a comment
-	     */
-	    if ((CUR == '<') && (NXT(1) == '!') &&
-		(NXT(2) == '-') && (NXT(3) == '-')) {
-		htmlParseComment(ctxt);
-	    }
-
-	    /*
-	     * Second case : a Processing Instruction.
-	     */
-	    else if ((CUR == '<') && (NXT(1) == '?')) {
-		htmlParsePI(ctxt);
-	    }
-
-	    /*
-	     * Third case :  a sub-element.
-	     */
-	    else if ((CUR == '<') && IS_ASCII_LETTER(NXT(1))) {
-		htmlParseElement(ctxt);
-	    }
-	    else if (CUR == '<') {
-                if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
-                    (ctxt->sax->characters != NULL))
-                    ctxt->sax->characters(ctxt->userData, BAD_CAST "<", 1);
-                NEXT;
-	    }
-
-	    /*
-	     * Fourth case : a reference. If if has not been resolved,
-	     *    parsing returns it's Name, create the node
-	     */
-	    else if (CUR == '&') {
-		htmlParseReference(ctxt);
-	    }
-
-	    /*
-	     * Fifth case : end of the resource
-	     */
-	    else if (CUR == 0) {
-		htmlAutoCloseOnEnd(ctxt);
-		break;
-	    }
-
-	    /*
-	     * Last case, text. Note that References are handled directly.
-	     */
-	    else {
-		htmlParseCharData(ctxt);
-	    }
 	}
+
+        else if ((CUR == '<') && (NXT(1) == '!')) {
+            /*
+             * Sometimes DOCTYPE arrives in the middle of the document
+             */
+            if ((UPP(2) == 'D') && (UPP(3) == 'O') &&
+                (UPP(4) == 'C') && (UPP(5) == 'T') &&
+                (UPP(6) == 'Y') && (UPP(7) == 'P') &&
+                (UPP(8) == 'E')) {
+                htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR,
+                             "Misplaced DOCTYPE declaration\n",
+                             BAD_CAST "DOCTYPE" , NULL);
+                htmlParseDocTypeDecl(ctxt);
+            }
+            /*
+             * First case :  a comment
+             */
+            else if ((NXT(2) == '-') && (NXT(3) == '-')) {
+                htmlParseComment(ctxt);
+            }
+            else {
+                htmlSkipBogusComment(ctxt);
+            }
+        }
+
+        /*
+         * Second case : a Processing Instruction.
+         */
+        else if ((CUR == '<') && (NXT(1) == '?')) {
+            htmlParsePI(ctxt);
+        }
+
+        /*
+         * Third case :  a sub-element.
+         */
+        else if ((CUR == '<') && IS_ASCII_LETTER(NXT(1))) {
+            htmlParseElement(ctxt);
+        }
+        else if (CUR == '<') {
+            if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
+                (ctxt->sax->characters != NULL))
+                ctxt->sax->characters(ctxt->userData, BAD_CAST "<", 1);
+            NEXT;
+        }
+
+        /*
+         * Fourth case : a reference. If if has not been resolved,
+         *    parsing returns it's Name, create the node
+         */
+        else if (CUR == '&') {
+            htmlParseReference(ctxt);
+        }
+
+        /*
+         * Fifth case : end of the resource
+         */
+        else if (CUR == 0) {
+            htmlAutoCloseOnEnd(ctxt);
+            break;
+        }
+
+        /*
+         * Last case, text. Note that References are handled directly.
+         */
+        else {
+            htmlParseCharData(ctxt);
+        }
         GROW;
     }
     if (currentNode != NULL) xmlFree(currentNode);
@@ -4454,6 +4509,8 @@
  * htmlParseElement:
  * @ctxt:  an HTML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an HTML element, this is highly recursive
  * this is kept for compatibility with previous code versions
  *
@@ -4711,8 +4768,16 @@
     int depth;
     const xmlChar *name;
 
-    currentNode = xmlStrdup(ctxt->name);
     depth = ctxt->nameNr;
+    if (depth <= 0) {
+        currentNode = NULL;
+    } else {
+        currentNode = xmlStrdup(ctxt->name);
+        if (currentNode == NULL) {
+            htmlErrMemory(ctxt, NULL);
+            return;
+        }
+    }
     while (1) {
         GROW;
 
@@ -4728,8 +4793,16 @@
 		if (currentNode != NULL)
 		    xmlFree(currentNode);
 
-	        currentNode = xmlStrdup(ctxt->name);
 	        depth = ctxt->nameNr;
+                if (depth <= 0) {
+                    currentNode = NULL;
+                } else {
+                    currentNode = xmlStrdup(ctxt->name);
+                    if (currentNode == NULL) {
+                        htmlErrMemory(ctxt, NULL);
+                        break;
+                    }
+                }
 	    }
 	    continue; /* while */
         }
@@ -4751,6 +4824,10 @@
 	            xmlFree(currentNode);
 
 	        currentNode = xmlStrdup(ctxt->name);
+                if (currentNode == NULL) {
+                    htmlErrMemory(ctxt, NULL);
+                    break;
+                }
 	        depth = ctxt->nameNr;
 	        continue;
 	    }
@@ -4774,6 +4851,10 @@
 	    if (currentNode != NULL) xmlFree(currentNode);
 
 	    currentNode = xmlStrdup(ctxt->name);
+            if (currentNode == NULL) {
+                htmlErrMemory(ctxt, NULL);
+                break;
+            }
 	    depth = ctxt->nameNr;
 	    continue;
 	}
@@ -4784,76 +4865,82 @@
 	     * Handle SCRIPT/STYLE separately
 	     */
 	    htmlParseScript(ctxt);
-	} else {
-	    /*
-	     * Sometimes DOCTYPE arrives in the middle of the document
-	     */
-	    if ((CUR == '<') && (NXT(1) == '!') &&
-		(UPP(2) == 'D') && (UPP(3) == 'O') &&
-		(UPP(4) == 'C') && (UPP(5) == 'T') &&
-		(UPP(6) == 'Y') && (UPP(7) == 'P') &&
-		(UPP(8) == 'E')) {
-		htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR,
-		             "Misplaced DOCTYPE declaration\n",
-			     BAD_CAST "DOCTYPE" , NULL);
-		htmlParseDocTypeDecl(ctxt);
-	    }
-
-	    /*
-	     * First case :  a comment
-	     */
-	    if ((CUR == '<') && (NXT(1) == '!') &&
-		(NXT(2) == '-') && (NXT(3) == '-')) {
-		htmlParseComment(ctxt);
-	    }
-
-	    /*
-	     * Second case : a Processing Instruction.
-	     */
-	    else if ((CUR == '<') && (NXT(1) == '?')) {
-		htmlParsePI(ctxt);
-	    }
-
-	    /*
-	     * Third case :  a sub-element.
-	     */
-	    else if ((CUR == '<') && IS_ASCII_LETTER(NXT(1))) {
-		htmlParseElementInternal(ctxt);
-		if (currentNode != NULL) xmlFree(currentNode);
-
-		currentNode = xmlStrdup(ctxt->name);
-		depth = ctxt->nameNr;
-	    }
-	    else if (CUR == '<') {
-                if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
-                    (ctxt->sax->characters != NULL))
-                    ctxt->sax->characters(ctxt->userData, BAD_CAST "<", 1);
-                NEXT;
-            }
-
-	    /*
-	     * Fourth case : a reference. If if has not been resolved,
-	     *    parsing returns it's Name, create the node
-	     */
-	    else if (CUR == '&') {
-		htmlParseReference(ctxt);
-	    }
-
-	    /*
-	     * Fifth case : end of the resource
-	     */
-	    else if (CUR == 0) {
-		htmlAutoCloseOnEnd(ctxt);
-		break;
-	    }
-
-	    /*
-	     * Last case, text. Note that References are handled directly.
-	     */
-	    else {
-		htmlParseCharData(ctxt);
-	    }
 	}
+
+        else if ((CUR == '<') && (NXT(1) == '!')) {
+            /*
+             * Sometimes DOCTYPE arrives in the middle of the document
+             */
+            if ((UPP(2) == 'D') && (UPP(3) == 'O') &&
+                (UPP(4) == 'C') && (UPP(5) == 'T') &&
+                (UPP(6) == 'Y') && (UPP(7) == 'P') &&
+                (UPP(8) == 'E')) {
+                htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR,
+                             "Misplaced DOCTYPE declaration\n",
+                             BAD_CAST "DOCTYPE" , NULL);
+                htmlParseDocTypeDecl(ctxt);
+            }
+            /*
+             * First case :  a comment
+             */
+            else if ((NXT(2) == '-') && (NXT(3) == '-')) {
+                htmlParseComment(ctxt);
+            }
+            else {
+                htmlSkipBogusComment(ctxt);
+            }
+        }
+
+        /*
+         * Second case : a Processing Instruction.
+         */
+        else if ((CUR == '<') && (NXT(1) == '?')) {
+            htmlParsePI(ctxt);
+        }
+
+        /*
+         * Third case :  a sub-element.
+         */
+        else if ((CUR == '<') && IS_ASCII_LETTER(NXT(1))) {
+            htmlParseElementInternal(ctxt);
+            if (currentNode != NULL) xmlFree(currentNode);
+
+            currentNode = xmlStrdup(ctxt->name);
+            if (currentNode == NULL) {
+                htmlErrMemory(ctxt, NULL);
+                break;
+            }
+            depth = ctxt->nameNr;
+        }
+        else if (CUR == '<') {
+            if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
+                (ctxt->sax->characters != NULL))
+                ctxt->sax->characters(ctxt->userData, BAD_CAST "<", 1);
+            NEXT;
+        }
+
+        /*
+         * Fourth case : a reference. If if has not been resolved,
+         *    parsing returns it's Name, create the node
+         */
+        else if (CUR == '&') {
+            htmlParseReference(ctxt);
+        }
+
+        /*
+         * Fifth case : end of the resource
+         */
+        else if (CUR == 0) {
+            htmlAutoCloseOnEnd(ctxt);
+            break;
+        }
+
+        /*
+         * Last case, text. Note that References are handled directly.
+         */
+        else {
+            htmlParseCharData(ctxt);
+        }
         GROW;
     }
     if (currentNode != NULL) xmlFree(currentNode);
@@ -4892,15 +4979,11 @@
 
     xmlInitParser();
 
-    htmlDefaultSAXHandlerInit();
-
     if ((ctxt == NULL) || (ctxt->input == NULL)) {
 	htmlParseErr(ctxt, XML_ERR_INTERNAL_ERROR,
 		     "htmlParseDocument: context error\n", NULL, NULL);
 	return(XML_ERR_INTERNAL_ERROR);
     }
-    ctxt->html = 1;
-    ctxt->linenumbers = 1;
     GROW;
     /*
      * SAX: beginning of the document processing.
@@ -5014,6 +5097,8 @@
 /**
  * htmlInitParserCtxt:
  * @ctxt:  an HTML parser context
+ * @sax:  SAX handler
+ * @userData:  user data
  *
  * Initialize a parser context
  *
@@ -5021,10 +5106,9 @@
  */
 
 static int
-htmlInitParserCtxt(htmlParserCtxtPtr ctxt)
+htmlInitParserCtxt(htmlParserCtxtPtr ctxt, const htmlSAXHandler *sax,
+                   void *userData)
 {
-    htmlSAXHandler *sax;
-
     if (ctxt == NULL) return(-1);
     memset(ctxt, 0, sizeof(htmlParserCtxt));
 
@@ -5033,13 +5117,21 @@
         htmlErrMemory(NULL, "htmlInitParserCtxt: out of memory\n");
 	return(-1);
     }
-    sax = (htmlSAXHandler *) xmlMalloc(sizeof(htmlSAXHandler));
-    if (sax == NULL) {
+
+    if (ctxt->sax == NULL)
+        ctxt->sax = (htmlSAXHandler *) xmlMalloc(sizeof(htmlSAXHandler));
+    if (ctxt->sax == NULL) {
         htmlErrMemory(NULL, "htmlInitParserCtxt: out of memory\n");
 	return(-1);
     }
-    else
-        memset(sax, 0, sizeof(htmlSAXHandler));
+    if (sax == NULL) {
+        memset(ctxt->sax, 0, sizeof(htmlSAXHandler));
+        xmlSAX2InitHtmlDefaultSAXHandler(ctxt->sax);
+        ctxt->userData = ctxt;
+    } else {
+        memcpy(ctxt->sax, sax, sizeof(htmlSAXHandler));
+        ctxt->userData = userData ? userData : ctxt;
+    }
 
     /* Allocate the Input stack */
     ctxt->inputTab = (htmlParserInputPtr *)
@@ -5098,12 +5190,6 @@
     ctxt->nodeInfoNr  = 0;
     ctxt->nodeInfoMax = 0;
 
-    if (sax == NULL) ctxt->sax = (xmlSAXHandlerPtr) &htmlDefaultSAXHandler;
-    else {
-        ctxt->sax = sax;
-	memcpy(sax, &htmlDefaultSAXHandler, sizeof(xmlSAXHandlerV1));
-    }
-    ctxt->userData = ctxt;
     ctxt->myDoc = NULL;
     ctxt->wellFormed = 1;
     ctxt->replaceEntities = 0;
@@ -5147,6 +5233,23 @@
 htmlParserCtxtPtr
 htmlNewParserCtxt(void)
 {
+    return(htmlNewSAXParserCtxt(NULL, NULL));
+}
+
+/**
+ * htmlNewSAXParserCtxt:
+ * @sax:  SAX handler
+ * @userData:  user data
+ *
+ * Allocate and initialize a new SAX parser context. If userData is NULL,
+ * the parser context will be passed as user data.
+ *
+ * Returns the htmlParserCtxtPtr or NULL in case of allocation error
+ */
+
+htmlParserCtxtPtr
+htmlNewSAXParserCtxt(const htmlSAXHandler *sax, void *userData)
+{
     xmlParserCtxtPtr ctxt;
 
     ctxt = (xmlParserCtxtPtr) xmlMalloc(sizeof(xmlParserCtxt));
@@ -5155,7 +5258,7 @@
 	return(NULL);
     }
     memset(ctxt, 0, sizeof(xmlParserCtxt));
-    if (htmlInitParserCtxt(ctxt) < 0) {
+    if (htmlInitParserCtxt(ctxt, sax, userData) < 0) {
         htmlFreeParserCtxt(ctxt);
 	return(NULL);
     }
@@ -5187,7 +5290,10 @@
 	return(NULL);
 
     buf = xmlParserInputBufferCreateMem(buffer, size, XML_CHAR_ENCODING_NONE);
-    if (buf == NULL) return(NULL);
+    if (buf == NULL) {
+	xmlFreeParserCtxt(ctxt);
+        return(NULL);
+    }
 
     input = xmlNewInputStream(ctxt);
     if (input == NULL) {
@@ -5292,33 +5398,20 @@
 htmlParseLookupSequence(htmlParserCtxtPtr ctxt, xmlChar first,
                         xmlChar next, xmlChar third, int ignoreattrval)
 {
-    int base, len;
+    size_t base, len;
     htmlParserInputPtr in;
     const xmlChar *buf;
-    int invalue = 0;
-    char valdellim = 0x0;
+    int quote;
 
     in = ctxt->input;
     if (in == NULL)
         return (-1);
 
-    base = in->cur - in->base;
-    if (base < 0)
-        return (-1);
+    base = ctxt->checkIndex;
+    quote = ctxt->endCheckState;
 
-    if (ctxt->checkIndex > base) {
-        base = ctxt->checkIndex;
-        /* Abuse hasPErefs member to restore current state. */
-        invalue = ctxt->hasPErefs & 1 ? 1 : 0;
-    }
-
-    if (in->buf == NULL) {
-        buf = in->base;
-        len = in->length;
-    } else {
-        buf = xmlBufContent(in->buf->buffer);
-        len = xmlBufUse(in->buf->buffer);
-    }
+    buf = in->cur;
+    len = in->end - in->cur;
 
     /* take into account the sequence length */
     if (third)
@@ -5326,19 +5419,19 @@
     else if (next)
         len--;
     for (; base < len; base++) {
+        if (base >= INT_MAX / 2) {
+            ctxt->checkIndex = 0;
+            ctxt->endCheckState = 0;
+            return (base - 2);
+        }
         if (ignoreattrval) {
+            if (quote) {
+                if (buf[base] == quote)
+                    quote = 0;
+                continue;
+            }
             if (buf[base] == '"' || buf[base] == '\'') {
-                if (invalue) {
-                    if (buf[base] == valdellim) {
-                        invalue = 0;
-                        continue;
-                    }
-                } else {
-                    valdellim = buf[base];
-                    invalue = 1;
-                    continue;
-                }
-            } else if (invalue) {
+                quote = buf[base];
                 continue;
             }
         }
@@ -5351,29 +5444,12 @@
                     continue;
             }
             ctxt->checkIndex = 0;
-#ifdef DEBUG_PUSH
-            if (next == 0)
-                xmlGenericError(xmlGenericErrorContext,
-                                "HPP: lookup '%c' found at %d\n",
-                                first, base);
-            else if (third == 0)
-                xmlGenericError(xmlGenericErrorContext,
-                                "HPP: lookup '%c%c' found at %d\n",
-                                first, next, base);
-            else
-                xmlGenericError(xmlGenericErrorContext,
-                                "HPP: lookup '%c%c%c' found at %d\n",
-                                first, next, third, base);
-#endif
-            return (base - (in->cur - in->base));
+            ctxt->endCheckState = 0;
+            return (base);
         }
     }
     ctxt->checkIndex = base;
-    /* Abuse hasPErefs member to track current state. */
-    if (invalue)
-        ctxt->hasPErefs |= 1;
-    else
-        ctxt->hasPErefs &= ~1;
+    ctxt->endCheckState = quote;
 #ifdef DEBUG_PUSH
     if (next == 0)
         xmlGenericError(xmlGenericErrorContext,
@@ -5407,16 +5483,23 @@
 htmlParseLookupCommentEnd(htmlParserCtxtPtr ctxt)
 {
     int mark = 0;
-    int cur = CUR_PTR - BASE_PTR;
+    int offset;
 
-    while (mark >= 0) {
+    while (1) {
 	mark = htmlParseLookupSequence(ctxt, '-', '-', 0, 0);
-	if ((mark < 0) ||
-	    (NXT(mark+2) == '>') ||
+	if (mark < 0)
+            break;
+        if ((NXT(mark+2) == '>') ||
 	    ((NXT(mark+2) == '!') && (NXT(mark+3) == '>'))) {
-	    return mark;
+            ctxt->checkIndex = 0;
+	    break;
 	}
-	ctxt->checkIndex = cur + mark + 1;
+        offset = (NXT(mark+2) == '!') ? 3 : 2;
+        if (mark + offset >= ctxt->input->end - ctxt->input->cur) {
+	    ctxt->checkIndex = mark;
+            return(-1);
+        }
+	ctxt->checkIndex = mark + 1;
     }
     return mark;
 }
@@ -5497,11 +5580,7 @@
 
 	in = ctxt->input;
 	if (in == NULL) break;
-	if (in->buf == NULL)
-	    avail = in->length - (in->cur - in->base);
-	else
-	    avail = (ptrdiff_t)xmlBufUse(in->buf->buffer) -
-                    (in->cur - in->base);
+	avail = in->end - in->cur;
 	if ((avail == 0) && (terminate)) {
 	    htmlAutoCloseOnEnd(ctxt);
 	    if ((ctxt->nameNr == 0) && (ctxt->instate != XML_PARSER_EOF)) {
@@ -5540,11 +5619,7 @@
 		cur = in->cur[0];
 		if (IS_BLANK_CH(cur)) {
 		    SKIP_BLANKS;
-		    if (in->buf == NULL)
-			avail = in->length - (in->cur - in->base);
-		    else
-			avail = (ptrdiff_t)xmlBufUse(in->buf->buffer) -
-                                (in->cur - in->base);
+                    avail = in->end - in->cur;
 		}
 		if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
 		    ctxt->sax->setDocumentLocator(ctxt->userData,
@@ -5583,11 +5658,7 @@
 		break;
             case XML_PARSER_MISC:
 		SKIP_BLANKS;
-		if (in->buf == NULL)
-		    avail = in->length - (in->cur - in->base);
-		else
-		    avail = (ptrdiff_t)xmlBufUse(in->buf->buffer) -
-                            (in->cur - in->base);
+                avail = in->end - in->cur;
 		/*
 		 * no chars in buffer
 		 */
@@ -5656,11 +5727,7 @@
 		break;
             case XML_PARSER_PROLOG:
 		SKIP_BLANKS;
-		if (in->buf == NULL)
-		    avail = in->length - (in->cur - in->base);
-		else
-		    avail = (ptrdiff_t)xmlBufUse(in->buf->buffer) -
-                            (in->cur - in->base);
+                avail = in->end - in->cur;
 		if (avail < 2)
 		    goto done;
 		cur = in->cur[0];
@@ -5697,11 +5764,7 @@
 		}
 		break;
             case XML_PARSER_EPILOG:
-		if (in->buf == NULL)
-		    avail = in->length - (in->cur - in->base);
-		else
-		    avail = (ptrdiff_t)xmlBufUse(in->buf->buffer) -
-                            (in->cur - in->base);
+                avail = in->end - in->cur;
 		if (avail < 1)
 		    goto done;
 		cur = in->cur[0];
@@ -5885,7 +5948,7 @@
 		 * Handle preparsed entities and charRef
 		 */
 		if (ctxt->token != 0) {
-		    chr[0] = (xmlChar) ctxt->token;
+		    chr[0] = ctxt->token;
 		    htmlCheckParagraph(ctxt);
 		    if ((ctxt->sax != NULL) && (ctxt->sax->characters != NULL))
 			ctxt->sax->characters(ctxt->userData, chr, 1);
@@ -5950,93 +6013,97 @@
 #endif
 			break;
 		    }
-		} else {
-		    /*
-		     * Sometimes DOCTYPE arrives in the middle of the document
-		     */
-		    if ((cur == '<') && (next == '!') &&
-			(UPP(2) == 'D') && (UPP(3) == 'O') &&
-			(UPP(4) == 'C') && (UPP(5) == 'T') &&
-			(UPP(6) == 'Y') && (UPP(7) == 'P') &&
-			(UPP(8) == 'E')) {
-			if ((!terminate) &&
-			    (htmlParseLookupSequence(ctxt, '>', 0, 0, 1) < 0))
-			    goto done;
-			htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR,
-			             "Misplaced DOCTYPE declaration\n",
-				     BAD_CAST "DOCTYPE" , NULL);
-			htmlParseDocTypeDecl(ctxt);
-		    } else if ((cur == '<') && (next == '!') &&
-			(in->cur[2] == '-') && (in->cur[3] == '-')) {
-			if ((!terminate) && (htmlParseLookupCommentEnd(ctxt) < 0))
-			    goto done;
-#ifdef DEBUG_PUSH
-			xmlGenericError(xmlGenericErrorContext,
-				"HPP: Parsing Comment\n");
-#endif
-			htmlParseComment(ctxt);
-			ctxt->instate = XML_PARSER_CONTENT;
-		    } else if ((cur == '<') && (next == '?')) {
-			if ((!terminate) &&
-			    (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
-			    goto done;
-#ifdef DEBUG_PUSH
-			xmlGenericError(xmlGenericErrorContext,
-				"HPP: Parsing PI\n");
-#endif
-			htmlParsePI(ctxt);
-			ctxt->instate = XML_PARSER_CONTENT;
-		    } else if ((cur == '<') && (next == '!') && (avail < 4)) {
-			goto done;
-		    } else if ((cur == '<') && (next == '/')) {
-			ctxt->instate = XML_PARSER_END_TAG;
-			ctxt->checkIndex = 0;
-#ifdef DEBUG_PUSH
-			xmlGenericError(xmlGenericErrorContext,
-				"HPP: entering END_TAG\n");
-#endif
-			break;
-		    } else if ((cur == '<') && IS_ASCII_LETTER(next)) {
-                        if ((!terminate) && (next == 0))
+		} else if ((cur == '<') && (next == '!')) {
+                    if (avail < 4)
+                        goto done;
+                    /*
+                     * Sometimes DOCTYPE arrives in the middle of the document
+                     */
+                    if ((UPP(2) == 'D') && (UPP(3) == 'O') &&
+                        (UPP(4) == 'C') && (UPP(5) == 'T') &&
+                        (UPP(6) == 'Y') && (UPP(7) == 'P') &&
+                        (UPP(8) == 'E')) {
+                        if ((!terminate) &&
+                            (htmlParseLookupSequence(ctxt, '>', 0, 0, 1) < 0))
                             goto done;
-                        ctxt->instate = XML_PARSER_START_TAG;
-                        ctxt->checkIndex = 0;
+                        htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR,
+                                     "Misplaced DOCTYPE declaration\n",
+                                     BAD_CAST "DOCTYPE" , NULL);
+                        htmlParseDocTypeDecl(ctxt);
+                    } else if ((in->cur[2] == '-') && (in->cur[3] == '-')) {
+                        if ((!terminate) &&
+                            (htmlParseLookupCommentEnd(ctxt) < 0))
+                            goto done;
 #ifdef DEBUG_PUSH
                         xmlGenericError(xmlGenericErrorContext,
-                                "HPP: entering START_TAG\n");
+                                "HPP: Parsing Comment\n");
 #endif
-			break;
-		    } else if (cur == '<') {
-                        if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
-                            (ctxt->sax->characters != NULL))
-			    ctxt->sax->characters(ctxt->userData,
-						  BAD_CAST "<", 1);
-                        NEXT;
-		    } else {
-		        /*
-			 * check that the text sequence is complete
-			 * before handing out the data to the parser
-			 * to avoid problems with erroneous end of
-			 * data detection.
-			 */
-			if ((!terminate) &&
-                            (htmlParseLookupSequence(ctxt, '<', 0, 0, 0) < 0))
-			    goto done;
-			ctxt->checkIndex = 0;
+                        htmlParseComment(ctxt);
+                        ctxt->instate = XML_PARSER_CONTENT;
+                    } else {
+                        if ((!terminate) &&
+                            (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+                            goto done;
+                        htmlSkipBogusComment(ctxt);
+                    }
+                } else if ((cur == '<') && (next == '?')) {
+                    if ((!terminate) &&
+                        (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+                        goto done;
 #ifdef DEBUG_PUSH
-			xmlGenericError(xmlGenericErrorContext,
-				"HPP: Parsing char data\n");
+                    xmlGenericError(xmlGenericErrorContext,
+                            "HPP: Parsing PI\n");
 #endif
-                        while ((ctxt->instate != XML_PARSER_EOF) &&
-                               (cur != '<') && (in->cur < in->end)) {
-                            if (cur == '&') {
-			        htmlParseReference(ctxt);
-                            } else {
-			        htmlParseCharData(ctxt);
-                            }
-                            cur = in->cur[0];
+                    htmlParsePI(ctxt);
+                    ctxt->instate = XML_PARSER_CONTENT;
+                } else if ((cur == '<') && (next == '/')) {
+                    ctxt->instate = XML_PARSER_END_TAG;
+                    ctxt->checkIndex = 0;
+#ifdef DEBUG_PUSH
+                    xmlGenericError(xmlGenericErrorContext,
+                            "HPP: entering END_TAG\n");
+#endif
+                    break;
+                } else if ((cur == '<') && IS_ASCII_LETTER(next)) {
+                    if ((!terminate) && (next == 0))
+                        goto done;
+                    ctxt->instate = XML_PARSER_START_TAG;
+                    ctxt->checkIndex = 0;
+#ifdef DEBUG_PUSH
+                    xmlGenericError(xmlGenericErrorContext,
+                            "HPP: entering START_TAG\n");
+#endif
+                    break;
+                } else if (cur == '<') {
+                    if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
+                        (ctxt->sax->characters != NULL))
+                        ctxt->sax->characters(ctxt->userData,
+                                              BAD_CAST "<", 1);
+                    NEXT;
+                } else {
+                    /*
+                     * check that the text sequence is complete
+                     * before handing out the data to the parser
+                     * to avoid problems with erroneous end of
+                     * data detection.
+                     */
+                    if ((!terminate) &&
+                        (htmlParseLookupSequence(ctxt, '<', 0, 0, 0) < 0))
+                        goto done;
+                    ctxt->checkIndex = 0;
+#ifdef DEBUG_PUSH
+                    xmlGenericError(xmlGenericErrorContext,
+                            "HPP: Parsing char data\n");
+#endif
+                    while ((ctxt->instate != XML_PARSER_EOF) &&
+                           (cur != '<') && (in->cur < in->end)) {
+                        if (cur == '&') {
+                            htmlParseReference(ctxt);
+                        } else {
+                            htmlParseCharData(ctxt);
                         }
-		    }
+                        cur = in->cur[0];
+                    }
 		}
 
 		break;
@@ -6229,9 +6296,8 @@
 	res = xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
         xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur);
 	if (res < 0) {
-	    ctxt->errNo = XML_PARSER_EOF;
-	    ctxt->disableSAX = 1;
-	    return (XML_PARSER_EOF);
+            htmlErrMemory(ctxt, NULL);
+	    return (ctxt->errNo);
 	}
 #ifdef DEBUG_PUSH
 	xmlGenericError(xmlGenericErrorContext, "HPP: pushed %d\n", size);
@@ -6311,26 +6377,13 @@
     buf = xmlAllocParserInputBuffer(enc);
     if (buf == NULL) return(NULL);
 
-    ctxt = htmlNewParserCtxt();
+    ctxt = htmlNewSAXParserCtxt(sax, user_data);
     if (ctxt == NULL) {
 	xmlFreeParserInputBuffer(buf);
 	return(NULL);
     }
     if(enc==XML_CHAR_ENCODING_UTF8 || buf->encoder)
 	ctxt->charset=XML_CHAR_ENCODING_UTF8;
-    if (sax != NULL) {
-	if (ctxt->sax != (xmlSAXHandlerPtr) &htmlDefaultSAXHandler)
-	    xmlFree(ctxt->sax);
-	ctxt->sax = (htmlSAXHandlerPtr) xmlMalloc(sizeof(htmlSAXHandler));
-	if (ctxt->sax == NULL) {
-	    xmlFree(buf);
-	    xmlFree(ctxt);
-	    return(NULL);
-	}
-	memcpy(ctxt->sax, sax, sizeof(htmlSAXHandler));
-	if (user_data != NULL)
-	    ctxt->userData = user_data;
-    }
     if (filename == NULL) {
 	ctxt->directory = NULL;
     } else {
@@ -6340,7 +6393,7 @@
     inputStream = htmlNewInputStream(ctxt);
     if (inputStream == NULL) {
 	xmlFreeParserCtxt(ctxt);
-	xmlFree(buf);
+	xmlFreeParserInputBuffer(buf);
 	return(NULL);
     }
 
@@ -6379,6 +6432,8 @@
  * @sax:  the SAX handler block
  * @userData: if using SAX, this pointer will be provided on callbacks.
  *
+ * DEPRECATED: Use htmlNewSAXParserCtxt and htmlCtxtReadDoc.
+ *
  * 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.
@@ -6462,11 +6517,6 @@
     }
     canonicFilename = (char *) xmlCanonicPath((const xmlChar *) filename);
     if (canonicFilename == NULL) {
-#ifdef LIBXML_SAX1_ENABLED
-	if (xmlDefaultSAXHandler.error != NULL) {
-	    xmlDefaultSAXHandler.error(NULL, "out of memory\n");
-	}
-#endif
 	xmlFreeParserCtxt(ctxt);
 	return(NULL);
     }
@@ -6505,6 +6555,8 @@
  * @sax:  the SAX handler block
  * @userData: if using SAX, this pointer will be provided on callbacks.
  *
+ * DEPRECATED: Use htmlNewSAXParserCtxt and htmlCtxtReadFile.
+ *
  * 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.
@@ -6744,6 +6796,8 @@
     ctxt->nameNr = 0;
     ctxt->name = NULL;
 
+    ctxt->nsNr = 0;
+
     DICT_FREE(ctxt->version);
     ctxt->version = NULL;
     DICT_FREE(ctxt->encoding);
@@ -6771,10 +6825,12 @@
     ctxt->disableSAX = 0;
     ctxt->valid = 1;
     ctxt->vctxt.userData = ctxt;
+    ctxt->vctxt.flags = XML_VCTXT_USE_PCTXT;
     ctxt->vctxt.error = xmlParserValidityError;
     ctxt->vctxt.warning = xmlParserValidityWarning;
     ctxt->record_info = 0;
     ctxt->checkIndex = 0;
+    ctxt->endCheckState = 0;
     ctxt->inSubset = 0;
     ctxt->errNo = XML_ERR_OK;
     ctxt->depth = 0;
@@ -6790,6 +6846,11 @@
         xmlHashFree(ctxt->attsSpecial, NULL);
         ctxt->attsSpecial = NULL;
     }
+
+    ctxt->nbErrors = 0;
+    ctxt->nbWarnings = 0;
+    if (ctxt->lastError.code != XML_ERR_OK)
+        xmlResetError(&ctxt->lastError);
 }
 
 /**
@@ -6860,6 +6921,7 @@
         options -= HTML_PARSE_NOIMPLIED;
     }
     ctxt->dictNames = 0;
+    ctxt->linenumbers = 1;
     return (options);
 }
 
@@ -6976,12 +7038,9 @@
     htmlParserCtxtPtr ctxt;
 
     xmlInitParser();
-    ctxt = xmlCreateMemoryParserCtxt(buffer, size);
+    ctxt = htmlCreateMemoryParserCtxt(buffer, size);
     if (ctxt == NULL)
         return (NULL);
-    htmlDefaultSAXHandlerInit();
-    if (ctxt->sax != NULL)
-        memcpy(ctxt->sax, &htmlDefaultSAXHandler, sizeof(xmlSAXHandlerV1));
     return (htmlDoRead(ctxt, URL, encoding, options, 0));
 }
 
@@ -7092,22 +7151,10 @@
 htmlCtxtReadDoc(htmlParserCtxtPtr ctxt, const xmlChar * cur,
                const char *URL, const char *encoding, int options)
 {
-    xmlParserInputPtr stream;
-
     if (cur == NULL)
         return (NULL);
-    if (ctxt == NULL)
-        return (NULL);
-    xmlInitParser();
-
-    htmlCtxtReset(ctxt);
-
-    stream = xmlNewStringInputStream(ctxt, cur);
-    if (stream == NULL) {
-        return (NULL);
-    }
-    inputPush(ctxt, stream);
-    return (htmlDoRead(ctxt, URL, encoding, options, 1));
+    return (htmlCtxtReadMemory(ctxt, (const char *) cur, xmlStrlen(cur), URL,
+                               encoding, options));
 }
 
 /**
diff --git a/HTMLtree.c b/HTMLtree.c
index b098de7..fa3a0ed 100644
--- a/HTMLtree.c
+++ b/HTMLtree.c
@@ -12,13 +12,8 @@
 #ifdef LIBXML_HTML_ENABLED
 
 #include <string.h> /* for memset() only ! */
-
-#ifdef HAVE_CTYPE_H
 #include <ctype.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #include <libxml/xmlmemory.h>
 #include <libxml/HTMLparser.h>
@@ -30,7 +25,10 @@
 #include <libxml/globals.h>
 #include <libxml/uri.h>
 
-#include "buf.h"
+#include "private/buf.h"
+#include "private/error.h"
+#include "private/io.h"
+#include "private/save.h"
 
 /************************************************************************
  *									*
@@ -304,7 +302,7 @@
  * output as <option selected>, as per XSLT 1.0 16.2 "HTML Output Method"
  *
  */
-static const char* htmlBooleanAttrs[] = {
+static const char* const htmlBooleanAttrs[] = {
   "checked", "compact", "declare", "defer", "disabled", "ismap",
   "multiple", "nohref", "noresize", "noshade", "nowrap", "readonly",
   "selected", NULL
@@ -333,11 +331,6 @@
 }
 
 #ifdef LIBXML_OUTPUT_ENABLED
-/*
- * private routine exported from xmlIO.c
- */
-xmlOutputBufferPtr
-xmlAllocOutputBufferInternal(xmlCharEncodingHandlerPtr encoder);
 /************************************************************************
  *									*
  *			Output error handlers				*
@@ -422,7 +415,7 @@
         htmlSaveErrMemory("allocating HTML output buffer");
 	return (-1);
     }
-    memset(outbuf, 0, (size_t) sizeof(xmlOutputBuffer));
+    memset(outbuf, 0, sizeof(xmlOutputBuffer));
     outbuf->buffer = buf;
     outbuf->encoder = NULL;
     outbuf->writecallback = NULL;
@@ -627,8 +620,6 @@
  *									*
  ************************************************************************/
 
-void xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur);
-
 /**
  * htmlDtdDumpOutput:
  * @buf:  the HTML buffer output
@@ -710,10 +701,15 @@
 		while (IS_BLANK_CH(*tmp)) tmp++;
 
 		/*
-		 * the < and > have already been escaped at the entity level
-		 * And doing so here breaks server side includes
+                 * Angle brackets are technically illegal in URIs, but they're
+                 * used in server side includes, for example. Curly brackets
+                 * are illegal as well and often used in templates.
+                 * Don't escape non-whitespace, printable ASCII chars for
+                 * improved interoperability. Only escape space, control
+                 * and non-ASCII chars.
 		 */
-		escaped = xmlURIEscapeStr(tmp, BAD_CAST"@/:=?;#%&,+<>");
+		escaped = xmlURIEscapeStr(tmp,
+                        BAD_CAST "\"#$%&+,/:;<=>?@[\\]^`{|}");
 		if (escaped != NULL) {
 		    xmlBufWriteQuotedString(buf->buffer, escaped);
 		    xmlFree(escaped);
@@ -992,7 +988,14 @@
 htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr cur,
 	                       const char *encoding ATTRIBUTE_UNUSED,
                                int format) {
+    int type = 0;
+    if (cur) {
+        type = cur->type;
+        cur->type = XML_HTML_DOCUMENT_NODE;
+    }
     htmlNodeDumpFormatOutput(buf, cur, (xmlNodePtr) cur, NULL, format);
+    if (cur)
+        cur->type = (xmlElementType) type;
 }
 
 /**
diff --git a/MAINTAINERS.md b/MAINTAINERS.md
new file mode 100644
index 0000000..2d9204e
--- /dev/null
+++ b/MAINTAINERS.md
@@ -0,0 +1,65 @@
+# Maintainer's Guide
+
+## Making a release
+
+### Rebuild generated files and documentation
+
+The documentation and some generated files can be rebuilt by running
+
+    make -C doc rebuild
+
+This requires `xsltproc` and the libxml2 Python bindings to be installed.
+
+### Update the NEWS file
+
+You can get started by running
+
+    git log --format='- %s (%an)' [previous-release-tag]..
+
+### Bump the version number
+
+Edit the version number in `configure.ac` if you haven't done so already.
+
+### Build the tarball
+
+I'd recommend to build the tarball by running
+
+    make distcheck
+
+which performs some useful checks as well.
+
+### Upload the tarball
+
+Follow the instructions at
+<https://wiki.gnome.org/MaintainersCorner/Releasing>:
+
+    scp libxml2-[version].tar.xz master.gnome.org:
+    ssh master.gnome.org ftpadmin install libxml2-[version].tar.xz
+
+### Tag the release
+
+Create an annotated tag and push it:
+
+    git tag -a [version] -m 'Release [version]'
+    git push origin [version]
+
+### Create a GitLab release
+
+Create a new GitLab release on
+<https://gitlab.gnome.org/GNOME/libxml2/-/releases>.
+
+### Announce the release
+
+Announce the release by sending an email to the mailing list at
+xml@gnome.org.
+
+## Updating the CI Docker image
+
+Note that the CI image is used for libxslt as well. Run the following
+commands with the Dockerfile in the .gitlab-ci directory:
+
+    docker login registry.gitlab.gnome.org
+    docker build -t registry.gitlab.gnome.org/gnome/libxml2 - \
+        < .gitlab-ci/Dockerfile
+    docker push registry.gitlab.gnome.org/gnome/libxml2
+
diff --git a/METADATA b/METADATA
index 6feda2c..da6dd4a 100644
--- a/METADATA
+++ b/METADATA
@@ -1,6 +1,11 @@
-# *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
-#     CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
-#     DEPENDING ON IT IN YOUR PROJECT. ***
+# THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE
+# CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
+# DEPENDING ON IT IN YOUR PROJECT.
+
+# This project was upgraded with external_updater.
+# Usage: tools/external_updater/updater.sh update libxml2
+# For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md
+
 name: "libxml2"
 description: "Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), it is free software available under the MIT License."
 third_party {
@@ -9,18 +14,18 @@
     value: "http://www.xmlsoft.org/"
   }
   url {
-    type: ARCHIVE
-    value: "https://github.com/GNOME/libxml2/archive/c41bc10da31a4a4e5416270110b6d1b79606cad1.zip"
+    type: GIT
+    value: "https://github.com/GNOME/libxml2/"
   }
-  version: "c41bc10da31a4a4e5416270110b6d1b79606cad1"
-  license_note: "contains GFDL documentation"
+  version: "e7c3a4ca1be916d84e8182fb5de3a9c7a27bfe11"
   license_type: BY_EXCEPTION_ONLY
+  license_note: "contains GFDL documentation"
   security {
     tag: "NVD-CPE2.3:cpe:/a:xmlsoft:libxml2:2.9.2:-"
   }
   last_upgrade_date {
-    year: 2022
-    month: 2
-    day: 23
+    year: 2023
+    month: 3
+    day: 13
   }
 }
diff --git a/Makefile.am b/Makefile.am
index bd5b7d3..a562728 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,647 +2,235 @@
 
 ACLOCAL_AMFLAGS = -I m4
 
-SUBDIRS = include . doc example fuzz xstc $(PYTHON_SUBDIR)
+SUBDIRS = include . doc example xstc
+if WITH_PYTHON
+SUBDIRS += python
+endif
+if WITH_GLOB
+SUBDIRS += fuzz
+endif
 
 DIST_SUBDIRS = include . doc example fuzz python xstc
 
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include
+AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include -DSYSCONFDIR='"$(sysconfdir)"'
 
-AM_CFLAGS = $(EXTRA_CFLAGS) $(THREAD_CFLAGS) $(Z_CFLAGS) $(LZMA_CFLAGS)
-
-check_PROGRAMS=testSchemas testRelax testSAX testHTML testXPath testURI \
-               testThreads testC14N testAutomata testRegexp \
-               testReader testapi testModule runtest runsuite testchar \
-	       testdict runxmlconf testrecurse testlimits
+check_PROGRAMS = \
+	runsuite \
+	runtest \
+	runxmlconf \
+	testModule \
+	testThreads \
+	testapi \
+	testchar \
+	testdict \
+	testlimits \
+	testrecurse
 
 bin_PROGRAMS = xmllint xmlcatalog
 
-bin_SCRIPTS=xml2-config
+bin_SCRIPTS = xml2-config
 
 lib_LTLIBRARIES = libxml2.la
-libxml2_la_LIBADD = $(ICU_LIBS) $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
+libxml2_la_CFLAGS = $(AM_CFLAGS) $(XML_PRIVATE_CFLAGS)
+libxml2_la_LIBADD = $(XML_PRIVATE_LIBS)
 
-if USE_VERSION_SCRIPT
-LIBXML2_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxml2.syms
-else
-LIBXML2_VERSION_SCRIPT =
-endif
-
-libxml2_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) \
-		     $(LIBXML2_VERSION_SCRIPT) \
+libxml2_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined \
 		     -version-info $(LIBXML_VERSION_INFO) \
 		     $(MODULE_PLATFORM_LIBS)
+if USE_VERSION_SCRIPT
+libxml2_la_LDFLAGS += $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxml2.syms
+endif
 
+libxml2_la_SOURCES = buf.c chvalid.c dict.c entities.c encoding.c error.c \
+		     globals.c hash.c list.c parser.c parserInternals.c \
+		     SAX2.c threads.c tree.c uri.c valid.c xmlIO.c \
+		     xmlmemory.c xmlstring.c
+if WITH_C14N_SOURCES
+libxml2_la_SOURCES += c14n.c
+endif
+if WITH_CATALOG_SOURCES
+libxml2_la_SOURCES += catalog.c
+endif
+if WITH_DEBUG_SOURCES
+libxml2_la_SOURCES += debugXML.c
+endif
+if WITH_FTP_SOURCES
+libxml2_la_SOURCES += nanoftp.c
+endif
+if WITH_HTML_SOURCES
+libxml2_la_SOURCES += HTMLparser.c HTMLtree.c
+endif
+if WITH_HTTP_SOURCES
+libxml2_la_SOURCES += nanohttp.c
+endif
+if WITH_LEGACY_SOURCES
+libxml2_la_SOURCES += legacy.c
 if WITH_SAX1_SOURCES
-docb_sources = DOCBparser.c
-else
-docb_sources =
+libxml2_la_SOURCES += SAX.c
 endif
-
+endif
+if WITH_LZMA_SOURCES
+libxml2_la_SOURCES += xzlib.c
+endif
+if WITH_MODULES_SOURCES
+libxml2_la_SOURCES += xmlmodule.c
+endif
+if WITH_OUTPUT_SOURCES
+libxml2_la_SOURCES += xmlsave.c
+endif
+if WITH_PATTERN_SOURCES
+libxml2_la_SOURCES += pattern.c
+endif
+if WITH_READER_SOURCES
+libxml2_la_SOURCES += xmlreader.c
+endif
+if WITH_REGEXPS_SOURCES
+libxml2_la_SOURCES += xmlregexp.c xmlunicode.c
+endif
+if WITH_SCHEMAS_SOURCES
+libxml2_la_SOURCES += relaxng.c xmlschemas.c xmlschemastypes.c
+if !WITH_XPATH_SOURCES
+libxml2_la_SOURCES += xpath.c
+endif
+endif
+if WITH_SCHEMATRON_SOURCES
+libxml2_la_SOURCES += schematron.c
+endif
 if WITH_TRIO_SOURCES
-trio_sources = triostr.c trio.c
-else
-trio_sources =
+libxml2_la_SOURCES += triostr.c trio.c
 endif
-
-libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
-		parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
-		valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
-		xpointer.c xinclude.c nanohttp.c nanoftp.c \
-		$(docb_sources) \
-		catalog.c globals.c threads.c c14n.c xmlstring.c buf.c \
-		xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
-		$(trio_sources) \
-		xmlreader.c relaxng.c dict.c SAX2.c \
-		xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c \
-		xmlmodule.c schematron.c xzlib.c
+if WITH_WRITER_SOURCES
+libxml2_la_SOURCES += xmlwriter.c
+endif
+if WITH_XINCLUDE_SOURCES
+libxml2_la_SOURCES += xinclude.c
+endif
+if WITH_XPATH_SOURCES
+libxml2_la_SOURCES += xpath.c
+endif
+if WITH_XPTR_SOURCES
+libxml2_la_SOURCES += xlink.c xpointer.c
+endif
 
 DEPS = $(top_builddir)/libxml2.la
-LDADDS = $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
+LDADDS = $(top_builddir)/libxml2.la
 
 
-man_MANS = xml2-config.1 libxml.3
-
 m4datadir = $(datadir)/aclocal
-m4data_DATA = libxml.m4
+dist_m4data_DATA = libxml.m4
 
 runtest_SOURCES=runtest.c
-runtest_LDFLAGS = 
+runtest_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
 runtest_DEPENDENCIES = $(DEPS)
-runtest_LDADD= $(BASE_THREAD_LIBS) $(RDL_LIBS) $(LDADDS)
+runtest_LDADD= $(BASE_THREAD_LIBS) $(THREAD_LIBS) $(LDADDS)
 
 testrecurse_SOURCES=testrecurse.c
-testrecurse_LDFLAGS = 
 testrecurse_DEPENDENCIES = $(DEPS)
-testrecurse_LDADD= $(BASE_THREAD_LIBS) $(RDL_LIBS) $(LDADDS)
+testrecurse_LDADD= $(LDADDS)
 
 testlimits_SOURCES=testlimits.c
-testlimits_LDFLAGS = 
 testlimits_DEPENDENCIES = $(DEPS)
-testlimits_LDADD= $(BASE_THREAD_LIBS) $(RDL_LIBS) $(LDADDS)
+testlimits_LDADD= $(LDADDS)
 
 testchar_SOURCES=testchar.c
-testchar_LDFLAGS = 
 testchar_DEPENDENCIES = $(DEPS)
-testchar_LDADD= $(RDL_LIBS) $(LDADDS)
+testchar_LDADD= $(LDADDS)
 
 testdict_SOURCES=testdict.c
-testdict_LDFLAGS = 
 testdict_DEPENDENCIES = $(DEPS)
-testdict_LDADD= $(RDL_LIBS) $(LDADDS)
+testdict_LDADD= $(LDADDS)
 
 runsuite_SOURCES=runsuite.c
-runsuite_LDFLAGS = 
 runsuite_DEPENDENCIES = $(DEPS)
-runsuite_LDADD= $(RDL_LIBS) $(LDADDS)
+runsuite_LDADD= $(LDADDS)
 
 xmllint_SOURCES=xmllint.c
-xmllint_LDFLAGS = 
+xmllint_CFLAGS = $(AM_CFLAGS) $(RDL_CFLAGS)
 xmllint_DEPENDENCIES = $(DEPS)
 xmllint_LDADD=  $(RDL_LIBS) $(LDADDS)
 
-testSAX_SOURCES=testSAX.c
-testSAX_LDFLAGS = 
-testSAX_DEPENDENCIES = $(DEPS)
-testSAX_LDADD= $(LDADDS)
-
-testHTML_SOURCES=testHTML.c
-testHTML_LDFLAGS = 
-testHTML_DEPENDENCIES = $(DEPS)
-testHTML_LDADD= $(LDADDS)
-
 xmlcatalog_SOURCES=xmlcatalog.c
-xmlcatalog_LDFLAGS = 
 xmlcatalog_DEPENDENCIES = $(DEPS)
 xmlcatalog_LDADD = $(RDL_LIBS) $(LDADDS)
 
-testXPath_SOURCES=testXPath.c
-testXPath_LDFLAGS = 
-testXPath_DEPENDENCIES = $(DEPS)
-testXPath_LDADD= $(LDADDS)
-
-testC14N_SOURCES=testC14N.c
-testC14N_LDFLAGS = 
-testC14N_DEPENDENCIES = $(DEPS)
-testC14N_LDADD= $(LDADDS)
-
 testThreads_SOURCES = testThreads.c
-testThreads_LDFLAGS = 
+testThreads_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
 testThreads_DEPENDENCIES = $(DEPS)
-testThreads_LDADD= $(BASE_THREAD_LIBS) $(LDADDS)
-
-testURI_SOURCES=testURI.c
-testURI_LDFLAGS = 
-testURI_DEPENDENCIES = $(DEPS)
-testURI_LDADD= $(LDADDS)
-
-testRegexp_SOURCES=testRegexp.c
-testRegexp_LDFLAGS = 
-testRegexp_DEPENDENCIES = $(DEPS)
-testRegexp_LDADD= $(LDADDS)
-
-testAutomata_SOURCES=testAutomata.c
-testAutomata_LDFLAGS = 
-testAutomata_DEPENDENCIES = $(DEPS)
-testAutomata_LDADD= $(LDADDS)
-
-testSchemas_SOURCES=testSchemas.c
-testSchemas_LDFLAGS = 
-testSchemas_DEPENDENCIES = $(DEPS)
-testSchemas_LDADD= $(LDADDS)
-
-testRelax_SOURCES=testRelax.c
-testRelax_LDFLAGS = 
-testRelax_DEPENDENCIES = $(DEPS)
-testRelax_LDADD= $(LDADDS)
-
-testReader_SOURCES=testReader.c
-testReader_LDFLAGS = 
-testReader_DEPENDENCIES = $(DEPS)
-testReader_LDADD= $(LDADDS)
+testThreads_LDADD= $(BASE_THREAD_LIBS) $(THREAD_LIBS) $(LDADDS)
 
 testModule_SOURCES=testModule.c
-testModule_LDFLAGS = 
 testModule_DEPENDENCIES = $(DEPS)
 testModule_LDADD= $(LDADDS)
 
 noinst_LTLIBRARIES = testdso.la
 testdso_la_SOURCES = testdso.c
-testdso_la_LDFLAGS = -module -no-undefined -avoid-version -rpath $(libdir)
+testdso_la_LDFLAGS = $(AM_LDFLAGS) \
+		     -module -no-undefined -avoid-version -rpath $(libdir)
 
 # that one forces the rebuild when "make rebuild" is run on doc/
 rebuild_testapi:
 	-@(if [ "$(PYTHON)" != "" ] ; then \
 	    $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
 
-# that one is just to make sure it is rebuilt if missing
-# but adding the dependances generate mess
-testapi.c: $(srcdir)/gentest.py
-	-@(if [ "$(PYTHON)" != "" ] ; then \
-	    $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
-
-BUILT_SOURCES = testapi.c
-
 testapi_SOURCES=testapi.c
-testapi_LDFLAGS = 
 testapi_DEPENDENCIES = $(DEPS)
 testapi_LDADD= $(LDADDS)
 
 runxmlconf_SOURCES=runxmlconf.c
-runxmlconf_LDFLAGS = 
 runxmlconf_DEPENDENCIES = $(DEPS)
 runxmlconf_LDADD= $(LDADDS)
 
 #testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
-#testOOM_LDFLAGS = 
 #testOOM_DEPENDENCIES = $(DEPS)
 #testOOM_LDADD= $(LDADDS)
 
-runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \
-          testchar$(EXEEXT) testdict$(EXEEXT) runxmlconf$(EXEEXT)
+check-local:
 	[ -d test   ] || $(LN_S) $(srcdir)/test   .
 	[ -d result ] || $(LN_S) $(srcdir)/result .
-	$(CHECKER) ./runtest$(EXEEXT) && \
-	    $(CHECKER) ./testrecurse$(EXEEXT) && \
-	    ASAN_OPTIONS="$$ASAN_OPTIONS:detect_leaks=0" $(CHECKER) ./testapi$(EXEEXT) && \
-	    $(CHECKER) ./testchar$(EXEEXT) && \
-	    $(CHECKER) ./testdict$(EXEEXT) && \
-	    $(CHECKER) ./runxmlconf$(EXEEXT)
-	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
-	    $(MAKE) tests ; fi)
-	@cd fuzz; $(MAKE) tests
+	$(CHECKER) ./runtest$(EXEEXT)
+	$(CHECKER) ./testrecurse$(EXEEXT)
+	$(CHECKER) ./testapi$(EXEEXT)
+	$(CHECKER) ./testchar$(EXEEXT)
+	$(CHECKER) ./testdict$(EXEEXT)
+	$(CHECKER) ./testModule$(EXEEXT)
+	$(CHECKER) ./testThreads$(EXEEXT)
+	$(CHECKER) ./runxmlconf$(EXEEXT)
+	$(CHECKER) ./runsuite$(EXEEXT)
 
-check: all runtests
+# Compatibility name of the check target
+runtests: check
 
-check-valgrind valgrind: all
+check-valgrind valgrind:
 	@echo '## Running the regression tests under Valgrind'
 	@echo '## Go get a cup of coffee it is gonna take a while ...'
-	$(MAKE) CHECKER='valgrind -q' runtests
+	$(MAKE) CHECKER='valgrind -q' check
 
 asan:
 	@echo '## rebuilding for ASAN'
 	./configure CFLAGS="-fsanitize=address,undefined -Wformat -Werror=format-security -Werror=array-bounds -g" CXXFLAGS="-fsanitize=address,undefined -Wformat -Werror=format-security -Werror=array-bounds -g" LDFLAGS="-fsanitize=address,undefined" CC="clang" CXX="clang++" --disable-shared ; OptimOff  ; $(MAKE) clean ; $(MAKE)
 
-testall : tests SVGtests SAXtests
+# Old test suite. This should be ported to C.
 
-tests: XMLtests XMLenttests NStests IDtests Errtests APItests $(READER_TEST) $(TEST_SAX) $(TEST_PUSH) $(TEST_HTML) $(TEST_PHTML) $(TEST_VALID) URItests $(TEST_PATTERN) $(TEST_XPATH) $(TEST_XPTR) $(TEST_XINCLUDE) $(TEST_C14N) $(TEST_DEBUG) $(TEST_CATALOG) $(TEST_REGEXPS) $(TEST_SCHEMAS) $(TEST_SCHEMATRON) $(TEST_THREADS) Timingtests $(TEST_VTIME) $(PYTHON_TESTS) $(TEST_MODULES)
-	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
-	    $(MAKE) -s tests ; fi)
-	@(cd doc/examples ; $(MAKE) -s tests)
+OLD_TESTS = Timingtests
+if WITH_CATALOG_SOURCES
+OLD_TESTS += Catatests
+endif
+if WITH_DEBUG_SOURCES
+OLD_TESTS += Scripttests
+endif
+if WITH_SCHEMAS_SOURCES
+if WITH_PYTHON
+OLD_TESTS += RelaxNGPythonTests SchemasPythonTests
+endif
+endif
+if WITH_SCHEMATRON_SOURCES
+OLD_TESTS += Schematrontests
+endif
+if WITH_VALID_SOURCES
+OLD_TESTS += VTimingtests
+endif
 
-APItests: testapi$(EXEEXT)
-	@echo "## Running the API regression tests this may take a little while"
-	-@(ASAN_OPTIONS="$$ASAN_OPTIONS:detect_leaks=0" $(CHECKER) $(top_builddir)/testapi -q)
-
-HTMLtests : testHTML$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## HTML regression tests"
-	-@(for i in $(srcdir)/test/HTML/* ; do \
-	  name=`basename $$i`; \
-	  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 ; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testHTML $$i > result.$$name 2> error.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/HTML/$$name result.$$name ; \
-	      diff -b $(srcdir)/result/HTML/$$name.err error.$$name ; \
-	      $(CHECKER) $(top_builddir)/testHTML result.$$name > result2.$$name 2>error.$$name ; \
-	      diff result.$$name result2.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name result2.$$name error.$$name ; \
-	  fi ; fi ; done)
-
-HTMLPushtests : testHTML$(EXEEXT)
-	@echo "## Push HTML regression tests"
-	-@(for i in $(srcdir)/test/HTML/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(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";\
-	      diff $(srcdir)/result/HTML/$$name result.$$name ; \
-	      cut -b 1-15 $(srcdir)/result/HTML/$$name.err > errorcut.$$name; \
-	      cut -b 1-15 error.$$name > errorcut2.$$name; \
-	      diff -b errorcut.$$name errorcut2.$$name ; \
-	      $(CHECKER) $(top_builddir)/testHTML --push result.$$name > result2.$$name 2>error.$$name ; \
-	      diff result.$$name result2.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name result2.$$name error.$$name errorcut.$$name errorcut2.$$name ; \
-	  fi ; fi ; done)
-	@echo "## HTML SAX regression tests"
-	-@(for i in $(srcdir)/test/HTML/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/HTML/$$name.sax ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testHTML --sax $$i > result.$$name.sax ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name.sax ; \
-	  fi ; fi ; done)
-	@echo "## Push HTML SAX regression tests"
-	-@(for i in $(srcdir)/test/HTML/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(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";\
-	      diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name.sax ; \
-	  fi ; fi ; done)
-
-XMLtests : xmllint$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## XML regression tests"
-	-@(for i in $(srcdir)/test/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint $$i > $(srcdir)/result/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint $$i 2>&1 > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	      diff $(srcdir)/result/$$name result.$$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	      diff result.$$name result2.$$name` ;\
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name result2.$$name ; \
-	  fi ; fi ; done)
-	@echo "## XML regression tests on memory"
-	-@(for i in $(srcdir)/test/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --memory $$i > $(srcdir)/result/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --memory $$i 2>&1 > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/$$name result.$$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --memory result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      diff result.$$name result2.$$name ; \
-	      rm result.$$name result2.$$name ; \
-	  fi ; fi ; done)
-
-XMLPushtests: xmllint$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## XML push regression tests"
-	-@(for i in $(srcdir)/test/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --push $$i > $(srcdir)/result/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --push $$i 2>&1 > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	      diff $(srcdir)/result/$$name result.$$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --push result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	      diff result.$$name result2.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name result2.$$name ; \
-	  fi ; fi ; done)
-
-NStests : xmllint$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## XML Namespaces regression tests"
-	-@(for i in $(srcdir)/test/namespaces/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/namespaces/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint $$i \
-	         2> $(srcdir)/result/namespaces/$$name.err \
-		 > $(srcdir)/result/namespaces/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint $$i 2> error.$$name > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	      diff $(srcdir)/result/namespaces/$$name result.$$name ; \
-	      diff $(srcdir)/result/namespaces/$$name.err error.$$name`; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name error.$$name ; \
-	  fi ; fi ; done)
-
-IDtests : xmllint$(EXEEXT) testXPath$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## xml:id regression tests"
-	-@(for i in $(srcdir)/test/xmlid/id_*.xml ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/xmlid/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testXPath -i $$i "id('bar')" \
-	         2> $(srcdir)/result/xmlid/$$name.err \
-		 > $(srcdir)/result/xmlid/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testXPath -i $$i "id('bar')" 2> error.$$name > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	      diff $(srcdir)/result/xmlid/$$name result.$$name ; \
-	      diff $(srcdir)/result/xmlid/$$name.err error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name error.$$name ; \
-	  fi ; fi ; done)
-
-Errtests : xmllint$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## Error cases regression tests"
-	-@(for i in $(srcdir)/test/errors/*.xml ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/errors/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint $$i \
-	         2> $(srcdir)/result/errors/$$name.err \
-		 > $(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 ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	      diff $(srcdir)/result/errors/$$name result.$$name ; \
-	      diff $(srcdir)/result/errors/$$name.err error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name error.$$name ; \
-	  fi ; fi ; done)
-	@echo "## Error cases regression tests (old 1.0)"
-	-@(for i in $(srcdir)/test/errors10/*.xml ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/errors10/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --oldxml10 $$i \
-	         2> $(srcdir)/result/errors10/$$name.err \
-		 > $(srcdir)/result/errors10/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --oldxml10 $$i 2> error.$$name > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	      diff $(srcdir)/result/errors10/$$name result.$$name ; \
-	      diff $(srcdir)/result/errors10/$$name.err error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name error.$$name ; \
-	  fi ; fi ; done)
-	@echo "## Error cases stream regression tests"
-	-@(for i in $(srcdir)/test/errors/*.xml ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/errors/$$name.str ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --stream $$i \
-	         2> $(srcdir)/result/errors/$$name.str \
-		 > /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --stream $$i 2> error.$$name > /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	      diff $(srcdir)/result/errors/$$name.str error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm error.$$name ; \
-	  fi ; fi ; done)
-
-Docbtests : xmllint$(EXEEXT)
-
-XMLenttests : xmllint$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## XML entity subst regression tests"
-	-@(for i in $(srcdir)/test/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/noent/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --noent $$i > $(srcdir)/result/noent/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --noent $$i 2>&1 > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	      diff $(srcdir)/result/noent/$$name result.$$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --noent result.$$name 2>&1 > result2.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	      diff result.$$name result2.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name result2.$$name ; \
-	  fi ; fi ; done)
-
-URItests : testURI$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## URI module regression tests"
-	-@(for i in $(srcdir)/test/URI/*.data ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i > $(srcdir)/result/URI/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i 2>&1 > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/URI/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done)
-	-@(for i in $(srcdir)/test/URI/*.uri ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testURI < $$i > $(srcdir)/result/URI/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testURI < $$i 2>&1 > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/URI/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done)
-
-XPathtests : testXPath$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## XPath regression tests"
-	-@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \
-	  then echo Skipping debug not compiled in ; exit 0 ; fi ; \
-	  for i in $(srcdir)/test/XPath/expr/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/XPath/expr/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name 2> /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testXPath -f --expr $$i > result.$$name 2> /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/XPath/expr/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done ; \
-	  for i in $(srcdir)/test/XPath/docs/* ; do \
-	  if [ ! -d $$i ] ; then \
-	  doc=`basename $$i`; \
-	  for j in $(srcdir)/test/XPath/tests/$$doc* ; do \
-	  if [ ! -f $$j ] ; then continue ; fi ; \
-	  name=`basename $$j`; \
-	  if [ ! -d $$j ] ; then \
-	  if [ ! -f $(srcdir)/result/XPath/tests/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > $(srcdir)/result/XPath/tests/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/XPath/tests/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done ; fi ; done)
-
-XPtrtests : testXPath$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## XPointer regression tests"
-	-@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \
-	  then echo Skipping debug not compiled in ; exit 0 ; fi ; \
-	  for i in $(srcdir)/test/XPath/docs/* ; do \
-	  if [ ! -d $$i ] ; then \
-	  doc=`basename $$i`; \
-	  for j in $(srcdir)/test/XPath/xptr/$$doc* ; do \
-	  if [ ! -f $$j ] ; then continue ; fi ; \
-	  name=`basename $$j`; \
-	  if [ ! -d $$j ] ; then \
-	  if [ ! -f $(srcdir)/result/XPath/xptr/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > $(srcdir)/result/XPath/xptr/$$name 2> /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > result.$$name 2> /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/XPath/xptr/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done ; fi ; done)
-
-XIncludetests : xmllint$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## XInclude regression tests"
-	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > result.$$name 2>error.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/XInclude/$$name result.$$name ; \
-	      diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name error.$$name ; \
-	  fi ; fi ; done)
-	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > result.$$name 2>error.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/XInclude/$$name result.$$name ; \
-	      diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name error.$$name ; \
-	  fi ; fi ; done)
-	@(echo > .memdump)
-	@echo "## XInclude xmlReader regression tests"
-	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --nowarning --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 "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
-	      diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name error.$$name ; \
-	  fi ; fi ; done)
-	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
-	      diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name error.$$name ; \
-	  fi ; fi ; done)
+tests: $(OLD_TESTS)
 
 Scripttests : xmllint$(EXEEXT)
 	@(echo > .memdump)
@@ -719,242 +307,6 @@
 	grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	rm -f $(srcdir)/result/catalogs/mycatalog)
 
-SVGtests : xmllint$(EXEEXT)
-	@echo "## SVG parsing regression tests"
-	-@(for i in $(srcdir)/test/SVG/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/SVG/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint $$i > $(srcdir)/result/SVG/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      echo Testing $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint $$i > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/SVG/$$name result.$$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint result.$$name > result2.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff result.$$name result2.$$name ; \
-	      rm result.$$name result2.$$name ; \
-	  fi ; fi ; done)
-
-Threadtests : testThreads$(EXEEXT)
-	@echo "## Threaded regression tests"
-	-@($(CHECKER) $(top_builddir)/testThreads ; \
-	   grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-	   exit 0)
-
-Readertests : xmllint$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## Reader regression tests"
-	-@(for i in $(srcdir)/test/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --nonet --debug --stream $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done)
-	@echo "## Reader on memory regression tests"
-	-@(for i in $(srcdir)/test/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --memory --nonet --debug --stream $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --memory --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done)
-	@(echo > .memdump)
-	@echo "## Walker regression tests"
-	-@(for i in $(srcdir)/test/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --nonet --debug --walker $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --walker $$i > result.$$name 2>/dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-	      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 "## SAX1 callbacks regression tests"
-	-@(for i in $(srcdir)/test/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/$$name.sax ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testSAX $$i > $(srcdir)/result/$$name.sax 2> /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testSAX $$i > result.$$name 2> /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/$$name.sax result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done)
-	@echo "## SAX2 callbacks regression tests"
-	-@(for i in $(srcdir)/test/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/$$name.sax2 ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testSAX --sax2 $$i > $(srcdir)/result/$$name.sax2 2> /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testSAX --sax2 $$i > result.$$name 2> /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/$$name.sax2 result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done)
-	@echo "## SAX2 callbacks regression tests with entity substitution"
-	-@(for i in $(srcdir)/test/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/noent/$$name.sax2 ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testSAX --sax2 --noent $$i > $(srcdir)/result/noent/$$name.sax2 2> /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testSAX --sax2 --noent $$i > result.$$name 2> /dev/null ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/noent/$$name.sax2 result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done)
-
-Validtests : xmllint$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## Valid documents regression tests"
-	-@(for i in $(srcdir)/test/VCM/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --valid --noout --nowarning $$i ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`;\
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	  fi ; done ; exit 0)
-	@echo "## Validity checking regression tests"
-	-@(for i in $(srcdir)/test/VC/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/VC/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> $(srcdir)/result/VC/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/VC/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done)
-	@echo "## General documents valid regression tests"
-	-@(for i in $(srcdir)/test/valid/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/valid/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --valid $$i > $(srcdir)/result/valid/$$name 2>$(srcdir)/result/valid/$$name.err ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --valid $$i > result.$$name 2>error.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/valid/$$name result.$$name ; \
-	      diff $(srcdir)/result/valid/$$name.err error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name error.$$name ; \
-	  fi ; fi ; done)
-
-Regexptests: testRegexp$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## Regexp regression tests"
-	-@(for i in $(srcdir)/test/regexp/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/regexp/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testRegexp -i $$i > $(srcdir)/result/regexp/$$name 2> $(srcdir)/result/regexp/$$name.err ; \
-	      if [ ! -s "$(srcdir)/result/regexp/$$name.err" ] ; then rm $(srcdir)/result/regexp/$$name.err; fi ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testRegexp -i $$i > result.$$name 2> error.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/regexp/$$name result.$$name ; \
-	      if [ -s "$(srcdir)/result/regexp/$$name.err" -o -s "error.$$name" ] ; then diff $(srcdir)/result/regexp/$$name.err error.$$name ; fi` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-	      rm result.$$name error.$$name ; \
-	  fi ; fi ; done)
-
-# Disabled for now
-Exptests: testRegexp$(EXEEXT)
-	@echo "## Formal expressions regression tests"
-	-@(for i in $(srcdir)/test/expr/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/expr/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testRegexp --expr -i $$i > $(srcdir)/result/expr/$$name; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testRegexp --expr -i $$i 2>&1 > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/expr/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done)
-
-Automatatests: testAutomata$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## Automata regression tests"
-	-@(for i in $(srcdir)/test/automata/* ; do \
-	  name=`basename $$i`; \
-	  if [ ! -d $$i ] ; then \
-	  if [ ! -f $(srcdir)/result/automata/$$name ] ; then \
-	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testAutomata $$i > $(srcdir)/result/automata/$$name; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/testAutomata $$i 2>&1 > result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/automata/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done)
-
 dba100000.xml: dbgenattr.pl
 	@echo "## generating dba100000.xml"
 	@($(PERL) $(top_srcdir)/dbgenattr.pl 100000 > dba100000.xml)
@@ -989,138 +341,6 @@
 	   grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	   exit 0)
 
-C14Ntests : testC14N$(EXEEXT)
-	@echo "## C14N and XPath regression tests"
-	-@(for m in with-comments without-comments 1-1-without-comments exc-without-comments ; do \
-	    for i in $(srcdir)/test/c14n/$$m/*.xml ; do  \
-		if [ ! -d $$i ] ; then \
-		    name=`basename $$i .xml`; \
-		    cmdline="$(CHECKER) $(top_builddir)/testC14N --$$m $$i"; \
-		    if [ -f $(srcdir)/test/c14n/$$m/$$name.xpath ] ; then \
-			cmdline="$$cmdline $(srcdir)/test/c14n/$$m/$$name.xpath"; \
-			if [ -f $(srcdir)/test/c14n/$$m/$$name.ns ] ; then \
-			    cmdline="$$cmdline '`cat $(srcdir)/test/c14n/$$m/$$name.ns`'"; \
-			fi; \
-		    fi; \
-		    $$cmdline > $(srcdir)/test/c14n/test.tmp 2> /dev/null; \
-		    if [ $$? -eq 0 ]; then \
-			diff  $(srcdir)/result/c14n/$$m/$$name $(srcdir)/test/c14n/test.tmp; \
-			if [ $$? -ne 0 ]; then \
-			    echo "Test $$m/$$name failed"; \
-			    cat $(srcdir)/test/c14n/test.tmp; \
-			fi; \
-		    else \
-			echo "C14N failed"; \
-		    fi; \
-		    grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-		fi; \
-		rm -f $(srcdir)/test/c14n/test.tmp; \
-	    done; \
-	done)
-
-Schemastests: testSchemas$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## Schemas regression tests"
-	-@(for i in $(srcdir)/test/schemas/*_*.xsd ; do \
-	  name=`basename $$i | sed 's+_.*++'`; \
-	  sno=`basename $$i | sed 's+.*_\(.*\).xsd+\1+'`; \
-	  for j in $(srcdir)/test/schemas/"$$name"_*.xml ; do \
-	      if [ -f $$j ] ; then \
-	      xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
-	      if [ ! -f $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" ]; \
-	      then \
-		  echo New test file "$$name"_"$$sno"_"$$xno" ; \
-		  $(CHECKER) $(top_builddir)/testSchemas $$i $$j \
-		    > $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" \
-		    2> $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err; \
-	          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      else \
-	          log=`$(CHECKER) $(top_builddir)/testSchemas $$i $$j \
-		    > res.$$name 2> err.$$name;\
-	          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	          diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" \
-		       res.$$name;\
-	          diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err \
-		       err.$$name;\
-		  grep Unimplemented err.$$name`; \
-	          if [ -n "$$log" ] ; then echo "$$name"_"$$sno"_"$$xno" result ; echo "$$log" ; fi ; \
-	          rm res.$$name err.$$name ; \
-	       fi ; fi ;\
-	  done; done)
-
-Relaxtests: xmllint$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## Relax-NG regression tests"
-	-@(for i in $(srcdir)/test/relaxng/*.rng ; do \
-	  name=`basename $$i | sed 's+\.rng++'`; \
-	  if [ ! -f $(srcdir)/result/relaxng/"$$name"_valid ] ; then \
-	      echo New schemas $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $(srcdir)/test/relaxng/tutorA.rng $$i \
-		      > $(srcdir)/result/relaxng/"$$name"_valid \
-		      2> $(srcdir)/result/relaxng/"$$name"_err; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $(srcdir)/test/relaxng/tutorA.rng $$i \
-	      > res.$$name 2> err.$$name;\
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/relaxng/"$$name"_valid \
-		   res.$$name;\
-	      diff $(srcdir)/result/relaxng/"$$name"_err \
-		   err.$$name | grep -v "error detected at";\
-	      grep Unimplemented err.$$name`; \
-	      if [ -n "$$log" ] ; then echo schemas $$name result ; echo "$$log" ; fi ; \
-	      rm res.$$name err.$$name ; \
-	  fi; \
-	  for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \
-	      if [ -f $$j ] ; then \
-	      xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
-	      if [ ! -f $(srcdir)/result/relaxng/"$$name"_"$$xno" ]; \
-	      then \
-		  echo New test file "$$name"_"$$xno" ; \
-		  $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
-		    > $(srcdir)/result/relaxng/"$$name"_"$$xno" \
-		    2> $(srcdir)/result/relaxng/"$$name"_"$$xno".err; \
-	          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      else \
-	          log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
-		    > res.$$name 2> err.$$name;\
-	          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	          diff $(srcdir)/result/relaxng/"$$name"_"$$xno" \
-		       res.$$name;\
-	          diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
-		       err.$$name | grep -v "error detected at";\
-		  grep Unimplemented err.$$name`; \
-		  if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo "$$log" ; fi ; \
-	          rm res.$$name err.$$name ; \
-	       fi ; fi ; \
-	  done; done)
-	@echo "## Relax-NG streaming regression tests"
-	-@(for i in $(srcdir)/test/relaxng/*.rng ; do \
-	  name=`basename $$i | sed 's+\.rng++'`; \
-	  for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \
-	      if [ -f $$j ] ; then \
-	      xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
-	      if [ ! -f $(srcdir)/result/relaxng/"$$name"_"$$xno" ]; \
-	      then \
-		  echo New test file "$$name"_"$$xno" ; \
-		  $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
-		    > $(srcdir)/result/relaxng/"$$name"_"$$xno" \
-		    2> $(srcdir)/result/relaxng/"$$name"_"$$xno".err; \
-	          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      else \
-	          log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --stream --relaxng $$i $$j \
-		    > res.$$name 2> err.$$name;\
-	          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	          diff $(srcdir)/result/relaxng/"$$name"_"$$xno" res.$$name;\
-		  if [ "$$name" != "tutor10_1" -a "$$name" != "tutor10_2" -a "$$name" != "tutor3_2" -a "$$name" != "307377" -a "$$name" != "tutor8_2" ] ; then \
-		      diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
-			   err.$$name | grep -v "error detected at";\
-		  fi ; grep Unimplemented err.$$name`; \
-	          if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo "$$log" ; fi ; \
-	          rm res.$$name err.$$name ; \
-	       fi ; fi ; \
-	  done; done)
-
 Schematrontests: xmllint$(EXEEXT)
 	@(echo > .memdump)
 	@echo "## Schematron regression tests"
@@ -1174,90 +394,27 @@
 	  fi)
 	@(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" pytests ; fi)
 
-Patterntests: xmllint$(EXEEXT)
-	@(echo > .memdump)
-	@echo "## Pattern regression tests"
-	-@(for i in $(srcdir)/test/pattern/*.pat ; do \
-	  name=`basename $$i .pat`; \
-	  if [ -f $(srcdir)/test/pattern/$$name.xml ] ; then \
-	  if [ ! -f $(srcdir)/result/pattern/$$name ] ; then \
-	      rm -f result.$$name ; \
-	      echo New test file $$name ; \
-	      for pat in `cat $$i` ; do \
-	      $(CHECKER) $(top_builddir)/xmllint --walker --pattern $$pat $(srcdir)/test/pattern/$$name.xml >> $(srcdir)/result/pattern/$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      done ;\
-	  else \
-	      rm -f result.$$name ; \
-	      lst=`cat $$i` ; \
-	      log=`for pat in $$lst ; do $(CHECKER) $(top_builddir)/xmllint --walker --pattern $$pat $(srcdir)/test/pattern/$$name.xml 2>&1 >> result.$$name ; \
-	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      done ;\
-	      diff $(srcdir)/result/pattern/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
-	      rm result.$$name ; \
-	  fi ; fi ; done ;)
-
-ModuleTests: testModule$(EXEEXT) testdso.la
-	@echo "## Module tests"
-	@(./testModule$(EXEEXT))
-
 cleanup:
 	-@(find . -name .\#\* -exec rm {} \;)
 	-@(find . -name \*.gcda -o -name \*.gcno -exec rm -f {} \;)
 	-@(find . -name \*.orig -o -name \*.rej -o -name \*.old -exec rm -f {} \;)
 
-dist-hook: cleanup libxml2.spec
-	-cp libxml2.spec $(distdir)
-	(cd $(srcdir) ; tar -cf - --exclude .git win32 macos os400 vms VxWorks bakefile test result) | (cd $(distdir); tar xf -)
+dist-hook: cleanup
+	(cd $(srcdir) ; tar -cf - --exclude .git win32 os400 vms test result) | (cd $(distdir); tar xf -)
 
-dist-source: distdir
-	$(AMTAR) -chof - --exclude Tests --exclude test --exclude result $(distdir) | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-sources+"`.tar.gz
-
-dist-test: distdir
-	(mkdir -p $(distdir))
-	(cd $(srcdir) ; tar -cf - --exclude .git xstc/Tests) | (cd $(distdir); tar xf -)
-	tar -cf - $(distdir)/test $(distdir)/result $(distdir)/xstc/Tests  $(distdir)/Makefile.tests $(distdir)/README.md $(distdir)/README.tests $(distdir)/testapi.c $(distdir)/runtest.c $(distdir)/runsuite.c | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-tests+"`.tar.gz
-	@(rm -rf $(distdir)/xstc/Test)
-
-cleantar:
-	@(rm -f libxml*.tar.gz COPYING.LIB)
-
-rpm: cleanup cleantar
-	@(unset CDPATH ; $(MAKE) dist-source dist && rpmbuild -ta $(distdir).tar.gz)
-
-## We create xml2Conf.sh here and not from configure because we want
-## to get the paths expanded correctly.  Macros like srcdir are given
-## the value NONE in configure if the user doesn't specify them (this
-## is an autoconf feature, not a bug).
-
-xml2Conf.sh: xml2Conf.sh.in Makefile
-## Use sed and then mv to avoid problems if the user interrupts.
-	sed -e 's?\@XML_LIBDIR\@?$(XML_LIBDIR)?g' \
-	    -e 's?\@XML_INCLUDEDIR\@?$(XML_INCLUDEDIR)?g' \
-	    -e 's?\@VERSION\@?$(VERSION)?g' \
-	    -e 's?\@XML_LIBS\@?$(XML_LIBS)?g' \
-	    -e 's?\@XML_PRIVATE_LIBS\@?$(XML_PRIVATE_LIBS)?g' \
-	       < $(srcdir)/xml2Conf.sh.in > xml2Conf.tmp \
-	&& mv xml2Conf.tmp xml2Conf.sh
-
-CLEANFILES = runxmlconf.log test.out xml2Conf.sh *.gcda *.gcno *.res
+CLEANFILES = runsuite.log runxmlconf.log test.out *.gcda *.gcno *.res
 DISTCLEANFILES = COPYING missing.lst
 
-confexecdir=$(libdir)
-confexec_DATA = xml2Conf.sh
-EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \
-             libxml.m4 Copyright check-xml-test-suite.py gentest.py \
+EXTRA_DIST = Copyright check-xml-test-suite.py gentest.py \
 	     check-relaxng-test-suite.py check-relaxng-test-suite2.py \
 	     check-xsddata-test-suite.py check-xinclude-test-suite.py \
              example/Makefile.am example/gjobread.c example/gjobs.xml \
-	     $(man_MANS) libxml-2.0.pc.in libxml-2.0-uninstalled.pc.in \
 	     libxml2-config.cmake.in autogen.sh \
 	     trionan.c trionan.h triostr.c triostr.h trio.c trio.h \
-	     triop.h triodef.h libxml.h xzlib.h buf.h \
-	     enc.h save.h genUnicode.py TODO_SCHEMAS \
-	     dbgen.pl dbgenattr.pl regressions.py regressions.xml \
-	     README.tests Makefile.tests libxml2.syms timsort.h \
+	     triop.h triodef.h libxml.h \
+	     genUnicode.py \
+	     dbgen.pl dbgenattr.pl \
+	     libxml2.syms timsort.h \
 	     README.zOS README.md \
 	     CMakeLists.txt config.h.cmake.in libxml2-config.cmake.cmake.in
 
@@ -1271,27 +428,8 @@
 #
 # Install the tests program sources as examples 
 #
-EXAMPLES_DIR=$(docdir)/examples
-
-install-data-local: 
-	$(MKDIR_P) $(DESTDIR)$(docdir)
-	-$(INSTALL) -m 0644 $(srcdir)/Copyright $(DESTDIR)$(docdir)
-	$(MKDIR_P) $(DESTDIR)$(EXAMPLES_DIR)
-	-$(INSTALL) -m 0644 $(srcdir)/xmllint.c $(DESTDIR)$(EXAMPLES_DIR)
-	-$(INSTALL) -m 0644 $(srcdir)/testSAX.c $(DESTDIR)$(EXAMPLES_DIR)
-	-$(INSTALL) -m 0644 $(srcdir)/testHTML.c $(DESTDIR)$(EXAMPLES_DIR)
-	-$(INSTALL) -m 0644 $(srcdir)/testXPath.c $(DESTDIR)$(EXAMPLES_DIR)
-	@echo "If the documentation is installed, please also look at html/examples for more." > $(DESTDIR)$(EXAMPLES_DIR)/README
-
-uninstall-local:
-	rm -f $(DESTDIR)$(EXAMPLES_DIR)/README
-	rm -f $(DESTDIR)$(EXAMPLES_DIR)/testXPath.c
-	rm -f $(DESTDIR)$(EXAMPLES_DIR)/testHTML.c
-	rm -f $(DESTDIR)$(EXAMPLES_DIR)/testSAX.c
-	rm -f $(DESTDIR)$(EXAMPLES_DIR)/xmllint.c
-	rm -rf $(DESTDIR)$(EXAMPLES_DIR)
-	rm -f $(DESTDIR)$(docdir)/Copyright
-	rm -rf $(DESTDIR)$(docdir)
+examplesdir = $(docdir)/examples
+examples_DATA = xmllint.c
 
 tst: tst.c
 	$(CC) $(CFLAGS) -Iinclude -o tst tst.c .libs/libxml2.a -lpthread -lm -lz -llzma
@@ -1307,7 +445,7 @@
 GENHTML = /usr/bin/genhtml
 
 cov: clean-cov
-	if [ "`echo $(LDFLAGS) | grep coverage`" = "" ] ; then \
+	if [ "`echo $(AM_LDFLAGS) | grep coverage`" = "" ] ; then \
 	    echo not configured with coverage; exit 1 ; fi
 	if [ ! -x $(LCOV) -o ! -x $(GENHTML) ] ; then \
 	    echo Need $(LCOV) and $(GENHTML) excecutables; exit 1 ; fi
diff --git a/Makefile.tests b/Makefile.tests
deleted file mode 100644
index 9f08dcf..0000000
--- a/Makefile.tests
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# You may have to adjust to call the right compiler, or other options
-# for compiling and linking
-#
-
-CFLAGS=`xml2-config --cflags`
-LIBS=`xml2-config --libs`
-THREADLIB= -lpthread
-EXEEXT=
-
-all: runtest$(EXEEXT) runsuite$(EXEEXT) testapi$(EXEEXT) testchar$(EXEEXT)
-
-clean:
-	$(RM) runtest$(EXEEXT) runsuite$(EXEEXT) testapi$(EXEEXT)
-
-check: do_runtest do_testchar do_testapi do_runsuite
-
-runtest$(EXEEXT): runtest.c
-	$(CC) -o runtest$(EXEEXT) $(CFLAGS) runtest.c $(LIBS) $(THREADLIB)
-
-do_runtest: runtest$(EXEEXT)
-	./runtest
-
-runsuite$(EXEEXT): runsuite.c
-	$(CC) -o runsuite$(EXEEXT) $(CFLAGS) runsuite.c $(LIBS)
-
-do_runsuite: runsuite$(EXEEXT)
-	./runsuite
-
-testapi$(EXEEXT): testapi.c
-	$(CC) -o testapi$(EXEEXT) $(CFLAGS) testapi.c $(LIBS)
-
-do_testapi: testapi$(EXEEXT)
-	./testapi
-
-testchar$(EXEEXT): testchar.c
-	$(CC) -o testchar$(EXEEXT) $(CFLAGS) testchar.c $(LIBS)
-
-do_testchar: testchar$(EXEEXT)
-	./testchar
-
diff --git a/NEWS b/NEWS
index 2ccdc10..3e6bbe6 100644
--- a/NEWS
+++ b/NEWS
@@ -1,12 +1,263 @@
+NEWS file for libxml2
 
-        NEWS file for libxml2
+v2.10.0: Aug 17 2022
 
-The change log at 
-ChangeLog.html
- describes the recents commits
-to the GIT at 
-https://gitlab.gnome.org/GNOME/libxml2
- code base.Here is the list of public releases:
+### Breaking changes
+
+The Docbook parser module and all related symbols habe been removed completely.
+This was experimental code which never worked and generated a deprecation
+warning for 15+ years. The library's soname wasn't changed in order to allow
+seamless upgrades to later versions. If this concerns you, consider bumping
+soname yourself.
+
+Some other modules are now disabled by default and will eventually be removed
+completely:
+
+- Support for XPointer locations (ranges and points): This was based on
+  a W3C specification which never got beyond Working Draft status. To my
+  knowledge, there's no software supporting this spec which is still
+  maintained. You now have to enable this code by passing the
+  `--with-xptr-locs` configuration option. Be warned that this part of
+  the code base is buggy and had many security issues in the past.
+
+- Support for the built-in FTP client (`--with-ftp`).
+
+- Support for "legacy" functions (`--with-legacy`).
+
+If you're concerned about ABI stability and haven't disabled these modules
+already, add the following configuration options or bump soname yourself:
+
+    --with-ftp
+    --with-legacy
+    --with-xptr-locs
+
+Several functions of the public API were deprecated. Most of them should be
+completely unused and will generate a deprecation warning now.
+
+The autoconf build now uses the sysconfdir variable for the location of
+the default catalog file. The path changed from hardcoded /etc/xml/catalog
+to ${sysconfdir}/xml/catalog. The sysconfdir variable defaults to
+${prefix}/etc, prefix defaults to /usr/local, so without other options
+the path becomes /usr/local/etc/xml/catalog. If you want the old behavior,
+configure with
+
+    --sysconfdir=/etc
+
+### Security
+
+- [CVE-2022-2309] Reset nsNr in xmlCtxtReset
+- Reserve byte for NUL terminator and report errors consistently in xmlBuf and
+  xmlBuffer (David Kilzer)
+- Fix missing NUL terminators in xmlBuf and xmlBuffer functions (David Kilzer)
+- Fix integer overflow in xmlBufferDump() (David Kilzer)
+- xmlBufAvail() should return length without including a byte for NUL
+  terminator (David Kilzer)
+- Fix ownership of xmlNodePtr & xmlAttrPtr fields in xmlSetTreeDoc() (David
+  Kilzer)
+- Use xmlNewDocText in xmlXIncludeCopyRange
+- Fix use-after-free bugs when calling xmlTextReaderClose() before
+  xmlFreeTextReader() on post-validating parser (David Kilzer)
+- Use UPDATE_COMPAT() consistently in buf.c (David Kilzer)
+- fix: xmlXPathParserContext could be double-delete in  OOM case. (jinsub ahn)
+
+### Removals and deprecations
+
+- Disable XPointer location support by default
+- Remove outdated xml2Conf.sh
+- Deprecate module init and cleanup functions
+- Remove obsolete XML Software Autoupdate (XSA) file
+- Remove DOCBparser
+- Remove obsolete Python test framework
+- Remove broken VxWorks support
+- Remove broken Mac OS 9 support
+- Remove broken bakefile support
+- Remove broken Visual Studio 2010 support
+- Remove broken Windows CE support
+- Deprecate IDREF-related functions in valid.h
+- Deprecate legacy functions
+- Disable legacy support by default
+- Deprecate all functions in nanoftp.h
+- Disable FTP support by default
+- Add XML_DEPRECATED macro
+- Remove elfgcchack.h
+
+### Regressions
+
+- Skip incorrectly opened HTML comments
+- Restore behavior of htmlDocContentDumpFormatOutput() (David Kilzer)
+
+### Bug fixes
+
+- Fix memory leak with invalid XSD
+- Make XPath depth check work with recursive invocations
+- Fix memory leak in xmlLoadEntityContent error path
+- Avoid double-free if malloc fails in inputPush
+- Properly fold whitespace around the QName value when validating an XSD
+  schema. (Damjan Jovanovic)
+- Add whitespace folding for some atomic data types that it's missing on.
+  (Damjan Jovanovic)
+- Don't add IDs containing unexpanded entity references
+
+### Improvements
+
+- Avoid calling xmlSetTreeDoc
+- Simplify xmlFreeNode
+- Don't reset nsDef when changing node content
+- Fix unintended fall-through in xmlNodeAddContentLen
+- Remove unused xmlBuf functions (David Kilzer)
+- Implement xpath1() XPointer scheme
+- Add configuration flag for XPointer locations support
+- Fix compiler warnings in Python code
+- Mark more static data as `const` (David Kilzer)
+- Make xmlStaticCopyNode non-recursive
+- Clean up encoding switching code
+- Simplify recursive pthread mutex
+- Use non-recursive mutex in dict.c
+- Fix parser progress checks
+- Avoid arithmetic on freed pointers
+- Improve buffer allocation scheme
+- Remove unneeded #includes
+- Add support for some non-standard escapes in regular expressions. (Damjan
+  Jovanovic)
+- htmlParseComment: handle abruptly-closed comments (Mike Dalessio)
+- Add let variable tag support (Oliver Diehl)
+- Add value-of tag support (Oliver Diehl)
+- Remove useless call to xmlRelaxNGCleanupTypes
+- Don't include ICU headers in public headers
+- Update `xmlStrlen()` to use POSIX / ISO C `strlen()` (Mike Dalessio)
+- Fix unused variable warnings with disabled features
+- Only warn on invalid redeclarations of predefined entities
+- Remove unneeded code in xmlreader.c
+- Rework validation context flags
+
+### Portability
+
+- Use NAN/INFINITY if available to init XPath NaN/Inf (Sergey Kosukhin)
+- Fix Python tests on macOS
+- Fix xmlCleanupThreads on Windows
+- Fix reinitialization of library on Windows
+- Don't mix declarations and code in runtest.c
+- Use portable python shebangs (David Seifert)
+- Use critical sections as mutex on Windows
+- Don't set HAVE_WIN32_THREADS in win32config.h
+- Use stdint.h with newer MSVC
+- Remove cruft from win32config.h
+- Remove isinf/isnan emulation in win32config.h
+- Always fopen files with "rb"
+- Remove __DJGPP__ checks
+- Remove useless __CYGWIN__ checks
+
+### Build system
+
+- Don't autogenerate doc/examples/Makefile.am
+- cmake: Install libxml.m4 on UNIX-like platforms (Daniel E)
+- cmake: Use symbol versioning on UNIX-like platforms (Daniel E)
+- Port genUnicode.py to Python 3
+- Port gentest.py to Python 3
+- cmake: Fix build without thread support
+- cmake: Install documentation in CMAKE_INSTALL_DOCDIR
+- cmake: Remove non needed files in docs dir (Daniel E)
+- configure: move XML_PRIVATE_LIBS after WIN32_EXTRA_LIBADD is set
+  (Christopher Degawa)
+- Move local Autoconf macros into m4 directory
+- Use XML_PRIVATE_LIBS in libxml2_la_LIBADD
+- Update libxml-2.0-uninstalled.pc.in
+- Remove LIBS from XML_PRIVATE_LIBS
+- Add WIN32_EXTRA_LIBADD to XML_PRIVATE_LIBS
+- Don't overlink executables
+- cmake: Adjust paths for UNIX or UNIX-like target systems (Daniel Engberg)
+- build: Make use of variables in libxml's pkg-config file (Daniel Engberg)
+- Avoid obsolescent `test -a` constructs (David Seifert)
+- Move AM_MAINTAINER_MODE to AM section
+- configure.ac: make AM_SILENT_RULES([yes]) unconditional (David Seifert)
+- Streamline documentation installation
+- Don't try to recreate COPYING symlink
+- Detect libm using libtool's macros (David Seifert)
+- configure.ac: disable static libraries by default (David Seifert)
+- python/Makefile.am: nest python docs in $(docdir) (David Seifert)
+- python/Makefile.am: rely on global AM_INIT_AUTOMAKE (David Seifert)
+- Makefile.am: install examples more idiomatically (David Seifert)
+- configure.ac: remove useless AC_SUBST (David Seifert)
+- Respect `--sysconfdir` in source files (David Seifert)
+- Ignore configure backup file created by recent autoreconf too (Vadim Zeitlin)
+- Only install *.html and *.c example files
+- Remove --with-html-dir option
+- Rework documentation build system
+- Remove old website
+- Use AM_PATH_PYTHON/PKG_CHECK_MODULES for python bindings (David Seifert)
+- Update genChRanges.py
+- Update build_glob.py
+- Remove ICONV_CONST test
+- Remove obsolete AC_HEADER checks
+- Don't check for standard C89 library functions
+- Don't check for standard C89 headers
+- Remove special configuration for certain maintainers
+
+### Test suite, CI
+
+- Disable network in API tests
+- testapi: remove leading slash from "/missing.xml" (Mike Gilbert)
+- Build Autotools CI tests out of source tree (VPATH)
+- Add --with-minimum build to CI tests
+- Fix warnings when testing --with-minimum build
+- cmake: Run all tests when threads are disabled
+- Also build CI tests with -Werror
+- Move doc/examples tests to new test suite
+- Simplify 'make check' targets
+- Fix schemas and relaxng tests
+- Remove unused result files
+- Allow missing result files in runtest
+- Move regexp tests to runtest
+- Move SVG tests to runtest.c
+- Move testModule to new test suite
+- Move testThreads to new test suite
+- Remove major parts of old test suite
+- Make testchar return an error on failure (Tony Tascioglu)
+- Add CI job for static build
+- python/tests: open() relative to test scripts (David Seifert)
+- Port some test scripts to Python 3
+
+### Documentation
+
+- Improve documentation of tree manipulation API
+- Update xml2-config man page
+- Consolidate man pages
+- Rename xmlcatalog_man.xml
+- Make examples a standalone HTML page
+- Fix documentation in entities.c
+- Add note about optimization flags
+
+
+v2.9.14: May 02 2022:
+   - Security:
+  [CVE-2022-29824] Integer overflow in xmlBuf and xmlBuffer
+  Fix potential double-free in xmlXPtrStringRangeFunction
+  Fix memory leak in xmlFindCharEncodingHandler
+  Normalize XPath strings in-place
+  Prevent integer-overflow in htmlSkipBlankChars() and xmlSkipBlankChars()
+    (David Kilzer)
+  Fix leak of xmlElementContent (David Kilzer)
+
+   - Bug fixes:
+  Fix parsing of subtracted regex character classes
+  Fix recursion check in xinclude.c
+  Reset last error in xmlCleanupGlobals
+  Fix certain combinations of regex range quantifiers
+  Fix range quantifier on subregex
+
+   - Improvements:
+  Fix recovery from invalid HTML start tags
+
+   - Build system, portability:
+  Define LFS macros before including system headers
+  Initialize XPath floating-point globals
+  configure: check for icu DEFS (James Hilliard)
+  configure.ac: produce tar.xz only (GNOME policy) (David Seifert)
+  CMakeLists.txt: Fix LIBXML_VERSION_NUMBER
+  Fix build with older Python versions
+  Fix --without-valid build
+
+
 v2.9.13: Feb 19 2022:
    - Security:
   [CVE-2022-23308] Use-after-free of ID and IDREF attributes
diff --git a/README.md b/README.md
index ad423e6..f8c6aac 100644
--- a/README.md
+++ b/README.md
@@ -3,15 +3,17 @@
 libxml2 is an XML toolkit implemented in C, originally developed for
 the GNOME Project.
 
-Full documentation is available at
-<https://gitlab.gnome.org/GNOME/libxml2/-/wikis>.
+Official releases can be downloaded from
+<https://download.gnome.org/sources/libxml2/>
+
+The git repository is hosted on GNOME's GitLab server:
+<https://gitlab.gnome.org/GNOME/libxml2>
 
 Bugs should be reported at
-<https://gitlab.gnome.org/GNOME/libxml2/-/issues>.
+<https://gitlab.gnome.org/GNOME/libxml2/-/issues>
 
-A mailing list xml@gnome.org is available. You can subscribe at
-<https://mail.gnome.org/mailman/listinfo/xml>. The list archive is at
-<https://mail.gnome.org/archives/xml/>.
+Documentation is available at
+<https://gitlab.gnome.org/GNOME/libxml2/-/wikis>
 
 ## License
 
diff --git a/README.tests b/README.tests
deleted file mode 100644
index 8d86f2a..0000000
--- a/README.tests
+++ /dev/null
@@ -1,39 +0,0 @@
-                       README.tests
-
-   Instructions for standalone test regressions of libxml2
-
-libxml2-tests-$version.tar.gz contains 3 standalone C programs as well
-as a large amount of tests and results coming from libxml2 itself and
-from W3C, NIST, Sun Microsystems, Microsoft and James Clark. Each C
-program has a different testing purpose:
-
-  runtest.c : runs libxml2 basic internal regression tests
-  runsuite.c: runs libxml2 against external regression tests
-  testapi.c : exercises the library public entry points
-  testchar.c: exercise the check of character ranges and UTF-8 validation
-
-The command:
-
-  make check
-or
-  make -f Makefile.tests check
-
-should be sufficient on an Unix system to build and exercise the tests
-for the version of the library installed on the system. Note however
-that there isn't backward compatibility provided so if the installed
-version is older than the testsuite one, failing to compile or run the tests
-is likely. In any event this won't work with an installed libxml2 older
-than 2.6.20.
-
-Building on other platforms should be a matter of compiling the C files
-like any other program using libxml2, running the test should be done
-simply by launching the resulting executables.
-
-Also note the availability of a "make valgrind" target which will run the
-above tests under valgrind to check for memory errors (but this relies
-on the availability of the valgrind command and take far more time to
-complete).
-
-Daniel Veillard
-Mon May  7 2012
-
diff --git a/SAX.c b/SAX.c
index 4df25f9..d8e972b 100644
--- a/SAX.c
+++ b/SAX.c
@@ -126,53 +126,6 @@
 
 #endif /* LIBXML_HTML_ENABLED */
 
-#ifdef LIBXML_DOCB_ENABLED
-/**
- * initdocbDefaultSAXHandler:
- * @hdlr:  the SAX handler
- *
- * Initialize the default DocBook SAX version 1 handler
- * DEPRECATED: use xmlSAX2InitDocbDefaultSAXHandler() for the new SAX2 blocks
- */
-void
-initdocbDefaultSAXHandler(xmlSAXHandlerV1 *hdlr)
-{
-    if(hdlr->initialized == 1)
-	return;
-
-    hdlr->internalSubset = xmlSAX2InternalSubset;
-    hdlr->externalSubset = NULL;
-    hdlr->isStandalone = xmlSAX2IsStandalone;
-    hdlr->hasInternalSubset = xmlSAX2HasInternalSubset;
-    hdlr->hasExternalSubset = xmlSAX2HasExternalSubset;
-    hdlr->resolveEntity = xmlSAX2ResolveEntity;
-    hdlr->getEntity = xmlSAX2GetEntity;
-    hdlr->getParameterEntity = NULL;
-    hdlr->entityDecl = xmlSAX2EntityDecl;
-    hdlr->attributeDecl = NULL;
-    hdlr->elementDecl = NULL;
-    hdlr->notationDecl = NULL;
-    hdlr->unparsedEntityDecl = NULL;
-    hdlr->setDocumentLocator = xmlSAX2SetDocumentLocator;
-    hdlr->startDocument = xmlSAX2StartDocument;
-    hdlr->endDocument = xmlSAX2EndDocument;
-    hdlr->startElement = xmlSAX2StartElement;
-    hdlr->endElement = xmlSAX2EndElement;
-    hdlr->reference = xmlSAX2Reference;
-    hdlr->characters = xmlSAX2Characters;
-    hdlr->cdataBlock = NULL;
-    hdlr->ignorableWhitespace = xmlSAX2IgnorableWhitespace;
-    hdlr->processingInstruction = NULL;
-    hdlr->comment = xmlSAX2Comment;
-    hdlr->warning = xmlParserWarning;
-    hdlr->error = xmlParserError;
-    hdlr->fatalError = xmlParserError;
-
-    hdlr->initialized = 1;
-}
-
-#endif /* LIBXML_DOCB_ENABLED */
-
 #endif /* LIBXML_SAX1_ENABLED */
 
 #endif /* LIBXML_LEGACY_ENABLED */
diff --git a/SAX2.c b/SAX2.c
index 9a093bc..b3dd89b 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -28,10 +28,9 @@
 #include <libxml/HTMLtree.h>
 #include <libxml/globals.h>
 
-/* Define SIZE_T_MAX unless defined through <limits.h>. */
-#ifndef SIZE_T_MAX
-# define SIZE_T_MAX     ((size_t)-1)
-#endif /* !SIZE_T_MAX */
+#include "private/error.h"
+#include "private/parser.h"
+#include "private/tree.h"
 
 /* #define DEBUG_SAX2 */
 /* #define DEBUG_SAX2_TREE */
@@ -388,6 +387,9 @@
 	xmlCharEncoding enc;
 	int oldcharset;
 	const xmlChar *oldencoding;
+	int oldprogressive;
+        unsigned long consumed;
+        size_t buffered;
 
 	/*
 	 * Ask the Entity resolver to load the damn thing
@@ -410,18 +412,22 @@
 	oldinputTab = ctxt->inputTab;
 	oldcharset = ctxt->charset;
 	oldencoding = ctxt->encoding;
+        oldprogressive = ctxt->progressive;
 	ctxt->encoding = NULL;
+        ctxt->progressive = 0;
 
 	ctxt->inputTab = (xmlParserInputPtr *)
 	                 xmlMalloc(5 * sizeof(xmlParserInputPtr));
 	if (ctxt->inputTab == NULL) {
 	    xmlSAX2ErrMemory(ctxt, "xmlSAX2ExternalSubset");
+            xmlFreeInputStream(input);
 	    ctxt->input = oldinput;
 	    ctxt->inputNr = oldinputNr;
 	    ctxt->inputMax = oldinputMax;
 	    ctxt->inputTab = oldinputTab;
 	    ctxt->charset = oldcharset;
 	    ctxt->encoding = oldencoding;
+            ctxt->progressive = oldprogressive;
 	    return;
 	}
 	ctxt->inputNr = 0;
@@ -456,6 +462,18 @@
 
 	while (ctxt->inputNr > 1)
 	    xmlPopInput(ctxt);
+
+        consumed = ctxt->input->consumed;
+        buffered = ctxt->input->cur - ctxt->input->base;
+        if (buffered > ULONG_MAX - consumed)
+            consumed = ULONG_MAX;
+        else
+            consumed += buffered;
+        if (consumed > ULONG_MAX - ctxt->sizeentities)
+            ctxt->sizeentities = ULONG_MAX;
+        else
+            ctxt->sizeentities += consumed;
+
 	xmlFreeInputStream(ctxt->input);
         xmlFree(ctxt->inputTab);
 
@@ -472,6 +490,7 @@
 	     (!xmlDictOwns(ctxt->dict, ctxt->encoding))))
 	    xmlFree((xmlChar *) ctxt->encoding);
 	ctxt->encoding = oldencoding;
+        ctxt->progressive = oldprogressive;
 	/* ctxt->wellFormed = oldwellFormed; */
     }
 }
@@ -1034,7 +1053,7 @@
     }
 }
 
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
 /**
  * xmlNsErrMsg:
  * @ctxt:  an XML parser context
@@ -1316,25 +1335,25 @@
 
     /* !!!!!! <a toto:arg="" xmlns:toto="http://toto.com"> */
     ret = xmlNewNsPropEatName(ctxt->node, namespace, name, NULL);
+    if (ret == NULL)
+        goto error;
 
-    if (ret != NULL) {
-        if ((ctxt->replaceEntities == 0) && (!ctxt->html)) {
-	    xmlNodePtr tmp;
+    if ((ctxt->replaceEntities == 0) && (!ctxt->html)) {
+        xmlNodePtr tmp;
 
-	    ret->children = xmlStringGetNodeList(ctxt->myDoc, value);
-	    tmp = ret->children;
-	    while (tmp != NULL) {
-		tmp->parent = (xmlNodePtr) ret;
-		if (tmp->next == NULL)
-		    ret->last = tmp;
-		tmp = tmp->next;
-	    }
-	} else if (value != NULL) {
-	    ret->children = xmlNewDocText(ctxt->myDoc, value);
-	    ret->last = ret->children;
-	    if (ret->children != NULL)
-		ret->children->parent = (xmlNodePtr) ret;
-	}
+        ret->children = xmlStringGetNodeList(ctxt->myDoc, value);
+        tmp = ret->children;
+        while (tmp != NULL) {
+            tmp->parent = (xmlNodePtr) ret;
+            if (tmp->next == NULL)
+                ret->last = tmp;
+            tmp = tmp->next;
+        }
+    } else if (value != NULL) {
+        ret->children = xmlNewDocText(ctxt->myDoc, value);
+        ret->last = ret->children;
+        if (ret->children != NULL)
+            ret->children->parent = (xmlNodePtr) ret;
     }
 
 #ifdef LIBXML_VALID_ENABLED
@@ -1643,8 +1662,8 @@
     ctxt->nodemem = -1;
     if (ctxt->linenumbers) {
 	if (ctxt->input != NULL) {
-	    if (ctxt->input->line < USHRT_MAX)
-		ret->line = (unsigned short) ctxt->input->line;
+	    if ((unsigned) ctxt->input->line < (unsigned) USHRT_MAX)
+		ret->line = ctxt->input->line;
 	    else
 	        ret->line = USHRT_MAX;
 	}
@@ -1908,8 +1927,8 @@
 
     if (ctxt->linenumbers) {
 	if (ctxt->input != NULL) {
-	    if (ctxt->input->line < USHRT_MAX)
-		ret->line = (unsigned short) ctxt->input->line;
+	    if ((unsigned) ctxt->input->line < (unsigned) USHRT_MAX)
+		ret->line = ctxt->input->line;
 	    else {
 	        ret->line = USHRT_MAX;
 		if (ctxt->options & XML_PARSE_BIG_LINES)
@@ -2159,7 +2178,7 @@
 	     *
 	     * Open issue: normalization of the value.
 	     */
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
 #ifdef LIBXML_VALID_ENABLED
 	    if (xmlValidateNCName(content, 1) != 0) {
 	        xmlErrValid(ctxt, XML_DTD_XMLID_VALUE,
@@ -2265,6 +2284,7 @@
 	        ret->name = lname;
 	    if (ret->name == NULL) {
 	        xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElementNs");
+                xmlFree(ret);
 		return;
 	    }
 	}
@@ -2286,8 +2306,8 @@
     }
     if (ctxt->linenumbers) {
 	if (ctxt->input != NULL) {
-	    if (ctxt->input->line < USHRT_MAX)
-		ret->line = (unsigned short) ctxt->input->line;
+	    if ((unsigned) ctxt->input->line < (unsigned) USHRT_MAX)
+		ret->line = ctxt->input->line;
 	    else
 	        ret->line = USHRT_MAX;
 	}
@@ -2596,22 +2616,23 @@
 		xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters: xmlStrdup returned NULL");
 		return;
  	    }
-            if (((size_t)ctxt->nodelen + (size_t)len > XML_MAX_TEXT_LENGTH) &&
+	    if (ctxt->nodelen > INT_MAX - len) {
+                xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters overflow prevented");
+                return;
+	    }
+            if ((ctxt->nodelen + len > XML_MAX_TEXT_LENGTH) &&
                 ((ctxt->options & XML_PARSE_HUGE) == 0)) {
                 xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters: huge text node");
                 return;
             }
-	    if ((size_t)ctxt->nodelen > SIZE_T_MAX - (size_t)len ||
-	        (size_t)ctxt->nodemem + (size_t)len > SIZE_T_MAX / 2) {
-                xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters overflow prevented");
-                return;
-	    }
 	    if (ctxt->nodelen + len >= ctxt->nodemem) {
 		xmlChar *newbuf;
-		size_t size;
+		int size;
 
-		size = ctxt->nodemem + len;
-		size *= 2;
+		size = ctxt->nodemem > INT_MAX - len ?
+                       INT_MAX :
+                       ctxt->nodemem + len;
+		size = size > INT_MAX / 2 ? INT_MAX : size * 2;
                 newbuf = (xmlChar *) xmlRealloc(lastChild->content,size);
 		if (newbuf == NULL) {
 		    xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters");
@@ -2633,9 +2654,11 @@
 	    }
 	} else {
 	    /* Mixed content, first time */
-            if (type == XML_TEXT_NODE)
+            if (type == XML_TEXT_NODE) {
                 lastChild = xmlSAX2TextNode(ctxt, ch, len);
-            else
+                if (lastChild != NULL)
+                    lastChild->doc = ctxt->myDoc;
+            } else
                 lastChild = xmlNewCDataBlock(ctxt->myDoc, ch, len);
 	    if (lastChild != NULL) {
 		xmlAddChild(ctxt->node, lastChild);
@@ -2709,8 +2732,8 @@
 
     if (ctxt->linenumbers) {
 	if (ctxt->input != NULL) {
-	    if (ctxt->input->line < USHRT_MAX)
-		ret->line = (unsigned short) ctxt->input->line;
+	    if ((unsigned) ctxt->input->line < (unsigned) USHRT_MAX)
+		ret->line = ctxt->input->line;
 	    else
 	        ret->line = USHRT_MAX;
 	}
@@ -2769,8 +2792,8 @@
     if (ret == NULL) return;
     if (ctxt->linenumbers) {
 	if (ctxt->input != NULL) {
-	    if (ctxt->input->line < USHRT_MAX)
-		ret->line = (unsigned short) ctxt->input->line;
+	    if ((unsigned) ctxt->input->line < (unsigned) USHRT_MAX)
+		ret->line = ctxt->input->line;
 	    else
 	        ret->line = USHRT_MAX;
 	}
@@ -2828,6 +2851,8 @@
  * xmlSAXDefaultVersion:
  * @version:  the version, 1 or 2
  *
+ * DEPRECATED: Use parser option XML_PARSE_SAX1.
+ *
  * 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
@@ -2928,14 +2953,14 @@
 /**
  * xmlDefaultSAXHandlerInit:
  *
+ * DEPRECATED: This function is a no-op. Call xmlInitParser to
+ * initialize the library.
+ *
  * Initialize the default SAX2 handler
  */
 void
 xmlDefaultSAXHandlerInit(void)
 {
-#ifdef LIBXML_SAX1_ENABLED
-    xmlSAXVersion((xmlSAXHandlerPtr) &xmlDefaultSAXHandler, 1);
-#endif /* LIBXML_SAX1_ENABLED */
 }
 
 #ifdef LIBXML_HTML_ENABLED
@@ -2986,70 +3011,12 @@
 /**
  * htmlDefaultSAXHandlerInit:
  *
- * Initialize the default SAX handler
+ * DEPRECATED: This function is a no-op. Call xmlInitParser to
+ * initialize the library.
  */
 void
 htmlDefaultSAXHandlerInit(void)
 {
-    xmlSAX2InitHtmlDefaultSAXHandler((xmlSAXHandlerPtr) &htmlDefaultSAXHandler);
 }
 
 #endif /* LIBXML_HTML_ENABLED */
-
-#ifdef LIBXML_DOCB_ENABLED
-
-/**
- * xmlSAX2InitDocbDefaultSAXHandler:
- * @hdlr:  the SAX handler
- *
- * Initialize the default DocBook SAX2 handler
- */
-void
-xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr)
-{
-    if ((hdlr == NULL) || (hdlr->initialized != 0))
-	return;
-
-    hdlr->internalSubset = xmlSAX2InternalSubset;
-    hdlr->externalSubset = NULL;
-    hdlr->isStandalone = xmlSAX2IsStandalone;
-    hdlr->hasInternalSubset = xmlSAX2HasInternalSubset;
-    hdlr->hasExternalSubset = xmlSAX2HasExternalSubset;
-    hdlr->resolveEntity = xmlSAX2ResolveEntity;
-    hdlr->getEntity = xmlSAX2GetEntity;
-    hdlr->getParameterEntity = NULL;
-    hdlr->entityDecl = xmlSAX2EntityDecl;
-    hdlr->attributeDecl = NULL;
-    hdlr->elementDecl = NULL;
-    hdlr->notationDecl = NULL;
-    hdlr->unparsedEntityDecl = NULL;
-    hdlr->setDocumentLocator = xmlSAX2SetDocumentLocator;
-    hdlr->startDocument = xmlSAX2StartDocument;
-    hdlr->endDocument = xmlSAX2EndDocument;
-    hdlr->startElement = xmlSAX2StartElement;
-    hdlr->endElement = xmlSAX2EndElement;
-    hdlr->reference = xmlSAX2Reference;
-    hdlr->characters = xmlSAX2Characters;
-    hdlr->cdataBlock = NULL;
-    hdlr->ignorableWhitespace = xmlSAX2IgnorableWhitespace;
-    hdlr->processingInstruction = NULL;
-    hdlr->comment = xmlSAX2Comment;
-    hdlr->warning = xmlParserWarning;
-    hdlr->error = xmlParserError;
-    hdlr->fatalError = xmlParserError;
-
-    hdlr->initialized = 1;
-}
-
-/**
- * docbDefaultSAXHandlerInit:
- *
- * Initialize the default SAX handler
- */
-void
-docbDefaultSAXHandlerInit(void)
-{
-    xmlSAX2InitDocbDefaultSAXHandler((xmlSAXHandlerPtr) &docbDefaultSAXHandler);
-}
-
-#endif /* LIBXML_DOCB_ENABLED */
diff --git a/TODO b/TODO
deleted file mode 100644
index 95e1c34..0000000
--- a/TODO
+++ /dev/null
@@ -1,276 +0,0 @@
-124907 HTML parse buffer problem when parsing larse in-memory docs
-124110 DTD validation && wrong namespace
-123564 xmllint --html --format
-
-           TODO for the XML parser and stuff:
-	   ==================================
-
-    this tend to be outdated :-\ ...
-
-DOCS:
-=====
-
-- use case of using XInclude to load for example a description.
-  order document + product base -(XSLT)-> quote with XIncludes 
-                                                   |
-  HTML output with description of parts <---(XSLT)--
-
-TODO:
-=====
-- XInclude at the SAX level (libSRVG)
-- fix the C code prototype to bring back doc/libxml-undocumented.txt
-  to a reasonable level
-- Computation of base when HTTP redirect occurs, might affect HTTP
-  interfaces.
-- Computation of base in XInclude. Relativization of URIs.
-- listing all attributes in a node.
-- Better checking of external parsed entities TAG 1234
-- Go through erratas and do the cleanup.
-  http://www.w3.org/XML/xml-19980210-errata ... started ...
-- jamesh suggestion: SAX like functions to save a document ie. call a
-  function to open a new element with given attributes, write character
-  data, close last element, etc
-  + inversted SAX, initial patch in April 2002 archives.
-- htmlParseDoc has parameter encoding which is not used.
-  Function htmlCreateDocParserCtxt ignore it.
-- fix realloc() usage.
-- Stricten the UTF8 conformance (Martin Duerst):
-  http://www.w3.org/2001/06/utf-8-test/.
-  The bad files are in http://www.w3.org/2001/06/utf-8-wrong/.
-- xml:id normalized value
-
-TODO:
-=====
-
-- move all string manipulation functions (xmlStrdup, xmlStrlen, etc.) to
-  global.c. Bjorn noted that the following files depends on parser.o solely
-  because of these string functions: entities.o, global.o, hash.o, tree.o,
-  xmlIO.o, and xpath.o.
-
-- Optimization of tag strings allocation ?
-
-- maintain coherency of namespace when doing cut'n paste operations
-  => the functions are coded, but need testing
-
-- function to rebuild the ID table
-- functions to rebuild the DTD hash tables (after DTD changes).
-   
-
-EXTENSIONS:
-===========
-
-- Tools to produce man pages from the SGML docs.
-
-- Add Xpointer recognition/API
-
-- Add Xlink recognition/API
-  => started adding an xlink.[ch] with a unified API for XML and HTML.
-     it's crap :-(
-
-- Implement XSchemas
-  => Really need to be done <grin/>
-  - datatype are complete, but structure support is very limited.
-
-- extend the shell with:
-   - edit
-   - load/save
-   - mv (yum, yum, but it's harder because directories are ordered in
-     our case, mvup and mvdown would be required)
-
-
-Done:
-=====
-
-- Add HTML validation using the XHTML DTD
-  - problem: do we want to keep and maintain the code for handling
-    DTD/System ID cache directly in libxml ?
-  => not really done that way, but there are new APIs to check elements
-     or attributes. Otherwise XHTML validation directly ...
-
-- XML Schemas datatypes except Base64 and BinHex
-
-- Relax NG validation
-
-- XmlTextReader streaming API + validation
-
-- Add a DTD cache prefilled with xhtml DTDs and entities and a program to
-  manage them -> like the /usr/bin/install-catalog from SGML
-  right place seems $datadir/xmldtds
-  Maybe this is better left to user apps
-  => use a catalog instead , and xhtml1-dtd package
-
-- Add output to XHTML
-  => XML serializer automatically recognize the DTd and apply the specific
-     rules.
-
-- Fix output of <tst val="x&#xA;y"/>
-
-- compliance to XML-Namespace checking, see section 6 of
-  http://www.w3.org/TR/REC-xml-names/
-
-- Correct standalone checking/emitting (hard)
-  2.9 Standalone Document Declaration
-
-- Implement OASIS XML Catalog support
-  http://www.oasis-open.org/committees/entity/
-
-- Get OASIS testsuite to a more friendly result, check all the results
-  once stable. the check-xml-test-suite.py script does this
-
-- Implement XSLT
-  => libxslt
-
-- Finish XPath
-  => attributes addressing troubles
-  => defaulted attributes handling
-  => namespace axis ?
-  done as XSLT got debugged
-
-- bug reported by Michael Meallin on validation problems
-  => Actually means I need to add support (and warn) for non-deterministic
-     content model.
-- Handle undefined namespaces in entity contents better ... at least
-  issue a warning
-- DOM needs
-  int xmlPruneProp(xmlNodePtr node, xmlAtttrPtr attr);
-  => done it's actually xmlRemoveProp xmlUnsetProp xmlUnsetNsProp
-
-- HTML: handling of Script and style data elements, need special code in
-  the parser and saving functions (handling of < > " ' ...):
-  http://www.w3.org/TR/html4/types.html#type-script
-  Attributes are no problems since entities are accepted.
-- DOM needs
-  xmlAttrPtr xmlNewDocProp(xmlDocPtr doc, const xmlChar *name, const xmlChar *value)
-- problem when parsing hrefs with & with the HTML parser (IRC ac)
-- If the internal encoding is not UTF8 saving to a given encoding doesn't
-  work => fix to force UTF8 encoding ...
-  done, added documentation too
-- Add an ASCII I/O encoder (asciiToUTF8 and UTF8Toascii)
-- Issue warning when using non-absolute namespaces URI.
-- the html parser should add <head> and <body> if they don't exist
-  started, not finished.
-  Done, the automatic closing is added and 3 testcases were inserted
-- Command to force the parser to stop parsing and ignore the rest of the file.
-  xmlStopParser() should allow this, mostly untested
-- support for HTML empty attributes like <hr noshade>
-- plugged iconv() in for support of a large set of encodings.
-- xmlSwitchToEncoding() rewrite done
-- URI checkings (no fragments) rfc2396.txt
-- Added a clean mechanism for overload or added input methods:
-  xmlRegisterInputCallbacks()
-- dynamically adapt the alloc entry point to use g_alloc()/g_free()
-  if the programmer wants it: 
-    - use xmlMemSetup() to reset the routines used.
-- Check attribute normalization especially xmlGetProp()
-- Validity checking problems for NOTATIONS attributes
-- Validity checking problems for ENTITY ENTITIES attributes
-- Parsing of a well balanced chunk xmlParseBalancedChunkMemory()
-- URI module: validation, base, etc ... see uri.[ch]
-- turn tester into a generic program xmllint installed with libxml
-- extend validity checks to go through entities content instead of
-  just labelling them PCDATA
-- Save Dtds using the children list instead of dumping the tables,
-  order is preserved as well as comments and PIs
-- Wrote a notice of changes requires to go from 1.x to 2.x
-- make sure that all SAX callbacks are disabled if a WF error is detected
-- checking/handling of newline normalization
-  http://localhost/www.xml.com/axml/target.html#sec-line-ends
-- correct checking of '&' '%' on entities content.
-- checking of PE/Nesting on entities declaration
-- checking/handling of xml:space
-   - checking done.
-   - handling done, not well tested
-- Language identification code, productions [33] to [38]
-  => done, the check has been added and report WFness errors
-- Conditional sections in DTDs [61] to [65]
-  => should this crap be really implemented ???
-  => Yep OASIS testsuite uses them
-- Allow parsed entities defined in the internal subset to override
-  the ones defined in the external subset (DtD customization).
-  => This mean that the entity content should be computed only at
-     use time, i.e. keep the orig string only at parse time and expand
-     only when referenced from the external subset :-(
-     Needed for complete use of most DTD from Eve Maler
-- Add regression tests for all WFC errors
-  => did some in test/WFC
-  => added OASIS testsuite routines
-     http://xmlsoft.org/conf/result.html
-
-- I18N: http://wap.trondheim.com/vaer/index.phtml is not XML and accepted
-  by the XML parser, UTF-8 should be checked when there is no "encoding"
-  declared !
-- Support for UTF-8 and UTF-16 encoding
-  => added some conversion routines provided by Martin Durst
-     patched them, got fixes from @@@
-     I plan to keep everything internally as UTF-8 (or ISO-Latin-X)
-     this is slightly more costly but more compact, and recent processors
-     efficiency is cache related. The key for good performances is keeping
-     the data set small, so will I.
-  => the new progressive reading routines call the detection code
-     is enabled, tested the ISO->UTF-8 stuff
-- External entities loading: 
-   - allow override by client code
-   - make sure it is called for all external entities referenced
-  Done, client code should use xmlSetExternalEntityLoader() to set
-  the default loading routine. It will be called each time an external
-  entity entity resolution is triggered.
-- maintain ID coherency when removing/changing attributes
-  The function used to deallocate attributes now check for it being an
-  ID and removes it from the table.
-- push mode parsing i.e. non-blocking state based parser
-  done, both for XML and HTML parsers. Use xmlCreatePushParserCtxt()
-  and xmlParseChunk() and html counterparts.
-  The tester program now has a --push option to select that parser 
-  front-end. Douplicated tests to use both and check results are similar.
-
-- Most of XPath, still see some troubles and occasionnal memleaks.
-- an XML shell, allowing to traverse/manipulate an XML document with
-  a shell like interface, and using XPath for the anming syntax
-  - use of readline and history added when available
-  - the shell interface has been cleanly separated and moved to debugXML.c
-- HTML parser, should be fairly stable now
-- API to search the lang of an attribute
-- Collect IDs at parsing and maintain a table. 
-   PBM: maintain the table coherency
-   PBM: how to detect ID types in absence of DtD !
-- Use it for XPath ID support
-- Add validity checking
-  Should be finished now !
-- Add regression tests with entity substitutions
-
-- External Parsed entities, either XML or external Subset [78] and [79]
-  parsing the xmllang DtD now works, so it should be sufficient for
-  most cases !
-
-- progressive reading. The entity support is a first step toward
-  abstraction of an input stream. A large part of the context is still
-  located on the stack, moving to a state machine and putting everything
-  in the parsing context should provide an adequate solution.
-  => Rather than progressive parsing, give more power to the SAX-like
-     interface. Currently the DOM-like representation is built but
-     => it should be possible to define that only as a set of SAX callbacks
-	and remove the tree creation from the parser code.
-	DONE
-
-- DOM support, instead of using a proprietary in memory
-  format for the document representation, the parser should
-  call a DOM API to actually build the resulting document.
-  Then the parser becomes independent of the in-memory
-  representation of the document. Even better using RPC's
-  the parser can actually build the document in another
-  program.
-  => Work started, now the internal representation is by default
-     very near a direct DOM implementation. The DOM glue is implemented
-     as a separate module. See the GNOME gdome module.
-
-- C++ support : John Ehresman <jehresma@dsg.harvard.edu>
-- Updated code to follow more recent specs, added compatibility flag
-- Better error handling, use a dedicated, overridable error
-  handling function.
-- Support for CDATA.
-- Keep track of line numbers for better error reporting.
-- Support for PI (SAX one).
-- Support for Comments (bad, should be in ASAP, they are parsed
-  but not stored), should be configurable.
-- Improve the support of entities on save (+SAX).
-
diff --git a/TODO_SCHEMAS b/TODO_SCHEMAS
deleted file mode 100644
index 145a4ed..0000000
--- a/TODO_SCHEMAS
+++ /dev/null
@@ -1,31 +0,0 @@
-- implement counted transitions at the automata level
-
-- Unicode:
-  + upgrade to 3.2
-  + improve the python script to generate better test
-    expressions to check the list of ranges.
-
-- Implement the interface at the SAX level
-
-- Implement the missing parts in the Structure part
-   + all content model
-   + enumerations
-   + countless others c.f. the TODO scattered in the code
-
-- Complete the Built-In datatype collections and Facets implementations
-
-- Regression tests based on
-  + the primer:
-    http://www.w3.org/TR/xmlschema-0/
-  + the Schemas Test Collection:
-    http://www.w3.org/2001/05/xmlschema-test-collection/
-  + archives of the schemas-dev list
-
-- Integrity constraints:
-  + what's that ? How need to read about it
-
-- "formal" checking, i.e. go through the full Structure spec and
-  bind code and associated parts of the Schemas spec
-
-- go though the erratas
-  http://www.w3.org/2001/05/xmlschema-errata
diff --git a/VxWorks/Makefile b/VxWorks/Makefile
deleted file mode 100644
index a1f6902..0000000
--- a/VxWorks/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-##----------------------------------------------------------------

-##

-##-- Filename: Makefile

-##

-##-- $Date: 2008/02/23 02:56:17 $

-##-- $Revision: 1.2 $

-##-- $Name:  $

-##

-##----------------------------------------------------------------

-

-NAME = xml2

-TOOL_FAMILY=gnu

-

-include $(WIND_USR)/tool/gnu/make.$(VXCPU)

-

-FLAGS = -Wall -g -Isrc -Isrc/include -D_REENTRANT=1

-#FLAGS = -Wall -O2 -Isrc -Isrc/include -D_REENTRANT=1

-

-FLAGS += $(DEFINE_CC) $(CC_ARCH_SPEC) -MD -MP -D_VX_CPU=_VX_$(CPU) -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=$(TOOL)

-ifeq ($(VXTYPE),RTP)

-FLAGS += -mrtp -fpic -I$(WIND_USR)/h -I$(WIND_USR)/h/wrn/coreip

-else

-FLAGS += -D_WRS_KERNEL -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip

-endif

-

-ifeq ($(VXTYPE),RTP)

-ifeq ($(CPU),SH32)

-LIB_LDFLAGS += -L$(WIND_USR)/lib/sh/SH32/commonle/PIC

-else

-LIB_LDFLAGS += $(LD_LINK_PATH_ATEND) $(LD_PARTIAL_LAST_FLAGS)

-endif

-endif

-

-OBJS =	c14n.o catalog.o chvalid.o \

-		debugXML.o dict.o DOCBparser.o \

-		encoding.o entities.o error.o \

-		globals.o \

-		hash.o \

-		legacy.o list.o \

-		parser.o parserInternals.o pattern.o \

-		relaxng.o \

-		SAX2.o SAX.o schematron.o \

-		threads.o tree.o \

-		uri.o \

-		valid.o \

-		xinclude.o xlink.o xmlcatalog.o xmlIO.o \

-		xmlmemory.o xmlmodule.o xmlreader.o xmlregexp.o \

-		xmlsave.o xmlschemas.o xmlschemastypes.o xmlstring.o \

-		xmlunicode.o xmlwriter.o xpath.o xpointer.o

-

-all : lib$(NAME).so

-

-init : 

-	mkdir -p objs

-	

-.PHONY : lib$(NAME).so

-	

-lib$(NAME).so : init $(patsubst %.o, objs/%.o, $(OBJS))

-	$(CC) $(FLAGS) $(LIB_LDFLAGS) -shared -o $@ $(patsubst %.o, objs/%.o, $(OBJS))

-	

-(NAME).out : init $(patsubst %.o, objs/%.o, $(OBJS))

-	$(CC) $(FLAGS) -o $@ $(patsubst %.o, objs/%.o, $(OBJS))

-

-objs/%.o: src/%.c

-	 $(CC) $(FLAGS) -o $@ -c $<

-	

-clean:

-	rm -fR *.so objs

diff --git a/VxWorks/README b/VxWorks/README
deleted file mode 100644
index b756677..0000000
--- a/VxWorks/README
+++ /dev/null
@@ -1,86 +0,0 @@
-             libxml2 on VxWorks 6.4+
-
-Here are my instructions for building on VxWorks.... I am very ashamed of
-how I did this because it is a complete hack, but it works great, so I
-can't complain too much.
-
-General Information
-
-1. The only way to build for VxWorks is to cross compile from a windows or
-linux system.  We use a RedHat 5.1 workstation system as our build
-environment.
-
-2. VxWorks 6.X has two main types of executable, DKMs (dynamic kernel
-modules), and RTPs (real-time processes).  Kernel modules are the bread
-and butter of VxWorks, but they look nothing like processes/threads in
-normal UNIX/Windows systems.  RTPs are more like processes that have
-memory protection, threads, etc.  VxWorks 6.X also introduces some level
-of POSIX conformance to their environment.  The POSIX conformance was the
-key for us to be able to port libxml2.  We support accessing libxml2 from
-both DKMs and RTPs.
-
-3. There are 2 compilers for VxWorks, the WindRiver compiler, and a port
-of the GNU toolchain, we have only tested and built with the GNU
-toolchain.
-
-How To Build
-
-1. Run the configure on your native linux system (this is the cheesy
-hack).  Since the VxWorks GNU toolchain is very close in version to the
-one in red hat, it generates a good config.h file.  We configured libxml2
-with the following to keep the size down, (but we have done basic testing
-with everything compiled in).
-
-./configure --with-minimum --with-reader --with-writer --with-regexps
---with-threads --with-thread-alloc
-
-2. Rename the libxml2 folder to "src".  This step is required for our
-replacement makefile to work.
-
-3. Run the replacement makefile.  I wrote a new makefile that sets all the
-proper vxworks defines and uses the correct compilers.  The two defines on
-the make command line are to tell it which VxWorks Target (SH3.2 little
-endian), and the executable type.  We have tested this code on PENTIUM2gnu
-and SH32gnule.
-
-This makefile creates a shared library that runs on VxWorks: (libxml2.so)
-make -f Makefile.vxworks clean all VXCPU=SH32gnule VXTYPE=RTP
-
-This makefile creates a kernel module that runs on VxWorks: (xml2.out)
-make -f Makefile.vxworks clean all VXCPU=SH32gnule VXTYPE=DKM
-
-Important Notes
-
-1. There are several ways that this process could be improved, but at the
-end of the day, we make products, not port libraries, so we did a meets
-minimum for our needs.
-
-2. VxWorks is the devil, give me embedded linux every day.
-
-3. No matter what I tried, I couldn't get the configure to pick up the
-VxWorks toolchain, and in my investigation, it has something to do with
-automake/autoconf, not any individual package.  VxWorks doesn't play by
-the normal rules for building toolchains.
-
-4. The PIC flag in VxWorks (especially for SH processors) is very
-important, and very troublesome.  On linux, you can liberally use the PIC
-flag when compiling and the compiler/linker will ignore it as needed, on
-VxWorks if must always be on for shared libraries, and always be off for
-static libraries and executables.
-
-5. If anyone wants to work on a better way to do the build of libxml2 for
-VxWorks, I'm happy to help as much as I can, but I'm not looking to
-support it myself.
-
-Attached Files
-
-1. To use my Makefile for vxworks, you should enter the vxworks
-environment (/opt/windriver/wrenv.linux -p vxworks-6.4 for me).
-2. Run: build.sh libxml2-2.6.32 SH32gnule RTP (where you have
-libxml2-2.6.32.tar.gz and the Makefile in the same directory as the script
-file).
-
-Thanks,
-
-Jim Wert Jr.
-JWert@ILSTechnology.com
diff --git a/VxWorks/build.sh b/VxWorks/build.sh
deleted file mode 100644
index c195062..0000000
--- a/VxWorks/build.sh
+++ /dev/null
@@ -1,85 +0,0 @@
-LIBXML2=$1

-TARGETCPU=$2

-TARGETTYPE=$3

-

-if [ -z "$2" ]; then

-	TARGETCPU=SIMPENTIUMgnu

-fi

-

-if [ -z "$3" ]; then

-	TARGETTYPE=RTP

-fi

-

-echo "LIBXML2 Version:     ${LIBXML2}"

-echo "LIBXML2 Target CPU:  ${TARGETCPU}"

-echo "LIBXML2 Target Type: ${TARGETTYPE}"

-

-rm -fR src

-tar xvzf ${LIBXML2}.tar.gz

-mv ${LIBXML2} src

-cd src

-

-./configure --with-minimum --with-reader --with-writer --with-regexps --with-threads --with-thread-alloc

-

-find . -name '*.in' -exec rm -fR {} +

-find . -name '*.am' -exec rm -fR {} +

-rm -fR *.m4

-rm -fR *.pc

-rm -fR *.pl

-rm -fR *.py

-rm -fR *.spec

-rm -fR .deps

-rm -fR AUTHORS

-rm -fR bakefile

-rm -fR ChangeLog

-rm -fR config.guess

-rm -fR config.log

-rm -fR config.status

-rm -fR config.stub

-rm -fR config.sub

-rm -fR configure

-rm -fR COPYING

-rm -fR Copyright

-rm -fR depcomp

-rm -fR doc

-rm -fR example

-rm -fR INSTALL

-rm -fR install-sh

-rm -fR libxml.3

-rm -fR ltmain.sh

-rm -fR Makefile

-rm -fR Makefile.tests

-rm -fR macos

-rm -fR mkinstalldirs

-rm -fR missing

-rm -fR nanoftp.c

-rm -fR nanohttp.c

-rm -fR NEWS

-rm -fR python

-rm -fR README

-rm -fR README.tests

-rm -fR regressions.xml

-rm -fR result

-rm -fR runsuite.c

-rm -fR runtest.c

-rm -fR test

-rm -fR test*.c

-rm -fR TODO*

-rm -fR trio*

-rm -fR vms

-rm -fR win32

-rm -fR xml2*

-rm -fR xmllint.c

-rm -fR xstc

-

-cd ..

-

-make clean all VXCPU=${TARGETCPU} VXTYPE=${TARGETTYPE}

-

-if [ "${TARGETTYPE}" = "RTP" ]; then

-	cp libxml2.so ../../lib/.

-else

-	cp xml2.out ../../bin/.

-fi

-

-cp -R src/include/libxml ../../include/.
\ No newline at end of file
diff --git a/autogen.sh b/autogen.sh
index 3778be7..4815263 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,11 +1,10 @@
 #!/bin/sh
 # Run this to generate all the initial makefiles, etc.
 
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=. 
-
 THEDIR=`pwd`
-cd $srcdir
+cd `dirname $0`
+srcdir=`pwd`
+
 DIE=0
 
 (autoconf --version) < /dev/null > /dev/null 2>&1 || {
diff --git a/bakefile/Bakefiles.bkgen b/bakefile/Bakefiles.bkgen
deleted file mode 100644
index 8342de3..0000000
--- a/bakefile/Bakefiles.bkgen
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" ?>

-<!-- $Id$ -->

-

-<bakefile-gen>

-    

-    <disable-formats>gnu,dmars,cbx_unix,cbuilderx</disable-formats>

-    <input>libxml2.bkl</input>

-

-    <!-- List of output formats to generate: -->

-    <add-formats>

-        borland,dmars,mingw,msvc,msvc6prj,watcom,cbuilderx,cbx_unix,gnu

-    </add-formats>

-

-

-</bakefile-gen>
\ No newline at end of file
diff --git a/bakefile/Readme.txt b/bakefile/Readme.txt
deleted file mode 100644
index ceac443..0000000
--- a/bakefile/Readme.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-

- LIBXML2 build system for Win32 README

- -------------------------------------

-

- In this folder are stored all the files required to compile LIBXML2 with win32 compilers.

- Bakefile (http://bakefile.sourceforge.net) is used as makefile generator.

-

- Supported makefiles:

- - makefile.vc     for Microsoft NMAKE

- - makefile.bcc    for Borland MAKE

- - makefile.wat    for OpenWatcom MAKE

- - makefile.gcc    for MinGW MINGW32-MAKE

- - all DSP & DSW   for Microsoft VisualC++ 6.0 (can be used also with VS.NET AFAIK)

-

- This readme is organized as:

-   1.0 HOWTO compile LIBXML2 using makefiles     <-- for users who want to build the library using *command-line*

-   1.1 HOWTO compile LIBXML2 using an IDE        <-- for users who want to build the library using an *IDE*

-   1.2 HOWTO regenerate makefiles for LIBXML2    <-- for libxml2 mantainers/developers/advanced users

-

- If you just want to compile the library (and the test programs) you should definitely avoid the

- section 1.1 and focus on the 1.0.

- 

-

-

-

-

-

- 1.0 HOWTO compile LIBXML2 using makefiles

- -----------------------------------------

- 

- Choose your preferred compiler among those actually supported (see above) and then run

- 

-                              mycompilermake -fmakefile.makefileext [options]

-

- for a full list of the available options you should open with a notepad (or something like that)

- the makefile you want to use; at the beginning you should see a section which starts as:

-

-     # -------------------------------------------------------------------------

-     # These are configurable options:

-     # -------------------------------------------------------------------------

-

- here you can find all the options actually used by that makefile. 

- They can be customized when running the makefile writing something like:

-

- nmake -fmakefile.vc BUILD=release

- mingw32-make -fmakefile.gcc BUILD=debug ICONV_DIR=c:\myiconv

-

- or they can be permanently changed modifying the makefile.

- That's all: for any problem/compile-error/suggestion, write to 

- frm@users.sourceforge.net with the word "libxml2" in the subject.

-

-

-

-

-

- 1.1 HOWTO compile LIBXML2 using an IDE

- --------------------------------------

- 

- Actually only the Microsoft VisualC++ 6.0 project files are generated.

- In future other Integrated Development Environments (IDEs) will be supported as well.

- 

- With MSVC++ 6.0, you should open the DSW file and then set as the active project the

- "libxml2" project, if you want to build the library or one of the test projects if you

- want to run them.

- Using the command "Build->Set Active Configuration" you can choose one of the predefined

- configuration.

-

-

-

-

-

- 1.2 HOWTO regenerate makefiles for LIBXML2

- ------------------------------------------

- 

- Be sure to have installed Bakefile (http://bakefile.sourceforge.net).

- Just run the "bakefile_gen" command inside the folder containing the "libxml2.bkl" file.

- NOTE: if you want to remove all the makefiles, you can use the "bakefile_gen -c" command.

- 

- The template files used to generate all makefiles are only two:

- - libxml2.bkl      (the main one)

- - Bakefiles.bkgen

- All the other files can be dynamically regenerated.

-

-

-

-

-

- If you have problems with the compilation of LIBXML2 under windows (using one of the supported compiler)

- please write to:

-

-     Francesco Montorsi <frm@users.sourceforge.net>

-

diff --git a/bakefile/libxml2.bkl b/bakefile/libxml2.bkl
deleted file mode 100644
index fa2d285..0000000
--- a/bakefile/libxml2.bkl
+++ /dev/null
@@ -1,745 +0,0 @@
-<?xml version="1.0" ?>

-

-<!-- Author: Francesco Montorsi <frm@users.sourceforge.net>         -->

-<!-- Date: 30/8/2004                                                -->

-<!-- Last revision: 26/1/2005                                       -->

-

-

-<!--                    LIBXML2 BAKEFILE                            -->

-<!--                                                                -->

-<!--    The bakefile used to build the library and the test         -->

-<!--    programs. The makefiles output is put:                      -->

-<!--                                                                -->

-<!--    - in the ..\LIB folder                                      -->

-<!--    - in the ..\BIN folder                                      -->

-<!--                                                                -->

-

-<makefile>

-

-    <using module="datafiles"/>

-    <requires version="0.1.5"/>

-    

-

-    <!-- This is a bakefile, that is, a generic template used to    -->

-    <!-- generate makefiles ALL supported compilers.                -->

-    <!-- To use this project file you need Bakefile installed.      -->

-    <!-- With the command "bakefile_gen" you can regen all the      -->

-    <!-- makefiles and project files.                               -->

-    <!-- See http://bakefile.sourceforge.net for more info.         -->

-

-

-	<!--

-	 This file is divided in:

-		- generic options

-		- generic variables

-		- libxml2 options

-		- libxml2 variables

-		- about config.h creation

-		- templates

-		- libxml2 library target

-		- libxml2 test program targets

-	-->

-

-

-

-    <!--                                                            -->

-    <!--                      GENERIC OPTIONS                       -->

-    <!--                                                            -->

-

-     

-    <!--    This is a standard option that determines               -->

-    <!--    whether the user wants to build this library as         -->

-    <!--    a dll or as a static library.                           -->

-    <option name="SHARED">

-        <values>0,1</values>

-        <values-description>,DLL</values-description>

-        <default-value>0</default-value>

-        <description>If set to zero a STATIC libxml library will be built</description>

-    </option>

-

-    <!-- Configuration for building the bakefile with               -->

-    <!-- unicode strings or not (unicode or ansi).                  -->

-    <option name="UNICODE">

-        <values>0,1</values>

-        <values-description>,Unicode</values-description>

-        <default-value>0</default-value>        

-        <description>Compile Unicode build?</description>

-    </option>

-

-

-    <!-- There are several options that deal with build             -->

-    <!-- types. First, there's this one, BUILD.                     -->

-    <!--                                                            -->

-    <!-- BUILD determines whether or not we want to build           -->

-    <!-- in release or debug mode.  Note that in practice           -->

-    <!-- this means modifying the optimize tag, which by            -->

-    <!-- default is set to off.  In this case debug means           -->

-    <!-- off (no optimizations), and release means speed            -->

-    <!-- (fast with inlining).  There is also a size option         -->

-    <!-- that is not addressed in this example bakefile.            -->

-    <option name="BUILD">

-        <values>debug,release</values>

-        <values-description>Debug,Release</values-description>

-        <default-value>release</default-value>

-        <description>

-            Type of compiled binaries

-        </description>

-    </option>

-

-

-

-    <!--                                                            -->

-    <!--                    GENERIC VARIABLES                       -->

-    <!--                                                            -->

-

-    <!--    Set the ISDLL variable, so that we can use it           -->

-    <!--    inside an if statement later on (options not            -->

-    <!--    allowed in if statements).                              -->

-    <set var="ISDLL" cond="SHARED=='1'">1</set>

-    <set var="ISDLL" cond="SHARED=='0'">0</set>

-

-    <!--    The unicode define we want.  By default bakefile        -->

-    <!--    makes variables an empty string, so if unicode          -->

-    <!--    is not defined $(UNICODE_DEFINE) would expand           -->

-    <!--    to nothing (literally).                                 -->

-    <set var="UNICODE_DEFINE">

-        <if cond="FORMAT!='autoconf' and UNICODE=='1'">_UNICODE</if>

-    </set>    

-    

-    <!--    The debug define we need with win32 compilers           -->    

-    <!--    (on Linux, the wx-config program is used).              -->    

-    <set var="DEBUG_DEFINE">        

-        <if cond="FORMAT!='autoconf' and BUILD=='debug'">

-            __WXDEBUG__

-        </if>    

-    </set>

-

-    <!--    Value we will use later on for the debug-info           -->

-    <!--    tag inside our templates.                               -->

-    <set var="DEBUGINFO">

-        <if cond="BUILD=='debug'">on</if>

-        <if cond="BUILD=='release'">off</if>

-    </set>

-

-    <!--    Value we will use later on for the debug-runtime        -->

-    <!--    tag inside our templates.                               -->

-    <set var="DEBUGRUNTIME">

-        <if cond="BUILD=='debug'">on</if>

-        <if cond="BUILD=='release'">off</if>

-    </set>

-

-    <!--    Value for optimize tag.                                 -->

-    <set var="OPTIMIZEFLAG">

-        <if cond="BUILD=='debug'">off</if>

-        <if cond="BUILD=='release'">speed</if>

-    </set>

-

-    <!-- Level of warnings.  Here we max it out in debug            -->

-    <!-- mode, and turn them off in release mode.                   -->

-    <set var="WARNINGS">

-        <if cond="BUILD=='debug'">max</if>

-        <if cond="BUILD=='release'">no</if>

-    </set>

-

-    <!-- Set MYCPPFLAGS as empty; maybe it will be filled later...  -->

-    <set var="MYCPPFLAGS"></set>

-    <if cond="FORMAT=='mingw' or FORMAT=='autoconf'">

-

-        <!-- With GCC, settings warnings to MAX would force         -->

-        <!-- Bakefile to call GCC with "-W -Wall" which generates   -->

-        <!-- a *lot* of warnings about wxWidgets headers...         -->

-        <!-- this is why "-W -Wall" is here replaced by "-Wall".    -->

-        <set var="WARNINGS">default</set>

-        <set var="MYCPPFLAGS">-Wall</set>

-    </if>

-    

-    

-    

-  

-

-

-    <!--                                                            -->

-    <!--                      LIBXML2 OPTIONS                       -->

-    <!--                                                            -->

-    <!-- Note #1: not all of them are used by win32 makefiles       -->

-	<!--                                                            -->

-	<!-- Note #2: since all combinations of non-path options are    -->

-	<!--          translated into different 'configurations' by     -->

-	<!--          Bakefile when using the MSVC6PRJ output, we must  -->

-	<!--          avoid to create a 10 MB libxml2.dsp file forcing  -->

-	<!--          some options to their default values... this      -->

-	<!--          behaviour can be overridden by the                -->

-	<!--                        FULL_OPTIONS_SUPPORT                -->

-	<!--          variable defined below...                         -->

-    

-	<set var="FULL_OPTIONS_SUPPORT">

-		<if cond="FORMAT=='msvc6prj'">0</if>

-		<if cond="FORMAT!='msvc6prj'">1</if>

-	</set>

-

-    <option name="ICONV_DIR" category="path">

-        <default-value>c:\iconv</default-value>

-        <description>The iconv library main folder</description>

-    </option>

-

-    <option name="WITH_TRIO">

-    	<values>0,1</values>

-        <default-value>0</default-value>

-        <description>Enable TRIO string manipulator</description>

-    </option>

-

-	<!-- see the note #2 -->

-	<if cond="FULL_OPTIONS_SUPPORT=='0'">

-		<set var="WITH_THREADS">native</set>

-	</if>

-	<if cond="FULL_OPTIONS_SUPPORT=='1'">

-		<option name="WITH_THREADS">

-    		<values>no,ctls,native,posix</values>

-			<default-value>native</default-value>

-			<description>Enable thread safety</description>

-		</option>

-    </if>

-

-    <option name="WITH_FTP">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable FTP client</description>

-    </option>

-

-    <option name="WITH_HTTP">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable HTTP client</description>

-    </option>

-

-    <option name="WITH_C14N">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable C14N support</description>

-    </option>

-

-    <option name="WITH_CATALOG">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable catalog support</description>

-    </option>

-

-    <option name="WITH_DOCB">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable DocBook support</description>

-    </option>

-	

-    <option name="WITH_XPATH">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable XPath support</description>

-    </option>

-	

-    <option name="WITH_XPTR">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable XPointer support</description>

-    </option>

-	

-    <option name="WITH_XINCLUDE">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable XInclude support</description>

-    </option>

-	

-	<!-- see the note #2 -->

-	<if cond="FULL_OPTIONS_SUPPORT=='0'">

-		<set var="WITH_ICONV">1</set>

-	</if>

-	<if cond="FULL_OPTIONS_SUPPORT=='1'">

-		<option name="WITH_ICONV">

-    		<values>0,1</values>

-			<default-value>1</default-value>

-			<description>Enable iconv support</description>

-		</option>

-	</if>

-	

-    <option name="WITH_ISO8859X">

-    	<values>0,1</values>

-        <default-value>0</default-value>

-        <description>Enable iso8859x support</description>

-    </option>

-	

-	<!-- see the note #2 -->

-	<if cond="FULL_OPTIONS_SUPPORT=='0'">

-		<set var="WITH_ZLIB">0</set>

-	</if>

-	<if cond="FULL_OPTIONS_SUPPORT=='1'">

-		<option name="WITH_ZLIB">

-    		<values>0,1</values>

-			<default-value>0</default-value>

-			<description>Enable ZLIB support</description>

-		</option>

-	</if>

-	

-    <option name="WITH_REGEXPS">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable regular expressions</description>

-    </option>

-	

-    <option name="WITH_TREE">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable tree api</description>

-    </option>

-	

-    <option name="WITH_READER">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable xmlReader api</description>

-    </option>

-	

-    <option name="WITH_WRITER">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable xmlWriter api</description>

-    </option>

-	

-    <option name="WITH_WALKER">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable xmlDocWalker api</description>

-    </option>    

-	

-    <option name="WITH_PATTERN">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable xmlPattern api</description>

-    </option>

-	

-    <option name="WITH_PUSH">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable push api</description>

-    </option>

-	

-    <option name="WITH_VALID">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable DTD validation support</description>

-    </option>

-	

-    <option name="WITH_SAX1">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable SAX1 api</description>

-    </option>    

-                	

-    <option name="WITH_SCHEMAS">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable XML Schema support</description>

-    </option>

-	

-    <option name="WITH_LEGACY">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable deprecated APIs</description>

-    </option>    

-                	

-    <option name="WITH_OUTPUT">

-    	<values>0,1</values>

-        <default-value>1</default-value>

-        <description>Enable serialization support</description>

-    </option>					

-                	

-    <option name="WITH_PYTHON">

-    	<values>0,1</values>

-        <default-value>0</default-value>

-        <description>Build Python bindings</description>

-    </option>

-

-

- 

-

-    <!--                                                            -->

-    <!--                    LIBXML2 VARIABLES                       -->

-    <!--                                                            -->   

-

-    <!-- Put all the objects files generated by         -->

-    <!-- the compilation in a subfolder of BUILD        -->

-    <set var="BUILDDIR">$(FORMAT)</set>

-    

-    <!-- This variable is set to 1 when the current output writer supports -->

-   	<!-- the __DEFINE_ARG variable. Otherwise it's set to zero. -->

-   	<set var="HAS_DEFINE_ARG">

-   		<if cond="FORMAT!='msvc6prj'">1</if>

-   		<if cond="FORMAT=='msvc6prj'">0</if>   		

-   	</set>

-

-	<!-- The root directory of libxml2 -->

-	<set var="XMLBASEDIR">..</set>

-	

-	<!-- The directory where libxml2' tests will be put -->

-	<set var="XMLTESTDIR">$(XMLBASEDIR)$(DIRSEP)bin</set>

-	

-	<set var="LIBXML_MAJOR_VERSION">2</set>

-	<set var="LIBXML_MINOR_VERSION">6</set>

-	<set var="LIBXML_MICRO_VERSION">16</set>

-	

-	<!-- some defines related to threads -->

-	<set var="THREADS_DEF">

-		<if cond="HAS_DEFINE_ARG=='1' and WITH_THREADS=='native'">

-			$(__DEFINE_ARG)_REENTRANT $(__DEFINE_ARG)HAVE_WIN32_THREADS

-		</if>

-		<if cond="HAS_DEFINE_ARG=='1' and WITH_THREADS=='ctls'">

-			$(__DEFINE_ARG)_REENTRANT $(__DEFINE_ARG)HAVE_WIN32_THREADS $(__DEFINE_ARG)HAVE_COMPILER_TLS

-		</if>

-		<if cond="HAS_DEFINE_ARG=='1' and WITH_THREADS=='posix'">

-			$(__DEFINE_ARG)_REENTRANT $(__DEFINE_ARG)HAVE_PTHREAD_H

-		</if>

-	</set>

-	<if cond="FORMAT=='borland'">

-		<set var="THREADS_DEF">

-			<if cond="WITH_THREADS=='native'">$(THREADS_DEF) $(__DEFINE_ARG)__MT__</if>

-			<if cond="WITH_THREADS=='ctls'">$(THREADS_DEF) $(__DEFINE_ARG)__MT__</if>

-			<if cond="WITH_THREADS=='posix'">$(THREADS_DEF) $(__DEFINE_ARG)__MT__</if>

-		</set>

-	</if>	

-	

-	

-	<!-- some other conditional defines -->

-	<set var="DEBUG_DEF"><if cond="BUILD=='debug'">_DEBUG</if></set>

-	<set var="DEBUG_DEF"><if cond="BUILD=='release'">NDEBUG</if></set>

-	

-	<!-- this is very very important when compiling with MINGW: without this line,

-	the test programs (and all the programs built with libxml2 which use xmlFree)

-	won't build because of "undefined references to __xmlFree" -->

-	<set var="STATIC_DEF"><if cond="SHARED=='0'">LIBXML_STATIC</if></set>

-	

-	<!-- some conditional libraries dependencies -->

-	<set var="ICONV_LIB"><if cond="WITH_ICONV=='1'">iconv</if></set>

-	<set var="WSOCK32_LIB"><if cond="WITH_THREADS=='native'">wsock32</if></set>

-	<set var="ZLIB_LIB"><if cond="WITH_ZLIB=='1'">zdll</if></set>

-	<set var="POSIX_LIB"><if cond="WITH_THREADS=='posix'">pthreadVC</if></set>

-	

-	<set var="XMLINCLUDEDIR">$(XMLBASEDIR)$(DIRSEP)include$(DIRSEP)libxml$(DIRSEP)</set>

-

-  

-

- 

-    <!--                                                            -->

-    <!--               ABOUT CONFIG.H HEADER CREATION               -->

-    <!--                                                            -->   

-    

-    <set var="CONFIG_SRCNAME">win32config.h</set>

-    <set var="CONFIG_DSTNAME">config.h</set>

-    

-	<if cond="FORMAT!='msvc6prj' and FORMAT!='autoconf' and FORMAT!='gnu'">

-		<copy-file-to-file id="setup">

-			<!-- On win32 we need to manually copy a default config.h file -->

-			<!-- from the include/mc/msw folder to include/mc			   -->

-			<src>../include/$(CONFIG_SRCNAME)</src>

-			<dst>../$(CONFIG_DSTNAME)</dst>

-			<dependency-of>all</dependency-of>

-

-			<!-- With autoconf, we will use the configure script to translate -->

-			<!-- include/mc/config.h.in to include/mc/config.h and thus we do -->

-			<!-- not need to do anything here...							  -->

-		</copy-file-to-file>

-	</if>

-    

-	<if cond="FORMAT!='msvc6prj'">

-	    

-		<mkdir id="setuplibdir"><dir>$(XMLBASEDIR)$(DIRSEP)lib</dir></mkdir>

-		<mkdir id="setupbindir"><dir>$(XMLBASEDIR)$(DIRSEP)bin</dir></mkdir>

-			

-	    <!-- Creates all output folders -->	

-	    <phony id="setupdirs">

-			<dependency-of>all</dependency-of>	    

-	    	<depends>setuplibdir</depends>

-	    	<depends>setupbindir</depends>

-	    </phony>

-	</if>

-

-    <!-- This defines a tag which includes headers on MSVC          -->

-    <!-- Note that $(value) is stuck in there by bakefile,          -->

-    <!-- and is the value between the beginning and end tag.        -->

-    <define-tag name="headers" rules="dll,lib,exe">

-        <if cond="FORMAT=='msvc6prj'">

-            <msvc-project-files>

-                $(value)

-            </msvc-project-files>

-        </if>

-    </define-tag>

-    		

-	<!-- Creates the following custom build rule for MSVC6PRJ file:

-	     copies ..\include\win32config.h into ..\config.h

-	     NOTE: this tag must be used before the <sources> tag if you want that the configuration

-	           file will be created before any other source file is compiled... -->

-    <define-tag name="msvc-copy-setup-h" rules="dll,lib,action">

-        <if cond="FORMAT=='msvc6prj'">

-	        <headers>$(XMLBASEDIR)\include\$(CONFIG_SRCNAME)</headers>

-	        <set var="__subdir">$(value)</set>

-            <set var="_custom_build_files" append="1">$(XMLBASEDIR)\include\$(CONFIG_SRCNAME)</set>

-            <set var="_custom_build____include_win32config_h">

-Creating the configuration file ..\$(CONFIG_DSTNAME) from ..\include\$(CONFIG_SRCNAME)

-InputPath=..\include\$(CONFIG_SRCNAME)

-

-"..\$(CONFIG_DSTNAME)" : $(DOLLAR)(SOURCE) "$(DOLLAR)(INTDIR)" "$(DOLLAR)(OUTDIR)"

-$(TAB)copy "$(DOLLAR)(InputPath)" ..\$(CONFIG_DSTNAME)

-            </set>

-        </if>

-    </define-tag>

-

- 

-

-

-

-    <!--                                                            -->

-    <!--                          TEMPLATES                         -->

-    <!--                                                            -->   

-

-	<!-- The basic template: used by all the targets -->

-    <template id="base">

-        <if cond="FORMAT=='mingw'">                    

-            <define>HAVE_W32API_H</define>

-            <ldflags>-mthreads</ldflags>

-        </if>

-

-        <cxxflags>$(MYCPPFLAGS)</cxxflags>

-        <warnings>$(WARNINGS)</warnings>

-        <define>$(UNICODE_DEFINE)</define>

-        <optimize>$(OPTIMIZEFLAG)</optimize>

-        <debug-info>$(DEBUGINFO)</debug-info>

-        <debug-runtime-libs>$(DEBUGRUNTIME)</debug-runtime-libs>

-	</template>

-	

-	<!-- The template used both by the library and by the test programs -->

-    <template id="xml2" template="base">

-    

-        <!-- -I & -L equivalents -->

-        <include>$(XMLBASEDIR)$(DIRSEP)include</include>

-        <include>$(ICONV_DIR)$(DIRSEP)include</include>

-        <lib-path>$(ICONV_DIR)$(DIRSEP)lib</lib-path>    

-        

-		<!-- some conditional define flags -->

-        <cflags>$(THREADS_DEF)</cflags>

-		<define>$(ZLIB_DEF)</define>

-		<define>$(DEBUG_DEF)</define>

-		<define>$(STATIC_DEF)</define>

-	

-		<if cond="HAS_DEFINE_ARG=='0'">

-		

-			<!-- we are probably using an IDE output: defaults to WITH_THREADS=='native' -->

-			<define>_REENTRANT</define>

-			<define>HAVE_WIN32_THREADS</define>

-		</if>

-

-		

-		<!-- these must always be defined on win32 -->

-		<define>WIN32</define>		

-		<define>_WINDOWS</define>

-		<define>_MBCS</define>

-

-		<if cond="FORMAT=='borland'">

-			<define>_NO_VCL</define>

-			<define>EILSEQ=2</define>

-		</if>

-    </template>

-    

-	<!-- The template used by libxml2 test programs -->

-	<template id="xml2test" template="xml2">

-        <dirname>$(XMLTESTDIR)</dirname>

-        <app-type>console</app-type>        

-

-        <library>libxml2</library>

-		

-        <sys-lib>$(ICONV_LIB)</sys-lib>

-        <sys-lib>$(WSOCK32_LIB)</sys-lib>

-		<sys-lib>$(ZLIB_LIB)</sys-lib> 

-        <sys-lib>$(POSIX_LIB)</sys-lib>

-	</template>

-

-

-

-

- 

-

-    <!--                                                            -->

-    <!--                  LIBXML2 LIBRARY TARGET                    -->

-    <!--                                                            -->  

-    

-    <lib id="libxml2" template="xml2">

-    	

-    	<!-- this is useful only when using MSVC6PRJ -->

-    	<if cond="FORMAT=='msvc6prj'">

-    		<msvc-copy-setup-h/>

-    		<msvc-file-group>Config headers:*config.h</msvc-file-group>

-    	</if>

-    	<if cond="FORMAT!='msvc6prj'">

-	    	<depends>setup</depends>

-    		<depends>setuplibdir</depends>

-    	</if>

-    	    

-    	<!-- output folder -->

-        <dirname>$(XMLBASEDIR)$(DIRSEP)lib</dirname>

-		

-		<!-- The output name must be "libxml2.lib" with all compilers.

-		     Since mingw format autoadds the "lib" prefix to the library

-			 name, we must intercept that case to avoid to get "liblibxml2.a" -->

-		<if cond="FORMAT!='mingw'">

-	        <libname>libxml2</libname>

-		</if>

-		<if cond="FORMAT=='mingw'">

-	        <libname>xml2</libname>

-		</if>

-		        

-        <!-- the list of source files to compile -->            

-        <sources>

-			$(XMLBASEDIR)$(DIRSEP)c14n.c

-			$(XMLBASEDIR)$(DIRSEP)catalog.c

-			$(XMLBASEDIR)$(DIRSEP)chvalid.c

-			$(XMLBASEDIR)$(DIRSEP)debugXML.c

-			$(XMLBASEDIR)$(DIRSEP)dict.c

-			$(XMLBASEDIR)$(DIRSEP)DOCBparser.c

-			$(XMLBASEDIR)$(DIRSEP)encoding.c

-			$(XMLBASEDIR)$(DIRSEP)entities.c

-			$(XMLBASEDIR)$(DIRSEP)error.c

-			$(XMLBASEDIR)$(DIRSEP)globals.c

-			$(XMLBASEDIR)$(DIRSEP)hash.c

-			$(XMLBASEDIR)$(DIRSEP)HTMLparser.c

-			$(XMLBASEDIR)$(DIRSEP)HTMLtree.c

-			$(XMLBASEDIR)$(DIRSEP)legacy.c

-			$(XMLBASEDIR)$(DIRSEP)list.c

-			$(XMLBASEDIR)$(DIRSEP)nanoftp.c

-			$(XMLBASEDIR)$(DIRSEP)nanohttp.c

-			$(XMLBASEDIR)$(DIRSEP)parser.c

-			$(XMLBASEDIR)$(DIRSEP)parserInternals.c

-			$(XMLBASEDIR)$(DIRSEP)pattern.c

-			$(XMLBASEDIR)$(DIRSEP)relaxng.c

-			$(XMLBASEDIR)$(DIRSEP)SAX2.c

-			$(XMLBASEDIR)$(DIRSEP)SAX.c

-			$(XMLBASEDIR)$(DIRSEP)threads.c

-			$(XMLBASEDIR)$(DIRSEP)tree.c

-			$(XMLBASEDIR)$(DIRSEP)uri.c

-			$(XMLBASEDIR)$(DIRSEP)valid.c

-			$(XMLBASEDIR)$(DIRSEP)xinclude.c

-			$(XMLBASEDIR)$(DIRSEP)xlink.c

-			$(XMLBASEDIR)$(DIRSEP)xmlIO.c

-			$(XMLBASEDIR)$(DIRSEP)xmlmemory.c

-			$(XMLBASEDIR)$(DIRSEP)xmlreader.c

-			$(XMLBASEDIR)$(DIRSEP)xmlregexp.c

-			$(XMLBASEDIR)$(DIRSEP)xmlsave.c

-			$(XMLBASEDIR)$(DIRSEP)xmlschemas.c

-			$(XMLBASEDIR)$(DIRSEP)xmlschemastypes.c

-			$(XMLBASEDIR)$(DIRSEP)xmlunicode.c

-			$(XMLBASEDIR)$(DIRSEP)xmlwriter.c

-			$(XMLBASEDIR)$(DIRSEP)xpath.c

-			$(XMLBASEDIR)$(DIRSEP)xpointer.c

-			$(XMLBASEDIR)$(DIRSEP)xmlstring.c

-        </sources>

-        

-        <!-- the list of header files (for IDE projects) -->

-        <headers>

-			$(XMLINCLUDEDIR)c14n.h

-			$(XMLINCLUDEDIR)catalog.h

-			$(XMLINCLUDEDIR)chvalid.h

-			$(XMLINCLUDEDIR)debugXML.h

-			$(XMLINCLUDEDIR)dict.h

-			$(XMLINCLUDEDIR)DOCBparser.h

-			$(XMLINCLUDEDIR)encoding.h

-			$(XMLINCLUDEDIR)entities.h

-			$(XMLINCLUDEDIR)globals.h

-			$(XMLINCLUDEDIR)hash.h

-			$(XMLINCLUDEDIR)HTMLparser.h

-			$(XMLINCLUDEDIR)HTMLtree.h

-			$(XMLINCLUDEDIR)list.h

-			$(XMLINCLUDEDIR)nanoftp.h

-			$(XMLINCLUDEDIR)nanohttp.h

-			$(XMLINCLUDEDIR)parser.h

-			$(XMLINCLUDEDIR)parserInternals.h

-			$(XMLINCLUDEDIR)pattern.h

-			$(XMLINCLUDEDIR)relaxng.h

-			$(XMLINCLUDEDIR)SAX.h

-			$(XMLINCLUDEDIR)SAX2.h

-			$(XMLINCLUDEDIR)schemasInternals.h

-			$(XMLINCLUDEDIR)threads.h

-			$(XMLINCLUDEDIR)tree.h

-			$(XMLINCLUDEDIR)uri.h

-			$(XMLINCLUDEDIR)valid.h

-			$(XMLINCLUDEDIR)xinclude.h

-			$(XMLINCLUDEDIR)xlink.h

-			$(XMLINCLUDEDIR)xmlautomata.h

-			$(XMLINCLUDEDIR)xmlerror.h

-			$(XMLINCLUDEDIR)xmlexports.h

-			$(XMLINCLUDEDIR)xmlIO.h

-			$(XMLINCLUDEDIR)xmlmemory.h

-			$(XMLINCLUDEDIR)xmlmodule.h

-			$(XMLINCLUDEDIR)xmlreader.h

-			$(XMLINCLUDEDIR)xmlregexp.h

-			$(XMLINCLUDEDIR)xmlsave.h

-			$(XMLINCLUDEDIR)xmlschemas.h

-			$(XMLINCLUDEDIR)xmlschemastypes.h

-			$(XMLINCLUDEDIR)xmlstring.h

-			$(XMLINCLUDEDIR)xmlunicode.h

-			$(XMLINCLUDEDIR)xmlversion.h			

-			$(XMLINCLUDEDIR)xmlwriter.h

-			$(XMLINCLUDEDIR)xpath.h

-			$(XMLINCLUDEDIR)xpathInternals.h

-			$(XMLINCLUDEDIR)xpointer.h

-		</headers>

-

-		<!-- these ones are not inside the include/libxml folder -->

-		<headers>

-			$(XMLBASEDIR)$(DIRSEP)libxml.h

-			$(XMLBASEDIR)$(DIRSEP)triodef.h

-			$(XMLBASEDIR)$(DIRSEP)trionan.h

-			$(XMLBASEDIR)$(DIRSEP)include$(DIRSEP)wsockcompat.h			

-       </headers>

-    </lib>

-

-

-

-    <!--                                                -->

-    <!--               LIBXML2 test programs            -->

-    <!--                                                -->

-	

-	<set var="BUILD_ALL_TESTS">

-

-		<!-- when using full options support with MSVC6PRJ we should

-		     avoid to create all the DSP files required for the test

-			 programs: they would take a _lot_ of space !! -->

-		<if cond="FORMAT=='msvc6prj' and FULL_OPTIONS_SUPPORT=='1'">0</if>

-

-		<!-- when creating a makefile or using MSVC6PRJ with limited

-		     options support, then we can build all the tests safely -->

-		<if cond="FORMAT!='msvc6prj' or FULL_OPTIONS_SUPPORT=='0'">1</if>

-

-	</set>

-

-    <if cond="BUILD_ALL_TESTS=='1'">

-

-		<exe id="testAutomata" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testAutomata.c</sources></exe>

-		<exe id="testC14N" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testC14N.c</sources></exe>

-		<exe id="testHTML" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testHTML.c</sources></exe>

-		<exe id="testReader" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testReader.c</sources></exe>

-		<exe id="testRegexp" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testRegexp.c</sources></exe>

-		<exe id="testRelax" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testRelax.c</sources></exe>

-		<exe id="testSax" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testSax.c</sources></exe>

-		<exe id="testSchemas" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testSchemas.c</sources></exe>

-		<exe id="testURI" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testURI.c</sources></exe>

-		<exe id="testXPath" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testXPath.c</sources></exe>

-		<exe id="xmllint" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)xmllint.c</sources></exe>

-

-		<if cond="FORMAT=='autoconf'">

-			<exe id="testdso" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testdso.c</sources></exe>

-		</if>

-

-	<!-- FIXME:

-		<exe id="testModule" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testModule.c</sources></exe>

-

-		<if cond="WITH_THREADS!='no'">

-			<exe id="testThreads" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testThreads.c</sources></exe>

-		</if>

-	-->

-	</if>

-

-</makefile>

diff --git a/buf.c b/buf.c
index 11be3c6..f876ea9 100644
--- a/buf.c
+++ b/buf.c
@@ -17,18 +17,20 @@
 
 #include <string.h> /* for memset() only ! */
 #include <limits.h>
-#ifdef HAVE_CTYPE_H
 #include <ctype.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #include <libxml/tree.h>
 #include <libxml/globals.h>
 #include <libxml/tree.h>
 #include <libxml/parserInternals.h> /* for XML_MAX_TEXT_LENGTH */
-#include "buf.h"
+
+#include "private/buf.h"
+#include "private/error.h"
+
+#ifndef SIZE_MAX
+#define SIZE_MAX ((size_t) -1)
+#endif
 
 #define WITH_BUFFER_COMPAT
 
@@ -127,14 +129,13 @@
 	xmlBufMemoryError(NULL, "creating buffer");
         return(NULL);
     }
-    ret->compat_use = 0;
     ret->use = 0;
     ret->error = 0;
     ret->buffer = NULL;
     ret->size = xmlDefaultBufferSize;
-    ret->compat_size = xmlDefaultBufferSize;
+    UPDATE_COMPAT(ret);
     ret->alloc = xmlBufferAllocScheme;
-    ret->content = (xmlChar *) xmlMallocAtomic(ret->size * sizeof(xmlChar));
+    ret->content = (xmlChar *) xmlMallocAtomic(ret->size);
     if (ret->content == NULL) {
 	xmlBufMemoryError(ret, "creating buffer");
 	xmlFree(ret);
@@ -156,20 +157,21 @@
 xmlBufCreateSize(size_t size) {
     xmlBufPtr ret;
 
+    if (size == SIZE_MAX)
+        return(NULL);
     ret = (xmlBufPtr) xmlMalloc(sizeof(xmlBuf));
     if (ret == NULL) {
 	xmlBufMemoryError(NULL, "creating buffer");
         return(NULL);
     }
-    ret->compat_use = 0;
     ret->use = 0;
     ret->error = 0;
     ret->buffer = NULL;
     ret->alloc = xmlBufferAllocScheme;
-    ret->size = (size ? size+2 : 0);         /* +1 for ending null */
-    ret->compat_size = (int) ret->size;
+    ret->size = (size ? size + 1 : 0);         /* +1 for ending null */
+    UPDATE_COMPAT(ret);
     if (ret->size){
-        ret->content = (xmlChar *) xmlMallocAtomic(ret->size * sizeof(xmlChar));
+        ret->content = (xmlChar *) xmlMallocAtomic(ret->size);
         if (ret->content == NULL) {
 	    xmlBufMemoryError(ret, "creating buffer");
             xmlFree(ret);
@@ -198,8 +200,6 @@
 
     if (buf == NULL)
         return(NULL);
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE)
-        return(NULL);
     if (buf->buffer != NULL)
         return(NULL);
     if (buf->error)
@@ -209,52 +209,11 @@
     buf->content = NULL;
     buf->size = 0;
     buf->use = 0;
-    buf->compat_use = 0;
-    buf->compat_size = 0;
+    UPDATE_COMPAT(buf);
 
     return ret;
 }
 
-
-/**
- * xmlBufCreateStatic:
- * @mem: the memory area
- * @size:  the size in byte
- *
- * routine to create an XML buffer from an immutable memory area.
- * The area won't be modified nor copied, and is expected to be
- * present until the end of the buffer lifetime.
- *
- * returns the new structure.
- */
-xmlBufPtr
-xmlBufCreateStatic(void *mem, size_t size) {
-    xmlBufPtr ret;
-
-    if (mem == NULL)
-        return(NULL);
-
-    ret = (xmlBufPtr) xmlMalloc(sizeof(xmlBuf));
-    if (ret == NULL) {
-	xmlBufMemoryError(NULL, "creating buffer");
-        return(NULL);
-    }
-    if (size < INT_MAX) {
-        ret->compat_use = size;
-        ret->compat_size = size;
-    } else {
-        ret->compat_use = INT_MAX;
-        ret->compat_size = INT_MAX;
-    }
-    ret->use = size;
-    ret->size = size;
-    ret->alloc = XML_BUFFER_ALLOC_IMMUTABLE;
-    ret->content = (xmlChar *) mem;
-    ret->error = 0;
-    ret->buffer = NULL;
-    return(ret);
-}
-
 /**
  * xmlBufGetAllocationScheme:
  * @buf:  the buffer
@@ -294,13 +253,11 @@
 #endif
         return(-1);
     }
-    if ((buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) ||
-        (buf->alloc == XML_BUFFER_ALLOC_IO))
+    if (buf->alloc == XML_BUFFER_ALLOC_IO)
         return(-1);
     if ((scheme == XML_BUFFER_ALLOC_DOUBLEIT) ||
         (scheme == XML_BUFFER_ALLOC_EXACT) ||
         (scheme == XML_BUFFER_ALLOC_HYBRID) ||
-        (scheme == XML_BUFFER_ALLOC_IMMUTABLE) ||
 	(scheme == XML_BUFFER_ALLOC_BOUNDED)) {
 	buf->alloc = scheme;
         if (buf->buffer)
@@ -338,8 +295,7 @@
     if ((buf->alloc == XML_BUFFER_ALLOC_IO) &&
         (buf->contentIO != NULL)) {
         xmlFree(buf->contentIO);
-    } else if ((buf->content != NULL) &&
-        (buf->alloc != XML_BUFFER_ALLOC_IMMUTABLE)) {
+    } else if (buf->content != NULL) {
         xmlFree(buf->content);
     }
     xmlFree(buf);
@@ -357,9 +313,7 @@
     if (buf->content == NULL) return;
     CHECK_COMPAT(buf)
     buf->use = 0;
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) {
-        buf->content = BAD_CAST "";
-    } else if ((buf->alloc == XML_BUFFER_ALLOC_IO) &&
+    if ((buf->alloc == XML_BUFFER_ALLOC_IO) &&
                (buf->contentIO != NULL)) {
         size_t start_buf = buf->content - buf->contentIO;
 
@@ -392,8 +346,7 @@
     if (len > buf->use) return(0);
 
     buf->use -= len;
-    if ((buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) ||
-        ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL))) {
+    if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
 	/*
 	 * we just move the content pointer, but also make sure
 	 * the perceived buffer size has shrunk accordingly
@@ -441,30 +394,25 @@
     if ((buf == NULL) || (buf->error != 0)) return(0);
     CHECK_COMPAT(buf)
 
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
-    if (buf->use + len < buf->size)
-        return(buf->size - buf->use);
+    if (len < buf->size - buf->use)
+        return(buf->size - buf->use - 1);
+    if (len >= SIZE_MAX - buf->use) {
+        xmlBufMemoryError(buf, "growing buffer past SIZE_MAX");
+        return(0);
+    }
 
-    /*
-     * Windows has a BIG problem on realloc timing, so we try to double
-     * the buffer size (if that's enough) (bug 146697)
-     * Apparently BSD too, and it's probably best for linux too
-     * On an embedded system this may be something to change
-     */
-#if 1
-    if (buf->size > (size_t) len)
-        size = buf->size * 2;
-    else
-        size = buf->use + len + 100;
-#else
-    size = buf->use + len + 100;
-#endif
+    if (buf->size > (size_t) len) {
+        size = buf->size > SIZE_MAX / 2 ? SIZE_MAX : buf->size * 2;
+    } else {
+        size = buf->use + len;
+        size = size > SIZE_MAX - 100 ? SIZE_MAX : size + 100;
+    }
 
     if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
         /*
 	 * Used to provide parsing limits
 	 */
-        if ((buf->use + len >= XML_MAX_TEXT_LENGTH) ||
+        if ((buf->use + len + 1 >= XML_MAX_TEXT_LENGTH) ||
 	    (buf->size >= XML_MAX_TEXT_LENGTH)) {
 	    xmlBufMemoryError(buf, "buffer error: text too long\n");
 	    return(0);
@@ -492,7 +440,7 @@
     }
     buf->size = size;
     UPDATE_COMPAT(buf)
-    return(buf->size - buf->use);
+    return(buf->size - buf->use - 1);
 }
 
 /**
@@ -515,25 +463,7 @@
     ret = xmlBufGrowInternal(buf, len);
     if (buf->error != 0)
         return(-1);
-    return((int) ret);
-}
-
-/**
- * xmlBufInflate:
- * @buf:  the buffer
- * @len:  the minimum extra free size to allocate
- *
- * Grow the available space of an XML buffer, adding at least @len bytes
- *
- * Returns 0 if successful or -1 in case of error
- */
-int
-xmlBufInflate(xmlBufPtr buf, size_t len) {
-    if (buf == NULL) return(-1);
-    xmlBufGrowInternal(buf, len + buf->size);
-    if (buf->error)
-        return(-1);
-    return(0);
+    return(ret > INT_MAX ? INT_MAX : ret);
 }
 
 /**
@@ -565,7 +495,7 @@
     CHECK_COMPAT(buf)
     if (file == NULL)
 	file = stdout;
-    ret = fwrite(buf->content, sizeof(xmlChar), buf->use, file);
+    ret = fwrite(buf->content, 1, buf->use, file);
     return(ret);
 }
 
@@ -622,34 +552,9 @@
     if ((buf == NULL) || (buf->error))
         return(-1);
     CHECK_COMPAT(buf)
-    if (len > (buf->size - buf->use))
+    if (len >= (buf->size - buf->use))
         return(-1);
     buf->use += len;
-    UPDATE_COMPAT(buf)
-    if (buf->size > buf->use)
-        buf->content[buf->use] = 0;
-    else
-        return(-1);
-    return(0);
-}
-
-/**
- * xmlBufErase:
- * @buf:  the buffer
- * @len:  the size to erase at the end
- *
- * Sometime data need to be erased at the end of the buffer
- *
- * Returns -1 in case of error and 0 otherwise
- */
-int
-xmlBufErase(xmlBufPtr buf, size_t len) {
-    if ((buf == NULL) || (buf->error))
-        return(-1);
-    CHECK_COMPAT(buf)
-    if (len > buf->use)
-        return(-1);
-    buf->use -= len;
     buf->content[buf->use] = 0;
     UPDATE_COMPAT(buf)
     return(0);
@@ -698,10 +603,11 @@
  * @buf:  the buffer
  *
  * Function to find how much free space is allocated but not
- * used in the buffer. It does not account for the terminating zero
- * usually needed
+ * used in the buffer. It reserves one byte for the NUL
+ * terminator character that is usually needed, so there is
+ * no need to subtract 1 from the result anymore.
  *
- * Returns the amount or 0 if none or an error occurred
+ * Returns the amount, or 0 if none or if an error occurred.
  */
 
 size_t
@@ -711,7 +617,7 @@
         return 0;
     CHECK_COMPAT(buf)
 
-    return(buf->size - buf->use);
+    return((buf->size > buf->use) ? (buf->size - buf->use - 1) : 0);
 }
 
 /**
@@ -744,7 +650,7 @@
 int
 xmlBufResize(xmlBufPtr buf, size_t size)
 {
-    unsigned int newSize;
+    size_t newSize;
     xmlChar* rebuf = NULL;
     size_t start_buf;
 
@@ -752,7 +658,6 @@
         return(0);
     CHECK_COMPAT(buf)
 
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
     if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
         /*
 	 * Used to provide parsing limits
@@ -772,9 +677,13 @@
 	case XML_BUFFER_ALLOC_IO:
 	case XML_BUFFER_ALLOC_DOUBLEIT:
 	    /*take care of empty case*/
-	    newSize = (buf->size ? buf->size*2 : size + 10);
+            if (buf->size == 0) {
+                newSize = (size > SIZE_MAX - 10 ? SIZE_MAX : size + 10);
+            } else {
+                newSize = buf->size;
+            }
 	    while (size > newSize) {
-	        if (newSize > UINT_MAX / 2) {
+	        if (newSize > SIZE_MAX / 2) {
 	            xmlBufMemoryError(buf, "growing buffer");
 	            return 0;
 	        }
@@ -782,15 +691,15 @@
 	    }
 	    break;
 	case XML_BUFFER_ALLOC_EXACT:
-	    newSize = size+10;
+            newSize = (size > SIZE_MAX - 10 ? SIZE_MAX : size + 10);
 	    break;
         case XML_BUFFER_ALLOC_HYBRID:
             if (buf->use < BASE_BUFFER_SIZE)
                 newSize = size;
             else {
-                newSize = buf->size * 2;
+                newSize = buf->size;
                 while (size > newSize) {
-                    if (newSize > UINT_MAX / 2) {
+                    if (newSize > SIZE_MAX / 2) {
                         xmlBufMemoryError(buf, "growing buffer");
                         return 0;
                     }
@@ -800,7 +709,7 @@
             break;
 
 	default:
-	    newSize = size+10;
+            newSize = (size > SIZE_MAX - 10 ? SIZE_MAX : size + 10);
 	    break;
     }
 
@@ -825,6 +734,9 @@
     } else {
 	if (buf->content == NULL) {
 	    rebuf = (xmlChar *) xmlMallocAtomic(newSize);
+	    buf->use = 0;
+            if (rebuf != NULL)
+	        rebuf[buf->use] = 0;
 	} else if (buf->size - buf->use < 100) {
 	    rebuf = (xmlChar *) xmlRealloc(buf->content, newSize);
         } else {
@@ -866,13 +778,12 @@
  */
 int
 xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len) {
-    unsigned int needSize;
+    size_t needSize;
 
     if ((str == NULL) || (buf == NULL) || (buf->error))
 	return -1;
     CHECK_COMPAT(buf)
 
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
     if (len < -1) {
 #ifdef DEBUG_BUFFER
         xmlGenericError(xmlGenericErrorContext,
@@ -888,8 +799,13 @@
     if (len < 0) return -1;
     if (len == 0) return 0;
 
-    needSize = buf->use + len + 2;
-    if (needSize > buf->size){
+    /* Note that both buf->size and buf->use can be zero here. */
+    if ((size_t) len >= buf->size - buf->use) {
+        if ((size_t) len >= SIZE_MAX - buf->use) {
+            xmlBufMemoryError(buf, "growing buffer past SIZE_MAX");
+            return(-1);
+        }
+        needSize = buf->use + len + 1;
 	if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
 	    /*
 	     * Used to provide parsing limits
@@ -905,88 +821,7 @@
         }
     }
 
-    memmove(&buf->content[buf->use], str, len*sizeof(xmlChar));
-    buf->use += len;
-    buf->content[buf->use] = 0;
-    UPDATE_COMPAT(buf)
-    return 0;
-}
-
-/**
- * xmlBufAddHead:
- * @buf:  the buffer
- * @str:  the #xmlChar string
- * @len:  the number of #xmlChar to add
- *
- * Add a string range to the beginning of an XML buffer.
- * if len == -1, the length of @str is recomputed.
- *
- * Returns 0 successful, a positive error code number otherwise
- *         and -1 in case of internal or API error.
- */
-int
-xmlBufAddHead(xmlBufPtr buf, const xmlChar *str, int len) {
-    unsigned int needSize;
-
-    if ((buf == NULL) || (buf->error))
-        return(-1);
-    CHECK_COMPAT(buf)
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
-    if (str == NULL) {
-#ifdef DEBUG_BUFFER
-        xmlGenericError(xmlGenericErrorContext,
-		"xmlBufAddHead: str == NULL\n");
-#endif
-	return -1;
-    }
-    if (len < -1) {
-#ifdef DEBUG_BUFFER
-        xmlGenericError(xmlGenericErrorContext,
-		"xmlBufAddHead: len < 0\n");
-#endif
-	return -1;
-    }
-    if (len == 0) return 0;
-
-    if (len < 0)
-        len = xmlStrlen(str);
-
-    if (len <= 0) return -1;
-
-    if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
-        size_t start_buf = buf->content - buf->contentIO;
-
-	if (start_buf > (unsigned int) len) {
-	    /*
-	     * We can add it in the space previously shrunk
-	     */
-	    buf->content -= len;
-            memmove(&buf->content[0], str, len);
-	    buf->use += len;
-	    buf->size += len;
-	    UPDATE_COMPAT(buf)
-	    return(0);
-	}
-    }
-    needSize = buf->use + len + 2;
-    if (needSize > buf->size){
-	if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
-	    /*
-	     * Used to provide parsing limits
-	     */
-	    if (needSize >= XML_MAX_TEXT_LENGTH) {
-		xmlBufMemoryError(buf, "buffer error: text too long\n");
-		return(-1);
-	    }
-	}
-        if (!xmlBufResize(buf, needSize)){
-	    xmlBufMemoryError(buf, "growing buffer");
-            return XML_ERR_NO_MEMORY;
-        }
-    }
-
-    memmove(&buf->content[len], &buf->content[0], buf->use);
-    memmove(&buf->content[0], str, len);
+    memmove(&buf->content[buf->use], str, len);
     buf->use += len;
     buf->content[buf->use] = 0;
     UPDATE_COMPAT(buf)
@@ -1008,7 +843,6 @@
     if ((buf == NULL) || (buf->error))
         return(-1);
     CHECK_COMPAT(buf)
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
     if (str == NULL) return -1;
     return xmlBufAdd(buf, str, -1);
 }
@@ -1025,77 +859,10 @@
  */
 int
 xmlBufCCat(xmlBufPtr buf, const char *str) {
-    const char *cur;
-
-    if ((buf == NULL) || (buf->error))
-        return(-1);
-    CHECK_COMPAT(buf)
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
-    if (str == NULL) {
-#ifdef DEBUG_BUFFER
-        xmlGenericError(xmlGenericErrorContext,
-		"xmlBufCCat: str == NULL\n");
-#endif
-	return -1;
-    }
-    for (cur = str;*cur != 0;cur++) {
-        if (buf->use  + 10 >= buf->size) {
-            if (!xmlBufResize(buf, buf->use+10)){
-		xmlBufMemoryError(buf, "growing buffer");
-                return XML_ERR_NO_MEMORY;
-            }
-        }
-        buf->content[buf->use++] = *cur;
-    }
-    buf->content[buf->use] = 0;
-    UPDATE_COMPAT(buf)
-    return 0;
+    return xmlBufCat(buf, (const xmlChar *) str);
 }
 
 /**
- * xmlBufWriteCHAR:
- * @buf:  the XML buffer
- * @string:  the string to add
- *
- * routine which manages and grows an output buffer. This one adds
- * xmlChars at the end of the buffer.
- *
- * Returns 0 if successful, a positive error code number otherwise
- *         and -1 in case of internal or API error.
- */
-int
-xmlBufWriteCHAR(xmlBufPtr buf, const xmlChar *string) {
-    if ((buf == NULL) || (buf->error))
-        return(-1);
-    CHECK_COMPAT(buf)
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE)
-        return(-1);
-    return(xmlBufCat(buf, string));
-}
-
-/**
- * xmlBufWriteChar:
- * @buf:  the XML buffer output
- * @string:  the string to add
- *
- * routine which manage and grows an output buffer. This one add
- * C chars at the end of the array.
- *
- * Returns 0 if successful, a positive error code number otherwise
- *         and -1 in case of internal or API error.
- */
-int
-xmlBufWriteChar(xmlBufPtr buf, const char *string) {
-    if ((buf == NULL) || (buf->error))
-        return(-1);
-    CHECK_COMPAT(buf)
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE)
-        return(-1);
-    return(xmlBufCCat(buf, string));
-}
-
-
-/**
  * xmlBufWriteQuotedString:
  * @buf:  the XML buffer output
  * @string:  the string to add
@@ -1113,8 +880,6 @@
     if ((buf == NULL) || (buf->error))
         return(-1);
     CHECK_COMPAT(buf)
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE)
-        return(-1);
     if (xmlStrchr(string, '\"')) {
         if (xmlStrchr(string, '\'')) {
 #ifdef DEBUG_BUFFER
@@ -1177,8 +942,7 @@
     }
     ret->use = buffer->use;
     ret->size = buffer->size;
-    ret->compat_use = buffer->use;
-    ret->compat_size = buffer->size;
+    UPDATE_COMPAT(ret);
     ret->error = 0;
     ret->buffer = buffer;
     ret->alloc = buffer->alloc;
@@ -1233,11 +997,11 @@
          * Keep the buffer but provide a truncated size value.
          */
         xmlBufOverflowError(buf, "Allocated size too big for xmlBuffer");
-        ret->use = (int) buf->use;
+        ret->use = buf->use;
         ret->size = INT_MAX;
     } else {
-        ret->use = (int) buf->use;
-        ret->size = (int) buf->size;
+        ret->use = buf->use;
+        ret->size = buf->size;
     }
     ret->alloc = buf->alloc;
     ret->content = buf->content;
@@ -1305,7 +1069,7 @@
     size_t base;
 
     if ((input == NULL) || (buf == NULL) || (buf->error))
-        return(-1);
+        return(0);
     CHECK_COMPAT(buf)
     base = input->base - buf->content;
     /*
diff --git a/buf.h b/buf.h
deleted file mode 100644
index ebdc978..0000000
--- a/buf.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Summary: Internal Interfaces for memory buffers in libxml2
- * Description: this module describes most of the new xmlBuf buffer
- *              entry points, those are private routines, with a
- *              few exceptions exported in tree.h. This was added
- *              in 2.9.0.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_BUF_H__
-#define __XML_BUF_H__
-
-#include <libxml/tree.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-xmlBufPtr xmlBufCreate(void);
-xmlBufPtr xmlBufCreateSize(size_t size);
-xmlBufPtr xmlBufCreateStatic(void *mem, size_t size);
-
-int xmlBufSetAllocationScheme(xmlBufPtr buf,
-                              xmlBufferAllocationScheme scheme);
-int xmlBufGetAllocationScheme(xmlBufPtr buf);
-
-void xmlBufFree(xmlBufPtr buf);
-void xmlBufEmpty(xmlBufPtr buf);
-
-/* size_t xmlBufShrink(xmlBufPtr buf, size_t len); */
-int xmlBufGrow(xmlBufPtr buf, int len);
-int xmlBufInflate(xmlBufPtr buf, size_t len);
-int xmlBufResize(xmlBufPtr buf, size_t len);
-
-int xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len);
-int xmlBufAddHead(xmlBufPtr buf, const xmlChar *str, int len);
-int xmlBufCat(xmlBufPtr buf, const xmlChar *str);
-int xmlBufCCat(xmlBufPtr buf, const char *str);
-int xmlBufWriteCHAR(xmlBufPtr buf, const xmlChar *string);
-int xmlBufWriteChar(xmlBufPtr buf, const char *string);
-int xmlBufWriteQuotedString(xmlBufPtr buf, const xmlChar *string);
-
-size_t xmlBufAvail(const xmlBufPtr buf);
-size_t xmlBufLength(const xmlBufPtr buf);
-/* size_t xmlBufUse(const xmlBufPtr buf); */
-int xmlBufIsEmpty(const xmlBufPtr buf);
-int xmlBufAddLen(xmlBufPtr buf, size_t len);
-int xmlBufErase(xmlBufPtr buf, size_t len);
-
-/* const xmlChar * xmlBufContent(const xmlBuf *buf); */
-/* const xmlChar * xmlBufEnd(xmlBufPtr buf); */
-
-xmlChar * xmlBufDetach(xmlBufPtr buf);
-
-size_t xmlBufDump(FILE *file, xmlBufPtr buf);
-
-xmlBufPtr xmlBufFromBuffer(xmlBufferPtr buffer);
-xmlBufferPtr xmlBufBackToBuffer(xmlBufPtr buf);
-int xmlBufMergeBuffer(xmlBufPtr buf, xmlBufferPtr buffer);
-
-int xmlBufResetInput(xmlBufPtr buf, xmlParserInputPtr input);
-size_t xmlBufGetInputBase(xmlBufPtr buf, xmlParserInputPtr input);
-int xmlBufSetInputBaseCur(xmlBufPtr buf, xmlParserInputPtr input,
-                          size_t base, size_t cur);
-#ifdef __cplusplus
-}
-#endif
-#endif /* __XML_BUF_H__ */
-
diff --git a/build_glob.py b/build_glob.py
index 8855ec7..20c3f97 100755
--- a/build_glob.py
+++ b/build_glob.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#!/usr/bin/env python3
 ###
 #
 #       build_glob.py : Build the global_functions.h and global_functions.c
@@ -9,7 +9,6 @@
 #       See Copyright for the status of this software.
 #       Gary.Pennington@sun.com
 ###
-import os, string
 
 class globvar:
     def __init__(self, type, name):
@@ -41,8 +40,8 @@
     for line in global_hdr:
         line = striplinesep(line)
         if line == " * Automatically generated by build_glob.py.":
-	    break
-	writeline(global_functions_hdr, line)
+            break
+        writeline(global_functions_hdr, line)
 
     writeline(global_functions_hdr, " * Automatically generated by build_glob.py.")
     writeline(global_functions_hdr, " * Do not modify the previous line.")
@@ -52,8 +51,8 @@
     for line in global_code:
         line = striplinesep(line)
         if line == " * Automatically generated by build_glob.py.":
-	    break
-	writeline(global_functions_impl, line)
+            break
+        writeline(global_functions_impl, line)
 
     writeline(global_functions_impl, " * Automatically generated by build_glob.py.")
     writeline(global_functions_impl, " * Do not modify the previous line.")
@@ -65,10 +64,10 @@
         if line[0]=='#':
             continue
         line = striplinesep(line)
-        fields = string.split(line, ",")
+        fields = line.split(",")
         # Update the header file
         writeline(global_functions_hdr)
-        global_functions_hdr.write("extern "+fields[0]+" *")
+        global_functions_hdr.write("XMLPUBFUN "+fields[0]+" *\n\t")
         if fields[2]:
             global_functions_hdr.write("(*")
         global_functions_hdr.write("__"+fields[1]+"(void)")
@@ -80,13 +79,13 @@
         writeline(global_functions_hdr,"(*(__"+fields[1]+"()))")
         writeline(global_functions_hdr,"#else")
         if fields[2]:
-            writeline(global_functions_hdr,"LIBXML_DLL_IMPORT extern "+fields[0]+" "+fields[1]+fields[2]+";")
+            writeline(global_functions_hdr,"XMLPUBVAR "+fields[0]+" "+fields[1]+fields[2]+";")
         else:
-            writeline(global_functions_hdr,"LIBXML_DLL_IMPORT extern "+fields[0]+" "+fields[1]+";")
+            writeline(global_functions_hdr,"XMLPUBVAR "+fields[0]+" "+fields[1]+";")
         writeline(global_functions_hdr,"#endif")
         # set/get for per-thread global defaults
         if fields[3]:
-            writeline(global_functions_hdr,fields[0]+" "+fields[1][:3]+"ThrDef"+fields[1][3:]+"("+fields[0]+" v);")
+            writeline(global_functions_hdr,"XMLPUBFUN "+fields[0]+" "+fields[1][:3]+"ThrDef"+fields[1][3:]+"("+fields[0]+" v);")
         # Update the implementation file
         writeline(global_functions_impl)
 #        writeline(global_functions_impl, "extern "+fields[0]+" "+fields[1]+";")
diff --git a/c14n.c b/c14n.c
index 82f2751..35fcf35 100644
--- a/c14n.c
+++ b/c14n.c
@@ -12,11 +12,8 @@
 #define IN_LIBXML
 #include "libxml.h"
 #ifdef LIBXML_C14N_ENABLED
-#ifdef LIBXML_OUTPUT_ENABLED
 
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 #include <string.h>
 
 #include <libxml/tree.h>
@@ -27,7 +24,8 @@
 #include <libxml/xpathInternals.h>
 #include <libxml/c14n.h>
 
-#include "buf.h"
+#include "private/buf.h"
+#include "private/error.h"
 
 /************************************************************************
  *									*
@@ -288,7 +286,7 @@
         xmlC14NErrMemory("creating namespaces stack");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlC14NVisibleNsStack));
+    memset(ret, 0, sizeof(xmlC14NVisibleNsStack));
     return(ret);
 }
 
@@ -1659,9 +1657,6 @@
             break;
         case XML_DOCUMENT_NODE:
         case XML_DOCUMENT_FRAG_NODE:   /* should be processed as document? */
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:   /* should be processed as document? */
-#endif
 #ifdef LIBXML_HTML_ENABLED
         case XML_HTML_DOCUMENT_NODE:   /* should be processed as document? */
 #endif
@@ -2120,7 +2115,7 @@
 #define growBufferReentrant() {						\
     buffer_size *= 2;							\
     buffer = (xmlChar *)						\
-		xmlRealloc(buffer, buffer_size * sizeof(xmlChar));	\
+		xmlRealloc(buffer, buffer_size);			\
     if (buffer == NULL) {						\
 	xmlC14NErrMemory("growing buffer");				\
 	return(NULL);							\
@@ -2155,7 +2150,7 @@
      * allocate an translation buffer.
      */
     buffer_size = 1000;
-    buffer = (xmlChar *) xmlMallocAtomic(buffer_size * sizeof(xmlChar));
+    buffer = (xmlChar *) xmlMallocAtomic(buffer_size);
     if (buffer == NULL) {
 	xmlC14NErrMemory("allocating buffer");
         return (NULL);
@@ -2228,6 +2223,5 @@
     *out = 0;
     return (buffer);
 }
-#endif /* LIBXML_OUTPUT_ENABLED */
 
 #endif /* LIBXML_C14N_ENABLED */
diff --git a/catalog.c b/catalog.c
index f559978..24a49f3 100644
--- a/catalog.c
+++ b/catalog.c
@@ -16,22 +16,19 @@
 #include "libxml.h"
 
 #ifdef LIBXML_CATALOG_ENABLED
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
+#include <stdlib.h>
+#include <string.h>
 #ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
 #endif
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#elif defined (_WIN32)
+#include <io.h>
 #endif
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#include <string.h>
 #include <libxml/xmlmemory.h>
 #include <libxml/hash.h>
 #include <libxml/uri.h>
@@ -41,7 +38,8 @@
 #include <libxml/threads.h>
 #include <libxml/globals.h>
 
-#include "buf.h"
+#include "private/buf.h"
+#include "private/error.h"
 
 #define MAX_DELEGATE	50
 #define MAX_CATAL_DEPTH	50
@@ -70,26 +68,20 @@
 #define XML_URN_PUBID "urn:publicid:"
 #define XML_CATAL_BREAK ((xmlChar *) -1)
 #ifndef XML_XML_DEFAULT_CATALOG
-#define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog"
+#define XML_XML_DEFAULT_CATALOG "file://" SYSCONFDIR "/xml/catalog"
 #endif
 #ifndef XML_SGML_DEFAULT_CATALOG
-#define XML_SGML_DEFAULT_CATALOG "file:///etc/sgml/catalog"
+#define XML_SGML_DEFAULT_CATALOG "file://" SYSCONFDIR "/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";
-#if defined(_WIN32_WCE)
-/* Windows CE don't have a A variant */
-#define GetModuleHandleA GetModuleHandle
-#define GetModuleFileNameA GetModuleFileName
-#else
+static char XML_XML_DEFAULT_CATALOG[256] = "file://" SYSCONFDIR "/xml/catalog";
 #if !defined(_WINDOWS_)
 void* __stdcall GetModuleHandleA(const char*);
 unsigned long __stdcall GetModuleFileNameA(void*, char*, unsigned long);
 #endif
 #endif
-#endif
 
 static xmlChar *xmlCatalogNormalizePublic(const xmlChar *pubID);
 static int xmlExpandCatalog(xmlCatalogPtr catal, const char *filename);
@@ -899,11 +891,7 @@
 
     ctxt = xmlNewParserCtxt();
     if (ctxt == NULL) {
-#ifdef LIBXML_SAX1_ENABLED
-	if (xmlDefaultSAXHandler.error != NULL) {
-	    xmlDefaultSAXHandler.error(NULL, "out of memory\n");
-	}
-#endif
+        xmlCatalogErrMemory("allocating parser context");
 	return(NULL);
     }
 
@@ -2185,7 +2173,6 @@
     int len = 0;
     int size = 50;
     xmlChar stop;
-    int count = 0;
 
     *id = NULL;
 
@@ -2198,7 +2185,7 @@
     } else {
 	stop = ' ';
     }
-    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+    buf = (xmlChar *) xmlMallocAtomic(size);
     if (buf == NULL) {
         xmlCatalogErrMemory("allocating public ID");
 	return(NULL);
@@ -2210,7 +2197,7 @@
 	    break;
 	if (len + 1 >= size) {
 	    size *= 2;
-	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    tmp = (xmlChar *) xmlRealloc(buf, size);
 	    if (tmp == NULL) {
 		xmlCatalogErrMemory("allocating public ID");
 		xmlFree(buf);
@@ -2219,7 +2206,6 @@
 	    buf = tmp;
 	}
 	buf[len++] = *cur;
-	count++;
 	NEXT;
     }
     buf[len] = 0;
@@ -2983,6 +2969,8 @@
 	    if (catal->sgml == NULL)
 		catal->sgml = xmlHashCreate(10);
             res = xmlHashAddEntry(catal->sgml, orig, entry);
+            if (res < 0)
+                xmlFreeCatalogEntry(entry, NULL);
         }
     }
     return (res);
@@ -3143,7 +3131,7 @@
 					strncpy(p, "\\..\\etc\\catalog", 255 - (p - buf));
 					uri = xmlCanonicPath((const xmlChar*)buf);
 					if (uri != NULL) {
-						strncpy(XML_XML_DEFAULT_CATALOG, uri, 255);
+						strncpy(XML_XML_DEFAULT_CATALOG, (char* )uri, 255);
 						xmlFree(uri);
 					}
 				}
diff --git a/check-relaxng-test-suite.py b/check-relaxng-test-suite.py
index f4a5a69..4372ddc 100755
--- a/check-relaxng-test-suite.py
+++ b/check-relaxng-test-suite.py
@@ -1,9 +1,13 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
 import sys
 import time
 import os
-import string
-import StringIO
+try:
+    # Python 2
+    from StringIO import StringIO
+except ImportError:
+    # Python 3
+    from io import StringIO
 sys.path.insert(0, "python")
 import libxml2
 
@@ -45,10 +49,10 @@
 def resolver(URL, ID, ctxt):
     global resources
 
-    if string.find(URL, '#') != -1:
-        URL = URL[0:string.find(URL, '#')]
-    if resources.has_key(URL):
-        return(StringIO.StringIO(resources[URL]))
+    if URL.find('#') != -1:
+        URL = URL[0:URL.find('#')]
+    if URL in resources:
+        return(StringIO(resources[URL]))
     log.write("Resolver failure: asked %s\n" % (URL))
     log.write("resources: %s\n" % (resources))
     return None
@@ -63,7 +67,7 @@
 #    res = libxml2.parseFile(RES)
 #except:
 #    log.write("Could not parse %s" % (RES))
-    
+
 #
 # handle a valid instance
 #
@@ -76,33 +80,33 @@
     child = node.children
     while child != None:
         if child.type != 'text':
-	    instance = instance + child.serialize()
-	child = child.next
+            instance = instance + child.serialize()
+        child = child.next
 
     try:
-	doc = libxml2.parseDoc(instance)
+        doc = libxml2.parseDoc(instance)
     except:
         doc = None
 
-    if doc == None:
+    if doc is None:
         log.write("\nFailed to parse correct instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	nb_instances_failed = nb_instances_failed + 1
-	return
+        nb_instances_failed = nb_instances_failed + 1
+        return
 
     try:
         ctxt = schema.relaxNGNewValidCtxt()
-	ret = doc.relaxNGValidateDoc(ctxt)
+        ret = doc.relaxNGValidateDoc(ctxt)
     except:
         ret = -1
     if ret != 0:
         log.write("\nFailed to validate correct instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	nb_instances_failed = nb_instances_failed + 1
+        nb_instances_failed = nb_instances_failed + 1
     else:
-	nb_instances_success = nb_instances_success + 1
+        nb_instances_success = nb_instances_success + 1
     doc.freeDoc()
 
 #
@@ -117,32 +121,32 @@
     child = node.children
     while child != None:
         if child.type != 'text':
-	    instance = instance + child.serialize()
-	child = child.next
+            instance = instance + child.serialize()
+        child = child.next
 
     try:
-	doc = libxml2.parseDoc(instance)
+        doc = libxml2.parseDoc(instance)
     except:
         doc = None
 
-    if doc == None:
+    if doc is None:
         log.write("\nStrange: failed to parse incorrect instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	return
+        return
 
     try:
         ctxt = schema.relaxNGNewValidCtxt()
-	ret = doc.relaxNGValidateDoc(ctxt)
+        ret = doc.relaxNGValidateDoc(ctxt)
     except:
         ret = -1
     if ret == 0:
         log.write("\nFailed to detect validation problem in instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	nb_instances_failed = nb_instances_failed + 1
+        nb_instances_failed = nb_instances_failed + 1
     else:
-	nb_instances_success = nb_instances_success + 1
+        nb_instances_success = nb_instances_success + 1
     doc.freeDoc()
 
 #
@@ -157,23 +161,23 @@
     child = node.children
     while child != None:
         if child.type != 'text':
-	    schema = schema + child.serialize()
-	child = child.next
+            schema = schema + child.serialize()
+        child = child.next
 
     try:
-	rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-	rngs = rngp.relaxNGParse()
+        rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
+        rngs = rngp.relaxNGParse()
     except:
         rngs = None
-    if rngs == None:
+    if rngs is None:
         log.write("\nFailed to compile correct schema:\n-----\n")
-	log.write(schema)
+        log.write(schema)
         log.write("\n-----\n")
-	nb_schemas_failed = nb_schemas_failed + 1
+        nb_schemas_failed = nb_schemas_failed + 1
     else:
-	nb_schemas_success = nb_schemas_success + 1
+        nb_schemas_success = nb_schemas_success + 1
     return rngs
-        
+
 def handle_incorrect(node):
     global log
     global nb_schemas_success
@@ -183,24 +187,24 @@
     child = node.children
     while child != None:
         if child.type != 'text':
-	    schema = schema + child.serialize()
-	child = child.next
+            schema = schema + child.serialize()
+        child = child.next
 
     try:
-	rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-	rngs = rngp.relaxNGParse()
+        rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
+        rngs = rngp.relaxNGParse()
     except:
         rngs = None
     if rngs != None:
         log.write("\nFailed to detect schema error in:\n-----\n")
-	log.write(schema)
+        log.write(schema)
         log.write("\n-----\n")
-	nb_schemas_failed = nb_schemas_failed + 1
+        nb_schemas_failed = nb_schemas_failed + 1
     else:
-#	log.write("\nSuccess detecting schema error in:\n-----\n")
-#	log.write(schema)
-#	log.write("\n-----\n")
-	nb_schemas_success = nb_schemas_success + 1
+#        log.write("\nSuccess detecting schema error in:\n-----\n")
+#        log.write(schema)
+#        log.write("\n-----\n")
+        nb_schemas_success = nb_schemas_success + 1
     return None
 
 #
@@ -210,14 +214,14 @@
     global resources
 
     try:
-	name = node.prop('name')
+        name = node.prop('name')
     except:
         name = None
 
-    if name == None or name == '':
+    if name is None or name == '':
         log.write("resource has no name")
-	return;
-        
+        return;
+
     if dir != None:
 #        name = libxml2.buildURI(name, dir)
         name = dir + '/' + name
@@ -226,8 +230,8 @@
     child = node.children
     while child != None:
         if child.type != 'text':
-	    res = res + child.serialize()
-	child = child.next
+            res = res + child.serialize()
+        child = child.next
     resources[name] = res
 
 #
@@ -235,14 +239,14 @@
 #
 def handle_dir(node, dir):
     try:
-	name = node.prop('name')
+        name = node.prop('name')
     except:
         name = None
 
-    if name == None or name == '':
+    if name is None or name == '':
         log.write("resource has no name")
-	return;
-        
+        return;
+
     if dir != None:
 #        name = libxml2.buildURI(name, dir)
         name = dir + '/' + name
@@ -268,7 +272,7 @@
               nb_schemas_tests, node.lineNo(), sections))
     resources = {}
     if debug:
-        print "test %d line %d" % (nb_schemas_tests, node.lineNo())
+        print("test %d line %d" % (nb_schemas_tests, node.lineNo()))
 
     dirs = node.xpathEval('dir')
     for dir in dirs:
@@ -280,27 +284,27 @@
     tsts = node.xpathEval('incorrect')
     if tsts != []:
         if len(tsts) != 1:
-	    print "warning test line %d has more than one <incorrect> example" %(node.lineNo())
-	schema = handle_incorrect(tsts[0])
+            print("warning test line %d has more than one <incorrect> example" %(node.lineNo()))
+        schema = handle_incorrect(tsts[0])
     else:
         tsts = node.xpathEval('correct')
-	if tsts != []:
-	    if len(tsts) != 1:
-		print "warning test line %d has more than one <correct> example"% (node.lineNo())
-	    schema = handle_correct(tsts[0])
-	else:
-	    print "warning <testCase> line %d has no <correct> nor <incorrect> child" % (node.lineNo())
+        if tsts != []:
+            if len(tsts) != 1:
+                print("warning test line %d has more than one <correct> example"% (node.lineNo()))
+            schema = handle_correct(tsts[0])
+        else:
+            print("warning <testCase> line %d has no <correct> nor <incorrect> child" % (node.lineNo()))
 
     nb_schemas_tests = nb_schemas_tests + 1;
-    
+
     valids = node.xpathEval('valid')
     invalids = node.xpathEval('invalid')
     nb_instances_tests = nb_instances_tests + len(valids) + len(invalids)
     if schema != None:
         for valid in valids:
-	    handle_valid(valid, schema)
+            handle_valid(valid, schema)
         for invalid in invalids:
-	    handle_invalid(invalid, schema)
+            handle_invalid(invalid, schema)
 
 
 #
@@ -311,53 +315,53 @@
     global nb_instances_tests, nb_instances_success, nb_instances_failed
     global quiet
     if level >= 1:
-	old_schemas_tests = nb_schemas_tests
-	old_schemas_success = nb_schemas_success
-	old_schemas_failed = nb_schemas_failed
-	old_instances_tests = nb_instances_tests
-	old_instances_success = nb_instances_success
-	old_instances_failed = nb_instances_failed
+        old_schemas_tests = nb_schemas_tests
+        old_schemas_success = nb_schemas_success
+        old_schemas_failed = nb_schemas_failed
+        old_instances_tests = nb_instances_tests
+        old_instances_success = nb_instances_success
+        old_instances_failed = nb_instances_failed
 
     docs = node.xpathEval('documentation')
     authors = node.xpathEval('author')
     if docs != []:
         msg = ""
         for doc in docs:
-	    msg = msg + doc.content + " "
-	if authors != []:
-	    msg = msg + "written by "
-	    for author in authors:
-	        msg = msg + author.content + " "
-	if quiet == 0:
-	    print msg
+            msg = msg + doc.content + " "
+        if authors != []:
+            msg = msg + "written by "
+            for author in authors:
+                msg = msg + author.content + " "
+        if quiet == 0:
+            print(msg)
     sections = node.xpathEval('section')
     if sections != [] and level <= 0:
         msg = ""
         for section in sections:
-	    msg = msg + section.content + " "
-	if quiet == 0:
-	    print "Tests for section %s" % (msg)
+            msg = msg + section.content + " "
+        if quiet == 0:
+            print("Tests for section %s" % (msg))
     for test in node.xpathEval('testCase'):
         handle_testCase(test)
     for test in node.xpathEval('testSuite'):
         handle_testSuite(test, level + 1)
-	        
+
 
     if verbose and level >= 1 and sections != []:
         msg = ""
         for section in sections:
-	    msg = msg + section.content + " "
-        print "Result of tests for section %s" % (msg)
+            msg = msg + section.content + " "
+        print("Result of tests for section %s" % (msg))
         if nb_schemas_tests != old_schemas_tests:
-	    print "found %d test schemas: %d success %d failures" % (
-		  nb_schemas_tests - old_schemas_tests,
-		  nb_schemas_success - old_schemas_success,
-		  nb_schemas_failed - old_schemas_failed)
-	if nb_instances_tests != old_instances_tests:
-	    print "found %d test instances: %d success %d failures" % (
-		  nb_instances_tests - old_instances_tests,
-		  nb_instances_success - old_instances_success,
-		  nb_instances_failed - old_instances_failed)
+            print("found %d test schemas: %d success %d failures" % (
+                  nb_schemas_tests - old_schemas_tests,
+                  nb_schemas_success - old_schemas_success,
+                  nb_schemas_failed - old_schemas_failed))
+        if nb_instances_tests != old_instances_tests:
+            print("found %d test instances: %d success %d failures" % (
+                  nb_instances_tests - old_instances_tests,
+                  nb_instances_success - old_instances_success,
+                  nb_instances_failed - old_instances_failed))
 #
 # Parse the conf file
 #
@@ -366,20 +370,20 @@
 libxml2.setEntityLoader(resolver)
 root = testsuite.getRootElement()
 if root.name != 'testSuite':
-    print "%s doesn't start with a testSuite element, aborting" % (CONF)
+    print("%s doesn't start with a testSuite element, aborting" % (CONF))
     sys.exit(1)
 if quiet == 0:
-    print "Running Relax NG testsuite"
+    print("Running Relax NG testsuite")
 handle_testSuite(root)
 
 if quiet == 0:
-    print "\nTOTAL:\n"
+    print("\nTOTAL:\n")
 if quiet == 0 or nb_schemas_failed != 0:
-    print "found %d test schemas: %d success %d failures" % (
-      nb_schemas_tests, nb_schemas_success, nb_schemas_failed)
+    print("found %d test schemas: %d success %d failures" % (
+      nb_schemas_tests, nb_schemas_success, nb_schemas_failed))
 if quiet == 0 or nb_instances_failed != 0:
-    print "found %d test instances: %d success %d failures" % (
-      nb_instances_tests, nb_instances_success, nb_instances_failed)
+    print("found %d test instances: %d success %d failures" % (
+      nb_instances_tests, nb_instances_success, nb_instances_failed))
 
 testsuite.freeDoc()
 
@@ -388,7 +392,7 @@
 libxml2.cleanupParser()
 if libxml2.debugMemory(1) == 0:
     if quiet == 0:
-	print "OK"
+        print("OK")
 else:
-    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
     libxml2.dumpMemory()
diff --git a/check-relaxng-test-suite2.py b/check-relaxng-test-suite2.py
index 8618db7..5f286ce 100755
--- a/check-relaxng-test-suite2.py
+++ b/check-relaxng-test-suite2.py
@@ -1,9 +1,13 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
 import sys
 import time
 import os
-import string
-import StringIO
+try:
+    # Python 2
+    from StringIO import StringIO
+except ImportError:
+    # Python 3
+    from io import StringIO
 sys.path.insert(0, "python")
 import libxml2
 
@@ -34,8 +38,8 @@
 def resolver(URL, ID, ctxt):
     global resources
 
-    if resources.has_key(URL):
-        return(StringIO.StringIO(resources[URL]))
+    if URL in resources:
+        return(StringIO(resources[URL]))
     log.write("Resolver failure: asked %s\n" % (URL))
     log.write("resources: %s\n" % (resources))
     return None
@@ -50,7 +54,7 @@
 #    res = libxml2.parseFile(RES)
 #except:
 #    log.write("Could not parse %s" % (RES))
-    
+
 #
 # handle a valid instance
 #
@@ -60,49 +64,49 @@
     global nb_instances_failed
 
     instance = node.prop("dtd")
-    if instance == None:
+    if instance is None:
         instance = ""
     child = node.children
     while child != None:
         if child.type != 'text':
-	    instance = instance + child.serialize()
-	child = child.next
+            instance = instance + child.serialize()
+        child = child.next
 
 #    mem = libxml2.debugMemory(1);
     try:
-	doc = libxml2.parseDoc(instance)
+        doc = libxml2.parseDoc(instance)
     except:
         doc = None
 
-    if doc == None:
+    if doc is None:
         log.write("\nFailed to parse correct instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	nb_instances_failed = nb_instances_failed + 1
-	return
+        nb_instances_failed = nb_instances_failed + 1
+        return
 
     if debug:
-        print "instance line %d" % (node.lineNo())
-       
+        print("instance line %d" % (node.lineNo()))
+
     try:
         ctxt = schema.relaxNGNewValidCtxt()
-	ret = doc.relaxNGValidateDoc(ctxt)
-	del ctxt
+        ret = doc.relaxNGValidateDoc(ctxt)
+        del ctxt
     except:
         ret = -1
 
     doc.freeDoc()
 #    if mem != libxml2.debugMemory(1):
-#	print "validating instance %d line %d leaks" % (
-#		  nb_instances_tests, node.lineNo())
+#        print("validating instance %d line %d leaks" % (
+#                  nb_instances_tests, node.lineNo()))
 
     if ret != 0:
         log.write("\nFailed to validate correct instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	nb_instances_failed = nb_instances_failed + 1
+        nb_instances_failed = nb_instances_failed + 1
     else:
-	nb_instances_success = nb_instances_success + 1
+        nb_instances_success = nb_instances_success + 1
 
 #
 # handle an invalid instance
@@ -113,34 +117,34 @@
     global nb_instances_failed
 
     instance = node.prop("dtd")
-    if instance == None:
+    if instance is None:
         instance = ""
     child = node.children
     while child != None:
         if child.type != 'text':
-	    instance = instance + child.serialize()
-	child = child.next
+            instance = instance + child.serialize()
+        child = child.next
 
 #    mem = libxml2.debugMemory(1);
 
     try:
-	doc = libxml2.parseDoc(instance)
+        doc = libxml2.parseDoc(instance)
     except:
         doc = None
 
-    if doc == None:
+    if doc is None:
         log.write("\nStrange: failed to parse incorrect instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	return
+        return
 
     if debug:
-        print "instance line %d" % (node.lineNo())
-       
+        print("instance line %d" % (node.lineNo()))
+
     try:
         ctxt = schema.relaxNGNewValidCtxt()
-	ret = doc.relaxNGValidateDoc(ctxt)
-	del ctxt
+        ret = doc.relaxNGValidateDoc(ctxt)
+        del ctxt
 
     except:
         ret = -1
@@ -148,16 +152,16 @@
     doc.freeDoc()
 #    mem2 = libxml2.debugMemory(1)
 #    if mem != mem2:
-#	print "validating instance %d line %d leaks %d bytes" % (
-#		  nb_instances_tests, node.lineNo(), mem2 - mem)
-    
+#        print("validating instance %d line %d leaks %d bytes" % (
+#                  nb_instances_tests, node.lineNo(), mem2 - mem))
+
     if ret == 0:
         log.write("\nFailed to detect validation problem in instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	nb_instances_failed = nb_instances_failed + 1
+        nb_instances_failed = nb_instances_failed + 1
     else:
-	nb_instances_success = nb_instances_success + 1
+        nb_instances_success = nb_instances_success + 1
 
 #
 # handle an incorrect test
@@ -171,23 +175,23 @@
     child = node.children
     while child != None:
         if child.type != 'text':
-	    schema = schema + child.serialize()
-	child = child.next
+            schema = schema + child.serialize()
+        child = child.next
 
     try:
-	rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-	rngs = rngp.relaxNGParse()
+        rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
+        rngs = rngp.relaxNGParse()
     except:
         rngs = None
-    if rngs == None:
+    if rngs is None:
         log.write("\nFailed to compile correct schema:\n-----\n")
-	log.write(schema)
+        log.write(schema)
         log.write("\n-----\n")
-	nb_schemas_failed = nb_schemas_failed + 1
+        nb_schemas_failed = nb_schemas_failed + 1
     else:
-	nb_schemas_success = nb_schemas_success + 1
+        nb_schemas_success = nb_schemas_success + 1
     return rngs
-        
+
 def handle_incorrect(node):
     global log
     global nb_schemas_success
@@ -197,24 +201,24 @@
     child = node.children
     while child != None:
         if child.type != 'text':
-	    schema = schema + child.serialize()
-	child = child.next
+            schema = schema + child.serialize()
+        child = child.next
 
     try:
-	rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-	rngs = rngp.relaxNGParse()
+        rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
+        rngs = rngp.relaxNGParse()
     except:
         rngs = None
     if rngs != None:
         log.write("\nFailed to detect schema error in:\n-----\n")
-	log.write(schema)
+        log.write(schema)
         log.write("\n-----\n")
-	nb_schemas_failed = nb_schemas_failed + 1
+        nb_schemas_failed = nb_schemas_failed + 1
     else:
-#	log.write("\nSuccess detecting schema error in:\n-----\n")
-#	log.write(schema)
-#	log.write("\n-----\n")
-	nb_schemas_success = nb_schemas_success + 1
+#        log.write("\nSuccess detecting schema error in:\n-----\n")
+#        log.write(schema)
+#        log.write("\n-----\n")
+        nb_schemas_success = nb_schemas_success + 1
     return None
 
 #
@@ -224,14 +228,14 @@
     global resources
 
     try:
-	name = node.prop('name')
+        name = node.prop('name')
     except:
         name = None
 
-    if name == None or name == '':
+    if name is None or name == '':
         log.write("resource has no name")
-	return;
-        
+        return;
+
     if dir != None:
 #        name = libxml2.buildURI(name, dir)
         name = dir + '/' + name
@@ -240,8 +244,8 @@
     child = node.children
     while child != None:
         if child.type != 'text':
-	    res = res + child.serialize()
-	child = child.next
+            res = res + child.serialize()
+        child = child.next
     resources[name] = res
 
 #
@@ -249,14 +253,14 @@
 #
 def handle_dir(node, dir):
     try:
-	name = node.prop('name')
+        name = node.prop('name')
     except:
         name = None
 
-    if name == None or name == '':
+    if name is None or name == '':
         log.write("resource has no name")
-	return;
-        
+        return;
+
     if dir != None:
 #        name = libxml2.buildURI(name, dir)
         name = dir + '/' + name
@@ -282,7 +286,7 @@
               nb_schemas_tests, node.lineNo(), sections))
     resources = {}
     if debug:
-        print "test %d line %d" % (nb_schemas_tests, node.lineNo())
+        print("test %d line %d" % (nb_schemas_tests, node.lineNo()))
 
     dirs = node.xpathEval('dir')
     for dir in dirs:
@@ -294,27 +298,27 @@
     tsts = node.xpathEval('incorrect')
     if tsts != []:
         if len(tsts) != 1:
-	    print "warning test line %d has more than one <incorrect> example" %(node.lineNo())
-	schema = handle_incorrect(tsts[0])
+            print("warning test line %d has more than one <incorrect> example" %(node.lineNo()))
+        schema = handle_incorrect(tsts[0])
     else:
         tsts = node.xpathEval('correct')
-	if tsts != []:
-	    if len(tsts) != 1:
-		print "warning test line %d has more than one <correct> example"% (node.lineNo())
-	    schema = handle_correct(tsts[0])
-	else:
-	    print "warning <testCase> line %d has no <correct> nor <incorrect> child" % (node.lineNo())
+        if tsts != []:
+            if len(tsts) != 1:
+                print("warning test line %d has more than one <correct> example"% (node.lineNo()))
+            schema = handle_correct(tsts[0])
+        else:
+            print("warning <testCase> line %d has no <correct> nor <incorrect> child" % (node.lineNo()))
 
     nb_schemas_tests = nb_schemas_tests + 1;
-    
+
     valids = node.xpathEval('valid')
     invalids = node.xpathEval('invalid')
     nb_instances_tests = nb_instances_tests + len(valids) + len(invalids)
     if schema != None:
         for valid in valids:
-	    handle_valid(valid, schema)
+            handle_valid(valid, schema)
         for invalid in invalids:
-	    handle_invalid(invalid, schema)
+            handle_invalid(invalid, schema)
 
 
 #
@@ -324,53 +328,53 @@
     global nb_schemas_tests, nb_schemas_success, nb_schemas_failed
     global nb_instances_tests, nb_instances_success, nb_instances_failed
     if level >= 1:
-	old_schemas_tests = nb_schemas_tests
-	old_schemas_success = nb_schemas_success
-	old_schemas_failed = nb_schemas_failed
-	old_instances_tests = nb_instances_tests
-	old_instances_success = nb_instances_success
-	old_instances_failed = nb_instances_failed
+        old_schemas_tests = nb_schemas_tests
+        old_schemas_success = nb_schemas_success
+        old_schemas_failed = nb_schemas_failed
+        old_instances_tests = nb_instances_tests
+        old_instances_success = nb_instances_success
+        old_instances_failed = nb_instances_failed
 
     docs = node.xpathEval('documentation')
     authors = node.xpathEval('author')
     if docs != []:
         msg = ""
         for doc in docs:
-	    msg = msg + doc.content + " "
-	if authors != []:
-	    msg = msg + "written by "
-	    for author in authors:
-	        msg = msg + author.content + " "
-	if quiet == 0:
-	    print msg
+            msg = msg + doc.content + " "
+        if authors != []:
+            msg = msg + "written by "
+            for author in authors:
+                msg = msg + author.content + " "
+        if quiet == 0:
+            print(msg)
     sections = node.xpathEval('section')
     if sections != [] and level <= 0:
         msg = ""
         for section in sections:
-	    msg = msg + section.content + " "
-	if quiet == 0:
-	    print "Tests for section %s" % (msg)
+            msg = msg + section.content + " "
+        if quiet == 0:
+            print("Tests for section %s" % (msg))
     for test in node.xpathEval('testCase'):
         handle_testCase(test)
     for test in node.xpathEval('testSuite'):
         handle_testSuite(test, level + 1)
-	        
+
 
     if level >= 1 and sections != []:
         msg = ""
         for section in sections:
-	    msg = msg + section.content + " "
-        print "Result of tests for section %s" % (msg)
+            msg = msg + section.content + " "
+        print("Result of tests for section %s" % (msg))
         if nb_schemas_tests != old_schemas_tests:
-	    print "found %d test schemas: %d success %d failures" % (
-		  nb_schemas_tests - old_schemas_tests,
-		  nb_schemas_success - old_schemas_success,
-		  nb_schemas_failed - old_schemas_failed)
-	if nb_instances_tests != old_instances_tests:
-	    print "found %d test instances: %d success %d failures" % (
-		  nb_instances_tests - old_instances_tests,
-		  nb_instances_success - old_instances_success,
-		  nb_instances_failed - old_instances_failed)
+            print("found %d test schemas: %d success %d failures" % (
+                  nb_schemas_tests - old_schemas_tests,
+                  nb_schemas_success - old_schemas_success,
+                  nb_schemas_failed - old_schemas_failed))
+        if nb_instances_tests != old_instances_tests:
+            print("found %d test instances: %d success %d failures" % (
+                  nb_instances_tests - old_instances_tests,
+                  nb_instances_success - old_instances_success,
+                  nb_instances_failed - old_instances_failed))
 #
 # Parse the conf file
 #
@@ -389,22 +393,22 @@
 libxml2.setEntityLoader(resolver)
 root = testsuite.getRootElement()
 if root.name != 'testSuite':
-    print "%s doesn't start with a testSuite element, aborting" % (CONF)
+    print("%s doesn't start with a testSuite element, aborting" % (CONF))
     sys.exit(1)
 if quiet == 0:
-    print "Running Relax NG testsuite"
+    print("Running Relax NG testsuite")
 handle_testSuite(root)
 
 if quiet == 0:
-    print "\nTOTAL:\n"
+    print("\nTOTAL:\n")
 if quiet == 0 or nb_schemas_failed != 0:
-    print "found %d test schemas: %d success %d failures" % (
-      nb_schemas_tests, nb_schemas_success, nb_schemas_failed)
+    print("found %d test schemas: %d success %d failures" % (
+      nb_schemas_tests, nb_schemas_success, nb_schemas_failed))
 if quiet == 0 or nb_instances_failed != 0:
-    print "found %d test instances: %d success %d failures" % (
-      nb_instances_tests, nb_instances_success, nb_instances_failed)
+    print("found %d test instances: %d success %d failures" % (
+      nb_instances_tests, nb_instances_success, nb_instances_failed))
 
-
+log.close()
 testsuite.freeDoc()
 
 # Memory debug specific
@@ -412,7 +416,7 @@
 libxml2.cleanupParser()
 if libxml2.debugMemory(1) == 0:
     if quiet == 0:
-	print "OK"
+        print("OK")
 else:
-    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
     libxml2.dumpMemory()
diff --git a/check-xinclude-test-suite.py b/check-xinclude-test-suite.py
index 416ea21..a0ee028 100755
--- a/check-xinclude-test-suite.py
+++ b/check-xinclude-test-suite.py
@@ -1,8 +1,7 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
 import sys
 import time
 import os
-import string
 sys.path.insert(0, "python")
 import libxml2
 
@@ -31,13 +30,13 @@
     global error_nr
     global error_msg
 
-    if string.find(str, "error:") >= 0:
-	error_nr = error_nr + 1
+    if str.find("error:") >= 0:
+        error_nr = error_nr + 1
     if len(error_msg) < 300:
         if len(error_msg) == 0 or error_msg[-1] == '\n':
-	    error_msg = error_msg + "   >>" + str
-	else:
-	    error_msg = error_msg + str
+            error_msg = error_msg + "   >>" + str
+        else:
+            error_msg = error_msg + str
 
 libxml2.registerErrorHandler(errorHandler, None)
 
@@ -49,7 +48,7 @@
     error_nr = 0
     error_msg = ''
 
-    print "testXInclude(%s, %s)" % (filename, id)
+    print("testXInclude(%s, %s)" % (filename, id))
     return 1
 
 def runTest(test, basedir):
@@ -64,158 +63,158 @@
     uri = test.prop('href')
     id = test.prop('id')
     type = test.prop('type')
-    if uri == None:
-        print "Test without ID:", uri
-	return -1
-    if id == None:
-        print "Test without URI:", id
-	return -1
-    if type == None:
-        print "Test without URI:", id
-	return -1
+    if uri is None:
+        print("Test without ID:", uri)
+        return -1
+    if id is None:
+        print("Test without URI:", id)
+        return -1
+    if type is None:
+        print("Test without URI:", id)
+        return -1
     if basedir != None:
-	URI = basedir + "/" + uri
+        URI = basedir + "/" + uri
     else:
         URI = uri
     if os.access(URI, os.R_OK) == 0:
-        print "Test %s missing: base %s uri %s" % (URI, basedir, uri)
-	return -1
+        print("Test %s missing: base %s uri %s" % (URI, basedir, uri))
+        return -1
 
     expected = None
     outputfile = None
     diff = None
     if type != 'error':
-	output = test.xpathEval('string(output)')
-	if output == 'No output file.':
-	    output = None
-	if output == '':
-	    output = None
-	if output != None:
-	    if basedir != None:
-		output = basedir + "/" + output
-	    if os.access(output, os.R_OK) == 0:
-		print "Result for %s missing: %s" % (id, output)
-		output = None
-	    else:
-		try:
-		    f = open(output)
-		    expected = f.read()
-		    outputfile = output
-		except:
-		    print "Result for %s unreadable: %s" % (id, output)
+        output = test.xpathEval('string(output)')
+        if output == 'No output file.':
+            output = None
+        if output == '':
+            output = None
+        if output != None:
+            if basedir != None:
+                output = basedir + "/" + output
+            if os.access(output, os.R_OK) == 0:
+                print("Result for %s missing: %s" % (id, output))
+                output = None
+            else:
+                try:
+                    f = open(output)
+                    expected = f.read()
+                    outputfile = output
+                except:
+                    print("Result for %s unreadable: %s" % (id, output))
 
     try:
-        # print "testing %s" % (URI)
-	doc = libxml2.parseFile(URI)
+        # print("testing %s" % (URI))
+        doc = libxml2.parseFile(URI)
     except:
         doc = None
     if doc != None:
         res = doc.xincludeProcess()
-	if res >= 0 and expected != None:
-	    result = doc.serialize()
-	    if result != expected:
-	        print "Result for %s differs" % (id)
-		open("xinclude.res", "w").write(result)
-		diff = os.popen("diff %s xinclude.res" % outputfile).read()
+        if res >= 0 and expected != None:
+            result = doc.serialize()
+            if result != expected:
+                print("Result for %s differs" % (id))
+                open("xinclude.res", "w").write(result)
+                diff = os.popen("diff %s xinclude.res" % outputfile).read()
 
-	doc.freeDoc()
+        doc.freeDoc()
     else:
-        print "Failed to parse %s" % (URI)
-	res = -1
+        print("Failed to parse %s" % (URI))
+        res = -1
 
-    
+
 
     test_nr = test_nr + 1
     if type == 'success':
-	if res > 0:
-	    test_succeed = test_succeed + 1
-	elif res == 0:
-	    test_failed = test_failed + 1
-	    print "Test %s: no substitution done ???" % (id)
-	elif res < 0:
-	    test_error = test_error + 1
-	    print "Test %s: failed valid XInclude processing" % (id)
+        if res > 0:
+            test_succeed = test_succeed + 1
+        elif res == 0:
+            test_failed = test_failed + 1
+            print("Test %s: no substitution done ???" % (id))
+        elif res < 0:
+            test_error = test_error + 1
+            print("Test %s: failed valid XInclude processing" % (id))
     elif type == 'error':
-	if res > 0:
-	    test_error = test_error + 1
-	    print "Test %s: failed to detect invalid XInclude processing" % (id)
-	elif res == 0:
-	    test_failed = test_failed + 1
-	    print "Test %s: Invalid but no substitution done" % (id)
-	elif res < 0:
-	    test_succeed = test_succeed + 1
+        if res > 0:
+            test_error = test_error + 1
+            print("Test %s: failed to detect invalid XInclude processing" % (id))
+        elif res == 0:
+            test_failed = test_failed + 1
+            print("Test %s: Invalid but no substitution done" % (id))
+        elif res < 0:
+            test_succeed = test_succeed + 1
     elif type == 'optional':
-	if res > 0:
-	    test_succeed = test_succeed + 1
-	else:
-	    print "Test %s: failed optional test" % (id)
+        if res > 0:
+            test_succeed = test_succeed + 1
+        else:
+            print("Test %s: failed optional test" % (id))
 
     # Log the ontext
     if res != 1:
-	log.write("Test ID %s\n" % (id))
-	log.write("   File: %s\n" % (URI))
-	content = string.strip(test.content)
-	while content[-1] == '\n':
-	    content = content[0:-1]
-	log.write("   %s:%s\n\n" % (type, content))
-	if error_msg != '':
-	    log.write("   ----\n%s   ----\n" % (error_msg))
-	    error_msg = ''
-	log.write("\n")
+        log.write("Test ID %s\n" % (id))
+        log.write("   File: %s\n" % (URI))
+        content = test.content.strip()
+        while content[-1] == '\n':
+            content = content[0:-1]
+        log.write("   %s:%s\n\n" % (type, content))
+        if error_msg != '':
+            log.write("   ----\n%s   ----\n" % (error_msg))
+            error_msg = ''
+        log.write("\n")
     if diff != None:
         log.write("diff from test %s:\n" %(id))
-	log.write("   -----------\n%s\n   -----------\n" % (diff));
+        log.write("   -----------\n%s\n   -----------\n" % (diff));
 
     return 0
-	    
+
 
 def runTestCases(case):
     creator = case.prop('creator')
     if creator != None:
-	print "=>", creator
+        print("=>", creator)
     base = case.getBase(None)
     basedir = case.prop('basedir')
     if basedir != None:
-	base = libxml2.buildURI(basedir, base)
+        base = libxml2.buildURI(basedir, base)
     test = case.children
     while test != None:
         if test.name == 'testcase':
-	    runTest(test, base)
-	if test.name == 'testcases':
-	    runTestCases(test)
+            runTest(test, base)
+        if test.name == 'testcases':
+            runTestCases(test)
         test = test.next
-        
+
 conf = libxml2.parseFile(CONF)
-if conf == None:
-    print "Unable to load %s" % CONF
+if conf is None:
+    print("Unable to load %s" % CONF)
     sys.exit(1)
 
 testsuite = conf.getRootElement()
 if testsuite.name != 'testsuite':
-    print "Expecting TESTSUITE root element: aborting"
+    print("Expecting TESTSUITE root element: aborting")
     sys.exit(1)
 
 profile = testsuite.prop('PROFILE')
 if profile != None:
-    print profile
+    print(profile)
 
 start = time.time()
 
 case = testsuite.children
 while case != None:
     if case.name == 'testcases':
-	old_test_nr = test_nr
-	old_test_succeed = test_succeed
-	old_test_failed = test_failed
-	old_test_error = test_error
+        old_test_nr = test_nr
+        old_test_succeed = test_succeed
+        old_test_failed = test_failed
+        old_test_error = test_error
         runTestCases(case)
-	print "   Ran %d tests: %d succeeded, %d failed and %d generated an error" % (
-	       test_nr - old_test_nr, test_succeed - old_test_succeed,
-	       test_failed - old_test_failed, test_error - old_test_error)
+        print("   Ran %d tests: %d succeeded, %d failed and %d generated an error" % (
+               test_nr - old_test_nr, test_succeed - old_test_succeed,
+               test_failed - old_test_failed, test_error - old_test_error))
     case = case.next
 
 conf.freeDoc()
 log.close()
 
-print "Ran %d tests: %d succeeded, %d failed and %d generated an error in %.2f s." % (
-      test_nr, test_succeed, test_failed, test_error, time.time() - start)
+print("Ran %d tests: %d succeeded, %d failed and %d generated an error in %.2f s." % (
+      test_nr, test_succeed, test_failed, test_error, time.time() - start))
diff --git a/check-xml-test-suite.py b/check-xml-test-suite.py
index 399a8db..284f7f0 100755
--- a/check-xml-test-suite.py
+++ b/check-xml-test-suite.py
@@ -1,8 +1,7 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
 import sys
 import time
 import os
-import string
 sys.path.insert(0, "python")
 import libxml2
 
@@ -31,9 +30,9 @@
     error_nr = error_nr + 1
     if len(error_msg) < 300:
         if len(error_msg) == 0 or error_msg[-1] == '\n':
-	    error_msg = error_msg + "   >>" + str
-	else:
-	    error_msg = error_msg + str
+            error_msg = error_msg + "   >>" + str
+        else:
+            error_msg = error_msg + str
 
 libxml2.registerErrorHandler(errorHandler, None)
 
@@ -53,17 +52,17 @@
 #
 def loadNoentDoc(filename):
     ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
+    if ctxt is None:
         return None
     ctxt.replaceEntities(1)
     ctxt.parseDocument()
     try:
-	doc = ctxt.doc()
+        doc = ctxt.doc()
     except:
         doc = None
     if ctxt.wellFormed() != 1:
         doc.freeDoc()
-	return None
+        return None
     return doc
 
 #
@@ -79,20 +78,20 @@
     error_msg = ''
 
     ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
+    if ctxt is None:
         return -1
     ret = ctxt.parseDocument()
 
     try:
-	doc = ctxt.doc()
+        doc = ctxt.doc()
     except:
         doc = None
     if doc != None:
-	doc.freeDoc()
+        doc.freeDoc()
     if ret == 0 or ctxt.wellFormed() != 0:
-        print "%s: error: Well Formedness error not detected" % (id)
-	log.write("%s: error: Well Formedness error not detected\n" % (id))
-	return 0
+        print("%s: error: Well Formedness error not detected" % (id))
+        log.write("%s: error: Well Formedness error not detected\n" % (id))
+        return 0
     return 1
 
 def testNotWfEnt(filename, id):
@@ -104,21 +103,21 @@
     error_msg = ''
 
     ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
+    if ctxt is None:
         return -1
     ctxt.replaceEntities(1)
     ret = ctxt.parseDocument()
 
     try:
-	doc = ctxt.doc()
+        doc = ctxt.doc()
     except:
         doc = None
     if doc != None:
-	doc.freeDoc()
+        doc.freeDoc()
     if ret == 0 or ctxt.wellFormed() != 0:
-        print "%s: error: Well Formedness error not detected" % (id)
-	log.write("%s: error: Well Formedness error not detected\n" % (id))
-	return 0
+        print("%s: error: Well Formedness error not detected" % (id))
+        log.write("%s: error: Well Formedness error not detected\n" % (id))
+        return 0
     return 1
 
 def testNotWfEntDtd(filename, id):
@@ -130,22 +129,22 @@
     error_msg = ''
 
     ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
+    if ctxt is None:
         return -1
     ctxt.replaceEntities(1)
     ctxt.loadSubset(1)
     ret = ctxt.parseDocument()
 
     try:
-	doc = ctxt.doc()
+        doc = ctxt.doc()
     except:
         doc = None
     if doc != None:
-	doc.freeDoc()
+        doc.freeDoc()
     if ret == 0 or ctxt.wellFormed() != 0:
-        print "%s: error: Well Formedness error not detected" % (id)
-	log.write("%s: error: Well Formedness error not detected\n" % (id))
-	return 0
+        print("%s: error: Well Formedness error not detected" % (id))
+        log.write("%s: error: Well Formedness error not detected\n" % (id))
+        return 0
     return 1
 
 def testWfEntDtd(filename, id):
@@ -157,27 +156,27 @@
     error_msg = ''
 
     ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
+    if ctxt is None:
         return -1
     ctxt.replaceEntities(1)
     ctxt.loadSubset(1)
     ret = ctxt.parseDocument()
 
     try:
-	doc = ctxt.doc()
+        doc = ctxt.doc()
     except:
         doc = None
-    if doc == None or ret != 0 or ctxt.wellFormed() == 0:
-        print "%s: error: wrongly failed to parse the document" % (id)
-	log.write("%s: error: wrongly failed to parse the document\n" % (id))
-	if doc != None:
-	    doc.freeDoc()
-	return 0
+    if doc is None or ret != 0 or ctxt.wellFormed() == 0:
+        print("%s: error: wrongly failed to parse the document" % (id))
+        log.write("%s: error: wrongly failed to parse the document\n" % (id))
+        if doc != None:
+            doc.freeDoc()
+        return 0
     if error_nr != 0:
-        print "%s: warning: WF document generated an error msg" % (id)
-	log.write("%s: error: WF document generated an error msg\n" % (id))
-	doc.freeDoc()
-	return 2
+        print("%s: warning: WF document generated an error msg" % (id))
+        log.write("%s: error: WF document generated an error msg\n" % (id))
+        doc.freeDoc()
+        return 2
     doc.freeDoc()
     return 1
 
@@ -190,26 +189,26 @@
     error_msg = ''
 
     ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
+    if ctxt is None:
         return -1
     ctxt.replaceEntities(1)
     ctxt.loadSubset(1)
     ret = ctxt.parseDocument()
 
     try:
-	doc = ctxt.doc()
+        doc = ctxt.doc()
     except:
         doc = None
     if doc != None:
-	doc.freeDoc()
+        doc.freeDoc()
     if ctxt.wellFormed() == 0:
-        print "%s: warning: failed to parse the document but accepted" % (id)
-	log.write("%s: warning: failed to parse the document but accepte\n" % (id))
-	return 2
+        print("%s: warning: failed to parse the document but accepted" % (id))
+        log.write("%s: warning: failed to parse the document but accepte\n" % (id))
+        return 2
     if error_nr != 0:
-        print "%s: warning: WF document generated an error msg" % (id)
-	log.write("%s: error: WF document generated an error msg\n" % (id))
-	return 2
+        print("%s: warning: WF document generated an error msg" % (id))
+        log.write("%s: error: WF document generated an error msg\n" % (id))
+        return 2
     return 1
 
 def testInvalid(filename, id):
@@ -221,31 +220,31 @@
     error_msg = ''
 
     ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
+    if ctxt is None:
         return -1
     ctxt.validate(1)
     ret = ctxt.parseDocument()
 
     try:
-	doc = ctxt.doc()
+        doc = ctxt.doc()
     except:
         doc = None
     valid = ctxt.isValid()
-    if doc == None:
-        print "%s: error: wrongly failed to parse the document" % (id)
-	log.write("%s: error: wrongly failed to parse the document\n" % (id))
-	return 0
+    if doc is None:
+        print("%s: error: wrongly failed to parse the document" % (id))
+        log.write("%s: error: wrongly failed to parse the document\n" % (id))
+        return 0
     if valid == 1:
-        print "%s: error: Validity error not detected" % (id)
-	log.write("%s: error: Validity error not detected\n" % (id))
-	doc.freeDoc()
-	return 0
+        print("%s: error: Validity error not detected" % (id))
+        log.write("%s: error: Validity error not detected\n" % (id))
+        doc.freeDoc()
+        return 0
     if error_nr == 0:
-        print "%s: warning: Validity error not reported" % (id)
-	log.write("%s: warning: Validity error not reported\n" % (id))
-	doc.freeDoc()
-	return 2
-        
+        print("%s: warning: Validity error not reported" % (id))
+        log.write("%s: warning: Validity error not reported\n" % (id))
+        doc.freeDoc()
+        return 2
+
     doc.freeDoc()
     return 1
 
@@ -257,30 +256,30 @@
     error_msg = ''
 
     ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
+    if ctxt is None:
         return -1
     ctxt.validate(1)
     ctxt.parseDocument()
 
     try:
-	doc = ctxt.doc()
+        doc = ctxt.doc()
     except:
         doc = None
     valid = ctxt.isValid()
-    if doc == None:
-        print "%s: error: wrongly failed to parse the document" % (id)
-	log.write("%s: error: wrongly failed to parse the document\n" % (id))
-	return 0
+    if doc is None:
+        print("%s: error: wrongly failed to parse the document" % (id))
+        log.write("%s: error: wrongly failed to parse the document\n" % (id))
+        return 0
     if valid != 1:
-        print "%s: error: Validity check failed" % (id)
-	log.write("%s: error: Validity check failed\n" % (id))
-	doc.freeDoc()
-	return 0
+        print("%s: error: Validity check failed" % (id))
+        log.write("%s: error: Validity check failed\n" % (id))
+        doc.freeDoc()
+        return 0
     if error_nr != 0 or valid != 1:
-        print "%s: warning: valid document reported an error" % (id)
-	log.write("%s: warning: valid document reported an error\n" % (id))
-	doc.freeDoc()
-	return 2
+        print("%s: warning: valid document reported an error" % (id))
+        log.write("%s: warning: valid document reported an error\n" % (id))
+        doc.freeDoc()
+        return 2
     doc.freeDoc()
     return 1
 
@@ -293,21 +292,21 @@
 
     uri = test.prop('URI')
     id = test.prop('ID')
-    if uri == None:
-        print "Test without ID:", uri
-	return -1
-    if id == None:
-        print "Test without URI:", id
-	return -1
+    if uri is None:
+        print("Test without ID:", uri)
+        return -1
+    if id is None:
+        print("Test without URI:", id)
+        return -1
     base = test.getBase(None)
     URI = libxml2.buildURI(uri, base)
     if os.access(URI, os.R_OK) == 0:
-        print "Test %s missing: base %s uri %s" % (URI, base, uri)
-	return -1
+        print("Test %s missing: base %s uri %s" % (URI, base, uri))
+        return -1
     type = test.prop('TYPE')
-    if type == None:
-        print "Test %s missing TYPE" % (id)
-	return -1
+    if type is None:
+        print("Test %s missing TYPE" % (id))
+        return -1
 
     extra = None
     if type == "invalid":
@@ -316,94 +315,94 @@
         res = testValid(URI, id)
     elif type == "not-wf":
         extra =  test.prop('ENTITIES')
-	# print URI
-	#if extra == None:
-	#    res = testNotWfEntDtd(URI, id)
- 	#elif extra == 'none':
-	#    res = testNotWf(URI, id)
-	#elif extra == 'general':
-	#    res = testNotWfEnt(URI, id)
-	#elif extra == 'both' or extra == 'parameter':
-	res = testNotWfEntDtd(URI, id)
-	#else:
-	#    print "Unknown value %s for an ENTITIES test value" % (extra)
-	#    return -1
+        # print(URI)
+        #if extra is None:
+        #    res = testNotWfEntDtd(URI, id)
+         #elif extra == 'none':
+        #    res = testNotWf(URI, id)
+        #elif extra == 'general':
+        #    res = testNotWfEnt(URI, id)
+        #elif extra == 'both' or extra == 'parameter':
+        res = testNotWfEntDtd(URI, id)
+        #else:
+        #    print("Unknown value %s for an ENTITIES test value" % (extra))
+        #    return -1
     elif type == "error":
-	res = testError(URI, id)
+        res = testError(URI, id)
     else:
         # TODO skipped for now
-	return -1
+        return -1
 
     test_nr = test_nr + 1
     if res > 0:
-	test_succeed = test_succeed + 1
+        test_succeed = test_succeed + 1
     elif res == 0:
-	test_failed = test_failed + 1
+        test_failed = test_failed + 1
     elif res < 0:
-	test_error = test_error + 1
+        test_error = test_error + 1
 
     # Log the ontext
     if res != 1:
-	log.write("   File: %s\n" % (URI))
-	content = string.strip(test.content)
-	while content[-1] == '\n':
-	    content = content[0:-1]
-	if extra != None:
-	    log.write("   %s:%s:%s\n" % (type, extra, content))
-	else:
-	    log.write("   %s:%s\n\n" % (type, content))
-	if error_msg != '':
-	    log.write("   ----\n%s   ----\n" % (error_msg))
-	    error_msg = ''
-	log.write("\n")
+        log.write("   File: %s\n" % (URI))
+        content = test.content.strip()
+        while content[-1] == '\n':
+            content = content[0:-1]
+        if extra != None:
+            log.write("   %s:%s:%s\n" % (type, extra, content))
+        else:
+            log.write("   %s:%s\n\n" % (type, content))
+        if error_msg != '':
+            log.write("   ----\n%s   ----\n" % (error_msg))
+            error_msg = ''
+        log.write("\n")
 
     return 0
-	    
+
 
 def runTestCases(case):
     profile = case.prop('PROFILE')
     if profile != None and \
-       string.find(profile, "IBM XML Conformance Test Suite - Production") < 0:
-	print "=>", profile
+       profile.find("IBM XML Conformance Test Suite - Production") < 0:
+        print("=>", profile)
     test = case.children
     while test != None:
         if test.name == 'TEST':
-	    runTest(test)
-	if test.name == 'TESTCASES':
-	    runTestCases(test)
+            runTest(test)
+        if test.name == 'TESTCASES':
+            runTestCases(test)
         test = test.next
-        
+
 conf = loadNoentDoc(CONF)
-if conf == None:
-    print "Unable to load %s" % CONF
+if conf is None:
+    print("Unable to load %s" % CONF)
     sys.exit(1)
 
 testsuite = conf.getRootElement()
 if testsuite.name != 'TESTSUITE':
-    print "Expecting TESTSUITE root element: aborting"
+    print("Expecting TESTSUITE root element: aborting")
     sys.exit(1)
 
 profile = testsuite.prop('PROFILE')
 if profile != None:
-    print profile
+    print(profile)
 
 start = time.time()
 
 case = testsuite.children
 while case != None:
     if case.name == 'TESTCASES':
-	old_test_nr = test_nr
-	old_test_succeed = test_succeed
-	old_test_failed = test_failed
-	old_test_error = test_error
+        old_test_nr = test_nr
+        old_test_succeed = test_succeed
+        old_test_failed = test_failed
+        old_test_error = test_error
         runTestCases(case)
-	print "   Ran %d tests: %d succeeded, %d failed and %d generated an error" % (
-	       test_nr - old_test_nr, test_succeed - old_test_succeed,
-	       test_failed - old_test_failed, test_error - old_test_error)
+        print("   Ran %d tests: %d succeeded, %d failed and %d generated an error" % (
+               test_nr - old_test_nr, test_succeed - old_test_succeed,
+               test_failed - old_test_failed, test_error - old_test_error))
     case = case.next
 
 conf.freeDoc()
 log.close()
 
-print "Ran %d tests: %d succeeded, %d failed and %d generated an error in %.2f s." % (
-      test_nr, test_succeed, test_failed, test_error, time.time() - start)
+print("Ran %d tests: %d succeeded, %d failed and %d generated an error in %.2f s." % (
+      test_nr, test_succeed, test_failed, test_error, time.time() - start))
diff --git a/check-xsddata-test-suite.py b/check-xsddata-test-suite.py
index c946129..69c43ff 100755
--- a/check-xsddata-test-suite.py
+++ b/check-xsddata-test-suite.py
@@ -1,9 +1,13 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
 import sys
 import time
 import os
-import string
-import StringIO
+try:
+    # Python 2
+    from StringIO import StringIO
+except ImportError:
+    # Python 3
+    from io import StringIO
 sys.path.insert(0, "python")
 import libxml2
 
@@ -44,8 +48,8 @@
 def resolver(URL, ID, ctxt):
     global resources
 
-    if resources.has_key(URL):
-        return(StringIO.StringIO(resources[URL]))
+    if URL in resources:
+        return(StringIO(resources[URL]))
     log.write("Resolver failure: asked %s\n" % (URL))
     log.write("resources: %s\n" % (resources))
     return None
@@ -59,49 +63,49 @@
     global nb_instances_failed
 
     instance = node.prop("dtd")
-    if instance == None:
+    if instance is None:
         instance = ""
     child = node.children
     while child != None:
         if child.type != 'text':
-	    instance = instance + child.serialize()
-	child = child.next
+            instance = instance + child.serialize()
+        child = child.next
 
     mem = libxml2.debugMemory(1);
     try:
-	doc = libxml2.parseDoc(instance)
+        doc = libxml2.parseDoc(instance)
     except:
         doc = None
 
-    if doc == None:
+    if doc is None:
         log.write("\nFailed to parse correct instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	nb_instances_failed = nb_instances_failed + 1
-	return
+        nb_instances_failed = nb_instances_failed + 1
+        return
 
     if debug:
-        print "instance line %d" % (node.lineNo())
-       
+        print("instance line %d" % (node.lineNo()))
+
     try:
         ctxt = schema.relaxNGNewValidCtxt()
-	ret = doc.relaxNGValidateDoc(ctxt)
-	del ctxt
+        ret = doc.relaxNGValidateDoc(ctxt)
+        del ctxt
     except:
         ret = -1
 
     doc.freeDoc()
     if mem != libxml2.debugMemory(1):
-	print "validating instance %d line %d leaks" % (
-		  nb_instances_tests, node.lineNo())
+        print("validating instance %d line %d leaks" % (
+                  nb_instances_tests, node.lineNo()))
 
     if ret != 0:
         log.write("\nFailed to validate correct instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	nb_instances_failed = nb_instances_failed + 1
+        nb_instances_failed = nb_instances_failed + 1
     else:
-	nb_instances_success = nb_instances_success + 1
+        nb_instances_success = nb_instances_success + 1
 
 #
 # handle an invalid instance
@@ -112,50 +116,50 @@
     global nb_instances_failed
 
     instance = node.prop("dtd")
-    if instance == None:
+    if instance is None:
         instance = ""
     child = node.children
     while child != None:
         if child.type != 'text':
-	    instance = instance + child.serialize()
-	child = child.next
+            instance = instance + child.serialize()
+        child = child.next
 
 #    mem = libxml2.debugMemory(1);
 
     try:
-	doc = libxml2.parseDoc(instance)
+        doc = libxml2.parseDoc(instance)
     except:
         doc = None
 
-    if doc == None:
+    if doc is None:
         log.write("\nStrange: failed to parse incorrect instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	return
+        return
 
     if debug:
-        print "instance line %d" % (node.lineNo())
-       
+        print("instance line %d" % (node.lineNo()))
+
     try:
         ctxt = schema.relaxNGNewValidCtxt()
-	ret = doc.relaxNGValidateDoc(ctxt)
-	del ctxt
+        ret = doc.relaxNGValidateDoc(ctxt)
+        del ctxt
 
     except:
         ret = -1
 
     doc.freeDoc()
 #    if mem != libxml2.debugMemory(1):
-#	print "validating instance %d line %d leaks" % (
-#		  nb_instances_tests, node.lineNo())
-    
+#        print("validating instance %d line %d leaks" % (
+#                  nb_instances_tests, node.lineNo()))
+
     if ret == 0:
         log.write("\nFailed to detect validation problem in instance:\n-----\n")
-	log.write(instance)
+        log.write(instance)
         log.write("\n-----\n")
-	nb_instances_failed = nb_instances_failed + 1
+        nb_instances_failed = nb_instances_failed + 1
     else:
-	nb_instances_success = nb_instances_success + 1
+        nb_instances_success = nb_instances_success + 1
 
 #
 # handle an incorrect test
@@ -169,23 +173,23 @@
     child = node.children
     while child != None:
         if child.type != 'text':
-	    schema = schema + child.serialize()
-	child = child.next
+            schema = schema + child.serialize()
+        child = child.next
 
     try:
-	rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-	rngs = rngp.relaxNGParse()
+        rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
+        rngs = rngp.relaxNGParse()
     except:
         rngs = None
-    if rngs == None:
+    if rngs is None:
         log.write("\nFailed to compile correct schema:\n-----\n")
-	log.write(schema)
+        log.write(schema)
         log.write("\n-----\n")
-	nb_schemas_failed = nb_schemas_failed + 1
+        nb_schemas_failed = nb_schemas_failed + 1
     else:
-	nb_schemas_success = nb_schemas_success + 1
+        nb_schemas_success = nb_schemas_success + 1
     return rngs
-        
+
 def handle_incorrect(node):
     global log
     global nb_schemas_success
@@ -195,24 +199,24 @@
     child = node.children
     while child != None:
         if child.type != 'text':
-	    schema = schema + child.serialize()
-	child = child.next
+            schema = schema + child.serialize()
+        child = child.next
 
     try:
-	rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-	rngs = rngp.relaxNGParse()
+        rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
+        rngs = rngp.relaxNGParse()
     except:
         rngs = None
     if rngs != None:
         log.write("\nFailed to detect schema error in:\n-----\n")
-	log.write(schema)
+        log.write(schema)
         log.write("\n-----\n")
-	nb_schemas_failed = nb_schemas_failed + 1
+        nb_schemas_failed = nb_schemas_failed + 1
     else:
-#	log.write("\nSuccess detecting schema error in:\n-----\n")
-#	log.write(schema)
-#	log.write("\n-----\n")
-	nb_schemas_success = nb_schemas_success + 1
+#        log.write("\nSuccess detecting schema error in:\n-----\n")
+#        log.write(schema)
+#        log.write("\n-----\n")
+        nb_schemas_success = nb_schemas_success + 1
     return None
 
 #
@@ -222,14 +226,14 @@
     global resources
 
     try:
-	name = node.prop('name')
+        name = node.prop('name')
     except:
         name = None
 
-    if name == None or name == '':
+    if name is None or name == '':
         log.write("resource has no name")
-	return;
-        
+        return;
+
     if dir != None:
 #        name = libxml2.buildURI(name, dir)
         name = dir + '/' + name
@@ -238,8 +242,8 @@
     child = node.children
     while child != None:
         if child.type != 'text':
-	    res = res + child.serialize()
-	child = child.next
+            res = res + child.serialize()
+        child = child.next
     resources[name] = res
 
 #
@@ -247,14 +251,14 @@
 #
 def handle_dir(node, dir):
     try:
-	name = node.prop('name')
+        name = node.prop('name')
     except:
         name = None
 
-    if name == None or name == '':
+    if name is None or name == '':
         log.write("resource has no name")
-	return;
-        
+        return;
+
     if dir != None:
 #        name = libxml2.buildURI(name, dir)
         name = dir + '/' + name
@@ -280,7 +284,7 @@
               nb_schemas_tests, node.lineNo(), sections))
     resources = {}
     if debug:
-        print "test %d line %d" % (nb_schemas_tests, node.lineNo())
+        print("test %d line %d" % (nb_schemas_tests, node.lineNo()))
 
     dirs = node.xpathEval('dir')
     for dir in dirs:
@@ -292,27 +296,27 @@
     tsts = node.xpathEval('incorrect')
     if tsts != []:
         if len(tsts) != 1:
-	    print "warning test line %d has more than one <incorrect> example" %(node.lineNo())
-	schema = handle_incorrect(tsts[0])
+            print("warning test line %d has more than one <incorrect> example" %(node.lineNo()))
+        schema = handle_incorrect(tsts[0])
     else:
         tsts = node.xpathEval('correct')
-	if tsts != []:
-	    if len(tsts) != 1:
-		print "warning test line %d has more than one <correct> example"% (node.lineNo())
-	    schema = handle_correct(tsts[0])
-	else:
-	    print "warning <testCase> line %d has no <correct> nor <incorrect> child" % (node.lineNo())
+        if tsts != []:
+            if len(tsts) != 1:
+                print("warning test line %d has more than one <correct> example"% (node.lineNo()))
+            schema = handle_correct(tsts[0])
+        else:
+            print("warning <testCase> line %d has no <correct> nor <incorrect> child" % (node.lineNo()))
 
     nb_schemas_tests = nb_schemas_tests + 1;
-    
+
     valids = node.xpathEval('valid')
     invalids = node.xpathEval('invalid')
     nb_instances_tests = nb_instances_tests + len(valids) + len(invalids)
     if schema != None:
         for valid in valids:
-	    handle_valid(valid, schema)
+            handle_valid(valid, schema)
         for invalid in invalids:
-	    handle_invalid(invalid, schema)
+            handle_invalid(invalid, schema)
 
 
 #
@@ -322,60 +326,60 @@
     global nb_schemas_tests, nb_schemas_success, nb_schemas_failed
     global nb_instances_tests, nb_instances_success, nb_instances_failed
     if verbose and level >= 0:
-	old_schemas_tests = nb_schemas_tests
-	old_schemas_success = nb_schemas_success
-	old_schemas_failed = nb_schemas_failed
-	old_instances_tests = nb_instances_tests
-	old_instances_success = nb_instances_success
-	old_instances_failed = nb_instances_failed
+        old_schemas_tests = nb_schemas_tests
+        old_schemas_success = nb_schemas_success
+        old_schemas_failed = nb_schemas_failed
+        old_instances_tests = nb_instances_tests
+        old_instances_success = nb_instances_success
+        old_instances_failed = nb_instances_failed
 
     docs = node.xpathEval('documentation')
     authors = node.xpathEval('author')
     if docs != []:
         msg = ""
         for doc in docs:
-	    msg = msg + doc.content + " "
-	if authors != []:
-	    msg = msg + "written by "
-	    for author in authors:
-	        msg = msg + author.content + " "
-	if quiet == 0:
-	    print msg
+            msg = msg + doc.content + " "
+        if authors != []:
+            msg = msg + "written by "
+            for author in authors:
+                msg = msg + author.content + " "
+        if quiet == 0:
+            print(msg)
     sections = node.xpathEval('section')
     if verbose and sections != [] and level <= 0:
         msg = ""
         for section in sections:
-	    msg = msg + section.content + " "
-	if quiet == 0:
-	    print "Tests for section %s" % (msg)
+            msg = msg + section.content + " "
+        if quiet == 0:
+            print("Tests for section %s" % (msg))
     for test in node.xpathEval('testCase'):
         handle_testCase(test)
     for test in node.xpathEval('testSuite'):
         handle_testSuite(test, level + 1)
-	        
+
 
     if verbose and level >= 0 :
         if sections != []:
-	    msg = ""
-	    for section in sections:
-		msg = msg + section.content + " "
-	    print "Result of tests for section %s" % (msg)
-	elif docs != []:
-	    msg = ""
-	    for doc in docs:
-	        msg = msg + doc.content + " "
-	    print "Result of tests for %s" % (msg)
+            msg = ""
+            for section in sections:
+                msg = msg + section.content + " "
+            print("Result of tests for section %s" % (msg))
+        elif docs != []:
+            msg = ""
+            for doc in docs:
+                msg = msg + doc.content + " "
+            print("Result of tests for %s" % (msg))
 
         if nb_schemas_tests != old_schemas_tests:
-	    print "found %d test schemas: %d success %d failures" % (
-		  nb_schemas_tests - old_schemas_tests,
-		  nb_schemas_success - old_schemas_success,
-		  nb_schemas_failed - old_schemas_failed)
-	if nb_instances_tests != old_instances_tests:
-	    print "found %d test instances: %d success %d failures" % (
-		  nb_instances_tests - old_instances_tests,
-		  nb_instances_success - old_instances_success,
-		  nb_instances_failed - old_instances_failed)
+            print("found %d test schemas: %d success %d failures" % (
+                  nb_schemas_tests - old_schemas_tests,
+                  nb_schemas_success - old_schemas_success,
+                  nb_schemas_failed - old_schemas_failed))
+        if nb_instances_tests != old_instances_tests:
+            print("found %d test instances: %d success %d failures" % (
+                  nb_instances_tests - old_instances_tests,
+                  nb_instances_success - old_instances_success,
+                  nb_instances_failed - old_instances_failed))
 #
 # Parse the conf file
 #
@@ -394,18 +398,18 @@
 libxml2.setEntityLoader(resolver)
 root = testsuite.getRootElement()
 if root.name != 'testSuite':
-    print "%s doesn't start with a testSuite element, aborting" % (CONF)
+    print("%s doesn't start with a testSuite element, aborting" % (CONF))
     sys.exit(1)
 if quiet == 0:
-    print "Running Relax NG testsuite"
+    print("Running Relax NG testsuite")
 handle_testSuite(root)
 
 if quiet == 0 or nb_schemas_failed != 0:
-    print "\nTOTAL:\nfound %d test schemas: %d success %d failures" % (
-      nb_schemas_tests, nb_schemas_success, nb_schemas_failed)
+    print("\nTOTAL:\nfound %d test schemas: %d success %d failures" % (
+      nb_schemas_tests, nb_schemas_success, nb_schemas_failed))
 if quiet == 0 or nb_instances_failed != 0:
-    print "found %d test instances: %d success %d failures" % (
-      nb_instances_tests, nb_instances_success, nb_instances_failed)
+    print("found %d test instances: %d success %d failures" % (
+      nb_instances_tests, nb_instances_success, nb_instances_failed))
 
 testsuite.freeDoc()
 
@@ -414,7 +418,7 @@
 libxml2.cleanupParser()
 if libxml2.debugMemory(1) == 0:
     if quiet == 0:
-	print "OK"
+        print("OK")
 else:
-    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
     libxml2.dumpMemory()
diff --git a/chvalid.c b/chvalid.c
index f4fa44a..fb2c715 100644
--- a/chvalid.c
+++ b/chvalid.c
@@ -14,6 +14,8 @@
 #include "libxml.h"
 #include <libxml/chvalid.h>
 
+#include <stddef.h>
+
 /*
  * The initial tables ({func_name}_tab) are used to validate whether a
  * single-byte character is within the specified group.  Each table
diff --git a/config.h b/config.h
index 7eddb03..0e6fc52 100644
--- a/config.h
+++ b/config.h
@@ -1,29 +1,14 @@
 /* config.h.  Generated from config.h.in by configure.  */
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
-/* Type cast for the gethostbyname() argument */
-#define GETHOSTBYNAME_ARG_CAST /**/
-
-/* Define to 1 if you have the <ansidecl.h> header file. */
-/* #undef HAVE_ANSIDECL_H */
+/* A form that will not confuse apibuild.py */
+#define ATTRIBUTE_DESTRUCTOR __attribute__((destructor))
 
 /* Define to 1 if you have the <arpa/inet.h> header file. */
 #define HAVE_ARPA_INET_H 1
 
-/* Define to 1 if you have the <arpa/nameser.h> header file. */
-#define HAVE_ARPA_NAMESER_H 1
-
-/* Whether struct sockaddr::__ss_family exists */
-/* #undef HAVE_BROKEN_SS_FAMILY */
-
-/* Define to 1 if you have the `class' function. */
-/* #undef HAVE_CLASS */
-
-/* Define to 1 if you have the <ctype.h> header file. */
-#define HAVE_CTYPE_H 1
-
-/* Define to 1 if you have the <dirent.h> header file. */
-#define HAVE_DIRENT_H 1
+/* Define if __attribute__((destructor)) is accepted */
+#define HAVE_ATTRIBUTE_DESTRUCTOR 1
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #define HAVE_DLFCN_H 1
@@ -34,41 +19,17 @@
 /* Define to 1 if you have the <dl.h> header file. */
 /* #undef HAVE_DL_H */
 
-/* Define to 1 if you have the <errno.h> header file. */
-#define HAVE_ERRNO_H 1
-
 /* Define to 1 if you have the <fcntl.h> header file. */
 #define HAVE_FCNTL_H 1
 
-/* Define to 1 if you have the `finite' function. */
-#define HAVE_FINITE 1
-
-/* Define to 1 if you have the <float.h> header file. */
-#define HAVE_FLOAT_H 1
-
-/* Define to 1 if you have the `fpclass' function. */
-/* #undef HAVE_FPCLASS */
-
-/* Define to 1 if you have the `fprintf' function. */
-#define HAVE_FPRINTF 1
-
-/* Define to 1 if you have the `fp_class' function. */
-/* #undef HAVE_FP_CLASS */
-
-/* Define to 1 if you have the <fp_class.h> header file. */
-/* #undef HAVE_FP_CLASS_H */
-
 /* Define to 1 if you have the `ftime' function. */
 #define HAVE_FTIME 1
 
-/* Define if getaddrinfo is there */
-#define HAVE_GETADDRINFO /**/
-
 /* Define to 1 if you have the `gettimeofday' function. */
 #define HAVE_GETTIMEOFDAY 1
 
-/* Define to 1 if you have the <ieeefp.h> header file. */
-/* #undef HAVE_IEEEFP_H */
+/* Define to 1 if you have the <glob.h> header file. */
+#define HAVE_GLOB_H 1
 
 /* Define to 1 if you have the <inttypes.h> header file. */
 #define HAVE_INTTYPES_H 1
@@ -76,48 +37,15 @@
 /* Define to 1 if you have the `isascii' function. */
 #define HAVE_ISASCII 1
 
-/* Define if isinf is there */
-#define HAVE_ISINF /**/
-
-/* Define if isnan is there */
-#define HAVE_ISNAN /**/
-
-/* Define to 1 if you have the `isnand' function. */
-/* #undef HAVE_ISNAND */
-
 /* Define if history library is there (-lhistory) */
 /* #undef HAVE_LIBHISTORY */
 
-/* Have compression library */
-/* #undef HAVE_LIBLZMA */
-
-/* Define if pthread library is there (-lpthread) */
-#define HAVE_LIBPTHREAD /**/
-
 /* Define if readline library is there (-lreadline) */
 /* #undef HAVE_LIBREADLINE */
 
-/* Have compression library */
-#define HAVE_LIBZ 1
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define to 1 if you have the `localtime' function. */
-#define HAVE_LOCALTIME 1
-
 /* Define to 1 if you have the <lzma.h> header file. */
 /* #undef HAVE_LZMA_H */
 
-/* Define to 1 if you have the <malloc.h> header file. */
-#define HAVE_MALLOC_H 1
-
-/* Define to 1 if you have the <math.h> header file. */
-#define HAVE_MATH_H 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
 /* Define to 1 if you have the `mmap' function. */
 #define HAVE_MMAP 1
 
@@ -129,12 +57,6 @@
 #  undef /**/ HAVE_MMAP
 #endif
 
-/* Define to 1 if you have the <nan.h> header file. */
-/* #undef HAVE_NAN_H */
-
-/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
-/* #undef HAVE_NDIR_H */
-
 /* Define to 1 if you have the <netdb.h> header file. */
 #define HAVE_NETDB_H 1
 
@@ -144,86 +66,42 @@
 /* Define to 1 if you have the <poll.h> header file. */
 #define HAVE_POLL_H 1
 
-/* Define to 1 if you have the `printf' function. */
-#define HAVE_PRINTF 1
-
-/* Define if <pthread.h> is there */
+/* Define to 1 if you have the <pthread.h> header file. */
 #define HAVE_PTHREAD_H /**/
 
 /* Define to 1 if you have the `putenv' function. */
 #define HAVE_PUTENV 1
 
-/* Define to 1 if you have the `rand' function. */
-#define HAVE_RAND 1
-
 /* Define to 1 if you have the `rand_r' function. */
 #define HAVE_RAND_R 1
 
-/* Define to 1 if you have the <resolv.h> header file. */
-#define HAVE_RESOLV_H 1
-
 /* Have shl_load based dso */
 /* #undef HAVE_SHLLOAD */
 
-/* Define to 1 if you have the `signal' function. */
-#define HAVE_SIGNAL 1
-
-/* Define to 1 if you have the <signal.h> header file. */
-#define HAVE_SIGNAL_H 1
-
 /* Define to 1 if you have the `snprintf' function. */
 #define HAVE_SNPRINTF 1
 
-/* Define to 1 if you have the `sprintf' function. */
-#define HAVE_SPRINTF 1
-
-/* Define to 1 if you have the `srand' function. */
-#define HAVE_SRAND 1
-
-/* Define to 1 if you have the `sscanf' function. */
-#define HAVE_SSCANF 1
-
 /* Define to 1 if you have the `stat' function. */
 #define HAVE_STAT 1
 
-/* Define to 1 if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H 1
-
 /* Define to 1 if you have the <stdint.h> header file. */
 #define HAVE_STDINT_H 1
 
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
+
 /* Define to 1 if you have the <stdlib.h> header file. */
 #define HAVE_STDLIB_H 1
 
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
-/* Define to 1 if you have the `strerror' function. */
-#define HAVE_STRERROR 1
-
-/* Define to 1 if you have the `strftime' function. */
-#define HAVE_STRFTIME 1
-
 /* Define to 1 if you have the <strings.h> header file. */
 #define HAVE_STRINGS_H 1
 
 /* Define to 1 if you have the <string.h> header file. */
 #define HAVE_STRING_H 1
 
-/* Define to 1 if you have the `strndup' function. */
-#define HAVE_STRNDUP 1
-
-/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
-   */
-/* #undef HAVE_SYS_DIR_H */
-
 /* Define to 1 if you have the <sys/mman.h> header file. */
 #define HAVE_SYS_MMAN_H 1
 
-/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
-   */
-/* #undef HAVE_SYS_NDIR_H */
-
 /* Define to 1 if you have the <sys/select.h> header file. */
 #define HAVE_SYS_SELECT_H 1
 
@@ -242,41 +120,22 @@
 /* Define to 1 if you have the <sys/types.h> header file. */
 #define HAVE_SYS_TYPES_H 1
 
-/* Define to 1 if you have the `time' function. */
-#define HAVE_TIME 1
-
-/* Define to 1 if you have the <time.h> header file. */
-#define HAVE_TIME_H 1
-
 /* Define to 1 if you have the <unistd.h> header file. */
 #define HAVE_UNISTD_H 1
 
 /* Whether va_copy() is available */
 #define HAVE_VA_COPY 1
 
-/* Define to 1 if you have the `vfprintf' function. */
-#define HAVE_VFPRINTF 1
-
 /* Define to 1 if you have the `vsnprintf' function. */
 #define HAVE_VSNPRINTF 1
 
-/* Define to 1 if you have the `vsprintf' function. */
-#define HAVE_VSPRINTF 1
-
 /* Define to 1 if you have the <zlib.h> header file. */
-/* #undef HAVE_ZLIB_H */ /* Because otherwise LIBXML_ZLIB_ENABLED is ignored! */
-
-/* Define to 1 if you have the `_stat' function. */
-/* #undef HAVE__STAT */
+/* #undef HAVE_ZLIB_H */
 
 /* Whether __va_copy() is available */
 /* #undef HAVE___VA_COPY */
 
-/* Define as const if the declaration of iconv() needs const. */
-/* #undef ICONV_CONST */
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
 #define LT_OBJDIR ".libs/"
 
 /* Name of package */
@@ -286,24 +145,23 @@
 #define PACKAGE_BUGREPORT ""
 
 /* Define to the full name of this package. */
-#define PACKAGE_NAME ""
+#define PACKAGE_NAME "libxml2"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING ""
+#define PACKAGE_STRING "libxml2 2.11.0"
 
 /* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME ""
+#define PACKAGE_TARNAME "libxml2"
 
 /* Define to the home page for this package. */
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION ""
+#define PACKAGE_VERSION "2.11.0"
 
-/* Type cast for the send() function 2nd arg */
-#define SEND_ARG2_CAST /**/
-
-/* Define to 1 if you have the ANSI C header files. */
+/* Define to 1 if all of the C90 standard headers exist (not just the ones
+   required in a freestanding environment). This macro is provided for
+   backward compatibility; new code need not use it. */
 #define STDC_HEADERS 1
 
 /* Support for IPv6 */
@@ -313,7 +171,7 @@
 #define VA_LIST_IS_ARRAY 1
 
 /* Version number of package */
-#define VERSION "2.9.2"
+#define VERSION "2.11.0"
 
 /* Determine what socket length (socklen_t) data type is */
 #define XML_SOCKLEN_T socklen_t
@@ -323,12 +181,6 @@
    #define below would cause a syntax error. */
 /* #undef _UINT32_T */
 
-/* Using the Win32 Socket implementation */
-/* #undef _WINSOCKAPI_ */
-
-/* ss_family is not defined here, use __ss_family instead */
-/* #undef ss_family */
-
 /* Define to the type of an unsigned integer type of width exactly 32 bits if
    such a type exists and the standard includes do not define it. */
 /* #undef uint32_t */
diff --git a/config.h.cmake.in b/config.h.cmake.in
index e093563..5177e45 100644
--- a/config.h.cmake.in
+++ b/config.h.cmake.in
@@ -4,21 +4,9 @@
 /* Define if __attribute__((destructor)) is accepted */
 #cmakedefine ATTRIBUTE_DESTRUCTOR @ATTRIBUTE_DESTRUCTOR@
 
-/* Type cast for the gethostbyname() argument */
-#cmakedefine GETHOSTBYNAME_ARG_CAST @GETHOSTBYNAME_ARG_CAST@
-
 /* Define to 1 if you have the <arpa/inet.h> header file. */
 #cmakedefine HAVE_ARPA_INET_H 1
 
-/* Define to 1 if you have the <arpa/nameser.h> header file. */
-#cmakedefine HAVE_ARPA_NAMESER_H 1
-
-/* Whether struct sockaddr::__ss_family exists */
-#cmakedefine HAVE_BROKEN_SS_FAMILY 1
-
-/* Define to 1 if you have the <ctype.h> header file. */
-#cmakedefine HAVE_CTYPE_H 1
-
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #cmakedefine HAVE_DLFCN_H 1
 
@@ -28,24 +16,12 @@
 /* Define to 1 if you have the <dl.h> header file. */
 #cmakedefine HAVE_DL_H 1
 
-/* Define to 1 if you have the <errno.h> header file. */
-#cmakedefine HAVE_ERRNO_H 1
-
 /* Define to 1 if you have the <fcntl.h> header file. */
 #cmakedefine HAVE_FCNTL_H 1
 
-/* Define to 1 if you have the <float.h> header file. */
-#cmakedefine HAVE_FLOAT_H 1
-
-/* Define to 1 if you have the `fprintf' function. */
-#cmakedefine HAVE_FPRINTF 1
-
 /* Define to 1 if you have the `ftime' function. */
 #cmakedefine HAVE_FTIME 1
 
-/* Define if getaddrinfo is there */
-#cmakedefine HAVE_GETADDRINFO 1
-
 /* Define to 1 if you have the `gettimeofday' function. */
 #cmakedefine HAVE_GETTIMEOFDAY 1
 
@@ -61,18 +37,6 @@
 /* Define if readline library is there (-lreadline) */
 #cmakedefine HAVE_LIBREADLINE 1
 
-/* Define to 1 if you have the <limits.h> header file. */
-#cmakedefine HAVE_LIMITS_H 1
-
-/* Define to 1 if you have the `localtime' function. */
-#cmakedefine HAVE_LOCALTIME 1
-
-/* Define to 1 if you have the <malloc.h> header file. */
-#cmakedefine HAVE_MALLOC_H 1
-
-/* Define to 1 if you have the <math.h> header file. */
-#cmakedefine HAVE_MATH_H 1
-
 /* Define to 1 if you have the `mmap' function. */
 #cmakedefine HAVE_MMAP 1
 
@@ -93,63 +57,24 @@
 /* Define to 1 if you have the <poll.h> header file. */
 #cmakedefine HAVE_POLL_H 1
 
-/* Define to 1 if you have the `printf' function. */
-#cmakedefine HAVE_PRINTF 1
-
 /* Define if <pthread.h> is there */
 #cmakedefine HAVE_PTHREAD_H 1
 
 /* Define to 1 if you have the `putenv' function. */
 #cmakedefine HAVE_PUTENV 1
 
-/* Define to 1 if you have the `rand' function. */
-#cmakedefine HAVE_RAND 1
-
 /* Define to 1 if you have the `rand_r' function. */
 #cmakedefine HAVE_RAND_R 1
 
-/* Define to 1 if you have the <resolv.h> header file. */
-#cmakedefine HAVE_RESOLV_H 1
-
 /* Have shl_load based dso */
 #cmakedefine HAVE_SHLLOAD 1
 
-/* Define to 1 if you have the <signal.h> header file. */
-#cmakedefine HAVE_SIGNAL_H 1
-
-/* Define to 1 if you have the `snprintf' function. */
-#cmakedefine HAVE_SNPRINTF 1
-
-/* Define to 1 if you have the `sprintf' function. */
-#cmakedefine HAVE_SPRINTF 1
-
-/* Define to 1 if you have the `srand' function. */
-#cmakedefine HAVE_SRAND 1
-
-/* Define to 1 if you have the `sscanf' function. */
-#cmakedefine HAVE_SSCANF 1
-
 /* Define to 1 if you have the `stat' function. */
 #cmakedefine HAVE_STAT 1
 
-/* Define to 1 if you have the <stdarg.h> header file. */
-#cmakedefine HAVE_STDARG_H 1
-
 /* Define to 1 if you have the <stdint.h> header file. */
 #cmakedefine HAVE_STDINT_H 1
 
-/* Define to 1 if you have the <stdlib.h> header file. */
-#cmakedefine HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strftime' function. */
-#cmakedefine HAVE_STRFTIME 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#cmakedefine HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#cmakedefine HAVE_STRING_H 1
-
 /* Define to 1 if you have the <sys/mman.h> header file. */
 #cmakedefine HAVE_SYS_MMAN_H 1
 
@@ -168,39 +93,18 @@
 /* Define to 1 if you have the <sys/time.h> header file. */
 #cmakedefine HAVE_SYS_TIME_H 1
 
-/* Define to 1 if you have the <sys/types.h> header file. */
-#cmakedefine HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the `time' function. */
-#cmakedefine HAVE_TIME 1
-
-/* Define to 1 if you have the <time.h> header file. */
-#cmakedefine HAVE_TIME_H 1
-
 /* Define to 1 if you have the <unistd.h> header file. */
 #cmakedefine HAVE_UNISTD_H 1
 
 /* Whether va_copy() is available */
 #cmakedefine HAVE_VA_COPY 1
 
-/* Define to 1 if you have the `vfprintf' function. */
-#cmakedefine HAVE_VFPRINTF 1
-
-/* Define to 1 if you have the `vsnprintf' function. */
-#cmakedefine HAVE_VSNPRINTF 1
-
-/* Define to 1 if you have the `vsprintf' function. */
-#cmakedefine HAVE_VSPRINTF 1
-
 /* Define to 1 if you have the <zlib.h> header file. */
 #cmakedefine HAVE_ZLIB_H 1
 
 /* Whether __va_copy() is available */
 #cmakedefine HAVE___VA_COPY 1
 
-/* Define as const if the declaration of iconv() needs const. */
-#define ICONV_CONST @ICONV_CONST@
-
 /* Define to the sub-directory where libtool stores uninstalled libraries. */
 #cmakedefine LT_OBJDIR "@LT_OBJDIR@"
 
@@ -225,12 +129,6 @@
 /* Define to the version of this package. */
 #define PACKAGE_VERSION "@PACKAGE_VERSION@"
 
-/* Type cast for the send() function 2nd arg */
-#cmakedefine SEND_ARG2_CAST @SEND_ARG2_CAST@
-
-/* Define to 1 if you have the ANSI C header files. */
-#cmakedefine STDC_HEADERS 1
-
 /* Support for IPv6 */
 #cmakedefine SUPPORT_IP6 1
 
@@ -248,9 +146,6 @@
    #define below would cause a syntax error. */
 #cmakedefine _UINT32_T @_UINT32_T@
 
-/* ss_family is not defined here, use __ss_family instead */
-#cmakedefine ss_family @ss_family@
-
 /* Define to the type of an unsigned integer type of width exactly 32 bits if
    such a type exists and the standard includes do not define it. */
 #cmakedefine uint32_t @uint32_t@
diff --git a/configure.ac b/configure.ac
index 41c39dd..fa24ca6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,13 +2,12 @@
 AC_PREREQ([2.63])
 
 m4_define([MAJOR_VERSION], 2)
-m4_define([MINOR_VERSION], 9)
-m4_define([MICRO_VERSION], 13)
+m4_define([MINOR_VERSION], 11)
+m4_define([MICRO_VERSION], 0)
 
 AC_INIT([libxml2],[MAJOR_VERSION.MINOR_VERSION.MICRO_VERSION])
 AC_CONFIG_SRCDIR([entities.c])
 AC_CONFIG_HEADERS([config.h])
-AM_MAINTAINER_MODE([enable])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_HOST
 
@@ -40,44 +39,23 @@
 
 VERSION=${LIBXML_VERSION}
 
-AM_INIT_AUTOMAKE([foreign])
-
-# Support silent build rules, requires at least automake-1.11. Disable
-# by either passing --disable-silent-rules to configure or passing V=1
-# to make
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+AM_INIT_AUTOMAKE([1.16.3 foreign no-dist-gzip dist-xz])
+AM_MAINTAINER_MODE([enable])
+AM_SILENT_RULES([yes])
 
 dnl Checks for programs.
 AC_PROG_CC
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_MKDIR_P
-AC_PROG_CPP
-AC_PATH_PROG(MV, mv, /bin/mv)
 AC_PATH_PROG(TAR, tar, /bin/tar)
 AC_PATH_PROG(PERL, perl, /usr/bin/perl)
 AC_PATH_PROG(WGET, wget, /usr/bin/wget)
-AC_PATH_PROG(XMLLINT, xmllint, /usr/bin/xmllint)
 AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc)
 PKG_PROG_PKG_CONFIG
 
-LT_INIT
-
-dnl
-dnl if the system support linker version scripts for symbol versioning
-dnl then add it
-dnl
-VERSION_SCRIPT_FLAGS=
-# lt_cv_prog_gnu_ld is from libtool 2.+
-if test "$lt_cv_prog_gnu_ld" = yes; then
-  VERSION_SCRIPT_FLAGS=-Wl,--version-script=
-else
-  case $host in
-  *-*-sunos*) VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,";;
-  esac
-fi
-AC_SUBST(VERSION_SCRIPT_FLAGS)
-AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"])
+LT_INIT([disable-static])
+LT_LIB_M
 
 dnl
 dnl We process the AC_ARG_WITH first so that later we can modify
@@ -85,20 +63,12 @@
 dnl also allows up so alphabetize the choices
 dnl
 
-dnl
-dnl zlib option might change flags, so we save them initially
-dnl
-_cppflags="${CPPFLAGS}"
-_libs="${LIBS}"
-
 AC_ARG_WITH(c14n,
 [  --with-c14n             add the Canonicalization support (on)])
 AC_ARG_WITH(catalog,
 [  --with-catalog          add the Catalog support (on)])
 AC_ARG_WITH(debug,
 [  --with-debug            add the debugging module (on)])
-AC_ARG_WITH(docbook,
-[  --with-docbook          add Docbook SGML support (off)])
 AC_ARG_WITH(fexceptions,
 [  --with-fexceptions      add GCC flag -fexceptions for C++ exceptions (off)])
 AC_ARG_WITH(ftp,
@@ -107,15 +77,6 @@
 [  --with-history          add history support to xmllint shell(off)])
 AC_ARG_WITH(html,
 [  --with-html             add the HTML support (on)])
-dnl Specific dir for HTML output ?
-AC_ARG_WITH(html-dir, AS_HELP_STRING([--with-html-dir=path],
-            [path to base html directory, default $docdir/html]),
-            [HTML_DIR=$withval], [HTML_DIR='$(docdir)/html'])
-
-AC_ARG_WITH(html-subdir, AS_HELP_STRING([--with-html-subdir=path],
-            [directory used under html-dir, default '']),
-            [test "x$withval" != "x" && HTML_DIR="$HTML_DIR/$withval"])
-AC_SUBST(HTML_DIR)
 AC_ARG_WITH(http,
 [  --with-http             add the HTTP support (on)])
 AC_ARG_WITH(iconv,
@@ -137,20 +98,11 @@
 AC_ARG_WITH(push,
 [  --with-push             add the PUSH parser interfaces (on)])
 AC_ARG_WITH(python,
-[  --with-python[[=DIR]]     build Python bindings if found])
-AC_ARG_WITH(python_install_dir,
-[  --with-python-install-dir=DIR
-                          install Python bindings in DIR])
+[  --with-python           build Python bindings (on)])
 AC_ARG_WITH(reader,
 [  --with-reader           add the xmlReader parsing interface (on)])
 AC_ARG_WITH(readline,
-[  --with-readline=DIR     use readline in DIR],[
-  if test "$withval" != "no" -a "$withval" != "yes"; then
-    RDL_DIR=$withval
-    CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LDFLAGS="${LDFLAGS} -L$withval/lib"
-  fi
-])
+[  --with-readline[[=DIR]]   use readline in DIR])
 AC_ARG_WITH(regexps,
 [  --with-regexps          add Regular Expressions support (on)])
 AC_ARG_WITH(run_debug,
@@ -177,346 +129,185 @@
 [  --with-xpath            add the XPATH support (on)])
 AC_ARG_WITH(xptr,
 [  --with-xptr             add the XPointer support (on)])
+AC_ARG_WITH(xptr-locs,
+[  --with-xptr-locs        add support for XPointer locations (off)])
 AC_ARG_WITH(modules,
 [  --with-modules          add the dynamic modules support (on)])
 AC_ARG_WITH(zlib,
-[  --with-zlib[[=DIR]]       use libz in DIR],[
-  if test "$withval" != "no" -a "$withval" != "yes"; then
-    Z_DIR=$withval
-    CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LDFLAGS="${LDFLAGS} -L$withval/lib"
-  fi
-])
+[  --with-zlib[[=DIR]]       use libz in DIR])
 AC_ARG_WITH(lzma,
-[  --with-lzma[[=DIR]]       use liblzma in DIR],[
-  if test "$withval" != "no" -a "$withval" != "yes"; then
-    LZMA_DIR=$withval
-    CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LDFLAGS="${LDFLAGS} -L$withval/lib"
-  fi
-])
+[  --with-lzma[[=DIR]]       use liblzma in DIR])
 AC_ARG_WITH(coverage,
 [  --with-coverage         build for code coverage with GCC (off)])
 
-AC_ARG_ENABLE(rebuild-docs,
-[  --enable-rebuild-docs[[=yes/no]]  rebuild some generated docs [[default=no]]])
-if test "$enable_rebuild_docs" = "yes" -a "$srcdir" != "."; then
-  AC_MSG_ERROR([cannot rebuild docs when builddir != srcdir])
-fi
-AM_CONDITIONAL([REBUILD_DOCS], [test "$enable_rebuild_docs" = "yes"])
-
 dnl
 dnl hard dependencies on options
 dnl
-if test "$with_schemas" = "yes"
-then
+if test "$with_c14n" = "yes"; then
+    if test "$with_output" = "no"; then
+        echo WARNING: --with-c14n overrides --without-output
+    fi
+    with_output=yes
+    if test "$with_xpath" = "no"; then
+        echo WARNING: --with-c14n overrides --without-xpath
+    fi
+    with_xpath=yes
+fi
+if test "$with_schemas" = "yes"; then
+    if test "$with_pattern" = "no"; then
+        echo WARNING: --with-schemas overrides --without-pattern
+    fi
     with_pattern=yes
+    if test "$with_regexps" = "no"; then
+        echo WARNING: --with-schemas overrides --without-regexps
+    fi
     with_regexps=yes
 fi
-if test "$with_schematron" = "yes"
-then
+if test "$with_schematron" = "yes"; then
+    if test "$with_pattern" = "no"; then
+        echo WARNING: --with-schematron overrides --without-pattern
+    fi
     with_pattern=yes
+    if test "$with_tree" = "no"; then
+        echo WARNING: --with-schematron overrides --without-tree
+    fi
     with_tree=yes
+    if test "$with_xpath" = "no"; then
+        echo WARNING: --with-schematron overrides --without-xpath
+    fi
     with_xpath=yes
 fi
-if test "$with_reader" = "yes"
-then
+if test "$with_reader" = "yes"; then
+    if test "$with_push" = "no"; then
+        echo WARNING: --with-reader overrides --without-push
+    fi
+    with_push=yes
+    if test "$with_tree" = "no"; then
+        echo WARNING: --with-reader overrides --without-tree
+    fi
+    with_tree=yes
+fi
+if test "$with_writer" = "yes"; then
+    if test "$with_output" = "no"; then
+        echo WARNING: --with-writer overrides --without-output
+    fi
+    with_output=yes
+    if test "$with_push" = "no"; then
+        echo WARNING: --with-writer overrides --without-push
+    fi
     with_push=yes
 fi
-if test "$with_xptr" = "yes"
-then
+if test "$with_xinclude" = "yes"; then
+    if test "$with_xpath" = "no"; then
+        echo WARNING: --with-xinclude overrides --without-xpath
+    fi
     with_xpath=yes
 fi
-dnl
-dnl option to build a minimal libxml2 library
-dnl
-if test "$with_minimum" = "yes"
-then
+if test "$with_xptr_locs" = "yes"; then
+    if test "$with_xptr" = "no"; then
+        echo WARNING: --with-xptr-locs overrides --without-xptr
+    fi
+    with_xptr=yes
+fi
+if test "$with_xptr" = "yes"; then
+    if test "$with_xpath" = "no"; then
+        echo WARNING: --with-xptr overrides --without-xpath
+    fi
+    with_xpath=yes
+fi
+
+if test "$with_minimum" = "yes"; then
+    dnl
+    dnl option to build a minimal libxml2 library
+    dnl
     echo "Configuring for a minimal library"
-    if test "$with_c14n" = ""
-    then
-      with_c14n=no
-    fi
-    if test "$with_catalog" = ""
-    then
-      with_catalog=no
-    fi
-    echo So far so good!
-    if test "$with_debug" = ""
-    then
-      with_debug=no
-    fi
-    if test "$with_fexceptions" = ""
-    then
-      with_fexceptions=no
-    fi
-    if test "$with_history" = ""
-    then
-      with_history=no
-    fi
-    if test "$with_html" = ""
-    then
-      with_html=no
-    fi
-    if test "$with_http" = ""
-    then
-      with_http=no 
-    fi
-    if test "$with_iconv" = ""
-    then
-      with_iconv=no
-    fi
-    if test "$with_iso8859x" = ""
-    then
-      with_iso8859x=no
-    fi
-    if test "$with_mem_debug" = ""
-    then 
-      with_mem_debug=no
-    fi
-    if test "$with_output" = ""
-    then
-      with_output=no
-    fi
-    if test "$with_pattern" = ""
-    then
-      with_pattern=no
-    fi
-    if test "$with_push" = ""
-    then
-      with_push=no
-    fi
-    if test "$with_python" = ""
-    then
-      with_python=no
-    fi
-    if test "$with_reader" = ""
-    then
-      with_reader=no
-    fi
-    if test "$with_readline" = ""
-    then
-      with_readline=no
-    fi
-    if test "$with_regexps" = ""
-    then
-      with_regexps=no
-    fi
-    if test "$with_run_debug" = ""
-    then
-      with_run_debug=no
-    fi
-    if test "$with_sax1" = ""
-    then
-      with_sax1=no
-    fi
-    if test "$with_schemas" = ""
-    then
-      with_schemas=no
-    fi
-    if test "$with_schematron" = ""
-    then
-      with_schematron=no
-    fi
-    if test "$with_threads" = ""
-    then
-      with_threads=no
-    fi
-    if test "$with_thread_alloc" = ""
-    then
-      with_thread_alloc=no
-   fi
-    if test "$with_tree" = ""
-    then
-      with_tree=no
-    fi
-    if test "$with_valid" = ""
-    then
-      with_valid=no
-    fi
-    if test "$with_writer" = ""
-    then
-      with_writer=no
-    fi
-    if test "$with_xinclude" = ""
-    then
-      with_xinclude=no
-    fi
-    if test "$with_xpath" = ""
-    then
-      with_xpath=no
-    fi
-    if test "$with_xptr" = ""
-    then
-      with_xptr=no
-    fi
-    if test "$with_zlib" = ""
-    then
-      with_zlib=no
-    fi
-    if test "$with_modules" = ""
-    then
-      with_modules=no
-    fi
-fi
-
-echo Checking zlib
-
-dnl Checks for zlib library.
-
-WITH_ZLIB=0
-if test "$with_zlib" = "no"; then
-    echo "Disabling zlib compression support"
+    test "$with_c14n" = "" && with_c14n=no
+    test "$with_catalog" = "" && with_catalog=no
+    test "$with_debug" = "" && with_debug=no
+    test "$with_fexceptions" = "" && with_fexceptions=no
+    test "$with_history" = "" && with_history=no
+    test "$with_html" = "" && with_html=no
+    test "$with_http" = "" && with_http=no
+    test "$with_iconv" = "" && with_iconv=no
+    test "$with_iso8859x" = "" && with_iso8859x=no
+    test "$with_mem_debug" = "" && with_mem_debug=no
+    test "$with_output" = "" && with_output=no
+    test "$with_pattern" = "" && with_pattern=no
+    test "$with_push" = "" && with_push=no
+    test "$with_python" = "" && with_python=no
+    test "$with_reader" = "" && with_reader=no
+    test "$with_readline" = "" && with_readline=no
+    test "$with_regexps" = "" && with_regexps=no
+    test "$with_run_debug" = "" && with_run_debug=no
+    test "$with_sax1" = "" && with_sax1=no
+    test "$with_schemas" = "" && with_schemas=no
+    test "$with_schematron" = "" && with_schematron=no
+    test "$with_threads" = "" && with_threads=no
+    test "$with_thread_alloc" = "" && with_thread_alloc=no
+    test "$with_tree" = "" && with_tree=no
+    test "$with_valid" = "" && with_valid=no
+    test "$with_writer" = "" && with_writer=no
+    test "$with_xinclude" = "" && with_xinclude=no
+    test "$with_xpath" = "" && with_xpath=no
+    test "$with_xptr" = "" && with_xptr=no
+    test "$with_zlib" = "" && with_zlib=no
+    test "$with_modules" = "" && with_modules=no
 else
-    # Don't run pkg-config if with_zlib contains a path.
-    if test "x$Z_DIR" = "x"; then
-        # Try pkg-config first so that static linking works.
-        PKG_CHECK_MODULES([Z],[zlib],
-            [WITH_ZLIB=1],
-            [:])
+    dnl
+    dnl Disable dependent modules
+    dnl
+    if test "$with_output" = "no"; then
+        with_c14n=no
+        with_writer=no
     fi
-
-    if test "$WITH_ZLIB" = "0"; then
-        AC_CHECK_HEADERS(zlib.h,
-            AC_CHECK_LIB(z, gzread,[
-                WITH_ZLIB=1
-                if test "x${Z_DIR}" != "x"; then
-                    Z_CFLAGS="-I${Z_DIR}/include"
-                    Z_LIBS="-L${Z_DIR}/lib -lz"
-                    [case ${host} in
-                        *-*-solaris*)
-                            Z_LIBS="-L${Z_DIR}/lib -R${Z_DIR}/lib -lz"
-                            ;;
-                    esac]
-                else
-                    Z_LIBS="-lz"
-                fi])
-            )
+    if test "$with_pattern" = "no"; then
+        with_schemas=no
+        with_schematron=no
+    fi
+    if test "$with_push" = "no"; then
+        with_reader=no
+        with_writer=no
+    fi
+    if test "$with_regexps" = "no"; then
+        with_schemas=no
+    fi
+    if test "$with_tree" = "no"; then
+        with_reader=no
+        with_schematron=no
+    fi
+    if test "$with_xpath" = "no"; then
+        with_c14n=no
+        with_schematron=no
+        with_xinclude=no
+        with_xptr=no
     fi
 fi
 
-AC_SUBST(Z_CFLAGS)
-AC_SUBST(Z_LIBS)
-AC_SUBST(WITH_ZLIB)
-
-echo Checking lzma
-
-dnl Checks for lzma library.
-
-WITH_LZMA=0
-if test "$with_lzma" = "no"; then
-    echo "Disabling lzma compression support"
-else
-    # Don't run pkg-config if with_lzma contains a path.
-    if test "x$LZMA_DIR" = "x"; then
-        # Try pkg-config first so that static linking works.
-        PKG_CHECK_MODULES([LZMA],[liblzma],
-            [WITH_LZMA=1],
-            [:])
-    fi
-
-    # If pkg-config failed, fall back to AC_CHECK_LIB. This
-    # will not pick up the necessary LIBS flags for liblzma's
-    # private dependencies, though, so static linking may fail.
-    if test "$WITH_LZMA" = "0"; then
-        AC_CHECK_HEADERS(lzma.h,
-            AC_CHECK_LIB(lzma, lzma_code,[
-                WITH_LZMA=1
-                if test "x${LZMA_DIR}" != "x"; then
-                    LZMA_CFLAGS="-I${LZMA_DIR}/include"
-                    LZMA_LIBS="-L${LZMA_DIR}/lib -llzma"
-                else
-                    LZMA_LIBS="-llzma"
-                fi])
-            )
-    fi
-fi
-
-AC_SUBST(LZMA_CFLAGS)
-AC_SUBST(LZMA_LIBS)
-AC_SUBST(WITH_LZMA)
-
-CPPFLAGS=${_cppflags}
-LIBS=${_libs}
-
-echo Checking headers
-
+dnl
 dnl Checks for header files.
-AC_HEADER_DIRENT
-AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h])
-AC_CHECK_HEADERS([unistd.h])
-AC_CHECK_HEADERS([ctype.h])
-AC_CHECK_HEADERS([errno.h])
-AC_CHECK_HEADERS([malloc.h])
-AC_CHECK_HEADERS([stdarg.h])
-AC_CHECK_HEADERS([sys/stat.h])
-AC_CHECK_HEADERS([sys/types.h])
-AC_CHECK_HEADERS([stdint.h])
-AC_CHECK_HEADERS([inttypes.h])
-AC_CHECK_HEADERS([time.h])
-AC_CHECK_HEADERS([math.h])
-AC_CHECK_HEADERS([limits.h])
-AC_CHECK_HEADERS([float.h])
-AC_CHECK_HEADERS([stdlib.h])
-AC_CHECK_HEADERS([sys/socket.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-])
-AC_CHECK_HEADERS([netinet/in.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-])
-AC_CHECK_HEADERS([arpa/inet.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-#if HAVE_ARPA_INET_H
-# include <arpa/inet.h>
-# endif
-])
-AC_CHECK_HEADERS([netdb.h])
-AC_CHECK_HEADERS([sys/time.h])
-AC_CHECK_HEADERS([sys/select.h])
-AC_CHECK_HEADERS([poll.h])
+dnl
+AC_CHECK_HEADERS([stdint.h inttypes.h])
+AC_CHECK_HEADERS([fcntl.h unistd.h sys/stat.h])
 AC_CHECK_HEADERS([sys/mman.h])
-AC_CHECK_HEADERS([sys/timeb.h])
-AC_CHECK_HEADERS([signal.h])
-AC_CHECK_HEADERS([arpa/nameser.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-])
-AC_CHECK_HEADERS([resolv.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-#if HAVE_NETINET_IN_H
-# include <netinet/in.h>
-# endif
-#if HAVE_ARPA_NAMESER_H
-# include <arpa/nameser.h>
-# endif
-])
-AC_CHECK_HEADERS([dl.h])
-AC_CHECK_HEADERS([dlfcn.h])
+AC_CHECK_HEADERS([sys/socket.h netinet/in.h arpa/inet.h netdb.h])
+AC_CHECK_HEADERS([sys/select.h poll.h])
+AC_CHECK_HEADERS([sys/time.h sys/timeb.h])
+AC_CHECK_HEADERS([dl.h dlfcn.h])
+AC_CHECK_HEADERS([glob.h])
+AM_CONDITIONAL(WITH_GLOB, test "$ac_cv_header_glob_h" = "yes")
 
-
-echo Checking types
-
+dnl
+dnl Checking types
+dnl
 AC_TYPE_UINT32_T
 
-
-echo Checking libraries
+dnl
+dnl Checking libraries
+dnl
+AC_CHECK_FUNCS(snprintf vsnprintf,, NEED_TRIO=1)
 
 dnl Checks for library functions.
-AC_FUNC_STRFTIME
-AC_CHECK_FUNCS(strftime localtime gettimeofday ftime)
-AC_CHECK_FUNCS(stat signal)
-AC_CHECK_FUNCS(rand rand_r srand time)
-AC_CHECK_FUNCS(isascii mmap munmap putenv)
+AC_CHECK_FUNCS([gettimeofday ftime stat rand_r isascii mmap munmap putenv])
 
 AH_VERBATIM([HAVE_MUNMAP_AFTER],[/* mmap() is no good without munmap() */
 #if defined(HAVE_MMAP) && !defined(HAVE_MUNMAP)
@@ -554,68 +345,95 @@
   AC_MSG_RESULT(yes)
   AC_DEFINE([VA_LIST_IS_ARRAY], [1],[Define if va_list is an array type])])
 
-dnl Checks for inet libraries:
-AC_SEARCH_LIBS(gethostent, [nsl])
-AC_SEARCH_LIBS(setsockopt, [socket net network])
-AC_SEARCH_LIBS(connect, [inet])
+dnl
+dnl Checks for inet libraries
+dnl
+if test "$with_http" != "no" || test "with_ftp" = "yes"; then
+    case "$host" in
+        *-*-mingw*)
+            dnl AC_SEARCH_LIBS doesn't work because of non-standard calling
+            dnl conventions on 32-bit Windows.
+            NET_LIBS="$NET_LIBS -lws2_32"
+            ;;
+        *)
+            _libs=$LIBS
+            AC_SEARCH_LIBS(gethostbyname, [nsl], [
+                if test "$ac_cv_search_gethostbyname" != "none required"; then
+                    NET_LIBS="$NET_LIBS $ac_cv_search_gethostbyname"
+                fi], [:], [$NET_LIBS])
+            AC_SEARCH_LIBS(connect, [bsd socket inet], [
+                if test "$ac_cv_search_connect" != "none required"; then
+                    NET_LIBS="$NET_LIBS $ac_cv_search_connect"
+                fi], [:], [$NET_LIBS])
+            LIBS=$_libs
+            ;;
+    esac
 
-dnl Determine what socket length (socklen_t) data type is
-AC_MSG_CHECKING([for type of socket length (socklen_t)])
-AC_TRY_COMPILE2([
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/socket.h>],[
-(void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)],[
-  AC_MSG_RESULT(socklen_t *)
-  XML_SOCKLEN_T=socklen_t],[
-  AC_TRY_COMPILE2([
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/socket.h>],[
-(void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)],[
-    AC_MSG_RESULT(size_t *)
-    XML_SOCKLEN_T=size_t],[
+    dnl Determine what socket length (socklen_t) data type is
+    AC_MSG_CHECKING([for type of socket length (socklen_t)])
     AC_TRY_COMPILE2([
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/socket.h>],[
-(void)getsockopt (1, 1, 1, NULL, (int *)NULL)],[
-      AC_MSG_RESULT(int *)
-      XML_SOCKLEN_T=int],[
-      AC_MSG_WARN(could not determine)
-      XML_SOCKLEN_T="int"])])])
-AC_DEFINE_UNQUOTED(XML_SOCKLEN_T, $XML_SOCKLEN_T, [Determine what socket length (socklen_t) data type is])
+    #include <stddef.h>
+    #ifdef _WIN32
+      #include <ws2tcpip.h>
+    #else
+      #include <sys/socket.h>
+    #endif],[
+    (void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)],[
+      AC_MSG_RESULT(socklen_t *)
+      XML_SOCKLEN_T=socklen_t],[
+      AC_TRY_COMPILE2([
+    #include <stddef.h>
+    #include <sys/socket.h>],[
+    (void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)],[
+        AC_MSG_RESULT(size_t *)
+        XML_SOCKLEN_T=size_t],[
+        AC_TRY_COMPILE2([
+    #include <stddef.h>
+    #include <sys/socket.h>],[
+    (void)getsockopt (1, 1, 1, NULL, (int *)NULL)],[
+          AC_MSG_RESULT(int *)
+          XML_SOCKLEN_T=int],[
+          AC_MSG_WARN(could not determine)
+          XML_SOCKLEN_T="int"])])])
+    AC_DEFINE_UNQUOTED(XML_SOCKLEN_T, $XML_SOCKLEN_T, [Determine what socket length (socklen_t) data type is])
 
-dnl Checking if gethostbyname() argument is const.
-AC_MSG_CHECKING([for const gethostbyname() argument])
-AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]],
-    [[(void)gethostbyname((const char *)"");]])],
-have_gethostbyname_const_arg=yes,
-have_gethostbyname_const_arg=no)
-AC_MSG_RESULT($have_gethostbyname_const_arg)
-if test x"$have_gethostbyname_const_arg" = x"yes"; then
-    AC_DEFINE([GETHOSTBYNAME_ARG_CAST], [],
-      [Type cast for the gethostbyname() argument])
-else
-    AC_DEFINE([GETHOSTBYNAME_ARG_CAST], [(char *)],
-      [Type cast for the gethostbyname() argument])
+    dnl
+    dnl Checking for availability of IPv6
+    dnl
+    AC_ARG_ENABLE(ipv6, [  --enable-ipv6[[=yes/no]]  enables compilation of IPv6 code [[default=yes]]],, enable_ipv6=yes)
+    if test "$with_minimum" = "yes"
+    then
+        enable_ipv6=no
+    fi
+    if test $enable_ipv6 = yes; then
+        AC_MSG_CHECKING([whether to enable IPv6])
+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+            #ifdef _WIN32
+              #include <winsock2.h>
+            #else
+              #include <sys/socket.h>
+              #ifdef HAVE_NETDB_H
+                #include <netdb.h>
+              #endif
+            #endif
+            ]], [[
+            struct sockaddr_storage ss;
+            socket(AF_INET6, SOCK_STREAM, 0);
+            getaddrinfo(0, 0, 0, 0);
+            ]])], [
+            AC_DEFINE([SUPPORT_IP6], [], [Support for IPv6])
+            AC_MSG_RESULT([yes])], [
+            AC_MSG_RESULT([no])]
+        )
+    fi
 fi
 
-dnl Checking if send() second argument is const.
-AC_MSG_CHECKING([for const send() second argument])
-AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#include <sys/socket.h>]],
-    [[(void)send(1,(const char *)"",1,1);]])],
-have_send_const_arg2=yes,
-have_send_const_arg2=no)
-AC_MSG_RESULT($have_send_const_arg2)
-if test x"$have_send_const_arg2" = x"yes"; then
-    AC_DEFINE([SEND_ARG2_CAST], [],
-      [Type cast for the send() function 2nd arg])
-else
-    AC_DEFINE([SEND_ARG2_CAST], [(char *)],
-      [Type cast for the send() function 2nd arg])
-fi
+dnl
+dnl Extra flags
+dnl
+XML_LIBDIR='-L${libdir}'
+XML_INCLUDEDIR='-I${includedir}/libxml2'
+XML_CFLAGS=""
 
 dnl Checking whether __attribute__((destructor)) is accepted by the compiler
 AC_MSG_CHECKING([whether __attribute__((destructor)) is accepted])
@@ -627,99 +445,26 @@
   AC_DEFINE([ATTRIBUTE_DESTRUCTOR], [__attribute__((destructor))],[A form that will not confuse apibuild.py])],[
   AC_MSG_RESULT(no)])
 
-
-dnl ***********************Checking for availability of IPv6*******************
-
-AC_MSG_CHECKING([whether to enable IPv6])
-AC_ARG_ENABLE(ipv6, [  --enable-ipv6[[=yes/no]]  enables compilation of IPv6 code [[default=yes]]],, enable_ipv6=yes)
-if test "$with_minimum" = "yes"
-then
-    enable_ipv6=no
+dnl
+dnl Linker version scripts for symbol versioning
+dnl
+VERSION_SCRIPT_FLAGS=
+# lt_cv_prog_gnu_ld is from libtool 2.+
+if test "$lt_cv_prog_gnu_ld" = yes; then
+  case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-msys* )
+      ;;
+    *)
+      VERSION_SCRIPT_FLAGS=-Wl,--version-script=
+      ;;
+  esac
+else
+  case $host in
+  *-*-sunos*) VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,";;
+  esac
 fi
-if test $enable_ipv6 = yes; then
-  have_ipv6=no
-  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#   include <sys/types.h>
-#   include <sys/socket.h>
-    ]], [[
-    struct sockaddr_storage ss;
-    socket(AF_INET6, SOCK_STREAM, 0)
-    ]])],
-    have_ipv6=yes,
-    have_ipv6=no
-  )
-  AC_MSG_RESULT($have_ipv6)
-
-  if test $have_ipv6 = yes; then
-    AC_DEFINE([SUPPORT_IP6], [], [Support for IPv6])
-    have_broken_ss_family=no
-
-    dnl *********************************************************************
-    dnl on some platforms (like AIX 5L), the structure sockaddr doesn't have
-    dnl a ss_family member, but rather __ss_family. Let's detect that
-    dnl and define the HAVE_BROKEN_SS_FAMILY when we are on one of these
-    dnl platforms.  However, we should only do this if ss_family is not
-    dnl present.
-    dnl ********************************************************************
-    AC_MSG_CHECKING([struct sockaddr::ss_family])
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#     include <sys/types.h>
-#     include <sys/socket.h>
-      ]], [[
-      struct sockaddr_storage ss ;
-      ss.ss_family = 0 ;
-      ]])],
-      have_ss_family=yes,
-      have_ss_family=no
-    )
-    AC_MSG_RESULT($have_ss_family)
-    if test x$have_ss_family = xno ; then
-      AC_MSG_CHECKING([broken struct sockaddr::ss_family])
-      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#       include <sys/types.h>
-#       include <sys/socket.h>
-        ]], [[
-        struct sockaddr_storage ss ;
-        ss.__ss_family = 0 ;
-        ]])],
-        have_broken_ss_family=yes,
-        have_broken_ss_family=no
-      )
-      AC_MSG_RESULT($have_broken_ss_family)
-      if test x$have_broken_ss_family = xyes ; then
-        AC_DEFINE(HAVE_BROKEN_SS_FAMILY, [],
-	  [Whether struct sockaddr::__ss_family exists]) 
-        AC_DEFINE(ss_family, __ss_family,
-	  [ss_family is not defined here, use __ss_family instead])
-      else
-        AC_MSG_WARN(ss_family and __ss_family not found)
-      fi
-    fi
-
-    have_getaddrinfo=no
-    AC_CHECK_FUNC(getaddrinfo, have_getaddrinfo=yes)
-    if test $have_getaddrinfo != yes; then
-      for lib in bsd socket inet; do
-        AC_CHECK_LIB($lib, getaddrinfo, [LIBS="$LIBS -l$lib";have_getaddrinfo=yes;break])
-      done
-    fi
-
-    if test $have_getaddrinfo = yes; then
-      AC_DEFINE([HAVE_GETADDRINFO], [], [Define if getaddrinfo is there])
-    fi
-  fi
-fi 
-
-dnl ******************************End IPv6 checks******************************
-
-XML_LIBDIR='-L${libdir}'
-XML_INCLUDEDIR='-I${includedir}/libxml2'
-
-dnl
-dnl Extra flags
-dnl
-XML_CFLAGS=""
-RDL_LIBS=""
+AC_SUBST(VERSION_SCRIPT_FLAGS)
+AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"])
 
 dnl
 dnl Workaround for native compilers
@@ -729,13 +474,13 @@
 if test "${GCC}" != "yes" ; then
     case "${host}" in
           hppa*-*-hpux* )
-	       EXTRA_CFLAGS="${EXTRA_CFLAGS} -Wp,-H30000"
+	       AM_CFLAGS="${AM_CFLAGS} -Wp,-H30000"
 	       ;;
           *-dec-osf* )
-               EXTRA_CFLAGS="${EXTRA_CFLAGS} -ieee"
+               AM_CFLAGS="${AM_CFLAGS} -ieee"
                ;;
 	  alpha*-*-linux* )
-	       EXTRA_CFLAGS="${EXTRA_CFLAGS} -ieee"
+	       AM_CFLAGS="${AM_CFLAGS} -ieee"
 	       ;;
     esac
 else
@@ -745,19 +490,19 @@
 	# Not activated by default because this inflates the code size
 	# Used to allow propagation of C++ exceptions through the library
 	#
-	EXTRA_CFLAGS="${EXTRA_CFLAGS} -fexceptions"
+	AM_CFLAGS="${AM_CFLAGS} -fexceptions"
     fi
 
     # warnings we'd like to see
-    EXTRA_CFLAGS="${EXTRA_CFLAGS} -pedantic -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
+    AM_CFLAGS="${AM_CFLAGS} -pedantic -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline"
     # warnings we'd like to suppress
-    EXTRA_CFLAGS="${EXTRA_CFLAGS} -Wno-long-long -Wno-format-extra-args"
+    AM_CFLAGS="${AM_CFLAGS} -Wno-long-long -Wno-format-extra-args"
     case "${host}" in
           alpha*-*-linux* )
-	       EXTRA_CFLAGS="${EXTRA_CFLAGS} -mieee"
+	       AM_CFLAGS="${AM_CFLAGS} -mieee"
 	       ;;
 	  alpha*-*-osf* )
-	       EXTRA_CFLAGS="${EXTRA_CFLAGS} -mieee"
+	       AM_CFLAGS="${AM_CFLAGS} -mieee"
 	       ;;
     esac
 fi
@@ -768,186 +513,312 @@
     hppa*-hp-mpeix)
         NEED_TRIO=1
 	;;
-    *-*-mingw* | *-*-cygwin* | *-*-msvc* )
+    *-*-cygwin* | *-*-mingw* | *-*-msys* )
         # If the host is Windows, and shared libraries are disabled, we
-        # need to add -DLIBXML_STATIC to EXTRA_CFLAGS in order for linking to
+        # need to add -DLIBXML_STATIC to AM_CFLAGS in order for linking to
         # work properly (without it, xmlexports.h would force the use of
         # DLL imports, which obviously aren't present in a static
         # library).
         if test "x$enable_shared" = "xno"; then
             XML_CFLAGS="$XML_CFLAGS -DLIBXML_STATIC"
-            EXTRA_CFLAGS="$EXTRA_CFLAGS -DLIBXML_STATIC"
+            AM_CFLAGS="$AM_CFLAGS -DLIBXML_STATIC"
         fi
         ;;
 esac
 
 
 dnl
-dnl check for python
+dnl Simple API modules
 dnl
 
-PYTHON_VERSION=
-PYTHON_INCLUDES=
-PYTHON_SITE_PACKAGES=
-PYTHON_TESTS=
-pythondir=
-if test "$with_python" != "no" ; then
-    if test -x "$with_python/bin/python"
-    then
-        echo Found python in $with_python/bin/python
-        PYTHON="$with_python/bin/python"
-    else
-        if test -x "$with_python/python.exe"
-        then
-            echo Found python in $with_python/python.exe
-            PYTHON="$with_python/python.exe"
-        else
-            if test -x "$with_python"
-            then
-                echo Found python in $with_python
-                PYTHON="$with_python"
-            else
-                if test -x "$PYTHON"
-                then
-                    echo Found python in environment PYTHON=$PYTHON
-                    with_python=`$PYTHON -c "import sys; print(sys.exec_prefix)"`
-                else
-                    AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
-		fi
-	    fi
-	fi
-    fi
-    if test "$PYTHON" != ""
-    then
-        PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"`
-	PYTHON_INCLUDES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_inc())"`
-# does not work as it produce a /usr/lib/python path instead of/usr/lib64/python
-#
-#	PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
-	echo Found Python version $PYTHON_VERSION
-    fi
-    if test "$PYTHON_VERSION" != "" -a "$PYTHON_INCLUDES" = ""
-    then
-	if test -r $with_python/include/python$PYTHON_VERSION/Python.h
-	then
-	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
-	else
-	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
-	    then
-	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
-	    else
-		if test -r /usr/include/python$PYTHON_VERSION/Python.h
-		then
-		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
-		else
-	            if test -r $with_python/include/Python.h
-	            then
-	                PYTHON_INCLUDES=$with_python/include
-	            else
-		        echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h
-		    fi
-		fi
-	    fi
-	fi
-    fi
-    if test "$with_python_install_dir" != ""
-    then
-	PYTHON_SITE_PACKAGES="$with_python_install_dir"
-    fi
-    if test "$PYTHON_VERSION" != "" -a "$PYTHON_SITE_PACKAGES" = ""
-    then
-	if test -d $libdir/python$PYTHON_VERSION/site-packages
-	then
-	    PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
-	else
-	    if test -d $with_python/lib/site-packages
-	    then
-		PYTHON_SITE_PACKAGES=$with_python/lib/site-packages
-	    else
-		PYTHON_SITE_PACKAGES=$($PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_python_lib(True,False,"${exec_prefix}"))')
-	    fi
-	fi
-    fi
-    pythondir='$(PYTHON_SITE_PACKAGES)'
-    PYTHON_LIBS=`python$PYTHON_VERSION-config --ldflags`
+if test "$with_tree" = "no" ; then
+    echo Disabling DOM like tree manipulation APIs
+    WITH_TREE=0
 else
-    PYTHON=
+    WITH_TREE=1
 fi
-AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
-if test "$PYTHON_INCLUDES" != ""
-then
-    PYTHON_SUBDIR=python
-else
-    PYTHON_SUBDIR=
-fi
-AC_SUBST(pythondir)
-AC_SUBST(PYTHON_SUBDIR)
-AC_SUBST(PYTHON_LIBS)
+AC_SUBST(WITH_TREE)
 
-dnl check for dso support
+if test "$with_ftp" != "yes" ; then
+    WITH_FTP=0
+else
+    echo Enabling FTP support
+    WITH_FTP=1
+fi
+AC_SUBST(WITH_FTP)
+AM_CONDITIONAL(WITH_FTP_SOURCES, test "$WITH_FTP" = "1")
+
+if test "$with_http" = "no" ; then
+    echo Disabling HTTP support
+    WITH_HTTP=0
+else
+    WITH_HTTP=1
+fi
+AC_SUBST(WITH_HTTP)
+AM_CONDITIONAL(WITH_HTTP_SOURCES, test "$WITH_HTTP" = "1")
+
+if test "$with_legacy" != "yes" ; then
+    WITH_LEGACY=0
+else
+    echo Enabling deprecated APIs
+    WITH_LEGACY=1
+fi
+AC_SUBST(WITH_LEGACY)
+AM_CONDITIONAL(WITH_LEGACY_SOURCES, test "$WITH_LEGACY" = "1")
+
+if test "$with_reader" = "no" ; then
+    echo Disabling the xmlReader parsing interface
+    WITH_READER=0
+else
+    WITH_READER=1
+fi
+AC_SUBST(WITH_READER)
+AM_CONDITIONAL(WITH_READER_SOURCES, test "$WITH_READER" = "1")
+
+if test "$with_writer" = "no" ; then
+    echo Disabling the xmlWriter saving interface
+    WITH_WRITER=0
+else
+    WITH_WRITER=1
+fi
+AC_SUBST(WITH_WRITER)
+AM_CONDITIONAL(WITH_WRITER_SOURCES, test "$WITH_WRITER" = "1")
+
+if test "$with_pattern" = "no" ; then
+    echo Disabling the xmlPattern parsing interface
+    WITH_PATTERN=0
+else
+    WITH_PATTERN=1
+fi
+AC_SUBST(WITH_PATTERN)
+AM_CONDITIONAL(WITH_PATTERN_SOURCES, test "$WITH_PATTERN" = "1")
+
+if test "$with_sax1" = "no" ; then
+    echo Disabling the older SAX1 interface
+    WITH_SAX1=0
+else
+    WITH_SAX1=1
+fi
+AC_SUBST(WITH_SAX1)
+AM_CONDITIONAL(WITH_SAX1_SOURCES, test "$WITH_SAX1" = "1")
+
+if test "$with_push" = "no" ; then
+    echo Disabling the PUSH parser interfaces
+    WITH_PUSH=0
+else
+    WITH_PUSH=1
+fi
+AC_SUBST(WITH_PUSH)
+
+if test "$with_html" = "no" ; then
+    echo Disabling HTML support
+    WITH_HTML=0
+else
+    WITH_HTML=1
+fi
+AC_SUBST(WITH_HTML)
+AM_CONDITIONAL(WITH_HTML_SOURCES, test "$WITH_HTML" = "1")
+
+if test "$with_valid" = "no" ; then
+    echo Disabling DTD validation support
+    WITH_VALID=0
+else
+    WITH_VALID=1
+fi
+AC_SUBST(WITH_VALID)
+AM_CONDITIONAL(WITH_VALID_SOURCES, test "$WITH_VALID" = "1")
+
+if test "$with_catalog" = "no" ; then
+    echo Disabling Catalog support
+    WITH_CATALOG=0
+else
+    WITH_CATALOG=1
+fi
+AC_SUBST(WITH_CATALOG)
+AM_CONDITIONAL(WITH_CATALOG_SOURCES, test "$WITH_CATALOG" = "1")
+
+if test "$with_xptr" = "no" ; then
+    echo Disabling XPointer support
+    WITH_XPTR=0
+    WITH_XPTR_LOCS=0
+else
+    WITH_XPTR=1
+fi
+AC_SUBST(WITH_XPTR)
+AM_CONDITIONAL(WITH_XPTR_SOURCES, test "$WITH_XPTR" = "1")
+
+if test "$with_xptr_locs" != "yes" ; then
+    WITH_XPTR_LOCS=0
+else
+    echo Enabling Xpointer locations support
+    WITH_XPTR_LOCS=1
+fi
+AC_SUBST(WITH_XPTR_LOCS)
+
+if test "$with_c14n" = "no" ; then
+    echo Disabling C14N support
+    WITH_C14N=0
+else
+    WITH_C14N=1
+fi
+AC_SUBST(WITH_C14N)
+AM_CONDITIONAL(WITH_C14N_SOURCES, test "$WITH_C14N" = "1")
+
+if test "$with_xinclude" = "no" ; then
+    echo Disabling XInclude support
+    WITH_XINCLUDE=0
+else
+    WITH_XINCLUDE=1
+fi
+AC_SUBST(WITH_XINCLUDE)
+AM_CONDITIONAL(WITH_XINCLUDE_SOURCES, test "$WITH_XINCLUDE" = "1")
+
+if test "$with_schematron" = "no" ; then
+    echo "Disabling Schematron support"
+    WITH_SCHEMATRON=0
+else
+    WITH_SCHEMATRON=1
+fi
+AC_SUBST(WITH_SCHEMATRON)
+AM_CONDITIONAL(WITH_SCHEMATRON_SOURCES, test "$WITH_SCHEMATRON" = "1")
+
+if test "$with_xpath" = "no" ; then
+    echo Disabling XPATH support
+    WITH_XPATH=0
+else
+    WITH_XPATH=1
+fi
+AC_SUBST(WITH_XPATH)
+AM_CONDITIONAL(WITH_XPATH_SOURCES, test "$WITH_XPATH" = "1")
+
+if test "$with_output" = "no" ; then
+    echo Disabling serialization/saving support
+    WITH_OUTPUT=0
+else
+    WITH_OUTPUT=1
+fi
+AC_SUBST(WITH_OUTPUT)
+AM_CONDITIONAL(WITH_OUTPUT_SOURCES, test "$WITH_OUTPUT" = "1")
+
+if test "$WITH_ICONV" != "1" && test "$with_iso8859x" = "no" ; then
+    echo Disabling ISO8859X support
+    WITH_ISO8859X=0
+else
+    WITH_ISO8859X=1
+fi
+AC_SUBST(WITH_ISO8859X)
+
+if test "$with_schemas" = "no" ; then
+    echo "Disabling Schemas/Relax-NG support"
+    WITH_SCHEMAS=0
+else
+    WITH_SCHEMAS=1
+fi
+AC_SUBST(WITH_SCHEMAS)
+AM_CONDITIONAL(WITH_SCHEMAS_SOURCES, test "$WITH_SCHEMAS" = "1")
+
+if test "$with_regexps" = "no" ; then
+    echo Disabling Regexps support
+    WITH_REGEXPS=0
+else
+    WITH_REGEXPS=1
+fi
+AC_SUBST(WITH_REGEXPS)
+AM_CONDITIONAL(WITH_REGEXPS_SOURCES, test "$WITH_REGEXPS" = "1")
+
+if test "$with_debug" = "no" ; then
+    echo Disabling DEBUG support
+    WITH_DEBUG=0
+else
+    WITH_DEBUG=1
+fi
+AC_SUBST(WITH_DEBUG)
+AM_CONDITIONAL(WITH_DEBUG_SOURCES, test "$WITH_DEBUG" = "1")
+
+if test "$with_mem_debug" = "yes" ; then
+    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
+AC_SUBST(WITH_MEM_DEBUG)
+
+dnl
+dnl Check for Python
+dnl
+
+AS_IF([test "x$with_python" != "xno"], [
+    AM_PATH_PYTHON
+    PKG_CHECK_MODULES([PYTHON], [python-${PYTHON_VERSION}])
+])
+AM_CONDITIONAL([WITH_PYTHON], [test "x$with_python" != "xno"])
+
+dnl
+dnl Extra Python flags for Windows
+dnl
+PYTHON_LDFLAGS=
+if test "${PYTHON}" != ""; then
+    case "$host" in
+        *-*-cygwin* | *-*-mingw* | *-*-msys* )
+            PYTHON_LDFLAGS="-no-undefined -shrext .pyd"
+            ;;
+    esac
+fi
+AC_SUBST(PYTHON_LDFLAGS)
+
+dnl
+dnl Check for DSO support
+dnl
 WITH_MODULES=0
-TEST_MODULES=
 
 if test "$with_modules" != "no" ; then
- case "$host" in
-  *-*-cygwin*)
-  MODULE_EXTENSION=".dll"
-  AC_CHECK_LIB(cygwin, dlopen, [
-    WITH_MODULES=1
-    MODULE_PLATFORM_LIBS=
-    AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso])
-  ])
-  ;;
-  *-*-mingw*)
-  MODULE_EXTENSION=".dll"
-  WITH_MODULES=1
-  ;;
-  *)
-  AC_CHECK_FUNC(shl_load, libxml_have_shl_load=yes, [
-    AC_CHECK_LIB(dld, shl_load, [
-      MODULE_PLATFORM_LIBS="-ldld"
-      libxml_have_shl_load=yes], [
-      AC_CHECK_FUNC(dlopen, libxml_have_dlopen=yes, [
-        AC_CHECK_LIB(dl, dlopen, [
-          MODULE_PLATFORM_LIBS="-ldl"
-          libxml_have_dlopen=yes])])])])
-
-  if test "${libxml_have_shl_load}" = "yes"; then
-    MODULE_EXTENSION=".sl"
-    WITH_MODULES=1
-    AC_DEFINE([HAVE_SHLLOAD], [], [Have shl_load based dso])
-  fi
- 
-  if test "${libxml_have_dlopen}" = "yes"; then
-    case "${host}" in
-      *-*-hpux* )
-	MODULE_EXTENSION=".sl"
-	;;
-      * )
-	MODULE_EXTENSION=".so"
-	;;
+    case "$host" in
+        *-*-cygwin* | *-*-msys* )
+            MODULE_EXTENSION=".dll"
+            ;;
+        *-*-mingw*)
+            MODULE_EXTENSION=".dll"
+            WITH_MODULES=1
+            ;;
+        *-*-hpux*)
+	    MODULE_EXTENSION=".sl"
+	    ;;
+        *)
+	    MODULE_EXTENSION=".so"
+	    ;;
     esac
 
-    WITH_MODULES=1
-    AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso])
-  fi
- ;;
- esac
+    if test "$WITH_MODULES" = "0"; then
+        _libs=$LIBS
+        AC_SEARCH_LIBS([dlopen], [dl], [
+            WITH_MODULES=1
+            if test "$ac_cv_search_dlopen" != "none required"; then
+                MODULE_PLATFORM_LIBS=$ac_cv_search_dlopen
+            fi
+            AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso])], [
+            AC_SEARCH_LIBS([shl_load], [dld], [
+                WITH_MODULES=1
+                if test "$ac_cv_search_shl_load" != "none required"; then
+                    MODULE_PLATFORM_LIBS=$ac_cv_search_shl_load
+                fi
+                AC_DEFINE([HAVE_SHLLOAD], [], [Have shl_load based dso])])])
+        LIBS=$_libs
+    fi
 fi
 
-if test "${WITH_MODULES}" = "1"; then
-  TEST_MODULES="ModuleTests"
-fi  
-
 AC_SUBST(WITH_MODULES)
 AC_SUBST(MODULE_PLATFORM_LIBS)
 AC_SUBST(MODULE_EXTENSION)
-AC_SUBST(TEST_MODULES)
+AM_CONDITIONAL(WITH_MODULES_SOURCES, test "$WITH_MODULES" = "1")
 
 dnl
 dnl Check for trio string functions
 dnl
-
 if test "${NEED_TRIO}" = "1" ; then
     echo Adding trio library for string functions
     WITH_TRIO=1
@@ -958,82 +829,51 @@
 AC_SUBST(WITH_TRIO)
 
 dnl
-dnl Allow to enable/disable various pieces
-dnl
-echo Checking configuration requirements
-
-dnl
 dnl Thread-related stuff
 dnl
 THREAD_LIBS=""
 BASE_THREAD_LIBS=""
 WITH_THREADS=0
 THREAD_CFLAGS=""
-TEST_THREADS=""
-THREADS_W32=""
 WITH_THREAD_ALLOC=0
 
 if test "$with_threads" = "no" ; then
     echo Disabling multithreaded support
 else
-    echo Enabling multithreaded support
-
-    dnl Default to native threads on Windows
     case $host_os in
-       *mingw*) if test "$with_threads" != "pthread" && test "$with_threads" != "no"; then
-               WITH_THREADS="1"
-               THREADS_W32="1"
-               THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS"
-           fi
-       ;;
+        *mingw*)
+            dnl Default to native threads on Windows
+            WITH_THREADS="1"
+            ;;
+        *)
+            dnl Use pthread by default in other cases
+            _libs=$LIBS
+            AC_CHECK_HEADERS(pthread.h,
+                AC_SEARCH_LIBS([pthread_join], [pthread], [
+                    WITH_THREADS="1"
+                    if test "$ac_cv_search_pthread_join" != "none required"; then
+                        THREAD_LIBS=$ac_cv_search_pthread_join
+                    fi
+                    AC_DEFINE([HAVE_PTHREAD_H], [],
+                              [Define if <pthread.h> is there])]))
+            LIBS=$_libs
+            ;;
     esac
 
-    dnl Use pthread by default in other cases
-    if test -z "$THREADS_W32"; then
-        if test "$with_threads" = "pthread" || test "$with_threads" = "" || test "$with_threads" = "yes" ; then
-            AC_CHECK_HEADER(pthread.h,
-                AC_CHECK_LIB(pthread, pthread_join,[
-                THREAD_LIBS="-lpthread"
-                AC_DEFINE([HAVE_PTHREAD_H], [], [Define if <pthread.h> is there])
-                WITH_THREADS="1"]))
-        fi
-    fi
-
     case $host_os in
-       *cygwin*) THREAD_LIBS=""
-       ;;
-       *beos*) WITH_THREADS="1"
-	   THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS"
-       ;;
-       *linux*)
-           if test "${GCC}" = "yes" ; then
-	       GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`
-	       GCC_MAJOR=`echo ${GCC_VERSION} | sed 's+\..*++'`
-	       GCC_MEDIUM=`echo ${GCC_VERSION} | sed 's+[[0-9]]*\.++' | sed 's+\..*++'`
-	       if test "${THREAD_LIBS}" = "-lpthread" ; then
-	           if expr ${GCC_MEDIUM} \> 2 \& ${GCC_MAJOR} = 3 > /dev/null
-		   then
-		       THREAD_LIBS=""
-		       BASE_THREAD_LIBS="-lpthread"
-		   else
-		   if expr ${GCC_MAJOR} \> 3 > /dev/null
-		   then
-		       THREAD_LIBS=""
-		       BASE_THREAD_LIBS="-lpthread"
-		   else
-		       echo old GCC disabling weak symbols for pthread
-		   fi
-		   fi
-	       fi
-	   fi
-       ;;
+        *linux*)
+            if test "${GCC}" = "yes" ; then
+                BASE_THREAD_LIBS="$THREAD_LIBS"
+                THREAD_LIBS=""
+            fi
+            ;;
     esac
+
     if test "$WITH_THREADS" = "1" ; then
 	THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT"
-	TEST_THREADS="Threadtests"
     fi
 fi
-if test "$with_thread_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
+if test "$with_thread_alloc" = "yes" && test "$WITH_THREADS" = "1" ; then
     WITH_THREAD_ALLOC=1
 fi
 
@@ -1041,14 +881,12 @@
 AC_SUBST(BASE_THREAD_LIBS)
 AC_SUBST(WITH_THREADS)
 AC_SUBST(THREAD_CFLAGS)
-AC_SUBST(TEST_THREADS)
 AC_SUBST(WITH_THREAD_ALLOC)
-AM_CONDITIONAL([THREADS_W32],[test -n "$THREADS_W32"])
 
 dnl
 dnl xmllint shell history
 dnl
-if test "$with_history" = "yes" ; then
+if test "$with_history" = "yes" && test "$with_readline" != "no"; then
     echo Enabling xmllint shell history
     dnl check for terminal library. this is a very cool solution
     dnl from octave's configure.in
@@ -1058,597 +896,247 @@
 	test -n "$tcap" && break
     done
 
+    _cppflags=$CPPFLAGS
+    _libs=$LIBS
+    if test "$with_readline" != "" && test "$with_readline" != "yes"; then
+        RDL_DIR=$with_readline
+        CPPFLAGS="${CPPFLAGS} -I$RDL_DIR/include"
+        LIBS="${LIBS} -L$RDL_DIR/lib"
+    fi
     AC_CHECK_HEADER(readline/history.h,
 	AC_CHECK_LIB(history, append_history,[
-	   RDL_LIBS="-lhistory"
-	   AC_DEFINE([HAVE_LIBHISTORY], [], [Define if history library is there (-lhistory)])]))
+	    RDL_LIBS="-lhistory"
+            if test "x${RDL_DIR}" != "x"; then
+                RDL_CFLAGS="-I$RDL_DIR/include"
+                RDL_LIBS="-L$RDL_DIR/lib $RDL_LIBS"
+            fi
+	    AC_DEFINE([HAVE_LIBHISTORY], [], [Define if history library is there (-lhistory)])]))
     AC_CHECK_HEADER(readline/readline.h,
 	AC_CHECK_LIB(readline, readline,[
-	   RDL_LIBS="-lreadline $RDL_LIBS $tcap"
-	   AC_DEFINE([HAVE_LIBREADLINE], [], [Define if readline library is there (-lreadline)])], , $tcap))
-    if test -n "$RDL_DIR" -a -n "$RDL_LIBS"; then
-	CPPFLAGS="$CPPFLAGS -I${RDL_DIR}/include"
-	RDL_LIBS="-L${RDL_DIR}/lib $RDL_LIBS"
-    fi
+	    RDL_LIBS="-lreadline $RDL_LIBS $tcap"
+            if test "x$RDL_DIR" != "x"; then
+                RDL_CFLAGS="-I$RDL_DIR/include"
+                RDL_LIBS="-L$RDL_DIR/lib $RDL_LIBS"
+            fi
+	    AC_DEFINE([HAVE_LIBREADLINE], [], [Define if readline library is there (-lreadline)])], , $tcap))
+    CPPFLAGS=$_cppflags
+    LIBS=$_libs
 fi
+AC_SUBST(RDL_CFLAGS)
+AC_SUBST(RDL_LIBS)
 
 dnl
-dnl Tree functions
+dnl Checks for zlib library.
 dnl
-if test "$with_tree" = "no" ; then
-    echo Disabling DOM like tree manipulation APIs
-    WITH_TREE=0
-else    
-    WITH_TREE=1
-fi
-AC_SUBST(WITH_TREE)
+WITH_ZLIB=0
 
-if test "$with_ftp" != "yes" ; then
-    echo Disabling FTP support
-    WITH_FTP=0
-    FTP_OBJ=
-else    
-    WITH_FTP=1
-    FTP_OBJ=nanoftp.o
-fi
-AC_SUBST(WITH_FTP)
-AC_SUBST(FTP_OBJ)
+if test "$with_zlib" = "no"; then
+    echo "Disabling zlib compression support"
+else
+    if test "$with_zlib" != "yes"; then
+        Z_DIR=$with_zlib
+    fi
 
-if test "$with_http" = "no" ; then
-    echo Disabling HTTP support
-    WITH_HTTP=0
-    HTTP_OBJ=
-else    
-    WITH_HTTP=1
-    HTTP_OBJ=nanohttp.o
-fi
-AC_SUBST(WITH_HTTP)
-AC_SUBST(HTTP_OBJ)
+    # Don't run pkg-config if with_zlib contains a path.
+    if test "x$Z_DIR" = "x"; then
+        # Try pkg-config first so that static linking works.
+        PKG_CHECK_MODULES([Z],[zlib],
+            [WITH_ZLIB=1],
+            [:])
+    fi
 
-if test "$with_legacy" != "yes" ; then
-    echo Disabling deprecated APIs
-    WITH_LEGACY=0
-else    
-    WITH_LEGACY=1
-fi
-AC_SUBST(WITH_LEGACY)
-
-if test "$with_reader" = "no" ; then
-    echo Disabling the xmlReader parsing interface
-    WITH_READER=0
-    READER_TEST=
-else    
-    WITH_READER=1
-    READER_TEST=Readertests
-    if test "$with_push" = "no" ; then
-        echo xmlReader requires Push interface - enabling it
-	with_push=yes
+    if test "$WITH_ZLIB" = "0"; then
+        _cppflags=$CPPFLAGS
+        _libs=$LIBS
+        if test "x$Z_DIR" != "x"; then
+            CPPFLAGS="${CPPFLAGS} -I$Z_DIR/include"
+            LIBS="${LIBS} -L$Z_DIR/lib"
+        fi
+        AC_CHECK_HEADERS(zlib.h,
+            AC_CHECK_LIB(z, gzread,[
+                WITH_ZLIB=1
+                if test "x${Z_DIR}" != "x"; then
+                    Z_CFLAGS="-I${Z_DIR}/include"
+                    Z_LIBS="-L${Z_DIR}/lib -lz"
+                    [case ${host} in
+                        *-*-solaris*)
+                            Z_LIBS="-L${Z_DIR}/lib -R${Z_DIR}/lib -lz"
+                            ;;
+                    esac]
+                else
+                    Z_LIBS="-lz"
+                fi])
+            )
+        CPPFLAGS=$_cppflags
+        LIBS=$_libs
     fi
 fi
-AC_SUBST(WITH_READER)
-AC_SUBST(READER_TEST)
-
-if test "$with_writer" = "no" ; then
-    echo Disabling the xmlWriter saving interface
-    WITH_WRITER=0
-#    WRITER_TEST=
-else    
-    WITH_WRITER=1
-#    WRITER_TEST=Writertests
-    if test "$with_push" = "no" ; then
-        echo xmlWriter requires Push interface - enabling it
-	with_push=yes
-    fi
-    if test "$with_output" = "no" ; then
-        echo xmlWriter requires Output interface - enabling it
-	with_output=yes
-    fi
-fi
-AC_SUBST(WITH_WRITER)
-#AC_SUBST(WRITER_TEST)
-
-if test "$with_pattern" = "no" ; then
-    echo Disabling the xmlPattern parsing interface
-    WITH_PATTERN=0
-    TEST_PATTERN=
-else    
-    WITH_PATTERN=1
-    TEST_PATTERN=Patterntests
-fi
-AC_SUBST(WITH_PATTERN)
-AC_SUBST(TEST_PATTERN)
-
-if test "$with_sax1" = "no" ; then
-    echo Disabling the older SAX1 interface
-    WITH_SAX1=0
-    TEST_SAX=
-else    
-    WITH_SAX1=1
-    TEST_SAX=SAXtests
-fi
-AC_SUBST(WITH_SAX1)
-AM_CONDITIONAL(WITH_SAX1_SOURCES, test "${WITH_TRIO}" = "1")
-AC_SUBST(TEST_SAX)
-
-if test "$with_push" = "no" ; then
-    echo Disabling the PUSH parser interfaces
-    WITH_PUSH=0
-    TEST_PUSH=
-else    
-    WITH_PUSH=1
-    TEST_PUSH="XMLPushtests"
-fi
-AC_SUBST(WITH_PUSH)
-AC_SUBST(TEST_PUSH)
-
-if test "$with_html" = "no" ; then
-    echo Disabling HTML support
-    WITH_HTML=0
-    HTML_OBJ=
-    TEST_HTML=
-else    
-    WITH_HTML=1
-    HTML_OBJ="HTMLparser.o HTMLtree.o"
-    TEST_HTML=HTMLtests
-    if test "$with_push" != "no" ; then
-        TEST_PHTML=HTMLPushtests
-    else
-        TEST_PHTML=
-    fi
-fi
-AC_SUBST(WITH_HTML)
-AC_SUBST(HTML_OBJ)
-AC_SUBST(TEST_HTML)
-AC_SUBST(TEST_PHTML)
-
-if test "$with_valid" = "no" ; then
-    echo Disabling DTD validation support
-    WITH_VALID=0
-    TEST_VALID=
-    TEST_VTIME=
-else    
-    WITH_VALID=1
-    TEST_VALID=Validtests
-    TEST_VTIME=VTimingtests
-fi
-AC_SUBST(WITH_VALID)
-AC_SUBST(TEST_VALID)
-AC_SUBST(TEST_VTIME)
-
-if test "$with_catalog" = "no" ; then
-    echo Disabling Catalog support
-    WITH_CATALOG=0
-    CATALOG_OBJ=
-    TEST_CATALOG=
-else    
-    WITH_CATALOG=1
-    CATALOG_OBJ="catalog.o"
-    TEST_CATALOG=Catatests
-fi
-AC_SUBST(WITH_CATALOG)
-AC_SUBST(CATALOG_OBJ)
-AC_SUBST(TEST_CATALOG)
-
-if test "$with_docbook" != "yes" ; then
-    echo Disabling Docbook support
-    WITH_DOCB=0
-    DOCB_OBJ=
-else    
-    WITH_DOCB=1
-    DOCB_OBJ="DOCBparser.o"
-fi
-AC_SUBST(WITH_DOCB)
-AC_SUBST(DOCB_OBJ)
-
-
-if test "$with_xptr" = "no" ; then
-    echo Disabling XPointer support
-    WITH_XPTR=0
-    XPTR_OBJ=
-    TEST_XPTR=
-else    
-    WITH_XPTR=1
-    XPTR_OBJ=xpointer.o
-    TEST_XPTR=XPtrtests
-    if test "$with_xpath" = "no" ; then
-        echo XPointer requires XPath support - enabling it
-	with_xpath=yes
-    fi
-fi
-AC_SUBST(WITH_XPTR)
-AC_SUBST(XPTR_OBJ)
-AC_SUBST(TEST_XPTR)
-
-if test "$with_c14n" = "no" ; then
-    echo Disabling C14N support
-    WITH_C14N=0
-    C14N_OBJ=
-    TEST_C14N=
-else    
-    WITH_C14N=1
-    C14N_OBJ="c14n.c"
-    TEST_C14N=C14Ntests
-    if test "$with_xpath" = "no" ; then
-        echo C14N requires XPath support - enabling it
-	with_xpath=yes
-    fi
-fi
-AC_SUBST(WITH_C14N)
-AC_SUBST(C14N_OBJ)
-AC_SUBST(TEST_C14N)
-
-if test "$with_xinclude" = "no" ; then
-    echo Disabling XInclude support
-    WITH_XINCLUDE=0
-    XINCLUDE_OBJ=
-    with_xinclude="no"
-    TEST_XINCLUDE=
-else    
-    WITH_XINCLUDE=1
-    XINCLUDE_OBJ=xinclude.o
-    TEST_XINCLUDE=XIncludetests
-    if test "$with_xpath" = "no" ; then
-        echo XInclude requires XPath support - enabling it
-	with_xpath=yes
-    fi
-fi
-AC_SUBST(WITH_XINCLUDE)
-AC_SUBST(XINCLUDE_OBJ)
-AC_SUBST(TEST_XINCLUDE)
-
-if test "$with_xptr" = "" -a "$with_xpath" = "no" ; then
-    with_xptr=no
-fi
-
-if test "$with_schematron" = "" -a "$with_xpath" = "no" ; then
-    with_schematron=no
-fi
-
-if test "$with_schematron" = "no" ; then
-    echo "Disabling Schematron support"
-    WITH_SCHEMATRON=0
-    TEST_SCHEMATRON=
-else 
-    echo "Enabled Schematron support"
-    WITH_SCHEMATRON=1
-    TEST_SCHEMATRON="Schematrontests"
-    with_xpath=yes
-    with_pattern=yes
-    with_schematron=yes
-fi
-AC_SUBST(WITH_SCHEMATRON)
-AC_SUBST(TEST_SCHEMATRON)
-
-if test "$with_xpath" = "no" ; then
-    echo Disabling XPATH support
-    WITH_XPATH=0
-    XPATH_OBJ=
-    TEST_XPATH=
-else    
-    WITH_XPATH=1
-    XPATH_OBJ=xpath.o
-    TEST_XPATH=XPathtests
-fi
-AC_SUBST(WITH_XPATH)
-AC_SUBST(XPATH_OBJ)
-AC_SUBST(TEST_XPATH)
+AC_SUBST(WITH_ZLIB)
 
 dnl
-dnl output functions
+dnl Checks for lzma library.
 dnl
-if test "$with_output" = "no" ; then
-    echo Disabling serialization/saving support
-    WITH_OUTPUT=0
-else    
-    WITH_OUTPUT=1
-fi
-AC_SUBST(WITH_OUTPUT)
+WITH_LZMA=0
 
+if test "$with_lzma" = "no"; then
+    echo "Disabling lzma compression support"
+else
+    if test "$with_lzma" != "yes"; then
+        LZMA_DIR=$with_lzma
+    fi
+
+    # Don't run pkg-config if with_lzma contains a path.
+    if test "x$LZMA_DIR" = "x"; then
+        # Try pkg-config first so that static linking works.
+        PKG_CHECK_MODULES([LZMA],[liblzma],
+            [WITH_LZMA=1],
+            [:])
+    fi
+
+    # If pkg-config failed, fall back to AC_CHECK_LIB. This
+    # will not pick up the necessary LIBS flags for liblzma's
+    # private dependencies, though, so static linking may fail.
+    if test "$WITH_LZMA" = "0"; then
+        _cppflags=$CPPFLAGS
+        _libs=$LIBS
+        if test "x$LZMA_DIR" != "x"; then
+            CPPFLAGS="${CPPFLAGS} -I$LZMA_DIR/include"
+            LIBS="${LIBS} -L$LZMA_DIR/lib"
+        fi
+        AC_CHECK_HEADERS(lzma.h,
+            AC_CHECK_LIB(lzma, lzma_code,[
+                WITH_LZMA=1
+                if test "x${LZMA_DIR}" != "x"; then
+                    LZMA_CFLAGS="-I${LZMA_DIR}/include"
+                    LZMA_LIBS="-L${LZMA_DIR}/lib -llzma"
+                else
+                    LZMA_LIBS="-llzma"
+                fi])
+            )
+        CPPFLAGS=$_cppflags
+        LIBS=$_libs
+    fi
+fi
+AC_SUBST(WITH_LZMA)
+AM_CONDITIONAL(WITH_LZMA_SOURCES, test "$WITH_LZMA" = "1")
+
+dnl
+dnl Checks for iconv library.
+dnl
 WITH_ICONV=0
+
 if test "$with_iconv" = "no" ; then
     echo Disabling ICONV support
 else
-    if test "$with_iconv" != "yes" -a "$with_iconv" != "" ; then
-	CPPFLAGS="${CPPFLAGS} -I$with_iconv/include"
+    _cppflags=$CPPFLAGS
+    _libs=$LIBS
+    if test "$with_iconv" != "yes" && test "$with_iconv" != "" ; then
+	ICONV_DIR=$with_iconv
+	CPPFLAGS="$CPPFLAGS -I$ICONV_DIR/include"
+        LIBS="$LIBS -L$ICONV_DIR/libs"
 	# Export this since our headers include iconv.h
-	XML_INCLUDEDIR="${XML_INCLUDEDIR} -I$with_iconv/include"
-	ICONV_LIBS="-L$with_iconv/lib"
+	XML_INCLUDEDIR="$XML_INCLUDEDIR -I$ICONV_DIR/include"
     fi
-
-    AC_CHECK_HEADER(iconv.h,
-	AC_MSG_CHECKING(for iconv)
-	AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
-#include <iconv.h>]],[[
-iconv_t cd = iconv_open ("","");
-iconv (cd, NULL, NULL, NULL, NULL);]])],[
-	    AC_MSG_RESULT(yes)
-	    WITH_ICONV=1],[
-	    AC_MSG_RESULT(no)
-	    AC_MSG_CHECKING(for iconv in -liconv)
-
-	    _ldflags="${LDFLAGS}"
-	    _libs="${LIBS}"
-	    LDFLAGS="${LDFLAGS} ${ICONV_LIBS}"
-	    LIBS="${LIBS} -liconv"
-
-	    AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
-#include <iconv.h>]],[[
-iconv_t cd = iconv_open ("","");
-iconv (cd, NULL, NULL, NULL, NULL);]])],[
-		AC_MSG_RESULT(yes)
-		WITH_ICONV=1
-		ICONV_LIBS="${ICONV_LIBS} -liconv"
-		LIBS="${_libs}"
-		LDFLAGS="${_ldflags}"],[
-		AC_MSG_RESULT(no)
-		LIBS="${_libs}"
-		LDFLAGS="${_ldflags}"])]))
-
-	if test "$WITH_ICONV" = "1" ; then
-		AC_MSG_CHECKING([for iconv declaration])
-		AC_CACHE_VAL(xml_cv_iconv_arg2, [
-			AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-]], [])], xml_cv_iconv_arg2="", xml_cv_iconv_arg2="const")])
-
-		xml_cv_iconv_decl="extern size_t iconv (iconv_t cd, $xml_cv_iconv_arg2 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
-		AC_MSG_RESULT([${xml_xxx:-
-	}$xml_cv_iconv_decl])
-		AC_DEFINE_UNQUOTED(ICONV_CONST, $xml_cv_iconv_arg2,
-			[Define as const if the declaration of iconv() needs const.])
-	fi
+    AC_CHECK_HEADER(iconv.h, [
+        AC_SEARCH_LIBS([iconv], [iconv], [
+            WITH_ICONV=1
+            if test "$ac_cv_search_iconv" != "none required"; then
+                ICONV_LIBS=$ac_cv_search_iconv
+            fi], [
+            dnl GNU libiconv prefixes symbols with "lib"
+            AC_CHECK_LIB([iconv], [libiconv], [
+                WITH_ICONV=1
+                ICONV_LIBS="-liconv"])])])
+    if test "$WITH_ICONV" = "1" && test "$ICONV_DIR" != ""; then
+        ICONV_CFLAGS="-I$ICONV_DIR/include"
+        ICONV_LIBS="-L$ICONV_DIR/libs $ICONV_LIBS"
+    fi
+    CPPFLAGS=$_cppflags
+    LIBS=$_libs
 fi
-case "$host" in
-	*mingw*) M_LIBS=""
-	;;
-	*beos*) M_LIBS=""
-	;;
-        *haiku*) M_LIBS=""
-        ;;
-	*) M_LIBS="-lm"
-	;;
-esac
 AC_SUBST(WITH_ICONV)
 
+dnl
+dnl Checks for ICU library.
+dnl
 WITH_ICU=0
 ICU_LIBS=""
+
 if test "$with_icu" != "yes" ; then
     echo Disabling ICU support
 else
     # Try pkg-config first so that static linking works.
     # If this succeeeds, we ignore the WITH_ICU directory.
-    PKG_CHECK_MODULES([ICU],[icu-i18n],
-        [have_libicu=yes],
-        [have_libicu=no])
+    PKG_CHECK_MODULES([ICU], [icu-i18n], [
+        WITH_ICU=1
+        m4_ifdef([PKG_CHECK_VAR],
+            [PKG_CHECK_VAR([ICU_DEFS], [icu-i18n], [DEFS])])
+        if test "x$ICU_DEFS" != "x"; then
+            ICU_CFLAGS="$ICU_CFLAGS $ICU_DEFS"
+        fi],[:])
 
-    # If pkg-config failed, fall back to AC_CHECK_LIB. This
-    # will not pick up the necessary LIBS flags for liblzma's
-    # private dependencies, though, so static linking may fail.
-    if test "x$have_libicu" = "xno"; then
+    if test "$WITH_ICU" = "0"; then
         ICU_CONFIG=icu-config
         if ${ICU_CONFIG} --cflags >/dev/null 2>&1
         then
+            WITH_ICU=1
+            ICU_CFLAGS=`${ICU_CONFIG} --cflags`
             ICU_LIBS=`${ICU_CONFIG} --ldflags`
-            have_libicu=yes
-            echo Enabling ICU support
         else
-            if test "$with_icu" != "yes" -a "$with_iconv" != "" ; then
-                CPPFLAGS="${CPPFLAGS} -I$with_icu"
-                # Export this since our headers include icu.h
-                XML_INCLUDEDIR="${XML_INCLUDEDIR} -I$with_icu"
+	    _cppflags="${CPPFLAGS}"
+	    _libs="${LIBS}"
+            if test "$with_icu" != "yes" && test "$with_icu" != "" ; then
+                ICU_DIR=$with_icu
+                CPPFLAGS="${CPPFLAGS} -I$ICU_DIR/include"
+                LIBS="${LIBS} -L$ICU_DIR/lib"
             fi
 
-            AC_CHECK_HEADER(unicode/ucnv.h,
-            AC_MSG_CHECKING(for icu)
-            AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <unicode/ucnv.h>]], [[
-        UConverter *utf = ucnv_open("UTF-8", NULL);]])],[
-                AC_MSG_RESULT(yes)
-                have_libicu=yes],[
-                AC_MSG_RESULT(no)
-                AC_MSG_CHECKING(for icu in -licucore)
-
-                _ldflags="${LDFLAGS}"
-                _libs="${LIBS}"
-                LDFLAGS="${LDFLAGS} ${ICU_LIBS}"
-                LIBS="${LIBS} -licucore"
-
-                AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <unicode/ucnv.h>]], [[
-        UConverter *utf = ucnv_open("UTF-8", NULL);]])],[
-                    AC_MSG_RESULT(yes)
-                    have_libicu=yes
-                    ICU_LIBS="${ICU_LIBS} -licucore"
-                    LIBS="${_libs}"
-                    LDFLAGS="${_ldflags}"],[
-                    AC_MSG_RESULT(no)
-                    LIBS="${_libs}"
-                LDFLAGS="${_ldflags}"])]))
+            AC_CHECK_HEADER(unicode/ucnv.h, [
+                AC_CHECK_LIB([icucore], [uconv_open], [
+                    WITH_ICU=1
+                    ICU_LIBS=-licucore
+                    if test "$ICU_DIR" != ""; then
+                        ICU_CFLAGS="-I$ICU_DIR/include"
+                        ICU_LIBS="-L$ICU_DIR/libs $ICU_LIBS"
+                    fi])])
+            CPPFLAGS=$_cppflags
+            LIBS=$_libs
         fi
     fi
-
-    # Found the library via either method?
-    if test "x$have_libicu" = "xyes"; then
-        WITH_ICU=1
-    fi
 fi
-XML_LIBS="-lxml2"
-XML_PRIVATE_LIBS="$Z_LIBS $LZMA_LIBS $THREAD_LIBS $ICONV_LIBS $ICU_LIBS $M_LIBS $LIBS"
-XML_LIBTOOLLIBS="libxml2.la"
 AC_SUBST(WITH_ICU)
 
-WITH_ISO8859X=1
-if test "$WITH_ICONV" != "1" ; then
-if test "$with_iso8859x" = "no" ; then
-    echo Disabling ISO8859X support
-    WITH_ISO8859X=0
-fi
-fi
-AC_SUBST(WITH_ISO8859X)
-
-if test "$with_schemas" = "no" ; then
-    echo "Disabling Schemas/Relax-NG support"
-    WITH_SCHEMAS=0
-    TEST_SCHEMAS=
-else    
-    echo "Enabled Schemas/Relax-NG support"
-    WITH_SCHEMAS=1
-    TEST_SCHEMAS="Schemastests Relaxtests"
-    if test "$PYTHON_INCLUDES" != "" ; then
-        PYTHON_TESTS="$PYTHON_TESTS RelaxNGPythonTests SchemasPythonTests"
-    fi
-    with_regexps=yes
-fi
-AC_SUBST(WITH_SCHEMAS)
-AC_SUBST(TEST_SCHEMAS)
-
-if test "$with_regexps" = "no" ; then
-    echo Disabling Regexps support
-    WITH_REGEXPS=0
-    TEST_REGEXPS=
-else    
-    WITH_REGEXPS=1
-    TEST_REGEXPS="Regexptests Automatatests"
-fi
-AC_SUBST(WITH_REGEXPS)
-AC_SUBST(TEST_REGEXPS)
-
-if test "$with_debug" = "no" ; then
-    echo Disabling DEBUG support
-    WITH_DEBUG=0
-    DEBUG_OBJ=
-    TEST_DEBUG=
-else    
-    WITH_DEBUG=1
-    DEBUG_OBJ=debugXML.o
-    TEST_DEBUG=Scripttests
-fi
-AC_SUBST(WITH_DEBUG)
-AC_SUBST(DEBUG_OBJ)
-AC_SUBST(TEST_DEBUG)
-
-if test "$with_mem_debug" = "yes" ; then
-    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
-AC_SUBST(WITH_MEM_DEBUG)
-
-if test "$with_run_debug" = "yes" ; then
-    echo Enabling runtime debug support
-    WITH_RUN_DEBUG=1
-else    
-    WITH_RUN_DEBUG=0
-fi
-AC_SUBST(WITH_RUN_DEBUG)
-
-WIN32_EXTRA_LIBADD=
-WIN32_EXTRA_LDFLAGS=
-CYGWIN_EXTRA_LDFLAGS=
-CYGWIN_EXTRA_PYTHON_LIBADD=
-WIN32_EXTRA_PYTHON_LIBADD=
-case "$host" in
- *-*-mingw*)
- CPPFLAGS="$CPPFLAGS -DWIN32"
- WIN32_EXTRA_LIBADD="-lws2_32"
- WIN32_EXTRA_LDFLAGS="-no-undefined"
- if test "${PYTHON}" != ""
- then
-   case "$host" in
-     *-w64-mingw*)
-       WIN32_EXTRA_PYTHON_LIBADD="-shrext .pyd -L${pythondir}/../../lib -lpython${PYTHON_VERSION}"
-       ;;
-     *)
-       WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython$(echo ${PYTHON_VERSION} | tr -d .)"
-       ;;
-   esac
- fi
- ;;
- *-*-cygwin*)
- CYGWIN_EXTRA_LDFLAGS="-no-undefined"
- if test "${PYTHON}" != ""
- then
-   CYGWIN_EXTRA_PYTHON_LIBADD="-L/usr/lib/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}"
- fi
- ;;
-esac
-AC_SUBST(WIN32_EXTRA_LIBADD)
-AC_SUBST(WIN32_EXTRA_LDFLAGS)
-AC_SUBST(WIN32_EXTRA_PYTHON_LIBADD)
-AC_SUBST(CYGWIN_EXTRA_LDFLAGS)
-AC_SUBST(CYGWIN_EXTRA_PYTHON_LIBADD)
-
-dnl Checking the standard string functions availability
-dnl
-dnl Note mingw* has C99 implementation that produce expected xml numbers
-dnl if code use {v}snprintf functions.
-dnl If you like to activate at run-time C99 compatible number output
-dnl see release note for mingw runtime 3.15:
-dnl  http://sourceforge.net/project/shownotes.php?release_id=24832
-dnl
-dnl Also *win32*config.h files redefine them for various MSC compilers.
-dnl
-dnl So do not redefine {v}snprintf to _{v}snprintf like following:
-dnl  AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around])
-dnl  AC_DEFINE([vsnprintf],[_vsnprintf],[Win32 Std C name mangling work-around])
-dnl and do not redefine those functions is C-source files.
-dnl
-AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,,
-	NEED_TRIO=1)
-
-if test "$with_coverage" = "yes" -a "${GCC}" = "yes"
+if test "$with_coverage" = "yes" && test "${GCC}" = "yes"
 then
     echo Enabling code coverage for GCC
-    EXTRA_CFLAGS="$EXTRA_CFLAGS -fprofile-arcs -ftest-coverage"
-    LDFLAGS="$LDFLAGS -fprofile-arcs -ftest-coverage"
+    AM_CFLAGS="$AM_CFLAGS -fprofile-arcs -ftest-coverage"
+    AM_LDFLAGS="$AM_LDFLAGS -fprofile-arcs -ftest-coverage"
 else
     echo Disabling code coverage for GCC
 fi
 
-AC_SUBST(CPPFLAGS)
-AC_SUBST(EXTRA_CFLAGS)
-AC_SUBST(LDFLAGS)
+XML_LIBS="-lxml2"
+XML_LIBTOOLLIBS="libxml2.la"
+XML_PRIVATE_LIBS="$Z_LIBS $LZMA_LIBS $THREAD_LIBS $ICONV_LIBS $ICU_LIBS $LIBM $NET_LIBS"
+XML_PRIVATE_CFLAGS="$Z_CFLAGS $LZMA_CFLAGS $THREAD_CFLAGS $ICONV_CFLAGS $ICU_CFLAGS"
+
+AC_SUBST(AM_CFLAGS)
+AC_SUBST(AM_LDFLAGS)
 AC_SUBST(XML_CFLAGS)
 
 AC_SUBST(XML_LIBDIR)
 AC_SUBST(XML_LIBS)
 AC_SUBST(XML_PRIVATE_LIBS)
+AC_SUBST(XML_PRIVATE_CFLAGS)
 AC_SUBST(XML_LIBTOOLLIBS)
-AC_SUBST(ICONV_LIBS)
-AC_SUBST(ICU_LIBS)
 AC_SUBST(XML_INCLUDEDIR)
-AC_SUBST(HTML_DIR)
-AC_SUBST(PYTHON)
-AC_SUBST(PYTHON_VERSION)
-AC_SUBST(PYTHON_INCLUDES)
-AC_SUBST(PYTHON_SITE_PACKAGES)
-
-AC_SUBST(M_LIBS)
-AC_SUBST(RDL_LIBS)
 
 dnl for the spec file
 RELDATE=`date +'%a %b %e %Y'`
 AC_SUBST(RELDATE)
-AC_SUBST(PYTHON_TESTS)
-
-rm -f COPYING.LIB COPYING
-ln -s $srcdir/Copyright COPYING
 
 # keep on one line for cygwin c.f. #130896
-AC_CONFIG_FILES([libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile fuzz/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h libxml-2.0.pc libxml-2.0-uninstalled.pc libxml2-config.cmake])
+AC_CONFIG_FILES([Makefile include/Makefile include/libxml/Makefile include/private/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile fuzz/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h libxml-2.0.pc libxml-2.0-uninstalled.pc libxml2-config.cmake])
 AC_CONFIG_FILES([python/setup.py], [chmod +x python/setup.py])
 AC_CONFIG_FILES([xml2-config], [chmod +x xml2-config])
 AC_OUTPUT
diff --git a/debugXML.c b/debugXML.c
index 3f28c67..3bb1930 100644
--- a/debugXML.c
+++ b/debugXML.c
@@ -12,12 +12,8 @@
 #ifdef LIBXML_DEBUG_ENABLED
 
 #include <string.h>
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
+
 #include <libxml/xmlmemory.h>
 #include <libxml/tree.h>
 #include <libxml/parser.h>
@@ -34,6 +30,8 @@
 #include <libxml/relaxng.h>
 #endif
 
+#include "private/error.h"
+
 #define DUMP_TEXT_TYPE 1
 
 typedef struct _xmlDebugCtxt xmlDebugCtxt;
@@ -409,9 +407,6 @@
         case XML_NAMESPACE_DECL:
         case XML_XINCLUDE_START:
         case XML_XINCLUDE_END:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
         case XML_DOCUMENT_NODE:
         case XML_HTML_DOCUMENT_NODE:
 	    break;
@@ -1615,9 +1610,6 @@
 	    break;
 	case XML_DOCUMENT_NODE:
 	case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-	case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    list = ((xmlDocPtr) node)->children;
 	    break;
 	case XML_ATTRIBUTE_NODE:
@@ -1850,6 +1842,7 @@
             xmlGenericError(xmlGenericErrorContext,
                             "%s is a string\n", arg);
             break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
         case XPATH_POINT:
             xmlGenericError(xmlGenericErrorContext,
                             "%s is a point\n", arg);
@@ -1862,6 +1855,7 @@
             xmlGenericError(xmlGenericErrorContext,
                             "%s is a range\n", arg);
             break;
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
         case XPATH_USERS:
             xmlGenericError(xmlGenericErrorContext,
                             "%s is user-defined\n", arg);
@@ -2641,7 +2635,7 @@
     int res = -1;
 
     if ((ctxt == NULL) || (ctxt->doc == NULL)) return(-1);
-    vctxt.userData = NULL;
+    memset(&vctxt, 0, sizeof(vctxt));
     vctxt.error = xmlGenericError;
     vctxt.warning = xmlGenericError;
 
@@ -3008,6 +3002,7 @@
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a string\n", arg);
                             break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
                         case XPATH_POINT:
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a point\n", arg);
@@ -3020,6 +3015,7 @@
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a range\n", arg);
                             break;
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
                         case XPATH_USERS:
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is user-defined\n", arg);
@@ -3125,6 +3121,7 @@
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a string\n", arg);
                             break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
                         case XPATH_POINT:
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a point\n", arg);
@@ -3137,6 +3134,7 @@
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a range\n", arg);
                             break;
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
                         case XPATH_USERS:
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is user-defined\n", arg);
@@ -3202,6 +3200,7 @@
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a string\n", arg);
                             break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
                         case XPATH_POINT:
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a point\n", arg);
@@ -3214,6 +3213,7 @@
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a range\n", arg);
                             break;
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
                         case XPATH_USERS:
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is user-defined\n", arg);
@@ -3287,6 +3287,7 @@
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a string\n", arg);
                             break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
                         case XPATH_POINT:
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a point\n", arg);
@@ -3299,6 +3300,7 @@
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a range\n", arg);
                             break;
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
                         case XPATH_USERS:
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is user-defined\n", arg);
@@ -3365,6 +3367,7 @@
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a string\n", arg);
                             break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
                         case XPATH_POINT:
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a point\n", arg);
@@ -3377,6 +3380,7 @@
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is a range\n", arg);
                             break;
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
                         case XPATH_USERS:
                             xmlGenericError(xmlGenericErrorContext,
                                             "%s is user-defined\n", arg);
diff --git a/dict.c b/dict.c
index 5e39511..86c3f6d 100644
--- a/dict.c
+++ b/dict.c
@@ -20,12 +20,11 @@
 #include "libxml.h"
 
 #include <limits.h>
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
-#ifdef HAVE_TIME_H
 #include <time.h>
-#endif
+
+#include "private/dict.h"
+#include "private/threads.h"
 
 /*
  * Following http://www.ocert.org/advisories/ocert-2011-003.html
@@ -38,8 +37,7 @@
  *  list we will use the BigKey algo as soon as the hash size grows
  *  over MIN_DICT_SIZE so this actually works
  */
-#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME) && \
-    !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
+#if !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
 #define DICT_RANDOMIZATION
 #endif
 
@@ -132,12 +130,7 @@
  * A mutex for modifying the reference counter for shared
  * dictionaries.
  */
-static xmlRMutexPtr xmlDictMutex = NULL;
-
-/*
- * Whether the dictionary mutex was initialized.
- */
-static int xmlDictInitialized = 0;
+static xmlMutex xmlDictMutex;
 
 #ifdef DICT_RANDOMIZATION
 #ifdef HAVE_RAND_R
@@ -151,13 +144,10 @@
 /**
  * xmlInitializeDict:
  *
- * Do the dictionary mutex initialization.
- * this function is deprecated
- *
- * Returns 0 if initialization was already done, and 1 if that
- * call led to the initialization
+ * DEPRECATED: Alias for xmlInitParser.
  */
 int xmlInitializeDict(void) {
+    xmlInitParser();
     return(0);
 }
 
@@ -166,20 +156,9 @@
  *
  * This function is not public
  * Do the dictionary mutex initialization.
- * this function is not thread safe, initialization should
- * normally be done once at setup when called from xmlOnceInit()
- * we may also land in this code if thread support is not compiled in
- *
- * Returns 0 if initialization was already done, and 1 if that
- * call led to the initialization
  */
 int __xmlInitializeDict(void) {
-    if (xmlDictInitialized)
-        return(1);
-
-    if ((xmlDictMutex = xmlNewRMutex()) == NULL)
-        return(0);
-    xmlRMutexLock(xmlDictMutex);
+    xmlInitMutex(&xmlDictMutex);
 
 #ifdef DICT_RANDOMIZATION
 #ifdef HAVE_RAND_R
@@ -189,8 +168,6 @@
     srand(time(NULL));
 #endif
 #endif
-    xmlDictInitialized = 1;
-    xmlRMutexUnlock(xmlDictMutex);
     return(1);
 }
 
@@ -198,16 +175,13 @@
 int __xmlRandom(void) {
     int ret;
 
-    if (xmlDictInitialized == 0)
-        __xmlInitializeDict();
-
-    xmlRMutexLock(xmlDictMutex);
+    xmlMutexLock(&xmlDictMutex);
 #ifdef HAVE_RAND_R
     ret = rand_r(& rand_seed);
 #else
     ret = rand();
 #endif
-    xmlRMutexUnlock(xmlDictMutex);
+    xmlMutexUnlock(&xmlDictMutex);
     return(ret);
 }
 #endif
@@ -215,17 +189,23 @@
 /**
  * xmlDictCleanup:
  *
- * Free the dictionary mutex. Do not call unless sure the library
- * is not in use anymore !
+ * DEPRECATED: This function is a no-op. Call xmlCleanupParser
+ * to free global state but see the warnings there. xmlCleanupParser
+ * should be only called once at program exit. In most cases, you don't
+ * have call cleanup functions at all.
  */
 void
 xmlDictCleanup(void) {
-    if (!xmlDictInitialized)
-        return;
+}
 
-    xmlFreeRMutex(xmlDictMutex);
-
-    xmlDictInitialized = 0;
+/**
+ * xmlCleanupDictInternal:
+ *
+ * Free the dictionary mutex.
+ */
+void
+xmlCleanupDictInternal(void) {
+    xmlCleanupMutex(&xmlDictMutex);
 }
 
 /*
@@ -374,6 +354,7 @@
 
 #ifdef __clang__
 ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow")
+ATTRIBUTE_NO_SANITIZE("unsigned-shift-base")
 #endif
 static uint32_t
 xmlDictComputeBigKey(const xmlChar* data, int namelen, int seed) {
@@ -409,6 +390,7 @@
  */
 #ifdef __clang__
 ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow")
+ATTRIBUTE_NO_SANITIZE("unsigned-shift-base")
 #endif
 static unsigned long
 xmlDictComputeBigQKey(const xmlChar *prefix, int plen,
@@ -494,10 +476,10 @@
 xmlDictComputeFastQKey(const xmlChar *prefix, int plen,
                        const xmlChar *name, int len, int seed)
 {
-    unsigned long value = (unsigned long) seed;
+    unsigned long value = seed;
 
     if (plen == 0)
-	value += 30 * (unsigned long) ':';
+	value += 30 * ':';
     else
 	value += 30 * (*prefix);
 
@@ -535,7 +517,7 @@
     }
     len -= plen;
     if (len > 0) {
-        value += (unsigned long) ':';
+        value += ':';
 	len--;
     }
     switch (len) {
@@ -575,9 +557,7 @@
 xmlDictCreate(void) {
     xmlDictPtr dict;
 
-    if (!xmlDictInitialized)
-        if (!__xmlInitializeDict())
-            return(NULL);
+    xmlInitParser();
 
 #ifdef DICT_DEBUG_PATTERNS
     fprintf(stderr, "C");
@@ -643,14 +623,10 @@
  */
 int
 xmlDictReference(xmlDictPtr dict) {
-    if (!xmlDictInitialized)
-        if (!__xmlInitializeDict())
-            return(-1);
-
     if (dict == NULL) return -1;
-    xmlRMutexLock(xmlDictMutex);
+    xmlMutexLock(&xmlDictMutex);
     dict->ref_counter++;
-    xmlRMutexUnlock(xmlDictMutex);
+    xmlMutexUnlock(&xmlDictMutex);
     return(0);
 }
 
@@ -807,19 +783,15 @@
     if (dict == NULL)
 	return;
 
-    if (!xmlDictInitialized)
-        if (!__xmlInitializeDict())
-            return;
-
     /* decrement the counter, it may be shared by a parser and docs */
-    xmlRMutexLock(xmlDictMutex);
+    xmlMutexLock(&xmlDictMutex);
     dict->ref_counter--;
     if (dict->ref_counter > 0) {
-        xmlRMutexUnlock(xmlDictMutex);
+        xmlMutexUnlock(&xmlDictMutex);
         return;
     }
 
-    xmlRMutexUnlock(xmlDictMutex);
+    xmlMutexUnlock(&xmlDictMutex);
 
     if (dict->subdict != NULL) {
         xmlDictFree(dict->subdict);
@@ -1003,7 +975,7 @@
  */
 const xmlChar *
 xmlDictExists(xmlDictPtr dict, const xmlChar *name, int len) {
-    unsigned long key, okey, nbi = 0;
+    unsigned long key, okey;
     xmlDictEntryPtr insert;
     unsigned int l;
 
@@ -1038,7 +1010,6 @@
 	        (!xmlStrncmp(insert->name, name, l)))
 		return(insert->name);
 #endif
-	    nbi++;
 	}
 #ifdef __GNUC__
 	if ((insert->okey == okey) && (insert->len == l)) {
@@ -1080,7 +1051,6 @@
 		    (!xmlStrncmp(tmp->name, name, l)))
 		    return(tmp->name);
 #endif
-		nbi++;
 	    }
 #ifdef __GNUC__
 	    if ((tmp->okey == skey) && (tmp->len == l)) {
diff --git a/doc/APIchunk0.html b/doc/APIchunk0.html
deleted file mode 100644
index e7eb70c..0000000
--- a/doc/APIchunk0.html
+++ /dev/null
@@ -1,301 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index A-B for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index A-B for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-</dd><dt>ABC</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>ABI</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-</dd><dt>ALL</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-</dd><dt>ANY</dt><dd><a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-</dd><dt>APIs</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a><br />
-</dd><dt>ARRAY</dt><dd><a href="html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-</dd><dt>ASCII</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
-<a href="html/libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a><br />
-<a href="html/libxml-encoding.html#xmlDelEncodingAlias">xmlDelEncodingAlias</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-encoding.html#xmlGetEncodingAlias">xmlGetEncodingAlias</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-<a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-</dd><dt>ATTLIST</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a><br />
-</dd><dt>ATTRIBUTE</dt><dd><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 />
-</dd><dt>Absolute</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-</dd><dt>Accessor</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetValType">xmlSchemaGetValType</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a><br />
-</dd><dt>Activation</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-</dd><dt>Actually</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
-</dd><dt>Add</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<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#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-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a><br />
-<a href="html/libxml-dict.html#xmlDictLookup">xmlDictLookup</a><br />
-<a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-</dd><dt>Added</dt><dd><a href="html/libxml-dict.html#xmlDictGetUsage">xmlDictGetUsage</a><br />
-<a href="html/libxml-dict.html#xmlDictSetLimit">xmlDictSetLimit</a><br />
-</dd><dt>Additional</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-globals.html#xmlCleanupGlobals">xmlCleanupGlobals</a><br />
-<a href="html/libxml-globals.html#xmlInitGlobals">xmlInitGlobals</a><br />
-</dd><dt>AegeanNumbers</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a><br />
-</dd><dt>Alias</dt><dd><a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a><br />
-</dd><dt>All</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a><br />
-</dd><dt>Allocate</dt><dd><a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a><br />
-<a href="html/libxml-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a><br />
-<a href="html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a><br />
-<a href="html/libxml-valid.html#xmlNewValidCtxt">xmlNewValidCtxt</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewFacet">xmlSchemaNewFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-</dd><dt>Allocates</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a><br />
-</dd><dt>Allows</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a><br />
-</dd><dt>AlphabeticPresentationForms</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsAlphabeticPresentationForms">xmlUCSIsAlphabeticPresentationForms</a><br />
-</dd><dt>Also</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-</dd><dt>Always</dt><dd><a href="html/libxml-parserInternals.html#IS_COMBINING_CH">IS_COMBINING_CH</a><br />
-</dd><dt>Append</dt><dd><a href="html/libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
-<a href="html/libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a><br />
-</dd><dt>Appendix</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
-</dd><dt>Appends</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValueAppend">xmlSchemaValueAppend</a><br />
-</dd><dt>Applies</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-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</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 />
-</dd><dt>Armenian</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsArmenian">xmlUCSIsArmenian</a><br />
-</dd><dt>Array</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>Arrows</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsArrows">xmlUCSIsArrows</a><br />
-</dd><dt>Associate</dt><dd><a href="html/libxml-tree.html#xmlSetNs">xmlSetNs</a><br />
-</dd><dt>Att</dt><dd><a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-</dd><dt>AttDef</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a><br />
-</dd><dt>AttType</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-</dd><dt>AttValue</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>AttlistDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>Attribute</dt><dd><a href="html/libxml-tree.html#_xmlAttribute">_xmlAttribute</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-</dd><dt>Attribute-Value</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>Attributes</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-</dd><dt>Automatic</dt><dd><a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseFile">htmlParseFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-<a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</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#xmlSAXUserParseFile">xmlSAXUserParseFile</a><br />
-</dd><dt>Automatically</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCharQ">xmlIsCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a><br />
-</dd></dl><h2>Letter B:</h2><dl><dt>BASE</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-</dd><dt>BAr</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>BOM</dt><dd><a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd><dt>Balanced</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a><br />
-</dd><dt>Base</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-</dd><dt>BaseChar</dt><dd><a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_LETTER">IS_LETTER</a><br />
-<a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a><br />
-</dd><dt>Based</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-</dd><dt>BasicLatin</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBasicLatin">xmlUCSIsBasicLatin</a><br />
-</dd><dt>Basically</dt><dd><a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-</dd><dt>Before</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>Behaves</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR_CH">IS_CHAR_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_DIGIT_CH">IS_DIGIT_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_EXTENDER_CH">IS_EXTENDER_CH</a><br />
-</dd><dt>Behaviour</dt><dd><a href="html/libxml-parserInternals.html#IS_BLANK_CH">IS_BLANK_CH</a><br />
-</dd><dt>Bengali</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBengali">xmlUCSIsBengali</a><br />
-</dd><dt>Best</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>BinHex</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a><br />
-</dd><dt>Bit</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>BlockElements</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBlockElements">xmlUCSIsBlockElements</a><br />
-</dd><dt>Blocks</dt><dd><a href="html/libxml-parser.html#xmlStopParser">xmlStopParser</a><br />
-</dd><dt>Bopomofo</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBopomofo">xmlUCSIsBopomofo</a><br />
-</dd><dt>BopomofoExtended</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBopomofoExtended">xmlUCSIsBopomofoExtended</a><br />
-</dd><dt>Both</dt><dd><a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-</dd><dt>BoxDrawing</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBoxDrawing">xmlUCSIsBoxDrawing</a><br />
-</dd><dt>BraillePatterns</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBraillePatterns">xmlUCSIsBraillePatterns</a><br />
-</dd><dt>Brzozowski</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br />
-</dd><dt>Buffer</dt><dd><a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-</dd><dt>Bugs:</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>Buhid</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBuhid">xmlUCSIsBuhid</a><br />
-</dd><dt>Build</dt><dd><a href="html/libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a><br />
-<a href="html/libxml-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
-<a href="html/libxml-valid.html#xmlCopyElementTable">xmlCopyElementTable</a><br />
-<a href="html/libxml-entities.html#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a><br />
-<a href="html/libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</a><br />
-<a href="html/libxml-tree.html#xmlGetNodePath">xmlGetNodePath</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-<a href="html/libxml-valid.html#xmlValidBuildContentModel">xmlValidBuildContentModel</a><br />
-<a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-</dd><dt>Builds</dt><dd><a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-</dd><dt>But</dt><dd><a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-</dd><dt>ByzantineMusicalSymbols</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsByzantineMusicalSymbols">xmlUCSIsByzantineMusicalSymbols</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk1.html b/doc/APIchunk1.html
deleted file mode 100644
index a43c593..0000000
--- a/doc/APIchunk1.html
+++ /dev/null
@@ -1,381 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index C-C for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index C-C for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-<a href="html/libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a><br />
-</dd><dt>CATALOG</dt><dd><a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-</dd><dt>CDATA</dt><dd><a href="html/libxml-HTMLtree.html#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a><br />
-<a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-tree.html#xmlNewCDataBlock">xmlNewCDataBlock</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 />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</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-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-</dd><dt>CDEnd</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
-</dd><dt>CDSect</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-</dd><dt>CDStart</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
-</dd><dt>CData</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</a><br />
-</dd><dt>CJKCompatibility</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibility">xmlUCSIsCJKCompatibility</a><br />
-</dd><dt>CJKCompatibilityForms</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityForms">xmlUCSIsCJKCompatibilityForms</a><br />
-</dd><dt>CJKCompatibilityIdeographs</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographs">xmlUCSIsCJKCompatibilityIdeographs</a><br />
-</dd><dt>CJKCompatibilityIdeographsSupplement</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographsSupplement">xmlUCSIsCJKCompatibilityIdeographsSupplement</a><br />
-</dd><dt>CJKRadicalsSupplement</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKRadicalsSupplement">xmlUCSIsCJKRadicalsSupplement</a><br />
-</dd><dt>CJKSymbolsandPunctuation</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKSymbolsandPunctuation">xmlUCSIsCJKSymbolsandPunctuation</a><br />
-</dd><dt>CJKUnifiedIdeographs</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographs">xmlUCSIsCJKUnifiedIdeographs</a><br />
-</dd><dt>CJKUnifiedIdeographsExtensionA</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionA">xmlUCSIsCJKUnifiedIdeographsExtensionA</a><br />
-</dd><dt>CJKUnifiedIdeographsExtensionB</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionB">xmlUCSIsCJKUnifiedIdeographsExtensionB</a><br />
-</dd><dt>CWD</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-</dd><dt>Cache</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>Call</dt><dd><a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>Callback</dt><dd><a href="html/libxml-SAX.html#externalSubset">externalSubset</a><br />
-<a href="html/libxml-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a><br />
-<a href="html/libxml-SAX.html#internalSubset">internalSubset</a><br />
-<a href="html/libxml-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
-<a href="html/libxml-hash.html#xmlHashCopier">xmlHashCopier</a><br />
-<a href="html/libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a><br />
-<a href="html/libxml-hash.html#xmlHashScanner">xmlHashScanner</a><br />
-<a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a><br />
-<a href="html/libxml-list.html#xmlListDataCompare">xmlListDataCompare</a><br />
-<a href="html/libxml-list.html#xmlListDeallocator">xmlListDeallocator</a><br />
-<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br />
-<a href="html/libxml-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>Callback:</dt><dd><a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-</dd><dt>Called</dt><dd><a href="html/libxml-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a><br />
-<a href="html/libxml-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a><br />
-<a href="html/libxml-parser.html#endElementSAXFunc">endElementSAXFunc</a><br />
-<a href="html/libxml-parser.html#referenceSAXFunc">referenceSAXFunc</a><br />
-<a href="html/libxml-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a><br />
-<a href="html/libxml-parser.html#startElementSAXFunc">startElementSAXFunc</a><br />
-</dd><dt>Calling</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
-</dd><dt>Canonical</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>Canonicalization</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</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 />
-</dd><dt>Carl</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>Catalog</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a><br />
-<a href="html/libxml-catalog.html#XML_CATALOG_PI">XML_CATALOG_PI</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogDump">xmlACatalogDump</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolve">xmlACatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveURI">xmlACatalogResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-catalog.html#xmlFreeCatalog">xmlFreeCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-catalog.html#xmlNewCatalog">xmlNewCatalog</a><br />
-</dd><dt>Catalogs</dt><dd><a href="html/libxml-catalog.html#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a><br />
-<a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-</dd><dt>Change</dt><dd><a href="html/libxml-parser.html#xmlSetFeature">xmlSetFeature</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-</dd><dt>Changes</dt><dd><a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
-</dd><dt>Char</dt><dd><a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br />
-</dd><dt>CharData</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-</dd><dt>CharRef</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-</dd><dt>Character</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-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
-</dd><dt>Characters</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
-</dd><dt>Checka</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-</dd><dt>Checks</dt><dd><a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<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 />
-</dd><dt>Children</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-</dd><dt>Chunk</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#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-</dd><dt>Cleanup</dt><dd><a href="html/libxml-encoding.html#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a><br />
-<a href="html/libxml-entities.html#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a><br />
-<a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a><br />
-<a href="html/libxml-xmlerror.html#xmlResetError">xmlResetError</a><br />
-<a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeValue">xmlSchemaFreeValue</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a><br />
-</dd><dt>Clear</dt><dd><a href="html/libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a><br />
-<a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
-</dd><dt>Clears</dt><dd><a href="html/libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a><br />
-</dd><dt>Close</dt><dd><a href="html/libxml-xmlIO.html#xmlFileClose">xmlFileClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPClose">xmlIOFTPClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPClose">xmlIOHTTPClose</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPClose">xmlNanoFTPClose</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveClose">xmlSaveClose</a><br />
-</dd><dt>Closed</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
-</dd><dt>CombiningChar</dt><dd><a href="html/libxml-parserInternals.html#IS_COMBINING">IS_COMBINING</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseName">xmlParseName</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseName">xmlXPathParseName</a><br />
-</dd><dt>CombiningDiacriticalMarks</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarks">xmlUCSIsCombiningDiacriticalMarks</a><br />
-</dd><dt>CombiningDiacriticalMarksforSymbols</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarksforSymbols">xmlUCSIsCombiningDiacriticalMarksforSymbols</a><br />
-</dd><dt>CombiningHalfMarks</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningHalfMarks">xmlUCSIsCombiningHalfMarks</a><br />
-</dd><dt>CombiningMarksforSymbols</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningMarksforSymbols">xmlUCSIsCombiningMarksforSymbols</a><br />
-</dd><dt>Comment</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a><br />
-</dd><dt>Compare</dt><dd><a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCompareValues">xmlSchemaCompareValues</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCmpNodes">xmlXPathCmpNodes</a><br />
-</dd><dt>Compile</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
-<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-</dd><dt>Compress</dt><dd><a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseFile">htmlParseFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-<a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</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#xmlSAXUserParseFile">xmlSAXUserParseFile</a><br />
-</dd><dt>Computes</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-</dd><dt>Concat</dt><dd><a href="html/libxml-tree.html#xmlTextConcat">xmlTextConcat</a><br />
-</dd><dt>Constructs</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-</dd><dt>Content</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-</dd><dt>Content-Type</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</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-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-</dd><dt>Contrary</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-</dd><dt>ControlPictures</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsControlPictures">xmlUCSIsControlPictures</a><br />
-</dd><dt>Convenient</dt><dd><a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
-</dd><dt>Convert</dt><dd><a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br />
-<a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br />
-</dd><dt>Converts</dt><dd><a href="html/libxml-xpath.html#xmlXPathCastBooleanToNumber">xmlXPathCastBooleanToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToNumber">xmlXPathCastNodeSetToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastStringToBoolean">xmlXPathCastStringToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToNumber">xmlXPathCastToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToString">xmlXPathCastToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertNumber">xmlXPathConvertNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertString">xmlXPathConvertString</a><br />
-</dd><dt>Copies</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</a><br />
-</dd><dt>Copy</dt><dd><a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>Correct</dt><dd><a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
-</dd><dt>Could</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-</dd><dt>Count</dt><dd><a href="html/libxml-debugXML.html#xmlLsCountNode">xmlLsCountNode</a><br />
-</dd><dt>Creates</dt><dd><a href="html/libxml-HTMLtree.html#htmlNewDoc">htmlNewDoc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
-<a href="html/libxml-parser.html#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewCtxt">xmlExpNewCtxt</a><br />
-<a href="html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>Creation</dt><dd><a href="html/libxml-tree.html#xmlNewCDataBlock">xmlNewCDataBlock</a><br />
-<a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
-<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewComment">xmlNewComment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
-<a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
-<a href="html/libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a><br />
-<a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
-<a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
-<a href="html/libxml-tree.html#xmlNewReference">xmlNewReference</a><br />
-<a href="html/libxml-tree.html#xmlNewText">xmlNewText</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-tree.html#xmlNewTextLen">xmlNewTextLen</a><br />
-</dd><dt>CurrencySymbols</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCurrencySymbols">xmlUCSIsCurrencySymbols</a><br />
-</dd><dt>Current</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-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-</dd><dt>Currently</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
-</dd><dt>Cut</dt><dd><a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>CypriotSyllabary</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCypriotSyllabary">xmlUCSIsCypriotSyllabary</a><br />
-</dd><dt>Cyrillic</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCyrillic">xmlUCSIsCyrillic</a><br />
-</dd><dt>CyrillicSupplement</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCyrillicSupplement">xmlUCSIsCyrillicSupplement</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk10.html b/doc/APIchunk10.html
deleted file mode 100644
index d4ef333..0000000
--- a/doc/APIchunk10.html
+++ /dev/null
@@ -1,675 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index Y-a for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index Y-a for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.html">y-z</a>
-</h2><h2>Letter Y:</h2><dl><dt>YES</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</dd><dt>YiRadicals</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsYiRadicals">xmlUCSIsYiRadicals</a><br />
-</dd><dt>YiSyllables</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsYiSyllables">xmlUCSIsYiSyllables</a><br />
-</dd><dt>YijingHexagramSymbols</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsYijingHexagramSymbols">xmlUCSIsYijingHexagramSymbols</a><br />
-</dd></dl><h2>Letter Z:</h2><dl><dt>ZLIB</dt><dd><a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseFile">htmlParseFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-<a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</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#xmlSAXUserParseFile">xmlSAXUserParseFile</a><br />
-<a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
-</dd><dt>Zlib</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a><br />
-</dd></dl><h2>Letter a:</h2><dl><dt>a-z</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-</dd><dt>a-zA-Z</dt><dd><a href="html/libxml-parserInternals.html#IS_ASCII_LETTER">IS_ASCII_LETTER</a><br />
-</dd><dt>a-zA-Z0-9</dt><dd><a href="html/libxml-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a><br />
-</dd><dt>a@b</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-</dd><dt>abc</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>abc-</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>able</dt><dd><a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</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#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>about</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br />
-<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-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</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_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
-</dd><dt>absoluteURI</dt><dd><a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-</dd><dt>abstain</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>abstract</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
-</dd><dt>accept</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpMaxToken">xmlExpMaxToken</a><br />
-<a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-</dd><dt>acceptable</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-</dd><dt>accepted</dt><dd><a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-</dd><dt>accepting</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-</dd><dt>accepts</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpIsNillable">xmlExpIsNillable</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br />
-</dd><dt>access</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</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-xmlschemas.html#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</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 />
-</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 />
-</dd><dt>according</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-<a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-<a href="html/libxml-SAX2.html#xmlSAXVersion">xmlSAXVersion</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-</dd><dt>accordingly</dt><dd><a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</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-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-</dd><dt>account</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-</dd><dt>acquire</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-</dd><dt>act</dt><dd><a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-</dd><dt>action</dt><dd><a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-</dd><dt>activate</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-</dd><dt>activated</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-</dd><dt>activates</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>acts</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-</dd><dt>actual</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
-</dd><dt>actually</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
-<a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
-<a href="html/libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-encoding.html#xmlDelEncodingAlias">xmlDelEncodingAlias</a><br />
-<a href="html/libxml-encoding.html#xmlGetEncodingAlias">xmlGetEncodingAlias</a><br />
-<a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>actuate</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-</dd><dt>add</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
-<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteChar">xmlBufferWriteChar</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-list.html#xmlListPushBack">xmlListPushBack</a><br />
-<a href="html/libxml-list.html#xmlListPushFront">xmlListPushFront</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
-</dd><dt>added</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-<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#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileEnc">htmlSaveFileEnc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileFormat">htmlSaveFileFormat</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-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</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#xmlDocFormatDump">xmlDocFormatDump</a><br />
-<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#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-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-</dd><dt>adding</dt><dd><a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a><br />
-</dd><dt>addition</dt><dd><a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>additional</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-</dd><dt>additionally</dt><dd><a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-</dd><dt>address</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
-</dd><dt>adds</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
-</dd><dt>adequate</dt><dd><a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-</dd><dt>adjacent</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 />
-<a href="html/libxml-tree.html#xmlAddSibling">xmlAddSibling</a><br />
-</dd><dt>affect</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>affected</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a><br />
-</dd><dt>affiliation</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-</dd><dt>afraid</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-</dd><dt>after</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<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-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</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-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-<a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>again</dt><dd><a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-</dd><dt>against</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a><br />
-<a href="html/libxml-SAX.html#checkNamespace">checkNamespace</a><br />
-<a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
-<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#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidateDoc">xmlSchematronValidateDoc</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#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
-</dd><dt>ahead</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-</dd><dt>algebraic</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-</dd><dt>alias</dt><dd><a href="html/libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a><br />
-<a href="html/libxml-encoding.html#xmlDelEncodingAlias">xmlDelEncodingAlias</a><br />
-<a href="html/libxml-encoding.html#xmlGetEncodingAlias">xmlGetEncodingAlias</a><br />
-</dd><dt>aliases</dt><dd><a href="html/libxml-encoding.html#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a><br />
-<a href="html/libxml-encoding.html#xmlCleanupEncodingAliases">xmlCleanupEncodingAliases</a><br />
-</dd><dt>aliasing</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-<a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
-</dd><dt>allocate</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a><br />
-<a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-<a href="html/libxml-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 />
-<a href="html/libxml-xpath.html#xmlXPathObjectCopy">xmlXPathObjectCopy</a><br />
-</dd><dt>allocation</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
-<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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>allocations</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-<a href="html/libxml-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a><br />
-</dd><dt>allocator</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a><br />
-</dd><dt>allocators</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-</dd><dt>allow</dt><dd><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_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
-<a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-<a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
-<a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
-<a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-</dd><dt>allowable</dt><dd><a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
-</dd><dt>allowed</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-<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 />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</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#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-</dd><dt>allowing</dt><dd><a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-</dd><dt>allows</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</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-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-</dd><dt>alphanumerics</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>already</dt><dd><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-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</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-dict.html#xmlInitializeDict">xmlInitializeDict</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
-<a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
-</dd><dt>also</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<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-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</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 />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a><br />
-</dd><dt>always</dt><dd><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-</dd><dt>amd</dt><dd><a href="html/libxml-catalog.html#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a><br />
-</dd><dt>amount</dt><dd><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
-<a href="html/libxml-xmlIO.html#_xmlParserInputBuffer">_xmlParserInputBuffer</a><br />
-<a href="html/libxml-dict.html#xmlDictGetUsage">xmlDictGetUsage</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</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-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
-</dd><dt>amp</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-</dd><dt>ampersand</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>analysis</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-</dd><dt>analyze</dt><dd><a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-<a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-<a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
-</dd><dt>analyzed</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-</dd><dt>ancestor</dt><dd><a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-</dd><dt>ancestor-or-self</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-</dd><dt>ancestors</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-</dd><dt>anchored</dt><dd><a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-</dd><dt>angle</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-</dd><dt>annotation</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAnnot">_xmlSchemaAnnot</a><br />
-</dd><dt>anonymous</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-</dd><dt>another</dt><dd><a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<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>anySimpleType</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-</dd><dt>anyURI</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</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-dict.html#xmlDictCleanup">xmlDictCleanup</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 />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-</dd><dt>anyway</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
-<a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br />
-<a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-</dd><dt>apart</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>apos</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-</dd><dt>appear</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</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#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-</dd><dt>appearing</dt><dd><a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
-</dd><dt>appears</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-</dd><dt>append</dt><dd><a href="html/libxml-parserInternals.html#xmlCopyChar">xmlCopyChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>appended</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueAppend">xmlSchemaValueAppend</a><br />
-</dd><dt>appending</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>appendix</dt><dd><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-</dd><dt>applicable</dt><dd><a href="html/libxml-tree.html#xmlCopyNode">xmlCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
-</dd><dt>application</dt><dd><a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
-<a href="html/libxml-tree.html#_xmlAttribute">_xmlAttribute</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-<a href="html/libxml-tree.html#_xmlNs">_xmlNs</a><br />
-<a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-<a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-</dd><dt>applications</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-</dd><dt>applied</dt><dd><a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
-<a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
-<a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
-<a href="html/libxml-hash.html#xmlHashScanFull">xmlHashScanFull</a><br />
-<a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
-</dd><dt>applies</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>apply</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-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</dd><dt>applying</dt><dd><a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>appropriate</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-<a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
-</dd><dt>arcs</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-</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 />
-</dd><dt>areas</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a><br />
-</dd><dt>args</dt><dd><a href="html/libxml-xpathInternals.html#CHECK_ARITY">CHECK_ARITY</a><br />
-<a href="">x</a><br />
-<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-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
-</dd><dt>around</dt><dd><a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
-</dd><dt>arrays</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>arry</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
-</dd><dt>asked</dt><dd><a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-</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-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-</dd><dt>assure</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-</dd><dt>atom</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewAtom">xmlExpNewAtom</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-</dd><dt>atomic</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-</dd><dt>attached</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>attempt</dt><dd><a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
-<a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
-</dd><dt>attempts</dt><dd><a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br />
-</dd><dt>attr</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a><br />
-<a href="html/libxml-tree.html#_xmlID">_xmlID</a><br />
-<a href="html/libxml-tree.html#_xmlRef">_xmlRef</a><br />
-</dd><dt>attribute-</dt><dd><a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-</dd><dt>attribute-list</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-</dd><dt>attribute-node</dt><dd><a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-</dd><dt>attribute-nodes</dt><dd><a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-</dd><dt>attributeFormDefault</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a><br />
-</dd><dt>augmented</dt><dd><a href="html/libxml-DOCBparser.html#docbParseDocument">docbParseDocument</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDocument">htmlParseDocument</a><br />
-<a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
-<a href="html/libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a><br />
-<a href="html/libxml-tree.html#xmlTextMerge">xmlTextMerge</a><br />
-</dd><dt>autark</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</dd><dt>authentication</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
-</dd><dt>author</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</dd><dt>authority</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-</dd><dt>authorized</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>auto</dt><dd><a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
-</dd><dt>auto-repair</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>autoclose</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-</dd><dt>autoclosed</dt><dd><a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-</dd><dt>autogeneration</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>automatically</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-</dd><dt>automaton</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-</dd><dt>autoreference</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-</dd><dt>avoid</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-</dd><dt>avoiding</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNext">xmlTextReaderNext</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
-</dd><dt>aware</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk11.html b/doc/APIchunk11.html
deleted file mode 100644
index c078c73..0000000
--- a/doc/APIchunk11.html
+++ /dev/null
@@ -1,334 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index b-b for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index b-b for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.html">y-z</a>
-</h2><h2>Letter b:</h2><dl><dt>back</dt><dd><a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGDump">xmlRelaxNGDump</a><br />
-<a href="html/libxml-parserInternals.html#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a><br />
-</dd><dt>bad</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-</dd><dt>badly</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-</dd><dt>balanced</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-</dd><dt>bar</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>base64</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a><br />
-</dd><dt>based</dt><dd><a href="html/libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlGetNodePath">xmlGetNodePath</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewInputFromFile">xmlNewInputFromFile</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewStringInputStream">xmlNewStringInputStream</a><br />
-<a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-<a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a><br />
-<a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>basically</dt><dd><a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</dd><dt>basis</dt><dd><a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-</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-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>beginning</dt><dd><a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
-<a href="html/libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-list.html#xmlListInsert">xmlListInsert</a><br />
-<a href="html/libxml-list.html#xmlListPushFront">xmlListPushFront</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>begins</dt><dd><a href="html/libxml-parser.html#_xmlParserNodeInfo">_xmlParserNodeInfo</a><br />
-</dd><dt>behaves</dt><dd><a href="html/libxml-parserInternals.html#IS_LETTER_CH">IS_LETTER_CH</a><br />
-</dd><dt>behavior</dt><dd><a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-</dd><dt>behaviour</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a><br />
-<a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-tree.html#xmlElemDump">xmlElemDump</a><br />
-<a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
-<a href="html/libxml-tree.html#xmlFreeNodeList">xmlFreeNodeList</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</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#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
-<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#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-</dd><dt>below</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</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 />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
-<a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
-</dd><dt>between</dt><dd><a href="html/libxml-encoding.html#_uconv_t">_uconv_t</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-</dd><dt>beyond</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>binary</dt><dd><a href="html/libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a><br />
-</dd><dt>bindings</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-</dd><dt>bit</dt><dd><a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-</dd><dt>bits</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-</dd><dt>blanks</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
-</dd><dt>blockDefault</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a><br />
-</dd><dt>blocked</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-</dd><dt>blocking</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
-</dd><dt>blocks</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-<a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
-<a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a><br />
-</dd><dt>body</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</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 />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-</dd><dt>bound</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-</dd><dt>boundaries</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-</dd><dt>boundary</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>bracket</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-</dd><dt>branch</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
-</dd><dt>break</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
-</dd><dt>breaking</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-</dd><dt>breaks</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-</dd><dt>brk</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-</dd><dt>broke</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-</dd><dt>broken</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-</dd><dt>buf</dt><dd><a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-</dd><dt>buffered</dt><dd><a href="html/libxml-xmlIO.html#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferClose">xmlOutputBufferClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</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-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferFlush">xmlOutputBufferFlush</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 />
-<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-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 />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<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>buffers</dt><dd><a href="html/libxml-tree.html#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a><br />
-<a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-</dd><dt>building</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-<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 />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</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#xmlBuildURI">xmlBuildURI</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</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 />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-</dd><dt>builds</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
-</dd><dt>built</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</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-uri.html#xmlParseURI">xmlParseURI</a><br />
-<a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</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-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronParse">xmlSchematronParse</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
-</dd><dt>built-in</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</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#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-</dd><dt>builtin</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a><br />
-<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>bypass</dt><dd><a href="html/libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a><br />
-</dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
-<a href="APIchunk1.html">C-C</a>
-<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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk12.html b/doc/APIchunk12.html
deleted file mode 100644
index bb5e3ae..0000000
--- a/doc/APIchunk12.html
+++ /dev/null
@@ -1,927 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index c-c for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index c-c for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.html">y-z</a>
-</h2><h2>Letter c:</h2><dl><dt>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>cache</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>cached</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>caching:</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>calculated</dt><dd><a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-</dd><dt>calculates</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Size">xmlUTF8Size</a><br />
-</dd><dt>calling</dt><dd><a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
-<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
-<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-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
-</dd><dt>calls</dt><dd><a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-</dd><dt>came</dt><dd><a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
-</dd><dt>cannot</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a><br />
-</dd><dt>canonic</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-</dd><dt>canonical</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 />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-</dd><dt>canonicalization</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>canonicalized</dt><dd><a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-</dd><dt>canonization</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>canonized</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>capable</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-</dd><dt>cardinality</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-</dd><dt>carried</dt><dd><a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewProp">xmlNewProp</a><br />
-<a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</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#xmlSetNsProp">xmlSetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br />
-<a href="html/libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a><br />
-</dd><dt>carries</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-</dd><dt>carrying</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-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-<a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-</dd><dt>case-ignoring</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcasestr">xmlStrcasestr</a><br />
-</dd><dt>cases</dt><dd><a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-</dd><dt>cast</dt><dd><a href="html/libxml-xmlstring.html#BAD_CAST">BAD_CAST</a><br />
-<a href="html/libxml-xpathInternals.html#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a><br />
-<a href="html/libxml-xpathInternals.html#CAST_TO_NUMBER">CAST_TO_NUMBER</a><br />
-<a href="html/libxml-xpathInternals.html#CAST_TO_STRING">CAST_TO_STRING</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a><br />
-</dd><dt>casting</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-</dd><dt>cat</dt><dd><a href="html/libxml-debugXML.html#xmlShellCat">xmlShellCat</a><br />
-</dd><dt>catalogs</dt><dd><a href="html/libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogCleanup">xmlCatalogCleanup</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogFreeLocal">xmlCatalogFreeLocal</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-</dd><dt>category</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCat">xmlUCSIsCat</a><br />
-</dd><dt>cause</dt><dd><a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
-</dd><dt>caution</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-</dd><dt>cdata-section-</dt><dd><a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-</dd><dt>ceiling</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
-</dd><dt>certainly</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>chained</dt><dd><a href="html/libxml-tree.html#xmlFreeNsList">xmlFreeNsList</a><br />
-</dd><dt>change</dt><dd><a href="html/libxml-tree.html#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
-<a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</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-xmlschemastypes.html#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a><br />
-<a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-<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 />
-</dd><dt>changed</dt><dd><a href="html/libxml-tree.html#xmlNodeSetBase">xmlNodeSetBase</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-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>changes</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
-</dd><dt>changing</dt><dd><a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-</dd><dt>channel</dt><dd><a href="html/libxml-xmlIO.html#xmlFileClose">xmlFileClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPClose">xmlIOFTPClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPOpen">xmlIOFTPOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPClose">xmlIOHTTPClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpen">xmlIOHTTPOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferClose">xmlOutputBufferClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferFlush">xmlOutputBufferFlush</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
-</dd><dt>characters</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-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
-<a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>charencoding</dt><dd><a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-</dd><dt>chars??</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
-</dd><dt>charset</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br />
-<a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</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-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 />
-</dd><dt>checked</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</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-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-tree.html#xmlSetNsProp">xmlSetNsProp</a><br />
-</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-xmlregexp.html#xmlExpParse">xmlExpParse</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-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-</dd><dt>checks</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a><br />
-</dd><dt>child-</dt><dd><a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-</dd><dt>childrens</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-</dd><dt>childs</dt><dd><a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>choice</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-</dd><dt>choices</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>choices:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-</dd><dt>chunk</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-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</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#xmlParseEntity">xmlParseEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a><br />
-</dd><dt>circular</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a><br />
-</dd><dt>clean</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-</dd><dt>cleanly</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-</dd><dt>cleans</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-</dd><dt>cleanup</dt><dd><a href="html/libxml-globals.html#xmlCleanupGlobals">xmlCleanupGlobals</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a><br />
-</dd><dt>clear</dt><dd><a href="html/libxml-list.html#xmlListMerge">xmlListMerge</a><br />
-</dd><dt>clears</dt><dd><a href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
-</dd><dt>client</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>clone</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-</dd><dt>cloned</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-</dd><dt>close</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a><br />
-<a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleClose">xmlModuleClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferClose">xmlOutputBufferClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a><br />
-<a href="html/libxml-parser.html#xmlReadIO">xmlReadIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
-</dd><dt>closed</dt><dd><a href="html/libxml-HTMLparser.html#htmlReadFd">htmlReadFd</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleClose">xmlModuleClose</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
-<a href="html/libxml-parser.html#xmlReadFd">xmlReadFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a><br />
-</dd><dt>closes</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
-</dd><dt>closest</dt><dd><a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
-</dd><dt>closing</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-</dd><dt>codes</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</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 />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_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 />
-</dd><dt>collected</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-</dd><dt>colon</dt><dd><a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-</dd><dt>column</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-<a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserColumnNumber">xmlTextReaderGetParserColumnNumber</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>come</dt><dd><a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-</dd><dt>comes</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>coming</dt><dd><a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
-</dd><dt>command</dt><dd><a href="html/libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a><br />
-<a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPQuit">xmlNanoFTPQuit</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-</dd><dt>commandline</dt><dd><a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-</dd><dt>commands</dt><dd><a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-</dd><dt>comment</dt><dd><a href="html/libxml-HTMLtree.html#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a><br />
-<a href="html/libxml-SAX.html#comment">comment</a><br />
-<a href="html/libxml-parser.html#commentSAXFunc">commentSAXFunc</a><br />
-<a href="html/libxml-tree.html#xmlNewComment">xmlNewComment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndComment">xmlTextWriterEndComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartComment">xmlTextWriterStartComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIsNodeType">xmlXPathIsNodeType</a><br />
-</dd><dt>comment-</dt><dd><a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-</dd><dt>comments</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 />
-<a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-</dd><dt>commit</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
-</dd><dt>commodity</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>common</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-</dd><dt>comp</dt><dd><a href="html/libxml-pattern.html#xmlFreePattern">xmlFreePattern</a><br />
-<a href="html/libxml-pattern.html#xmlFreePatternList">xmlFreePatternList</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a><br />
-</dd><dt>compare</dt><dd><a href="html/libxml-list.html#xmlListDataCompare">xmlListDataCompare</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-</dd><dt>compared</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-</dd><dt>compares</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
-</dd><dt>comparing</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-</dd><dt>comparison</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-list.html#xmlListCreate">xmlListCreate</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-<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 />
-<a href="html/libxml-xmlstring.html#xmlStrncmp">xmlStrncmp</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-</dd><dt>comparisons</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>compatibility</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
-<a href="html/libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a><br />
-<a href="html/libxml-parserInternals.html#xmlCopyChar">xmlCopyChar</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</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-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-<a href="html/libxml-tree.html#xmlRootNode">xmlRootNode</a><br />
-</dd><dt>compatible</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-</dd><dt>compilation</dt><dd><a href="html/libxml-xpath.html#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
-</dd><dt>compile</dt><dd><a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-</dd><dt>compile-time</dt><dd><a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseFile">htmlParseFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-<a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseFile">xmlSAXParseFile</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
-</dd><dt>compiled-in</dt><dd><a href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a><br />
-</dd><dt>compiling</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-</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 />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolve">xmlCatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolveURI">xmlCatalogResolveURI</a><br />
-</dd><dt>completed</dt><dd><a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-</dd><dt>completely</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-</dd><dt>complex</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-</dd><dt>complexType</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br />
-</dd><dt>complicated</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-</dd><dt>component</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-</dd><dt>components</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-</dd><dt>compound</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
-</dd><dt>compress</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
-<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>compressed</dt><dd><a href="html/libxml-xmlIO.html#_xmlParserInputBuffer">_xmlParserInputBuffer</a><br />
-<a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseFile">htmlParseFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-<a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</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#xmlSAXUserParseFile">xmlSAXUserParseFile</a><br />
-</dd><dt>compression</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-tree.html#xmlGetCompressMode">xmlGetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</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-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-tree.html#xmlSaveFile">xmlSaveFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-<a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
-</dd><dt>comprising</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-</dd><dt>computation</dt><dd><a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>compute</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
-</dd><dt>computed</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueAppend">xmlSchemaValueAppend</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-</dd><dt>computes</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
-</dd><dt>concat</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathConcatFunction">xmlXPathConcatFunction</a><br />
-</dd><dt>concatenated</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-</dd><dt>concatenation</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathConcatFunction">xmlXPathConcatFunction</a><br />
-</dd><dt>concerning</dt><dd><a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br />
-</dd><dt>condition</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-</dd><dt>conditionalSect</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-</dd><dt>configured</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-<a href="html/libxml-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#WITHOUT_TRIO">WITHOUT_TRIO</a><br />
-<a href="html/libxml-xmlversion.html#WITH_TRIO">WITH_TRIO</a><br />
-</dd><dt>conforming</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
-</dd><dt>conforms</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
-<a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
-<a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
-<a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-</dd><dt>conjunction</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
-</dd><dt>connection</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPClose">xmlNanoFTPClose</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnect">xmlNanoFTPConnect</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</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-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>consist</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-</dd><dt>const</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</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-schemasInternals.html#_xmlSchemaAttribute">_xmlSchemaAttribute</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</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-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-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>construct</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-</dd><dt>construction</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-</dd><dt>constructs</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-</dd><dt>consumed</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-xmlIO.html#_xmlParserInputBuffer">_xmlParserInputBuffer</a><br />
-<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-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-</dd><dt>consuming</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-</dd><dt>contain</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</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-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br />
-<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-schematron.html#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
-</dd><dt>contained</dt><dd><a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-</dd><dt>contains</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</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#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathContainsFunction">xmlXPathContainsFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextChild">xmlXPathNextChild</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextParent">xmlXPathNextParent</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</dd><dt>content:</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
-</dd><dt>contentType</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</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-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-</dd><dt>contents</dt><dd><a href="html/libxml-dict.html#xmlDictFree">xmlDictFree</a><br />
-<a href="html/libxml-hash.html#xmlHashFree">xmlHashFree</a><br />
-<a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</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-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</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 />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a><br />
-</dd><dt>contentspec</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
-</dd><dt>context?</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>contexts</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-</dd><dt>contextual</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-</dd><dt>continuing</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>contrary</dt><dd><a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-</dd><dt>contrast</dt><dd><a href="html/libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a><br />
-</dd><dt>control</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPClose">xmlNanoFTPClose</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnect">xmlNanoFTPConnect</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-</dd><dt>conveniently</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-</dd><dt>convention</dt><dd><a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
-<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
-</dd><dt>conversion</dt><dd><a href="html/libxml-encoding.html#_uconv_t">_uconv_t</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathType">_xmlXPathType</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a><br />
-<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>conversions</dt><dd><a href="html/libxml-xmlIO.html#_xmlOutputBuffer">_xmlOutputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#_xmlParserInputBuffer">_xmlParserInputBuffer</a><br />
-</dd><dt>convert</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-<a href="html/libxml-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 />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
-</dd><dt>converted</dt><dd><a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br />
-<a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-</dd><dt>converter</dt><dd><a href="html/libxml-xmlIO.html#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</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 />
-</dd><dt>converting</dt><dd><a href="html/libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-</dd><dt>converts</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>cope</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>copied</dt><dd><a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
-</dd><dt>copier</dt><dd><a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
-</dd><dt>copying</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-</dd><dt>correct</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>correctly</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>correspond</dt><dd><a href="html/libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a><br />
-<a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a><br />
-</dd><dt>corresponding</dt><dd><a href="html/libxml-entities.html#xmlGetDocEntity">xmlGetDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetDtdEntity">xmlGetDtdEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a><br />
-<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</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-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>cost</dt><dd><a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-</dd><dt>costly</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-</dd><dt>could</dt><dd><a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleClose">xmlModuleClose</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-</dd><dt>count</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-<a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpRef">xmlExpRef</a><br />
-<a href="html/libxml-debugXML.html#xmlLsCountNode">xmlLsCountNode</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCountFunction">xmlXPathCountFunction</a><br />
-</dd><dt>counter</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-dict.html#xmlDictReference">xmlDictReference</a><br />
-</dd><dt>counterparts</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-</dd><dt>course</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-</dd><dt>cover</dt><dd><a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-</dd><dt>crash</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>create</dt><dd><a href="html/libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateSize">xmlBufferCreateSize</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a><br />
-<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
-<a href="html/libxml-catalog.html#xmlNewCatalog">xmlNewCatalog</a><br />
-<a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-</dd><dt>creates</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-<a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>creating</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-</dd><dt>creation</dt><dd><a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
-</dd><dt>cross</dt><dd><a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-</dd><dt>crossed</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-</dd><dt>ctxt</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-</dd><dt>ctxt-</dt><dd><a href="html/libxml-DOCBparser.html#docbFreeParserCtxt">docbFreeParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlFreeParserCtxt">htmlFreeParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>cur</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-</dd><dt>currently</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetSize">xmlOutputBufferGetSize</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateFile">xmlSchemaValidateFile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>custom</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveSetEscape">xmlSaveSetEscape</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk13.html b/doc/APIchunk13.html
deleted file mode 100644
index dea2e0b..0000000
--- a/doc/APIchunk13.html
+++ /dev/null
@@ -1,656 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index d-d for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index d-d for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.html">y-z</a>
-</h2><h2>Letter d:</h2><dl><dt>dangerous</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-</dd><dt>data-type</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</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>de-coupled</dt><dd><a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-</dd><dt>deactivated</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-</dd><dt>deallocate</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-list.html#xmlListDeallocator">xmlListDeallocator</a><br />
-<a href="html/libxml-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-</dd><dt>deallocated</dt><dd><a href="html/libxml-dict.html#xmlDictFree">xmlDictFree</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-hash.html#xmlHashFree">xmlHashFree</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
-</dd><dt>deallocation</dt><dd><a href="html/libxml-list.html#xmlListRemoveAll">xmlListRemoveAll</a><br />
-<a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
-<a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a><br />
-</dd><dt>deallocator</dt><dd><a href="html/libxml-hash.html#xmlHashFree">xmlHashFree</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-<a href="html/libxml-list.html#xmlListCreate">xmlListCreate</a><br />
-</dd><dt>debug</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocument">xmlDebugDumpDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpEntities">xmlDebugDumpEntities</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNode">xmlDebugDumpNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a><br />
-<a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br />
-</dd><dt>debugging</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-<a href="html/libxml-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
-</dd><dt>decimal</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>decl</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a><br />
-<a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a><br />
-</dd><dt>declarations</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a><br />
-<a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</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-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-</dd><dt>declare</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-</dd><dt>declared</dt><dd><a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-</dd><dt>declares</dt><dd><a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
-<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
-<a href="html/libxml-xmlexports.html#XMLPUBFUN">XMLPUBFUN</a><br />
-<a href="html/libxml-xmlexports.html#XMLPUBLIC">XMLPUBLIC</a><br />
-<a href="html/libxml-xmlexports.html#XMLPUBVAR">XMLPUBVAR</a><br />
-</dd><dt>declaring</dt><dd><a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
-</dd><dt>decode</dt><dd><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-</dd><dt>def</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-</dd><dt>defaulted</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
-</dd><dt>defaultexternal</dt><dd><a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
-</dd><dt>defaults</dt><dd><a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-</dd><dt>define</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-<a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-<a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>defined</dt><dd><a href="html/libxml-xmlversion.html#WITHOUT_TRIO">WITHOUT_TRIO</a><br />
-<a href="html/libxml-xmlversion.html#WITH_TRIO">WITH_TRIO</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
-<a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</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-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-</dd><dt>defining</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_HREF">XINCLUDE_HREF</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_NODE">XINCLUDE_NODE</a><br />
-<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-xinclude.html#XINCLUDE_PARSE">XINCLUDE_PARSE</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a><br />
-<a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNamespaceUri">xmlTextReaderNamespaceUri</a><br />
-</dd><dt>definitions</dt><dd><a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-<a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</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-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-</dd><dt>defs</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-</dd><dt>delayed</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a><br />
-</dd><dt>delegation</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-</dd><dt>delete</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-</dd><dt>deletion</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-</dd><dt>dependent</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>depending</dt><dd><a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
-<a href="html/libxml-list.html#xmlListDataCompare">xmlListDataCompare</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
-</dd><dt>deprecated</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a><br />
-<a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-dict.html#xmlInitializeDict">xmlInitializeDict</a><br />
-<a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-</dd><dt>depth</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMaxDepth">xmlPatternMaxDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMinDepth">xmlPatternMinDepth</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 />
-<a href="html/libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</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 />
-<a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br />
-</dd><dt>descend</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-</dd><dt>descendant</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br />
-</dd><dt>descendant-or-self</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-</dd><dt>descendants</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-</dd><dt>described</dt><dd><a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</dd><dt>describing</dt><dd><a href="html/libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDoc">htmlParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseFile">htmlParseFile</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-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>description</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
-<a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-HTMLparser.html#_htmlEntityDesc">_htmlEntityDesc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a><br />
-<a href="html/libxml-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetLang">xmlNodeSetLang</a><br />
-</dd><dt>descriptor</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReadFd">htmlCtxtReadFd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFd">htmlReadFd</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a><br />
-<a href="html/libxml-parser.html#xmlReadFd">xmlReadFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToFd">xmlSaveToFd</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
-</dd><dt>designed</dt><dd><a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-</dd><dt>desired</dt><dd><a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
-</dd><dt>destination</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
-<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-</dd><dt>destroy</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-</dd><dt>destroyed</dt><dd><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-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetup">xmlTextReaderSetup</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 />
-<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-</dd><dt>detect</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
-</dd><dt>detected</dt><dd><a href="html/libxml-xpathInternals.html#CHECK_ERROR">CHECK_ERROR</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_ERROR0">CHECK_ERROR0</a><br />
-<a href="html/libxml-SAX.html#endDocument">endDocument</a><br />
-<a href="html/libxml-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a><br />
-<a href="html/libxml-SAX.html#endElement">endElement</a><br />
-<a href="html/libxml-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a><br />
-<a href="html/libxml-parser.html#endElementSAXFunc">endElementSAXFunc</a><br />
-<a href="html/libxml-SAX.html#reference">reference</a><br />
-<a href="html/libxml-parser.html#referenceSAXFunc">referenceSAXFunc</a><br />
-<a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</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#xmlSAX2EndDocument">xmlSAX2EndDocument</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElement">xmlSAX2EndElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaIsValid">xmlSchemaIsValid</a><br />
-</dd><dt>detection</dt><dd><a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a><br />
-<a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
-<a href="html/libxml-xlink.html#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a><br />
-<a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-</dd><dt>determine</dt><dd><a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
-</dd><dt>determined</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-</dd><dt>determinist</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a><br />
-</dd><dt>dict</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-</dd><dt>dictionaries</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-</dd><dt>did</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
-</dd><dt>difference</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-</dd><dt>different</dt><dd><a href="html/libxml-tree.html#_xmlBuffer">_xmlBuffer</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
-</dd><dt>differentiate</dt><dd><a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>differently</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>differs</dt><dd><a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-</dd><dt>digit</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>digits</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>dir</dt><dd><a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br />
-</dd><dt>direct</dt><dd><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#htmlElementStatusHere">htmlElementStatusHere</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-</dd><dt>direction</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextChild">xmlXPathNextChild</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextParent">xmlXPathNextParent</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
-</dd><dt>directly</dt><dd><a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
-<a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</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-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertNumber">xmlXPathConvertNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertString">xmlXPathConvertString</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</dd><dt>directories</dt><dd><a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-</dd><dt>directory</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-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserGetDirectory">xmlParserGetDirectory</a><br />
-<a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br />
-</dd><dt>disable</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a><br />
-</dd><dt>disabled</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a><br />
-<a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-</dd><dt>disables</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>disabling</dt><dd><a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-</dd><dt>disallowed</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a><br />
-</dd><dt>discard</dt><dd><a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a><br />
-</dd><dt>discarded</dt><dd><a href="html/libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a><br />
-</dd><dt>discarding</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-</dd><dt>disconnected</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
-</dd><dt>discovering</dt><dd><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 />
-</dd><dt>display</dt><dd><a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br />
-<a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a><br />
-</dd><dt>distinct</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-</dd><dt>distinguish</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>div</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>doc</dt><dd><a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
-</dd><dt>doc-</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</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-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</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 />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>doesn</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a><br />
-<a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-<a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
-<a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-<a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
-<a href="html/libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<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>doing</dt><dd><a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</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-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</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#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
-</dd><dt>dotgnu</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-</dd><dt>double</dt><dd><a href="">val</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-<a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewFloat">xmlXPathNewFloat</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnNumber">xmlXPathReturnNumber</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a><br />
-</dd><dt>double-hyphen</dt><dd><a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-</dd><dt>double-quotes</dt><dd><a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-</dd><dt>doubleit</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-</dd><dt>doublequotes</dt><dd><a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-</dd><dt>doubt</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>down</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-</dd><dt>draft</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a><br />
-</dd><dt>drop</dt><dd><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-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-</dd><dt>dtd</dt><dd><a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDoc">htmlNewDoc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
-<a href="html/libxml-tree.html#xmlCopyDtd">xmlCopyDtd</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-</dd><dt>dtds</dt><dd><a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>due</dt><dd><a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-</dd><dt>dump</dt><dd><a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferDump">xmlBufferDump</a><br />
-<a href="html/libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a><br />
-<a href="html/libxml-valid.html#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpAttributeTable">xmlDumpAttributeTable</a><br />
-<a href="html/libxml-valid.html#xmlDumpElementDecl">xmlDumpElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpElementTable">xmlDumpElementTable</a><br />
-<a href="html/libxml-entities.html#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlDumpEntityDecl">xmlDumpEntityDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpNotationDecl">xmlDumpNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpNotationTable">xmlDumpNotationTable</a><br />
-<a href="html/libxml-debugXML.html#xmlLsOneNode">xmlLsOneNode</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a><br />
-<a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
-</dd><dt>dumping</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-</dd><dt>dumps</dt><dd><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#xmlShellDir">xmlShellDir</a><br />
-</dd><dt>duplicate</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</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>duplicates</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</a><br />
-</dd><dt>duration</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>during</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaIsValid">xmlSchemaIsValid</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a><br />
-</dd><dt>dynamic</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk14.html b/doc/APIchunk14.html
deleted file mode 100644
index accf322..0000000
--- a/doc/APIchunk14.html
+++ /dev/null
@@ -1,472 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index e-e for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index e-e for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-<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-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>edition</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>effect</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</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-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-</dd><dt>either:</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>elem</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a><br />
-</dd><dt>elem-</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-</dd><dt>element-</dt><dd><a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>element-node</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-</dd><dt>element-nodes</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-</dd><dt>elementFormDefault</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a><br />
-</dd><dt>elementdecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>elements</dt><dd><a href="html/libxml-catalog.html#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a><br />
-<a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</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_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
-<a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
-<a href="html/libxml-pattern.html#xmlFreePatternList">xmlFreePatternList</a><br />
-<a href="html/libxml-hash.html#xmlHashSize">xmlHashSize</a><br />
-<a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
-<a href="html/libxml-list.html#xmlListMerge">xmlListMerge</a><br />
-<a href="html/libxml-list.html#xmlListReverse">xmlListReverse</a><br />
-<a href="html/libxml-list.html#xmlListSize">xmlListSize</a><br />
-<a href="html/libxml-list.html#xmlListSort">xmlListSort</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>else</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<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-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-</dd><dt>embedded</dt><dd><a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
-<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
-</dd><dt>emitted</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-</dd><dt>empty-element</dt><dd><a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-</dd><dt>enable</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
-</dd><dt>enabled</dt><dd><a href="html/libxml-tree.html#xmlSaveFile">xmlSaveFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-</dd><dt>enables</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>enabling</dt><dd><a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
-<a href="html/libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
-</dd><dt>enc</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-</dd><dt>encapsulate</dt><dd><a href="html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a><br />
-</dd><dt>encapsulating</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a><br />
-</dd><dt>enclose</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a><br />
-</dd><dt>encode</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a><br />
-</dd><dt>encoded</dt><dd><a href="html/libxml-xmlIO.html#_xmlOutputBuffer">_xmlOutputBuffer</a><br />
-<a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-xmlIO.html#_xmlParserInputBuffer">_xmlParserInputBuffer</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</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-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-</dd><dt>encoder</dt><dd><a href="html/libxml-xmlIO.html#_xmlOutputBuffer">_xmlOutputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#_xmlParserInputBuffer">_xmlParserInputBuffer</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-</dd><dt>encoder==NULL</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-</dd><dt>encountered</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-</dd><dt>encountering</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-</dd><dt>end-tag</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
-</dd><dt>end-up</dt><dd><a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-</dd><dt>ended</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 />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>ending</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</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 />
-</dd><dt>ends</dt><dd><a href="html/libxml-parser.html#_xmlParserNodeInfo">_xmlParserNodeInfo</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
-</dd><dt>enforced</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-</dd><dt>engine</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
-</dd><dt>englobing</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br />
-<a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br />
-<a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
-</dd><dt>enhancements</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</dd><dt>enough</dt><dd><a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-</dd><dt>ensure</dt><dd><a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>ensures</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-</dd><dt>ensuring</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</dd><dt>entire</dt><dd><a href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
-</dd><dt>entities:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-</dd><dt>entproc</dt><dd><a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-</dd><dt>entries</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a><br />
-</dd><dt>entry</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a><br />
-<a href="html/libxml-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a><br />
-</dd><dt>enumerated</dt><dd><a href="html/libxml-SAX.html#attributeDecl">attributeDecl</a><br />
-<a href="html/libxml-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a><br />
-</dd><dt>enumeration</dt><dd><a href="html/libxml-tree.html#_xmlAttribute">_xmlAttribute</a><br />
-<a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
-<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
-<a href="html/libxml-valid.html#xmlFreeEnumeration">xmlFreeEnumeration</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 />
-</dd><dt>environment</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-<a href="html/libxml-xpath.html#xmlXPathInit">xmlXPathInit</a><br />
-</dd><dt>epsilon</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
-</dd><dt>equal</dt><dd><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-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderName">xmlTextReaderName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathPositionFunction">xmlXPathPositionFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>equality</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<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 />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToString">xmlXPathCastToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertNumber">xmlXPathConvertNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertString">xmlXPathConvertString</a><br />
-</dd><dt>escape</dt><dd><a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-</dd><dt>escaped</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 />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</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-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-<a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-</dd><dt>escapes</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
-<a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-</dd><dt>escaping</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveSetEscape">xmlSaveSetEscape</a><br />
-</dd><dt>especially</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-</dd><dt>established</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-</dd><dt>etc</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
-<a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-</dd><dt>evaluate</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathEvalExpr">xmlXPathEvalExpr</a><br />
-</dd><dt>evaluated</dt><dd><a href="html/libxml-xpath.html#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a><br />
-<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#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</dd><dt>evaluating</dt><dd><a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-</dd><dt>evaluation</dt><dd><a href="html/libxml-xpath.html#_xmlXPathFunct">_xmlXPathFunct</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-xpathInternals.html#valuePop">valuePop</a><br />
-<a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br />
-<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#xmlXPathEvalFunc">xmlXPathEvalFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
-</dd><dt>even</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a><br />
-</dd><dt>event</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-</dd><dt>events</dt><dd><a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-</dd><dt>ever</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a><br />
-</dd><dt>everywhere</dt><dd><a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
-</dd><dt>exact</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-</dd><dt>examined</dt><dd><a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-</dd><dt>example</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<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-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<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 />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-</dd><dt>exception</dt><dd><a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-</dd><dt>excluding</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-</dd><dt>exclusions</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
-</dd><dt>exclusions:</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a><br />
-</dd><dt>exclusive</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-</dd><dt>executed</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
-</dd><dt>execution</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString">xmlRegExecPushString</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a><br />
-</dd><dt>exist</dt><dd><a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
-</dd><dt>existent</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-</dd><dt>exists</dt><dd><a href="html/libxml-dict.html#xmlDictExists">xmlDictExists</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</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-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-</dd><dt>exit</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>expand</dt><dd><a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-</dd><dt>expanded</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a><br />
-</dd><dt>expected</dt><dd><a href="">x</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br />
-<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 />
-<a href="html/libxml-schematron.html#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</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>exportable</dt><dd><a href="html/libxml-xmlexports.html#XMLPUBFUN">XMLPUBFUN</a><br />
-<a href="html/libxml-xmlexports.html#XMLPUBVAR">XMLPUBVAR</a><br />
-</dd><dt>exported</dt><dd><a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
-<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
-</dd><dt>exposing</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
-</dd><dt>express</dt><dd><a href="html/libxml-tree.html#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a><br />
-</dd><dt>expressing</dt><dd><a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-</dd><dt>expressions</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewCtxt">xmlExpNewCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br />
-</dd><dt>exslSetsDistinctSorted</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-</dd><dt>exslSetsLeadingSorted</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-</dd><dt>exslSetsNodeLeadingSorted</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-</dd><dt>ext</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>extParsedEnt</dt><dd><a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</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-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a><br />
-</dd><dt>extSubset</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-</dd><dt>extSubsetDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-</dd><dt>extend</dt><dd><a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
-<a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
-</dd><dt>extended</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-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</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_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>extensions</dt><dd><a href="html/libxml-parser.html#_xmlSAXHandler">_xmlSAXHandler</a><br />
-</dd><dt>extent</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-</dd><dt>extlang</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</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 />
-<a href="html/libxml-tree.html#xmlBufContent">xmlBufContent</a><br />
-<a href="html/libxml-tree.html#xmlBufEnd">xmlBufEnd</a><br />
-<a href="html/libxml-tree.html#xmlBufferContent">xmlBufferContent</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk15.html b/doc/APIchunk15.html
deleted file mode 100644
index 443a06b..0000000
--- a/doc/APIchunk15.html
+++ /dev/null
@@ -1,456 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index f-f for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index f-f for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>face</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</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#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
-</dd><dt>facets</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
-</dd><dt>facility</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</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 />
-<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
-</dd><dt>failed</dt><dd><a href="html/libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-<a href="html/libxml-valid.html#xmlRemoveID">xmlRemoveID</a><br />
-<a href="html/libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a><br />
-<a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</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#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</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 />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-</dd><dt>fails</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
-<a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-<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 />
-<a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-</dd><dt>fallback</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</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>far</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaIsValid">xmlSchemaIsValid</a><br />
-</dd><dt>fashion</dt><dd><a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-</dd><dt>faster</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-</dd><dt>fatal</dt><dd><a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-</dd><dt>fatalError</dt><dd><a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-</dd><dt>favor</dt><dd><a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a><br />
-</dd><dt>feature</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-<a href="html/libxml-parser.html#xmlGetFeature">xmlGetFeature</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-<a href="html/libxml-parser.html#xmlSetFeature">xmlSetFeature</a><br />
-</dd><dt>features</dt><dd><a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-</dd><dt>fed</dt><dd><a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
-<a href="html/libxml-xmlreader.html#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-</dd><dt>feed</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderSetup">xmlTextReaderSetup</a><br />
-</dd><dt>fetch</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPOpen">xmlNanoFTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
-</dd><dt>fetching</dt><dd><a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
-</dd><dt>field</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
-<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
-<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
-<a href="html/libxml-parser.html#XML_DETECT_IDS">XML_DETECT_IDS</a><br />
-<a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
-<a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>fields</dt><dd><a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
-<a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#_xmlSAXHandler">_xmlSAXHandler</a><br />
-<a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
-</dd><dt>files</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
-</dd><dt>filesystem</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFile">htmlReadFile</a><br />
-<a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-<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>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-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-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 />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a><br />
-</dd><dt>finding</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-</dd><dt>finds</dt><dd><a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
-</dd><dt>finishDtd</dt><dd><a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
-<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
-</dd><dt>finished</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
-<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>finite</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-</dd><dt>firs</dt><dd><a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd><dt>fist</dt><dd><a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
-</dd><dt>fit</dt><dd><a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd><dt>fixed</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>fixup</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a><br />
-</dd><dt>flag</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
-<a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br />
-</dd><dt>flagged</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlGetMetaEncoding">htmlGetMetaEncoding</a><br />
-</dd><dt>flags</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForMemory">xmlReaderForMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewMemory">xmlReaderNewMemory</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a><br />
-</dd><dt>flat</dt><dd><a href="html/libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
-<a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-</dd><dt>floor</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
-</dd><dt>flow</dt><dd><a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-</dd><dt>flushed</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a><br />
-</dd><dt>flushes</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferClose">xmlOutputBufferClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferFlush">xmlOutputBufferFlush</a><br />
-</dd><dt>follow</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
-</dd><dt>followed</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>following-sibling</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a><br />
-</dd><dt>follows</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
-</dd><dt>follows:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>for:</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>forbid</dt><dd><a href="html/libxml-xpath.html#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a><br />
-</dd><dt>force</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-</dd><dt>forced</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>form</dt><dd><a href="html/libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDoc">htmlParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseFile">htmlParseFile</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-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
-<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>formal</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a><br />
-</dd><dt>formatted</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a><br />
-</dd><dt>formatting</dt><dd><a href="html/libxml-HTMLtree.html#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileEnc">htmlSaveFileEnc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileFormat">htmlSaveFileFormat</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</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#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 />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
-</dd><dt>formed</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#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-</dd><dt>forward</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-</dd><dt>fptr</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-</dd><dt>fragment</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-<a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
-<a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-<a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-</dd><dt>fragments</dt><dd><a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-</dd><dt>freeing</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-<a href="html/libxml-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-</dd><dt>frees</dt><dd><a href="html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>front</dt><dd><a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
-<a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
-<a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-</dd><dt>front-end</dt><dd><a href="html/libxml-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd><dt>ftp:</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPOpen">xmlNanoFTPOpen</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-</dd><dt>ftp_proxy</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-</dd><dt>ftp_proxy_password</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-</dd><dt>ftp_proxy_user</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-</dd><dt>full</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</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-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
-<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
-</dd><dt>fully</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-</dd><dt>func</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>funcs</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>function:</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<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>functionality</dt><dd><a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-</dd><dt>functions</dt><dd><a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
-<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
-<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#xmlMemSetup">xmlMemSetup</a><br />
-<a href="html/libxml-parser.html#xmlReadIO">xmlReadIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</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#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a><br />
-<a href="html/libxml-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />
-<a href="html/libxml-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a><br />
-<a href="html/libxml-parserInternals.html#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a><br />
-<a href="html/libxml-parserInternals.html#xmlSwitchToEncoding">xmlSwitchToEncoding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a><br />
-</dd><dt>further</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parser.html#xmlStopParser">xmlStopParser</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a><br />
-</dd><dt>future</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateFile">xmlSchemaValidateFile</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk16.html b/doc/APIchunk16.html
deleted file mode 100644
index 6a39ca4..0000000
--- a/doc/APIchunk16.html
+++ /dev/null
@@ -1,375 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index g-h for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index g-h for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.html">y-z</a>
-</h2><h2>Letter g:</h2><dl><dt>gDay</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>gMonth</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>gMonthDay</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>gYear</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>gYearMonth</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>garbage</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-</dd><dt>gcc</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-</dd><dt>gcc4</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-</dd><dt>genChRanges</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCharQ">xmlIsCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a><br />
-</dd><dt>general</dt><dd><a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a><br />
-<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 />
-<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 />
-</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 />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-</dd><dt>generated</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-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCharQ">xmlIsCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
-</dd><dt>generates</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a><br />
-</dd><dt>generating</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-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-</dd><dt>generic</dt><dd><a href="html/libxml-xmlerror.html#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a><br />
-<a href="html/libxml-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />
-<a href="html/libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a><br />
-</dd><dt>get</dt><dd><a href="html/libxml-parser.html#_xmlSAXHandler">_xmlSAXHandler</a><br />
-<a href="html/libxml-parser.html#_xmlSAXHandlerV1">_xmlSAXHandlerV1</a><br />
-<a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-tree.html#xmlBufUse">xmlBufUse</a><br />
-<a href="html/libxml-tree.html#xmlBufferLength">xmlBufferLength</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
-<a href="html/libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</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-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
-<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<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>gie</dt><dd><a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-</dd><dt>gif</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-</dd><dt>git</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
-</dd><dt>give</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-</dd><dt>gives</dt><dd><a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a><br />
-</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 />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
-<a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
-<a href="html/libxml-xmlerror.html#xmlGetLastError">xmlGetLastError</a><br />
-<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>gnu</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</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 />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-</dd><dt>greater</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>greater-than</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>group</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaAttributeGroup">_xmlSchemaAttributeGroup</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-<a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-</dd><dt>groups</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-</dd><dt>grow</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>grows</dt><dd><a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteChar">xmlBufferWriteChar</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-</dd><dt>guarantee</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-</dd><dt>guaranteed</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-</dd><dt>guess</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd></dl><h2>Letter h:</h2><dl><dt>had</dt><dd><a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-</dd><dt>hand</dt><dd><a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</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 />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
-</dd><dt>handlers</dt><dd><a href="html/libxml-xlink.html#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a><br />
-<a href="html/libxml-encoding.html#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</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-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
-</dd><dt>handles</dt><dd><a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-<a href="html/libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
-<a href="html/libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-</dd><dt>handling</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
-<a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</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 />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</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-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</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 />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-<a href="html/libxml-xpathInternals.html#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>hard</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>has-same-nodes</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
-</dd><dt>haystack</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcasestr">xmlStrcasestr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-</dd><dt>head</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>header</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a><br />
-</dd><dt>headers</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</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-nanohttp.html#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a><br />
-</dd><dt>heading</dt><dd><a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-</dd><dt>held</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetSize">xmlOutputBufferGetSize</a><br />
-</dd><dt>helper</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a><br />
-</dd><dt>here</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-</dd><dt>heuristic</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</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 />
-</dd><dt>hold</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>holding</dt><dd><a href="html/libxml-tree.html#_xmlAttribute">_xmlAttribute</a><br />
-<a href="html/libxml-tree.html#_xmlID">_xmlID</a><br />
-<a href="html/libxml-tree.html#_xmlRef">_xmlRef</a><br />
-<a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
-<a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-<a href="html/libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewProp">xmlNewProp</a><br />
-</dd><dt>holds</dt><dd><a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-</dd><dt>hooks</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a><br />
-</dd><dt>host</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-</dd><dt>hosting</dt><dd><a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
-</dd><dt>hostname</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-</dd><dt>hour</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-</dd><dt>how</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-<a href="html/libxml-dict.html#xmlDictGetUsage">xmlDictGetUsage</a><br />
-</dd><dt>href</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_HREF">XINCLUDE_HREF</a><br />
-</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-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 />
-</dd><dt>htmlElementStatusHere</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</dd><dt>htmlEntityDescPtr</dt><dd><a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-</dd><dt>htmlNodePtr</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</dd><dt>htmlParserCtxtPtr</dt><dd><a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
-</dd><dt>htmlParserOption</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFd">htmlCtxtReadFd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadMemory">htmlCtxtReadMemory</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFd">htmlReadFd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFile">htmlReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadMemory">htmlReadMemory</a><br />
-</dd><dt>htmlStartClose</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-</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 />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-</dd><dt>human-readable</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk17.html b/doc/APIchunk17.html
deleted file mode 100644
index c3677a1..0000000
--- a/doc/APIchunk17.html
+++ /dev/null
@@ -1,515 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index i-i for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index i-i for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.html">y-z</a>
-</h2><h2>Letter i:</h2><dl><dt>i-xxx</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><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>icu</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a><br />
-</dd><dt>identify</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-</dd><dt>identity-constraint</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-</dd><dt>ignorable</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-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
-</dd><dt>ignorableWhitespace</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>ignored</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>ignoring</dt><dd><a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-</dd><dt>image</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>imbrication</dt><dd><a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<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 />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>immutable</dt><dd><a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
-</dd><dt>implementation</dt><dd><a href="html/libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a><br />
-</dd><dt>implementation-defined</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
-</dd><dt>implemented</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-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
-</dd><dt>implicitly</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-</dd><dt>implied</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>impossible</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>improves</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-</dd><dt>in-</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-</dd><dt>in-extenso</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a><br />
-</dd><dt>in-memory</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadMemory">htmlCtxtReadMemory</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDoc">htmlParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadMemory">htmlReadMemory</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseDoc">xmlParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlParseMemory">xmlParseMemory</a><br />
-<a href="html/libxml-parser.html#xmlReadDoc">xmlReadDoc</a><br />
-<a href="html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</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#xmlReaderNewMemory">xmlReaderNewMemory</a><br />
-<a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
-<a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseMemory">xmlSAXParseMemory</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
-<a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
-</dd><dt>incl</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-</dd><dt>include</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_NODE">XINCLUDE_NODE</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-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 />
-<a href="html/libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
-<a href="html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-</dd><dt>includes</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<a href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a><br />
-</dd><dt>including</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br />
-<a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-<a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-<a href="html/libxml-SAX.html#startElement">startElement</a><br />
-<a href="html/libxml-parser.html#startElementSAXFunc">startElementSAXFunc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</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-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>inclusive</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>increase</dt><dd><a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
-</dd><dt>increment</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
-</dd><dt>incremental</dt><dd><a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-</dd><dt>indent</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a><br />
-</dd><dt>indentation</dt><dd><a href="html/libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNode">xmlDebugDumpNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
-</dd><dt>indentation?</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a><br />
-</dd><dt>indented</dt><dd><a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-</dd><dt>indenting</dt><dd><a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</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#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>independently</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-</dd><dt>index</dt><dd><a href="">index</a><br />
-<a href="html/libxml-parserInternals.html#inputPush">inputPush</a><br />
-<a href="html/libxml-parserInternals.html#namePush">namePush</a><br />
-<a href="html/libxml-parserInternals.html#nodePush">nodePush</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-<a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</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-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRange">xmlXPtrNewRange</a><br />
-</dd><dt>indicate</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</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-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-</dd><dt>indicated</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</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-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-</dd><dt>indicates</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-</dd><dt>indicating</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-<a href="html/libxml-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-</dd><dt>indication</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
-</dd><dt>indicative</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
-<a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
-<a href="html/libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a><br />
-</dd><dt>indicator</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>indirect</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-</dd><dt>indirectly</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-</dd><dt>infinite</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-</dd><dt>infinity</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>info</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a><br />
-<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<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 />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
-</dd><dt>informative</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-</dd><dt>infos</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>inherited</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-<a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a><br />
-</dd><dt>inheriting</dt><dd><a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br />
-</dd><dt>inherits</dt><dd><a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>initial</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaAttribute">_xmlSchemaAttribute</a><br />
-<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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</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-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</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#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a><br />
-</dd><dt>initialisation</dt><dd><a href="html/libxml-globals.html#xmlInitGlobals">xmlInitGlobals</a><br />
-</dd><dt>initialization</dt><dd><a href="html/libxml-catalog.html#xmlInitializeCatalog">xmlInitializeCatalog</a><br />
-<a href="html/libxml-dict.html#xmlInitializeDict">xmlInitializeDict</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 />
-<a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
-<a href="html/libxml-threads.html#xmlInitThreads">xmlInitThreads</a><br />
-<a href="html/libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-<a href="html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</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#xmlXPathNewValueTree">xmlXPathNewValueTree</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a><br />
-</dd><dt>initialized</dt><dd><a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
-</dd><dt>initializes</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a><br />
-</dd><dt>initiate</dt><dd><a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd><dt>initiated</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</dd><dt>inline</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>inlined</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>inputs</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>insensitive</dt><dd><a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-</dd><dt>insert</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>inserted</dt><dd><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-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>insertion</dt><dd><a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>inspect</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
-</dd><dt>installed</dt><dd><a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
-<a href="html/libxml-hash.html#xmlHashSize">xmlHashSize</a><br />
-</dd><dt>instances</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<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 />
-<a href="html/libxml-schematron.html#xmlSchematronParse">xmlSchematronParse</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-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<a href="html/libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
-<a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombining">xmlIsCombining</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-<a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
-</dd><dt>instruction</dt><dd><a href="html/libxml-HTMLtree.html#HTML_PI_NODE">HTML_PI_NODE</a><br />
-<a href="html/libxml-SAX.html#processingInstruction">processingInstruction</a><br />
-<a href="html/libxml-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a><br />
-<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
-<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a><br />
-</dd><dt>insufficient</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-</dd><dt>intact</dt><dd><a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-</dd><dt>integer</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-<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 />
-<a href="html/libxml-xmlstring.html#xmlStrncmp">xmlStrncmp</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>intended</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-</dd><dt>intensively</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</dd><dt>interact</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-</dd><dt>interface</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseDocument">docbParseDocument</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDocument">htmlParseDocument</a><br />
-<a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-</dd><dt>interfaces</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</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>intern</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-</dd><dt>internally</dt><dd><a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewCtxt">xmlExpNewCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-<a href="html/libxml-valid.html#xmlRemoveID">xmlRemoveID</a><br />
-<a href="html/libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateFile">xmlSchemaValidateFile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>interned</dt><dd><a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-</dd><dt>interning</dt><dd><a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
-</dd><dt>interoperability</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-</dd><dt>interoperable</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>interprestation</dt><dd><a href="html/libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a><br />
-</dd><dt>interpreter</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-</dd><dt>intersection</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-</dd><dt>introduced</dt><dd><a href="html/libxml-tree.html#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a><br />
-</dd><dt>ints</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-</dd><dt>invalid</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>invited</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>isn</dt><dd><a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
-</dd><dt>issue</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-</dd><dt>issued</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-</dd><dt>issues</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-</dd><dt>item</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<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 />
-<a href="html/libxml-hash.html#xmlHashFree">xmlHashFree</a><br />
-<a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
-<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 />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk18.html b/doc/APIchunk18.html
deleted file mode 100644
index 14d6c51..0000000
--- a/doc/APIchunk18.html
+++ /dev/null
@@ -1,459 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index j-l for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index j-l for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.html">y-z</a>
-</h2><h2>Letter j:</h2><dl><dt>just</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<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 />
-<a href="html/libxml-parserInternals.html#nodePop">nodePop</a><br />
-<a href="html/libxml-xpathInternals.html#valuePop">valuePop</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
-<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
-<a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewParserContext">xmlXPathNewParserContext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
-<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-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-<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 />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-</dd><dt>kept</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>keyword</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>kill</dt><dd><a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
-</dd><dt>kind</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAttributeGroup">_xmlSchemaAttributeGroup</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#_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 />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</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 />
-<a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br />
-<a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</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-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 />
-</dd></dl><h2>Letter l:</h2><dl><dt>label</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>labeled</dt><dd><a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-</dd><dt>lack</dt><dd><a href="html/libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<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 />
-</dd><dt>langtag</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>language</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</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-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-</dd><dt>languages</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br />
-</dd><dt>large</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-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-</dd><dt>largest</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
-</dd><dt>later</dt><dd><a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>latest</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a><br />
-</dd><dt>layer</dt><dd><a href="html/libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a><br />
-<a href="html/libxml-xmlmemory.html#xmlInitMemory">xmlInitMemory</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
-<a href="html/libxml-tree.html#xmlRootNode">xmlRootNode</a><br />
-<a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a><br />
-</dd><dt>leading</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>leak</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>least</dt><dd><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>led</dt><dd><a href="html/libxml-dict.html#xmlInitializeDict">xmlInitializeDict</a><br />
-</dd><dt>left</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>legacy</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</dd><dt>len</dt><dd><a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
-<a href="html/libxml-xmlstring.html#xmlCharStrndup">xmlCharStrndup</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a><br />
-<a href="html/libxml-tree.html#xmlNewTextLen">xmlNewTextLen</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrndup">xmlStrndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strndup">xmlUTF8Strndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-</dd><dt>length-1</dt><dd><a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-</dd><dt>less</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToFilename">xmlSaveToFilename</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>less-than</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>level</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
-<a href="html/libxml-xmlmemory.html#xmlCleanupMemory">xmlCleanupMemory</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNode">xmlDebugDumpNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a><br />
-<a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPop">xmlStreamPop</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
-</dd><dt>lexical</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</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 />
-<a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-</dd><dt>lib</dt><dd><a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
-</dd><dt>libc</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-</dd><dt>libraries</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a><br />
-</dd><dt>library</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<a href="html/libxml-xmlmemory.html#xmlCleanupMemory">xmlCleanupMemory</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-dict.html#xmlDictCleanup">xmlDictCleanup</a><br />
-<a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-<a href="html/libxml-threads.html#xmlInitThreads">xmlInitThreads</a><br />
-<a href="html/libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a><br />
-<a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleFree">xmlModuleFree</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a><br />
-<a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeValue">xmlSchemaFreeValue</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-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
-</dd><dt>libs</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>libxml</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</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-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
-</dd><dt>libxml1</dt><dd><a href="html/libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a><br />
-<a href="html/libxml-tree.html#xmlRootNode">xmlRootNode</a><br />
-</dd><dt>libxml2</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<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#xmlInitThreads">xmlInitThreads</a><br />
-<a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
-<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-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-<a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
-</dd><dt>lifetime</dt><dd><a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a><br />
-</dd><dt>like</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR_CH">IS_CHAR_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_DIGIT_CH">IS_DIGIT_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_EXTENDER_CH">IS_EXTENDER_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_LETTER_CH">IS_LETTER_CH</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-<a href="html/libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a><br />
-<a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>likely</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-</dd><dt>limit</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-dict.html#xmlDictSetLimit">xmlDictSetLimit</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMaxDepth">xmlPatternMaxDepth</a><br />
-</dd><dt>limitation</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-<a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-</dd><dt>limited</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-</dd><dt>limits</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</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 />
-<a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-</dd><dt>lines</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</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 />
-<a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br />
-</dd><dt>lists</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>literal</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePubidLiteral">xmlParsePubidLiteral</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-</dd><dt>load</dt><dd><a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</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-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</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-debugXML.html#xmlShell">xmlShell</a><br />
-<a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a><br />
-</dd><dt>loaded</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>loader</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-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-</dd><dt>loaders</dt><dd><a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
-</dd><dt>loading</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-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-<a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a><br />
-</dd><dt>loads</dt><dd><a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a><br />
-</dd><dt>loadsubset</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>local-name</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a><br />
-</dd><dt>localname</dt><dd><a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
-</dd><dt>location</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-<a href="html/libxml-parser.html#xmlGetFeature">xmlGetFeature</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlSetFeature">xmlSetFeature</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
-</dd><dt>locations</dt><dd><a href="html/libxml-xpointer.html#_xmlLocationSet">_xmlLocationSet</a><br />
-</dd><dt>locator</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-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-<a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
-</dd><dt>locators</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-</dd><dt>lock</dt><dd><a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
-<a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-<a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
-<a href="html/libxml-threads.html#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 />
-<a href="html/libxml-parserInternals.html#IS_DIGIT">IS_DIGIT</a><br />
-<a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
-</dd><dt>longer</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>look-ahead</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>lookahead</dt><dd><a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
-<a href="html/libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a><br />
-</dd><dt>looked</dt><dd><a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
-<a href="html/libxml-pattern.html#xmlPatternFromRoot">xmlPatternFromRoot</a><br />
-</dd><dt>looks</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-</dd><dt>lookups</dt><dd><a href="html/libxml-parser.html#XML_DETECT_IDS">XML_DETECT_IDS</a><br />
-<a href="html/libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a><br />
-</dd><dt>loop</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-</dd><dt>loops</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>lossless</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a><br />
-</dd><dt>lower</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-</dd><dt>lowercase</dt><dd><a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk19.html b/doc/APIchunk19.html
deleted file mode 100644
index 48d51a2..0000000
--- a/doc/APIchunk19.html
+++ /dev/null
@@ -1,372 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index m-m for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index m-m for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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-nanoftp.html#INVALID_SOCKET">INVALID_SOCKET</a><br />
-<a href="html/libxml-nanoftp.html#SOCKET">SOCKET</a><br />
-<a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a><br />
-</dd><dt>made</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
-<a href="html/libxml-parserInternals.html#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a><br />
-</dd><dt>main</dt><dd><a href="html/libxml-threads.html#xmlIsMainThread">xmlIsMainThread</a><br />
-</dd><dt>maintained</dt><dd><a href="html/libxml-valid.html#xmlRemoveID">xmlRemoveID</a><br />
-<a href="html/libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-</dd><dt>major</dt><dd><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-</dd><dt>make</dt><dd><a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-<a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveClose">xmlSaveClose</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveFlush">xmlSaveFlush</a><br />
-</dd><dt>makes</dt><dd><a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
-</dd><dt>malloc</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#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 />
-</dd><dt>manage</dt><dd><a href="html/libxml-tree.html#xmlBufferWriteChar">xmlBufferWriteChar</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-</dd><dt>manages</dt><dd><a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
-</dd><dt>mandate</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-</dd><dt>manipulated</dt><dd><a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-</dd><dt>manipulating</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewCtxt">xmlExpNewCtxt</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-</dd><dt>manipulation</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a><br />
-</dd><dt>many</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>map</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-</dd><dt>maps</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a><br />
-</dd><dt>mark</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a><br />
-</dd><dt>marked</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a><br />
-<a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-</dd><dt>marker</dt><dd><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-</dd><dt>marking</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-</dd><dt>marks</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-</dd><dt>markup</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</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-xmlreader.html#xmlTextReaderReadInnerXml">xmlTextReaderReadInnerXml</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a><br />
-</dd><dt>markupdecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>masked</dt><dd><a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>matched</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
-</dd><dt>matches</dt><dd><a href="html/libxml-xpathInternals.html#CHECK_ARITY">CHECK_ARITY</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileMatch">xmlFileMatch</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPMatch">xmlIOFTPMatch</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPMatch">xmlIOHTTPMatch</a><br />
-<a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</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-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>matching</dt><dd><a href="html/libxml-xmlIO.html#xmlFileMatch">xmlFileMatch</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
-<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#xmlIOFTPMatch">xmlIOFTPMatch</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPOpen">xmlIOFTPOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPMatch">xmlIOHTTPMatch</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpen">xmlIOHTTPOpen</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>max</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-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncasecmp">xmlStrncasecmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncmp">xmlStrncmp</a><br />
-</dd><dt>maxLength</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-</dd><dt>maximal</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
-</dd><dt>maximum</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpMaxToken">xmlExpMaxToken</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewCtxt">xmlExpNewCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMaxDepth">xmlPatternMaxDepth</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>maybe</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-</dd><dt>mean</dt><dd><a href="html/libxml-pattern.html#xmlPatternMinDepth">xmlPatternMinDepth</a><br />
-</dd><dt>means</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</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-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-</dd><dt>mechanism</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a><br />
-</dd><dt>mechanisms</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-</dd><dt>meet</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>member</dt><dd><a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>member-types</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-</dd><dt>memo</dt><dd><a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-</dd><dt>memorylist</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a><br />
-</dd><dt>merged</dt><dd><a href="html/libxml-tree.html#xmlTextMerge">xmlTextMerge</a><br />
-</dd><dt>merging</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#xmlAddNextSibling">xmlAddNextSibling</a><br />
-<a href="html/libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a><br />
-<a href="html/libxml-tree.html#xmlAddSibling">xmlAddSibling</a><br />
-</dd><dt>messages</dt><dd><a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br />
-<a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</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-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-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-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>might</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>migrate</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-</dd><dt>min</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-</dd><dt>minLength</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-</dd><dt>minimal</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-</dd><dt>minimum</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a><br />
-<a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMinDepth">xmlPatternMinDepth</a><br />
-</dd><dt>minus</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>minute</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-</dd><dt>misc</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>misleading</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-</dd><dt>missing</dt><dd><a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-</dd><dt>mixed</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>mixed-content</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>mmap</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
-</dd><dt>mod</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-</dd><dt>mode</dt><dd><a href="html/libxml-tree.html#_xmlBuffer">_xmlBuffer</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</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-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-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</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 />
-<a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
-</dd><dt>model</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-<a href="html/libxml-valid.html#xmlValidBuildContentModel">xmlValidBuildContentModel</a><br />
-</dd><dt>modified</dt><dd><a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</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#xmlNodeSetContent">xmlNodeSetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a><br />
-</dd><dt>modifies</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-</dd><dt>modify</dt><dd><a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-</dd><dt>module</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleClose">xmlModuleClose</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleFree">xmlModuleFree</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
-<a href="html/libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
-</dd><dt>modules</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a><br />
-</dd><dt>moment</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</dd><dt>month</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-</dd><dt>more</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</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-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>moreover</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-</dd><dt>most</dt><dd><a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-</dd><dt>move</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-</dd><dt>moved</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a><br />
-</dd><dt>much</dt><dd><a href="html/libxml-dict.html#xmlDictGetUsage">xmlDictGetUsage</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>multi-threaded</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-</dd><dt>multi-threading</dt><dd><a href="html/libxml-globals.html#xmlCleanupGlobals">xmlCleanupGlobals</a><br />
-<a href="html/libxml-globals.html#xmlInitGlobals">xmlInitGlobals</a><br />
-</dd><dt>multiple</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a><br />
-</dd><dt>multiply</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-</dd><dt>multithreaded</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
-</dd><dt>mutex</dt><dd><a href="html/libxml-dict.html#xmlDictCleanup">xmlDictCleanup</a><br />
-<a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
-<a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
-<a href="html/libxml-dict.html#xmlInitializeDict">xmlInitializeDict</a><br />
-<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-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-<a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-</dd><dt>myDoc</dt><dd><a href="html/libxml-DOCBparser.html#docbFreeParserCtxt">docbFreeParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlFreeParserCtxt">htmlFreeParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a><br />
-</dd><dt>myproxy</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-</dd><dt>myproxy:3128</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk2.html b/doc/APIchunk2.html
deleted file mode 100644
index 52647dd..0000000
--- a/doc/APIchunk2.html
+++ /dev/null
@@ -1,416 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index D-E for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index D-E for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-</dd><dt>DELE</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-</dd><dt>DELEGATE</dt><dd><a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-</dd><dt>DEMO</dt><dd><a href="html/libxml-SAX.html#getPublicId">getPublicId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a><br />
-</dd><dt>DEPRECATED</dt><dd><a href="html/libxml-SAX.html#checkNamespace">checkNamespace</a><br />
-<a href="html/libxml-SAX.html#getNamespace">getNamespace</a><br />
-<a href="html/libxml-SAX.html#globalNamespace">globalNamespace</a><br />
-<a href="html/libxml-SAX.html#namespaceDecl">namespaceDecl</a><br />
-<a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
-<a href="html/libxml-SAX.html#setNamespace">setNamespace</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetPublic">xmlCatalogGetPublic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetSystem">xmlCatalogGetSystem</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
-<a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombining">xmlIsCombining</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-</dd><dt>DIGIT</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>DOCTYPE</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
-</dd><dt>DOM-wrapper</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a><br />
-</dd><dt>DTDs</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
-<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 />
-<a href="html/libxml-valid.html#xmlFreeIDTable">xmlFreeIDTable</a><br />
-<a href="html/libxml-valid.html#xmlFreeNotationTable">xmlFreeNotationTable</a><br />
-<a href="html/libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a><br />
-<a href="html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a><br />
-<a href="html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGFree">xmlRelaxNGFree</a><br />
-<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-schematron.html#xmlSchematronFree">xmlSchematronFree</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 />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</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 />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-</dd><dt>Declared</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</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#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationUse">xmlValidateNotationUse</a><br />
-</dd><dt>Default</dt><dd><a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-</dd><dt>DefaultDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>Deletes</dt><dd><a href="html/libxml-list.html#xmlListDelete">xmlListDelete</a><br />
-</dd><dt>Depth</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-</dd><dt>Dereference</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpFree">xmlExpFree</a><br />
-</dd><dt>DeregisterNodeFunc</dt><dd><a href="html/libxml-globals.html#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a><br />
-</dd><dt>Deseret</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsDeseret">xmlUCSIsDeseret</a><br />
-</dd><dt>Determine</dt><dd><a href="html/libxml-HTMLtree.html#htmlIsBooleanAttr">htmlIsBooleanAttr</a><br />
-<a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
-</dd><dt>Devanagari</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsDevanagari">xmlUCSIsDevanagari</a><br />
-</dd><dt>Different</dt><dd><a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-</dd><dt>Digit</dt><dd><a href="html/libxml-parserInternals.html#IS_DIGIT">IS_DIGIT</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseName">xmlParseName</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseName">xmlXPathParseName</a><br />
-</dd><dt>Digits</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-</dd><dt>Digits?</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-</dd><dt>Dingbats</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsDingbats">xmlUCSIsDingbats</a><br />
-</dd><dt>Display</dt><dd><a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br />
-<a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a><br />
-</dd><dt>Displays</dt><dd><a href="html/libxml-xmlerror.html#xmlParserPrintFileContext">xmlParserPrintFileContext</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a><br />
-</dd><dt>DocBook</dt><dd><a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDocbDefaultSAXHandler">xmlSAX2InitDocbDefaultSAXHandler</a><br />
-</dd><dt>Docbook</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-</dd><dt>Document</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-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</a><br />
-</dd><dt>Does</dt><dd><a href="html/libxml-SAX.html#hasExternalSubset">hasExternalSubset</a><br />
-<a href="html/libxml-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a><br />
-<a href="html/libxml-SAX.html#hasInternalSubset">hasInternalSubset</a><br />
-<a href="html/libxml-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a><br />
-<a href="html/libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a><br />
-<a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>Douglas</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>Draft</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-</dd><dt>DtD</dt><dd><a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-</dd><dt>DtDs</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-</dd><dt>Dtd</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>Dumps</dt><dd><a href="html/libxml-tree.html#xmlBufferDump">xmlBufferDump</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-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocument">xmlDebugDumpDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpEntities">xmlDebugDumpEntities</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNode">xmlDebugDumpNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a><br />
-</dd><dt>Duplicate</dt><dd><a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-list.html#xmlListDup">xmlListDup</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-</dd></dl><h2>Letter E:</h2><dl><dt>ELEMENT</dt><dd><a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
-</dd><dt>EMPTY</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-</dd><dt>ENTITIES</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>ENTITY</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>ENTITY_REF</dt><dd><a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
-</dd><dt>ENTITY_REFs</dt><dd><a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</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-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
-<a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-</dd><dt>EOF</dt><dd><a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
-</dd><dt>ETag</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-parserInternals.html#xmlParseEndTag">xmlParseEndTag</a><br />
-</dd><dt>EXSLT</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<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>Element</dt><dd><a href="html/libxml-tree.html#_xmlAttribute">_xmlAttribute</a><br />
-<a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
-<a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</dd><dt>ElementTable</dt><dd><a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
-</dd><dt>Empties</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a><br />
-</dd><dt>EmptyElemTag</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-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-</dd><dt>EmptyElement</dt><dd><a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-</dd><dt>EncName</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEncName">xmlParseEncName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a><br />
-</dd><dt>Encapsulating</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-</dd><dt>EnclosedAlphanumerics</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsEnclosedAlphanumerics">xmlUCSIsEnclosedAlphanumerics</a><br />
-</dd><dt>EnclosedCJKLettersandMonths</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsEnclosedCJKLettersandMonths">xmlUCSIsEnclosedCJKLettersandMonths</a><br />
-</dd><dt>Encoding</dt><dd><a href="html/libxml-HTMLtree.html#htmlGetMetaEncoding">htmlGetMetaEncoding</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-</dd><dt>EncodingDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
-</dd><dt>EncodingDecl?</dt><dd><a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a><br />
-</dd><dt>End</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndAttribute">xmlTextWriterEndAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndComment">xmlTextWriterEndComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTD">xmlTextWriterEndDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDAttlist">xmlTextWriterEndDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDElement">xmlTextWriterEndDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDEntity">xmlTextWriterEndDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndPI">xmlTextWriterEndPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a><br />
-</dd><dt>End-of-Line</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-</dd><dt>Ensures</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-</dd><dt>Entities</dt><dd><a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-</dd><dt>EntitiesTable</dt><dd><a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
-</dd><dt>Entity</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</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-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</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#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-</dd><dt>EntityDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>EntityDef</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-</dd><dt>EntityRef</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-</dd><dt>EntityReference</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br />
-</dd><dt>EntityValue</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
-</dd><dt>Enumerated</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br />
-</dd><dt>EnumeratedType</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br />
-</dd><dt>Enumeration</dt><dd><a href="html/libxml-tree.html#_xmlEnumeration">_xmlEnumeration</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-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-</dd><dt>Equal</dt><dd><a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
-</dd><dt>Escaping</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>Ethiopic</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsEthiopic">xmlUCSIsEthiopic</a><br />
-</dd><dt>Evaluate</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#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
-</dd><dt>Evaluates</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
-</dd><dt>Everything</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
-<a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
-</dd><dt>Examines</dt><dd><a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-</dd><dt>Exclusive</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-</dd><dt>Existing</dt><dd><a href="html/libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-</dd><dt>Exp</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
-</dd><dt>Experimental</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</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 />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseName">xmlParseName</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseName">xmlXPathParseName</a><br />
-</dd><dt>External</dt><dd><a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolve">xmlACatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolve">xmlCatalogResolve</a><br />
-<a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parser.html#xmlParseDTD">xmlParseDTD</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
-</dd><dt>ExternalID</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-</dd><dt>Extract</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-</dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
-<a href="APIchunk1.html">C-C</a>
-<a href="APIchunk2.html">D-E</a>
-<a href="APIchunk3.html">F-I</a>
-<a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk20.html b/doc/APIchunk20.html
deleted file mode 100644
index 36e3de3..0000000
--- a/doc/APIchunk20.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index n-n for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index n-n for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
-<a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>namespace-binding</dt><dd><a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br />
-</dd><dt>namespace-uri</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a><br />
-</dd><dt>namespace:</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-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-xpath.html#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a><br />
-<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 />
-<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-tree.html#xmlCopyNode">xmlCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlFreeNsList">xmlFreeNsList</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>naming</dt><dd><a href="html/libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a><br />
-<a href="html/libxml-tree.html#xmlRootNode">xmlRootNode</a><br />
-</dd><dt>nbBytes</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-</dd><dt>nbval</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-</dd><dt>ncname</dt><dd><a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-</dd><dt>ndata</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-</dd><dt>nearest</dt><dd><a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-</dd><dt>nearly</dt><dd><a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
-</dd><dt>necessary</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
-<a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a><br />
-</dd><dt>needed</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</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-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-<a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>needing</dt><dd><a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>needle</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcasestr">xmlStrcasestr</a><br />
-<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-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</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 />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</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-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a><br />
-<a href="html/libxml-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>neither</dt><dd><a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadInnerXml">xmlTextReaderReadInnerXml</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-</dd><dt>nested</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>network</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFile">htmlReadFile</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-<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 />
-<a href="html/libxml-xmlregexp.html#xmlExpIsNillable">xmlExpIsNillable</a><br />
-</dd><dt>no-op</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</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-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>node-set?</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a><br />
-</dd><dt>nodeInfos</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>nodelist</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-</dd><dt>nodes1</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-</dd><dt>nodes2</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-</dd><dt>nodeset</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
-</dd><dt>nodesets</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
-</dd><dt>non</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocalName">xmlTextReaderLocalName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderName">xmlTextReaderName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNamespaceUri">xmlTextReaderNamespaceUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPrefix">xmlTextReaderPrefix</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-</dd><dt>non-CDATA</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>non-NULL</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
-</dd><dt>non-UTF-8</dt><dd><a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-</dd><dt>non-blank</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-</dd><dt>non-determinist</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-</dd><dt>non-empty</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-</dd><dt>non-final</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegExecPushString">xmlRegExecPushString</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a><br />
-</dd><dt>non-negative</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
-</dd><dt>non-normative</dt><dd><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-</dd><dt>non-null</dt><dd><a href="html/libxml-debugXML.html#xmlShellPrintNode">xmlShellPrintNode</a><br />
-</dd><dt>non-recursive</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>non-stateless</dt><dd><a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd><dt>non-validating</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-</dd><dt>non-zero</dt><dd><a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-<a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-<a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-</dd><dt>none</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
-<a href="html/libxml-SAX.html#getNamespace">getNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-tree.html#xmlGetLastChild">xmlGetLastChild</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-</dd><dt>nor</dt><dd><a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</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#xmlTextReaderReadInnerXml">xmlTextReaderReadInnerXml</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-</dd><dt>normal</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-</dd><dt>normalization</dt><dd><a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-</dd><dt>normalization:</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-</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-schemasInternals.html#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-</dd><dt>normalizing</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-</dd><dt>normally</dt><dd><a href="html/libxml-tree.html#_xmlNs">_xmlNs</a><br />
-<a href="">c</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>notations</dt><dd><a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>note</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-</dd><dt>notice</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>now</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a><br />
-<a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-<a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-</dd><dt>ns-binding</dt><dd><a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br />
-</dd><dt>ns-decls</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-</dd><dt>ns-references</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</dd><dt>nsDef</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</dd><dt>null</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-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-</dd><dt>null-terminated</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-</dd><dt>number:</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_VERSION">LIBXML_VERSION</a><br />
-</dd><dt>number?</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>numbers</dt><dd><a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Size">xmlUTF8Size</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
-</dd><dt>numeric</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk21.html b/doc/APIchunk21.html
deleted file mode 100644
index 341ca96..0000000
--- a/doc/APIchunk21.html
+++ /dev/null
@@ -1,397 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index o-o for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index o-o for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
-</dd><dt>objects:</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-</dd><dt>obligated</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-</dd><dt>obsolete</dt><dd><a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-</dd><dt>obsolete:</dt><dd><a href="html/libxml-schemasInternals.html#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 />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-</dd><dt>occur</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>occurred</dt><dd><a href="html/libxml-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a><br />
-<a href="html/libxml-dict.html#xmlDictCreate">xmlDictCreate</a><br />
-<a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br />
-<a href="html/libxml-xmlerror.html#xmlGetLastError">xmlGetLastError</a><br />
-<a href="html/libxml-hash.html#xmlHashCreate">xmlHashCreate</a><br />
-<a href="html/libxml-hash.html#xmlHashCreateDict">xmlHashCreateDict</a><br />
-<a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
-<a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</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-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</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 />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
-</dd><dt>occurrences</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>occurs</dt><dd><a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
-</dd><dt>octets</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<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-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-</dd><dt>of:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-</dd><dt>off</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-<a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-</dd><dt>okay</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>old</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-SAX.html#globalNamespace">globalNamespace</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</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-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 />
-<a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertNumber">xmlXPathConvertNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertString">xmlXPathConvertString</a><br />
-</dd><dt>oldNs</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</dd><dt>older</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-</dd><dt>omitted</dt><dd><a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-</dd><dt>once</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
-<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-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-</dd><dt>ones</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
-<a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br />
-<a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br />
-</dd><dt>onto</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-</dd><dt>opaque</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-</dd><dt>open</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReadFd">htmlCtxtReadFd</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDump">htmlDocDump</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFd">htmlReadFd</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
-<a href="html/libxml-tree.html#xmlDocDump">xmlDocDump</a><br />
-<a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPOpen">xmlIOFTPOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpen">xmlIOHTTPOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnect">xmlNanoFTPConnect</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</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-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a><br />
-<a href="html/libxml-parser.html#xmlReadFd">xmlReadFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a><br />
-</dd><dt>opening</dt><dd><a href="html/libxml-SAX.html#startElement">startElement</a><br />
-<a href="html/libxml-parser.html#startElementSAXFunc">startElementSAXFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</a><br />
-</dd><dt>operands</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
-</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-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</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 />
-<a href="html/libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertNumber">xmlXPathConvertNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertString">xmlXPathConvertString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
-</dd><dt>operations</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleClose">xmlModuleClose</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleFree">xmlModuleFree</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>operator</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-</dd><dt>operators</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
-</dd><dt>opposite</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-</dd><dt>optimized</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
-</dd><dt>option</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</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-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</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 />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateFile">xmlSchemaValidateFile</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetup">xmlTextReaderSetup</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>ordered</dt><dd><a href="html/libxml-list.html#xmlListAppend">xmlListAppend</a><br />
-<a href="html/libxml-list.html#xmlListInsert">xmlListInsert</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-</dd><dt>ordering</dt><dd><a href="html/libxml-list.html#xmlListDataCompare">xmlListDataCompare</a><br />
-</dd><dt>org</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-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-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</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-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-</dd><dt>oriented</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>origin</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>original</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlCopyError">xmlCopyError</a><br />
-<a href="html/libxml-encoding.html#xmlGetEncodingAlias">xmlGetEncodingAlias</a><br />
-<a href="html/libxml-list.html#xmlListMerge">xmlListMerge</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
-<a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a><br />
-<a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-<a href="html/libxml-xpath.html#xmlXPathObjectCopy">xmlXPathObjectCopy</a><br />
-</dd><dt>other</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-</dd><dt>our</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>out</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<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-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
-<a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</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#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-</dd><dt>out-of</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-</dd><dt>output?</dt><dd><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>outside</dt><dd><a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>over</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a><br />
-</dd><dt>overflow</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-</dd><dt>override</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-<a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-</dd><dt>overriding</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-</dd><dt>overwrite</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-</dd><dt>overwritten</dt><dd><a href="html/libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a><br />
-</dd><dt>own</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlCleanupMemory">xmlCleanupMemory</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-</dd><dt>owned</dt><dd><a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
-<a href="html/libxml-dict.html#xmlDictOwns">xmlDictOwns</a><br />
-</dd><dt>owner</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</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-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a><br />
-<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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk22.html b/doc/APIchunk22.html
deleted file mode 100644
index 11f8c6a..0000000
--- a/doc/APIchunk22.html
+++ /dev/null
@@ -1,596 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index p-p for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index p-p for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-</dd><dt>param</dt><dd><a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-</dd><dt>parameter-entity</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>parameters</dt><dd><a href="html/libxml-xmlversion.html#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a><br />
-<a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br />
-<a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
-<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalFunc">xmlXPathEvalFunc</a><br />
-</dd><dt>parent-</dt><dd><a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-</dd><dt>parentheses</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-</dd><dt>parenthesis</dt><dd><a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br />
-<a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
-</dd><dt>parenthesized</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-</dd><dt>parents</dt><dd><a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
-</dd><dt>partial</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a><br />
-</dd><dt>particular</dt><dd><a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
-</dd><dt>pass</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
-</dd><dt>passed</dt><dd><a href="html/libxml-xpathInternals.html#CHECK_ARITY">CHECK_ARITY</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-<a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
-<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-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
-<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</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-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalFunc">xmlXPathEvalFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-</dd><dt>passive</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
-</dd><dt>password</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-</dd><dt>past</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>paste</dt><dd><a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>path</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-<a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
-<a href="html/libxml-tree.html#xmlGetNodePath">xmlGetNodePath</a><br />
-<a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
-<a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserGetDirectory">xmlParserGetDirectory</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-</dd><dt>pathological</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-</dd><dt>pattern</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a><br />
-<a href="html/libxml-pattern.html#xmlPatternFromRoot">xmlPatternFromRoot</a><br />
-<a href="html/libxml-pattern.html#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMaxDepth">xmlPatternMaxDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMinDepth">xmlPatternMinDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternStreamable">xmlPatternStreamable</a><br />
-<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
-</dd><dt>patterns</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
-</dd><dt>pcdata</dt><dd><a href="html/libxml-SAX.html#cdataBlock">cdataBlock</a><br />
-<a href="html/libxml-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a><br />
-</dd><dt>pedantic</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
-</dd><dt>per</dt><dd><a href="html/libxml-xmlerror.html#xmlGetLastError">xmlGetLastError</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>per-thread</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a><br />
-</dd><dt>performance</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-</dd><dt>performed</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</dd><dt>permanently</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>pertain</dt><dd><a href="html/libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a><br />
-</dd><dt>pertains</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-</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 />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
-</dd><dt>pieces</dt><dd><a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-</dd><dt>place</dt><dd><a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-xmlerror.html#xmlCopyError">xmlCopyError</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
-<a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-</dd><dt>places</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
-</dd><dt>platforms</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-</dd><dt>plug</dt><dd><a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
-</dd><dt>plugin</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>plugins</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>plus</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
-</dd><dt>pnetlib-doc</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-</dd><dt>pointed</dt><dd><a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
-</dd><dt>pointers</dt><dd><a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>points</dt><dd><a href="html/libxml-chvalid.html#_xmlChRangeGroup">_xmlChRangeGroup</a><br />
-</dd><dt>pop</dt><dd><a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
-</dd><dt>popped</dt><dd><a href="html/libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a><br />
-</dd><dt>pops</dt><dd><a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
-</dd><dt>port</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-</dd><dt>portability</dt><dd><a href="html/libxml-nanoftp.html#INVALID_SOCKET">INVALID_SOCKET</a><br />
-<a href="html/libxml-nanoftp.html#SOCKET">SOCKET</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-</dd><dt>pos</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-</dd><dt>position:</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>positioned</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
-</dd><dt>positions</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-</dd><dt>possible</dt><dd><a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>possibly</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-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToFilename">xmlSaveToFilename</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>posteriori</dt><dd><a href="html/libxml-tree.html#xmlSetNs">xmlSetNs</a><br />
-</dd><dt>potential</dt><dd><a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
-<a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
-</dd><dt>potentially</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-</dd><dt>practice</dt><dd><a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a><br />
-</dd><dt>pre-interned</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>preallocated</dt><dd><a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-</dd><dt>precede</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-</dd><dt>preceded</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>precedes</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
-</dd><dt>preceding</dt><dd><a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-</dd><dt>preceding-sibling</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-</dd><dt>precisely</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>precompiled</dt><dd><a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-pattern.html#xmlPatternFromRoot">xmlPatternFromRoot</a><br />
-<a href="html/libxml-pattern.html#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMaxDepth">xmlPatternMaxDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMinDepth">xmlPatternMinDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternStreamable">xmlPatternStreamable</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a><br />
-</dd><dt>precomputed</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-</dd><dt>predefined</dt><dd><a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
-<a href="html/libxml-entities.html#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
-<a href="html/libxml-entities.html#xmlGetDocEntity">xmlGetDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetPredefinedEntity">xmlGetPredefinedEntity</a><br />
-<a href="html/libxml-entities.html#xmlInitializePredefinedEntities">xmlInitializePredefinedEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
-</dd><dt>predicate</dt><dd><a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
-</dd><dt>preferably</dt><dd><a href="html/libxml-catalog.html#xmlInitializeCatalog">xmlInitializeCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
-</dd><dt>preference</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
-</dd><dt>prefixes</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 />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-</dd><dt>preparing</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-</dd><dt>preparsed</dt><dd><a href="html/libxml-xmlreader.html#xmlReaderNewWalker">xmlReaderNewWalker</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderWalker">xmlReaderWalker</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a><br />
-</dd><dt>prepend</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>present</dt><dd><a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-dict.html#xmlDictLookup">xmlDictLookup</a><br />
-<a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-</dd><dt>preserve</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a><br />
-<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 />
-<a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</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 />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-</dd><dt>preserving</dt><dd><a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
-</dd><dt>prev</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>prevent</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>previous</dt><dd><a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
-<a href="html/libxml-tree.html#_xmlAttribute">_xmlAttribute</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-<a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
-<a href="html/libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a><br />
-<a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-globals.html#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a><br />
-<a href="html/libxml-dict.html#xmlDictSetLimit">xmlDictSetLimit</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-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-<a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
-<a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-</dd><dt>primitive</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a><br />
-</dd><dt>print</dt><dd><a href="html/libxml-debugXML.html#xmlShellPrintNode">xmlShellPrintNode</a><br />
-<a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br />
-<a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
-</dd><dt>printed</dt><dd><a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlElemDump">xmlElemDump</a><br />
-<a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
-</dd><dt>prior</dt><dd><a href="html/libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a><br />
-</dd><dt>private</dt><dd><a href="html/libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
-</dd><dt>privateuse</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>problem</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-<a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
-</dd><dt>problems</dt><dd><a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
-<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-</dd><dt>procedure</dt><dd><a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
-</dd><dt>process</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-xmlreader.html#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-</dd><dt>processed</dt><dd><a href="html/libxml-SAX.html#startDocument">startDocument</a><br />
-<a href="html/libxml-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a><br />
-<a href="html/libxml-SAX.html#startElement">startElement</a><br />
-<a href="html/libxml-parser.html#startElementSAXFunc">startElementSAXFunc</a><br />
-<a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartDocument">xmlSAX2StartDocument</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-</dd><dt>processing-instruction</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIsNodeType">xmlXPathIsNodeType</a><br />
-</dd><dt>processing-instruction-node</dt><dd><a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-</dd><dt>processing-instruction-nodes</dt><dd><a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-</dd><dt>processor</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-</dd><dt>produce</dt><dd><a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
-<a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-</dd><dt>produced</dt><dd><a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<a href="html/libxml-encoding.html#isolat1ToUTF8">isolat1ToUTF8</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-</dd><dt>producing</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-</dd><dt>production:</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>productions</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>program</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</dd><dt>programs</dt><dd><a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
-</dd><dt>progressed</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>progresses</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-</dd><dt>progressive</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</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-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</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-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 />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-</dd><dt>prohibited</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
-</dd><dt>prolog</dt><dd><a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
-</dd><dt>prompt</dt><dd><a href="html/libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a><br />
-</dd><dt>proper</dt><dd><a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-</dd><dt>properly</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>properties</dt><dd><a href="html/libxml-tree.html#_xmlNode">_xmlNode</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-tree.html#xmlCopyNode">xmlCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-</dd><dt>property</dt><dd><a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
-<a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-tree.html#xmlAddChild">xmlAddChild</a><br />
-<a href="html/libxml-tree.html#xmlFreePropList">xmlFreePropList</a><br />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewProp">xmlNewProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
-</dd><dt>protocol</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-</dd><dt>prototype</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-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
-<a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-</dd><dt>provenance</dt><dd><a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
-</dd><dt>provide</dt><dd><a href="html/libxml-nanoftp.html#INVALID_SOCKET">INVALID_SOCKET</a><br />
-<a href="html/libxml-nanoftp.html#SOCKET">SOCKET</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</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#xmlDocFormatDump">xmlDocFormatDump</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</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-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
-</dd><dt>provides</dt><dd><a href="html/libxml-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a><br />
-<a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-</dd><dt>providing</dt><dd><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
-</dd><dt>provoked</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-</dd><dt>proximity</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>proxy</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-</dd><dt>prune</dt><dd><a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-</dd><dt>pthread_t</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-</dd><dt>pthreads</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-</dd><dt>publicID</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-</dd><dt>pull</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-</dd><dt>pure</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
-</dd><dt>purposes</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
-</dd><dt>push</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</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-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCtxtResetPush">xmlCtxtResetPush</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPop">xmlStreamPop</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvalExpr">xmlXPathEvalExpr</a><br />
-</dd><dt>pushed</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a><br />
-</dd><dt>pushing</dt><dd><a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-</dd><dt>put</dt><dd><a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-</dd><dt>putative</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-</dd><dt>pwd</dt><dd><a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk23.html b/doc/APIchunk23.html
deleted file mode 100644
index 88e9895..0000000
--- a/doc/APIchunk23.html
+++ /dev/null
@@ -1,671 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index q-r for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index q-r for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
-<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderName">xmlTextReaderName</a><br />
-<a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-</dd><dt>query</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-</dd><dt>quot</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-</dd><dt>quotation</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a><br />
-</dd><dt>quote</dt><dd><a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a><br />
-</dd><dt>quoted</dt><dd><a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-</dd><dt>quotes</dt><dd><a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-</dd><dt>quoting</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a><br />
-</dd></dl><h2>Letter r:</h2><dl><dt>raise</dt><dd><a href="html/libxml-xpathInternals.html#XP_ERROR">XP_ERROR</a><br />
-<a href="html/libxml-xpathInternals.html#XP_ERROR0">XP_ERROR0</a><br />
-</dd><dt>raised</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a><br />
-</dd><dt>range</dt><dd><a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
-<a href="html/libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</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 />
-</dd><dt>range-to</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
-</dd><dt>ranges</dt><dd><a href="html/libxml-chvalid.html#_xmlChRangeGroup">_xmlChRangeGroup</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-</dd><dt>rangesets</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-</dd><dt>rather</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
-</dd><dt>ratio</dt><dd><a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
-</dd><dt>ration</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-</dd><dt>raw</dt><dd><a href="html/libxml-xmlIO.html#_xmlParserInputBuffer">_xmlParserInputBuffer</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 />
-<a href="html/libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a><br />
-</dd><dt>re-entrant</dt><dd><a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
-<a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-<a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
-</dd><dt>reachable</dt><dd><a href="html/libxml-pattern.html#xmlPatternMaxDepth">xmlPatternMaxDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMinDepth">xmlPatternMinDepth</a><br />
-</dd><dt>reached</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegExecPushString">xmlRegExecPushString</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a><br />
-</dd><dt>read-only</dt><dd><a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br />
-</dd><dt>readable</dt><dd><a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-</dd><dt>reader-</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>reading</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-</dd><dt>ready</dt><dd><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
-</dd><dt>real</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
-</dd><dt>realloc</dt><dd><a href="html/libxml-tree.html#_xmlBuffer">_xmlBuffer</a><br />
-<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 />
-</dd><dt>reallocated</dt><dd><a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
-</dd><dt>really</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-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 />
-<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-</dd><dt>reasonable</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-</dd><dt>receive</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpDump">xmlExpDump</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 />
-</dd><dt>receiving</dt><dd><a href="html/libxml-SAX.html#characters">characters</a><br />
-<a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>reclaim</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
-<a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
-</dd><dt>recognized</dt><dd><a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-</dd><dt>recommendation</dt><dd><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-</dd><dt>recommendation:</dt><dd><a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</dd><dt>recomputed</dt><dd><a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
-<a href="html/libxml-dict.html#xmlDictExists">xmlDictExists</a><br />
-<a href="html/libxml-dict.html#xmlDictLookup">xmlDictLookup</a><br />
-</dd><dt>reconciliate</dt><dd><a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>record</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-</dd><dt>recorded</dt><dd><a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br />
-</dd><dt>recover</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-</dd><dt>recovery</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</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>recurse</dt><dd><a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</dd><dt>recursive</dt><dd><a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
-<a href="html/libxml-tree.html#xmlCopyNode">xmlCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocument">xmlDebugDumpDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNode">xmlDebugDumpNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlElemDump">xmlElemDump</a><br />
-<a href="html/libxml-valid.html#xmlFreeEnumeration">xmlFreeEnumeration</a><br />
-<a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
-<a href="html/libxml-tree.html#xmlFreeNodeList">xmlFreeNodeList</a><br />
-<a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</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-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-</dd><dt>recursively</dt><dd><a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>redeclared</dt><dd><a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>redefined</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a><br />
-</dd><dt>redefinition</dt><dd><a href="html/libxml-parserInternals.html#xmlErrMemory">xmlErrMemory</a><br />
-</dd><dt>redir</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a><br />
-</dd><dt>redirected</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />
-</dd><dt>redirection</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />
-</dd><dt>reentrant</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
-<a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
-<a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
-<a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-<a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-</dd><dt>ref</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-<a href="html/libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a><br />
-<a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
-</dd><dt>referenced</dt><dd><a href="html/libxml-list.html#xmlLinkGetData">xmlLinkGetData</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>referencing</dt><dd><a href="html/libxml-entities.html#xmlGetDocEntity">xmlGetDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetDtdEntity">xmlGetDtdEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a><br />
-</dd><dt>referred</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
-</dd><dt>refs</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>refuse</dt><dd><a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-</dd><dt>regex</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
-</dd><dt>regexp</dt><dd><a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</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-xmlregexp.html#xmlRegFreeRegexp">xmlRegFreeRegexp</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a><br />
-</dd><dt>regexps</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-</dd><dt>region</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>register</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a><br />
-</dd><dt>registered</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a><br />
-<a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</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-xmlerror.html#xmlGetLastError">xmlGetLastError</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-<a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a><br />
-</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 />
-<a href="html/libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</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#xmlRegExecCallbacks">xmlRegExecCallbacks</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
-</dd><dt>reinitialize</dt><dd><a href="html/libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a><br />
-<a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
-</dd><dt>related</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a><br />
-<a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-threads.html#xmlInitThreads">xmlInitThreads</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
-<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-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</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 />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-</dd><dt>relative-ref</dt><dd><a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-<a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
-</dd><dt>relativeURI</dt><dd><a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-</dd><dt>release</dt><dd><a href="html/libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a><br />
-<a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
-</dd><dt>releases</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
-</dd><dt>reliable</dt><dd><a href="html/libxml-xmlsave.html#xmlSaveToFilename">xmlSaveToFilename</a><br />
-</dd><dt>rely</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-</dd><dt>remainder</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>remaining</dt><dd><a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>remapped</dt><dd><a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-</dd><dt>remote</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-</dd><dt>removal</dt><dd><a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-</dd><dt>remove</dt><dd><a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
-<a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a><br />
-</dd><dt>removed</dt><dd><a href="html/libxml-parserInternals.html#inputPop">inputPop</a><br />
-<a href="html/libxml-parserInternals.html#namePop">namePop</a><br />
-<a href="html/libxml-parserInternals.html#nodePop">nodePop</a><br />
-<a href="html/libxml-xpathInternals.html#valuePop">valuePop</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
-<a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>removes</dt><dd><a href="html/libxml-parserInternals.html#xmlParserInputShrink">xmlParserInputShrink</a><br />
-</dd><dt>removing</dt><dd><a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-</dd><dt>rename</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-</dd><dt>repeat</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-</dd><dt>repeated</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-</dd><dt>repetition</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-</dd><dt>replace</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</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-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>replaced</dt><dd><a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>replacement</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>replaces</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-</dd><dt>replacing</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-</dd><dt>reporting</dt><dd><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a><br />
-<a href="html/libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
-</dd><dt>reports</dt><dd><a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</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#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</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 />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-</dd><dt>representations</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>represented</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>represented:</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>representing</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
-</dd><dt>request</dt><dd><a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a><br />
-</dd><dt>requested</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-<a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-<a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
-<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
-</dd><dt>requests</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
-</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-c14n.html#xmlC14NDocSave">xmlC14NDocSave</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-xmlschemastypes.html#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>requires</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</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-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-</dd><dt>reserved</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-</dd><dt>reset</dt><dd><a href="html/libxml-HTMLparser.html#htmlReadFd">htmlReadFd</a><br />
-<a href="html/libxml-xmlerror.html#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a><br />
-<a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetBase">xmlNodeSetBase</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetName">xmlNodeSetName</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
-<a href="html/libxml-parser.html#xmlReadFd">xmlReadFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-tree.html#xmlSetNsProp">xmlSetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-</dd><dt>resides</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-</dd><dt>resize</dt><dd><a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
-</dd><dt>resolution</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-catalog.html#xmlACatalogResolve">xmlACatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveURI">xmlACatalogResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolve">xmlCatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolveURI">xmlCatalogResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-</dd><dt>resolveEntity</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-</dd><dt>resolved</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-</dd><dt>resolver</dt><dd><a href="html/libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
-</dd><dt>resources</dt><dd><a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
-<a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
-<a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
-<a href="html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a><br />
-<a href="html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferClose">xmlOutputBufferClose</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronFreeParserCtxt">xmlSchematronFreeParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronFreeValidCtxt">xmlSchematronFreeValidCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a><br />
-</dd><dt>resp</dt><dd><a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
-</dd><dt>respect</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br />
-</dd><dt>respecting</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>response</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
-</dd><dt>responsibility</dt><dd><a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-</dd><dt>responsible</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
-<a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-</dd><dt>restored</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</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-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</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_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_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>retValue</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>retrieve</dt><dd><a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
-</dd><dt>retrieved</dt><dd><a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-</dd><dt>retry</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>returning</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>reusal</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>reuse</dt><dd><a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString">xmlRegExecPushString</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a><br />
-</dd><dt>reused</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>reuses</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFd">htmlCtxtReadFd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadMemory">htmlCtxtReadMemory</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</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 />
-</dd><dt>reusing</dt><dd><a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
-</dd><dt>reverse</dt><dd><a href="html/libxml-list.html#xmlListReverseSearch">xmlListReverseSearch</a><br />
-<a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-</dd><dt>rewrite</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>rfc</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>rfc-editor</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>rfc5646</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>right</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-<a href="html/libxml-tree.html#xmlSetListDoc">xmlSetListDoc</a><br />
-<a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a><br />
-</dd><dt>role</dt><dd><a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-</dd><dt>roles</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-</dd><dt>rollback</dt><dd><a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-</dd><dt>root</dt><dd><a href="html/libxml-SAX.html#externalSubset">externalSubset</a><br />
-<a href="html/libxml-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a><br />
-<a href="html/libxml-SAX.html#internalSubset">internalSubset</a><br />
-<a href="html/libxml-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a><br />
-<a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-pattern.html#xmlPatternFromRoot">xmlPatternFromRoot</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoot">xmlXPathRoot</a><br />
-</dd><dt>round</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
-</dd><dt>routines</dt><dd><a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</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 />
-<a href="html/libxml-parser.html#xmlSAXUserParseFile">xmlSAXUserParseFile</a><br />
-<a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
-</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-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</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_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 />
-</dd><dt>running</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>runtime</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk24.html b/doc/APIchunk24.html
deleted file mode 100644
index c96e519..0000000
--- a/doc/APIchunk24.html
+++ /dev/null
@@ -1,999 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index s-s for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index s-s for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.html">y-z</a>
-</h2><h2>Letter s:</h2><dl><dt>s390</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-</dd><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 />
-<a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-</dd><dt>safety</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-</dd><dt>same</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-parserInternals.html#IS_BLANK_CH">IS_BLANK_CH</a><br />
-<a href="html/libxml-SAX.html#checkNamespace">checkNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCmpNodes">xmlXPathCmpNodes</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathSetContextNode">xmlXPathSetContextNode</a><br />
-</dd><dt>save</dt><dd><a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
-<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-<a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
-</dd><dt>saved</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</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#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-</dd><dt>saves</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
-<a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
-</dd><dt>saving</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</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-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveClose">xmlSaveClose</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<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 />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-</dd><dt>sax</dt><dd><a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</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#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</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>say</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>says</dt><dd><a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-</dd><dt>scan</dt><dd><a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-</dd><dt>scanner</dt><dd><a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
-<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-hash.html#xmlHashScanner">xmlHashScanner</a><br />
-<a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br />
-</dd><dt>scanning</dt><dd><a href="html/libxml-hash.html#xmlHashScanner">xmlHashScanner</a><br />
-<a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br />
-</dd><dt>schemas</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetValType">xmlSchemaGetValType</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateFile">xmlSchemaValidateFile</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-</dd><dt>schematron</dt><dd><a href="html/libxml-schematron.html#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a><br />
-</dd><dt>scheme</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-<a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-</dd><dt>schemes</dt><dd><a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-</dd><dt>scope</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlSetNsProp">xmlSetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-</dd><dt>scoping</dt><dd><a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-</dd><dt>script</dt><dd><a href="html/libxml-HTMLparser.html#htmlIsScriptAttribute">htmlIsScriptAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>search</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathAxis">_xmlXPathAxis</a><br />
-<a href="html/libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
-<a href="html/libxml-list.html#xmlListReverseSearch">xmlListReverseSearch</a><br />
-<a href="html/libxml-list.html#xmlListSearch">xmlListSearch</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<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 />
-</dd><dt>searched</dt><dd><a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br />
-</dd><dt>section</dt><dd><a href="html/libxml-HTMLtree.html#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a><br />
-<a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a><br />
-</dd><dt>sections</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-</dd><dt>seems</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-</dd><dt>selected</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>selection</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a><br />
-</dd><dt>selects</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>self</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
-</dd><dt>semantic</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
-</dd><dt>semantics</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>sense</dt><dd><a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-</dd><dt>separated</dt><dd><a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-</dd><dt>separately</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-</dd><dt>seq</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-</dd><dt>sequence</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-<a href="html/libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpIsNillable">xmlExpIsNillable</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>sequences</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</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 />
-<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 />
-<a href="html/libxml-debugXML.html#xmlShellCat">xmlShellCat</a><br />
-<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>serialized</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</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 />
-<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 />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPQuit">xmlNanoFTPQuit</a><br />
-</dd><dt>set:difference</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-</dd><dt>set:distinct</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-</dd><dt>set:has-same-node</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
-</dd><dt>set:intersection</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-</dd><dt>set:leading</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-</dd><dt>set:trailing</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<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>sets</dt><dd><a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-</dd><dt>setting</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>setups</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a><br />
-</dd><dt>severity</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a><br />
-</dd><dt>sgmlsource</dt><dd><a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-</dd><dt>shadowed</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-</dd><dt>shall</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>shared</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleFree">xmlModuleFree</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-</dd><dt>shares</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
-</dd><dt>shell</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-<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 />
-<a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-<a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br />
-<a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a><br />
-<a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
-<a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
-<a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
-</dd><dt>shorten</dt><dd><a href="html/libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a><br />
-</dd><dt>shortest</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>shorthand</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPrefix">xmlTextReaderPrefix</a><br />
-</dd><dt>show</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-</dd><dt>shown</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-</dd><dt>sibling</dt><dd><a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
-<a href="html/libxml-tree.html#_xmlAttribute">_xmlAttribute</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-tree.html#_xmlNode">_xmlNode</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#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueAppend">xmlSchemaValueAppend</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-</dd><dt>siblings</dt><dd><a href="html/libxml-tree.html#xmlAddSibling">xmlAddSibling</a><br />
-<a href="html/libxml-tree.html#xmlFreeNodeList">xmlFreeNodeList</a><br />
-<a href="html/libxml-tree.html#xmlFreePropList">xmlFreePropList</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-</dd><dt>sign</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>signal</dt><dd><a href="html/libxml-xmlversion.html#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>signature</dt><dd><a href="html/libxml-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />
-<a href="html/libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a><br />
-</dd><dt>signs</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>similar</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-</dd><dt>simple</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</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 />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
-<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#xmlSchemaNewStringValue">xmlSchemaNewStringValue</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_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</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_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-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
-<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-<a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</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#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a><br />
-</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>singleton</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</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>size_t</dt><dd><a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</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 />
-</dd><dt>skipped</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
-</dd><dt>slot</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>slots</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>small</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-</dd><dt>smaller</dt><dd><a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-</dd><dt>smallest</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
-</dd><dt>socket</dt><dd><a href="html/libxml-nanoftp.html#INVALID_SOCKET">INVALID_SOCKET</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
-</dd><dt>sockets</dt><dd><a href="html/libxml-nanoftp.html#INVALID_SOCKET">INVALID_SOCKET</a><br />
-<a href="html/libxml-nanoftp.html#SOCKET">SOCKET</a><br />
-</dd><dt>software</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-</dd><dt>solution</dt><dd><a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-</dd><dt>some</dt><dd><a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
-<a href="html/libxml-SAX.html#characters">characters</a><br />
-<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-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-<a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</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#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</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 />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-</dd><dt>somehow</dt><dd><a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-</dd><dt>sometimes</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-</dd><dt>somewhat</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-</dd><dt>sorted</dt><dd><a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<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>sounds</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>source</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLtree.html#htmlGetMetaEncoding">htmlGetMetaEncoding</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
-<a href="html/libxml-xmlerror.html#xmlCopyError">xmlCopyError</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
-<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-parser.html#xmlReadIO">xmlReadIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
-</dd><dt>sourceDoc</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-</dd><dt>spaces</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileEnc">htmlSaveFileEnc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileFormat">htmlSaveFileFormat</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#xmlDocFormatDump">xmlDocFormatDump</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-<a href="html/libxml-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 />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-</dd><dt>span</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a><br />
-</dd><dt>spec</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-</dd><dt>spec:</dt><dd><a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_BLANK">IS_BLANK</a><br />
-<a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</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 />
-<a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-<a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-<a href="html/libxml-parserInternals.html#IS_LETTER">IS_LETTER</a><br />
-<a href="html/libxml-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a><br />
-</dd><dt>special</dt><dd><a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
-<a href="html/libxml-tree.html#XML_XML_ID">XML_XML_ID</a><br />
-<a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</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 />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</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#xmlNodeSetContent">xmlNodeSetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
-</dd><dt>specialized</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-</dd><dt>specific</dt><dd><a href="html/libxml-catalog.html#XML_CATALOG_PI">XML_CATALOG_PI</a><br />
-<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#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
-</dd><dt>specification</dt><dd><a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
-<a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</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-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
-</dd><dt>specifying</dt><dd><a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#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 />
-</dd><dt>split</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>stacked</dt><dd><a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-</dd><dt>stage</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a><br />
-</dd><dt>stamps</dt><dd><a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>standalone</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-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-SAX.html#isStandalone">isStandalone</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
-</dd><dt>standalone=</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</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 />
-</dd><dt>standalone?</dt><dd><a href="html/libxml-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a><br />
-</dd><dt>standard</dt><dd><a href="html/libxml-DOCBparser.html#docbParseDocument">docbParseDocument</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDocument">htmlParseDocument</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>start</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</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-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartDocument">xmlSAX2StartDocument</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRange">xmlXPtrNewRange</a><br />
-</dd><dt>start-tag</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-</dd><dt>started</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
-</dd><dt>starting</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a><br />
-<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 />
-</dd><dt>starts</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a><br />
-</dd><dt>starts-with</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a><br />
-</dd><dt>startup</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-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#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
-</dd><dt>stashed</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
-</dd><dt>stat</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
-</dd><dt>stateful</dt><dd><a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-</dd><dt>states</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-</dd><dt>static</dt><dd><a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>status</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
-</dd><dt>stderr</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-</dd><dt>stdin</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-</dd><dt>stdout</dt><dd><a href="html/libxml-HTMLtree.html#htmlSaveFile">htmlSaveFile</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-tree.html#xmlSaveFile">xmlSaveFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-</dd><dt>step</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
-</dd><dt>steps</dt><dd><a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-</dd><dt>still</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleFree">xmlModuleFree</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-</dd><dt>stop</dt><dd><a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-</dd><dt>stops</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>storage</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-</dd><dt>store</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-<a href="html/libxml-encoding.html#isolat1ToUTF8">isolat1ToUTF8</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#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-parser.html#xmlGetFeature">xmlGetFeature</a><br />
-<a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</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 />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
-<a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>stored</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</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-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>stores</dt><dd><a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-</dd><dt>str</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-</dd><dt>strcasecmp</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcasecmp">xmlStrcasecmp</a><br />
-</dd><dt>strcat</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-</dd><dt>strchr</dt><dd><a href="html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a><br />
-</dd><dt>strcmp</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcmp">xmlStrcmp</a><br />
-</dd><dt>strdup</dt><dd><a href="html/libxml-xmlstring.html#xmlCharStrdup">xmlCharStrdup</a><br />
-<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#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>streamable</dt><dd><a href="html/libxml-pattern.html#xmlPatternStreamable">xmlPatternStreamable</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateFile">xmlSchemaValidateFile</a><br />
-</dd><dt>streaming</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-</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 />
-</dd><dt>string-length</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-</dd><dt>string?</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-</dd><dt>stringi</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
-</dd><dt>strings</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br />
-<a href="html/libxml-dict.html#xmlDictGetUsage">xmlDictGetUsage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-</dd><dt>stripping</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-</dd><dt>strncasecmp</dt><dd><a href="html/libxml-xmlstring.html#xmlStrncasecmp">xmlStrncasecmp</a><br />
-</dd><dt>strncat</dt><dd><a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
-</dd><dt>strncmp</dt><dd><a href="html/libxml-xmlstring.html#xmlStrncmp">xmlStrncmp</a><br />
-</dd><dt>strndup</dt><dd><a href="html/libxml-xmlstring.html#xmlCharStrndup">xmlCharStrndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrndup">xmlStrndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strndup">xmlUTF8Strndup</a><br />
-</dd><dt>strstr</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcasestr">xmlStrcasestr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
-</dd><dt>struct</dt><dd><a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
-<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 />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-</dd><dt>structured</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a><br />
-<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 />
-<a href="html/libxml-tree.html#xmlFreeNsList">xmlFreeNsList</a><br />
-<a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-<a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</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</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</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 />
-<a href="html/libxml-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a><br />
-</dd><dt>subelements</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>subexpression</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br />
-</dd><dt>subexpressions</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-</dd><dt>subject</dt><dd><a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-</dd><dt>sublanguage</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-</dd><dt>submits</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
-</dd><dt>subsequent</dt><dd><a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-</dd><dt>subset?</dt><dd><a href="html/libxml-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a><br />
-</dd><dt>subsets</dt><dd><a href="html/libxml-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>substitute</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</dd><dt>substituted</dt><dd><a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a><br />
-<a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
-</dd><dt>substituting</dt><dd><a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-</dd><dt>substitutionGroup</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a><br />
-</dd><dt>substitutions</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</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 />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-</dd><dt>substitutions:</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a><br />
-</dd><dt>substring</dt><dd><a href="html/libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>substring-after</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
-</dd><dt>substring-before</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
-</dd><dt>subtag</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>subtags</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>subtraction</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-</dd><dt>subtree</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-<a href="html/libxml-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-<a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
-<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#xmlValidateElement">xmlValidateElement</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>succeed</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
-</dd><dt>succeeded</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueAppend">xmlSchemaValueAppend</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>succeeds</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
-</dd><dt>successful</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
-<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
-<a href="html/libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br />
-<a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-<a href="html/libxml-list.html#xmlListPushBack">xmlListPushBack</a><br />
-<a href="html/libxml-list.html#xmlListPushFront">xmlListPushFront</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-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-<a href="html/libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a><br />
-<a href="html/libxml-xpath.html#xmlXPathSetContextNode">xmlXPathSetContextNode</a><br />
-</dd><dt>successfully</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNext">xmlTextReaderNext</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
-</dd><dt>succession</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-</dd><dt>successive</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-</dd><dt>successors</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>such</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
-</dd><dt>suffix</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a><br />
-</dd><dt>suggested</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>suitable</dt><dd><a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a><br />
-<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
-</dd><dt>sum</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSumFunction">xmlXPathSumFunction</a><br />
-</dd><dt>super</dt><dd><a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-</dd><dt>super-strict</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-</dd><dt>supplied</dt><dd><a href="html/libxml-valid.html#xmlGetRefs">xmlGetRefs</a><br />
-</dd><dt>supported</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</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-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-</dd><dt>supposed</dt><dd><a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</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 />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</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#xmlNodeSetContent">xmlNodeSetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
-</dd><dt>sure</dt><dd><a href="html/libxml-dict.html#xmlDictCleanup">xmlDictCleanup</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveClose">xmlSaveClose</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveFlush">xmlSaveFlush</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
-</dd><dt>surprising</dt><dd><a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
-</dd><dt>surrogate</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>switch</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-</dd><dt>symbol</dt><dd><a href="html/libxml-xmlexports.html#XMLPUBLIC">XMLPUBLIC</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-</dd><dt>synchronizing</dt><dd><a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
-<a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-</dd><dt>syntax</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-</dd><dt>systematically</dt><dd><a href="html/libxml-valid.html#xmlIsID">xmlIsID</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk25.html b/doc/APIchunk25.html
deleted file mode 100644
index 7b6dffd..0000000
--- a/doc/APIchunk25.html
+++ /dev/null
@@ -1,446 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index t-t for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index t-t for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-<a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
-<a href="html/libxml-SAX.html#startElement">startElement</a><br />
-<a href="html/libxml-parser.html#startElementSAXFunc">startElementSAXFunc</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetName">xmlNodeSetName</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-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a><br />
-</dd><dt>tagged</dt><dd><a href="html/libxml-SAX.html#isStandalone">isStandalone</a><br />
-<a href="html/libxml-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a><br />
-<a href="html/libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a><br />
-</dd><dt>tags</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLtree.html#htmlGetMetaEncoding">htmlGetMetaEncoding</a><br />
-<a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
-</dd><dt>take</dt><dd><a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
-</dd><dt>taken</dt><dd><a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-</dd><dt>takes</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-</dd><dt>tell</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 />
-<a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</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 />
-</dd><dt>terminal</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-</dd><dt>terminals</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-</dd><dt>terminated</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</a><br />
-<a href="html/libxml-SAX.html#startElement">startElement</a><br />
-<a href="html/libxml-parser.html#startElementSAXFunc">startElementSAXFunc</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#xmlCtxtReadDoc">xmlCtxtReadDoc</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</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#xmlReadDoc">xmlReadDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</a><br />
-<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 />
-</dd><dt>tested</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</dd><dt>testing</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
-</dd><dt>text-</dt><dd><a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-</dd><dt>text-node</dt><dd><a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
-</dd><dt>textDecl?</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-</dd><dt>their</dt><dd><a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
-</dd><dt>them</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-</dd><dt>these</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-</dd><dt>they</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-<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 />
-<a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</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 />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
-<a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
-<a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>this?</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-</dd><dt>those</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>though</dt><dd><a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-</dd><dt>thread</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
-<a href="html/libxml-xmlerror.html#xmlGetLastError">xmlGetLastError</a><br />
-<a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-<a href="html/libxml-threads.html#xmlInitThreads">xmlInitThreads</a><br />
-<a href="html/libxml-catalog.html#xmlInitializeCatalog">xmlInitializeCatalog</a><br />
-<a href="html/libxml-threads.html#xmlIsMainThread">xmlIsMainThread</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-</dd><dt>through</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<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 />
-</dd><dt>thus</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-</dd><dt>tight</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-</dd><dt>time</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-</dd><dt>title</dt><dd><a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-</dd><dt>titles</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-</dd><dt>todo:</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-</dd><dt>token</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
-<a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a><br />
-<a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString">xmlRegExecPushString</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a><br />
-</dd><dt>token_r</dt><dd><a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-<a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-</dd><dt>tokens</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEnumerationType">xmlParseEnumerationType</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>too</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-tree.html#xmlElemDump">xmlElemDump</a><br />
-<a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
-<a href="html/libxml-tree.html#xmlFreeNodeList">xmlFreeNodeList</a><br />
-<a href="html/libxml-tree.html#xmlFreeProp">xmlFreeProp</a><br />
-<a href="html/libxml-tree.html#xmlFreePropList">xmlFreePropList</a><br />
-<a href="html/libxml-entities.html#xmlGetDocEntity">xmlGetDocEntity</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-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a><br />
-</dd><dt>top</dt><dd><a href="html/libxml-xpathInternals.html#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a><br />
-<a href="html/libxml-xpathInternals.html#CAST_TO_NUMBER">CAST_TO_NUMBER</a><br />
-<a href="html/libxml-xpathInternals.html#CAST_TO_STRING">CAST_TO_STRING</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_TYPE">CHECK_TYPE</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_TYPE0">CHECK_TYPE0</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a><br />
-<a href="html/libxml-parserInternals.html#inputPop">inputPop</a><br />
-<a href="html/libxml-parserInternals.html#inputPush">inputPush</a><br />
-<a href="html/libxml-parserInternals.html#namePop">namePop</a><br />
-<a href="html/libxml-parserInternals.html#namePush">namePush</a><br />
-<a href="html/libxml-parserInternals.html#nodePop">nodePop</a><br />
-<a href="html/libxml-parserInternals.html#nodePush">nodePush</a><br />
-<a href="html/libxml-xpathInternals.html#valuePop">valuePop</a><br />
-<a href="html/libxml-xpathInternals.html#valuePush">valuePush</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 />
-<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
-<a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a><br />
-</dd><dt>total</dt><dd><a href="html/libxml-xmlIO.html#_xmlOutputBuffer">_xmlOutputBuffer</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-</dd><dt>touch</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>track</dt><dd><a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
-</dd><dt>tracking</dt><dd><a href="html/libxml-xmlerror.html#xmlParserPrintFileContext">xmlParserPrintFileContext</a><br />
-</dd><dt>trailing</dt><dd><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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
-</dd><dt>transaction</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
-</dd><dt>transcoding</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<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#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</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-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 />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
-<a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-</dd><dt>transferred</dt><dd><a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br />
-</dd><dt>transformation</dt><dd><a href="html/libxml-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a><br />
-<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>transformed</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a><br />
-</dd><dt>transitions</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-</dd><dt>translate</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>translation</dt><dd><a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-</dd><dt>transmit</dt><dd><a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br />
-<a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a><br />
-</dd><dt>transport</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPClose">xmlNanoFTPClose</a><br />
-</dd><dt>traversal</dt><dd><a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextChild">xmlXPathNextChild</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextParent">xmlXPathNextParent</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</dd><dt>traverse</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-</dd><dt>treated</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>tried</dt><dd><a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
-<a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
-</dd><dt>tries</dt><dd><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
-<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
-<a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</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>trio</dt><dd><a href="html/libxml-xmlversion.html#WITHOUT_TRIO">WITHOUT_TRIO</a><br />
-<a href="html/libxml-xmlversion.html#WITH_TRIO">WITH_TRIO</a><br />
-</dd><dt>troubles</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-</dd><dt>try</dt><dd><a href="html/libxml-xpathInternals.html#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a><br />
-<a href="html/libxml-xpathInternals.html#CAST_TO_NUMBER">CAST_TO_NUMBER</a><br />
-<a href="html/libxml-xpathInternals.html#CAST_TO_STRING">CAST_TO_STRING</a><br />
-<a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-encoding.html#isolat1ToUTF8">isolat1ToUTF8</a><br />
-<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</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-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</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-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</dd><dt>tune</dt><dd><a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
-</dd><dt>tuple</dt><dd><a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup3">xmlHashLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup3">xmlHashQLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
-<a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-</dd><dt>tuples</dt><dd><a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-</dd><dt>turn</dt><dd><a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
-</dd><dt>turned</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-<a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
-</dd><dt>two</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-<a href="html/libxml-tree.html#xmlTextMerge">xmlTextMerge</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCmpNodes">xmlXPathCmpNodes</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
-<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>txt</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>type:</dt><dd><a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-</dd><dt>typefixed</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</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-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk26.html b/doc/APIchunk26.html
deleted file mode 100644
index d71da61..0000000
--- a/doc/APIchunk26.html
+++ /dev/null
@@ -1,315 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index u-v for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index u-v for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-</dd><dt>unary</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
-</dd><dt>unclean</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
-</dd><dt>uncompressed</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
-<a href="html/libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
-</dd><dt>unconditionally</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</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 />
-</dd><dt>understand</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</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-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a><br />
-<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-</dd><dt>unescaping</dt><dd><a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-</dd><dt>unfriendly</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-</dd><dt>unicode</dt><dd><a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
-<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-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-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>unique</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>uniquely</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>uniqueness</dt><dd><a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#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 />
-<a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBlock">xmlUCSIsBlock</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCat">xmlUCSIsCat</a><br />
-</dd><dt>unless</dt><dd><a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-<a href="html/libxml-dict.html#xmlDictCleanup">xmlDictCleanup</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
-</dd><dt>unlink</dt><dd><a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
-<a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a><br />
-</dd><dt>unlinked</dt><dd><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-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-<a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-<a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a><br />
-</dd><dt>unload</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleClose">xmlModuleClose</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleFree">xmlModuleFree</a><br />
-</dd><dt>unloaded</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleClose">xmlModuleClose</a><br />
-</dd><dt>unlock</dt><dd><a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a><br />
-<a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-</dd><dt>unparsed</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-SAX.html#unparsedEntityDecl">unparsedEntityDecl</a><br />
-<a href="html/libxml-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a><br />
-<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a><br />
-</dd><dt>unplug</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-</dd><dt>unpredictable</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<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 />
-</dd><dt>unpredictiable</dt><dd><a href="html/libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-</dd><dt>unregisters</dt><dd><a href="html/libxml-encoding.html#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a><br />
-</dd><dt>unsafe</dt><dd><a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
-</dd><dt>unsigned</dt><dd><a href="">c</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
-<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-</dd><dt>unsupported</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-</dd><dt>until</dt><dd><a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</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#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-</dd><dt>update</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-tree.html#xmlSetListDoc">xmlSetListDoc</a><br />
-<a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-</dd><dt>updated</dt><dd><a href="html/libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-</dd><dt>upon</dt><dd><a href="html/libxml-SAX.html#checkNamespace">checkNamespace</a><br />
-<a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
-</dd><dt>upper</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
-</dd><dt>uri</dt><dd><a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-</dd><dt>usage</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-</dd><dt>used:</dt><dd><a href="html/libxml-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a><br />
-</dd><dt>used?</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAttribute">_xmlSchemaAttribute</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-</dd><dt>useful</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
-</dd><dt>useless</dt><dd><a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
-<a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
-</dd><dt>userData</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>users</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-</dd><dt>uses</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</dd><dt>usual</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-</dd><dt>usually</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a><br />
-<a href="">c</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>utf8</dt><dd><a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd></dl><h2>Letter v:</h2><dl><dt>val1</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-</dd><dt>valgrind</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>validated</dt><dd><a href="html/libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-</dd><dt>validates</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
-<a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
-<a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
-<a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-</dd><dt>validating</dt><dd><a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
-<a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
-<a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-</dd><dt>validator</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a><br />
-</dd><dt>validity</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>value:</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-</dd><dt>values:</dt><dd><a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-</dd><dt>vararg</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>varargs</dt><dd><a href="html/libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a><br />
-</dd><dt>variables</dt><dd><a href="html/libxml-xpath.html#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-<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-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-</dd><dt>variants</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</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>various</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-</dd><dt>versions</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</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 />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>via</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</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-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-</dd><dt>view</dt><dd><a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-</dd><dt>violated</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-</dd><dt>visible</dt><dd><a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a><br />
-</dd><dt>void</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
-</dd><dt>volume</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk27.html b/doc/APIchunk27.html
deleted file mode 100644
index 806ab81..0000000
--- a/doc/APIchunk27.html
+++ /dev/null
@@ -1,347 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index w-w for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index w-w for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</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-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-<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-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</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>weird</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</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-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-</dd><dt>well-balanced</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-</dd><dt>well-formed</dt><dd><a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a><br />
-<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-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<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-xmlschemas.html#xmlSchemaIsValid">xmlSchemaIsValid</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#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</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 />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</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-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</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-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</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-xmlschemastypes.html#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</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-facet</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</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>whole</dt><dd><a href="html/libxml-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a><br />
-</dd><dt>whose</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-</dd><dt>why</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-</dd><dt>wildcard</dt><dd><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>windows</dt><dd><a href="html/libxml-nanoftp.html#INVALID_SOCKET">INVALID_SOCKET</a><br />
-<a href="html/libxml-nanoftp.html#SOCKET">SOCKET</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-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-<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-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
-<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-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</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-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-<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-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</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-tree.html#xmlSplitQName3">xmlSplitQName3</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-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</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#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-pattern.html#xmlPatternStreamable">xmlPatternStreamable</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-xmlerror.html#_xmlError">_xmlError</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>wrapper</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</dd><dt>wraps</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</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-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</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 />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
-</dd><dt>writes</dt><dd><a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
-<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>wrt</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</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-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk28.html b/doc/APIchunk28.html
deleted file mode 100644
index 9f39801..0000000
--- a/doc/APIchunk28.html
+++ /dev/null
@@ -1,569 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index x-x for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index x-x for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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-parserInternals.html#xmlParseName">xmlParseName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-</dd><dt>x20-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</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>xmlAddDocEntity</dt><dd><a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</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>xmlBufPtr</dt><dd><a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</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 />
-<a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</a><br />
-</dd><dt>xmlBufferPtr</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</a><br />
-</dd><dt>xmlBufferShrink</dt><dd><a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-</dd><dt>xmlBuildURI</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-</dd><dt>xmlBytesConsumed</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</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 />
-</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>xmlCopyDocElementContent</dt><dd><a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
-</dd><dt>xmlCreateIntSubset</dt><dd><a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
-</dd><dt>xmlDOMWrapCtxtPtr</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</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>xmlDoc</dt><dd><a href="html/libxml-tree.html#_xmlNs">_xmlNs</a><br />
-</dd><dt>xmlDocCopyNodeList</dt><dd><a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
-</dd><dt>xmlDocNewPI</dt><dd><a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
-</dd><dt>xmlDocProperties</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</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>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#xmlCopyDocElementContent">xmlCopyDocElementContent</a><br />
-<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 />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
-</dd><dt>xmlEncodeSpecialChars</dt><dd><a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</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>xmlExpFree</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-</dd><dt>xmlExpRef</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</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-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</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 />
-<a href="html/libxml-xpath.html#xmlXPathCastToString">xmlXPathCastToString</a><br />
-</dd><dt>xmlFreeDoc</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-</dd><dt>xmlFreeDocElementContent</dt><dd><a href="html/libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a><br />
-</dd><dt>xmlFreeMutex</dt><dd><a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
-</dd><dt>xmlFreeNode</dt><dd><a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a><br />
-</dd><dt>xmlFreeStreamCtxt</dt><dd><a href="html/libxml-pattern.html#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</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 />
-<a href="html/libxml-hash.html#xmlHashCreateDict">xmlHashCreateDict</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#xmlBufNodeDump">xmlBufNodeDump</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#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-parser.html#xmlCleanupParser">xmlCleanupParser</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#xmlBufNodeDump">xmlBufNodeDump</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#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>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>xmlModuleOption</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</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>xmlNewDocElementContent</dt><dd><a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</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>xmlNewProp</dt><dd><a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</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>xmlNodeDumpOutput</dt><dd><a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</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#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<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>xmlNodeSetContent</dt><dd><a href="html/libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br />
-</dd><dt>xmlNodeSetContentLen</dt><dd><a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</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>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>xmlNs</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-</dd><dt>xmlNsPtr</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<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#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-<a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
-</dd><dt>xmlOutputBuffer</dt><dd><a href="html/libxml-tree.html#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a><br />
-</dd><dt>xmlOutputBufferClose</dt><dd><a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-</dd><dt>xmlOutputBufferPtr</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
-<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetSize">xmlOutputBufferGetSize</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>xmlParserCtxt</dt><dd><a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
-<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
-</dd><dt>xmlParserCtxtPtr</dt><dd><a href="html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
-</dd><dt>xmlParserError</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-</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>xmlParserInputBuffer</dt><dd><a href="html/libxml-tree.html#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a><br />
-</dd><dt>xmlParserInputBufferPtr</dt><dd><a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
-<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetup">xmlTextReaderSetup</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>xmlPatternFlags</dt><dd><a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-</dd><dt>xmlPatternGetStreamCtxt</dt><dd><a href="html/libxml-pattern.html#xmlPatternStreamable">xmlPatternStreamable</a><br />
-</dd><dt>xmlPatterncompile</dt><dd><a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</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>xmlReaderTypes</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</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>xmlSAXHandlerPtr</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</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-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
-</dd><dt>xmlSchemaSAXPlug</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a><br />
-</dd><dt>xmlSchemaValType</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetValType">xmlSchemaGetValType</a><br />
-</dd><dt>xmlSchemaValidOption</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
-</dd><dt>xmlSchematronValidOptions</dt><dd><a href="html/libxml-schematron.html#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</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>xmlStrcmp</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>xmlStreamPush</dt><dd><a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</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 />
-</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 />
-<a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-</dd><dt>xmlUnlinkNode</dt><dd><a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<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>xmlXPathEval</dt><dd><a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</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>xmlXPathObject</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</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-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</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 />
-<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk29.html b/doc/APIchunk29.html
deleted file mode 100644
index 02b791d..0000000
--- a/doc/APIchunk29.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index y-z for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index y-z for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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-tree.html#_xmlDoc">_xmlDoc</a><br />
-<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="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-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-</dd><dt>you</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</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#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-</dd><dt>your</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</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 />
-<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-parser.html#xmlHasFeature">xmlHasFeature</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 />
-<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 />
-</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk3.html b/doc/APIchunk3.html
deleted file mode 100644
index 686761f..0000000
--- a/doc/APIchunk3.html
+++ /dev/null
@@ -1,360 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index F-I for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index F-I for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a><br />
-</dd><dt>FFFE</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>FFFF</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>FIXED</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>FREE</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>Facet</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewFacet">xmlSchemaNewFacet</a><br />
-</dd><dt>False</dt><dd><a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
-</dd><dt>Fetch</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-</dd><dt>File</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>Fills</dt><dd><a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
-</dd><dt>Find</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-valid.html#xmlGetRefs">xmlGetRefs</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup">xmlHashLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup3">xmlHashLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup">xmlHashQLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup3">xmlHashQLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-</dd><dt>Finds</dt><dd><a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpIsNillable">xmlExpIsNillable</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-</dd><dt>First</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-</dd><dt>Fixed</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-</dd><dt>Float</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-</dd><dt>Flush</dt><dd><a href="html/libxml-xmlsave.html#xmlSaveFlush">xmlSaveFlush</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterFlush">xmlTextWriterFlush</a><br />
-</dd><dt>For</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</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-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-</dd><dt>Form</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-</dd><dt>Formats</dt><dd><a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPatherror">xmlXPatherror</a><br />
-</dd><dt>Formatting</dt><dd><a href="html/libxml-HTMLtree.html#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a><br />
-</dd><dt>Formed</dt><dd><a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
-<a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br />
-<a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
-<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>Fragment</dt><dd><a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
-</dd><dt>Frameset</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>Frees</dt><dd><a href="html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a><br />
-</dd><dt>Front-end</dt><dd><a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
-</dd><dt>Function</dt><dd><a href="html/libxml-tree.html#xmlBufContent">xmlBufContent</a><br />
-<a href="html/libxml-tree.html#xmlBufEnd">xmlBufEnd</a><br />
-<a href="html/libxml-tree.html#xmlBufUse">xmlBufUse</a><br />
-<a href="html/libxml-tree.html#xmlBufferContent">xmlBufferContent</a><br />
-<a href="html/libxml-tree.html#xmlBufferLength">xmlBufferLength</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
-</dd></dl><h2>Letter G:</h2><dl><dt>GCC</dt><dd><a href="html/libxml-xmlversion.html#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a><br />
-</dd><dt>GEDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-</dd><dt>GET</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-</dd><dt>GeneralPunctuation</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsGeneralPunctuation">xmlUCSIsGeneralPunctuation</a><br />
-</dd><dt>Generic</dt><dd><a href="html/libxml-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd><dt>GeometricShapes</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsGeometricShapes">xmlUCSIsGeometricShapes</a><br />
-</dd><dt>Georgian</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsGeorgian">xmlUCSIsGeorgian</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-xmlIO.html#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetSize">xmlOutputBufferGetSize</a><br />
-<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 />
-</dd><dt>GreekExtended</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsGreekExtended">xmlUCSIsGreekExtended</a><br />
-</dd><dt>GreekandCoptic</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsGreekandCoptic">xmlUCSIsGreekandCoptic</a><br />
-</dd><dt>Group</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>Grow</dt><dd><a href="html/libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-</dd><dt>Guess</dt><dd><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-</dd><dt>Gujarati</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsGujarati">xmlUCSIsGujarati</a><br />
-</dd><dt>Gurmukhi</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsGurmukhi">xmlUCSIsGurmukhi</a><br />
-</dd></dl><h2>Letter H:</h2><dl><dt>HTML_DEPRECATED</dt><dd><a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a><br />
-</dd><dt>HTML_INVALID</dt><dd><a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a><br />
-</dd><dt>HTML_NA</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</dd><dt>HTML_REQUIRED</dt><dd><a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-</dd><dt>HTML_VALID</dt><dd><a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a><br />
-</dd><dt>Hacking</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-</dd><dt>HalfwidthandFullwidthForms</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsHalfwidthandFullwidthForms">xmlUCSIsHalfwidthandFullwidthForms</a><br />
-</dd><dt>Handle</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlErrMemory">xmlErrMemory</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathErr">xmlXPathErr</a><br />
-</dd><dt>Handling</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-</dd><dt>HangulCompatibilityJamo</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsHangulCompatibilityJamo">xmlUCSIsHangulCompatibilityJamo</a><br />
-</dd><dt>HangulJamo</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsHangulJamo">xmlUCSIsHangulJamo</a><br />
-</dd><dt>HangulSyllables</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsHangulSyllables">xmlUCSIsHangulSyllables</a><br />
-</dd><dt>Hanunoo</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsHanunoo">xmlUCSIsHanunoo</a><br />
-</dd><dt>Has</dt><dd><a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-</dd><dt>Hash</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>Hebrew</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsHebrew">xmlUCSIsHebrew</a><br />
-</dd><dt>Hence</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-</dd><dt>HighPrivateUseSurrogates</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsHighPrivateUseSurrogates">xmlUCSIsHighPrivateUseSurrogates</a><br />
-</dd><dt>HighSurrogates</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsHighSurrogates">xmlUCSIsHighSurrogates</a><br />
-</dd><dt>Hiragana</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsHiragana">xmlUCSIsHiragana</a><br />
-</dd><dt>Hmm</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a><br />
-</dd><dt>Holds</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-</dd><dt>How</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-</dd><dt>However</dt><dd><a href="html/libxml-DOCBparser.html#docbFreeParserCtxt">docbFreeParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlFreeParserCtxt">htmlFreeParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-</dd></dl><h2>Letter I:</h2><dl><dt>I18N</dt><dd><a href="html/libxml-xmlIO.html#_xmlOutputBuffer">_xmlOutputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#_xmlParserInputBuffer">_xmlParserInputBuffer</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 />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
-</dd><dt>IANA</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>IDREF</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-</dd><dt>IDREFS</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-</dd><dt>IDREFs</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-</dd><dt>IDs</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>IEEE</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>IMPLIED</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>IPAExtensions</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsIPAExtensions">xmlUCSIsIPAExtensions</a><br />
-</dd><dt>ISO</dt><dd><a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-<a href="html/libxml-encoding.html#isolat1ToUTF8">isolat1ToUTF8</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>ISO-8859-</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a><br />
-</dd><dt>ISO-Latin</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-</dd><dt>ISO639Code</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>ISOLatin</dt><dd><a href="html/libxml-xmlIO.html#_xmlOutputBuffer">_xmlOutputBuffer</a><br />
-</dd><dt>IS_BLANK</dt><dd><a href="html/libxml-parserInternals.html#IS_BLANK_CH">IS_BLANK_CH</a><br />
-</dd><dt>IS_CHAR</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR_CH">IS_CHAR_CH</a><br />
-</dd><dt>IS_DIGIT</dt><dd><a href="html/libxml-parserInternals.html#IS_DIGIT_CH">IS_DIGIT_CH</a><br />
-</dd><dt>IS_EXTENDER</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER_CH">IS_EXTENDER_CH</a><br />
-</dd><dt>IS_LETTER</dt><dd><a href="html/libxml-parserInternals.html#IS_LETTER_CH">IS_LETTER_CH</a><br />
-</dd><dt>IS_PUBIDCHAR</dt><dd><a href="html/libxml-parserInternals.html#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a><br />
-</dd><dt>IanaCode</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>Identifier</dt><dd><a href="html/libxml-catalog.html#xmlACatalogResolve">xmlACatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolve">xmlCatalogResolve</a><br />
-</dd><dt>Identifiers</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br />
-</dd><dt>Ideographic</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-<a href="html/libxml-parserInternals.html#IS_LETTER">IS_LETTER</a><br />
-<a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a><br />
-</dd><dt>IdeographicDescriptionCharacters</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsIdeographicDescriptionCharacters">xmlUCSIsIdeographicDescriptionCharacters</a><br />
-</dd><dt>Ignore</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
-</dd><dt>Ignored</dt><dd><a href="html/libxml-parserInternals.html#xmlCopyChar">xmlCopyChar</a><br />
-</dd><dt>Implements</dt><dd><a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-<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#xmlShellDir">xmlShellDir</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-<a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br />
-<a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
-<a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
-<a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<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>Included</dt><dd><a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-</dd><dt>Increase</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpRef">xmlExpRef</a><br />
-</dd><dt>Increment</dt><dd><a href="html/libxml-dict.html#xmlDictReference">xmlDictReference</a><br />
-</dd><dt>Indicate</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpMaxToken">xmlExpMaxToken</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 />
-</dd><dt>Initialize</dt><dd><a href="html/libxml-SAX2.html#docbDefaultSAXHandlerInit">docbDefaultSAXHandlerInit</a><br />
-<a href="html/libxml-SAX2.html#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a><br />
-<a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a><br />
-<a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
-<a href="html/libxml-xmlmemory.html#xmlInitMemory">xmlInitMemory</a><br />
-<a href="html/libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a><br />
-<a href="html/libxml-parser.html#xmlInitParserCtxt">xmlInitParserCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDocbDefaultSAXHandler">xmlSAX2InitDocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAXVersion">xmlSAXVersion</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaInitTypes">xmlSchemaInitTypes</a><br />
-<a href="html/libxml-xpath.html#xmlXPathInit">xmlXPathInit</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoot">xmlXPathRoot</a><br />
-</dd><dt>Initially</dt><dd><a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-</dd><dt>Initiate</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
-</dd><dt>Input</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a><br />
-<a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a><br />
-</dd><dt>Insert</dt><dd><a href="html/libxml-list.html#xmlListAppend">xmlListAppend</a><br />
-<a href="html/libxml-list.html#xmlListInsert">xmlListInsert</a><br />
-<a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
-</dd><dt>Instruction</dt><dd><a href="html/libxml-catalog.html#XML_CATALOG_PI">XML_CATALOG_PI</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br />
-</dd><dt>Intended</dt><dd><a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br />
-</dd><dt>Internal</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>Introduced</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-</dd><dt>Irregular</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk4.html b/doc/APIchunk4.html
deleted file mode 100644
index b4f89f9..0000000
--- a/doc/APIchunk4.html
+++ /dev/null
@@ -1,352 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index J-N for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index J-N for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-</dd><dt>KangxiRadicals</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsKangxiRadicals">xmlUCSIsKangxiRadicals</a><br />
-</dd><dt>Kannada</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsKannada">xmlUCSIsKannada</a><br />
-</dd><dt>Katakana</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsKatakana">xmlUCSIsKatakana</a><br />
-</dd><dt>KatakanaPhoneticExtensions</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsKatakanaPhoneticExtensions">xmlUCSIsKatakanaPhoneticExtensions</a><br />
-</dd><dt>Khmer</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsKhmer">xmlUCSIsKhmer</a><br />
-</dd><dt>KhmerSymbols</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsKhmerSymbols">xmlUCSIsKhmerSymbols</a><br />
-</dd></dl><h2>Letter L:</h2><dl><dt>Langcode</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>LanguageID</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>Lao</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsLao">xmlUCSIsLao</a><br />
-</dd><dt>Last</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-</dd><dt>Latin</dt><dd><a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<a href="html/libxml-encoding.html#isolat1ToUTF8">isolat1ToUTF8</a><br />
-</dd><dt>Latin-1Supplement</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsLatin1Supplement">xmlUCSIsLatin1Supplement</a><br />
-</dd><dt>LatinExtended-A</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedA">xmlUCSIsLatinExtendedA</a><br />
-</dd><dt>LatinExtended-B</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedB">xmlUCSIsLatinExtendedB</a><br />
-</dd><dt>LatinExtendedAdditional</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedAdditional">xmlUCSIsLatinExtendedAdditional</a><br />
-</dd><dt>Legal</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-</dd><dt>Length</dt><dd><a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a><br />
-</dd><dt>Letter</dt><dd><a href="html/libxml-parserInternals.html#IS_LETTER">IS_LETTER</a><br />
-<a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseName">xmlParseName</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseName">xmlXPathParseName</a><br />
-</dd><dt>LetterlikeSymbols</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsLetterlikeSymbols">xmlUCSIsLetterlikeSymbols</a><br />
-</dd><dt>Like</dt><dd><a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>Limbu</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsLimbu">xmlUCSIsLimbu</a><br />
-</dd><dt>LinearBIdeograms</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsLinearBIdeograms">xmlUCSIsLinearBIdeograms</a><br />
-</dd><dt>LinearBSyllabary</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsLinearBSyllabary">xmlUCSIsLinearBSyllabary</a><br />
-</dd><dt>List</dt><dd><a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>Literal</dt><dd><a href="html/libxml-parserInternals.html#xmlParseSystemLiteral">xmlParseSystemLiteral</a><br />
-</dd><dt>Load</dt><dd><a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-<a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</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-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-parser.html#xmlParseDTD">xmlParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
-</dd><dt>Local</dt><dd><a href="html/libxml-xmlIO.html#_xmlOutputBuffer">_xmlOutputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#_xmlParserInputBuffer">_xmlParserInputBuffer</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-</dd><dt>LocalPart</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
-<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-</dd><dt>Location</dt><dd><a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
-</dd><dt>LocationSet</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</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#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a><br />
-</dd><dt>Locator</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>Lookup</dt><dd><a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
-<a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
-<a href="html/libxml-encoding.html#xmlGetEncodingAlias">xmlGetEncodingAlias</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
-</dd><dt>Loose</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>LowSurrogates</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsLowSurrogates">xmlUCSIsLowSurrogates</a><br />
-</dd><dt>Lzma</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a><br />
-</dd></dl><h2>Letter M:</h2><dl><dt>META</dt><dd><a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
-</dd><dt>MODIFIER</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>MULT</dt><dd><a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
-</dd><dt>MUST</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-</dd><dt>Makes</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a><br />
-</dd><dt>Malayalam</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMalayalam">xmlUCSIsMalayalam</a><br />
-</dd><dt>Maps</dt><dd><a href="html/libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a><br />
-<a href="html/libxml-tree.html#xmlRootNode">xmlRootNode</a><br />
-</dd><dt>Marks</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
-<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_MARKED">XML_SCHEMAS_TYPE_MARKED</a><br />
-</dd><dt>Markup</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>Match</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
-</dd><dt>MathematicalAlphanumericSymbols</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMathematicalAlphanumericSymbols">xmlUCSIsMathematicalAlphanumericSymbols</a><br />
-</dd><dt>MathematicalOperators</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMathematicalOperators">xmlUCSIsMathematicalOperators</a><br />
-</dd><dt>Max</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-</dd><dt>Maximum</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-</dd><dt>May</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>Memory</dt><dd><a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a><br />
-</dd><dt>Merge</dt><dd><a href="html/libxml-tree.html#xmlTextMerge">xmlTextMerge</a><br />
-</dd><dt>Merges</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-</dd><dt>Meta</dt><dd><a href="html/libxml-HTMLtree.html#htmlGetMetaEncoding">htmlGetMetaEncoding</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
-</dd><dt>Method</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>Mime-Type</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a><br />
-</dd><dt>Minimal</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-</dd><dt>Misc</dt><dd><a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a><br />
-</dd><dt>MiscellaneousMathematicalSymbols-A</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsA">xmlUCSIsMiscellaneousMathematicalSymbolsA</a><br />
-</dd><dt>MiscellaneousMathematicalSymbols-B</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsB">xmlUCSIsMiscellaneousMathematicalSymbolsB</a><br />
-</dd><dt>MiscellaneousSymbols</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousSymbols">xmlUCSIsMiscellaneousSymbols</a><br />
-</dd><dt>MiscellaneousSymbolsandArrows</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousSymbolsandArrows">xmlUCSIsMiscellaneousSymbolsandArrows</a><br />
-</dd><dt>MiscellaneousTechnical</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousTechnical">xmlUCSIsMiscellaneousTechnical</a><br />
-</dd><dt>Mixed</dt><dd><a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>Mongolian</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMongolian">xmlUCSIsMongolian</a><br />
-</dd><dt>More</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>Move</dt><dd><a href="html/libxml-list.html#xmlListCopy">xmlListCopy</a><br />
-</dd><dt>Moves</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToFirstAttribute">xmlTextReaderMoveToFirstAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToNextAttribute">xmlTextReaderMoveToNextAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
-</dd><dt>MusicalSymbols</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMusicalSymbols">xmlUCSIsMusicalSymbols</a><br />
-</dd><dt>Myanmar</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMyanmar">xmlUCSIsMyanmar</a><br />
-</dd></dl><h2>Letter N:</h2><dl><dt>NAME</dt><dd><a href="html/libxml-parser.html#xmlParseDTD">xmlParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
-</dd><dt>NCName</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
-<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-<a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-</dd><dt>NCNameChar</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-</dd><dt>NDATA</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-</dd><dt>NDataDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-</dd><dt>NDataDecl?</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-</dd><dt>NMTOKEN</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-</dd><dt>NMTOKENS</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-</dd><dt>NMToken</dt><dd><a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
-</dd><dt>NOTATION</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>NOTE</dt><dd><a href="html/libxml-HTMLparser.html#htmlReadFd">htmlReadFd</a><br />
-<a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-<a href="html/libxml-parser.html#xmlReadFd">xmlReadFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-</dd><dt>NOTE:</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</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 />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
-<a href="html/libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</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-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-</dd><dt>NRK</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>NSDef</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
-</dd><dt>NaN</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>NameChar</dt><dd><a href="html/libxml-parserInternals.html#xmlParseName">xmlParseName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseName">xmlXPathParseName</a><br />
-</dd><dt>Names</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseName">xmlParseName</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNamesValue">xmlValidateNamesValue</a><br />
-</dd><dt>Namespace</dt><dd><a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
-<a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-</dd><dt>Needed</dt><dd><a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-</dd><dt>Nesting</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>New</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>Nmtoken</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEnumerationType">xmlParseEnumerationType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a><br />
-</dd><dt>Nmtokens</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a><br />
-</dd><dt>Node</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</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-xpathInternals.html#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a><br />
-</dd><dt>NodeInfo</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>NodeList</dt><dd><a href="html/libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-</dd><dt>NodePtr</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSet">xmlXPathNewNodeSet</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#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a><br />
-</dd><dt>NodeSet</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</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#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a><br />
-</dd><dt>NodeSetList</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-</dd><dt>NodeType</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIsNodeType">xmlXPathIsNodeType</a><br />
-</dd><dt>Nodeset</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a><br />
-</dd><dt>Non-static</dt><dd><a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
-</dd><dt>Normalization</dt><dd><a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
-</dd><dt>Normalization:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>Not</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-</dd><dt>Notation</dt><dd><a href="html/libxml-tree.html#_xmlNotation">_xmlNotation</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationUse">xmlValidateNotationUse</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-</dd><dt>NotationDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-</dd><dt>NotationType</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</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 />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-</dd><dt>Number</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>NumberForms</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsNumberForms">xmlUCSIsNumberForms</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk5.html b/doc/APIchunk5.html
deleted file mode 100644
index ce295e8..0000000
--- a/doc/APIchunk5.html
+++ /dev/null
@@ -1,293 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index O-P for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index O-P for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-</dd><dt>OUT</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-</dd><dt>OUT:</dt><dd><a href="html/libxml-HTMLtree.html#htmlDocDumpMemory">htmlDocDumpMemory</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</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 />
-<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</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#_xmlSchemaType">_xmlSchemaType</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</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 />
-</dd><dt>OldItalic</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsOldItalic">xmlUCSIsOldItalic</a><br />
-</dd><dt>One</dt><dd><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-</dd><dt>Open</dt><dd><a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
-</dd><dt>Opens</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-</dd><dt>OpticalCharacterRecognition</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsOpticalCharacterRecognition">xmlUCSIsOpticalCharacterRecognition</a><br />
-</dd><dt>Optional</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>Oriya</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsOriya">xmlUCSIsOriya</a><br />
-</dd><dt>Osmanya</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsOsmanya">xmlUCSIsOsmanya</a><br />
-</dd><dt>Other</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>Otherwise</dt><dd><a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-</dd><dt>Output</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</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 />
-</dd><dt>PCDATA</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>PEDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-</dd><dt>PEDef</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-</dd><dt>PEReference</dt><dd><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-</dd><dt>PEs</dt><dd><a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>PITarget</dt><dd><a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePITarget">xmlParsePITarget</a><br />
-</dd><dt>PIs</dt><dd><a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-</dd><dt>PLUS</dt><dd><a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
-</dd><dt>POST</dt><dd><a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
-</dd><dt>PSVI</dt><dd><a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-</dd><dt>PUBLIC</dt><dd><a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-</dd><dt>PUT</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
-</dd><dt>Parameter</dt><dd><a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-</dd><dt>Parameter-entity</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-</dd><dt>Parse</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#htmlSAXParseDoc">htmlSAXParseDoc</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-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
-<a href="html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
-<a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-<a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-<a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-<a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
-<a href="html/libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
-<a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-<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 />
-</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-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
-</dd><dt>People</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-</dd><dt>PhoneticExtensions</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsPhoneticExtensions">xmlUCSIsPhoneticExtensions</a><br />
-</dd><dt>Please</dt><dd><a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-</dd><dt>Plug</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-</dd><dt>Pointer</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-</dd><dt>Points</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a><br />
-</dd><dt>Pop</dt><dd><a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a><br />
-<a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br />
-</dd><dt>Pops</dt><dd><a href="html/libxml-parserInternals.html#inputPop">inputPop</a><br />
-<a href="html/libxml-parserInternals.html#namePop">namePop</a><br />
-<a href="html/libxml-parserInternals.html#nodePop">nodePop</a><br />
-<a href="html/libxml-xpathInternals.html#valuePop">valuePop</a><br />
-<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>Position</dt><dd><a href="html/libxml-parser.html#_xmlParserNodeInfo">_xmlParserNodeInfo</a><br />
-</dd><dt>Possibility</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>Precompiled</dt><dd><a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a><br />
-</dd><dt>Predicate</dt><dd><a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
-</dd><dt>PredicateExpr</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>Prefix</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
-<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderName">xmlTextReaderName</a><br />
-</dd><dt>PrefixDef</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
-</dd><dt>Print</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintNode">xmlShellPrintNode</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
-</dd><dt>Prints</dt><dd><a href="html/libxml-uri.html#xmlPrintURI">xmlPrintURI</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br />
-</dd><dt>PrivateUse</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsPrivateUse">xmlUCSIsPrivateUse</a><br />
-</dd><dt>PrivateUseArea</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsPrivateUseArea">xmlUCSIsPrivateUseArea</a><br />
-</dd><dt>Processing</dt><dd><a href="html/libxml-catalog.html#XML_CATALOG_PI">XML_CATALOG_PI</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br />
-</dd><dt>Productions</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-</dd><dt>Proper</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>Prototype</dt><dd><a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
-</dd><dt>Provide</dt><dd><a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
-<a href="html/libxml-SAX.html#getLineNumber">getLineNumber</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserColumnNumber">xmlTextReaderGetParserColumnNumber</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserLineNumber">xmlTextReaderGetParserLineNumber</a><br />
-</dd><dt>Provides</dt><dd><a href="html/libxml-SAX.html#getPublicId">getPublicId</a><br />
-<a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
-</dd><dt>Proxy</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-</dd><dt>Proxy-Authenticate</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
-</dd><dt>PubidChar</dt><dd><a href="html/libxml-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePubidLiteral">xmlParsePubidLiteral</a><br />
-</dd><dt>PubidLiteral</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePubidLiteral">xmlParsePubidLiteral</a><br />
-</dd><dt>Public</dt><dd><a href="html/libxml-tree.html#_xmlNotation">_xmlNotation</a><br />
-<a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-</dd><dt>PublicID</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-</dd><dt>Push</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString">xmlRegExecPushString</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
-</dd><dt>Pushes</dt><dd><a href="html/libxml-parserInternals.html#inputPush">inputPush</a><br />
-<a href="html/libxml-parserInternals.html#namePush">namePush</a><br />
-<a href="html/libxml-parserInternals.html#nodePush">nodePush</a><br />
-<a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnExternal">xmlXPathReturnExternal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnFalse">xmlXPathReturnFalse</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a><br />
-<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 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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk6.html b/doc/APIchunk6.html
deleted file mode 100644
index 69f3b3f..0000000
--- a/doc/APIchunk6.html
+++ /dev/null
@@ -1,296 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index Q-R for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index Q-R for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a><br />
-<a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</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-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<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 />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</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 />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>REC-xml</dt><dd><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 />
-</dd><dt>REFs</dt><dd><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>REQUIRED</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>RFC</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
-<a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-<a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
-</dd><dt>RFC2396</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>Raises</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSetArityError">xmlXPathSetArityError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSetError">xmlXPathSetError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSetTypeError">xmlXPathSetTypeError</a><br />
-</dd><dt>Read</dt><dd><a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
-<a href="html/libxml-parser.html#xmlGetFeature">xmlGetFeature</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</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-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
-<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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</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#xmlTextReaderReadInnerXml">xmlTextReaderReadInnerXml</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
-</dd><dt>Rec</dt><dd><a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>Receive</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-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
-</dd><dt>Receiving</dt><dd><a href="html/libxml-parser.html#charactersSAXFunc">charactersSAXFunc</a><br />
-<a href="html/libxml-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a><br />
-</dd><dt>Recurse</dt><dd><a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
-</dd><dt>Recursion</dt><dd><a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-</dd><dt>Ref</dt><dd><a href="html/libxml-tree.html#_xmlRef">_xmlRef</a><br />
-<a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-<a href="html/libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a><br />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
-<a href="html/libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a><br />
-</dd><dt>Reference</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-</dd><dt>Reference:</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-</dd><dt>References</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-</dd><dt>Reflects</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>Refresh</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
-</dd><dt>Reg</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
-</dd><dt>Register</dt><dd><a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-<a href="html/libxml-entities.html#xmlAddDocEntity">xmlAddDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlAddDtdEntity">xmlAddDtdEntity</a><br />
-<a href="html/libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
-<a href="html/libxml-valid.html#xmlAddNotationDecl">xmlAddNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-<a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a><br />
-</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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a><br />
-</dd><dt>Relative</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-</dd><dt>Relax-NG</dt><dd><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#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a><br />
-</dd><dt>RelaxNG</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGDump">xmlRelaxNGDump</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGFree">xmlRelaxNGFree</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-</dd><dt>RelaxNGs</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a><br />
-</dd><dt>Remove</dt><dd><a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
-<a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a><br />
-<a href="html/libxml-list.html#xmlListClear">xmlListClear</a><br />
-<a href="html/libxml-list.html#xmlListRemoveAll">xmlListRemoveAll</a><br />
-<a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
-<a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
-<a href="html/libxml-valid.html#xmlRemoveID">xmlRemoveID</a><br />
-<a href="html/libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a><br />
-<a href="html/libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a><br />
-<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 />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a><br />
-</dd><dt>Replace</dt><dd><a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
-</dd><dt>Replaces</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a><br />
-</dd><dt>Required</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-</dd><dt>Reset</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReset">htmlCtxtReset</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReset">xmlCtxtReset</a><br />
-<a href="html/libxml-parser.html#xmlCtxtResetPush">xmlCtxtResetPush</a><br />
-</dd><dt>Resize</dt><dd><a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
-</dd><dt>Resolves</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-</dd><dt>Resolving</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-</dd><dt>Resource</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>Retrieve</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br />
-</dd><dt>Return</dt><dd><a href="html/libxml-xpathInternals.html#CHECK_TYPE0">CHECK_TYPE0</a><br />
-</dd><dt>Returns</dt><dd><a href="html/libxml-HTMLparser.html#htmlDefaultSubelement">htmlDefaultSubelement</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlRequiredAttrs">htmlRequiredAttrs</a><br />
-<a href="html/libxml-entities.html#xmlGetDocEntity">xmlGetDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetDtdEntity">xmlGetDtdEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a><br />
-<a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-<a href="html/libxml-list.html#xmlLinkGetData">xmlLinkGetData</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathGetContextNode">xmlXPathGetContextNode</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathGetDocument">xmlXPathGetDocument</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathGetError">xmlXPathGetError</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a><br />
-</dd><dt>Returns:</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-</dd><dt>Reverse</dt><dd><a href="html/libxml-list.html#xmlListReverse">xmlListReverse</a><br />
-</dd><dt>Root</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</dd><dt>Runic</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsRunic">xmlUCSIsRunic</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk7.html b/doc/APIchunk7.html
deleted file mode 100644
index 41375e6..0000000
--- a/doc/APIchunk7.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index S-S for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index S-S for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.html">y-z</a>
-</h2><h2>Letter S:</h2><dl><dt>SAX1</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a><br />
-</dd><dt>SAX2</dt><dd><a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
-<a href="html/libxml-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a><br />
-<a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-<a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-SAX2.html#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDocbDefaultSAXHandler">xmlSAX2InitDocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-</dd><dt>SAX::substituteEntities</dt><dd><a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-</dd><dt>SDDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-</dd><dt>SDDecl?</dt><dd><a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a><br />
-</dd><dt>SEQ</dt><dd><a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
-</dd><dt>SGML</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a><br />
-<a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-DOCBparser.html#docbFreeParserCtxt">docbFreeParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseDocument">docbParseDocument</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a><br />
-<a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlNewCatalog">xmlNewCatalog</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-</dd><dt>SGMLSOURCE</dt><dd><a href="html/libxml-SAX.html#getPublicId">getPublicId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a><br />
-</dd><dt>SITE</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-</dd><dt>STag</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-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-</dd><dt>SYSTEM</dt><dd><a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-SAX.html#externalSubset">externalSubset</a><br />
-<a href="html/libxml-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a><br />
-<a href="html/libxml-SAX.html#internalSubset">internalSubset</a><br />
-<a href="html/libxml-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a><br />
-</dd><dt>Same</dt><dd><a href="html/libxml-parserInternals.html#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a><br />
-</dd><dt>Save</dt><dd><a href="html/libxml-xmlerror.html#xmlCopyError">xmlCopyError</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-<a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
-</dd><dt>Scan</dt><dd><a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
-<a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
-<a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
-<a href="html/libxml-hash.html#xmlHashScanFull">xmlHashScanFull</a><br />
-<a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
-</dd><dt>Schema</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br />
-<a href="html/libxml-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-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronParse">xmlSchematronParse</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</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 />
-<a href="html/libxml-relaxng.html#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeValue">xmlSchemaFreeValue</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-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
-</dd><dt>Schematron</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronFree">xmlSchematronFree</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronParse">xmlSchematronParse</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a><br />
-</dd><dt>Schematrons</dt><dd><a href="html/libxml-schematron.html#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a><br />
-</dd><dt>Script</dt><dd><a href="html/libxml-HTMLparser.html#htmlIsScriptAttribute">htmlIsScriptAttribute</a><br />
-</dd><dt>Search</dt><dd><a href="html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
-<a href="html/libxml-tree.html#xmlGetLastChild">xmlGetLastChild</a><br />
-<a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
-<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-list.html#xmlListReverseSearch">xmlListReverseSearch</a><br />
-<a href="html/libxml-list.html#xmlListSearch">xmlListSearch</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-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNsLookup">xmlXPathNsLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
-</dd><dt>Searches</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
-</dd><dt>Second</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>Section</dt><dd><a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-<a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
-</dd><dt>See</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-list.html#xmlLinkGetData">xmlLinkGetData</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-</dd><dt>Semi</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
-</dd><dt>Send</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPQuit">xmlNanoFTPQuit</a><br />
-</dd><dt>Serialize</dt><dd><a href="html/libxml-tree.html#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpDump">xmlExpDump</a><br />
-</dd><dt>Sets</dt><dd><a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
-<a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a><br />
-<a href="html/libxml-xpath.html#xmlXPathSetContextNode">xmlXPathSetContextNode</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
-</dd><dt>Setting</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a><br />
-</dd><dt>Setup</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</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-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetup">xmlTextReaderSetup</a><br />
-</dd><dt>Shavian</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsShavian">xmlUCSIsShavian</a><br />
-</dd><dt>Shell</dt><dd><a href="html/libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a><br />
-</dd><dt>Should</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-<a href="html/libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
-<a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-</dd><dt>Show</dt><dd><a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-</dd><dt>Signature</dt><dd><a href="html/libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a><br />
-<a href="html/libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
-<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
-<a href="html/libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</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-schematron.html#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a><br />
-</dd><dt>Similarly</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-</dd><dt>Simply</dt><dd><a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
-</dd><dt>Since</dt><dd><a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-</dd><dt>Single</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
-</dd><dt>Skips</dt><dd><a href="html/libxml-parserInternals.html#MOVETO_ENDTAG">MOVETO_ENDTAG</a><br />
-<a href="html/libxml-parserInternals.html#MOVETO_STARTTAG">MOVETO_STARTTAG</a><br />
-<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 />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</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 />
-</dd><dt>Spec</dt><dd><a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-</dd><dt>Special</dt><dd><a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
-<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
-<a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
-</dd><dt>Specials</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSpecials">xmlUCSIsSpecials</a><br />
-</dd><dt>Speed</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>Standalone</dt><dd><a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-</dd><dt>Start</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPOpen">xmlNanoFTPOpen</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartComment">xmlTextWriterStartComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartPI">xmlTextWriterStartPI</a><br />
-</dd><dt>Stops</dt><dd><a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
-</dd><dt>StringType</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-</dd><dt>Strings</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>Subcode</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>Subset</dt><dd><a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>Super</dt><dd><a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-</dd><dt>SuperscriptsandSubscripts</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSuperscriptsandSubscripts">xmlUCSIsSuperscriptsandSubscripts</a><br />
-</dd><dt>SupplementalArrows-A</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementalArrowsA">xmlUCSIsSupplementalArrowsA</a><br />
-</dd><dt>SupplementalArrows-B</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementalArrowsB">xmlUCSIsSupplementalArrowsB</a><br />
-</dd><dt>SupplementalMathematicalOperators</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementalMathematicalOperators">xmlUCSIsSupplementalMathematicalOperators</a><br />
-</dd><dt>SupplementaryPrivateUseArea-A</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaA">xmlUCSIsSupplementaryPrivateUseAreaA</a><br />
-</dd><dt>SupplementaryPrivateUseArea-B</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaB">xmlUCSIsSupplementaryPrivateUseAreaB</a><br />
-</dd><dt>Syriac</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSyriac">xmlUCSIsSyriac</a><br />
-</dd><dt>System</dt><dd><a href="html/libxml-tree.html#_xmlNotation">_xmlNotation</a><br />
-<a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</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-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-</dd><dt>SystemLiteral</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSystemLiteral">xmlParseSystemLiteral</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk8.html b/doc/APIchunk8.html
deleted file mode 100644
index 4b91116..0000000
--- a/doc/APIchunk8.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index T-U for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index T-U for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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 />
-<a href="html/libxml-tree.html#xmlAddSibling">xmlAddSibling</a><br />
-<a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
-</dd><dt>TEXTs</dt><dd><a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</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-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
-<a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-</dd><dt>TODO</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-</dd><dt>TODO:</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</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-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</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 />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a><br />
-</dd><dt>TRUE</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 />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a><br />
-</dd><dt>Tagalog</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsTagalog">xmlUCSIsTagalog</a><br />
-</dd><dt>Tagbanwa</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsTagbanwa">xmlUCSIsTagbanwa</a><br />
-</dd><dt>Tags</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsTags">xmlUCSIsTags</a><br />
-</dd><dt>TaiLe</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsTaiLe">xmlUCSIsTaiLe</a><br />
-</dd><dt>TaiXuanJingSymbols</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsTaiXuanJingSymbols">xmlUCSIsTaiXuanJingSymbols</a><br />
-</dd><dt>Take</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<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-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-</dd><dt>Takes</dt><dd><a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-</dd><dt>Tamil</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsTamil">xmlUCSIsTamil</a><br />
-</dd><dt>Telugu</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsTelugu">xmlUCSIsTelugu</a><br />
-</dd><dt>Test</dt><dd><a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
-</dd><dt>Text</dt><dd><a href="html/libxml-tree.html#xmlNodeIsText">xmlNodeIsText</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
-</dd><dt>TextDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
-</dd><dt>TextDecl?</dt><dd><a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</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-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a><br />
-</dd><dt>Thaana</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsThaana">xmlUCSIsThaana</a><br />
-</dd><dt>Thai</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsThai">xmlUCSIsThai</a><br />
-</dd><dt>That</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>Then</dt><dd><a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-</dd><dt>There</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>Those</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-</dd><dt>Thus:</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>Tibetan</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsTibetan">xmlUCSIsTibetan</a><br />
-</dd><dt>Token</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-</dd><dt>TokenizedType</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-</dd><dt>Traversal</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextChild">xmlXPathNextChild</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextParent">xmlXPathNextParent</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
-</dd><dt>Tree</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a><br />
-</dd><dt>Tree:-</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-</dd><dt>Trickery:</dt><dd><a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-</dd><dt>Tries</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPConnect">xmlNanoFTPConnect</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-</dd><dt>True</dt><dd><a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
-</dd><dt>Try</dt><dd><a href="html/libxml-catalog.html#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetPublic">xmlCatalogGetPublic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetSystem">xmlCatalogGetSystem</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a><br />
-<a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-<a href="html/libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-<a href="html/libxml-valid.html#xmlValidateElement">xmlValidateElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</dd><dt>Type</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
-<a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</dd><dt>Types</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-</dd></dl><h2>Letter U:</h2><dl><dt>UCS4</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
-</dd><dt>UNICODE</dt><dd><a href="html/libxml-HTMLparser.html#_htmlEntityDesc">_htmlEntityDesc</a><br />
-<a href="">c</a><br />
-</dd><dt>UNIX</dt><dd><a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-</dd><dt>UNUSED:</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>URI-reference</dt><dd><a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-<a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-<a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
-</dd><dt>URN</dt><dd><a href="html/libxml-SAX.html#globalNamespace">globalNamespace</a><br />
-<a href="html/libxml-SAX.html#namespaceDecl">namespaceDecl</a><br />
-</dd><dt>USER</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-</dd><dt>UTF-16</dt><dd><a href="html/libxml-encoding.html#_uconv_t">_uconv_t</a><br />
-</dd><dt>UTF16</dt><dd><a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd><dt>UTF4</dt><dd><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-</dd><dt>UTF8</dt><dd><a href="html/libxml-tree.html#_xmlBuffer">_xmlBuffer</a><br />
-<a href="">p</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</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-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Size">xmlUTF8Size</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strndup">xmlUTF8Strndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-</dd><dt>Ugaritic</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsUgaritic">xmlUCSIsUgaritic</a><br />
-</dd><dt>Unescaping</dt><dd><a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-</dd><dt>Unicode</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a><br />
-</dd><dt>UnifiedCanadianAboriginalSyllabics</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsUnifiedCanadianAboriginalSyllabics">xmlUCSIsUnifiedCanadianAboriginalSyllabics</a><br />
-</dd><dt>Unique</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>Unix</dt><dd><a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br />
-</dd><dt>Unlink</dt><dd><a href="html/libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a><br />
-<a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-<a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a><br />
-</dd><dt>Unlinks</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</dd><dt>Unplug</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a><br />
-</dd><dt>Unregisters</dt><dd><a href="html/libxml-encoding.html#xmlCleanupEncodingAliases">xmlCleanupEncodingAliases</a><br />
-<a href="html/libxml-encoding.html#xmlDelEncodingAlias">xmlDelEncodingAlias</a><br />
-</dd><dt>Update</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-</dd><dt>Upgrade</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>Use</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
-<a href="html/libxml-parser.html#XML_DETECT_IDS">XML_DETECT_IDS</a><br />
-<a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
-<a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombining">xmlIsCombining</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</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#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-pattern.html#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</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-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</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 />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-</dd><dt>User</dt><dd><a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
-</dd><dt>UserCode</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-</dd><dt>Uses</dt><dd><a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIchunk9.html b/doc/APIchunk9.html
deleted file mode 100644
index 64ed2a7..0000000
--- a/doc/APIchunk9.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index V-X for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index V-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="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a><br />
-<a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNameValue">xmlValidateNameValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNamesValue">xmlValidateNamesValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationUse">xmlValidateNotationUse</a><br />
-</dd><dt>Validity</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-</dd><dt>Value</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a><br />
-</dd><dt>Values</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</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-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-</dd><dt>Variable</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
-</dd><dt>VariationSelectors</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsVariationSelectors">xmlUCSIsVariationSelectors</a><br />
-</dd><dt>VariationSelectorsSupplement</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsVariationSelectorsSupplement">xmlUCSIsVariationSelectorsSupplement</a><br />
-</dd><dt>VersionInfo</dt><dd><a href="html/libxml-parserInternals.html#xmlParseVersionInfo">xmlParseVersionInfo</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a><br />
-</dd><dt>VersionInfo?</dt><dd><a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
-</dd><dt>VersionNum</dt><dd><a href="html/libxml-parserInternals.html#xmlParseVersionInfo">xmlParseVersionInfo</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a><br />
-</dd></dl><h2>Letter W:</h2><dl><dt>W3C</dt><dd><a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-</dd><dt>WARNING:</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-</dd><dt>WFC:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-</dd><dt>WWW-Authenticate</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
-</dd><dt>WXS</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-</dd><dt>Walk</dt><dd><a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
-<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
-</dd><dt>Warning</dt><dd><a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-</dd><dt>Was</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-</dd><dt>Well</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
-<a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br />
-<a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</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>What</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-<a href="html/libxml-SAX.html#notationDecl">notationDecl</a><br />
-<a href="html/libxml-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a><br />
-<a href="html/libxml-SAX.html#unparsedEntityDecl">unparsedEntityDecl</a><br />
-<a href="html/libxml-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a><br />
-</dd><dt>When</dt><dd><a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>Wherever</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-</dd><dt>Whitespace</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-</dd><dt>Will</dt><dd><a href="html/libxml-tree.html#xmlSaveFile">xmlSaveFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-</dd><dt>With</dt><dd><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 />
-</dd><dt>Workaround</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a><br />
-</dd><dt>Working</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-</dd><dt>Wrap</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a><br />
-</dd><dt>Wrapper</dt><dd><a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
-</dd><dt>Wraps</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathWrapCString">xmlXPathWrapCString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapExternal">xmlXPathWrapExternal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapString">xmlXPathWrapString</a><br />
-</dd><dt>Writes</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a><br />
-</dd></dl><h2>Letter X:</h2><dl><dt>XHTML</dt><dd><a href="html/libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a><br />
-</dd><dt>XInclude</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a><br />
-<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-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</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#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</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 />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a><br />
-</dd><dt>XInclude?</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-</dd><dt>XLINK_TYPE_NONE</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-</dd><dt>XML-1</dt><dd><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</dd><dt>XML-Schema</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
-</dd><dt>XMLDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a><br />
-</dd><dt>XMLDecl?</dt><dd><a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
-</dd><dt>XMLSchema</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
-</dd><dt>XML_ATTRIBUTE_DECL</dt><dd><a href="html/libxml-tree.html#_xmlAttribute">_xmlAttribute</a><br />
-</dd><dt>XML_ATTRIBUTE_ENUMERATION</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br />
-</dd><dt>XML_ATTRIBUTE_FIXED</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>XML_ATTRIBUTE_IMPLIED</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>XML_ATTRIBUTE_NODE</dt><dd><a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
-</dd><dt>XML_ATTRIBUTE_NONE</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>XML_ATTRIBUTE_NOTATION</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br />
-</dd><dt>XML_ATTRIBUTE_REQUIRED</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>XML_BUFFER_ALLOC_DOUBLEIT</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-</dd><dt>XML_BUFFER_ALLOC_EXACT</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-</dd><dt>XML_BUFFER_ALLOC_HYBRID</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-</dd><dt>XML_CAST_FPTR</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-</dd><dt>XML_CATA_PREFER_PUBLIC</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-</dd><dt>XML_CATA_PREFER_SYSTEM</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-</dd><dt>XML_CHAR_ENCODING_</dt><dd><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-</dd><dt>XML_CHAR_ENCODING_NONE</dt><dd><a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-</dd><dt>XML_DOCUMENT_NODE</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-</dd><dt>XML_DTD_NODE</dt><dd><a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-</dd><dt>XML_ELEMENT_DECL</dt><dd><a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
-</dd><dt>XML_ELEMENT_TYPE_xxx</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-</dd><dt>XML_ENTITY_DECL</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-</dd><dt>XML_ERR_OK</dt><dd><a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-</dd><dt>XML_PARSE_BIG_LINES</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-</dd><dt>XML_PARSE_HUGE</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</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_SCHEMAS_FACET_PRESERVE</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
-</dd><dt>XML_SCHEMAS_STRING</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</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 />
-</dd><dt>XML_SUBSTITUTE_REF</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 />
-</dd><dt>XML_xxx_yyy_ENTITY</dt><dd><a href="html/libxml-entities.html#xmlAddDocEntity">xmlAddDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlAddDtdEntity">xmlAddDtdEntity</a><br />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-</dd><dt>XMl-Schema</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
-</dd><dt>XPATH</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a><br />
-</dd><dt>XPATH_INVALID_ARITY</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSetArityError">xmlXPathSetArityError</a><br />
-</dd><dt>XPATH_INVALID_TYPE</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSetTypeError">xmlXPathSetTypeError</a><br />
-</dd><dt>XPointer</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
-</dd><dt>XSD</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</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-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-</dd><dt>XSLT</dt><dd><a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-pattern.html#xmlFreePattern">xmlFreePattern</a><br />
-<a href="html/libxml-pattern.html#xmlFreePatternList">xmlFreePatternList</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a><br />
-</dd><dt>Xinclude</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 />
-</dd><dt>Xml</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-</dd><dt>XmlNodeType</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</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-P</a>
-<a href="APIchunk6.html">Q-R</a>
-<a href="APIchunk7.html">S-S</a>
-<a href="APIchunk8.html">T-U</a>
-<a href="APIchunk9.html">V-X</a>
-<a href="APIchunk10.html">Y-a</a>
-<a href="APIchunk11.html">b-b</a>
-<a href="APIchunk12.html">c-c</a>
-<a href="APIchunk13.html">d-d</a>
-<a href="APIchunk14.html">e-e</a>
-<a href="APIchunk15.html">f-f</a>
-<a href="APIchunk16.html">g-h</a>
-<a href="APIchunk17.html">i-i</a>
-<a href="APIchunk18.html">j-l</a>
-<a href="APIchunk19.html">m-m</a>
-<a href="APIchunk20.html">n-n</a>
-<a href="APIchunk21.html">o-o</a>
-<a href="APIchunk22.html">p-p</a>
-<a href="APIchunk23.html">q-r</a>
-<a href="APIchunk24.html">s-s</a>
-<a href="APIchunk25.html">t-t</a>
-<a href="APIchunk26.html">u-v</a>
-<a href="APIchunk27.html">w-w</a>
-<a href="APIchunk28.html">x-x</a>
-<a href="APIchunk29.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>
diff --git a/doc/APIconstructors.html b/doc/APIconstructors.html
deleted file mode 100644
index dfaf982..0000000
--- a/doc/APIconstructors.html
+++ /dev/null
@@ -1,595 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>List of constructors for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of constructors for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type SOCKET:</h2><p><a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
-</p><h2>Type const htmlElemDesc *:</h2><p><a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
-</p><h2>Type const htmlEntityDesc *:</h2><p><a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-</p><h2>Type const xmlChar *:</h2><p><a href="html/libxml-SAX.html#getPublicId">getPublicId</a><br />
-<a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<a href="html/libxml-HTMLtree.html#htmlGetMetaEncoding">htmlGetMetaEncoding</a><br />
-<a href="html/libxml-parserInternals.html#namePop">namePop</a><br />
-<a href="html/libxml-tree.html#xmlBufferContent">xmlBufferContent</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetPublic">xmlCatalogGetPublic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetSystem">xmlCatalogGetSystem</a><br />
-<a href="html/libxml-dict.html#xmlDictExists">xmlDictExists</a><br />
-<a href="html/libxml-dict.html#xmlDictLookup">xmlDictLookup</a><br />
-<a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseName">xmlParseName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePITarget">xmlParsePITarget</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
-<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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNsLookup">xmlXPathNsLookup</a><br />
-</p><h2>Type const xmlParserNodeInfo *:</h2><p><a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
-</p><h2>Type docbDocPtr:</h2><p><a href="html/libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-</p><h2>Type docbParserCtxtPtr:</h2><p><a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-</p><h2>Type double:</h2><p><a href="html/libxml-xpath.html#xmlXPathCastBooleanToNumber">xmlXPathCastBooleanToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToNumber">xmlXPathCastNodeSetToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToNumber">xmlXPathCastToNumber</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathPopNumber">xmlXPathPopNumber</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-</p><h2>Type htmlDocPtr:</h2><p><a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFd">htmlCtxtReadFd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadMemory">htmlCtxtReadMemory</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDoc">htmlNewDoc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDoc">htmlParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseFile">htmlParseFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFd">htmlReadFd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFile">htmlReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadMemory">htmlReadMemory</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-</p><h2>Type htmlParserCtxtPtr:</h2><p><a href="html/libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
-</p><h2>Type htmlStatus:</h2><p><a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</p><h2>Type long:</h2><p><a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</p><h2>Type size_t:</h2><p><a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufUse">xmlBufUse</a><br />
-<a href="html/libxml-dict.html#xmlDictGetUsage">xmlDictGetUsage</a><br />
-<a href="html/libxml-dict.html#xmlDictSetLimit">xmlDictSetLimit</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetSize">xmlOutputBufferGetSize</a><br />
-</p><h2>Type unsigned long:</h2><p><a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
-</p><h2>Type void *:</h2><p><a href="html/libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
-<a href="html/libxml-hash.html#xmlHashCopier">xmlHashCopier</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup">xmlHashLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup3">xmlHashLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup">xmlHashQLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup3">xmlHashQLookup3</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPOpen">xmlIOFTPOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpen">xmlIOHTTPOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a><br />
-<a href="html/libxml-list.html#xmlLinkGetData">xmlLinkGetData</a><br />
-<a href="html/libxml-list.html#xmlListReverseSearch">xmlListReverseSearch</a><br />
-<a href="html/libxml-list.html#xmlListSearch">xmlListSearch</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPOpen">xmlNanoFTPOpen</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-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathPopExternal">xmlXPathPopExternal</a><br />
-</p><h2>Type xlinkHandlerPtr:</h2><p><a href="html/libxml-xlink.html#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a><br />
-</p><h2>Type xlinkNodeDetectFunc:</h2><p><a href="html/libxml-xlink.html#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a><br />
-</p><h2>Type xlinkType:</h2><p><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-</p><h2>Type xmlAttrPtr:</h2><p><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 />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewProp">xmlNewProp</a><br />
-<a href="html/libxml-tree.html#xmlSetNsProp">xmlSetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br />
-</p><h2>Type xmlAttributePtr:</h2><p><a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
-</p><h2>Type xmlAttributeTablePtr:</h2><p><a href="html/libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a><br />
-</p><h2>Type xmlAutomataPtr:</h2><p><a href="html/libxml-xmlautomata.html#xmlNewAutomata">xmlNewAutomata</a><br />
-</p><h2>Type xmlAutomataStatePtr:</h2><p><a href="html/libxml-xmlautomata.html#xmlAutomataGetInitState">xmlAutomataGetInitState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-</p><h2>Type xmlBufferAllocationScheme:</h2><p><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-globals.html#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a><br />
-</p><h2>Type xmlBufferPtr:</h2><p><a href="html/libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateSize">xmlBufferCreateSize</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-</p><h2>Type xmlCatalogAllow:</h2><p><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
-</p><h2>Type xmlCatalogPrefer:</h2><p><a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-</p><h2>Type xmlCatalogPtr:</h2><p><a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlNewCatalog">xmlNewCatalog</a><br />
-</p><h2>Type xmlChar:</h2><p><a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
-</p><h2>Type xmlChar *:</h2><p><a href="html/libxml-catalog.html#xmlACatalogResolve">xmlACatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a><br />
-<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#xmlBufContent">xmlBufContent</a><br />
-<a href="html/libxml-tree.html#xmlBufEnd">xmlBufEnd</a><br />
-<a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</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 />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolve">xmlCatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolveURI">xmlCatalogResolveURI</a><br />
-<a href="html/libxml-xmlstring.html#xmlCharStrdup">xmlCharStrdup</a><br />
-<a href="html/libxml-xmlstring.html#xmlCharStrndup">xmlCharStrndup</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
-<a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNodePath">xmlGetNodePath</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-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
-<a href="html/libxml-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-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEncName">xmlParseEncName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePubidLiteral">xmlParsePubidLiteral</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSystemLiteral">xmlParseSystemLiteral</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseVersionInfo">xmlParseVersionInfo</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</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-xmlschemastypes.html#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</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 />
-<a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrndup">xmlStrndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocalName">xmlTextReaderLocalName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderName">xmlTextReaderName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNamespaceUri">xmlTextReaderNamespaceUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPrefix">xmlTextReaderPrefix</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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strndup">xmlUTF8Strndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToString">xmlXPathCastToString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseName">xmlXPathParseName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathPopString">xmlXPathPopString</a><br />
-</p><h2>Type xmlCharEncoding:</h2><p><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-</p><h2>Type xmlCharEncodingHandlerPtr:</h2><p><a href="html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-</p><h2>Type xmlDOMWrapCtxtPtr:</h2><p><a href="html/libxml-tree.html#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a><br />
-</p><h2>Type xmlDeregisterNodeFunc:</h2><p><a href="html/libxml-globals.html#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a><br />
-<a href="html/libxml-globals.html#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a><br />
-</p><h2>Type xmlDictPtr:</h2><p><a href="html/libxml-dict.html#xmlDictCreate">xmlDictCreate</a><br />
-<a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br />
-</p><h2>Type xmlDocPtr:</h2><p><a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a><br />
-<a href="html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a><br />
-<a href="html/libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a><br />
-<a href="html/libxml-parser.html#xmlParseDoc">xmlParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
-<a href="html/libxml-parser.html#xmlParseMemory">xmlParseMemory</a><br />
-<a href="html/libxml-parser.html#xmlReadDoc">xmlReadDoc</a><br />
-<a href="html/libxml-parser.html#xmlReadFd">xmlReadFd</a><br />
-<a href="html/libxml-parser.html#xmlReadFile">xmlReadFile</a><br />
-<a href="html/libxml-parser.html#xmlReadIO">xmlReadIO</a><br />
-<a href="html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a><br />
-<a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
-<a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br />
-<a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-</p><h2>Type xmlDtdPtr:</h2><p><a href="html/libxml-tree.html#xmlCopyDtd">xmlCopyDtd</a><br />
-<a href="html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a><br />
-<a href="html/libxml-tree.html#xmlGetIntSubset">xmlGetIntSubset</a><br />
-<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-<a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
-<a href="html/libxml-parser.html#xmlParseDTD">xmlParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
-</p><h2>Type xmlElementContentPtr:</h2><p><a href="html/libxml-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
-<a href="html/libxml-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</p><h2>Type xmlElementPtr:</h2><p><a href="html/libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
-</p><h2>Type xmlElementTablePtr:</h2><p><a href="html/libxml-valid.html#xmlCopyElementTable">xmlCopyElementTable</a><br />
-</p><h2>Type xmlEntitiesTablePtr:</h2><p><a href="html/libxml-entities.html#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-</p><h2>Type xmlEntityPtr:</h2><p><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-entities.html#xmlAddDocEntity">xmlAddDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlAddDtdEntity">xmlAddDtdEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetDocEntity">xmlGetDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetDtdEntity">xmlGetDtdEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetPredefinedEntity">xmlGetPredefinedEntity</a><br />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</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 />
-</p><h2>Type xmlEnumerationPtr:</h2><p><a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
-<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEnumerationType">xmlParseEnumerationType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-</p><h2>Type xmlErrorPtr:</h2><p><a href="html/libxml-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a><br />
-<a href="html/libxml-xmlerror.html#xmlGetLastError">xmlGetLastError</a><br />
-</p><h2>Type xmlExpCtxtPtr:</h2><p><a href="html/libxml-xmlregexp.html#xmlExpNewCtxt">xmlExpNewCtxt</a><br />
-</p><h2>Type xmlExpNodePtr:</h2><p><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewAtom">xmlExpNewAtom</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br />
-</p><h2>Type xmlExternalEntityLoader:</h2><p><a href="html/libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a><br />
-</p><h2>Type xmlGlobalStatePtr:</h2><p><a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
-</p><h2>Type xmlHashTablePtr:</h2><p><a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
-<a href="html/libxml-hash.html#xmlHashCreate">xmlHashCreate</a><br />
-<a href="html/libxml-hash.html#xmlHashCreateDict">xmlHashCreateDict</a><br />
-</p><h2>Type xmlIDPtr:</h2><p><a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
-</p><h2>Type xmlLinkPtr:</h2><p><a href="html/libxml-list.html#xmlListEnd">xmlListEnd</a><br />
-<a href="html/libxml-list.html#xmlListFront">xmlListFront</a><br />
-</p><h2>Type xmlListPtr:</h2><p><a href="html/libxml-valid.html#xmlGetRefs">xmlGetRefs</a><br />
-<a href="html/libxml-list.html#xmlListCreate">xmlListCreate</a><br />
-<a href="html/libxml-list.html#xmlListDup">xmlListDup</a><br />
-</p><h2>Type xmlLocationSetPtr:</h2><p><a href="html/libxml-xpointer.html#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-</p><h2>Type xmlModulePtr:</h2><p><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-</p><h2>Type xmlMutexPtr:</h2><p><a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
-</p><h2>Type xmlNodePtr:</h2><p><a href="html/libxml-parserInternals.html#nodePop">nodePop</a><br />
-<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#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-tree.html#xmlCopyNode">xmlCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-tree.html#xmlGetLastChild">xmlGetLastChild</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-tree.html#xmlNewCDataBlock">xmlNewCDataBlock</a><br />
-<a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
-<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewComment">xmlNewComment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
-<a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
-<a href="html/libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a><br />
-<a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
-<a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
-<a href="html/libxml-tree.html#xmlNewReference">xmlNewReference</a><br />
-<a href="html/libxml-tree.html#xmlNewText">xmlNewText</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-tree.html#xmlNewTextLen">xmlNewTextLen</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-<a href="html/libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
-<a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-<a href="html/libxml-tree.html#xmlTextMerge">xmlTextMerge</a><br />
-<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-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextChild">xmlXPathNextChild</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextParent">xmlXPathNextParent</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-</p><h2>Type xmlNodeSetPtr:</h2><p><a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
-</p><h2>Type xmlNotationPtr:</h2><p><a href="html/libxml-valid.html#xmlAddNotationDecl">xmlAddNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
-</p><h2>Type xmlNotationTablePtr:</h2><p><a href="html/libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</a><br />
-</p><h2>Type xmlNsPtr:</h2><p><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#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<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#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</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 />
-<a href="html/libxml-parserInternals.html#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a><br />
-<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 />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</a><br />
-</p><h2>Type xmlParserErrors:</h2><p><a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-</p><h2>Type xmlParserInputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
-<a href="html/libxml-globals.html#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a><br />
-</p><h2>Type xmlParserInputBufferPtr:</h2><p><a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br />
-<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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</p><h2>Type xmlParserInputPtr:</h2><p><a href="html/libxml-parserInternals.html#inputPop">inputPop</a><br />
-<a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-<a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a><br />
-<a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewInputFromFile">xmlNewInputFromFile</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewInputStream">xmlNewInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewStringInputStream">xmlNewStringInputStream</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-</p><h2>Type xmlPatternPtr:</h2><p><a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-</p><h2>Type xmlRMutexPtr:</h2><p><a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-</p><h2>Type xmlRefPtr:</h2><p><a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-</p><h2>Type xmlRegExecCtxtPtr:</h2><p><a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-</p><h2>Type xmlRegexpPtr:</h2><p><a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
-</p><h2>Type xmlRegisterNodeFunc:</h2><p><a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
-<a href="html/libxml-globals.html#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a><br />
-</p><h2>Type xmlRelaxNGParserCtxtPtr:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a><br />
-</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 />
-<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 />
-</p><h2>Type xmlSchemaParserCtxtPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a><br />
-</p><h2>Type xmlSchemaPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
-</p><h2>Type xmlSchemaSAXPlugPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</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 xmlSchemaValPtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a><br />
-</p><h2>Type xmlSchemaValType:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetValType">xmlSchemaGetValType</a><br />
-</p><h2>Type xmlSchemaValidCtxtPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
-</p><h2>Type xmlSchematronParserCtxtPtr:</h2><p><a href="html/libxml-schematron.html#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a><br />
-</p><h2>Type xmlSchematronPtr:</h2><p><a href="html/libxml-schematron.html#xmlSchematronParse">xmlSchematronParse</a><br />
-</p><h2>Type xmlSchematronValidCtxtPtr:</h2><p><a href="html/libxml-schematron.html#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a><br />
-</p><h2>Type xmlStreamCtxtPtr:</h2><p><a href="html/libxml-pattern.html#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</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 />
-<a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForMemory">xmlReaderForMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderWalker">xmlReaderWalker</a><br />
-</p><h2>Type xmlTextWriterPtr:</h2><p><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 />
-</p><h2>Type xmlURIPtr:</h2><p><a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
-<a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-<a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-</p><h2>Type xmlValidCtxtPtr:</h2><p><a href="html/libxml-valid.html#xmlNewValidCtxt">xmlNewValidCtxt</a><br />
-</p><h2>Type xmlXIncludeCtxtPtr:</h2><p><a href="html/libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</a><br />
-</p><h2>Type xmlXPathCompExprPtr:</h2><p><a href="html/libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
-</p><h2>Type xmlXPathContextPtr:</h2><p><a href="html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</p><h2>Type xmlXPathFunction:</h2><p><a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
-</p><h2>Type xmlXPathObjectPtr:</h2><p><a href="html/libxml-xpathInternals.html#valuePop">valuePop</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertNumber">xmlXPathConvertNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertString">xmlXPathConvertString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a><br />
-<a href="html/libxml-xpathInternals.html#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-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathObjectCopy">xmlXPathObjectCopy</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapCString">xmlXPathWrapCString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapExternal">xmlXPathWrapExternal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapString">xmlXPathWrapString</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</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 />
-</p><h2>Type xmlXPathParserContextPtr:</h2><p><a href="html/libxml-xpathInternals.html#xmlXPathNewParserContext">xmlXPathNewParserContext</a><br />
-</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/APIfiles.html b/doc/APIfiles.html
deleted file mode 100644
index b1ea498..0000000
--- a/doc/APIfiles.html
+++ /dev/null
@@ -1,3597 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>List of Symbols per Module for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of Symbols per Module for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2><a name="DOCBparser" id="DOCBparser">Module DOCBparser</a>:</h2><p><a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a><br />
-<a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-DOCBparser.html#docbFreeParserCtxt">docbFreeParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseChunk">docbParseChunk</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseDocument">docbParseDocument</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-<a href="html/libxml-DOCBparser.html#docbParserCtxt">docbParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a><br />
-<a href="html/libxml-DOCBparser.html#docbParserInput">docbParserInput</a><br />
-<a href="html/libxml-DOCBparser.html#docbParserInputPtr">docbParserInputPtr</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXHandler">docbSAXHandler</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-</p><h2><a name="HTMLparser" id="HTMLparser">Module HTMLparser</a>:</h2><p><a href="html/libxml-HTMLparser.html#HTML_DEPRECATED">HTML_DEPRECATED</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_INVALID">HTML_INVALID</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_NA">HTML_NA</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_COMPACT">HTML_PARSE_COMPACT</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_IGNORE_ENC">HTML_PARSE_IGNORE_ENC</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NOBLANKS">HTML_PARSE_NOBLANKS</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NODEFDTD">HTML_PARSE_NODEFDTD</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NOERROR">HTML_PARSE_NOERROR</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NOIMPLIED">HTML_PARSE_NOIMPLIED</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NONET">HTML_PARSE_NONET</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_REQUIRED">HTML_REQUIRED</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_VALID">HTML_VALID</a><br />
-<a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-HTMLparser.html#_htmlEntityDesc">_htmlEntityDesc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFd">htmlCtxtReadFd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadMemory">htmlCtxtReadMemory</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReset">htmlCtxtReset</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a><br />
-<a href="html/libxml-HTMLparser.html#htmlDefaultSubelement">htmlDefaultSubelement</a><br />
-<a href="html/libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</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#htmlElementStatusHere">htmlElementStatusHere</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</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-HTMLparser.html#htmlFreeParserCtxt">htmlFreeParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsScriptAttribute">htmlIsScriptAttribute</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseChunk">htmlParseChunk</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDoc">htmlParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDocument">htmlParseDocument</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseFile">htmlParseFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserCtxt">htmlParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserInput">htmlParserInput</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserInputPtr">htmlParserInputPtr</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserNodeInfo">htmlParserNodeInfo</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserOption">htmlParserOption</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFd">htmlReadFd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFile">htmlReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadMemory">htmlReadMemory</a><br />
-<a href="html/libxml-HTMLparser.html#htmlRequiredAttrs">htmlRequiredAttrs</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXHandler">htmlSAXHandler</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</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-HTMLparser.html#htmlStatus">htmlStatus</a><br />
-<a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
-</p><h2><a name="HTMLtree" id="HTMLtree">Module HTMLtree</a>:</h2><p><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-HTMLtree.html#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDump">htmlDocDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemory">htmlDocDumpMemory</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlGetMetaEncoding">htmlGetMetaEncoding</a><br />
-<a href="html/libxml-HTMLtree.html#htmlIsBooleanAttr">htmlIsBooleanAttr</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDoc">htmlNewDoc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFile">htmlSaveFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileEnc">htmlSaveFileEnc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileFormat">htmlSaveFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
-</p><h2><a name="SAX" id="SAX">Module SAX</a>:</h2><p><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-SAX.html#attributeDecl">attributeDecl</a><br />
-<a href="html/libxml-SAX.html#cdataBlock">cdataBlock</a><br />
-<a href="html/libxml-SAX.html#characters">characters</a><br />
-<a href="html/libxml-SAX.html#checkNamespace">checkNamespace</a><br />
-<a href="html/libxml-SAX.html#comment">comment</a><br />
-<a href="html/libxml-SAX.html#elementDecl">elementDecl</a><br />
-<a href="html/libxml-SAX.html#endDocument">endDocument</a><br />
-<a href="html/libxml-SAX.html#endElement">endElement</a><br />
-<a href="html/libxml-SAX.html#entityDecl">entityDecl</a><br />
-<a href="html/libxml-SAX.html#externalSubset">externalSubset</a><br />
-<a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
-<a href="html/libxml-SAX.html#getEntity">getEntity</a><br />
-<a href="html/libxml-SAX.html#getLineNumber">getLineNumber</a><br />
-<a href="html/libxml-SAX.html#getNamespace">getNamespace</a><br />
-<a href="html/libxml-SAX.html#getParameterEntity">getParameterEntity</a><br />
-<a href="html/libxml-SAX.html#getPublicId">getPublicId</a><br />
-<a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<a href="html/libxml-SAX.html#globalNamespace">globalNamespace</a><br />
-<a href="html/libxml-SAX.html#hasExternalSubset">hasExternalSubset</a><br />
-<a href="html/libxml-SAX.html#hasInternalSubset">hasInternalSubset</a><br />
-<a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
-<a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#internalSubset">internalSubset</a><br />
-<a href="html/libxml-SAX.html#isStandalone">isStandalone</a><br />
-<a href="html/libxml-SAX.html#namespaceDecl">namespaceDecl</a><br />
-<a href="html/libxml-SAX.html#notationDecl">notationDecl</a><br />
-<a href="html/libxml-SAX.html#processingInstruction">processingInstruction</a><br />
-<a href="html/libxml-SAX.html#reference">reference</a><br />
-<a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
-<a href="html/libxml-SAX.html#setNamespace">setNamespace</a><br />
-<a href="html/libxml-SAX.html#startDocument">startDocument</a><br />
-<a href="html/libxml-SAX.html#startElement">startElement</a><br />
-<a href="html/libxml-SAX.html#unparsedEntityDecl">unparsedEntityDecl</a><br />
-</p><h2><a name="SAX2" id="SAX2">Module SAX2</a>:</h2><p><a href="html/libxml-SAX2.html#docbDefaultSAXHandlerInit">docbDefaultSAXHandlerInit</a><br />
-<a href="html/libxml-SAX2.html#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a><br />
-<a href="html/libxml-SAX2.html#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndDocument">xmlSAX2EndDocument</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElement">xmlSAX2EndElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetEntity">xmlSAX2GetEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDocbDefaultSAXHandler">xmlSAX2InitDocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartDocument">xmlSAX2StartDocument</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
-<a href="html/libxml-SAX2.html#xmlSAXVersion">xmlSAXVersion</a><br />
-</p><h2><a name="c14n" id="c14n">Module c14n</a>:</h2><p><a href="html/libxml-c14n.html#XML_C14N_1_0">XML_C14N_1_0</a><br />
-<a href="html/libxml-c14n.html#XML_C14N_1_1">XML_C14N_1_1</a><br />
-<a href="html/libxml-c14n.html#XML_C14N_EXCLUSIVE_1_0">XML_C14N_EXCLUSIVE_1_0</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-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a><br />
-<a href="html/libxml-c14n.html#xmlC14NMode">xmlC14NMode</a><br />
-</p><h2><a name="catalog" id="catalog">Module catalog</a>:</h2><p><a href="html/libxml-catalog.html#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a><br />
-<a href="html/libxml-catalog.html#XML_CATALOG_PI">XML_CATALOG_PI</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_ALLOW_ALL">XML_CATA_ALLOW_ALL</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_ALLOW_DOCUMENT">XML_CATA_ALLOW_DOCUMENT</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_ALLOW_GLOBAL">XML_CATA_ALLOW_GLOBAL</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_ALLOW_NONE">XML_CATA_ALLOW_NONE</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_PREFER_NONE">XML_CATA_PREFER_NONE</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogDump">xmlACatalogDump</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolve">xmlACatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveURI">xmlACatalogResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalog">xmlCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogCleanup">xmlCatalogCleanup</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogDump">xmlCatalogDump</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogFreeLocal">xmlCatalogFreeLocal</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetPublic">xmlCatalogGetPublic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetSystem">xmlCatalogGetSystem</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolve">xmlCatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolveURI">xmlCatalogResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
-<a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlFreeCatalog">xmlFreeCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlInitializeCatalog">xmlInitializeCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</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-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlNewCatalog">xmlNewCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a><br />
-</p><h2><a name="chvalid" id="chvalid">Module chvalid</a>:</h2><p><a href="html/libxml-chvalid.html#_xmlChLRange">_xmlChLRange</a><br />
-<a href="html/libxml-chvalid.html#_xmlChRangeGroup">_xmlChRangeGroup</a><br />
-<a href="html/libxml-chvalid.html#_xmlChSRange">_xmlChSRange</a><br />
-<a href="html/libxml-chvalid.html#xmlChLRange">xmlChLRange</a><br />
-<a href="html/libxml-chvalid.html#xmlChLRangePtr">xmlChLRangePtr</a><br />
-<a href="html/libxml-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlChRangeGroupPtr">xmlChRangeGroupPtr</a><br />
-<a href="html/libxml-chvalid.html#xmlChSRange">xmlChSRange</a><br />
-<a href="html/libxml-chvalid.html#xmlChSRangePtr">xmlChSRangePtr</a><br />
-<a href="html/libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseCharGroup">xmlIsBaseCharGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCharGroup">xmlIsCharGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCharQ">xmlIsCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombining">xmlIsCombining</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombiningGroup">xmlIsCombiningGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigitGroup">xmlIsDigitGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtenderGroup">xmlIsExtenderGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographicGroup">xmlIsIdeographicGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar_tab">xmlIsPubidChar_tab</a><br />
-</p><h2><a name="debugXML" id="debugXML">Module debugXML</a>:</h2><p><a href="html/libxml-debugXML.html#_xmlShellCtxt">_xmlShellCtxt</a><br />
-<a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocument">xmlDebugDumpDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpEntities">xmlDebugDumpEntities</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNode">xmlDebugDumpNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a><br />
-<a href="html/libxml-debugXML.html#xmlLsCountNode">xmlLsCountNode</a><br />
-<a href="html/libxml-debugXML.html#xmlLsOneNode">xmlLsOneNode</a><br />
-<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-<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 />
-<a href="html/libxml-debugXML.html#xmlShellCtxt">xmlShellCtxt</a><br />
-<a href="html/libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-<a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br />
-<a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintNode">xmlShellPrintNode</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a><br />
-<a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
-<a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
-<a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
-</p><h2><a name="dict" id="dict">Module dict</a>:</h2><p><a href="html/libxml-dict.html#xmlDict">xmlDict</a><br />
-<a href="html/libxml-dict.html#xmlDictCleanup">xmlDictCleanup</a><br />
-<a href="html/libxml-dict.html#xmlDictCreate">xmlDictCreate</a><br />
-<a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br />
-<a href="html/libxml-dict.html#xmlDictExists">xmlDictExists</a><br />
-<a href="html/libxml-dict.html#xmlDictFree">xmlDictFree</a><br />
-<a href="html/libxml-dict.html#xmlDictGetUsage">xmlDictGetUsage</a><br />
-<a href="html/libxml-dict.html#xmlDictLookup">xmlDictLookup</a><br />
-<a href="html/libxml-dict.html#xmlDictOwns">xmlDictOwns</a><br />
-<a href="html/libxml-dict.html#xmlDictPtr">xmlDictPtr</a><br />
-<a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
-<a href="html/libxml-dict.html#xmlDictReference">xmlDictReference</a><br />
-<a href="html/libxml-dict.html#xmlDictSetLimit">xmlDictSetLimit</a><br />
-<a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
-<a href="html/libxml-dict.html#xmlInitializeDict">xmlInitializeDict</a><br />
-</p><h2><a name="encoding" id="encoding">Module encoding</a>:</h2><p><a href="html/libxml-encoding.html#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_2022_JP">XML_CHAR_ENCODING_2022_JP</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_1">XML_CHAR_ENCODING_8859_1</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_2">XML_CHAR_ENCODING_8859_2</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_3">XML_CHAR_ENCODING_8859_3</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_4">XML_CHAR_ENCODING_8859_4</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_5">XML_CHAR_ENCODING_8859_5</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_6">XML_CHAR_ENCODING_8859_6</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_7">XML_CHAR_ENCODING_8859_7</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_8">XML_CHAR_ENCODING_8859_8</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_9">XML_CHAR_ENCODING_8859_9</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_ASCII">XML_CHAR_ENCODING_ASCII</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_EBCDIC">XML_CHAR_ENCODING_EBCDIC</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_ERROR">XML_CHAR_ENCODING_ERROR</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_EUC_JP">XML_CHAR_ENCODING_EUC_JP</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_SHIFT_JIS">XML_CHAR_ENCODING_SHIFT_JIS</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UCS2">XML_CHAR_ENCODING_UCS2</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4BE">XML_CHAR_ENCODING_UCS4BE</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4LE">XML_CHAR_ENCODING_UCS4LE</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4_2143">XML_CHAR_ENCODING_UCS4_2143</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4_3412">XML_CHAR_ENCODING_UCS4_3412</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UTF16BE">XML_CHAR_ENCODING_UTF16BE</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UTF16LE">XML_CHAR_ENCODING_UTF16LE</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UTF8">XML_CHAR_ENCODING_UTF8</a><br />
-<a href="html/libxml-encoding.html#_uconv_t">_uconv_t</a><br />
-<a href="html/libxml-encoding.html#_xmlCharEncodingHandler">_xmlCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#isolat1ToUTF8">isolat1ToUTF8</a><br />
-<a href="html/libxml-encoding.html#uconv_t">uconv_t</a><br />
-<a href="html/libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a><br />
-<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 />
-<a href="html/libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</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-encoding.html#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a><br />
-<a href="html/libxml-encoding.html#xmlCleanupEncodingAliases">xmlCleanupEncodingAliases</a><br />
-<a href="html/libxml-encoding.html#xmlDelEncodingAlias">xmlDelEncodingAlias</a><br />
-<a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</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-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-<a href="html/libxml-encoding.html#xmlGetEncodingAlias">xmlGetEncodingAlias</a><br />
-<a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
-<a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-<a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
-</p><h2><a name="entities" id="entities">Module entities</a>:</h2><p><a href="html/libxml-entities.html#XML_EXTERNAL_GENERAL_PARSED_ENTITY">XML_EXTERNAL_GENERAL_PARSED_ENTITY</a><br />
-<a href="html/libxml-entities.html#XML_EXTERNAL_GENERAL_UNPARSED_ENTITY">XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</a><br />
-<a href="html/libxml-entities.html#XML_EXTERNAL_PARAMETER_ENTITY">XML_EXTERNAL_PARAMETER_ENTITY</a><br />
-<a href="html/libxml-entities.html#XML_INTERNAL_GENERAL_ENTITY">XML_INTERNAL_GENERAL_ENTITY</a><br />
-<a href="html/libxml-entities.html#XML_INTERNAL_PARAMETER_ENTITY">XML_INTERNAL_PARAMETER_ENTITY</a><br />
-<a href="html/libxml-entities.html#XML_INTERNAL_PREDEFINED_ENTITY">XML_INTERNAL_PREDEFINED_ENTITY</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-entities.html#xmlAddDocEntity">xmlAddDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlAddDtdEntity">xmlAddDtdEntity</a><br />
-<a href="html/libxml-entities.html#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a><br />
-<a href="html/libxml-entities.html#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlDumpEntityDecl">xmlDumpEntityDecl</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
-<a href="html/libxml-entities.html#xmlEntitiesTable">xmlEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a><br />
-<a href="html/libxml-entities.html#xmlEntityType">xmlEntityType</a><br />
-<a href="html/libxml-entities.html#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlGetDocEntity">xmlGetDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetDtdEntity">xmlGetDtdEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetPredefinedEntity">xmlGetPredefinedEntity</a><br />
-<a href="html/libxml-entities.html#xmlInitializePredefinedEntities">xmlInitializePredefinedEntities</a><br />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-</p><h2><a name="globals" id="globals">Module globals</a>:</h2><p><a href="html/libxml-globals.html#_xmlGlobalState">_xmlGlobalState</a><br />
-<a href="html/libxml-globals.html#docbDefaultSAXHandler">docbDefaultSAXHandler</a><br />
-<a href="html/libxml-globals.html#htmlDefaultSAXHandler">htmlDefaultSAXHandler</a><br />
-<a href="html/libxml-globals.html#oldXMLWDcompatibility">oldXMLWDcompatibility</a><br />
-<a href="html/libxml-globals.html#xmlBufferAllocScheme">xmlBufferAllocScheme</a><br />
-<a href="html/libxml-globals.html#xmlCleanupGlobals">xmlCleanupGlobals</a><br />
-<a href="html/libxml-globals.html#xmlDefaultBufferSize">xmlDefaultBufferSize</a><br />
-<a href="html/libxml-globals.html#xmlDefaultSAXHandler">xmlDefaultSAXHandler</a><br />
-<a href="html/libxml-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a><br />
-<a href="html/libxml-globals.html#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a><br />
-<a href="html/libxml-globals.html#xmlDeregisterNodeDefaultValue">xmlDeregisterNodeDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a><br />
-<a href="html/libxml-globals.html#xmlDoValidityCheckingDefaultValue">xmlDoValidityCheckingDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlFree">xmlFree</a><br />
-<a href="html/libxml-globals.html#xmlGenericError">xmlGenericError</a><br />
-<a href="html/libxml-globals.html#xmlGenericErrorContext">xmlGenericErrorContext</a><br />
-<a href="html/libxml-globals.html#xmlGetWarningsDefaultValue">xmlGetWarningsDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlGlobalState">xmlGlobalState</a><br />
-<a href="html/libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a><br />
-<a href="html/libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a><br />
-<a href="html/libxml-globals.html#xmlInitGlobals">xmlInitGlobals</a><br />
-<a href="html/libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a><br />
-<a href="html/libxml-globals.html#xmlKeepBlanksDefaultValue">xmlKeepBlanksDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlLastError">xmlLastError</a><br />
-<a href="html/libxml-globals.html#xmlLineNumbersDefaultValue">xmlLineNumbersDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a><br />
-<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 />
-<a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
-<a href="html/libxml-globals.html#xmlRegisterNodeDefaultValue">xmlRegisterNodeDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a><br />
-<a href="html/libxml-globals.html#xmlSaveNoEmptyTags">xmlSaveNoEmptyTags</a><br />
-<a href="html/libxml-globals.html#xmlStructuredError">xmlStructuredError</a><br />
-<a href="html/libxml-globals.html#xmlStructuredErrorContext">xmlStructuredErrorContext</a><br />
-<a href="html/libxml-globals.html#xmlSubstituteEntitiesDefaultValue">xmlSubstituteEntitiesDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a><br />
-<a href="html/libxml-globals.html#xmlThrDefDefaultBufferSize">xmlThrDefDefaultBufferSize</a><br />
-<a href="html/libxml-globals.html#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a><br />
-<a href="html/libxml-globals.html#xmlThrDefDoValidityCheckingDefaultValue">xmlThrDefDoValidityCheckingDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlThrDefGetWarningsDefaultValue">xmlThrDefGetWarningsDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlThrDefIndentTreeOutput">xmlThrDefIndentTreeOutput</a><br />
-<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 />
-<a href="html/libxml-globals.html#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a><br />
-<a href="html/libxml-globals.html#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a><br />
-<a href="html/libxml-globals.html#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a><br />
-<a href="html/libxml-globals.html#xmlTreeIndentString">xmlTreeIndentString</a><br />
-</p><h2><a name="hash" id="hash">Module hash</a>:</h2><p><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashCopier">xmlHashCopier</a><br />
-<a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
-<a href="html/libxml-hash.html#xmlHashCreate">xmlHashCreate</a><br />
-<a href="html/libxml-hash.html#xmlHashCreateDict">xmlHashCreateDict</a><br />
-<a href="html/libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a><br />
-<a href="html/libxml-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a><br />
-<a href="html/libxml-hash.html#xmlHashFree">xmlHashFree</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup">xmlHashLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup3">xmlHashLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup">xmlHashQLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup3">xmlHashQLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
-<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-hash.html#xmlHashScanner">xmlHashScanner</a><br />
-<a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br />
-<a href="html/libxml-hash.html#xmlHashSize">xmlHashSize</a><br />
-<a href="html/libxml-hash.html#xmlHashTable">xmlHashTable</a><br />
-<a href="html/libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-</p><h2><a name="list" id="list">Module list</a>:</h2><p><a href="html/libxml-list.html#xmlLink">xmlLink</a><br />
-<a href="html/libxml-list.html#xmlLinkGetData">xmlLinkGetData</a><br />
-<a href="html/libxml-list.html#xmlLinkPtr">xmlLinkPtr</a><br />
-<a href="html/libxml-list.html#xmlList">xmlList</a><br />
-<a href="html/libxml-list.html#xmlListAppend">xmlListAppend</a><br />
-<a href="html/libxml-list.html#xmlListClear">xmlListClear</a><br />
-<a href="html/libxml-list.html#xmlListCopy">xmlListCopy</a><br />
-<a href="html/libxml-list.html#xmlListCreate">xmlListCreate</a><br />
-<a href="html/libxml-list.html#xmlListDataCompare">xmlListDataCompare</a><br />
-<a href="html/libxml-list.html#xmlListDeallocator">xmlListDeallocator</a><br />
-<a href="html/libxml-list.html#xmlListDelete">xmlListDelete</a><br />
-<a href="html/libxml-list.html#xmlListDup">xmlListDup</a><br />
-<a href="html/libxml-list.html#xmlListEmpty">xmlListEmpty</a><br />
-<a href="html/libxml-list.html#xmlListEnd">xmlListEnd</a><br />
-<a href="html/libxml-list.html#xmlListFront">xmlListFront</a><br />
-<a href="html/libxml-list.html#xmlListInsert">xmlListInsert</a><br />
-<a href="html/libxml-list.html#xmlListMerge">xmlListMerge</a><br />
-<a href="html/libxml-list.html#xmlListPopBack">xmlListPopBack</a><br />
-<a href="html/libxml-list.html#xmlListPopFront">xmlListPopFront</a><br />
-<a href="html/libxml-list.html#xmlListPtr">xmlListPtr</a><br />
-<a href="html/libxml-list.html#xmlListPushBack">xmlListPushBack</a><br />
-<a href="html/libxml-list.html#xmlListPushFront">xmlListPushFront</a><br />
-<a href="html/libxml-list.html#xmlListRemoveAll">xmlListRemoveAll</a><br />
-<a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
-<a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a><br />
-<a href="html/libxml-list.html#xmlListReverse">xmlListReverse</a><br />
-<a href="html/libxml-list.html#xmlListReverseSearch">xmlListReverseSearch</a><br />
-<a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
-<a href="html/libxml-list.html#xmlListSearch">xmlListSearch</a><br />
-<a href="html/libxml-list.html#xmlListSize">xmlListSize</a><br />
-<a href="html/libxml-list.html#xmlListSort">xmlListSort</a><br />
-<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
-<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-</p><h2><a name="nanoftp" id="nanoftp">Module nanoftp</a>:</h2><p><a href="html/libxml-nanoftp.html#INVALID_SOCKET">INVALID_SOCKET</a><br />
-<a href="html/libxml-nanoftp.html#SOCKET">SOCKET</a><br />
-<a href="html/libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a><br />
-<a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPClose">xmlNanoFTPClose</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnect">xmlNanoFTPConnect</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPOpen">xmlNanoFTPOpen</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPQuit">xmlNanoFTPQuit</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-</p><h2><a name="nanohttp" id="nanohttp">Module nanohttp</a>:</h2><p><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-</p><h2><a name="parser" id="parser">Module parser</a>:</h2><p><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
-<a href="html/libxml-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a><br />
-<a href="html/libxml-parser.html#XML_DETECT_IDS">XML_DETECT_IDS</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_ATTRIBUTE_VALUE">XML_PARSER_ATTRIBUTE_VALUE</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_CDATA_SECTION">XML_PARSER_CDATA_SECTION</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_COMMENT">XML_PARSER_COMMENT</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_CONTENT">XML_PARSER_CONTENT</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_DTD">XML_PARSER_DTD</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_END_TAG">XML_PARSER_END_TAG</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_ENTITY_DECL">XML_PARSER_ENTITY_DECL</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_ENTITY_VALUE">XML_PARSER_ENTITY_VALUE</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_EOF">XML_PARSER_EOF</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_EPILOG">XML_PARSER_EPILOG</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_IGNORE">XML_PARSER_IGNORE</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_MISC">XML_PARSER_MISC</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_PI">XML_PARSER_PI</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_PROLOG">XML_PARSER_PROLOG</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_PUBLIC_LITERAL">XML_PARSER_PUBLIC_LITERAL</a><br />
-<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_BIG_LINES">XML_PARSE_BIG_LINES</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_COMPACT">XML_PARSE_COMPACT</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 />
-<a href="html/libxml-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOBASEFIX">XML_PARSE_NOBASEFIX</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NODICT">XML_PARSE_NODICT</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOENT">XML_PARSE_NOENT</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOERROR">XML_PARSE_NOERROR</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NONET">XML_PARSE_NONET</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOXINCNODE">XML_PARSE_NOXINCNODE</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_OLD10">XML_PARSE_OLD10</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_OLDSAX">XML_PARSE_OLDSAX</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 />
-<a href="html/libxml-parser.html#XML_WITH_AUTOMATA">XML_WITH_AUTOMATA</a><br />
-<a href="html/libxml-parser.html#XML_WITH_C14N">XML_WITH_C14N</a><br />
-<a href="html/libxml-parser.html#XML_WITH_CATALOG">XML_WITH_CATALOG</a><br />
-<a href="html/libxml-parser.html#XML_WITH_DEBUG">XML_WITH_DEBUG</a><br />
-<a href="html/libxml-parser.html#XML_WITH_DEBUG_MEM">XML_WITH_DEBUG_MEM</a><br />
-<a href="html/libxml-parser.html#XML_WITH_DEBUG_RUN">XML_WITH_DEBUG_RUN</a><br />
-<a href="html/libxml-parser.html#XML_WITH_EXPR">XML_WITH_EXPR</a><br />
-<a href="html/libxml-parser.html#XML_WITH_FTP">XML_WITH_FTP</a><br />
-<a href="html/libxml-parser.html#XML_WITH_HTML">XML_WITH_HTML</a><br />
-<a href="html/libxml-parser.html#XML_WITH_HTTP">XML_WITH_HTTP</a><br />
-<a href="html/libxml-parser.html#XML_WITH_ICONV">XML_WITH_ICONV</a><br />
-<a href="html/libxml-parser.html#XML_WITH_ICU">XML_WITH_ICU</a><br />
-<a href="html/libxml-parser.html#XML_WITH_ISO8859X">XML_WITH_ISO8859X</a><br />
-<a href="html/libxml-parser.html#XML_WITH_LEGACY">XML_WITH_LEGACY</a><br />
-<a href="html/libxml-parser.html#XML_WITH_LZMA">XML_WITH_LZMA</a><br />
-<a href="html/libxml-parser.html#XML_WITH_MODULES">XML_WITH_MODULES</a><br />
-<a href="html/libxml-parser.html#XML_WITH_NONE">XML_WITH_NONE</a><br />
-<a href="html/libxml-parser.html#XML_WITH_OUTPUT">XML_WITH_OUTPUT</a><br />
-<a href="html/libxml-parser.html#XML_WITH_PATTERN">XML_WITH_PATTERN</a><br />
-<a href="html/libxml-parser.html#XML_WITH_PUSH">XML_WITH_PUSH</a><br />
-<a href="html/libxml-parser.html#XML_WITH_READER">XML_WITH_READER</a><br />
-<a href="html/libxml-parser.html#XML_WITH_REGEXP">XML_WITH_REGEXP</a><br />
-<a href="html/libxml-parser.html#XML_WITH_SAX1">XML_WITH_SAX1</a><br />
-<a href="html/libxml-parser.html#XML_WITH_SCHEMAS">XML_WITH_SCHEMAS</a><br />
-<a href="html/libxml-parser.html#XML_WITH_SCHEMATRON">XML_WITH_SCHEMATRON</a><br />
-<a href="html/libxml-parser.html#XML_WITH_THREAD">XML_WITH_THREAD</a><br />
-<a href="html/libxml-parser.html#XML_WITH_TREE">XML_WITH_TREE</a><br />
-<a href="html/libxml-parser.html#XML_WITH_UNICODE">XML_WITH_UNICODE</a><br />
-<a href="html/libxml-parser.html#XML_WITH_VALID">XML_WITH_VALID</a><br />
-<a href="html/libxml-parser.html#XML_WITH_WRITER">XML_WITH_WRITER</a><br />
-<a href="html/libxml-parser.html#XML_WITH_XINCLUDE">XML_WITH_XINCLUDE</a><br />
-<a href="html/libxml-parser.html#XML_WITH_XPATH">XML_WITH_XPATH</a><br />
-<a href="html/libxml-parser.html#XML_WITH_XPTR">XML_WITH_XPTR</a><br />
-<a href="html/libxml-parser.html#XML_WITH_ZLIB">XML_WITH_ZLIB</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-parser.html#_xmlParserNodeInfo">_xmlParserNodeInfo</a><br />
-<a href="html/libxml-parser.html#_xmlParserNodeInfoSeq">_xmlParserNodeInfoSeq</a><br />
-<a href="html/libxml-parser.html#_xmlSAXHandler">_xmlSAXHandler</a><br />
-<a href="html/libxml-parser.html#_xmlSAXHandlerV1">_xmlSAXHandlerV1</a><br />
-<a href="html/libxml-parser.html#_xmlSAXLocator">_xmlSAXLocator</a><br />
-<a href="html/libxml-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-<a href="html/libxml-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a><br />
-<a href="html/libxml-parser.html#charactersSAXFunc">charactersSAXFunc</a><br />
-<a href="html/libxml-parser.html#commentSAXFunc">commentSAXFunc</a><br />
-<a href="html/libxml-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a><br />
-<a href="html/libxml-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a><br />
-<a href="html/libxml-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a><br />
-<a href="html/libxml-parser.html#endElementSAXFunc">endElementSAXFunc</a><br />
-<a href="html/libxml-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a><br />
-<a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br />
-<a href="html/libxml-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a><br />
-<a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-parser.html#getEntitySAXFunc">getEntitySAXFunc</a><br />
-<a href="html/libxml-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a><br />
-<a href="html/libxml-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a><br />
-<a href="html/libxml-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a><br />
-<a href="html/libxml-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a><br />
-<a href="html/libxml-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a><br />
-<a href="html/libxml-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a><br />
-<a href="html/libxml-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a><br />
-<a href="html/libxml-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a><br />
-<a href="html/libxml-parser.html#referenceSAXFunc">referenceSAXFunc</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
-<a href="html/libxml-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a><br />
-<a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-parser.html#startElementSAXFunc">startElementSAXFunc</a><br />
-<a href="html/libxml-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a><br />
-<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a><br />
-<a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReset">xmlCtxtReset</a><br />
-<a href="html/libxml-parser.html#xmlCtxtResetPush">xmlCtxtResetPush</a><br />
-<a href="html/libxml-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a><br />
-<a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlFeature">xmlFeature</a><br />
-<a href="html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlGetFeature">xmlGetFeature</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a><br />
-<a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
-<a href="html/libxml-parser.html#xmlInitParserCtxt">xmlInitParserCtxt</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-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a><br />
-<a href="html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</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#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseDTD">xmlParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlParseDoc">xmlParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
-<a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</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-parser.html#xmlParseFile">xmlParseFile</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-parser.html#xmlParseMemory">xmlParseMemory</a><br />
-<a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-<a href="html/libxml-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</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-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 />
-<a href="html/libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a><br />
-<a href="html/libxml-parser.html#xmlParserOption">xmlParserOption</a><br />
-<a href="html/libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
-<a href="html/libxml-parser.html#xmlReadDoc">xmlReadDoc</a><br />
-<a href="html/libxml-parser.html#xmlReadFd">xmlReadFd</a><br />
-<a href="html/libxml-parser.html#xmlReadFile">xmlReadFile</a><br />
-<a href="html/libxml-parser.html#xmlReadIO">xmlReadIO</a><br />
-<a href="html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a><br />
-<a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
-<a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br />
-<a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
-<a href="html/libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a><br />
-<a href="html/libxml-parser.html#xmlSAXHandlerV1Ptr">xmlSAXHandlerV1Ptr</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</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 />
-<a href="html/libxml-parser.html#xmlSAXUserParseFile">xmlSAXUserParseFile</a><br />
-<a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
-<a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlSetFeature">xmlSetFeature</a><br />
-<a href="html/libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a><br />
-<a href="html/libxml-parser.html#xmlStartTag">xmlStartTag</a><br />
-<a href="html/libxml-parser.html#xmlStopParser">xmlStopParser</a><br />
-<a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-</p><h2><a name="parserInternals" id="parserInternals">Module parserInternals</a>:</h2><p><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
-<a href="html/libxml-parserInternals.html#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a><br />
-<a href="html/libxml-parserInternals.html#IS_ASCII_LETTER">IS_ASCII_LETTER</a><br />
-<a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_BLANK">IS_BLANK</a><br />
-<a href="html/libxml-parserInternals.html#IS_BLANK_CH">IS_BLANK_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_CHAR_CH">IS_CHAR_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_COMBINING">IS_COMBINING</a><br />
-<a href="html/libxml-parserInternals.html#IS_COMBINING_CH">IS_COMBINING_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_DIGIT">IS_DIGIT</a><br />
-<a href="html/libxml-parserInternals.html#IS_DIGIT_CH">IS_DIGIT_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-<a href="html/libxml-parserInternals.html#IS_EXTENDER_CH">IS_EXTENDER_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-<a href="html/libxml-parserInternals.html#IS_LETTER">IS_LETTER</a><br />
-<a href="html/libxml-parserInternals.html#IS_LETTER_CH">IS_LETTER_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a><br />
-<a href="html/libxml-parserInternals.html#MOVETO_ENDTAG">MOVETO_ENDTAG</a><br />
-<a href="html/libxml-parserInternals.html#MOVETO_STARTTAG">MOVETO_STARTTAG</a><br />
-<a href="html/libxml-parserInternals.html#SKIP_EOL">SKIP_EOL</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a><br />
-<a href="html/libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
-<a href="html/libxml-parserInternals.html#inputPop">inputPop</a><br />
-<a href="html/libxml-parserInternals.html#inputPush">inputPush</a><br />
-<a href="html/libxml-parserInternals.html#namePop">namePop</a><br />
-<a href="html/libxml-parserInternals.html#namePush">namePush</a><br />
-<a href="html/libxml-parserInternals.html#nodePop">nodePop</a><br />
-<a href="html/libxml-parserInternals.html#nodePush">nodePush</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-parserInternals.html#xmlCopyChar">xmlCopyChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlErrMemory">xmlErrMemory</a><br />
-<a href="html/libxml-parserInternals.html#xmlFreeInputStream">xmlFreeInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</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 />
-<a href="html/libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewInputFromFile">xmlNewInputFromFile</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewInputStream">xmlNewInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewStringInputStream">xmlNewStringInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlNextChar">xmlNextChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</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-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEncName">xmlParseEncName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEndTag">xmlParseEndTag</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</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#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseName">xmlParseName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePITarget">xmlParsePITarget</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePubidLiteral">xmlParsePubidLiteral</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSystemLiteral">xmlParseSystemLiteral</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseVersionInfo">xmlParseVersionInfo</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</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-parserInternals.html#xmlParserInputShrink">xmlParserInputShrink</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserMaxDepth">xmlParserMaxDepth</a><br />
-<a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
-<a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-parserInternals.html#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
-<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringComment">xmlStringComment</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringText">xmlStringText</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringTextNoenc">xmlStringTextNoenc</a><br />
-<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><a name="pattern" id="pattern">Module pattern</a>:</h2><p><a href="html/libxml-pattern.html#XML_PATTERN_DEFAULT">XML_PATTERN_DEFAULT</a><br />
-<a href="html/libxml-pattern.html#XML_PATTERN_XPATH">XML_PATTERN_XPATH</a><br />
-<a href="html/libxml-pattern.html#XML_PATTERN_XSFIELD">XML_PATTERN_XSFIELD</a><br />
-<a href="html/libxml-pattern.html#XML_PATTERN_XSSEL">XML_PATTERN_XSSEL</a><br />
-<a href="html/libxml-pattern.html#xmlFreePattern">xmlFreePattern</a><br />
-<a href="html/libxml-pattern.html#xmlFreePatternList">xmlFreePatternList</a><br />
-<a href="html/libxml-pattern.html#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlPattern">xmlPattern</a><br />
-<a href="html/libxml-pattern.html#xmlPatternFlags">xmlPatternFlags</a><br />
-<a href="html/libxml-pattern.html#xmlPatternFromRoot">xmlPatternFromRoot</a><br />
-<a href="html/libxml-pattern.html#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMaxDepth">xmlPatternMaxDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMinDepth">xmlPatternMinDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a><br />
-<a href="html/libxml-pattern.html#xmlPatternStreamable">xmlPatternStreamable</a><br />
-<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPop">xmlStreamPop</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-</p><h2><a name="relaxng" id="relaxng">Module relaxng</a>:</h2><p><a href="html/libxml-relaxng.html#XML_RELAXNGP_CRNG">XML_RELAXNGP_CRNG</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNGP_FREE_DOC">XML_RELAXNGP_FREE_DOC</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNGP_NONE">XML_RELAXNGP_NONE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTREXTRANS">XML_RELAXNG_ERR_ATTREXTRANS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRNAME">XML_RELAXNG_ERR_ATTRNAME</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRNONS">XML_RELAXNG_ERR_ATTRNONS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRVALID">XML_RELAXNG_ERR_ATTRVALID</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRWRONGNS">XML_RELAXNG_ERR_ATTRWRONGNS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_CONTENTVALID">XML_RELAXNG_ERR_CONTENTVALID</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_DATAELEM">XML_RELAXNG_ERR_DATAELEM</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_DATATYPE">XML_RELAXNG_ERR_DATATYPE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_DUPID">XML_RELAXNG_ERR_DUPID</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMEXTRANS">XML_RELAXNG_ERR_ELEMEXTRANS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMNAME">XML_RELAXNG_ERR_ELEMNAME</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMNONS">XML_RELAXNG_ERR_ELEMNONS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMNOTEMPTY">XML_RELAXNG_ERR_ELEMNOTEMPTY</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMWRONG">XML_RELAXNG_ERR_ELEMWRONG</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMWRONGNS">XML_RELAXNG_ERR_ELEMWRONGNS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_EXTRACONTENT">XML_RELAXNG_ERR_EXTRACONTENT</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_EXTRADATA">XML_RELAXNG_ERR_EXTRADATA</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_INTEREXTRA">XML_RELAXNG_ERR_INTEREXTRA</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_INTERNAL">XML_RELAXNG_ERR_INTERNAL</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_INTERNODATA">XML_RELAXNG_ERR_INTERNODATA</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_INTERSEQ">XML_RELAXNG_ERR_INTERSEQ</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_INVALIDATTR">XML_RELAXNG_ERR_INVALIDATTR</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_LACKDATA">XML_RELAXNG_ERR_LACKDATA</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_LIST">XML_RELAXNG_ERR_LIST</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_LISTELEM">XML_RELAXNG_ERR_LISTELEM</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_LISTEMPTY">XML_RELAXNG_ERR_LISTEMPTY</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_LISTEXTRA">XML_RELAXNG_ERR_LISTEXTRA</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_MEMORY">XML_RELAXNG_ERR_MEMORY</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_NODEFINE">XML_RELAXNG_ERR_NODEFINE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_NOELEM">XML_RELAXNG_ERR_NOELEM</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_NOGRAMMAR">XML_RELAXNG_ERR_NOGRAMMAR</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_NOSTATE">XML_RELAXNG_ERR_NOSTATE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_NOTELEM">XML_RELAXNG_ERR_NOTELEM</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_TEXTWRONG">XML_RELAXNG_ERR_TEXTWRONG</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_TYPE">XML_RELAXNG_ERR_TYPE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_TYPECMP">XML_RELAXNG_ERR_TYPECMP</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_TYPEVAL">XML_RELAXNG_ERR_TYPEVAL</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_VALELEM">XML_RELAXNG_ERR_VALELEM</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_VALUE">XML_RELAXNG_ERR_VALUE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_OK">XML_RELAXNG_OK</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNG">xmlRelaxNG</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGDump">xmlRelaxNGDump</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGFree">xmlRelaxNGFree</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidErr">xmlRelaxNGValidErr</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-relaxng.html#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
-</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_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BASE64BINARY">XML_SCHEMAS_BASE64BINARY</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BOOLEAN">XML_SCHEMAS_BOOLEAN</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BYTE">XML_SCHEMAS_BYTE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DATE">XML_SCHEMAS_DATE</a><br />
-<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_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</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_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INT">XML_SCHEMAS_INT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INTEGER">XML_SCHEMAS_INTEGER</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_LANGUAGE">XML_SCHEMAS_LANGUAGE</a><br />
-<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_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</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_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</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_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</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_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</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_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</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 />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_EMPTY">XML_SCHEMA_CONTENT_EMPTY</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_MIXED">XML_SCHEMA_CONTENT_MIXED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS">XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_SIMPLE">XML_SCHEMA_CONTENT_SIMPLE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_UNKNOWN">XML_SCHEMA_CONTENT_UNKNOWN</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_EXTRA_ATTR_USE_PROHIB">XML_SCHEMA_EXTRA_ATTR_USE_PROHIB</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_EXTRA_QNAMEREF">XML_SCHEMA_EXTRA_QNAMEREF</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_ENUMERATION">XML_SCHEMA_FACET_ENUMERATION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_FRACTIONDIGITS">XML_SCHEMA_FACET_FRACTIONDIGITS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_LENGTH">XML_SCHEMA_FACET_LENGTH</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MAXEXCLUSIVE">XML_SCHEMA_FACET_MAXEXCLUSIVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MAXINCLUSIVE">XML_SCHEMA_FACET_MAXINCLUSIVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MAXLENGTH">XML_SCHEMA_FACET_MAXLENGTH</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MINEXCLUSIVE">XML_SCHEMA_FACET_MINEXCLUSIVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MININCLUSIVE">XML_SCHEMA_FACET_MININCLUSIVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MINLENGTH">XML_SCHEMA_FACET_MINLENGTH</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_PATTERN">XML_SCHEMA_FACET_PATTERN</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_TOTALDIGITS">XML_SCHEMA_FACET_TOTALDIGITS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_WHITESPACE">XML_SCHEMA_FACET_WHITESPACE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ALL">XML_SCHEMA_TYPE_ALL</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ANY">XML_SCHEMA_TYPE_ANY</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ANY_ATTRIBUTE">XML_SCHEMA_TYPE_ANY_ATTRIBUTE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTE">XML_SCHEMA_TYPE_ATTRIBUTE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTEGROUP">XML_SCHEMA_TYPE_ATTRIBUTEGROUP</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTE_USE">XML_SCHEMA_TYPE_ATTRIBUTE_USE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_BASIC">XML_SCHEMA_TYPE_BASIC</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_CHOICE">XML_SCHEMA_TYPE_CHOICE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_COMPLEX">XML_SCHEMA_TYPE_COMPLEX</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_COMPLEX_CONTENT">XML_SCHEMA_TYPE_COMPLEX_CONTENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ELEMENT">XML_SCHEMA_TYPE_ELEMENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_EXTENSION">XML_SCHEMA_TYPE_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_FACET">XML_SCHEMA_TYPE_FACET</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_GROUP">XML_SCHEMA_TYPE_GROUP</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEY">XML_SCHEMA_TYPE_IDC_KEY</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEYREF">XML_SCHEMA_TYPE_IDC_KEYREF</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_UNIQUE">XML_SCHEMA_TYPE_IDC_UNIQUE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_LIST">XML_SCHEMA_TYPE_LIST</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_NOTATION">XML_SCHEMA_TYPE_NOTATION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_PARTICLE">XML_SCHEMA_TYPE_PARTICLE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_RESTRICTION">XML_SCHEMA_TYPE_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_SEQUENCE">XML_SCHEMA_TYPE_SEQUENCE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE">XML_SCHEMA_TYPE_SIMPLE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE_CONTENT">XML_SCHEMA_TYPE_SIMPLE_CONTENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_UNION">XML_SCHEMA_TYPE_UNION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_UR">XML_SCHEMA_TYPE_UR</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<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="schematron" id="schematron">Module schematron</a>:</h2><p><a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_BUFFER">XML_SCHEMATRON_OUT_BUFFER</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_ERROR">XML_SCHEMATRON_OUT_ERROR</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_FILE">XML_SCHEMATRON_OUT_FILE</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_IO">XML_SCHEMATRON_OUT_IO</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_QUIET">XML_SCHEMATRON_OUT_QUIET</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_TEXT">XML_SCHEMATRON_OUT_TEXT</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_XML">XML_SCHEMATRON_OUT_XML</a><br />
-<a href="html/libxml-schematron.html#xmlSchematron">xmlSchematron</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronFree">xmlSchematronFree</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronFreeParserCtxt">xmlSchematronFreeParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronFreeValidCtxt">xmlSchematronFreeValidCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronParse">xmlSchematronParse</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidOptions">xmlSchematronValidOptions</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</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#xmlDllMain">xmlDllMain</a><br />
-<a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
-<a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
-<a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
-<a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-<a href="html/libxml-threads.html#xmlInitThreads">xmlInitThreads</a><br />
-<a href="html/libxml-threads.html#xmlIsMainThread">xmlIsMainThread</a><br />
-<a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
-<a href="html/libxml-threads.html#xmlMutex">xmlMutex</a><br />
-<a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlMutexPtr">xmlMutexPtr</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-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-<a href="html/libxml-threads.html#xmlRMutex">xmlRMutex</a><br />
-<a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a><br />
-<a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-<a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
-</p><h2><a name="tree" id="tree">Module tree</a>:</h2><p><a href="html/libxml-tree.html#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a><br />
-<a href="html/libxml-tree.html#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_CDATA">XML_ATTRIBUTE_CDATA</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_DECL">XML_ATTRIBUTE_DECL</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_ENTITIES">XML_ATTRIBUTE_ENTITIES</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_ENTITY">XML_ATTRIBUTE_ENTITY</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_FIXED">XML_ATTRIBUTE_FIXED</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_ID">XML_ATTRIBUTE_ID</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_IDREF">XML_ATTRIBUTE_IDREF</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_IDREFS">XML_ATTRIBUTE_IDREFS</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_NMTOKEN">XML_ATTRIBUTE_NMTOKEN</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_NMTOKENS">XML_ATTRIBUTE_NMTOKENS</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_NODE">XML_ATTRIBUTE_NODE</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_NONE">XML_ATTRIBUTE_NONE</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_REQUIRED">XML_ATTRIBUTE_REQUIRED</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_BOUNDED">XML_BUFFER_ALLOC_BOUNDED</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_IMMUTABLE">XML_BUFFER_ALLOC_IMMUTABLE</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_IO">XML_BUFFER_ALLOC_IO</a><br />
-<a href="html/libxml-tree.html#XML_CDATA_SECTION_NODE">XML_CDATA_SECTION_NODE</a><br />
-<a href="html/libxml-tree.html#XML_COMMENT_NODE">XML_COMMENT_NODE</a><br />
-<a href="html/libxml-tree.html#XML_DOCB_DOCUMENT_NODE">XML_DOCB_DOCUMENT_NODE</a><br />
-<a href="html/libxml-tree.html#XML_DOCUMENT_FRAG_NODE">XML_DOCUMENT_FRAG_NODE</a><br />
-<a href="html/libxml-tree.html#XML_DOCUMENT_NODE">XML_DOCUMENT_NODE</a><br />
-<a href="html/libxml-tree.html#XML_DOCUMENT_TYPE_NODE">XML_DOCUMENT_TYPE_NODE</a><br />
-<a href="html/libxml-tree.html#XML_DOC_DTDVALID">XML_DOC_DTDVALID</a><br />
-<a href="html/libxml-tree.html#XML_DOC_HTML">XML_DOC_HTML</a><br />
-<a href="html/libxml-tree.html#XML_DOC_INTERNAL">XML_DOC_INTERNAL</a><br />
-<a href="html/libxml-tree.html#XML_DOC_NSVALID">XML_DOC_NSVALID</a><br />
-<a href="html/libxml-tree.html#XML_DOC_OLD10">XML_DOC_OLD10</a><br />
-<a href="html/libxml-tree.html#XML_DOC_USERBUILT">XML_DOC_USERBUILT</a><br />
-<a href="html/libxml-tree.html#XML_DOC_WELLFORMED">XML_DOC_WELLFORMED</a><br />
-<a href="html/libxml-tree.html#XML_DOC_XINCLUDE">XML_DOC_XINCLUDE</a><br />
-<a href="html/libxml-tree.html#XML_DTD_NODE">XML_DTD_NODE</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_ELEMENT">XML_ELEMENT_CONTENT_ELEMENT</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_MULT">XML_ELEMENT_CONTENT_MULT</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_ONCE">XML_ELEMENT_CONTENT_ONCE</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_OPT">XML_ELEMENT_CONTENT_OPT</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_OR">XML_ELEMENT_CONTENT_OR</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_PCDATA">XML_ELEMENT_CONTENT_PCDATA</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_PLUS">XML_ELEMENT_CONTENT_PLUS</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_SEQ">XML_ELEMENT_CONTENT_SEQ</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_DECL">XML_ELEMENT_DECL</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_NODE">XML_ELEMENT_NODE</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_TYPE_ANY">XML_ELEMENT_TYPE_ANY</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_TYPE_ELEMENT">XML_ELEMENT_TYPE_ELEMENT</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_TYPE_EMPTY">XML_ELEMENT_TYPE_EMPTY</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_TYPE_MIXED">XML_ELEMENT_TYPE_MIXED</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_TYPE_UNDEFINED">XML_ELEMENT_TYPE_UNDEFINED</a><br />
-<a href="html/libxml-tree.html#XML_ENTITY_DECL">XML_ENTITY_DECL</a><br />
-<a href="html/libxml-tree.html#XML_ENTITY_NODE">XML_ENTITY_NODE</a><br />
-<a href="html/libxml-tree.html#XML_ENTITY_REF_NODE">XML_ENTITY_REF_NODE</a><br />
-<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 />
-<a href="html/libxml-tree.html#XML_HTML_DOCUMENT_NODE">XML_HTML_DOCUMENT_NODE</a><br />
-<a href="html/libxml-tree.html#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a><br />
-<a href="html/libxml-tree.html#XML_NAMESPACE_DECL">XML_NAMESPACE_DECL</a><br />
-<a href="html/libxml-tree.html#XML_NOTATION_NODE">XML_NOTATION_NODE</a><br />
-<a href="html/libxml-tree.html#XML_PI_NODE">XML_PI_NODE</a><br />
-<a href="html/libxml-tree.html#XML_TEXT_NODE">XML_TEXT_NODE</a><br />
-<a href="html/libxml-tree.html#XML_XINCLUDE_END">XML_XINCLUDE_END</a><br />
-<a href="html/libxml-tree.html#XML_XINCLUDE_START">XML_XINCLUDE_START</a><br />
-<a href="html/libxml-tree.html#XML_XML_ID">XML_XML_ID</a><br />
-<a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
-<a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
-<a href="html/libxml-tree.html#_xmlAttribute">_xmlAttribute</a><br />
-<a href="html/libxml-tree.html#_xmlBuffer">_xmlBuffer</a><br />
-<a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
-<a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
-<a href="html/libxml-tree.html#_xmlEnumeration">_xmlEnumeration</a><br />
-<a href="html/libxml-tree.html#_xmlID">_xmlID</a><br />
-<a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-<a href="html/libxml-tree.html#_xmlNotation">_xmlNotation</a><br />
-<a href="html/libxml-tree.html#_xmlNs">_xmlNs</a><br />
-<a href="html/libxml-tree.html#_xmlRef">_xmlRef</a><br />
-<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#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-tree.html#xmlAttr">xmlAttr</a><br />
-<a href="html/libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a><br />
-<a href="html/libxml-tree.html#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a><br />
-<a href="html/libxml-tree.html#xmlAttribute">xmlAttribute</a><br />
-<a href="html/libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a><br />
-<a href="html/libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a><br />
-<a href="html/libxml-tree.html#xmlAttributeType">xmlAttributeType</a><br />
-<a href="html/libxml-tree.html#xmlBuf">xmlBuf</a><br />
-<a href="html/libxml-tree.html#xmlBufContent">xmlBufContent</a><br />
-<a href="html/libxml-tree.html#xmlBufEnd">xmlBufEnd</a><br />
-<a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlBufPtr">xmlBufPtr</a><br />
-<a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufUse">xmlBufUse</a><br />
-<a href="html/libxml-tree.html#xmlBuffer">xmlBuffer</a><br />
-<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
-<a href="html/libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferContent">xmlBufferContent</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateSize">xmlBufferCreateSize</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-tree.html#xmlBufferDump">xmlBufferDump</a><br />
-<a href="html/libxml-tree.html#xmlBufferEmpty">xmlBufferEmpty</a><br />
-<a href="html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a><br />
-<a href="html/libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a><br />
-<a href="html/libxml-tree.html#xmlBufferLength">xmlBufferLength</a><br />
-<a href="html/libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a><br />
-<a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
-<a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteChar">xmlBufferWriteChar</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-<a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-<a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a><br />
-<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-tree.html#xmlCopyDtd">xmlCopyDtd</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#xmlCopyNode">xmlCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</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-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-tree.html#xmlDoc">xmlDoc</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlDocDump">xmlDocDump</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
-<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#xmlDocFormatDump">xmlDocFormatDump</a><br />
-<a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlDocProperties">xmlDocProperties</a><br />
-<a href="html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlDtd">xmlDtd</a><br />
-<a href="html/libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a><br />
-<a href="html/libxml-tree.html#xmlElemDump">xmlElemDump</a><br />
-<a href="html/libxml-tree.html#xmlElement">xmlElement</a><br />
-<a href="html/libxml-tree.html#xmlElementContent">xmlElementContent</a><br />
-<a href="html/libxml-tree.html#xmlElementContentOccur">xmlElementContentOccur</a><br />
-<a href="html/libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a><br />
-<a href="html/libxml-tree.html#xmlElementContentType">xmlElementContentType</a><br />
-<a href="html/libxml-tree.html#xmlElementPtr">xmlElementPtr</a><br />
-<a href="html/libxml-tree.html#xmlElementType">xmlElementType</a><br />
-<a href="html/libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a><br />
-<a href="html/libxml-tree.html#xmlEntity">xmlEntity</a><br />
-<a href="html/libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a><br />
-<a href="html/libxml-tree.html#xmlEnumeration">xmlEnumeration</a><br />
-<a href="html/libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a><br />
-<a href="html/libxml-tree.html#xmlFreeDtd">xmlFreeDtd</a><br />
-<a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
-<a href="html/libxml-tree.html#xmlFreeNodeList">xmlFreeNodeList</a><br />
-<a href="html/libxml-tree.html#xmlFreeNs">xmlFreeNs</a><br />
-<a href="html/libxml-tree.html#xmlFreeNsList">xmlFreeNsList</a><br />
-<a href="html/libxml-tree.html#xmlFreeProp">xmlFreeProp</a><br />
-<a href="html/libxml-tree.html#xmlFreePropList">xmlFreePropList</a><br />
-<a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlGetIntSubset">xmlGetIntSubset</a><br />
-<a href="html/libxml-tree.html#xmlGetLastChild">xmlGetLastChild</a><br />
-<a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-<a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNodePath">xmlGetNodePath</a><br />
-<a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
-<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-<a href="html/libxml-tree.html#xmlID">xmlID</a><br />
-<a href="html/libxml-tree.html#xmlIDPtr">xmlIDPtr</a><br />
-<a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
-<a href="html/libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-tree.html#xmlNewCDataBlock">xmlNewCDataBlock</a><br />
-<a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
-<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewComment">xmlNewComment</a><br />
-<a href="html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a><br />
-<a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
-<a href="html/libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a><br />
-<a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
-<a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
-<a href="html/libxml-tree.html#xmlNewProp">xmlNewProp</a><br />
-<a href="html/libxml-tree.html#xmlNewReference">xmlNewReference</a><br />
-<a href="html/libxml-tree.html#xmlNewText">xmlNewText</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-tree.html#xmlNewTextLen">xmlNewTextLen</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlNode">xmlNode</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#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</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#xmlNodeIsText">xmlNodeIsText</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-tree.html#xmlNodePtr">xmlNodePtr</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-tree.html#xmlNotation">xmlNotation</a><br />
-<a href="html/libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a><br />
-<a href="html/libxml-tree.html#xmlNs">xmlNs</a><br />
-<a href="html/libxml-tree.html#xmlNsPtr">xmlNsPtr</a><br />
-<a href="html/libxml-tree.html#xmlNsType">xmlNsType</a><br />
-<a href="html/libxml-tree.html#xmlOutputBuffer">xmlOutputBuffer</a><br />
-<a href="html/libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a><br />
-<a href="html/libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a><br />
-<a href="html/libxml-tree.html#xmlParserInput">xmlParserInput</a><br />
-<a href="html/libxml-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a><br />
-<a href="html/libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a><br />
-<a href="html/libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-tree.html#xmlRef">xmlRef</a><br />
-<a href="html/libxml-tree.html#xmlRefPtr">xmlRefPtr</a><br />
-<a href="html/libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a><br />
-<a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-<a href="html/libxml-tree.html#xmlRootNode">xmlRootNode</a><br />
-<a href="html/libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a><br />
-<a href="html/libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a><br />
-<a href="html/libxml-tree.html#xmlSAXLocator">xmlSAXLocator</a><br />
-<a href="html/libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a><br />
-<a href="html/libxml-tree.html#xmlSaveFile">xmlSaveFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a><br />
-<a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</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 />
-<a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetListDoc">xmlSetListDoc</a><br />
-<a href="html/libxml-tree.html#xmlSetNs">xmlSetNs</a><br />
-<a href="html/libxml-tree.html#xmlSetNsProp">xmlSetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br />
-<a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</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-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
-<a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-<a href="html/libxml-tree.html#xmlTextConcat">xmlTextConcat</a><br />
-<a href="html/libxml-tree.html#xmlTextMerge">xmlTextMerge</a><br />
-<a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a><br />
-<a href="html/libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a><br />
-<a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
-<a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
-<a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-</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 />
-<a href="html/libxml-uri.html#xmlFreeURI">xmlFreeURI</a><br />
-<a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
-<a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-<a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-<a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-<a href="html/libxml-uri.html#xmlPrintURI">xmlPrintURI</a><br />
-<a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
-<a href="html/libxml-uri.html#xmlURI">xmlURI</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-<a href="html/libxml-uri.html#xmlURIPtr">xmlURIPtr</a><br />
-<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-</p><h2><a name="valid" id="valid">Module valid</a>:</h2><p><a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
-<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
-<a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-<a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
-<a href="html/libxml-valid.html#xmlAddNotationDecl">xmlAddNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-<a href="html/libxml-valid.html#xmlAttributeTable">xmlAttributeTable</a><br />
-<a href="html/libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a><br />
-<a href="html/libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a><br />
-<a href="html/libxml-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
-<a href="html/libxml-valid.html#xmlCopyElementTable">xmlCopyElementTable</a><br />
-<a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
-<a href="html/libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</a><br />
-<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
-<a href="html/libxml-valid.html#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpAttributeTable">xmlDumpAttributeTable</a><br />
-<a href="html/libxml-valid.html#xmlDumpElementDecl">xmlDumpElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpElementTable">xmlDumpElementTable</a><br />
-<a href="html/libxml-valid.html#xmlDumpNotationDecl">xmlDumpNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpNotationTable">xmlDumpNotationTable</a><br />
-<a href="html/libxml-valid.html#xmlElementTable">xmlElementTable</a><br />
-<a href="html/libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a><br />
-<a href="html/libxml-valid.html#xmlFreeAttributeTable">xmlFreeAttributeTable</a><br />
-<a href="html/libxml-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a><br />
-<a href="html/libxml-valid.html#xmlFreeElementTable">xmlFreeElementTable</a><br />
-<a href="html/libxml-valid.html#xmlFreeEnumeration">xmlFreeEnumeration</a><br />
-<a href="html/libxml-valid.html#xmlFreeIDTable">xmlFreeIDTable</a><br />
-<a href="html/libxml-valid.html#xmlFreeNotationTable">xmlFreeNotationTable</a><br />
-<a href="html/libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a><br />
-<a href="html/libxml-valid.html#xmlFreeValidCtxt">xmlFreeValidCtxt</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
-<a href="html/libxml-valid.html#xmlGetRefs">xmlGetRefs</a><br />
-<a href="html/libxml-valid.html#xmlIDTable">xmlIDTable</a><br />
-<a href="html/libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a><br />
-<a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
-<a href="html/libxml-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a><br />
-<a href="html/libxml-valid.html#xmlNewValidCtxt">xmlNewValidCtxt</a><br />
-<a href="html/libxml-valid.html#xmlNotationTable">xmlNotationTable</a><br />
-<a href="html/libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a><br />
-<a href="html/libxml-valid.html#xmlRefTable">xmlRefTable</a><br />
-<a href="html/libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a><br />
-<a href="html/libxml-valid.html#xmlRemoveID">xmlRemoveID</a><br />
-<a href="html/libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a><br />
-<a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br />
-<a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
-<a href="html/libxml-valid.html#xmlValidBuildContentModel">xmlValidBuildContentModel</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxt">xmlValidCtxt</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a><br />
-<a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidState">xmlValidState</a><br />
-<a href="html/libxml-valid.html#xmlValidStatePtr">xmlValidStatePtr</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateElement">xmlValidateElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNameValue">xmlValidateNameValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNamesValue">xmlValidateNamesValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationUse">xmlValidateNotationUse</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</p><h2><a name="xinclude" id="xinclude">Module xinclude</a>:</h2><p><a href="html/libxml-xinclude.html#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_HREF">XINCLUDE_HREF</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_NODE">XINCLUDE_NODE</a><br />
-<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-xinclude.html#XINCLUDE_PARSE">XINCLUDE_PARSE</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</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#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</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 />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a><br />
-</p><h2><a name="xlink" id="xlink">Module xlink</a>:</h2><p><a href="html/libxml-xlink.html#XLINK_ACTUATE_AUTO">XLINK_ACTUATE_AUTO</a><br />
-<a href="html/libxml-xlink.html#XLINK_ACTUATE_NONE">XLINK_ACTUATE_NONE</a><br />
-<a href="html/libxml-xlink.html#XLINK_ACTUATE_ONREQUEST">XLINK_ACTUATE_ONREQUEST</a><br />
-<a href="html/libxml-xlink.html#XLINK_SHOW_EMBED">XLINK_SHOW_EMBED</a><br />
-<a href="html/libxml-xlink.html#XLINK_SHOW_NEW">XLINK_SHOW_NEW</a><br />
-<a href="html/libxml-xlink.html#XLINK_SHOW_NONE">XLINK_SHOW_NONE</a><br />
-<a href="html/libxml-xlink.html#XLINK_SHOW_REPLACE">XLINK_SHOW_REPLACE</a><br />
-<a href="html/libxml-xlink.html#XLINK_TYPE_EXTENDED">XLINK_TYPE_EXTENDED</a><br />
-<a href="html/libxml-xlink.html#XLINK_TYPE_EXTENDED_SET">XLINK_TYPE_EXTENDED_SET</a><br />
-<a href="html/libxml-xlink.html#XLINK_TYPE_NONE">XLINK_TYPE_NONE</a><br />
-<a href="html/libxml-xlink.html#XLINK_TYPE_SIMPLE">XLINK_TYPE_SIMPLE</a><br />
-<a href="html/libxml-xlink.html#_xlinkHandler">_xlinkHandler</a><br />
-<a href="html/libxml-xlink.html#xlinkActuate">xlinkActuate</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-<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#xlinkHRef">xlinkHRef</a><br />
-<a href="html/libxml-xlink.html#xlinkHandler">xlinkHandler</a><br />
-<a href="html/libxml-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a><br />
-<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
-<a href="html/libxml-xlink.html#xlinkRole">xlinkRole</a><br />
-<a href="html/libxml-xlink.html#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a><br />
-<a href="html/libxml-xlink.html#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a><br />
-<a href="html/libxml-xlink.html#xlinkShow">xlinkShow</a><br />
-<a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkTitle">xlinkTitle</a><br />
-<a href="html/libxml-xlink.html#xlinkType">xlinkType</a><br />
-</p><h2><a name="xmlIO" id="xmlIO">Module xmlIO</a>:</h2><p><a href="html/libxml-xmlIO.html#_xmlOutputBuffer">_xmlOutputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#_xmlParserInputBuffer">_xmlParserInputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-<a href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileClose">xmlFileClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileMatch">xmlFileMatch</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPClose">xmlIOFTPClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPMatch">xmlIOFTPMatch</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPOpen">xmlIOFTPOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPClose">xmlIOHTTPClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPMatch">xmlIOHTTPMatch</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpen">xmlIOHTTPOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-<a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferClose">xmlOutputBufferClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</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-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferFlush">xmlOutputBufferFlush</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetSize">xmlOutputBufferGetSize</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 />
-<a href="html/libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserGetDirectory">xmlParserGetDirectory</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-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 />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</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-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-</p><h2><a name="xmlautomata" id="xmlautomata">Module xmlautomata</a>:</h2><p><a href="html/libxml-xmlautomata.html#xmlAutomata">xmlAutomata</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataGetInitState">xmlAutomataGetInitState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataState">xmlAutomataState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a><br />
-<a href="html/libxml-xmlautomata.html#xmlFreeAutomata">xmlFreeAutomata</a><br />
-<a href="html/libxml-xmlautomata.html#xmlNewAutomata">xmlNewAutomata</a><br />
-</p><h2><a name="xmlerror" id="xmlerror">Module xmlerror</a>:</h2><p><a href="html/libxml-xmlerror.html#XML_BUF_OVERFLOW">XML_BUF_OVERFLOW</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_CREATE_CTXT">XML_C14N_CREATE_CTXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_CREATE_STACK">XML_C14N_CREATE_STACK</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_INVALID_NODE">XML_C14N_INVALID_NODE</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_RELATIVE_NAMESPACE">XML_C14N_RELATIVE_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_REQUIRES_UTF8">XML_C14N_REQUIRES_UTF8</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_UNKNOW_NODE">XML_C14N_UNKNOW_NODE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CATALOG_ENTRY_BROKEN">XML_CATALOG_ENTRY_BROKEN</a><br />
-<a href="html/libxml-xmlerror.html#XML_CATALOG_MISSING_ATTR">XML_CATALOG_MISSING_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_CATALOG_NOT_CATALOG">XML_CATALOG_NOT_CATALOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_CATALOG_PREFER_VALUE">XML_CATALOG_PREFER_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CATALOG_RECURSION">XML_CATALOG_RECURSION</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_ENTITY_TYPE">XML_CHECK_ENTITY_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ATTRIBUTE">XML_CHECK_FOUND_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_CDATA">XML_CHECK_FOUND_CDATA</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_COMMENT">XML_CHECK_FOUND_COMMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_DOCTYPE">XML_CHECK_FOUND_DOCTYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ELEMENT">XML_CHECK_FOUND_ELEMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ENTITY">XML_CHECK_FOUND_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ENTITYREF">XML_CHECK_FOUND_ENTITYREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_FRAGMENT">XML_CHECK_FOUND_FRAGMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_NOTATION">XML_CHECK_FOUND_NOTATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_PI">XML_CHECK_FOUND_PI</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_TEXT">XML_CHECK_FOUND_TEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NAME_NOT_NULL">XML_CHECK_NAME_NOT_NULL</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ATTR">XML_CHECK_NOT_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ATTR_DECL">XML_CHECK_NOT_ATTR_DECL</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_DTD">XML_CHECK_NOT_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ELEM_DECL">XML_CHECK_NOT_ELEM_DECL</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ENTITY_DECL">XML_CHECK_NOT_ENTITY_DECL</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_NCNAME">XML_CHECK_NOT_NCNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_NS_DECL">XML_CHECK_NOT_NS_DECL</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_UTF8">XML_CHECK_NOT_UTF8</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_DICT">XML_CHECK_NO_DICT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_DOC">XML_CHECK_NO_DOC</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_ELEM">XML_CHECK_NO_ELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_HREF">XML_CHECK_NO_HREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_NAME">XML_CHECK_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_NEXT">XML_CHECK_NO_NEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_PARENT">XML_CHECK_NO_PARENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_PREV">XML_CHECK_NO_PREV</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NS_ANCESTOR">XML_CHECK_NS_ANCESTOR</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NS_SCOPE">XML_CHECK_NS_SCOPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_OUTSIDE_DICT">XML_CHECK_OUTSIDE_DICT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_UNKNOWN_NODE">XML_CHECK_UNKNOWN_NODE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_DOC">XML_CHECK_WRONG_DOC</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_NAME">XML_CHECK_WRONG_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_NEXT">XML_CHECK_WRONG_NEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_PARENT">XML_CHECK_WRONG_PARENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_PREV">XML_CHECK_WRONG_PREV</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_DEFAULT">XML_DTD_ATTRIBUTE_DEFAULT</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_REDEFINED">XML_DTD_ATTRIBUTE_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_VALUE">XML_DTD_ATTRIBUTE_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_CONTENT_ERROR">XML_DTD_CONTENT_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_CONTENT_MODEL">XML_DTD_CONTENT_MODEL</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_CONTENT_NOT_DETERMINIST">XML_DTD_CONTENT_NOT_DETERMINIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_DIFFERENT_PREFIX">XML_DTD_DIFFERENT_PREFIX</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_DUP_TOKEN">XML_DTD_DUP_TOKEN</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ELEM_DEFAULT_NAMESPACE">XML_DTD_ELEM_DEFAULT_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ELEM_NAMESPACE">XML_DTD_ELEM_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ELEM_REDEFINED">XML_DTD_ELEM_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_EMPTY_NOTATION">XML_DTD_EMPTY_NOTATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ENTITY_TYPE">XML_DTD_ENTITY_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ID_FIXED">XML_DTD_ID_FIXED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ID_REDEFINED">XML_DTD_ID_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ID_SUBSET">XML_DTD_ID_SUBSET</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_INVALID_CHILD">XML_DTD_INVALID_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_INVALID_DEFAULT">XML_DTD_INVALID_DEFAULT</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_LOAD_ERROR">XML_DTD_LOAD_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_MISSING_ATTRIBUTE">XML_DTD_MISSING_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_MIXED_CORRUPT">XML_DTD_MIXED_CORRUPT</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_MULTIPLE_ID">XML_DTD_MULTIPLE_ID</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NOTATION_REDEFINED">XML_DTD_NOTATION_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NOTATION_VALUE">XML_DTD_NOTATION_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NOT_EMPTY">XML_DTD_NOT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NOT_PCDATA">XML_DTD_NOT_PCDATA</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NOT_STANDALONE">XML_DTD_NOT_STANDALONE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NO_DOC">XML_DTD_NO_DOC</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NO_DTD">XML_DTD_NO_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NO_ELEM_NAME">XML_DTD_NO_ELEM_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NO_PREFIX">XML_DTD_NO_PREFIX</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NO_ROOT">XML_DTD_NO_ROOT</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ROOT_NAME">XML_DTD_ROOT_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_STANDALONE_DEFAULTED">XML_DTD_STANDALONE_DEFAULTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_STANDALONE_WHITE_SPACE">XML_DTD_STANDALONE_WHITE_SPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ATTRIBUTE">XML_DTD_UNKNOWN_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ELEM">XML_DTD_UNKNOWN_ELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ENTITY">XML_DTD_UNKNOWN_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ID">XML_DTD_UNKNOWN_ID</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_UNKNOWN_NOTATION">XML_DTD_UNKNOWN_NOTATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_XMLID_TYPE">XML_DTD_XMLID_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_XMLID_VALUE">XML_DTD_XMLID_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTLIST_NOT_FINISHED">XML_ERR_ATTLIST_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTLIST_NOT_STARTED">XML_ERR_ATTLIST_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_NOT_FINISHED">XML_ERR_ATTRIBUTE_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_NOT_STARTED">XML_ERR_ATTRIBUTE_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_REDEFINED">XML_ERR_ATTRIBUTE_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_WITHOUT_VALUE">XML_ERR_ATTRIBUTE_WITHOUT_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CDATA_NOT_FINISHED">XML_ERR_CDATA_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CHARREF_AT_EOF">XML_ERR_CHARREF_AT_EOF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CHARREF_IN_DTD">XML_ERR_CHARREF_IN_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CHARREF_IN_EPILOG">XML_ERR_CHARREF_IN_EPILOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CHARREF_IN_PROLOG">XML_ERR_CHARREF_IN_PROLOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_COMMENT_NOT_FINISHED">XML_ERR_COMMENT_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CONDSEC_INVALID">XML_ERR_CONDSEC_INVALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CONDSEC_INVALID_KEYWORD">XML_ERR_CONDSEC_INVALID_KEYWORD</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CONDSEC_NOT_FINISHED">XML_ERR_CONDSEC_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CONDSEC_NOT_STARTED">XML_ERR_CONDSEC_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_DOCTYPE_NOT_FINISHED">XML_ERR_DOCTYPE_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_DOCUMENT_EMPTY">XML_ERR_DOCUMENT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_DOCUMENT_END">XML_ERR_DOCUMENT_END</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_DOCUMENT_START">XML_ERR_DOCUMENT_START</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ELEMCONTENT_NOT_FINISHED">XML_ERR_ELEMCONTENT_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ELEMCONTENT_NOT_STARTED">XML_ERR_ELEMCONTENT_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENCODING_NAME">XML_ERR_ENCODING_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_AT_EOF">XML_ERR_ENTITYREF_AT_EOF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_IN_DTD">XML_ERR_ENTITYREF_IN_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_IN_EPILOG">XML_ERR_ENTITYREF_IN_EPILOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_IN_PROLOG">XML_ERR_ENTITYREF_IN_PROLOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_NO_NAME">XML_ERR_ENTITYREF_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_SEMICOL_MISSING">XML_ERR_ENTITYREF_SEMICOL_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_BOUNDARY">XML_ERR_ENTITY_BOUNDARY</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_CHAR_ERROR">XML_ERR_ENTITY_CHAR_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_IS_EXTERNAL">XML_ERR_ENTITY_IS_EXTERNAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_IS_PARAMETER">XML_ERR_ENTITY_IS_PARAMETER</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_LOOP">XML_ERR_ENTITY_LOOP</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_NOT_FINISHED">XML_ERR_ENTITY_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_NOT_STARTED">XML_ERR_ENTITY_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_PE_INTERNAL">XML_ERR_ENTITY_PE_INTERNAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_PROCESSING">XML_ERR_ENTITY_PROCESSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_EQUAL_REQUIRED">XML_ERR_EQUAL_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ERROR">XML_ERR_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_EXTRA_CONTENT">XML_ERR_EXTRA_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_EXT_ENTITY_STANDALONE">XML_ERR_EXT_ENTITY_STANDALONE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_EXT_SUBSET_NOT_FINISHED">XML_ERR_EXT_SUBSET_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_FATAL">XML_ERR_FATAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_GT_REQUIRED">XML_ERR_GT_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_HYPHEN_IN_COMMENT">XML_ERR_HYPHEN_IN_COMMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INTERNAL_ERROR">XML_ERR_INTERNAL_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_CHAR">XML_ERR_INVALID_CHAR</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_CHARREF">XML_ERR_INVALID_CHARREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_DEC_CHARREF">XML_ERR_INVALID_DEC_CHARREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_ENCODING">XML_ERR_INVALID_ENCODING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_HEX_CHARREF">XML_ERR_INVALID_HEX_CHARREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_URI">XML_ERR_INVALID_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_LITERAL_NOT_FINISHED">XML_ERR_LITERAL_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_LITERAL_NOT_STARTED">XML_ERR_LITERAL_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_LTSLASH_REQUIRED">XML_ERR_LTSLASH_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_LT_IN_ATTRIBUTE">XML_ERR_LT_IN_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_LT_REQUIRED">XML_ERR_LT_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_MISPLACED_CDATA_END">XML_ERR_MISPLACED_CDATA_END</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_MISSING_ENCODING">XML_ERR_MISSING_ENCODING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_MIXED_NOT_FINISHED">XML_ERR_MIXED_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_MIXED_NOT_STARTED">XML_ERR_MIXED_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NAME_REQUIRED">XML_ERR_NAME_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NAME_TOO_LONG">XML_ERR_NAME_TOO_LONG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NMTOKEN_REQUIRED">XML_ERR_NMTOKEN_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NONE">XML_ERR_NONE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NOTATION_NOT_FINISHED">XML_ERR_NOTATION_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NOTATION_NOT_STARTED">XML_ERR_NOTATION_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NOTATION_PROCESSING">XML_ERR_NOTATION_PROCESSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NOT_STANDALONE">XML_ERR_NOT_STANDALONE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NOT_WELL_BALANCED">XML_ERR_NOT_WELL_BALANCED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NO_DTD">XML_ERR_NO_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NO_MEMORY">XML_ERR_NO_MEMORY</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NS_DECL_ERROR">XML_ERR_NS_DECL_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PCDATA_REQUIRED">XML_ERR_PCDATA_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_AT_EOF">XML_ERR_PEREF_AT_EOF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_IN_EPILOG">XML_ERR_PEREF_IN_EPILOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_IN_INT_SUBSET">XML_ERR_PEREF_IN_INT_SUBSET</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_IN_PROLOG">XML_ERR_PEREF_IN_PROLOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_NO_NAME">XML_ERR_PEREF_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_SEMICOL_MISSING">XML_ERR_PEREF_SEMICOL_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PI_NOT_FINISHED">XML_ERR_PI_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PI_NOT_STARTED">XML_ERR_PI_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PUBID_REQUIRED">XML_ERR_PUBID_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_RESERVED_XML_NAME">XML_ERR_RESERVED_XML_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_SEPARATOR_REQUIRED">XML_ERR_SEPARATOR_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_SPACE_REQUIRED">XML_ERR_SPACE_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_STANDALONE_VALUE">XML_ERR_STANDALONE_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_STRING_NOT_CLOSED">XML_ERR_STRING_NOT_CLOSED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_STRING_NOT_STARTED">XML_ERR_STRING_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_TAG_NAME_MISMATCH">XML_ERR_TAG_NAME_MISMATCH</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_TAG_NOT_FINISHED">XML_ERR_TAG_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_UNDECLARED_ENTITY">XML_ERR_UNDECLARED_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_UNKNOWN_ENCODING">XML_ERR_UNKNOWN_ENCODING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_UNKNOWN_VERSION">XML_ERR_UNKNOWN_VERSION</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_UNPARSED_ENTITY">XML_ERR_UNPARSED_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_UNSUPPORTED_ENCODING">XML_ERR_UNSUPPORTED_ENCODING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_URI_FRAGMENT">XML_ERR_URI_FRAGMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_URI_REQUIRED">XML_ERR_URI_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_USER_STOP">XML_ERR_USER_STOP</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_VALUE_REQUIRED">XML_ERR_VALUE_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_VERSION_MISMATCH">XML_ERR_VERSION_MISMATCH</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_VERSION_MISSING">XML_ERR_VERSION_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_WARNING">XML_ERR_WARNING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_XMLDECL_NOT_FINISHED">XML_ERR_XMLDECL_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_XMLDECL_NOT_STARTED">XML_ERR_XMLDECL_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_BUFFER">XML_FROM_BUFFER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_C14N">XML_FROM_C14N</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_CATALOG">XML_FROM_CATALOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_CHECK">XML_FROM_CHECK</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_DATATYPE">XML_FROM_DATATYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_DTD">XML_FROM_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_FTP">XML_FROM_FTP</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_HTML">XML_FROM_HTML</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_HTTP">XML_FROM_HTTP</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_I18N">XML_FROM_I18N</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_IO">XML_FROM_IO</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_MEMORY">XML_FROM_MEMORY</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_MODULE">XML_FROM_MODULE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_NAMESPACE">XML_FROM_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_NONE">XML_FROM_NONE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_OUTPUT">XML_FROM_OUTPUT</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_PARSER">XML_FROM_PARSER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_REGEXP">XML_FROM_REGEXP</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_RELAXNGP">XML_FROM_RELAXNGP</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_RELAXNGV">XML_FROM_RELAXNGV</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_SCHEMASP">XML_FROM_SCHEMASP</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_SCHEMASV">XML_FROM_SCHEMASV</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_SCHEMATRONV">XML_FROM_SCHEMATRONV</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_TREE">XML_FROM_TREE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_URI">XML_FROM_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_VALID">XML_FROM_VALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_WRITER">XML_FROM_WRITER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_XINCLUDE">XML_FROM_XINCLUDE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_XPATH">XML_FROM_XPATH</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_XPOINTER">XML_FROM_XPOINTER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_XSLT">XML_FROM_XSLT</a><br />
-<a href="html/libxml-xmlerror.html#XML_FTP_ACCNT">XML_FTP_ACCNT</a><br />
-<a href="html/libxml-xmlerror.html#XML_FTP_EPSV_ANSWER">XML_FTP_EPSV_ANSWER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FTP_PASV_ANSWER">XML_FTP_PASV_ANSWER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FTP_URL_SYNTAX">XML_FTP_URL_SYNTAX</a><br />
-<a href="html/libxml-xmlerror.html#XML_HTML_STRUCURE_ERROR">XML_HTML_STRUCURE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_HTML_UNKNOWN_TAG">XML_HTML_UNKNOWN_TAG</a><br />
-<a href="html/libxml-xmlerror.html#XML_HTTP_UNKNOWN_HOST">XML_HTTP_UNKNOWN_HOST</a><br />
-<a href="html/libxml-xmlerror.html#XML_HTTP_URL_SYNTAX">XML_HTTP_URL_SYNTAX</a><br />
-<a href="html/libxml-xmlerror.html#XML_HTTP_USE_IP">XML_HTTP_USE_IP</a><br />
-<a href="html/libxml-xmlerror.html#XML_I18N_CONV_FAILED">XML_I18N_CONV_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_I18N_EXCESS_HANDLER">XML_I18N_EXCESS_HANDLER</a><br />
-<a href="html/libxml-xmlerror.html#XML_I18N_NO_HANDLER">XML_I18N_NO_HANDLER</a><br />
-<a href="html/libxml-xmlerror.html#XML_I18N_NO_NAME">XML_I18N_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_I18N_NO_OUTPUT">XML_I18N_NO_OUTPUT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_BUFFER_FULL">XML_IO_BUFFER_FULL</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EACCES">XML_IO_EACCES</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EADDRINUSE">XML_IO_EADDRINUSE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EAFNOSUPPORT">XML_IO_EAFNOSUPPORT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EAGAIN">XML_IO_EAGAIN</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EALREADY">XML_IO_EALREADY</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EBADF">XML_IO_EBADF</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EBADMSG">XML_IO_EBADMSG</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EBUSY">XML_IO_EBUSY</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ECANCELED">XML_IO_ECANCELED</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ECHILD">XML_IO_ECHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ECONNREFUSED">XML_IO_ECONNREFUSED</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EDEADLK">XML_IO_EDEADLK</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EDOM">XML_IO_EDOM</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EEXIST">XML_IO_EEXIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EFAULT">XML_IO_EFAULT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EFBIG">XML_IO_EFBIG</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EINPROGRESS">XML_IO_EINPROGRESS</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EINTR">XML_IO_EINTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EINVAL">XML_IO_EINVAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EIO">XML_IO_EIO</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EISCONN">XML_IO_EISCONN</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EISDIR">XML_IO_EISDIR</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EMFILE">XML_IO_EMFILE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EMLINK">XML_IO_EMLINK</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EMSGSIZE">XML_IO_EMSGSIZE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENAMETOOLONG">XML_IO_ENAMETOOLONG</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENCODER">XML_IO_ENCODER</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENETUNREACH">XML_IO_ENETUNREACH</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENFILE">XML_IO_ENFILE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENODEV">XML_IO_ENODEV</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOENT">XML_IO_ENOENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOEXEC">XML_IO_ENOEXEC</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOLCK">XML_IO_ENOLCK</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOMEM">XML_IO_ENOMEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOSPC">XML_IO_ENOSPC</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOSYS">XML_IO_ENOSYS</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOTDIR">XML_IO_ENOTDIR</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOTEMPTY">XML_IO_ENOTEMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOTSOCK">XML_IO_ENOTSOCK</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOTSUP">XML_IO_ENOTSUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOTTY">XML_IO_ENOTTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENXIO">XML_IO_ENXIO</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EPERM">XML_IO_EPERM</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EPIPE">XML_IO_EPIPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ERANGE">XML_IO_ERANGE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EROFS">XML_IO_EROFS</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ESPIPE">XML_IO_ESPIPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ESRCH">XML_IO_ESRCH</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ETIMEDOUT">XML_IO_ETIMEDOUT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EXDEV">XML_IO_EXDEV</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_FLUSH">XML_IO_FLUSH</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_LOAD_ERROR">XML_IO_LOAD_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_NETWORK_ATTEMPT">XML_IO_NETWORK_ATTEMPT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_NO_INPUT">XML_IO_NO_INPUT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_UNKNOWN">XML_IO_UNKNOWN</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_WRITE">XML_IO_WRITE</a><br />
-<a href="html/libxml-xmlerror.html#XML_MODULE_CLOSE">XML_MODULE_CLOSE</a><br />
-<a href="html/libxml-xmlerror.html#XML_MODULE_OPEN">XML_MODULE_OPEN</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_ATTRIBUTE_REDEFINED">XML_NS_ERR_ATTRIBUTE_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_COLON">XML_NS_ERR_COLON</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_EMPTY">XML_NS_ERR_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_QNAME">XML_NS_ERR_QNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_UNDEFINED_NAMESPACE">XML_NS_ERR_UNDEFINED_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_XML_NAMESPACE">XML_NS_ERR_XML_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_REGEXP_COMPILE_ERROR">XML_REGEXP_COMPILE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ANYNAME_ATTR_ANCESTOR">XML_RNGP_ANYNAME_ATTR_ANCESTOR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_CHILDREN">XML_RNGP_ATTRIBUTE_CHILDREN</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_CONTENT">XML_RNGP_ATTRIBUTE_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_EMPTY">XML_RNGP_ATTRIBUTE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_NOOP">XML_RNGP_ATTRIBUTE_NOOP</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ATTR_CONFLICT">XML_RNGP_ATTR_CONFLICT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_CHOICE_CONTENT">XML_RNGP_CHOICE_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_CHOICE_EMPTY">XML_RNGP_CHOICE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_CREATE_FAILURE">XML_RNGP_CREATE_FAILURE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DATA_CONTENT">XML_RNGP_DATA_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DEFINE_CREATE_FAILED">XML_RNGP_DEFINE_CREATE_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DEFINE_EMPTY">XML_RNGP_DEFINE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DEFINE_MISSING">XML_RNGP_DEFINE_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DEFINE_NAME_MISSING">XML_RNGP_DEFINE_NAME_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DEF_CHOICE_AND_INTERLEAVE">XML_RNGP_DEF_CHOICE_AND_INTERLEAVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEMENT_CONTENT">XML_RNGP_ELEMENT_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEMENT_EMPTY">XML_RNGP_ELEMENT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEMENT_NAME">XML_RNGP_ELEMENT_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEMENT_NO_CONTENT">XML_RNGP_ELEMENT_NO_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEM_CONTENT_EMPTY">XML_RNGP_ELEM_CONTENT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEM_CONTENT_ERROR">XML_RNGP_ELEM_CONTENT_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEM_TEXT_CONFLICT">XML_RNGP_ELEM_TEXT_CONFLICT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EMPTY">XML_RNGP_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EMPTY_CONSTRUCT">XML_RNGP_EMPTY_CONSTRUCT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EMPTY_CONTENT">XML_RNGP_EMPTY_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EMPTY_NOT_EMPTY">XML_RNGP_EMPTY_NOT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ERROR_TYPE_LIB">XML_RNGP_ERROR_TYPE_LIB</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXCEPT_EMPTY">XML_RNGP_EXCEPT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXCEPT_MISSING">XML_RNGP_EXCEPT_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXCEPT_MULTIPLE">XML_RNGP_EXCEPT_MULTIPLE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXCEPT_NO_CONTENT">XML_RNGP_EXCEPT_NO_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXTERNALREF_EMTPY">XML_RNGP_EXTERNALREF_EMTPY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXTERNALREF_RECURSE">XML_RNGP_EXTERNALREF_RECURSE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXTERNAL_REF_FAILURE">XML_RNGP_EXTERNAL_REF_FAILURE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_FORBIDDEN_ATTRIBUTE">XML_RNGP_FORBIDDEN_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_FOREIGN_ELEMENT">XML_RNGP_FOREIGN_ELEMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_CONTENT">XML_RNGP_GRAMMAR_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_EMPTY">XML_RNGP_GRAMMAR_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_MISSING">XML_RNGP_GRAMMAR_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_NO_START">XML_RNGP_GRAMMAR_NO_START</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_GROUP_ATTR_CONFLICT">XML_RNGP_GROUP_ATTR_CONFLICT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_HREF_ERROR">XML_RNGP_HREF_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INCLUDE_EMPTY">XML_RNGP_INCLUDE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INCLUDE_FAILURE">XML_RNGP_INCLUDE_FAILURE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INCLUDE_RECURSE">XML_RNGP_INCLUDE_RECURSE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_ADD">XML_RNGP_INTERLEAVE_ADD</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_CREATE_FAILED">XML_RNGP_INTERLEAVE_CREATE_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_EMPTY">XML_RNGP_INTERLEAVE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_NO_CONTENT">XML_RNGP_INTERLEAVE_NO_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INVALID_DEFINE_NAME">XML_RNGP_INVALID_DEFINE_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INVALID_URI">XML_RNGP_INVALID_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INVALID_VALUE">XML_RNGP_INVALID_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_MISSING_HREF">XML_RNGP_MISSING_HREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_NAME_MISSING">XML_RNGP_NAME_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_NEED_COMBINE">XML_RNGP_NEED_COMBINE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_NOTALLOWED_NOT_EMPTY">XML_RNGP_NOTALLOWED_NOT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_NSNAME_ATTR_ANCESTOR">XML_RNGP_NSNAME_ATTR_ANCESTOR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_NSNAME_NO_NS">XML_RNGP_NSNAME_NO_NS</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARAM_FORBIDDEN">XML_RNGP_PARAM_FORBIDDEN</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARAM_NAME_MISSING">XML_RNGP_PARAM_NAME_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARENTREF_CREATE_FAILED">XML_RNGP_PARENTREF_CREATE_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NAME_INVALID">XML_RNGP_PARENTREF_NAME_INVALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NOT_EMPTY">XML_RNGP_PARENTREF_NOT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NO_NAME">XML_RNGP_PARENTREF_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NO_PARENT">XML_RNGP_PARENTREF_NO_PARENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARSE_ERROR">XML_RNGP_PARSE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME">XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_ATTR_ATTR">XML_RNGP_PAT_ATTR_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_ATTR_ELEM">XML_RNGP_PAT_ATTR_ELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ATTR">XML_RNGP_PAT_DATA_EXCEPT_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ELEM">XML_RNGP_PAT_DATA_EXCEPT_ELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_EMPTY">XML_RNGP_PAT_DATA_EXCEPT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_GROUP">XML_RNGP_PAT_DATA_EXCEPT_GROUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE">XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_LIST">XML_RNGP_PAT_DATA_EXCEPT_LIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ONEMORE">XML_RNGP_PAT_DATA_EXCEPT_ONEMORE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_REF">XML_RNGP_PAT_DATA_EXCEPT_REF</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_TEXT">XML_RNGP_PAT_DATA_EXCEPT_TEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_ATTR">XML_RNGP_PAT_LIST_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_ELEM">XML_RNGP_PAT_LIST_ELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_INTERLEAVE">XML_RNGP_PAT_LIST_INTERLEAVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_LIST">XML_RNGP_PAT_LIST_LIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_REF">XML_RNGP_PAT_LIST_REF</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_TEXT">XML_RNGP_PAT_LIST_TEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME">XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME">XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_ONEMORE_GROUP_ATTR">XML_RNGP_PAT_ONEMORE_GROUP_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR">XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_ATTR">XML_RNGP_PAT_START_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_DATA">XML_RNGP_PAT_START_DATA</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_EMPTY">XML_RNGP_PAT_START_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_GROUP">XML_RNGP_PAT_START_GROUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_INTERLEAVE">XML_RNGP_PAT_START_INTERLEAVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_LIST">XML_RNGP_PAT_START_LIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_ONEMORE">XML_RNGP_PAT_START_ONEMORE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_TEXT">XML_RNGP_PAT_START_TEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_VALUE">XML_RNGP_PAT_START_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PREFIX_UNDEFINED">XML_RNGP_PREFIX_UNDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_CREATE_FAILED">XML_RNGP_REF_CREATE_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_CYCLE">XML_RNGP_REF_CYCLE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_NAME_INVALID">XML_RNGP_REF_NAME_INVALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_NOT_EMPTY">XML_RNGP_REF_NOT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_NO_DEF">XML_RNGP_REF_NO_DEF</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_NO_NAME">XML_RNGP_REF_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_START_CHOICE_AND_INTERLEAVE">XML_RNGP_START_CHOICE_AND_INTERLEAVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_START_CONTENT">XML_RNGP_START_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_START_EMPTY">XML_RNGP_START_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_START_MISSING">XML_RNGP_START_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_TEXT_EXPECTED">XML_RNGP_TEXT_EXPECTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_TEXT_HAS_CHILD">XML_RNGP_TEXT_HAS_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_TYPE_MISSING">XML_RNGP_TYPE_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_TYPE_NOT_FOUND">XML_RNGP_TYPE_NOT_FOUND</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_TYPE_VALUE">XML_RNGP_TYPE_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_ATTRIBUTE">XML_RNGP_UNKNOWN_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_COMBINE">XML_RNGP_UNKNOWN_COMBINE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_CONSTRUCT">XML_RNGP_UNKNOWN_CONSTRUCT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_TYPE_LIB">XML_RNGP_UNKNOWN_TYPE_LIB</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_URI_FRAGMENT">XML_RNGP_URI_FRAGMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_URI_NOT_ABSOLUTE">XML_RNGP_URI_NOT_ABSOLUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_VALUE_EMPTY">XML_RNGP_VALUE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_VALUE_NO_CONTENT">XML_RNGP_VALUE_NO_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_XMLNS_NAME">XML_RNGP_XMLNS_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_XML_NS">XML_RNGP_XML_NS</a><br />
-<a href="html/libxml-xmlerror.html#XML_SAVE_CHAR_INVALID">XML_SAVE_CHAR_INVALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_SAVE_NOT_UTF8">XML_SAVE_NOT_UTF8</a><br />
-<a href="html/libxml-xmlerror.html#XML_SAVE_NO_DOCTYPE">XML_SAVE_NO_DOCTYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SAVE_UNKNOWN_ENCODING">XML_SAVE_UNKNOWN_ENCODING</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_AG_PROPS_CORRECT">XML_SCHEMAP_AG_PROPS_CORRECT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE">XML_SCHEMAP_ATTRFORMDEFAULT_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRGRP_NONAME_NOREF">XML_SCHEMAP_ATTRGRP_NONAME_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTR_NONAME_NOREF">XML_SCHEMAP_ATTR_NONAME_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT">XML_SCHEMAP_AU_PROPS_CORRECT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT_2">XML_SCHEMAP_AU_PROPS_CORRECT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_2">XML_SCHEMAP_A_PROPS_CORRECT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_3">XML_SCHEMAP_A_PROPS_CORRECT_3</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_ALL_LIMITED">XML_SCHEMAP_COS_ALL_LIMITED</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_2">XML_SCHEMAP_COS_CT_EXTENDS_1_2</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_COS_VALID_DEFAULT_1">XML_SCHEMAP_COS_VALID_DEFAULT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_4">XML_SCHEMAP_CT_PROPS_CORRECT_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_5">XML_SCHEMAP_CT_PROPS_CORRECT_5</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CVC_SIMPLE_TYPE">XML_SCHEMAP_CVC_SIMPLE_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_C_PROPS_CORRECT">XML_SCHEMAP_C_PROPS_CORRECT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a><br />
-<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 />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_EXTENSION_NO_BASE">XML_SCHEMAP_EXTENSION_NO_BASE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_2">XML_SCHEMAP_E_PROPS_CORRECT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_3">XML_SCHEMAP_E_PROPS_CORRECT_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_4">XML_SCHEMAP_E_PROPS_CORRECT_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_5">XML_SCHEMAP_E_PROPS_CORRECT_5</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_6">XML_SCHEMAP_E_PROPS_CORRECT_6</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_FACET_NO_VALUE">XML_SCHEMAP_FACET_NO_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_BUILD_IMPORT">XML_SCHEMAP_FAILED_BUILD_IMPORT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_LOAD">XML_SCHEMAP_FAILED_LOAD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_PARSE">XML_SCHEMAP_FAILED_PARSE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_GROUP_NONAME_NOREF">XML_SCHEMAP_GROUP_NONAME_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI">XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_REDEFINE_NSNAME">XML_SCHEMAP_IMPORT_REDEFINE_NSNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI">XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INTERNAL">XML_SCHEMAP_INTERNAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE">XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_COMBINATION">XML_SCHEMAP_INVALID_ATTR_COMBINATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION">XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_NAME">XML_SCHEMAP_INVALID_ATTR_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_BOOLEAN">XML_SCHEMAP_INVALID_BOOLEAN</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ENUM">XML_SCHEMAP_INVALID_ENUM</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_FACET">XML_SCHEMAP_INVALID_FACET</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_FACET_VALUE">XML_SCHEMAP_INVALID_FACET_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_MAXOCCURS">XML_SCHEMAP_INVALID_MAXOCCURS</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_MINOCCURS">XML_SCHEMAP_INVALID_MINOCCURS</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_REF_AND_SUBTYPE">XML_SCHEMAP_INVALID_REF_AND_SUBTYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_WHITE_SPACE">XML_SCHEMAP_INVALID_WHITE_SPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_1">XML_SCHEMAP_MG_PROPS_CORRECT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_2">XML_SCHEMAP_MG_PROPS_CORRECT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOATTR_NOREF">XML_SCHEMAP_NOATTR_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTATION_NO_NAME">XML_SCHEMAP_NOTATION_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTHING_TO_PARSE">XML_SCHEMAP_NOTHING_TO_PARSE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTYPE_NOREF">XML_SCHEMAP_NOTYPE_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOT_DETERMINISTIC">XML_SCHEMAP_NOT_DETERMINISTIC</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NO_XMLNS">XML_SCHEMAP_NO_XMLNS</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NO_XSI">XML_SCHEMAP_NO_XSI</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_PREFIX_UNDEFINED">XML_SCHEMAP_PREFIX_UNDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_1">XML_SCHEMAP_P_PROPS_CORRECT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_1">XML_SCHEMAP_P_PROPS_CORRECT_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_2">XML_SCHEMAP_P_PROPS_CORRECT_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_RECURSIVE">XML_SCHEMAP_RECURSIVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTRGROUP">XML_SCHEMAP_REDEFINED_ATTRGROUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ELEMENT">XML_SCHEMAP_REDEFINED_ELEMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_GROUP">XML_SCHEMAP_REDEFINED_GROUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_NOTATION">XML_SCHEMAP_REDEFINED_NOTATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_TYPE">XML_SCHEMAP_REDEFINED_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REF_AND_CONTENT">XML_SCHEMAP_REF_AND_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REF_AND_SUBTYPE">XML_SCHEMAP_REF_AND_SUBTYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REGEXP_INVALID">XML_SCHEMAP_REGEXP_INVALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_RESTRICTION_NONAME_NOREF">XML_SCHEMAP_RESTRICTION_NONAME_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_INVALID_VALUE">XML_SCHEMAP_S4S_ATTR_INVALID_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_MISSING">XML_SCHEMAP_S4S_ATTR_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED">XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_MISSING">XML_SCHEMAP_S4S_ELEM_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED">XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SIMPLETYPE_NONAME">XML_SCHEMAP_SIMPLETYPE_NONAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_1">XML_SCHEMAP_SRC_ATTRIBUTE_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_2">XML_SCHEMAP_SRC_ATTRIBUTE_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_1">XML_SCHEMAP_SRC_ATTRIBUTE_3_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_2">XML_SCHEMAP_SRC_ATTRIBUTE_3_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_4">XML_SCHEMAP_SRC_ATTRIBUTE_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_CT_1">XML_SCHEMAP_SRC_CT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_1">XML_SCHEMAP_SRC_ELEMENT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_1">XML_SCHEMAP_SRC_ELEMENT_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_2">XML_SCHEMAP_SRC_ELEMENT_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_3">XML_SCHEMAP_SRC_ELEMENT_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT">XML_SCHEMAP_SRC_IMPORT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_1">XML_SCHEMAP_SRC_IMPORT_1_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_2">XML_SCHEMAP_SRC_IMPORT_1_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2">XML_SCHEMAP_SRC_IMPORT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_1">XML_SCHEMAP_SRC_IMPORT_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_2">XML_SCHEMAP_SRC_IMPORT_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_INCLUDE">XML_SCHEMAP_SRC_INCLUDE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_REDEFINE">XML_SCHEMAP_SRC_REDEFINE</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 />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP">XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTR_CHILD">XML_SCHEMAP_UNKNOWN_ATTR_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_BASE_TYPE">XML_SCHEMAP_UNKNOWN_BASE_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_CHOICE_CHILD">XML_SCHEMAP_UNKNOWN_CHOICE_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD">XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ELEM_CHILD">XML_SCHEMAP_UNKNOWN_ELEM_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD">XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_FACET_CHILD">XML_SCHEMAP_UNKNOWN_FACET_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_FACET_TYPE">XML_SCHEMAP_UNKNOWN_FACET_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_GROUP_CHILD">XML_SCHEMAP_UNKNOWN_GROUP_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_IMPORT_CHILD">XML_SCHEMAP_UNKNOWN_IMPORT_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_LIST_CHILD">XML_SCHEMAP_UNKNOWN_LIST_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_NOTATION_CHILD">XML_SCHEMAP_UNKNOWN_NOTATION_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_REF">XML_SCHEMAP_UNKNOWN_REF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD">XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD">XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD">XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD">XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD</a><br />
-<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_WARN_ATTR_POINTLESS_PROH">XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_WARN_ATTR_REDECL_PROH">XML_SCHEMAP_WARN_ATTR_REDECL_PROH</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_WARN_SKIP_SCHEMA">XML_SCHEMAP_WARN_SKIP_SCHEMA</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_WARN_UNLOCATED_SCHEMA">XML_SCHEMAP_WARN_UNLOCATED_SCHEMA</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_SCHEMATRONV_ASSERT">XML_SCHEMATRONV_ASSERT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMATRONV_REPORT">XML_SCHEMATRONV_REPORT</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_ATTRIBUTE_1">XML_SCHEMAV_CVC_ATTRIBUTE_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_AU">XML_SCHEMAV_CVC_AU</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_1">XML_SCHEMAV_CVC_ELT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_2">XML_SCHEMAV_CVC_ELT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_1">XML_SCHEMAV_CVC_ELT_3_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_1">XML_SCHEMAV_CVC_ELT_3_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_2">XML_SCHEMAV_CVC_ELT_3_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_1">XML_SCHEMAV_CVC_ELT_4_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_2">XML_SCHEMAV_CVC_ELT_4_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_3">XML_SCHEMAV_CVC_ELT_4_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_1">XML_SCHEMAV_CVC_ELT_5_1_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_2">XML_SCHEMAV_CVC_ELT_5_1_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_1">XML_SCHEMAV_CVC_ELT_5_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_2">XML_SCHEMAV_CVC_ELT_5_2_2_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_6">XML_SCHEMAV_CVC_ELT_6</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_7">XML_SCHEMAV_CVC_ELT_7</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_IDC">XML_SCHEMAV_CVC_IDC</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_1">XML_SCHEMAV_CVC_TYPE_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_2">XML_SCHEMAV_CVC_TYPE_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_WILDCARD">XML_SCHEMAV_CVC_WILDCARD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_ELEMENT_CONTENT">XML_SCHEMAV_ELEMENT_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_HAVEDEFAULT">XML_SCHEMAV_HAVEDEFAULT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_INTERNAL">XML_SCHEMAV_INTERNAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_INVALIDATTR">XML_SCHEMAV_INVALIDATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_INVALIDELEM">XML_SCHEMAV_INVALIDELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_ISABSTRACT">XML_SCHEMAV_ISABSTRACT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_MISC">XML_SCHEMAV_MISC</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_MISSING">XML_SCHEMAV_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOROLLBACK">XML_SCHEMAV_NOROLLBACK</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOROOT">XML_SCHEMAV_NOROOT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTDETERMINIST">XML_SCHEMAV_NOTDETERMINIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTEMPTY">XML_SCHEMAV_NOTEMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTNILLABLE">XML_SCHEMAV_NOTNILLABLE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTSIMPLE">XML_SCHEMAV_NOTSIMPLE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTTOPLEVEL">XML_SCHEMAV_NOTTOPLEVEL</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTYPE">XML_SCHEMAV_NOTYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_UNDECLAREDELEM">XML_SCHEMAV_UNDECLAREDELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_VALUE">XML_SCHEMAV_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_WRONGELEM">XML_SCHEMAV_WRONGELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_TREE_INVALID_DEC">XML_TREE_INVALID_DEC</a><br />
-<a href="html/libxml-xmlerror.html#XML_TREE_INVALID_HEX">XML_TREE_INVALID_HEX</a><br />
-<a href="html/libxml-xmlerror.html#XML_TREE_NOT_UTF8">XML_TREE_NOT_UTF8</a><br />
-<a href="html/libxml-xmlerror.html#XML_TREE_UNTERMINATED_ENTITY">XML_TREE_UNTERMINATED_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_CATALOG_PI">XML_WAR_CATALOG_PI</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_ENTITY_REDEFINED">XML_WAR_ENTITY_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_LANG_VALUE">XML_WAR_LANG_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_NS_COLUMN">XML_WAR_NS_COLUMN</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_NS_URI">XML_WAR_NS_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_NS_URI_RELATIVE">XML_WAR_NS_URI_RELATIVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_SPACE_VALUE">XML_WAR_SPACE_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_UNDECLARED_ENTITY">XML_WAR_UNDECLARED_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_UNKNOWN_VERSION">XML_WAR_UNKNOWN_VERSION</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_BUILD_FAILED">XML_XINCLUDE_BUILD_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_DEPRECATED_NS">XML_XINCLUDE_DEPRECATED_NS</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_ENTITY_DEF_MISMATCH">XML_XINCLUDE_ENTITY_DEF_MISMATCH</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_FALLBACKS_IN_INCLUDE">XML_XINCLUDE_FALLBACKS_IN_INCLUDE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE">XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_FRAGMENT_ID">XML_XINCLUDE_FRAGMENT_ID</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_HREF_URI">XML_XINCLUDE_HREF_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_INCLUDE_IN_INCLUDE">XML_XINCLUDE_INCLUDE_IN_INCLUDE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_INVALID_CHAR">XML_XINCLUDE_INVALID_CHAR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_MULTIPLE_ROOT">XML_XINCLUDE_MULTIPLE_ROOT</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_NO_FALLBACK">XML_XINCLUDE_NO_FALLBACK</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_NO_HREF">XML_XINCLUDE_NO_HREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_PARSE_VALUE">XML_XINCLUDE_PARSE_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_RECURSION">XML_XINCLUDE_RECURSION</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_TEXT_DOCUMENT">XML_XINCLUDE_TEXT_DOCUMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_TEXT_FRAGMENT">XML_XINCLUDE_TEXT_FRAGMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_UNKNOWN_ENCODING">XML_XINCLUDE_UNKNOWN_ENCODING</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_XPTR_FAILED">XML_XINCLUDE_XPTR_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_XPTR_RESULT">XML_XINCLUDE_XPTR_RESULT</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_ENCODING_ERROR">XML_XPATH_ENCODING_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_EXPRESSION_OK">XML_XPATH_EXPRESSION_OK</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_EXPR_ERROR">XML_XPATH_EXPR_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_ARITY">XML_XPATH_INVALID_ARITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_CHAR_ERROR">XML_XPATH_INVALID_CHAR_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_CTXT_POSITION">XML_XPATH_INVALID_CTXT_POSITION</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_CTXT_SIZE">XML_XPATH_INVALID_CTXT_SIZE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_OPERAND">XML_XPATH_INVALID_OPERAND</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_PREDICATE_ERROR">XML_XPATH_INVALID_PREDICATE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_TYPE">XML_XPATH_INVALID_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_MEMORY_ERROR">XML_XPATH_MEMORY_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_NUMBER_ERROR">XML_XPATH_NUMBER_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_START_LITERAL_ERROR">XML_XPATH_START_LITERAL_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_UNCLOSED_ERROR">XML_XPATH_UNCLOSED_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_UNDEF_PREFIX_ERROR">XML_XPATH_UNDEF_PREFIX_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_UNDEF_VARIABLE_ERROR">XML_XPATH_UNDEF_VARIABLE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_UNFINISHED_LITERAL_ERROR">XML_XPATH_UNFINISHED_LITERAL_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_UNKNOWN_FUNC_ERROR">XML_XPATH_UNKNOWN_FUNC_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_VARIABLE_REF_ERROR">XML_XPATH_VARIABLE_REF_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_CHILDSEQ_START">XML_XPTR_CHILDSEQ_START</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_EVAL_FAILED">XML_XPTR_EVAL_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_EXTRA_OBJECTS">XML_XPTR_EXTRA_OBJECTS</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_RESOURCE_ERROR">XML_XPTR_RESOURCE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_SUB_RESOURCE_ERROR">XML_XPTR_SUB_RESOURCE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_SYNTAX_ERROR">XML_XPTR_SYNTAX_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_UNKNOWN_SCHEME">XML_XPTR_UNKNOWN_SCHEME</a><br />
-<a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-<a href="html/libxml-xmlerror.html#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlCopyError">xmlCopyError</a><br />
-<a href="html/libxml-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a><br />
-<a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br />
-<a href="html/libxml-xmlerror.html#xmlError">xmlError</a><br />
-<a href="html/libxml-xmlerror.html#xmlErrorDomain">xmlErrorDomain</a><br />
-<a href="html/libxml-xmlerror.html#xmlErrorLevel">xmlErrorLevel</a><br />
-<a href="html/libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a><br />
-<a href="html/libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlGetLastError">xmlGetLastError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</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-xmlerror.html#xmlParserValidityError">xmlParserValidityError</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-xmlerror.html#xmlResetError">xmlResetError</a><br />
-<a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
-</p><h2><a name="xmlexports" id="xmlexports">Module xmlexports</a>:</h2><p><a href="html/libxml-xmlexports.html#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a><br />
-<a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
-<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
-<a href="html/libxml-xmlexports.html#XMLPUBFUN">XMLPUBFUN</a><br />
-<a href="html/libxml-xmlexports.html#XMLPUBLIC">XMLPUBLIC</a><br />
-<a href="html/libxml-xmlexports.html#XMLPUBVAR">XMLPUBVAR</a><br />
-</p><h2><a name="xmlmemory" id="xmlmemory">Module xmlmemory</a>:</h2><p><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-<a href="html/libxml-xmlmemory.html#xmlCleanupMemory">xmlCleanupMemory</a><br />
-<a href="html/libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a><br />
-<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#xmlInitMemory">xmlInitMemory</a><br />
-<a href="html/libxml-globals.html#xmlMalloc">xmlMalloc</a><br />
-<a href="html/libxml-globals.html#xmlMallocAtomic">xmlMallocAtomic</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemFree">xmlMemFree</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#xmlMemRealloc">xmlMemRealloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a><br />
-<a href="html/libxml-globals.html#xmlMemStrdup">xmlMemStrdup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
-<a href="html/libxml-globals.html#xmlRealloc">xmlRealloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a><br />
-</p><h2><a name="xmlmodule" id="xmlmodule">Module xmlmodule</a>:</h2><p><a href="html/libxml-xmlmodule.html#XML_MODULE_LAZY">XML_MODULE_LAZY</a><br />
-<a href="html/libxml-xmlmodule.html#XML_MODULE_LOCAL">XML_MODULE_LOCAL</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModule">xmlModule</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleClose">xmlModuleClose</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleFree">xmlModuleFree</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOption">xmlModuleOption</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-</p><h2><a name="xmlreader" id="xmlreader">Module xmlreader</a>:</h2><p><a href="html/libxml-xmlreader.html#XML_PARSER_DEFAULTATTRS">XML_PARSER_DEFAULTATTRS</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_LOADDTD">XML_PARSER_LOADDTD</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_SEVERITY_ERROR">XML_PARSER_SEVERITY_ERROR</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_SEVERITY_VALIDITY_ERROR">XML_PARSER_SEVERITY_VALIDITY_ERROR</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_SEVERITY_VALIDITY_WARNING">XML_PARSER_SEVERITY_VALIDITY_WARNING</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_SEVERITY_WARNING">XML_PARSER_SEVERITY_WARNING</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_SUBST_ENTITIES">XML_PARSER_SUBST_ENTITIES</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_VALIDATE">XML_PARSER_VALIDATE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_ATTRIBUTE">XML_READER_TYPE_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_CDATA">XML_READER_TYPE_CDATA</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_COMMENT">XML_READER_TYPE_COMMENT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_DOCUMENT">XML_READER_TYPE_DOCUMENT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_DOCUMENT_FRAGMENT">XML_READER_TYPE_DOCUMENT_FRAGMENT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_DOCUMENT_TYPE">XML_READER_TYPE_DOCUMENT_TYPE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_ELEMENT">XML_READER_TYPE_ELEMENT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_END_ELEMENT">XML_READER_TYPE_END_ELEMENT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_END_ENTITY">XML_READER_TYPE_END_ENTITY</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_ENTITY">XML_READER_TYPE_ENTITY</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_ENTITY_REFERENCE">XML_READER_TYPE_ENTITY_REFERENCE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_NONE">XML_READER_TYPE_NONE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_NOTATION">XML_READER_TYPE_NOTATION</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_PROCESSING_INSTRUCTION">XML_READER_TYPE_PROCESSING_INSTRUCTION</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_SIGNIFICANT_WHITESPACE">XML_READER_TYPE_SIGNIFICANT_WHITESPACE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_TEXT">XML_READER_TYPE_TEXT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_WHITESPACE">XML_READER_TYPE_WHITESPACE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_XML_DECLARATION">XML_READER_TYPE_XML_DECLARATION</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_CLOSED">XML_TEXTREADER_MODE_CLOSED</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_EOF">XML_TEXTREADER_MODE_EOF</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_ERROR">XML_TEXTREADER_MODE_ERROR</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_INITIAL">XML_TEXTREADER_MODE_INITIAL</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_INTERACTIVE">XML_TEXTREADER_MODE_INTERACTIVE</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_READING">XML_TEXTREADER_MODE_READING</a><br />
-<a href="html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a><br />
-<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#xmlParserProperties">xmlParserProperties</a><br />
-<a href="html/libxml-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForMemory">xmlReaderForMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewMemory">xmlReaderNewMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewWalker">xmlReaderNewWalker</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderWalker">xmlReaderWalker</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReader">xmlTextReader</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserColumnNumber">xmlTextReaderGetParserColumnNumber</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserLineNumber">xmlTextReaderGetParserLineNumber</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderHasAttributes">xmlTextReaderHasAttributes</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocalName">xmlTextReaderLocalName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMode">xmlTextReaderMode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToFirstAttribute">xmlTextReaderMoveToFirstAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToNextAttribute">xmlTextReaderMoveToNextAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderName">xmlTextReaderName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNamespaceUri">xmlTextReaderNamespaceUri</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-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPrefix">xmlTextReaderPrefix</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-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</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#xmlTextReaderReadState">xmlTextReaderReadState</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetup">xmlTextReaderSetup</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-</p><h2><a name="xmlregexp" id="xmlregexp">Module xmlregexp</a>:</h2><p><a href="html/libxml-xmlregexp.html#XML_EXP_ATOM">XML_EXP_ATOM</a><br />
-<a href="html/libxml-xmlregexp.html#XML_EXP_COUNT">XML_EXP_COUNT</a><br />
-<a href="html/libxml-xmlregexp.html#XML_EXP_EMPTY">XML_EXP_EMPTY</a><br />
-<a href="html/libxml-xmlregexp.html#XML_EXP_FORBID">XML_EXP_FORBID</a><br />
-<a href="html/libxml-xmlregexp.html#XML_EXP_OR">XML_EXP_OR</a><br />
-<a href="html/libxml-xmlregexp.html#XML_EXP_SEQ">XML_EXP_SEQ</a><br />
-<a href="html/libxml-xmlregexp.html#emptyExp">emptyExp</a><br />
-<a href="html/libxml-xmlregexp.html#forbiddenExp">forbiddenExp</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpDump">xmlExpDump</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpFree">xmlExpFree</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpFreeCtxt">xmlExpFreeCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpIsNillable">xmlExpIsNillable</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpMaxToken">xmlExpMaxToken</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewAtom">xmlExpNewAtom</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewCtxt">xmlExpNewCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNode">xmlExpNode</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNodeType">xmlExpNodeType</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpRef">xmlExpRef</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</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-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegFreeRegexp">xmlRegFreeRegexp</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexp">xmlRegexp</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a><br />
-</p><h2><a name="xmlsave" id="xmlsave">Module xmlsave</a>:</h2><p><a href="html/libxml-xmlsave.html#XML_SAVE_AS_HTML">XML_SAVE_AS_HTML</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_AS_XML">XML_SAVE_AS_XML</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_FORMAT">XML_SAVE_FORMAT</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_NO_DECL">XML_SAVE_NO_DECL</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_NO_EMPTY">XML_SAVE_NO_EMPTY</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_NO_XHTML">XML_SAVE_NO_XHTML</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_WSNONSIG">XML_SAVE_WSNONSIG</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_XHTML">XML_SAVE_XHTML</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveClose">xmlSaveClose</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveFlush">xmlSaveFlush</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveOption">xmlSaveOption</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 />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-</p><h2><a name="xmlschemas" id="xmlschemas">Module xmlschemas</a>:</h2><p><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 />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_CONSTRUCT">XML_SCHEMAS_ERR_CONSTRUCT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ELEMCONT">XML_SCHEMAS_ERR_ELEMCONT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_EXTRACONTENT">XML_SCHEMAS_ERR_EXTRACONTENT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_FACET">XML_SCHEMAS_ERR_FACET</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_HAVEDEFAULT">XML_SCHEMAS_ERR_HAVEDEFAULT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_INTERNAL">XML_SCHEMAS_ERR_INTERNAL</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_INVALIDATTR">XML_SCHEMAS_ERR_INVALIDATTR</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_INVALIDELEM">XML_SCHEMAS_ERR_INVALIDELEM</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ISABSTRACT">XML_SCHEMAS_ERR_ISABSTRACT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_MISSING">XML_SCHEMAS_ERR_MISSING</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOROLLBACK">XML_SCHEMAS_ERR_NOROLLBACK</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOROOT">XML_SCHEMAS_ERR_NOROOT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTDETERMINIST">XML_SCHEMAS_ERR_NOTDETERMINIST</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTEMPTY">XML_SCHEMAS_ERR_NOTEMPTY</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTNILLABLE">XML_SCHEMAS_ERR_NOTNILLABLE</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTSIMPLE">XML_SCHEMAS_ERR_NOTSIMPLE</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTTOPLEVEL">XML_SCHEMAS_ERR_NOTTOPLEVEL</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTYPE">XML_SCHEMAS_ERR_NOTYPE</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_OK">XML_SCHEMAS_ERR_OK</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_UNDECLAREDELEM">XML_SCHEMAS_ERR_UNDECLAREDELEM</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_VALUE">XML_SCHEMAS_ERR_VALUE</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_WRONGELEM">XML_SCHEMAS_ERR_WRONGELEM</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchema">xmlSchema</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaIsValid">xmlSchemaIsValid</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidError">xmlSchemaValidError</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateFile">xmlSchemaValidateFile</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</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#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a><br />
-<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#XML_SCHEMA_WHITESPACE_COLLAPSE">XML_SCHEMA_WHITESPACE_COLLAPSE</a><br />
-<a href="html/libxml-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_PRESERVE">XML_SCHEMA_WHITESPACE_PRESERVE</a><br />
-<a href="html/libxml-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_REPLACE">XML_SCHEMA_WHITESPACE_REPLACE</a><br />
-<a href="html/libxml-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_UNKNOWN">XML_SCHEMA_WHITESPACE_UNKNOWN</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-xmlschemastypes.html#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</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#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetValType">xmlSchemaGetValType</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#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</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-xmlschemastypes.html#xmlSchemaValueAppend">xmlSchemaValueAppend</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</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 />
-<a href="html/libxml-xmlstring.html#xmlCharStrdup">xmlCharStrdup</a><br />
-<a href="html/libxml-xmlstring.html#xmlCharStrndup">xmlCharStrndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcasecmp">xmlStrcasecmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcasestr">xmlStrcasestr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcmp">xmlStrcmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncasecmp">xmlStrncasecmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncmp">xmlStrncmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrndup">xmlStrndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Size">xmlUTF8Size</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strndup">xmlUTF8Strndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-</p><h2><a name="xmlunicode" id="xmlunicode">Module xmlunicode</a>:</h2><p><a href="html/libxml-xmlunicode.html#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsAlphabeticPresentationForms">xmlUCSIsAlphabeticPresentationForms</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsArabic">xmlUCSIsArabic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsArabicPresentationFormsA">xmlUCSIsArabicPresentationFormsA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsArabicPresentationFormsB">xmlUCSIsArabicPresentationFormsB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsArmenian">xmlUCSIsArmenian</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsArrows">xmlUCSIsArrows</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBasicLatin">xmlUCSIsBasicLatin</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBengali">xmlUCSIsBengali</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBlock">xmlUCSIsBlock</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBlockElements">xmlUCSIsBlockElements</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBopomofo">xmlUCSIsBopomofo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBopomofoExtended">xmlUCSIsBopomofoExtended</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBoxDrawing">xmlUCSIsBoxDrawing</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBraillePatterns">xmlUCSIsBraillePatterns</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBuhid">xmlUCSIsBuhid</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsByzantineMusicalSymbols">xmlUCSIsByzantineMusicalSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibility">xmlUCSIsCJKCompatibility</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityForms">xmlUCSIsCJKCompatibilityForms</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographs">xmlUCSIsCJKCompatibilityIdeographs</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographsSupplement">xmlUCSIsCJKCompatibilityIdeographsSupplement</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKRadicalsSupplement">xmlUCSIsCJKRadicalsSupplement</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKSymbolsandPunctuation">xmlUCSIsCJKSymbolsandPunctuation</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographs">xmlUCSIsCJKUnifiedIdeographs</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionA">xmlUCSIsCJKUnifiedIdeographsExtensionA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionB">xmlUCSIsCJKUnifiedIdeographsExtensionB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCat">xmlUCSIsCat</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatC">xmlUCSIsCatC</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatCc">xmlUCSIsCatCc</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatCf">xmlUCSIsCatCf</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatCo">xmlUCSIsCatCo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatCs">xmlUCSIsCatCs</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatL">xmlUCSIsCatL</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatLl">xmlUCSIsCatLl</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatLm">xmlUCSIsCatLm</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatLo">xmlUCSIsCatLo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatLt">xmlUCSIsCatLt</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatLu">xmlUCSIsCatLu</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatM">xmlUCSIsCatM</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatMc">xmlUCSIsCatMc</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatMe">xmlUCSIsCatMe</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatMn">xmlUCSIsCatMn</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatN">xmlUCSIsCatN</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatNd">xmlUCSIsCatNd</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatNl">xmlUCSIsCatNl</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatNo">xmlUCSIsCatNo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatP">xmlUCSIsCatP</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPc">xmlUCSIsCatPc</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPd">xmlUCSIsCatPd</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPe">xmlUCSIsCatPe</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPf">xmlUCSIsCatPf</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPi">xmlUCSIsCatPi</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPo">xmlUCSIsCatPo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPs">xmlUCSIsCatPs</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatS">xmlUCSIsCatS</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatSc">xmlUCSIsCatSc</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatSk">xmlUCSIsCatSk</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatSm">xmlUCSIsCatSm</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatSo">xmlUCSIsCatSo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatZ">xmlUCSIsCatZ</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatZl">xmlUCSIsCatZl</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatZp">xmlUCSIsCatZp</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatZs">xmlUCSIsCatZs</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCherokee">xmlUCSIsCherokee</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarks">xmlUCSIsCombiningDiacriticalMarks</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarksforSymbols">xmlUCSIsCombiningDiacriticalMarksforSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningHalfMarks">xmlUCSIsCombiningHalfMarks</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningMarksforSymbols">xmlUCSIsCombiningMarksforSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsControlPictures">xmlUCSIsControlPictures</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCurrencySymbols">xmlUCSIsCurrencySymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCypriotSyllabary">xmlUCSIsCypriotSyllabary</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCyrillic">xmlUCSIsCyrillic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCyrillicSupplement">xmlUCSIsCyrillicSupplement</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsDeseret">xmlUCSIsDeseret</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsDevanagari">xmlUCSIsDevanagari</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsDingbats">xmlUCSIsDingbats</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsEnclosedAlphanumerics">xmlUCSIsEnclosedAlphanumerics</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsEnclosedCJKLettersandMonths">xmlUCSIsEnclosedCJKLettersandMonths</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsEthiopic">xmlUCSIsEthiopic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGeneralPunctuation">xmlUCSIsGeneralPunctuation</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGeometricShapes">xmlUCSIsGeometricShapes</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGeorgian">xmlUCSIsGeorgian</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGothic">xmlUCSIsGothic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGreek">xmlUCSIsGreek</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGreekExtended">xmlUCSIsGreekExtended</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGreekandCoptic">xmlUCSIsGreekandCoptic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGujarati">xmlUCSIsGujarati</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGurmukhi">xmlUCSIsGurmukhi</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHalfwidthandFullwidthForms">xmlUCSIsHalfwidthandFullwidthForms</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHangulCompatibilityJamo">xmlUCSIsHangulCompatibilityJamo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHangulJamo">xmlUCSIsHangulJamo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHangulSyllables">xmlUCSIsHangulSyllables</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHanunoo">xmlUCSIsHanunoo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHebrew">xmlUCSIsHebrew</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHighPrivateUseSurrogates">xmlUCSIsHighPrivateUseSurrogates</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHighSurrogates">xmlUCSIsHighSurrogates</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHiragana">xmlUCSIsHiragana</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsIPAExtensions">xmlUCSIsIPAExtensions</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsIdeographicDescriptionCharacters">xmlUCSIsIdeographicDescriptionCharacters</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKanbun">xmlUCSIsKanbun</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKangxiRadicals">xmlUCSIsKangxiRadicals</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKannada">xmlUCSIsKannada</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKatakana">xmlUCSIsKatakana</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKatakanaPhoneticExtensions">xmlUCSIsKatakanaPhoneticExtensions</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKhmer">xmlUCSIsKhmer</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKhmerSymbols">xmlUCSIsKhmerSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLao">xmlUCSIsLao</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLatin1Supplement">xmlUCSIsLatin1Supplement</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedA">xmlUCSIsLatinExtendedA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedAdditional">xmlUCSIsLatinExtendedAdditional</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedB">xmlUCSIsLatinExtendedB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLetterlikeSymbols">xmlUCSIsLetterlikeSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLimbu">xmlUCSIsLimbu</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLinearBIdeograms">xmlUCSIsLinearBIdeograms</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLinearBSyllabary">xmlUCSIsLinearBSyllabary</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLowSurrogates">xmlUCSIsLowSurrogates</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMalayalam">xmlUCSIsMalayalam</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMathematicalAlphanumericSymbols">xmlUCSIsMathematicalAlphanumericSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMathematicalOperators">xmlUCSIsMathematicalOperators</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsA">xmlUCSIsMiscellaneousMathematicalSymbolsA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsB">xmlUCSIsMiscellaneousMathematicalSymbolsB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousSymbols">xmlUCSIsMiscellaneousSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousSymbolsandArrows">xmlUCSIsMiscellaneousSymbolsandArrows</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousTechnical">xmlUCSIsMiscellaneousTechnical</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMongolian">xmlUCSIsMongolian</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMusicalSymbols">xmlUCSIsMusicalSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMyanmar">xmlUCSIsMyanmar</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsNumberForms">xmlUCSIsNumberForms</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsOgham">xmlUCSIsOgham</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsOldItalic">xmlUCSIsOldItalic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsOpticalCharacterRecognition">xmlUCSIsOpticalCharacterRecognition</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsOriya">xmlUCSIsOriya</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsOsmanya">xmlUCSIsOsmanya</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsPhoneticExtensions">xmlUCSIsPhoneticExtensions</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsPrivateUse">xmlUCSIsPrivateUse</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsPrivateUseArea">xmlUCSIsPrivateUseArea</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsRunic">xmlUCSIsRunic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsShavian">xmlUCSIsShavian</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSinhala">xmlUCSIsSinhala</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSmallFormVariants">xmlUCSIsSmallFormVariants</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSpacingModifierLetters">xmlUCSIsSpacingModifierLetters</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSpecials">xmlUCSIsSpecials</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSuperscriptsandSubscripts">xmlUCSIsSuperscriptsandSubscripts</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementalArrowsA">xmlUCSIsSupplementalArrowsA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementalArrowsB">xmlUCSIsSupplementalArrowsB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementalMathematicalOperators">xmlUCSIsSupplementalMathematicalOperators</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaA">xmlUCSIsSupplementaryPrivateUseAreaA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaB">xmlUCSIsSupplementaryPrivateUseAreaB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSyriac">xmlUCSIsSyriac</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTagalog">xmlUCSIsTagalog</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTagbanwa">xmlUCSIsTagbanwa</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTags">xmlUCSIsTags</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTaiLe">xmlUCSIsTaiLe</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTaiXuanJingSymbols">xmlUCSIsTaiXuanJingSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTamil">xmlUCSIsTamil</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTelugu">xmlUCSIsTelugu</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsThaana">xmlUCSIsThaana</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsThai">xmlUCSIsThai</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTibetan">xmlUCSIsTibetan</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsUgaritic">xmlUCSIsUgaritic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsUnifiedCanadianAboriginalSyllabics">xmlUCSIsUnifiedCanadianAboriginalSyllabics</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsVariationSelectors">xmlUCSIsVariationSelectors</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsVariationSelectorsSupplement">xmlUCSIsVariationSelectorsSupplement</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsYiRadicals">xmlUCSIsYiRadicals</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsYiSyllables">xmlUCSIsYiSyllables</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsYijingHexagramSymbols">xmlUCSIsYijingHexagramSymbols</a><br />
-</p><h2><a name="xmlversion" id="xmlversion">Module xmlversion</a>:</h2><p><a href="html/libxml-xmlversion.html#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a><br />
-<a href="html/libxml-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_VERSION">LIBXML_VERSION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#WITHOUT_TRIO">WITHOUT_TRIO</a><br />
-<a href="html/libxml-xmlversion.html#WITH_TRIO">WITH_TRIO</a><br />
-<a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
-</p><h2><a name="xmlwriter" id="xmlwriter">Module xmlwriter</a>:</h2><p><a href="html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
-<a href="html/libxml-xmlwriter.html#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 />
-<a href="html/libxml-xmlwriter.html#xmlTextWriter">xmlTextWriter</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndAttribute">xmlTextWriterEndAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndComment">xmlTextWriterEndComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTD">xmlTextWriterEndDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDAttlist">xmlTextWriterEndDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDElement">xmlTextWriterEndDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDEntity">xmlTextWriterEndDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndPI">xmlTextWriterEndPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterFlush">xmlTextWriterFlush</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartComment">xmlTextWriterStartComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartPI">xmlTextWriterStartPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</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-xmlwriter.html#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteString">xmlTextWriterWriteString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a><br />
-</p><h2><a name="xpath" id="xpath">Module xpath</a>:</h2><p><a href="html/libxml-xpath.html#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a><br />
-<a href="html/libxml-xpath.html#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a><br />
-<a href="html/libxml-xpath.html#XPATH_BOOLEAN">XPATH_BOOLEAN</a><br />
-<a href="html/libxml-xpath.html#XPATH_ENCODING_ERROR">XPATH_ENCODING_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_EXPRESSION_OK">XPATH_EXPRESSION_OK</a><br />
-<a href="html/libxml-xpath.html#XPATH_EXPR_ERROR">XPATH_EXPR_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_FORBID_VARIABLE_ERROR">XPATH_FORBID_VARIABLE_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_CHAR_ERROR">XPATH_INVALID_CHAR_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_CTXT">XPATH_INVALID_CTXT</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_CTXT_POSITION">XPATH_INVALID_CTXT_POSITION</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_CTXT_SIZE">XPATH_INVALID_CTXT_SIZE</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_OPERAND">XPATH_INVALID_OPERAND</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_PREDICATE_ERROR">XPATH_INVALID_PREDICATE_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a><br />
-<a href="html/libxml-xpath.html#XPATH_LOCATIONSET">XPATH_LOCATIONSET</a><br />
-<a href="html/libxml-xpath.html#XPATH_MEMORY_ERROR">XPATH_MEMORY_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_NODESET">XPATH_NODESET</a><br />
-<a href="html/libxml-xpath.html#XPATH_NUMBER">XPATH_NUMBER</a><br />
-<a href="html/libxml-xpath.html#XPATH_NUMBER_ERROR">XPATH_NUMBER_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_OP_LIMIT_EXCEEDED">XPATH_OP_LIMIT_EXCEEDED</a><br />
-<a href="html/libxml-xpath.html#XPATH_POINT">XPATH_POINT</a><br />
-<a href="html/libxml-xpath.html#XPATH_RANGE">XPATH_RANGE</a><br />
-<a href="html/libxml-xpath.html#XPATH_RECURSION_LIMIT_EXCEEDED">XPATH_RECURSION_LIMIT_EXCEEDED</a><br />
-<a href="html/libxml-xpath.html#XPATH_STACK_ERROR">XPATH_STACK_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_START_LITERAL_ERROR">XPATH_START_LITERAL_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_STRING">XPATH_STRING</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNCLOSED_ERROR">XPATH_UNCLOSED_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNDEFINED">XPATH_UNDEFINED</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNDEF_PREFIX_ERROR">XPATH_UNDEF_PREFIX_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNDEF_VARIABLE_ERROR">XPATH_UNDEF_VARIABLE_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNFINISHED_LITERAL_ERROR">XPATH_UNFINISHED_LITERAL_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNKNOWN_FUNC_ERROR">XPATH_UNKNOWN_FUNC_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_USERS">XPATH_USERS</a><br />
-<a href="html/libxml-xpath.html#XPATH_VARIABLE_REF_ERROR">XPATH_VARIABLE_REF_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_XSLT_TREE">XPATH_XSLT_TREE</a><br />
-<a href="html/libxml-xpath.html#XPTR_RESOURCE_ERROR">XPTR_RESOURCE_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPTR_SUB_RESOURCE_ERROR">XPTR_SUB_RESOURCE_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPTR_SYNTAX_ERROR">XPTR_SYNTAX_ERROR</a><br />
-<a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathAxis">_xmlXPathAxis</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathFunct">_xmlXPathFunct</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathObject">_xmlXPathObject</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathType">_xmlXPathType</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathVariable">_xmlXPathVariable</a><br />
-<a href="html/libxml-xpath.html#xmlNodeSet">xmlNodeSet</a><br />
-<a href="html/libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxis">xmlXPathAxis</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisPtr">xmlXPathAxisPtr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastBooleanToNumber">xmlXPathCastBooleanToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToNumber">xmlXPathCastNodeSetToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastStringToBoolean">xmlXPathCastStringToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToNumber">xmlXPathCastToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToString">xmlXPathCastToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCmpNodes">xmlXPathCmpNodes</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContext">xmlXPathContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertNumber">xmlXPathConvertNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertString">xmlXPathConvertString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathError">xmlXPathError</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#xmlXPathEvalFunc">xmlXPathEvalFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFuncPtr">xmlXPathFuncPtr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFunct">xmlXPathFunct</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathInit">xmlXPathInit</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNAN">xmlXPathNAN</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNINF">xmlXPathNINF</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-<a href="html/libxml-xpath.html#xmlXPathObject">xmlXPathObject</a><br />
-<a href="html/libxml-xpath.html#xmlXPathObjectCopy">xmlXPathObjectCopy</a><br />
-<a href="html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathObjectType">xmlXPathObjectType</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-<a href="html/libxml-xpath.html#xmlXPathPINF">xmlXPathPINF</a><br />
-<a href="html/libxml-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathSetContextNode">xmlXPathSetContextNode</a><br />
-<a href="html/libxml-xpath.html#xmlXPathType">xmlXPathType</a><br />
-<a href="html/libxml-xpath.html#xmlXPathTypePtr">xmlXPathTypePtr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariable">xmlXPathVariable</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariablePtr">xmlXPathVariablePtr</a><br />
-</p><h2><a name="xpathInternals" id="xpathInternals">Module xpathInternals</a>:</h2><p><a href="html/libxml-xpathInternals.html#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a><br />
-<a href="html/libxml-xpathInternals.html#CAST_TO_NUMBER">CAST_TO_NUMBER</a><br />
-<a href="html/libxml-xpathInternals.html#CAST_TO_STRING">CAST_TO_STRING</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_ARITY">CHECK_ARITY</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_ERROR">CHECK_ERROR</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_ERROR0">CHECK_ERROR0</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_TYPE">CHECK_TYPE</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_TYPE0">CHECK_TYPE0</a><br />
-<a href="html/libxml-xpathInternals.html#XP_ERROR">XP_ERROR</a><br />
-<a href="html/libxml-xpathInternals.html#XP_ERROR0">XP_ERROR0</a><br />
-<a href="html/libxml-xpathInternals.html#valuePop">valuePop</a><br />
-<a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathConcatFunction">xmlXPathConcatFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathContainsFunction">xmlXPathContainsFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCountFunction">xmlXPathCountFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathErr">xmlXPathErr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvalExpr">xmlXPathEvalExpr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFalseFunction">xmlXPathFalseFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathGetContextNode">xmlXPathGetContextNode</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathGetDocument">xmlXPathGetDocument</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathGetError">xmlXPathGetError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIsNodeType">xmlXPathIsNodeType</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLastFunction">xmlXPathLastFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</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#xmlXPathNewParserContext">xmlXPathNewParserContext</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#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextChild">xmlXPathNextChild</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextParent">xmlXPathNextParent</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNotFunction">xmlXPathNotFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNsLookup">xmlXPathNsLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNumberFunction">xmlXPathNumberFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseName">xmlXPathParseName</a><br />
-<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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathPositionFunction">xmlXPathPositionFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnExternal">xmlXPathReturnExternal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnFalse">xmlXPathReturnFalse</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a><br />
-<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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoot">xmlXPathRoot</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSetArityError">xmlXPathSetArityError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSetError">xmlXPathSetError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSetTypeError">xmlXPathSetTypeError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSumFunction">xmlXPathSumFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrueFunction">xmlXPathTrueFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapCString">xmlXPathWrapCString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapExternal">xmlXPathWrapExternal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapString">xmlXPathWrapString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPatherror">xmlXPatherror</a><br />
-</p><h2><a name="xpointer" id="xpointer">Module xpointer</a>:</h2><p><a href="html/libxml-xpointer.html#_xmlLocationSet">_xmlLocationSet</a><br />
-<a href="html/libxml-xpointer.html#xmlLocationSet">xmlLocationSet</a><br />
-<a href="html/libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</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#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</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#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a><br />
-</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/APIfunctions.html b/doc/APIfunctions.html
deleted file mode 100644
index 5f93b20..0000000
--- a/doc/APIfunctions.html
+++ /dev/null
@@ -1,2348 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>List of function manipulating types in libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of function manipulating types in libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type ...:</h2><p><a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br />
-<a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</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-schematron.html#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</p><h2>Type FILE *:</h2><p><a href="html/libxml-HTMLtree.html#htmlDocDump">htmlDocDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogDump">xmlACatalogDump</a><br />
-<a href="html/libxml-tree.html#xmlBufferDump">xmlBufferDump</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogDump">xmlCatalogDump</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocument">xmlDebugDumpDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpEntities">xmlDebugDumpEntities</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNode">xmlDebugDumpNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a><br />
-<a href="html/libxml-tree.html#xmlDocDump">xmlDocDump</a><br />
-<a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a><br />
-<a href="html/libxml-tree.html#xmlElemDump">xmlElemDump</a><br />
-<a href="html/libxml-debugXML.html#xmlLsOneNode">xmlLsOneNode</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a><br />
-<a href="html/libxml-uri.html#xmlPrintURI">xmlPrintURI</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGDump">xmlRelaxNGDump</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a><br />
-<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
-</p><h2>Type char **:</h2><p><a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</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-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-</p><h2>Type char const *:</h2><p><a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a><br />
-</p><h2>Type const char **:</h2><p><a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a><br />
-</p><h2>Type const htmlElemDesc *:</h2><p><a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a><br />
-</p><h2>Type const htmlNodePtr:</h2><p><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-</p><h2>Type const unsigned char *:</h2><p><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<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-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-</p><h2>Type const void *:</h2><p><a href="html/libxml-list.html#xmlListDataCompare">xmlListDataCompare</a><br />
-<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-</p><h2>Type const xlinkHRef:</h2><p><a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-</p><h2>Type const xlinkHRef *:</h2><p><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-</p><h2>Type const xlinkRole:</h2><p><a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-</p><h2>Type const xlinkRole *:</h2><p><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-</p><h2>Type const xlinkTitle:</h2><p><a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-</p><h2>Type const xlinkTitle *:</h2><p><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-</p><h2>Type const xmlBuf *:</h2><p><a href="html/libxml-tree.html#xmlBufContent">xmlBufContent</a><br />
-</p><h2>Type const xmlBufPtr:</h2><p><a href="html/libxml-tree.html#xmlBufUse">xmlBufUse</a><br />
-</p><h2>Type const xmlBuffer *:</h2><p><a href="html/libxml-tree.html#xmlBufferContent">xmlBufferContent</a><br />
-<a href="html/libxml-tree.html#xmlBufferLength">xmlBufferLength</a><br />
-</p><h2>Type const xmlChRangeGroup *:</h2><p><a href="html/libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
-</p><h2>Type const xmlChar *:</h2><p><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-SAX.html#attributeDecl">attributeDecl</a><br />
-<a href="html/libxml-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-<a href="html/libxml-SAX.html#cdataBlock">cdataBlock</a><br />
-<a href="html/libxml-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a><br />
-<a href="html/libxml-SAX.html#characters">characters</a><br />
-<a href="html/libxml-parser.html#charactersSAXFunc">charactersSAXFunc</a><br />
-<a href="html/libxml-SAX.html#comment">comment</a><br />
-<a href="html/libxml-parser.html#commentSAXFunc">commentSAXFunc</a><br />
-<a href="html/libxml-SAX.html#elementDecl">elementDecl</a><br />
-<a href="html/libxml-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a><br />
-<a href="html/libxml-SAX.html#endElement">endElement</a><br />
-<a href="html/libxml-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a><br />
-<a href="html/libxml-parser.html#endElementSAXFunc">endElementSAXFunc</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-SAX.html#externalSubset">externalSubset</a><br />
-<a href="html/libxml-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a><br />
-<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-SAX.html#globalNamespace">globalNamespace</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
-<a href="html/libxml-HTMLtree.html#htmlIsBooleanAttr">htmlIsBooleanAttr</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsScriptAttribute">htmlIsScriptAttribute</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDoc">htmlNewDoc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDoc">htmlParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
-<a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</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-SAX.html#internalSubset">internalSubset</a><br />
-<a href="html/libxml-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a><br />
-<a href="html/libxml-parserInternals.html#namePush">namePush</a><br />
-<a href="html/libxml-SAX.html#namespaceDecl">namespaceDecl</a><br />
-<a href="html/libxml-SAX.html#notationDecl">notationDecl</a><br />
-<a href="html/libxml-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a><br />
-<a href="html/libxml-SAX.html#processingInstruction">processingInstruction</a><br />
-<a href="html/libxml-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a><br />
-<a href="html/libxml-SAX.html#reference">reference</a><br />
-<a href="html/libxml-parser.html#referenceSAXFunc">referenceSAXFunc</a><br />
-<a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-SAX.html#setNamespace">setNamespace</a><br />
-<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 />
-<a href="html/libxml-SAX.html#unparsedEntityDecl">unparsedEntityDecl</a><br />
-<a href="html/libxml-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolve">xmlACatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveURI">xmlACatalogResolveURI</a><br />
-<a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-<a href="html/libxml-entities.html#xmlAddDocEntity">xmlAddDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlAddDtdEntity">xmlAddDtdEntity</a><br />
-<a href="html/libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
-<a href="html/libxml-valid.html#xmlAddNotationDecl">xmlAddNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-<a href="html/libxml-tree.html#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
-<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
-<a href="html/libxml-tree.html#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 />
-<a href="html/libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetPublic">xmlCatalogGetPublic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetSystem">xmlCatalogGetSystem</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolve">xmlCatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolveURI">xmlCatalogResolveURI</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-parser.html#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
-<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
-<a href="html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a><br />
-<a href="html/libxml-dict.html#xmlDictExists">xmlDictExists</a><br />
-<a href="html/libxml-dict.html#xmlDictLookup">xmlDictLookup</a><br />
-<a href="html/libxml-dict.html#xmlDictOwns">xmlDictOwns</a><br />
-<a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewAtom">xmlExpNewAtom</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br />
-<a href="html/libxml-entities.html#xmlGetDocEntity">xmlGetDocEntity</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
-<a href="html/libxml-entities.html#xmlGetDtdEntity">xmlGetDtdEntity</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetID">xmlGetID</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-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetPredefinedEntity">xmlGetPredefinedEntity</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-valid.html#xmlGetRefs">xmlGetRefs</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashCopier">xmlHashCopier</a><br />
-<a href="html/libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a><br />
-<a href="html/libxml-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup">xmlHashLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup3">xmlHashLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup">xmlHashQLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup3">xmlHashQLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
-<a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
-<a href="html/libxml-hash.html#xmlHashScanner">xmlHashScanner</a><br />
-<a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a><br />
-<a href="html/libxml-tree.html#xmlNewCDataBlock">xmlNewCDataBlock</a><br />
-<a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
-<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewComment">xmlNewComment</a><br />
-<a href="html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a><br />
-<a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
-<a href="html/libxml-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
-<a href="html/libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a><br />
-<a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
-<a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a><br />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
-<a href="html/libxml-tree.html#xmlNewProp">xmlNewProp</a><br />
-<a href="html/libxml-tree.html#xmlNewReference">xmlNewReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewStringInputStream">xmlNewStringInputStream</a><br />
-<a href="html/libxml-tree.html#xmlNewText">xmlNewText</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-tree.html#xmlNewTextLen">xmlNewTextLen</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#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-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</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#xmlParseDTD">xmlParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlParseDoc">xmlParseDoc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-parser.html#xmlReadDoc">xmlReadDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
-<a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</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-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElement">xmlSAX2EndElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetEntity">xmlSAX2GetEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</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#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</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-xmlschemastypes.html#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</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#xmlSetNsProp">xmlSetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br />
-<a href="html/libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</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#xmlStrEqual">xmlStrEqual</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcasecmp">xmlStrcasecmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcasestr">xmlStrcasestr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcmp">xmlStrcmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncasecmp">xmlStrncasecmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncmp">xmlStrncmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrndup">xmlStrndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-<a href="html/libxml-tree.html#xmlTextConcat">xmlTextConcat</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartPI">xmlTextWriterStartPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteString">xmlTextWriterWriteString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Size">xmlUTF8Size</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strndup">xmlUTF8Strndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-<a href="html/libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
-<a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
-<a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
-<a href="html/libxml-valid.html#xmlValidateNameValue">xmlValidateNameValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNamesValue">xmlValidateNamesValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationUse">xmlValidateNotationUse</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastStringToBoolean">xmlXPathCastStringToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIsNodeType">xmlXPathIsNodeType</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewParserContext">xmlXPathNewParserContext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewString">xmlXPathNewString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNsLookup">xmlXPathNsLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
-</p><h2>Type const xmlChar **:</h2><p><a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-<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 />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
-<a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</p><h2>Type const xmlDoc *:</h2><p><a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
-<a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a><br />
-<a href="html/libxml-entities.html#xmlGetDocEntity">xmlGetDocEntity</a><br />
-<a href="html/libxml-tree.html#xmlGetIntSubset">xmlGetIntSubset</a><br />
-<a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
-<a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
-<a href="html/libxml-tree.html#xmlNewReference">xmlNewReference</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
-<a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-</p><h2>Type const xmlListPtr:</h2><p><a href="html/libxml-list.html#xmlListCopy">xmlListCopy</a><br />
-<a href="html/libxml-list.html#xmlListDup">xmlListDup</a><br />
-</p><h2>Type const xmlNode *:</h2><p><a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-tree.html#xmlGetLastChild">xmlGetLastChild</a><br />
-<a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-<a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNodePath">xmlGetNodePath</a><br />
-<a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
-<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-<a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</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#xmlNodeIsText">xmlNodeIsText</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
-</p><h2>Type const xmlNodePtr:</h2><p><a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-</p><h2>Type const xmlParserCtxtPtr:</h2><p><a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
-</p><h2>Type const xmlParserNodeInfoPtr:</h2><p><a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
-</p><h2>Type const xmlParserNodeInfoSeqPtr:</h2><p><a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-</p><h2>Type docbParserCtxtPtr:</h2><p><a href="html/libxml-DOCBparser.html#docbFreeParserCtxt">docbFreeParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseChunk">docbParseChunk</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseDocument">docbParseDocument</a><br />
-</p><h2>Type docbSAXHandlerPtr:</h2><p><a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-</p><h2>Type double:</h2><p><a href="html/libxml-xpath.html#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewFloat">xmlXPathNewFloat</a><br />
-</p><h2>Type ftpDataCallback:</h2><p><a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-</p><h2>Type ftpListCallback:</h2><p><a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
-</p><h2>Type htmlDocPtr:</h2><p><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLtree.html#htmlGetMetaEncoding">htmlGetMetaEncoding</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
-</p><h2>Type htmlNodePtr:</h2><p><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-</p><h2>Type htmlParserCtxtPtr:</h2><p><a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFd">htmlCtxtReadFd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadMemory">htmlCtxtReadMemory</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReset">htmlCtxtReset</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a><br />
-<a href="html/libxml-HTMLparser.html#htmlFreeParserCtxt">htmlFreeParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseChunk">htmlParseChunk</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDocument">htmlParseDocument</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-</p><h2>Type htmlSAXHandlerPtr:</h2><p><a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-</p><h2>Type int *:</h2><p><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemory">htmlDocDumpMemory</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</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-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</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-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a><br />
-<a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
-</p><h2>Type long:</h2><p><a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-</p><h2>Type size_t:</h2><p><a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateSize">xmlBufferCreateSize</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-dict.html#xmlDictSetLimit">xmlDictSetLimit</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
-</p><h2>Type unsigned char *:</h2><p><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-<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-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-</p><h2>Type unsigned int:</h2><p><a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
-<a href="html/libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a><br />
-<a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
-<a href="html/libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a><br />
-<a href="html/libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
-<a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombining">xmlIsCombining</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
-<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-threads.html#xmlDllMain">xmlDllMain</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#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</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 />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a><br />
-</p><h2>Type void *:</h2><p><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-SAX.html#attributeDecl">attributeDecl</a><br />
-<a href="html/libxml-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-<a href="html/libxml-SAX.html#cdataBlock">cdataBlock</a><br />
-<a href="html/libxml-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a><br />
-<a href="html/libxml-SAX.html#characters">characters</a><br />
-<a href="html/libxml-parser.html#charactersSAXFunc">charactersSAXFunc</a><br />
-<a href="html/libxml-SAX.html#checkNamespace">checkNamespace</a><br />
-<a href="html/libxml-SAX.html#comment">comment</a><br />
-<a href="html/libxml-parser.html#commentSAXFunc">commentSAXFunc</a><br />
-<a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-SAX.html#elementDecl">elementDecl</a><br />
-<a href="html/libxml-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a><br />
-<a href="html/libxml-SAX.html#endDocument">endDocument</a><br />
-<a href="html/libxml-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a><br />
-<a href="html/libxml-SAX.html#endElement">endElement</a><br />
-<a href="html/libxml-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a><br />
-<a href="html/libxml-parser.html#endElementSAXFunc">endElementSAXFunc</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-parser.html#errorSAXFunc">errorSAXFunc</a><br />
-<a href="html/libxml-SAX.html#externalSubset">externalSubset</a><br />
-<a href="html/libxml-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a><br />
-<a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a><br />
-<a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-<a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
-<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#getLineNumber">getLineNumber</a><br />
-<a href="html/libxml-SAX.html#getNamespace">getNamespace</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-SAX.html#getPublicId">getPublicId</a><br />
-<a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<a href="html/libxml-SAX.html#globalNamespace">globalNamespace</a><br />
-<a href="html/libxml-SAX.html#hasExternalSubset">hasExternalSubset</a><br />
-<a href="html/libxml-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a><br />
-<a href="html/libxml-SAX.html#hasInternalSubset">hasInternalSubset</a><br />
-<a href="html/libxml-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadIO">htmlReadIO</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-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
-<a href="html/libxml-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a><br />
-<a href="html/libxml-SAX.html#internalSubset">internalSubset</a><br />
-<a href="html/libxml-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a><br />
-<a href="html/libxml-SAX.html#isStandalone">isStandalone</a><br />
-<a href="html/libxml-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a><br />
-<a href="html/libxml-SAX.html#namespaceDecl">namespaceDecl</a><br />
-<a href="html/libxml-SAX.html#notationDecl">notationDecl</a><br />
-<a href="html/libxml-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a><br />
-<a href="html/libxml-SAX.html#processingInstruction">processingInstruction</a><br />
-<a href="html/libxml-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a><br />
-<a href="html/libxml-SAX.html#reference">reference</a><br />
-<a href="html/libxml-parser.html#referenceSAXFunc">referenceSAXFunc</a><br />
-<a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
-<a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
-<a href="html/libxml-SAX.html#setNamespace">setNamespace</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-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 />
-<a href="html/libxml-SAX.html#unparsedEntityDecl">unparsedEntityDecl</a><br />
-<a href="html/libxml-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a><br />
-<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
-<a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogFreeLocal">xmlCatalogFreeLocal</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a><br />
-<a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
-<a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br />
-<a href="html/libxml-threads.html#xmlDllMain">xmlDllMain</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileClose">xmlFileClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
-<a href="html/libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a><br />
-<a href="html/libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a><br />
-<a href="html/libxml-parser.html#xmlGetFeature">xmlGetFeature</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashCopier">xmlHashCopier</a><br />
-<a href="html/libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a><br />
-<a href="html/libxml-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a><br />
-<a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
-<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-hash.html#xmlHashScanner">xmlHashScanner</a><br />
-<a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPClose">xmlIOFTPClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPClose">xmlIOHTTPClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a><br />
-<a href="html/libxml-list.html#xmlListAppend">xmlListAppend</a><br />
-<a href="html/libxml-list.html#xmlListInsert">xmlListInsert</a><br />
-<a href="html/libxml-list.html#xmlListPushBack">xmlListPushBack</a><br />
-<a href="html/libxml-list.html#xmlListPushFront">xmlListPushFront</a><br />
-<a href="html/libxml-list.html#xmlListRemoveAll">xmlListRemoveAll</a><br />
-<a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
-<a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a><br />
-<a href="html/libxml-list.html#xmlListReverseSearch">xmlListReverseSearch</a><br />
-<a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
-<a href="html/libxml-list.html#xmlListSearch">xmlListSearch</a><br />
-<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
-<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemFree">xmlMemFree</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPClose">xmlNanoFTPClose</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnect">xmlNanoFTPConnect</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPQuit">xmlNanoFTPQuit</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</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-parser.html#xmlReadIO">xmlReadIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</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-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndDocument">xmlSAX2EndDocument</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElement">xmlSAX2EndElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetEntity">xmlSAX2GetEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartDocument">xmlSAX2StartDocument</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</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-parser.html#xmlSAXUserParseFile">xmlSAXUserParseFile</a><br />
-<a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</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#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a><br />
-<a href="html/libxml-parser.html#xmlSetFeature">xmlSetFeature</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-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</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-globals.html#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a><br />
-<a href="html/libxml-globals.html#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapExternal">xmlXPathWrapExternal</a><br />
-</p><h2>Type void **:</h2><p><a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</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-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a><br />
-</p><h2>Type xlinkActuate *:</h2><p><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-</p><h2>Type xlinkHandlerPtr:</h2><p><a href="html/libxml-xlink.html#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a><br />
-</p><h2>Type xlinkNodeDetectFunc:</h2><p><a href="html/libxml-xlink.html#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a><br />
-</p><h2>Type xlinkShow *:</h2><p><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-</p><h2>Type xmlAttrPtr:</h2><p><a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
-<a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-<a href="html/libxml-tree.html#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</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-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
-<a href="html/libxml-tree.html#xmlFreeProp">xmlFreeProp</a><br />
-<a href="html/libxml-tree.html#xmlFreePropList">xmlFreePropList</a><br />
-<a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
-<a href="html/libxml-valid.html#xmlRemoveID">xmlRemoveID</a><br />
-<a href="html/libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a><br />
-<a href="html/libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-</p><h2>Type xmlAttributeDefault:</h2><p><a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-</p><h2>Type xmlAttributePtr:</h2><p><a href="html/libxml-valid.html#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-</p><h2>Type xmlAttributeTablePtr:</h2><p><a href="html/libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a><br />
-<a href="html/libxml-valid.html#xmlDumpAttributeTable">xmlDumpAttributeTable</a><br />
-<a href="html/libxml-valid.html#xmlFreeAttributeTable">xmlFreeAttributeTable</a><br />
-</p><h2>Type xmlAttributeType:</h2><p><a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-</p><h2>Type xmlAutomataPtr:</h2><p><a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataGetInitState">xmlAutomataGetInitState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlFreeAutomata">xmlFreeAutomata</a><br />
-</p><h2>Type xmlAutomataStatePtr:</h2><p><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a><br />
-</p><h2>Type xmlBufPtr:</h2><p><a href="html/libxml-tree.html#xmlBufEnd">xmlBufEnd</a><br />
-<a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-</p><h2>Type xmlBufferAllocationScheme:</h2><p><a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
-<a href="html/libxml-globals.html#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a><br />
-</p><h2>Type xmlBufferPtr:</h2><p><a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a><br />
-<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
-<a href="html/libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-tree.html#xmlBufferDump">xmlBufferDump</a><br />
-<a href="html/libxml-tree.html#xmlBufferEmpty">xmlBufferEmpty</a><br />
-<a href="html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a><br />
-<a href="html/libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a><br />
-<a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
-<a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteChar">xmlBufferWriteChar</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-<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 />
-<a href="html/libxml-valid.html#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpAttributeTable">xmlDumpAttributeTable</a><br />
-<a href="html/libxml-valid.html#xmlDumpElementDecl">xmlDumpElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpElementTable">xmlDumpElementTable</a><br />
-<a href="html/libxml-entities.html#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlDumpEntityDecl">xmlDumpEntityDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpNotationDecl">xmlDumpNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpNotationTable">xmlDumpNotationTable</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpDump">xmlExpDump</a><br />
-<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-xmlIO.html#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</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 />
-</p><h2>Type xmlCatalogPtr:</h2><p><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogDump">xmlACatalogDump</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolve">xmlACatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveURI">xmlACatalogResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a><br />
-<a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlFreeCatalog">xmlFreeCatalog</a><br />
-</p><h2>Type xmlChar:</h2><p><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a><br />
-</p><h2>Type xmlChar *:</h2><p><a href="html/libxml-SAX.html#checkNamespace">checkNamespace</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</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-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-<a href="html/libxml-parserInternals.html#xmlCopyChar">xmlCopyChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
-<a href="html/libxml-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapString">xmlXPathWrapString</a><br />
-</p><h2>Type xmlChar **:</h2><p><a href="html/libxml-HTMLtree.html#htmlDocDumpMemory">htmlDocDumpMemory</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</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-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-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-</p><h2>Type xmlCharEncoding:</h2><p><a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br />
-<a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</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 />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a><br />
-</p><h2>Type xmlCharEncodingHandler *:</h2><p><a href="html/libxml-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a><br />
-<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 />
-</p><h2>Type xmlCharEncodingHandlerPtr:</h2><p><a href="html/libxml-xmlIO.html#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</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 />
-<a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</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 xmlCharEncodingInputFunc:</h2><p><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-</p><h2>Type xmlCharEncodingOutputFunc:</h2><p><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveSetEscape">xmlSaveSetEscape</a><br />
-</p><h2>Type xmlDOMWrapCtxtPtr:</h2><p><a href="html/libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-</p><h2>Type xmlDeregisterNodeFunc:</h2><p><a href="html/libxml-globals.html#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a><br />
-<a href="html/libxml-globals.html#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a><br />
-</p><h2>Type xmlDict *:</h2><p><a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-</p><h2>Type xmlDictPtr:</h2><p><a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br />
-<a href="html/libxml-dict.html#xmlDictExists">xmlDictExists</a><br />
-<a href="html/libxml-dict.html#xmlDictFree">xmlDictFree</a><br />
-<a href="html/libxml-dict.html#xmlDictGetUsage">xmlDictGetUsage</a><br />
-<a href="html/libxml-dict.html#xmlDictLookup">xmlDictLookup</a><br />
-<a href="html/libxml-dict.html#xmlDictOwns">xmlDictOwns</a><br />
-<a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
-<a href="html/libxml-dict.html#xmlDictReference">xmlDictReference</a><br />
-<a href="html/libxml-dict.html#xmlDictSetLimit">xmlDictSetLimit</a><br />
-<a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewCtxt">xmlExpNewCtxt</a><br />
-<a href="html/libxml-hash.html#xmlHashCreateDict">xmlHashCreateDict</a><br />
-</p><h2>Type xmlDocPtr:</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#htmlDocDump">htmlDocDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemory">htmlDocDumpMemory</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFile">htmlSaveFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileEnc">htmlSaveFileEnc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileFormat">htmlSaveFileFormat</a><br />
-<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-entities.html#xmlAddDocEntity">xmlAddDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlAddDtdEntity">xmlAddDtdEntity</a><br />
-<a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
-<a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-<a href="html/libxml-tree.html#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</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-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a><br />
-<a href="html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocument">xmlDebugDumpDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpEntities">xmlDebugDumpEntities</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlDocDump">xmlDocDump</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
-<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#xmlDocFormatDump">xmlDocFormatDump</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlElemDump">xmlElemDump</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a><br />
-<a href="html/libxml-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a><br />
-<a href="html/libxml-entities.html#xmlGetDtdEntity">xmlGetDtdEntity</a><br />
-<a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
-<a href="html/libxml-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a><br />
-<a href="html/libxml-valid.html#xmlGetRefs">xmlGetRefs</a><br />
-<a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
-<a href="html/libxml-tree.html#xmlNewCDataBlock">xmlNewCDataBlock</a><br />
-<a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
-<a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
-<a href="html/libxml-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a><br />
-<a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a><br />
-<a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</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#xmlNodeListGetString">xmlNodeListGetString</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewWalker">xmlReaderNewWalker</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderWalker">xmlReaderWalker</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</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-relaxng.html#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-<a href="html/libxml-valid.html#xmlRemoveID">xmlRemoveID</a><br />
-<a href="html/libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-tree.html#xmlSaveFile">xmlSaveFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a><br />
-<a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidateDoc">xmlSchematronValidateDoc</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#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetListDoc">xmlSetListDoc</a><br />
-<a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a><br />
-<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateElement">xmlValidateElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationUse">xmlValidateNotationUse</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</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#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</p><h2>Type xmlDocPtr *:</h2><p><a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
-</p><h2>Type xmlDtdPtr:</h2><p><a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddNotationDecl">xmlAddNotationDecl</a><br />
-<a href="html/libxml-tree.html#xmlCopyDtd">xmlCopyDtd</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a><br />
-<a href="html/libxml-tree.html#xmlFreeDtd">xmlFreeDtd</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-</p><h2>Type xmlElementContent *:</h2><p><a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
-</p><h2>Type xmlElementContentPtr:</h2><p><a href="html/libxml-SAX.html#elementDecl">elementDecl</a><br />
-<a href="html/libxml-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a><br />
-<a href="html/libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
-<a href="html/libxml-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br />
-<a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
-</p><h2>Type xmlElementContentPtr *:</h2><p><a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-</p><h2>Type xmlElementContentType:</h2><p><a href="html/libxml-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a><br />
-<a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a><br />
-</p><h2>Type xmlElementPtr:</h2><p><a href="html/libxml-valid.html#xmlDumpElementDecl">xmlDumpElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidBuildContentModel">xmlValidBuildContentModel</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-</p><h2>Type xmlElementTablePtr:</h2><p><a href="html/libxml-valid.html#xmlCopyElementTable">xmlCopyElementTable</a><br />
-<a href="html/libxml-valid.html#xmlDumpElementTable">xmlDumpElementTable</a><br />
-<a href="html/libxml-valid.html#xmlFreeElementTable">xmlFreeElementTable</a><br />
-</p><h2>Type xmlElementTypeVal:</h2><p><a href="html/libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a><br />
-</p><h2>Type xmlEntitiesTablePtr:</h2><p><a href="html/libxml-entities.html#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a><br />
-</p><h2>Type xmlEntityPtr:</h2><p><a href="html/libxml-entities.html#xmlDumpEntityDecl">xmlDumpEntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a><br />
-</p><h2>Type xmlEntityReferenceFunc:</h2><p><a href="html/libxml-parserInternals.html#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a><br />
-</p><h2>Type xmlEnumerationPtr:</h2><p><a href="html/libxml-SAX.html#attributeDecl">attributeDecl</a><br />
-<a href="html/libxml-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a><br />
-<a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
-<a href="html/libxml-valid.html#xmlFreeEnumeration">xmlFreeEnumeration</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a><br />
-</p><h2>Type xmlEnumerationPtr *:</h2><p><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br />
-</p><h2>Type xmlErrorPtr:</h2><p><a href="html/libxml-xmlerror.html#xmlCopyError">xmlCopyError</a><br />
-<a href="html/libxml-xmlerror.html#xmlResetError">xmlResetError</a><br />
-<a href="html/libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
-</p><h2>Type xmlExpCtxtPtr:</h2><p><a href="html/libxml-xmlregexp.html#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpFree">xmlExpFree</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpFreeCtxt">xmlExpFreeCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewAtom">xmlExpNewAtom</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br />
-</p><h2>Type xmlExpNodePtr:</h2><p><a href="html/libxml-xmlregexp.html#xmlExpDump">xmlExpDump</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpFree">xmlExpFree</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpIsNillable">xmlExpIsNillable</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpMaxToken">xmlExpMaxToken</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpRef">xmlExpRef</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br />
-</p><h2>Type xmlExternalEntityLoader:</h2><p><a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
-</p><h2>Type xmlFeature:</h2><p><a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-</p><h2>Type xmlFreeFunc:</h2><p><a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-</p><h2>Type xmlFreeFunc *:</h2><p><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
-</p><h2>Type xmlGenericErrorFunc:</h2><p><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-globals.html#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a><br />
-</p><h2>Type xmlGenericErrorFunc *:</h2><p><a href="html/libxml-xmlerror.html#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a><br />
-</p><h2>Type xmlGlobalStatePtr:</h2><p><a href="html/libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a><br />
-</p><h2>Type xmlHashCopier:</h2><p><a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
-</p><h2>Type xmlHashDeallocator:</h2><p><a href="html/libxml-hash.html#xmlHashFree">xmlHashFree</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-</p><h2>Type xmlHashScanner:</h2><p><a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
-<a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
-</p><h2>Type xmlHashScannerFull:</h2><p><a href="html/libxml-hash.html#xmlHashScanFull">xmlHashScanFull</a><br />
-<a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
-</p><h2>Type xmlHashTablePtr:</h2><p><a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
-<a href="html/libxml-hash.html#xmlHashFree">xmlHashFree</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup">xmlHashLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup3">xmlHashLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup">xmlHashQLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup3">xmlHashQLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
-<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-hash.html#xmlHashSize">xmlHashSize</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-</p><h2>Type xmlIDTablePtr:</h2><p><a href="html/libxml-valid.html#xmlFreeIDTable">xmlFreeIDTable</a><br />
-</p><h2>Type xmlInputCloseCallback:</h2><p><a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a><br />
-<a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a><br />
-<a href="html/libxml-parser.html#xmlReadIO">xmlReadIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</p><h2>Type xmlInputMatchCallback:</h2><p><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</p><h2>Type xmlInputOpenCallback:</h2><p><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</p><h2>Type xmlInputReadCallback:</h2><p><a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a><br />
-<a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a><br />
-<a href="html/libxml-parser.html#xmlReadIO">xmlReadIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</p><h2>Type xmlLinkPtr:</h2><p><a href="html/libxml-list.html#xmlLinkGetData">xmlLinkGetData</a><br />
-<a href="html/libxml-list.html#xmlListDeallocator">xmlListDeallocator</a><br />
-</p><h2>Type xmlListDataCompare:</h2><p><a href="html/libxml-list.html#xmlListCreate">xmlListCreate</a><br />
-</p><h2>Type xmlListDeallocator:</h2><p><a href="html/libxml-list.html#xmlListCreate">xmlListCreate</a><br />
-</p><h2>Type xmlListPtr:</h2><p><a href="html/libxml-list.html#xmlListAppend">xmlListAppend</a><br />
-<a href="html/libxml-list.html#xmlListClear">xmlListClear</a><br />
-<a href="html/libxml-list.html#xmlListCopy">xmlListCopy</a><br />
-<a href="html/libxml-list.html#xmlListDelete">xmlListDelete</a><br />
-<a href="html/libxml-list.html#xmlListEmpty">xmlListEmpty</a><br />
-<a href="html/libxml-list.html#xmlListEnd">xmlListEnd</a><br />
-<a href="html/libxml-list.html#xmlListFront">xmlListFront</a><br />
-<a href="html/libxml-list.html#xmlListInsert">xmlListInsert</a><br />
-<a href="html/libxml-list.html#xmlListMerge">xmlListMerge</a><br />
-<a href="html/libxml-list.html#xmlListPopBack">xmlListPopBack</a><br />
-<a href="html/libxml-list.html#xmlListPopFront">xmlListPopFront</a><br />
-<a href="html/libxml-list.html#xmlListPushBack">xmlListPushBack</a><br />
-<a href="html/libxml-list.html#xmlListPushFront">xmlListPushFront</a><br />
-<a href="html/libxml-list.html#xmlListRemoveAll">xmlListRemoveAll</a><br />
-<a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
-<a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a><br />
-<a href="html/libxml-list.html#xmlListReverse">xmlListReverse</a><br />
-<a href="html/libxml-list.html#xmlListReverseSearch">xmlListReverseSearch</a><br />
-<a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
-<a href="html/libxml-list.html#xmlListSearch">xmlListSearch</a><br />
-<a href="html/libxml-list.html#xmlListSize">xmlListSize</a><br />
-<a href="html/libxml-list.html#xmlListSort">xmlListSort</a><br />
-<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
-</p><h2>Type xmlListWalker:</h2><p><a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
-<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
-</p><h2>Type xmlLocationSetPtr:</h2><p><a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a><br />
-</p><h2>Type xmlMallocFunc:</h2><p><a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-</p><h2>Type xmlMallocFunc *:</h2><p><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
-</p><h2>Type xmlModulePtr:</h2><p><a href="html/libxml-xmlmodule.html#xmlModuleClose">xmlModuleClose</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleFree">xmlModuleFree</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-</p><h2>Type xmlMutexPtr:</h2><p><a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
-<a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a><br />
-</p><h2>Type xmlNode *:</h2><p><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</p><h2>Type xmlNodePtr:</h2><p><a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a><br />
-<a href="html/libxml-parserInternals.html#nodePush">nodePush</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
-<a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-<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#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-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<a href="html/libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a><br />
-<a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<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#xmlCopyProp">xmlCopyProp</a><br />
-<a href="html/libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNode">xmlDebugDumpNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a><br />
-<a href="html/libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlElemDump">xmlElemDump</a><br />
-<a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
-<a href="html/libxml-tree.html#xmlFreeNodeList">xmlFreeNodeList</a><br />
-<a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-debugXML.html#xmlLsCountNode">xmlLsCountNode</a><br />
-<a href="html/libxml-debugXML.html#xmlLsOneNode">xmlLsOneNode</a><br />
-<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewProp">xmlNewProp</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</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#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</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-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-<a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
-<a href="html/libxml-tree.html#xmlSetListDoc">xmlSetListDoc</a><br />
-<a href="html/libxml-tree.html#xmlSetNs">xmlSetNs</a><br />
-<a href="html/libxml-tree.html#xmlSetNsProp">xmlSetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br />
-<a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a><br />
-<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 />
-<a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-<a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br />
-<a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintNode">xmlShellPrintNode</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
-<a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
-<a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
-<a href="html/libxml-tree.html#xmlTextConcat">xmlTextConcat</a><br />
-<a href="html/libxml-tree.html#xmlTextMerge">xmlTextMerge</a><br />
-<a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a><br />
-<a href="html/libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateElement">xmlValidateElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</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 />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCmpNodes">xmlXPathCmpNodes</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextChild">xmlXPathNextChild</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextParent">xmlXPathNextParent</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetContains">xmlXPathNodeSetContains</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-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a><br />
-<a href="html/libxml-xpath.html#xmlXPathSetContextNode">xmlXPathSetContextNode</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</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 />
-</p><h2>Type xmlNodePtr *:</h2><p><a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</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-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-</p><h2>Type xmlNodeSetPtr:</h2><p><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToNumber">xmlXPathCastNodeSetToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a><br />
-</p><h2>Type xmlNotationPtr:</h2><p><a href="html/libxml-valid.html#xmlDumpNotationDecl">xmlDumpNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-</p><h2>Type xmlNotationTablePtr:</h2><p><a href="html/libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</a><br />
-<a href="html/libxml-valid.html#xmlDumpNotationTable">xmlDumpNotationTable</a><br />
-<a href="html/libxml-valid.html#xmlFreeNotationTable">xmlFreeNotationTable</a><br />
-</p><h2>Type xmlNsPtr:</h2><p><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#xmlFreeNs">xmlFreeNs</a><br />
-<a href="html/libxml-tree.html#xmlFreeNsList">xmlFreeNsList</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 />
-<a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
-<a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
-<a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-tree.html#xmlSetNs">xmlSetNs</a><br />
-<a href="html/libxml-tree.html#xmlSetNsProp">xmlSetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a><br />
-<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 />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</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-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
-<a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferClose">xmlOutputBufferClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferFlush">xmlOutputBufferFlush</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetSize">xmlOutputBufferGetSize</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 />
-<a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-</p><h2>Type xmlOutputCloseCallback:</h2><p><a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
-</p><h2>Type xmlOutputMatchCallback:</h2><p><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-</p><h2>Type xmlOutputOpenCallback:</h2><p><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-</p><h2>Type xmlOutputWriteCallback:</h2><p><a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
-</p><h2>Type xmlParserCtxtPtr:</h2><p><a href="html/libxml-parserInternals.html#inputPop">inputPop</a><br />
-<a href="html/libxml-parserInternals.html#inputPush">inputPush</a><br />
-<a href="html/libxml-parserInternals.html#namePop">namePop</a><br />
-<a href="html/libxml-parserInternals.html#namePush">namePush</a><br />
-<a href="html/libxml-parserInternals.html#nodePop">nodePop</a><br />
-<a href="html/libxml-parserInternals.html#nodePush">nodePush</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-<a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReset">xmlCtxtReset</a><br />
-<a href="html/libxml-parser.html#xmlCtxtResetPush">xmlCtxtResetPush</a><br />
-<a href="html/libxml-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlErrMemory">xmlErrMemory</a><br />
-<a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlGetFeature">xmlGetFeature</a><br />
-<a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-parser.html#xmlInitParserCtxt">xmlInitParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</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 />
-<a href="html/libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a><br />
-<a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewInputFromFile">xmlNewInputFromFile</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewInputStream">xmlNewInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewStringInputStream">xmlNewStringInputStream</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
-<a href="html/libxml-parserInternals.html#xmlNextChar">xmlNextChar</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</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#xmlParseChunk">xmlParseChunk</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
-<a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
-<a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEncName">xmlParseEncName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEndTag">xmlParseEndTag</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</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-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseName">xmlParseName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePITarget">xmlParsePITarget</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePubidLiteral">xmlParsePubidLiteral</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSystemLiteral">xmlParseSystemLiteral</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseVersionInfo">xmlParseVersionInfo</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a><br />
-<a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</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-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
-<a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-parser.html#xmlSetFeature">xmlSetFeature</a><br />
-<a href="html/libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a><br />
-<a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
-<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-parser.html#xmlStopParser">xmlStopParser</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-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 />
-<a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetup">xmlTextReaderSetup</a><br />
-</p><h2>Type xmlParserInputPtr:</h2><p><a href="html/libxml-parserInternals.html#inputPush">inputPush</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-<a href="html/libxml-parserInternals.html#xmlFreeInputStream">xmlFreeInputStream</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-parserInternals.html#xmlParserInputShrink">xmlParserInputShrink</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-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-<a href="html/libxml-parserInternals.html#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a><br />
-</p><h2>Type xmlParserNodeInfoSeqPtr:</h2><p><a href="html/libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a><br />
-<a href="html/libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a><br />
-</p><h2>Type xmlParserSeverities:</h2><p><a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a><br />
-</p><h2>Type xmlPatternPtr:</h2><p><a href="html/libxml-pattern.html#xmlFreePattern">xmlFreePattern</a><br />
-<a href="html/libxml-pattern.html#xmlFreePatternList">xmlFreePatternList</a><br />
-<a href="html/libxml-pattern.html#xmlPatternFromRoot">xmlPatternFromRoot</a><br />
-<a href="html/libxml-pattern.html#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMaxDepth">xmlPatternMaxDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMinDepth">xmlPatternMinDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternStreamable">xmlPatternStreamable</a><br />
-</p><h2>Type xmlRMutexPtr:</h2><p><a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
-<a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-</p><h2>Type xmlReallocFunc:</h2><p><a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-</p><h2>Type xmlReallocFunc *:</h2><p><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
-</p><h2>Type xmlRefTablePtr:</h2><p><a href="html/libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a><br />
-</p><h2>Type xmlRegExecCallbacks:</h2><p><a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-</p><h2>Type xmlRegExecCtxtPtr:</h2><p><a href="html/libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</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-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a><br />
-</p><h2>Type xmlRegexpPtr:</h2><p><a href="html/libxml-xmlregexp.html#xmlRegFreeRegexp">xmlRegFreeRegexp</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a><br />
-</p><h2>Type xmlRegisterNodeFunc:</h2><p><a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
-<a href="html/libxml-globals.html#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a><br />
-</p><h2>Type xmlRelaxNGParserCtxtPtr:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
-</p><h2>Type xmlRelaxNGPtr:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGDump">xmlRelaxNGDump</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGFree">xmlRelaxNGFree</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-</p><h2>Type xmlRelaxNGValidCtxtPtr:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</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-relaxng.html#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-</p><h2>Type xmlRelaxNGValidityErrorFunc:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
-</p><h2>Type xmlRelaxNGValidityErrorFunc *:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
-</p><h2>Type xmlRelaxNGValidityWarningFunc:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
-</p><h2>Type xmlRelaxNGValidityWarningFunc *:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
-</p><h2>Type xmlSAXHandler *:</h2><p><a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDocbDefaultSAXHandler">xmlSAX2InitDocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAXVersion">xmlSAXVersion</a><br />
-</p><h2>Type xmlSAXHandlerPtr:</h2><p><a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</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 />
-<a href="html/libxml-parser.html#xmlSAXUserParseFile">xmlSAXUserParseFile</a><br />
-<a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-</p><h2>Type xmlSAXHandlerPtr *:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-</p><h2>Type xmlSAXHandlerV1 *:</h2><p><a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-</p><h2>Type xmlSAXLocatorPtr:</h2><p><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 />
-</p><h2>Type xmlSaveCtxtPtr:</h2><p><a href="html/libxml-xmlsave.html#xmlSaveClose">xmlSaveClose</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<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#xmlSaveTree">xmlSaveTree</a><br />
-</p><h2>Type xmlSchemaFacetPtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
-</p><h2>Type xmlSchemaParserCtxtPtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a><br />
-</p><h2>Type xmlSchemaPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-</p><h2>Type xmlSchemaSAXPlugPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</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#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
-</p><h2>Type xmlSchemaValPtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCompareValues">xmlSchemaCompareValues</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeValue">xmlSchemaFreeValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetValType">xmlSchemaGetValType</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueAppend">xmlSchemaValueAppend</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a><br />
-</p><h2>Type xmlSchemaValPtr *:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
-</p><h2>Type xmlSchemaValType:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-</p><h2>Type xmlSchemaValidCtxtPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaIsValid">xmlSchemaIsValid</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateFile">xmlSchemaValidateFile</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-</p><h2>Type xmlSchemaValidityErrorFunc:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
-</p><h2>Type xmlSchemaValidityErrorFunc *:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
-</p><h2>Type xmlSchemaValidityLocatorFunc:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a><br />
-</p><h2>Type xmlSchemaValidityWarningFunc:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
-</p><h2>Type xmlSchemaValidityWarningFunc *:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
-</p><h2>Type xmlSchemaWhitespaceValueType:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-</p><h2>Type xmlSchemaWildcardPtr:</h2><p><a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br />
-</p><h2>Type xmlSchematronParserCtxtPtr:</h2><p><a href="html/libxml-schematron.html#xmlSchematronFreeParserCtxt">xmlSchematronFreeParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronParse">xmlSchematronParse</a><br />
-</p><h2>Type xmlSchematronPtr:</h2><p><a href="html/libxml-schematron.html#xmlSchematronFree">xmlSchematronFree</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a><br />
-</p><h2>Type xmlSchematronValidCtxtPtr:</h2><p><a href="html/libxml-schematron.html#xmlSchematronFreeValidCtxt">xmlSchematronFreeValidCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidateDoc">xmlSchematronValidateDoc</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 />
-<a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-<a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br />
-<a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
-<a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
-<a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
-</p><h2>Type xmlShellReadlineFunc:</h2><p><a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-</p><h2>Type xmlStrdupFunc:</h2><p><a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-</p><h2>Type xmlStrdupFunc *:</h2><p><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
-</p><h2>Type xmlStreamCtxtPtr:</h2><p><a href="html/libxml-pattern.html#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPop">xmlStreamPop</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-</p><h2>Type xmlStructuredErrorFunc:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
-<a href="html/libxml-globals.html#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a><br />
-</p><h2>Type xmlTextReaderErrorFunc:</h2><p><a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
-</p><h2>Type xmlTextReaderErrorFunc *:</h2><p><a href="html/libxml-xmlreader.html#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a><br />
-</p><h2>Type xmlTextReaderLocatorPtr:</h2><p><a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
-</p><h2>Type xmlTextReaderPtr:</h2><p><a href="html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</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#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserColumnNumber">xmlTextReaderGetParserColumnNumber</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserLineNumber">xmlTextReaderGetParserLineNumber</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderHasAttributes">xmlTextReaderHasAttributes</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocalName">xmlTextReaderLocalName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToFirstAttribute">xmlTextReaderMoveToFirstAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToNextAttribute">xmlTextReaderMoveToNextAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderName">xmlTextReaderName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNamespaceUri">xmlTextReaderNamespaceUri</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-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPrefix">xmlTextReaderPrefix</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-xmlreader.html#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</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#xmlTextReaderReadState">xmlTextReaderReadState</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetup">xmlTextReaderSetup</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-</p><h2>Type xmlTextWriterPtr:</h2><p><a href="html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndAttribute">xmlTextWriterEndAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndComment">xmlTextWriterEndComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTD">xmlTextWriterEndDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDAttlist">xmlTextWriterEndDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDElement">xmlTextWriterEndDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDEntity">xmlTextWriterEndDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndPI">xmlTextWriterEndPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterFlush">xmlTextWriterFlush</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartComment">xmlTextWriterStartComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartPI">xmlTextWriterStartPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</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-xmlwriter.html#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteString">xmlTextWriterWriteString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a><br />
-</p><h2>Type xmlURIPtr:</h2><p><a href="html/libxml-uri.html#xmlFreeURI">xmlFreeURI</a><br />
-<a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
-<a href="html/libxml-uri.html#xmlPrintURI">xmlPrintURI</a><br />
-<a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
-</p><h2>Type xmlValidCtxtPtr:</h2><p><a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
-<a href="html/libxml-valid.html#xmlAddNotationDecl">xmlAddNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-<a href="html/libxml-valid.html#xmlFreeValidCtxt">xmlFreeValidCtxt</a><br />
-<a href="html/libxml-valid.html#xmlValidBuildContentModel">xmlValidBuildContentModel</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateElement">xmlValidateElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationUse">xmlValidateNotationUse</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-</p><h2>Type xmlXIncludeCtxtPtr:</h2><p><a href="html/libxml-xinclude.html#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a><br />
-</p><h2>Type xmlXPathCompExprPtr:</h2><p><a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a><br />
-</p><h2>Type xmlXPathContextPtr:</h2><p><a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewParserContext">xmlXPathNewParserContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNsLookup">xmlXPathNsLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a><br />
-<a href="html/libxml-xpath.html#xmlXPathSetContextNode">xmlXPathSetContextNode</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
-</p><h2>Type xmlXPathFuncLookupFunc:</h2><p><a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a><br />
-</p><h2>Type xmlXPathFunction:</h2><p><a href="html/libxml-xpathInternals.html#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a><br />
-</p><h2>Type xmlXPathObjectPtr:</h2><p><a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToNumber">xmlXPathCastToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToString">xmlXPathCastToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertNumber">xmlXPathConvertNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertString">xmlXPathConvertString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a><br />
-<a href="html/libxml-xpath.html#xmlXPathObjectCopy">xmlXPathObjectCopy</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</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#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a><br />
-</p><h2>Type xmlXPathParserContextPtr:</h2><p><a href="html/libxml-xpathInternals.html#valuePop">valuePop</a><br />
-<a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathConcatFunction">xmlXPathConcatFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathContainsFunction">xmlXPathContainsFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCountFunction">xmlXPathCountFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathErr">xmlXPathErr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvalExpr">xmlXPathEvalExpr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalFunc">xmlXPathEvalFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFalseFunction">xmlXPathFalseFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLastFunction">xmlXPathLastFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextChild">xmlXPathNextChild</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextParent">xmlXPathNextParent</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNotFunction">xmlXPathNotFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNumberFunction">xmlXPathNumberFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseName">xmlXPathParseName</a><br />
-<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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathPositionFunction">xmlXPathPositionFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoot">xmlXPathRoot</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSumFunction">xmlXPathSumFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrueFunction">xmlXPathTrueFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPatherror">xmlXPatherror</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
-</p><h2>Type xmlXPathVariableLookupFunc:</h2><p><a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a><br />
-</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html
deleted file mode 100644
index 3cdbfb6..0000000
--- a/doc/APIsymbols.html
+++ /dev/null
@@ -1,3593 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Alphabetic List of Symbols in libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Alphabetic List of Symbols in libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Letter A:</h2><p><a href="html/libxml-xmlversion.html#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a><br />
-</p><h2>Letter B:</h2><p><a href="html/libxml-xmlstring.html#BAD_CAST">BAD_CAST</a><br />
-<a href="html/libxml-tree.html#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a><br />
-</p><h2>Letter C:</h2><p><a href="html/libxml-xpathInternals.html#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a><br />
-<a href="html/libxml-xpathInternals.html#CAST_TO_NUMBER">CAST_TO_NUMBER</a><br />
-<a href="html/libxml-xpathInternals.html#CAST_TO_STRING">CAST_TO_STRING</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_ARITY">CHECK_ARITY</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_ERROR">CHECK_ERROR</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_ERROR0">CHECK_ERROR0</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_TYPE">CHECK_TYPE</a><br />
-<a href="html/libxml-xpathInternals.html#CHECK_TYPE0">CHECK_TYPE0</a><br />
-</p><h2>Letter D:</h2><p><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
-<a href="html/libxml-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a><br />
-</p><h2>Letter H:</h2><p><a href="html/libxml-HTMLtree.html#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_DEPRECATED">HTML_DEPRECATED</a><br />
-<a href="html/libxml-HTMLtree.html#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_INVALID">HTML_INVALID</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_NA">HTML_NA</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_COMPACT">HTML_PARSE_COMPACT</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_IGNORE_ENC">HTML_PARSE_IGNORE_ENC</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NOBLANKS">HTML_PARSE_NOBLANKS</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NODEFDTD">HTML_PARSE_NODEFDTD</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NOERROR">HTML_PARSE_NOERROR</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NOIMPLIED">HTML_PARSE_NOIMPLIED</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NONET">HTML_PARSE_NONET</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</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-HTMLparser.html#HTML_REQUIRED">HTML_REQUIRED</a><br />
-<a href="html/libxml-HTMLtree.html#HTML_TEXT_NODE">HTML_TEXT_NODE</a><br />
-<a href="html/libxml-HTMLparser.html#HTML_VALID">HTML_VALID</a><br />
-</p><h2>Letter I:</h2><p><a href="html/libxml-encoding.html#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a><br />
-<a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
-<a href="html/libxml-nanoftp.html#INVALID_SOCKET">INVALID_SOCKET</a><br />
-<a href="html/libxml-parserInternals.html#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a><br />
-<a href="html/libxml-parserInternals.html#IS_ASCII_LETTER">IS_ASCII_LETTER</a><br />
-<a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_BLANK">IS_BLANK</a><br />
-<a href="html/libxml-parserInternals.html#IS_BLANK_CH">IS_BLANK_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_CHAR_CH">IS_CHAR_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_COMBINING">IS_COMBINING</a><br />
-<a href="html/libxml-parserInternals.html#IS_COMBINING_CH">IS_COMBINING_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_DIGIT">IS_DIGIT</a><br />
-<a href="html/libxml-parserInternals.html#IS_DIGIT_CH">IS_DIGIT_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-<a href="html/libxml-parserInternals.html#IS_EXTENDER_CH">IS_EXTENDER_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-<a href="html/libxml-parserInternals.html#IS_LETTER">IS_LETTER</a><br />
-<a href="html/libxml-parserInternals.html#IS_LETTER_CH">IS_LETTER_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a><br />
-</p><h2>Letter L:</h2><p><a href="html/libxml-tree.html#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a><br />
-<a href="html/libxml-xmlexports.html#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_VERSION">LIBXML_VERSION</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a><br />
-<a href="html/libxml-xmlversion.html#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a><br />
-</p><h2>Letter M:</h2><p><a href="html/libxml-parserInternals.html#MOVETO_ENDTAG">MOVETO_ENDTAG</a><br />
-<a href="html/libxml-parserInternals.html#MOVETO_STARTTAG">MOVETO_STARTTAG</a><br />
-</p><h2>Letter S:</h2><p><a href="html/libxml-parserInternals.html#SKIP_EOL">SKIP_EOL</a><br />
-<a href="html/libxml-nanoftp.html#SOCKET">SOCKET</a><br />
-</p><h2>Letter U:</h2><p><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
-<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
-</p><h2>Letter W:</h2><p><a href="html/libxml-xmlversion.html#WITHOUT_TRIO">WITHOUT_TRIO</a><br />
-<a href="html/libxml-xmlversion.html#WITH_TRIO">WITH_TRIO</a><br />
-</p><h2>Letter X:</h2><p><a href="html/libxml-xinclude.html#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_HREF">XINCLUDE_HREF</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_NODE">XINCLUDE_NODE</a><br />
-<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-xinclude.html#XINCLUDE_PARSE">XINCLUDE_PARSE</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a><br />
-<a href="html/libxml-xlink.html#XLINK_ACTUATE_AUTO">XLINK_ACTUATE_AUTO</a><br />
-<a href="html/libxml-xlink.html#XLINK_ACTUATE_NONE">XLINK_ACTUATE_NONE</a><br />
-<a href="html/libxml-xlink.html#XLINK_ACTUATE_ONREQUEST">XLINK_ACTUATE_ONREQUEST</a><br />
-<a href="html/libxml-xlink.html#XLINK_SHOW_EMBED">XLINK_SHOW_EMBED</a><br />
-<a href="html/libxml-xlink.html#XLINK_SHOW_NEW">XLINK_SHOW_NEW</a><br />
-<a href="html/libxml-xlink.html#XLINK_SHOW_NONE">XLINK_SHOW_NONE</a><br />
-<a href="html/libxml-xlink.html#XLINK_SHOW_REPLACE">XLINK_SHOW_REPLACE</a><br />
-<a href="html/libxml-xlink.html#XLINK_TYPE_EXTENDED">XLINK_TYPE_EXTENDED</a><br />
-<a href="html/libxml-xlink.html#XLINK_TYPE_EXTENDED_SET">XLINK_TYPE_EXTENDED_SET</a><br />
-<a href="html/libxml-xlink.html#XLINK_TYPE_NONE">XLINK_TYPE_NONE</a><br />
-<a href="html/libxml-xlink.html#XLINK_TYPE_SIMPLE">XLINK_TYPE_SIMPLE</a><br />
-<a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
-<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
-<a href="html/libxml-xmlexports.html#XMLPUBFUN">XMLPUBFUN</a><br />
-<a href="html/libxml-xmlexports.html#XMLPUBLIC">XMLPUBLIC</a><br />
-<a href="html/libxml-xmlexports.html#XMLPUBVAR">XMLPUBVAR</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_CDATA">XML_ATTRIBUTE_CDATA</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_DECL">XML_ATTRIBUTE_DECL</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_ENTITIES">XML_ATTRIBUTE_ENTITIES</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_ENTITY">XML_ATTRIBUTE_ENTITY</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_FIXED">XML_ATTRIBUTE_FIXED</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_ID">XML_ATTRIBUTE_ID</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_IDREF">XML_ATTRIBUTE_IDREF</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_IDREFS">XML_ATTRIBUTE_IDREFS</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_NMTOKEN">XML_ATTRIBUTE_NMTOKEN</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_NMTOKENS">XML_ATTRIBUTE_NMTOKENS</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_NODE">XML_ATTRIBUTE_NODE</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_NONE">XML_ATTRIBUTE_NONE</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a><br />
-<a href="html/libxml-tree.html#XML_ATTRIBUTE_REQUIRED">XML_ATTRIBUTE_REQUIRED</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_BOUNDED">XML_BUFFER_ALLOC_BOUNDED</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_IMMUTABLE">XML_BUFFER_ALLOC_IMMUTABLE</a><br />
-<a href="html/libxml-tree.html#XML_BUFFER_ALLOC_IO">XML_BUFFER_ALLOC_IO</a><br />
-<a href="html/libxml-xmlerror.html#XML_BUF_OVERFLOW">XML_BUF_OVERFLOW</a><br />
-<a href="html/libxml-c14n.html#XML_C14N_1_0">XML_C14N_1_0</a><br />
-<a href="html/libxml-c14n.html#XML_C14N_1_1">XML_C14N_1_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_CREATE_CTXT">XML_C14N_CREATE_CTXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_CREATE_STACK">XML_C14N_CREATE_STACK</a><br />
-<a href="html/libxml-c14n.html#XML_C14N_EXCLUSIVE_1_0">XML_C14N_EXCLUSIVE_1_0</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_INVALID_NODE">XML_C14N_INVALID_NODE</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_RELATIVE_NAMESPACE">XML_C14N_RELATIVE_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_REQUIRES_UTF8">XML_C14N_REQUIRES_UTF8</a><br />
-<a href="html/libxml-xmlerror.html#XML_C14N_UNKNOW_NODE">XML_C14N_UNKNOW_NODE</a><br />
-<a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
-<a href="html/libxml-catalog.html#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CATALOG_ENTRY_BROKEN">XML_CATALOG_ENTRY_BROKEN</a><br />
-<a href="html/libxml-xmlerror.html#XML_CATALOG_MISSING_ATTR">XML_CATALOG_MISSING_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_CATALOG_NOT_CATALOG">XML_CATALOG_NOT_CATALOG</a><br />
-<a href="html/libxml-catalog.html#XML_CATALOG_PI">XML_CATALOG_PI</a><br />
-<a href="html/libxml-xmlerror.html#XML_CATALOG_PREFER_VALUE">XML_CATALOG_PREFER_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CATALOG_RECURSION">XML_CATALOG_RECURSION</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_ALLOW_ALL">XML_CATA_ALLOW_ALL</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_ALLOW_DOCUMENT">XML_CATA_ALLOW_DOCUMENT</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_ALLOW_GLOBAL">XML_CATA_ALLOW_GLOBAL</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_ALLOW_NONE">XML_CATA_ALLOW_NONE</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_PREFER_NONE">XML_CATA_PREFER_NONE</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a><br />
-<a href="html/libxml-catalog.html#XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a><br />
-<a href="html/libxml-tree.html#XML_CDATA_SECTION_NODE">XML_CDATA_SECTION_NODE</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_2022_JP">XML_CHAR_ENCODING_2022_JP</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_1">XML_CHAR_ENCODING_8859_1</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_2">XML_CHAR_ENCODING_8859_2</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_3">XML_CHAR_ENCODING_8859_3</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_4">XML_CHAR_ENCODING_8859_4</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_5">XML_CHAR_ENCODING_8859_5</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_6">XML_CHAR_ENCODING_8859_6</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_7">XML_CHAR_ENCODING_8859_7</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_8">XML_CHAR_ENCODING_8859_8</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_9">XML_CHAR_ENCODING_8859_9</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_ASCII">XML_CHAR_ENCODING_ASCII</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_EBCDIC">XML_CHAR_ENCODING_EBCDIC</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_ERROR">XML_CHAR_ENCODING_ERROR</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_EUC_JP">XML_CHAR_ENCODING_EUC_JP</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_SHIFT_JIS">XML_CHAR_ENCODING_SHIFT_JIS</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UCS2">XML_CHAR_ENCODING_UCS2</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4BE">XML_CHAR_ENCODING_UCS4BE</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4LE">XML_CHAR_ENCODING_UCS4LE</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4_2143">XML_CHAR_ENCODING_UCS4_2143</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4_3412">XML_CHAR_ENCODING_UCS4_3412</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UTF16BE">XML_CHAR_ENCODING_UTF16BE</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UTF16LE">XML_CHAR_ENCODING_UTF16LE</a><br />
-<a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UTF8">XML_CHAR_ENCODING_UTF8</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_ENTITY_TYPE">XML_CHECK_ENTITY_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ATTRIBUTE">XML_CHECK_FOUND_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_CDATA">XML_CHECK_FOUND_CDATA</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_COMMENT">XML_CHECK_FOUND_COMMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_DOCTYPE">XML_CHECK_FOUND_DOCTYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ELEMENT">XML_CHECK_FOUND_ELEMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ENTITY">XML_CHECK_FOUND_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ENTITYREF">XML_CHECK_FOUND_ENTITYREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_FRAGMENT">XML_CHECK_FOUND_FRAGMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_NOTATION">XML_CHECK_FOUND_NOTATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_PI">XML_CHECK_FOUND_PI</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_TEXT">XML_CHECK_FOUND_TEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NAME_NOT_NULL">XML_CHECK_NAME_NOT_NULL</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ATTR">XML_CHECK_NOT_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ATTR_DECL">XML_CHECK_NOT_ATTR_DECL</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_DTD">XML_CHECK_NOT_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ELEM_DECL">XML_CHECK_NOT_ELEM_DECL</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ENTITY_DECL">XML_CHECK_NOT_ENTITY_DECL</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_NCNAME">XML_CHECK_NOT_NCNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_NS_DECL">XML_CHECK_NOT_NS_DECL</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_UTF8">XML_CHECK_NOT_UTF8</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_DICT">XML_CHECK_NO_DICT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_DOC">XML_CHECK_NO_DOC</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_ELEM">XML_CHECK_NO_ELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_HREF">XML_CHECK_NO_HREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_NAME">XML_CHECK_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_NEXT">XML_CHECK_NO_NEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_PARENT">XML_CHECK_NO_PARENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NO_PREV">XML_CHECK_NO_PREV</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NS_ANCESTOR">XML_CHECK_NS_ANCESTOR</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_NS_SCOPE">XML_CHECK_NS_SCOPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_OUTSIDE_DICT">XML_CHECK_OUTSIDE_DICT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_UNKNOWN_NODE">XML_CHECK_UNKNOWN_NODE</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_DOC">XML_CHECK_WRONG_DOC</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_NAME">XML_CHECK_WRONG_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_NEXT">XML_CHECK_WRONG_NEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_PARENT">XML_CHECK_WRONG_PARENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_PREV">XML_CHECK_WRONG_PREV</a><br />
-<a href="html/libxml-tree.html#XML_COMMENT_NODE">XML_COMMENT_NODE</a><br />
-<a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
-<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
-<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
-<a href="html/libxml-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a><br />
-<a href="html/libxml-parser.html#XML_DETECT_IDS">XML_DETECT_IDS</a><br />
-<a href="html/libxml-tree.html#XML_DOCB_DOCUMENT_NODE">XML_DOCB_DOCUMENT_NODE</a><br />
-<a href="html/libxml-tree.html#XML_DOCUMENT_FRAG_NODE">XML_DOCUMENT_FRAG_NODE</a><br />
-<a href="html/libxml-tree.html#XML_DOCUMENT_NODE">XML_DOCUMENT_NODE</a><br />
-<a href="html/libxml-tree.html#XML_DOCUMENT_TYPE_NODE">XML_DOCUMENT_TYPE_NODE</a><br />
-<a href="html/libxml-tree.html#XML_DOC_DTDVALID">XML_DOC_DTDVALID</a><br />
-<a href="html/libxml-tree.html#XML_DOC_HTML">XML_DOC_HTML</a><br />
-<a href="html/libxml-tree.html#XML_DOC_INTERNAL">XML_DOC_INTERNAL</a><br />
-<a href="html/libxml-tree.html#XML_DOC_NSVALID">XML_DOC_NSVALID</a><br />
-<a href="html/libxml-tree.html#XML_DOC_OLD10">XML_DOC_OLD10</a><br />
-<a href="html/libxml-tree.html#XML_DOC_USERBUILT">XML_DOC_USERBUILT</a><br />
-<a href="html/libxml-tree.html#XML_DOC_WELLFORMED">XML_DOC_WELLFORMED</a><br />
-<a href="html/libxml-tree.html#XML_DOC_XINCLUDE">XML_DOC_XINCLUDE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_DEFAULT">XML_DTD_ATTRIBUTE_DEFAULT</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_REDEFINED">XML_DTD_ATTRIBUTE_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_VALUE">XML_DTD_ATTRIBUTE_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_CONTENT_ERROR">XML_DTD_CONTENT_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_CONTENT_MODEL">XML_DTD_CONTENT_MODEL</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_CONTENT_NOT_DETERMINIST">XML_DTD_CONTENT_NOT_DETERMINIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_DIFFERENT_PREFIX">XML_DTD_DIFFERENT_PREFIX</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_DUP_TOKEN">XML_DTD_DUP_TOKEN</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ELEM_DEFAULT_NAMESPACE">XML_DTD_ELEM_DEFAULT_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ELEM_NAMESPACE">XML_DTD_ELEM_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ELEM_REDEFINED">XML_DTD_ELEM_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_EMPTY_NOTATION">XML_DTD_EMPTY_NOTATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ENTITY_TYPE">XML_DTD_ENTITY_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ID_FIXED">XML_DTD_ID_FIXED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ID_REDEFINED">XML_DTD_ID_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ID_SUBSET">XML_DTD_ID_SUBSET</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_INVALID_CHILD">XML_DTD_INVALID_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_INVALID_DEFAULT">XML_DTD_INVALID_DEFAULT</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_LOAD_ERROR">XML_DTD_LOAD_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_MISSING_ATTRIBUTE">XML_DTD_MISSING_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_MIXED_CORRUPT">XML_DTD_MIXED_CORRUPT</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_MULTIPLE_ID">XML_DTD_MULTIPLE_ID</a><br />
-<a href="html/libxml-tree.html#XML_DTD_NODE">XML_DTD_NODE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NOTATION_REDEFINED">XML_DTD_NOTATION_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NOTATION_VALUE">XML_DTD_NOTATION_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NOT_EMPTY">XML_DTD_NOT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NOT_PCDATA">XML_DTD_NOT_PCDATA</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NOT_STANDALONE">XML_DTD_NOT_STANDALONE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NO_DOC">XML_DTD_NO_DOC</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NO_DTD">XML_DTD_NO_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NO_ELEM_NAME">XML_DTD_NO_ELEM_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NO_PREFIX">XML_DTD_NO_PREFIX</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_NO_ROOT">XML_DTD_NO_ROOT</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_ROOT_NAME">XML_DTD_ROOT_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_STANDALONE_DEFAULTED">XML_DTD_STANDALONE_DEFAULTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_STANDALONE_WHITE_SPACE">XML_DTD_STANDALONE_WHITE_SPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ATTRIBUTE">XML_DTD_UNKNOWN_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ELEM">XML_DTD_UNKNOWN_ELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ENTITY">XML_DTD_UNKNOWN_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ID">XML_DTD_UNKNOWN_ID</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_UNKNOWN_NOTATION">XML_DTD_UNKNOWN_NOTATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_XMLID_TYPE">XML_DTD_XMLID_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_DTD_XMLID_VALUE">XML_DTD_XMLID_VALUE</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_ELEMENT">XML_ELEMENT_CONTENT_ELEMENT</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_MULT">XML_ELEMENT_CONTENT_MULT</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_ONCE">XML_ELEMENT_CONTENT_ONCE</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_OPT">XML_ELEMENT_CONTENT_OPT</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_OR">XML_ELEMENT_CONTENT_OR</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_PCDATA">XML_ELEMENT_CONTENT_PCDATA</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_PLUS">XML_ELEMENT_CONTENT_PLUS</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_CONTENT_SEQ">XML_ELEMENT_CONTENT_SEQ</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_DECL">XML_ELEMENT_DECL</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_NODE">XML_ELEMENT_NODE</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_TYPE_ANY">XML_ELEMENT_TYPE_ANY</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_TYPE_ELEMENT">XML_ELEMENT_TYPE_ELEMENT</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_TYPE_EMPTY">XML_ELEMENT_TYPE_EMPTY</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_TYPE_MIXED">XML_ELEMENT_TYPE_MIXED</a><br />
-<a href="html/libxml-tree.html#XML_ELEMENT_TYPE_UNDEFINED">XML_ELEMENT_TYPE_UNDEFINED</a><br />
-<a href="html/libxml-tree.html#XML_ENTITY_DECL">XML_ENTITY_DECL</a><br />
-<a href="html/libxml-tree.html#XML_ENTITY_NODE">XML_ENTITY_NODE</a><br />
-<a href="html/libxml-tree.html#XML_ENTITY_REF_NODE">XML_ENTITY_REF_NODE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTLIST_NOT_FINISHED">XML_ERR_ATTLIST_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTLIST_NOT_STARTED">XML_ERR_ATTLIST_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_NOT_FINISHED">XML_ERR_ATTRIBUTE_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_NOT_STARTED">XML_ERR_ATTRIBUTE_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_REDEFINED">XML_ERR_ATTRIBUTE_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_WITHOUT_VALUE">XML_ERR_ATTRIBUTE_WITHOUT_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CDATA_NOT_FINISHED">XML_ERR_CDATA_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CHARREF_AT_EOF">XML_ERR_CHARREF_AT_EOF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CHARREF_IN_DTD">XML_ERR_CHARREF_IN_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CHARREF_IN_EPILOG">XML_ERR_CHARREF_IN_EPILOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CHARREF_IN_PROLOG">XML_ERR_CHARREF_IN_PROLOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_COMMENT_NOT_FINISHED">XML_ERR_COMMENT_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CONDSEC_INVALID">XML_ERR_CONDSEC_INVALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CONDSEC_INVALID_KEYWORD">XML_ERR_CONDSEC_INVALID_KEYWORD</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CONDSEC_NOT_FINISHED">XML_ERR_CONDSEC_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_CONDSEC_NOT_STARTED">XML_ERR_CONDSEC_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_DOCTYPE_NOT_FINISHED">XML_ERR_DOCTYPE_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_DOCUMENT_EMPTY">XML_ERR_DOCUMENT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_DOCUMENT_END">XML_ERR_DOCUMENT_END</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_DOCUMENT_START">XML_ERR_DOCUMENT_START</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ELEMCONTENT_NOT_FINISHED">XML_ERR_ELEMCONTENT_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ELEMCONTENT_NOT_STARTED">XML_ERR_ELEMCONTENT_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENCODING_NAME">XML_ERR_ENCODING_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_AT_EOF">XML_ERR_ENTITYREF_AT_EOF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_IN_DTD">XML_ERR_ENTITYREF_IN_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_IN_EPILOG">XML_ERR_ENTITYREF_IN_EPILOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_IN_PROLOG">XML_ERR_ENTITYREF_IN_PROLOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_NO_NAME">XML_ERR_ENTITYREF_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITYREF_SEMICOL_MISSING">XML_ERR_ENTITYREF_SEMICOL_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_BOUNDARY">XML_ERR_ENTITY_BOUNDARY</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_CHAR_ERROR">XML_ERR_ENTITY_CHAR_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_IS_EXTERNAL">XML_ERR_ENTITY_IS_EXTERNAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_IS_PARAMETER">XML_ERR_ENTITY_IS_PARAMETER</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_LOOP">XML_ERR_ENTITY_LOOP</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_NOT_FINISHED">XML_ERR_ENTITY_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_NOT_STARTED">XML_ERR_ENTITY_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_PE_INTERNAL">XML_ERR_ENTITY_PE_INTERNAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ENTITY_PROCESSING">XML_ERR_ENTITY_PROCESSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_EQUAL_REQUIRED">XML_ERR_EQUAL_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_ERROR">XML_ERR_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_EXTRA_CONTENT">XML_ERR_EXTRA_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_EXT_ENTITY_STANDALONE">XML_ERR_EXT_ENTITY_STANDALONE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_EXT_SUBSET_NOT_FINISHED">XML_ERR_EXT_SUBSET_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_FATAL">XML_ERR_FATAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_GT_REQUIRED">XML_ERR_GT_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_HYPHEN_IN_COMMENT">XML_ERR_HYPHEN_IN_COMMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INTERNAL_ERROR">XML_ERR_INTERNAL_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_CHAR">XML_ERR_INVALID_CHAR</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_CHARREF">XML_ERR_INVALID_CHARREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_DEC_CHARREF">XML_ERR_INVALID_DEC_CHARREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_ENCODING">XML_ERR_INVALID_ENCODING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_HEX_CHARREF">XML_ERR_INVALID_HEX_CHARREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_INVALID_URI">XML_ERR_INVALID_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_LITERAL_NOT_FINISHED">XML_ERR_LITERAL_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_LITERAL_NOT_STARTED">XML_ERR_LITERAL_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_LTSLASH_REQUIRED">XML_ERR_LTSLASH_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_LT_IN_ATTRIBUTE">XML_ERR_LT_IN_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_LT_REQUIRED">XML_ERR_LT_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_MISPLACED_CDATA_END">XML_ERR_MISPLACED_CDATA_END</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_MISSING_ENCODING">XML_ERR_MISSING_ENCODING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_MIXED_NOT_FINISHED">XML_ERR_MIXED_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_MIXED_NOT_STARTED">XML_ERR_MIXED_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NAME_REQUIRED">XML_ERR_NAME_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NAME_TOO_LONG">XML_ERR_NAME_TOO_LONG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NMTOKEN_REQUIRED">XML_ERR_NMTOKEN_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NONE">XML_ERR_NONE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NOTATION_NOT_FINISHED">XML_ERR_NOTATION_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NOTATION_NOT_STARTED">XML_ERR_NOTATION_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NOTATION_PROCESSING">XML_ERR_NOTATION_PROCESSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NOT_STANDALONE">XML_ERR_NOT_STANDALONE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NOT_WELL_BALANCED">XML_ERR_NOT_WELL_BALANCED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NO_DTD">XML_ERR_NO_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NO_MEMORY">XML_ERR_NO_MEMORY</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_NS_DECL_ERROR">XML_ERR_NS_DECL_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PCDATA_REQUIRED">XML_ERR_PCDATA_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_AT_EOF">XML_ERR_PEREF_AT_EOF</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_IN_EPILOG">XML_ERR_PEREF_IN_EPILOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_IN_INT_SUBSET">XML_ERR_PEREF_IN_INT_SUBSET</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_IN_PROLOG">XML_ERR_PEREF_IN_PROLOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_NO_NAME">XML_ERR_PEREF_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PEREF_SEMICOL_MISSING">XML_ERR_PEREF_SEMICOL_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PI_NOT_FINISHED">XML_ERR_PI_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PI_NOT_STARTED">XML_ERR_PI_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_PUBID_REQUIRED">XML_ERR_PUBID_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_RESERVED_XML_NAME">XML_ERR_RESERVED_XML_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_SEPARATOR_REQUIRED">XML_ERR_SEPARATOR_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_SPACE_REQUIRED">XML_ERR_SPACE_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_STANDALONE_VALUE">XML_ERR_STANDALONE_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_STRING_NOT_CLOSED">XML_ERR_STRING_NOT_CLOSED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_STRING_NOT_STARTED">XML_ERR_STRING_NOT_STARTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_TAG_NAME_MISMATCH">XML_ERR_TAG_NAME_MISMATCH</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_TAG_NOT_FINISHED">XML_ERR_TAG_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_UNDECLARED_ENTITY">XML_ERR_UNDECLARED_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_UNKNOWN_ENCODING">XML_ERR_UNKNOWN_ENCODING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_UNKNOWN_VERSION">XML_ERR_UNKNOWN_VERSION</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_UNPARSED_ENTITY">XML_ERR_UNPARSED_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_UNSUPPORTED_ENCODING">XML_ERR_UNSUPPORTED_ENCODING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_URI_FRAGMENT">XML_ERR_URI_FRAGMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_URI_REQUIRED">XML_ERR_URI_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_USER_STOP">XML_ERR_USER_STOP</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_VALUE_REQUIRED">XML_ERR_VALUE_REQUIRED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_VERSION_MISMATCH">XML_ERR_VERSION_MISMATCH</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_VERSION_MISSING">XML_ERR_VERSION_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_WARNING">XML_ERR_WARNING</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_XMLDECL_NOT_FINISHED">XML_ERR_XMLDECL_NOT_FINISHED</a><br />
-<a href="html/libxml-xmlerror.html#XML_ERR_XMLDECL_NOT_STARTED">XML_ERR_XMLDECL_NOT_STARTED</a><br />
-<a href="html/libxml-xmlregexp.html#XML_EXP_ATOM">XML_EXP_ATOM</a><br />
-<a href="html/libxml-xmlregexp.html#XML_EXP_COUNT">XML_EXP_COUNT</a><br />
-<a href="html/libxml-xmlregexp.html#XML_EXP_EMPTY">XML_EXP_EMPTY</a><br />
-<a href="html/libxml-xmlregexp.html#XML_EXP_FORBID">XML_EXP_FORBID</a><br />
-<a href="html/libxml-xmlregexp.html#XML_EXP_OR">XML_EXP_OR</a><br />
-<a href="html/libxml-xmlregexp.html#XML_EXP_SEQ">XML_EXP_SEQ</a><br />
-<a href="html/libxml-entities.html#XML_EXTERNAL_GENERAL_PARSED_ENTITY">XML_EXTERNAL_GENERAL_PARSED_ENTITY</a><br />
-<a href="html/libxml-entities.html#XML_EXTERNAL_GENERAL_UNPARSED_ENTITY">XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</a><br />
-<a href="html/libxml-entities.html#XML_EXTERNAL_PARAMETER_ENTITY">XML_EXTERNAL_PARAMETER_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_BUFFER">XML_FROM_BUFFER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_C14N">XML_FROM_C14N</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_CATALOG">XML_FROM_CATALOG</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_CHECK">XML_FROM_CHECK</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_DATATYPE">XML_FROM_DATATYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_DTD">XML_FROM_DTD</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_FTP">XML_FROM_FTP</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_HTML">XML_FROM_HTML</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_HTTP">XML_FROM_HTTP</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_I18N">XML_FROM_I18N</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_IO">XML_FROM_IO</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_MEMORY">XML_FROM_MEMORY</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_MODULE">XML_FROM_MODULE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_NAMESPACE">XML_FROM_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_NONE">XML_FROM_NONE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_OUTPUT">XML_FROM_OUTPUT</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_PARSER">XML_FROM_PARSER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_REGEXP">XML_FROM_REGEXP</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_RELAXNGP">XML_FROM_RELAXNGP</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_RELAXNGV">XML_FROM_RELAXNGV</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_SCHEMASP">XML_FROM_SCHEMASP</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_SCHEMASV">XML_FROM_SCHEMASV</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_SCHEMATRONV">XML_FROM_SCHEMATRONV</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_TREE">XML_FROM_TREE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_URI">XML_FROM_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_VALID">XML_FROM_VALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_WRITER">XML_FROM_WRITER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_XINCLUDE">XML_FROM_XINCLUDE</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_XPATH">XML_FROM_XPATH</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_XPOINTER">XML_FROM_XPOINTER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FROM_XSLT">XML_FROM_XSLT</a><br />
-<a href="html/libxml-xmlerror.html#XML_FTP_ACCNT">XML_FTP_ACCNT</a><br />
-<a href="html/libxml-xmlerror.html#XML_FTP_EPSV_ANSWER">XML_FTP_EPSV_ANSWER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FTP_PASV_ANSWER">XML_FTP_PASV_ANSWER</a><br />
-<a href="html/libxml-xmlerror.html#XML_FTP_URL_SYNTAX">XML_FTP_URL_SYNTAX</a><br />
-<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 />
-<a href="html/libxml-tree.html#XML_HTML_DOCUMENT_NODE">XML_HTML_DOCUMENT_NODE</a><br />
-<a href="html/libxml-xmlerror.html#XML_HTML_STRUCURE_ERROR">XML_HTML_STRUCURE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_HTML_UNKNOWN_TAG">XML_HTML_UNKNOWN_TAG</a><br />
-<a href="html/libxml-xmlerror.html#XML_HTTP_UNKNOWN_HOST">XML_HTTP_UNKNOWN_HOST</a><br />
-<a href="html/libxml-xmlerror.html#XML_HTTP_URL_SYNTAX">XML_HTTP_URL_SYNTAX</a><br />
-<a href="html/libxml-xmlerror.html#XML_HTTP_USE_IP">XML_HTTP_USE_IP</a><br />
-<a href="html/libxml-xmlerror.html#XML_I18N_CONV_FAILED">XML_I18N_CONV_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_I18N_EXCESS_HANDLER">XML_I18N_EXCESS_HANDLER</a><br />
-<a href="html/libxml-xmlerror.html#XML_I18N_NO_HANDLER">XML_I18N_NO_HANDLER</a><br />
-<a href="html/libxml-xmlerror.html#XML_I18N_NO_NAME">XML_I18N_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_I18N_NO_OUTPUT">XML_I18N_NO_OUTPUT</a><br />
-<a href="html/libxml-entities.html#XML_INTERNAL_GENERAL_ENTITY">XML_INTERNAL_GENERAL_ENTITY</a><br />
-<a href="html/libxml-entities.html#XML_INTERNAL_PARAMETER_ENTITY">XML_INTERNAL_PARAMETER_ENTITY</a><br />
-<a href="html/libxml-entities.html#XML_INTERNAL_PREDEFINED_ENTITY">XML_INTERNAL_PREDEFINED_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_BUFFER_FULL">XML_IO_BUFFER_FULL</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EACCES">XML_IO_EACCES</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EADDRINUSE">XML_IO_EADDRINUSE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EAFNOSUPPORT">XML_IO_EAFNOSUPPORT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EAGAIN">XML_IO_EAGAIN</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EALREADY">XML_IO_EALREADY</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EBADF">XML_IO_EBADF</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EBADMSG">XML_IO_EBADMSG</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EBUSY">XML_IO_EBUSY</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ECANCELED">XML_IO_ECANCELED</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ECHILD">XML_IO_ECHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ECONNREFUSED">XML_IO_ECONNREFUSED</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EDEADLK">XML_IO_EDEADLK</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EDOM">XML_IO_EDOM</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EEXIST">XML_IO_EEXIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EFAULT">XML_IO_EFAULT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EFBIG">XML_IO_EFBIG</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EINPROGRESS">XML_IO_EINPROGRESS</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EINTR">XML_IO_EINTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EINVAL">XML_IO_EINVAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EIO">XML_IO_EIO</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EISCONN">XML_IO_EISCONN</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EISDIR">XML_IO_EISDIR</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EMFILE">XML_IO_EMFILE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EMLINK">XML_IO_EMLINK</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EMSGSIZE">XML_IO_EMSGSIZE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENAMETOOLONG">XML_IO_ENAMETOOLONG</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENCODER">XML_IO_ENCODER</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENETUNREACH">XML_IO_ENETUNREACH</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENFILE">XML_IO_ENFILE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENODEV">XML_IO_ENODEV</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOENT">XML_IO_ENOENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOEXEC">XML_IO_ENOEXEC</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOLCK">XML_IO_ENOLCK</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOMEM">XML_IO_ENOMEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOSPC">XML_IO_ENOSPC</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOSYS">XML_IO_ENOSYS</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOTDIR">XML_IO_ENOTDIR</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOTEMPTY">XML_IO_ENOTEMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOTSOCK">XML_IO_ENOTSOCK</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOTSUP">XML_IO_ENOTSUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENOTTY">XML_IO_ENOTTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ENXIO">XML_IO_ENXIO</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EPERM">XML_IO_EPERM</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EPIPE">XML_IO_EPIPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ERANGE">XML_IO_ERANGE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EROFS">XML_IO_EROFS</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ESPIPE">XML_IO_ESPIPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ESRCH">XML_IO_ESRCH</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_ETIMEDOUT">XML_IO_ETIMEDOUT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_EXDEV">XML_IO_EXDEV</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_FLUSH">XML_IO_FLUSH</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_LOAD_ERROR">XML_IO_LOAD_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_NETWORK_ATTEMPT">XML_IO_NETWORK_ATTEMPT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_NO_INPUT">XML_IO_NO_INPUT</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_UNKNOWN">XML_IO_UNKNOWN</a><br />
-<a href="html/libxml-xmlerror.html#XML_IO_WRITE">XML_IO_WRITE</a><br />
-<a href="html/libxml-tree.html#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br />
-<a href="html/libxml-xmlerror.html#XML_MODULE_CLOSE">XML_MODULE_CLOSE</a><br />
-<a href="html/libxml-xmlmodule.html#XML_MODULE_LAZY">XML_MODULE_LAZY</a><br />
-<a href="html/libxml-xmlmodule.html#XML_MODULE_LOCAL">XML_MODULE_LOCAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_MODULE_OPEN">XML_MODULE_OPEN</a><br />
-<a href="html/libxml-tree.html#XML_NAMESPACE_DECL">XML_NAMESPACE_DECL</a><br />
-<a href="html/libxml-tree.html#XML_NOTATION_NODE">XML_NOTATION_NODE</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_ATTRIBUTE_REDEFINED">XML_NS_ERR_ATTRIBUTE_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_COLON">XML_NS_ERR_COLON</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_EMPTY">XML_NS_ERR_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_QNAME">XML_NS_ERR_QNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_UNDEFINED_NAMESPACE">XML_NS_ERR_UNDEFINED_NAMESPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_NS_ERR_XML_NAMESPACE">XML_NS_ERR_XML_NAMESPACE</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_ATTRIBUTE_VALUE">XML_PARSER_ATTRIBUTE_VALUE</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_CDATA_SECTION">XML_PARSER_CDATA_SECTION</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_COMMENT">XML_PARSER_COMMENT</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_CONTENT">XML_PARSER_CONTENT</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_DEFAULTATTRS">XML_PARSER_DEFAULTATTRS</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_DTD">XML_PARSER_DTD</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_END_TAG">XML_PARSER_END_TAG</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_ENTITY_DECL">XML_PARSER_ENTITY_DECL</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_ENTITY_VALUE">XML_PARSER_ENTITY_VALUE</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_EOF">XML_PARSER_EOF</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_EPILOG">XML_PARSER_EPILOG</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_IGNORE">XML_PARSER_IGNORE</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_LOADDTD">XML_PARSER_LOADDTD</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_MISC">XML_PARSER_MISC</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_PI">XML_PARSER_PI</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_PROLOG">XML_PARSER_PROLOG</a><br />
-<a href="html/libxml-parser.html#XML_PARSER_PUBLIC_LITERAL">XML_PARSER_PUBLIC_LITERAL</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_SEVERITY_ERROR">XML_PARSER_SEVERITY_ERROR</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_SEVERITY_VALIDITY_ERROR">XML_PARSER_SEVERITY_VALIDITY_ERROR</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_SEVERITY_VALIDITY_WARNING">XML_PARSER_SEVERITY_VALIDITY_WARNING</a><br />
-<a href="html/libxml-xmlreader.html#XML_PARSER_SEVERITY_WARNING">XML_PARSER_SEVERITY_WARNING</a><br />
-<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-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_BIG_LINES">XML_PARSE_BIG_LINES</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_COMPACT">XML_PARSE_COMPACT</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 />
-<a href="html/libxml-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOBASEFIX">XML_PARSE_NOBASEFIX</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NODICT">XML_PARSE_NODICT</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOENT">XML_PARSE_NOENT</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOERROR">XML_PARSE_NOERROR</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NONET">XML_PARSE_NONET</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NOXINCNODE">XML_PARSE_NOXINCNODE</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_OLD10">XML_PARSE_OLD10</a><br />
-<a href="html/libxml-parser.html#XML_PARSE_OLDSAX">XML_PARSE_OLDSAX</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-pattern.html#XML_PATTERN_DEFAULT">XML_PATTERN_DEFAULT</a><br />
-<a href="html/libxml-pattern.html#XML_PATTERN_XPATH">XML_PATTERN_XPATH</a><br />
-<a href="html/libxml-pattern.html#XML_PATTERN_XSFIELD">XML_PATTERN_XSFIELD</a><br />
-<a href="html/libxml-pattern.html#XML_PATTERN_XSSEL">XML_PATTERN_XSSEL</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 />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_CDATA">XML_READER_TYPE_CDATA</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_COMMENT">XML_READER_TYPE_COMMENT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_DOCUMENT">XML_READER_TYPE_DOCUMENT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_DOCUMENT_FRAGMENT">XML_READER_TYPE_DOCUMENT_FRAGMENT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_DOCUMENT_TYPE">XML_READER_TYPE_DOCUMENT_TYPE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_ELEMENT">XML_READER_TYPE_ELEMENT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_END_ELEMENT">XML_READER_TYPE_END_ELEMENT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_END_ENTITY">XML_READER_TYPE_END_ENTITY</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_ENTITY">XML_READER_TYPE_ENTITY</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_ENTITY_REFERENCE">XML_READER_TYPE_ENTITY_REFERENCE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_NONE">XML_READER_TYPE_NONE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_NOTATION">XML_READER_TYPE_NOTATION</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_PROCESSING_INSTRUCTION">XML_READER_TYPE_PROCESSING_INSTRUCTION</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_SIGNIFICANT_WHITESPACE">XML_READER_TYPE_SIGNIFICANT_WHITESPACE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_TEXT">XML_READER_TYPE_TEXT</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_WHITESPACE">XML_READER_TYPE_WHITESPACE</a><br />
-<a href="html/libxml-xmlreader.html#XML_READER_TYPE_XML_DECLARATION">XML_READER_TYPE_XML_DECLARATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_REGEXP_COMPILE_ERROR">XML_REGEXP_COMPILE_ERROR</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNGP_CRNG">XML_RELAXNGP_CRNG</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNGP_FREE_DOC">XML_RELAXNGP_FREE_DOC</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNGP_NONE">XML_RELAXNGP_NONE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTREXTRANS">XML_RELAXNG_ERR_ATTREXTRANS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRNAME">XML_RELAXNG_ERR_ATTRNAME</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRNONS">XML_RELAXNG_ERR_ATTRNONS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRVALID">XML_RELAXNG_ERR_ATTRVALID</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRWRONGNS">XML_RELAXNG_ERR_ATTRWRONGNS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_CONTENTVALID">XML_RELAXNG_ERR_CONTENTVALID</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_DATAELEM">XML_RELAXNG_ERR_DATAELEM</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_DATATYPE">XML_RELAXNG_ERR_DATATYPE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_DUPID">XML_RELAXNG_ERR_DUPID</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMEXTRANS">XML_RELAXNG_ERR_ELEMEXTRANS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMNAME">XML_RELAXNG_ERR_ELEMNAME</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMNONS">XML_RELAXNG_ERR_ELEMNONS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMNOTEMPTY">XML_RELAXNG_ERR_ELEMNOTEMPTY</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMWRONG">XML_RELAXNG_ERR_ELEMWRONG</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMWRONGNS">XML_RELAXNG_ERR_ELEMWRONGNS</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_EXTRACONTENT">XML_RELAXNG_ERR_EXTRACONTENT</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_EXTRADATA">XML_RELAXNG_ERR_EXTRADATA</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_INTEREXTRA">XML_RELAXNG_ERR_INTEREXTRA</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_INTERNAL">XML_RELAXNG_ERR_INTERNAL</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_INTERNODATA">XML_RELAXNG_ERR_INTERNODATA</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_INTERSEQ">XML_RELAXNG_ERR_INTERSEQ</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_INVALIDATTR">XML_RELAXNG_ERR_INVALIDATTR</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_LACKDATA">XML_RELAXNG_ERR_LACKDATA</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_LIST">XML_RELAXNG_ERR_LIST</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_LISTELEM">XML_RELAXNG_ERR_LISTELEM</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_LISTEMPTY">XML_RELAXNG_ERR_LISTEMPTY</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_LISTEXTRA">XML_RELAXNG_ERR_LISTEXTRA</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_MEMORY">XML_RELAXNG_ERR_MEMORY</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_NODEFINE">XML_RELAXNG_ERR_NODEFINE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_NOELEM">XML_RELAXNG_ERR_NOELEM</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_NOGRAMMAR">XML_RELAXNG_ERR_NOGRAMMAR</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_NOSTATE">XML_RELAXNG_ERR_NOSTATE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_NOTELEM">XML_RELAXNG_ERR_NOTELEM</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_TEXTWRONG">XML_RELAXNG_ERR_TEXTWRONG</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_TYPE">XML_RELAXNG_ERR_TYPE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_TYPECMP">XML_RELAXNG_ERR_TYPECMP</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_TYPEVAL">XML_RELAXNG_ERR_TYPEVAL</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_VALELEM">XML_RELAXNG_ERR_VALELEM</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_ERR_VALUE">XML_RELAXNG_ERR_VALUE</a><br />
-<a href="html/libxml-relaxng.html#XML_RELAXNG_OK">XML_RELAXNG_OK</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ANYNAME_ATTR_ANCESTOR">XML_RNGP_ANYNAME_ATTR_ANCESTOR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_CHILDREN">XML_RNGP_ATTRIBUTE_CHILDREN</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_CONTENT">XML_RNGP_ATTRIBUTE_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_EMPTY">XML_RNGP_ATTRIBUTE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_NOOP">XML_RNGP_ATTRIBUTE_NOOP</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ATTR_CONFLICT">XML_RNGP_ATTR_CONFLICT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_CHOICE_CONTENT">XML_RNGP_CHOICE_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_CHOICE_EMPTY">XML_RNGP_CHOICE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_CREATE_FAILURE">XML_RNGP_CREATE_FAILURE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DATA_CONTENT">XML_RNGP_DATA_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DEFINE_CREATE_FAILED">XML_RNGP_DEFINE_CREATE_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DEFINE_EMPTY">XML_RNGP_DEFINE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DEFINE_MISSING">XML_RNGP_DEFINE_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DEFINE_NAME_MISSING">XML_RNGP_DEFINE_NAME_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_DEF_CHOICE_AND_INTERLEAVE">XML_RNGP_DEF_CHOICE_AND_INTERLEAVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEMENT_CONTENT">XML_RNGP_ELEMENT_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEMENT_EMPTY">XML_RNGP_ELEMENT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEMENT_NAME">XML_RNGP_ELEMENT_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEMENT_NO_CONTENT">XML_RNGP_ELEMENT_NO_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEM_CONTENT_EMPTY">XML_RNGP_ELEM_CONTENT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEM_CONTENT_ERROR">XML_RNGP_ELEM_CONTENT_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ELEM_TEXT_CONFLICT">XML_RNGP_ELEM_TEXT_CONFLICT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EMPTY">XML_RNGP_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EMPTY_CONSTRUCT">XML_RNGP_EMPTY_CONSTRUCT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EMPTY_CONTENT">XML_RNGP_EMPTY_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EMPTY_NOT_EMPTY">XML_RNGP_EMPTY_NOT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_ERROR_TYPE_LIB">XML_RNGP_ERROR_TYPE_LIB</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXCEPT_EMPTY">XML_RNGP_EXCEPT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXCEPT_MISSING">XML_RNGP_EXCEPT_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXCEPT_MULTIPLE">XML_RNGP_EXCEPT_MULTIPLE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXCEPT_NO_CONTENT">XML_RNGP_EXCEPT_NO_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXTERNALREF_EMTPY">XML_RNGP_EXTERNALREF_EMTPY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXTERNALREF_RECURSE">XML_RNGP_EXTERNALREF_RECURSE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_EXTERNAL_REF_FAILURE">XML_RNGP_EXTERNAL_REF_FAILURE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_FORBIDDEN_ATTRIBUTE">XML_RNGP_FORBIDDEN_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_FOREIGN_ELEMENT">XML_RNGP_FOREIGN_ELEMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_CONTENT">XML_RNGP_GRAMMAR_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_EMPTY">XML_RNGP_GRAMMAR_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_MISSING">XML_RNGP_GRAMMAR_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_NO_START">XML_RNGP_GRAMMAR_NO_START</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_GROUP_ATTR_CONFLICT">XML_RNGP_GROUP_ATTR_CONFLICT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_HREF_ERROR">XML_RNGP_HREF_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INCLUDE_EMPTY">XML_RNGP_INCLUDE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INCLUDE_FAILURE">XML_RNGP_INCLUDE_FAILURE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INCLUDE_RECURSE">XML_RNGP_INCLUDE_RECURSE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_ADD">XML_RNGP_INTERLEAVE_ADD</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_CREATE_FAILED">XML_RNGP_INTERLEAVE_CREATE_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_EMPTY">XML_RNGP_INTERLEAVE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_NO_CONTENT">XML_RNGP_INTERLEAVE_NO_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INVALID_DEFINE_NAME">XML_RNGP_INVALID_DEFINE_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INVALID_URI">XML_RNGP_INVALID_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_INVALID_VALUE">XML_RNGP_INVALID_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_MISSING_HREF">XML_RNGP_MISSING_HREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_NAME_MISSING">XML_RNGP_NAME_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_NEED_COMBINE">XML_RNGP_NEED_COMBINE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_NOTALLOWED_NOT_EMPTY">XML_RNGP_NOTALLOWED_NOT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_NSNAME_ATTR_ANCESTOR">XML_RNGP_NSNAME_ATTR_ANCESTOR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_NSNAME_NO_NS">XML_RNGP_NSNAME_NO_NS</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARAM_FORBIDDEN">XML_RNGP_PARAM_FORBIDDEN</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARAM_NAME_MISSING">XML_RNGP_PARAM_NAME_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARENTREF_CREATE_FAILED">XML_RNGP_PARENTREF_CREATE_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NAME_INVALID">XML_RNGP_PARENTREF_NAME_INVALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NOT_EMPTY">XML_RNGP_PARENTREF_NOT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NO_NAME">XML_RNGP_PARENTREF_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NO_PARENT">XML_RNGP_PARENTREF_NO_PARENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PARSE_ERROR">XML_RNGP_PARSE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME">XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_ATTR_ATTR">XML_RNGP_PAT_ATTR_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_ATTR_ELEM">XML_RNGP_PAT_ATTR_ELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ATTR">XML_RNGP_PAT_DATA_EXCEPT_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ELEM">XML_RNGP_PAT_DATA_EXCEPT_ELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_EMPTY">XML_RNGP_PAT_DATA_EXCEPT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_GROUP">XML_RNGP_PAT_DATA_EXCEPT_GROUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE">XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_LIST">XML_RNGP_PAT_DATA_EXCEPT_LIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ONEMORE">XML_RNGP_PAT_DATA_EXCEPT_ONEMORE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_REF">XML_RNGP_PAT_DATA_EXCEPT_REF</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_TEXT">XML_RNGP_PAT_DATA_EXCEPT_TEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_ATTR">XML_RNGP_PAT_LIST_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_ELEM">XML_RNGP_PAT_LIST_ELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_INTERLEAVE">XML_RNGP_PAT_LIST_INTERLEAVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_LIST">XML_RNGP_PAT_LIST_LIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_REF">XML_RNGP_PAT_LIST_REF</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_TEXT">XML_RNGP_PAT_LIST_TEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME">XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME">XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_ONEMORE_GROUP_ATTR">XML_RNGP_PAT_ONEMORE_GROUP_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR">XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_ATTR">XML_RNGP_PAT_START_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_DATA">XML_RNGP_PAT_START_DATA</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_EMPTY">XML_RNGP_PAT_START_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_GROUP">XML_RNGP_PAT_START_GROUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_INTERLEAVE">XML_RNGP_PAT_START_INTERLEAVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_LIST">XML_RNGP_PAT_START_LIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_ONEMORE">XML_RNGP_PAT_START_ONEMORE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_TEXT">XML_RNGP_PAT_START_TEXT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PAT_START_VALUE">XML_RNGP_PAT_START_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_PREFIX_UNDEFINED">XML_RNGP_PREFIX_UNDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_CREATE_FAILED">XML_RNGP_REF_CREATE_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_CYCLE">XML_RNGP_REF_CYCLE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_NAME_INVALID">XML_RNGP_REF_NAME_INVALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_NOT_EMPTY">XML_RNGP_REF_NOT_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_NO_DEF">XML_RNGP_REF_NO_DEF</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_REF_NO_NAME">XML_RNGP_REF_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_START_CHOICE_AND_INTERLEAVE">XML_RNGP_START_CHOICE_AND_INTERLEAVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_START_CONTENT">XML_RNGP_START_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_START_EMPTY">XML_RNGP_START_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_START_MISSING">XML_RNGP_START_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_TEXT_EXPECTED">XML_RNGP_TEXT_EXPECTED</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_TEXT_HAS_CHILD">XML_RNGP_TEXT_HAS_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_TYPE_MISSING">XML_RNGP_TYPE_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_TYPE_NOT_FOUND">XML_RNGP_TYPE_NOT_FOUND</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_TYPE_VALUE">XML_RNGP_TYPE_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_ATTRIBUTE">XML_RNGP_UNKNOWN_ATTRIBUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_COMBINE">XML_RNGP_UNKNOWN_COMBINE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_CONSTRUCT">XML_RNGP_UNKNOWN_CONSTRUCT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_TYPE_LIB">XML_RNGP_UNKNOWN_TYPE_LIB</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_URI_FRAGMENT">XML_RNGP_URI_FRAGMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_URI_NOT_ABSOLUTE">XML_RNGP_URI_NOT_ABSOLUTE</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_VALUE_EMPTY">XML_RNGP_VALUE_EMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_VALUE_NO_CONTENT">XML_RNGP_VALUE_NO_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_XMLNS_NAME">XML_RNGP_XMLNS_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_RNGP_XML_NS">XML_RNGP_XML_NS</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_AS_HTML">XML_SAVE_AS_HTML</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_AS_XML">XML_SAVE_AS_XML</a><br />
-<a href="html/libxml-xmlerror.html#XML_SAVE_CHAR_INVALID">XML_SAVE_CHAR_INVALID</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_FORMAT">XML_SAVE_FORMAT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SAVE_NOT_UTF8">XML_SAVE_NOT_UTF8</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_NO_DECL">XML_SAVE_NO_DECL</a><br />
-<a href="html/libxml-xmlerror.html#XML_SAVE_NO_DOCTYPE">XML_SAVE_NO_DOCTYPE</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_NO_EMPTY">XML_SAVE_NO_EMPTY</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_NO_XHTML">XML_SAVE_NO_XHTML</a><br />
-<a href="html/libxml-xmlerror.html#XML_SAVE_UNKNOWN_ENCODING">XML_SAVE_UNKNOWN_ENCODING</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_WSNONSIG">XML_SAVE_WSNONSIG</a><br />
-<a href="html/libxml-xmlsave.html#XML_SAVE_XHTML">XML_SAVE_XHTML</a><br />
-<a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_AG_PROPS_CORRECT">XML_SCHEMAP_AG_PROPS_CORRECT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE">XML_SCHEMAP_ATTRFORMDEFAULT_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRGRP_NONAME_NOREF">XML_SCHEMAP_ATTRGRP_NONAME_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTR_NONAME_NOREF">XML_SCHEMAP_ATTR_NONAME_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT">XML_SCHEMAP_AU_PROPS_CORRECT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT_2">XML_SCHEMAP_AU_PROPS_CORRECT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_2">XML_SCHEMAP_A_PROPS_CORRECT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_3">XML_SCHEMAP_A_PROPS_CORRECT_3</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_ALL_LIMITED">XML_SCHEMAP_COS_ALL_LIMITED</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_2">XML_SCHEMAP_COS_CT_EXTENDS_1_2</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_COS_VALID_DEFAULT_1">XML_SCHEMAP_COS_VALID_DEFAULT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_4">XML_SCHEMAP_CT_PROPS_CORRECT_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_5">XML_SCHEMAP_CT_PROPS_CORRECT_5</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CVC_SIMPLE_TYPE">XML_SCHEMAP_CVC_SIMPLE_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_C_PROPS_CORRECT">XML_SCHEMAP_C_PROPS_CORRECT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a><br />
-<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 />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_EXTENSION_NO_BASE">XML_SCHEMAP_EXTENSION_NO_BASE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_2">XML_SCHEMAP_E_PROPS_CORRECT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_3">XML_SCHEMAP_E_PROPS_CORRECT_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_4">XML_SCHEMAP_E_PROPS_CORRECT_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_5">XML_SCHEMAP_E_PROPS_CORRECT_5</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_6">XML_SCHEMAP_E_PROPS_CORRECT_6</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_FACET_NO_VALUE">XML_SCHEMAP_FACET_NO_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_BUILD_IMPORT">XML_SCHEMAP_FAILED_BUILD_IMPORT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_LOAD">XML_SCHEMAP_FAILED_LOAD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_PARSE">XML_SCHEMAP_FAILED_PARSE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_GROUP_NONAME_NOREF">XML_SCHEMAP_GROUP_NONAME_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI">XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_REDEFINE_NSNAME">XML_SCHEMAP_IMPORT_REDEFINE_NSNAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI">XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INTERNAL">XML_SCHEMAP_INTERNAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE">XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_COMBINATION">XML_SCHEMAP_INVALID_ATTR_COMBINATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION">XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_NAME">XML_SCHEMAP_INVALID_ATTR_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_BOOLEAN">XML_SCHEMAP_INVALID_BOOLEAN</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ENUM">XML_SCHEMAP_INVALID_ENUM</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_FACET">XML_SCHEMAP_INVALID_FACET</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_FACET_VALUE">XML_SCHEMAP_INVALID_FACET_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_MAXOCCURS">XML_SCHEMAP_INVALID_MAXOCCURS</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_MINOCCURS">XML_SCHEMAP_INVALID_MINOCCURS</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_REF_AND_SUBTYPE">XML_SCHEMAP_INVALID_REF_AND_SUBTYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_WHITE_SPACE">XML_SCHEMAP_INVALID_WHITE_SPACE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_1">XML_SCHEMAP_MG_PROPS_CORRECT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_2">XML_SCHEMAP_MG_PROPS_CORRECT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOATTR_NOREF">XML_SCHEMAP_NOATTR_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTATION_NO_NAME">XML_SCHEMAP_NOTATION_NO_NAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTHING_TO_PARSE">XML_SCHEMAP_NOTHING_TO_PARSE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTYPE_NOREF">XML_SCHEMAP_NOTYPE_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOT_DETERMINISTIC">XML_SCHEMAP_NOT_DETERMINISTIC</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NO_XMLNS">XML_SCHEMAP_NO_XMLNS</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NO_XSI">XML_SCHEMAP_NO_XSI</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_PREFIX_UNDEFINED">XML_SCHEMAP_PREFIX_UNDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_1">XML_SCHEMAP_P_PROPS_CORRECT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_1">XML_SCHEMAP_P_PROPS_CORRECT_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_2">XML_SCHEMAP_P_PROPS_CORRECT_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_RECURSIVE">XML_SCHEMAP_RECURSIVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTRGROUP">XML_SCHEMAP_REDEFINED_ATTRGROUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ELEMENT">XML_SCHEMAP_REDEFINED_ELEMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_GROUP">XML_SCHEMAP_REDEFINED_GROUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_NOTATION">XML_SCHEMAP_REDEFINED_NOTATION</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_TYPE">XML_SCHEMAP_REDEFINED_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REF_AND_CONTENT">XML_SCHEMAP_REF_AND_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REF_AND_SUBTYPE">XML_SCHEMAP_REF_AND_SUBTYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_REGEXP_INVALID">XML_SCHEMAP_REGEXP_INVALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_RESTRICTION_NONAME_NOREF">XML_SCHEMAP_RESTRICTION_NONAME_NOREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_INVALID_VALUE">XML_SCHEMAP_S4S_ATTR_INVALID_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_MISSING">XML_SCHEMAP_S4S_ATTR_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED">XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_MISSING">XML_SCHEMAP_S4S_ELEM_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED">XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SIMPLETYPE_NONAME">XML_SCHEMAP_SIMPLETYPE_NONAME</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_1">XML_SCHEMAP_SRC_ATTRIBUTE_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_2">XML_SCHEMAP_SRC_ATTRIBUTE_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_1">XML_SCHEMAP_SRC_ATTRIBUTE_3_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_2">XML_SCHEMAP_SRC_ATTRIBUTE_3_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_4">XML_SCHEMAP_SRC_ATTRIBUTE_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_CT_1">XML_SCHEMAP_SRC_CT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_1">XML_SCHEMAP_SRC_ELEMENT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_1">XML_SCHEMAP_SRC_ELEMENT_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_2">XML_SCHEMAP_SRC_ELEMENT_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_3">XML_SCHEMAP_SRC_ELEMENT_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT">XML_SCHEMAP_SRC_IMPORT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_1">XML_SCHEMAP_SRC_IMPORT_1_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_2">XML_SCHEMAP_SRC_IMPORT_1_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2">XML_SCHEMAP_SRC_IMPORT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_1">XML_SCHEMAP_SRC_IMPORT_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_2">XML_SCHEMAP_SRC_IMPORT_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_INCLUDE">XML_SCHEMAP_SRC_INCLUDE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_REDEFINE">XML_SCHEMAP_SRC_REDEFINE</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 />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP">XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTR_CHILD">XML_SCHEMAP_UNKNOWN_ATTR_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_BASE_TYPE">XML_SCHEMAP_UNKNOWN_BASE_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_CHOICE_CHILD">XML_SCHEMAP_UNKNOWN_CHOICE_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD">XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ELEM_CHILD">XML_SCHEMAP_UNKNOWN_ELEM_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD">XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_FACET_CHILD">XML_SCHEMAP_UNKNOWN_FACET_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_FACET_TYPE">XML_SCHEMAP_UNKNOWN_FACET_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_GROUP_CHILD">XML_SCHEMAP_UNKNOWN_GROUP_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_IMPORT_CHILD">XML_SCHEMAP_UNKNOWN_IMPORT_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_LIST_CHILD">XML_SCHEMAP_UNKNOWN_LIST_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_NOTATION_CHILD">XML_SCHEMAP_UNKNOWN_NOTATION_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_REF">XML_SCHEMAP_UNKNOWN_REF</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD">XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD">XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD">XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD">XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD</a><br />
-<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_WARN_ATTR_POINTLESS_PROH">XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_WARN_ATTR_REDECL_PROH">XML_SCHEMAP_WARN_ATTR_REDECL_PROH</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_WARN_SKIP_SCHEMA">XML_SCHEMAP_WARN_SKIP_SCHEMA</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAP_WARN_UNLOCATED_SCHEMA">XML_SCHEMAP_WARN_UNLOCATED_SCHEMA</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_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BASE64BINARY">XML_SCHEMAS_BASE64BINARY</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BOOLEAN">XML_SCHEMAS_BOOLEAN</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BYTE">XML_SCHEMAS_BYTE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DATE">XML_SCHEMAS_DATE</a><br />
-<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_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</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 />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_CONSTRUCT">XML_SCHEMAS_ERR_CONSTRUCT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ELEMCONT">XML_SCHEMAS_ERR_ELEMCONT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_EXTRACONTENT">XML_SCHEMAS_ERR_EXTRACONTENT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_FACET">XML_SCHEMAS_ERR_FACET</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_HAVEDEFAULT">XML_SCHEMAS_ERR_HAVEDEFAULT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_INTERNAL">XML_SCHEMAS_ERR_INTERNAL</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_INVALIDATTR">XML_SCHEMAS_ERR_INVALIDATTR</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_INVALIDELEM">XML_SCHEMAS_ERR_INVALIDELEM</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ISABSTRACT">XML_SCHEMAS_ERR_ISABSTRACT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_MISSING">XML_SCHEMAS_ERR_MISSING</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOROLLBACK">XML_SCHEMAS_ERR_NOROLLBACK</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOROOT">XML_SCHEMAS_ERR_NOROOT</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTDETERMINIST">XML_SCHEMAS_ERR_NOTDETERMINIST</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTEMPTY">XML_SCHEMAS_ERR_NOTEMPTY</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTNILLABLE">XML_SCHEMAS_ERR_NOTNILLABLE</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTSIMPLE">XML_SCHEMAS_ERR_NOTSIMPLE</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTTOPLEVEL">XML_SCHEMAS_ERR_NOTTOPLEVEL</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTYPE">XML_SCHEMAS_ERR_NOTYPE</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_OK">XML_SCHEMAS_ERR_OK</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_UNDECLAREDELEM">XML_SCHEMAS_ERR_UNDECLAREDELEM</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_VALUE">XML_SCHEMAS_ERR_VALUE</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_WRONGELEM">XML_SCHEMAS_ERR_WRONGELEM</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX</a><br />
-<a href="html/libxml-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_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INT">XML_SCHEMAS_INT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INTEGER">XML_SCHEMAS_INTEGER</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_LANGUAGE">XML_SCHEMAS_LANGUAGE</a><br />
-<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_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</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_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</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_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</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_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</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_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</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_SCHEMATRONV_ASSERT">XML_SCHEMATRONV_ASSERT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMATRONV_REPORT">XML_SCHEMATRONV_REPORT</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_BUFFER">XML_SCHEMATRON_OUT_BUFFER</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_ERROR">XML_SCHEMATRON_OUT_ERROR</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_FILE">XML_SCHEMATRON_OUT_FILE</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_IO">XML_SCHEMATRON_OUT_IO</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_QUIET">XML_SCHEMATRON_OUT_QUIET</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_TEXT">XML_SCHEMATRON_OUT_TEXT</a><br />
-<a href="html/libxml-schematron.html#XML_SCHEMATRON_OUT_XML">XML_SCHEMATRON_OUT_XML</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_ATTRIBUTE_1">XML_SCHEMAV_CVC_ATTRIBUTE_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_AU">XML_SCHEMAV_CVC_AU</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_4</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_1">XML_SCHEMAV_CVC_ELT_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_2">XML_SCHEMAV_CVC_ELT_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_1">XML_SCHEMAV_CVC_ELT_3_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_1">XML_SCHEMAV_CVC_ELT_3_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_2">XML_SCHEMAV_CVC_ELT_3_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_1">XML_SCHEMAV_CVC_ELT_4_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_2">XML_SCHEMAV_CVC_ELT_4_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_3">XML_SCHEMAV_CVC_ELT_4_3</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_1">XML_SCHEMAV_CVC_ELT_5_1_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_2">XML_SCHEMAV_CVC_ELT_5_1_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_1">XML_SCHEMAV_CVC_ELT_5_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_2_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_2">XML_SCHEMAV_CVC_ELT_5_2_2_2_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_6">XML_SCHEMAV_CVC_ELT_6</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_7">XML_SCHEMAV_CVC_ELT_7</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_IDC">XML_SCHEMAV_CVC_IDC</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_1">XML_SCHEMAV_CVC_TYPE_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_2">XML_SCHEMAV_CVC_TYPE_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_WILDCARD">XML_SCHEMAV_CVC_WILDCARD</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_ELEMENT_CONTENT">XML_SCHEMAV_ELEMENT_CONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_HAVEDEFAULT">XML_SCHEMAV_HAVEDEFAULT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_INTERNAL">XML_SCHEMAV_INTERNAL</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_INVALIDATTR">XML_SCHEMAV_INVALIDATTR</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_INVALIDELEM">XML_SCHEMAV_INVALIDELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_ISABSTRACT">XML_SCHEMAV_ISABSTRACT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_MISC">XML_SCHEMAV_MISC</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_MISSING">XML_SCHEMAV_MISSING</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOROLLBACK">XML_SCHEMAV_NOROLLBACK</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOROOT">XML_SCHEMAV_NOROOT</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTDETERMINIST">XML_SCHEMAV_NOTDETERMINIST</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTEMPTY">XML_SCHEMAV_NOTEMPTY</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTNILLABLE">XML_SCHEMAV_NOTNILLABLE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTSIMPLE">XML_SCHEMAV_NOTSIMPLE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTTOPLEVEL">XML_SCHEMAV_NOTTOPLEVEL</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_NOTYPE">XML_SCHEMAV_NOTYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_UNDECLAREDELEM">XML_SCHEMAV_UNDECLAREDELEM</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_VALUE">XML_SCHEMAV_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_SCHEMAV_WRONGELEM">XML_SCHEMAV_WRONGELEM</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 />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_EMPTY">XML_SCHEMA_CONTENT_EMPTY</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_MIXED">XML_SCHEMA_CONTENT_MIXED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS">XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_SIMPLE">XML_SCHEMA_CONTENT_SIMPLE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_UNKNOWN">XML_SCHEMA_CONTENT_UNKNOWN</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_EXTRA_ATTR_USE_PROHIB">XML_SCHEMA_EXTRA_ATTR_USE_PROHIB</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_EXTRA_QNAMEREF">XML_SCHEMA_EXTRA_QNAMEREF</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_ENUMERATION">XML_SCHEMA_FACET_ENUMERATION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_FRACTIONDIGITS">XML_SCHEMA_FACET_FRACTIONDIGITS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_LENGTH">XML_SCHEMA_FACET_LENGTH</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MAXEXCLUSIVE">XML_SCHEMA_FACET_MAXEXCLUSIVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MAXINCLUSIVE">XML_SCHEMA_FACET_MAXINCLUSIVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MAXLENGTH">XML_SCHEMA_FACET_MAXLENGTH</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MINEXCLUSIVE">XML_SCHEMA_FACET_MINEXCLUSIVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MININCLUSIVE">XML_SCHEMA_FACET_MININCLUSIVE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MINLENGTH">XML_SCHEMA_FACET_MINLENGTH</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_PATTERN">XML_SCHEMA_FACET_PATTERN</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_TOTALDIGITS">XML_SCHEMA_FACET_TOTALDIGITS</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_FACET_WHITESPACE">XML_SCHEMA_FACET_WHITESPACE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ALL">XML_SCHEMA_TYPE_ALL</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ANY">XML_SCHEMA_TYPE_ANY</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ANY_ATTRIBUTE">XML_SCHEMA_TYPE_ANY_ATTRIBUTE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTE">XML_SCHEMA_TYPE_ATTRIBUTE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTEGROUP">XML_SCHEMA_TYPE_ATTRIBUTEGROUP</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTE_USE">XML_SCHEMA_TYPE_ATTRIBUTE_USE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_BASIC">XML_SCHEMA_TYPE_BASIC</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_CHOICE">XML_SCHEMA_TYPE_CHOICE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_COMPLEX">XML_SCHEMA_TYPE_COMPLEX</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_COMPLEX_CONTENT">XML_SCHEMA_TYPE_COMPLEX_CONTENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ELEMENT">XML_SCHEMA_TYPE_ELEMENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_EXTENSION">XML_SCHEMA_TYPE_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_FACET">XML_SCHEMA_TYPE_FACET</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_GROUP">XML_SCHEMA_TYPE_GROUP</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEY">XML_SCHEMA_TYPE_IDC_KEY</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEYREF">XML_SCHEMA_TYPE_IDC_KEYREF</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_UNIQUE">XML_SCHEMA_TYPE_IDC_UNIQUE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_LIST">XML_SCHEMA_TYPE_LIST</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_NOTATION">XML_SCHEMA_TYPE_NOTATION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_PARTICLE">XML_SCHEMA_TYPE_PARTICLE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_RESTRICTION">XML_SCHEMA_TYPE_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_SEQUENCE">XML_SCHEMA_TYPE_SEQUENCE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE">XML_SCHEMA_TYPE_SIMPLE</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE_CONTENT">XML_SCHEMA_TYPE_SIMPLE_CONTENT</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_UNION">XML_SCHEMA_TYPE_UNION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_UR">XML_SCHEMA_TYPE_UR</a><br />
-<a href="html/libxml-xmlschemas.html#XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a><br />
-<a href="html/libxml-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_COLLAPSE">XML_SCHEMA_WHITESPACE_COLLAPSE</a><br />
-<a href="html/libxml-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_PRESERVE">XML_SCHEMA_WHITESPACE_PRESERVE</a><br />
-<a href="html/libxml-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_REPLACE">XML_SCHEMA_WHITESPACE_REPLACE</a><br />
-<a href="html/libxml-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_UNKNOWN">XML_SCHEMA_WHITESPACE_UNKNOWN</a><br />
-<a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a><br />
-<a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_CLOSED">XML_TEXTREADER_MODE_CLOSED</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_EOF">XML_TEXTREADER_MODE_EOF</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_ERROR">XML_TEXTREADER_MODE_ERROR</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_INITIAL">XML_TEXTREADER_MODE_INITIAL</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_INTERACTIVE">XML_TEXTREADER_MODE_INTERACTIVE</a><br />
-<a href="html/libxml-xmlreader.html#XML_TEXTREADER_MODE_READING">XML_TEXTREADER_MODE_READING</a><br />
-<a href="html/libxml-tree.html#XML_TEXT_NODE">XML_TEXT_NODE</a><br />
-<a href="html/libxml-xmlerror.html#XML_TREE_INVALID_DEC">XML_TREE_INVALID_DEC</a><br />
-<a href="html/libxml-xmlerror.html#XML_TREE_INVALID_HEX">XML_TREE_INVALID_HEX</a><br />
-<a href="html/libxml-xmlerror.html#XML_TREE_NOT_UTF8">XML_TREE_NOT_UTF8</a><br />
-<a href="html/libxml-xmlerror.html#XML_TREE_UNTERMINATED_ENTITY">XML_TREE_UNTERMINATED_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_CATALOG_PI">XML_WAR_CATALOG_PI</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_ENTITY_REDEFINED">XML_WAR_ENTITY_REDEFINED</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_LANG_VALUE">XML_WAR_LANG_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_NS_COLUMN">XML_WAR_NS_COLUMN</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_NS_URI">XML_WAR_NS_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_NS_URI_RELATIVE">XML_WAR_NS_URI_RELATIVE</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_SPACE_VALUE">XML_WAR_SPACE_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_UNDECLARED_ENTITY">XML_WAR_UNDECLARED_ENTITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_WAR_UNKNOWN_VERSION">XML_WAR_UNKNOWN_VERSION</a><br />
-<a href="html/libxml-parser.html#XML_WITH_AUTOMATA">XML_WITH_AUTOMATA</a><br />
-<a href="html/libxml-parser.html#XML_WITH_C14N">XML_WITH_C14N</a><br />
-<a href="html/libxml-parser.html#XML_WITH_CATALOG">XML_WITH_CATALOG</a><br />
-<a href="html/libxml-parser.html#XML_WITH_DEBUG">XML_WITH_DEBUG</a><br />
-<a href="html/libxml-parser.html#XML_WITH_DEBUG_MEM">XML_WITH_DEBUG_MEM</a><br />
-<a href="html/libxml-parser.html#XML_WITH_DEBUG_RUN">XML_WITH_DEBUG_RUN</a><br />
-<a href="html/libxml-parser.html#XML_WITH_EXPR">XML_WITH_EXPR</a><br />
-<a href="html/libxml-parser.html#XML_WITH_FTP">XML_WITH_FTP</a><br />
-<a href="html/libxml-parser.html#XML_WITH_HTML">XML_WITH_HTML</a><br />
-<a href="html/libxml-parser.html#XML_WITH_HTTP">XML_WITH_HTTP</a><br />
-<a href="html/libxml-parser.html#XML_WITH_ICONV">XML_WITH_ICONV</a><br />
-<a href="html/libxml-parser.html#XML_WITH_ICU">XML_WITH_ICU</a><br />
-<a href="html/libxml-parser.html#XML_WITH_ISO8859X">XML_WITH_ISO8859X</a><br />
-<a href="html/libxml-parser.html#XML_WITH_LEGACY">XML_WITH_LEGACY</a><br />
-<a href="html/libxml-parser.html#XML_WITH_LZMA">XML_WITH_LZMA</a><br />
-<a href="html/libxml-parser.html#XML_WITH_MODULES">XML_WITH_MODULES</a><br />
-<a href="html/libxml-parser.html#XML_WITH_NONE">XML_WITH_NONE</a><br />
-<a href="html/libxml-parser.html#XML_WITH_OUTPUT">XML_WITH_OUTPUT</a><br />
-<a href="html/libxml-parser.html#XML_WITH_PATTERN">XML_WITH_PATTERN</a><br />
-<a href="html/libxml-parser.html#XML_WITH_PUSH">XML_WITH_PUSH</a><br />
-<a href="html/libxml-parser.html#XML_WITH_READER">XML_WITH_READER</a><br />
-<a href="html/libxml-parser.html#XML_WITH_REGEXP">XML_WITH_REGEXP</a><br />
-<a href="html/libxml-parser.html#XML_WITH_SAX1">XML_WITH_SAX1</a><br />
-<a href="html/libxml-parser.html#XML_WITH_SCHEMAS">XML_WITH_SCHEMAS</a><br />
-<a href="html/libxml-parser.html#XML_WITH_SCHEMATRON">XML_WITH_SCHEMATRON</a><br />
-<a href="html/libxml-parser.html#XML_WITH_THREAD">XML_WITH_THREAD</a><br />
-<a href="html/libxml-parser.html#XML_WITH_TREE">XML_WITH_TREE</a><br />
-<a href="html/libxml-parser.html#XML_WITH_UNICODE">XML_WITH_UNICODE</a><br />
-<a href="html/libxml-parser.html#XML_WITH_VALID">XML_WITH_VALID</a><br />
-<a href="html/libxml-parser.html#XML_WITH_WRITER">XML_WITH_WRITER</a><br />
-<a href="html/libxml-parser.html#XML_WITH_XINCLUDE">XML_WITH_XINCLUDE</a><br />
-<a href="html/libxml-parser.html#XML_WITH_XPATH">XML_WITH_XPATH</a><br />
-<a href="html/libxml-parser.html#XML_WITH_XPTR">XML_WITH_XPTR</a><br />
-<a href="html/libxml-parser.html#XML_WITH_ZLIB">XML_WITH_ZLIB</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_BUILD_FAILED">XML_XINCLUDE_BUILD_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_DEPRECATED_NS">XML_XINCLUDE_DEPRECATED_NS</a><br />
-<a href="html/libxml-tree.html#XML_XINCLUDE_END">XML_XINCLUDE_END</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_ENTITY_DEF_MISMATCH">XML_XINCLUDE_ENTITY_DEF_MISMATCH</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_FALLBACKS_IN_INCLUDE">XML_XINCLUDE_FALLBACKS_IN_INCLUDE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE">XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_FRAGMENT_ID">XML_XINCLUDE_FRAGMENT_ID</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_HREF_URI">XML_XINCLUDE_HREF_URI</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_INCLUDE_IN_INCLUDE">XML_XINCLUDE_INCLUDE_IN_INCLUDE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_INVALID_CHAR">XML_XINCLUDE_INVALID_CHAR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_MULTIPLE_ROOT">XML_XINCLUDE_MULTIPLE_ROOT</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_NO_FALLBACK">XML_XINCLUDE_NO_FALLBACK</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_NO_HREF">XML_XINCLUDE_NO_HREF</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_PARSE_VALUE">XML_XINCLUDE_PARSE_VALUE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_RECURSION">XML_XINCLUDE_RECURSION</a><br />
-<a href="html/libxml-tree.html#XML_XINCLUDE_START">XML_XINCLUDE_START</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_TEXT_DOCUMENT">XML_XINCLUDE_TEXT_DOCUMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_TEXT_FRAGMENT">XML_XINCLUDE_TEXT_FRAGMENT</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_UNKNOWN_ENCODING">XML_XINCLUDE_UNKNOWN_ENCODING</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_XPTR_FAILED">XML_XINCLUDE_XPTR_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_XINCLUDE_XPTR_RESULT">XML_XINCLUDE_XPTR_RESULT</a><br />
-<a href="html/libxml-tree.html#XML_XML_ID">XML_XML_ID</a><br />
-<a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
-<a href="html/libxml-xpath.html#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_ENCODING_ERROR">XML_XPATH_ENCODING_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_EXPRESSION_OK">XML_XPATH_EXPRESSION_OK</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_EXPR_ERROR">XML_XPATH_EXPR_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_ARITY">XML_XPATH_INVALID_ARITY</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_CHAR_ERROR">XML_XPATH_INVALID_CHAR_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_CTXT_POSITION">XML_XPATH_INVALID_CTXT_POSITION</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_CTXT_SIZE">XML_XPATH_INVALID_CTXT_SIZE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_OPERAND">XML_XPATH_INVALID_OPERAND</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_PREDICATE_ERROR">XML_XPATH_INVALID_PREDICATE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_INVALID_TYPE">XML_XPATH_INVALID_TYPE</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_MEMORY_ERROR">XML_XPATH_MEMORY_ERROR</a><br />
-<a href="html/libxml-xpath.html#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_NUMBER_ERROR">XML_XPATH_NUMBER_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_START_LITERAL_ERROR">XML_XPATH_START_LITERAL_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_UNCLOSED_ERROR">XML_XPATH_UNCLOSED_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_UNDEF_PREFIX_ERROR">XML_XPATH_UNDEF_PREFIX_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_UNDEF_VARIABLE_ERROR">XML_XPATH_UNDEF_VARIABLE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_UNFINISHED_LITERAL_ERROR">XML_XPATH_UNFINISHED_LITERAL_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_UNKNOWN_FUNC_ERROR">XML_XPATH_UNKNOWN_FUNC_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPATH_VARIABLE_REF_ERROR">XML_XPATH_VARIABLE_REF_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_CHILDSEQ_START">XML_XPTR_CHILDSEQ_START</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_EVAL_FAILED">XML_XPTR_EVAL_FAILED</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_EXTRA_OBJECTS">XML_XPTR_EXTRA_OBJECTS</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_RESOURCE_ERROR">XML_XPTR_RESOURCE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_SUB_RESOURCE_ERROR">XML_XPTR_SUB_RESOURCE_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_SYNTAX_ERROR">XML_XPTR_SYNTAX_ERROR</a><br />
-<a href="html/libxml-xmlerror.html#XML_XPTR_UNKNOWN_SCHEME">XML_XPTR_UNKNOWN_SCHEME</a><br />
-<a href="html/libxml-xpath.html#XPATH_BOOLEAN">XPATH_BOOLEAN</a><br />
-<a href="html/libxml-xpath.html#XPATH_ENCODING_ERROR">XPATH_ENCODING_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_EXPRESSION_OK">XPATH_EXPRESSION_OK</a><br />
-<a href="html/libxml-xpath.html#XPATH_EXPR_ERROR">XPATH_EXPR_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_FORBID_VARIABLE_ERROR">XPATH_FORBID_VARIABLE_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_CHAR_ERROR">XPATH_INVALID_CHAR_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_CTXT">XPATH_INVALID_CTXT</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_CTXT_POSITION">XPATH_INVALID_CTXT_POSITION</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_CTXT_SIZE">XPATH_INVALID_CTXT_SIZE</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_OPERAND">XPATH_INVALID_OPERAND</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_PREDICATE_ERROR">XPATH_INVALID_PREDICATE_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a><br />
-<a href="html/libxml-xpath.html#XPATH_LOCATIONSET">XPATH_LOCATIONSET</a><br />
-<a href="html/libxml-xpath.html#XPATH_MEMORY_ERROR">XPATH_MEMORY_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_NODESET">XPATH_NODESET</a><br />
-<a href="html/libxml-xpath.html#XPATH_NUMBER">XPATH_NUMBER</a><br />
-<a href="html/libxml-xpath.html#XPATH_NUMBER_ERROR">XPATH_NUMBER_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_OP_LIMIT_EXCEEDED">XPATH_OP_LIMIT_EXCEEDED</a><br />
-<a href="html/libxml-xpath.html#XPATH_POINT">XPATH_POINT</a><br />
-<a href="html/libxml-xpath.html#XPATH_RANGE">XPATH_RANGE</a><br />
-<a href="html/libxml-xpath.html#XPATH_RECURSION_LIMIT_EXCEEDED">XPATH_RECURSION_LIMIT_EXCEEDED</a><br />
-<a href="html/libxml-xpath.html#XPATH_STACK_ERROR">XPATH_STACK_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_START_LITERAL_ERROR">XPATH_START_LITERAL_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_STRING">XPATH_STRING</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNCLOSED_ERROR">XPATH_UNCLOSED_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNDEFINED">XPATH_UNDEFINED</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNDEF_PREFIX_ERROR">XPATH_UNDEF_PREFIX_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNDEF_VARIABLE_ERROR">XPATH_UNDEF_VARIABLE_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNFINISHED_LITERAL_ERROR">XPATH_UNFINISHED_LITERAL_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_UNKNOWN_FUNC_ERROR">XPATH_UNKNOWN_FUNC_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_USERS">XPATH_USERS</a><br />
-<a href="html/libxml-xpath.html#XPATH_VARIABLE_REF_ERROR">XPATH_VARIABLE_REF_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPATH_XSLT_TREE">XPATH_XSLT_TREE</a><br />
-<a href="html/libxml-xpath.html#XPTR_RESOURCE_ERROR">XPTR_RESOURCE_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPTR_SUB_RESOURCE_ERROR">XPTR_SUB_RESOURCE_ERROR</a><br />
-<a href="html/libxml-xpath.html#XPTR_SYNTAX_ERROR">XPTR_SYNTAX_ERROR</a><br />
-<a href="html/libxml-xpathInternals.html#XP_ERROR">XP_ERROR</a><br />
-<a href="html/libxml-xpathInternals.html#XP_ERROR0">XP_ERROR0</a><br />
-</p><h2>Letter _:</h2><p><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-HTMLparser.html#_htmlEntityDesc">_htmlEntityDesc</a><br />
-<a href="html/libxml-encoding.html#_uconv_t">_uconv_t</a><br />
-<a href="html/libxml-xlink.html#_xlinkHandler">_xlinkHandler</a><br />
-<a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
-<a href="html/libxml-tree.html#_xmlAttribute">_xmlAttribute</a><br />
-<a href="html/libxml-tree.html#_xmlBuffer">_xmlBuffer</a><br />
-<a href="html/libxml-chvalid.html#_xmlChLRange">_xmlChLRange</a><br />
-<a href="html/libxml-chvalid.html#_xmlChRangeGroup">_xmlChRangeGroup</a><br />
-<a href="html/libxml-chvalid.html#_xmlChSRange">_xmlChSRange</a><br />
-<a href="html/libxml-encoding.html#_xmlCharEncodingHandler">_xmlCharEncodingHandler</a><br />
-<a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
-<a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
-<a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
-<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-tree.html#_xmlEnumeration">_xmlEnumeration</a><br />
-<a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-<a href="html/libxml-globals.html#_xmlGlobalState">_xmlGlobalState</a><br />
-<a href="html/libxml-tree.html#_xmlID">_xmlID</a><br />
-<a href="html/libxml-xpointer.html#_xmlLocationSet">_xmlLocationSet</a><br />
-<a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-<a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
-<a href="html/libxml-tree.html#_xmlNotation">_xmlNotation</a><br />
-<a href="html/libxml-tree.html#_xmlNs">_xmlNs</a><br />
-<a href="html/libxml-xmlIO.html#_xmlOutputBuffer">_xmlOutputBuffer</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-xmlIO.html#_xmlParserInputBuffer">_xmlParserInputBuffer</a><br />
-<a href="html/libxml-parser.html#_xmlParserNodeInfo">_xmlParserNodeInfo</a><br />
-<a href="html/libxml-parser.html#_xmlParserNodeInfoSeq">_xmlParserNodeInfoSeq</a><br />
-<a href="html/libxml-tree.html#_xmlRef">_xmlRef</a><br />
-<a href="html/libxml-parser.html#_xmlSAXHandler">_xmlSAXHandler</a><br />
-<a href="html/libxml-parser.html#_xmlSAXHandlerV1">_xmlSAXHandlerV1</a><br />
-<a href="html/libxml-parser.html#_xmlSAXLocator">_xmlSAXLocator</a><br />
-<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<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 />
-<a href="html/libxml-xpath.html#_xmlXPathAxis">_xmlXPathAxis</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathFunct">_xmlXPathFunct</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathObject">_xmlXPathObject</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathType">_xmlXPathType</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathVariable">_xmlXPathVariable</a><br />
-</p><h2>Letter a:</h2><p><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-SAX.html#attributeDecl">attributeDecl</a><br />
-<a href="html/libxml-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-</p><h2>Letter c:</h2><p><a href="html/libxml-SAX.html#cdataBlock">cdataBlock</a><br />
-<a href="html/libxml-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a><br />
-<a href="html/libxml-SAX.html#characters">characters</a><br />
-<a href="html/libxml-parser.html#charactersSAXFunc">charactersSAXFunc</a><br />
-<a href="html/libxml-SAX.html#checkNamespace">checkNamespace</a><br />
-<a href="html/libxml-SAX.html#comment">comment</a><br />
-<a href="html/libxml-parser.html#commentSAXFunc">commentSAXFunc</a><br />
-</p><h2>Letter d:</h2><p><a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-globals.html#docbDefaultSAXHandler">docbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#docbDefaultSAXHandlerInit">docbDefaultSAXHandlerInit</a><br />
-<a href="html/libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a><br />
-<a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-DOCBparser.html#docbFreeParserCtxt">docbFreeParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseChunk">docbParseChunk</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseDocument">docbParseDocument</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseFile">docbParseFile</a><br />
-<a href="html/libxml-DOCBparser.html#docbParserCtxt">docbParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a><br />
-<a href="html/libxml-DOCBparser.html#docbParserInput">docbParserInput</a><br />
-<a href="html/libxml-DOCBparser.html#docbParserInputPtr">docbParserInputPtr</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXHandler">docbSAXHandler</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-</p><h2>Letter e:</h2><p><a href="html/libxml-SAX.html#elementDecl">elementDecl</a><br />
-<a href="html/libxml-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a><br />
-<a href="html/libxml-xmlregexp.html#emptyExp">emptyExp</a><br />
-<a href="html/libxml-SAX.html#endDocument">endDocument</a><br />
-<a href="html/libxml-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a><br />
-<a href="html/libxml-SAX.html#endElement">endElement</a><br />
-<a href="html/libxml-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a><br />
-<a href="html/libxml-parser.html#endElementSAXFunc">endElementSAXFunc</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-parser.html#errorSAXFunc">errorSAXFunc</a><br />
-<a href="html/libxml-SAX.html#externalSubset">externalSubset</a><br />
-<a href="html/libxml-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a><br />
-</p><h2>Letter f:</h2><p><a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-xmlregexp.html#forbiddenExp">forbiddenExp</a><br />
-<a href="html/libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a><br />
-<a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-</p><h2>Letter g:</h2><p><a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
-<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#getLineNumber">getLineNumber</a><br />
-<a href="html/libxml-SAX.html#getNamespace">getNamespace</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-SAX.html#getPublicId">getPublicId</a><br />
-<a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<a href="html/libxml-SAX.html#globalNamespace">globalNamespace</a><br />
-</p><h2>Letter h:</h2><p><a href="html/libxml-SAX.html#hasExternalSubset">hasExternalSubset</a><br />
-<a href="html/libxml-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a><br />
-<a href="html/libxml-SAX.html#hasInternalSubset">hasInternalSubset</a><br />
-<a href="html/libxml-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
-<a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFd">htmlCtxtReadFd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadMemory">htmlCtxtReadMemory</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReset">htmlCtxtReset</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a><br />
-<a href="html/libxml-globals.html#htmlDefaultSAXHandler">htmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a><br />
-<a href="html/libxml-HTMLparser.html#htmlDefaultSubelement">htmlDefaultSubelement</a><br />
-<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#htmlDocDump">htmlDocDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemory">htmlDocDumpMemory</a><br />
-<a href="html/libxml-HTMLtree.html#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a><br />
-<a href="html/libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</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#htmlElementStatusHere">htmlElementStatusHere</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</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-HTMLparser.html#htmlFreeParserCtxt">htmlFreeParserCtxt</a><br />
-<a href="html/libxml-HTMLtree.html#htmlGetMetaEncoding">htmlGetMetaEncoding</a><br />
-<a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
-<a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-<a href="html/libxml-HTMLtree.html#htmlIsBooleanAttr">htmlIsBooleanAttr</a><br />
-<a href="html/libxml-HTMLparser.html#htmlIsScriptAttribute">htmlIsScriptAttribute</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDoc">htmlNewDoc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a><br />
-<a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseChunk">htmlParseChunk</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDoc">htmlParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDocument">htmlParseDocument</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseFile">htmlParseFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserCtxt">htmlParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserInput">htmlParserInput</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserInputPtr">htmlParserInputPtr</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserNodeInfo">htmlParserNodeInfo</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParserOption">htmlParserOption</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFd">htmlReadFd</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadFile">htmlReadFile</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadMemory">htmlReadMemory</a><br />
-<a href="html/libxml-HTMLparser.html#htmlRequiredAttrs">htmlRequiredAttrs</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXHandler">htmlSAXHandler</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</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-HTMLtree.html#htmlSaveFile">htmlSaveFile</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileEnc">htmlSaveFileEnc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSaveFileFormat">htmlSaveFileFormat</a><br />
-<a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
-<a href="html/libxml-HTMLparser.html#htmlStatus">htmlStatus</a><br />
-<a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
-</p><h2>Letter i:</h2><p><a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
-<a href="html/libxml-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a><br />
-<a href="html/libxml-xmlerror.html#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a><br />
-<a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-<a href="html/libxml-parserInternals.html#inputPop">inputPop</a><br />
-<a href="html/libxml-parserInternals.html#inputPush">inputPush</a><br />
-<a href="html/libxml-SAX.html#internalSubset">internalSubset</a><br />
-<a href="html/libxml-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a><br />
-<a href="html/libxml-SAX.html#isStandalone">isStandalone</a><br />
-<a href="html/libxml-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a><br />
-<a href="html/libxml-encoding.html#isolat1ToUTF8">isolat1ToUTF8</a><br />
-</p><h2>Letter n:</h2><p><a href="html/libxml-parserInternals.html#namePop">namePop</a><br />
-<a href="html/libxml-parserInternals.html#namePush">namePush</a><br />
-<a href="html/libxml-SAX.html#namespaceDecl">namespaceDecl</a><br />
-<a href="html/libxml-parserInternals.html#nodePop">nodePop</a><br />
-<a href="html/libxml-parserInternals.html#nodePush">nodePush</a><br />
-<a href="html/libxml-SAX.html#notationDecl">notationDecl</a><br />
-<a href="html/libxml-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a><br />
-</p><h2>Letter o:</h2><p><a href="html/libxml-globals.html#oldXMLWDcompatibility">oldXMLWDcompatibility</a><br />
-</p><h2>Letter p:</h2><p><a href="html/libxml-SAX.html#processingInstruction">processingInstruction</a><br />
-<a href="html/libxml-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a><br />
-</p><h2>Letter r:</h2><p><a href="html/libxml-SAX.html#reference">reference</a><br />
-<a href="html/libxml-parser.html#referenceSAXFunc">referenceSAXFunc</a><br />
-<a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-</p><h2>Letter s:</h2><p><a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
-<a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
-<a href="html/libxml-SAX.html#setNamespace">setNamespace</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-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 />
-</p><h2>Letter u:</h2><p><a href="html/libxml-encoding.html#uconv_t">uconv_t</a><br />
-<a href="html/libxml-SAX.html#unparsedEntityDecl">unparsedEntityDecl</a><br />
-<a href="html/libxml-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a><br />
-</p><h2>Letter v:</h2><p><a href="html/libxml-xpathInternals.html#valuePop">valuePop</a><br />
-<a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br />
-</p><h2>Letter w:</h2><p><a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
-</p><h2>Letter x:</h2><p><a href="html/libxml-xlink.html#xlinkActuate">xlinkActuate</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-<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#xlinkHRef">xlinkHRef</a><br />
-<a href="html/libxml-xlink.html#xlinkHandler">xlinkHandler</a><br />
-<a href="html/libxml-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a><br />
-<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
-<a href="html/libxml-xlink.html#xlinkRole">xlinkRole</a><br />
-<a href="html/libxml-xlink.html#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a><br />
-<a href="html/libxml-xlink.html#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a><br />
-<a href="html/libxml-xlink.html#xlinkShow">xlinkShow</a><br />
-<a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkTitle">xlinkTitle</a><br />
-<a href="html/libxml-xlink.html#xlinkType">xlinkType</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogDump">xmlACatalogDump</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolve">xmlACatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogResolveURI">xmlACatalogResolveURI</a><br />
-<a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-<a href="html/libxml-tree.html#xmlAddChild">xmlAddChild</a><br />
-<a href="html/libxml-tree.html#xmlAddChildList">xmlAddChildList</a><br />
-<a href="html/libxml-entities.html#xmlAddDocEntity">xmlAddDocEntity</a><br />
-<a href="html/libxml-entities.html#xmlAddDtdEntity">xmlAddDtdEntity</a><br />
-<a href="html/libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a><br />
-<a href="html/libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a><br />
-<a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
-<a href="html/libxml-tree.html#xmlAddNextSibling">xmlAddNextSibling</a><br />
-<a href="html/libxml-valid.html#xmlAddNotationDecl">xmlAddNotationDecl</a><br />
-<a href="html/libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a><br />
-<a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-<a href="html/libxml-tree.html#xmlAddSibling">xmlAddSibling</a><br />
-<a href="html/libxml-xmlIO.html#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br />
-<a href="html/libxml-tree.html#xmlAttr">xmlAttr</a><br />
-<a href="html/libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a><br />
-<a href="html/libxml-tree.html#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a><br />
-<a href="html/libxml-tree.html#xmlAttribute">xmlAttribute</a><br />
-<a href="html/libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a><br />
-<a href="html/libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a><br />
-<a href="html/libxml-valid.html#xmlAttributeTable">xmlAttributeTable</a><br />
-<a href="html/libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a><br />
-<a href="html/libxml-tree.html#xmlAttributeType">xmlAttributeType</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomata">xmlAutomata</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataGetInitState">xmlAutomataGetInitState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataState">xmlAutomataState</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a><br />
-<a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
-<a href="html/libxml-tree.html#xmlBuf">xmlBuf</a><br />
-<a href="html/libxml-tree.html#xmlBufContent">xmlBufContent</a><br />
-<a href="html/libxml-tree.html#xmlBufEnd">xmlBufEnd</a><br />
-<a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br />
-<a href="html/libxml-tree.html#xmlBufNodeDump">xmlBufNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlBufPtr">xmlBufPtr</a><br />
-<a href="html/libxml-tree.html#xmlBufShrink">xmlBufShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufUse">xmlBufUse</a><br />
-<a href="html/libxml-tree.html#xmlBuffer">xmlBuffer</a><br />
-<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
-<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
-<a href="html/libxml-globals.html#xmlBufferAllocScheme">xmlBufferAllocScheme</a><br />
-<a href="html/libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferContent">xmlBufferContent</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateSize">xmlBufferCreateSize</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br />
-<a href="html/libxml-tree.html#xmlBufferDump">xmlBufferDump</a><br />
-<a href="html/libxml-tree.html#xmlBufferEmpty">xmlBufferEmpty</a><br />
-<a href="html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a><br />
-<a href="html/libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a><br />
-<a href="html/libxml-tree.html#xmlBufferLength">xmlBufferLength</a><br />
-<a href="html/libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a><br />
-<a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
-<a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
-<a href="html/libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteChar">xmlBufferWriteChar</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-<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 />
-<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-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a><br />
-<a href="html/libxml-c14n.html#xmlC14NMode">xmlC14NMode</a><br />
-<a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-<a href="html/libxml-catalog.html#xmlCatalog">xmlCatalog</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogCleanup">xmlCatalogCleanup</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogDump">xmlCatalogDump</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogFreeLocal">xmlCatalogFreeLocal</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetPublic">xmlCatalogGetPublic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogGetSystem">xmlCatalogGetSystem</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolve">xmlCatalogResolve</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogResolveURI">xmlCatalogResolveURI</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
-<a href="html/libxml-chvalid.html#xmlChLRange">xmlChLRange</a><br />
-<a href="html/libxml-chvalid.html#xmlChLRangePtr">xmlChLRangePtr</a><br />
-<a href="html/libxml-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlChRangeGroupPtr">xmlChRangeGroupPtr</a><br />
-<a href="html/libxml-chvalid.html#xmlChSRange">xmlChSRange</a><br />
-<a href="html/libxml-chvalid.html#xmlChSRangePtr">xmlChSRangePtr</a><br />
-<a href="html/libxml-xmlstring.html#xmlChar">xmlChar</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a><br />
-<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 />
-<a href="html/libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</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-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
-<a href="html/libxml-xmlstring.html#xmlCharStrdup">xmlCharStrdup</a><br />
-<a href="html/libxml-xmlstring.html#xmlCharStrndup">xmlCharStrndup</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
-<a href="html/libxml-tree.html#xmlChildElementCount">xmlChildElementCount</a><br />
-<a href="html/libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a><br />
-<a href="html/libxml-encoding.html#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a><br />
-<a href="html/libxml-encoding.html#xmlCleanupEncodingAliases">xmlCleanupEncodingAliases</a><br />
-<a href="html/libxml-globals.html#xmlCleanupGlobals">xmlCleanupGlobals</a><br />
-<a href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
-<a href="html/libxml-xmlmemory.html#xmlCleanupMemory">xmlCleanupMemory</a><br />
-<a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-entities.html#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a><br />
-<a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-<a href="html/libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a><br />
-<a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
-<a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br />
-<a href="html/libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a><br />
-<a href="html/libxml-parserInternals.html#xmlCopyChar">xmlCopyChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a><br />
-<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a><br />
-<a href="html/libxml-tree.html#xmlCopyDtd">xmlCopyDtd</a><br />
-<a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
-<a href="html/libxml-valid.html#xmlCopyElementTable">xmlCopyElementTable</a><br />
-<a href="html/libxml-entities.html#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a><br />
-<a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
-<a href="html/libxml-xmlerror.html#xmlCopyError">xmlCopyError</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#xmlCopyNode">xmlCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
-<a href="html/libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</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-parser.html#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a><br />
-<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
-<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
-<a href="html/libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a><br />
-<a href="html/libxml-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReset">xmlCtxtReset</a><br />
-<a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br />
-<a href="html/libxml-parser.html#xmlCtxtResetPush">xmlCtxtResetPush</a><br />
-<a href="html/libxml-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a><br />
-<a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br />
-<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocument">xmlDebugDumpDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpEntities">xmlDebugDumpEntities</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNode">xmlDebugDumpNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-globals.html#xmlDefaultBufferSize">xmlDefaultBufferSize</a><br />
-<a href="html/libxml-globals.html#xmlDefaultSAXHandler">xmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a><br />
-<a href="html/libxml-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a><br />
-<a href="html/libxml-encoding.html#xmlDelEncodingAlias">xmlDelEncodingAlias</a><br />
-<a href="html/libxml-globals.html#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a><br />
-<a href="html/libxml-globals.html#xmlDeregisterNodeDefaultValue">xmlDeregisterNodeDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a><br />
-<a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
-<a href="html/libxml-dict.html#xmlDict">xmlDict</a><br />
-<a href="html/libxml-dict.html#xmlDictCleanup">xmlDictCleanup</a><br />
-<a href="html/libxml-dict.html#xmlDictCreate">xmlDictCreate</a><br />
-<a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br />
-<a href="html/libxml-dict.html#xmlDictExists">xmlDictExists</a><br />
-<a href="html/libxml-dict.html#xmlDictFree">xmlDictFree</a><br />
-<a href="html/libxml-dict.html#xmlDictGetUsage">xmlDictGetUsage</a><br />
-<a href="html/libxml-dict.html#xmlDictLookup">xmlDictLookup</a><br />
-<a href="html/libxml-dict.html#xmlDictOwns">xmlDictOwns</a><br />
-<a href="html/libxml-dict.html#xmlDictPtr">xmlDictPtr</a><br />
-<a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
-<a href="html/libxml-dict.html#xmlDictReference">xmlDictReference</a><br />
-<a href="html/libxml-dict.html#xmlDictSetLimit">xmlDictSetLimit</a><br />
-<a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
-<a href="html/libxml-threads.html#xmlDllMain">xmlDllMain</a><br />
-<a href="html/libxml-globals.html#xmlDoValidityCheckingDefaultValue">xmlDoValidityCheckingDefaultValue</a><br />
-<a href="html/libxml-tree.html#xmlDoc">xmlDoc</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlDocDump">xmlDocDump</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
-<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#xmlDocFormatDump">xmlDocFormatDump</a><br />
-<a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlDocProperties">xmlDocProperties</a><br />
-<a href="html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a><br />
-<a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
-<a href="html/libxml-tree.html#xmlDtd">xmlDtd</a><br />
-<a href="html/libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a><br />
-<a href="html/libxml-valid.html#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpAttributeTable">xmlDumpAttributeTable</a><br />
-<a href="html/libxml-valid.html#xmlDumpElementDecl">xmlDumpElementDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpElementTable">xmlDumpElementTable</a><br />
-<a href="html/libxml-entities.html#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlDumpEntityDecl">xmlDumpEntityDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpNotationDecl">xmlDumpNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlDumpNotationTable">xmlDumpNotationTable</a><br />
-<a href="html/libxml-tree.html#xmlElemDump">xmlElemDump</a><br />
-<a href="html/libxml-tree.html#xmlElement">xmlElement</a><br />
-<a href="html/libxml-tree.html#xmlElementContent">xmlElementContent</a><br />
-<a href="html/libxml-tree.html#xmlElementContentOccur">xmlElementContentOccur</a><br />
-<a href="html/libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a><br />
-<a href="html/libxml-tree.html#xmlElementContentType">xmlElementContentType</a><br />
-<a href="html/libxml-tree.html#xmlElementPtr">xmlElementPtr</a><br />
-<a href="html/libxml-valid.html#xmlElementTable">xmlElementTable</a><br />
-<a href="html/libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a><br />
-<a href="html/libxml-tree.html#xmlElementType">xmlElementType</a><br />
-<a href="html/libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
-<a href="html/libxml-entities.html#xmlEntitiesTable">xmlEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a><br />
-<a href="html/libxml-tree.html#xmlEntity">xmlEntity</a><br />
-<a href="html/libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a><br />
-<a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
-<a href="html/libxml-entities.html#xmlEntityType">xmlEntityType</a><br />
-<a href="html/libxml-tree.html#xmlEnumeration">xmlEnumeration</a><br />
-<a href="html/libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a><br />
-<a href="html/libxml-parserInternals.html#xmlErrMemory">xmlErrMemory</a><br />
-<a href="html/libxml-xmlerror.html#xmlError">xmlError</a><br />
-<a href="html/libxml-xmlerror.html#xmlErrorDomain">xmlErrorDomain</a><br />
-<a href="html/libxml-xmlerror.html#xmlErrorLevel">xmlErrorLevel</a><br />
-<a href="html/libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpDump">xmlExpDump</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpFree">xmlExpFree</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpFreeCtxt">xmlExpFreeCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetLanguage">xmlExpGetLanguage</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpIsNillable">xmlExpIsNillable</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpMaxToken">xmlExpMaxToken</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewAtom">xmlExpNewAtom</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewCtxt">xmlExpNewCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNode">xmlExpNode</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpNodeType">xmlExpNodeType</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpRef">xmlExpRef</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br />
-<a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br />
-<a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlFeature">xmlFeature</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileClose">xmlFileClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileMatch">xmlFileMatch</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
-<a href="html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a><br />
-<a href="html/libxml-tree.html#xmlFirstElementChild">xmlFirstElementChild</a><br />
-<a href="html/libxml-globals.html#xmlFree">xmlFree</a><br />
-<a href="html/libxml-valid.html#xmlFreeAttributeTable">xmlFreeAttributeTable</a><br />
-<a href="html/libxml-xmlautomata.html#xmlFreeAutomata">xmlFreeAutomata</a><br />
-<a href="html/libxml-catalog.html#xmlFreeCatalog">xmlFreeCatalog</a><br />
-<a href="html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a><br />
-<a href="html/libxml-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a><br />
-<a href="html/libxml-tree.html#xmlFreeDtd">xmlFreeDtd</a><br />
-<a href="html/libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a><br />
-<a href="html/libxml-valid.html#xmlFreeElementTable">xmlFreeElementTable</a><br />
-<a href="html/libxml-entities.html#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a><br />
-<a href="html/libxml-valid.html#xmlFreeEnumeration">xmlFreeEnumeration</a><br />
-<a href="html/libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a><br />
-<a href="html/libxml-valid.html#xmlFreeIDTable">xmlFreeIDTable</a><br />
-<a href="html/libxml-parserInternals.html#xmlFreeInputStream">xmlFreeInputStream</a><br />
-<a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
-<a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
-<a href="html/libxml-tree.html#xmlFreeNodeList">xmlFreeNodeList</a><br />
-<a href="html/libxml-valid.html#xmlFreeNotationTable">xmlFreeNotationTable</a><br />
-<a href="html/libxml-tree.html#xmlFreeNs">xmlFreeNs</a><br />
-<a href="html/libxml-tree.html#xmlFreeNsList">xmlFreeNsList</a><br />
-<a href="html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a><br />
-<a href="html/libxml-xmlIO.html#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a><br />
-<a href="html/libxml-pattern.html#xmlFreePattern">xmlFreePattern</a><br />
-<a href="html/libxml-pattern.html#xmlFreePatternList">xmlFreePatternList</a><br />
-<a href="html/libxml-tree.html#xmlFreeProp">xmlFreeProp</a><br />
-<a href="html/libxml-tree.html#xmlFreePropList">xmlFreePropList</a><br />
-<a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
-<a href="html/libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a><br />
-<a href="html/libxml-pattern.html#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a><br />
-<a href="html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a><br />
-<a href="html/libxml-uri.html#xmlFreeURI">xmlFreeURI</a><br />
-<a href="html/libxml-valid.html#xmlFreeValidCtxt">xmlFreeValidCtxt</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
-<a href="html/libxml-globals.html#xmlGenericError">xmlGenericError</a><br />
-<a href="html/libxml-globals.html#xmlGenericErrorContext">xmlGenericErrorContext</a><br />
-<a href="html/libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a><br />
-<a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-<a href="html/libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a><br />
-<a href="html/libxml-entities.html#xmlGetDocEntity">xmlGetDocEntity</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
-<a href="html/libxml-entities.html#xmlGetDtdEntity">xmlGetDtdEntity</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
-<a href="html/libxml-encoding.html#xmlGetEncodingAlias">xmlGetEncodingAlias</a><br />
-<a href="html/libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlGetFeature">xmlGetFeature</a><br />
-<a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
-<a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
-<a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
-<a href="html/libxml-tree.html#xmlGetIntSubset">xmlGetIntSubset</a><br />
-<a href="html/libxml-tree.html#xmlGetLastChild">xmlGetLastChild</a><br />
-<a href="html/libxml-xmlerror.html#xmlGetLastError">xmlGetLastError</a><br />
-<a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-<a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNodePath">xmlGetNodePath</a><br />
-<a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
-<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a><br />
-<a href="html/libxml-entities.html#xmlGetPredefinedEntity">xmlGetPredefinedEntity</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-valid.html#xmlGetRefs">xmlGetRefs</a><br />
-<a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
-<a href="html/libxml-globals.html#xmlGetWarningsDefaultValue">xmlGetWarningsDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlGlobalState">xmlGlobalState</a><br />
-<a href="html/libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a><br />
-<a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
-<a href="html/libxml-parser.html#xmlHasFeature">xmlHasFeature</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashCopier">xmlHashCopier</a><br />
-<a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
-<a href="html/libxml-hash.html#xmlHashCreate">xmlHashCreate</a><br />
-<a href="html/libxml-hash.html#xmlHashCreateDict">xmlHashCreateDict</a><br />
-<a href="html/libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a><br />
-<a href="html/libxml-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a><br />
-<a href="html/libxml-hash.html#xmlHashFree">xmlHashFree</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup">xmlHashLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashLookup3">xmlHashLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup">xmlHashQLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup3">xmlHashQLookup3</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
-<a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
-<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-hash.html#xmlHashScanner">xmlHashScanner</a><br />
-<a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br />
-<a href="html/libxml-hash.html#xmlHashSize">xmlHashSize</a><br />
-<a href="html/libxml-hash.html#xmlHashTable">xmlHashTable</a><br />
-<a href="html/libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
-<a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
-<a href="html/libxml-tree.html#xmlID">xmlID</a><br />
-<a href="html/libxml-tree.html#xmlIDPtr">xmlIDPtr</a><br />
-<a href="html/libxml-valid.html#xmlIDTable">xmlIDTable</a><br />
-<a href="html/libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPClose">xmlIOFTPClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPMatch">xmlIOFTPMatch</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPOpen">xmlIOFTPOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPClose">xmlIOHTTPClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPMatch">xmlIOHTTPMatch</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpen">xmlIOHTTPOpen</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
-<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-<a href="html/libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a><br />
-<a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
-<a href="html/libxml-globals.html#xmlInitGlobals">xmlInitGlobals</a><br />
-<a href="html/libxml-xmlmemory.html#xmlInitMemory">xmlInitMemory</a><br />
-<a href="html/libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a><br />
-<a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
-<a href="html/libxml-parser.html#xmlInitParserCtxt">xmlInitParserCtxt</a><br />
-<a href="html/libxml-threads.html#xmlInitThreads">xmlInitThreads</a><br />
-<a href="html/libxml-catalog.html#xmlInitializeCatalog">xmlInitializeCatalog</a><br />
-<a href="html/libxml-dict.html#xmlInitializeDict">xmlInitializeDict</a><br />
-<a href="html/libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a><br />
-<a href="html/libxml-entities.html#xmlInitializePredefinedEntities">xmlInitializePredefinedEntities</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseCharGroup">xmlIsBaseCharGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
-<a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCharGroup">xmlIsCharGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCharQ">xmlIsCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombining">xmlIsCombining</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombiningGroup">xmlIsCombiningGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigitGroup">xmlIsDigitGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtenderGroup">xmlIsExtenderGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a><br />
-<a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographicGroup">xmlIsIdeographicGroup</a><br />
-<a href="html/libxml-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a><br />
-<a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a><br />
-<a href="html/libxml-threads.html#xmlIsMainThread">xmlIsMainThread</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a><br />
-<a href="html/libxml-chvalid.html#xmlIsPubidChar_tab">xmlIsPubidChar_tab</a><br />
-<a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
-<a href="html/libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-globals.html#xmlKeepBlanksDefaultValue">xmlKeepBlanksDefaultValue</a><br />
-<a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
-<a href="html/libxml-globals.html#xmlLastError">xmlLastError</a><br />
-<a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
-<a href="html/libxml-globals.html#xmlLineNumbersDefaultValue">xmlLineNumbersDefaultValue</a><br />
-<a href="html/libxml-list.html#xmlLink">xmlLink</a><br />
-<a href="html/libxml-list.html#xmlLinkGetData">xmlLinkGetData</a><br />
-<a href="html/libxml-list.html#xmlLinkPtr">xmlLinkPtr</a><br />
-<a href="html/libxml-list.html#xmlList">xmlList</a><br />
-<a href="html/libxml-list.html#xmlListAppend">xmlListAppend</a><br />
-<a href="html/libxml-list.html#xmlListClear">xmlListClear</a><br />
-<a href="html/libxml-list.html#xmlListCopy">xmlListCopy</a><br />
-<a href="html/libxml-list.html#xmlListCreate">xmlListCreate</a><br />
-<a href="html/libxml-list.html#xmlListDataCompare">xmlListDataCompare</a><br />
-<a href="html/libxml-list.html#xmlListDeallocator">xmlListDeallocator</a><br />
-<a href="html/libxml-list.html#xmlListDelete">xmlListDelete</a><br />
-<a href="html/libxml-list.html#xmlListDup">xmlListDup</a><br />
-<a href="html/libxml-list.html#xmlListEmpty">xmlListEmpty</a><br />
-<a href="html/libxml-list.html#xmlListEnd">xmlListEnd</a><br />
-<a href="html/libxml-list.html#xmlListFront">xmlListFront</a><br />
-<a href="html/libxml-list.html#xmlListInsert">xmlListInsert</a><br />
-<a href="html/libxml-list.html#xmlListMerge">xmlListMerge</a><br />
-<a href="html/libxml-list.html#xmlListPopBack">xmlListPopBack</a><br />
-<a href="html/libxml-list.html#xmlListPopFront">xmlListPopFront</a><br />
-<a href="html/libxml-list.html#xmlListPtr">xmlListPtr</a><br />
-<a href="html/libxml-list.html#xmlListPushBack">xmlListPushBack</a><br />
-<a href="html/libxml-list.html#xmlListPushFront">xmlListPushFront</a><br />
-<a href="html/libxml-list.html#xmlListRemoveAll">xmlListRemoveAll</a><br />
-<a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
-<a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a><br />
-<a href="html/libxml-list.html#xmlListReverse">xmlListReverse</a><br />
-<a href="html/libxml-list.html#xmlListReverseSearch">xmlListReverseSearch</a><br />
-<a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
-<a href="html/libxml-list.html#xmlListSearch">xmlListSearch</a><br />
-<a href="html/libxml-list.html#xmlListSize">xmlListSize</a><br />
-<a href="html/libxml-list.html#xmlListSort">xmlListSort</a><br />
-<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
-<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-<a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</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-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a><br />
-<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-xpointer.html#xmlLocationSet">xmlLocationSet</a><br />
-<a href="html/libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a><br />
-<a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
-<a href="html/libxml-debugXML.html#xmlLsCountNode">xmlLsCountNode</a><br />
-<a href="html/libxml-debugXML.html#xmlLsOneNode">xmlLsOneNode</a><br />
-<a href="html/libxml-globals.html#xmlMalloc">xmlMalloc</a><br />
-<a href="html/libxml-globals.html#xmlMallocAtomic">xmlMallocAtomic</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemDisplayLast">xmlMemDisplayLast</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemFree">xmlMemFree</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#xmlMemRealloc">xmlMemRealloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a><br />
-<a href="html/libxml-globals.html#xmlMemStrdup">xmlMemStrdup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModule">xmlModule</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleClose">xmlModuleClose</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleFree">xmlModuleFree</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleOption">xmlModuleOption</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a><br />
-<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-<a href="html/libxml-threads.html#xmlMutex">xmlMutex</a><br />
-<a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a><br />
-<a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</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 />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPClose">xmlNanoFTPClose</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnect">xmlNanoFTPConnect</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPOpen">xmlNanoFTPOpen</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPQuit">xmlNanoFTPQuit</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-<a href="html/libxml-xmlautomata.html#xmlNewAutomata">xmlNewAutomata</a><br />
-<a href="html/libxml-tree.html#xmlNewCDataBlock">xmlNewCDataBlock</a><br />
-<a href="html/libxml-catalog.html#xmlNewCatalog">xmlNewCatalog</a><br />
-<a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-<a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
-<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewComment">xmlNewComment</a><br />
-<a href="html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a><br />
-<a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
-<a href="html/libxml-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a><br />
-<a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
-<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
-<a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
-<a href="html/libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a><br />
-<a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
-<a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a><br />
-<a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewInputFromFile">xmlNewInputFromFile</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewInputStream">xmlNewInputStream</a><br />
-<a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
-<a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
-<a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a><br />
-<a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
-<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
-<a href="html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlNewProp">xmlNewProp</a><br />
-<a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-<a href="html/libxml-tree.html#xmlNewReference">xmlNewReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewStringInputStream">xmlNewStringInputStream</a><br />
-<a href="html/libxml-tree.html#xmlNewText">xmlNewText</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-tree.html#xmlNewTextLen">xmlNewTextLen</a><br />
-<a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
-<a href="html/libxml-xmlreader.html#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a><br />
-<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 />
-<a href="html/libxml-valid.html#xmlNewValidCtxt">xmlNewValidCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlNextChar">xmlNextChar</a><br />
-<a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
-<a href="html/libxml-tree.html#xmlNode">xmlNode</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#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</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#xmlNodeIsText">xmlNodeIsText</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-tree.html#xmlNodePtr">xmlNodePtr</a><br />
-<a href="html/libxml-xpath.html#xmlNodeSet">xmlNodeSet</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-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
-<a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
-<a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-<a href="html/libxml-tree.html#xmlNotation">xmlNotation</a><br />
-<a href="html/libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a><br />
-<a href="html/libxml-valid.html#xmlNotationTable">xmlNotationTable</a><br />
-<a href="html/libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a><br />
-<a href="html/libxml-tree.html#xmlNs">xmlNs</a><br />
-<a href="html/libxml-tree.html#xmlNsPtr">xmlNsPtr</a><br />
-<a href="html/libxml-tree.html#xmlNsType">xmlNsType</a><br />
-<a href="html/libxml-tree.html#xmlOutputBuffer">xmlOutputBuffer</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferClose">xmlOutputBufferClose</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</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#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-xmlIO.html#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferGetSize">xmlOutputBufferGetSize</a><br />
-<a href="html/libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</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 />
-<a href="html/libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</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-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
-<a href="html/libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-<a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
-<a href="html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
-<a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseDTD">xmlParseDTD</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-<a href="html/libxml-parser.html#xmlParseDoc">xmlParseDoc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
-<a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEncName">xmlParseEncName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEndTag">xmlParseEndTag</a><br />
-<a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</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-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
-<a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
-<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parser.html#xmlParseMemory">xmlParseMemory</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseName">xmlParseName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePITarget">xmlParsePITarget</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePubidLiteral">xmlParsePubidLiteral</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSystemLiteral">xmlParseSystemLiteral</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
-<a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-<a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
-<a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseVersionInfo">xmlParseVersionInfo</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a><br />
-<a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
-<a href="html/libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a><br />
-<a href="html/libxml-globals.html#xmlParserDebugEntities">xmlParserDebugEntities</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserGetDirectory">xmlParserGetDirectory</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-tree.html#xmlParserInput">xmlParserInput</a><br />
-<a href="html/libxml-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</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#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 />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
-<a href="html/libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
-<a href="html/libxml-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a><br />
-<a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
-<a href="html/libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a><br />
-<a href="html/libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a><br />
-<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 />
-<a href="html/libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a><br />
-<a href="html/libxml-parser.html#xmlParserOption">xmlParserOption</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-xmlreader.html#xmlParserProperties">xmlParserProperties</a><br />
-<a href="html/libxml-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
-<a href="html/libxml-globals.html#xmlParserVersion">xmlParserVersion</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a><br />
-<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
-<a href="html/libxml-pattern.html#xmlPattern">xmlPattern</a><br />
-<a href="html/libxml-pattern.html#xmlPatternFlags">xmlPatternFlags</a><br />
-<a href="html/libxml-pattern.html#xmlPatternFromRoot">xmlPatternFromRoot</a><br />
-<a href="html/libxml-pattern.html#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMaxDepth">xmlPatternMaxDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMinDepth">xmlPatternMinDepth</a><br />
-<a href="html/libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a><br />
-<a href="html/libxml-pattern.html#xmlPatternStreamable">xmlPatternStreamable</a><br />
-<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
-<a href="html/libxml-globals.html#xmlPedanticParserDefaultValue">xmlPedanticParserDefaultValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
-<a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
-<a href="html/libxml-uri.html#xmlPrintURI">xmlPrintURI</a><br />
-<a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-<a href="html/libxml-threads.html#xmlRMutex">xmlRMutex</a><br />
-<a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
-<a href="html/libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a><br />
-<a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-<a href="html/libxml-parser.html#xmlReadDoc">xmlReadDoc</a><br />
-<a href="html/libxml-parser.html#xmlReadFd">xmlReadFd</a><br />
-<a href="html/libxml-parser.html#xmlReadFile">xmlReadFile</a><br />
-<a href="html/libxml-parser.html#xmlReadIO">xmlReadIO</a><br />
-<a href="html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForMemory">xmlReaderForMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewMemory">xmlReaderNewMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewWalker">xmlReaderNewWalker</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderWalker">xmlReaderWalker</a><br />
-<a href="html/libxml-globals.html#xmlRealloc">xmlRealloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
-<a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br />
-<a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
-<a href="html/libxml-tree.html#xmlRef">xmlRef</a><br />
-<a href="html/libxml-tree.html#xmlRefPtr">xmlRefPtr</a><br />
-<a href="html/libxml-valid.html#xmlRefTable">xmlRefTable</a><br />
-<a href="html/libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</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-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegFreeRegexp">xmlRegFreeRegexp</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexp">xmlRegexp</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a><br />
-<a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</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-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-<a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
-<a href="html/libxml-globals.html#xmlRegisterNodeDefaultValue">xmlRegisterNodeDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a><br />
-<a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNG">xmlRelaxNG</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGDump">xmlRelaxNGDump</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGFree">xmlRelaxNGFree</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidErr">xmlRelaxNGValidErr</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-relaxng.html#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
-<a href="html/libxml-valid.html#xmlRemoveID">xmlRemoveID</a><br />
-<a href="html/libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a><br />
-<a href="html/libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a><br />
-<a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
-<a href="html/libxml-xmlerror.html#xmlResetError">xmlResetError</a><br />
-<a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
-<a href="html/libxml-tree.html#xmlRootNode">xmlRootNode</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndDocument">xmlSAX2EndDocument</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElement">xmlSAX2EndElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetEntity">xmlSAX2GetEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDocbDefaultSAXHandler">xmlSAX2InitDocbDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartDocument">xmlSAX2StartDocument</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a><br />
-<a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
-<a href="html/libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a><br />
-<a href="html/libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a><br />
-<a href="html/libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a><br />
-<a href="html/libxml-parser.html#xmlSAXHandlerV1Ptr">xmlSAXHandlerV1Ptr</a><br />
-<a href="html/libxml-tree.html#xmlSAXLocator">xmlSAXLocator</a><br />
-<a href="html/libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</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 />
-<a href="html/libxml-parser.html#xmlSAXUserParseFile">xmlSAXUserParseFile</a><br />
-<a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
-<a href="html/libxml-SAX2.html#xmlSAXVersion">xmlSAXVersion</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveClose">xmlSaveClose</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-tree.html#xmlSaveFile">xmlSaveFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a><br />
-<a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveFlush">xmlSaveFlush</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
-<a href="html/libxml-globals.html#xmlSaveNoEmptyTags">xmlSaveNoEmptyTags</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveOption">xmlSaveOption</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 />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</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-xmlschemas.html#xmlSchema">xmlSchema</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-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#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a><br />
-<a href="html/libxml-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</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 />
-<a href="html/libxml-xmlschemas.html#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a><br />
-<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#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetValType">xmlSchemaGetValType</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaInitTypes">xmlSchemaInitTypes</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaIsValid">xmlSchemaIsValid</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 />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</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-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</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-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
-<a href="html/libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a><br />
-<a href="html/libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidError">xmlSchemaValidError</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateFile">xmlSchemaValidateFile</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</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#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueAppend">xmlSchemaValueAppend</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</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-schematron.html#xmlSchematron">xmlSchematron</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronFree">xmlSchematronFree</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronFreeParserCtxt">xmlSchematronFreeParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronFreeValidCtxt">xmlSchematronFreeValidCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronParse">xmlSchematronParse</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidOptions">xmlSchematronValidOptions</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a><br />
-<a href="html/libxml-schematron.html#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</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 />
-<a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
-<a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
-<a href="html/libxml-parserInternals.html#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a><br />
-<a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
-<a href="html/libxml-parser.html#xmlSetFeature">xmlSetFeature</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-<a href="html/libxml-tree.html#xmlSetListDoc">xmlSetListDoc</a><br />
-<a href="html/libxml-tree.html#xmlSetNs">xmlSetNs</a><br />
-<a href="html/libxml-tree.html#xmlSetNsProp">xmlSetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br />
-<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-<a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a><br />
-<a href="html/libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a><br />
-<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
-<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 />
-<a href="html/libxml-debugXML.html#xmlShellCtxt">xmlShellCtxt</a><br />
-<a href="html/libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-<a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br />
-<a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintNode">xmlShellPrintNode</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a><br />
-<a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
-<a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
-<a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
-<a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
-<a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</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-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
-<a href="html/libxml-parser.html#xmlStartTag">xmlStartTag</a><br />
-<a href="html/libxml-parser.html#xmlStopParser">xmlStopParser</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcasecmp">xmlStrcasecmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcasestr">xmlStrcasestr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrcmp">xmlStrcmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
-<a href="html/libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a><br />
-<a href="html/libxml-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a><br />
-<a href="html/libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPop">xmlStreamPop</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
-<a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
-<a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringComment">xmlStringComment</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringText">xmlStringText</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringTextNoenc">xmlStringTextNoenc</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncasecmp">xmlStrncasecmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncmp">xmlStrncmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrndup">xmlStrndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-<a href="html/libxml-globals.html#xmlStructuredError">xmlStructuredError</a><br />
-<a href="html/libxml-globals.html#xmlStructuredErrorContext">xmlStructuredErrorContext</a><br />
-<a href="html/libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
-<a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-<a href="html/libxml-globals.html#xmlSubstituteEntitiesDefaultValue">xmlSubstituteEntitiesDefaultValue</a><br />
-<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 />
-<a href="html/libxml-tree.html#xmlTextConcat">xmlTextConcat</a><br />
-<a href="html/libxml-tree.html#xmlTextMerge">xmlTextMerge</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReader">xmlTextReader</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserColumnNumber">xmlTextReaderGetParserColumnNumber</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserLineNumber">xmlTextReaderGetParserLineNumber</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderHasAttributes">xmlTextReaderHasAttributes</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocalName">xmlTextReaderLocalName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMode">xmlTextReaderMode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToFirstAttribute">xmlTextReaderMoveToFirstAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToNextAttribute">xmlTextReaderMoveToNextAttribute</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderName">xmlTextReaderName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNamespaceUri">xmlTextReaderNamespaceUri</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-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPrefix">xmlTextReaderPrefix</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-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</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#xmlTextReaderReadState">xmlTextReaderReadState</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetup">xmlTextReaderSetup</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriter">xmlTextWriter</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndAttribute">xmlTextWriterEndAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndComment">xmlTextWriterEndComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTD">xmlTextWriterEndDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDAttlist">xmlTextWriterEndDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDElement">xmlTextWriterEndDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDTDEntity">xmlTextWriterEndDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterEndPI">xmlTextWriterEndPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterFlush">xmlTextWriterFlush</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartComment">xmlTextWriterStartComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartPI">xmlTextWriterStartPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</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-xmlwriter.html#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteString">xmlTextWriterWriteString</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a><br />
-<a href="html/libxml-globals.html#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a><br />
-<a href="html/libxml-globals.html#xmlThrDefDefaultBufferSize">xmlThrDefDefaultBufferSize</a><br />
-<a href="html/libxml-globals.html#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a><br />
-<a href="html/libxml-globals.html#xmlThrDefDoValidityCheckingDefaultValue">xmlThrDefDoValidityCheckingDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlThrDefGetWarningsDefaultValue">xmlThrDefGetWarningsDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlThrDefIndentTreeOutput">xmlThrDefIndentTreeOutput</a><br />
-<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 />
-<a href="html/libxml-globals.html#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a><br />
-<a href="html/libxml-globals.html#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a><br />
-<a href="html/libxml-globals.html#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a><br />
-<a href="html/libxml-globals.html#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a><br />
-<a href="html/libxml-globals.html#xmlTreeIndentString">xmlTreeIndentString</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsAlphabeticPresentationForms">xmlUCSIsAlphabeticPresentationForms</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsArabic">xmlUCSIsArabic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsArabicPresentationFormsA">xmlUCSIsArabicPresentationFormsA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsArabicPresentationFormsB">xmlUCSIsArabicPresentationFormsB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsArmenian">xmlUCSIsArmenian</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsArrows">xmlUCSIsArrows</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBasicLatin">xmlUCSIsBasicLatin</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBengali">xmlUCSIsBengali</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBlock">xmlUCSIsBlock</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBlockElements">xmlUCSIsBlockElements</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBopomofo">xmlUCSIsBopomofo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBopomofoExtended">xmlUCSIsBopomofoExtended</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBoxDrawing">xmlUCSIsBoxDrawing</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBraillePatterns">xmlUCSIsBraillePatterns</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsBuhid">xmlUCSIsBuhid</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsByzantineMusicalSymbols">xmlUCSIsByzantineMusicalSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibility">xmlUCSIsCJKCompatibility</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityForms">xmlUCSIsCJKCompatibilityForms</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographs">xmlUCSIsCJKCompatibilityIdeographs</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographsSupplement">xmlUCSIsCJKCompatibilityIdeographsSupplement</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKRadicalsSupplement">xmlUCSIsCJKRadicalsSupplement</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKSymbolsandPunctuation">xmlUCSIsCJKSymbolsandPunctuation</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographs">xmlUCSIsCJKUnifiedIdeographs</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionA">xmlUCSIsCJKUnifiedIdeographsExtensionA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionB">xmlUCSIsCJKUnifiedIdeographsExtensionB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCat">xmlUCSIsCat</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatC">xmlUCSIsCatC</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatCc">xmlUCSIsCatCc</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatCf">xmlUCSIsCatCf</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatCo">xmlUCSIsCatCo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatCs">xmlUCSIsCatCs</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatL">xmlUCSIsCatL</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatLl">xmlUCSIsCatLl</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatLm">xmlUCSIsCatLm</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatLo">xmlUCSIsCatLo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatLt">xmlUCSIsCatLt</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatLu">xmlUCSIsCatLu</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatM">xmlUCSIsCatM</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatMc">xmlUCSIsCatMc</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatMe">xmlUCSIsCatMe</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatMn">xmlUCSIsCatMn</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatN">xmlUCSIsCatN</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatNd">xmlUCSIsCatNd</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatNl">xmlUCSIsCatNl</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatNo">xmlUCSIsCatNo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatP">xmlUCSIsCatP</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPc">xmlUCSIsCatPc</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPd">xmlUCSIsCatPd</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPe">xmlUCSIsCatPe</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPf">xmlUCSIsCatPf</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPi">xmlUCSIsCatPi</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPo">xmlUCSIsCatPo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatPs">xmlUCSIsCatPs</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatS">xmlUCSIsCatS</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatSc">xmlUCSIsCatSc</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatSk">xmlUCSIsCatSk</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatSm">xmlUCSIsCatSm</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatSo">xmlUCSIsCatSo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatZ">xmlUCSIsCatZ</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatZl">xmlUCSIsCatZl</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatZp">xmlUCSIsCatZp</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCatZs">xmlUCSIsCatZs</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCherokee">xmlUCSIsCherokee</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarks">xmlUCSIsCombiningDiacriticalMarks</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarksforSymbols">xmlUCSIsCombiningDiacriticalMarksforSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningHalfMarks">xmlUCSIsCombiningHalfMarks</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCombiningMarksforSymbols">xmlUCSIsCombiningMarksforSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsControlPictures">xmlUCSIsControlPictures</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCurrencySymbols">xmlUCSIsCurrencySymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCypriotSyllabary">xmlUCSIsCypriotSyllabary</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCyrillic">xmlUCSIsCyrillic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsCyrillicSupplement">xmlUCSIsCyrillicSupplement</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsDeseret">xmlUCSIsDeseret</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsDevanagari">xmlUCSIsDevanagari</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsDingbats">xmlUCSIsDingbats</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsEnclosedAlphanumerics">xmlUCSIsEnclosedAlphanumerics</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsEnclosedCJKLettersandMonths">xmlUCSIsEnclosedCJKLettersandMonths</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsEthiopic">xmlUCSIsEthiopic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGeneralPunctuation">xmlUCSIsGeneralPunctuation</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGeometricShapes">xmlUCSIsGeometricShapes</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGeorgian">xmlUCSIsGeorgian</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGothic">xmlUCSIsGothic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGreek">xmlUCSIsGreek</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGreekExtended">xmlUCSIsGreekExtended</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGreekandCoptic">xmlUCSIsGreekandCoptic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGujarati">xmlUCSIsGujarati</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsGurmukhi">xmlUCSIsGurmukhi</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHalfwidthandFullwidthForms">xmlUCSIsHalfwidthandFullwidthForms</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHangulCompatibilityJamo">xmlUCSIsHangulCompatibilityJamo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHangulJamo">xmlUCSIsHangulJamo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHangulSyllables">xmlUCSIsHangulSyllables</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHanunoo">xmlUCSIsHanunoo</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHebrew">xmlUCSIsHebrew</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHighPrivateUseSurrogates">xmlUCSIsHighPrivateUseSurrogates</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHighSurrogates">xmlUCSIsHighSurrogates</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsHiragana">xmlUCSIsHiragana</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsIPAExtensions">xmlUCSIsIPAExtensions</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsIdeographicDescriptionCharacters">xmlUCSIsIdeographicDescriptionCharacters</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKanbun">xmlUCSIsKanbun</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKangxiRadicals">xmlUCSIsKangxiRadicals</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKannada">xmlUCSIsKannada</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKatakana">xmlUCSIsKatakana</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKatakanaPhoneticExtensions">xmlUCSIsKatakanaPhoneticExtensions</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKhmer">xmlUCSIsKhmer</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsKhmerSymbols">xmlUCSIsKhmerSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLao">xmlUCSIsLao</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLatin1Supplement">xmlUCSIsLatin1Supplement</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedA">xmlUCSIsLatinExtendedA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedAdditional">xmlUCSIsLatinExtendedAdditional</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedB">xmlUCSIsLatinExtendedB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLetterlikeSymbols">xmlUCSIsLetterlikeSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLimbu">xmlUCSIsLimbu</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLinearBIdeograms">xmlUCSIsLinearBIdeograms</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLinearBSyllabary">xmlUCSIsLinearBSyllabary</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsLowSurrogates">xmlUCSIsLowSurrogates</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMalayalam">xmlUCSIsMalayalam</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMathematicalAlphanumericSymbols">xmlUCSIsMathematicalAlphanumericSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMathematicalOperators">xmlUCSIsMathematicalOperators</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsA">xmlUCSIsMiscellaneousMathematicalSymbolsA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsB">xmlUCSIsMiscellaneousMathematicalSymbolsB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousSymbols">xmlUCSIsMiscellaneousSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousSymbolsandArrows">xmlUCSIsMiscellaneousSymbolsandArrows</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousTechnical">xmlUCSIsMiscellaneousTechnical</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMongolian">xmlUCSIsMongolian</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMusicalSymbols">xmlUCSIsMusicalSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsMyanmar">xmlUCSIsMyanmar</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsNumberForms">xmlUCSIsNumberForms</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsOgham">xmlUCSIsOgham</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsOldItalic">xmlUCSIsOldItalic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsOpticalCharacterRecognition">xmlUCSIsOpticalCharacterRecognition</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsOriya">xmlUCSIsOriya</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsOsmanya">xmlUCSIsOsmanya</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsPhoneticExtensions">xmlUCSIsPhoneticExtensions</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsPrivateUse">xmlUCSIsPrivateUse</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsPrivateUseArea">xmlUCSIsPrivateUseArea</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsRunic">xmlUCSIsRunic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsShavian">xmlUCSIsShavian</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSinhala">xmlUCSIsSinhala</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSmallFormVariants">xmlUCSIsSmallFormVariants</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSpacingModifierLetters">xmlUCSIsSpacingModifierLetters</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSpecials">xmlUCSIsSpecials</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSuperscriptsandSubscripts">xmlUCSIsSuperscriptsandSubscripts</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementalArrowsA">xmlUCSIsSupplementalArrowsA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementalArrowsB">xmlUCSIsSupplementalArrowsB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementalMathematicalOperators">xmlUCSIsSupplementalMathematicalOperators</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaA">xmlUCSIsSupplementaryPrivateUseAreaA</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaB">xmlUCSIsSupplementaryPrivateUseAreaB</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsSyriac">xmlUCSIsSyriac</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTagalog">xmlUCSIsTagalog</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTagbanwa">xmlUCSIsTagbanwa</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTags">xmlUCSIsTags</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTaiLe">xmlUCSIsTaiLe</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTaiXuanJingSymbols">xmlUCSIsTaiXuanJingSymbols</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTamil">xmlUCSIsTamil</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTelugu">xmlUCSIsTelugu</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsThaana">xmlUCSIsThaana</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsThai">xmlUCSIsThai</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsTibetan">xmlUCSIsTibetan</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsUgaritic">xmlUCSIsUgaritic</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsUnifiedCanadianAboriginalSyllabics">xmlUCSIsUnifiedCanadianAboriginalSyllabics</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsVariationSelectors">xmlUCSIsVariationSelectors</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsVariationSelectorsSupplement">xmlUCSIsVariationSelectorsSupplement</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsYiRadicals">xmlUCSIsYiRadicals</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsYiSyllables">xmlUCSIsYiSyllables</a><br />
-<a href="html/libxml-xmlunicode.html#xmlUCSIsYijingHexagramSymbols">xmlUCSIsYijingHexagramSymbols</a><br />
-<a href="html/libxml-uri.html#xmlURI">xmlURI</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
-<a href="html/libxml-uri.html#xmlURIPtr">xmlURIPtr</a><br />
-<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Size">xmlUTF8Size</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strndup">xmlUTF8Strndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
-<a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a><br />
-<a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
-<a href="html/libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a><br />
-<a href="html/libxml-valid.html#xmlValidBuildContentModel">xmlValidBuildContentModel</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxt">xmlValidCtxt</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a><br />
-<a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidState">xmlValidState</a><br />
-<a href="html/libxml-valid.html#xmlValidStatePtr">xmlValidStatePtr</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
-<a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateElement">xmlValidateElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
-<a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
-<a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
-<a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
-<a href="html/libxml-valid.html#xmlValidateNameValue">xmlValidateNameValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNamesValue">xmlValidateNamesValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
-<a href="html/libxml-valid.html#xmlValidateNotationUse">xmlValidateNotationUse</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-<a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</a><br />
-<a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-<a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
-<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</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#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</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 />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxis">xmlXPathAxis</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisPtr">xmlXPathAxisPtr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastBooleanToNumber">xmlXPathCastBooleanToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToNumber">xmlXPathCastNodeSetToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastStringToBoolean">xmlXPathCastStringToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToNumber">xmlXPathCastToNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToString">xmlXPathCastToString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCmpNodes">xmlXPathCmpNodes</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathConcatFunction">xmlXPathConcatFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathContainsFunction">xmlXPathContainsFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContext">xmlXPathContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertNumber">xmlXPathConvertNumber</a><br />
-<a href="html/libxml-xpath.html#xmlXPathConvertString">xmlXPathConvertString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathCountFunction">xmlXPathCountFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathErr">xmlXPathErr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathError">xmlXPathError</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvalExpr">xmlXPathEvalExpr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalFunc">xmlXPathEvalFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFalseFunction">xmlXPathFalseFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFuncPtr">xmlXPathFuncPtr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFunct">xmlXPathFunct</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathGetContextNode">xmlXPathGetContextNode</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathGetDocument">xmlXPathGetDocument</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathGetError">xmlXPathGetError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathInit">xmlXPathInit</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIsNodeType">xmlXPathIsNodeType</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLastFunction">xmlXPathLastFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNAN">xmlXPathNAN</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNINF">xmlXPathNINF</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</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-xpath.html#xmlXPathNewContext">xmlXPathNewContext</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#xmlXPathNewParserContext">xmlXPathNewParserContext</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#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextChild">xmlXPathNextChild</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextParent">xmlXPathNextParent</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetContains">xmlXPathNodeSetContains</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-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNotFunction">xmlXPathNotFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNsLookup">xmlXPathNsLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNumberFunction">xmlXPathNumberFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathObject">xmlXPathObject</a><br />
-<a href="html/libxml-xpath.html#xmlXPathObjectCopy">xmlXPathObjectCopy</a><br />
-<a href="html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a><br />
-<a href="html/libxml-xpath.html#xmlXPathObjectType">xmlXPathObjectType</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-<a href="html/libxml-xpath.html#xmlXPathPINF">xmlXPathPINF</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathParseName">xmlXPathParseName</a><br />
-<a href="html/libxml-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a><br />
-<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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathPositionFunction">xmlXPathPositionFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnExternal">xmlXPathReturnExternal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnFalse">xmlXPathReturnFalse</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a><br />
-<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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoot">xmlXPathRoot</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSetArityError">xmlXPathSetArityError</a><br />
-<a href="html/libxml-xpath.html#xmlXPathSetContextNode">xmlXPathSetContextNode</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSetError">xmlXPathSetError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSetTypeError">xmlXPathSetTypeError</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathSumFunction">xmlXPathSumFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathTrueFunction">xmlXPathTrueFunction</a><br />
-<a href="html/libxml-xpath.html#xmlXPathType">xmlXPathType</a><br />
-<a href="html/libxml-xpath.html#xmlXPathTypePtr">xmlXPathTypePtr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariable">xmlXPathVariable</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
-<a href="html/libxml-xpath.html#xmlXPathVariablePtr">xmlXPathVariablePtr</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapCString">xmlXPathWrapCString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapExternal">xmlXPathWrapExternal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapString">xmlXPathWrapString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPatherror">xmlXPatherror</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</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#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</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#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a><br />
-</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/DOM.fig b/doc/DOM.fig
deleted file mode 100644
index 7a48a32..0000000
--- a/doc/DOM.fig
+++ /dev/null
@@ -1,64 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter  
-100.00
-Single
--2
-1200 2
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 825 1125 2625 1125 2625 3375 825 3375 825 1125
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 4125 1125 5925 1125 5925 3375 4125 3375 4125 1125
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
-	 2025 3075 2025 1650 1050 1650 1050 3075 2025 3075
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 1425 1875 1575 1875 1575 2025 1425 2025 1425 1875
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 1200 2175 1350 2175 1350 2325 1200 2325 1200 2175
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 1500 2175 1650 2175 1650 2325 1500 2325 1500 2175
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 1800 2175 1950 2175 1950 2325 1800 2325 1800 2175
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 1500 2475 1650 2475 1650 2625 1500 2625 1500 2475
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 1725 2700 1875 2700 1875 2850 1725 2850 1725 2700
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 1275 2700 1425 2700 1425 2850 1275 2850 1275 2700
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1500 2025 1350 2175
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1500 2025 1575 2175
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1500 2025 1875 2175
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1575 2325 1575 2475
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1650 2625 1725 2700
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1500 2625 1425 2700
-2 3 0 2 0 7 0 0 -1 6.000 0 0 -1 0 0 5
-	 2550 1725 2175 1950 2175 2850 2550 3075 2550 1725
-2 3 0 2 0 7 0 0 -1 6.000 0 0 -1 0 0 5
-	 4575 1725 4200 1950 4200 2850 4575 3075 4575 1725
-2 2 0 1 0 7 0 0 -1 4.000 0 0 -1 0 0 5
-	 2700 2025 4050 2025 4050 2775 2700 2775 2700 2025
-2 1 0 2 0 7 0 0 -1 6.000 0 0 -1 0 0 2
-	 5025 2025 4575 2175
-2 1 1 2 0 7 0 0 -1 6.000 0 0 -1 1 0 3
-	1 1 2.00 120.00 240.00
-	 4575 2175 4200 2250 2025 2250
-2 1 1 2 0 7 0 0 -1 6.000 0 0 -1 0 0 3
-	 2025 2475 4200 2475 4575 2550
-2 1 0 2 0 7 0 0 -1 6.000 0 0 -1 1 0 2
-	1 1 2.00 120.00 240.00
-	 4575 2550 5025 2625
-4 0 0 0 0 0 18 0.0000 4 255 1155 1050 825 Program 1\001
-4 0 0 0 0 0 18 0.0000 4 255 1155 4425 900 Program 2\001
-4 0 0 0 0 0 18 0.0000 4 195 585 1350 1500 XML\001
-4 0 0 0 0 0 18 0.0000 4 195 975 3000 3075 CORBA\001
-4 0 0 0 0 0 18 0.0000 4 195 735 3000 3375 ORBit\001
-4 0 0 0 0 0 18 0.0000 4 195 1395 2175 1575 DOM server\001
-4 0 0 0 0 0 18 0.0000 4 195 1335 4200 1650 DOM client\001
diff --git a/doc/DOM.gif b/doc/DOM.gif
deleted file mode 100644
index a44882f..0000000
--- a/doc/DOM.gif
+++ /dev/null
Binary files differ
diff --git a/doc/DOM.html b/doc/DOM.html
deleted file mode 100644
index ce5864e..0000000
--- a/doc/DOM.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>DOM Principles</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>DOM Principles</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p><a href="http://www.w3.org/DOM/">DOM</a> stands for the <em>Document
-Object Model</em>; this is an API for accessing XML or HTML structured
-documents. Native support for DOM in Gnome is on the way (module gnome-dom),
-and will be based on gnome-xml. This will be a far cleaner interface to
-manipulate XML files within Gnome since it won't expose the internal
-structure.</p><p>The current DOM implementation on top of libxml2 is the <a href="http://svn.gnome.org/viewvc/gdome2/trunk/">gdome2 Gnome module</a>, this
-is a full DOM interface, thanks to Paolo Casarini, check the <a href="http://gdome2.cs.unibo.it/">Gdome2 homepage</a> for more
-information.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/FAQ.html b/doc/FAQ.html
deleted file mode 100644
index 0667271..0000000
--- a/doc/FAQ.html
+++ /dev/null
@@ -1,297 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>FAQ</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>FAQ</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Contents:</p><ul>
-  <li><a href="FAQ.html#License">License(s)</a></li>
-  <li><a href="FAQ.html#Installati">Installation</a></li>
-  <li><a href="FAQ.html#Compilatio">Compilation</a></li>
-  <li><a href="FAQ.html#Developer">Developer corner</a></li>
-</ul><h3><a name="License" id="License">License</a>(s)</h3><ol>
-  <li><em>Licensing Terms for libxml</em>
-    <p>libxml2 is released under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
-    License</a>; see the file Copyright in the distribution for the precise
-    wording</p>
-  </li>
-  <li><em>Can I embed libxml2 in a proprietary application ?</em>
-    <p>Yes. The MIT License allows you to keep proprietary the changes you
-    made to libxml, but it would be graceful to send-back bug fixes and
-    improvements as patches for possible incorporation in the main
-    development tree.</p>
-  </li>
-</ol><h3><a name="Installati" id="Installati">Installation</a></h3><ol>
-  <li><strong><span style="background-color: #FF0000">Do Not Use
-    libxml1</span></strong>, use libxml2<p></p></li>
-  <li><em>Where can I get libxml</em> ?
-    <p>The original distribution comes from <a href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> or <a href="ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/">gnome.org</a></p>
-    <p>Most Linux and BSD distributions include libxml, this is probably the
-    safer way for end-users to use libxml.</p>
-    <p>David Doolin provides precompiled Windows versions at <a href="http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/         ">http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/</a></p>
-  </li>
-  <li><em>I see libxml and libxml2 releases, which one should I install ?</em>
-    <ul>
-      <li>If you are not constrained by backward compatibility issues with
-        existing applications, install libxml2 only</li>
-      <li>If you are not doing development, you can safely install both.
-        Usually the packages <a href="http://rpmfind.net/linux/RPM/libxml.html">libxml</a> and <a href="http://rpmfind.net/linux/RPM/libxml2.html">libxml2</a> are
-        compatible (this is not the case for development packages).</li>
-      <li>If you are a developer and your system provides separate packaging
-        for shared libraries and the development components, it is possible
-        to install libxml and libxml2, and also <a href="http://rpmfind.net/linux/RPM/libxml-devel.html">libxml-devel</a>
-        and <a href="http://rpmfind.net/linux/RPM/libxml2-devel.html">libxml2-devel</a>
-        too for libxml2 &gt;= 2.3.0</li>
-      <li>If you are developing a new application, please develop against
-        libxml2(-devel)</li>
-    </ul>
-    <p></p>
-  </li>
-  <li><em>I can't install the libxml package, it conflicts with libxml0</em>
-    <p>You probably have an old libxml0 package used to provide the shared
-    library for libxml.so.0, you can probably safely remove it. The libxml
-    packages provided on <a href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> provide
-    libxml.so.0</p>
-  </li>
-  <li><em>I can't install the libxml(2) RPM package due to failed
-    dependencies</em>
-    <p>The most generic solution is to re-fetch the latest src.rpm , and
-    rebuild it locally with</p>
-    <p><code>rpm --rebuild libxml(2)-xxx.src.rpm</code>.</p>
-    <p>If everything goes well it will generate two binary rpm packages (one
-    providing the shared libs and xmllint, and the other one, the -devel
-    package, providing includes, static libraries and scripts needed to build
-    applications with libxml(2)) that you can install locally.</p>
-  </li>
-</ol><h3><a name="Compilatio" id="Compilatio">Compilation</a></h3><ol>
-  <li><em>What is the process to compile libxml2 ?</em>
-    <p>As most UNIX libraries libxml2 follows the "standard":</p>
-    <p><code>gunzip -c xxx.tar.gz | tar xvf -</code></p>
-    <p><code>cd libxml-xxxx</code></p>
-    <p><code>./configure --help</code></p>
-    <p>to see the options, then the compilation/installation proper</p>
-    <p><code>./configure [possible options]</code></p>
-    <p><code>make</code></p>
-    <p><code>make install</code></p>
-    <p>At that point you may have to rerun ldconfig or a similar utility to
-    update your list of installed shared libs.</p>
-  </li>
-  <li><em>What other libraries are needed to compile/install libxml2 ?</em>
-    <p>Libxml2 does not require any other library, the normal C ANSI API
-    should be sufficient (please report any violation to this rule you may
-    find).</p>
-    <p>However if found at configuration time libxml2 will detect and use the
-    following libs:</p>
-    <ul>
-      <li><a href="http://www.info-zip.org/pub/infozip/zlib/">libz</a> : a
-        highly portable and available widely compression library.</li>
-      <li>iconv: a powerful character encoding conversion library. It is
-        included by default in recent glibc libraries, so it doesn't need to
-        be installed specifically on Linux. It now seems a <a href="http://www.opennc.org/onlinepubs/7908799/xsh/iconv.html">part
-        of the official UNIX</a> specification. Here is one <a href="http://www.gnu.org/software/libiconv/">implementation of the
-        library</a> which source can be found <a href="ftp://ftp.ilog.fr/pub/Users/haible/gnu/">here</a>.</li>
-    </ul>
-    <p></p>
-  </li>
-  <li><em>Make check fails on some platforms</em>
-    <p>Sometimes the regression tests' results don't completely match the
-    value produced by the parser, and the makefile uses diff to print the
-    delta. On some platforms the diff return breaks the compilation process;
-    if the diff is small this is probably not a serious problem.</p>
-    <p>Sometimes (especially on Solaris) make checks fail due to limitations
-    in make. Try using GNU-make instead.</p>
-  </li>
-  <li><em>I use the SVN version and there is no configure script</em>
-    <p>The configure script (and other Makefiles) are generated. Use the
-    autogen.sh script to regenerate the configure script and Makefiles,
-    like:</p>
-    <p><code>./autogen.sh --prefix=/usr --disable-shared</code></p>
-  </li>
-  <li><em>I have troubles when running make tests with gcc-3.0</em>
-    <p>It seems the initial release of gcc-3.0 has a problem with the
-    optimizer which miscompiles the URI module. Please use another
-    compiler.</p>
-  </li>
-</ol><h3><a name="Developer" id="Developer">Developer</a> corner</h3><ol>
-  <li><em>Troubles compiling or linking programs using libxml2</em>
-    <p>Usually the problem comes from the fact that the compiler doesn't get
-    the right compilation or linking flags. There is a small shell script
-    <code>xml2-config</code> which is installed as part of libxml2 usual
-    install process which provides those flags. Use</p>
-    <p><code>xml2-config --cflags</code></p>
-    <p>to get the compilation flags and</p>
-    <p><code>xml2-config --libs</code></p>
-    <p>to get the linker flags. Usually this is done directly from the
-    Makefile as:</p>
-    <p><code>CFLAGS=`xml2-config --cflags`</code></p>
-    <p><code>LIBS=`xml2-config --libs`</code></p>
-  </li>
-  <li><em>I want to install my own copy of libxml2 in my home directory and
-    link my programs against it, but it doesn't work</em>
-    <p>There are many different ways to accomplish this.  Here is one way to
-    do this under Linux.  Suppose your home directory is <code>/home/user.
-    </code>Then:</p>
-    <ul>
-      <li>Create a subdirectory, let's call it <code>myxml</code></li>
-      <li>unpack the libxml2 distribution into that subdirectory</li>
-      <li>chdir into the unpacked distribution
-        (<code>/home/user/myxml/libxml2 </code>)</li>
-      <li>configure the library using the "<code>--prefix</code>" switch,
-        specifying an installation subdirectory in
-        <code>/home/user/myxml</code>, e.g.
-        <p><code>./configure --prefix /home/user/myxml/xmlinst</code> {other
-        configuration options}</p>
-      </li>
-      <li>now run <code>make</code> followed by <code>make install</code></li>
-      <li>At this point, the installation subdirectory contains the complete
-        "private" include files, library files and binary program files (e.g.
-        xmllint), located in
-        <p><code>/home/user/myxml/xmlinst/lib,
-        /home/user/myxml/xmlinst/include </code> and <code>
-        /home/user/myxml/xmlinst/bin</code></p>
-        respectively.</li>
-      <li>In order to use this "private" library, you should first add it to
-        the beginning of your default PATH (so that your own private program
-        files such as xmllint will be used instead of the normal system
-        ones).  To do this, the Bash command would be
-        <p><code>export PATH=/home/user/myxml/xmlinst/bin:$PATH</code></p>
-      </li>
-      <li>Now suppose you have a program <code>test1.c</code> that you would
-        like to compile with your "private" library.  Simply compile it using
-        the command
-        <p><code>gcc `xml2-config --cflags --libs` -o test test.c</code></p>
-        Note that, because your PATH has been set with <code>
-        /home/user/myxml/xmlinst/bin</code> at the beginning, the xml2-config
-        program which you just installed will be used instead of the system
-        default one, and this will <em>automatically</em> get the correct
-        libraries linked with your program.</li>
-    </ul>
-    <p></p>
-  </li>
-  <li><em>xmlDocDump() generates output on one line.</em>
-    <p>Libxml2 will not <strong>invent</strong> spaces in the content of a
-    document since <strong>all spaces in the content of a document are
-    significant</strong>. If you build a tree from the API and want
-    indentation:</p>
-    <ol>
-      <li>the correct way is to generate those yourself too.</li>
-      <li>the dangerous way is to ask libxml2 to add those blanks to your
-        content <strong>modifying the content of your document in the
-        process</strong>. The result may not be what you expect. There is
-        <strong>NO</strong> way to guarantee that such a modification won't
-        affect other parts of the content of your document. See <a href="http://xmlsoft.org/html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault
-        ()</a> and <a href="http://xmlsoft.org/html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile
-        ()</a></li>
-    </ol>
-    <p></p>
-  </li>
-  <li><em>Extra nodes in the document:</em>
-    <p><em>For an XML file as below:</em></p>
-    <pre>&lt;?xml version="1.0"?&gt;
-&lt;PLAN xmlns="http://www.argus.ca/autotest/1.0/"&gt;
-&lt;NODE CommFlag="0"/&gt;
-&lt;NODE CommFlag="1"/&gt;
-&lt;/PLAN&gt;</pre>
-    <p><em>after parsing it with the function
-    pxmlDoc=xmlParseFile(...);</em></p>
-    <p><em>I want to the get the content of the first node (node with the
-    CommFlag="0")</em></p>
-    <p><em>so I did it as following;</em></p>
-    <pre>xmlNodePtr pnode;
-pnode=pxmlDoc-&gt;children-&gt;children;</pre>
-    <p><em>but it does not work. If I change it to</em></p>
-    <pre>pnode=pxmlDoc-&gt;children-&gt;children-&gt;next;</pre>
-    <p><em>then it works.  Can someone explain it to me.</em></p>
-    <p></p>
-    <p>In XML all characters in the content of the document are significant
-    <strong>including blanks and formatting line breaks</strong>.</p>
-    <p>The extra nodes you are wondering about are just that, text nodes with
-    the formatting spaces which are part of the document but that people tend
-    to forget. There is a function <a href="http://xmlsoft.org/html/libxml-parser.html">xmlKeepBlanksDefault
-    ()</a>  to remove those at parse time, but that's an heuristic, and its
-    use should be limited to cases where you are certain there is no
-    mixed-content in the document.</p>
-  </li>
-  <li><em>I get compilation errors of existing code like when accessing
-    <strong>root</strong> or <strong>child fields</strong> of nodes.</em>
-    <p>You are compiling code developed for libxml version 1 and using a
-    libxml2 development environment. Either switch back to libxml v1 devel or
-    even better fix the code to compile with libxml2 (or both) by <a href="upgrade.html">following the instructions</a>.</p>
-  </li>
-  <li><em>I get compilation errors about non existing
-    <strong>xmlRootNode</strong> or <strong>xmlChildrenNode</strong>
-    fields.</em>
-    <p>The source code you are using has been <a href="upgrade.html">upgraded</a> to be able to compile with both libxml
-    and libxml2, but you need to install a more recent version:
-    libxml(-devel) &gt;= 1.8.8 or libxml2(-devel) &gt;= 2.1.0</p>
-  </li>
-  <li><em>Random crashes in threaded applications</em>
-    <p>Read and follow all advices on the <a href="threads.html">thread
-    safety</a> page, and make 100% sure you never call xmlCleanupParser()
-    while the library or an XML document might still be in use by another
-    thread.</p>
-  </li>
-  <li><em>The example provided in the web page does not compile.</em>
-    <p>It's hard to maintain the documentation in sync with the code
-    &lt;grin/&gt; ...</p>
-    <p>Check the previous points 1/ and 2/ raised before, and please send
-    patches.</p>
-  </li>
-  <li><em>Where can I get more examples and information than provided on the
-    web page?</em>
-    <p>Ideally a libxml2 book would be nice. I have no such plan ... But you
-    can:</p>
-    <ul>
-      <li>check more deeply the <a href="html/libxml-lib.html">existing
-        generated doc</a></li>
-      <li>have a look at <a href="examples/index.html">the set of
-        examples</a>.</li>
-      <li>look for examples of use for libxml2 function using the Gnome code
-          or by asking on Google.</li>
-      <li><a href="http://svn.gnome.org/viewvc/libxml2/trunk/">Browse
-        the libxml2 source</a> , I try to write code as clean and documented
-        as possible, so looking at it may be helpful. In particular the code
-        of <a href="http://svn.gnome.org/viewvc/libxml2/trunk/xmllint.c?view=markup">xmllint.c</a> and of the various testXXX.c test programs should
-        provide good examples of how to do things with the library.</li>
-    </ul>
-    <p></p>
-  </li>
-  <li><em>What about C++ ?</em>
-    <p>libxml2 is written in pure C in order to allow easy reuse on a number
-    of platforms, including embedded systems. I don't intend to convert to
-    C++.</p>
-    <p>There is however a C++ wrapper which may fulfill your needs:</p>
-    <ul>
-      <li>by Ari Johnson &lt;ari@btigate.com&gt;:
-        <p>Website: <a href="https://libxmlplusplus.github.io/libxmlplusplus/">https://libxmlplusplus.github.io/libxmlplusplus/</a></p>
-        <p>Download: <a href="https://download.gnome.org/sources/libxml++/">https://download.gnome.org/sources/libxml++/</a></p>
-      </li>
-    </ul>
-  </li>
-  <li><em>How to validate a document a posteriori ?</em>
-    <p>It is possible to validate documents which had not been validated at
-    initial parsing time or documents which have been built from scratch
-    using the API. Use the <a href="http://xmlsoft.org/html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd()</a>
-    function. It is also possible to simply add a DTD to an existing
-    document:</p>
-    <pre>xmlDocPtr doc; /* your existing document */
-xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */
-
-        dtd-&gt;name = xmlStrDup((xmlChar*)"root_name"); /* use the given root */
-
-        doc-&gt;intSubset = dtd;
-        if (doc-&gt;children == NULL) xmlAddChild((xmlNodePtr)doc, (xmlNodePtr)dtd);
-        else xmlAddPrevSibling(doc-&gt;children, (xmlNodePtr)dtd);
-          </pre>
-  </li>
-  <li><em>So what is this funky "xmlChar" used all the time?</em>
-    <p>It is a null terminated sequence of utf-8 characters. And only utf-8!
-    You need to convert strings encoded in different ways to utf-8 before
-    passing them to the API.  This can be accomplished with the iconv library
-    for instance.</p>
-  </li>
-  <li>etc ...</li>
-</ol><p></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/Libxml2-Logo-180x168.gif b/doc/Libxml2-Logo-180x168.gif
deleted file mode 100644
index ebded4f..0000000
--- a/doc/Libxml2-Logo-180x168.gif
+++ /dev/null
Binary files differ
diff --git a/doc/Libxml2-Logo-90x34.gif b/doc/Libxml2-Logo-90x34.gif
deleted file mode 100644
index b96fff0..0000000
--- a/doc/Libxml2-Logo-90x34.gif
+++ /dev/null
Binary files differ
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 6caa861..5f16fca 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,171 +1,7 @@
 ## Process this file with automake to produce Makefile.in
 SUBDIRS = . devhelp examples
 
-# The top-level SGML file.
-DOC_MAIN_XML_FILE=gnome-xml.xml
-
-# The directory containing the source code (if it contains documentation).
-DOC_SOURCE_DIR=..
-
-# A file in win32 depends upon one of the doc files
-WIN32_DIR=$(top_srcdir)/win32
-
-PAGES= architecture.html bugs.html contribs.html docs.html DOM.html \
-    downloads.html entities.html example.html help.html index.html \
-    interface.html intro.html library.html namespaces.html news.html \
-    tree.html xmldtd.html XMLinfo.html XSLT.html
-APIPAGES=APIconstructors.html APIfiles.html APIfunctions.html \
-    APIsymbols.html APIchunk0.html
-
-if REBUILD_DOCS
-EXTRA_DIST_wc = xmlcatalog_man.xml $(wildcard tutorial/*.html) \
-    $(wildcard tutorial/*.c) $(wildcard tutorial/*.pdf) \
-    $(wildcard tutorial/images/*.png) \
-    $(wildcard tutorial/images/callouts/*.png) $(wildcard API*.html) \
-    $(wildcard *.1) $(wildcard *.xsl) $(wildcard *.html) \
-    $(wildcard *.gif) w3c.png $(wildcard html/*.html) \
-    $(wildcard html/*.png) libxml2-api.xml index.py search.php \
-    apibuild.py libxml2.xsa xmllint.xml xmlcatalog_man.xml \
-    symbols.xml
-endif
-
-# Expanded form of EXTRA_DIST_wc
-#
-EXTRA_DIST = \
-	APIchunk0.html \
-	APIchunk1.html \
-	APIchunk2.html \
-	APIchunk3.html \
-	APIchunk4.html \
-	APIchunk5.html \
-	APIchunk6.html \
-	APIchunk7.html \
-	APIchunk8.html \
-	APIchunk9.html \
-	APIchunk10.html \
-	APIchunk11.html \
-	APIchunk12.html \
-	APIchunk13.html \
-	APIchunk14.html \
-	APIchunk15.html \
-	APIchunk16.html \
-	APIchunk17.html \
-	APIchunk18.html \
-	APIchunk19.html \
-	APIchunk20.html \
-	APIchunk21.html \
-	APIchunk22.html \
-	APIchunk23.html \
-	APIchunk24.html \
-	APIchunk25.html \
-	APIchunk26.html \
-	APIchunk27.html \
-	APIchunk28.html \
-	APIchunk29.html \
-	APIconstructors.html \
-	APIfiles.html \
-	APIfunctions.html \
-	APIsymbols.html \
-	DOM.gif \
-	DOM.html \
-	FAQ.html \
-	Libxml2-Logo-180x168.gif \
-	Libxml2-Logo-90x34.gif \
-	XMLinfo.html \
-	XSLT.html \
-	api.xsl \
-	apibuild.py \
-	architecture.html \
-	bugs.html \
-	catalog.gif \
-	catalog.html \
-	checkapisym.xsl \
-	contribs.html \
-	docs.html \
-	downloads.html \
-	encoding.html \
-	entities.html \
-	example.html \
-	guidelines.html \
-	help.html \
-	html/book1.html \
-	html/home.png \
-	html/index.html \
-	html/left.png \
-	html/libxml-DOCBparser.html \
-	html/libxml-HTMLparser.html \
-	html/libxml-HTMLtree.html \
-	html/libxml-SAX.html \
-	html/libxml-SAX2.html \
-	html/libxml-c14n.html \
-	html/libxml-catalog.html \
-	html/libxml-chvalid.html \
-	html/libxml-debugXML.html \
-	html/libxml-dict.html \
-	html/libxml-encoding.html \
-	html/libxml-entities.html \
-	html/libxml-globals.html \
-	html/libxml-hash.html \
-	html/libxml-lib.html \
-	html/libxml-list.html \
-	html/libxml-nanoftp.html \
-	html/libxml-nanohttp.html \
-	html/libxml-parser.html \
-	html/libxml-parserInternals.html \
-	html/libxml-pattern.html \
-	html/libxml-relaxng.html \
-	html/libxml-schemasInternals.html \
-	html/libxml-schematron.html \
-	html/libxml-threads.html \
-	html/libxml-tree.html \
-	html/libxml-uri.html \
-	html/libxml-valid.html \
-	html/libxml-xinclude.html \
-	html/libxml-xlink.html \
-	html/libxml-xmlIO.html \
-	html/libxml-xmlautomata.html \
-	html/libxml-xmlerror.html \
-	html/libxml-xmlexports.html \
-	html/libxml-xmlmemory.html \
-	html/libxml-xmlmodule.html \
-	html/libxml-xmlreader.html \
-	html/libxml-xmlregexp.html \
-	html/libxml-xmlsave.html \
-	html/libxml-xmlschemas.html \
-	html/libxml-xmlschemastypes.html \
-	html/libxml-xmlstring.html \
-	html/libxml-xmlunicode.html \
-	html/libxml-xmlversion.html \
-	html/libxml-xmlwriter.html \
-	html/libxml-xpath.html \
-	html/libxml-xpathInternals.html \
-	html/libxml-xpointer.html \
-	html/right.png \
-	html/up.png \
-	index.html \
-	index.py \
-	interface.html \
-	intro.html \
-	library.html \
-	libxml.gif \
-	libxml2-api.xml \
-	libxml2.xsa \
-	namespaces.html \
-	newapi.xsl \
-	news.html \
-	news.xsl \
-	python.html \
-	redhat.gif \
-	search.php \
-	searches.html \
-	searches.xsl \
-	site.xsl \
-	smallfootonly.gif \
-	structure.gif \
-	symbols.xml \
-	syms.xsl \
-	threads.html \
-	tree.html \
+nobase_dist_doc_DATA = \
 	tutorial/apa.html \
 	tutorial/apb.html \
 	tutorial/apc.html \
@@ -215,129 +51,27 @@
 	tutorial/includexpath.c \
 	tutorial/index.html \
 	tutorial/ix01.html \
-	upgrade.html \
-	w3c.png \
-	wiki.xsl \
-	xml.html \
-	xmlcatalog.1 \
-	xmlcatalog_man.html \
-	xmlcatalog_man.xml \
-	xmldtd.html \
-	xmlio.html \
-	xmllint.1 \
-	xmllint.html \
-	xmllint.xml \
-	xmlmem.html \
-	xmlreader.html \
-	xsa.xsl
+	xmlcatalog.html \
+	xmllint.html
 
-man_MANS = xmllint.1 xmlcatalog.1
+dist_man_MANS = xml2-config.1 xmllint.1 xmlcatalog.1
 
-if REBUILD_DOCS
-docs: web $(top_builddir)/NEWS libxml2.xsa $(man_MANS)
+EXTRA_DIST = \
+	apibuild.py \
+	libxml2-api.xml \
+	xmlcatalog.xml \
+	xmllint.xml
 
-api: libxml2-api.xml libxml2-refs.xml $(APIPAGES) $(srcdir)/html/index.html $(WIN32_DIR)/libxml2.def.src $(srcdir)/site.xsl
+DOCBOOK_HTML = http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl
 
-web: $(PAGES) xmllint.html xmlcatalog_man.html
+rebuild:
+	cd $(srcdir) && ./apibuild.py
+	cd $(srcdir) && $(XSLTPROC) --nonet xmllint.xml
+	cd $(srcdir) && $(XSLTPROC) --nonet -o xmllint.html $(DOCBOOK_HTML) xmllint.xml
+	cd $(srcdir) && $(XSLTPROC) --nonet xmlcatalog.xml
+	cd $(srcdir) && $(XSLTPROC) --nonet -o xmlcatalog.html $(DOCBOOK_HTML) xmlcatalog.xml
+	cd devhelp && $(MAKE) rebuild
+	cd examples && $(MAKE) rebuild
+	cd .. && $(MAKE) rebuild_testapi
 
-$(PAGES): xml.html $(srcdir)/site.xsl
-	-@(if [ -x $(XSLTPROC) ] ; then \
-	  echo "Rebuilding the HTML Web pages from xml.html" ; \
-	  $(XSLTPROC) --nonet --html --path $(srcdir) $(srcdir)/site.xsl $(srcdir)/xml.html > index.html ; fi );
-	-@(if [ -x $(XMLLINT) ] ; then \
-	  echo "Validating the HTML Web pages" ; \
-	  $(XMLLINT) --nonet --valid --noout $(PAGES) ; fi );
-
-$(top_builddir)/NEWS: $(srcdir)/news.xsl $(srcdir)/news.html
-	-@(if [ -x $(XSLTPROC) ] ; then \
-	  $(XSLTPROC) --nonet $(srcdir)/news.xsl $(srcdir)/news.html > $(top_builddir)/NEWS ; fi );
-
-libxml2.xsa: $(srcdir)/xsa.xsl $(srcdir)/news.html
-	-@(if [ -x $(XSLTPROC) ] ; then \
-	  echo "Rebuilding the NEWS file" ; \
-	  $(XSLTPROC) --nonet $(srcdir)/xsa.xsl $(srcdir)/news.html > libxml2.xsa ; fi );
-
-$(APIPAGES): libxml2-api.xml libxml2-refs.xml $(srcdir)/site.xsl $(srcdir)/api.xsl
-	-@(if [ -x $(XSLTPROC) ] ; then \
-	  echo "Rebuilding the HTML API pages from libxml2-refs.xml" ; \
-	  $(XSLTPROC) --nonet --html $(srcdir)/api.xsl \
-	                     $(srcdir)/xml.html ; fi );
-	-@(if [ -x $(XMLLINT) ] ; then \
-	  echo "Validating the HTML API pages" ; \
-	  $(XMLLINT) --nonet --valid --noout API*.html ; fi );
-
-$(srcdir)/html/index.html: libxml2-api.xml $(srcdir)/newapi.xsl
-	-@(if [ -x $(XSLTPROC) ] ; then \
-	  echo "Rebuilding the HTML pages from the XML API" ; \
-	  $(XSLTPROC) --nonet $(srcdir)/newapi.xsl $(srcdir)/libxml2-api.xml ; fi )
-	-@(if [ -x $(XMLLINT) ] ; then \
-	  echo "Validating the resulting XHTML pages" ; \
-	  $(XMLLINT) --nonet --valid --noout html/*.html ; fi );
-
-wiki: libxml2-api.xml $(srcdir)/wiki.xsl
-	-@(if [ -x $(XSLTPROC) ] ; then \
-		echo "Rebuilding the wiki HTML pages from the XML API" ; \
-		$(XSLTPROC) --nonet $(srcdir)/wiki.xsl $(srcdir)/libxml2-api.xml; fi )
-
-$(WIN32_DIR)/libxml2.def.src: libxml2-api.xml
-	-@(if [ -x $(XSLTPROC) ] ; then \
-	  $(XSLTPROC) -o $(WIN32_DIR)/libxml2.def.src \
-	  --nonet $(WIN32_DIR)/defgen.xsl libxml2-api.xml ; fi )
-
-source_file_deps = \
-	$(filter-out %/xmlversion.h, $(wildcard $(top_srcdir)/include/libxml/*.h)) \
-	$(top_srcdir)/include/libxml/xmlversion.h.in \
-	$(wildcard $(top_srcdir)/*.c)
-
-libxml2-api.xml libxml2-refs.xml ../libxml2.syms: apibuild.py symbols.xml syms.xsl checkapisym.xsl $(source_file_deps)
-	test -f $(top_srcdir)/include/libxml/xmlversion.h
-	(cd $(srcdir) && ./apibuild.py)
-	($(XSLTPROC) $(srcdir)/checkapisym.xsl $(srcdir)/libxml2-api.xml)
-	($(XSLTPROC) -o ../libxml2.syms $(srcdir)/syms.xsl $(srcdir)/symbols.xml)
-	-@(cd .. ; $(MAKE) rebuild_testapi)
-
-
-xmllint.1: xmllint.xml
-	-@($(XSLTPROC) --nonet xmllint.xml)
-
-xmllint.html: xmllint.xml
-	-@($(XSLTPROC) --nonet -o $@ http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl xmllint.xml)
-
-xmlcatalog.1: xmlcatalog_man.xml
-	-@($(XSLTPROC) --nonet xmlcatalog_man.xml)
-
-xmlcatalog_man.html: xmlcatalog_man.xml
-	-@($(XSLTPROC) --nonet -o $@ http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl xmlcatalog_man.xml)
-
-check-extra-dist:
-	for f in $(EXTRA_DIST_wc) ; do echo $$f; done | sort -u >tmp.EXTRA_DIST_wc
-	for f in $(EXTRA_DIST) ;    do echo $$f; done | sort    >tmp.EXTRA_DIST
-	diff -u tmp.EXTRA_DIST_wc tmp.EXTRA_DIST
-	rm -f tmp.EXTRA_DIST_wc tmp.EXTRA_DIST
-endif
-
-clean-local:
-	rm -f *~ *.bak *.hierarchy *.signals *-unused.txt
-
-maintainer-clean-local: clean-local
-	rm -rf libxml-decl-list.txt libxml-decl.txt 
-
-rebuild: api docs
-
-install-data-local: 
-	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)
-	-$(INSTALL) -m 0644 $(srcdir)/xml.html $(srcdir)/encoding.html $(srcdir)/FAQ.html $(srcdir)/structure.gif $(srcdir)/DOM.gif $(srcdir)/smallfootonly.gif $(srcdir)/redhat.gif $(srcdir)/libxml.gif $(srcdir)/w3c.png $(srcdir)/Libxml2-Logo-180x168.gif $(srcdir)/Libxml2-Logo-90x34.gif $(DESTDIR)$(HTML_DIR)
-	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)/html
-	-$(INSTALL) -m 0644 $(srcdir)/html/*.html $(DESTDIR)$(HTML_DIR)/html
-	-$(INSTALL) -m 0644 $(srcdir)/html/*.png $(DESTDIR)$(HTML_DIR)/html
-	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)/tutorial
-	-$(INSTALL) -m 0644 $(srcdir)/tutorial/*.* \
-		$(DESTDIR)$(HTML_DIR)/tutorial
-	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)/tutorial/images
-	-$(INSTALL) -m 0644 $(srcdir)/tutorial/images/*.* \
-		$(DESTDIR)$(HTML_DIR)/tutorial/images
-	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)/tutorial/images/callouts
-	-$(INSTALL) -m 0644 $(srcdir)/tutorial/images/callouts/*.* \
-		$(DESTDIR)$(HTML_DIR)/tutorial/images/callouts
-
-.PHONY: docs api web wiki rebuild
+.PHONY: rebuild
diff --git a/doc/XMLinfo.html b/doc/XMLinfo.html
deleted file mode 100644
index 90ab7df..0000000
--- a/doc/XMLinfo.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>XML</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>XML</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p><a href="http://www.w3.org/TR/REC-xml">XML is a standard</a> for
-markup-based structured documents. Here is <a name="example" id="example">an example XML
-document</a>:</p><pre>&lt;?xml version="1.0"?&gt;
-&lt;EXAMPLE prop1="gnome is great" prop2="&amp;amp; linux too"&gt;
-  &lt;head&gt;
-   &lt;title&gt;Welcome to Gnome&lt;/title&gt;
-  &lt;/head&gt;
-  &lt;chapter&gt;
-   &lt;title&gt;The Linux adventure&lt;/title&gt;
-   &lt;p&gt;bla bla bla ...&lt;/p&gt;
-   &lt;image href="linus.gif"/&gt;
-   &lt;p&gt;...&lt;/p&gt;
-  &lt;/chapter&gt;
-&lt;/EXAMPLE&gt;</pre><p>The first line specifies that it is an XML document and gives useful
-information about its encoding.  Then the rest of the document is a text
-format whose structure is specified by tags between brackets. <strong>Each
-tag opened has to be closed</strong>. XML is pedantic about this. However, if
-a tag is empty (no content), a single tag can serve as both the opening and
-closing tag if it ends with <code>/&gt;</code> rather than with
-<code>&gt;</code>. Note that, for example, the image tag has no content (just
-an attribute) and is closed by ending the tag with <code>/&gt;</code>.</p><p>XML can be applied successfully to a wide range of tasks, ranging from
-long term structured document maintenance (where it follows the steps of
-SGML) to simple data encoding mechanisms like configuration file formatting
-(glade), spreadsheets (gnumeric), or even shorter lived documents such as
-WebDAV where it is used to encode remote calls between a client and a
-server.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/XSLT.html b/doc/XSLT.html
deleted file mode 100644
index 4a1a446..0000000
--- a/doc/XSLT.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>XSLT</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>XSLT</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Check <a href="http://xmlsoft.org/XSLT">the separate libxslt page</a></p><p><a href="http://www.w3.org/TR/xslt">XSL Transformations</a>,  is a
-language for transforming XML documents into other XML documents (or
-HTML/textual output).</p><p>A separate library called libxslt is available implementing XSLT-1.0 for
-libxml2. This module "libxslt" too can be found in the Gnome SVN base.</p><p>You can check the progresses on the libxslt <a href="http://xmlsoft.org/XSLT/ChangeLog.html">Changelog</a>.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/api.xsl b/doc/api.xsl
deleted file mode 100644
index 6f9007f..0000000
--- a/doc/api.xsl
+++ /dev/null
@@ -1,394 +0,0 @@
-<?xml version="1.0"?>
-<!-- this stylesheet builds the API*.html , it works based on libxml2-refs.xml
-  -->
-<xsl:stylesheet version="1.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:exsl="http://exslt.org/common"
-  extension-element-prefixes="exsl"
-  exclude-result-prefixes="exsl">
-
-  <!-- Import the rest of the site stylesheets -->
-  <xsl:import href="site.xsl"/>
-
-  <!-- Generate XHTML-1.0 transitional -->
-  <xsl:output method="xml" encoding="UTF-8" indent="yes"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
-
-  <xsl:variable name="href_base" select="''"/>
-  <xsl:variable name="apirefs" select="document('libxml2-refs.xml')"/>
-  <xsl:variable name="module" select="$apirefs/apirefs/@name"/>
-  <xsl:key name="refhref" match="reference" use="@name"/>
-
-  <xsl:template match="ref" mode="anchor">
-    <xsl:variable name="name" select="@name"/>
-    <xsl:for-each select="document('libxml2-refs.xml')">
-	<a href="{key('refhref', $name)/@href}"><xsl:value-of select="$name"/></a><br/>
-    </xsl:for-each>
-  </xsl:template>
-  <xsl:template match="type" mode="reflist">
-    <h2>Type <xsl:value-of select="@name"/>:</h2>
-    <p>
-      <xsl:for-each select="ref">
-        <xsl:apply-templates mode="anchor" select="."/>
-	<xsl:text>
-</xsl:text>
-      </xsl:for-each>
-    </p>
-  </xsl:template>
-  <xsl:template match="letter" mode="reflist">
-    <h2>Letter <xsl:value-of select="@name"/>:</h2>
-    <p>
-      <xsl:for-each select="ref">
-        <xsl:apply-templates mode="anchor" select="."/>
-	<xsl:text>
-</xsl:text>
-      </xsl:for-each>
-    </p>
-  </xsl:template>
-  <xsl:template match="file" mode="reflist">
-    <h2><a name="{@name}">Module <xsl:value-of select="@name"/></a>:</h2>
-    <p>
-      <xsl:for-each select="ref">
-        <xsl:apply-templates mode="anchor" select="."/>
-	<xsl:text>
-</xsl:text>
-      </xsl:for-each>
-    </p>
-  </xsl:template>
-  <xsl:template match="letter" mode="wordlist">
-    <h2>Letter <xsl:value-of select="@name"/>:</h2>
-    <dl>
-      <xsl:for-each select="word">
-        <dt><xsl:value-of select="@name"/></dt>
-	<dd>
-	<xsl:for-each select="ref">
-	  <xsl:apply-templates mode="anchor" select="."/>
-	  <xsl:text>
-</xsl:text>
-	</xsl:for-each>
-	</dd>
-      </xsl:for-each>
-    </dl>
-  </xsl:template>
-
-  <xsl:template match="constructors">
-    <xsl:message>Generating API Constructors</xsl:message>
-    <xsl:variable name="title">List of constructors for <xsl:value-of select="$module"/></xsl:variable>
-    <xsl:document href="APIconstructors.html" method="xml" encoding="UTF-8"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-      <html>
-        <head>
-        <xsl:call-template name="style"/>
-	<xsl:element name="title">
-	  <xsl:value-of select="$title"/>
-	</xsl:element>
-        </head>
-        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
-          <xsl:call-template name="titlebox">
-	    <xsl:with-param name="title" select="$title"/>
-	  </xsl:call-template>
-          <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">
-                      <xsl:call-template name="develtoc"/>
-                    </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">
-				        <xsl:apply-templates mode="reflist" select="type"/>
-					<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
-                                      </td>
-                                    </tr>
-                                  </table>
-                                </td>
-                              </tr>
-                            </table>
-                          </td>
-                        </tr>
-                      </table>
-                    </td>
-                  </tr>
-                </table>
-              </td>
-            </tr>
-          </table>
-        </body>
-      </html>
-    </xsl:document>
-  </xsl:template>
-  <xsl:template match="files">
-    <xsl:message>Generating API List of synbols per file</xsl:message>
-    <xsl:variable name="title">List of Symbols per Module for <xsl:value-of select="$module"/></xsl:variable>
-    <xsl:document href="APIfiles.html" method="xml" encoding="UTF-8"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-      <html>
-        <head>
-        <xsl:call-template name="style"/>
-	<xsl:element name="title">
-	  <xsl:value-of select="$title"/>
-	</xsl:element>
-        </head>
-        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
-          <xsl:call-template name="titlebox">
-	    <xsl:with-param name="title" select="$title"/>
-	  </xsl:call-template>
-          <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">
-                      <xsl:call-template name="develtoc"/>
-                    </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">
-				        <xsl:apply-templates mode="reflist" select="file"/>
-					<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
-                                      </td>
-                                    </tr>
-                                  </table>
-                                </td>
-                              </tr>
-                            </table>
-                          </td>
-                        </tr>
-                      </table>
-                    </td>
-                  </tr>
-                </table>
-              </td>
-            </tr>
-          </table>
-        </body>
-      </html>
-    </xsl:document>
-  </xsl:template>
-  <xsl:template match="functions">
-    <xsl:message>Generating API Functions by Type</xsl:message>
-    <xsl:variable name="title">List of function manipulating types in <xsl:value-of select="$module"/></xsl:variable>
-    <xsl:document href="APIfunctions.html" method="xml" encoding="UTF-8"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-      <html>
-        <head>
-        <xsl:call-template name="style"/>
-	<xsl:element name="title">
-	  <xsl:value-of select="$title"/>
-	</xsl:element>
-        </head>
-        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
-          <xsl:call-template name="titlebox">
-	    <xsl:with-param name="title" select="$title"/>
-	  </xsl:call-template>
-          <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">
-                      <xsl:call-template name="develtoc"/>
-                    </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">
-				        <xsl:apply-templates mode="reflist" select="type"/>
-					<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
-                                      </td>
-                                    </tr>
-                                  </table>
-                                </td>
-                              </tr>
-                            </table>
-                          </td>
-                        </tr>
-                      </table>
-                    </td>
-                  </tr>
-                </table>
-              </td>
-            </tr>
-          </table>
-        </body>
-      </html>
-    </xsl:document>
-  </xsl:template>
-  <xsl:template match="alpha">
-    <xsl:message>Generating API Alphabetic list</xsl:message>
-    <xsl:variable name="title">Alphabetic List of Symbols in <xsl:value-of select="$module"/></xsl:variable>
-    <xsl:document href="APIsymbols.html" method="xml" encoding="UTF-8"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-      <html>
-        <head>
-        <xsl:call-template name="style"/>
-	<xsl:element name="title">
-	  <xsl:value-of select="$title"/>
-	</xsl:element>
-        </head>
-        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
-          <xsl:call-template name="titlebox">
-	    <xsl:with-param name="title" select="$title"/>
-	  </xsl:call-template>
-          <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">
-                      <xsl:call-template name="develtoc"/>
-                    </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">
-				        <xsl:apply-templates mode="reflist" select="letter"/>
-					<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
-                                      </td>
-                                    </tr>
-                                  </table>
-                                </td>
-                              </tr>
-                            </table>
-                          </td>
-                        </tr>
-                      </table>
-                    </td>
-                  </tr>
-                </table>
-              </td>
-            </tr>
-          </table>
-        </body>
-      </html>
-    </xsl:document>
-  </xsl:template>
-  <xsl:template name="apichunks">
-    <h2 align="center">
-    <xsl:for-each select="/apirefs/index/chunks/chunk">
-      <xsl:variable name="name" select="@name"/>
-      <xsl:variable name="start" select="@start"/>
-      <xsl:variable name="end" select="@end"/>
-      <xsl:variable name="block" select="concat($start, '-', $end)"/>
-      <a href="API{$name}.html"><xsl:value-of select="$block"/></a>
-      <xsl:text>
-</xsl:text>
-    </xsl:for-each>
-    </h2>
-  </xsl:template>
-  <xsl:template match="chunk">
-    <xsl:variable name="name" select="@name"/>
-    <xsl:variable name="start" select="@start"/>
-    <xsl:variable name="end" select="@end"/>
-    <xsl:variable name="block" select="concat($start, '-', $end)"/>
-    <xsl:variable name="target" select="/apirefs/index/chunk[@name = $name]"/>
-    <xsl:variable name="title">API Alphabetic Index <xsl:value-of select="$block"/> for <xsl:value-of select="$module"/></xsl:variable>
-    <xsl:document href="API{$name}.html" method="xml" encoding="UTF-8"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-      <html>
-        <head>
-        <xsl:call-template name="style"/>
-	<xsl:element name="title">
-	  <xsl:value-of select="$title"/>
-	</xsl:element>
-        </head>
-        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
-          <xsl:call-template name="titlebox">
-	    <xsl:with-param name="title" select="$title"/>
-	  </xsl:call-template>
-          <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">
-                      <xsl:call-template name="develtoc"/>
-                    </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">
-				        <xsl:call-template name="apichunks"/>
-				        <xsl:apply-templates mode="wordlist"
-					           select="$target/letter"/>
-				        <xsl:call-template name="apichunks"/>
-					<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
-                                      </td>
-                                    </tr>
-                                  </table>
-                                </td>
-                              </tr>
-                            </table>
-                          </td>
-                        </tr>
-                      </table>
-                    </td>
-                  </tr>
-                </table>
-              </td>
-            </tr>
-          </table>
-        </body>
-      </html>
-    </xsl:document>
-  </xsl:template>
-
-  <xsl:template match="index">
-    <xsl:message>Generating API Index</xsl:message>
-    <xsl:apply-templates select="chunks/chunk"/>
-  </xsl:template>
-
-  <xsl:template match="apirefs">
-    <xsl:message>Generating API Cross References</xsl:message>
-    <xsl:apply-templates select="constructors"/>
-    <xsl:apply-templates select="functions"/>
-    <xsl:apply-templates select="alpha"/>
-    <xsl:apply-templates select="files"/>
-    <xsl:apply-templates select="index"/>
-  </xsl:template>
-
-  <xsl:template match="/">
-    <xsl:apply-templates select="$apirefs/apirefs"/>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/doc/apibuild.py b/doc/apibuild.py
index 9ed1b33..faa297c 100755
--- a/doc/apibuild.py
+++ b/doc/apibuild.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # This is the API builder, it parses the C sources and build the
 # API formal description in XML.
@@ -23,26 +23,14 @@
   "trio.c": "too many non standard macros",
   "trionan.c": "too many non standard macros",
   "triostr.c": "too many non standard macros",
-  "acconfig.h": "generated portability layer",
   "config.h": "generated portability layer",
   "libxml.h": "internal only",
   "testOOM.c": "out of memory tester",
   "testOOMlib.h": "out of memory tester",
   "testOOMlib.c": "out of memory tester",
   "rngparser.c": "not yet integrated",
-  "rngparser.h": "not yet integrated",
-  "testHTML.c": "test tool",
-  "testReader.c": "test tool",
-  "testSchemas.c": "test tool",
-  "testXPath.c": "test tool",
-  "testAutomata.c": "test tool",
   "testModule.c": "test tool",
-  "testRegexp.c": "test tool",
   "testThreads.c": "test tool",
-  "testC14N.c": "test tool",
-  "testRelax.c": "test tool",
-  "testSAX.c": "test tool",
-  "testURI.c": "test tool",
   "testapi.c": "generated regression tests",
   "runtest.c": "regression tests program",
   "runsuite.c": "regression tests program",
@@ -50,10 +38,6 @@
   "test.c": "not part of the library",
   "testdso.c": "test for dynamid shared libraries",
   "testrecurse.c": "test for entities recursions",
-  "xzlib.h": "Internal API only 2.8.0",
-  "buf.h": "Internal API only 2.9.0",
-  "enc.h": "Internal API only 2.9.0",
-  "/save.h": "Internal API only 2.9.0",
   "timsort.h": "Internal header only for xpath.c 2.9.0",
 }
 
@@ -66,9 +50,7 @@
   "XMLPUBFUN": (0, "Special macro for extern funcs for win32"),
   "XSLTPUBFUN": (0, "Special macro for extern funcs for win32"),
   "EXSLTPUBFUN": (0, "Special macro for extern funcs for win32"),
-  "XMLCALL": (0, "Special macro for win32 calls"),
   "XSLTCALL": (0, "Special macro for win32 calls"),
-  "XMLCDECL": (0, "Special macro for win32 calls"),
   "EXSLTCALL": (0, "Special macro for win32 calls"),
   "__declspec": (3, "Windows keyword"),
   "__stdcall": (0, "Windows keyword"),
@@ -81,6 +63,7 @@
   "LIBXML_ATTR_FORMAT": (5, "macro for gcc printf args checking extension"),
   "LIBXML_ATTR_ALLOC_SIZE": (3, "macro for gcc checking extension"),
   "ATTRIBUTE_NO_SANITIZE": (3, "macro keyword"),
+  "XML_DEPRECATED": (0, "macro keyword"),
 }
 
 def escape(raw):
@@ -91,12 +74,6 @@
     raw = raw.replace('"', '&quot;')
     return raw
 
-def uniq(items):
-    d = {}
-    for item in items:
-        d[item]=1
-    return list(d.keys())
-
 class identifier:
     def __init__(self, name, header=None, module=None, type=None, lineno = 0,
                  info=None, extra=None, conditionals = None):
@@ -206,10 +183,10 @@
         if name[0:2] == '__':
             return None
         d = None
-        try:
+        if name in self.identifiers:
            d = self.identifiers[name]
-           d.update(header, module, type, lineno, info, extra, conditionals)
-        except:
+           d.update(header, module, type, info, extra, conditionals)
+        else:
            d = identifier(name, header, module, type, lineno, info, extra, conditionals)
            self.identifiers[name] = d
 
@@ -228,10 +205,10 @@
         if name[0:2] == '__':
             return None
         d = None
-        try:
+        if name in self.identifiers:
            d = self.identifiers[name]
-           d.update(header, module, type, lineno, info, extra, conditionals)
-        except:
+           d.update(header, module, type, info, extra, conditionals)
+        else:
            d = identifier(name, header, module, type, lineno, info, extra, conditionals)
            self.identifiers[name] = d
 
@@ -344,7 +321,19 @@
          #     else:
          #         print "Function %s from %s is not declared in headers" % (
          #                id, idx.functions[id].module)
-         # TODO: do the same for variables.
+
+        for id in list(idx.variables.keys()):
+            if id in self.variables:
+                # check that variable condition agrees with header
+                # TODO: produces many false positives
+                #if idx.variables[id].conditionals != \
+                #   self.variables[id].conditionals:
+                #    print("Header condition differs from Variable for %s:" \
+                #       % id)
+                #    print("  H: %s" % self.variables[id].conditionals)
+                #    print("  C: %s" % idx.variables[id].conditionals)
+                up = idx.variables[id]
+                self.variables[id].update(None, up.module, up.type, up.info, up.extra)
 
     def analyze_dict(self, type, dict):
         count = 0
@@ -591,23 +580,25 @@
         self.last_comment = ""
         self.comment = None
         self.collect_ref = 0
-        self.no_error = 0
+        self.doc_disable = 0
         self.conditionals = []
         self.defines = []
 
     def collect_references(self):
         self.collect_ref = 1
 
-    def stop_error(self):
-        self.no_error = 1
+    def disable(self):
+        self.doc_disable = 1
 
-    def start_error(self):
-        self.no_error = 0
+    def enable(self):
+        self.doc_disable = 0
 
     def lineno(self):
         return self.lexer.getlineno()
 
     def index_add(self, name, module, static, type, info=None, extra = None):
+        if self.doc_disable:
+            return
         if self.is_header == 1:
             self.index.add(name, module, module, static, type, self.lineno(),
                            info, extra, self.conditionals)
@@ -625,12 +616,12 @@
                                info, extra, self.conditionals)
 
     def warning(self, msg):
-        if self.no_error:
+        if self.doc_disable:
             return
         print(msg)
 
     def error(self, msg, token=-1):
-        if self.no_error:
+        if self.doc_disable:
             return
 
         print("Parse Error: " + msg)
@@ -683,17 +674,17 @@
         token = self.lexer.token()
 
         if self.comment.find("DOC_DISABLE") != -1:
-            self.stop_error()
+            self.disable()
 
         if self.comment.find("DOC_ENABLE") != -1:
-            self.start_error()
+            self.enable()
 
         return token
 
     #
-    # Parse a comment block associate to a typedef
+    # Parse a simple comment block for typedefs or global variables
     #
-    def parseTypeComment(self, name, quiet = 0):
+    def parseSimpleComment(self, name, quiet = False):
         if name[0:2] == '__':
             quiet = 1
 
@@ -702,20 +693,20 @@
 
         if self.comment == None:
             if not quiet:
-                self.warning("Missing comment for type %s" % (name))
-            return((args, desc))
+                self.warning("Missing comment for %s" % (name))
+            return(None)
         if self.comment[0] != '*':
             if not quiet:
-                self.warning("Missing * in type comment for %s" % (name))
-            return((args, desc))
+                self.warning("Missing * in comment for %s" % (name))
+            return(None)
         lines = self.comment.split('\n')
         if lines[0] == '*':
             del lines[0]
         if lines[0] != "* %s:" % (name):
             if not quiet:
-                self.warning("Misformatted type comment for %s" % (name))
+                self.warning("Misformatted comment for %s" % (name))
                 self.warning("  Expecting '* %s:' got '%s'" % (name, lines[0]))
-            return((args, desc))
+            return(None)
         del lines[0]
         while len(lines) > 0 and lines[0] == '*':
             del lines[0]
@@ -732,7 +723,7 @@
 
         if quiet == 0:
             if desc == "":
-                self.warning("Type comment for %s lack description of the macro" % (name))
+                self.warning("Comment for %s lacks description" % (name))
 
         return(desc)
     #
@@ -949,7 +940,7 @@
                     name = name.split('(') [0]
                 except:
                     pass
-                info = self.parseMacroComment(name, not self.is_header)
+                info = self.parseMacroComment(name, True)
                 self.index_add(name, self.filename, not self.is_header,
                                 "macro", info)
                 return token
@@ -1082,7 +1073,7 @@
                         base_type = "struct " + name
                     else:
                         # TODO report missing or misformatted comments
-                        info = self.parseTypeComment(name, 1)
+                        info = self.parseSimpleComment(name, True)
                         self.index_add(name, self.filename, not self.is_header,
                                     "typedef", type, info)
                 token = self.token()
@@ -1117,7 +1108,6 @@
                 token = self.token()
                 token = self.parseBlock(token)
             elif token[0] == "sep" and token[1] == "}":
-                self.comment = None
                 token = self.token()
                 return token
             else:
@@ -1532,25 +1522,24 @@
                     token = self.token()
                     token = self.parseBlock(token)
                 else:
-                    self.comment = None
                     while token != None and (token[0] != "sep" or \
                           (token[1] != ';' and token[1] != ',')):
                             token = self.token()
-                self.comment = None
                 if token == None or token[0] != "sep" or (token[1] != ';' and
                    token[1] != ','):
                     self.error("missing ';' or ',' after value")
 
             if token != None and token[0] == "sep":
                 if token[1] == ";":
-                    self.comment = None
-                    token = self.token()
                     if type == "struct":
                         self.index_add(self.name, self.filename,
                              not self.is_header, "struct", self.struct_fields)
                     else:
+                        info = self.parseSimpleComment(self.name, True)
                         self.index_add(self.name, self.filename,
-                             not self.is_header, "variable", type)
+                             not self.is_header, "variable", type, info)
+                    self.comment = None
+                    token = self.token()
                     break
                 elif token[1] == "(":
                     token = self.token()
@@ -1562,18 +1551,20 @@
                                 ((type, None), self.signature), 1)
                         self.index_add(self.name, self.filename, static,
                                         "function", d)
+                        self.comment = None
                         token = self.token()
                     elif token[0] == "sep" and token[1] == "{":
                         d = self.mergeFunctionComment(self.name,
                                 ((type, None), self.signature), static)
                         self.index_add(self.name, self.filename, static,
                                         "function", d)
+                        self.comment = None
                         token = self.token()
                         token = self.parseBlock(token);
                 elif token[1] == ',':
-                    self.comment = None
                     self.index_add(self.name, self.filename, static,
                                     "variable", type)
+                    self.comment = None
                     type = type_orig
                     token = self.token()
                     while token != None and token[0] == "sep":
@@ -1611,51 +1602,12 @@
         self.modules = {}
         self.headers = {}
         self.idx = index()
-        self.xref = {}
         self.index = {}
         if name == 'libxml2':
             self.basename = 'libxml'
         else:
             self.basename = name
 
-    def indexString(self, id, str):
-        if str == None:
-            return
-        str = str.replace("'", ' ')
-        str = str.replace('"', ' ')
-        str = str.replace("/", ' ')
-        str = str.replace('*', ' ')
-        str = str.replace("[", ' ')
-        str = str.replace("]", ' ')
-        str = str.replace("(", ' ')
-        str = str.replace(")", ' ')
-        str = str.replace("<", ' ')
-        str = str.replace('>', ' ')
-        str = str.replace("&", ' ')
-        str = str.replace('#', ' ')
-        str = str.replace(",", ' ')
-        str = str.replace('.', ' ')
-        str = str.replace(';', ' ')
-        tokens = str.split()
-        for token in tokens:
-            try:
-                c = token[0]
-                if string.ascii_letters.find(c) < 0:
-                    pass
-                elif len(token) < 3:
-                    pass
-                else:
-                    lower = token.lower()
-                    # TODO: generalize this a bit
-                    if lower == 'and' or lower == 'the':
-                        pass
-                    elif token in self.xref:
-                        self.xref[token].append(id)
-                    else:
-                        self.xref[token] = [id]
-            except:
-                pass
-
     def analyze(self):
         print("Project %s : %d headers, %d modules" % (self.name, len(list(self.headers.keys())), len(list(self.modules.keys()))))
         self.idx.analyze()
@@ -1735,13 +1687,11 @@
                 (args, desc) = id.info
                 if desc != None and desc != "":
                     output.write("      <info>%s</info>\n" % (escape(desc)))
-                    self.indexString(name, desc)
                 for arg in args:
                     (name, desc) = arg
                     if desc != None and desc != "":
                         output.write("      <arg name='%s' info='%s'/>\n" % (
                                      name, escape(desc)))
-                        self.indexString(name, desc)
                     else:
                         output.write("      <arg name='%s'/>\n" % (name))
             except:
@@ -1761,7 +1711,6 @@
                 try:
                     for field in self.idx.structs[name].info:
                         desc = field[2]
-                        self.indexString(name, desc)
                         if desc == None:
                             desc = ''
                         else:
@@ -1788,11 +1737,17 @@
     def serialize_variable(self, output, name):
         id = self.idx.variables[name]
         if id.info != None:
-            output.write("    <variable name='%s' file='%s' type='%s'/>\n" % (
+            output.write("    <variable name='%s' file='%s' type='%s'" % (
                     name, self.modulename_file(id.header), id.info))
         else:
-            output.write("    <variable name='%s' file='%s'/>\n" % (
+            output.write("    <variable name='%s' file='%s'" % (
                     name, self.modulename_file(id.header)))
+        desc = id.extra
+        if desc != None and desc != "":
+            output.write(">\n      <info>%s</info>\n" % (escape(desc)))
+            output.write("    </variable>\n")
+        else:
+            output.write("/>\n")
 
     def serialize_function(self, output, name):
         id = self.idx.functions[name]
@@ -1820,14 +1775,12 @@
                        self.modulename_file(id.module)))
 
             output.write("      <info>%s</info>\n" % (escape(desc)))
-            self.indexString(name, desc)
             if ret[0] != None:
                 if ret[0] == "void":
                     output.write("      <return type='void'/>\n")
                 else:
                     output.write("      <return type='%s' info='%s'/>\n" % (
                              ret[0], escape(ret[1])))
-                    self.indexString(name, ret[1])
             for param in params:
                 if param[0] == 'void':
                     continue
@@ -1835,7 +1788,6 @@
                     output.write("      <arg name='%s' type='%s' info=''/>\n" % (param[1], param[0]))
                 else:
                     output.write("      <arg name='%s' type='%s' info='%s'/>\n" % (param[1], param[0], escape(param[2])))
-                    self.indexString(name, param[2])
         except:
             print("Failed to save function %s info: " % name, repr(id.info))
         output.write("    </%s>\n" % (id.type))
@@ -1860,7 +1812,7 @@
 
         ids = list(dict.macros.keys())
         ids.sort()
-        for id in uniq(ids):
+        for id in ids:
             # Macros are sometime used to masquerade other types.
             if id in dict.functions:
                 continue
@@ -1875,192 +1827,26 @@
             output.write("     <exports symbol='%s' type='macro'/>\n" % (id))
         ids = list(dict.enums.keys())
         ids.sort()
-        for id in uniq(ids):
+        for id in ids:
             output.write("     <exports symbol='%s' type='enum'/>\n" % (id))
         ids = list(dict.typedefs.keys())
         ids.sort()
-        for id in uniq(ids):
+        for id in ids:
             output.write("     <exports symbol='%s' type='typedef'/>\n" % (id))
         ids = list(dict.structs.keys())
         ids.sort()
-        for id in uniq(ids):
+        for id in ids:
             output.write("     <exports symbol='%s' type='struct'/>\n" % (id))
         ids = list(dict.variables.keys())
         ids.sort()
-        for id in uniq(ids):
+        for id in ids:
             output.write("     <exports symbol='%s' type='variable'/>\n" % (id))
         ids = list(dict.functions.keys())
         ids.sort()
-        for id in uniq(ids):
+        for id in ids:
             output.write("     <exports symbol='%s' type='function'/>\n" % (id))
         output.write("    </file>\n")
 
-    def serialize_xrefs_files(self, output):
-        headers = list(self.headers.keys())
-        headers.sort()
-        for file in headers:
-            module = self.modulename_file(file)
-            output.write("    <file name='%s'>\n" % (module))
-            dict = self.headers[file]
-            ids = uniq(list(dict.functions.keys()) + list(dict.variables.keys()) + \
-                  list(dict.macros.keys()) + list(dict.typedefs.keys()) + \
-                  list(dict.structs.keys()) + list(dict.enums.keys()))
-            ids.sort()
-            for id in ids:
-                output.write("      <ref name='%s'/>\n" % (id))
-            output.write("    </file>\n")
-        pass
-
-    def serialize_xrefs_functions(self, output):
-        funcs = {}
-        for name in list(self.idx.functions.keys()):
-            id = self.idx.functions[name]
-            try:
-                (ret, params, desc) = id.info
-                for param in params:
-                    if param[0] == 'void':
-                        continue
-                    if param[0] in funcs:
-                        funcs[param[0]].append(name)
-                    else:
-                        funcs[param[0]] = [name]
-            except:
-                pass
-        typ = list(funcs.keys())
-        typ.sort()
-        for type in typ:
-            if type == '' or type == 'void' or type == "int" or \
-               type == "char *" or type == "const char *" :
-                continue
-            output.write("    <type name='%s'>\n" % (type))
-            ids = funcs[type]
-            ids.sort()
-            pid = ''        # not sure why we have dups, but get rid of them!
-            for id in ids:
-                if id != pid:
-                    output.write("      <ref name='%s'/>\n" % (id))
-                    pid = id
-            output.write("    </type>\n")
-
-    def serialize_xrefs_constructors(self, output):
-        funcs = {}
-        for name in list(self.idx.functions.keys()):
-            id = self.idx.functions[name]
-            try:
-                (ret, params, desc) = id.info
-                if ret[0] == "void":
-                    continue
-                if ret[0] in funcs:
-                    funcs[ret[0]].append(name)
-                else:
-                    funcs[ret[0]] = [name]
-            except:
-                pass
-        typ = list(funcs.keys())
-        typ.sort()
-        for type in typ:
-            if type == '' or type == 'void' or type == "int" or \
-               type == "char *" or type == "const char *" :
-                continue
-            output.write("    <type name='%s'>\n" % (type))
-            ids = funcs[type]
-            ids.sort()
-            for id in ids:
-                output.write("      <ref name='%s'/>\n" % (id))
-            output.write("    </type>\n")
-
-    def serialize_xrefs_alpha(self, output):
-        letter = None
-        ids = list(self.idx.identifiers.keys())
-        ids.sort()
-        for id in ids:
-            if id[0] != letter:
-                if letter != None:
-                    output.write("    </letter>\n")
-                letter = id[0]
-                output.write("    <letter name='%s'>\n" % (letter))
-            output.write("      <ref name='%s'/>\n" % (id))
-        if letter != None:
-            output.write("    </letter>\n")
-
-    def serialize_xrefs_references(self, output):
-        typ = list(self.idx.identifiers.keys())
-        typ.sort()
-        for id in typ:
-            idf = self.idx.identifiers[id]
-            module = idf.header
-            output.write("    <reference name='%s' href='%s'/>\n" % (id,
-                         'html/' + self.basename + '-' +
-                         self.modulename_file(module) + '.html#' +
-                         id))
-
-    def serialize_xrefs_index(self, output):
-        index = self.xref
-        typ = list(index.keys())
-        typ.sort()
-        letter = None
-        count = 0
-        chunk = 0
-        chunks = []
-        for id in typ:
-            if len(index[id]) > 30:
-                continue
-            if id[0] != letter:
-                if letter == None or count > 200:
-                    if letter != None:
-                        output.write("      </letter>\n")
-                        output.write("    </chunk>\n")
-                        count = 0
-                        chunks.append(["chunk%s" % (chunk -1), first_letter, letter])
-                    output.write("    <chunk name='chunk%s'>\n" % (chunk))
-                    first_letter = id[0]
-                    chunk = chunk + 1
-                elif letter != None:
-                    output.write("      </letter>\n")
-                letter = id[0]
-                output.write("      <letter name='%s'>\n" % (letter))
-            output.write("        <word name='%s'>\n" % (id))
-            tokens = index[id];
-            tokens.sort()
-            tok = None
-            for token in tokens:
-                if tok == token:
-                    continue
-                tok = token
-                output.write("          <ref name='%s'/>\n" % (token))
-                count = count + 1
-            output.write("        </word>\n")
-        if letter != None:
-            output.write("      </letter>\n")
-            output.write("    </chunk>\n")
-            if count != 0:
-                chunks.append(["chunk%s" % (chunk -1), first_letter, letter])
-            output.write("    <chunks>\n")
-            for ch in chunks:
-                output.write("      <chunk name='%s' start='%s' end='%s'/>\n" % (
-                             ch[0], ch[1], ch[2]))
-            output.write("    </chunks>\n")
-
-    def serialize_xrefs(self, output):
-        output.write("  <references>\n")
-        self.serialize_xrefs_references(output)
-        output.write("  </references>\n")
-        output.write("  <alpha>\n")
-        self.serialize_xrefs_alpha(output)
-        output.write("  </alpha>\n")
-        output.write("  <constructors>\n")
-        self.serialize_xrefs_constructors(output)
-        output.write("  </constructors>\n")
-        output.write("  <functions>\n")
-        self.serialize_xrefs_functions(output)
-        output.write("  </functions>\n")
-        output.write("  <files>\n")
-        self.serialize_xrefs_files(output)
-        output.write("  </files>\n")
-        output.write("  <index>\n")
-        self.serialize_xrefs_index(output)
-        output.write("  </index>\n")
-
     def serialize(self):
         filename = "%s-api.xml" % self.name
         print("Saving XML description %s" % (filename))
@@ -2098,15 +1884,6 @@
         output.write("</api>\n")
         output.close()
 
-        filename = "%s-refs.xml" % self.name
-        print("Saving XML Cross References %s" % (filename))
-        output = open(filename, "w")
-        output.write('<?xml version="1.0" encoding="ISO-8859-1"?>\n')
-        output.write("<apirefs name='%s'>\n" % self.name)
-        self.serialize_xrefs(output)
-        output.write("</apirefs>\n")
-        output.close()
-
 
 def rebuild():
     builder = None
diff --git a/doc/architecture.html b/doc/architecture.html
deleted file mode 100644
index 5dbf61f..0000000
--- a/doc/architecture.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>libxml2 architecture</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>libxml2 architecture</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Libxml2 is made of multiple components; some of them are optional, and
-most of the block interfaces are public. The main components are:</p><ul>
-  <li>an Input/Output layer</li>
-  <li>FTP and HTTP client layers (optional)</li>
-  <li>an Internationalization layer managing the encodings support</li>
-  <li>a URI module</li>
-  <li>the XML parser and its basic SAX interface</li>
-  <li>an HTML parser using the same SAX interface (optional)</li>
-  <li>a SAX tree module to build an in-memory DOM representation</li>
-  <li>a tree module to manipulate the DOM representation</li>
-  <li>a validation module using the DOM representation (optional)</li>
-  <li>an XPath module for global lookup in a DOM representation
-  (optional)</li>
-  <li>a debug module (optional)</li>
-</ul><p>Graphically this gives the following:</p><p><img src="libxml.gif" alt="a graphical view of the various" /></p><p></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/bugs.html b/doc/bugs.html
deleted file mode 100644
index 417d655..0000000
--- a/doc/bugs.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Reporting bugs and getting help</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Reporting bugs and getting help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Well, bugs or missing features are always possible, and I will make a
-point of fixing them in a timely fashion. The best way to report a bug is to
-use the <a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Gnome
-bug tracking database</a> (make sure to use the "libxml2" module name). I
-look at reports there regularly and it's good to have a reminder when a bug
-is still open. Be sure to specify that the bug is for the package libxml2.</p><p>For small problems you can try to get help on IRC, the #xml channel on
-irc.gnome.org (port 6667) usually has a few people subscribed which may help
-(but there is no guarantee and if a real issue is raised it should go on the
-mailing-list for archival).</p><p>There is also a mailing-list <a href="mailto:xml@gnome.org">xml@gnome.org</a> for libxml, with an  <a href="http://mail.gnome.org/archives/xml/">on-line archive</a> (<a href="http://xmlsoft.org/messages">old</a>). To subscribe to this list,
-please visit the <a href="http://mail.gnome.org/mailman/listinfo/xml">associated Web</a> page and
-follow the instructions. <strong>Do not send code, I won't debug it</strong>
-(but patches are really appreciated!).</p><p>Please note that with the current amount of virus and SPAM, sending mail
-to the list without being subscribed won't work. There is *far too many
-bounces* (in the order of a thousand a day !) I cannot approve them manually
-anymore. If your mail to the list bounced waiting for administrator approval,
-it is LOST ! Repost it and fix the problem triggering the error. Also please
-note that <span style="color: #FF0000; background-color: #FFFFFF">emails with
-a legal warning asking to not copy or redistribute freely the information
-they contain</span> are <strong>NOT</strong> acceptable for the mailing-list,
-such mail will as much as possible be discarded automatically, and are less
-likely to be answered if they made it to the list, <strong>DO NOT</strong>
-post to the list from an email address where such legal requirements are
-automatically added, get private paying support if you can't share
-information.</p><p>Check the following <strong><span style="color: #FF0000">before
-posting</span></strong>:</p><ul>
-  <li>Read the <a href="FAQ.html">FAQ</a> and <a href="search.php">use the
-    search engine</a> to get information related to your problem.</li>
-  <li>Make sure you are <a href="ftp://xmlsoft.org/libxml2/">using a recent
-    version</a>, and that the problem still shows up in a recent version.</li>
-  <li>Check the <a href="http://mail.gnome.org/archives/xml/">list
-    archives</a> to see if the problem was reported already. In this case
-    there is probably a fix available, similarly check the <a href="https://gitlab.gnome.org/GNOME/libxml2/issues">registered
-    open bugs</a>.</li>
-  <li>Make sure you can reproduce the bug with xmllint or one of the test
-    programs found in source in the distribution.</li>
-  <li>Please send the command showing the error as well as the input (as an
-    attachment)</li>
-</ul><p>Then send the bug with associated information to reproduce it to the <a href="mailto:xml@gnome.org">xml@gnome.org</a> list; if it's really libxml
-related I will approve it. Please do not send mail to me directly, it makes
-things really hard to track and in some cases I am not the best person to
-answer a given question, ask on the list.</p><p>To <span style="color: #E50000">be really clear about support</span>:</p><ul>
-  <li>Support or help <span style="color: #E50000">requests MUST be sent to
-    the list or the bug tracker</span> in case of problems, so that the Question
-    and Answers can be shared publicly. Failing to do so carries the implicit
-    message "I want free support but I don't want to share the benefits with
-    others" and is not welcome. I will automatically Carbon-Copy the
-    xml@gnome.org mailing list for any technical reply made about libxml2 or
-    libxslt.</li>
-  <li>There is <span style="color: #E50000">no guarantee of support</span>. If
-    your question remains unanswered after a week, repost it, making sure you
-    gave all the detail needed and the information requested.</li>
-  <li>Failing to provide information as requested or double checking first
-    for prior feedback also carries the implicit message "the time of the
-    library maintainers is less valuable than my time" and might not be
-    welcome.</li>
-</ul><p>Of course, bugs reported with a suggested patch for fixing them will
-probably be processed faster than those without.</p><p>If you're looking for help, a quick look at <a href="http://mail.gnome.org/archives/xml/">the list archive</a> may actually
-provide the answer. I usually send source samples when answering libxml2
-usage questions. The <a href="http://xmlsoft.org/html/book1.html">auto-generated documentation</a> is
-not as polished as I would like (i need to learn more about DocBook), but
-it's a good starting point.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/buildDocBookCatalog b/doc/buildDocBookCatalog
deleted file mode 100755
index d1b8c94..0000000
--- a/doc/buildDocBookCatalog
+++ /dev/null
@@ -1,414 +0,0 @@
-#! /bin/bash
-
-usage()
-{
-    cat <<EOF
-Usage: $pname [OPTION]
-
-Known values for OPTION are:
-  --prefix=DIR        change the output directory for catalog files
-                      [default $DIR]
-  --show              display the output filenames and paths
-  --version=x.y.z     change the DocBook version [default $VERSION]
-  --debug             display script action information
-  --help              display this help and exit
-EOF
-}
-
-setdefault()
-{
-    echo Unable to update root catalog $ROOTCATALOG
-    ROOTCATALOG=$HOME/xmlcatalog
-    CATALOG=$HOME/dbkxmlcatalog
-    DIR=$HOME
-    CAT=xmlcatalog
-    echo Using $ROOTCATALOG as the root catalog
-    echo Remember to export XML_CATALOG_FILES=$ROOTCATALOG
-    echo
-    prefix=1
-}
-
-fixname()
-{
-#
-# ROOTCATALOG contains the full pathname for the catalog.  We will
-# split that into the directory name and the filename, then we will
-# see if the directory exists.  If it does not, we will attempt to
-# create it.
-#
-    if test $verbose = 1
-    then
-        echo Checking path $ROOTCATALOG for permissions
-    fi
-# First we split the filename and directory name
-    CAT=`basename $ROOTCATALOG`
-    DIR=`dirname $ROOTCATALOG`
-    if test "$DIR" = ""
-    then
-        echo Unable to isolate directory name from '$ROOTCATALOG' - exiting
-        exit 1
-    fi
-    CATALOG=${DIR}/docbook
-    parent=`dirname $DIR`
-    if test "$parent" == ""
-    then
-        parent=/
-    fi
-    if [ ! -d $DIR ]
-    then
-        if test $verbose = 1
-        then
-            echo Directory $DIR missing - I will try to create it
-        fi
-        if [ ! -w $parent ]
-        then
-            if test $verbose = 1
-            then
-                echo No write permission for directory $parent
-            fi
-            setdefault
-        else
-            newdir=1
-        fi
-    else
-        if [ -f $ROOTCATALOG -a ! -w $ROOTCATALOG ] ||
-	   [ -e $ROOTCATALOG -a ! -f $ROOTCATALOG ] ||
-           [ ! -e $ROOTCATALOG  -a ! -w $DIR ]
-        then
-            setdefault
-        fi
-    fi
-
-}
-finddbx()
-{
-dtd421=""
-s="//OASIS//DTD DocBook XML V${VERSION}//EN"
-found=`find $1 -name docbookx.dtd -exec grep -l "$s" {} \;`
-for dtd in $found; do
-    docbookdir=`dirname $dtd`
-    echo Found DocBook XML $VERSION DTD in $docbookdir
-#
-# The original script had a check for write permission on the file
-# but I can't see why it should be necessary
-#
-    dtd421=$dtd
-    break
-done
-}
-
-#
-# Preset script control params
-show=0
-prefix=0
-newdir=0
-verbose=0
-#
-# Isolate the script name for messages
-pname=`basename $0`
-VERSION=4.1.2
-
-if test "$XML_CATALOG_FILES" != ""
-then
-    ROOTCATALOG=$XML_CATALOG_FILES
-else
-    ROOTCATALOG=/etc/xml/catalog
-fi
-
-#
-# Interpret script parameters
-while test $# -gt 0; do
-    case "$1" in
-    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-    *) optarg= ;;
-    esac
-
-    case "$1" in
-    -p=* | --prefix=*)
-        ROOTCATALOG=$optarg/catalog
-        prefix=1
-        ;;
-
-    -s | --show)
-        show=1
-        ;;
-
-    -v=* | --version=*)
-        VERSION=$optarg
-	;;
-
-    -d | --debug)
-        verbose=1
-        ;;
-
-    -h | --help)
-        usage
-	exit 0
-	;;
-
-    * )
-        echo Invalid argument "$1"
-	usage
-        exit 1
-        ;;
-    esac
-    shift
-done
-fixname
-if test $prefix != 0
-then
-    export XML_CATALOG_FILES=$ROOTCATALOG
-fi
-if test $show != 0
-then
-    echo XML Catalog is $ROOTCATALOG
-    echo Docbook Catalog is $CATALOG
-    exit 0
-fi
-if test $newdir!=0
-then
-    mkdir -p $DIR
-    chmod 755 $DIR
-fi
-
-echo Starting run
-#
-# create the catalogs root and docbook specific
-#
-if [ ! -r $ROOTCATALOG ] ; then
-   echo creating XML Catalog root $ROOTCATALOG
-   xmlcatalog --noout --create $ROOTCATALOG
-fi
-if [ ! -r $ROOTCATALOG ] ; then
-   echo Failed creating XML Catalog root $ROOTCATALOG
-   exit 1
-fi
-if [ ! -r $CATALOG ] ; then
-   echo creating DocBook XML Catalog $CATALOG
-   xmlcatalog --noout --create $CATALOG
-fi
-if [ ! -r $CATALOG ] ; then
-   echo Failed creating DocBook XML Catalog $CATALOG
-   exit 1
-fi
-
-#
-# find the prefix for DocBook DTD
-#
-finddbx /usr/share/xml
-if [ "$dtd421" = "" ] ; then
-    finddbx $HOME
-fi
-if [ "$dtd421" = "" ] ; then
-    finddbx /usr/local
-fi
-if [ "$dtd421" = "" ] ; then
-    finddbx /usr/share/sgml
-fi
-
-if [ "$dtd421" = "" ] ; then
-    echo could not locate version $VERSION of DocBook XML
-    exit 1
-fi
-
-xmlcatalog --noout --add "public" \
-    "-//OASIS//ELEMENTS DocBook XML Information Pool V${VERSION}//EN" \
-    "file://$docbookdir/dbpoolx.mod" $CATALOG
-xmlcatalog --noout --add "public" \
-    "-//OASIS//DTD DocBook XML V${VERSION}//EN" \
-    "file://$docbookdir/docbookx.dtd" $CATALOG
-xmlcatalog --noout --add "public" \
-    "-//OASIS//ENTITIES DocBook XML Character Entities V${VERSION}//EN" \
-    "file://$docbookdir/dbcentx.mod" $CATALOG
-xmlcatalog --noout --add "public" \
-    "-//OASIS//ENTITIES DocBook XML Notations V${VERSION}//EN" \
-    "file://$docbookdir/dbnotnx.mod" $CATALOG
-xmlcatalog --noout --add "public" \
-    "-//OASIS//ENTITIES DocBook XML Additional General Entities V${VERSION}//EN" \
-    "file://$docbookdir/dbgenent.mod" $CATALOG
-xmlcatalog --noout --add "public" \
-    "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V${VERSION}//EN" \
-    "file://$docbookdir/dbhierx.mod" $CATALOG
-xmlcatalog --noout --add "public" \
-    "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
-    "file://$docbookdir/soextblx.dtd" $CATALOG
-xmlcatalog --noout --add "public" \
-    "-//OASIS//DTD DocBook XML CALS Table Model V${VERSION}//EN" \
-    "file://$docbookdir/calstblx.dtd" $CATALOG
-xmlcatalog --noout --add "rewriteSystem" \
-    "http://www.oasis-open.org/docbook/xml/${VERSION}" \
-    "file://$docbookdir" $CATALOG
-xmlcatalog --noout --add "rewriteURI" \
-    "http://www.oasis-open.org/docbook/xml/${VERSION}" \
-    "file://$docbookdir" $CATALOG
-
-xmlcatalog --noout --add "delegatePublic" \
-    "-//OASIS//ENTITIES DocBook XML" \
-    "file://$CATALOG" $ROOTCATALOG
-xmlcatalog --noout --add "delegatePublic" \
-    "-//OASIS//DTD DocBook XML" \
-    "file://$CATALOG" $ROOTCATALOG
-xmlcatalog --noout --add "delegateSystem" \
-    "http://www.oasis-open.org/docbook/" \
-    "file://$CATALOG" $ROOTCATALOG
-xmlcatalog --noout --add "delegateURI" \
-    "http://www.oasis-open.org/docbook/" \
-    "file://$CATALOG" $ROOTCATALOG
-
-#
-# find the prefix for ISO DocBook entities
-#
-top=`dirname $docbookdir`
-found=`find $top -name iso-amsb.ent`
-if [ "$found" = "" ] ; then
-    found=`find /usr/share/xml -name iso-amsb.ent`
-fi
-if [ "$found" = "" ] ; then
-    found=`find $HOME -name iso-amsb.ent`
-fi
-if [ "$found" = "" ] ; then
-    found=`find /usr/local -name iso-amsb.ent`
-fi
-if [ "$found" = "" ] ; then
-    found=`find /usr/share/sgml -name iso-amsb.ent`
-fi
-if [ "$found" = "" ] ; then
-    echo could not locate iso-amsb.ent of ISO DocBook entities
-    exit 1
-fi
-
-entxml=""
-for tst in $found; do
-    check=`grep '<!ENTITY ominus."\&#x2296;">' $tst`
-    if [ "$check" != "" ] ; then
-        entxml=$tst
-        break
-    fi
-done
-
-if [ "$entxml" = "" ] ; then
-    echo could not locate ISO DocBook entities
-    exit 1
-fi
-isodir=`dirname $entxml`
-echo Found ISO DocBook entities in $isodir
-
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Publishing//EN" \
-    "file://$isodir/iso-pub.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Greek Letters//EN" \
-    "file://$isodir/iso-grk1.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Box and Line Drawing//EN" \
-    "file://$isodir/iso-box.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Greek Symbols//EN" \
-    "file://$isodir/iso-grk3.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" \
-    "file://$isodir/iso-amsn.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN" \
-    "file://$isodir/iso-num.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN" \
-    "file://$isodir/iso-grk4.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Diacritical Marks//EN" \
-    "file://$isodir/iso-dia.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Monotoniko Greek//EN" \
-    "file://$isodir/iso-grk2.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN" \
-    "file://$isodir/iso-amsa.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN" \
-    "file://$isodir/iso-amso.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Russian Cyrillic//EN" \
-    "file://$isodir/iso-cyr1.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES General Technical//EN" \
-    "file://$isodir/iso-tech.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN" \
-    "file://$isodir/iso-amsc.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Added Latin 1//EN" \
-    "file://$isodir/iso-lat1.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN" \
-    "file://$isodir/iso-amsb.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Added Latin 2//EN" \
-    "file://$isodir/iso-lat2.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN" \
-    "file://$isodir/iso-amsr.ent" $CATALOG
-xmlcatalog --noout --add "public" \
-    "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN" \
-    "file://$isodir/iso-cyr2.ent" $CATALOG
-
-xmlcatalog --noout --add "delegatePublic" \
-    "ISO 8879:1986" \
-    "file://$CATALOG" $ROOTCATALOG
-
-#
-# find the prefix for XSLT stylesheets
-#
-top=`dirname $docbookdir`
-found=`find $top -name chunk.xsl`
-if [ "$found" = "" ] ; then
-    found=`find /usr/share/xml -name chunk.xsl`
-fi
-if [ "$found" = "" ] ; then
-    found=`find $HOME -name chunk.xsl`
-fi
-if [ "$found" = "" ] ; then
-    found=`find /usr/local -name chunk.xsl`
-fi
-if [ "$found" = "" ] ; then
-    found=`find /usr/share/sgml -name chunk.xsl`
-fi
-if [ "$found" = "" ] ; then
-    echo could not locate chunk-common.xsl of DocBook XSLT stylesheets
-    exit 1
-fi
-
-xsldir=""
-for tst in $found; do
-    dir=`dirname $tst`
-    dir=`dirname $dir`
-    if [ -r $dir/html/docbook.xsl -a -r $dir/common/l10n.xml ]; then
-        xsldir=$dir
-        break
-    fi
-done
-
-if [ "$xsldir" = "" ] ; then
-    echo could not locate DocBook XSLT stylesheets
-    exit 1
-fi
-echo Found DocBook XSLT stylesheets in $xsldir
-for version in current 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 1.47 \
-               1.48 1.49 1.50
-do
-    xmlcatalog --noout --add "rewriteSystem" \
-	"http://docbook.sourceforge.net/release/xsl/$version" \
-	"file://$xsldir" $CATALOG
-    xmlcatalog --noout --add "rewriteURI" \
-	"http://docbook.sourceforge.net/release/xsl/$version" \
-	"file://$xsldir" $CATALOG
-done
-
-xmlcatalog --noout --add "delegateSystem" \
-    "http://docbook.sourceforge.net/release/xsl/" \
-    "file://$CATALOG" $ROOTCATALOG
-xmlcatalog --noout --add "delegateURI" \
-    "http://docbook.sourceforge.net/release/xsl/" \
-    "file://$CATALOG" $ROOTCATALOG
-
-#
-#
diff --git a/doc/catalog.fig b/doc/catalog.fig
deleted file mode 100644
index dadb347..0000000
--- a/doc/catalog.fig
+++ /dev/null
@@ -1,62 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter  
-100.00
-Single
--2
-1200 2
-1 2 0 1 0 7 50 0 -1 0.000 1 0.0000 2587 1875 1312 300 1275 1575 3900 2175
-1 2 0 1 0 7 50 0 -1 0.000 1 0.0000 2587 3900 1312 300 1275 3600 3900 4200
-1 2 0 1 0 7 50 0 -1 0.000 1 0.0000 10987 1875 1312 300 9675 1575 12300 2175
-1 2 0 1 0 7 50 0 -1 0.000 1 0.0000 10987 3900 1312 300 9675 3600 12300 4200
-2 4 0 2 -1 7 50 0 -1 6.000 0 0 7 0 0 5
-	 4350 5925 4350 4650 3375 4650 3375 5925 4350 5925
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
-	 1275 1875 1275 3900
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
-	 3900 1875 3900 3900
-2 3 0 1 0 1 50 0 20 0.000 0 0 0 0 0 7
-	 1685 3675 1945 3525 1945 3225 1685 3075 1425 3225 1425 3525
-	 1685 3675
-2 3 0 1 0 1 50 0 20 0.000 0 0 0 0 0 7
-	 2250 3000 2510 2850 2510 2550 2250 2400 1990 2550 1990 2850
-	 2250 3000
-2 4 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
-	 3375 2625 3000 2625 3000 2325 3375 2325 3375 2625
-2 4 0 1 0 17 50 0 20 0.000 0 0 7 0 0 5
-	 3375 3000 3000 3000 3000 2700 3375 2700 3375 3000
-2 4 0 1 0 13 50 0 20 0.000 0 0 7 0 0 5
-	 3825 2850 3450 2850 3450 2550 3825 2550 3825 2850
-2 1 0 2 4 7 50 0 -1 6.000 0 0 -1 1 0 2
-	1 0 2.00 120.00 240.00
-	 2550 2625 3000 2475
-2 1 0 2 4 7 50 0 -1 6.000 0 0 -1 1 0 2
-	1 0 2.00 120.00 240.00
-	 3811 5007 1875 3600
-2 1 0 2 -1 7 50 0 -1 0.000 0 0 -1 1 0 4
-	1 0 2.00 120.00 240.00
-	 3825 5025 5250 5025 9075 4125 11325 2625
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
-	 9675 1875 9675 3900
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
-	 12300 1875 12300 3900
-2 4 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
-	 11775 2625 11400 2625 11400 2325 11775 2325 11775 2625
-2 4 0 1 0 17 50 0 20 0.000 0 0 7 0 0 5
-	 11775 3000 11400 3000 11400 2700 11775 2700 11775 3000
-2 4 0 1 0 13 50 0 20 0.000 0 0 7 0 0 5
-	 12225 2850 11850 2850 11850 2550 12225 2550 12225 2850
-3 3 0 1 -1 7 50 0 -1 4.000 0 0 0 11
-	 7725 2625 6450 2700 5775 3525 5700 4200 5925 4800 6600 5475
-	 7350 5625 8100 5400 8550 4725 8625 3975 8400 3075
-	 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000
-	 -1.000 -1.000 -1.000
-3 2 0 2 4 7 50 0 -1 6.000 0 1 0 3
-	1 0 2.00 120.00 240.00
-	 1575 3150 1575 2775 1950 2700
-	 0.000 -1.000 0.000
-4 0 -1 50 0 2 35 0.0000 4 345 1740 6375 4200 Internet\001
-4 0 0 50 0 0 18 0.0000 4 255 1770 2025 3450 /etc/xml/catalog\001
-4 0 -1 50 0 0 22 0.0000 4 255 810 3825 4500 XML\001
diff --git a/doc/catalog.gif b/doc/catalog.gif
deleted file mode 100644
index f2e2bd3..0000000
--- a/doc/catalog.gif
+++ /dev/null
Binary files differ
diff --git a/doc/catalog.html b/doc/catalog.html
deleted file mode 100644
index df6383c..0000000
--- a/doc/catalog.html
+++ /dev/null
@@ -1,261 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Catalog support</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Catalog support</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol>
-  <li><a href="General2">General overview</a></li>
-  <li><a href="#definition">The definition</a></li>
-  <li><a href="#Simple">Using catalogs</a></li>
-  <li><a href="#Some">Some examples</a></li>
-  <li><a href="#reference">How to tune  catalog usage</a></li>
-  <li><a href="#validate">How to debug catalog processing</a></li>
-  <li><a href="#Declaring">How to create and maintain catalogs</a></li>
-  <li><a href="#implemento">The implementor corner quick review of the
-  API</a></li>
-  <li><a href="#Other">Other resources</a></li>
-</ol><h3><a name="General2" id="General2">General overview</a></h3><p>What is a catalog? Basically it's a lookup mechanism used when an entity
-(a file or a remote resource) references another entity. The catalog lookup
-is inserted between the moment the reference is recognized by the software
-(XML parser, stylesheet processing, or even images referenced for inclusion
-in a rendering) and the time where loading that resource is actually
-started.</p><p>It is basically used for 3 things:</p><ul>
-  <li>mapping from "logical" names, the public identifiers and a more
-    concrete name usable for download (and URI). For example it can associate
-    the logical name
-    <p>"-//OASIS//DTD DocBook XML V4.1.2//EN"</p>
-    <p>of the DocBook 4.1.2 XML DTD with the actual URL where it can be
-    downloaded</p>
-    <p>http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd</p>
-  </li>
-  <li>remapping from a given URL to another one, like an HTTP indirection
-    saying that
-    <p>"http://www.oasis-open.org/committes/tr.xsl"</p>
-    <p>should really be looked at</p>
-    <p>"http://www.oasis-open.org/committes/entity/stylesheets/base/tr.xsl"</p>
-  </li>
-  <li>providing a local cache mechanism allowing to load the entities
-    associated to public identifiers or remote resources, this is a really
-    important feature for any significant deployment of XML or SGML since it
-    allows to avoid the aleas and delays associated to fetching remote
-    resources.</li>
-</ul><h3><a name="definition" id="definition">The definitions</a></h3><p>Libxml, as of 2.4.3 implements 2 kind of catalogs:</p><ul>
-  <li>the older SGML catalogs, the official spec is  SGML Open Technical
-    Resolution TR9401:1997, but is better understood by reading <a href="http://www.jclark.com/sp/catalog.htm">the SP Catalog page</a> from
-    James Clark. This is relatively old and not the preferred mode of
-    operation of libxml.</li>
-  <li><a href="http://www.oasis-open.org/committees/entity/spec.html">XML
-    Catalogs</a> is far more flexible, more recent, uses an XML syntax and
-    should scale quite better. This is the default option of libxml.</li>
-</ul><p></p><h3><a name="Simple" id="Simple">Using catalog</a></h3><p>In a normal environment libxml2 will by default check the presence of a
-catalog in /etc/xml/catalog, and assuming it has been correctly populated,
-the processing is completely transparent to the document user. To take a
-concrete example, suppose you are authoring a DocBook document, this one
-starts with the following DOCTYPE definition:</p><pre>&lt;?xml version='1.0'?&gt;
-&lt;!DOCTYPE book PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
-          "http://nwalsh.com/docbook/xml/3.1.4/db3xml.dtd"&gt;</pre><p>When validating the document with libxml, the catalog will be
-automatically consulted to lookup the public identifier "-//Norman Walsh//DTD
-DocBk XML V3.1.4//EN" and the system identifier
-"http://nwalsh.com/docbook/xml/3.1.4/db3xml.dtd", and if these entities have
-been installed on your system and the catalogs actually point to them, libxml
-will fetch them from the local disk.</p><p style="font-size: 10pt"><strong>Note</strong>: Really don't use this
-DOCTYPE example it's a really old version, but is fine as an example.</p><p>Libxml2 will check the catalog each time that it is requested to load an
-entity, this includes DTD, external parsed entities, stylesheets, etc ... If
-your system is correctly configured all the authoring phase and processing
-should use only local files, even if your document stays portable because it
-uses the canonical public and system ID, referencing the remote document.</p><h3><a name="Some" id="Some">Some examples:</a></h3><p>Here is a couple of fragments from XML Catalogs used in libxml2 early
-regression tests in <code>test/catalogs</code> :</p><pre>&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE catalog PUBLIC 
-   "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
-   "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
-&lt;catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"&gt;
-  &lt;public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
-   uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/&gt;
-...</pre><p>This is the beginning of a catalog for DocBook 4.1.2, XML Catalogs are
-written in XML,  there is a specific namespace for catalog elements
-"urn:oasis:names:tc:entity:xmlns:xml:catalog". The first entry in this
-catalog is a <code>public</code> mapping it allows to associate a Public
-Identifier with an URI.</p><pre>...
-    &lt;rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/"
-                   rewritePrefix="file:///usr/share/xml/docbook/"/&gt;
-...</pre><p>A <code>rewriteSystem</code> is a very powerful instruction, it says that
-any URI starting with a given prefix should be looked at another  URI
-constructed by replacing the prefix with an new one. In effect this acts like
-a cache system for a full area of the Web. In practice it is extremely useful
-with a file prefix if you have installed a copy of those resources on your
-local system.</p><pre>...
-&lt;delegatePublic publicIdStartString="-//OASIS//DTD XML Catalog //"
-                catalog="file:///usr/share/xml/docbook.xml"/&gt;
-&lt;delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook XML"
-                catalog="file:///usr/share/xml/docbook.xml"/&gt;
-&lt;delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML"
-                catalog="file:///usr/share/xml/docbook.xml"/&gt;
-&lt;delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/"
-                catalog="file:///usr/share/xml/docbook.xml"/&gt;
-&lt;delegateURI uriStartString="http://www.oasis-open.org/docbook/"
-                catalog="file:///usr/share/xml/docbook.xml"/&gt;
-...</pre><p>Delegation is the core features which allows to build a tree of catalogs,
-easier to maintain than a single catalog, based on Public Identifier, System
-Identifier or URI prefixes it instructs the catalog software to look up
-entries in another resource. This feature allow to build hierarchies of
-catalogs, the set of entries presented should be sufficient to redirect the
-resolution of all DocBook references to the specific catalog in
-<code>/usr/share/xml/docbook.xml</code> this one in turn could delegate all
-references for DocBook 4.2.1 to a specific catalog installed at the same time
-as the DocBook resources on the local machine.</p><h3><a name="reference" id="reference">How to tune catalog usage:</a></h3><p>The user can change the default catalog behaviour by redirecting queries
-to its own set of catalogs, this can be done by setting the
-<code>XML_CATALOG_FILES</code> environment variable to a list of catalogs, an
-empty one should deactivate loading the default <code>/etc/xml/catalog</code>
-default catalog</p><h3><a name="validate" id="validate">How to debug catalog processing:</a></h3><p>Setting up the <code>XML_DEBUG_CATALOG</code> environment variable will
-make libxml2 output debugging information for each catalog operations, for
-example:</p><pre>orchis:~/XML -&gt; xmllint --memory --noout test/ent2
-warning: failed to load external entity "title.xml"
-orchis:~/XML -&gt; export XML_DEBUG_CATALOG=
-orchis:~/XML -&gt; xmllint --memory --noout test/ent2
-Failed to parse catalog /etc/xml/catalog
-Failed to parse catalog /etc/xml/catalog
-warning: failed to load external entity "title.xml"
-Catalogs cleanup
-orchis:~/XML -&gt; </pre><p>The test/ent2 references an entity, running the parser from memory makes
-the base URI unavailable and the the "title.xml" entity cannot be loaded.
-Setting up the debug environment variable allows to detect that an attempt is
-made to load the <code>/etc/xml/catalog</code> but since it's not present the
-resolution fails.</p><p>But the most advanced way to debug XML catalog processing is to use the
-<strong>xmlcatalog</strong> command shipped with libxml2, it allows to load
-catalogs and make resolution queries to see what is going on. This is also
-used for the regression tests:</p><pre>orchis:~/XML -&gt; ./xmlcatalog test/catalogs/docbook.xml \
-                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
-http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-orchis:~/XML -&gt; </pre><p>For debugging what is going on, adding one -v flags increase the verbosity
-level to indicate the processing done (adding a second flag also indicate
-what elements are recognized at parsing):</p><pre>orchis:~/XML -&gt; ./xmlcatalog -v test/catalogs/docbook.xml \
-                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
-Parsing catalog test/catalogs/docbook.xml's content
-Found public match -//OASIS//DTD DocBook XML V4.1.2//EN
-http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-Catalogs cleanup
-orchis:~/XML -&gt; </pre><p>A shell interface is also available to debug and process multiple queries
-(and for regression tests):</p><pre>orchis:~/XML -&gt; ./xmlcatalog -shell test/catalogs/docbook.xml \
-                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
-&gt; help   
-Commands available:
-public PublicID: make a PUBLIC identifier lookup
-system SystemID: make a SYSTEM identifier lookup
-resolve PublicID SystemID: do a full resolver lookup
-add 'type' 'orig' 'replace' : add an entry
-del 'values' : remove values
-dump: print the current catalog state
-debug: increase the verbosity level
-quiet: decrease the verbosity level
-exit:  quit the shell
-&gt; public "-//OASIS//DTD DocBook XML V4.1.2//EN"
-http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-&gt; quit
-orchis:~/XML -&gt; </pre><p>This should be sufficient for most debugging purpose, this was actually
-used heavily to debug the XML Catalog implementation itself.</p><h3><a name="Declaring" id="Declaring">How to create and maintain</a> catalogs:</h3><p>Basically XML Catalogs are XML files, you can either use XML tools to
-manage them or use  <strong>xmlcatalog</strong> for this. The basic step is
-to create a catalog the -create option provide this facility:</p><pre>orchis:~/XML -&gt; ./xmlcatalog --create tst.xml
-&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
-         "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
-&lt;catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"/&gt;
-orchis:~/XML -&gt; </pre><p>By default xmlcatalog does not overwrite the original catalog and save the
-result on the standard output, this can be overridden using the -noout
-option. The <code>-add</code> command allows to add entries in the
-catalog:</p><pre>orchis:~/XML -&gt; ./xmlcatalog --noout --create --add "public" \
-  "-//OASIS//DTD DocBook XML V4.1.2//EN" \
-  http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd tst.xml
-orchis:~/XML -&gt; cat tst.xml
-&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" \
-  "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
-&lt;catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"&gt;
-&lt;public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
-        uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/&gt;
-&lt;/catalog&gt;
-orchis:~/XML -&gt; </pre><p>The <code>-add</code> option will always take 3 parameters even if some of
-the XML Catalog constructs (like nextCatalog) will have only a single
-argument, just pass a third empty string, it will be ignored.</p><p>Similarly the <code>-del</code> option remove matching entries from the
-catalog:</p><pre>orchis:~/XML -&gt; ./xmlcatalog --del \
-  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" tst.xml
-&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
-    "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
-&lt;catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"/&gt;
-orchis:~/XML -&gt; </pre><p>The catalog is now empty. Note that the matching of <code>-del</code> is
-exact and would have worked in a similar fashion with the Public ID
-string.</p><p>This is rudimentary but should be sufficient to manage a not too complex
-catalog tree of resources.</p><h3><a name="implemento" id="implemento">The implementor corner quick review of the
-API:</a></h3><p>First, and like for every other module of libxml, there is an
-automatically generated <a href="html/libxml-catalog.html">API page for
-catalog support</a>.</p><p>The header for the catalog interfaces should be included as:</p><pre>#include &lt;libxml/catalog.h&gt;</pre><p>The API is voluntarily kept very simple. First it is not obvious that
-applications really need access to it since it is the default behaviour of
-libxml2 (Note: it is possible to completely override libxml2 default catalog
-by using <a href="html/libxml-parser.html">xmlSetExternalEntityLoader</a> to
-plug an application specific resolver).</p><p>Basically libxml2 support 2 catalog lists:</p><ul>
-  <li>the default one, global shared by all the application</li>
-  <li>a per-document catalog, this one is built if the document uses the
-    <code>oasis-xml-catalog</code> PIs to specify its own catalog list, it is
-    associated to the parser context and destroyed when the parsing context
-    is destroyed.</li>
-</ul><p>the document one will be used first if it exists.</p><h4>Initialization routines:</h4><p>xmlInitializeCatalog(), xmlLoadCatalog() and xmlLoadCatalogs() should be
-used at startup to initialize the catalog, if the catalog should be
-initialized with specific values xmlLoadCatalog()  or xmlLoadCatalogs()
-should be called before xmlInitializeCatalog() which would otherwise do a
-default initialization first.</p><p>The xmlCatalogAddLocal() call is used by the parser to grow the document
-own catalog list if needed.</p><h4>Preferences setup:</h4><p>The XML Catalog spec requires the possibility to select default
-preferences between  public and system delegation,
-xmlCatalogSetDefaultPrefer() allows this, xmlCatalogSetDefaults() and
-xmlCatalogGetDefaults() allow to control  if XML Catalogs resolution should
-be forbidden, allowed for global catalog, for document catalog or both, the
-default is to allow both.</p><p>And of course xmlCatalogSetDebug() allows to generate debug messages
-(through the xmlGenericError() mechanism).</p><h4>Querying routines:</h4><p>xmlCatalogResolve(), xmlCatalogResolveSystem(), xmlCatalogResolvePublic()
-and xmlCatalogResolveURI() are relatively explicit if you read the XML
-Catalog specification they correspond to section 7 algorithms, they should
-also work if you have loaded an SGML catalog with a simplified semantic.</p><p>xmlCatalogLocalResolve() and xmlCatalogLocalResolveURI() are the same but
-operate on the document catalog list</p><h4>Cleanup and Miscellaneous:</h4><p>xmlCatalogCleanup() free-up the global catalog, xmlCatalogFreeLocal() is
-the per-document equivalent.</p><p>xmlCatalogAdd() and xmlCatalogRemove() are used to dynamically modify the
-first catalog in the global list, and xmlCatalogDump() allows to dump a
-catalog state, those routines are primarily designed for xmlcatalog, I'm not
-sure that exposing more complex interfaces (like navigation ones) would be
-really useful.</p><p>The xmlParseCatalogFile() is a function used to load XML Catalog files,
-it's similar as xmlParseFile() except it bypass all catalog lookups, it's
-provided because this functionality may be useful for client tools.</p><h4>threaded environments:</h4><p>Since the catalog tree is built progressively, some care has been taken to
-try to avoid troubles in multithreaded environments. The code is now thread
-safe assuming that the libxml2 library has been compiled with threads
-support.</p><p></p><h3><a name="Other" id="Other">Other resources</a></h3><p>The XML Catalog specification is relatively recent so there isn't much
-literature to point at:</p><ul>
-  <li>You can find a good rant from Norm Walsh about <a href="http://www.arbortext.com/Think_Tank/XML_Resources/Issue_Three/issue_three.html">the
-    need for catalogs</a>, it provides a lot of context information even if
-    I don't agree with everything presented. Norm also wrote a more recent
-    article <a href="http://wwws.sun.com/software/xml/developers/resolver/article/">XML
-    entities and URI resolvers</a> describing them.</li>
-  <li>An <a href="http://home.ccil.org/~cowan/XML/XCatalog.html">old XML
-    catalog proposal</a> from John Cowan</li>
-  <li>The <a href="http://www.rddl.org/">Resource Directory Description
-    Language</a> (RDDL) another catalog system but more oriented toward
-    providing metadata for XML namespaces.</li>
-  <li>the page from the OASIS Technical <a href="http://www.oasis-open.org/committees/entity/">Committee on Entity
-    Resolution</a> who maintains XML Catalog, you will find pointers to the
-    specification update, some background and pointers to others tools
-    providing XML Catalog support</li>
-  <li>There is a <a href="buildDocBookCatalog">shell script</a> to generate
-    XML Catalogs for DocBook 4.1.2 . If it can write to the /etc/xml/
-    directory, it will set-up /etc/xml/catalog and /etc/xml/docbook based on
-    the resources found on the system. Otherwise it will just create
-    ~/xmlcatalog and ~/dbkxmlcatalog and doing:
-    <p><code>export XML_CATALOG_FILES=$HOME/xmlcatalog</code></p>
-    <p>should allow to process DocBook documentations without requiring
-    network accesses for the DTD or stylesheets</p>
-  </li>
-  <li>I have uploaded <a href="ftp://xmlsoft.org/libxml2/test/dbk412catalog.tar.gz">a
-    small tarball</a> containing XML Catalogs for DocBook 4.1.2 which seems
-    to work fine for me too</li>
-  <li>The <a href="http://www.xmlsoft.org/xmlcatalog_man.html">xmlcatalog
-    manual page</a></li>
-</ul><p>If you have suggestions for corrections or additions, simply contact
-me:</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/checkapisym.xsl b/doc/checkapisym.xsl
deleted file mode 100644
index 8591393..0000000
--- a/doc/checkapisym.xsl
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!-- This stylesheet is used to check that symbols exported
-     from libxml2-api.xml are also present in the symbol file
-     symbols.xml which is used to generate libxml2.syms setting
-     up the allowed access point to the shared libraries -->
-
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0">
-  <xsl:output method="text" encoding="UTF-8"/>
-
-  <xsl:variable name="syms" select="document('symbols.xml')"/>
-
-  <xsl:template match="/">
-    <xsl:message terminate="no">
-      <xsl:text>Looking for functions in symbols.xml</xsl:text>
-    </xsl:message>
-    <xsl:apply-templates select="/api/symbols/function"/>
-    <xsl:message terminate="no">
-      <xsl:text>Found </xsl:text>
-      <xsl:value-of select="count(/api/symbols/function)"/>
-      <xsl:text> functions</xsl:text>
-    </xsl:message>
-    <xsl:message terminate="no">
-      <xsl:text>Looking for variables in symbols.xml</xsl:text>
-    </xsl:message>
-    <xsl:apply-templates select="/api/symbols/variable"/>
-    <xsl:message terminate="no">
-      <xsl:text>Found </xsl:text>
-      <xsl:value-of select="count(/api/symbols/variable)"/>
-      <xsl:text> variables</xsl:text>
-    </xsl:message>
-  </xsl:template>
-
-  <xsl:template match="function|variable">
-    <xsl:variable name="name" select="@name"/>
-    <xsl:variable name="symbol"
-        select="$syms/symbols/release/symbol[. = $name]"/>
-    <xsl:if test="string($symbol) != $name">
-      <xsl:message terminate="yes">
-        <xsl:text>Failed to find export in symbols.xml: </xsl:text>
-        <xsl:value-of select="$name"/>
-      </xsl:message>
-    </xsl:if>
-  </xsl:template>
-
-</xsl:stylesheet>
-
diff --git a/doc/contribs.html b/doc/contribs.html
deleted file mode 100644
index 7a9cee2..0000000
--- a/doc/contribs.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Contributions</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Contributions</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><ul>
-  <li>Bjorn Reese, William Brack and Thomas Broyer have provided a number of
-    patches, Gary Pennington worked on the validation API, threading support
-    and Solaris port.</li>
-  <li>John Fleck helps maintaining the documentation and man pages.</li>
-  <li><a href="mailto:igor@zlatkovic.com">Igor  Zlatkovic</a> is now the
-    maintainer of the Windows port, <a href="http://www.zlatkovic.com/projects/libxml/index.html">he provides
-    binaries</a></li>
-  <li><a href="mailto:Gary.Pennington@sun.com">Gary Pennington</a> provides
-    <a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
-  <li><a href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
-    Sergeant</a> developed <a href="http://axkit.org/download/">XML::LibXSLT</a>, a Perl wrapper for
-    libxml2/libxslt as part of the <a href="http://axkit.com/">AxKit XML
-    application server</a></li>
-  <li><a href="mailto:fnatter@gmx.net">Felix Natter</a> and <a href="mailto:geertk@ai.rug.nl">Geert Kloosterman</a> provide <a href="libxml-doc.el">an emacs module</a> to lookup libxml(2) functions
-    documentation</li>
-  <li><a href="mailto:sherwin@nlm.nih.gov">Ziying Sherwin</a> provided <a href="http://xmlsoft.org/messages/0488.html">man pages</a></li>
-  <li>there is a module for <a href="http://acs-misc.sourceforge.net/nsxml.html">libxml/libxslt support
-    in OpenNSD/AOLServer</a></li>
-  <li><a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provided the
-    first version of libxml/libxslt <a href="http://www.rexx.com/~dkuhlman">wrappers for Python</a></li>
-  <li>Petr Kozelka provides <a href="http://sourceforge.net/projects/libxml2-pas">Pascal units to glue
-    libxml2</a> with Kylix and Delphi and other Pascal compilers</li>
-  <li><a href="mailto:aleksey@aleksey.com">Aleksey Sanin</a> implemented the
-    <a href="http://www.w3.org/Signature/">XML Canonicalization and XML
-    Digital Signature</a> <a href="http://www.aleksey.com/xmlsec/">implementations for libxml2</a></li>
-  <li><a href="mailto:Steve.Ball@explain.com.au">Steve Ball</a> and
-    contributors maintain <a href="http://tclxml.sourceforge.net/">tcl
-    bindings for libxml2 and libxslt</a>, as well as <a href="http://tclxml.sf.net/tkxmllint.html">tkxmllint</a> a GUI for
-    xmllint and <a href="http://tclxml.sf.net/tkxsltproc.html">tkxsltproc</a>
-    a GUI for xsltproc.</li>
-</ul><p></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/devhelp/Makefile.am b/doc/devhelp/Makefile.am
index 3850fd3..d70dc37 100644
--- a/doc/devhelp/Makefile.am
+++ b/doc/devhelp/Makefile.am
@@ -16,7 +16,6 @@
 	libxml2-chvalid.html		\
 	libxml2-debugXML.html		\
 	libxml2-dict.html		\
-	libxml2-DOCBparser.html		\
 	libxml2-encoding.html		\
 	libxml2-entities.html		\
 	libxml2-globals.html		\
@@ -68,12 +67,5 @@
 
 EXTRA_DIST = devhelp2.xsl html.xsl
 
-if REBUILD_DOCS
-rebuild: libxml2.devhelp2 $(HTML_FILES)
-.PHONY: rebuild
-
-libxml2.devhelp2 $(HTML_FILES): devhelp2.xsl html.xsl $(top_srcdir)/doc/libxml2-api.xml
-	-@(if [ -x $(XSLTPROC) ] ; then \
-	  echo Rebuilding devhelp2 files ; \
-	  $(XSLTPROC) --nonet -o $(srcdir)/libxml2.devhelp2 $(srcdir)/devhelp2.xsl $(top_srcdir)/doc/libxml2-api.xml ; fi );
-endif
+rebuild:
+	(cd $(srcdir) && $(XSLTPROC) -o libxml2.devhelp2 devhelp2.xsl ../libxml2-api.xml)
diff --git a/doc/devhelp/devhelp2.xsl b/doc/devhelp/devhelp2.xsl
index 92cc7f6..d04dc50 100644
--- a/doc/devhelp/devhelp2.xsl
+++ b/doc/devhelp/devhelp2.xsl
@@ -33,7 +33,7 @@
     <xsl:variable name="prev" select="string(preceding-sibling::file[position()=1]/@name)"/>
     <xsl:variable name="next" select="string(following-sibling::file[position()=1]/@name)"/>
     <sub name="{@name}" link="libxml2-{@name}.html"/>
-    <xsl:document xmlns="" href="libxml2-{@name}.html" method="xml" indent="yes" encoding="UTF-8">
+    <xsl:document xmlns="" href="libxml2-{@name}.html" method="html" indent="yes" encoding="UTF-8">
       <html>
         <head>
 	  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
diff --git a/doc/devhelp/general.html b/doc/devhelp/general.html
index 1076c38..8b7ae7b 100644
--- a/doc/devhelp/general.html
+++ b/doc/devhelp/general.html
@@ -1,38 +1,21 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>libxml2: </title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="index.html" title="libxml2 Reference Manual"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="u" href="index.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-DOCBparser.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">libxml2 API Modules</span>
-    </h2>
-    <p><a href="libxml2-DOCBparser.html">DOCBparser</a> - old DocBook SGML parser<br/><a href="libxml2-HTMLparser.html">HTMLparser</a> - interface for an HTML 4.0 non-verifying parser<br/><a href="libxml2-HTMLtree.html">HTMLtree</a> - specific APIs to process HTML tree, especially serialization<br/><a href="libxml2-SAX.html">SAX</a> - Old SAX version 1 handler, deprecated<br/><a href="libxml2-SAX2.html">SAX2</a> - SAX2 parser interface used to build the DOM tree<br/><a href="libxml2-c14n.html">c14n</a> - Provide Canonical XML and Exclusive XML Canonicalization<br/><a href="libxml2-catalog.html">catalog</a> - interfaces to the Catalog handling system<br/><a href="libxml2-chvalid.html">chvalid</a> - Unicode character range checking<br/><a href="libxml2-debugXML.html">debugXML</a> - Tree debugging APIs<br/><a href="libxml2-dict.html">dict</a> - string dictionary<br/><a href="libxml2-encoding.html">encoding</a> - interface for the encoding conversion functions<br/><a href="libxml2-entities.html">entities</a> - interface for the XML entities handling<br/><a href="libxml2-globals.html">globals</a> - interface for all global variables of the library<br/><a href="libxml2-hash.html">hash</a> - Chained hash tables<br/><a href="libxml2-list.html">list</a> - lists interfaces<br/><a href="libxml2-nanoftp.html">nanoftp</a> - minimal FTP implementation<br/><a href="libxml2-nanohttp.html">nanohttp</a> - minimal HTTP implementation<br/><a href="libxml2-parser.html">parser</a> - the core parser module<br/><a href="libxml2-parserInternals.html">parserInternals</a> - internals routines and limits exported by the parser.<br/><a href="libxml2-pattern.html">pattern</a> - pattern expression handling<br/><a href="libxml2-relaxng.html">relaxng</a> - implementation of the Relax-NG validation<br/><a href="libxml2-schemasInternals.html">schemasInternals</a> - internal interfaces for XML Schemas<br/><a href="libxml2-schematron.html">schematron</a> - XML Schemastron implementation<br/><a href="libxml2-threads.html">threads</a> - interfaces for thread handling<br/><a href="libxml2-tree.html">tree</a> - interfaces for tree manipulation<br/><a href="libxml2-uri.html">uri</a> - library of generic URI related routines<br/><a href="libxml2-valid.html">valid</a> - The DTD validation<br/><a href="libxml2-xinclude.html">xinclude</a> - implementation of XInclude<br/><a href="libxml2-xlink.html">xlink</a> - unfinished XLink detection module<br/><a href="libxml2-xmlIO.html">xmlIO</a> - interface for the I/O interfaces used by the parser<br/><a href="libxml2-xmlautomata.html">xmlautomata</a> - API to build regexp automata<br/><a href="libxml2-xmlerror.html">xmlerror</a> - error handling<br/><a href="libxml2-xmlexports.html">xmlexports</a> - macros for marking symbols as exportable/importable.<br/><a href="libxml2-xmlmemory.html">xmlmemory</a> - interface for the memory allocator<br/><a href="libxml2-xmlmodule.html">xmlmodule</a> - dynamic module loading<br/><a href="libxml2-xmlreader.html">xmlreader</a> - the XMLReader implementation<br/><a href="libxml2-xmlregexp.html">xmlregexp</a> - regular expressions handling<br/><a href="libxml2-xmlsave.html">xmlsave</a> - the XML document serializer<br/><a href="libxml2-xmlschemas.html">xmlschemas</a> - incomplete XML Schemas structure implementation<br/><a href="libxml2-xmlschemastypes.html">xmlschemastypes</a> - implementation of XML Schema Datatypes<br/><a href="libxml2-xmlstring.html">xmlstring</a> - set of routines to process strings<br/><a href="libxml2-xmlunicode.html">xmlunicode</a> - Unicode character APIs<br/><a href="libxml2-xmlversion.html">xmlversion</a> - compile-time version information<br/><a href="libxml2-xmlwriter.html">xmlwriter</a> - text writing API for XML<br/><a href="libxml2-xpath.html">xpath</a> - XML Path Language implementation<br/><a href="libxml2-xpathInternals.html">xpathInternals</a> - internal interfaces for XML Path Language implementation<br/><a href="libxml2-xpointer.html">xpointer</a> - API to handle XML Pointers<br/></p>
-  </body>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>libxml2: </title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="index.html" title="libxml2 Reference Manual">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="index.html" title="libxml2 Reference Manual">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-HTMLparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">libxml2 API Modules</span></h2>
+<p><a href="libxml2-HTMLparser.html">HTMLparser</a> - interface for an HTML 4.0 non-verifying parser<br><a href="libxml2-HTMLtree.html">HTMLtree</a> - specific APIs to process HTML tree, especially serialization<br><a href="libxml2-SAX.html">SAX</a> - Old SAX version 1 handler, deprecated<br><a href="libxml2-SAX2.html">SAX2</a> - SAX2 parser interface used to build the DOM tree<br><a href="libxml2-c14n.html">c14n</a> - Provide Canonical XML and Exclusive XML Canonicalization<br><a href="libxml2-catalog.html">catalog</a> - interfaces to the Catalog handling system<br><a href="libxml2-chvalid.html">chvalid</a> - Unicode character range checking<br><a href="libxml2-debugXML.html">debugXML</a> - Tree debugging APIs<br><a href="libxml2-dict.html">dict</a> - string dictionary<br><a href="libxml2-encoding.html">encoding</a> - interface for the encoding conversion functions<br><a href="libxml2-entities.html">entities</a> - interface for the XML entities handling<br><a href="libxml2-globals.html">globals</a> - interface for all global variables of the library<br><a href="libxml2-hash.html">hash</a> - Chained hash tables<br><a href="libxml2-list.html">list</a> - lists interfaces<br><a href="libxml2-nanoftp.html">nanoftp</a> - minimal FTP implementation<br><a href="libxml2-nanohttp.html">nanohttp</a> - minimal HTTP implementation<br><a href="libxml2-parser.html">parser</a> - the core parser module<br><a href="libxml2-parserInternals.html">parserInternals</a> - internals routines and limits exported by the parser.<br><a href="libxml2-pattern.html">pattern</a> - pattern expression handling<br><a href="libxml2-relaxng.html">relaxng</a> - implementation of the Relax-NG validation<br><a href="libxml2-schemasInternals.html">schemasInternals</a> - internal interfaces for XML Schemas<br><a href="libxml2-schematron.html">schematron</a> - XML Schematron implementation<br><a href="libxml2-threads.html">threads</a> - interfaces for thread handling<br><a href="libxml2-tree.html">tree</a> - interfaces for tree manipulation<br><a href="libxml2-uri.html">uri</a> - library of generic URI related routines<br><a href="libxml2-valid.html">valid</a> - The DTD validation<br><a href="libxml2-xinclude.html">xinclude</a> - implementation of XInclude<br><a href="libxml2-xlink.html">xlink</a> - unfinished XLink detection module<br><a href="libxml2-xmlIO.html">xmlIO</a> - interface for the I/O interfaces used by the parser<br><a href="libxml2-xmlautomata.html">xmlautomata</a> - API to build regexp automata<br><a href="libxml2-xmlerror.html">xmlerror</a> - error handling<br><a href="libxml2-xmlexports.html">xmlexports</a> - macros for marking symbols as exportable/importable.<br><a href="libxml2-xmlmemory.html">xmlmemory</a> - interface for the memory allocator<br><a href="libxml2-xmlmodule.html">xmlmodule</a> - dynamic module loading<br><a href="libxml2-xmlreader.html">xmlreader</a> - the XMLReader implementation<br><a href="libxml2-xmlregexp.html">xmlregexp</a> - regular expressions handling<br><a href="libxml2-xmlsave.html">xmlsave</a> - the XML document serializer<br><a href="libxml2-xmlschemas.html">xmlschemas</a> - incomplete XML Schemas structure implementation<br><a href="libxml2-xmlschemastypes.html">xmlschemastypes</a> - implementation of XML Schema Datatypes<br><a href="libxml2-xmlstring.html">xmlstring</a> - set of routines to process strings<br><a href="libxml2-xmlunicode.html">xmlunicode</a> - Unicode character APIs<br><a href="libxml2-xmlversion.html">xmlversion</a> - compile-time version information<br><a href="libxml2-xmlwriter.html">xmlwriter</a> - text writing API for XML<br><a href="libxml2-xpath.html">xpath</a> - XML Path Language implementation<br><a href="libxml2-xpathInternals.html">xpathInternals</a> - internal interfaces for XML Path Language implementation<br><a href="libxml2-xpointer.html">xpointer</a> - API to handle XML Pointers<br></p>
+</body>
 </html>
diff --git a/doc/devhelp/html.xsl b/doc/devhelp/html.xsl
index da22621..3fce938 100644
--- a/doc/devhelp/html.xsl
+++ b/doc/devhelp/html.xsl
@@ -4,8 +4,6 @@
 		xmlns:str="http://exslt.org/strings"
 		extension-element-prefixes="exsl str"
 		exclude-result-prefixes="exsl str">
-  <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
-
   <!-- This is convoluted but needed to force the current document to
        be the API one and not the result tree from the tokenize() result,
        because the keys are only defined on the main document -->
@@ -16,6 +14,20 @@
       <xsl:when test="$ref">
         <a href="libxml2-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
       </xsl:when>
+      <!-- TODO: This hack only works for tokens followed by a period. -->
+      <xsl:when test="substring($token, string-length($token)) = '.'">
+        <xsl:variable name="token2" select="substring($token, 1, string-length($token) - 1)"/>
+        <xsl:variable name="ref2" select="key('symbols', $token2)"/>
+        <xsl:choose>
+          <xsl:when test="$ref2">
+            <a href="libxml2-{$ref2/@file}.html#{$ref2/@name}"><xsl:value-of select="$token2"/></a>
+            <xsl:text>.</xsl:text>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="$token"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
       <xsl:otherwise>
         <xsl:value-of select="$token"/>
       </xsl:otherwise>
@@ -497,7 +509,7 @@
 -->
   <xsl:template name="generate_general">
     <xsl:variable name="next" select="string(/api/files/file[position()=1]/@name)"/>
-    <xsl:document xmlns="" href="general.html" method="xml" indent="yes" encoding="UTF-8">
+    <xsl:document xmlns="" href="general.html" method="html" indent="yes" encoding="UTF-8">
       <html>
         <head>
 	  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
@@ -537,7 +549,7 @@
 
 -->
   <xsl:template name="generate_index">
-    <xsl:document xmlns="" href="index.html" method="xml" indent="yes" encoding="UTF-8">
+    <xsl:document xmlns="" href="index.html" method="html" indent="yes" encoding="UTF-8">
       <html>
         <head>
 	  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
diff --git a/doc/devhelp/index.html b/doc/devhelp/index.html
index ae6c49e..66c4ff8 100644
--- a/doc/devhelp/index.html
+++ b/doc/devhelp/index.html
@@ -1,31 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>libxml2 Reference Manual</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="general.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">libxml2 Reference Manual</span>
-    </h2>
-    <p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>libxml2 Reference Manual</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="general.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">libxml2 Reference Manual</span></h2>
+<p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
 (but usable outside of the Gnome platform), it is free software available
 under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
 License</a>. XML itself is a metalanguage to design markup languages, i.e.
@@ -33,30 +20,43 @@
 extra "markup" information enclosed between angle brackets. HTML is the most
 well-known markup language. Though the library is written in C, a variety of
 language bindings make it available in other environments.</p>
-    <p>Libxml2 implements a number of existing standards related to markup
+<p>Libxml2 implements a number of existing standards related to markup
 languages:</p>
-    <ul>
-      <li>the XML standard: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></li>
-      <li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a></li>
-      <li>XML Base: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a></li>
-      <li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
-Uniform Resource Identifiers <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a></li>
-      <li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a></li>
-      <li>HTML4 parser: <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a></li>
-      <li>XML Pointer Language (XPointer) Version 1.0: <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a></li>
-      <li>XML Inclusions (XInclude) Version 1.0: <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a></li>
-      <li>ISO-8859-x encodings, as well as <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
+<ul>
+<li>the XML standard: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a>
+</li>
+<li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a>
+</li>
+<li>XML Base: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
+</li>
+<li>
+<a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
+Uniform Resource Identifiers <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a>
+</li>
+<li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a>
+</li>
+<li>HTML4 parser: <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a>
+</li>
+<li>XML Pointer Language (XPointer) Version 1.0: <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a>
+</li>
+<li>XML Inclusions (XInclude) Version 1.0: <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a>
+</li>
+<li>ISO-8859-x encodings, as well as <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
 and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>
 [UTF-16] Unicode encodings, and more if using iconv support</li>
-      <li>part of SGML Open Technical Resolution TR9401:1997</li>
-      <li>XML Catalogs Working Draft 06 August 2001: <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a></li>
-      <li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
-and the Exclusive XML Canonicalization CR draft <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a></li>
-      <li>Relax NG, ISO/IEC 19757-2:2003, <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a></li>
-      <li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
-2001</a></li>
-      <li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7
+<li>part of SGML Open Technical Resolution TR9401:1997</li>
+<li>XML Catalogs Working Draft 06 August 2001: <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a>
+</li>
+<li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
+and the Exclusive XML Canonicalization CR draft <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a>
+</li>
+<li>Relax NG, ISO/IEC 19757-2:2003, <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a>
+</li>
+<li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
+2001</a>
+</li>
+<li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7
 April 2004</li>
-    </ul>
-  </body>
+</ul>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-DOCBparser.html b/doc/devhelp/libxml2-DOCBparser.html
deleted file mode 100644
index a7b514e..0000000
--- a/doc/devhelp/libxml2-DOCBparser.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>DOCBparser: old DocBook SGML parser</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-HTMLparser.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">DOCBparser</span>
-    </h2>
-    <p>DOCBparser - old DocBook SGML parser</p>
-    <p>interface for a DocBook SGML non-verifying parser This code is DEPRECATED, and should not be used anymore. </p>
-    <p> WARNING: this module is deprecated !</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#docbParserInputPtr">docbParserInputPtr</a>;
-typedef <a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> <a href="#docbParserCtxt">docbParserCtxt</a>;
-typedef <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#docbParserCtxtPtr">docbParserCtxtPtr</a>;
-typedef <a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> <a href="#docbParserInput">docbParserInput</a>;
-typedef <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#docbDocPtr">docbDocPtr</a>;
-typedef <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> <a href="#docbSAXHandler">docbSAXHandler</a>;
-typedef <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> <a href="#docbSAXHandlerPtr">docbSAXHandlerPtr</a>;
-void	<a href="#docbFreeParserCtxt">docbFreeParserCtxt</a>		(<a href="libxml2-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt);
-<a href="libxml2-DOCBparser.html#docbDocPtr">docbDocPtr</a>	<a href="#docbParseDoc">docbParseDoc</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding);
-<a href="libxml2-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a>	<a href="#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a>	(const char * filename, <br/>							 const char * encoding);
-<a href="libxml2-DOCBparser.html#docbDocPtr">docbDocPtr</a>	<a href="#docbSAXParseFile">docbSAXParseFile</a>	(const char * filename, <br/>					 const char * encoding, <br/>					 <a href="libxml2-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br/>					 void * userData);
-<a href="libxml2-DOCBparser.html#docbDocPtr">docbDocPtr</a>	<a href="#docbSAXParseDoc">docbSAXParseDoc</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding, <br/>					 <a href="libxml2-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br/>					 void * userData);
-<a href="libxml2-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a>	<a href="#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a>	(<a href="libxml2-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br/>							 void * user_data, <br/>							 const char * chunk, <br/>							 int size, <br/>							 const char * filename, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-int	<a href="#docbEncodeEntities">docbEncodeEntities</a>		(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen, <br/>					 int quoteChar);
-<a href="libxml2-DOCBparser.html#docbDocPtr">docbDocPtr</a>	<a href="#docbParseFile">docbParseFile</a>		(const char * filename, <br/>					 const char * encoding);
-int	<a href="#docbParseDocument">docbParseDocument</a>		(<a href="libxml2-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt);
-int	<a href="#docbParseChunk">docbParseChunk</a>			(<a href="libxml2-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt, <br/>					 const char * chunk, <br/>					 int size, <br/>					 int terminate);
-</pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="docbDocPtr">Typedef </a>docbDocPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> docbDocPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbParserCtxt">Typedef </a>docbParserCtxt</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> docbParserCtxt;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbParserCtxtPtr">Typedef </a>docbParserCtxtPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> docbParserCtxtPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbParserInput">Typedef </a>docbParserInput</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> docbParserInput;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbParserInputPtr">Typedef </a>docbParserInputPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> docbParserInputPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbSAXHandler">Typedef </a>docbSAXHandler</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> docbSAXHandler;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbSAXHandlerPtr">Typedef </a>docbSAXHandlerPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> docbSAXHandlerPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbCreateFileParserCtxt"/>docbCreateFileParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a>	docbCreateFileParserCtxt	(const char * filename, <br/>							 const char * encoding)<br/>
-</pre><p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbCreatePushParserCtxt"/>docbCreatePushParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a>	docbCreatePushParserCtxt	(<a href="libxml2-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br/>							 void * user_data, <br/>							 const char * chunk, <br/>							 int size, <br/>							 const char * filename, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Create a parser context for using the DocBook SGML parser in push mode To allow content encoding detection, @size should be &gt;= 4 The value of @filename is used for fetching external entities and error/warning reports.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or URI</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbEncodeEntities"/>docbEncodeEntities ()</h3><pre class="programlisting">int	docbEncodeEntities		(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen, <br/>					 int quoteChar)<br/>
-</pre><p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus SGML entities block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i>:</span></td><td>the quote character to escape (' or ") or zero.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbFreeParserCtxt"/>docbFreeParserCtxt ()</h3><pre class="programlisting">void	docbFreeParserCtxt		(<a href="libxml2-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an SGML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbParseChunk"/>docbParseChunk ()</h3><pre class="programlisting">int	docbParseChunk			(<a href="libxml2-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt, <br/>					 const char * chunk, <br/>					 int size, <br/>					 int terminate)<br/>
-</pre><p>Parse a Chunk of memory</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbParseDoc"/>docbParseDoc ()</h3><pre class="programlisting"><a href="libxml2-DOCBparser.html#docbDocPtr">docbDocPtr</a>	docbParseDoc		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding)<br/>
-</pre><p>parse an SGML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbParseDocument"/>docbParseDocument ()</h3><pre class="programlisting">int	docbParseDocument		(<a href="libxml2-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an SGML document (and build a tree if using the standard SAX interface).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an SGML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbParseFile"/>docbParseFile ()</h3><pre class="programlisting"><a href="libxml2-DOCBparser.html#docbDocPtr">docbDocPtr</a>	docbParseFile		(const char * filename, <br/>					 const char * encoding)<br/>
-</pre><p>parse a Docbook SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbSAXParseDoc"/>docbSAXParseDoc ()</h3><pre class="programlisting"><a href="libxml2-DOCBparser.html#docbDocPtr">docbDocPtr</a>	docbSAXParseDoc		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding, <br/>					 <a href="libxml2-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br/>					 void * userData)<br/>
-</pre><p>parse an SGML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbSAXParseFile"/>docbSAXParseFile ()</h3><pre class="programlisting"><a href="libxml2-DOCBparser.html#docbDocPtr">docbDocPtr</a>	docbSAXParseFile	(const char * filename, <br/>					 const char * encoding, <br/>					 <a href="libxml2-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br/>					 void * userData)<br/>
-</pre><p>parse an SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/doc/devhelp/libxml2-HTMLparser.html b/doc/devhelp/libxml2-HTMLparser.html
index 3af5a9c..778753c 100644
--- a/doc/devhelp/libxml2-HTMLparser.html
+++ b/doc/devhelp/libxml2-HTMLparser.html
@@ -1,129 +1,154 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>HTMLparser: interface for an HTML 4.0 non-verifying parser</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-DOCBparser.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-HTMLtree.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">HTMLparser</span>
-    </h2>
-    <p>HTMLparser - interface for an HTML 4.0 non-verifying parser</p>
-    <p>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HTMLparser: interface for an HTML 4.0 non-verifying parser</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-HTMLtree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">HTMLparser</span></h2>
+<p>HTMLparser - interface for an HTML 4.0 non-verifying parser</p>
+<p>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
 #define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a>(parent, elt);
 #define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a>(elt);
-typedef <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> <a href="#htmlParserNodeInfo">htmlParserNodeInfo</a>;
-typedef <a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> <a href="#htmlParserInput">htmlParserInput</a>;
-typedef <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#htmlParserCtxtPtr">htmlParserCtxtPtr</a>;
-typedef struct _htmlEntityDesc <a href="#htmlEntityDesc">htmlEntityDesc</a>;
 typedef <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#htmlDocPtr">htmlDocPtr</a>;
+typedef struct _htmlElemDesc <a href="#htmlElemDesc">htmlElemDesc</a>;
+typedef <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * <a href="#htmlElemDescPtr">htmlElemDescPtr</a>;
+typedef struct _htmlEntityDesc <a href="#htmlEntityDesc">htmlEntityDesc</a>;
+typedef <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * <a href="#htmlEntityDescPtr">htmlEntityDescPtr</a>;
+typedef <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#htmlNodePtr">htmlNodePtr</a>;
+typedef <a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> <a href="#htmlParserCtxt">htmlParserCtxt</a>;
+typedef <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#htmlParserCtxtPtr">htmlParserCtxtPtr</a>;
+typedef <a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> <a href="#htmlParserInput">htmlParserInput</a>;
+typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#htmlParserInputPtr">htmlParserInputPtr</a>;
+typedef <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> <a href="#htmlParserNodeInfo">htmlParserNodeInfo</a>;
+typedef enum <a href="#htmlParserOption">htmlParserOption</a>;
+typedef <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> <a href="#htmlSAXHandler">htmlSAXHandler</a>;
 typedef <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> <a href="#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a>;
 typedef enum <a href="#htmlStatus">htmlStatus</a>;
-typedef <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#htmlNodePtr">htmlNodePtr</a>;
-typedef <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * <a href="#htmlElemDescPtr">htmlElemDescPtr</a>;
-typedef struct _htmlElemDesc <a href="#htmlElemDesc">htmlElemDesc</a>;
-typedef <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> <a href="#htmlSAXHandler">htmlSAXHandler</a>;
-typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#htmlParserInputPtr">htmlParserInputPtr</a>;
-typedef enum <a href="#htmlParserOption">htmlParserOption</a>;
-typedef <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * <a href="#htmlEntityDescPtr">htmlEntityDescPtr</a>;
-typedef <a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> <a href="#htmlParserCtxt">htmlParserCtxt</a>;
-int	<a href="#htmlIsScriptAttribute">htmlIsScriptAttribute</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#htmlHandleOmittedElem">htmlHandleOmittedElem</a>		(int val);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFd">htmlReadFd</a>		(int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadIO">htmlReadIO</a>		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseFile">htmlParseFile</a>		(const char * filename, <br/>					 const char * encoding);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadDoc">htmlCtxtReadDoc</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#htmlAutoCloseTag">htmlAutoCloseTag</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
-int	<a href="#htmlParseChunk">htmlParseChunk</a>			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 const char * chunk, <br/>					 int size, <br/>					 int terminate);
-const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	<a href="#htmlTagLookup">htmlTagLookup</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * tag);
-<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a>	(const char * buffer, <br/>							 int size);
+int	<a href="#UTF8ToHtml">UTF8ToHtml</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
+<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlAttrAllowed">htmlAttrAllowed</a>		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * attr, <br>					 int legacy);
+int	<a href="#htmlAutoCloseTag">htmlAutoCloseTag</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
+<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a>	(const char * filename, <br>							 const char * encoding);
+<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a>	(const char * buffer, <br>							 int size);
+<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a>	(<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>							 void * user_data, <br>							 const char * chunk, <br>							 int size, <br>							 const char * filename, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadDoc">htmlCtxtReadDoc</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFd">htmlCtxtReadFd</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFile">htmlCtxtReadFile</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadIO">htmlCtxtReadIO</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadMemory">htmlCtxtReadMemory</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
 void	<a href="#htmlCtxtReset">htmlCtxtReset</a>			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
-int	<a href="#htmlElementAllowedHere">htmlElementAllowedHere</a>		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elt);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadIO">htmlCtxtReadIO</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a>	(<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>							 void * user_data, <br/>							 const char * chunk, <br/>							 int size, <br/>							 const char * filename, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadMemory">htmlReadMemory</a>		(const char * buffer, <br/>					 int size, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#htmlIsAutoClosed">htmlIsAutoClosed</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br/>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
-int	<a href="#htmlParseCharRef">htmlParseCharRef</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadDoc">htmlReadDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#htmlEncodeEntities">htmlEncodeEntities</a>		(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen, <br/>					 int quoteChar);
-<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlNodeStatus">htmlNodeStatus</a>		(const <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br/>					 int legacy);
-<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlAttrAllowed">htmlAttrAllowed</a>		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * attr, <br/>					 int legacy);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseFile">htmlSAXParseFile</a>	(const char * filename, <br/>					 const char * encoding, <br/>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>					 void * userData);
-const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlParseEntityRef">htmlParseEntityRef</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** str);
-<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlElementStatusHere">htmlElementStatusHere</a>	(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br/>					 const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt);
-const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlEntityValueLookup">htmlEntityValueLookup</a>	(unsigned int value);
-void	<a href="#htmlParseElement">htmlParseElement</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
-int	<a href="#UTF8ToHtml">UTF8ToHtml</a>			(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen);
+int	<a href="#htmlCtxtUseOptions">htmlCtxtUseOptions</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int options);
+int	<a href="#htmlElementAllowedHere">htmlElementAllowedHere</a>		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elt);
+<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlElementStatusHere">htmlElementStatusHere</a>	(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt);
+int	<a href="#htmlEncodeEntities">htmlEncodeEntities</a>		(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen, <br>					 int quoteChar);
 const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlEntityLookup">htmlEntityLookup</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlEntityValueLookup">htmlEntityValueLookup</a>	(unsigned int value);
 void	<a href="#htmlFreeParserCtxt">htmlFreeParserCtxt</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadMemory">htmlCtxtReadMemory</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 const char * buffer, <br/>					 int size, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFd">htmlCtxtReadFd</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFile">htmlReadFile</a>		(const char * filename, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFile">htmlCtxtReadFile</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 const char * filename, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#htmlParseDocument">htmlParseDocument</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
+int	<a href="#htmlHandleOmittedElem">htmlHandleOmittedElem</a>		(int val);
+void	<a href="#htmlInitAutoClose">htmlInitAutoClose</a>		(void);
+int	<a href="#htmlIsAutoClosed">htmlIsAutoClosed</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
+int	<a href="#htmlIsScriptAttribute">htmlIsScriptAttribute</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlNewParserCtxt">htmlNewParserCtxt</a>	(void);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding, <br/>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>					 void * userData);
-int	<a href="#htmlCtxtUseOptions">htmlCtxtUseOptions</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseDoc">htmlParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding);
+<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlNewSAXParserCtxt">htmlNewSAXParserCtxt</a>	(<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>						 void * userData);
+<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlNodeStatus">htmlNodeStatus</a>		(const <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br>					 int legacy);
+int	<a href="#htmlParseCharRef">htmlParseCharRef</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
+int	<a href="#htmlParseChunk">htmlParseChunk</a>			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseDoc">htmlParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding);
+int	<a href="#htmlParseDocument">htmlParseDocument</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
+void	<a href="#htmlParseElement">htmlParseElement</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
+const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlParseEntityRef">htmlParseEntityRef</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** str);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseFile">htmlParseFile</a>		(const char * filename, <br>					 const char * encoding);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadDoc">htmlReadDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFd">htmlReadFd</a>		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFile">htmlReadFile</a>		(const char * filename, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadIO">htmlReadIO</a>		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadMemory">htmlReadMemory</a>		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseFile">htmlSAXParseFile</a>	(const char * filename, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData);
+const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	<a href="#htmlTagLookup">htmlTagLookup</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * tag);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="htmlDefaultSubelement">Macro </a>htmlDefaultSubelement</h3><pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
-</pre><p>Returns the default subelement for this element</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr></tbody></table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlElementAllowedHereDesc">Macro </a>htmlElementAllowedHereDesc</h3><pre class="programlisting">#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a>(parent, elt);
-</pre><p>Checks whether an HTML element description may be a direct child of the specified element. Returns 1 if allowed; 0 otherwise.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>HTML parent element</td></tr><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr></tbody></table></div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDefaultSubelement">Macro </a>htmlDefaultSubelement</h3>
+<pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
+</pre>
+<p>Returns the default subelement for this element</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlRequiredAttrs">Macro </a>htmlRequiredAttrs</h3><pre class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a>(elt);
-</pre><p>Returns the attributes required for the specified element.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlElementAllowedHereDesc">Macro </a>htmlElementAllowedHereDesc</h3>
+<pre class="programlisting">#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a>(parent, elt);
+</pre>
+<p>Checks whether an HTML element description may be a direct child of the specified element. Returns 1 if allowed; 0 otherwise.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>HTML parent element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDocPtr">Typedef </a>htmlDocPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> htmlDocPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlRequiredAttrs">Macro </a>htmlRequiredAttrs</h3>
+<pre class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a>(elt);
+</pre>
+<p>Returns the attributes required for the specified element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlElemDesc">Structure </a>htmlElemDesc</h3><pre class="programlisting">struct _htmlElemDesc {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocPtr">Typedef </a>htmlDocPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> htmlDocPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlElemDesc">Structure </a>htmlElemDesc</h3>
+<pre class="programlisting">struct _htmlElemDesc {
     const char *	name	: The tag name
     char	startTag	: Whether the start tag can be implied
     char	endTag	: Whether the end tag can be implied
@@ -139,50 +164,90 @@
     const char **	attrs_depr	: Additional deprecated attributes
     const char **	attrs_req	: Required attributes
 } htmlElemDesc;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlElemDescPtr">Typedef </a>htmlElemDescPtr</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * htmlElemDescPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlElemDescPtr">Typedef </a>htmlElemDescPtr</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * htmlElemDescPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlEntityDesc">Structure </a>htmlEntityDesc</h3><pre class="programlisting">struct _htmlEntityDesc {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlEntityDesc">Structure </a>htmlEntityDesc</h3>
+<pre class="programlisting">struct _htmlEntityDesc {
     unsigned int	value	: the UNICODE value for the character
     const char *	name	: The entity name
     const char *	desc	: the description
 } htmlEntityDesc;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlEntityDescPtr">Typedef </a>htmlEntityDescPtr</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * htmlEntityDescPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlEntityDescPtr">Typedef </a>htmlEntityDescPtr</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * htmlEntityDescPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodePtr">Typedef </a>htmlNodePtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> htmlNodePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodePtr">Typedef </a>htmlNodePtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> htmlNodePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserCtxt">Typedef </a>htmlParserCtxt</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> htmlParserCtxt;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParserCtxt">Typedef </a>htmlParserCtxt</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> htmlParserCtxt;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserCtxtPtr">Typedef </a>htmlParserCtxtPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> htmlParserCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParserCtxtPtr">Typedef </a>htmlParserCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> htmlParserCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserInput">Typedef </a>htmlParserInput</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> htmlParserInput;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParserInput">Typedef </a>htmlParserInput</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> htmlParserInput;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserInputPtr">Typedef </a>htmlParserInputPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> htmlParserInputPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParserInputPtr">Typedef </a>htmlParserInputPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> htmlParserInputPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserNodeInfo">Typedef </a>htmlParserNodeInfo</h3><pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> htmlParserNodeInfo;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParserNodeInfo">Typedef </a>htmlParserNodeInfo</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> htmlParserNodeInfo;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserOption">Enum </a>htmlParserOption</h3><pre class="programlisting">enum <a href="#htmlParserOption">htmlParserOption</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParserOption">Enum </a>htmlParserOption</h3>
+<pre class="programlisting">enum <a href="#htmlParserOption">htmlParserOption</a> {
     <a name="HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</a> = 1 /* Relaxed parsing */
     <a name="HTML_PARSE_NODEFDTD">HTML_PARSE_NODEFDTD</a> = 4 /* do not default a doctype if not found */
     <a name="HTML_PARSE_NOERROR">HTML_PARSE_NOERROR</a> = 32 /* suppress error reports */
@@ -194,180 +259,1170 @@
     <a name="HTML_PARSE_COMPACT">HTML_PARSE_COMPACT</a> = 65536 /* compact small text nodes */
     <a name="HTML_PARSE_IGNORE_ENC">HTML_PARSE_IGNORE_ENC</a> = 2097152 /*  ignore internal document encoding hint */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSAXHandler">Typedef </a>htmlSAXHandler</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> htmlSAXHandler;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSAXHandler">Typedef </a>htmlSAXHandler</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> htmlSAXHandler;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSAXHandlerPtr">Typedef </a>htmlSAXHandlerPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> htmlSAXHandlerPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSAXHandlerPtr">Typedef </a>htmlSAXHandlerPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> htmlSAXHandlerPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlStatus">Enum </a>htmlStatus</h3><pre class="programlisting">enum <a href="#htmlStatus">htmlStatus</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlStatus">Enum </a>htmlStatus</h3>
+<pre class="programlisting">enum <a href="#htmlStatus">htmlStatus</a> {
     <a name="HTML_NA">HTML_NA</a> = 0 /* something we don't check at all */
     <a name="HTML_INVALID">HTML_INVALID</a> = 1
     <a name="HTML_DEPRECATED">HTML_DEPRECATED</a> = 2
     <a name="HTML_VALID">HTML_VALID</a> = 4
     <a name="HTML_REQUIRED">HTML_REQUIRED</a> = 12 /*  VALID bit set so ( &amp; HTML_VALID ) is TRUE */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="UTF8ToHtml"/>UTF8ToHtml ()</h3><pre class="programlisting">int	UTF8ToHtml			(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen)<br/>
-</pre><p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlAttrAllowed"/>htmlAttrAllowed ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlAttrAllowed		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * attr, <br/>					 int legacy)<br/>
-</pre><p>Checks whether an <a href="libxml2-SAX.html#attribute">attribute</a> is valid for an element Has full knowledge of Required and Deprecated attributes</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>HTML <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>legacy</tt></i>:</span></td><td>whether to allow deprecated attributes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of HTML_REQUIRED, HTML_VALID, HTML_DEPRECATED, <a href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlAutoCloseTag"/>htmlAutoCloseTag ()</h3><pre class="programlisting">int	htmlAutoCloseTag		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br/>
-</pre><p>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's children would autoclose the given tag.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the HTML document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>The tag name</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if autoclose, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCreateMemoryParserCtxt"/>htmlCreateMemoryParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreateMemoryParserCtxt	(const char * buffer, <br/>							 int size)<br/>
-</pre><p>Create a parser context for an HTML in-memory document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCreatePushParserCtxt"/>htmlCreatePushParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreatePushParserCtxt	(<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>							 void * user_data, <br/>							 const char * chunk, <br/>							 int size, <br/>							 const char * filename, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or URI</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReadDoc"/>htmlCtxtReadDoc ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadDoc		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReadFd"/>htmlCtxtReadFd ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFd		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReadFile"/>htmlCtxtReadFile ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFile	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 const char * filename, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReadIO"/>htmlCtxtReadIO ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadIO		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an HTML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReadMemory"/>htmlCtxtReadMemory ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadMemory	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 const char * buffer, <br/>					 int size, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReset"/>htmlCtxtReset ()</h3><pre class="programlisting">void	htmlCtxtReset			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Reset a parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtUseOptions"/>htmlCtxtUseOptions ()</h3><pre class="programlisting">int	htmlCtxtUseOptions		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 int options)<br/>
-</pre><p>Applies the options to the parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, the set of unknown or unimplemented options in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlElementAllowedHere"/>htmlElementAllowedHere ()</h3><pre class="programlisting">int	htmlElementAllowedHere		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elt)<br/>
-</pre><p>Checks whether an HTML element may be a direct child of a parent element. Note - doesn't check for deprecated elements</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>HTML parent element</td></tr><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if allowed; 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlElementStatusHere"/>htmlElementStatusHere ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlElementStatusHere	(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br/>					 const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt)<br/>
-</pre><p>Checks whether an HTML element may be a direct child of a parent element. and if so whether it is valid or deprecated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>HTML parent element</td></tr><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of HTML_VALID, HTML_DEPRECATED, <a href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlEncodeEntities"/>htmlEncodeEntities ()</h3><pre class="programlisting">int	htmlEncodeEntities		(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen, <br/>					 int quoteChar)<br/>
-</pre><p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i>:</span></td><td>the quote character to escape (' or ") or zero.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlEntityLookup"/>htmlEntityLookup ()</h3><pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityLookup	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlEntityValueLookup"/>htmlEntityValueLookup ()</h3><pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityValueLookup	(unsigned int value)<br/>
-</pre><p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</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 entity's unicode value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlFreeParserCtxt"/>htmlFreeParserCtxt ()</h3><pre class="programlisting">void	htmlFreeParserCtxt		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlHandleOmittedElem"/>htmlHandleOmittedElem ()</h3><pre class="programlisting">int	htmlHandleOmittedElem		(int val)<br/>
-</pre><p>Set and return the previous value for handling HTML omitted tags.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no handling, 1 for auto insertion.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlIsAutoClosed"/>htmlIsAutoClosed ()</h3><pre class="programlisting">int	htmlIsAutoClosed		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br/>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br/>
-</pre><p>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's child</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the HTML document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if autoclosed, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlIsScriptAttribute"/>htmlIsScriptAttribute ()</h3><pre class="programlisting">int	htmlIsScriptAttribute		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Check if an <a href="libxml2-SAX.html#attribute">attribute</a> is of content type Script</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>an <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 is the <a href="libxml2-SAX.html#attribute">attribute</a> is a script 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNewParserCtxt"/>htmlNewParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlNewParserCtxt	(void)<br/>
-</pre><p>Allocate and initialize a new parser context.</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 <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of allocation error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeStatus"/>htmlNodeStatus ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlNodeStatus		(const <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br/>					 int legacy)<br/>
-</pre><p>Checks whether the tree node is valid. Experimental (the author only uses the HTML enhancements in a SAX parser)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>an <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> in a tree</td></tr><tr><td><span class="term"><i><tt>legacy</tt></i>:</span></td><td>whether to allow deprecated elements (YES is faster here for Element nodes)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>for Element nodes, a return from <a href="libxml2-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a> (if legacy allowed) or <a href="libxml2-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a> (otherwise). for Attribute nodes, a return from <a href="libxml2-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a> for other nodes, <a href="libxml2-HTMLparser.html#HTML_NA">HTML_NA</a> (no checks performed)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseCharRef"/>htmlParseCharRef ()</h3><pre class="programlisting">int	htmlParseCharRef		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value parsed (as an int)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseChunk"/>htmlParseChunk ()</h3><pre class="programlisting">int	htmlParseChunk			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 const char * chunk, <br/>					 int size, <br/>					 int terminate)<br/>
-</pre><p>Parse a Chunk of memory</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseDoc"/>htmlParseDoc ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding)<br/>
-</pre><p>parse an HTML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseDocument"/>htmlParseDocument ()</h3><pre class="programlisting">int	htmlParseDocument		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an HTML document (and build a tree if using the standard SAX interface).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseElement"/>htmlParseElement ()</h3><pre class="programlisting">void	htmlParseElement		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an HTML element, this is highly recursive this is kept for compatibility with previous code versions [39] element ::= EmptyElemTag | STag content ETag [41] Attribute ::= Name Eq AttValue</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseEntityRef"/>htmlParseEntityRef ()</h3><pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlParseEntityRef	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** str)<br/>
-</pre><p>parse an HTML ENTITY references [68] EntityRef ::= '&amp;' Name ';'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>location to store the entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, or NULL otherwise, if non-NULL *str will have to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseFile"/>htmlParseFile ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseFile		(const char * filename, <br/>					 const char * encoding)<br/>
-</pre><p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlReadDoc"/>htmlReadDoc ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlReadFd"/>htmlReadFd ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFd		(int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML from a file descriptor and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlReadFile"/>htmlReadFile ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFile		(const char * filename, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML file from the filesystem or the network.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlReadIO"/>htmlReadIO ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadIO		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an HTML document from I/O functions and source and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlReadMemory"/>htmlReadMemory ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadMemory		(const char * buffer, <br/>					 int size, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSAXParseDoc"/>htmlSAXParseDoc ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding, <br/>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>					 void * userData)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree unless SAX is NULL or the document is not well formed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSAXParseFile"/>htmlSAXParseFile ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseFile	(const char * filename, <br/>					 const char * encoding, <br/>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>					 void * userData)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree unless SAX is NULL or the document is not well formed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlTagLookup"/>htmlTagLookup ()</h3><pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	htmlTagLookup	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * tag)<br/>
-</pre><p>Lookup the HTML tag in the ElementTable</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tag</tt></i>:</span></td><td>The tag name in lowercase</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the related <a href="libxml2-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</a> or NULL if not found.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="UTF8ToHtml"></a>UTF8ToHtml ()</h3>
+<pre class="programlisting">int	UTF8ToHtml			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
+</pre>
+<p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a pointer to an array of bytes to store the result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
+<td>the length of @out</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a pointer to an array of UTF-8 chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
+<td>the length of @in</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>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.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlAttrAllowed"></a>htmlAttrAllowed ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlAttrAllowed		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * attr, <br>					 int legacy)<br>
+</pre>
+<p>Checks whether an <a href="libxml2-SAX.html#attribute">attribute</a> is valid for an element Has full knowledge of Required and Deprecated attributes</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>HTML <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>legacy</tt></i>:</span></td>
+<td>whether to allow deprecated attributes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>one of HTML_REQUIRED, HTML_VALID, HTML_DEPRECATED, <a href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlAutoCloseTag"></a>htmlAutoCloseTag ()</h3>
+<pre class="programlisting">int	htmlAutoCloseTag		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br>
+</pre>
+<p>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's children would autoclose the given tag.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the HTML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The tag name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the HTML element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if autoclose, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCreateFileParserCtxt"></a>htmlCreateFileParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreateFileParserCtxt	(const char * filename, <br>							 const char * encoding)<br>
+</pre>
+<p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>a free form C string describing the HTML document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCreateMemoryParserCtxt"></a>htmlCreateMemoryParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreateMemoryParserCtxt	(const char * buffer, <br>							 int size)<br>
+</pre>
+<p>Create a parser context for an HTML in-memory document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCreatePushParserCtxt"></a>htmlCreatePushParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreatePushParserCtxt	(<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>							 void * user_data, <br>							 const char * chunk, <br>							 int size, <br>							 const char * filename, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
+<td>a pointer to an array of chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>number of chars in the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>an optional file name or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>an optional encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCtxtReadDoc"></a>htmlCtxtReadDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadDoc		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCtxtReadFd"></a>htmlCtxtReadFd ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFd		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCtxtReadFile"></a>htmlCtxtReadFile ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFile	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCtxtReadIO"></a>htmlCtxtReadIO ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadIO		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an HTML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCtxtReadMemory"></a>htmlCtxtReadMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadMemory	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCtxtReset"></a>htmlCtxtReset ()</h3>
+<pre class="programlisting">void	htmlCtxtReset			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Reset a parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCtxtUseOptions"></a>htmlCtxtUseOptions ()</h3>
+<pre class="programlisting">int	htmlCtxtUseOptions		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int options)<br>
+</pre>
+<p>Applies the options to the parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, the set of unknown or unimplemented options in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlElementAllowedHere"></a>htmlElementAllowedHere ()</h3>
+<pre class="programlisting">int	htmlElementAllowedHere		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elt)<br>
+</pre>
+<p>Checks whether an HTML element may be a direct child of a parent element. Note - doesn't check for deprecated elements</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>HTML parent element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if allowed; 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlElementStatusHere"></a>htmlElementStatusHere ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlElementStatusHere	(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt)<br>
+</pre>
+<p>Checks whether an HTML element may be a direct child of a parent element. and if so whether it is valid or deprecated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>HTML parent element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>one of HTML_VALID, HTML_DEPRECATED, <a href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlEncodeEntities"></a>htmlEncodeEntities ()</h3>
+<pre class="programlisting">int	htmlEncodeEntities		(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen, <br>					 int quoteChar)<br>
+</pre>
+<p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a pointer to an array of bytes to store the result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
+<td>the length of @out</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a pointer to an array of UTF-8 chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
+<td>the length of @in</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>quoteChar</tt></i>:</span></td>
+<td>the quote character to escape (' or ") or zero.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>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.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlEntityLookup"></a>htmlEntityLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityLookup	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</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 entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlEntityValueLookup"></a>htmlEntityValueLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityValueLookup	(unsigned int value)<br>
+</pre>
+<p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</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 entity's unicode value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlFreeParserCtxt"></a>htmlFreeParserCtxt ()</h3>
+<pre class="programlisting">void	htmlFreeParserCtxt		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlHandleOmittedElem"></a>htmlHandleOmittedElem ()</h3>
+<pre class="programlisting">int	htmlHandleOmittedElem		(int val)<br>
+</pre>
+<p>Set and return the previous value for handling HTML omitted tags.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>int 0 or 1</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last value for 0 for no handling, 1 for auto insertion.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlInitAutoClose"></a>htmlInitAutoClose ()</h3>
+<pre class="programlisting">void	htmlInitAutoClose		(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. This is a no-op now.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlIsAutoClosed"></a>htmlIsAutoClosed ()</h3>
+<pre class="programlisting">int	htmlIsAutoClosed		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br>
+</pre>
+<p>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's child</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the HTML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the HTML element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if autoclosed, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlIsScriptAttribute"></a>htmlIsScriptAttribute ()</h3>
+<pre class="programlisting">int	htmlIsScriptAttribute		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Check if an <a href="libxml2-SAX.html#attribute">attribute</a> is of content type Script</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>an <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 is the <a href="libxml2-SAX.html#attribute">attribute</a> is a script 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNewParserCtxt"></a>htmlNewParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlNewParserCtxt	(void)<br>
+</pre>
+<p>Allocate and initialize a new parser context.</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 <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of allocation error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNewSAXParserCtxt"></a>htmlNewSAXParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlNewSAXParserCtxt	(<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>						 void * userData)<br>
+</pre>
+<p>Allocate and initialize a new parser context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>user data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of allocation error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeStatus"></a>htmlNodeStatus ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlNodeStatus		(const <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br>					 int legacy)<br>
+</pre>
+<p>Checks whether the tree node is valid. Experimental (the author only uses the HTML enhancements in a SAX parser)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>an <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> in a tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>legacy</tt></i>:</span></td>
+<td>whether to allow deprecated elements (YES is faster here for Element nodes)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>for Element nodes, a return from <a href="libxml2-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a> (if legacy allowed) or <a href="libxml2-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a> (otherwise). for Attribute nodes, a return from <a href="libxml2-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a> for other nodes, <a href="libxml2-HTMLparser.html#HTML_NA">HTML_NA</a> (no checks performed)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseCharRef"></a>htmlParseCharRef ()</h3>
+<pre class="programlisting">int	htmlParseCharRef		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value parsed (as an int)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseChunk"></a>htmlParseChunk ()</h3>
+<pre class="programlisting">int	htmlParseChunk			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate)<br>
+</pre>
+<p>Parse a Chunk of memory</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
+<td>an char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size in byte of the chunk</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>terminate</tt></i>:</span></td>
+<td>last chunk indicator</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseDoc"></a>htmlParseDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding)<br>
+</pre>
+<p>parse an HTML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>a free form C string describing the HTML document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseDocument"></a>htmlParseDocument ()</h3>
+<pre class="programlisting">int	htmlParseDocument		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an HTML document (and build a tree if using the standard SAX interface).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseElement"></a>htmlParseElement ()</h3>
+<pre class="programlisting">void	htmlParseElement		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an HTML element, this is highly recursive this is kept for compatibility with previous code versions [39] element ::= EmptyElemTag | STag content ETag [41] Attribute ::= Name Eq AttValue</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseEntityRef"></a>htmlParseEntityRef ()</h3>
+<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlParseEntityRef	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** str)<br>
+</pre>
+<p>parse an HTML ENTITY references [68] EntityRef ::= '&amp;' Name ';'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>location to store the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, or NULL otherwise, if non-NULL *str will have to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseFile"></a>htmlParseFile ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseFile		(const char * filename, <br>					 const char * encoding)<br>
+</pre>
+<p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>a free form C string describing the HTML document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlReadDoc"></a>htmlReadDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlReadFd"></a>htmlReadFd ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFd		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an HTML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlReadFile"></a>htmlReadFile ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFile		(const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML file from the filesystem or the network.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlReadIO"></a>htmlReadIO ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadIO		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an HTML document from I/O functions and source and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlReadMemory"></a>htmlReadMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadMemory		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSAXParseDoc"></a>htmlSAXParseDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>a free form C string describing the HTML document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>if using SAX, this pointer will be provided on callbacks.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree unless SAX is NULL or the document is not well formed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSAXParseFile"></a>htmlSAXParseFile ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseFile	(const char * filename, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>a free form C string describing the HTML document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>if using SAX, this pointer will be provided on callbacks.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree unless SAX is NULL or the document is not well formed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlTagLookup"></a>htmlTagLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	htmlTagLookup	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * tag)<br>
+</pre>
+<p>Lookup the HTML tag in the ElementTable</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>tag</tt></i>:</span></td>
+<td>The tag name in lowercase</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the related <a href="libxml2-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</a> or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-HTMLtree.html b/doc/devhelp/libxml2-HTMLtree.html
index ec5d113..7e60ab6 100644
--- a/doc/devhelp/libxml2-HTMLtree.html
+++ b/doc/devhelp/libxml2-HTMLtree.html
@@ -1,172 +1,587 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>HTMLtree: specific APIs to process HTML tree, especially serialization</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-HTMLparser.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-SAX.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">HTMLtree</span>
-    </h2>
-    <p>HTMLtree - specific APIs to process HTML tree, especially serialization</p>
-    <p>this module implements a few function needed to process tree in an HTML specific way. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a>;
-#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HTMLtree: specific APIs to process HTML tree, especially serialization</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-HTMLparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-SAX.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">HTMLtree</span></h2>
+<p>HTMLtree - specific APIs to process HTML tree, especially serialization</p>
+<p>this module implements a few function needed to process tree in an HTML specific way. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a>;
+#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a>;
+#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a>;
 #define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a>;
 #define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a>;
-#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a>;
-int	<a href="#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a>		(FILE * out, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const char * encoding, <br/>					 int format);
-void	<a href="#htmlDocDumpMemory">htmlDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>					 int * size);
-int	<a href="#htmlSaveFile">htmlSaveFile</a>			(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
-int	<a href="#htmlDocDump">htmlDocDump</a>			(FILE * f, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
-void	<a href="#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>					 int * size, <br/>					 int format);
-int	<a href="#htmlIsBooleanAttr">htmlIsBooleanAttr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#htmlSaveFileFormat">htmlSaveFileFormat</a>		(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding, <br/>					 int format);
-void	<a href="#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const char * encoding, <br/>					 int format);
-int	<a href="#htmlSetMetaEncoding">htmlSetMetaEncoding</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding);
-int	<a href="#htmlSaveFileEnc">htmlSaveFileEnc</a>			(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding);
-void	<a href="#htmlNodeDumpOutput">htmlNodeDumpOutput</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const char * encoding);
-int	<a href="#htmlNodeDump">htmlNodeDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlNewDoc">htmlNewDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
+void	<a href="#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
+void	<a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
+int	<a href="#htmlDocDump">htmlDocDump</a>			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+void	<a href="#htmlDocDumpMemory">htmlDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size);
+void	<a href="#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#htmlGetMetaEncoding">htmlGetMetaEncoding</a>	(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc);
-void	<a href="#htmlNodeDumpFile">htmlNodeDumpFile</a>		(FILE * out, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-void	<a href="#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding, <br/>					 int format);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlNewDocNoDtD">htmlNewDocNoDtD</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
-void	<a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding);
+int	<a href="#htmlIsBooleanAttr">htmlIsBooleanAttr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlNewDoc">htmlNewDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlNewDocNoDtD">htmlNewDocNoDtD</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
+int	<a href="#htmlNodeDump">htmlNodeDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+void	<a href="#htmlNodeDumpFile">htmlNodeDumpFile</a>		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+int	<a href="#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a>		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format);
+void	<a href="#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format);
+void	<a href="#htmlNodeDumpOutput">htmlNodeDumpOutput</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding);
+int	<a href="#htmlSaveFile">htmlSaveFile</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+int	<a href="#htmlSaveFileEnc">htmlSaveFileEnc</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
+int	<a href="#htmlSaveFileFormat">htmlSaveFileFormat</a>		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
+int	<a href="#htmlSetMetaEncoding">htmlSetMetaEncoding</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="HTML_COMMENT_NODE">Macro </a>HTML_COMMENT_NODE</h3><pre class="programlisting">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a>;
-</pre><p>Macro. A <a href="libxml2-SAX.html#comment">comment</a> in a HTML document is really implemented the same way as a <a href="libxml2-SAX.html#comment">comment</a> in an XML document.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="HTML_ENTITY_REF_NODE">Macro </a>HTML_ENTITY_REF_NODE</h3><pre class="programlisting">#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a>;
-</pre><p>Macro. An entity <a href="libxml2-SAX.html#reference">reference</a> in a HTML document is really implemented the same way as an entity <a href="libxml2-SAX.html#reference">reference</a> in an XML document.</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="HTML_COMMENT_NODE">Macro </a>HTML_COMMENT_NODE</h3>
+<pre class="programlisting">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a>;
+</pre>
+<p>Macro. A <a href="libxml2-SAX.html#comment">comment</a> in a HTML document is really implemented the same way as a <a href="libxml2-SAX.html#comment">comment</a> in an XML document.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="HTML_PI_NODE">Macro </a>HTML_PI_NODE</h3><pre class="programlisting">#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a>;
-</pre><p>Macro. A processing instruction in a HTML document is really implemented the same way as a processing instruction in an XML document.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="HTML_ENTITY_REF_NODE">Macro </a>HTML_ENTITY_REF_NODE</h3>
+<pre class="programlisting">#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a>;
+</pre>
+<p>Macro. An entity <a href="libxml2-SAX.html#reference">reference</a> in a HTML document is really implemented the same way as an entity <a href="libxml2-SAX.html#reference">reference</a> in an XML document.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="HTML_PRESERVE_NODE">Macro </a>HTML_PRESERVE_NODE</h3><pre class="programlisting">#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a>;
-</pre><p>Macro. A preserved node in a HTML document is really implemented the same way as a CDATA section in an XML document.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="HTML_PI_NODE">Macro </a>HTML_PI_NODE</h3>
+<pre class="programlisting">#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a>;
+</pre>
+<p>Macro. A processing instruction in a HTML document is really implemented the same way as a processing instruction in an XML document.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="HTML_TEXT_NODE">Macro </a>HTML_TEXT_NODE</h3><pre class="programlisting">#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a>;
-</pre><p>Macro. A text node in a HTML document is really implemented the same way as a text node in an XML document.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="HTML_PRESERVE_NODE">Macro </a>HTML_PRESERVE_NODE</h3>
+<pre class="programlisting">#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a>;
+</pre>
+<p>Macro. A preserved node in a HTML document is really implemented the same way as a CDATA section in an XML document.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDocContentDumpFormatOutput"/>htmlDocContentDumpFormatOutput ()</h3><pre class="programlisting">void	htmlDocContentDumpFormatOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding, <br/>					 int format)<br/>
-</pre><p>Dump an HTML document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDocContentDumpOutput"/>htmlDocContentDumpOutput ()</h3><pre class="programlisting">void	htmlDocContentDumpOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding)<br/>
-</pre><p>Dump an HTML document. Formatting return/spaces are added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDocDump"/>htmlDocDump ()</h3><pre class="programlisting">int	htmlDocDump			(FILE * f, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
-</pre><p>Dump an HTML document to an open FILE.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDocDumpMemory"/>htmlDocDumpMemory ()</h3><pre class="programlisting">void	htmlDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>					 int * size)<br/>
-</pre><p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * and it's size. It's up to the caller to free the memory.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDocDumpMemoryFormat"/>htmlDocDumpMemoryFormat ()</h3><pre class="programlisting">void	htmlDocDumpMemoryFormat		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>					 int * size, <br/>					 int format)<br/>
-</pre><p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * and it's size. It's up to the caller to free the memory.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlGetMetaEncoding"/>htmlGetMetaEncoding ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	htmlGetMetaEncoding	(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc)<br/>
-</pre><p>Encoding definition lookup in the Meta tags</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current encoding as flagged in the HTML source</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlIsBooleanAttr"/>htmlIsBooleanAttr ()</h3><pre class="programlisting">int	htmlIsBooleanAttr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Determine if a given <a href="libxml2-SAX.html#attribute">attribute</a> is a boolean attribute.</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 name of the <a href="libxml2-SAX.html#attribute">attribute</a> to check</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>false if the <a href="libxml2-SAX.html#attribute">attribute</a> is not boolean, true otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNewDoc"/>htmlNewDoc ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlNewDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br/>
-</pre><p>Creates a new HTML document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>URI for the dtd, or NULL</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID of the DTD, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNewDocNoDtD"/>htmlNewDocNoDtD ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlNewDocNoDtD		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br/>
-</pre><p>Creates a new HTML document without a DTD node if @URI and @ExternalID are NULL</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>URI for the dtd, or NULL</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID of the DTD, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new document, do not initialize the DTD if not provided</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeDump"/>htmlNodeDump ()</h3><pre class="programlisting">int	htmlNodeDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeDumpFile"/>htmlNodeDumpFile ()</h3><pre class="programlisting">void	htmlNodeDumpFile		(FILE * out, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>the FILE pointer</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeDumpFileFormat"/>htmlNodeDumpFileFormat ()</h3><pre class="programlisting">int	htmlNodeDumpFileFormat		(FILE * out, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const char * encoding, <br/>					 int format)<br/>
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too. TODO: if encoding == NULL try to save in the doc encoding</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>the FILE pointer</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeDumpFormatOutput"/>htmlNodeDumpFormatOutput ()</h3><pre class="programlisting">void	htmlNodeDumpFormatOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const char * encoding, <br/>					 int format)<br/>
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeDumpOutput"/>htmlNodeDumpOutput ()</h3><pre class="programlisting">void	htmlNodeDumpOutput		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const char * encoding)<br/>
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSaveFile"/>htmlSaveFile ()</h3><pre class="programlisting">int	htmlSaveFile			(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
-</pre><p>Dump an HTML document to a file. If @filename is "-" the stdout file is used.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSaveFileEnc"/>htmlSaveFileEnc ()</h3><pre class="programlisting">int	htmlSaveFileEnc			(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding)<br/>
-</pre><p>Dump an HTML document to a file using a given encoding and formatting returns/spaces are added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSaveFileFormat"/>htmlSaveFileFormat ()</h3><pre class="programlisting">int	htmlSaveFileFormat		(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding, <br/>					 int format)<br/>
-</pre><p>Dump an HTML document to a file using a given encoding.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSetMetaEncoding"/>htmlSetMetaEncoding ()</h3><pre class="programlisting">int	htmlSetMetaEncoding		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding)<br/>
-</pre><p>Sets the current encoding in the Meta tags NOTE: this will not change the document content encoding, just the META flag associated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string</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></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="HTML_TEXT_NODE">Macro </a>HTML_TEXT_NODE</h3>
+<pre class="programlisting">#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a>;
+</pre>
+<p>Macro. A text node in a HTML document is really implemented the same way as a text node in an XML document.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocContentDumpFormatOutput"></a>htmlDocContentDumpFormatOutput ()</h3>
+<pre class="programlisting">void	htmlDocContentDumpFormatOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
+</pre>
+<p>Dump an HTML document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the HTML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding string (unused)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocContentDumpOutput"></a>htmlDocContentDumpOutput ()</h3>
+<pre class="programlisting">void	htmlDocContentDumpOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
+</pre>
+<p>Dump an HTML document. Formatting return/spaces are added.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the HTML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding string (unused)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocDump"></a>htmlDocDump ()</h3>
+<pre class="programlisting">int	htmlDocDump			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
+</pre>
+<p>Dump an HTML document to an open FILE.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the FILE*</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocDumpMemory"></a>htmlDocDumpMemory ()</h3>
+<pre class="programlisting">void	htmlDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size)<br>
+</pre>
+<p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * and it's size. It's up to the caller to free the memory.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>OUT: the memory pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>OUT: the memory length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocDumpMemoryFormat"></a>htmlDocDumpMemoryFormat ()</h3>
+<pre class="programlisting">void	htmlDocDumpMemoryFormat		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format)<br>
+</pre>
+<p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * and it's size. It's up to the caller to free the memory.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>OUT: the memory pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>OUT: the memory length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlGetMetaEncoding"></a>htmlGetMetaEncoding ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	htmlGetMetaEncoding	(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc)<br>
+</pre>
+<p>Encoding definition lookup in the Meta tags</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the current encoding as flagged in the HTML source</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlIsBooleanAttr"></a>htmlIsBooleanAttr ()</h3>
+<pre class="programlisting">int	htmlIsBooleanAttr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Determine if a given <a href="libxml2-SAX.html#attribute">attribute</a> is a boolean <a href="libxml2-SAX.html#attribute">attribute</a>.</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 name of the <a href="libxml2-SAX.html#attribute">attribute</a> to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>false if the <a href="libxml2-SAX.html#attribute">attribute</a> is not boolean, true otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNewDoc"></a>htmlNewDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlNewDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br>
+</pre>
+<p>Creates a new HTML document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>URI for the dtd, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID of the DTD, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNewDocNoDtD"></a>htmlNewDocNoDtD ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlNewDocNoDtD		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br>
+</pre>
+<p>Creates a new HTML document without a DTD node if @URI and @ExternalID are NULL</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>URI for the dtd, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID of the DTD, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new document, do not initialize the DTD if not provided</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeDump"></a>htmlNodeDump ()</h3>
+<pre class="programlisting">int	htmlNodeDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the HTML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeDumpFile"></a>htmlNodeDumpFile ()</h3>
+<pre class="programlisting">void	htmlNodeDumpFile		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>the FILE pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeDumpFileFormat"></a>htmlNodeDumpFileFormat ()</h3>
+<pre class="programlisting">int	htmlNodeDumpFileFormat		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
+</pre>
+<p>Dump an HTML node, recursive behaviour,children are printed too. TODO: if encoding == NULL try to save in the doc encoding</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>the FILE pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeDumpFormatOutput"></a>htmlNodeDumpFormatOutput ()</h3>
+<pre class="programlisting">void	htmlNodeDumpFormatOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
+</pre>
+<p>Dump an HTML node, recursive behaviour,children are printed too.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the HTML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding string (unused)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeDumpOutput"></a>htmlNodeDumpOutput ()</h3>
+<pre class="programlisting">void	htmlNodeDumpOutput		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding)<br>
+</pre>
+<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are added.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the HTML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding string (unused)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSaveFile"></a>htmlSaveFile ()</h3>
+<pre class="programlisting">int	htmlSaveFile			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
+</pre>
+<p>Dump an HTML document to a file. If @filename is "-" the stdout file is used.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename (or URL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSaveFileEnc"></a>htmlSaveFileEnc ()</h3>
+<pre class="programlisting">int	htmlSaveFileEnc			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
+</pre>
+<p>Dump an HTML document to a file using a given encoding and formatting returns/spaces are added.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSaveFileFormat"></a>htmlSaveFileFormat ()</h3>
+<pre class="programlisting">int	htmlSaveFileFormat		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
+</pre>
+<p>Dump an HTML document to a file using a given encoding.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSetMetaEncoding"></a>htmlSetMetaEncoding ()</h3>
+<pre class="programlisting">int	htmlSetMetaEncoding		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding)<br>
+</pre>
+<p>Sets the current encoding in the Meta tags NOTE: this will not change the document content encoding, just the META flag associated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding string</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>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-SAX.html b/doc/devhelp/libxml2-SAX.html
index 5163b7b..b87a6e6 100644
--- a/doc/devhelp/libxml2-SAX.html
+++ b/doc/devhelp/libxml2-SAX.html
@@ -1,243 +1,943 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>SAX: Old SAX version 1 handler, deprecated</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-HTMLtree.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-SAX2.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">SAX</span>
-    </h2>
-    <p>SAX - Old SAX version 1 handler, deprecated</p>
-    <p>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </p>
-    <p> WARNING: this module is deprecated !</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">void	<a href="#comment">comment</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#checkNamespace">checkNamespace</a>			(void * ctx, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace);
-int	<a href="#getColumnNumber">getColumnNumber</a>			(void * ctx);
-void	<a href="#entityDecl">entityDecl</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-void	<a href="#attribute">attribute</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#getNamespace">getNamespace</a>		(void * ctx);
-void	<a href="#setDocumentLocator">setDocumentLocator</a>		(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
-void	<a href="#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a>	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br/>					 int warning);
-void	<a href="#ignorableWhitespace">ignorableWhitespace</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len);
-int	<a href="#hasExternalSubset">hasExternalSubset</a>		(void * ctx);
-void	<a href="#unparsedEntityDecl">unparsedEntityDecl</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
-void	<a href="#globalNamespace">globalNamespace</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
-int	<a href="#hasInternalSubset">hasInternalSubset</a>		(void * ctx);
-void	<a href="#reference">reference</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#notationDecl">notationDecl</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#getSystemId">getSystemId</a>		(void * ctx);
-void	<a href="#externalSubset">externalSubset</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#resolveEntity">resolveEntity</a>	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-void	<a href="#startDocument">startDocument</a>			(void * ctx);
-void	<a href="#setNamespace">setNamespace</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#cdataBlock">cdataBlock</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int len);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#getPublicId">getPublicId</a>		(void * ctx);
-void	<a href="#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a>	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr);
-void	<a href="#processingInstruction">processingInstruction</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
-void	<a href="#endElement">endElement</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#namespaceDecl">namespaceDecl</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
-void	<a href="#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a>	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getEntity">getEntity</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#characters">characters</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len);
-void	<a href="#elementDecl">elementDecl</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
-void	<a href="#startElement">startElement</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getParameterEntity">getParameterEntity</a>	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#attributeDecl">attributeDecl</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 int type, <br/>					 int def, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
-int	<a href="#isStandalone">isStandalone</a>			(void * ctx);
-void	<a href="#internalSubset">internalSubset</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SAX: Old SAX version 1 handler, deprecated</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-SAX2.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">SAX</span></h2>
+<p>SAX - Old SAX version 1 handler, deprecated</p>
+<p>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </p>
+<p> WARNING: this module is deprecated !</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">void	<a href="#attribute">attribute</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+void	<a href="#attributeDecl">attributeDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
+void	<a href="#cdataBlock">cdataBlock</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
+void	<a href="#characters">characters</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
+int	<a href="#checkNamespace">checkNamespace</a>			(void * ctx, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace);
+void	<a href="#comment">comment</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+void	<a href="#elementDecl">elementDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
 void	<a href="#endDocument">endDocument</a>			(void * ctx);
+void	<a href="#endElement">endElement</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void	<a href="#entityDecl">entityDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+void	<a href="#externalSubset">externalSubset</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+int	<a href="#getColumnNumber">getColumnNumber</a>			(void * ctx);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getEntity">getEntity</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 int	<a href="#getLineNumber">getLineNumber</a>			(void * ctx);
+<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#getNamespace">getNamespace</a>		(void * ctx);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getParameterEntity">getParameterEntity</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#getPublicId">getPublicId</a>		(void * ctx);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#getSystemId">getSystemId</a>		(void * ctx);
+void	<a href="#globalNamespace">globalNamespace</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+int	<a href="#hasExternalSubset">hasExternalSubset</a>		(void * ctx);
+int	<a href="#hasInternalSubset">hasInternalSubset</a>		(void * ctx);
+void	<a href="#ignorableWhitespace">ignorableWhitespace</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
+void	<a href="#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a>	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr);
+void	<a href="#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a>	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br>					 int warning);
+void	<a href="#internalSubset">internalSubset</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+int	<a href="#isStandalone">isStandalone</a>			(void * ctx);
+void	<a href="#namespaceDecl">namespaceDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+void	<a href="#notationDecl">notationDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+void	<a href="#processingInstruction">processingInstruction</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
+void	<a href="#reference">reference</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#resolveEntity">resolveEntity</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+void	<a href="#setDocumentLocator">setDocumentLocator</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
+void	<a href="#setNamespace">setNamespace</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void	<a href="#startDocument">startDocument</a>			(void * ctx);
+void	<a href="#startElement">startElement</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
+void	<a href="#unparsedEntityDecl">unparsedEntityDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="attribute"/>attribute ()</h3><pre class="programlisting">void	attribute			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Handle an <a href="libxml2-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml2-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> element added to the element. DEPRECATED: use xmlSAX2Attribute()</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>fullname</tt></i>:</span></td><td>The <a href="libxml2-SAX.html#attribute">attribute</a> name, including namespace prefix</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>The <a href="libxml2-SAX.html#attribute">attribute</a> value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="attributeDecl"/>attributeDecl ()</h3><pre class="programlisting">void	attributeDecl			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 int type, <br/>					 int def, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br/>
-</pre><p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed DEPRECATED: use xmlSAX2AttributeDecl()</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>elem</tt></i>:</span></td><td>the name of the element</td></tr><tr><td><span class="term"><i><tt>fullname</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td></tr><tr><td><span class="term"><i><tt>def</tt></i>:</span></td><td>the type of default value</td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the tree of enumerated value set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="cdataBlock"/>cdataBlock ()</h3><pre class="programlisting">void	cdataBlock			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int len)<br/>
-</pre><p>called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock()</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>value</tt></i>:</span></td><td>The pcdata content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the block length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="characters"/>characters ()</h3><pre class="programlisting">void	characters			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len)<br/>
-</pre><p>receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters()</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>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="checkNamespace"/>checkNamespace ()</h3><pre class="programlisting">int	checkNamespace			(void * ctx, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace)<br/>
-</pre><p>Check that the current element namespace is the same as the one read upon parsing. DEPRECATED</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>namespace</tt></i>:</span></td><td>the namespace to check against</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="comment"/>comment ()</h3><pre class="programlisting">void	comment			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>A <a href="libxml2-SAX.html#comment">comment</a> has been parsed. DEPRECATED: use xmlSAX2Comment()</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>value</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#comment">comment</a> content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="elementDecl"/>elementDecl ()</h3><pre class="programlisting">void	elementDecl			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br/>
-</pre><p>An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()</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 element name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the element value tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="endDocument"/>endDocument ()</h3><pre class="programlisting">void	endDocument			(void * ctx)<br/>
-</pre><p>called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument()</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="endElement"/>endElement ()</h3><pre class="programlisting">void	endElement			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>called when the end of an element has been detected. DEPRECATED: use xmlSAX2EndElement()</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 element name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="entityDecl"/>entityDecl ()</h3><pre class="programlisting">void	entityDecl			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl()</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 entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type</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>content</tt></i>:</span></td><td>the entity value (without processing).</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="externalSubset"/>externalSubset ()</h3><pre class="programlisting">void	externalSubset			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset()</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getColumnNumber"/>getColumnNumber ()</h3><pre class="programlisting">int	getColumnNumber			(void * ctx)<br/>
-</pre><p>Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber()</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>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getEntity"/>getEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getEntity		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Get an entity by name DEPRECATED: use xmlSAX2GetEntity()</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getLineNumber"/>getLineNumber ()</h3><pre class="programlisting">int	getLineNumber			(void * ctx)<br/>
-</pre><p>Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber()</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>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getNamespace"/>getNamespace ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	getNamespace		(void * ctx)<br/>
-</pre><p>Get the current element namespace. DEPRECATED</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>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL if none</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getParameterEntity"/>getParameterEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getParameterEntity	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity()</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getPublicId"/>getPublicId ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	getPublicId		(void * ctx)<br/>
-</pre><p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" DEPRECATED: use xmlSAX2GetPublicId()</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>Returns</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getSystemId"/>getSystemId ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	getSystemId		(void * ctx)<br/>
-</pre><p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd DEPRECATED: use xmlSAX2GetSystemId()</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>Returns</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="globalNamespace"/>globalNamespace ()</h3><pre class="programlisting">void	globalNamespace			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br/>
-</pre><p>An old global namespace has been parsed. DEPRECATED</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>href</tt></i>:</span></td><td>the namespace associated URN</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="hasExternalSubset"/>hasExternalSubset ()</h3><pre class="programlisting">int	hasExternalSubset		(void * ctx)<br/>
-</pre><p>Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset()</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="hasInternalSubset"/>hasInternalSubset ()</h3><pre class="programlisting">int	hasInternalSubset		(void * ctx)<br/>
-</pre><p>Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset()</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="ignorableWhitespace"/>ignorableWhitespace ()</h3><pre class="programlisting">void	ignorableWhitespace		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len)<br/>
-</pre><p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml2-SAX.html#characters">characters</a> DEPRECATED: use xmlSAX2IgnorableWhitespace()</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>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="initdocbDefaultSAXHandler"/>initdocbDefaultSAXHandler ()</h3><pre class="programlisting">void	initdocbDefaultSAXHandler	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr)<br/>
-</pre><p>Initialize the default DocBook SAX version 1 handler DEPRECATED: use xmlSAX2InitDocbDefaultSAXHandler() for the new SAX2 blocks</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="inithtmlDefaultSAXHandler"/>inithtmlDefaultSAXHandler ()</h3><pre class="programlisting">void	inithtmlDefaultSAXHandler	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr)<br/>
-</pre><p>Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="initxmlDefaultSAXHandler"/>initxmlDefaultSAXHandler ()</h3><pre class="programlisting">void	initxmlDefaultSAXHandler	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br/>					 int warning)<br/>
-</pre><p>Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks</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>warning</tt></i>:</span></td><td>flag if non-zero sets the handler warning procedure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="internalSubset"/>internalSubset ()</h3><pre class="programlisting">void	internalSubset			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset()</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="isStandalone"/>isStandalone ()</h3><pre class="programlisting">int	isStandalone			(void * ctx)<br/>
-</pre><p>Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone()</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="namespaceDecl"/>namespaceDecl ()</h3><pre class="programlisting">void	namespaceDecl			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br/>
-</pre><p>A namespace has been parsed. DEPRECATED</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>href</tt></i>:</span></td><td>the namespace associated URN</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="notationDecl"/>notationDecl ()</h3><pre class="programlisting">void	notationDecl			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
-</pre><p>What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl()</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 notation</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="processingInstruction"/>processingInstruction ()</h3><pre class="programlisting">void	processingInstruction		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br/>
-</pre><p>A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction()</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>target</tt></i>:</span></td><td>the target name</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the PI data's</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="reference"/>reference ()</h3><pre class="programlisting">void	reference			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>called when an entity <a href="libxml2-SAX.html#reference">reference</a> is detected. DEPRECATED: use xmlSAX2Reference()</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 entity name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="resolveEntity"/>resolveEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	resolveEntity	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
-</pre><p>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's own entity resolution routine DEPRECATED: use xmlSAX2ResolveEntity()</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>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>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="setDocumentLocator"/>setDocumentLocator ()</h3><pre class="programlisting">void	setDocumentLocator		(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br/>
-</pre><p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case. DEPRECATED</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>loc</tt></i>:</span></td><td>A SAX Locator</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="setNamespace"/>setNamespace ()</h3><pre class="programlisting">void	setNamespace			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Set the current element namespace. DEPRECATED</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 namespace prefix</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="startDocument"/>startDocument ()</h3><pre class="programlisting">void	startDocument			(void * ctx)<br/>
-</pre><p>called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument()</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="startElement"/>startElement ()</h3><pre class="programlisting">void	startElement			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br/>
-</pre><p>called when an opening tag has been processed. DEPRECATED: use xmlSAX2StartElement()</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>fullname</tt></i>:</span></td><td>The element name, including namespace prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array of name/value attributes pairs, NULL terminated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="unparsedEntityDecl"/>unparsedEntityDecl ()</h3><pre class="programlisting">void	unparsedEntityDecl		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br/>
-</pre><p>What to do when an unparsed entity declaration is parsed DEPRECATED: use xmlSAX2UnparsedEntityDecl()</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></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="attribute"></a>attribute ()</h3>
+<pre class="programlisting">void	attribute			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Handle an <a href="libxml2-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml2-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> element added to the element. DEPRECATED: use xmlSAX2Attribute()</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>fullname</tt></i>:</span></td>
+<td>The <a href="libxml2-SAX.html#attribute">attribute</a> name, including namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>The <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="attributeDecl"></a>attributeDecl ()</h3>
+<pre class="programlisting">void	attributeDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
+</pre>
+<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed DEPRECATED: use xmlSAX2AttributeDecl()</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>elem</tt></i>:</span></td>
+<td>the name of the element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>def</tt></i>:</span></td>
+<td>the type of default value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>the tree of enumerated value set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="cdataBlock"></a>cdataBlock ()</h3>
+<pre class="programlisting">void	cdataBlock			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
+</pre>
+<p>called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock()</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>value</tt></i>:</span></td>
+<td>The pcdata content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the block length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="characters"></a>characters ()</h3>
+<pre class="programlisting">void	characters			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
+</pre>
+<p>receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters()</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>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="checkNamespace"></a>checkNamespace ()</h3>
+<pre class="programlisting">int	checkNamespace			(void * ctx, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace)<br>
+</pre>
+<p>Check that the current element namespace is the same as the one read upon parsing. DEPRECATED</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>namespace</tt></i>:</span></td>
+<td>the namespace to check against</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="comment"></a>comment ()</h3>
+<pre class="programlisting">void	comment			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>A <a href="libxml2-SAX.html#comment">comment</a> has been parsed. DEPRECATED: use xmlSAX2Comment()</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>value</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="elementDecl"></a>elementDecl ()</h3>
+<pre class="programlisting">void	elementDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
+</pre>
+<p>An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()</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 element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the element type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the element value tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="endDocument"></a>endDocument ()</h3>
+<pre class="programlisting">void	endDocument			(void * ctx)<br>
+</pre>
+<p>called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument()</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></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="endElement"></a>endElement ()</h3>
+<pre class="programlisting">void	endElement			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>called when the end of an element has been detected. DEPRECATED: use xmlSAX2EndElement()</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 element name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="entityDecl"></a>entityDecl ()</h3>
+<pre class="programlisting">void	entityDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl()</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 entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type</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>content</tt></i>:</span></td>
+<td>the entity value (without processing).</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="externalSubset"></a>externalSubset ()</h3>
+<pre class="programlisting">void	externalSubset			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset()</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 root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getColumnNumber"></a>getColumnNumber ()</h3>
+<pre class="programlisting">int	getColumnNumber			(void * ctx)<br>
+</pre>
+<p>Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber()</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>Returns</tt></i>:</span></td>
+<td>an int</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getEntity"></a>getEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getEntity		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get an entity by name DEPRECATED: use xmlSAX2GetEntity()</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 entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getLineNumber"></a>getLineNumber ()</h3>
+<pre class="programlisting">int	getLineNumber			(void * ctx)<br>
+</pre>
+<p>Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber()</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>Returns</tt></i>:</span></td>
+<td>an int</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getNamespace"></a>getNamespace ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	getNamespace		(void * ctx)<br>
+</pre>
+<p>Get the current element namespace. DEPRECATED</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>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL if none</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getParameterEntity"></a>getParameterEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getParameterEntity	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity()</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 entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getPublicId"></a>getPublicId ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	getPublicId		(void * ctx)<br>
+</pre>
+<p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" DEPRECATED: use xmlSAX2GetPublicId()</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>Returns</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getSystemId"></a>getSystemId ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	getSystemId		(void * ctx)<br>
+</pre>
+<p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd DEPRECATED: use xmlSAX2GetSystemId()</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>Returns</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="globalNamespace"></a>globalNamespace ()</h3>
+<pre class="programlisting">void	globalNamespace			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
+</pre>
+<p>An old global namespace has been parsed. DEPRECATED</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>href</tt></i>:</span></td>
+<td>the namespace associated URN</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the namespace prefix</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="hasExternalSubset"></a>hasExternalSubset ()</h3>
+<pre class="programlisting">int	hasExternalSubset		(void * ctx)<br>
+</pre>
+<p>Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset()</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>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="hasInternalSubset"></a>hasInternalSubset ()</h3>
+<pre class="programlisting">int	hasInternalSubset		(void * ctx)<br>
+</pre>
+<p>Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset()</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>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="ignorableWhitespace"></a>ignorableWhitespace ()</h3>
+<pre class="programlisting">void	ignorableWhitespace		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
+</pre>
+<p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml2-SAX.html#characters">characters</a> DEPRECATED: use xmlSAX2IgnorableWhitespace()</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>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="inithtmlDefaultSAXHandler"></a>inithtmlDefaultSAXHandler ()</h3>
+<pre class="programlisting">void	inithtmlDefaultSAXHandler	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr)<br>
+</pre>
+<p>Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks</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></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="initxmlDefaultSAXHandler"></a>initxmlDefaultSAXHandler ()</h3>
+<pre class="programlisting">void	initxmlDefaultSAXHandler	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br>					 int warning)<br>
+</pre>
+<p>Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks</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>warning</tt></i>:</span></td>
+<td>flag if non-zero sets the handler warning procedure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="internalSubset"></a>internalSubset ()</h3>
+<pre class="programlisting">void	internalSubset			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset()</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 root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="isStandalone"></a>isStandalone ()</h3>
+<pre class="programlisting">int	isStandalone			(void * ctx)<br>
+</pre>
+<p>Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone()</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>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="namespaceDecl"></a>namespaceDecl ()</h3>
+<pre class="programlisting">void	namespaceDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
+</pre>
+<p>A namespace has been parsed. DEPRECATED</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>href</tt></i>:</span></td>
+<td>the namespace associated URN</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the namespace prefix</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="notationDecl"></a>notationDecl ()</h3>
+<pre class="programlisting">void	notationDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
+</pre>
+<p>What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl()</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 notation</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>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="processingInstruction"></a>processingInstruction ()</h3>
+<pre class="programlisting">void	processingInstruction		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
+</pre>
+<p>A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction()</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>target</tt></i>:</span></td>
+<td>the target name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the PI data's</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="reference"></a>reference ()</h3>
+<pre class="programlisting">void	reference			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>called when an entity <a href="libxml2-SAX.html#reference">reference</a> is detected. DEPRECATED: use xmlSAX2Reference()</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 entity name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="resolveEntity"></a>resolveEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	resolveEntity	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
+</pre>
+<p>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's own entity resolution routine DEPRECATED: use xmlSAX2ResolveEntity()</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>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>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="setDocumentLocator"></a>setDocumentLocator ()</h3>
+<pre class="programlisting">void	setDocumentLocator		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
+</pre>
+<p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case. DEPRECATED</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>loc</tt></i>:</span></td>
+<td>A SAX Locator</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="setNamespace"></a>setNamespace ()</h3>
+<pre class="programlisting">void	setNamespace			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Set the current element namespace. DEPRECATED</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 namespace prefix</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="startDocument"></a>startDocument ()</h3>
+<pre class="programlisting">void	startDocument			(void * ctx)<br>
+</pre>
+<p>called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument()</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></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="startElement"></a>startElement ()</h3>
+<pre class="programlisting">void	startElement			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br>
+</pre>
+<p>called when an opening tag has been processed. DEPRECATED: use xmlSAX2StartElement()</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>fullname</tt></i>:</span></td>
+<td>The element name, including namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>atts</tt></i>:</span></td>
+<td>An array of name/value attributes pairs, NULL terminated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="unparsedEntityDecl"></a>unparsedEntityDecl ()</h3>
+<pre class="programlisting">void	unparsedEntityDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
+</pre>
+<p>What to do when an unparsed entity declaration is parsed DEPRECATED: use xmlSAX2UnparsedEntityDecl()</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>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-SAX2.html b/doc/devhelp/libxml2-SAX2.html
index 627e55e..4a463b1 100644
--- a/doc/devhelp/libxml2-SAX2.html
+++ b/doc/devhelp/libxml2-SAX2.html
@@ -1,247 +1,940 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>SAX2: SAX2 parser interface used to build the DOM tree</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-SAX.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-c14n.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">SAX2</span>
-    </h2>
-    <p>SAX2 - SAX2 parser interface used to build the DOM tree</p>
-    <p>those are the default SAX2 interfaces used by the library when building DOM tree. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">void	<a href="#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
-void	<a href="#xmlSAX2Reference">xmlSAX2Reference</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
-void	<a href="#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 int type, <br/>					 int def, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
-void	<a href="#xmlSAX2Comment">xmlSAX2Comment</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a>		(void * ctx);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlSAX2GetEntity">xmlSAX2GetEntity</a>	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a>	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
-void	<a href="#xmlSAX2InitDocbDefaultSAXHandler">xmlSAX2InitDocbDefaultSAXHandler</a>	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr);
-int	<a href="#xmlSAXVersion">xmlSAXVersion</a>			(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br/>					 int version);
-void	<a href="#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a>	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len);
-void	<a href="#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-void	<a href="#xmlSAX2StartDocument">xmlSAX2StartDocument</a>		(void * ctx);
-void	<a href="#xmlSAX2EndElement">xmlSAX2EndElement</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a>	(void * ctx, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-void	<a href="#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a>	(void * ctx);
-int	<a href="#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a>		(void * ctx);
-void	<a href="#xmlSAX2EndDocument">xmlSAX2EndDocument</a>		(void * ctx);
-void	<a href="#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a>	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
-void	<a href="#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-void	<a href="#xmlSAX2Characters">xmlSAX2Characters</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len);
-int	<a href="#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a>		(int version);
-void	<a href="#xmlSAX2StartElement">xmlSAX2StartElement</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
-void	<a href="#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a>	(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
-void	<a href="#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int len);
-void	<a href="#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 int nb_namespaces, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br/>					 int nb_attributes, <br/>					 int nb_defaulted, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
-int	<a href="#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a>	(void * ctx);
-void	<a href="#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a>	(void);
-int	<a href="#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a>		(void * ctx);
-int	<a href="#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a>	(void * ctx);
-void	<a href="#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a>	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr);
-void	<a href="#docbDefaultSAXHandlerInit">docbDefaultSAXHandlerInit</a>	(void);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SAX2: SAX2 parser interface used to build the DOM tree</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">SAX2</span></h2>
+<p>SAX2 - SAX2 parser interface used to build the DOM tree</p>
+<p>those are the default SAX2 interfaces used by the library when building DOM tree. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">void	<a href="#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a>	(void);
 void	<a href="#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a>	(void);
-void	<a href="#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a>	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br/>					 int warning);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a>	(void * ctx, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void	<a href="#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
+void	<a href="#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
+void	<a href="#xmlSAX2Characters">xmlSAX2Characters</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
+void	<a href="#xmlSAX2Comment">xmlSAX2Comment</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+void	<a href="#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
+void	<a href="#xmlSAX2EndDocument">xmlSAX2EndDocument</a>		(void * ctx);
+void	<a href="#xmlSAX2EndElement">xmlSAX2EndElement</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void	<a href="#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
+void	<a href="#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+void	<a href="#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+int	<a href="#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a>		(void * ctx);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlSAX2GetEntity">xmlSAX2GetEntity</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a>		(void * ctx);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a>	(void * ctx);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a>	(void * ctx);
-void	<a href="#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a>	(void * ctx);
+int	<a href="#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a>	(void * ctx);
+void	<a href="#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
+void	<a href="#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a>	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>					 int warning);
+void	<a href="#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a>	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr);
+void	<a href="#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+int	<a href="#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a>		(void * ctx);
+void	<a href="#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+void	<a href="#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
+void	<a href="#xmlSAX2Reference">xmlSAX2Reference</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+void	<a href="#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a>	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
+void	<a href="#xmlSAX2StartDocument">xmlSAX2StartDocument</a>		(void * ctx);
+void	<a href="#xmlSAX2StartElement">xmlSAX2StartElement</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
+void	<a href="#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
+void	<a href="#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
+int	<a href="#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a>		(int version);
+int	<a href="#xmlSAXVersion">xmlSAXVersion</a>			(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>					 int version);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="docbDefaultSAXHandlerInit"/>docbDefaultSAXHandlerInit ()</h3><pre class="programlisting">void	docbDefaultSAXHandlerInit	(void)<br/>
-</pre><p>Initialize the default SAX handler</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDefaultSAXHandlerInit"/>htmlDefaultSAXHandlerInit ()</h3><pre class="programlisting">void	htmlDefaultSAXHandlerInit	(void)<br/>
-</pre><p>Initialize the default SAX handler</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDefaultSAXHandlerInit"></a>htmlDefaultSAXHandlerInit ()</h3>
+<pre class="programlisting">void	htmlDefaultSAXHandlerInit	(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the default SAX handler</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDefaultSAXHandlerInit"/>xmlDefaultSAXHandlerInit ()</h3><pre class="programlisting">void	xmlDefaultSAXHandlerInit	(void)<br/>
-</pre><p>Initialize the default SAX2 handler</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDefaultSAXHandlerInit"></a>xmlDefaultSAXHandlerInit ()</h3>
+<pre class="programlisting">void	xmlDefaultSAXHandlerInit	(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the default SAX2 handler</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2AttributeDecl"/>xmlSAX2AttributeDecl ()</h3><pre class="programlisting">void	xmlSAX2AttributeDecl		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 int type, <br/>					 int def, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br/>
-</pre><p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been 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>elem</tt></i>:</span></td><td>the name of the element</td></tr><tr><td><span class="term"><i><tt>fullname</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td></tr><tr><td><span class="term"><i><tt>def</tt></i>:</span></td><td>the type of default value</td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the tree of enumerated value set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2CDataBlock"/>xmlSAX2CDataBlock ()</h3><pre class="programlisting">void	xmlSAX2CDataBlock		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int len)<br/>
-</pre><p>called when a pcdata block has been 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>value</tt></i>:</span></td><td>The pcdata content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the block length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2Characters"/>xmlSAX2Characters ()</h3><pre class="programlisting">void	xmlSAX2Characters		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len)<br/>
-</pre><p>receiving some chars from the parser.</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>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2Comment"/>xmlSAX2Comment ()</h3><pre class="programlisting">void	xmlSAX2Comment			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>A <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> has been 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>value</tt></i>:</span></td><td>the <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2ElementDecl"/>xmlSAX2ElementDecl ()</h3><pre class="programlisting">void	xmlSAX2ElementDecl		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br/>
-</pre><p>An element definition has been 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 element name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the element value tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2EndDocument"/>xmlSAX2EndDocument ()</h3><pre class="programlisting">void	xmlSAX2EndDocument		(void * ctx)<br/>
-</pre><p>called when the document end has been detected.</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2EndElement"/>xmlSAX2EndElement ()</h3><pre class="programlisting">void	xmlSAX2EndElement		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>called when the end of an element has been detected.</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 element name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2EndElementNs"/>xmlSAX2EndElementNs ()</h3><pre class="programlisting">void	xmlSAX2EndElementNs		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</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>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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2EntityDecl"/>xmlSAX2EntityDecl ()</h3><pre class="programlisting">void	xmlSAX2EntityDecl		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>An entity definition has been 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 entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type</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>content</tt></i>:</span></td><td>the entity value (without processing).</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2ExternalSubset"/>xmlSAX2ExternalSubset ()</h3><pre class="programlisting">void	xmlSAX2ExternalSubset		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on external subset declaration.</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetColumnNumber"/>xmlSAX2GetColumnNumber ()</h3><pre class="programlisting">int	xmlSAX2GetColumnNumber		(void * ctx)<br/>
-</pre><p>Provide the column number of the current parsing point.</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>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetEntity"/>xmlSAX2GetEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlSAX2GetEntity	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Get an entity by name</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetLineNumber"/>xmlSAX2GetLineNumber ()</h3><pre class="programlisting">int	xmlSAX2GetLineNumber		(void * ctx)<br/>
-</pre><p>Provide the line number of the current parsing point.</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>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetParameterEntity"/>xmlSAX2GetParameterEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlSAX2GetParameterEntity	(void * ctx, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Get a parameter entity by name</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetPublicId"/>xmlSAX2GetPublicId ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSAX2GetPublicId	(void * ctx)<br/>
-</pre><p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"</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>Returns</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetSystemId"/>xmlSAX2GetSystemId ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSAX2GetSystemId	(void * ctx)<br/>
-</pre><p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd</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>Returns</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2HasExternalSubset"/>xmlSAX2HasExternalSubset ()</h3><pre class="programlisting">int	xmlSAX2HasExternalSubset	(void * ctx)<br/>
-</pre><p>Does this document has an external subset</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2HasInternalSubset"/>xmlSAX2HasInternalSubset ()</h3><pre class="programlisting">int	xmlSAX2HasInternalSubset	(void * ctx)<br/>
-</pre><p>Does this document has an internal subset</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2IgnorableWhitespace"/>xmlSAX2IgnorableWhitespace ()</h3><pre class="programlisting">void	xmlSAX2IgnorableWhitespace	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len)<br/>
-</pre><p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml2-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a></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>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2InitDefaultSAXHandler"/>xmlSAX2InitDefaultSAXHandler ()</h3><pre class="programlisting">void	xmlSAX2InitDefaultSAXHandler	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br/>					 int warning)<br/>
-</pre><p>Initialize the default XML SAX2 handler</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>warning</tt></i>:</span></td><td>flag if non-zero sets the handler warning procedure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2InitDocbDefaultSAXHandler"/>xmlSAX2InitDocbDefaultSAXHandler ()</h3><pre class="programlisting">void	xmlSAX2InitDocbDefaultSAXHandler	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br/>
-</pre><p>Initialize the default DocBook SAX2 handler</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2InitHtmlDefaultSAXHandler"/>xmlSAX2InitHtmlDefaultSAXHandler ()</h3><pre class="programlisting">void	xmlSAX2InitHtmlDefaultSAXHandler	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br/>
-</pre><p>Initialize the default HTML SAX2 handler</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2InternalSubset"/>xmlSAX2InternalSubset ()</h3><pre class="programlisting">void	xmlSAX2InternalSubset		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on internal subset declaration.</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2IsStandalone"/>xmlSAX2IsStandalone ()</h3><pre class="programlisting">int	xmlSAX2IsStandalone		(void * ctx)<br/>
-</pre><p>Is this document tagged standalone ?</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2NotationDecl"/>xmlSAX2NotationDecl ()</h3><pre class="programlisting">void	xmlSAX2NotationDecl		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
-</pre><p>What to do when a notation declaration has been 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 notation</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2ProcessingInstruction"/>xmlSAX2ProcessingInstruction ()</h3><pre class="programlisting">void	xmlSAX2ProcessingInstruction	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br/>
-</pre><p>A processing instruction has been 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>target</tt></i>:</span></td><td>the target name</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the PI data's</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2Reference"/>xmlSAX2Reference ()</h3><pre class="programlisting">void	xmlSAX2Reference		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>called when an entity <a href="libxml2-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a> is detected.</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 entity name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2ResolveEntity"/>xmlSAX2ResolveEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlSAX2ResolveEntity	(void * ctx, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
-</pre><p>The entity loader, to control the loading of external entities, the application can either: - override this xmlSAX2ResolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine</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>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>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2SetDocumentLocator"/>xmlSAX2SetDocumentLocator ()</h3><pre class="programlisting">void	xmlSAX2SetDocumentLocator	(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br/>
-</pre><p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case.</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>loc</tt></i>:</span></td><td>A SAX Locator</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2StartDocument"/>xmlSAX2StartDocument ()</h3><pre class="programlisting">void	xmlSAX2StartDocument		(void * ctx)<br/>
-</pre><p>called when the document start being processed.</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2StartElement"/>xmlSAX2StartElement ()</h3><pre class="programlisting">void	xmlSAX2StartElement		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br/>
-</pre><p>called when an opening tag has been processed.</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>fullname</tt></i>:</span></td><td>The element name, including namespace prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array of name/value attributes pairs, NULL terminated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2StartElementNs"/>xmlSAX2StartElementNs ()</h3><pre class="programlisting">void	xmlSAX2StartElementNs		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 int nb_namespaces, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br/>					 int nb_attributes, <br/>					 int nb_defaulted, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br/>
-</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</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>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="libxml2-SAX.html#attribute">attribute</a> values.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2UnparsedEntityDecl"/>xmlSAX2UnparsedEntityDecl ()</h3><pre class="programlisting">void	xmlSAX2UnparsedEntityDecl	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 const <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXDefaultVersion"/>xmlSAXDefaultVersion ()</h3><pre class="programlisting">int	xmlSAXDefaultVersion		(int version)<br/>
-</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXVersion"/>xmlSAXVersion ()</h3><pre class="programlisting">int	xmlSAXVersion			(<a href="libxml2-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></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2AttributeDecl"></a>xmlSAX2AttributeDecl ()</h3>
+<pre class="programlisting">void	xmlSAX2AttributeDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
+</pre>
+<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been 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>elem</tt></i>:</span></td>
+<td>the name of the element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>def</tt></i>:</span></td>
+<td>the type of default value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>the tree of enumerated value set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2CDataBlock"></a>xmlSAX2CDataBlock ()</h3>
+<pre class="programlisting">void	xmlSAX2CDataBlock		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
+</pre>
+<p>called when a pcdata block has been 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>value</tt></i>:</span></td>
+<td>The pcdata content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the block length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2Characters"></a>xmlSAX2Characters ()</h3>
+<pre class="programlisting">void	xmlSAX2Characters		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
+</pre>
+<p>receiving some chars from the parser.</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>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2Comment"></a>xmlSAX2Comment ()</h3>
+<pre class="programlisting">void	xmlSAX2Comment			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>A <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> has been 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>value</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2ElementDecl"></a>xmlSAX2ElementDecl ()</h3>
+<pre class="programlisting">void	xmlSAX2ElementDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
+</pre>
+<p>An element definition has been 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 element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the element type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the element value tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2EndDocument"></a>xmlSAX2EndDocument ()</h3>
+<pre class="programlisting">void	xmlSAX2EndDocument		(void * ctx)<br>
+</pre>
+<p>called when the document end has been detected.</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></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2EndElement"></a>xmlSAX2EndElement ()</h3>
+<pre class="programlisting">void	xmlSAX2EndElement		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>called when the end of an element has been detected.</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 element name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2EndElementNs"></a>xmlSAX2EndElementNs ()</h3>
+<pre class="programlisting">void	xmlSAX2EndElementNs		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
+</pre>
+<p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</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>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>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2EntityDecl"></a>xmlSAX2EntityDecl ()</h3>
+<pre class="programlisting">void	xmlSAX2EntityDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>An entity definition has been 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 entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type</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>content</tt></i>:</span></td>
+<td>the entity value (without processing).</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2ExternalSubset"></a>xmlSAX2ExternalSubset ()</h3>
+<pre class="programlisting">void	xmlSAX2ExternalSubset		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on external subset declaration.</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 root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetColumnNumber"></a>xmlSAX2GetColumnNumber ()</h3>
+<pre class="programlisting">int	xmlSAX2GetColumnNumber		(void * ctx)<br>
+</pre>
+<p>Provide the column number of the current parsing point.</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>Returns</tt></i>:</span></td>
+<td>an int</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetEntity"></a>xmlSAX2GetEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlSAX2GetEntity	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get an entity by name</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 entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetLineNumber"></a>xmlSAX2GetLineNumber ()</h3>
+<pre class="programlisting">int	xmlSAX2GetLineNumber		(void * ctx)<br>
+</pre>
+<p>Provide the line number of the current parsing point.</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>Returns</tt></i>:</span></td>
+<td>an int</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetParameterEntity"></a>xmlSAX2GetParameterEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlSAX2GetParameterEntity	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get a parameter entity by name</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 entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetPublicId"></a>xmlSAX2GetPublicId ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSAX2GetPublicId	(void * ctx)<br>
+</pre>
+<p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"</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>Returns</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetSystemId"></a>xmlSAX2GetSystemId ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSAX2GetSystemId	(void * ctx)<br>
+</pre>
+<p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd</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>Returns</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2HasExternalSubset"></a>xmlSAX2HasExternalSubset ()</h3>
+<pre class="programlisting">int	xmlSAX2HasExternalSubset	(void * ctx)<br>
+</pre>
+<p>Does this document has an external subset</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>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2HasInternalSubset"></a>xmlSAX2HasInternalSubset ()</h3>
+<pre class="programlisting">int	xmlSAX2HasInternalSubset	(void * ctx)<br>
+</pre>
+<p>Does this document has an internal subset</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>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2IgnorableWhitespace"></a>xmlSAX2IgnorableWhitespace ()</h3>
+<pre class="programlisting">void	xmlSAX2IgnorableWhitespace	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
+</pre>
+<p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml2-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a></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>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2InitDefaultSAXHandler"></a>xmlSAX2InitDefaultSAXHandler ()</h3>
+<pre class="programlisting">void	xmlSAX2InitDefaultSAXHandler	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>					 int warning)<br>
+</pre>
+<p>Initialize the default XML SAX2 handler</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>warning</tt></i>:</span></td>
+<td>flag if non-zero sets the handler warning procedure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2InitHtmlDefaultSAXHandler"></a>xmlSAX2InitHtmlDefaultSAXHandler ()</h3>
+<pre class="programlisting">void	xmlSAX2InitHtmlDefaultSAXHandler	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br>
+</pre>
+<p>Initialize the default HTML SAX2 handler</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></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2InternalSubset"></a>xmlSAX2InternalSubset ()</h3>
+<pre class="programlisting">void	xmlSAX2InternalSubset		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on internal subset declaration.</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 root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2IsStandalone"></a>xmlSAX2IsStandalone ()</h3>
+<pre class="programlisting">int	xmlSAX2IsStandalone		(void * ctx)<br>
+</pre>
+<p>Is this document tagged standalone ?</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>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2NotationDecl"></a>xmlSAX2NotationDecl ()</h3>
+<pre class="programlisting">void	xmlSAX2NotationDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
+</pre>
+<p>What to do when a notation declaration has been 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 notation</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>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2ProcessingInstruction"></a>xmlSAX2ProcessingInstruction ()</h3>
+<pre class="programlisting">void	xmlSAX2ProcessingInstruction	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
+</pre>
+<p>A processing instruction has been 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>target</tt></i>:</span></td>
+<td>the target name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the PI data's</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2Reference"></a>xmlSAX2Reference ()</h3>
+<pre class="programlisting">void	xmlSAX2Reference		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>called when an entity <a href="libxml2-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a> is detected.</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 entity name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2ResolveEntity"></a>xmlSAX2ResolveEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlSAX2ResolveEntity	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
+</pre>
+<p>The entity loader, to control the loading of external entities, the application can either: - override this xmlSAX2ResolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine</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>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>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2SetDocumentLocator"></a>xmlSAX2SetDocumentLocator ()</h3>
+<pre class="programlisting">void	xmlSAX2SetDocumentLocator	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
+</pre>
+<p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case.</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>loc</tt></i>:</span></td>
+<td>A SAX Locator</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2StartDocument"></a>xmlSAX2StartDocument ()</h3>
+<pre class="programlisting">void	xmlSAX2StartDocument		(void * ctx)<br>
+</pre>
+<p>called when the document start being processed.</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></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2StartElement"></a>xmlSAX2StartElement ()</h3>
+<pre class="programlisting">void	xmlSAX2StartElement		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br>
+</pre>
+<p>called when an opening tag has been processed.</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>fullname</tt></i>:</span></td>
+<td>The element name, including namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>atts</tt></i>:</span></td>
+<td>An array of name/value attributes pairs, NULL terminated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2StartElementNs"></a>xmlSAX2StartElementNs ()</h3>
+<pre class="programlisting">void	xmlSAX2StartElementNs		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br>
+</pre>
+<p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</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>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="libxml2-SAX.html#attribute">attribute</a> values.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2UnparsedEntityDecl"></a>xmlSAX2UnparsedEntityDecl ()</h3>
+<pre class="programlisting">void	xmlSAX2UnparsedEntityDecl	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXDefaultVersion"></a>xmlSAXDefaultVersion ()</h3>
+<pre class="programlisting">int	xmlSAXDefaultVersion		(int version)<br>
+</pre>
+<p>DEPRECATED: Use parser option <a href="libxml2-parser.html#XML_PARSE_SAX1">XML_PARSE_SAX1</a>. 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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXVersion"></a>xmlSAXVersion ()</h3>
+<pre class="programlisting">int	xmlSAXVersion			(<a href="libxml2-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>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-c14n.html b/doc/devhelp/libxml2-c14n.html
index 602d932..b2cef08 100644
--- a/doc/devhelp/libxml2-c14n.html
+++ b/doc/devhelp/libxml2-c14n.html
@@ -1,91 +1,253 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>c14n: Provide Canonical XML and Exclusive XML Canonicalization</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-SAX2.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-catalog.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">c14n</span>
-    </h2>
-    <p>c14n - Provide Canonical XML and Exclusive XML Canonicalization</p>
-    <p>the c14n modules provides a  "Canonical XML" implementation</p>
-    <p>Author(s): Aleksey Sanin &lt;aleksey@aleksey.com&gt; </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef enum <a href="#xmlC14NMode">xmlC14NMode</a>;
-int	<a href="#xmlC14NExecute">xmlC14NExecute</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br/>					 void * user_data, <br/>					 int mode, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br/>					 int with_comments, <br/>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
-int	<a href="#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>					 int mode, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br/>					 int with_comments, <br/>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
-typedef int <a href="#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a>	(void * user_data, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
-int	<a href="#xmlC14NDocSave">xmlC14NDocSave</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>					 int mode, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br/>					 int with_comments, <br/>					 const char * filename, <br/>					 int compression);
-int	<a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>					 int mode, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br/>					 int with_comments, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>c14n: Provide Canonical XML and Exclusive XML Canonicalization</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-SAX2.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-catalog.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">c14n</span></h2>
+<p>c14n - Provide Canonical XML and Exclusive XML Canonicalization</p>
+<p>the c14n modules provides a  "Canonical XML" implementation</p>
+<p>Author(s): Aleksey Sanin &lt;aleksey@aleksey.com&gt; </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef enum <a href="#xmlC14NMode">xmlC14NMode</a>;
+int	<a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr);
+int	<a href="#xmlC14NDocSave">xmlC14NDocSave</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 const char * filename, <br>					 int compression);
+int	<a href="#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
+int	<a href="#xmlC14NExecute">xmlC14NExecute</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br>					 void * user_data, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
+typedef int <a href="#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a>	(void * user_data, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlC14NMode">Enum </a>xmlC14NMode</h3><pre class="programlisting">enum <a href="#xmlC14NMode">xmlC14NMode</a> {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlC14NMode">Enum </a>xmlC14NMode</h3>
+<pre class="programlisting">enum <a href="#xmlC14NMode">xmlC14NMode</a> {
     <a name="XML_C14N_1_0">XML_C14N_1_0</a> = 0 /* Original C14N 1.0 spec */
     <a name="XML_C14N_EXCLUSIVE_1_0">XML_C14N_EXCLUSIVE_1_0</a> = 1 /* Exclusive C14N 1.0 spec */
     <a name="XML_C14N_1_1">XML_C14N_1_1</a> = 2 /*  C14N 1.1 spec */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlC14NIsVisibleCallback"/>Function type xmlC14NIsVisibleCallback</h3><pre class="programlisting">int	xmlC14NIsVisibleCallback	(void * user_data, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br/>
-</pre><p>Signature for a C14N callback on visible nodes</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>user data</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node should be included</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlC14NDocDumpMemory"/>xmlC14NDocDumpMemory ()</h3><pre class="programlisting">int	xmlC14NDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>					 int mode, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br/>					 int with_comments, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)<br/>
-</pre><p>Dumps the canonized image of given XML document into memory. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td><td>the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written on success or a negative value on fail</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlC14NDocSave"/>xmlC14NDocSave ()</h3><pre class="programlisting">int	xmlC14NDocSave			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>					 int mode, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br/>					 int with_comments, <br/>					 const char * filename, <br/>					 int compression)<br/>
-</pre><p>Dumps the canonized image of given XML document into the file. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename to store canonical XML image</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression level (zlib required): -1 - libxml default, 0 - uncompressed, &gt;0 - compression level</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written success or a negative value on fail</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlC14NDocSaveTo"/>xmlC14NDocSaveTo ()</h3><pre class="programlisting">int	xmlC14NDocSaveTo		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>					 int mode, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br/>					 int with_comments, <br/>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br/>
-</pre><p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>non-negative value on success or a negative value on fail</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlC14NExecute"/>xmlC14NExecute ()</h3><pre class="programlisting">int	xmlC14NExecute			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br/>					 void * user_data, <br/>					 int mode, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br/>					 int with_comments, <br/>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br/>
-</pre><p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>is_visible_callback</tt></i>:</span></td><td>the function to use to determine is node visible or not</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>the first parameter for @is_visible_callback function (in most cases, it is nodes set)</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>non-negative value on success or a negative value on fail</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlC14NIsVisibleCallback"></a>Function type xmlC14NIsVisibleCallback</h3>
+<pre class="programlisting">int	xmlC14NIsVisibleCallback	(void * user_data, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
+</pre>
+<p>Signature for a C14N callback on visible nodes</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>user data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the node should be included</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlC14NDocDumpMemory"></a>xmlC14NDocDumpMemory ()</h3>
+<pre class="programlisting">int	xmlC14NDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)<br>
+</pre>
+<p>Dumps the canonized image of given XML document into memory. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the XML document for canonization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the c14n mode (see @xmlC14NMode)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
+<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
+<td>include comments in the result (!=0) or not (==0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
+<td>the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written on success or a negative value on fail</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlC14NDocSave"></a>xmlC14NDocSave ()</h3>
+<pre class="programlisting">int	xmlC14NDocSave			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 const char * filename, <br>					 int compression)<br>
+</pre>
+<p>Dumps the canonized image of given XML document into the file. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the XML document for canonization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the c14n mode (see @xmlC14NMode)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
+<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
+<td>include comments in the result (!=0) or not (==0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename to store canonical XML image</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>the compression level (zlib required): -1 - libxml default, 0 - uncompressed, &gt;0 - compression level</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written success or a negative value on fail</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlC14NDocSaveTo"></a>xmlC14NDocSaveTo ()</h3>
+<pre class="programlisting">int	xmlC14NDocSaveTo		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br>
+</pre>
+<p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the XML document for canonization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the c14n mode (see @xmlC14NMode)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
+<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
+<td>include comments in the result (!=0) or not (==0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>non-negative value on success or a negative value on fail</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlC14NExecute"></a>xmlC14NExecute ()</h3>
+<pre class="programlisting">int	xmlC14NExecute			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br>					 void * user_data, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br>
+</pre>
+<p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the XML document for canonization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>is_visible_callback</tt></i>:</span></td>
+<td>the function to use to determine is node visible or not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>the first parameter for @is_visible_callback function (in most cases, it is nodes set)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the c14n mode (see @xmlC14NMode)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
+<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
+<td>include comments in the result (!=0) or not (==0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>non-negative value on success or a negative value on fail</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-catalog.html b/doc/devhelp/libxml2-catalog.html
index 04dedd8..39d65dc 100644
--- a/doc/devhelp/libxml2-catalog.html
+++ b/doc/devhelp/libxml2-catalog.html
@@ -1,278 +1,887 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>catalog: interfaces to the Catalog handling system</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-c14n.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-chvalid.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">catalog</span>
-    </h2>
-    <p>catalog - interfaces to the Catalog handling system</p>
-    <p>the catalog module implements the support for XML Catalogs and SGML catalogs </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>;
-#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>catalog: interfaces to the Catalog handling system</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-c14n.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-chvalid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">catalog</span></h2>
+<p>catalog - interfaces to the Catalog handling system</p>
+<p>the catalog module implements the support for XML Catalogs and SGML catalogs </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
+#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>;
+typedef struct _xmlCatalog <a href="#xmlCatalog">xmlCatalog</a>;
 typedef enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a>;
 typedef enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a>;
-typedef struct _xmlCatalog <a href="#xmlCatalog">xmlCatalog</a>;
 typedef <a href="libxml2-catalog.html#xmlCatalog">xmlCatalog</a> * <a href="#xmlCatalogPtr">xmlCatalogPtr</a>;
-void	<a href="#xmlFreeCatalog">xmlFreeCatalog</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
-void	<a href="#xmlLoadCatalogs">xmlLoadCatalogs</a>			(const char * pathss);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a>	(void * catalogs, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
-int	<a href="#xmlACatalogAdd">xmlACatalogAdd</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
-<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>	<a href="#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a>	(void);
-int	<a href="#xmlACatalogRemove">xmlACatalogRemove</a>		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a>	<a href="#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a>	(<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolveURI">xmlACatalogResolveURI</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
-int	<a href="#xmlCatalogAdd">xmlCatalogAdd</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogGetSystem">xmlCatalogGetSystem</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
-void	<a href="#xmlInitializeCatalog">xmlInitializeCatalog</a>		(void);
-int	<a href="#xmlLoadCatalog">xmlLoadCatalog</a>			(const char * filename);
-int	<a href="#xmlCatalogRemove">xmlCatalogRemove</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a>		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
-void	<a href="#xmlACatalogDump">xmlACatalogDump</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>					 FILE * out);
-void	<a href="#xmlCatalogFreeLocal">xmlCatalogFreeLocal</a>		(void * catalogs);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolve">xmlACatalogResolve</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
-<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a>	(const char * filename);
+int	<a href="#xmlACatalogAdd">xmlACatalogAdd</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
+void	<a href="#xmlACatalogDump">xmlACatalogDump</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 FILE * out);
+int	<a href="#xmlACatalogRemove">xmlACatalogRemove</a>		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolve">xmlACatalogResolve</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolveURI">xmlACatalogResolveURI</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
+int	<a href="#xmlCatalogAdd">xmlCatalogAdd</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
+void *	<a href="#xmlCatalogAddLocal">xmlCatalogAddLocal</a>		(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL);
+void	<a href="#xmlCatalogCleanup">xmlCatalogCleanup</a>		(void);
 int	<a href="#xmlCatalogConvert">xmlCatalogConvert</a>		(void);
+void	<a href="#xmlCatalogDump">xmlCatalogDump</a>			(FILE * out);
+void	<a href="#xmlCatalogFreeLocal">xmlCatalogFreeLocal</a>		(void * catalogs);
+<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>	<a href="#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a>	(void);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogGetPublic">xmlCatalogGetPublic</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
-<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlLoadACatalog">xmlLoadACatalog</a>		(const char * filename);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a>	(void * catalogs, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogGetSystem">xmlCatalogGetSystem</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
+int	<a href="#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a>		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a>	(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a>	(void * catalogs, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
+int	<a href="#xmlCatalogRemove">xmlCatalogRemove</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolve">xmlCatalogResolve</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolveURI">xmlCatalogResolveURI</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
+int	<a href="#xmlCatalogSetDebug">xmlCatalogSetDebug</a>		(int level);
+<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a>	<a href="#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a>	(<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer);
+void	<a href="#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a>		(<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow);
 int	<a href="#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a>		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
-void *	<a href="#xmlCatalogAddLocal">xmlCatalogAddLocal</a>		(void * catalogs, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL);
+void	<a href="#xmlFreeCatalog">xmlFreeCatalog</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
+void	<a href="#xmlInitializeCatalog">xmlInitializeCatalog</a>		(void);
+<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlLoadACatalog">xmlLoadACatalog</a>		(const char * filename);
+int	<a href="#xmlLoadCatalog">xmlLoadCatalog</a>			(const char * filename);
+void	<a href="#xmlLoadCatalogs">xmlLoadCatalogs</a>			(const char * pathss);
+<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a>	(const char * filename);
 <a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlNewCatalog">xmlNewCatalog</a>		(int sgml);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseCatalogFile">xmlParseCatalogFile</a>	(const char * filename);
-int	<a href="#xmlCatalogSetDebug">xmlCatalogSetDebug</a>		(int level);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolve">xmlCatalogResolve</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
-void	<a href="#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a>		(<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow);
-void	<a href="#xmlCatalogDump">xmlCatalogDump</a>			(FILE * out);
-void	<a href="#xmlCatalogCleanup">xmlCatalogCleanup</a>		(void);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolveURI">xmlCatalogResolveURI</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="XML_CATALOGS_NAMESPACE">Macro </a>XML_CATALOGS_NAMESPACE</h3><pre class="programlisting">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
-</pre><p>The namespace for the XML Catalogs elements.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_CATALOG_PI">Macro </a>XML_CATALOG_PI</h3><pre class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>;
-</pre><p>The specific XML Catalog Processing Instruction name.</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_CATALOGS_NAMESPACE">Macro </a>XML_CATALOGS_NAMESPACE</h3>
+<pre class="programlisting">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
+</pre>
+<p>The namespace for the XML Catalogs elements.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalog">Structure </a>xmlCatalog</h3><pre class="programlisting">struct _xmlCatalog {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_CATALOG_PI">Macro </a>XML_CATALOG_PI</h3>
+<pre class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>;
+</pre>
+<p>The specific XML Catalog Processing Instruction name.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalog">Structure </a>xmlCatalog</h3>
+<pre class="programlisting">struct _xmlCatalog {
 The content of this structure is not made public by the API.
 } xmlCatalog;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogAllow">Enum </a>xmlCatalogAllow</h3><pre class="programlisting">enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogAllow">Enum </a>xmlCatalogAllow</h3>
+<pre class="programlisting">enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a> {
     <a name="XML_CATA_ALLOW_NONE">XML_CATA_ALLOW_NONE</a> = 0
     <a name="XML_CATA_ALLOW_GLOBAL">XML_CATA_ALLOW_GLOBAL</a> = 1
     <a name="XML_CATA_ALLOW_DOCUMENT">XML_CATA_ALLOW_DOCUMENT</a> = 2
     <a name="XML_CATA_ALLOW_ALL">XML_CATA_ALLOW_ALL</a> = 3
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogPrefer">Enum </a>xmlCatalogPrefer</h3><pre class="programlisting">enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogPrefer">Enum </a>xmlCatalogPrefer</h3>
+<pre class="programlisting">enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a> {
     <a name="XML_CATA_PREFER_NONE">XML_CATA_PREFER_NONE</a> = 0
     <a name="XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> = 1
     <a name="XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a> = 2
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogPtr">Typedef </a>xmlCatalogPtr</h3><pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalog">xmlCatalog</a> * xmlCatalogPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogPtr">Typedef </a>xmlCatalogPtr</h3>
+<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalog">xmlCatalog</a> * xmlCatalogPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogAdd"/>xmlACatalogAdd ()</h3><pre class="programlisting">int	xmlACatalogAdd			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br/>
-</pre><p>Add an entry in the catalog, it may overwrite existing but different entries.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of record to add to the catalog</td></tr><tr><td><span class="term"><i><tt>orig</tt></i>:</span></td><td>the system, public or prefix to match</td></tr><tr><td><span class="term"><i><tt>replace</tt></i>:</span></td><td>the replacement value for the match</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogDump"/>xmlACatalogDump ()</h3><pre class="programlisting">void	xmlACatalogDump			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>					 FILE * out)<br/>
-</pre><p>Dump the given catalog to the given file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>the file.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogRemove"/>xmlACatalogRemove ()</h3><pre class="programlisting">int	xmlACatalogRemove		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Remove an entry from the catalog</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to remove</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries removed if successful, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogResolve"/>xmlACatalogResolve ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolve	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br/>
-</pre><p>Do a complete resolution lookup of an External Identifier</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogResolvePublic"/>xmlACatalogResolvePublic ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolvePublic	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br/>
-</pre><p>Try to lookup the catalog local <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID in that catalog</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local resource if found or NULL otherwise, the value returned must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogResolveSystem"/>xmlACatalogResolveSystem ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolveSystem	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br/>
-</pre><p>Try to lookup the catalog resource for a system ID</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogResolveURI"/>xmlACatalogResolveURI ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolveURI	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>Do a complete resolution lookup of an URI</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogAdd"/>xmlCatalogAdd ()</h3><pre class="programlisting">int	xmlCatalogAdd			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br/>
-</pre><p>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();</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 record to add to the catalog</td></tr><tr><td><span class="term"><i><tt>orig</tt></i>:</span></td><td>the system, public or prefix to match</td></tr><tr><td><span class="term"><i><tt>replace</tt></i>:</span></td><td>the replacement value for the match</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogAddLocal"/>xmlCatalogAddLocal ()</h3><pre class="programlisting">void *	xmlCatalogAddLocal		(void * catalogs, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL)<br/>
-</pre><p>Add the new entry to the catalog list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of catalogs</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL to a new local catalog</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the updated list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogCleanup"/>xmlCatalogCleanup ()</h3><pre class="programlisting">void	xmlCatalogCleanup		(void)<br/>
-</pre><p>Free up all the memory associated with catalogs</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogAdd"></a>xmlACatalogAdd ()</h3>
+<pre class="programlisting">int	xmlACatalogAdd			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br>
+</pre>
+<p>Add an entry in the catalog, it may overwrite existing but different entries.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the type of record to add to the catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>orig</tt></i>:</span></td>
+<td>the system, public or prefix to match</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>replace</tt></i>:</span></td>
+<td>the replacement value for the match</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogConvert"/>xmlCatalogConvert ()</h3><pre class="programlisting">int	xmlCatalogConvert		(void)<br/>
-</pre><p>Convert all the SGML catalog entries as XML ones</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries converted if successful, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogDump"/>xmlCatalogDump ()</h3><pre class="programlisting">void	xmlCatalogDump			(FILE * out)<br/>
-</pre><p>Dump all the global catalog content to the given file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>the file.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogFreeLocal"/>xmlCatalogFreeLocal ()</h3><pre class="programlisting">void	xmlCatalogFreeLocal		(void * catalogs)<br/>
-</pre><p>Free up the memory associated to the catalog list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of catalogs</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogGetDefaults"/>xmlCatalogGetDefaults ()</h3><pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>	xmlCatalogGetDefaults	(void)<br/>
-</pre><p>Used to get the user preference w.r.t. to what catalogs should be accepted</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 current <a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogGetPublic"/>xmlCatalogGetPublic ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetPublic	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br/>
-</pre><p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID DEPRECATED, use xmlCatalogResolvePublic()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogGetSystem"/>xmlCatalogGetSystem ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetSystem	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br/>
-</pre><p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a system ID DEPRECATED, use xmlCatalogResolveSystem()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogIsEmpty"/>xmlCatalogIsEmpty ()</h3><pre class="programlisting">int	xmlCatalogIsEmpty		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br/>
-</pre><p>Check is a catalog is empty</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>should this create an SGML catalog</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the catalog is empty, 0 if not, amd -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogLocalResolve"/>xmlCatalogLocalResolve ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogLocalResolve	(void * catalogs, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br/>
-</pre><p>Do a complete resolution lookup of an External Identifier using a document's private catalog list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of catalogs</td></tr><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogLocalResolveURI"/>xmlCatalogLocalResolveURI ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogLocalResolveURI	(void * catalogs, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>Do a complete resolution lookup of an URI using a document's private catalog list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of catalogs</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogRemove"/>xmlCatalogRemove ()</h3><pre class="programlisting">int	xmlCatalogRemove		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Remove an entry from the catalog</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 remove</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries removed if successful, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogResolve"/>xmlCatalogResolve ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolve	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br/>
-</pre><p>Do a complete resolution lookup of an External Identifier</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogResolvePublic"/>xmlCatalogResolvePublic ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolvePublic	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br/>
-</pre><p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogResolveSystem"/>xmlCatalogResolveSystem ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolveSystem	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br/>
-</pre><p>Try to lookup the catalog resource for a system ID</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogResolveURI"/>xmlCatalogResolveURI ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolveURI	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>Do a complete resolution lookup of an URI</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</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogSetDebug"/>xmlCatalogSetDebug ()</h3><pre class="programlisting">int	xmlCatalogSetDebug		(int level)<br/>
-</pre><p>Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the debug level of catalogs required</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous value of the catalog debugging level</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogSetDefaultPrefer"/>xmlCatalogSetDefaultPrefer ()</h3><pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a>	xmlCatalogSetDefaultPrefer	(<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer)<br/>
-</pre><p>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 <a href="libxml2-catalog.html#XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> or <a href="libxml2-catalog.html#XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>prefer</tt></i>:</span></td><td>the default preference for delegation</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous value of the default preference for delegation</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogSetDefaults"/>xmlCatalogSetDefaults ()</h3><pre class="programlisting">void	xmlCatalogSetDefaults		(<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow)<br/>
-</pre><p>Used to set the user preference w.r.t. to what catalogs should be accepted</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>allow</tt></i>:</span></td><td>what catalogs should be accepted</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlConvertSGMLCatalog"/>xmlConvertSGMLCatalog ()</h3><pre class="programlisting">int	xmlConvertSGMLCatalog		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br/>
-</pre><p>Convert all the SGML catalog entries as XML ones</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>the catalog</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries converted if successful, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeCatalog"/>xmlFreeCatalog ()</h3><pre class="programlisting">void	xmlFreeCatalog			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br/>
-</pre><p>Free the memory allocated to a Catalog</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitializeCatalog"/>xmlInitializeCatalog ()</h3><pre class="programlisting">void	xmlInitializeCatalog		(void)<br/>
-</pre><p>Do the catalog initialization. this function is not thread safe, catalog initialization should preferably be done once at startup</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogDump"></a>xmlACatalogDump ()</h3>
+<pre class="programlisting">void	xmlACatalogDump			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 FILE * out)<br>
+</pre>
+<p>Dump the given catalog to the given file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>the file.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadACatalog"/>xmlLoadACatalog ()</h3><pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlLoadACatalog		(const char * filename)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file path</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the catalog parsed or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadCatalog"/>xmlLoadCatalog ()</h3><pre class="programlisting">int	xmlLoadCatalog			(const char * filename)<br/>
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file path</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadCatalogs"/>xmlLoadCatalogs ()</h3><pre class="programlisting">void	xmlLoadCatalogs			(const char * pathss)<br/>
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>pathss</tt></i>:</span></td><td>a list of directories separated by a colon or a space.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadSGMLSuperCatalog"/>xmlLoadSGMLSuperCatalog ()</h3><pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlLoadSGMLSuperCatalog	(const char * filename)<br/>
-</pre><p>Load an SGML super catalog. It won't expand CATALOG or DELEGATE references. This is only needed for manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file path</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the catalog parsed or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewCatalog"/>xmlNewCatalog ()</h3><pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlNewCatalog		(int sgml)<br/>
-</pre><p>create a new Catalog.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sgml</tt></i>:</span></td><td>should this create an SGML catalog</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseCatalogFile"/>xmlParseCatalogFile ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseCatalogFile	(const char * filename)<br/>
-</pre><p>parse an XML file and build a tree. It's like xmlParseFile() except it bypass all catalog lookups.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogRemove"></a>xmlACatalogRemove ()</h3>
+<pre class="programlisting">int	xmlACatalogRemove		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Remove an entry from the catalog</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to remove</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of entries removed if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogResolve"></a>xmlACatalogResolve ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolve	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
+</pre>
+<p>Do a complete resolution lookup of an External Identifier</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogResolvePublic"></a>xmlACatalogResolvePublic ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolvePublic	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
+</pre>
+<p>Try to lookup the catalog local <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID in that catalog</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogResolveSystem"></a>xmlACatalogResolveSystem ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolveSystem	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
+</pre>
+<p>Try to lookup the catalog resource for a system ID</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogResolveURI"></a>xmlACatalogResolveURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolveURI	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
+</pre>
+<p>Do a complete resolution lookup of an URI</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogAdd"></a>xmlCatalogAdd ()</h3>
+<pre class="programlisting">int	xmlCatalogAdd			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br>
+</pre>
+<p>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();</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 record to add to the catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>orig</tt></i>:</span></td>
+<td>the system, public or prefix to match</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>replace</tt></i>:</span></td>
+<td>the replacement value for the match</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogAddLocal"></a>xmlCatalogAddLocal ()</h3>
+<pre class="programlisting">void *	xmlCatalogAddLocal		(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL)<br>
+</pre>
+<p>Add the new entry to the catalog list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
+<td>a document's list of catalogs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL to a new local catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the updated list</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogCleanup"></a>xmlCatalogCleanup ()</h3>
+<pre class="programlisting">void	xmlCatalogCleanup		(void)<br>
+</pre>
+<p>Free up all the memory associated with catalogs</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogConvert"></a>xmlCatalogConvert ()</h3>
+<pre class="programlisting">int	xmlCatalogConvert		(void)<br>
+</pre>
+<p>Convert all the SGML catalog entries as XML ones</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of entries converted if successful, -1 otherwise</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogDump"></a>xmlCatalogDump ()</h3>
+<pre class="programlisting">void	xmlCatalogDump			(FILE * out)<br>
+</pre>
+<p>Dump all the global catalog content to the given file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>the file.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogFreeLocal"></a>xmlCatalogFreeLocal ()</h3>
+<pre class="programlisting">void	xmlCatalogFreeLocal		(void * catalogs)<br>
+</pre>
+<p>Free up the memory associated to the catalog list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
+<td>a document's list of catalogs</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogGetDefaults"></a>xmlCatalogGetDefaults ()</h3>
+<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>	xmlCatalogGetDefaults	(void)<br>
+</pre>
+<p>Used to get the user preference w.r.t. to what catalogs should be accepted</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 current <a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> value</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogGetPublic"></a>xmlCatalogGetPublic ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetPublic	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
+</pre>
+<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID DEPRECATED, use xmlCatalogResolvePublic()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resource if found or NULL otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogGetSystem"></a>xmlCatalogGetSystem ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetSystem	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
+</pre>
+<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a system ID DEPRECATED, use xmlCatalogResolveSystem()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resource if found or NULL otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogIsEmpty"></a>xmlCatalogIsEmpty ()</h3>
+<pre class="programlisting">int	xmlCatalogIsEmpty		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
+</pre>
+<p>Check is a catalog is empty</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>should this create an SGML catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the catalog is empty, 0 if not, amd -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogLocalResolve"></a>xmlCatalogLocalResolve ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogLocalResolve	(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
+</pre>
+<p>Do a complete resolution lookup of an External Identifier using a document's private catalog list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
+<td>a document's list of catalogs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogLocalResolveURI"></a>xmlCatalogLocalResolveURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogLocalResolveURI	(void * catalogs, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
+</pre>
+<p>Do a complete resolution lookup of an URI using a document's private catalog list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
+<td>a document's list of catalogs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogRemove"></a>xmlCatalogRemove ()</h3>
+<pre class="programlisting">int	xmlCatalogRemove		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Remove an entry from the catalog</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 remove</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of entries removed if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogResolve"></a>xmlCatalogResolve ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolve	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
+</pre>
+<p>Do a complete resolution lookup of an External Identifier</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogResolvePublic"></a>xmlCatalogResolvePublic ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolvePublic	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
+</pre>
+<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogResolveSystem"></a>xmlCatalogResolveSystem ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolveSystem	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
+</pre>
+<p>Try to lookup the catalog resource for a system ID</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogResolveURI"></a>xmlCatalogResolveURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolveURI	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
+</pre>
+<p>Do a complete resolution lookup of an URI</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogSetDebug"></a>xmlCatalogSetDebug ()</h3>
+<pre class="programlisting">int	xmlCatalogSetDebug		(int level)<br>
+</pre>
+<p>Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>level</tt></i>:</span></td>
+<td>the debug level of catalogs required</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous value of the catalog debugging level</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogSetDefaultPrefer"></a>xmlCatalogSetDefaultPrefer ()</h3>
+<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a>	xmlCatalogSetDefaultPrefer	(<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer)<br>
+</pre>
+<p>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 <a href="libxml2-catalog.html#XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> or <a href="libxml2-catalog.html#XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>prefer</tt></i>:</span></td>
+<td>the default preference for delegation</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous value of the default preference for delegation</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogSetDefaults"></a>xmlCatalogSetDefaults ()</h3>
+<pre class="programlisting">void	xmlCatalogSetDefaults		(<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow)<br>
+</pre>
+<p>Used to set the user preference w.r.t. to what catalogs should be accepted</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>allow</tt></i>:</span></td>
+<td>what catalogs should be accepted</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlConvertSGMLCatalog"></a>xmlConvertSGMLCatalog ()</h3>
+<pre class="programlisting">int	xmlConvertSGMLCatalog		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
+</pre>
+<p>Convert all the SGML catalog entries as XML ones</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>the catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of entries converted if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeCatalog"></a>xmlFreeCatalog ()</h3>
+<pre class="programlisting">void	xmlFreeCatalog			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
+</pre>
+<p>Free the memory allocated to a Catalog</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitializeCatalog"></a>xmlInitializeCatalog ()</h3>
+<pre class="programlisting">void	xmlInitializeCatalog		(void)<br>
+</pre>
+<p>Do the catalog initialization. this function is not thread safe, catalog initialization should preferably be done once at startup</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLoadACatalog"></a>xmlLoadACatalog ()</h3>
+<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlLoadACatalog		(const char * filename)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file path</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the catalog parsed or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLoadCatalog"></a>xmlLoadCatalog ()</h3>
+<pre class="programlisting">int	xmlLoadCatalog			(const char * filename)<br>
+</pre>
+<p>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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file path</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLoadCatalogs"></a>xmlLoadCatalogs ()</h3>
+<pre class="programlisting">void	xmlLoadCatalogs			(const char * pathss)<br>
+</pre>
+<p>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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>pathss</tt></i>:</span></td>
+<td>a list of directories separated by a colon or a space.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLoadSGMLSuperCatalog"></a>xmlLoadSGMLSuperCatalog ()</h3>
+<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlLoadSGMLSuperCatalog	(const char * filename)<br>
+</pre>
+<p>Load an SGML super catalog. It won't expand CATALOG or DELEGATE references. This is only needed for manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file path</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the catalog parsed or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewCatalog"></a>xmlNewCatalog ()</h3>
+<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlNewCatalog		(int sgml)<br>
+</pre>
+<p>create a new Catalog.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sgml</tt></i>:</span></td>
+<td>should this create an SGML catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseCatalogFile"></a>xmlParseCatalogFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseCatalogFile	(const char * filename)<br>
+</pre>
+<p>parse an XML file and build a tree. It's like xmlParseFile() except it bypass all catalog lookups.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-chvalid.html b/doc/devhelp/libxml2-chvalid.html
index 9c77158..121c9ff 100644
--- a/doc/devhelp/libxml2-chvalid.html
+++ b/doc/devhelp/libxml2-chvalid.html
@@ -1,241 +1,581 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>chvalid: Unicode character range checking</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-catalog.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-debugXML.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">chvalid</span>
-    </h2>
-    <p>chvalid - Unicode character range checking</p>
-    <p>this module exports interfaces for the character range validation APIs  This file is automatically generated from the cvs source definition files using the genChRanges.py Python script </p>
-    <p>Author(s): William Brack &lt;wbrack@mmm.com.hk&gt; </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a>(c);
-#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a>(c);
-#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a>(c);
-#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a>(c);
-#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a>(c);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>chvalid: Unicode character range checking</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-catalog.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-debugXML.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">chvalid</span></h2>
+<p>chvalid - Unicode character range checking</p>
+<p>this module exports interfaces for the character range validation APIs  This file is automatically generated from the cvs source definition files using the genChRanges.py Python script </p>
+<p>Author(s): William Brack &lt;wbrack@mmm.com.hk&gt; </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
+#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a>(c);
+#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a>(c);
+#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a>(c);
+#define <a href="#xmlIsCharQ">xmlIsCharQ</a>(c);
 #define <a href="#xmlIsChar_ch">xmlIsChar_ch</a>(c);
+#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a>(c);
 #define <a href="#xmlIsDigitQ">xmlIsDigitQ</a>(c);
 #define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a>(c);
-#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a>(c);
-#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a>(c);
-#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a>(c);
-#define <a href="#xmlIsCharQ">xmlIsCharQ</a>(c);
-#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
-#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a>(c);
+#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a>(c);
+#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a>(c);
+#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a>(c);
+#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a>(c);
+#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a>(c);
 typedef struct _xmlChLRange <a href="#xmlChLRange">xmlChLRange</a>;
-typedef <a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> * <a href="#xmlChSRangePtr">xmlChSRangePtr</a>;
 typedef <a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> * <a href="#xmlChLRangePtr">xmlChLRangePtr</a>;
+typedef struct _xmlChRangeGroup <a href="#xmlChRangeGroup">xmlChRangeGroup</a>;
 typedef <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * <a href="#xmlChRangeGroupPtr">xmlChRangeGroupPtr</a>;
 typedef struct _xmlChSRange <a href="#xmlChSRange">xmlChSRange</a>;
-typedef struct _xmlChRangeGroup <a href="#xmlChRangeGroup">xmlChRangeGroup</a>;
-int	<a href="#xmlIsChar">xmlIsChar</a>			(unsigned int ch);
-int	<a href="#xmlIsDigit">xmlIsDigit</a>			(unsigned int ch);
-int	<a href="#xmlIsBlank">xmlIsBlank</a>			(unsigned int ch);
-int	<a href="#xmlIsIdeographic">xmlIsIdeographic</a>		(unsigned int ch);
-int	<a href="#xmlCharInRange">xmlCharInRange</a>			(unsigned int val, <br/>					 const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr);
-int	<a href="#xmlIsPubidChar">xmlIsPubidChar</a>			(unsigned int ch);
-int	<a href="#xmlIsCombining">xmlIsCombining</a>			(unsigned int ch);
+typedef <a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> * <a href="#xmlChSRangePtr">xmlChSRangePtr</a>;
+int	<a href="#xmlCharInRange">xmlCharInRange</a>			(unsigned int val, <br>					 const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr);
 int	<a href="#xmlIsBaseChar">xmlIsBaseChar</a>			(unsigned int ch);
+int	<a href="#xmlIsBlank">xmlIsBlank</a>			(unsigned int ch);
+int	<a href="#xmlIsChar">xmlIsChar</a>			(unsigned int ch);
+int	<a href="#xmlIsCombining">xmlIsCombining</a>			(unsigned int ch);
+int	<a href="#xmlIsDigit">xmlIsDigit</a>			(unsigned int ch);
 int	<a href="#xmlIsExtender">xmlIsExtender</a>			(unsigned int ch);
+int	<a href="#xmlIsIdeographic">xmlIsIdeographic</a>		(unsigned int ch);
+int	<a href="#xmlIsPubidChar">xmlIsPubidChar</a>			(unsigned int ch);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBaseCharQ">Macro </a>xmlIsBaseCharQ</h3><pre class="programlisting">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBaseChar_ch">Macro </a>xmlIsBaseChar_ch</h3><pre class="programlisting">#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBaseCharQ">Macro </a>xmlIsBaseCharQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBlankQ">Macro </a>xmlIsBlankQ</h3><pre class="programlisting">#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBaseChar_ch">Macro </a>xmlIsBaseChar_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBlank_ch">Macro </a>xmlIsBlank_ch</h3><pre class="programlisting">#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBlankQ">Macro </a>xmlIsBlankQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsCharQ">Macro </a>xmlIsCharQ</h3><pre class="programlisting">#define <a href="#xmlIsCharQ">xmlIsCharQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBlank_ch">Macro </a>xmlIsBlank_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsChar_ch">Macro </a>xmlIsChar_ch</h3><pre class="programlisting">#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsCharQ">Macro </a>xmlIsCharQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsCharQ">xmlIsCharQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsCombiningQ">Macro </a>xmlIsCombiningQ</h3><pre class="programlisting">#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsChar_ch">Macro </a>xmlIsChar_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsDigitQ">Macro </a>xmlIsDigitQ</h3><pre class="programlisting">#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsCombiningQ">Macro </a>xmlIsCombiningQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsDigit_ch">Macro </a>xmlIsDigit_ch</h3><pre class="programlisting">#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsDigitQ">Macro </a>xmlIsDigitQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsExtenderQ">Macro </a>xmlIsExtenderQ</h3><pre class="programlisting">#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsDigit_ch">Macro </a>xmlIsDigit_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsExtender_ch">Macro </a>xmlIsExtender_ch</h3><pre class="programlisting">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsExtenderQ">Macro </a>xmlIsExtenderQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsIdeographicQ">Macro </a>xmlIsIdeographicQ</h3><pre class="programlisting">#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsExtender_ch">Macro </a>xmlIsExtender_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsPubidCharQ">Macro </a>xmlIsPubidCharQ</h3><pre class="programlisting">#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsIdeographicQ">Macro </a>xmlIsIdeographicQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsPubidChar_ch">Macro </a>xmlIsPubidChar_ch</h3><pre class="programlisting">#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to validate</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsPubidCharQ">Macro </a>xmlIsPubidCharQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChLRange">Structure </a>xmlChLRange</h3><pre class="programlisting">struct _xmlChLRange {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsPubidChar_ch">Macro </a>xmlIsPubidChar_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChLRange">Structure </a>xmlChLRange</h3>
+<pre class="programlisting">struct _xmlChLRange {
     unsigned int	low
     unsigned int	high
 } xmlChLRange;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChLRangePtr">Typedef </a>xmlChLRangePtr</h3><pre class="programlisting"><a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> * xmlChLRangePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChLRangePtr">Typedef </a>xmlChLRangePtr</h3>
+<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> * xmlChLRangePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChRangeGroup">Structure </a>xmlChRangeGroup</h3><pre class="programlisting">struct _xmlChRangeGroup {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChRangeGroup">Structure </a>xmlChRangeGroup</h3>
+<pre class="programlisting">struct _xmlChRangeGroup {
     int	nbShortRange
     int	nbLongRange
     const <a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> *	shortRange	: points to an array of ranges
     const <a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> *	longRange
 } xmlChRangeGroup;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChRangeGroupPtr">Typedef </a>xmlChRangeGroupPtr</h3><pre class="programlisting"><a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * xmlChRangeGroupPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChRangeGroupPtr">Typedef </a>xmlChRangeGroupPtr</h3>
+<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * xmlChRangeGroupPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChSRange">Structure </a>xmlChSRange</h3><pre class="programlisting">struct _xmlChSRange {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChSRange">Structure </a>xmlChSRange</h3>
+<pre class="programlisting">struct _xmlChSRange {
     unsigned short	low
     unsigned short	high
 } xmlChSRange;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChSRangePtr">Typedef </a>xmlChSRangePtr</h3><pre class="programlisting"><a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> * xmlChSRangePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChSRangePtr">Typedef </a>xmlChSRangePtr</h3>
+<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> * xmlChSRangePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBaseCharGroup">Variable </a>xmlIsBaseCharGroup</h3><pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsBaseCharGroup;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBaseCharGroup">Variable </a>xmlIsBaseCharGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsBaseCharGroup;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsCharGroup">Variable </a>xmlIsCharGroup</h3><pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsCharGroup;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsCharGroup">Variable </a>xmlIsCharGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsCharGroup;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsCombiningGroup">Variable </a>xmlIsCombiningGroup</h3><pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsCombiningGroup;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsCombiningGroup">Variable </a>xmlIsCombiningGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsCombiningGroup;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsDigitGroup">Variable </a>xmlIsDigitGroup</h3><pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsDigitGroup;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsDigitGroup">Variable </a>xmlIsDigitGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsDigitGroup;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsExtenderGroup">Variable </a>xmlIsExtenderGroup</h3><pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsExtenderGroup;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsExtenderGroup">Variable </a>xmlIsExtenderGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsExtenderGroup;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsIdeographicGroup">Variable </a>xmlIsIdeographicGroup</h3><pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsIdeographicGroup;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsIdeographicGroup">Variable </a>xmlIsIdeographicGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsIdeographicGroup;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsPubidChar_tab">Variable </a>xmlIsPubidChar_tab</h3><pre class="programlisting">const unsigned charxmlIsPubidChar_tab[256] xmlIsPubidChar_tab;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsPubidChar_tab">Variable </a>xmlIsPubidChar_tab</h3>
+<pre class="programlisting">const unsigned charxmlIsPubidChar_tab[256] xmlIsPubidChar_tab;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharInRange"/>xmlCharInRange ()</h3><pre class="programlisting">int	xmlCharInRange			(unsigned int val, <br/>					 const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr)<br/>
-</pre><p>Does a binary search of the range table to determine if char is valid</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>character to be validated</td></tr><tr><td><span class="term"><i><tt>rptr</tt></i>:</span></td><td>pointer to range to be used to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if character valid, false otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBaseChar"/>xmlIsBaseChar ()</h3><pre class="programlisting">int	xmlIsBaseChar			(unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBlank"/>xmlIsBlank ()</h3><pre class="programlisting">int	xmlIsBlank			(unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a> or <a href="libxml2-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsChar"/>xmlIsChar ()</h3><pre class="programlisting">int	xmlIsChar			(unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsCharQ">xmlIsCharQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsCombining"/>xmlIsCombining ()</h3><pre class="programlisting">int	xmlIsCombining			(unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsDigit"/>xmlIsDigit ()</h3><pre class="programlisting">int	xmlIsDigit			(unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a> or <a href="libxml2-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsExtender"/>xmlIsExtender ()</h3><pre class="programlisting">int	xmlIsExtender			(unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a> or <a href="libxml2-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsIdeographic"/>xmlIsIdeographic ()</h3><pre class="programlisting">int	xmlIsIdeographic		(unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsPubidChar"/>xmlIsPubidChar ()</h3><pre class="programlisting">int	xmlIsPubidChar			(unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharInRange"></a>xmlCharInRange ()</h3>
+<pre class="programlisting">int	xmlCharInRange			(unsigned int val, <br>					 const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr)<br>
+</pre>
+<p>Does a binary search of the range table to determine if char is valid</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>character to be validated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>rptr</tt></i>:</span></td>
+<td>pointer to range to be used to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if character valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBaseChar"></a>xmlIsBaseChar ()</h3>
+<pre class="programlisting">int	xmlIsBaseChar			(unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBlank"></a>xmlIsBlank ()</h3>
+<pre class="programlisting">int	xmlIsBlank			(unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a> or <a href="libxml2-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsChar"></a>xmlIsChar ()</h3>
+<pre class="programlisting">int	xmlIsChar			(unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsCharQ">xmlIsCharQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsCombining"></a>xmlIsCombining ()</h3>
+<pre class="programlisting">int	xmlIsCombining			(unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsDigit"></a>xmlIsDigit ()</h3>
+<pre class="programlisting">int	xmlIsDigit			(unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a> or <a href="libxml2-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsExtender"></a>xmlIsExtender ()</h3>
+<pre class="programlisting">int	xmlIsExtender			(unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a> or <a href="libxml2-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsIdeographic"></a>xmlIsIdeographic ()</h3>
+<pre class="programlisting">int	xmlIsIdeographic		(unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsPubidChar"></a>xmlIsPubidChar ()</h3>
+<pre class="programlisting">int	xmlIsPubidChar			(unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-debugXML.html b/doc/devhelp/libxml2-debugXML.html
index 8eb2e48..e5939a6 100644
--- a/doc/devhelp/libxml2-debugXML.html
+++ b/doc/devhelp/libxml2-debugXML.html
@@ -1,89 +1,69 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>debugXML: Tree debugging APIs</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-chvalid.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-dict.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">debugXML</span>
-    </h2>
-    <p>debugXML - Tree debugging APIs</p>
-    <p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlShellCtxt <a href="#xmlShellCtxt">xmlShellCtxt</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>debugXML: Tree debugging APIs</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-chvalid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-dict.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">debugXML</span></h2>
+<p>debugXML - Tree debugging APIs</p>
+<p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlShellCtxt <a href="#xmlShellCtxt">xmlShellCtxt</a>;
 typedef <a href="libxml2-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * <a href="#xmlShellCtxtPtr">xmlShellCtxtPtr</a>;
-void	<a href="#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a>		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>					 int depth);
-void	<a href="#xmlLsOneNode">xmlLsOneNode</a>			(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-typedef char * <a href="#xmlShellReadlineFunc">xmlShellReadlineFunc</a>		(char * prompt);
-int	<a href="#xmlShellSave">xmlShellSave</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * filename, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
 const char *	<a href="#xmlBoolToText">xmlBoolToText</a>		(int boolval);
-int	<a href="#xmlShellWrite">xmlShellWrite</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * filename, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlShellDu">xmlShellDu</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlShellValidate">xmlShellValidate</a>		(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * dtd, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlDebugCheckDocument">xmlDebugCheckDocument</a>		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-void	<a href="#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list);
-typedef int <a href="#xmlShellCmd">xmlShellCmd</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlShellLoad">xmlShellLoad</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * filename, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-void	<a href="#xmlDebugDumpString">xmlDebugDumpString</a>		(FILE * output, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-int	<a href="#xmlShellBase">xmlShellBase</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlShellCat">xmlShellCat</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-void	<a href="#xmlDebugDumpDTD">xmlDebugDumpDTD</a>			(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
-void	<a href="#xmlDebugDumpNode">xmlDebugDumpNode</a>		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int depth);
-void	<a href="#xmlDebugDumpEntities">xmlDebugDumpEntities</a>		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-void	<a href="#xmlShellPrintNode">xmlShellPrintNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-int	<a href="#xmlShellPwd">xmlShellPwd</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * buffer, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-void	<a href="#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a>		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int depth);
-void	<a href="#xmlDebugDumpAttr">xmlDebugDumpAttr</a>		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>					 int depth);
-void	<a href="#xmlDebugDumpDocument">xmlDebugDumpDocument</a>		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int	<a href="#xmlDebugCheckDocument">xmlDebugCheckDocument</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void	<a href="#xmlDebugDumpAttr">xmlDebugDumpAttr</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth);
+void	<a href="#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth);
+void	<a href="#xmlDebugDumpDTD">xmlDebugDumpDTD</a>			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
+void	<a href="#xmlDebugDumpDocument">xmlDebugDumpDocument</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void	<a href="#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a>	(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void	<a href="#xmlDebugDumpEntities">xmlDebugDumpEntities</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void	<a href="#xmlDebugDumpNode">xmlDebugDumpNode</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth);
+void	<a href="#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth);
+void	<a href="#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth);
+void	<a href="#xmlDebugDumpString">xmlDebugDumpString</a>		(FILE * output, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
 int	<a href="#xmlLsCountNode">xmlLsCountNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-void	<a href="#xmlShellPrintXPathError">xmlShellPrintXPathError</a>		(int errorType, <br/>					 const char * arg);
-int	<a href="#xmlShellDir">xmlShellDir</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-void	<a href="#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a>		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int depth);
-int	<a href="#xmlShellList">xmlShellList</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-void	<a href="#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a>	(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-void	<a href="#xmlShell">xmlShell</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 char * filename, <br/>					 <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br/>					 FILE * output);
+void	<a href="#xmlLsOneNode">xmlLsOneNode</a>			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+void	<a href="#xmlShell">xmlShell</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 char * filename, <br>					 <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br>					 FILE * output);
+int	<a href="#xmlShellBase">xmlShellBase</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int	<a href="#xmlShellCat">xmlShellCat</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+typedef int <a href="#xmlShellCmd">xmlShellCmd</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int	<a href="#xmlShellDir">xmlShellDir</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int	<a href="#xmlShellDu">xmlShellDu</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int	<a href="#xmlShellList">xmlShellList</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int	<a href="#xmlShellLoad">xmlShellLoad</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+void	<a href="#xmlShellPrintNode">xmlShellPrintNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+void	<a href="#xmlShellPrintXPathError">xmlShellPrintXPathError</a>		(int errorType, <br>					 const char * arg);
+void	<a href="#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list);
+int	<a href="#xmlShellPwd">xmlShellPwd</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * buffer, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+typedef char * <a href="#xmlShellReadlineFunc">xmlShellReadlineFunc</a>		(char * prompt);
+int	<a href="#xmlShellSave">xmlShellSave</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int	<a href="#xmlShellValidate">xmlShellValidate</a>		(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * dtd, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int	<a href="#xmlShellWrite">xmlShellWrite</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlShellCtxt">Structure </a>xmlShellCtxt</h3><pre class="programlisting">struct _xmlShellCtxt {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellCtxt">Structure </a>xmlShellCtxt</h3>
+<pre class="programlisting">struct _xmlShellCtxt {
     char *	filename
     <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
@@ -92,134 +72,802 @@
     FILE *	output
     <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a>	input
 } xmlShellCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellCtxtPtr">Typedef </a>xmlShellCtxtPtr</h3><pre class="programlisting"><a href="libxml2-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * xmlShellCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellCtxtPtr">Typedef </a>xmlShellCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * xmlShellCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellCmd"/>Function type xmlShellCmd</h3><pre class="programlisting">int	xmlShellCmd			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>This is a generic signature for the XML shell functions.</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 shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a string argument</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a first node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>a second node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int, negative returns indicating errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellReadlineFunc"/>Function type xmlShellReadlineFunc</h3><pre class="programlisting">char *	xmlShellReadlineFunc		(char * prompt)<br/>
-</pre><p>This is a generic signature for the XML shell input function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>prompt</tt></i>:</span></td><td>a string prompt</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string which will be freed by the Shell.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBoolToText"/>xmlBoolToText ()</h3><pre class="programlisting">const char *	xmlBoolToText		(int boolval)<br/>
-</pre><p>Convenient way to turn bool into text</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>boolval</tt></i>:</span></td><td>a bool to turn into text</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to either "True" or "False"</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugCheckDocument"/>xmlDebugCheckDocument ()</h3><pre class="programlisting">int	xmlDebugCheckDocument		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Check the document for potential content problems, and output the errors to @output</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of errors found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpAttr"/>xmlDebugDumpAttr ()</h3><pre class="programlisting">void	xmlDebugDumpAttr		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>					 int depth)<br/>
-</pre><p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpAttrList"/>xmlDebugDumpAttrList ()</h3><pre class="programlisting">void	xmlDebugDumpAttrList		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>					 int depth)<br/>
-</pre><p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a> list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> list</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpDTD"/>xmlDebugDumpDTD ()</h3><pre class="programlisting">void	xmlDebugDumpDTD			(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br/>
-</pre><p>Dumps debug information for the DTD</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>the DTD</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpDocument"/>xmlDebugDumpDocument ()</h3><pre class="programlisting">void	xmlDebugDumpDocument		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Dumps debug information for the document, it's recursive</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpDocumentHead"/>xmlDebugDumpDocumentHead ()</h3><pre class="programlisting">void	xmlDebugDumpDocumentHead	(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Dumps debug information concerning the document, not recursive</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpEntities"/>xmlDebugDumpEntities ()</h3><pre class="programlisting">void	xmlDebugDumpEntities		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Dumps debug information for all the entities in use by the document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpNode"/>xmlDebugDumpNode ()</h3><pre class="programlisting">void	xmlDebugDumpNode		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int depth)<br/>
-</pre><p>Dumps debug information for the element node, it is recursive</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpNodeList"/>xmlDebugDumpNodeList ()</h3><pre class="programlisting">void	xmlDebugDumpNodeList		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int depth)<br/>
-</pre><p>Dumps debug information for the list of element node, it is recursive</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node list</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpOneNode"/>xmlDebugDumpOneNode ()</h3><pre class="programlisting">void	xmlDebugDumpOneNode		(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int depth)<br/>
-</pre><p>Dumps debug information for the element node, it is not recursive</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpString"/>xmlDebugDumpString ()</h3><pre class="programlisting">void	xmlDebugDumpString		(FILE * output, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Dumps information about the string, shorten it if necessary</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLsCountNode"/>xmlLsCountNode ()</h3><pre class="programlisting">int	xmlLsCountNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Count the children of @node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to count</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of children of @node.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLsOneNode"/>xmlLsOneNode ()</h3><pre class="programlisting">void	xmlLsOneNode			(FILE * output, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Dump to @output the type and name of @node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to dump</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShell"/>xmlShell ()</h3><pre class="programlisting">void	xmlShell			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 char * filename, <br/>					 <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br/>					 FILE * output)<br/>
-</pre><p>Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the initial document</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the output buffer</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the line reading function</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the output FILE*, defaults to stdout if NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellBase"/>xmlShellBase ()</h3><pre class="programlisting">int	xmlShellBase			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Implements the XML shell function "base" dumps the current XML base of the node</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellCat"/>xmlShellCat ()</h3><pre class="programlisting">int	xmlShellCat			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Implements the XML shell function "cat" dumps the serialization node content (XML or HTML).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellDir"/>xmlShellDir ()</h3><pre class="programlisting">int	xmlShellDir			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Implements the XML shell function "dir" dumps information about the node (namespace, attributes, 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>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellDu"/>xmlShellDu ()</h3><pre class="programlisting">int	xmlShellDu			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Implements the XML shell function "du" show the structure of the subtree under node @tree If @tree is null, the command works on the current node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>a node defining a subtree</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellList"/>xmlShellList ()</h3><pre class="programlisting">int	xmlShellList			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * arg, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Implements the XML shell function "ls" Does an Unix like listing of the given node (like a directory)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellLoad"/>xmlShellLoad ()</h3><pre class="programlisting">int	xmlShellLoad			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * filename, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Implements the XML shell function "load" loads a new document specified by the filename</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 if loading failed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellPrintNode"/>xmlShellPrintNode ()</h3><pre class="programlisting">void	xmlShellPrintNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Print node to the output FILE</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a non-null node to print to the output FILE</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellPrintXPathError"/>xmlShellPrintXPathError ()</h3><pre class="programlisting">void	xmlShellPrintXPathError		(int errorType, <br/>					 const char * arg)<br/>
-</pre><p>Print the xpath error to libxml default error channel</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>errorType</tt></i>:</span></td><td>valid xpath error id</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>the argument that cause xpath to fail</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellPrintXPathResult"/>xmlShellPrintXPathResult ()</h3><pre class="programlisting">void	xmlShellPrintXPathResult	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list)<br/>
-</pre><p>Prints result to the output FILE</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>a valid result generated by an xpath evaluation</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellPwd"/>xmlShellPwd ()</h3><pre class="programlisting">int	xmlShellPwd			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * buffer, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Implements the XML shell function "pwd" 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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>the output buffer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellSave"/>xmlShellSave ()</h3><pre class="programlisting">int	xmlShellSave			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * filename, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Implements the XML shell function "save" Write the current document to the filename, or it's original name</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name (optional)</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellValidate"/>xmlShellValidate ()</h3><pre class="programlisting">int	xmlShellValidate		(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * dtd, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Implements the XML shell function "validate" Validate the document, if a DTD path is provided, then the validation is done against the given DTD.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>the DTD URI (optional)</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellWrite"/>xmlShellWrite ()</h3><pre class="programlisting">int	xmlShellWrite			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>					 char * filename, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Implements the XML shell function "write" Write the current node to the filename, it saves the serialization of the subtree under the @node specified</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node in the tree</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellCmd"></a>Function type xmlShellCmd</h3>
+<pre class="programlisting">int	xmlShellCmd			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>This is a generic signature for the XML shell functions.</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 shell context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>a string argument</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a first node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>a second node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int, negative returns indicating errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellReadlineFunc"></a>Function type xmlShellReadlineFunc</h3>
+<pre class="programlisting">char *	xmlShellReadlineFunc		(char * prompt)<br>
+</pre>
+<p>This is a generic signature for the XML shell input function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>prompt</tt></i>:</span></td>
+<td>a string prompt</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string which will be freed by the Shell.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBoolToText"></a>xmlBoolToText ()</h3>
+<pre class="programlisting">const char *	xmlBoolToText		(int boolval)<br>
+</pre>
+<p>Convenient way to turn bool into text</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>boolval</tt></i>:</span></td>
+<td>a bool to turn into text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to either "True" or "False"</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugCheckDocument"></a>xmlDebugCheckDocument ()</h3>
+<pre class="programlisting">int	xmlDebugCheckDocument		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Check the document for potential content problems, and output the errors to @output</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of errors found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpAttr"></a>xmlDebugDumpAttr ()</h3>
+<pre class="programlisting">void	xmlDebugDumpAttr		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth)<br>
+</pre>
+<p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpAttrList"></a>xmlDebugDumpAttrList ()</h3>
+<pre class="programlisting">void	xmlDebugDumpAttrList		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth)<br>
+</pre>
+<p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a> list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpDTD"></a>xmlDebugDumpDTD ()</h3>
+<pre class="programlisting">void	xmlDebugDumpDTD			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
+</pre>
+<p>Dumps debug information for the DTD</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>the DTD</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpDocument"></a>xmlDebugDumpDocument ()</h3>
+<pre class="programlisting">void	xmlDebugDumpDocument		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Dumps debug information for the document, it's recursive</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpDocumentHead"></a>xmlDebugDumpDocumentHead ()</h3>
+<pre class="programlisting">void	xmlDebugDumpDocumentHead	(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Dumps debug information concerning the document, not recursive</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpEntities"></a>xmlDebugDumpEntities ()</h3>
+<pre class="programlisting">void	xmlDebugDumpEntities		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Dumps debug information for all the entities in use by the document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpNode"></a>xmlDebugDumpNode ()</h3>
+<pre class="programlisting">void	xmlDebugDumpNode		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth)<br>
+</pre>
+<p>Dumps debug information for the element node, it is recursive</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpNodeList"></a>xmlDebugDumpNodeList ()</h3>
+<pre class="programlisting">void	xmlDebugDumpNodeList		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth)<br>
+</pre>
+<p>Dumps debug information for the list of element node, it is recursive</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpOneNode"></a>xmlDebugDumpOneNode ()</h3>
+<pre class="programlisting">void	xmlDebugDumpOneNode		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth)<br>
+</pre>
+<p>Dumps debug information for the element node, it is not recursive</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpString"></a>xmlDebugDumpString ()</h3>
+<pre class="programlisting">void	xmlDebugDumpString		(FILE * output, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Dumps information about the string, shorten it if necessary</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the string</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLsCountNode"></a>xmlLsCountNode ()</h3>
+<pre class="programlisting">int	xmlLsCountNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Count the children of @node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to count</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of children of @node.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLsOneNode"></a>xmlLsOneNode ()</h3>
+<pre class="programlisting">void	xmlLsOneNode			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Dump to @output the type and name of @node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to dump</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShell"></a>xmlShell ()</h3>
+<pre class="programlisting">void	xmlShell			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 char * filename, <br>					 <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br>					 FILE * output)<br>
+</pre>
+<p>Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the initial document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the output buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the line reading function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the output FILE*, defaults to stdout if NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellBase"></a>xmlShellBase ()</h3>
+<pre class="programlisting">int	xmlShellBase			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Implements the XML shell function "base" dumps the current XML base of the node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the shell context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellCat"></a>xmlShellCat ()</h3>
+<pre class="programlisting">int	xmlShellCat			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Implements the XML shell function "cat" dumps the serialization node content (XML or HTML).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the shell context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellDir"></a>xmlShellDir ()</h3>
+<pre class="programlisting">int	xmlShellDir			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Implements the XML shell function "dir" dumps information about the node (namespace, attributes, 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>the shell context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellDu"></a>xmlShellDu ()</h3>
+<pre class="programlisting">int	xmlShellDu			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Implements the XML shell function "du" show the structure of the subtree under node @tree If @tree is null, the command works on the current node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the shell context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>a node defining a subtree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellList"></a>xmlShellList ()</h3>
+<pre class="programlisting">int	xmlShellList			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Implements the XML shell function "ls" Does an Unix like listing of the given node (like a directory)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the shell context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellLoad"></a>xmlShellLoad ()</h3>
+<pre class="programlisting">int	xmlShellLoad			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Implements the XML shell function "load" loads a new document specified by the filename</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the shell context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the file name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or -1 if loading failed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellPrintNode"></a>xmlShellPrintNode ()</h3>
+<pre class="programlisting">void	xmlShellPrintNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Print node to the output FILE</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a non-null node to print to the output FILE</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellPrintXPathError"></a>xmlShellPrintXPathError ()</h3>
+<pre class="programlisting">void	xmlShellPrintXPathError		(int errorType, <br>					 const char * arg)<br>
+</pre>
+<p>Print the xpath error to libxml default error channel</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>errorType</tt></i>:</span></td>
+<td>valid xpath error id</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>the argument that cause xpath to fail</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellPrintXPathResult"></a>xmlShellPrintXPathResult ()</h3>
+<pre class="programlisting">void	xmlShellPrintXPathResult	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list)<br>
+</pre>
+<p>Prints result to the output FILE</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>list</tt></i>:</span></td>
+<td>a valid result generated by an xpath evaluation</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellPwd"></a>xmlShellPwd ()</h3>
+<pre class="programlisting">int	xmlShellPwd			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * buffer, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Implements the XML shell function "pwd" 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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the shell context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>the output buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellSave"></a>xmlShellSave ()</h3>
+<pre class="programlisting">int	xmlShellSave			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Implements the XML shell function "save" Write the current document to the filename, or it's original name</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the shell context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the file name (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellValidate"></a>xmlShellValidate ()</h3>
+<pre class="programlisting">int	xmlShellValidate		(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * dtd, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Implements the XML shell function "validate" Validate the document, if a DTD path is provided, then the validation is done against the given DTD.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the shell context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>the DTD URI (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlShellWrite"></a>xmlShellWrite ()</h3>
+<pre class="programlisting">int	xmlShellWrite			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Implements the XML shell function "write" Write the current node to the filename, it saves the serialization of the subtree under the @node specified</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the shell context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the file name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node in the tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-dict.html b/doc/devhelp/libxml2-dict.html
index a0c5415..5a2c883 100644
--- a/doc/devhelp/libxml2-dict.html
+++ b/doc/devhelp/libxml2-dict.html
@@ -1,134 +1,341 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>dict: string dictionary</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-debugXML.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-encoding.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">dict</span>
-    </h2>
-    <p>dict - string dictionary</p>
-    <p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlDict <a href="#xmlDict">xmlDict</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dict: string dictionary</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-debugXML.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-encoding.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">dict</span></h2>
+<p>dict - string dictionary</p>
+<p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlDict <a href="#xmlDict">xmlDict</a>;
 typedef <a href="libxml2-dict.html#xmlDict">xmlDict</a> * <a href="#xmlDictPtr">xmlDictPtr</a>;
-size_t	<a href="#xmlDictGetUsage">xmlDictGetUsage</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
-int	<a href="#xmlDictReference">xmlDictReference</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
 void	<a href="#xmlDictCleanup">xmlDictCleanup</a>			(void);
-int	<a href="#xmlDictSize">xmlDictSize</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictExists">xmlDictExists</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int len);
-size_t	<a href="#xmlDictSetLimit">xmlDictSetLimit</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>					 size_t limit);
-int	<a href="#xmlDictOwns">xmlDictOwns</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictQLookup">xmlDictQLookup</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlInitializeDict">xmlInitializeDict</a>		(void);
-<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	<a href="#xmlDictCreateSub">xmlDictCreateSub</a>	(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub);
-void	<a href="#xmlDictFree">xmlDictFree</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictLookup">xmlDictLookup</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int len);
 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	<a href="#xmlDictCreate">xmlDictCreate</a>		(void);
+<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	<a href="#xmlDictCreateSub">xmlDictCreateSub</a>	(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictExists">xmlDictExists</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len);
+void	<a href="#xmlDictFree">xmlDictFree</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
+size_t	<a href="#xmlDictGetUsage">xmlDictGetUsage</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictLookup">xmlDictLookup</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len);
+int	<a href="#xmlDictOwns">xmlDictOwns</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictQLookup">xmlDictQLookup</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlDictReference">xmlDictReference</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
+size_t	<a href="#xmlDictSetLimit">xmlDictSetLimit</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 size_t limit);
+int	<a href="#xmlDictSize">xmlDictSize</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
+int	<a href="#xmlInitializeDict">xmlInitializeDict</a>		(void);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlDict">Structure </a>xmlDict</h3><pre class="programlisting">struct _xmlDict {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDict">Structure </a>xmlDict</h3>
+<pre class="programlisting">struct _xmlDict {
 The content of this structure is not made public by the API.
 } xmlDict;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictPtr">Typedef </a>xmlDictPtr</h3><pre class="programlisting"><a href="libxml2-dict.html#xmlDict">xmlDict</a> * xmlDictPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictPtr">Typedef </a>xmlDictPtr</h3>
+<pre class="programlisting"><a href="libxml2-dict.html#xmlDict">xmlDict</a> * xmlDictPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictCleanup"/>xmlDictCleanup ()</h3><pre class="programlisting">void	xmlDictCleanup			(void)<br/>
-</pre><p>Free the dictionary mutex. Do not call unless sure the library is not in use anymore !</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictCleanup"></a>xmlDictCleanup ()</h3>
+<pre class="programlisting">void	xmlDictCleanup			(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Free the dictionary mutex. Do not call unless sure the library is not in use anymore !</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictCreate"/>xmlDictCreate ()</h3><pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreate		(void)<br/>
-</pre><p>Create a new dictionary</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 created dictionary, or NULL if an error occurred.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictCreateSub"/>xmlDictCreateSub ()</h3><pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreateSub	(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub)<br/>
-</pre><p>Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>an existing dictionary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionary, or NULL if an error occurred.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictExists"/>xmlDictExists ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictExists		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int len)<br/>
-</pre><p>Check if the @name exists in the dictionary @dict.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the name, if -1 it is recomputed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal copy of the name or NULL if not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictFree"/>xmlDictFree ()</h3><pre class="programlisting">void	xmlDictFree			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br/>
-</pre><p>Free the hash @dict and its contents. The userdata is deallocated with @f if provided.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictGetUsage"/>xmlDictGetUsage ()</h3><pre class="programlisting">size_t	xmlDictGetUsage			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br/>
-</pre><p>Get how much memory is used by a dictionary for strings Added in 2.9.0</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the amount of strings allocated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictLookup"/>xmlDictLookup ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictLookup		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int len)<br/>
-</pre><p>Add the @name to the dictionary @dict if not present.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the name, if -1 it is recomputed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal copy of the name or NULL in case of internal error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictOwns"/>xmlDictOwns ()</h3><pre class="programlisting">int	xmlDictOwns			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>check if a string is owned by the dictionary</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 in case of error -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictQLookup"/>xmlDictQLookup ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictQLookup		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Add the QName @prefix:@name to the hash @dict if not present.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal copy of the QName or NULL in case of internal error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictReference"/>xmlDictReference ()</h3><pre class="programlisting">int	xmlDictReference		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br/>
-</pre><p>Increment the <a href="libxml2-SAX.html#reference">reference</a> counter of a dictionary</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictSetLimit"/>xmlDictSetLimit ()</h3><pre class="programlisting">size_t	xmlDictSetLimit			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>					 size_t limit)<br/>
-</pre><p>Set a size limit for the dictionary Added in 2.9.0</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>limit</tt></i>:</span></td><td>the limit in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous limit of the dictionary or 0</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictSize"/>xmlDictSize ()</h3><pre class="programlisting">int	xmlDictSize			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br/>
-</pre><p>Query the number of elements installed in the hash @dict.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the dictionary or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitializeDict"/>xmlInitializeDict ()</h3><pre class="programlisting">int	xmlInitializeDict		(void)<br/>
-</pre><p>Do the dictionary mutex initialization. this function is deprecated</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if initialization was already done, and 1 if that call led to the initialization</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictCreate"></a>xmlDictCreate ()</h3>
+<pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreate		(void)<br>
+</pre>
+<p>Create a new dictionary</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 created dictionary, or NULL if an error occurred.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictCreateSub"></a>xmlDictCreateSub ()</h3>
+<pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreateSub	(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub)<br>
+</pre>
+<p>Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sub</tt></i>:</span></td>
+<td>an existing dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created dictionary, or NULL if an error occurred.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictExists"></a>xmlDictExists ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictExists		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len)<br>
+</pre>
+<p>Check if the @name exists in the dictionary @dict.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the name, if -1 it is recomputed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal copy of the name or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictFree"></a>xmlDictFree ()</h3>
+<pre class="programlisting">void	xmlDictFree			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
+</pre>
+<p>Free the hash @dict and its contents. The userdata is deallocated with @f if provided.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictGetUsage"></a>xmlDictGetUsage ()</h3>
+<pre class="programlisting">size_t	xmlDictGetUsage			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
+</pre>
+<p>Get how much memory is used by a dictionary for strings Added in 2.9.0</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the amount of strings allocated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictLookup"></a>xmlDictLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictLookup		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len)<br>
+</pre>
+<p>Add the @name to the dictionary @dict if not present.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the name, if -1 it is recomputed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal copy of the name or NULL in case of internal error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictOwns"></a>xmlDictOwns ()</h3>
+<pre class="programlisting">int	xmlDictOwns			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>check if a string is owned by the dictionary</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if false and -1 in case of error -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictQLookup"></a>xmlDictQLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictQLookup		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Add the QName @prefix:@name to the hash @dict if not present.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal copy of the QName or NULL in case of internal error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictReference"></a>xmlDictReference ()</h3>
+<pre class="programlisting">int	xmlDictReference		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
+</pre>
+<p>Increment the <a href="libxml2-SAX.html#reference">reference</a> counter of a dictionary</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictSetLimit"></a>xmlDictSetLimit ()</h3>
+<pre class="programlisting">size_t	xmlDictSetLimit			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 size_t limit)<br>
+</pre>
+<p>Set a size limit for the dictionary Added in 2.9.0</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>limit</tt></i>:</span></td>
+<td>the limit in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous limit of the dictionary or 0</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictSize"></a>xmlDictSize ()</h3>
+<pre class="programlisting">int	xmlDictSize			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
+</pre>
+<p>Query the number of elements installed in the hash @dict.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of elements in the dictionary or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitializeDict"></a>xmlInitializeDict ()</h3>
+<pre class="programlisting">int	xmlInitializeDict		(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Do the dictionary mutex initialization.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if initialization was already done, and 1 if that call led to the initialization</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-encoding.html b/doc/devhelp/libxml2-encoding.html
index 23d1029..cc9e2fb 100644
--- a/doc/devhelp/libxml2-encoding.html
+++ b/doc/devhelp/libxml2-encoding.html
@@ -1,97 +1,61 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>encoding: interface for the encoding conversion functions</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-dict.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-entities.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">encoding</span>
-    </h2>
-    <p>encoding - interface for the encoding conversion functions</p>
-    <p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a>;
-typedef struct _uconv_t <a href="#uconv_t">uconv_t</a>;
-typedef enum <a href="#xmlCharEncoding">xmlCharEncoding</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>encoding: interface for the encoding conversion functions</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">encoding</span></h2>
+<p>encoding - interface for the encoding conversion functions</p>
+<p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef enum <a href="#xmlCharEncoding">xmlCharEncoding</a>;
 typedef struct _xmlCharEncodingHandler <a href="#xmlCharEncodingHandler">xmlCharEncodingHandler</a>;
 typedef <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * <a href="#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>;
-int	<a href="#xmlDelEncodingAlias">xmlDelEncodingAlias</a>		(const char * alias);
-const char *	<a href="#xmlGetEncodingAlias">xmlGetEncodingAlias</a>	(const char * alias);
-void	<a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a>	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
-int	<a href="#UTF8Toisolat1">UTF8Toisolat1</a>			(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen);
-void	<a href="#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a>	(void);
-int	<a href="#xmlAddEncodingAlias">xmlAddEncodingAlias</a>		(const char * name, <br/>					 const char * alias);
-void	<a href="#xmlCleanupEncodingAliases">xmlCleanupEncodingAliases</a>	(void);
-int	<a href="#xmlCharEncOutFunc">xmlCharEncOutFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
-<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlParseCharEncoding">xmlParseCharEncoding</a>	(const char * name);
-typedef int <a href="#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>	(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen);
-void	<a href="#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a>	(void);
-<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a>	(const char * name, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output);
-typedef int <a href="#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>	(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen);
-int	<a href="#isolat1ToUTF8">isolat1ToUTF8</a>			(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen);
-<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a>	(const char * name);
-int	<a href="#xmlCharEncInFunc">xmlCharEncInFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
-<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-int	<a href="#xmlCharEncFirstLine">xmlCharEncFirstLine</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
-<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlDetectCharEncoding">xmlDetectCharEncoding</a>	(const unsigned char * in, <br/>					 int len);
+int	<a href="#UTF8Toisolat1">UTF8Toisolat1</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
+int	<a href="#isolat1ToUTF8">isolat1ToUTF8</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
+int	<a href="#xmlAddEncodingAlias">xmlAddEncodingAlias</a>		(const char * name, <br>					 const char * alias);
 int	<a href="#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler);
+int	<a href="#xmlCharEncFirstLine">xmlCharEncFirstLine</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
+int	<a href="#xmlCharEncInFunc">xmlCharEncInFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
+int	<a href="#xmlCharEncOutFunc">xmlCharEncOutFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
+typedef int <a href="#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
+typedef int <a href="#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
+void	<a href="#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a>	(void);
+void	<a href="#xmlCleanupEncodingAliases">xmlCleanupEncodingAliases</a>	(void);
+int	<a href="#xmlDelEncodingAlias">xmlDelEncodingAlias</a>		(const char * alias);
+<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlDetectCharEncoding">xmlDetectCharEncoding</a>	(const unsigned char * in, <br>					 int len);
+<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a>	(const char * name);
+<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
 const char *	<a href="#xmlGetCharEncodingName">xmlGetCharEncodingName</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+const char *	<a href="#xmlGetEncodingAlias">xmlGetEncodingAlias</a>	(const char * alias);
+void	<a href="#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a>	(void);
+<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a>	(const char * name, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output);
+<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlParseCharEncoding">xmlParseCharEncoding</a>	(const char * name);
+void	<a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a>	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="ICU_PIVOT_BUF_SIZE">Macro </a>ICU_PIVOT_BUF_SIZE</h3><pre class="programlisting">#define <a href="#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a>;
-</pre><p/>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="uconv_t">Structure </a>uconv_t</h3><pre class="programlisting">struct _uconv_t {
-    UConverter *	uconv	: for conversion between an encoding and UTF-16
-    UConverter *	utf8	: for conversion between UTF-8 and UTF-16
-    UCharpivot_buf[ICU_PIVOT_BUF_SIZE]	pivot_buf
-    UChar *	pivot_source
-    UChar *	pivot_target
-} uconv_t;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncoding">Enum </a>xmlCharEncoding</h3><pre class="programlisting">enum <a href="#xmlCharEncoding">xmlCharEncoding</a> {
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncoding">Enum </a>xmlCharEncoding</h3>
+<pre class="programlisting">enum <a href="#xmlCharEncoding">xmlCharEncoding</a> {
     <a name="XML_CHAR_ENCODING_ERROR">XML_CHAR_ENCODING_ERROR</a> = -1 /* No char encoding detected */
     <a name="XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> = 0 /* No char encoding detected */
     <a name="XML_CHAR_ENCODING_UTF8">XML_CHAR_ENCODING_UTF8</a> = 1 /* UTF-8 */
@@ -117,110 +81,519 @@
     <a name="XML_CHAR_ENCODING_EUC_JP">XML_CHAR_ENCODING_EUC_JP</a> = 21 /* EUC-JP */
     <a name="XML_CHAR_ENCODING_ASCII">XML_CHAR_ENCODING_ASCII</a> = 22 /*  pure ASCII */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncodingHandler">Structure </a>xmlCharEncodingHandler</h3><pre class="programlisting">struct _xmlCharEncodingHandler {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncodingHandler">Structure </a>xmlCharEncodingHandler</h3>
+<pre class="programlisting">struct _xmlCharEncodingHandler {
     char *	name
     <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>	input
     <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>	output
     iconv_t	iconv_in
     iconv_t	iconv_out
-    <a href="libxml2-encoding.html#uconv_t">uconv_t</a> *	uconv_in
-    <a href="libxml2-encoding.html#uconv_t">uconv_t</a> *	uconv_out
+    struct _uconv_t *	uconv_in
+    struct _uconv_t *	uconv_out
 } xmlCharEncodingHandler;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncodingHandlerPtr">Typedef </a>xmlCharEncodingHandlerPtr</h3><pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * xmlCharEncodingHandlerPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncodingHandlerPtr">Typedef </a>xmlCharEncodingHandlerPtr</h3>
+<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * xmlCharEncodingHandlerPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncodingInputFunc"/>Function type xmlCharEncodingInputFunc</h3><pre class="programlisting">int	xmlCharEncodingInputFunc	(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen)<br/>
-</pre><p>Take a block of chars in the original encoding and try to convert it to an UTF-8 block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the UTF-8 result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of chars in the original encoding</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets consumed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncodingOutputFunc"/>Function type xmlCharEncodingOutputFunc</h3><pre class="programlisting">int	xmlCharEncodingOutputFunc	(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen)<br/>
-</pre><p>Take a block of UTF-8 chars in and try to convert it to another encoding. Note: a first call designed to produce heading info is called with in = NULL. If stateful this should also initialize the encoder state.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets produced.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="UTF8Toisolat1"/>UTF8Toisolat1 ()</h3><pre class="programlisting">int	UTF8Toisolat1			(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen)<br/>
-</pre><p>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="isolat1ToUTF8"/>isolat1ToUTF8 ()</h3><pre class="programlisting">int	isolat1ToUTF8			(unsigned char * out, <br/>					 int * outlen, <br/>					 const unsigned char * in, <br/>					 int * inlen)<br/>
-</pre><p>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of ISO Latin 1 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddEncodingAlias"/>xmlAddEncodingAlias ()</h3><pre class="programlisting">int	xmlAddEncodingAlias		(const char * name, <br/>					 const char * alias)<br/>
-</pre><p>Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.</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 encoding name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncCloseFunc"/>xmlCharEncCloseFunc ()</h3><pre class="programlisting">int	xmlCharEncCloseFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler)<br/>
-</pre><p>Generic front-end for encoding handler close function</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncFirstLine"/>xmlCharEncFirstLine ()</h3><pre class="programlisting">int	xmlCharEncFirstLine		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br/>
-</pre><p>Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself to 45 chars.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncInFunc"/>xmlCharEncInFunc ()</h3><pre class="programlisting">int	xmlCharEncInFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br/>
-</pre><p>Generic front-end for the encoding handler input function</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncOutFunc"/>xmlCharEncOutFunc ()</h3><pre class="programlisting">int	xmlCharEncOutFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br/>
-</pre><p>Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupCharEncodingHandlers"/>xmlCleanupCharEncodingHandlers ()</h3><pre class="programlisting">void	xmlCleanupCharEncodingHandlers	(void)<br/>
-</pre><p>Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncodingInputFunc"></a>Function type xmlCharEncodingInputFunc</h3>
+<pre class="programlisting">int	xmlCharEncodingInputFunc	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
+</pre>
+<p>Take a block of chars in the original encoding and try to convert it to an UTF-8 block of chars out.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a pointer to an array of bytes to store the UTF-8 result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
+<td>the length of @out</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a pointer to an array of chars in the original encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
+<td>the length of @in</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets consumed.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupEncodingAliases"/>xmlCleanupEncodingAliases ()</h3><pre class="programlisting">void	xmlCleanupEncodingAliases	(void)<br/>
-</pre><p>Unregisters all aliases</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncodingOutputFunc"></a>Function type xmlCharEncodingOutputFunc</h3>
+<pre class="programlisting">int	xmlCharEncodingOutputFunc	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
+</pre>
+<p>Take a block of UTF-8 chars in and try to convert it to another encoding. Note: a first call designed to produce heading info is called with in = NULL. If stateful this should also initialize the encoder state.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a pointer to an array of bytes to store the result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
+<td>the length of @out</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a pointer to an array of UTF-8 chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
+<td>the length of @in</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets produced.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDelEncodingAlias"/>xmlDelEncodingAlias ()</h3><pre class="programlisting">int	xmlDelEncodingAlias		(const char * alias)<br/>
-</pre><p>Unregisters an encoding alias @alias</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDetectCharEncoding"/>xmlDetectCharEncoding ()</h3><pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlDetectCharEncoding	(const unsigned char * in, <br/>					 int len)<br/>
-</pre><p>Guess the encoding of the entity using the first bytes of the entity content according to the non-normative appendix F of the XML-1.0 recommendation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant).</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the length of the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of the XML_CHAR_ENCODING_... values.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFindCharEncodingHandler"/>xmlFindCharEncodingHandler ()</h3><pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlFindCharEncodingHandler	(const char * name)<br/>
-</pre><p>Search in the registered set the handler able to read/write that encoding.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>a string describing the char encoding.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the handler or NULL if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetCharEncodingHandler"/>xmlGetCharEncodingHandler ()</h3><pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlGetCharEncodingHandler	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Search in the registered set the handler able to read/write that encoding.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> value.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the handler or NULL if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetCharEncodingName"/>xmlGetCharEncodingName ()</h3><pre class="programlisting">const char *	xmlGetCharEncodingName	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>The "canonical" name for XML encoding. C.f. http://www.w3.org/TR/REC-xml#charencoding Section 4.3.3 Character Encoding in Entities</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the canonical name for the given encoding</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetEncodingAlias"/>xmlGetEncodingAlias ()</h3><pre class="programlisting">const char *	xmlGetEncodingAlias	(const char * alias)<br/>
-</pre><p>Lookup an encoding name for the given alias.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found, otherwise the original name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitCharEncodingHandlers"/>xmlInitCharEncodingHandlers ()</h3><pre class="programlisting">void	xmlInitCharEncodingHandlers	(void)<br/>
-</pre><p>Initialize the char encoding support, it registers the default encoding supported. NOTE: while public, this function usually doesn't need to be called in normal processing.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="UTF8Toisolat1"></a>UTF8Toisolat1 ()</h3>
+<pre class="programlisting">int	UTF8Toisolat1			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
+</pre>
+<p>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a pointer to an array of bytes to store the result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
+<td>the length of @out</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a pointer to an array of UTF-8 chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
+<td>the length of @in</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewCharEncodingHandler"/>xmlNewCharEncodingHandler ()</h3><pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlNewCharEncodingHandler	(const char * name, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output)<br/>
-</pre><p>Create and registers an xmlCharEncodingHandler.</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 encoding name, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> to read that encoding</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> to write that encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> created (or NULL in case of error).</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseCharEncoding"/>xmlParseCharEncoding ()</h3><pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlParseCharEncoding	(const char * name)<br/>
-</pre><p>Compare the string to the encoding schemes already known. Note that the comparison is case insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities.</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 encoding name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of the XML_CHAR_ENCODING_... values or <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> if not recognized.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterCharEncodingHandler"/>xmlRegisterCharEncodingHandler ()</h3><pre class="programlisting">void	xmlRegisterCharEncodingHandler	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br/>
-</pre><p>Register the char encoding handler, surprising, isn't it ?</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler block</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="isolat1ToUTF8"></a>isolat1ToUTF8 ()</h3>
+<pre class="programlisting">int	isolat1ToUTF8			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
+</pre>
+<p>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a pointer to an array of bytes to store the result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
+<td>the length of @out</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a pointer to an array of ISO Latin 1 chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
+<td>the length of @in</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddEncodingAlias"></a>xmlAddEncodingAlias ()</h3>
+<pre class="programlisting">int	xmlAddEncodingAlias		(const char * name, <br>					 const char * alias)<br>
+</pre>
+<p>Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.</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 encoding name as parsed, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>alias</tt></i>:</span></td>
+<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncCloseFunc"></a>xmlCharEncCloseFunc ()</h3>
+<pre class="programlisting">int	xmlCharEncCloseFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler)<br>
+</pre>
+<p>Generic front-end for encoding handler close function</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>char encoding transformation data structure</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if success, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncFirstLine"></a>xmlCharEncFirstLine ()</h3>
+<pre class="programlisting">int	xmlCharEncFirstLine		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br>
+</pre>
+<p>Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself to 45 chars.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>char encoding transformation data structure</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncInFunc"></a>xmlCharEncInFunc ()</h3>
+<pre class="programlisting">int	xmlCharEncInFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br>
+</pre>
+<p>Generic front-end for the encoding handler input function</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>char encoding transformation data structure</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncOutFunc"></a>xmlCharEncOutFunc ()</h3>
+<pre class="programlisting">int	xmlCharEncOutFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br>
+</pre>
+<p>Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>char encoding transformation data structure</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupCharEncodingHandlers"></a>xmlCleanupCharEncodingHandlers ()</h3>
+<pre class="programlisting">void	xmlCleanupCharEncodingHandlers	(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupEncodingAliases"></a>xmlCleanupEncodingAliases ()</h3>
+<pre class="programlisting">void	xmlCleanupEncodingAliases	(void)<br>
+</pre>
+<p>Unregisters all aliases</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDelEncodingAlias"></a>xmlDelEncodingAlias ()</h3>
+<pre class="programlisting">int	xmlDelEncodingAlias		(const char * alias)<br>
+</pre>
+<p>Unregisters an encoding alias @alias</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>alias</tt></i>:</span></td>
+<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDetectCharEncoding"></a>xmlDetectCharEncoding ()</h3>
+<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlDetectCharEncoding	(const unsigned char * in, <br>					 int len)<br>
+</pre>
+<p>Guess the encoding of the entity using the first bytes of the entity content according to the non-normative appendix F of the XML-1.0 recommendation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant).</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>pointer to the length of the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>one of the XML_CHAR_ENCODING_... values.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFindCharEncodingHandler"></a>xmlFindCharEncodingHandler ()</h3>
+<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlFindCharEncodingHandler	(const char * name)<br>
+</pre>
+<p>Search in the registered set the handler able to read/write that encoding.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>a string describing the char encoding.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the handler or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetCharEncodingHandler"></a>xmlGetCharEncodingHandler ()</h3>
+<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlGetCharEncodingHandler	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Search in the registered set the handler able to read/write that encoding.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> value.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the handler or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetCharEncodingName"></a>xmlGetCharEncodingName ()</h3>
+<pre class="programlisting">const char *	xmlGetCharEncodingName	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>The "canonical" name for XML encoding. C.f. http://www.w3.org/TR/REC-xml#charencoding Section 4.3.3 Character Encoding in Entities</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the canonical name for the given encoding</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetEncodingAlias"></a>xmlGetEncodingAlias ()</h3>
+<pre class="programlisting">const char *	xmlGetEncodingAlias	(const char * alias)<br>
+</pre>
+<p>Lookup an encoding name for the given alias.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>alias</tt></i>:</span></td>
+<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not found, otherwise the original name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitCharEncodingHandlers"></a>xmlInitCharEncodingHandlers ()</h3>
+<pre class="programlisting">void	xmlInitCharEncodingHandlers	(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the char encoding support, it registers the default encoding supported. NOTE: while public, this function usually doesn't need to be called in normal processing.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewCharEncodingHandler"></a>xmlNewCharEncodingHandler ()</h3>
+<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlNewCharEncodingHandler	(const char * name, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output)<br>
+</pre>
+<p>Create and registers an <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a>.</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 encoding name, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> to read that encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> to write that encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> created (or NULL in case of error).</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseCharEncoding"></a>xmlParseCharEncoding ()</h3>
+<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlParseCharEncoding	(const char * name)<br>
+</pre>
+<p>Compare the string to the encoding schemes already known. Note that the comparison is case insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities.</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 encoding name as parsed, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>one of the XML_CHAR_ENCODING_... values or <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> if not recognized.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterCharEncodingHandler"></a>xmlRegisterCharEncodingHandler ()</h3>
+<pre class="programlisting">void	xmlRegisterCharEncodingHandler	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
+</pre>
+<p>Register the char encoding handler, surprising, isn't it ?</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler block</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-entities.html b/doc/devhelp/libxml2-entities.html
index a40104c..2b0ea58 100644
--- a/doc/devhelp/libxml2-entities.html
+++ b/doc/devhelp/libxml2-entities.html
@@ -1,87 +1,75 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>entities: interface for the XML entities handling</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-encoding.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-globals.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">entities</span>
-    </h2>
-    <p>entities - interface for the XML entities handling</p>
-    <p>this module provides some of the entity API needed for the parser and applications. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef enum <a href="#xmlEntityType">xmlEntityType</a>;
-typedef struct _xmlHashTable <a href="#xmlEntitiesTable">xmlEntitiesTable</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>entities: interface for the XML entities handling</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-encoding.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-globals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">entities</span></h2>
+<p>entities - interface for the XML entities handling</p>
+<p>this module provides some of the entity API needed for the parser and applications. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlHashTable <a href="#xmlEntitiesTable">xmlEntitiesTable</a>;
 typedef <a href="libxml2-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * <a href="#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>;
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDocEntity">xmlAddDocEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlNewEntity">xmlNewEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetDocEntity">xmlGetDocEntity</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetDtdEntity">xmlGetDtdEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDtdEntity">xmlAddDtdEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	<a href="#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a>	(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
-void	<a href="#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a>		(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetParameterEntity">xmlGetParameterEntity</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
-void	<a href="#xmlDumpEntityDecl">xmlDumpEntityDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent);
+typedef enum <a href="#xmlEntityType">xmlEntityType</a>;
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDocEntity">xmlAddDocEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDtdEntity">xmlAddDtdEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
 void	<a href="#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a>	(void);
+<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	<a href="#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a>	(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	<a href="#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a>	(void);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntities">xmlEncodeEntities</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
+void	<a href="#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
+void	<a href="#xmlDumpEntityDecl">xmlDumpEntityDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntities">xmlEncodeEntities</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
+void	<a href="#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a>		(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetDocEntity">xmlGetDocEntity</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetDtdEntity">xmlGetDtdEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetParameterEntity">xmlGetParameterEntity</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetPredefinedEntity">xmlGetPredefinedEntity</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 void	<a href="#xmlInitializePredefinedEntities">xmlInitializePredefinedEntities</a>	(void);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlNewEntity">xmlNewEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlEntitiesTable">Structure </a>xmlEntitiesTable</h3><pre class="programlisting">struct _xmlHashTable {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEntitiesTable">Structure </a>xmlEntitiesTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlEntitiesTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEntitiesTablePtr">Typedef </a>xmlEntitiesTablePtr</h3><pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * xmlEntitiesTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEntitiesTablePtr">Typedef </a>xmlEntitiesTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * xmlEntitiesTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEntityType">Enum </a>xmlEntityType</h3><pre class="programlisting">enum <a href="#xmlEntityType">xmlEntityType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEntityType">Enum </a>xmlEntityType</h3>
+<pre class="programlisting">enum <a href="#xmlEntityType">xmlEntityType</a> {
     <a name="XML_INTERNAL_GENERAL_ENTITY">XML_INTERNAL_GENERAL_ENTITY</a> = 1
     <a name="XML_EXTERNAL_GENERAL_PARSED_ENTITY">XML_EXTERNAL_GENERAL_PARSED_ENTITY</a> = 2
     <a name="XML_EXTERNAL_GENERAL_UNPARSED_ENTITY">XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</a> = 3
@@ -89,78 +77,414 @@
     <a name="XML_EXTERNAL_PARAMETER_ENTITY">XML_EXTERNAL_PARAMETER_ENTITY</a> = 5
     <a name="XML_INTERNAL_PREDEFINED_ENTITY">XML_INTERNAL_PREDEFINED_ENTITY</a> = 6
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddDocEntity"/>xmlAddDocEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlAddDocEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Register a new entity for this document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type XML_xxx_yyy_ENTITY</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the entity external ID if available</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the entity system ID if available</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the entity content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the entity or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddDtdEntity"/>xmlAddDtdEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlAddDtdEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Register a new entity for this document DTD external subset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type XML_xxx_yyy_ENTITY</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the entity external ID if available</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the entity system ID if available</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the entity content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the entity or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupPredefinedEntities"/>xmlCleanupPredefinedEntities ()</h3><pre class="programlisting">void	xmlCleanupPredefinedEntities	(void)<br/>
-</pre><p>Cleanup up the predefined entities table. Deprecated call</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddDocEntity"></a>xmlAddDocEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlAddDocEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Register a new entity for this document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type XML_xxx_yyy_ENTITY</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the entity external ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the entity system ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the entity content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the entity or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyEntitiesTable"/>xmlCopyEntitiesTable ()</h3><pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	xmlCopyEntitiesTable	(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br/>
-</pre><p>Build a copy of an entity table.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An entity table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateEntitiesTable"/>xmlCreateEntitiesTable ()</h3><pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	xmlCreateEntitiesTable	(void)<br/>
-</pre><p>create and initialize an empty entities hash table. This really doesn't make sense and should be deprecated</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 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> just created or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpEntitiesTable"/>xmlDumpEntitiesTable ()</h3><pre class="programlisting">void	xmlDumpEntitiesTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br/>
-</pre><p>This will dump the content of the entity table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>An XML buffer.</td></tr><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An entity table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpEntityDecl"/>xmlDumpEntityDecl ()</h3><pre class="programlisting">void	xmlDumpEntityDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent)<br/>
-</pre><p>This will dump the content of the entity table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>An XML buffer.</td></tr><tr><td><span class="term"><i><tt>ent</tt></i>:</span></td><td>An entity table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEncodeEntities"/>xmlEncodeEntities ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntities	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br/>
-</pre><p>TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary compatibility People must migrate their code to <a href="libxml2-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a> ! This routine will issue a warning when encountered.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document containing the string</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>A string to convert to XML.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEncodeEntitiesReentrant"/>xmlEncodeEntitiesReentrant ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntitiesReentrant	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br/>
-</pre><p>Do a global encoding of a string, replacing the predefined entities and non ASCII values with their entities and CharRef counterparts. Contrary to xmlEncodeEntities, this routine is reentrant, and result must be deallocated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document containing the string</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>A string to convert to XML.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>A newly allocated string with the substitution done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEncodeSpecialChars"/>xmlEncodeSpecialChars ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeSpecialChars	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br/>
-</pre><p>Do a global encoding of a string, replacing the predefined entities this routine is reentrant, and result must be deallocated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document containing the string</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>A string to convert to XML.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>A newly allocated string with the substitution done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeEntitiesTable"/>xmlFreeEntitiesTable ()</h3><pre class="programlisting">void	xmlFreeEntitiesTable		(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br/>
-</pre><p>Deallocate the memory used by an entities hash table.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An entity table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDocEntity"/>xmlGetDocEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetDocEntity		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Do an entity lookup in the document entity hash table and</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document referencing the entity</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the corresponding entity, otherwise a lookup is done in the predefined entities too. Returns A pointer to the entity structure or NULL if not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdEntity"/>xmlGetDtdEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetDtdEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Do an entity lookup in the DTD entity hash table and</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document referencing the entity</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the corresponding entity, if found. Note: the first argument is the document node, not the DTD node. Returns A pointer to the entity structure or NULL if not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetParameterEntity"/>xmlGetParameterEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetParameterEntity	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Do an entity lookup in the internal and external subsets and</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document referencing the entity</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the corresponding parameter entity, if found. Returns A pointer to the entity structure or NULL if not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetPredefinedEntity"/>xmlGetPredefinedEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetPredefinedEntity	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Check whether this name is an predefined entity.</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the entity</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitializePredefinedEntities"/>xmlInitializePredefinedEntities ()</h3><pre class="programlisting">void	xmlInitializePredefinedEntities	(void)<br/>
-</pre><p>Set up the predefined entities. Deprecated call</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddDtdEntity"></a>xmlAddDtdEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlAddDtdEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Register a new entity for this document DTD external subset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type XML_xxx_yyy_ENTITY</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the entity external ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the entity system ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the entity content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the entity or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewEntity"/>xmlNewEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlNewEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsibility of the caller to link it to the document later or free it when not needed anymore.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type XML_xxx_yyy_ENTITY</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the entity external ID if available</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the entity system ID if available</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the entity content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the entity or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupPredefinedEntities"></a>xmlCleanupPredefinedEntities ()</h3>
+<pre class="programlisting">void	xmlCleanupPredefinedEntities	(void)<br>
+</pre>
+<p>Cleanup up the predefined entities table. Deprecated call</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyEntitiesTable"></a>xmlCopyEntitiesTable ()</h3>
+<pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	xmlCopyEntitiesTable	(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
+</pre>
+<p>Build a copy of an entity table.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An entity table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateEntitiesTable"></a>xmlCreateEntitiesTable ()</h3>
+<pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	xmlCreateEntitiesTable	(void)<br>
+</pre>
+<p>create and initialize an empty entities hash table. This really doesn't make sense and should be deprecated</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 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> just created or NULL in case of error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpEntitiesTable"></a>xmlDumpEntitiesTable ()</h3>
+<pre class="programlisting">void	xmlDumpEntitiesTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
+</pre>
+<p>This will dump the content of the entity table as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>An XML buffer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An entity table</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpEntityDecl"></a>xmlDumpEntityDecl ()</h3>
+<pre class="programlisting">void	xmlDumpEntityDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent)<br>
+</pre>
+<p>This will dump the content of the entity table as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>An XML buffer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ent</tt></i>:</span></td>
+<td>An entity table</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEncodeEntities"></a>xmlEncodeEntities ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntities	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
+</pre>
+<p>TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary compatibility People must migrate their code to <a href="libxml2-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a> ! This routine will issue a warning when encountered.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document containing the string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>A string to convert to XML.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEncodeEntitiesReentrant"></a>xmlEncodeEntitiesReentrant ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntitiesReentrant	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
+</pre>
+<p>Do a global encoding of a string, replacing the predefined entities and non ASCII values with their entities and CharRef counterparts. Contrary to xmlEncodeEntities, this routine is reentrant, and result must be deallocated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document containing the string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>A string to convert to XML.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>A newly allocated string with the substitution done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEncodeSpecialChars"></a>xmlEncodeSpecialChars ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeSpecialChars	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
+</pre>
+<p>Do a global encoding of a string, replacing the predefined entities this routine is reentrant, and result must be deallocated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document containing the string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>A string to convert to XML.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>A newly allocated string with the substitution done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeEntitiesTable"></a>xmlFreeEntitiesTable ()</h3>
+<pre class="programlisting">void	xmlFreeEntitiesTable		(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
+</pre>
+<p>Deallocate the memory used by an entities hash table.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An entity table</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDocEntity"></a>xmlGetDocEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetDocEntity		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Do an entity lookup in the document entity hash table and</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document referencing the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the corresponding entity, otherwise a lookup is done in the predefined entities too. Returns A pointer to the entity structure or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDtdEntity"></a>xmlGetDtdEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetDtdEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Do an entity lookup in the DTD entity hash table and</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document referencing the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the corresponding entity, if found. Note: the first argument is the document node, not the DTD node. Returns A pointer to the entity structure or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetParameterEntity"></a>xmlGetParameterEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetParameterEntity	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Do an entity lookup in the internal and external subsets and</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document referencing the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the corresponding parameter entity, if found. Returns A pointer to the entity structure or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetPredefinedEntity"></a>xmlGetPredefinedEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetPredefinedEntity	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Check whether this name is an predefined entity.</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 entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the entity</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitializePredefinedEntities"></a>xmlInitializePredefinedEntities ()</h3>
+<pre class="programlisting">void	xmlInitializePredefinedEntities	(void)<br>
+</pre>
+<p>Set up the predefined entities. Deprecated call</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewEntity"></a>xmlNewEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlNewEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsibility of the caller to link it to the document later or free it when not needed anymore.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type XML_xxx_yyy_ENTITY</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the entity external ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the entity system ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the entity content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the entity or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-globals.html b/doc/devhelp/libxml2-globals.html
index 415492b..ea7696d 100644
--- a/doc/devhelp/libxml2-globals.html
+++ b/doc/devhelp/libxml2-globals.html
@@ -1,93 +1,73 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>globals: interface for all global variables of the library</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-entities.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-hash.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">globals</span>
-    </h2>
-    <p>globals - interface for all global variables of the library</p>
-    <p>all the global variables and thread handling for those variables is handled by this module.  The bottom of this file is automatically generated by build_glob.py based on the description file global.data </p>
-    <p>Author(s): Gary Pennington &lt;Gary.Pennington@uk.sun.com&gt;, Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef <a href="libxml2-globals.html#xmlGlobalState">xmlGlobalState</a> * <a href="#xmlGlobalStatePtr">xmlGlobalStatePtr</a>;
-typedef struct _xmlGlobalState <a href="#xmlGlobalState">xmlGlobalState</a>;
-void	<a href="#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a>	(void * ctx, <br/>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
-void	<a href="#xmlInitializeGlobalState">xmlInitializeGlobalState</a>	(<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs);
-<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	<a href="#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a>	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v);
-int	<a href="#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a>	(int v);
-<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
-typedef <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	(const char * URI, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>globals: interface for all global variables of the library</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-entities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-hash.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">globals</span></h2>
+<p>globals - interface for all global variables of the library</p>
+<p>all the global variables and thread handling for those variables is handled by this module.  The bottom of this file is automatically generated by build_glob.py based on the description file global.data </p>
+<p>Author(s): Gary Pennington &lt;Gary.Pennington@uk.sun.com&gt;, Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlGlobalState <a href="#xmlGlobalState">xmlGlobalState</a>;
+typedef <a href="libxml2-globals.html#xmlGlobalState">xmlGlobalState</a> * <a href="#xmlGlobalStatePtr">xmlGlobalStatePtr</a>;
+void	<a href="#xmlCleanupGlobals">xmlCleanupGlobals</a>		(void);
 <a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	<a href="#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
-int	<a href="#xmlThrDefDefaultBufferSize">xmlThrDefDefaultBufferSize</a>	(int v);
-<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
-int	<a href="#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a>	(int v);
-<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
-int	<a href="#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a>	(int v);
 typedef void <a href="#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+void	<a href="#xmlInitGlobals">xmlInitGlobals</a>			(void);
+void	<a href="#xmlInitializeGlobalState">xmlInitializeGlobalState</a>	(<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs);
+<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
+typedef <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression);
+<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func);
+typedef <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
+typedef void <a href="#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	<a href="#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a>	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v);
+int	<a href="#xmlThrDefDefaultBufferSize">xmlThrDefDefaultBufferSize</a>	(int v);
+<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	<a href="#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
+int	<a href="#xmlThrDefDoValidityCheckingDefaultValue">xmlThrDefDoValidityCheckingDefaultValue</a>	(int v);
+int	<a href="#xmlThrDefGetWarningsDefaultValue">xmlThrDefGetWarningsDefaultValue</a>	(int v);
+int	<a href="#xmlThrDefIndentTreeOutput">xmlThrDefIndentTreeOutput</a>	(int v);
+int	<a href="#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a>	(int v);
+int	<a href="#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a>	(int v);
+int	<a href="#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a>	(int v);
+<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
 int	<a href="#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a>	(int v);
 <a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func);
-void	<a href="#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a>	(void * ctx, <br/>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
-<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func);
-int	<a href="#xmlThrDefDoValidityCheckingDefaultValue">xmlThrDefDoValidityCheckingDefaultValue</a>	(int v);
-void	<a href="#xmlCleanupGlobals">xmlCleanupGlobals</a>		(void);
-int	<a href="#xmlThrDefGetWarningsDefaultValue">xmlThrDefGetWarningsDefaultValue</a>	(int v);
-<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	<a href="#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
-int	<a href="#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a>	(int v);
-typedef void <a href="#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int	<a href="#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a>	(int v);
+<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
 int	<a href="#xmlThrDefSaveNoEmptyTags">xmlThrDefSaveNoEmptyTags</a>	(int v);
-int	<a href="#xmlThrDefIndentTreeOutput">xmlThrDefIndentTreeOutput</a>	(int v);
-typedef <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	(const char * URI, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br/>							 int compression);
-void	<a href="#xmlInitGlobals">xmlInitGlobals</a>			(void);
-int	<a href="#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a>	(int v);
+void	<a href="#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a>	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
+void	<a href="#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a>	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
+int	<a href="#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a>	(int v);
 const char *	<a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>	(const char * v);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlGlobalState">Structure </a>xmlGlobalState</h3><pre class="programlisting">struct _xmlGlobalState {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGlobalState">Structure </a>xmlGlobalState</h3>
+<pre class="programlisting">struct _xmlGlobalState {
     const char *	xmlParserVersion
     <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a>	xmlDefaultSAXLocator
     <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	xmlDefaultSAXHandler
-    <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	docbDefaultSAXHandler
+    <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	docbDefaultSAXHandler	: unused
     <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	htmlDefaultSAXHandler
     <a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a>	xmlFree
     <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a>	xmlMalloc
@@ -118,266 +98,873 @@
     <a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameValue
     void *	xmlStructuredErrorContext
 } xmlGlobalState;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGlobalStatePtr">Typedef </a>xmlGlobalStatePtr</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalState">xmlGlobalState</a> * xmlGlobalStatePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGlobalStatePtr">Typedef </a>xmlGlobalStatePtr</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalState">xmlGlobalState</a> * xmlGlobalStatePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDeregisterNodeFunc"/>Function type xmlDeregisterNodeFunc</h3><pre class="programlisting">void	xmlDeregisterNodeFunc		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Signature for the deregistration callback of a discarded node</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFilenameFunc"/>Function type xmlOutputBufferCreateFilenameFunc</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilenameFunc	(const char * URI, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br/>							 int compression)<br/>
-</pre><p>Signature for the function doing the lookup for a suitable output method corresponding to an URI.</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 to write to</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> in case of success or NULL if no method was found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFilenameFunc"/>Function type xmlParserInputBufferCreateFilenameFunc</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilenameFunc	(const char * URI, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Signature for the function doing the lookup for a suitable input method corresponding to an URI.</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 to read from</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the requested source encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in case of success or NULL if no method was found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterNodeFunc"/>Function type xmlRegisterNodeFunc</h3><pre class="programlisting">void	xmlRegisterNodeFunc		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Signature for the registration callback of a created node</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="docbDefaultSAXHandler">Variable </a>docbDefaultSAXHandler</h3><pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> docbDefaultSAXHandler;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDeregisterNodeFunc"></a>Function type xmlDeregisterNodeFunc</h3>
+<pre class="programlisting">void	xmlDeregisterNodeFunc		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Signature for the deregistration callback of a discarded node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDefaultSAXHandler">Variable </a>htmlDefaultSAXHandler</h3><pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> htmlDefaultSAXHandler;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferCreateFilenameFunc"></a>Function type xmlOutputBufferCreateFilenameFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilenameFunc	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression)<br>
+</pre>
+<p>Signature for the function doing the lookup for a suitable output method corresponding to an URI.</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 to write to</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>the new <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> in case of success or NULL if no method was found.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="oldXMLWDcompatibility">Variable </a>oldXMLWDcompatibility</h3><pre class="programlisting">int oldXMLWDcompatibility;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateFilenameFunc"></a>Function type xmlParserInputBufferCreateFilenameFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilenameFunc	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Signature for the function doing the lookup for a suitable input method corresponding to an URI.</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 to read from</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the requested source encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in case of success or NULL if no method was found.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferAllocScheme">Variable </a>xmlBufferAllocScheme</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlBufferAllocScheme;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterNodeFunc"></a>Function type xmlRegisterNodeFunc</h3>
+<pre class="programlisting">void	xmlRegisterNodeFunc		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Signature for the registration callback of a created node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDefaultBufferSize">Variable </a>xmlDefaultBufferSize</h3><pre class="programlisting">int xmlDefaultBufferSize;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDefaultSAXHandler">Variable </a>htmlDefaultSAXHandler</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> htmlDefaultSAXHandler;
+</pre>
+<p>DEPRECATED: This handler is unused and will be removed from future versions. Default old SAX v1 handler for HTML, builds the DOM tree</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDefaultSAXHandler">Variable </a>xmlDefaultSAXHandler</h3><pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> xmlDefaultSAXHandler;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="oldXMLWDcompatibility">Variable </a>oldXMLWDcompatibility</h3>
+<pre class="programlisting">int oldXMLWDcompatibility;
+</pre>
+<p>Global setting, DEPRECATED.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDefaultSAXLocator">Variable </a>xmlDefaultSAXLocator</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> xmlDefaultSAXLocator;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferAllocScheme">Variable </a>xmlBufferAllocScheme</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlBufferAllocScheme;
+</pre>
+<p>DEPRECATED: Don't use. Global setting, default allocation policy for buffers, default is <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDeregisterNodeDefaultValue">Variable </a>xmlDeregisterNodeDefaultValue</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlDeregisterNodeDefaultValue;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDefaultBufferSize">Variable </a>xmlDefaultBufferSize</h3>
+<pre class="programlisting">int xmlDefaultBufferSize;
+</pre>
+<p>DEPRECATED: Don't use. Global setting, default buffer size. Default value is <a href="libxml2-tree.html#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDoValidityCheckingDefaultValue">Variable </a>xmlDoValidityCheckingDefaultValue</h3><pre class="programlisting">int xmlDoValidityCheckingDefaultValue;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDefaultSAXHandler">Variable </a>xmlDefaultSAXHandler</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> xmlDefaultSAXHandler;
+</pre>
+<p>DEPRECATED: This handler is unused and will be removed from future versions. Default SAX version1 handler for XML, builds the DOM tree</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFree">Variable </a>xmlFree</h3><pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> xmlFree;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDefaultSAXLocator">Variable </a>xmlDefaultSAXLocator</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> xmlDefaultSAXLocator;
+</pre>
+<p>DEPRECATED: Don't use The default SAX Locator { getPublicId, getSystemId, getLineNumber, getColumnNumber}</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGenericError">Variable </a>xmlGenericError</h3><pre class="programlisting"><a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> xmlGenericError;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDeregisterNodeDefaultValue">Variable </a>xmlDeregisterNodeDefaultValue</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlDeregisterNodeDefaultValue;
+</pre>
+<p>DEPRECATED: Don't use</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGenericErrorContext">Variable </a>xmlGenericErrorContext</h3><pre class="programlisting">void * xmlGenericErrorContext;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDoValidityCheckingDefaultValue">Variable </a>xmlDoValidityCheckingDefaultValue</h3>
+<pre class="programlisting">int xmlDoValidityCheckingDefaultValue;
+</pre>
+<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_DTDVALID">XML_PARSE_DTDVALID</a>. Global setting, indicate that the parser should work in validating mode. Disabled by default.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetWarningsDefaultValue">Variable </a>xmlGetWarningsDefaultValue</h3><pre class="programlisting">int xmlGetWarningsDefaultValue;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFree">Variable </a>xmlFree</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> xmlFree;
+</pre>
+<p>@mem: an already allocated block of memory The variable holding the libxml free() implementation</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIndentTreeOutput">Variable </a>xmlIndentTreeOutput</h3><pre class="programlisting">int xmlIndentTreeOutput;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGenericError">Variable </a>xmlGenericError</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> xmlGenericError;
+</pre>
+<p>Global setting: function used for generic error callbacks</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlKeepBlanksDefaultValue">Variable </a>xmlKeepBlanksDefaultValue</h3><pre class="programlisting">int xmlKeepBlanksDefaultValue;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGenericErrorContext">Variable </a>xmlGenericErrorContext</h3>
+<pre class="programlisting">void * xmlGenericErrorContext;
+</pre>
+<p>Global setting passed to generic error callbacks</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLastError">Variable </a>xmlLastError</h3><pre class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> xmlLastError;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetWarningsDefaultValue">Variable </a>xmlGetWarningsDefaultValue</h3>
+<pre class="programlisting">int xmlGetWarningsDefaultValue;
+</pre>
+<p>DEPRECATED: Don't use Global setting, indicate that the DTD validation should provide warnings. Activated by default.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLineNumbersDefaultValue">Variable </a>xmlLineNumbersDefaultValue</h3><pre class="programlisting">int xmlLineNumbersDefaultValue;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIndentTreeOutput">Variable </a>xmlIndentTreeOutput</h3>
+<pre class="programlisting">int xmlIndentTreeOutput;
+</pre>
+<p>Global setting, asking the serializer to indent the output tree by default Enabled by default</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadExtDtdDefaultValue">Variable </a>xmlLoadExtDtdDefaultValue</h3><pre class="programlisting">int xmlLoadExtDtdDefaultValue;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlKeepBlanksDefaultValue">Variable </a>xmlKeepBlanksDefaultValue</h3>
+<pre class="programlisting">int xmlKeepBlanksDefaultValue;
+</pre>
+<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a>. Global setting, indicate that the parser should keep all blanks nodes found in the content Activated by default, this is actually needed to have the parser conformant to the XML Recommendation, however the option is kept for some applications since this was libxml1 default behaviour.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMalloc">Variable </a>xmlMalloc</h3><pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMalloc;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLastError">Variable </a>xmlLastError</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> xmlLastError;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMallocAtomic">Variable </a>xmlMallocAtomic</h3><pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMallocAtomic;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLineNumbersDefaultValue">Variable </a>xmlLineNumbersDefaultValue</h3>
+<pre class="programlisting">int xmlLineNumbersDefaultValue;
+</pre>
+<p>DEPRECATED: The modern options API always enables line numbers. Global setting, indicate that the parser should store the line number in the content field of elements in the DOM tree. Disabled by default since this may not be safe for old classes of application.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemStrdup">Variable </a>xmlMemStrdup</h3><pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> xmlMemStrdup;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLoadExtDtdDefaultValue">Variable </a>xmlLoadExtDtdDefaultValue</h3>
+<pre class="programlisting">int xmlLoadExtDtdDefaultValue;
+</pre>
+<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a>. Global setting, indicate that the parser should load DTD while not validating. Disabled by default.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFilenameValue">Variable </a>xmlOutputBufferCreateFilenameValue</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> xmlOutputBufferCreateFilenameValue;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMalloc">Variable </a>xmlMalloc</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMalloc;
+</pre>
+<p>@size: the size requested in bytes The variable holding the libxml malloc() implementation Returns a pointer to the newly allocated block or NULL in case of error</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserDebugEntities">Variable </a>xmlParserDebugEntities</h3><pre class="programlisting">int xmlParserDebugEntities;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMallocAtomic">Variable </a>xmlMallocAtomic</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMallocAtomic;
+</pre>
+<p>@size: the size requested in bytes The variable holding the libxml malloc() implementation for atomic data (i.e. blocks not containing pointers), useful when using a garbage collecting allocator. Returns a pointer to the newly allocated block or NULL in case of error</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFilenameValue">Variable </a>xmlParserInputBufferCreateFilenameValue</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> xmlParserInputBufferCreateFilenameValue;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemStrdup">Variable </a>xmlMemStrdup</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> xmlMemStrdup;
+</pre>
+<p>@str: a zero terminated string The variable holding the libxml strdup() implementation Returns the copy of the string or NULL in case of error</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserVersion">Variable </a>xmlParserVersion</h3><pre class="programlisting">const char * xmlParserVersion;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferCreateFilenameValue">Variable </a>xmlOutputBufferCreateFilenameValue</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> xmlOutputBufferCreateFilenameValue;
+</pre>
+<p>DEPRECATED: Don't use</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPedanticParserDefaultValue">Variable </a>xmlPedanticParserDefaultValue</h3><pre class="programlisting">int xmlPedanticParserDefaultValue;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserDebugEntities">Variable </a>xmlParserDebugEntities</h3>
+<pre class="programlisting">int xmlParserDebugEntities;
+</pre>
+<p>DEPRECATED: Don't use Global setting, asking the parser to print out debugging information. while handling entities. Disabled by default</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRealloc">Variable </a>xmlRealloc</h3><pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> xmlRealloc;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateFilenameValue">Variable </a>xmlParserInputBufferCreateFilenameValue</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> xmlParserInputBufferCreateFilenameValue;
+</pre>
+<p>DEPRECATED: Don't use</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterNodeDefaultValue">Variable </a>xmlRegisterNodeDefaultValue</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlRegisterNodeDefaultValue;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserVersion">Variable </a>xmlParserVersion</h3>
+<pre class="programlisting">const char * xmlParserVersion;
+</pre>
+<p>Constant string describing the internal version of the library</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveNoEmptyTags">Variable </a>xmlSaveNoEmptyTags</h3><pre class="programlisting">int xmlSaveNoEmptyTags;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPedanticParserDefaultValue">Variable </a>xmlPedanticParserDefaultValue</h3>
+<pre class="programlisting">int xmlPedanticParserDefaultValue;
+</pre>
+<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a>. Global setting, indicate that the parser be pedantic Disabled by default.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStructuredError">Variable </a>xmlStructuredError</h3><pre class="programlisting"><a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> xmlStructuredError;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRealloc">Variable </a>xmlRealloc</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> xmlRealloc;
+</pre>
+<p>@mem: an already allocated block of memory @size: the new size requested in bytes The variable holding the libxml realloc() implementation Returns a pointer to the newly reallocated block or NULL in case of error</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStructuredErrorContext">Variable </a>xmlStructuredErrorContext</h3><pre class="programlisting">void * xmlStructuredErrorContext;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterNodeDefaultValue">Variable </a>xmlRegisterNodeDefaultValue</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlRegisterNodeDefaultValue;
+</pre>
+<p>DEPRECATED: Don't use</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSubstituteEntitiesDefaultValue">Variable </a>xmlSubstituteEntitiesDefaultValue</h3><pre class="programlisting">int xmlSubstituteEntitiesDefaultValue;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveNoEmptyTags">Variable </a>xmlSaveNoEmptyTags</h3>
+<pre class="programlisting">int xmlSaveNoEmptyTags;
+</pre>
+<p>Global setting, asking the serializer to not output empty tags as &lt;empty/&gt; but &lt;empty&gt;&lt;/empty&gt;. those two forms are indistinguishable once parsed. Disabled by default</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTreeIndentString">Variable </a>xmlTreeIndentString</h3><pre class="programlisting">const char * xmlTreeIndentString;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStructuredError">Variable </a>xmlStructuredError</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> xmlStructuredError;
+</pre>
+<p>Global setting: function used for structured error callbacks</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupGlobals"/>xmlCleanupGlobals ()</h3><pre class="programlisting">void	xmlCleanupGlobals		(void)<br/>
-</pre><p>Additional cleanup for multi-threading</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStructuredErrorContext">Variable </a>xmlStructuredErrorContext</h3>
+<pre class="programlisting">void * xmlStructuredErrorContext;
+</pre>
+<p>Global setting passed to structured error callbacks</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDeregisterNodeDefault"/>xmlDeregisterNodeDefault ()</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlDeregisterNodeDefault	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br/>
-</pre><p>Registers a callback for node destruction</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 DeregisterNodeFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous value of the deregistration function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitGlobals"/>xmlInitGlobals ()</h3><pre class="programlisting">void	xmlInitGlobals			(void)<br/>
-</pre><p>Additional initialisation for multi-threading</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSubstituteEntitiesDefaultValue">Variable </a>xmlSubstituteEntitiesDefaultValue</h3>
+<pre class="programlisting">int xmlSubstituteEntitiesDefaultValue;
+</pre>
+<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_NOENT">XML_PARSE_NOENT</a>. Global setting, indicate that the parser should not generate entity references but replace them with the actual content of the entity Disabled by default, this should be activated when using XPath since the XPath data model requires entities replacement and the XPath engine does not handle entities references transparently.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitializeGlobalState"/>xmlInitializeGlobalState ()</h3><pre class="programlisting">void	xmlInitializeGlobalState	(<a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFilenameDefault"/>xmlOutputBufferCreateFilenameDefault ()</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameDefault	(<a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFilenameDefault"/>xmlParserInputBufferCreateFilenameDefault ()</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameDefault	(<a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterNodeDefault"/>xmlRegisterNodeDefault ()</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlRegisterNodeDefault	(<a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefBufferAllocScheme"/>xmlThrDefBufferAllocScheme ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlThrDefBufferAllocScheme	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefDefaultBufferSize"/>xmlThrDefDefaultBufferSize ()</h3><pre class="programlisting">int	xmlThrDefDefaultBufferSize	(int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefDeregisterNodeDefault"/>xmlThrDefDeregisterNodeDefault ()</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlThrDefDeregisterNodeDefault	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefDoValidityCheckingDefaultValue"/>xmlThrDefDoValidityCheckingDefaultValue ()</h3><pre class="programlisting">int	xmlThrDefDoValidityCheckingDefaultValue	(int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefGetWarningsDefaultValue"/>xmlThrDefGetWarningsDefaultValue ()</h3><pre class="programlisting">int	xmlThrDefGetWarningsDefaultValue	(int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefIndentTreeOutput"/>xmlThrDefIndentTreeOutput ()</h3><pre class="programlisting">int	xmlThrDefIndentTreeOutput	(int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefKeepBlanksDefaultValue"/>xmlThrDefKeepBlanksDefaultValue ()</h3><pre class="programlisting">int	xmlThrDefKeepBlanksDefaultValue	(int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefLineNumbersDefaultValue"/>xmlThrDefLineNumbersDefaultValue ()</h3><pre class="programlisting">int	xmlThrDefLineNumbersDefaultValue	(int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefLoadExtDtdDefaultValue"/>xmlThrDefLoadExtDtdDefaultValue ()</h3><pre class="programlisting">int	xmlThrDefLoadExtDtdDefaultValue	(int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefOutputBufferCreateFilenameDefault"/>xmlThrDefOutputBufferCreateFilenameDefault ()</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlThrDefOutputBufferCreateFilenameDefault	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefParserDebugEntities"/>xmlThrDefParserDebugEntities ()</h3><pre class="programlisting">int	xmlThrDefParserDebugEntities	(int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefParserInputBufferCreateFilenameDefault"/>xmlThrDefParserInputBufferCreateFilenameDefault ()</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlThrDefParserInputBufferCreateFilenameDefault	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefPedanticParserDefaultValue"/>xmlThrDefPedanticParserDefaultValue ()</h3><pre class="programlisting">int	xmlThrDefPedanticParserDefaultValue	(int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefRegisterNodeDefault"/>xmlThrDefRegisterNodeDefault ()</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlThrDefRegisterNodeDefault	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefSaveNoEmptyTags"/>xmlThrDefSaveNoEmptyTags ()</h3><pre class="programlisting">int	xmlThrDefSaveNoEmptyTags	(int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefSetGenericErrorFunc"/>xmlThrDefSetGenericErrorFunc ()</h3><pre class="programlisting">void	xmlThrDefSetGenericErrorFunc	(void * ctx, <br/>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefSetStructuredErrorFunc"/>xmlThrDefSetStructuredErrorFunc ()</h3><pre class="programlisting">void	xmlThrDefSetStructuredErrorFunc	(void * ctx, <br/>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefSubstituteEntitiesDefaultValue"/>xmlThrDefSubstituteEntitiesDefaultValue ()</h3><pre class="programlisting">int	xmlThrDefSubstituteEntitiesDefaultValue	(int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefTreeIndentString"/>xmlThrDefTreeIndentString ()</h3><pre class="programlisting">const char *	xmlThrDefTreeIndentString	(const char * v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTreeIndentString">Variable </a>xmlTreeIndentString</h3>
+<pre class="programlisting">const char * xmlTreeIndentString;
+</pre>
+<p>The string used to do one-level indent. By default is equal to " " (two spaces)</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupGlobals"></a>xmlCleanupGlobals ()</h3>
+<pre class="programlisting">void	xmlCleanupGlobals		(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Additional cleanup for multi-threading</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDeregisterNodeDefault"></a>xmlDeregisterNodeDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlDeregisterNodeDefault	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
+</pre>
+<p>Registers a callback for node destruction</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 DeregisterNodeFunc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous value of the deregistration function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitGlobals"></a>xmlInitGlobals ()</h3>
+<pre class="programlisting">void	xmlInitGlobals			(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Additional initialisation for multi-threading</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitializeGlobalState"></a>xmlInitializeGlobalState ()</h3>
+<pre class="programlisting">void	xmlInitializeGlobalState	(<a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferCreateFilenameDefault"></a>xmlOutputBufferCreateFilenameDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameDefault	(<a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateFilenameDefault"></a>xmlParserInputBufferCreateFilenameDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameDefault	(<a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterNodeDefault"></a>xmlRegisterNodeDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlRegisterNodeDefault	(<a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefBufferAllocScheme"></a>xmlThrDefBufferAllocScheme ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlThrDefBufferAllocScheme	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> 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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefDefaultBufferSize"></a>xmlThrDefDefaultBufferSize ()</h3>
+<pre class="programlisting">int	xmlThrDefDefaultBufferSize	(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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefDeregisterNodeDefault"></a>xmlThrDefDeregisterNodeDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlThrDefDeregisterNodeDefault	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefDoValidityCheckingDefaultValue"></a>xmlThrDefDoValidityCheckingDefaultValue ()</h3>
+<pre class="programlisting">int	xmlThrDefDoValidityCheckingDefaultValue	(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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefGetWarningsDefaultValue"></a>xmlThrDefGetWarningsDefaultValue ()</h3>
+<pre class="programlisting">int	xmlThrDefGetWarningsDefaultValue	(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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefIndentTreeOutput"></a>xmlThrDefIndentTreeOutput ()</h3>
+<pre class="programlisting">int	xmlThrDefIndentTreeOutput	(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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefKeepBlanksDefaultValue"></a>xmlThrDefKeepBlanksDefaultValue ()</h3>
+<pre class="programlisting">int	xmlThrDefKeepBlanksDefaultValue	(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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefLineNumbersDefaultValue"></a>xmlThrDefLineNumbersDefaultValue ()</h3>
+<pre class="programlisting">int	xmlThrDefLineNumbersDefaultValue	(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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefLoadExtDtdDefaultValue"></a>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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefOutputBufferCreateFilenameDefault"></a>xmlThrDefOutputBufferCreateFilenameDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlThrDefOutputBufferCreateFilenameDefault	(<a href="libxml2-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>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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefParserDebugEntities"></a>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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefParserInputBufferCreateFilenameDefault"></a>xmlThrDefParserInputBufferCreateFilenameDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlThrDefParserInputBufferCreateFilenameDefault	(<a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefPedanticParserDefaultValue"></a>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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefRegisterNodeDefault"></a>xmlThrDefRegisterNodeDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlThrDefRegisterNodeDefault	(<a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefSaveNoEmptyTags"></a>xmlThrDefSaveNoEmptyTags ()</h3>
+<pre class="programlisting">int	xmlThrDefSaveNoEmptyTags	(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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefSetGenericErrorFunc"></a>xmlThrDefSetGenericErrorFunc ()</h3>
+<pre class="programlisting">void	xmlThrDefSetGenericErrorFunc	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefSetStructuredErrorFunc"></a>xmlThrDefSetStructuredErrorFunc ()</h3>
+<pre class="programlisting">void	xmlThrDefSetStructuredErrorFunc	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefSubstituteEntitiesDefaultValue"></a>xmlThrDefSubstituteEntitiesDefaultValue ()</h3>
+<pre class="programlisting">int	xmlThrDefSubstituteEntitiesDefaultValue	(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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefTreeIndentString"></a>xmlThrDefTreeIndentString ()</h3>
+<pre class="programlisting">const char *	xmlThrDefTreeIndentString	(const char * 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>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-hash.html b/doc/devhelp/libxml2-hash.html
index 9f997fb..2618680 100644
--- a/doc/devhelp/libxml2-hash.html
+++ b/doc/devhelp/libxml2-hash.html
@@ -1,219 +1,968 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>hash: Chained hash tables</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-globals.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-list.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">hash</span>
-    </h2>
-    <p>hash - Chained hash tables</p>
-    <p>This module implements the hash table support used in various places in the library. </p>
-    <p>Author(s): Bjorn Reese &lt;bjorn.reese@systematic.dk&gt; </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>hash: Chained hash tables</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-globals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">hash</span></h2>
+<p>hash - Chained hash tables</p>
+<p>This module implements the hash table support used in various places in the library. </p>
+<p>Author(s): Bjorn Reese &lt;bjorn.reese@systematic.dk&gt; </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
 typedef struct _xmlHashTable <a href="#xmlHashTable">xmlHashTable</a>;
 typedef <a href="libxml2-hash.html#xmlHashTable">xmlHashTable</a> * <a href="#xmlHashTablePtr">xmlHashTablePtr</a>;
-void	<a href="#xmlHashScanFull">xmlHashScanFull</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br/>					 void * data);
-void	<a href="#xmlHashScan">xmlHashScan</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br/>					 void * data);
-typedef void <a href="#xmlHashScannerFull">xmlHashScannerFull</a>		(void * payload, <br/>					 void * data, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
-<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreateDict">xmlHashCreateDict</a>	(int size, <br/>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
-int	<a href="#xmlHashAddEntry">xmlHashAddEntry</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 void * userdata);
-int	<a href="#xmlHashUpdateEntry">xmlHashUpdateEntry</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 void * userdata, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-void *	<a href="#xmlHashQLookup3">xmlHashQLookup3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
-void *	<a href="#xmlHashQLookup2">xmlHashQLookup2</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
-void	<a href="#xmlHashScan3">xmlHashScan3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br/>					 void * data);
-typedef void <a href="#xmlHashScanner">xmlHashScanner</a>			(void * payload, <br/>					 void * data, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-typedef void <a href="#xmlHashDeallocator">xmlHashDeallocator</a>		(void * payload, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlHashAddEntry">xmlHashAddEntry</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata);
+int	<a href="#xmlHashAddEntry2">xmlHashAddEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata);
+int	<a href="#xmlHashAddEntry3">xmlHashAddEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata);
+typedef void * <a href="#xmlHashCopier">xmlHashCopier</a>			(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCopy">xmlHashCopy</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f);
 <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreate">xmlHashCreate</a>		(int size);
-void	<a href="#xmlHashFree">xmlHashFree</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-void *	<a href="#xmlHashLookup">xmlHashLookup</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void *	<a href="#xmlHashQLookup">xmlHashQLookup</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 void * userdata, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-int	<a href="#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-int	<a href="#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCopy">xmlHashCopy</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f);
-void	<a href="#xmlHashScanFull3">xmlHashScanFull3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br/>					 void * data);
-int	<a href="#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 void * userdata, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-void	<a href="#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a>	(void * entry, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void *	<a href="#xmlHashLookup3">xmlHashLookup3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
-void *	<a href="#xmlHashLookup2">xmlHashLookup2</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
-int	<a href="#xmlHashRemoveEntry">xmlHashRemoveEntry</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-typedef void * <a href="#xmlHashCopier">xmlHashCopier</a>			(void * payload, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlHashAddEntry2">xmlHashAddEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 void * userdata);
-int	<a href="#xmlHashAddEntry3">xmlHashAddEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 void * userdata);
+<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreateDict">xmlHashCreateDict</a>	(int size, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
+typedef void <a href="#xmlHashDeallocator">xmlHashDeallocator</a>		(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void	<a href="#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a>	(void * entry, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void	<a href="#xmlHashFree">xmlHashFree</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+void *	<a href="#xmlHashLookup">xmlHashLookup</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void *	<a href="#xmlHashLookup2">xmlHashLookup2</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
+void *	<a href="#xmlHashLookup3">xmlHashLookup3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
+void *	<a href="#xmlHashQLookup">xmlHashQLookup</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void *	<a href="#xmlHashQLookup2">xmlHashQLookup2</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
+void *	<a href="#xmlHashQLookup3">xmlHashQLookup3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
+int	<a href="#xmlHashRemoveEntry">xmlHashRemoveEntry</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int	<a href="#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int	<a href="#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+void	<a href="#xmlHashScan">xmlHashScan</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data);
+void	<a href="#xmlHashScan3">xmlHashScan3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data);
+void	<a href="#xmlHashScanFull">xmlHashScanFull</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data);
+void	<a href="#xmlHashScanFull3">xmlHashScanFull3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data);
+typedef void <a href="#xmlHashScanner">xmlHashScanner</a>			(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef void <a href="#xmlHashScannerFull">xmlHashScannerFull</a>		(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
 int	<a href="#xmlHashSize">xmlHashSize</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table);
+int	<a href="#xmlHashUpdateEntry">xmlHashUpdateEntry</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int	<a href="#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int	<a href="#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="XML_CAST_FPTR">Macro </a>XML_CAST_FPTR</h3><pre class="programlisting">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
-</pre><p>Macro to do a casting from an object pointer to a function pointer without encountering a warning from gcc #define XML_CAST_FPTR(fptr) (*(void **)(&amp;fptr)) This macro violated ISO C aliasing rules (gcc4 on s390 broke) so it is disabled now</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>fptr</tt></i>:</span></td><td>pointer to a function</td></tr></tbody></table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashTable">Structure </a>xmlHashTable</h3><pre class="programlisting">struct _xmlHashTable {
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_CAST_FPTR">Macro </a>XML_CAST_FPTR</h3>
+<pre class="programlisting">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
+</pre>
+<p>Macro to do a casting from an object pointer to a function pointer without encountering a warning from gcc #define XML_CAST_FPTR(fptr) (*(void **)(&amp;fptr)) This macro violated ISO C aliasing rules (gcc4 on s390 broke) so it is disabled now</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>fptr</tt></i>:</span></td>
+<td>pointer to a function</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashTable">Structure </a>xmlHashTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlHashTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashTablePtr">Typedef </a>xmlHashTablePtr</h3><pre class="programlisting"><a href="libxml2-hash.html#xmlHashTable">xmlHashTable</a> * xmlHashTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashTablePtr">Typedef </a>xmlHashTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTable">xmlHashTable</a> * xmlHashTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashCopier"/>Function type xmlHashCopier</h3><pre class="programlisting">void *	xmlHashCopier			(void * payload, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Callback to copy data from a hash.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the data or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashDeallocator"/>Function type xmlHashDeallocator</h3><pre class="programlisting">void	xmlHashDeallocator		(void * payload, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Callback to free data from a hash.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScanner"/>Function type xmlHashScanner</h3><pre class="programlisting">void	xmlHashScanner			(void * payload, <br/>					 void * data, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Callback when scanning data in a hash with the simple scanner.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scanner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScannerFull"/>Function type xmlHashScannerFull</h3><pre class="programlisting">void	xmlHashScannerFull		(void * payload, <br/>					 void * data, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br/>
-</pre><p>Callback when scanning data in a hash with the full scanner.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scanner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>the second name associated</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>the third name associated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashAddEntry"/>xmlHashAddEntry ()</h3><pre class="programlisting">int	xmlHashAddEntry			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 void * userdata)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashAddEntry2"/>xmlHashAddEntry2 ()</h3><pre class="programlisting">int	xmlHashAddEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 void * userdata)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Duplicate tuples generate errors.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashAddEntry3"/>xmlHashAddEntry3 ()</h3><pre class="programlisting">int	xmlHashAddEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 void * userdata)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashCopy"/>xmlHashCopy ()</h3><pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCopy		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f)<br/>
-</pre><p>Scan the hash @table and applied @f to each value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the copier function for items in the hash</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new table or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashCreate"/>xmlHashCreate ()</h3><pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreate		(int size)<br/>
-</pre><p>Create a new xmlHashTablePtr.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occurred.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashCreateDict"/>xmlHashCreateDict ()</h3><pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreateDict	(int size, <br/>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br/>
-</pre><p>Create a new <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> which will use @dict as the internal dictionary</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>a dictionary to use for the hash</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occurred.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashDefaultDeallocator"/>xmlHashDefaultDeallocator ()</h3><pre class="programlisting">void	xmlHashDefaultDeallocator	(void * entry, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Free a hash table entry with xmlFree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>entry</tt></i>:</span></td><td>the hash table entry</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entry's name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashFree"/>xmlHashFree ()</h3><pre class="programlisting">void	xmlHashFree			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for items in the hash</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashLookup"/>xmlHashLookup ()</h3><pre class="programlisting">void *	xmlHashLookup			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Find the userdata specified by the @name.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashLookup2"/>xmlHashLookup2 ()</h3><pre class="programlisting">void *	xmlHashLookup2			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br/>
-</pre><p>Find the userdata specified by the (@name, @name2) tuple.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashLookup3"/>xmlHashLookup3 ()</h3><pre class="programlisting">void *	xmlHashLookup3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br/>
-</pre><p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the a pointer to the userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashQLookup"/>xmlHashQLookup ()</h3><pre class="programlisting">void *	xmlHashQLookup			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Find the userdata specified by the QName @prefix:@name/@name.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashQLookup2"/>xmlHashQLookup2 ()</h3><pre class="programlisting">void *	xmlHashQLookup2			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br/>
-</pre><p>Find the userdata specified by the QNames tuple</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>prefix2</tt></i>:</span></td><td>the second prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashQLookup3"/>xmlHashQLookup3 ()</h3><pre class="programlisting">void *	xmlHashQLookup3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br/>
-</pre><p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>prefix2</tt></i>:</span></td><td>the second prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>prefix3</tt></i>:</span></td><td>the third prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the a pointer to the userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashRemoveEntry"/>xmlHashRemoveEntry ()</h3><pre class="programlisting">int	xmlHashRemoveEntry		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for removed item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the removal succeeded and -1 in case of error or not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashRemoveEntry2"/>xmlHashRemoveEntry2 ()</h3><pre class="programlisting">int	xmlHashRemoveEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for removed item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the removal succeeded and -1 in case of error or not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashRemoveEntry3"/>xmlHashRemoveEntry3 ()</h3><pre class="programlisting">int	xmlHashRemoveEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for removed item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the removal succeeded and -1 in case of error or not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScan"/>xmlHashScan ()</h3><pre class="programlisting">void	xmlHashScan			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br/>					 void * data)<br/>
-</pre><p>Scan the hash @table and applied @f to each value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to f</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScan3"/>xmlHashScan3 ()</h3><pre class="programlisting">void	xmlHashScan3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br/>					 void * data)<br/>
-</pre><p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to f</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScanFull"/>xmlHashScanFull ()</h3><pre class="programlisting">void	xmlHashScanFull			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br/>					 void * data)<br/>
-</pre><p>Scan the hash @table and applied @f to each value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to f</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScanFull3"/>xmlHashScanFull3 ()</h3><pre class="programlisting">void	xmlHashScanFull3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br/>					 void * data)<br/>
-</pre><p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to f</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashSize"/>xmlHashSize ()</h3><pre class="programlisting">int	xmlHashSize			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table)<br/>
-</pre><p>Query the number of elements installed in the hash @table.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the hash table or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashUpdateEntry"/>xmlHashUpdateEntry ()</h3><pre class="programlisting">int	xmlHashUpdateEntry		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 void * userdata, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for this @name will be removed and freed with @f if found.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for replaced item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashUpdateEntry2"/>xmlHashUpdateEntry2 ()</h3><pre class="programlisting">int	xmlHashUpdateEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 void * userdata, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Existing entry for this tuple will be removed and freed with @f if found.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for replaced item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashUpdateEntry3"/>xmlHashUpdateEntry3 ()</h3><pre class="programlisting">int	xmlHashUpdateEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 void * userdata, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Existing entry for this tuple will be removed and freed with @f if found.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for replaced item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashCopier"></a>Function type xmlHashCopier</h3>
+<pre class="programlisting">void *	xmlHashCopier			(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Callback to copy data from a hash.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>the data in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name associated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a copy of the data or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashDeallocator"></a>Function type xmlHashDeallocator</h3>
+<pre class="programlisting">void	xmlHashDeallocator		(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Callback to free data from a hash.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>the data in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name associated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScanner"></a>Function type xmlHashScanner</h3>
+<pre class="programlisting">void	xmlHashScanner			(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Callback when scanning data in a hash with the simple scanner.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>the data in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra scanner data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name associated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScannerFull"></a>Function type xmlHashScannerFull</h3>
+<pre class="programlisting">void	xmlHashScannerFull		(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
+</pre>
+<p>Callback when scanning data in a hash with the full scanner.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>the data in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra scanner data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name associated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>the second name associated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>the third name associated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashAddEntry"></a>xmlHashAddEntry ()</h3>
+<pre class="programlisting">int	xmlHashAddEntry			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashAddEntry2"></a>xmlHashAddEntry2 ()</h3>
+<pre class="programlisting">int	xmlHashAddEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Duplicate tuples generate errors.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashAddEntry3"></a>xmlHashAddEntry3 ()</h3>
+<pre class="programlisting">int	xmlHashAddEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashCopy"></a>xmlHashCopy ()</h3>
+<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCopy		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f)<br>
+</pre>
+<p>Scan the hash @table and applied @f to each value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the copier function for items in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new table or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashCreate"></a>xmlHashCreate ()</h3>
+<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreate		(int size)<br>
+</pre>
+<p>Create a new <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object, or NULL if an error occurred.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashCreateDict"></a>xmlHashCreateDict ()</h3>
+<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreateDict	(int size, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
+</pre>
+<p>Create a new <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> which will use @dict as the internal dictionary</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>a dictionary to use for the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object, or NULL if an error occurred.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashDefaultDeallocator"></a>xmlHashDefaultDeallocator ()</h3>
+<pre class="programlisting">void	xmlHashDefaultDeallocator	(void * entry, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Free a hash table entry with <a href="libxml2-globals.html#xmlFree">xmlFree</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>entry</tt></i>:</span></td>
+<td>the hash table entry</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entry's name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashFree"></a>xmlHashFree ()</h3>
+<pre class="programlisting">void	xmlHashFree			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for items in the hash</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashLookup"></a>xmlHashLookup ()</h3>
+<pre class="programlisting">void *	xmlHashLookup			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Find the userdata specified by the @name.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashLookup2"></a>xmlHashLookup2 ()</h3>
+<pre class="programlisting">void *	xmlHashLookup2			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br>
+</pre>
+<p>Find the userdata specified by the (@name, @name2) tuple.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashLookup3"></a>xmlHashLookup3 ()</h3>
+<pre class="programlisting">void *	xmlHashLookup3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
+</pre>
+<p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the a pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashQLookup"></a>xmlHashQLookup ()</h3>
+<pre class="programlisting">void *	xmlHashQLookup			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Find the userdata specified by the QName @prefix:@name/@name.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashQLookup2"></a>xmlHashQLookup2 ()</h3>
+<pre class="programlisting">void *	xmlHashQLookup2			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br>
+</pre>
+<p>Find the userdata specified by the QNames tuple</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix2</tt></i>:</span></td>
+<td>the second prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashQLookup3"></a>xmlHashQLookup3 ()</h3>
+<pre class="programlisting">void *	xmlHashQLookup3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
+</pre>
+<p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix2</tt></i>:</span></td>
+<td>the second prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix3</tt></i>:</span></td>
+<td>the third prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the a pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashRemoveEntry"></a>xmlHashRemoveEntry ()</h3>
+<pre class="programlisting">int	xmlHashRemoveEntry		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for removed item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the removal succeeded and -1 in case of error or not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashRemoveEntry2"></a>xmlHashRemoveEntry2 ()</h3>
+<pre class="programlisting">int	xmlHashRemoveEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for removed item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the removal succeeded and -1 in case of error or not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashRemoveEntry3"></a>xmlHashRemoveEntry3 ()</h3>
+<pre class="programlisting">int	xmlHashRemoveEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for removed item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the removal succeeded and -1 in case of error or not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScan"></a>xmlHashScan ()</h3>
+<pre class="programlisting">void	xmlHashScan			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data)<br>
+</pre>
+<p>Scan the hash @table and applied @f to each value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the scanner function for items in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra data passed to f</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScan3"></a>xmlHashScan3 ()</h3>
+<pre class="programlisting">void	xmlHashScan3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data)<br>
+</pre>
+<p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the scanner function for items in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra data passed to f</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScanFull"></a>xmlHashScanFull ()</h3>
+<pre class="programlisting">void	xmlHashScanFull			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data)<br>
+</pre>
+<p>Scan the hash @table and applied @f to each value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the scanner function for items in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra data passed to f</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScanFull3"></a>xmlHashScanFull3 ()</h3>
+<pre class="programlisting">void	xmlHashScanFull3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data)<br>
+</pre>
+<p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the scanner function for items in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra data passed to f</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashSize"></a>xmlHashSize ()</h3>
+<pre class="programlisting">int	xmlHashSize			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table)<br>
+</pre>
+<p>Query the number of elements installed in the hash @table.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of elements in the hash table or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashUpdateEntry"></a>xmlHashUpdateEntry ()</h3>
+<pre class="programlisting">int	xmlHashUpdateEntry		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for this @name will be removed and freed with @f if found.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for replaced item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashUpdateEntry2"></a>xmlHashUpdateEntry2 ()</h3>
+<pre class="programlisting">int	xmlHashUpdateEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Existing entry for this tuple will be removed and freed with @f if found.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for replaced item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashUpdateEntry3"></a>xmlHashUpdateEntry3 ()</h3>
+<pre class="programlisting">int	xmlHashUpdateEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Existing entry for this tuple will be removed and freed with @f if found.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for replaced item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-list.html b/doc/devhelp/libxml2-list.html
index 0ae2f11..649f97a 100644
--- a/doc/devhelp/libxml2-list.html
+++ b/doc/devhelp/libxml2-list.html
@@ -1,226 +1,730 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>list: lists interfaces</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-hash.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-nanoftp.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">list</span>
-    </h2>
-    <p>list - lists interfaces</p>
-    <p>this module implement the list support used in various place in the library. </p>
-    <p>Author(s): Gary Pennington &lt;Gary.Pennington@uk.sun.com&gt; </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlLink <a href="#xmlLink">xmlLink</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>list: lists interfaces</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">list</span></h2>
+<p>list - lists interfaces</p>
+<p>this module implement the list support used in various place in the library. </p>
+<p>Author(s): Gary Pennington &lt;Gary.Pennington@uk.sun.com&gt; </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlLink <a href="#xmlLink">xmlLink</a>;
 typedef <a href="libxml2-list.html#xmlLink">xmlLink</a> * <a href="#xmlLinkPtr">xmlLinkPtr</a>;
 typedef struct _xmlList <a href="#xmlList">xmlList</a>;
 typedef <a href="libxml2-list.html#xmlList">xmlList</a> * <a href="#xmlListPtr">xmlListPtr</a>;
-int	<a href="#xmlListInsert">xmlListInsert</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-int	<a href="#xmlListEmpty">xmlListEmpty</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-void	<a href="#xmlListSort">xmlListSort</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-typedef void <a href="#xmlListDeallocator">xmlListDeallocator</a>		(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
-void	<a href="#xmlListMerge">xmlListMerge</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br/>					 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2);
-<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListCreate">xmlListCreate</a>		(<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br/>					 <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare);
-<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListDup">xmlListDup</a>		(const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
-int	<a href="#xmlListRemoveLast">xmlListRemoveLast</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-void	<a href="#xmlListWalk">xmlListWalk</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 void * user);
-int	<a href="#xmlListRemoveAll">xmlListRemoveAll</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-int	<a href="#xmlListCopy">xmlListCopy</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br/>					 const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
-void	<a href="#xmlListPopFront">xmlListPopFront</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-void *	<a href="#xmlListSearch">xmlListSearch</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-typedef int <a href="#xmlListWalker">xmlListWalker</a>			(const void * data, <br/>					 void * user);
-int	<a href="#xmlListRemoveFirst">xmlListRemoveFirst</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-void	<a href="#xmlListReverseWalk">xmlListReverseWalk</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 void * user);
 void *	<a href="#xmlLinkGetData">xmlLinkGetData</a>			(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
+int	<a href="#xmlListAppend">xmlListAppend</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
 void	<a href="#xmlListClear">xmlListClear</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-int	<a href="#xmlListAppend">xmlListAppend</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-void	<a href="#xmlListReverse">xmlListReverse</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-typedef int <a href="#xmlListDataCompare">xmlListDataCompare</a>		(const void * data0, <br/>					 const void * data1);
-int	<a href="#xmlListSize">xmlListSize</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-int	<a href="#xmlListPushFront">xmlListPushFront</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListEnd">xmlListEnd</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-void	<a href="#xmlListPopBack">xmlListPopBack</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-void *	<a href="#xmlListReverseSearch">xmlListReverseSearch</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-int	<a href="#xmlListPushBack">xmlListPushBack</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListFront">xmlListFront</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
+int	<a href="#xmlListCopy">xmlListCopy</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br>					 const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
+<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListCreate">xmlListCreate</a>		(<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br>					 <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare);
+typedef int <a href="#xmlListDataCompare">xmlListDataCompare</a>		(const void * data0, <br>					 const void * data1);
+typedef void <a href="#xmlListDeallocator">xmlListDeallocator</a>		(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
 void	<a href="#xmlListDelete">xmlListDelete</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
+<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListDup">xmlListDup</a>		(const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
+int	<a href="#xmlListEmpty">xmlListEmpty</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
+<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListEnd">xmlListEnd</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
+<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListFront">xmlListFront</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
+int	<a href="#xmlListInsert">xmlListInsert</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
+void	<a href="#xmlListMerge">xmlListMerge</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br>					 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2);
+void	<a href="#xmlListPopBack">xmlListPopBack</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
+void	<a href="#xmlListPopFront">xmlListPopFront</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
+int	<a href="#xmlListPushBack">xmlListPushBack</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
+int	<a href="#xmlListPushFront">xmlListPushFront</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
+int	<a href="#xmlListRemoveAll">xmlListRemoveAll</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
+int	<a href="#xmlListRemoveFirst">xmlListRemoveFirst</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
+int	<a href="#xmlListRemoveLast">xmlListRemoveLast</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
+void	<a href="#xmlListReverse">xmlListReverse</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
+void *	<a href="#xmlListReverseSearch">xmlListReverseSearch</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
+void	<a href="#xmlListReverseWalk">xmlListReverseWalk</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user);
+void *	<a href="#xmlListSearch">xmlListSearch</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
+int	<a href="#xmlListSize">xmlListSize</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
+void	<a href="#xmlListSort">xmlListSort</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
+void	<a href="#xmlListWalk">xmlListWalk</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user);
+typedef int <a href="#xmlListWalker">xmlListWalker</a>			(const void * data, <br>					 void * user);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlLink">Structure </a>xmlLink</h3><pre class="programlisting">struct _xmlLink {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLink">Structure </a>xmlLink</h3>
+<pre class="programlisting">struct _xmlLink {
 The content of this structure is not made public by the API.
 } xmlLink;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLinkPtr">Typedef </a>xmlLinkPtr</h3><pre class="programlisting"><a href="libxml2-list.html#xmlLink">xmlLink</a> * xmlLinkPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLinkPtr">Typedef </a>xmlLinkPtr</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlLink">xmlLink</a> * xmlLinkPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlList">Structure </a>xmlList</h3><pre class="programlisting">struct _xmlList {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlList">Structure </a>xmlList</h3>
+<pre class="programlisting">struct _xmlList {
 The content of this structure is not made public by the API.
 } xmlList;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListPtr">Typedef </a>xmlListPtr</h3><pre class="programlisting"><a href="libxml2-list.html#xmlList">xmlList</a> * xmlListPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListPtr">Typedef </a>xmlListPtr</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlList">xmlList</a> * xmlListPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListDataCompare"/>Function type xmlListDataCompare</h3><pre class="programlisting">int	xmlListDataCompare		(const void * data0, <br/>					 const void * data1)<br/>
-</pre><p>Callback function used to compare 2 data.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>data0</tt></i>:</span></td><td>the first data</td></tr><tr><td><span class="term"><i><tt>data1</tt></i>:</span></td><td>the second data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 is equality, -1 or 1 otherwise depending on the ordering.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListDeallocator"/>Function type xmlListDeallocator</h3><pre class="programlisting">void	xmlListDeallocator		(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br/>
-</pre><p>Callback function used to free data from a list.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>lk</tt></i>:</span></td><td>the data to deallocate</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListWalker"/>Function type xmlListWalker</h3><pre class="programlisting">int	xmlListWalker			(const void * data, <br/>					 void * user)<br/>
-</pre><p>Callback function used when walking a list with xmlListWalk().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data found in the list</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>extra user provided data to the walker</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 to stop walking the list, 1 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLinkGetData"/>xmlLinkGetData ()</h3><pre class="programlisting">void *	xmlLinkGetData			(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br/>
-</pre><p>See Returns.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>lk</tt></i>:</span></td><td>a link</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the data referenced from this link</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListAppend"/>xmlListAppend ()</h3><pre class="programlisting">int	xmlListAppend			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data)<br/>
-</pre><p>Insert data in the ordered list at the end for this value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, 1 in case of failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListClear"/>xmlListClear ()</h3><pre class="programlisting">void	xmlListClear			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Remove the all data in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListCopy"/>xmlListCopy ()</h3><pre class="programlisting">int	xmlListCopy			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br/>					 const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br/>
-</pre><p>Move all the element from the old list in the new list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the new list</td></tr><tr><td><span class="term"><i><tt>old</tt></i>:</span></td><td>the old list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success 1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListCreate"/>xmlListCreate ()</h3><pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlListCreate		(<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br/>					 <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare)<br/>
-</pre><p>Create a new list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>deallocator</tt></i>:</span></td><td>an optional deallocator function</td></tr><tr><td><span class="term"><i><tt>compare</tt></i>:</span></td><td>an optional comparison function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new list or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListDelete"/>xmlListDelete ()</h3><pre class="programlisting">void	xmlListDelete			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Deletes the list and its associated data</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListDup"/>xmlListDup ()</h3><pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlListDup		(const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br/>
-</pre><p>Duplicate the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>old</tt></i>:</span></td><td>the list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new copy of the list or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListEmpty"/>xmlListEmpty ()</h3><pre class="programlisting">int	xmlListEmpty			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Is the list empty ?</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the list is empty, 0 if not empty and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListEnd"/>xmlListEnd ()</h3><pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListEnd		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Get the last element in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last element in the list, or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListFront"/>xmlListFront ()</h3><pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListFront		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Get the first element in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the first element in the list, or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListInsert"/>xmlListInsert ()</h3><pre class="programlisting">int	xmlListInsert			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data)<br/>
-</pre><p>Insert data in the ordered list at the beginning for this value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, 1 in case of failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListMerge"/>xmlListMerge ()</h3><pre class="programlisting">void	xmlListMerge			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br/>					 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2)<br/>
-</pre><p>include all the elements of the second list in the first one and clear the second list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l1</tt></i>:</span></td><td>the original list</td></tr><tr><td><span class="term"><i><tt>l2</tt></i>:</span></td><td>the new list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListPopBack"/>xmlListPopBack ()</h3><pre class="programlisting">void	xmlListPopBack			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Removes the last element in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListPopFront"/>xmlListPopFront ()</h3><pre class="programlisting">void	xmlListPopFront			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Removes the first element in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListPushBack"/>xmlListPushBack ()</h3><pre class="programlisting">int	xmlListPushBack			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data)<br/>
-</pre><p>add the new data at the end of the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>new data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if successful, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListPushFront"/>xmlListPushFront ()</h3><pre class="programlisting">int	xmlListPushFront		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data)<br/>
-</pre><p>add the new data at the beginning of the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>new data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if successful, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListRemoveAll"/>xmlListRemoveAll ()</h3><pre class="programlisting">int	xmlListRemoveAll		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data)<br/>
-</pre><p>Remove the all instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of deallocation, or 0 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListRemoveFirst"/>xmlListRemoveFirst ()</h3><pre class="programlisting">int	xmlListRemoveFirst		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data)<br/>
-</pre><p>Remove the first instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occurred, or 0 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListRemoveLast"/>xmlListRemoveLast ()</h3><pre class="programlisting">int	xmlListRemoveLast		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data)<br/>
-</pre><p>Remove the last instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occurred, or 0 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListReverse"/>xmlListReverse ()</h3><pre class="programlisting">void	xmlListReverse			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Reverse the order of the elements in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListReverseSearch"/>xmlListReverseSearch ()</h3><pre class="programlisting">void *	xmlListReverseSearch		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data)<br/>
-</pre><p>Search the list in reverse order for an existing value of @data</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListReverseWalk"/>xmlListReverseWalk ()</h3><pre class="programlisting">void	xmlListReverseWalk		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 void * user)<br/>
-</pre><p>Walk all the element of the list in reverse order and apply the walker function to it</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListSearch"/>xmlListSearch ()</h3><pre class="programlisting">void *	xmlListSearch			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data)<br/>
-</pre><p>Search the list for an existing value of @data</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListSize"/>xmlListSize ()</h3><pre class="programlisting">int	xmlListSize			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Get the number of elements in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the list or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListSort"/>xmlListSort ()</h3><pre class="programlisting">void	xmlListSort			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Sort all the elements in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListWalk"/>xmlListWalk ()</h3><pre class="programlisting">void	xmlListWalk			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 void * user)<br/>
-</pre><p>Walk all the element of the first from first to last and apply the walker function to it</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker function</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListDataCompare"></a>Function type xmlListDataCompare</h3>
+<pre class="programlisting">int	xmlListDataCompare		(const void * data0, <br>					 const void * data1)<br>
+</pre>
+<p>Callback function used to compare 2 data.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>data0</tt></i>:</span></td>
+<td>the first data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data1</tt></i>:</span></td>
+<td>the second data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 is equality, -1 or 1 otherwise depending on the ordering.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListDeallocator"></a>Function type xmlListDeallocator</h3>
+<pre class="programlisting">void	xmlListDeallocator		(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br>
+</pre>
+<p>Callback function used to free data from a list.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>lk</tt></i>:</span></td>
+<td>the data to deallocate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListWalker"></a>Function type xmlListWalker</h3>
+<pre class="programlisting">int	xmlListWalker			(const void * data, <br>					 void * user)<br>
+</pre>
+<p>Callback function used when walking a list with xmlListWalk().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the data found in the list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user</tt></i>:</span></td>
+<td>extra user provided data to the walker</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 to stop walking the list, 1 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLinkGetData"></a>xmlLinkGetData ()</h3>
+<pre class="programlisting">void *	xmlLinkGetData			(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br>
+</pre>
+<p>See Returns.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>lk</tt></i>:</span></td>
+<td>a link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the data referenced from this link</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListAppend"></a>xmlListAppend ()</h3>
+<pre class="programlisting">int	xmlListAppend			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
+</pre>
+<p>Insert data in the ordered list at the end for this value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, 1 in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListClear"></a>xmlListClear ()</h3>
+<pre class="programlisting">void	xmlListClear			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Remove the all data in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListCopy"></a>xmlListCopy ()</h3>
+<pre class="programlisting">int	xmlListCopy			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br>					 const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br>
+</pre>
+<p>Move all the element from the old list in the new list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the new list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>old</tt></i>:</span></td>
+<td>the old list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success 1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListCreate"></a>xmlListCreate ()</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlListCreate		(<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br>					 <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare)<br>
+</pre>
+<p>Create a new list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>deallocator</tt></i>:</span></td>
+<td>an optional deallocator function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compare</tt></i>:</span></td>
+<td>an optional comparison function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new list or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListDelete"></a>xmlListDelete ()</h3>
+<pre class="programlisting">void	xmlListDelete			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Deletes the list and its associated data</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListDup"></a>xmlListDup ()</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlListDup		(const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br>
+</pre>
+<p>Duplicate the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>old</tt></i>:</span></td>
+<td>the list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new copy of the list or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListEmpty"></a>xmlListEmpty ()</h3>
+<pre class="programlisting">int	xmlListEmpty			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Is the list empty ?</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the list is empty, 0 if not empty and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListEnd"></a>xmlListEnd ()</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListEnd		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Get the last element in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last element in the list, or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListFront"></a>xmlListFront ()</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListFront		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Get the first element in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the first element in the list, or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListInsert"></a>xmlListInsert ()</h3>
+<pre class="programlisting">int	xmlListInsert			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
+</pre>
+<p>Insert data in the ordered list at the beginning for this value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, 1 in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListMerge"></a>xmlListMerge ()</h3>
+<pre class="programlisting">void	xmlListMerge			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br>					 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2)<br>
+</pre>
+<p>include all the elements of the second list in the first one and clear the second list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l1</tt></i>:</span></td>
+<td>the original list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>l2</tt></i>:</span></td>
+<td>the new list</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListPopBack"></a>xmlListPopBack ()</h3>
+<pre class="programlisting">void	xmlListPopBack			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Removes the last element in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListPopFront"></a>xmlListPopFront ()</h3>
+<pre class="programlisting">void	xmlListPopFront			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Removes the first element in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListPushBack"></a>xmlListPushBack ()</h3>
+<pre class="programlisting">int	xmlListPushBack			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
+</pre>
+<p>add the new data at the end of the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>new data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if successful, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListPushFront"></a>xmlListPushFront ()</h3>
+<pre class="programlisting">int	xmlListPushFront		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
+</pre>
+<p>add the new data at the beginning of the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>new data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if successful, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListRemoveAll"></a>xmlListRemoveAll ()</h3>
+<pre class="programlisting">int	xmlListRemoveAll		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
+</pre>
+<p>Remove the all instance associated to data in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>list data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of deallocation, or 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListRemoveFirst"></a>xmlListRemoveFirst ()</h3>
+<pre class="programlisting">int	xmlListRemoveFirst		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
+</pre>
+<p>Remove the first instance associated to data in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>list data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if a deallocation occurred, or 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListRemoveLast"></a>xmlListRemoveLast ()</h3>
+<pre class="programlisting">int	xmlListRemoveLast		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
+</pre>
+<p>Remove the last instance associated to data in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>list data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if a deallocation occurred, or 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListReverse"></a>xmlListReverse ()</h3>
+<pre class="programlisting">void	xmlListReverse			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Reverse the order of the elements in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListReverseSearch"></a>xmlListReverseSearch ()</h3>
+<pre class="programlisting">void *	xmlListReverseSearch		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
+</pre>
+<p>Search the list in reverse order for an existing value of @data</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>a search value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value associated to @data or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListReverseWalk"></a>xmlListReverseWalk ()</h3>
+<pre class="programlisting">void	xmlListReverseWalk		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user)<br>
+</pre>
+<p>Walk all the element of the list in reverse order and apply the walker function to it</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>walker</tt></i>:</span></td>
+<td>a processing function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user</tt></i>:</span></td>
+<td>a user parameter passed to the walker function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListSearch"></a>xmlListSearch ()</h3>
+<pre class="programlisting">void *	xmlListSearch			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
+</pre>
+<p>Search the list for an existing value of @data</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>a search value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value associated to @data or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListSize"></a>xmlListSize ()</h3>
+<pre class="programlisting">int	xmlListSize			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Get the number of elements in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of elements in the list or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListSort"></a>xmlListSort ()</h3>
+<pre class="programlisting">void	xmlListSort			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Sort all the elements in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListWalk"></a>xmlListWalk ()</h3>
+<pre class="programlisting">void	xmlListWalk			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user)<br>
+</pre>
+<p>Walk all the element of the first from first to last and apply the walker function to it</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>walker</tt></i>:</span></td>
+<td>a processing function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user</tt></i>:</span></td>
+<td>a user parameter passed to the walker function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-nanoftp.html b/doc/devhelp/libxml2-nanoftp.html
index 4713253..8b62576 100644
--- a/doc/devhelp/libxml2-nanoftp.html
+++ b/doc/devhelp/libxml2-nanoftp.html
@@ -1,187 +1,651 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>nanoftp: minimal FTP implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-list.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-nanohttp.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">nanoftp</span>
-    </h2>
-    <p>nanoftp - minimal FTP implementation</p>
-    <p>minimal FTP implementation allowing to fetch resources like external subset. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>nanoftp: minimal FTP implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-nanohttp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">nanoftp</span></h2>
+<p>nanoftp - minimal FTP implementation</p>
+<p>minimal FTP implementation allowing to fetch resources like external subset. This module is DEPRECATED, do not use any of its functions. </p>
+<p> WARNING: this module is deprecated !</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
 #define <a href="#SOCKET">SOCKET</a>;
-int	<a href="#xmlNanoFTPQuit">xmlNanoFTPQuit</a>			(void * ctx);
-int	<a href="#xmlNanoFTPClose">xmlNanoFTPClose</a>			(void * ctx);
-typedef void <a href="#ftpListCallback">ftpListCallback</a>			(void * userData, <br/>					 const char * filename, <br/>					 const char * attrib, <br/>					 const char * owner, <br/>					 const char * group, <br/>					 unsigned long size, <br/>					 int links, <br/>					 int year, <br/>					 const char * month, <br/>					 int day, <br/>					 int hour, <br/>					 int minute);
-int	<a href="#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a>	(void * ctx);
-void	<a href="#xmlNanoFTPProxy">xmlNanoFTPProxy</a>			(const char * host, <br/>					 int port, <br/>					 const char * user, <br/>					 const char * passwd, <br/>					 int type);
-int	<a href="#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a>		(void * ctx, <br/>					 const char * URL);
-<a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	<a href="#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a>		(void * ctx);
-int	<a href="#xmlNanoFTPDele">xmlNanoFTPDele</a>			(void * ctx, <br/>					 const char * file);
-void *	<a href="#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a>		(const char * URL);
+typedef void <a href="#ftpDataCallback">ftpDataCallback</a>			(void * userData, <br>					 const char * data, <br>					 int len);
+typedef void <a href="#ftpListCallback">ftpListCallback</a>			(void * userData, <br>					 const char * filename, <br>					 const char * attrib, <br>					 const char * owner, <br>					 const char * group, <br>					 unsigned long size, <br>					 int links, <br>					 int year, <br>					 const char * month, <br>					 int day, <br>					 int hour, <br>					 int minute);
 int	<a href="#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a>		(void * ctx);
-void	<a href="#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a>		(const char * URL);
-typedef void <a href="#ftpDataCallback">ftpDataCallback</a>			(void * userData, <br/>					 const char * data, <br/>					 int len);
-int	<a href="#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a>		(void * ctx);
-int	<a href="#xmlNanoFTPCwd">xmlNanoFTPCwd</a>			(void * ctx, <br/>					 const char * directory);
-void	<a href="#xmlNanoFTPInit">xmlNanoFTPInit</a>			(void);
-void *	<a href="#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a>		(const char * server, <br/>					 int port);
-int	<a href="#xmlNanoFTPList">xmlNanoFTPList</a>			(void * ctx, <br/>					 <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br/>					 void * userData, <br/>					 const char * filename);
-void *	<a href="#xmlNanoFTPOpen">xmlNanoFTPOpen</a>			(const char * URL);
-int	<a href="#xmlNanoFTPConnect">xmlNanoFTPConnect</a>		(void * ctx);
-<a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	<a href="#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a>		(void * ctx, <br/>					 const char * filename);
-int	<a href="#xmlNanoFTPGet">xmlNanoFTPGet</a>			(void * ctx, <br/>					 <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br/>					 void * userData, <br/>					 const char * filename);
-int	<a href="#xmlNanoFTPRead">xmlNanoFTPRead</a>			(void * ctx, <br/>					 void * dest, <br/>					 int len);
-void	<a href="#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a>		(void * ctx);
 void	<a href="#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>		(void);
+int	<a href="#xmlNanoFTPClose">xmlNanoFTPClose</a>			(void * ctx);
+int	<a href="#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a>	(void * ctx);
+int	<a href="#xmlNanoFTPConnect">xmlNanoFTPConnect</a>		(void * ctx);
+void *	<a href="#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a>		(const char * server, <br>					 int port);
+int	<a href="#xmlNanoFTPCwd">xmlNanoFTPCwd</a>			(void * ctx, <br>					 const char * directory);
+int	<a href="#xmlNanoFTPDele">xmlNanoFTPDele</a>			(void * ctx, <br>					 const char * file);
+void	<a href="#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a>		(void * ctx);
+int	<a href="#xmlNanoFTPGet">xmlNanoFTPGet</a>			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br>					 void * userData, <br>					 const char * filename);
+<a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	<a href="#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a>		(void * ctx);
+int	<a href="#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a>		(void * ctx);
+<a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	<a href="#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a>		(void * ctx, <br>					 const char * filename);
+void	<a href="#xmlNanoFTPInit">xmlNanoFTPInit</a>			(void);
+int	<a href="#xmlNanoFTPList">xmlNanoFTPList</a>			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br>					 void * userData, <br>					 const char * filename);
+void *	<a href="#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a>		(const char * URL);
+void *	<a href="#xmlNanoFTPOpen">xmlNanoFTPOpen</a>			(const char * URL);
+void	<a href="#xmlNanoFTPProxy">xmlNanoFTPProxy</a>			(const char * host, <br>					 int port, <br>					 const char * user, <br>					 const char * passwd, <br>					 int type);
+int	<a href="#xmlNanoFTPQuit">xmlNanoFTPQuit</a>			(void * ctx);
+int	<a href="#xmlNanoFTPRead">xmlNanoFTPRead</a>			(void * ctx, <br>					 void * dest, <br>					 int len);
+void	<a href="#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a>		(const char * URL);
+int	<a href="#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a>		(void * ctx, <br>					 const char * URL);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="INVALID_SOCKET">Macro </a>INVALID_SOCKET</h3><pre class="programlisting">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
-</pre><p>macro used to provide portability of code to windows sockets the value to be used when the socket is not valid</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="SOCKET">Macro </a>SOCKET</h3><pre class="programlisting">#define <a href="#SOCKET">SOCKET</a>;
-</pre><p>macro used to provide portability of code to windows sockets</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="INVALID_SOCKET">Macro </a>INVALID_SOCKET</h3>
+<pre class="programlisting">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
+</pre>
+<p>macro used to provide portability of code to windows sockets the value to be used when the socket is not valid</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="ftpDataCallback"/>Function type ftpDataCallback</h3><pre class="programlisting">void	ftpDataCallback			(void * userData, <br/>					 const char * data, <br/>					 int len)<br/>
-</pre><p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a> command.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>the user provided context</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data received</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>its size in bytes</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="ftpListCallback"/>Function type ftpListCallback</h3><pre class="programlisting">void	ftpListCallback			(void * userData, <br/>					 const char * filename, <br/>					 const char * attrib, <br/>					 const char * owner, <br/>					 const char * group, <br/>					 unsigned long size, <br/>					 int links, <br/>					 int year, <br/>					 const char * month, <br/>					 int day, <br/>					 int hour, <br/>					 int minute)<br/>
-</pre><p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a> command. Note that only one of year and day:minute are specified.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>user provided data for the callback</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name (including "-&gt;" when links are shown)</td></tr><tr><td><span class="term"><i><tt>attrib</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> string</td></tr><tr><td><span class="term"><i><tt>owner</tt></i>:</span></td><td>the owner string</td></tr><tr><td><span class="term"><i><tt>group</tt></i>:</span></td><td>the group string</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the file size</td></tr><tr><td><span class="term"><i><tt>links</tt></i>:</span></td><td>the link count</td></tr><tr><td><span class="term"><i><tt>year</tt></i>:</span></td><td>the year</td></tr><tr><td><span class="term"><i><tt>month</tt></i>:</span></td><td>the month</td></tr><tr><td><span class="term"><i><tt>day</tt></i>:</span></td><td>the day</td></tr><tr><td><span class="term"><i><tt>hour</tt></i>:</span></td><td>the hour</td></tr><tr><td><span class="term"><i><tt>minute</tt></i>:</span></td><td>the minute</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPCheckResponse"/>xmlNanoFTPCheckResponse ()</h3><pre class="programlisting">int	xmlNanoFTPCheckResponse		(void * ctx)<br/>
-</pre><p>Check if there is a response from the FTP server after a command.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the code number, or 0</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPCleanup"/>xmlNanoFTPCleanup ()</h3><pre class="programlisting">void	xmlNanoFTPCleanup		(void)<br/>
-</pre><p>Cleanup the FTP protocol layer. This cleanup proxy information.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="SOCKET">Macro </a>SOCKET</h3>
+<pre class="programlisting">#define <a href="#SOCKET">SOCKET</a>;
+</pre>
+<p>macro used to provide portability of code to windows sockets</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPClose"/>xmlNanoFTPClose ()</h3><pre class="programlisting">int	xmlNanoFTPClose			(void * ctx)<br/>
-</pre><p>Close the connection and both control and transport</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPCloseConnection"/>xmlNanoFTPCloseConnection ()</h3><pre class="programlisting">int	xmlNanoFTPCloseConnection	(void * ctx)<br/>
-</pre><p>Close the data connection from the server</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPConnect"/>xmlNanoFTPConnect ()</h3><pre class="programlisting">int	xmlNanoFTPConnect		(void * ctx)<br/>
-</pre><p>Tries to open a control connection</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPConnectTo"/>xmlNanoFTPConnectTo ()</h3><pre class="programlisting">void *	xmlNanoFTPConnectTo		(const char * server, <br/>					 int port)<br/>
-</pre><p>Tries to open a control connection to the given server/port</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>server</tt></i>:</span></td><td>an FTP server name</td></tr><tr><td><span class="term"><i><tt>port</tt></i>:</span></td><td>the port (use 21 if 0)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an fTP context or NULL if it failed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPCwd"/>xmlNanoFTPCwd ()</h3><pre class="programlisting">int	xmlNanoFTPCwd			(void * ctx, <br/>					 const char * directory)<br/>
-</pre><p>Tries to change the remote directory</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>directory</tt></i>:</span></td><td>a directory on the server</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if CWD worked, 0 if it failed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPDele"/>xmlNanoFTPDele ()</h3><pre class="programlisting">int	xmlNanoFTPDele			(void * ctx, <br/>					 const char * file)<br/>
-</pre><p>Tries to delete an item (file or directory) from server</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>a file or directory on the server</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if DELE worked, 0 if it failed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPFreeCtxt"/>xmlNanoFTPFreeCtxt ()</h3><pre class="programlisting">void	xmlNanoFTPFreeCtxt		(void * ctx)<br/>
-</pre><p>Frees the context after closing the connection.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPGet"/>xmlNanoFTPGet ()</h3><pre class="programlisting">int	xmlNanoFTPGet			(void * ctx, <br/>					 <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br/>					 void * userData, <br/>					 const char * filename)<br/>
-</pre><p>Fetch the given file from the server. All data are passed back in the callbacks. The last callback has a size of 0 block.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPGetConnection"/>xmlNanoFTPGetConnection ()</h3><pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	xmlNanoFTPGetConnection		(void * ctx)<br/>
-</pre><p>Try to open a data connection to the server. Currently only passive mode is supported.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPGetResponse"/>xmlNanoFTPGetResponse ()</h3><pre class="programlisting">int	xmlNanoFTPGetResponse		(void * ctx)<br/>
-</pre><p>Get the response from the FTP server after a command.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the code number</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPGetSocket"/>xmlNanoFTPGetSocket ()</h3><pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	xmlNanoFTPGetSocket		(void * ctx, <br/>					 const char * filename)<br/>
-</pre><p>Initiate fetch of the given file from the server.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve (or NULL if path is in context).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the socket for the data connection, or &lt;0 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPInit"/>xmlNanoFTPInit ()</h3><pre class="programlisting">void	xmlNanoFTPInit			(void)<br/>
-</pre><p>Initialize the FTP protocol layer. Currently it just checks for proxy information, and get the hostname</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="ftpDataCallback"></a>Function type ftpDataCallback</h3>
+<pre class="programlisting">void	ftpDataCallback			(void * userData, <br>					 const char * data, <br>					 int len)<br>
+</pre>
+<p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a> command.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>the user provided context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the data received</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>its size in bytes</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPList"/>xmlNanoFTPList ()</h3><pre class="programlisting">int	xmlNanoFTPList			(void * ctx, <br/>					 <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br/>					 void * userData, <br/>					 const char * filename)<br/>
-</pre><p>Do a listing on the server. All files info are passed back in the callbacks.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>optional files to list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPNewCtxt"/>xmlNanoFTPNewCtxt ()</h3><pre class="programlisting">void *	xmlNanoFTPNewCtxt		(const char * URL)<br/>
-</pre><p>Allocate and initialize a new FTP context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL used to initialize the context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an FTP context or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPOpen"/>xmlNanoFTPOpen ()</h3><pre class="programlisting">void *	xmlNanoFTPOpen			(const char * URL)<br/>
-</pre><p>Start to fetch the given ftp:// resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL to the resource</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an FTP context, or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPProxy"/>xmlNanoFTPProxy ()</h3><pre class="programlisting">void	xmlNanoFTPProxy			(const char * host, <br/>					 int port, <br/>					 const char * user, <br/>					 const char * passwd, <br/>					 int type)<br/>
-</pre><p>Setup the FTP proxy information. This can also be done by using ftp_proxy ftp_proxy_user and ftp_proxy_password environment variables.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>host</tt></i>:</span></td><td>the proxy host name</td></tr><tr><td><span class="term"><i><tt>port</tt></i>:</span></td><td>the proxy port</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>the proxy user name</td></tr><tr><td><span class="term"><i><tt>passwd</tt></i>:</span></td><td>the proxy password</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of proxy 1 for using SITE, 2 for USER a@b</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPQuit"/>xmlNanoFTPQuit ()</h3><pre class="programlisting">int	xmlNanoFTPQuit			(void * ctx)<br/>
-</pre><p>Send a QUIT command to the server</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPRead"/>xmlNanoFTPRead ()</h3><pre class="programlisting">int	xmlNanoFTPRead			(void * ctx, <br/>					 void * dest, <br/>					 int len)<br/>
-</pre><p>This function tries to read @len bytes from the existing FTP connection and saves them in @dest. This is a blocking call.</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 FTP context</td></tr><tr><td><span class="term"><i><tt>dest</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the buffer length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPScanProxy"/>xmlNanoFTPScanProxy ()</h3><pre class="programlisting">void	xmlNanoFTPScanProxy		(const char * URL)<br/>
-</pre><p>(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 information.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The proxy URL used to initialize the proxy context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPUpdateURL"/>xmlNanoFTPUpdateURL ()</h3><pre class="programlisting">int	xmlNanoFTPUpdateURL		(void * ctx, <br/>					 const char * URL)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL used to update the context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if Ok, -1 in case of error (other host).</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="ftpListCallback"></a>Function type ftpListCallback</h3>
+<pre class="programlisting">void	ftpListCallback			(void * userData, <br>					 const char * filename, <br>					 const char * attrib, <br>					 const char * owner, <br>					 const char * group, <br>					 unsigned long size, <br>					 int links, <br>					 int year, <br>					 const char * month, <br>					 int day, <br>					 int hour, <br>					 int minute)<br>
+</pre>
+<p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a> command. Note that only one of year and day:minute are specified.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>user provided data for the callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the file name (including "-&gt;" when links are shown)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attrib</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>owner</tt></i>:</span></td>
+<td>the owner string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>group</tt></i>:</span></td>
+<td>the group string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the file size</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>links</tt></i>:</span></td>
+<td>the link count</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>year</tt></i>:</span></td>
+<td>the year</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>month</tt></i>:</span></td>
+<td>the month</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>day</tt></i>:</span></td>
+<td>the day</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>hour</tt></i>:</span></td>
+<td>the hour</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>minute</tt></i>:</span></td>
+<td>the minute</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPCheckResponse"></a>xmlNanoFTPCheckResponse ()</h3>
+<pre class="programlisting">int	xmlNanoFTPCheckResponse		(void * ctx)<br>
+</pre>
+<p>Check if there is a response from the FTP server after a command.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the code number, or 0</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPCleanup"></a>xmlNanoFTPCleanup ()</h3>
+<pre class="programlisting">void	xmlNanoFTPCleanup		(void)<br>
+</pre>
+<p>Cleanup the FTP protocol layer. This cleanup proxy information.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPClose"></a>xmlNanoFTPClose ()</h3>
+<pre class="programlisting">int	xmlNanoFTPClose			(void * ctx)<br>
+</pre>
+<p>Close the connection and both control and transport</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPCloseConnection"></a>xmlNanoFTPCloseConnection ()</h3>
+<pre class="programlisting">int	xmlNanoFTPCloseConnection	(void * ctx)<br>
+</pre>
+<p>Close the data connection from the server</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPConnect"></a>xmlNanoFTPConnect ()</h3>
+<pre class="programlisting">int	xmlNanoFTPConnect		(void * ctx)<br>
+</pre>
+<p>Tries to open a control connection</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPConnectTo"></a>xmlNanoFTPConnectTo ()</h3>
+<pre class="programlisting">void *	xmlNanoFTPConnectTo		(const char * server, <br>					 int port)<br>
+</pre>
+<p>Tries to open a control connection to the given server/port</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>server</tt></i>:</span></td>
+<td>an FTP server name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>port</tt></i>:</span></td>
+<td>the port (use 21 if 0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an fTP context or NULL if it failed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPCwd"></a>xmlNanoFTPCwd ()</h3>
+<pre class="programlisting">int	xmlNanoFTPCwd			(void * ctx, <br>					 const char * directory)<br>
+</pre>
+<p>Tries to change the remote directory</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>directory</tt></i>:</span></td>
+<td>a directory on the server</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 1 if CWD worked, 0 if it failed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPDele"></a>xmlNanoFTPDele ()</h3>
+<pre class="programlisting">int	xmlNanoFTPDele			(void * ctx, <br>					 const char * file)<br>
+</pre>
+<p>Tries to delete an item (file or directory) from server</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>a file or directory on the server</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 1 if DELE worked, 0 if it failed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPFreeCtxt"></a>xmlNanoFTPFreeCtxt ()</h3>
+<pre class="programlisting">void	xmlNanoFTPFreeCtxt		(void * ctx)<br>
+</pre>
+<p>Frees the context after closing the connection.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPGet"></a>xmlNanoFTPGet ()</h3>
+<pre class="programlisting">int	xmlNanoFTPGet			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br>					 void * userData, <br>					 const char * filename)<br>
+</pre>
+<p>Fetch the given file from the server. All data are passed back in the callbacks. The last callback has a size of 0 block.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>callback</tt></i>:</span></td>
+<td>the user callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>the user callback data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the file to retrieve</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPGetConnection"></a>xmlNanoFTPGetConnection ()</h3>
+<pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	xmlNanoFTPGetConnection		(void * ctx)<br>
+</pre>
+<p>Try to open a data connection to the server. Currently only passive mode is supported.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPGetResponse"></a>xmlNanoFTPGetResponse ()</h3>
+<pre class="programlisting">int	xmlNanoFTPGetResponse		(void * ctx)<br>
+</pre>
+<p>Get the response from the FTP server after a command.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the code number</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPGetSocket"></a>xmlNanoFTPGetSocket ()</h3>
+<pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	xmlNanoFTPGetSocket		(void * ctx, <br>					 const char * filename)<br>
+</pre>
+<p>Initiate fetch of the given file from the server.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the file to retrieve (or NULL if path is in context).</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the socket for the data connection, or &lt;0 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPInit"></a>xmlNanoFTPInit ()</h3>
+<pre class="programlisting">void	xmlNanoFTPInit			(void)<br>
+</pre>
+<p>Initialize the FTP protocol layer. Currently it just checks for proxy information, and get the hostname</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPList"></a>xmlNanoFTPList ()</h3>
+<pre class="programlisting">int	xmlNanoFTPList			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br>					 void * userData, <br>					 const char * filename)<br>
+</pre>
+<p>Do a listing on the server. All files info are passed back in the callbacks.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>callback</tt></i>:</span></td>
+<td>the user callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>the user callback data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>optional files to list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPNewCtxt"></a>xmlNanoFTPNewCtxt ()</h3>
+<pre class="programlisting">void *	xmlNanoFTPNewCtxt		(const char * URL)<br>
+</pre>
+<p>Allocate and initialize a new FTP context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL used to initialize the context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an FTP context or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPOpen"></a>xmlNanoFTPOpen ()</h3>
+<pre class="programlisting">void *	xmlNanoFTPOpen			(const char * URL)<br>
+</pre>
+<p>Start to fetch the given ftp:// resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL to the resource</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an FTP context, or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPProxy"></a>xmlNanoFTPProxy ()</h3>
+<pre class="programlisting">void	xmlNanoFTPProxy			(const char * host, <br>					 int port, <br>					 const char * user, <br>					 const char * passwd, <br>					 int type)<br>
+</pre>
+<p>Setup the FTP proxy information. This can also be done by using ftp_proxy ftp_proxy_user and ftp_proxy_password environment variables.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>host</tt></i>:</span></td>
+<td>the proxy host name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>port</tt></i>:</span></td>
+<td>the proxy port</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user</tt></i>:</span></td>
+<td>the proxy user name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>passwd</tt></i>:</span></td>
+<td>the proxy password</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the type of proxy 1 for using SITE, 2 for USER a@b</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPQuit"></a>xmlNanoFTPQuit ()</h3>
+<pre class="programlisting">int	xmlNanoFTPQuit			(void * ctx)<br>
+</pre>
+<p>Send a QUIT command to the server</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPRead"></a>xmlNanoFTPRead ()</h3>
+<pre class="programlisting">int	xmlNanoFTPRead			(void * ctx, <br>					 void * dest, <br>					 int len)<br>
+</pre>
+<p>This function tries to read @len bytes from the existing FTP connection and saves them in @dest. This is a blocking call.</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 FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dest</tt></i>:</span></td>
+<td>a buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the buffer length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPScanProxy"></a>xmlNanoFTPScanProxy ()</h3>
+<pre class="programlisting">void	xmlNanoFTPScanProxy		(const char * URL)<br>
+</pre>
+<p>(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 information.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The proxy URL used to initialize the proxy context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPUpdateURL"></a>xmlNanoFTPUpdateURL ()</h3>
+<pre class="programlisting">int	xmlNanoFTPUpdateURL		(void * ctx, <br>					 const char * URL)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL used to update the context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if Ok, -1 in case of error (other host).</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-nanohttp.html b/doc/devhelp/libxml2-nanohttp.html
index c771e09..aa382ea 100644
--- a/doc/devhelp/libxml2-nanohttp.html
+++ b/doc/devhelp/libxml2-nanohttp.html
@@ -1,142 +1,446 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>nanohttp: minimal HTTP implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-nanoftp.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-parser.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">nanohttp</span>
-    </h2>
-    <p>nanohttp - minimal HTTP implementation</p>
-    <p>minimal HTTP implementation allowing to fetch resources like external subset. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">int	<a href="#xmlNanoHTTPRead">xmlNanoHTTPRead</a>			(void * ctx, <br/>					 void * dest, <br/>					 int len);
-int	<a href="#xmlNanoHTTPSave">xmlNanoHTTPSave</a>			(void * ctxt, <br/>					 const char * filename);
-const char *	<a href="#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a>	(void * ctx);
-const char *	<a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a>	(void * ctx);
-int	<a href="#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a>		(const char * URL, <br/>					 const char * filename, <br/>					 char ** contentType);
-int	<a href="#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a>	(void * ctx);
-const char *	<a href="#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a>	(void * ctx);
-void	<a href="#xmlNanoHTTPClose">xmlNanoHTTPClose</a>		(void * ctx);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>nanohttp: minimal HTTP implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">nanohttp</span></h2>
+<p>nanohttp - minimal HTTP implementation</p>
+<p>minimal HTTP implementation allowing to fetch resources like external subset. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">const char *	<a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a>	(void * ctx);
 void	<a href="#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a>		(void);
-void *	<a href="#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a>		(const char * URL, <br/>					 const char * method, <br/>					 const char * input, <br/>					 char ** contentType, <br/>					 const char * headers, <br/>					 int ilen);
-void	<a href="#xmlNanoHTTPInit">xmlNanoHTTPInit</a>			(void);
-void *	<a href="#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a>			(const char * URL, <br/>					 char ** contentType);
-void *	<a href="#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a>		(const char * URL, <br/>					 char ** contentType, <br/>					 char ** redir);
-void *	<a href="#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a>		(const char * URL, <br/>					 const char * method, <br/>					 const char * input, <br/>					 char ** contentType, <br/>					 char ** redir, <br/>					 const char * headers, <br/>					 int ilen);
-void	<a href="#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a>		(const char * URL);
+void	<a href="#xmlNanoHTTPClose">xmlNanoHTTPClose</a>		(void * ctx);
+int	<a href="#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a>	(void * ctx);
 const char *	<a href="#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a>	(void * ctx);
+int	<a href="#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a>		(const char * URL, <br>					 const char * filename, <br>					 char ** contentType);
+void	<a href="#xmlNanoHTTPInit">xmlNanoHTTPInit</a>			(void);
+void *	<a href="#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a>		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 const char * headers, <br>					 int ilen);
+void *	<a href="#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a>		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 char ** redir, <br>					 const char * headers, <br>					 int ilen);
+const char *	<a href="#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a>	(void * ctx);
+void *	<a href="#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a>			(const char * URL, <br>					 char ** contentType);
+void *	<a href="#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a>		(const char * URL, <br>					 char ** contentType, <br>					 char ** redir);
+int	<a href="#xmlNanoHTTPRead">xmlNanoHTTPRead</a>			(void * ctx, <br>					 void * dest, <br>					 int len);
+const char *	<a href="#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a>	(void * ctx);
 int	<a href="#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a>		(void * ctx);
+int	<a href="#xmlNanoHTTPSave">xmlNanoHTTPSave</a>			(void * ctxt, <br>					 const char * filename);
+void	<a href="#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a>		(const char * URL);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPAuthHeader"/>xmlNanoHTTPAuthHeader ()</h3><pre class="programlisting">const char *	xmlNanoHTTPAuthHeader	(void * ctx)<br/>
-</pre><p>Get the authentication header of an HTTP context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the stashed value of the WWW-Authenticate or Proxy-Authenticate header.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPCleanup"/>xmlNanoHTTPCleanup ()</h3><pre class="programlisting">void	xmlNanoHTTPCleanup		(void)<br/>
-</pre><p>Cleanup the HTTP protocol layer.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPClose"/>xmlNanoHTTPClose ()</h3><pre class="programlisting">void	xmlNanoHTTPClose		(void * ctx)<br/>
-</pre><p>This function closes an HTTP context, it ends up the connection and free all data related to it.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPContentLength"/>xmlNanoHTTPContentLength ()</h3><pre class="programlisting">int	xmlNanoHTTPContentLength	(void * ctx)<br/>
-</pre><p>Provides the specified content length from the HTTP header.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified content length from the HTTP header. Note that a value of -1 indicates that the content length element was not included in the response header.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPEncoding"/>xmlNanoHTTPEncoding ()</h3><pre class="programlisting">const char *	xmlNanoHTTPEncoding	(void * ctx)<br/>
-</pre><p>Provides the specified encoding if specified in the HTTP headers.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified encoding or NULL if not available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPFetch"/>xmlNanoHTTPFetch ()</h3><pre class="programlisting">int	xmlNanoHTTPFetch		(const char * URL, <br/>					 const char * filename, <br/>					 char ** contentType)<br/>
-</pre><p>This function try to fetch the indicated resource via HTTP GET and save it's content in the file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be saved</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the Content-Type information will be returned at that location</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 in case of success. The contentType, if provided must be freed by the caller</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPInit"/>xmlNanoHTTPInit ()</h3><pre class="programlisting">void	xmlNanoHTTPInit			(void)<br/>
-</pre><p>Initialize the HTTP protocol layer. Currently it just checks for proxy information</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPAuthHeader"></a>xmlNanoHTTPAuthHeader ()</h3>
+<pre class="programlisting">const char *	xmlNanoHTTPAuthHeader	(void * ctx)<br>
+</pre>
+<p>Get the authentication header of an HTTP context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the stashed value of the WWW-Authenticate or Proxy-Authenticate header.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPMethod"/>xmlNanoHTTPMethod ()</h3><pre class="programlisting">void *	xmlNanoHTTPMethod		(const char * URL, <br/>					 const char * method, <br/>					 const char * input, <br/>					 char ** contentType, <br/>					 const char * headers, <br/>					 int ilen)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span class="term"><i><tt>method</tt></i>:</span></td><td>the HTTP method to use</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the input string if any</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>the Content-Type information IN and OUT</td></tr><tr><td><span class="term"><i><tt>headers</tt></i>:</span></td><td>the extra headers</td></tr><tr><td><span class="term"><i><tt>ilen</tt></i>:</span></td><td>input length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPMethodRedir"/>xmlNanoHTTPMethodRedir ()</h3><pre class="programlisting">void *	xmlNanoHTTPMethodRedir		(const char * URL, <br/>					 const char * method, <br/>					 const char * input, <br/>					 char ** contentType, <br/>					 char ** redir, <br/>					 const char * headers, <br/>					 int ilen)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span class="term"><i><tt>method</tt></i>:</span></td><td>the HTTP method to use</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the input string if any</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>the Content-Type information IN and OUT</td></tr><tr><td><span class="term"><i><tt>redir</tt></i>:</span></td><td>the redirected URL OUT</td></tr><tr><td><span class="term"><i><tt>headers</tt></i>:</span></td><td>the extra headers</td></tr><tr><td><span class="term"><i><tt>ilen</tt></i>:</span></td><td>input length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, otherwise a request handler. The contentType, or redir, if provided must be freed by the caller</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPMimeType"/>xmlNanoHTTPMimeType ()</h3><pre class="programlisting">const char *	xmlNanoHTTPMimeType	(void * ctx)<br/>
-</pre><p>Provides the specified Mime-Type if specified in the HTTP headers.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified Mime-Type or NULL if not available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPOpen"/>xmlNanoHTTPOpen ()</h3><pre class="programlisting">void *	xmlNanoHTTPOpen			(const char * URL, <br/>					 char ** contentType)<br/>
-</pre><p>This function try to open a connection to the indicated resource via HTTP GET.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the Content-Type information will be returned at that location</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPOpenRedir"/>xmlNanoHTTPOpenRedir ()</h3><pre class="programlisting">void *	xmlNanoHTTPOpenRedir		(const char * URL, <br/>					 char ** contentType, <br/>					 char ** redir)<br/>
-</pre><p>This function try to open a connection to the indicated resource via HTTP GET.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the Content-Type information will be returned at that location</td></tr><tr><td><span class="term"><i><tt>redir</tt></i>:</span></td><td>if available the redirected URL will be returned</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPRead"/>xmlNanoHTTPRead ()</h3><pre class="programlisting">int	xmlNanoHTTPRead			(void * ctx, <br/>					 void * dest, <br/>					 int len)<br/>
-</pre><p>This function tries to read @len bytes from the existing HTTP connection and saves them in @dest. This is a blocking call.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>dest</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the buffer length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPRedir"/>xmlNanoHTTPRedir ()</h3><pre class="programlisting">const char *	xmlNanoHTTPRedir	(void * ctx)<br/>
-</pre><p>Provides the specified redirection URL if available from the HTTP header.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified redirection URL or NULL if not redirected.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPReturnCode"/>xmlNanoHTTPReturnCode ()</h3><pre class="programlisting">int	xmlNanoHTTPReturnCode		(void * ctx)<br/>
-</pre><p>Get the latest HTTP return code received</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the HTTP return code for the request.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPSave"/>xmlNanoHTTPSave ()</h3><pre class="programlisting">int	xmlNanoHTTPSave			(void * ctxt, <br/>					 const char * filename)<br/>
-</pre><p>This function saves the output of the HTTP transaction to a file It closes and free the context at the end</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be saved</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 in case of success.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPScanProxy"/>xmlNanoHTTPScanProxy ()</h3><pre class="programlisting">void	xmlNanoHTTPScanProxy		(const char * URL)<br/>
-</pre><p>(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 information.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The proxy URL used to initialize the proxy context</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPCleanup"></a>xmlNanoHTTPCleanup ()</h3>
+<pre class="programlisting">void	xmlNanoHTTPCleanup		(void)<br>
+</pre>
+<p>Cleanup the HTTP protocol layer.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPClose"></a>xmlNanoHTTPClose ()</h3>
+<pre class="programlisting">void	xmlNanoHTTPClose		(void * ctx)<br>
+</pre>
+<p>This function closes an HTTP context, it ends up the connection and free all data related to it.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPContentLength"></a>xmlNanoHTTPContentLength ()</h3>
+<pre class="programlisting">int	xmlNanoHTTPContentLength	(void * ctx)<br>
+</pre>
+<p>Provides the specified content length from the HTTP header.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the specified content length from the HTTP header. Note that a value of -1 indicates that the content length element was not included in the response header.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPEncoding"></a>xmlNanoHTTPEncoding ()</h3>
+<pre class="programlisting">const char *	xmlNanoHTTPEncoding	(void * ctx)<br>
+</pre>
+<p>Provides the specified encoding if specified in the HTTP headers.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the specified encoding or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPFetch"></a>xmlNanoHTTPFetch ()</h3>
+<pre class="programlisting">int	xmlNanoHTTPFetch		(const char * URL, <br>					 const char * filename, <br>					 char ** contentType)<br>
+</pre>
+<p>This function try to fetch the indicated resource via HTTP GET and save it's content in the file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename where the content should be saved</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
+<td>if available the Content-Type information will be returned at that location</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of failure, 0 in case of success. The contentType, if provided must be freed by the caller</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPInit"></a>xmlNanoHTTPInit ()</h3>
+<pre class="programlisting">void	xmlNanoHTTPInit			(void)<br>
+</pre>
+<p>Initialize the HTTP protocol layer. Currently it just checks for proxy information</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPMethod"></a>xmlNanoHTTPMethod ()</h3>
+<pre class="programlisting">void *	xmlNanoHTTPMethod		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 const char * headers, <br>					 int ilen)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>method</tt></i>:</span></td>
+<td>the HTTP method to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the input string if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
+<td>the Content-Type information IN and OUT</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>headers</tt></i>:</span></td>
+<td>the extra headers</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ilen</tt></i>:</span></td>
+<td>input length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPMethodRedir"></a>xmlNanoHTTPMethodRedir ()</h3>
+<pre class="programlisting">void *	xmlNanoHTTPMethodRedir		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 char ** redir, <br>					 const char * headers, <br>					 int ilen)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>method</tt></i>:</span></td>
+<td>the HTTP method to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the input string if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
+<td>the Content-Type information IN and OUT</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>redir</tt></i>:</span></td>
+<td>the redirected URL OUT</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>headers</tt></i>:</span></td>
+<td>the extra headers</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ilen</tt></i>:</span></td>
+<td>input length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL in case of failure, otherwise a request handler. The contentType, or redir, if provided must be freed by the caller</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPMimeType"></a>xmlNanoHTTPMimeType ()</h3>
+<pre class="programlisting">const char *	xmlNanoHTTPMimeType	(void * ctx)<br>
+</pre>
+<p>Provides the specified Mime-Type if specified in the HTTP headers.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the specified Mime-Type or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPOpen"></a>xmlNanoHTTPOpen ()</h3>
+<pre class="programlisting">void *	xmlNanoHTTPOpen			(const char * URL, <br>					 char ** contentType)<br>
+</pre>
+<p>This function try to open a connection to the indicated resource via HTTP GET.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
+<td>if available the Content-Type information will be returned at that location</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPOpenRedir"></a>xmlNanoHTTPOpenRedir ()</h3>
+<pre class="programlisting">void *	xmlNanoHTTPOpenRedir		(const char * URL, <br>					 char ** contentType, <br>					 char ** redir)<br>
+</pre>
+<p>This function try to open a connection to the indicated resource via HTTP GET.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
+<td>if available the Content-Type information will be returned at that location</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>redir</tt></i>:</span></td>
+<td>if available the redirected URL will be returned</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPRead"></a>xmlNanoHTTPRead ()</h3>
+<pre class="programlisting">int	xmlNanoHTTPRead			(void * ctx, <br>					 void * dest, <br>					 int len)<br>
+</pre>
+<p>This function tries to read @len bytes from the existing HTTP connection and saves them in @dest. This is a blocking call.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dest</tt></i>:</span></td>
+<td>a buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the buffer length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPRedir"></a>xmlNanoHTTPRedir ()</h3>
+<pre class="programlisting">const char *	xmlNanoHTTPRedir	(void * ctx)<br>
+</pre>
+<p>Provides the specified redirection URL if available from the HTTP header.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the specified redirection URL or NULL if not redirected.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPReturnCode"></a>xmlNanoHTTPReturnCode ()</h3>
+<pre class="programlisting">int	xmlNanoHTTPReturnCode		(void * ctx)<br>
+</pre>
+<p>Get the latest HTTP return code received</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the HTTP return code for the request.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPSave"></a>xmlNanoHTTPSave ()</h3>
+<pre class="programlisting">int	xmlNanoHTTPSave			(void * ctxt, <br>					 const char * filename)<br>
+</pre>
+<p>This function saves the output of the HTTP transaction to a file It closes and free the context at the end</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename where the content should be saved</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of failure, 0 in case of success.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPScanProxy"></a>xmlNanoHTTPScanProxy ()</h3>
+<pre class="programlisting">void	xmlNanoHTTPScanProxy		(const char * URL)<br>
+</pre>
+<p>(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 information.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The proxy URL used to initialize the proxy context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-parser.html b/doc/devhelp/libxml2-parser.html
index 8cd6a70..bc37b59 100644
--- a/doc/devhelp/libxml2-parser.html
+++ b/doc/devhelp/libxml2-parser.html
@@ -1,195 +1,196 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>parser: the core parser module</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-nanohttp.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-parserInternals.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">parser</span>
-    </h2>
-    <p>parser - the core parser module</p>
-    <p>Interfaces, constants and types related to the XML parser </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
-#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
-#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
-#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>parser: the core parser module</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-nanohttp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-parserInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">parser</span></h2>
+<p>parser - the core parser module</p>
+<p>Interfaces, constants and types related to the XML parser </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
 #define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>;
-typedef <a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * <a href="#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a>;
-typedef struct _xmlSAXHandlerV1 <a href="#xmlSAXHandlerV1">xmlSAXHandlerV1</a>;
+#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
+#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
+#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
+typedef enum <a href="#xmlFeature">xmlFeature</a>;
 typedef enum <a href="#xmlParserInputState">xmlParserInputState</a>;
+typedef enum <a href="#xmlParserMode">xmlParserMode</a>;
+typedef struct _xmlParserNodeInfo <a href="#xmlParserNodeInfo">xmlParserNodeInfo</a>;
 typedef <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * <a href="#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a>;
 typedef struct _xmlParserNodeInfoSeq <a href="#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>;
-typedef enum <a href="#xmlFeature">xmlFeature</a>;
-typedef enum <a href="#xmlParserMode">xmlParserMode</a>;
-typedef struct _xmlStartTag <a href="#xmlStartTag">xmlStartTag</a>;
+typedef <a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * <a href="#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a>;
 typedef enum <a href="#xmlParserOption">xmlParserOption</a>;
+typedef struct _xmlSAXHandlerV1 <a href="#xmlSAXHandlerV1">xmlSAXHandlerV1</a>;
 typedef <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * <a href="#xmlSAXHandlerV1Ptr">xmlSAXHandlerV1Ptr</a>;
-typedef struct _xmlParserNodeInfo <a href="#xmlParserNodeInfo">xmlParserNodeInfo</a>;
-void	<a href="#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br/>					 const char * filename);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFile">xmlCtxtReadFile</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * filename, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
-typedef void <a href="#attributeDeclSAXFunc">attributeDeclSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 int type, <br/>					 int def, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
-typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#getEntitySAXFunc">getEntitySAXFunc</a>	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-typedef void <a href="#startElementSAXFunc">startElementSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
-typedef void <a href="#charactersSAXFunc">charactersSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len);
-void	<a href="#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a>		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
-int	<a href="#xmlParseChunk">xmlParseChunk</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * chunk, <br/>					 int size, <br/>					 int terminate);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseEntity">xmlParseEntity</a>		(const char * filename);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverFile">xmlRecoverFile</a>		(const char * filename);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadDoc">xmlCtxtReadDoc</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-typedef void <a href="#startElementNsSAX2Func">startElementNsSAX2Func</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 int nb_namespaces, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br/>					 int nb_attributes, <br/>					 int nb_defaulted, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
-<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>						 void * user_data, <br/>						 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>						 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>						 void * ioctx, <br/>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlParseInNodeContext">xmlParseInNodeContext</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const char * data, <br/>					 int datalen, <br/>					 int options, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
-typedef void <a href="#referenceSAXFunc">referenceSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-typedef int <a href="#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>	(void * ctx);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseDoc">xmlSAXParseDoc</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 int recovery);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadMemory">xmlReadMemory</a>		(const char * buffer, <br/>					 int size, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseMemory">xmlParseMemory</a>		(const char * buffer, <br/>					 int size);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewIOInputStream">xmlNewIOInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-typedef void <a href="#processingInstructionSAXFunc">processingInstructionSAXFunc</a>	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
-int	<a href="#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>						 void * user_data, <br/>						 int depth, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br/>						 int recover);
-void	<a href="#xmlInitParser">xmlInitParser</a>			(void);
-<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
-typedef void <a href="#errorSAXFunc">errorSAXFunc</a>			(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseMemory">xmlSAXParseMemory</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const char * buffer, <br/>					 int size, <br/>					 int recovery);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverMemory">xmlRecoverMemory</a>	(const char * buffer, <br/>					 int size);
-typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	(const char * URL, <br/>						 const char * ID, <br/>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);
-typedef int <a href="#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	(void * ctx);
-typedef void <a href="#cdataBlockSAXFunc">cdataBlockSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int len);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseFile">xmlSAXParseFile</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const char * filename, <br/>					 int recovery);
-typedef void <a href="#xmlParserInputDeallocate">xmlParserInputDeallocate</a>	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadIO">xmlCtxtReadIO</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>						 const char * buffer, <br/>						 int size, <br/>						 int recovery, <br/>						 void * data);
-int	<a href="#xmlGetFeature">xmlGetFeature</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * name, <br/>					 void * result);
-<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlIOParseDTD">xmlIOParseDTD</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-void	<a href="#xmlFreeParserCtxt">xmlFreeParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlParseDTD">xmlParseDTD</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverDoc">xmlRecoverDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
-typedef void <a href="#commentSAXFunc">commentSAXFunc</a>			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlInitParserCtxt">xmlInitParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-typedef void <a href="#attributeSAXFunc">attributeSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlParserInputGrow">xmlParserInputGrow</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br/>					 int len);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadMemory">xmlCtxtReadMemory</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * buffer, <br/>					 int size, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-typedef void <a href="#externalSubsetSAXFunc">externalSubsetSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#resolveEntitySAXFunc">resolveEntitySAXFunc</a>	(void * ctx, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-int	<a href="#xmlPedanticParserDefault">xmlPedanticParserDefault</a>	(int val);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseEntity">xmlSAXParseEntity</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const char * filename);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseDoc">xmlParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const char * filename, <br/>					 int recovery, <br/>					 void * data);
-int	<a href="#xmlLineNumbersDefault">xmlLineNumbersDefault</a>		(int val);
-<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	<a href="#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a>	(void);
-typedef void <a href="#elementDeclSAXFunc">elementDeclSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
-int	<a href="#xmlCtxtUseOptions">xmlCtxtUseOptions</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 int options);
-<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>						 void * user_data, <br/>						 const char * chunk, <br/>						 int size, <br/>						 const char * filename);
-void	<a href="#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFd">xmlCtxtReadFd</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-typedef void <a href="#internalSubsetSAXFunc">internalSubsetSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlNewParserCtxt">xmlNewParserCtxt</a>	(void);
+typedef struct _xmlStartTag <a href="#xmlStartTag">xmlStartTag</a>;
+typedef void <a href="#attributeDeclSAXFunc">attributeDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
+typedef void <a href="#attributeSAXFunc">attributeSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+typedef void <a href="#cdataBlockSAXFunc">cdataBlockSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
+typedef void <a href="#charactersSAXFunc">charactersSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
+typedef void <a href="#commentSAXFunc">commentSAXFunc</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+typedef void <a href="#elementDeclSAXFunc">elementDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
 typedef void <a href="#endDocumentSAXFunc">endDocumentSAXFunc</a>		(void * ctx);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseFile">xmlParseFile</a>		(const char * filename);
-int	<a href="#xmlParseDocument">xmlParseDocument</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-typedef void <a href="#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
-typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	(void * ctx, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-typedef void <a href="#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len);
-void	<a href="#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a>		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
-int	<a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>	(int val);
-typedef void <a href="#endElementSAXFunc">endElementSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-unsigned long	<a href="#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a>	(const <a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br/>						 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-long	<a href="#xmlByteConsumed">xmlByteConsumed</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlCtxtReset">xmlCtxtReset</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#xmlSetFeature">xmlSetFeature</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * name, <br/>					 void * value);
-int	<a href="#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a>		(int val);
-int	<a href="#xmlParserInputRead">xmlParserInputRead</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br/>					 int len);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadFile">xmlReadFile</a>		(const char * filename, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#xmlGetFeaturesList">xmlGetFeaturesList</a>		(int * len, <br/>					 const char ** result);
-int	<a href="#xmlHasFeature">xmlHasFeature</a>			(<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature);
-typedef void <a href="#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
-int	<a href="#xmlSAXUserParseFile">xmlSAXUserParseFile</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 void * user_data, <br/>					 const char * filename);
-typedef void <a href="#fatalErrorSAXFunc">fatalErrorSAXFunc</a>		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlSAXParseDTD">xmlSAXParseDTD</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	<a href="#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>	(const <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br/>							 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-typedef void <a href="#entityDeclSAXFunc">entityDeclSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlLoadExternalEntity">xmlLoadExternalEntity</a>	(const char * URL, <br/>						 const char * ID, <br/>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlStopParser">xmlStopParser</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadFd">xmlReadFd</a>		(int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadIO">xmlReadIO</a>		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadDoc">xmlReadDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 void * user_data, <br/>					 const char * buffer, <br/>					 int size);
-int	<a href="#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 void * user_data, <br/>					 int depth, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
-typedef void <a href="#endElementNsSAX2Func">endElementNsSAX2Func</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
-void	<a href="#xmlCleanupParser">xmlCleanupParser</a>		(void);
-int	<a href="#xmlCtxtResetPush">xmlCtxtResetPush</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * chunk, <br/>					 int size, <br/>					 const char * filename, <br/>					 const char * encoding);
+typedef void <a href="#endElementNsSAX2Func">endElementNsSAX2Func</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
+typedef void <a href="#endElementSAXFunc">endElementSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef void <a href="#entityDeclSAXFunc">entityDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+typedef void <a href="#errorSAXFunc">errorSAXFunc</a>			(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+typedef void <a href="#externalSubsetSAXFunc">externalSubsetSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+typedef void <a href="#fatalErrorSAXFunc">fatalErrorSAXFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#getEntitySAXFunc">getEntitySAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef int <a href="#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>	(void * ctx);
+typedef int <a href="#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	(void * ctx);
+typedef void <a href="#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
+typedef void <a href="#internalSubsetSAXFunc">internalSubsetSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
 typedef int <a href="#isStandaloneSAXFunc">isStandaloneSAXFunc</a>		(void * ctx);
+typedef void <a href="#notationDeclSAXFunc">notationDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+typedef void <a href="#processingInstructionSAXFunc">processingInstructionSAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
+typedef void <a href="#referenceSAXFunc">referenceSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#resolveEntitySAXFunc">resolveEntitySAXFunc</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+typedef void <a href="#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
 typedef void <a href="#startDocumentSAXFunc">startDocumentSAXFunc</a>		(void * ctx);
+typedef void <a href="#startElementNsSAX2Func">startElementNsSAX2Func</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
+typedef void <a href="#startElementSAXFunc">startElementSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
+typedef void <a href="#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
+typedef void <a href="#warningSAXFunc">warningSAXFunc</a>			(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+long	<a href="#xmlByteConsumed">xmlByteConsumed</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlCleanupParser">xmlCleanupParser</a>		(void);
+void	<a href="#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a>		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
 void	<a href="#xmlClearParserCtxt">xmlClearParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#xmlParseExternalEntity">xmlParseExternalEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 void * user_data, <br/>					 int depth, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
-typedef void <a href="#notationDeclSAXFunc">notationDeclSAXFunc</a>		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-typedef void <a href="#warningSAXFunc">warningSAXFunc</a>			(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>						 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 const char * chunk, <br>						 int size, <br>						 const char * filename);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadDoc">xmlCtxtReadDoc</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFd">xmlCtxtReadFd</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFile">xmlCtxtReadFile</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadIO">xmlCtxtReadIO</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadMemory">xmlCtxtReadMemory</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+void	<a href="#xmlCtxtReset">xmlCtxtReset</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlCtxtResetPush">xmlCtxtResetPush</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 const char * filename, <br>					 const char * encoding);
+int	<a href="#xmlCtxtUseOptions">xmlCtxtUseOptions</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options);
+typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);
+void	<a href="#xmlFreeParserCtxt">xmlFreeParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	<a href="#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a>	(void);
+int	<a href="#xmlGetFeature">xmlGetFeature</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * result);
+int	<a href="#xmlGetFeaturesList">xmlGetFeaturesList</a>		(int * len, <br>					 const char ** result);
+int	<a href="#xmlHasFeature">xmlHasFeature</a>			(<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature);
+<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlIOParseDTD">xmlIOParseDTD</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+void	<a href="#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a>		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
+void	<a href="#xmlInitParser">xmlInitParser</a>			(void);
+int	<a href="#xmlInitParserCtxt">xmlInitParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a>		(int val);
+int	<a href="#xmlLineNumbersDefault">xmlLineNumbersDefault</a>		(int val);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlLoadExternalEntity">xmlLoadExternalEntity</a>	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewIOInputStream">xmlNewIOInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlNewParserCtxt">xmlNewParserCtxt</a>	(void);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * userData);
+int	<a href="#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
+int	<a href="#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 int depth, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br>						 int recover);
+int	<a href="#xmlParseChunk">xmlParseChunk</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate);
+int	<a href="#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
+<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlParseDTD">xmlParseDTD</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseDoc">xmlParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
+int	<a href="#xmlParseDocument">xmlParseDocument</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseEntity">xmlParseEntity</a>		(const char * filename);
+int	<a href="#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlParseExternalEntity">xmlParseExternalEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseFile">xmlParseFile</a>		(const char * filename);
+<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlParseInNodeContext">xmlParseInNodeContext</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const char * data, <br>					 int datalen, <br>					 int options, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseMemory">xmlParseMemory</a>		(const char * buffer, <br>					 int size);
+void	<a href="#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);
+const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	<a href="#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>	(const <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>							 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+unsigned long	<a href="#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a>	(const <a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br>						 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+typedef void <a href="#xmlParserInputDeallocate">xmlParserInputDeallocate</a>	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+int	<a href="#xmlParserInputGrow">xmlParserInputGrow</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len);
+int	<a href="#xmlParserInputRead">xmlParserInputRead</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len);
+int	<a href="#xmlPedanticParserDefault">xmlPedanticParserDefault</a>	(int val);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadDoc">xmlReadDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadFd">xmlReadFd</a>		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadFile">xmlReadFile</a>		(const char * filename, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadIO">xmlReadIO</a>		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadMemory">xmlReadMemory</a>		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverDoc">xmlRecoverDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverFile">xmlRecoverFile</a>		(const char * filename);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverMemory">xmlRecoverMemory</a>	(const char * buffer, <br>					 int size);
+<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlSAXParseDTD">xmlSAXParseDTD</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseDoc">xmlSAXParseDoc</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int recovery);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseEntity">xmlSAXParseEntity</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseFile">xmlSAXParseFile</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery, <br>					 void * data);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseMemory">xmlSAXParseMemory</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * buffer, <br>					 int size, <br>					 int recovery);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 const char * buffer, <br>						 int size, <br>						 int recovery, <br>						 void * data);
+int	<a href="#xmlSAXUserParseFile">xmlSAXUserParseFile</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * filename);
+int	<a href="#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * buffer, <br>					 int size);
 void	<a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>	(<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f);
+int	<a href="#xmlSetFeature">xmlSetFeature</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * value);
+void	<a href="#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br>					 const char * filename);
+void	<a href="#xmlStopParser">xmlStopParser</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>	(int val);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="XML_COMPLETE_ATTRS">Macro </a>XML_COMPLETE_ATTRS</h3><pre class="programlisting">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
-</pre><p>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_DEFAULT_VERSION">Macro </a>XML_DEFAULT_VERSION</h3><pre class="programlisting">#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>;
-</pre><p>The default version of XML used: 1.0</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_COMPLETE_ATTRS">Macro </a>XML_COMPLETE_ATTRS</h3>
+<pre class="programlisting">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
+</pre>
+<p>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize <a href="libxml2-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a>.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_DETECT_IDS">Macro </a>XML_DETECT_IDS</h3><pre class="programlisting">#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
-</pre><p>Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_DEFAULT_VERSION">Macro </a>XML_DEFAULT_VERSION</h3>
+<pre class="programlisting">#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>;
+</pre>
+<p>The default version of XML used: 1.0</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SAX2_MAGIC">Macro </a>XML_SAX2_MAGIC</h3><pre class="programlisting">#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
-</pre><p>Special constant found in SAX2 blocks initialized fields</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_DETECT_IDS">Macro </a>XML_DETECT_IDS</h3>
+<pre class="programlisting">#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
+</pre>
+<p>Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize <a href="libxml2-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a>.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SKIP_IDS">Macro </a>XML_SKIP_IDS</h3><pre class="programlisting">#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
-</pre><p>Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize <a href="libxml2-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a> in some special cases.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SAX2_MAGIC">Macro </a>XML_SAX2_MAGIC</h3>
+<pre class="programlisting">#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
+</pre>
+<p>Special constant found in SAX2 blocks initialized fields</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFeature">Enum </a>xmlFeature</h3><pre class="programlisting">enum <a href="#xmlFeature">xmlFeature</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SKIP_IDS">Macro </a>XML_SKIP_IDS</h3>
+<pre class="programlisting">#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
+</pre>
+<p>Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize <a href="libxml2-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a> in some special cases.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFeature">Enum </a>xmlFeature</h3>
+<pre class="programlisting">enum <a href="#xmlFeature">xmlFeature</a> {
     <a name="XML_WITH_THREAD">XML_WITH_THREAD</a> = 1
     <a name="XML_WITH_TREE">XML_WITH_TREE</a> = 2
     <a name="XML_WITH_OUTPUT">XML_WITH_OUTPUT</a> = 3
@@ -225,10 +226,14 @@
     <a name="XML_WITH_LZMA">XML_WITH_LZMA</a> = 33
     <a name="XML_WITH_NONE">XML_WITH_NONE</a> = 99999 /*  just to be sure of allocation size */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputState">Enum </a>xmlParserInputState</h3><pre class="programlisting">enum <a href="#xmlParserInputState">xmlParserInputState</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputState">Enum </a>xmlParserInputState</h3>
+<pre class="programlisting">enum <a href="#xmlParserInputState">xmlParserInputState</a> {
     <a name="XML_PARSER_EOF">XML_PARSER_EOF</a> = -1 /* nothing is to be parsed */
     <a name="XML_PARSER_START">XML_PARSER_START</a> = 0 /* nothing has been parsed */
     <a name="XML_PARSER_MISC">XML_PARSER_MISC</a> = 1 /* Misc* before int subset */
@@ -248,10 +253,14 @@
     <a name="XML_PARSER_IGNORE">XML_PARSER_IGNORE</a> = 15 /* within an IGNORED section */
     <a name="XML_PARSER_PUBLIC_LITERAL">XML_PARSER_PUBLIC_LITERAL</a> = 16 /*  within a PUBLIC value */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserMode">Enum </a>xmlParserMode</h3><pre class="programlisting">enum <a href="#xmlParserMode">xmlParserMode</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserMode">Enum </a>xmlParserMode</h3>
+<pre class="programlisting">enum <a href="#xmlParserMode">xmlParserMode</a> {
     <a name="XML_PARSE_UNKNOWN">XML_PARSE_UNKNOWN</a> = 0
     <a name="XML_PARSE_DOM">XML_PARSE_DOM</a> = 1
     <a name="XML_PARSE_SAX">XML_PARSE_SAX</a> = 2
@@ -259,36 +268,56 @@
     <a name="XML_PARSE_PUSH_SAX">XML_PARSE_PUSH_SAX</a> = 4
     <a name="XML_PARSE_READER">XML_PARSE_READER</a> = 5
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfo">Structure </a>xmlParserNodeInfo</h3><pre class="programlisting">struct _xmlParserNodeInfo {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserNodeInfo">Structure </a>xmlParserNodeInfo</h3>
+<pre class="programlisting">struct _xmlParserNodeInfo {
     const struct _xmlNode *	node	: Position &amp; line # that text that created the node begins &amp; ends on
     unsigned long	begin_pos
     unsigned long	begin_line
     unsigned long	end_pos
     unsigned long	end_line
 } xmlParserNodeInfo;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoPtr">Typedef </a>xmlParserNodeInfoPtr</h3><pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * xmlParserNodeInfoPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserNodeInfoPtr">Typedef </a>xmlParserNodeInfoPtr</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * xmlParserNodeInfoPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoSeq">Structure </a>xmlParserNodeInfoSeq</h3><pre class="programlisting">struct _xmlParserNodeInfoSeq {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserNodeInfoSeq">Structure </a>xmlParserNodeInfoSeq</h3>
+<pre class="programlisting">struct _xmlParserNodeInfoSeq {
     unsigned long	maximum
     unsigned long	length
     <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	buffer
 } xmlParserNodeInfoSeq;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoSeqPtr">Typedef </a>xmlParserNodeInfoSeqPtr</h3><pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * xmlParserNodeInfoSeqPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserNodeInfoSeqPtr">Typedef </a>xmlParserNodeInfoSeqPtr</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * xmlParserNodeInfoSeqPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserOption">Enum </a>xmlParserOption</h3><pre class="programlisting">enum <a href="#xmlParserOption">xmlParserOption</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserOption">Enum </a>xmlParserOption</h3>
+<pre class="programlisting">enum <a href="#xmlParserOption">xmlParserOption</a> {
     <a name="XML_PARSE_RECOVER">XML_PARSE_RECOVER</a> = 1 /* recover on errors */
     <a name="XML_PARSE_NOENT">XML_PARSE_NOENT</a> = 2 /* substitute entities */
     <a name="XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a> = 4 /* load the external subset */
@@ -313,10 +342,14 @@
     <a name="XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a> = 2097152 /* ignore internal document encoding hint */
     <a name="XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> = 4194304 /*  Store big lines numbers in text PSVI field */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXHandlerV1">Structure </a>xmlSAXHandlerV1</h3><pre class="programlisting">struct _xmlSAXHandlerV1 {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXHandlerV1">Structure </a>xmlSAXHandlerV1</h3>
+<pre class="programlisting">struct _xmlSAXHandlerV1 {
     <a href="libxml2-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a>	internalSubset
     <a href="libxml2-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a>	isStandalone
     <a href="libxml2-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	hasInternalSubset
@@ -346,428 +379,2777 @@
     <a href="libxml2-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>	externalSubset
     unsigned int	initialized
 } xmlSAXHandlerV1;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXHandlerV1Ptr">Typedef </a>xmlSAXHandlerV1Ptr</h3><pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * xmlSAXHandlerV1Ptr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXHandlerV1Ptr">Typedef </a>xmlSAXHandlerV1Ptr</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * xmlSAXHandlerV1Ptr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStartTag">Structure </a>xmlStartTag</h3><pre class="programlisting">struct _xmlStartTag {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStartTag">Structure </a>xmlStartTag</h3>
+<pre class="programlisting">struct _xmlStartTag {
 The content of this structure is not made public by the API.
 } xmlStartTag;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="attributeDeclSAXFunc"/>Function type attributeDeclSAXFunc</h3><pre class="programlisting">void	attributeDeclSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>					 int type, <br/>					 int def, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br/>
-</pre><p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been 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>elem</tt></i>:</span></td><td>the name of the element</td></tr><tr><td><span class="term"><i><tt>fullname</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td></tr><tr><td><span class="term"><i><tt>def</tt></i>:</span></td><td>the type of default value</td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the tree of enumerated value set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="attributeSAXFunc"/>Function type attributeSAXFunc</h3><pre class="programlisting">void	attributeSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Handle an <a href="libxml2-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml2-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> element added to the element.</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 <a href="libxml2-SAX.html#attribute">attribute</a> name, including namespace prefix</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>The <a href="libxml2-SAX.html#attribute">attribute</a> value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="cdataBlockSAXFunc"/>Function type cdataBlockSAXFunc</h3><pre class="programlisting">void	cdataBlockSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int len)<br/>
-</pre><p>Called when a pcdata block has been 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>value</tt></i>:</span></td><td>The pcdata content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the block length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="charactersSAXFunc"/>Function type charactersSAXFunc</h3><pre class="programlisting">void	charactersSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len)<br/>
-</pre><p>Receiving some chars from the parser.</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>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="commentSAXFunc"/>Function type commentSAXFunc</h3><pre class="programlisting">void	commentSAXFunc			(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>A <a href="libxml2-SAX.html#comment">comment</a> has been 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>value</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#comment">comment</a> content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="elementDeclSAXFunc"/>Function type elementDeclSAXFunc</h3><pre class="programlisting">void	elementDeclSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br/>
-</pre><p>An element definition has been 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 element name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the element value tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="endDocumentSAXFunc"/>Function type endDocumentSAXFunc</h3><pre class="programlisting">void	endDocumentSAXFunc		(void * ctx)<br/>
-</pre><p>Called when the document end has been detected.</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="endElementNsSAX2Func"/>Function type endElementNsSAX2Func</h3><pre class="programlisting">void	endElementNsSAX2Func		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</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>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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="endElementSAXFunc"/>Function type endElementSAXFunc</h3><pre class="programlisting">void	endElementSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Called when the end of an element has been detected.</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 element name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="entityDeclSAXFunc"/>Function type entityDeclSAXFunc</h3><pre class="programlisting">void	entityDeclSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>An entity definition has been 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 entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type</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>content</tt></i>:</span></td><td>the entity value (without processing).</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="errorSAXFunc"/>Function type errorSAXFunc</h3><pre class="programlisting">void	errorSAXFunc			(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Display and format an error messages, callback.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="externalSubsetSAXFunc"/>Function type externalSubsetSAXFunc</h3><pre class="programlisting">void	externalSubsetSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on external subset declaration.</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="fatalErrorSAXFunc"/>Function type fatalErrorSAXFunc</h3><pre class="programlisting">void	fatalErrorSAXFunc		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Display and format fatal error messages, callback. Note: so far fatalError() SAX callbacks are not used, error() get all the callbacks for errors.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getEntitySAXFunc"/>Function type getEntitySAXFunc</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getEntitySAXFunc	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Get an entity by name.</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getParameterEntitySAXFunc"/>Function type getParameterEntitySAXFunc</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getParameterEntitySAXFunc	(void * ctx, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Get a parameter entity by name.</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="hasExternalSubsetSAXFunc"/>Function type hasExternalSubsetSAXFunc</h3><pre class="programlisting">int	hasExternalSubsetSAXFunc	(void * ctx)<br/>
-</pre><p>Does this document has an external subset?</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="hasInternalSubsetSAXFunc"/>Function type hasInternalSubsetSAXFunc</h3><pre class="programlisting">int	hasInternalSubsetSAXFunc	(void * ctx)<br/>
-</pre><p>Does this document has an internal subset.</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="ignorableWhitespaceSAXFunc"/>Function type ignorableWhitespaceSAXFunc</h3><pre class="programlisting">void	ignorableWhitespaceSAXFunc	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>					 int len)<br/>
-</pre><p>Receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters.</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>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="internalSubsetSAXFunc"/>Function type internalSubsetSAXFunc</h3><pre class="programlisting">void	internalSubsetSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on internal subset declaration.</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="isStandaloneSAXFunc"/>Function type isStandaloneSAXFunc</h3><pre class="programlisting">int	isStandaloneSAXFunc		(void * ctx)<br/>
-</pre><p>Is this document tagged standalone?</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="notationDeclSAXFunc"/>Function type notationDeclSAXFunc</h3><pre class="programlisting">void	notationDeclSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
-</pre><p>What to do when a notation declaration has been 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 notation</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="processingInstructionSAXFunc"/>Function type processingInstructionSAXFunc</h3><pre class="programlisting">void	processingInstructionSAXFunc	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br/>
-</pre><p>A processing instruction has been 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>target</tt></i>:</span></td><td>the target name</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the PI data's</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="referenceSAXFunc"/>Function type referenceSAXFunc</h3><pre class="programlisting">void	referenceSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Called when an entity <a href="libxml2-SAX.html#reference">reference</a> is detected.</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 entity name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="resolveEntitySAXFunc"/>Function type resolveEntitySAXFunc</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	resolveEntitySAXFunc	(void * ctx, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
-</pre><p>Callback: 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's own entity resolution routine</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>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>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="setDocumentLocatorSAXFunc"/>Function type setDocumentLocatorSAXFunc</h3><pre class="programlisting">void	setDocumentLocatorSAXFunc	(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br/>
-</pre><p>Receive the document locator at startup, actually xmlDefaultSAXLocator. Everything is available on the context, so this is useless in our case.</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>loc</tt></i>:</span></td><td>A SAX Locator</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="startDocumentSAXFunc"/>Function type startDocumentSAXFunc</h3><pre class="programlisting">void	startDocumentSAXFunc		(void * ctx)<br/>
-</pre><p>Called when the document start being processed.</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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="startElementNsSAX2Func"/>Function type startElementNsSAX2Func</h3><pre class="programlisting">void	startElementNsSAX2Func		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 int nb_namespaces, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br/>					 int nb_attributes, <br/>					 int nb_defaulted, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br/>
-</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</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>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. The defaulted ones are at the end of the array</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="libxml2-SAX.html#attribute">attribute</a> values.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="startElementSAXFunc"/>Function type startElementSAXFunc</h3><pre class="programlisting">void	startElementSAXFunc		(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br/>
-</pre><p>Called when an opening tag has been processed.</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 element name, including namespace prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array of name/value attributes pairs, NULL terminated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="unparsedEntityDeclSAXFunc"/>Function type unparsedEntityDeclSAXFunc</h3><pre class="programlisting">void	unparsedEntityDeclSAXFunc	(void * ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>					 const <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="warningSAXFunc"/>Function type warningSAXFunc</h3><pre class="programlisting">void	warningSAXFunc			(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Display and format a warning messages, callback.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExternalEntityLoader"/>Function type xmlExternalEntityLoader</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlExternalEntityLoader	(const char * URL, <br/>						 const char * ID, <br/>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context)<br/>
-</pre><p>External entity loaders types.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The System ID of the resource requested</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>The Public ID of the resource requested</td></tr><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the entity input parser.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputDeallocate"/>Function type xmlParserInputDeallocate</h3><pre class="programlisting">void	xmlParserInputDeallocate	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Callback for freeing some parser input allocations.</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 string to deallocate</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlByteConsumed"/>xmlByteConsumed ()</h3><pre class="programlisting">long	xmlByteConsumed			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>This function provides the current index of the parser relative to the start of the current entity. This function is computed in bytes from the beginning starting at zero and finishing at the size in byte of the file if parsing a file. The function is of constant cost if the input is UTF-8 but can be costly if run on non-UTF-8 input.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupParser"/>xmlCleanupParser ()</h3><pre class="programlisting">void	xmlCleanupParser		(void)<br/>
-</pre><p>This function name is somewhat misleading. It does not clean up parser state, it cleans up memory allocated by the library itself. It is a cleanup function for the XML library. It tries to reclaim all related global memory allocated for the library processing. It doesn't deallocate any document related memory. One should call xmlCleanupParser() only when the process has finished using the library and all XML/HTML documents built with it. See also xmlInitParser() which has the opposite function of preparing the library for operations. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="attributeDeclSAXFunc"></a>Function type attributeDeclSAXFunc</h3>
+<pre class="programlisting">void	attributeDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
+</pre>
+<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been 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>elem</tt></i>:</span></td>
+<td>the name of the element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>def</tt></i>:</span></td>
+<td>the type of default value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>the tree of enumerated value set</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlClearNodeInfoSeq"/>xmlClearNodeInfoSeq ()</h3><pre class="programlisting">void	xmlClearNodeInfoSeq		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br/>
-</pre><p>-- Clear (release memory and reinitialize) node info sequence</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>seq</tt></i>:</span></td><td>a node info sequence pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlClearParserCtxt"/>xmlClearParserCtxt ()</h3><pre class="programlisting">void	xmlClearParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Clear (release owned resources) and reinitialize a parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateDocParserCtxt"/>xmlCreateDocParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateDocParserCtxt	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br/>
-</pre><p>Creates a parser context for an XML in-memory document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateIOParserCtxt"/>xmlCreateIOParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateIOParserCtxt	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>						 void * user_data, <br/>						 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>						 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>						 void * ioctx, <br/>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Create a parser context for using the XML parser with an existing I/O stream</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreatePushParserCtxt"/>xmlCreatePushParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreatePushParserCtxt	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>						 void * user_data, <br/>						 const char * chunk, <br/>						 int size, <br/>						 const char * filename)<br/>
-</pre><p>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 <a href="libxml2-SAX.html#characters">characters</a> will be parsed so they don'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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReadDoc"/>xmlCtxtReadDoc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadDoc		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReadFd"/>xmlCtxtReadFd ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadFd		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReadFile"/>xmlCtxtReadFile ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadFile		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * filename, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReadIO"/>xmlCtxtReadIO ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadIO		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReadMemory"/>xmlCtxtReadMemory ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadMemory	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * buffer, <br/>					 int size, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReset"/>xmlCtxtReset ()</h3><pre class="programlisting">void	xmlCtxtReset			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Reset a parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtResetPush"/>xmlCtxtResetPush ()</h3><pre class="programlisting">int	xmlCtxtResetPush		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * chunk, <br/>					 int size, <br/>					 const char * filename, <br/>					 const char * encoding)<br/>
-</pre><p>Reset a push parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or URI</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtUseOptions"/>xmlCtxtUseOptions ()</h3><pre class="programlisting">int	xmlCtxtUseOptions		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 int options)<br/>
-</pre><p>Applies the options to the parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, the set of unknown or unimplemented options in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeParserCtxt"/>xmlFreeParserCtxt ()</h3><pre class="programlisting">void	xmlFreeParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetExternalEntityLoader"/>xmlGetExternalEntityLoader ()</h3><pre class="programlisting"><a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	xmlGetExternalEntityLoader	(void)<br/>
-</pre><p>Get the default external entity resolver function for the application</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 <a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> function pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetFeature"/>xmlGetFeature ()</h3><pre class="programlisting">int	xmlGetFeature			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * name, <br/>					 void * result)<br/>
-</pre><p>Read the current value of one feature of this parser instance</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML/HTML parser context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the feature name</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>location to store the result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case or error, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetFeaturesList"/>xmlGetFeaturesList ()</h3><pre class="programlisting">int	xmlGetFeaturesList		(int * len, <br/>					 const char ** result)<br/>
-</pre><p>Copy at most *@len feature names into the @result array</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the features name array (input/output)</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>an array of string to be filled with the features name.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case or error, or the total number of features, len is updated with the number of strings copied, strings must not be deallocated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHasFeature"/>xmlHasFeature ()</h3><pre class="programlisting">int	xmlHasFeature			(<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature)<br/>
-</pre><p>Examines if the library has been compiled with a given feature.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>feature</tt></i>:</span></td><td>the feature to be examined</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a non-zero value if the feature exist, otherwise zero. Returns zero (0) if the feature does not exist or an unknown unknown feature is requested, non-zero otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOParseDTD"/>xmlIOParseDTD ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlIOParseDTD		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Load and parse a DTD</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block or NULL</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an Input Buffer</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error. @input will be freed by the function in any case.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitNodeInfoSeq"/>xmlInitNodeInfoSeq ()</h3><pre class="programlisting">void	xmlInitNodeInfoSeq		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br/>
-</pre><p>-- Initialize (set to initial state) node info sequence</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>seq</tt></i>:</span></td><td>a node info sequence pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitParser"/>xmlInitParser ()</h3><pre class="programlisting">void	xmlInitParser			(void)<br/>
-</pre><p>Initialization function for the XML parser. This is not reentrant. Call once before processing in case of use in multithreaded programs.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="attributeSAXFunc"></a>Function type attributeSAXFunc</h3>
+<pre class="programlisting">void	attributeSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Handle an <a href="libxml2-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml2-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> element added to the element.</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 <a href="libxml2-SAX.html#attribute">attribute</a> name, including namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>The <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitParserCtxt"/>xmlInitParserCtxt ()</h3><pre class="programlisting">int	xmlInitParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Initialize a parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlKeepBlanksDefault"/>xmlKeepBlanksDefault ()</h3><pre class="programlisting">int	xmlKeepBlanksDefault		(int val)<br/>
-</pre><p>Set and return the previous value for default blanks text nodes support. The 1.x version of the parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and ignorableWhitespace() are only generated when running the parser in validating mode and when the current element doesn't allow CDATA or mixed content. This function is provided as a way to force the standard behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X . Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the "empty" nodes generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, indentation is not generated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for substitution.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLineNumbersDefault"/>xmlLineNumbersDefault ()</h3><pre class="programlisting">int	xmlLineNumbersDefault		(int val)<br/>
-</pre><p>Set and return the previous value for enabling line numbers in elements contents. This may break on old application and is turned off by default.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for substitution.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadExternalEntity"/>xmlLoadExternalEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlLoadExternalEntity	(const char * URL, <br/>						 const char * ID, <br/>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Load an external entity, note that the use of this function for unparsed entities may generate problems</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the Public ID for the entity to load</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context in which the entity is called or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewIOInputStream"/>xmlNewIOInputStream ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewIOInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Create a new input stream structure encapsulating the @input into a stream suitable for the parser.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an I/O Input</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewParserCtxt"/>xmlNewParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlNewParserCtxt	(void)<br/>
-</pre><p>Allocate and initialize a new parser context.</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 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseBalancedChunkMemory"/>xmlParseBalancedChunkMemory ()</h3><pre class="programlisting">int	xmlParseBalancedChunkMemory	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 void * user_data, <br/>					 int depth, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br/>
-</pre><p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to (must not be NULL)</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the input string in UTF8 or ISO-Latin (zero terminated)</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseBalancedChunkMemoryRecover"/>xmlParseBalancedChunkMemoryRecover ()</h3><pre class="programlisting">int	xmlParseBalancedChunkMemoryRecover	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>						 void * user_data, <br/>						 int depth, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br/>						 int recover)<br/>
-</pre><p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to (must not be NULL)</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the input string in UTF8 or ISO-Latin (zero terminated)</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>recover</tt></i>:</span></td><td>return nodes even if the data is broken (use 0)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise In case recover is set to 1, the nodelist will not be empty even if the parsed chunk is not well balanced, assuming the parsing succeeded to some extent.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseChunk"/>xmlParseChunk ()</h3><pre class="programlisting">int	xmlParseChunk			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * chunk, <br/>					 int size, <br/>					 int terminate)<br/>
-</pre><p>Parse a Chunk of memory</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseCtxtExternalEntity"/>xmlParseCtxtExternalEntity ()</h3><pre class="programlisting">int	xmlParseCtxtExternalEntity	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br/>
-</pre><p>Parse an external general entity within an existing parsing context An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the existing parsing context</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to load</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseDTD"/>xmlParseDTD ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlParseDTD		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Load and parse an external subset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>a NAME* containing the External ID of the DTD</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>a NAME* containing the URL to the DTD</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseDoc"/>xmlParseDoc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br/>
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseDocument"/>xmlParseDocument ()</h3><pre class="programlisting">int	xmlParseDocument		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML document (and build a tree if using the standard SAX interface). [1] document ::= prolog element Misc* [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEntity"/>xmlParseEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseEntity		(const char * filename)<br/>
-</pre><p>parse an XML external entity out of context and build a tree. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseExtParsedEnt"/>xmlParseExtParsedEnt ()</h3><pre class="programlisting">int	xmlParseExtParsedEnt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a general parsed entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseExternalEntity"/>xmlParseExternalEntity ()</h3><pre class="programlisting">int	xmlParseExternalEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 void * user_data, <br/>					 int depth, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br/>
-</pre><p>Parse an external general entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to load</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseFile"/>xmlParseFile ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseFile		(const char * filename)<br/>
-</pre><p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree if the file was wellformed, NULL otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseInNodeContext"/>xmlParseInNodeContext ()</h3><pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlParseInNodeContext	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const char * data, <br/>					 int datalen, <br/>					 int options, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br/>
-</pre><p>Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the given node. The allowed sequence for the data is a Well Balanced Chunk defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the context node</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the input string</td></tr><tr><td><span class="term"><i><tt>datalen</tt></i>:</span></td><td>the input string length in bytes</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td><a href="libxml2-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a> if the chunk is well balanced, and the parser error code otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseMemory"/>xmlParseMemory ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseMemory		(const char * buffer, <br/>					 int size)<br/>
-</pre><p>parse an XML in-memory block and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserAddNodeInfo"/>xmlParserAddNodeInfo ()</h3><pre class="programlisting">void	xmlParserAddNodeInfo		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)<br/>
-</pre><p>Insert node info record into the sorted sequence</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>info</tt></i>:</span></td><td>a node info sequence pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserFindNodeInfo"/>xmlParserFindNodeInfo ()</h3><pre class="programlisting">const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	xmlParserFindNodeInfo	(const <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br/>							 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Find the parser node info struct for a given node</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>an XML node within the tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> block pointer or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserFindNodeInfoIndex"/>xmlParserFindNodeInfoIndex ()</h3><pre class="programlisting">unsigned long	xmlParserFindNodeInfoIndex	(const <a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br/>						 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p><a href="libxml2-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a> : Find the index that the info record for the given node is or should be at in a sorted sequence</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>seq</tt></i>:</span></td><td>a node info sequence pointer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>an XML node pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a long indicating the position of the record</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputGrow"/>xmlParserInputGrow ()</h3><pre class="programlisting">int	xmlParserInputGrow		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br/>					 int len)<br/>
-</pre><p>This function increase the input for the parser. It tries to preserve pointers to the input buffer, and keep already read data</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an XML parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>an indicative size for the lookahead</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the amount of char read, or -1 in case of error, 0 indicate the end of this entity</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputRead"/>xmlParserInputRead ()</h3><pre class="programlisting">int	xmlParserInputRead		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br/>					 int len)<br/>
-</pre><p>This function was internal and is deprecated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an XML parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>an indicative size for the lookahead</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 as this is an error to use it.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPedanticParserDefault"/>xmlPedanticParserDefault ()</h3><pre class="programlisting">int	xmlPedanticParserDefault	(int val)<br/>
-</pre><p>Set and return the previous value for enabling pedantic warnings.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for substitution.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReadDoc"/>xmlReadDoc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReadFd"/>xmlReadFd ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadFd		(int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReadFile"/>xmlReadFile ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadFile		(const char * filename, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML file from the filesystem or the network.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReadIO"/>xmlReadIO ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadIO		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML document from I/O functions and source and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReadMemory"/>xmlReadMemory ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadMemory		(const char * buffer, <br/>					 int size, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRecoverDoc"/>xmlRecoverDoc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br/>
-</pre><p>parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to build a tree is tried anyway</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL in case of failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRecoverFile"/>xmlRecoverFile ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverFile		(const char * filename)<br/>
-</pre><p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree anyway</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL in case of failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRecoverMemory"/>xmlRecoverMemory ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverMemory	(const char * buffer, <br/>					 int size)<br/>
-</pre><p>parse an XML in-memory block and build a tree. In the case the document is not Well Formed, an attempt to build a tree is tried anyway</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseDTD"/>xmlSAXParseDTD ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlSAXParseDTD		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Load and parse an external subset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>a NAME* containing the External ID of the DTD</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>a NAME* containing the URL to the DTD</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseDoc"/>xmlSAXParseDoc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseDoc		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 int recovery)<br/>
-</pre><p>parse an XML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well Formed documents</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseEntity"/>xmlSAXParseEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseEntity	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const char * filename)<br/>
-</pre><p>parse an XML external entity out of context and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseFile"/>xmlSAXParseFile ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseFile		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const char * filename, <br/>					 int recovery)<br/>
-</pre><p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well Formed documents</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseFileWithData"/>xmlSAXParseFileWithData ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseFileWithData	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const char * filename, <br/>					 int recovery, <br/>					 void * data)<br/>
-</pre><p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well Formed documents</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseMemory"/>xmlSAXParseMemory ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseMemory	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 const char * buffer, <br/>					 int size, <br/>					 int recovery)<br/>
-</pre><p>parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read not Well Formed documents</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseMemoryWithData"/>xmlSAXParseMemoryWithData ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseMemoryWithData	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>						 const char * buffer, <br/>						 int size, <br/>						 int recovery, <br/>						 void * data)<br/>
-</pre><p>parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well Formed documents</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXUserParseFile"/>xmlSAXUserParseFile ()</h3><pre class="programlisting">int	xmlSAXUserParseFile		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 void * user_data, <br/>					 const char * filename)<br/>
-</pre><p>parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or a error number otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXUserParseMemory"/>xmlSAXUserParseMemory ()</h3><pre class="programlisting">int	xmlSAXUserParseMemory		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 void * user_data, <br/>					 const char * buffer, <br/>					 int size)<br/>
-</pre><p>A better SAX parsing routine. parse an XML in-memory buffer and call the given SAX handler routines.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an in-memory XML document input</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the length of the XML document in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or a error number otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetExternalEntityLoader"/>xmlSetExternalEntityLoader ()</h3><pre class="programlisting">void	xmlSetExternalEntityLoader	(<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f)<br/>
-</pre><p>Changes the defaultexternal entity resolver function for the application</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the new entity resolver function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetFeature"/>xmlSetFeature ()</h3><pre class="programlisting">int	xmlSetFeature			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * name, <br/>					 void * value)<br/>
-</pre><p>Change the current value of one feature of this parser instance</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML/HTML parser context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the feature name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>pointer to the location of the new value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case or error, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetupParserForBuffer"/>xmlSetupParserForBuffer ()</h3><pre class="programlisting">void	xmlSetupParserForBuffer		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br/>					 const char * filename)<br/>
-</pre><p>Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStopParser"/>xmlStopParser ()</h3><pre class="programlisting">void	xmlStopParser			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Blocks further parser processing</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSubstituteEntitiesDefault"/>xmlSubstituteEntitiesDefault ()</h3><pre class="programlisting">int	xmlSubstituteEntitiesDefault	(int val)<br/>
-</pre><p>Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for substitution.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="cdataBlockSAXFunc"></a>Function type cdataBlockSAXFunc</h3>
+<pre class="programlisting">void	cdataBlockSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
+</pre>
+<p>Called when a pcdata block has been 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>value</tt></i>:</span></td>
+<td>The pcdata content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the block length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="charactersSAXFunc"></a>Function type charactersSAXFunc</h3>
+<pre class="programlisting">void	charactersSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
+</pre>
+<p>Receiving some chars from the parser.</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>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="commentSAXFunc"></a>Function type commentSAXFunc</h3>
+<pre class="programlisting">void	commentSAXFunc			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>A <a href="libxml2-SAX.html#comment">comment</a> has been 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>value</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="elementDeclSAXFunc"></a>Function type elementDeclSAXFunc</h3>
+<pre class="programlisting">void	elementDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
+</pre>
+<p>An element definition has been 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 element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the element type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the element value tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="endDocumentSAXFunc"></a>Function type endDocumentSAXFunc</h3>
+<pre class="programlisting">void	endDocumentSAXFunc		(void * ctx)<br>
+</pre>
+<p>Called when the document end has been detected.</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></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="endElementNsSAX2Func"></a>Function type endElementNsSAX2Func</h3>
+<pre class="programlisting">void	endElementNsSAX2Func		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
+</pre>
+<p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</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>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>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="endElementSAXFunc"></a>Function type endElementSAXFunc</h3>
+<pre class="programlisting">void	endElementSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Called when the end of an element has been detected.</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 element name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="entityDeclSAXFunc"></a>Function type entityDeclSAXFunc</h3>
+<pre class="programlisting">void	entityDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>An entity definition has been 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 entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type</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>content</tt></i>:</span></td>
+<td>the entity value (without processing).</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="errorSAXFunc"></a>Function type errorSAXFunc</h3>
+<pre class="programlisting">void	errorSAXFunc			(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Display and format an error messages, callback.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="externalSubsetSAXFunc"></a>Function type externalSubsetSAXFunc</h3>
+<pre class="programlisting">void	externalSubsetSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on external subset declaration.</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 root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="fatalErrorSAXFunc"></a>Function type fatalErrorSAXFunc</h3>
+<pre class="programlisting">void	fatalErrorSAXFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Display and format fatal error messages, callback. Note: so far fatalError() SAX callbacks are not used, error() get all the callbacks for errors.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getEntitySAXFunc"></a>Function type getEntitySAXFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getEntitySAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get an entity by name.</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 entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getParameterEntitySAXFunc"></a>Function type getParameterEntitySAXFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getParameterEntitySAXFunc	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get a parameter entity by name.</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 entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="hasExternalSubsetSAXFunc"></a>Function type hasExternalSubsetSAXFunc</h3>
+<pre class="programlisting">int	hasExternalSubsetSAXFunc	(void * ctx)<br>
+</pre>
+<p>Does this document has an external subset?</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>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="hasInternalSubsetSAXFunc"></a>Function type hasInternalSubsetSAXFunc</h3>
+<pre class="programlisting">int	hasInternalSubsetSAXFunc	(void * ctx)<br>
+</pre>
+<p>Does this document has an internal subset.</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>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="ignorableWhitespaceSAXFunc"></a>Function type ignorableWhitespaceSAXFunc</h3>
+<pre class="programlisting">void	ignorableWhitespaceSAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
+</pre>
+<p>Receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml2-SAX.html#characters">characters</a>.</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>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="internalSubsetSAXFunc"></a>Function type internalSubsetSAXFunc</h3>
+<pre class="programlisting">void	internalSubsetSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on internal subset declaration.</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 root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="isStandaloneSAXFunc"></a>Function type isStandaloneSAXFunc</h3>
+<pre class="programlisting">int	isStandaloneSAXFunc		(void * ctx)<br>
+</pre>
+<p>Is this document tagged standalone?</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>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="notationDeclSAXFunc"></a>Function type notationDeclSAXFunc</h3>
+<pre class="programlisting">void	notationDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
+</pre>
+<p>What to do when a notation declaration has been 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 notation</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>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="processingInstructionSAXFunc"></a>Function type processingInstructionSAXFunc</h3>
+<pre class="programlisting">void	processingInstructionSAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
+</pre>
+<p>A processing instruction has been 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>target</tt></i>:</span></td>
+<td>the target name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the PI data's</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="referenceSAXFunc"></a>Function type referenceSAXFunc</h3>
+<pre class="programlisting">void	referenceSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Called when an entity <a href="libxml2-SAX.html#reference">reference</a> is detected.</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 entity name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="resolveEntitySAXFunc"></a>Function type resolveEntitySAXFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	resolveEntitySAXFunc	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
+</pre>
+<p>Callback: 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's own entity resolution routine</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>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>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="setDocumentLocatorSAXFunc"></a>Function type setDocumentLocatorSAXFunc</h3>
+<pre class="programlisting">void	setDocumentLocatorSAXFunc	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
+</pre>
+<p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a>. Everything is available on the context, so this is useless in our case.</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>loc</tt></i>:</span></td>
+<td>A SAX Locator</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="startDocumentSAXFunc"></a>Function type startDocumentSAXFunc</h3>
+<pre class="programlisting">void	startDocumentSAXFunc		(void * ctx)<br>
+</pre>
+<p>Called when the document start being processed.</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></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="startElementNsSAX2Func"></a>Function type startElementNsSAX2Func</h3>
+<pre class="programlisting">void	startElementNsSAX2Func		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br>
+</pre>
+<p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</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>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. The defaulted ones are at the end of the array</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="libxml2-SAX.html#attribute">attribute</a> values.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="startElementSAXFunc"></a>Function type startElementSAXFunc</h3>
+<pre class="programlisting">void	startElementSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br>
+</pre>
+<p>Called when an opening tag has been processed.</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 element name, including namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>atts</tt></i>:</span></td>
+<td>An array of name/value attributes pairs, NULL terminated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="unparsedEntityDeclSAXFunc"></a>Function type unparsedEntityDeclSAXFunc</h3>
+<pre class="programlisting">void	unparsedEntityDeclSAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="warningSAXFunc"></a>Function type warningSAXFunc</h3>
+<pre class="programlisting">void	warningSAXFunc			(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Display and format a warning messages, callback.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExternalEntityLoader"></a>Function type xmlExternalEntityLoader</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlExternalEntityLoader	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context)<br>
+</pre>
+<p>External entity loaders types.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The System ID of the resource requested</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>The Public ID of the resource requested</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>the XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the entity input parser.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputDeallocate"></a>Function type xmlParserInputDeallocate</h3>
+<pre class="programlisting">void	xmlParserInputDeallocate	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Callback for freeing some parser input allocations.</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 string to deallocate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlByteConsumed"></a>xmlByteConsumed ()</h3>
+<pre class="programlisting">long	xmlByteConsumed			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>This function provides the current index of the parser relative to the start of the current entity. This function is computed in bytes from the beginning starting at zero and finishing at the size in byte of the file if parsing a file. The function is of constant cost if the input is UTF-8 but can be costly if run on non-UTF-8 input.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupParser"></a>xmlCleanupParser ()</h3>
+<pre class="programlisting">void	xmlCleanupParser		(void)<br>
+</pre>
+<p>This function name is somewhat misleading. It does not clean up parser state, it cleans up memory allocated by the library itself. It is a cleanup function for the XML library. It tries to reclaim all related global memory allocated for the library processing. It doesn't deallocate any document related memory. One should call xmlCleanupParser() only when the process has finished using the library and all XML/HTML documents built with it. See also xmlInitParser() which has the opposite function of preparing the library for operations. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlClearNodeInfoSeq"></a>xmlClearNodeInfoSeq ()</h3>
+<pre class="programlisting">void	xmlClearNodeInfoSeq		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br>
+</pre>
+<p>DEPRECATED: Don't use. -- Clear (release memory and reinitialize) node info sequence</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>seq</tt></i>:</span></td>
+<td>a node info sequence pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlClearParserCtxt"></a>xmlClearParserCtxt ()</h3>
+<pre class="programlisting">void	xmlClearParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Clear (release owned resources) and reinitialize a parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateDocParserCtxt"></a>xmlCreateDocParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateDocParserCtxt	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
+</pre>
+<p>Creates a parser context for an XML in-memory document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateIOParserCtxt"></a>xmlCreateIOParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateIOParserCtxt	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>						 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Create a parser context for using the XML parser with an existing I/O stream</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreatePushParserCtxt"></a>xmlCreatePushParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreatePushParserCtxt	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 const char * chunk, <br>						 int size, <br>						 const char * filename)<br>
+</pre>
+<p>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 <a href="libxml2-SAX.html#characters">characters</a> will be parsed so they don't need to be fed in again through <a href="libxml2-parser.html#xmlParseChunk">xmlParseChunk</a>. To allow content encoding detection, @size should be &gt;= 4 The value of @filename is used for fetching external entities and error/warning reports.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
+<td>a pointer to an array of chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>number of chars in the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>an optional file name or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtReadDoc"></a>xmlCtxtReadDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadDoc		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtReadFd"></a>xmlCtxtReadFd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadFd		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtReadFile"></a>xmlCtxtReadFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadFile		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtReadIO"></a>xmlCtxtReadIO ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadIO		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtReadMemory"></a>xmlCtxtReadMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadMemory	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtReset"></a>xmlCtxtReset ()</h3>
+<pre class="programlisting">void	xmlCtxtReset			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Reset a parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtResetPush"></a>xmlCtxtResetPush ()</h3>
+<pre class="programlisting">int	xmlCtxtResetPush		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 const char * filename, <br>					 const char * encoding)<br>
+</pre>
+<p>Reset a push parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
+<td>a pointer to an array of chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>number of chars in the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>an optional file name or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtUseOptions"></a>xmlCtxtUseOptions ()</h3>
+<pre class="programlisting">int	xmlCtxtUseOptions		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options)<br>
+</pre>
+<p>Applies the options to the parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, the set of unknown or unimplemented options in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeParserCtxt"></a>xmlFreeParserCtxt ()</h3>
+<pre class="programlisting">void	xmlFreeParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetExternalEntityLoader"></a>xmlGetExternalEntityLoader ()</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	xmlGetExternalEntityLoader	(void)<br>
+</pre>
+<p>Get the default external entity resolver function for the application</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 <a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> function pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetFeature"></a>xmlGetFeature ()</h3>
+<pre class="programlisting">int	xmlGetFeature			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * result)<br>
+</pre>
+<p>Read the current value of one feature of this parser instance</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML/HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the feature name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>result</tt></i>:</span></td>
+<td>location to store the result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case or error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetFeaturesList"></a>xmlGetFeaturesList ()</h3>
+<pre class="programlisting">int	xmlGetFeaturesList		(int * len, <br>					 const char ** result)<br>
+</pre>
+<p>Copy at most *@len feature names into the @result array</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the features name array (input/output)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>result</tt></i>:</span></td>
+<td>an array of string to be filled with the features name.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case or error, or the total number of features, len is updated with the number of strings copied, strings must not be deallocated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHasFeature"></a>xmlHasFeature ()</h3>
+<pre class="programlisting">int	xmlHasFeature			(<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature)<br>
+</pre>
+<p>Examines if the library has been compiled with a given feature.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>feature</tt></i>:</span></td>
+<td>the feature to be examined</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a non-zero value if the feature exist, otherwise zero. Returns zero (0) if the feature does not exist or an unknown unknown feature is requested, non-zero otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIOParseDTD"></a>xmlIOParseDTD ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlIOParseDTD		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Load and parse a DTD</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>an Input Buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error. @input will be freed by the function in any case.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitNodeInfoSeq"></a>xmlInitNodeInfoSeq ()</h3>
+<pre class="programlisting">void	xmlInitNodeInfoSeq		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br>
+</pre>
+<p>DEPRECATED: Don't use. -- Initialize (set to initial state) node info sequence</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>seq</tt></i>:</span></td>
+<td>a node info sequence pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitParser"></a>xmlInitParser ()</h3>
+<pre class="programlisting">void	xmlInitParser			(void)<br>
+</pre>
+<p>Initialization function for the XML parser. This is not reentrant. Call once before processing in case of use in multithreaded programs.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitParserCtxt"></a>xmlInitParserCtxt ()</h3>
+<pre class="programlisting">int	xmlInitParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>DEPRECATED: Internal function which will be made private in a future version. Initialize a parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlKeepBlanksDefault"></a>xmlKeepBlanksDefault ()</h3>
+<pre class="programlisting">int	xmlKeepBlanksDefault		(int val)<br>
+</pre>
+<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a>. Set and return the previous value for default blanks text nodes support. The 1.x version of the parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and ignorableWhitespace() are only generated when running the parser in validating mode and when the current element doesn't allow CDATA or mixed content. This function is provided as a way to force the standard behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X . Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the "empty" nodes generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, indentation is not generated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>int 0 or 1</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last value for 0 for no substitution, 1 for substitution.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLineNumbersDefault"></a>xmlLineNumbersDefault ()</h3>
+<pre class="programlisting">int	xmlLineNumbersDefault		(int val)<br>
+</pre>
+<p>DEPRECATED: The modern options API always enables line numbers. Set and return the previous value for enabling line numbers in elements contents. This may break on old application and is turned off by default.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>int 0 or 1</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last value for 0 for no substitution, 1 for substitution.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLoadExternalEntity"></a>xmlLoadExternalEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlLoadExternalEntity	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Load an external entity, note that the use of this function for unparsed entities may generate problems</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the Public ID for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the context in which the entity is called or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewIOInputStream"></a>xmlNewIOInputStream ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewIOInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Create a new input stream structure encapsulating the @input into a stream suitable for the parser.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>an I/O Input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new input stream or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewParserCtxt"></a>xmlNewParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlNewParserCtxt	(void)<br>
+</pre>
+<p>Allocate and initialize a new parser context.</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 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewSAXParserCtxt"></a>xmlNewSAXParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlNewSAXParserCtxt	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * userData)<br>
+</pre>
+<p>Allocate and initialize a new SAX parser context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>user data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseBalancedChunkMemory"></a>xmlParseBalancedChunkMemory ()</h3>
+<pre class="programlisting">int	xmlParseBalancedChunkMemory	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
+</pre>
+<p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document the chunk pertains to (must not be NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>Used for loop detection, use 0</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the input string in UTF8 or ISO-Latin (zero terminated)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lst</tt></i>:</span></td>
+<td>the return value for the set of parsed nodes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseBalancedChunkMemoryRecover"></a>xmlParseBalancedChunkMemoryRecover ()</h3>
+<pre class="programlisting">int	xmlParseBalancedChunkMemoryRecover	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 int depth, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br>						 int recover)<br>
+</pre>
+<p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document the chunk pertains to (must not be NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>Used for loop detection, use 0</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the input string in UTF8 or ISO-Latin (zero terminated)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lst</tt></i>:</span></td>
+<td>the return value for the set of parsed nodes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recover</tt></i>:</span></td>
+<td>return nodes even if the data is broken (use 0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise In case recover is set to 1, the nodelist will not be empty even if the parsed chunk is not well balanced, assuming the parsing succeeded to some extent.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseChunk"></a>xmlParseChunk ()</h3>
+<pre class="programlisting">int	xmlParseChunk			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate)<br>
+</pre>
+<p>Parse a Chunk of memory</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
+<td>an char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size in byte of the chunk</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>terminate</tt></i>:</span></td>
+<td>last chunk indicator</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseCtxtExternalEntity"></a>xmlParseCtxtExternalEntity ()</h3>
+<pre class="programlisting">int	xmlParseCtxtExternalEntity	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
+</pre>
+<p>Parse an external general entity within an existing parsing context An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the existing parsing context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the System ID for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lst</tt></i>:</span></td>
+<td>the return value for the set of parsed nodes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseDTD"></a>xmlParseDTD ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlParseDTD		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Load and parse an external subset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>a NAME* containing the External ID of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>a NAME* containing the URL to the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseDoc"></a>xmlParseDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadDoc">xmlReadDoc</a>. parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseDocument"></a>xmlParseDocument ()</h3>
+<pre class="programlisting">int	xmlParseDocument		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML document (and build a tree if using the standard SAX interface). [1] document ::= prolog element Misc* [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEntity"></a>xmlParseEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseEntity		(const char * filename)<br>
+</pre>
+<p>parse an XML external entity out of context and build a tree. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseExtParsedEnt"></a>xmlParseExtParsedEnt ()</h3>
+<pre class="programlisting">int	xmlParseExtParsedEnt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse a general parsed entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseExternalEntity"></a>xmlParseExternalEntity ()</h3>
+<pre class="programlisting">int	xmlParseExternalEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
+</pre>
+<p>Parse an external general entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document the chunk pertains to</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>Used for loop detection, use 0</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the System ID for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lst</tt></i>:</span></td>
+<td>the return value for the set of parsed nodes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseFile"></a>xmlParseFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseFile		(const char * filename)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadFile">xmlReadFile</a>. parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree if the file was wellformed, NULL otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseInNodeContext"></a>xmlParseInNodeContext ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlParseInNodeContext	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const char * data, <br>					 int datalen, <br>					 int options, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
+</pre>
+<p>Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the given node. The allowed sequence for the data is a Well Balanced Chunk defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the context node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the input string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>datalen</tt></i>:</span></td>
+<td>the input string length in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lst</tt></i>:</span></td>
+<td>the return value for the set of parsed nodes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>
+<a href="libxml2-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a> if the chunk is well balanced, and the parser error code otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseMemory"></a>xmlParseMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseMemory		(const char * buffer, <br>					 int size)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadMemory">xmlReadMemory</a>. parse an XML in-memory block and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>an pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserAddNodeInfo"></a>xmlParserAddNodeInfo ()</h3>
+<pre class="programlisting">void	xmlParserAddNodeInfo		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)<br>
+</pre>
+<p>DEPRECATED: Don't use. Insert node info record into the sorted sequence</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>info</tt></i>:</span></td>
+<td>a node info sequence pointer</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserFindNodeInfo"></a>xmlParserFindNodeInfo ()</h3>
+<pre class="programlisting">const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	xmlParserFindNodeInfo	(const <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>							 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>DEPRECATED: Don't use. Find the parser node info struct for a given node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>an XML node within the tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> block pointer or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserFindNodeInfoIndex"></a>xmlParserFindNodeInfoIndex ()</h3>
+<pre class="programlisting">unsigned long	xmlParserFindNodeInfoIndex	(const <a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br>						 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>DEPRECATED: Don't use. <a href="libxml2-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a> : Find the index that the info record for the given node is or should be at in a sorted sequence</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>seq</tt></i>:</span></td>
+<td>a node info sequence pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>an XML node pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a long indicating the position of the record</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputGrow"></a>xmlParserInputGrow ()</h3>
+<pre class="programlisting">int	xmlParserInputGrow		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len)<br>
+</pre>
+<p>DEPRECATED: Don't use. This function increase the input for the parser. It tries to preserve pointers to the input buffer, and keep already read data</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an XML parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>an indicative size for the lookahead</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the amount of char read, or -1 in case of error, 0 indicate the end of this entity</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputRead"></a>xmlParserInputRead ()</h3>
+<pre class="programlisting">int	xmlParserInputRead		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len)<br>
+</pre>
+<p>DEPRECATED: This function was internal and is deprecated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an XML parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>an indicative size for the lookahead</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 as this is an error to use it.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPedanticParserDefault"></a>xmlPedanticParserDefault ()</h3>
+<pre class="programlisting">int	xmlPedanticParserDefault	(int val)<br>
+</pre>
+<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a>. Set and return the previous value for enabling pedantic warnings.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>int 0 or 1</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last value for 0 for no substitution, 1 for substitution.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReadDoc"></a>xmlReadDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReadFd"></a>xmlReadFd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadFd		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReadFile"></a>xmlReadFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadFile		(const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML file from the filesystem or the network.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReadIO"></a>xmlReadIO ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadIO		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML document from I/O functions and source and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReadMemory"></a>xmlReadMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadMemory		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRecoverDoc"></a>xmlRecoverDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadDoc">xmlReadDoc</a> with <a href="libxml2-parser.html#XML_PARSE_RECOVER">XML_PARSE_RECOVER</a>. parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to build a tree is tried anyway</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree or NULL in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRecoverFile"></a>xmlRecoverFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverFile		(const char * filename)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadFile">xmlReadFile</a> with <a href="libxml2-parser.html#XML_PARSE_RECOVER">XML_PARSE_RECOVER</a>. parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree anyway</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree or NULL in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRecoverMemory"></a>xmlRecoverMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverMemory	(const char * buffer, <br>					 int size)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> with <a href="libxml2-parser.html#XML_PARSE_RECOVER">XML_PARSE_RECOVER</a>. parse an XML in-memory block and build a tree. In the case the document is not Well Formed, an attempt to build a tree is tried anyway</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>an pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseDTD"></a>xmlSAXParseDTD ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlSAXParseDTD		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>DEPRECATED: Don't use. Load and parse an external subset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>a NAME* containing the External ID of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>a NAME* containing the URL to the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseDoc"></a>xmlSAXParseDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseDoc		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int recovery)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a>. parse an XML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
+<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseEntity"></a>xmlSAXParseEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseEntity	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename)<br>
+</pre>
+<p>DEPRECATED: Don't use. parse an XML external entity out of context and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseFile"></a>xmlSAXParseFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseFile		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a>. parse an XML 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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
+<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseFileWithData"></a>xmlSAXParseFileWithData ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseFileWithData	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery, <br>					 void * data)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a>. parse an XML 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. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
+<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseMemory"></a>xmlSAXParseMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseMemory	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * buffer, <br>					 int size, <br>					 int recovery)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a>. parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>an pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
+<td>work in recovery mode, i.e. tries to read not Well Formed documents</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseMemoryWithData"></a>xmlSAXParseMemoryWithData ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseMemoryWithData	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 const char * buffer, <br>						 int size, <br>						 int recovery, <br>						 void * data)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a>. parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>an pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
+<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXUserParseFile"></a>xmlSAXUserParseFile ()</h3>
+<pre class="programlisting">int	xmlSAXUserParseFile		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * filename)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a>. parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success or a error number otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXUserParseMemory"></a>xmlSAXUserParseMemory ()</h3>
+<pre class="programlisting">int	xmlSAXUserParseMemory		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * buffer, <br>					 int size)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a>. parse an XML in-memory buffer and call the given SAX handler routines.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>an in-memory XML document input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the length of the XML document in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success or a error number otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetExternalEntityLoader"></a>xmlSetExternalEntityLoader ()</h3>
+<pre class="programlisting">void	xmlSetExternalEntityLoader	(<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f)<br>
+</pre>
+<p>Changes the defaultexternal entity resolver function for the application</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the new entity resolver function</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetFeature"></a>xmlSetFeature ()</h3>
+<pre class="programlisting">int	xmlSetFeature			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * value)<br>
+</pre>
+<p>Change the current value of one feature of this parser instance</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML/HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the feature name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>pointer to the location of the new value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case or error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetupParserForBuffer"></a>xmlSetupParserForBuffer ()</h3>
+<pre class="programlisting">void	xmlSetupParserForBuffer		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br>					 const char * filename)<br>
+</pre>
+<p>DEPRECATED: Don't use. Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStopParser"></a>xmlStopParser ()</h3>
+<pre class="programlisting">void	xmlStopParser			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Blocks further parser processing</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSubstituteEntitiesDefault"></a>xmlSubstituteEntitiesDefault ()</h3>
+<pre class="programlisting">int	xmlSubstituteEntitiesDefault	(int val)<br>
+</pre>
+<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_NOENT">XML_PARSE_NOENT</a>. Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>int 0 or 1</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last value for 0 for no substitution, 1 for substitution.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-parserInternals.html b/doc/devhelp/libxml2-parserInternals.html
index 989963d..b119aa4 100644
--- a/doc/devhelp/libxml2-parserInternals.html
+++ b/doc/devhelp/libxml2-parserInternals.html
@@ -1,688 +1,2551 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>parserInternals: internals routines and limits exported by the parser.</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-parser.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-pattern.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">parserInternals</span>
-    </h2>
-    <p>parserInternals - internals routines and limits exported by the parser.</p>
-    <p>this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>parserInternals: internals routines and limits exported by the parser.</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-parser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-pattern.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">parserInternals</span></h2>
+<p>parserInternals - internals routines and limits exported by the parser.</p>
+<p>this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a>;
+#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a>(c);
+#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
+#define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
 #define <a href="#IS_BLANK">IS_BLANK</a>(c);
+#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a>(c);
 #define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a>(c);
-#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a>(c);
+#define <a href="#IS_CHAR">IS_CHAR</a>(c);
+#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a>(c);
+#define <a href="#IS_COMBINING">IS_COMBINING</a>(c);
+#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a>(c);
+#define <a href="#IS_DIGIT">IS_DIGIT</a>(c);
 #define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a>(c);
 #define <a href="#IS_EXTENDER">IS_EXTENDER</a>(c);
-#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a>(c);
-#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a>(c);
-#define <a href="#IS_CHAR">IS_CHAR</a>(c);
-#define <a href="#IS_LETTER">IS_LETTER</a>(c);
-#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a>(c);
-#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a>(p);
-#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a>;
-#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
-#define <a href="#IS_DIGIT">IS_DIGIT</a>(c);
-#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a>;
-#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>;
-#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a>(p);
-#define <a href="#SKIP_EOL">SKIP_EOL</a>(p);
 #define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a>(c);
-#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a>(c);
+#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a>(c);
+#define <a href="#IS_LETTER">IS_LETTER</a>(c);
 #define <a href="#IS_LETTER_CH">IS_LETTER_CH</a>(c);
-#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a>;
-#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a>;
-#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a>;
-#define <a href="#IS_COMBINING">IS_COMBINING</a>(c);
-#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a>;
-#define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
-#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a>;
+#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a>(c);
 #define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a>(c);
-#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a>(c);
+#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a>(p);
+#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a>(p);
+#define <a href="#SKIP_EOL">SKIP_EOL</a>(p);
+#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a>;
+#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a>;
+#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a>;
+#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a>;
+#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a>;
 #define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a>;
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#nodePop">nodePop</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParseNotationDecl">xmlParseNotationDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParseExternalSubset">xmlParseExternalSubset</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-void	<a href="#xmlParseMisc">xmlParseMisc</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br/>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewStringInputStream">xmlNewStringInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseExternalID">xmlParseExternalID</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br/>					 int strict);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlScanName">xmlScanName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#xmlParseElementDecl">xmlParseElementDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParseMarkupDecl">xmlParseMarkupDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a>	(const char * filename, <br/>							 const char * encoding);
-int	<a href="#inputPush">inputPush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>						 int len, <br/>						 int what, <br/>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br/>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br/>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#namePop">namePop</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParseContent">xmlParseContent</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputStream">xmlNewInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseQName">xmlNamespaceParseQName</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputFromFile">xmlNewInputFromFile</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 const char * filename);
-void	<a href="#xmlParserHandlePEReference">xmlParserHandlePEReference</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStringDecodeEntities">xmlStringDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 int what, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
-<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a>	(const char * filename);
-int	<a href="#xmlParseCharRef">xmlParseCharRef</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParseElement">xmlParseElement</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParseTextDecl">xmlParseTextDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewEntityInputStream">xmlNewEntityInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
-int	<a href="#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br/>					 int val);
-<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>							 int inputchk);
-void	<a href="#xmlParseCharData">xmlParseCharData</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 int cdata);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseVersionInfo">xmlParseVersionInfo</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#xmlParseSDDecl">xmlParseSDDecl</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#xmlParseEnumeratedType">xmlParseEnumeratedType</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
-void	<a href="#xmlHandleEntity">xmlHandleEntity</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
-int	<a href="#xmlCurrentChar">xmlCurrentChar</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 int * len);
-int	<a href="#xmlSkipBlankChars">xmlSkipBlankChars</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlParseNotationType">xmlParseNotationType</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParserInputShrink">xmlParserInputShrink</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in);
-void	<a href="#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a>	(<a href="libxml2-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func);
-void	<a href="#xmlFreeInputStream">xmlFreeInputStream</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
-void	<a href="#xmlParsePEReference">xmlParsePEReference</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a>	(const char * filename, <br/>						 int options);
-int	<a href="#xmlIsLetter">xmlIsLetter</a>			(int c);
-int	<a href="#xmlCheckLanguageID">xmlCheckLanguageID</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang);
-void	<a href="#xmlNextChar">xmlNextChar</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlParseEnumerationType">xmlParseEnumerationType</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#xmlParseAttributeType">xmlParseAttributeType</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
-int	<a href="#xmlParseDefaultDecl">xmlParseDefaultDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseSystemLiteral">xmlParseSystemLiteral</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseAttValue">xmlParseAttValue</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a>	(const char * buffer, <br/>							 int size);
-void	<a href="#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseName">xmlParseName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEncName">xmlParseEncName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#nodePush">nodePush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> value);
-int	<a href="#xmlSwitchEncoding">xmlSwitchEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-int	<a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlParseEntityRef">xmlParseEntityRef</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseAttribute">xmlParseAttribute</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
-void	<a href="#xmlParseEndTag">xmlParseEndTag</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEncodingDecl">xmlParseEncodingDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#htmlInitAutoClose">htmlInitAutoClose</a>		(void);
-<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName">xmlSplitQName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
-void	<a href="#xmlParserHandleReference">xmlParserHandleReference</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParsePITarget">xmlParsePITarget</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#xmlParseElementContentDecl">xmlParseElementContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result);
+#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a>;
+#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>;
+#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a>;
 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#inputPop">inputPop</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>	<a href="#xmlPopInput">xmlPopInput</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#inputPush">inputPush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#namePop">namePop</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#namePush">namePush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#nodePop">nodePop</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#nodePush">nodePush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> value);
+int	<a href="#xmlCheckLanguageID">xmlCheckLanguageID</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang);
+int	<a href="#xmlCopyChar">xmlCopyChar</a>			(int len, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val);
+int	<a href="#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a>	(const char * filename);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a>	(const char * buffer, <br>							 int size);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a>	(const char * filename, <br>						 int options);
+int	<a href="#xmlCurrentChar">xmlCurrentChar</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int * len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDecodeEntities">xmlDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int len, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
+typedef void <a href="#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a>		(<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode);
+void	<a href="#xmlErrMemory">xmlErrMemory</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * extra);
+void	<a href="#xmlFreeInputStream">xmlFreeInputStream</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
+void	<a href="#xmlHandleEntity">xmlHandleEntity</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
+int	<a href="#xmlIsLetter">xmlIsLetter</a>			(int c);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseQName">xmlNamespaceParseQName</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewEntityInputStream">xmlNewEntityInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputFromFile">xmlNewInputFromFile</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const char * filename);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputStream">xmlNewInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewStringInputStream">xmlNewStringInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer);
+void	<a href="#xmlNextChar">xmlNextChar</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseAttValue">xmlParseAttValue</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseAttribute">xmlParseAttribute</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
+void	<a href="#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlParseAttributeType">xmlParseAttributeType</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
+void	<a href="#xmlParseCDSect">xmlParseCDSect</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParseCharData">xmlParseCharData</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int cdata);
+int	<a href="#xmlParseCharRef">xmlParseCharRef</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParseComment">xmlParseComment</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParseContent">xmlParseContent</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlParseDefaultDecl">xmlParseDefaultDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
+void	<a href="#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParseElement">xmlParseElement</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk);
+int	<a href="#xmlParseElementContentDecl">xmlParseElementContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result);
+int	<a href="#xmlParseElementDecl">xmlParseElementDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEncName">xmlParseEncName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEncodingDecl">xmlParseEncodingDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParseEndTag">xmlParseEndTag</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParseEntityDecl">xmlParseEntityDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlParseEntityRef">xmlParseEntityRef</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEntityValue">xmlParseEntityValue</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig);
+int	<a href="#xmlParseEnumeratedType">xmlParseEnumeratedType</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
+<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlParseEnumerationType">xmlParseEnumerationType</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseExternalID">xmlParseExternalID</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br>					 int strict);
+void	<a href="#xmlParseExternalSubset">xmlParseExternalSubset</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+void	<a href="#xmlParseMarkupDecl">xmlParseMarkupDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParseMisc">xmlParseMisc</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseName">xmlParseName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParseNamespace">xmlParseNamespace</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseNmtoken">xmlParseNmtoken</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParseNotationDecl">xmlParseNotationDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlParseNotationType">xmlParseNotationType</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParsePEReference">xmlParsePEReference</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParsePI">xmlParsePI</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParsePITarget">xmlParsePITarget</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParsePubidLiteral">xmlParsePubidLiteral</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#xmlPushInput">xmlPushInput</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEntityValue">xmlParseEntityValue</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDecodeEntities">xmlDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 int len, <br/>					 int what, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseQuotedString">xmlParseQuotedString</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParseReference">xmlParseReference</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlParseSDDecl">xmlParseSDDecl</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseStartTag">xmlParseStartTag</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseSystemLiteral">xmlParseSystemLiteral</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParseTextDecl">xmlParseTextDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseVersionInfo">xmlParseVersionInfo</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseVersionNum">xmlParseVersionNum</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void	<a href="#xmlParseXMLDecl">xmlParseXMLDecl</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-typedef void <a href="#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a>		(<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode);
-<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>							 int inputchk);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseQuotedString">xmlParseQuotedString</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParseCDSect">xmlParseCDSect</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#xmlStringCurrentChar">xmlStringCurrentChar</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 int * len);
-void	<a href="#xmlParseComment">xmlParseComment</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlErrMemory">xmlErrMemory</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * extra);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseNmtoken">xmlParseNmtoken</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParseReference">xmlParseReference</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#namePush">namePush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-void	<a href="#xmlParseNamespace">xmlParseNamespace</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#xmlCopyChar">xmlCopyChar</a>			(int len, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br/>					 int val);
-void	<a href="#xmlParsePI">xmlParsePI</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseStartTag">xmlParseStartTag</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParseEntityDecl">xmlParseEntityDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParserHandlePEReference">xmlParserHandlePEReference</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParserHandleReference">xmlParserHandleReference</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlParserInputShrink">xmlParserInputShrink</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>	<a href="#xmlPopInput">xmlPopInput</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlPushInput">xmlPushInput</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlScanName">xmlScanName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void	<a href="#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a>	(<a href="libxml2-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func);
+int	<a href="#xmlSkipBlankChars">xmlSkipBlankChars</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName">xmlSplitQName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
+int	<a href="#xmlStringCurrentChar">xmlStringCurrentChar</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int * len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStringDecodeEntities">xmlStringDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 int len, <br>						 int what, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
+int	<a href="#xmlSwitchEncoding">xmlSwitchEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+int	<a href="#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
+int	<a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="INPUT_CHUNK">Macro </a>INPUT_CHUNK</h3><pre class="programlisting">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a>;
-</pre><p>The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_ASCII_DIGIT">Macro </a>IS_ASCII_DIGIT</h3><pre class="programlisting">#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a>(c);
-</pre><p>Macro to check [0-9]</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td></tr></tbody></table></div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="INPUT_CHUNK">Macro </a>INPUT_CHUNK</h3>
+<pre class="programlisting">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a>;
+</pre>
+<p>The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_ASCII_LETTER">Macro </a>IS_ASCII_LETTER</h3><pre class="programlisting">#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
-</pre><p>Macro to check [a-zA-Z]</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_ASCII_DIGIT">Macro </a>IS_ASCII_DIGIT</h3>
+<pre class="programlisting">#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a>(c);
+</pre>
+<p>Macro to check [0-9]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_BASECHAR">Macro </a>IS_BASECHAR</h3><pre class="programlisting">#define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [85] BaseChar ::= ... long list see REC ...</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_ASCII_LETTER">Macro </a>IS_ASCII_LETTER</h3>
+<pre class="programlisting">#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
+</pre>
+<p>Macro to check [a-zA-Z]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_BLANK">Macro </a>IS_BLANK</h3><pre class="programlisting">#define <a href="#IS_BLANK">IS_BLANK</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [3] S ::= (#x20 | #x9 | #xD | #xA)+</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_BASECHAR">Macro </a>IS_BASECHAR</h3>
+<pre class="programlisting">#define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [85] BaseChar ::= ... long list see REC ...</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_BLANK_CH">Macro </a>IS_BLANK_CH</h3><pre class="programlisting">#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a>(c);
-</pre><p>Behaviour same as <a href="libxml2-parserInternals.html#IS_BLANK">IS_BLANK</a></p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_BLANK">Macro </a>IS_BLANK</h3>
+<pre class="programlisting">#define <a href="#IS_BLANK">IS_BLANK</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [3] S ::= (#x20 | #x9 | #xD | #xA)+</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_BYTE_CHAR">Macro </a>IS_BYTE_CHAR</h3><pre class="programlisting">#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20...] any byte character in the accepted range</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an byte value (int)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_BLANK_CH">Macro </a>IS_BLANK_CH</h3>
+<pre class="programlisting">#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a>(c);
+</pre>
+<p>Behaviour same as <a href="libxml2-parserInternals.html#IS_BLANK">IS_BLANK</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_CHAR">Macro </a>IS_CHAR</h3><pre class="programlisting">#define <a href="#IS_CHAR">IS_CHAR</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_BYTE_CHAR">Macro </a>IS_BYTE_CHAR</h3>
+<pre class="programlisting">#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20...] any byte character in the accepted range</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an byte value (int)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_CHAR_CH">Macro </a>IS_CHAR_CH</h3><pre class="programlisting">#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a>(c);
-</pre><p>Behaves like <a href="libxml2-parserInternals.html#IS_CHAR">IS_CHAR</a> on single-byte value</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> (usually an unsigned char)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_CHAR">Macro </a>IS_CHAR</h3>
+<pre class="programlisting">#define <a href="#IS_CHAR">IS_CHAR</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_COMBINING">Macro </a>IS_COMBINING</h3><pre class="programlisting">#define <a href="#IS_COMBINING">IS_COMBINING</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [87] CombiningChar ::= ... long list see REC ...</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_CHAR_CH">Macro </a>IS_CHAR_CH</h3>
+<pre class="programlisting">#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a>(c);
+</pre>
+<p>Behaves like <a href="libxml2-parserInternals.html#IS_CHAR">IS_CHAR</a> on single-byte value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> (usually an unsigned char)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_COMBINING_CH">Macro </a>IS_COMBINING_CH</h3><pre class="programlisting">#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a>(c);
-</pre><p>Always false (all combining chars &gt; 0xff)</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> (usually an unsigned char)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_COMBINING">Macro </a>IS_COMBINING</h3>
+<pre class="programlisting">#define <a href="#IS_COMBINING">IS_COMBINING</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [87] CombiningChar ::= ... long list see REC ...</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_DIGIT">Macro </a>IS_DIGIT</h3><pre class="programlisting">#define <a href="#IS_DIGIT">IS_DIGIT</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [88] Digit ::= ... long list see REC ...</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_COMBINING_CH">Macro </a>IS_COMBINING_CH</h3>
+<pre class="programlisting">#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a>(c);
+</pre>
+<p>Always false (all combining chars &gt; 0xff)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> (usually an unsigned char)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_DIGIT_CH">Macro </a>IS_DIGIT_CH</h3><pre class="programlisting">#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a>(c);
-</pre><p>Behaves like <a href="libxml2-parserInternals.html#IS_DIGIT">IS_DIGIT</a> but with a single byte argument</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (usually an unsigned char)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_DIGIT">Macro </a>IS_DIGIT</h3>
+<pre class="programlisting">#define <a href="#IS_DIGIT">IS_DIGIT</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [88] Digit ::= ... long list see REC ...</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_EXTENDER">Macro </a>IS_EXTENDER</h3><pre class="programlisting">#define <a href="#IS_EXTENDER">IS_EXTENDER</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_DIGIT_CH">Macro </a>IS_DIGIT_CH</h3>
+<pre class="programlisting">#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a>(c);
+</pre>
+<p>Behaves like <a href="libxml2-parserInternals.html#IS_DIGIT">IS_DIGIT</a> but with a single byte argument</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (usually an unsigned char)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_EXTENDER_CH">Macro </a>IS_EXTENDER_CH</h3><pre class="programlisting">#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a>(c);
-</pre><p>Behaves like <a href="libxml2-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a> but with a single-byte argument</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (usually an unsigned char)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_EXTENDER">Macro </a>IS_EXTENDER</h3>
+<pre class="programlisting">#define <a href="#IS_EXTENDER">IS_EXTENDER</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_IDEOGRAPHIC">Macro </a>IS_IDEOGRAPHIC</h3><pre class="programlisting">#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_EXTENDER_CH">Macro </a>IS_EXTENDER_CH</h3>
+<pre class="programlisting">#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a>(c);
+</pre>
+<p>Behaves like <a href="libxml2-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a> but with a single-byte argument</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (usually an unsigned char)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_LETTER">Macro </a>IS_LETTER</h3><pre class="programlisting">#define <a href="#IS_LETTER">IS_LETTER</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [84] Letter ::= BaseChar | Ideographic</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_IDEOGRAPHIC">Macro </a>IS_IDEOGRAPHIC</h3>
+<pre class="programlisting">#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_LETTER_CH">Macro </a>IS_LETTER_CH</h3><pre class="programlisting">#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a>(c);
-</pre><p>Macro behaves like IS_LETTER, but only check base chars</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_LETTER">Macro </a>IS_LETTER</h3>
+<pre class="programlisting">#define <a href="#IS_LETTER">IS_LETTER</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [84] Letter ::= BaseChar | Ideographic</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_PUBIDCHAR">Macro </a>IS_PUBIDCHAR</h3><pre class="programlisting">#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_LETTER_CH">Macro </a>IS_LETTER_CH</h3>
+<pre class="programlisting">#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a>(c);
+</pre>
+<p>Macro behaves like IS_LETTER, but only check base chars</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_PUBIDCHAR_CH">Macro </a>IS_PUBIDCHAR_CH</h3><pre class="programlisting">#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a>(c);
-</pre><p>Same as <a href="libxml2-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a> but for single-byte value</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_PUBIDCHAR">Macro </a>IS_PUBIDCHAR</h3>
+<pre class="programlisting">#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="MOVETO_ENDTAG">Macro </a>MOVETO_ENDTAG</h3><pre class="programlisting">#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a>(p);
-</pre><p>Skips to the next '&gt;' char.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>p</tt></i>:</span></td><td>and UTF8 string pointer</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_PUBIDCHAR_CH">Macro </a>IS_PUBIDCHAR_CH</h3>
+<pre class="programlisting">#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a>(c);
+</pre>
+<p>Same as <a href="libxml2-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a> but for single-byte value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="MOVETO_STARTTAG">Macro </a>MOVETO_STARTTAG</h3><pre class="programlisting">#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a>(p);
-</pre><p>Skips to the next '&lt;' char.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>p</tt></i>:</span></td><td>and UTF8 string pointer</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="MOVETO_ENDTAG">Macro </a>MOVETO_ENDTAG</h3>
+<pre class="programlisting">#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a>(p);
+</pre>
+<p>Skips to the next '&gt;' char.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>p</tt></i>:</span></td>
+<td>and UTF8 string pointer</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="SKIP_EOL">Macro </a>SKIP_EOL</h3><pre class="programlisting">#define <a href="#SKIP_EOL">SKIP_EOL</a>(p);
-</pre><p>Skips the end of line chars.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>p</tt></i>:</span></td><td>and UTF8 string pointer</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="MOVETO_STARTTAG">Macro </a>MOVETO_STARTTAG</h3>
+<pre class="programlisting">#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a>(p);
+</pre>
+<p>Skips to the next '&lt;' char.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>p</tt></i>:</span></td>
+<td>and UTF8 string pointer</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_MAX_DICTIONARY_LIMIT">Macro </a>XML_MAX_DICTIONARY_LIMIT</h3><pre class="programlisting">#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a>;
-</pre><p>Maximum size allowed by the parser for a dictionary by default This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="SKIP_EOL">Macro </a>SKIP_EOL</h3>
+<pre class="programlisting">#define <a href="#SKIP_EOL">SKIP_EOL</a>(p);
+</pre>
+<p>Skips the end of line chars.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>p</tt></i>:</span></td>
+<td>and UTF8 string pointer</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_MAX_LOOKUP_LIMIT">Macro </a>XML_MAX_LOOKUP_LIMIT</h3><pre class="programlisting">#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a>;
-</pre><p>Maximum size allowed by the parser for ahead lookup This is an upper boundary enforced by the parser to avoid bad behaviour on "unfriendly' content Introduced in 2.9.0</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_MAX_DICTIONARY_LIMIT">Macro </a>XML_MAX_DICTIONARY_LIMIT</h3>
+<pre class="programlisting">#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a>;
+</pre>
+<p>Maximum size allowed by the parser for a dictionary by default This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_MAX_NAMELEN">Macro </a>XML_MAX_NAMELEN</h3><pre class="programlisting">#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a>;
-</pre><p>Identifiers can be longer, but this will be more costly at runtime.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_MAX_LOOKUP_LIMIT">Macro </a>XML_MAX_LOOKUP_LIMIT</h3>
+<pre class="programlisting">#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a>;
+</pre>
+<p>Maximum size allowed by the parser for ahead lookup This is an upper boundary enforced by the parser to avoid bad behaviour on "unfriendly' content Introduced in 2.9.0</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_MAX_NAME_LENGTH">Macro </a>XML_MAX_NAME_LENGTH</h3><pre class="programlisting">#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a>;
-</pre><p>Maximum size allowed for a markup identifier. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage in face of "unfriendly' content Introduced in 2.9.0</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_MAX_NAMELEN">Macro </a>XML_MAX_NAMELEN</h3>
+<pre class="programlisting">#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a>;
+</pre>
+<p>Identifiers can be longer, but this will be more costly at runtime.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_MAX_TEXT_LENGTH">Macro </a>XML_MAX_TEXT_LENGTH</h3><pre class="programlisting">#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a>;
-</pre><p>Maximum size allowed for a single text node when building a tree. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_MAX_NAME_LENGTH">Macro </a>XML_MAX_NAME_LENGTH</h3>
+<pre class="programlisting">#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a>;
+</pre>
+<p>Maximum size allowed for a markup identifier. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage in face of "unfriendly' content Introduced in 2.9.0</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SUBSTITUTE_BOTH">Macro </a>XML_SUBSTITUTE_BOTH</h3><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a>;
-</pre><p>Both general and parameter entities need to be substituted.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_MAX_TEXT_LENGTH">Macro </a>XML_MAX_TEXT_LENGTH</h3>
+<pre class="programlisting">#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a>;
+</pre>
+<p>Maximum size allowed for a single text node when building a tree. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SUBSTITUTE_NONE">Macro </a>XML_SUBSTITUTE_NONE</h3><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a>;
-</pre><p>If no entities need to be substituted.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SUBSTITUTE_BOTH">Macro </a>XML_SUBSTITUTE_BOTH</h3>
+<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a>;
+</pre>
+<p>Both general and parameter entities need to be substituted.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SUBSTITUTE_PEREF">Macro </a>XML_SUBSTITUTE_PEREF</h3><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>;
-</pre><p>Whether parameter entities need to be substituted.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SUBSTITUTE_NONE">Macro </a>XML_SUBSTITUTE_NONE</h3>
+<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a>;
+</pre>
+<p>If no entities need to be substituted.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SUBSTITUTE_REF">Macro </a>XML_SUBSTITUTE_REF</h3><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a>;
-</pre><p>Whether general entities need to be substituted.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SUBSTITUTE_PEREF">Macro </a>XML_SUBSTITUTE_PEREF</h3>
+<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>;
+</pre>
+<p>Whether parameter entities need to be substituted.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEntityReferenceFunc"/>Function type xmlEntityReferenceFunc</h3><pre class="programlisting">void	xmlEntityReferenceFunc		(<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode)<br/>
-</pre><p>Callback function used when one needs to be able to track back the provenance of a chunk of nodes inherited from an entity replacement.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ent</tt></i>:</span></td><td>the entity</td></tr><tr><td><span class="term"><i><tt>firstNode</tt></i>:</span></td><td>the fist node in the chunk</td></tr><tr><td><span class="term"><i><tt>lastNode</tt></i>:</span></td><td>the last nod in the chunk</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserMaxDepth">Variable </a>xmlParserMaxDepth</h3><pre class="programlisting">unsigned int xmlParserMaxDepth;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SUBSTITUTE_REF">Macro </a>XML_SUBSTITUTE_REF</h3>
+<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a>;
+</pre>
+<p>Whether general entities need to be substituted.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringComment">Variable </a>xmlStringComment</h3><pre class="programlisting">const xmlCharxmlStringComment[] xmlStringComment;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEntityReferenceFunc"></a>Function type xmlEntityReferenceFunc</h3>
+<pre class="programlisting">void	xmlEntityReferenceFunc		(<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode)<br>
+</pre>
+<p>Callback function used when one needs to be able to track back the provenance of a chunk of nodes inherited from an entity replacement.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ent</tt></i>:</span></td>
+<td>the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>firstNode</tt></i>:</span></td>
+<td>the fist node in the chunk</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lastNode</tt></i>:</span></td>
+<td>the last nod in the chunk</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringText">Variable </a>xmlStringText</h3><pre class="programlisting">const xmlCharxmlStringText[] xmlStringText;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserMaxDepth">Variable </a>xmlParserMaxDepth</h3>
+<pre class="programlisting">unsigned int xmlParserMaxDepth;
+</pre>
+<p>arbitrary depth limit for the XML documents that we allow to process. This is not a limitation of the parser but a safety boundary feature. It can be disabled with the <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> parser option.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringTextNoenc">Variable </a>xmlStringTextNoenc</h3><pre class="programlisting">const xmlCharxmlStringTextNoenc[] xmlStringTextNoenc;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringComment">Variable </a>xmlStringComment</h3>
+<pre class="programlisting">const xmlCharxmlStringComment[] xmlStringComment;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCreateFileParserCtxt"/>htmlCreateFileParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreateFileParserCtxt	(const char * filename, <br/>							 const char * encoding)<br/>
-</pre><p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlInitAutoClose"/>htmlInitAutoClose ()</h3><pre class="programlisting">void	htmlInitAutoClose		(void)<br/>
-</pre><p>This is a no-op now.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringText">Variable </a>xmlStringText</h3>
+<pre class="programlisting">const xmlCharxmlStringText[] xmlStringText;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="inputPop"/>inputPop ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	inputPop	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Pops the top parser input from the input stack</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the input just removed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="inputPush"/>inputPush ()</h3><pre class="programlisting">int	inputPush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value)<br/>
-</pre><p>Pushes a new parser input on top of the input stack</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the parser input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, the index in the stack otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="namePop"/>namePop ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	namePop			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Pops the top element name from the name stack</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the name just removed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="namePush"/>namePush ()</h3><pre class="programlisting">int	namePush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Pushes a new element name on top of the name stack</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, the index in the stack otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="nodePop"/>nodePop ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	nodePop			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Pops the top element node from the node stack</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node just removed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="nodePush"/>nodePush ()</h3><pre class="programlisting">int	nodePush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> value)<br/>
-</pre><p>Pushes a new element node on top of the node stack</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the element node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, the index in the stack otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCheckLanguageID"/>xmlCheckLanguageID ()</h3><pre class="programlisting">int	xmlCheckLanguageID		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br/>
-</pre><p>Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC <a href="libxml2-SAX.html#reference">reference</a> the successors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>lang</tt></i>:</span></td><td>pointer to the string value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if correct 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyChar"/>xmlCopyChar ()</h3><pre class="programlisting">int	xmlCopyChar			(int len, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br/>					 int val)<br/>
-</pre><p>append the char value in the array</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>Ignored, compatibility</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the char value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyCharMultiByte"/>xmlCopyCharMultiByte ()</h3><pre class="programlisting">int	xmlCopyCharMultiByte		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br/>					 int val)<br/>
-</pre><p>append the char value in the array</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the char value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateEntityParserCtxt"/>xmlCreateEntityParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateEntityParserCtxt	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br/>
-</pre><p>Create a parser context for an external entity Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the entity URL</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the entity PUBLIC ID</td></tr><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>a possible base for the target URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateFileParserCtxt"/>xmlCreateFileParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateFileParserCtxt	(const char * filename)<br/>
-</pre><p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateMemoryParserCtxt"/>xmlCreateMemoryParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateMemoryParserCtxt	(const char * buffer, <br/>							 int size)<br/>
-</pre><p>Create a parser context for an XML in-memory document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateURLParserCtxt"/>xmlCreateURLParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateURLParserCtxt	(const char * filename, <br/>						 int options)<br/>
-</pre><p>Create a parser context for a file or URL content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time and for file accesses</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCurrentChar"/>xmlCurrentChar ()</h3><pre class="programlisting">int	xmlCurrentChar			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 int * len)<br/>
-</pre><p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer. Implement the end of line normalization: 2.11 End-of-Line Handling Wherever an external parsed entity or the literal entity value of an internal parsed entity contains either the literal two-character sequence "#xD#xA" or a standalone literal #xD, an XML processor must pass to the application the single character #xA. This behavior can conveniently be produced by normalizing all line breaks to #xA on input, before parsing.)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XML parser context</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the length of the char read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current char value and its length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDecodeEntities"/>xmlDecodeEntities ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 int len, <br/>					 int what, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br/>
-</pre><p>This function is deprecated, we now always process entities content through <a href="libxml2-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a> TODO: remove it in next major release. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len to decode (in bytes !), -1 for no size limit</td></tr><tr><td><span class="term"><i><tt>what</tt></i>:</span></td><td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a></td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end2</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end3</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>A newly allocated string with the substitution done. The caller must deallocate it !</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlErrMemory"/>xmlErrMemory ()</h3><pre class="programlisting">void	xmlErrMemory			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const char * extra)<br/>
-</pre><p>Handle a redefinition of <a href="libxml2-SAX.html#attribute">attribute</a> error</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>extra</tt></i>:</span></td><td>extra information</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeInputStream"/>xmlFreeInputStream ()</h3><pre class="programlisting">void	xmlFreeInputStream		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br/>
-</pre><p>Free up an input stream.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHandleEntity"/>xmlHandleEntity ()</h3><pre class="programlisting">void	xmlHandleEntity			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br/>
-</pre><p>Default handling of defined entities, when should we define a new input stream ? When do we just handle that as a set of chars ? OBSOLETE: to be removed at some point.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>entity</tt></i>:</span></td><td>an XML entity pointer.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsLetter"/>xmlIsLetter ()</h3><pre class="programlisting">int	xmlIsLetter			(int c)<br/>
-</pre><p>Check whether the character is allowed by the production [84] Letter ::= BaseChar | Ideographic</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an unicode character (int)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if not, non-zero otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNamespaceParseNCName"/>xmlNamespaceParseNCName ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNCName	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML namespace name. TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace name or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNamespaceParseNSDef"/>xmlNamespaceParseNSDef ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNSDef	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a namespace prefix declaration TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 1] NSDef ::= PrefixDef Eq SystemLiteral [NS 2] PrefixDef ::= 'xmlns' (':' NCName)?</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNamespaceParseQName"/>xmlNamespaceParseQName ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseQName	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br/>
-</pre><p>TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. parse an XML qualified name [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local part, and prefix is updated to get the Prefix if any.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewEntityInputStream"/>xmlNewEntityInputStream ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewEntityInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br/>
-</pre><p>Create a new input stream based on an <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>entity</tt></i>:</span></td><td>an Entity pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewInputFromFile"/>xmlNewInputFromFile ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputFromFile	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 const char * filename)<br/>
-</pre><p>Create a new input stream based on a file or an URL.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename to use as entity</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewInputStream"/>xmlNewInputStream ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Create a new input stream structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewStringInputStream"/>xmlNewStringInputStream ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewStringInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer)<br/>
-</pre><p>Create a new input stream based on a memory buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an memory buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNextChar"/>xmlNextChar ()</h3><pre class="programlisting">void	xmlNextChar			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Skip to the next char input char.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseAttValue"/>xmlParseAttValue ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttValue	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a value for an <a href="libxml2-SAX.html#attribute">attribute</a> Note: the parser won't do substitution of entities here, this will be handled later in <a href="libxml2-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a> [10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' | "'" ([^&lt;&amp;'] | Reference)* "'" 3.3.3 Attribute-Value Normalization: Before the value of an <a href="libxml2-SAX.html#attribute">attribute</a> is passed to the application or checked for validity, the XML processor must normalize it as follows: - a character <a href="libxml2-SAX.html#reference">reference</a> is processed by appending the referenced character to the <a href="libxml2-SAX.html#attribute">attribute</a> value - an entity <a href="libxml2-SAX.html#reference">reference</a> is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a "#xD#xA" sequence that is part of an external parsed entity or the literal entity value of an internal parsed entity - other <a href="libxml2-SAX.html#characters">characters</a> are processed by appending them to the normalized value If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the AttValue parsed or NULL. The value has to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseAttribute"/>xmlParseAttribute ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttribute	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br/>
-</pre><p>parse an <a href="libxml2-SAX.html#attribute">attribute</a> [41] Attribute ::= Name Eq AttValue [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities. [ WFC: No &lt; in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an <a href="libxml2-SAX.html#attribute">attribute</a> value (other than "&amp;lt;") must not contain a &lt;. [ VC: Attribute Value Type ] The <a href="libxml2-SAX.html#attribute">attribute</a> must have been declared; the value must be of the type declared for it. [25] Eq ::= S? '=' S? With namespace: [NS 11] Attribute ::= QName Eq AttValue Also the case QName == xmlns:??? is handled independently as a namespace definition.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** used to store the value of the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name, and the value in *value.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseAttributeListDecl"/>xmlParseAttributeListDecl ()</h3><pre class="programlisting">void	xmlParseAttributeListDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>: parse the Attribute list def for an element [52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;' [53] AttDef ::= S Name S AttType S DefaultDecl</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseAttributeType"/>xmlParseAttributeType ()</h3><pre class="programlisting">int	xmlParseAttributeType		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br/>
-</pre><p>parse the Attribute list def for an element [54] AttType ::= StringType | TokenizedType | EnumeratedType [55] StringType ::= 'CDATA' [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' Validity constraints for <a href="libxml2-SAX.html#attribute">attribute</a> values syntax are checked in xmlValidateAttributeValue() [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them. [ VC: One ID per Element Type ] No element type may have more than one ID <a href="libxml2-SAX.html#attribute">attribute</a> specified. [ VC: ID Attribute Default ] An ID <a href="libxml2-SAX.html#attribute">attribute</a> must have a declared default of #IMPLIED or #REQUIRED. [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID <a href="libxml2-SAX.html#attribute">attribute</a> on some element in the XML document; i.e. IDREF values must match the value of some ID attribute. [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD. [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the enumeration tree built while parsing</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseCDSect"/>xmlParseCDSect ()</h3><pre class="programlisting">void	xmlParseCDSect			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Parse escaped pure raw content. [18] CDSect ::= CDStart CData CDEnd [19] CDStart ::= '&lt;![CDATA[' [20] Data ::= (Char* - (Char* ']]&gt;' Char*)) [21] CDEnd ::= ']]&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseCharData"/>xmlParseCharData ()</h3><pre class="programlisting">void	xmlParseCharData		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 int cdata)<br/>
-</pre><p>parse a CharData section. if we are within a CDATA section ']]&gt;' marks an end of section. The right angle bracket (&gt;) may be represented using the string "&amp;gt;", and must, for compatibility, be escaped using "&amp;gt;" or a character <a href="libxml2-SAX.html#reference">reference</a> when it appears in the string "]]&gt;" in content, when that string is not marking the end of a CDATA section. [14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>cdata</tt></i>:</span></td><td>int indicating whether we are within a CDATA section</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseCharRef"/>xmlParseCharRef ()</h3><pre class="programlisting">int	xmlParseCharRef			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' [ WFC: Legal Character ] Characters referred to using character references must match the production for Char.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value parsed (as an int), 0 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseComment"/>xmlParseComment ()</h3><pre class="programlisting">void	xmlParseComment			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Skip an XML (SGML) <a href="libxml2-SAX.html#comment">comment</a> &lt;!-- .... --&gt; The spec says that "For compatibility, the string "--" (double-hyphen) must not occur within comments. " [15] Comment ::= '&lt;!--' ((Char - '-') | ('-' (Char - '-')))* '--&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseContent"/>xmlParseContent ()</h3><pre class="programlisting">void	xmlParseContent			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Parse a content sequence. Stops at EOF or '&lt;/'. [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseDefaultDecl"/>xmlParseDefaultDecl ()</h3><pre class="programlisting">int	xmlParseDefaultDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br/>
-</pre><p>Parse an <a href="libxml2-SAX.html#attribute">attribute</a> default declaration [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the <a href="libxml2-SAX.html#attribute">attribute</a> must be specified for all elements of the type in the attribute-list declaration. [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared <a href="libxml2-SAX.html#attribute">attribute</a> type c.f. xmlValidateAttributeDecl() [ VC: Fixed Attribute Default ] if an <a href="libxml2-SAX.html#attribute">attribute</a> has a default value declared with the #FIXED keyword, instances of that <a href="libxml2-SAX.html#attribute">attribute</a> must match the default value. [ WFC: No &lt; in Attribute Values ] handled in xmlParseAttValue()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>Receive a possible fixed default value for the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, <a href="libxml2-tree.html#XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> or XML_ATTRIBUTE_FIXED.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseDocTypeDecl"/>xmlParseDocTypeDecl ()</h3><pre class="programlisting">void	xmlParseDocTypeDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a DOCTYPE declaration [28] doctypedecl ::= '&lt;!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl | PEReference | S)* ']' S?)? '&gt;' [ VC: Root Element Type ] The Name in the document type declaration must match the element type of the root element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseElement"/>xmlParseElement ()</h3><pre class="programlisting">void	xmlParseElement			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML element [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseElementChildrenContentDecl"/>xmlParseElementChildrenContentDecl ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlParseElementChildrenContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>							 int inputchk)<br/>
-</pre><p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [47] children ::= (choice | seq) ('?' | '*' | '+')? [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')? [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity <a href="libxml2-SAX.html#reference">reference</a> appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>inputchk</tt></i>:</span></td><td>the input used for the current entity, needed for boundary checks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the tree of <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element hierarchy.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseElementContentDecl"/>xmlParseElementContentDecl ()</h3><pre class="programlisting">int	xmlParseElementContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result)<br/>
-</pre><p>parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are handled directly in <a href="libxml2-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a> [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the element being defined.</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>the Element Content pointer will be stored here if any</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type of element content XML_ELEMENT_TYPE_xxx</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseElementDecl"/>xmlParseElementDecl ()</h3><pre class="programlisting">int	xmlParseElementDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an Element declaration. [45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;' [ VC: Unique Element Type Declaration ] No element type may be declared more than once</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type of the element, or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseElementMixedContentDecl"/>xmlParseElementMixedContentDecl ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlParseElementMixedContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>							 int inputchk)<br/>
-</pre><p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' | '(' S? '#PCDATA' S? ')' [ VC: Proper Group/PE Nesting ] applies to [51] too (see [49]) [ VC: No Duplicate Types ] The same name must not appear more than once in a single mixed-content declaration.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>inputchk</tt></i>:</span></td><td>the input used for the current entity, needed for boundary checks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the list of the <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element choices</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEncName"/>xmlParseEncName ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEncName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse the XML encoding name [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the encoding name value or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEncodingDecl"/>xmlParseEncodingDecl ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEncodingDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse the XML encoding declaration [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'") this setups the conversion filters.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the encoding value or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEndTag"/>xmlParseEndTag ()</h3><pre class="programlisting">void	xmlParseEndTag			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an end of tag [42] ETag ::= '&lt;/' Name S? '&gt;' With namespace [NS 9] ETag ::= '&lt;/' QName S? '&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEntityDecl"/>xmlParseEntityDecl ()</h3><pre class="programlisting">void	xmlParseEntityDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse &lt;!ENTITY declarations [70] EntityDecl ::= GEDecl | PEDecl [71] GEDecl ::= '&lt;!ENTITY' S Name S EntityDef S? '&gt;' [72] PEDecl ::= '&lt;!ENTITY' S '%' S Name S PEDef S? '&gt;' [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) [74] PEDef ::= EntityValue | ExternalID [76] NDataDecl ::= S 'NDATA' S Name [ VC: Notation Declared ] The Name must match the declared name of a notation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEntityRef"/>xmlParseEntityRef ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlParseEntityRef	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse ENTITY references declarations [68] EntityRef ::= '&amp;' Name ';' [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", the Name given in the entity <a href="libxml2-SAX.html#reference">reference</a> must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it. Similarly, the declaration of a general entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it which appears in a default value in an attribute-list declaration. Note that if entities are declared in the external subset or in external parameter entities, a non-validating processor is not obligated to read and process their declarations; for such documents, the rule that an entity must be declared is a well-formedness constraint only if standalone='yes'. [ WFC: Parsed Entity ] An entity <a href="libxml2-SAX.html#reference">reference</a> must not contain the name of an unparsed entity</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found, or NULL otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEntityValue"/>xmlParseEntityValue ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEntityValue	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig)<br/>
-</pre><p>parse a value for ENTITY declarations [9] EntityValue ::= '"' ([^%&amp;"] | PEReference | Reference)* '"' | "'" ([^%&amp;'] | PEReference | Reference)* "'"</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>orig</tt></i>:</span></td><td>if non-NULL store a copy of the original entity value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the EntityValue parsed with <a href="libxml2-SAX.html#reference">reference</a> substituted or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEnumeratedType"/>xmlParseEnumeratedType ()</h3><pre class="programlisting">int	xmlParseEnumeratedType		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br/>
-</pre><p>parse an Enumerated <a href="libxml2-SAX.html#attribute">attribute</a> type. [57] EnumeratedType ::= NotationType | Enumeration [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the enumeration tree built while parsing</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td><a href="libxml2-tree.html#XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> or <a href="libxml2-tree.html#XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEnumerationType"/>xmlParseEnumerationType ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseEnumerationType	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an Enumeration <a href="libxml2-SAX.html#attribute">attribute</a> type. [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the enumeration <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseExternalID"/>xmlParseExternalID ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseExternalID	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br/>					 int strict)<br/>
-</pre><p>Parse an External ID or a Public ID NOTE: Productions [75] and [83] interact badly since [75] can generate 'PUBLIC' S PubidLiteral S SystemLiteral [75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral [83] PublicID ::= 'PUBLIC' S PubidLiteral</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>publicID</tt></i>:</span></td><td>a xmlChar** receiving PubidLiteral</td></tr><tr><td><span class="term"><i><tt>strict</tt></i>:</span></td><td>indicate whether we should restrict parsing to only production [75], see NOTE below</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the function returns SystemLiteral and in the second case publicID receives PubidLiteral, is strict is off it is possible to return NULL and have publicID set.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseExternalSubset"/>xmlParseExternalSubset ()</h3><pre class="programlisting">void	xmlParseExternalSubset		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>parse Markup declarations from an external subset [30] extSubset ::= textDecl? extSubsetDecl [31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external identifier</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system identifier (or URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseMarkupDecl"/>xmlParseMarkupDecl ()</h3><pre class="programlisting">void	xmlParseMarkupDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse Markup declarations [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly nested with markup declarations. That is to say, if either the first character or the last character of a markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both must be contained in the same replacement text. [ WFC: PEs in Internal Subset ] In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseMisc"/>xmlParseMisc ()</h3><pre class="programlisting">void	xmlParseMisc			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseName"/>xmlParseName ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (#x20 Name)*</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the Name parsed or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseNamespace"/>xmlParseNamespace ()</h3><pre class="programlisting">void	xmlParseNamespace		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>xmlParseNamespace: parse specific PI '&lt;?namespace ...' constructs. This is what the older xml-name Working Draft specified, a bunch of other stuff may still rely on it, so support is still here as if it was declared on the root of the Tree:-( TODO: remove from library To be removed at next drop of binary compatibility</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseNmtoken"/>xmlParseNmtoken ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseNmtoken		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the Nmtoken parsed or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseNotationDecl"/>xmlParseNotationDecl ()</h3><pre class="programlisting">void	xmlParseNotationDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a notation declaration [82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID | PublicID) S? '&gt;' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseNotationType"/>xmlParseNotationType ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseNotationType	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an Notation <a href="libxml2-SAX.html#attribute">attribute</a> type. Note: the leading 'NOTATION' S part has already being parsed... [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the notation <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParsePEReference"/>xmlParsePEReference ()</h3><pre class="programlisting">void	xmlParsePEReference		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse PEReference declarations The entity content is handled directly by pushing it's content as a new input stream. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml2-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParsePI"/>xmlParsePI ()</h3><pre class="programlisting">void	xmlParsePI			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML Processing Instruction. [16] PI ::= '&lt;?' PITarget (S (Char* - (Char* '?&gt;' Char*)))? '?&gt;' The processing is transferred to SAX once parsed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParsePITarget"/>xmlParsePITarget ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParsePITarget	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse the name of a PI [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the PITarget name or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParsePubidLiteral"/>xmlParsePubidLiteral ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParsePubidLiteral	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML public literal [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the PubidLiteral parsed or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseQuotedString"/>xmlParseQuotedString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseQuotedString	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Parse and return a string between quotes or doublequotes TODO: Deprecated, to be removed at next drop of binary compatibility</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string parser or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseReference"/>xmlParseReference ()</h3><pre class="programlisting">void	xmlParseReference		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse and handle entity references in content, depending on the SAX interface, this may end-up in a call to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the parser was asked to switch to that mode. [67] Reference ::= EntityRef | CharRef</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseSDDecl"/>xmlParseSDDecl ()</h3><pre class="programlisting">int	xmlParseSDDecl			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse the XML standalone declaration [32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"')) [ VC: Standalone Document Declaration ] TODO The standalone document declaration must have the value "no" if any external markup declarations contain declarations of: - attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or - entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or - attributes with values subject to normalization, where the <a href="libxml2-SAX.html#attribute">attribute</a> appears in the document with a value which will change as a result of normalization, or - element types with element content, if white space occurs directly within any instance of those types.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if standalone="yes" 0 if standalone="no" -2 if standalone <a href="libxml2-SAX.html#attribute">attribute</a> is missing or invalid (A standalone value of -2 means that the XML declaration was found, but no value was specified for the standalone attribute).</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseStartTag"/>xmlParseStartTag ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseStartTag	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a start of tag either for rule element or EmptyElement. In both case we don't parse the tag closing chars. [40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;' [ WFC: Unique Att Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. [44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;' [ WFC: Unique Att Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. With namespace: [NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;' [NS 10] EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the element name parsed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseSystemLiteral"/>xmlParseSystemLiteral ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseSystemLiteral	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML Literal [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the SystemLiteral parsed or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseTextDecl"/>xmlParseTextDecl ()</h3><pre class="programlisting">void	xmlParseTextDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML declaration header for external entities [77] TextDecl ::= '&lt;?xml' VersionInfo? EncodingDecl S? '?&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseVersionInfo"/>xmlParseVersionInfo ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseVersionInfo	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse the XML version. [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ") [25] Eq ::= S? '=' S?</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the version string, e.g. "1.0"</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseVersionNum"/>xmlParseVersionNum ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseVersionNum	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse the XML version value. [26] VersionNum ::= '1.' [0-9]+ In practice allow [0-9].[0-9]+ at that level</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string giving the XML version number, or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseXMLDecl"/>xmlParseXMLDecl ()</h3><pre class="programlisting">void	xmlParseXMLDecl			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML declaration header [23] XMLDecl ::= '&lt;?xml' VersionInfo EncodingDecl? SDDecl? S? '?&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserHandlePEReference"/>xmlParserHandlePEReference ()</h3><pre class="programlisting">void	xmlParserHandlePEReference	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>[69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml2-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled. A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc i.e. - Included in literal in entity values - Included as Parameter Entity <a href="libxml2-SAX.html#reference">reference</a> within DTDs</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserHandleReference"/>xmlParserHandleReference ()</h3><pre class="programlisting">void	xmlParserHandleReference	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>TODO: Remove, now deprecated ... the test is done directly in the content parsing routines. [67] Reference ::= EntityRef | CharRef [68] EntityRef ::= '&amp;' Name ';' [ WFC: Entity Declared ] the Name given in the entity <a href="libxml2-SAX.html#reference">reference</a> must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. [ WFC: Parsed Entity ] An entity <a href="libxml2-SAX.html#reference">reference</a> must not contain the name of an unparsed entity [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputShrink"/>xmlParserInputShrink ()</h3><pre class="programlisting">void	xmlParserInputShrink		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in)<br/>
-</pre><p>This function removes used input for the parser.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an XML parser input</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPopInput"/>xmlPopInput ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>	xmlPopInput			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>xmlPopInput: the current input pointed by ctxt-&gt;input came to an end pop it and return the next char.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> in the parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPushInput"/>xmlPushInput ()</h3><pre class="programlisting">int	xmlPushInput			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br/>
-</pre><p>xmlPushInput: switch to a new input stream which is stacked on top of the previous one(s).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an XML parser input fragment (entity, XML fragment ...).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error or the index in the input stack</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlScanName"/>xmlScanName ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlScanName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Trickery: parse an XML name but without consuming the input flow Needed for rollback cases. Used only when parsing entities references. TODO: seems deprecated now, only used in the default part of <a href="libxml2-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a> [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)*</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the Name parsed or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetEntityReferenceFunc"/>xmlSetEntityReferenceFunc ()</h3><pre class="programlisting">void	xmlSetEntityReferenceFunc	(<a href="libxml2-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func)<br/>
-</pre><p>Set the function to call call back when a xml <a href="libxml2-SAX.html#reference">reference</a> has been made</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>A valid function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSkipBlankChars"/>xmlSkipBlankChars ()</h3><pre class="programlisting">int	xmlSkipBlankChars		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>skip all blanks character found at that point in the input streams. It pops up finished entities in the process if allowable at that point.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of space chars skipped</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSplitQName"/>xmlSplitQName ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br/>
-</pre><p>parse an UTF8 encoded XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local part, and prefix is updated to get the Prefix if any.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringCurrentChar"/>xmlStringCurrentChar ()</h3><pre class="programlisting">int	xmlStringCurrentChar		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 int * len)<br/>
-</pre><p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XML parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>pointer to the beginning of the char</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the length of the char read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current char value and its length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringDecodeEntities"/>xmlStringDecodeEntities ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStringDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 int what, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br/>
-</pre><p>Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the input string</td></tr><tr><td><span class="term"><i><tt>what</tt></i>:</span></td><td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a></td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end2</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end3</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>A newly allocated string with the substitution done. The caller must deallocate it !</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringLenDecodeEntities"/>xmlStringLenDecodeEntities ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStringLenDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>						 int len, <br/>						 int what, <br/>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br/>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br/>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br/>
-</pre><p>Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the input string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the string length</td></tr><tr><td><span class="term"><i><tt>what</tt></i>:</span></td><td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a></td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end2</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end3</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>A newly allocated string with the substitution done. The caller must deallocate it !</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSwitchEncoding"/>xmlSwitchEncoding ()</h3><pre class="programlisting">int	xmlSwitchEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>change the input functions when discovering the character encoding of a given entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the encoding value (number)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSwitchInputEncoding"/>xmlSwitchInputEncoding ()</h3><pre class="programlisting">int	xmlSwitchInputEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br/>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br/>
-</pre><p>change the input functions when discovering the character encoding of a given entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the input stream</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the encoding handler</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSwitchToEncoding"/>xmlSwitchToEncoding ()</h3><pre class="programlisting">int	xmlSwitchToEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br/>
-</pre><p>change the input functions when discovering the character encoding of a given entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the encoding handler</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringTextNoenc">Variable </a>xmlStringTextNoenc</h3>
+<pre class="programlisting">const xmlCharxmlStringTextNoenc[] xmlStringTextNoenc;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="inputPop"></a>inputPop ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	inputPop	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Pops the top parser input from the input stack</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the input just removed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="inputPush"></a>inputPush ()</h3>
+<pre class="programlisting">int	inputPush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value)<br>
+</pre>
+<p>Pushes a new parser input on top of the input stack</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, the index in the stack otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="namePop"></a>namePop ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	namePop			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Pops the top element name from the name stack</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the name just removed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="namePush"></a>namePush ()</h3>
+<pre class="programlisting">int	namePush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Pushes a new element name on top of the name stack</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, the index in the stack otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="nodePop"></a>nodePop ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	nodePop			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Pops the top element node from the node stack</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the node just removed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="nodePush"></a>nodePush ()</h3>
+<pre class="programlisting">int	nodePush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> value)<br>
+</pre>
+<p>Pushes a new element node on top of the node stack</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the element node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, the index in the stack otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCheckLanguageID"></a>xmlCheckLanguageID ()</h3>
+<pre class="programlisting">int	xmlCheckLanguageID		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br>
+</pre>
+<p>Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC <a href="libxml2-SAX.html#reference">reference</a> the successors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>lang</tt></i>:</span></td>
+<td>pointer to the string value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if correct 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyChar"></a>xmlCopyChar ()</h3>
+<pre class="programlisting">int	xmlCopyChar			(int len, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val)<br>
+</pre>
+<p>append the char value in the array</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>Ignored, compatibility</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the char value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyCharMultiByte"></a>xmlCopyCharMultiByte ()</h3>
+<pre class="programlisting">int	xmlCopyCharMultiByte		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val)<br>
+</pre>
+<p>append the char value in the array</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the char value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateEntityParserCtxt"></a>xmlCreateEntityParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateEntityParserCtxt	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br>
+</pre>
+<p>Create a parser context for an external entity Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the entity URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the entity PUBLIC ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>base</tt></i>:</span></td>
+<td>a possible base for the target URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateFileParserCtxt"></a>xmlCreateFileParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateFileParserCtxt	(const char * filename)<br>
+</pre>
+<p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateMemoryParserCtxt"></a>xmlCreateMemoryParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateMemoryParserCtxt	(const char * buffer, <br>							 int size)<br>
+</pre>
+<p>Create a parser context for an XML in-memory document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateURLParserCtxt"></a>xmlCreateURLParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateURLParserCtxt	(const char * filename, <br>						 int options)<br>
+</pre>
+<p>Create a parser context for a file or URL content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time and for file accesses</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCurrentChar"></a>xmlCurrentChar ()</h3>
+<pre class="programlisting">int	xmlCurrentChar			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int * len)<br>
+</pre>
+<p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer. Implement the end of line normalization: 2.11 End-of-Line Handling Wherever an external parsed entity or the literal entity value of an internal parsed entity contains either the literal two-character sequence "#xD#xA" or a standalone literal #xD, an XML processor must pass to the application the single character #xA. This behavior can conveniently be produced by normalizing all line breaks to #xA on input, before parsing.)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>pointer to the length of the char read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the current char value and its length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDecodeEntities"></a>xmlDecodeEntities ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int len, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br>
+</pre>
+<p>This function is deprecated, we now always process entities content through <a href="libxml2-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a> TODO: remove it in next major release. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the len to decode (in bytes !), -1 for no size limit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>what</tt></i>:</span></td>
+<td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end</tt></i>:</span></td>
+<td>an end marker xmlChar, 0 if none</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end2</tt></i>:</span></td>
+<td>an end marker xmlChar, 0 if none</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end3</tt></i>:</span></td>
+<td>an end marker xmlChar, 0 if none</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>A newly allocated string with the substitution done. The caller must deallocate it !</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlErrMemory"></a>xmlErrMemory ()</h3>
+<pre class="programlisting">void	xmlErrMemory			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * extra)<br>
+</pre>
+<p>Handle a redefinition of <a href="libxml2-SAX.html#attribute">attribute</a> error</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>extra</tt></i>:</span></td>
+<td>extra information</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeInputStream"></a>xmlFreeInputStream ()</h3>
+<pre class="programlisting">void	xmlFreeInputStream		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
+</pre>
+<p>Free up an input stream.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHandleEntity"></a>xmlHandleEntity ()</h3>
+<pre class="programlisting">void	xmlHandleEntity			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br>
+</pre>
+<p>Default handling of defined entities, when should we define a new input stream ? When do we just handle that as a set of chars ? OBSOLETE: to be removed at some point.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>entity</tt></i>:</span></td>
+<td>an XML entity pointer.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsLetter"></a>xmlIsLetter ()</h3>
+<pre class="programlisting">int	xmlIsLetter			(int c)<br>
+</pre>
+<p>Check whether the character is allowed by the production [84] Letter ::= BaseChar | Ideographic</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an unicode character (int)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if not, non-zero otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNamespaceParseNCName"></a>xmlNamespaceParseNCName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNCName	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML namespace name. TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace name or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNamespaceParseNSDef"></a>xmlNamespaceParseNSDef ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNSDef	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse a namespace prefix declaration TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 1] NSDef ::= PrefixDef Eq SystemLiteral [NS 2] PrefixDef ::= 'xmlns' (':' NCName)?</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNamespaceParseQName"></a>xmlNamespaceParseQName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseQName	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br>
+</pre>
+<p>TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. parse an XML qualified name [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local part, and prefix is updated to get the Prefix if any.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewEntityInputStream"></a>xmlNewEntityInputStream ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewEntityInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br>
+</pre>
+<p>Create a new input stream based on an <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>entity</tt></i>:</span></td>
+<td>an Entity pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new input stream or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewInputFromFile"></a>xmlNewInputFromFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputFromFile	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const char * filename)<br>
+</pre>
+<p>Create a new input stream based on a file or an URL.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename to use as entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new input stream or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewInputStream"></a>xmlNewInputStream ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Create a new input stream structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new input stream or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewStringInputStream"></a>xmlNewStringInputStream ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewStringInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer)<br>
+</pre>
+<p>Create a new input stream based on a memory buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>an memory buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new input stream</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNextChar"></a>xmlNextChar ()</h3>
+<pre class="programlisting">void	xmlNextChar			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Skip to the next char input char.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseAttValue"></a>xmlParseAttValue ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttValue	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse a value for an <a href="libxml2-SAX.html#attribute">attribute</a> Note: the parser won't do substitution of entities here, this will be handled later in <a href="libxml2-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a> [10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' | "'" ([^&lt;&amp;'] | Reference)* "'" 3.3.3 Attribute-Value Normalization: Before the value of an <a href="libxml2-SAX.html#attribute">attribute</a> is passed to the application or checked for validity, the XML processor must normalize it as follows: - a character <a href="libxml2-SAX.html#reference">reference</a> is processed by appending the referenced character to the <a href="libxml2-SAX.html#attribute">attribute</a> value - an entity <a href="libxml2-SAX.html#reference">reference</a> is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a "#xD#xA" sequence that is part of an external parsed entity or the literal entity value of an internal parsed entity - other <a href="libxml2-SAX.html#characters">characters</a> are processed by appending them to the normalized value If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the AttValue parsed or NULL. The value has to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseAttribute"></a>xmlParseAttribute ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttribute	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br>
+</pre>
+<p>DEPRECATED: Don't use. parse an <a href="libxml2-SAX.html#attribute">attribute</a> [41] Attribute ::= Name Eq AttValue [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities. [ WFC: No &lt; in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an <a href="libxml2-SAX.html#attribute">attribute</a> value (other than "&amp;lt;") must not contain a &lt;. [ VC: Attribute Value Type ] The <a href="libxml2-SAX.html#attribute">attribute</a> must have been declared; the value must be of the type declared for it. [25] Eq ::= S? '=' S? With namespace: [NS 11] Attribute ::= QName Eq AttValue Also the case QName == xmlns:??? is handled independently as a namespace definition.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** used to store the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name, and the value in *value.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseAttributeListDecl"></a>xmlParseAttributeListDecl ()</h3>
+<pre class="programlisting">void	xmlParseAttributeListDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>: parse the Attribute list def for an element [52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;' [53] AttDef ::= S Name S AttType S DefaultDecl</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseAttributeType"></a>xmlParseAttributeType ()</h3>
+<pre class="programlisting">int	xmlParseAttributeType		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br>
+</pre>
+<p>parse the Attribute list def for an element [54] AttType ::= StringType | TokenizedType | EnumeratedType [55] StringType ::= 'CDATA' [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' Validity constraints for <a href="libxml2-SAX.html#attribute">attribute</a> values syntax are checked in xmlValidateAttributeValue() [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them. [ VC: One ID per Element Type ] No element type may have more than one ID <a href="libxml2-SAX.html#attribute">attribute</a> specified. [ VC: ID Attribute Default ] An ID <a href="libxml2-SAX.html#attribute">attribute</a> must have a declared default of #IMPLIED or #REQUIRED. [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID <a href="libxml2-SAX.html#attribute">attribute</a> on some element in the XML document; i.e. IDREF values must match the value of some ID <a href="libxml2-SAX.html#attribute">attribute</a>. [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD. [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>the enumeration tree built while parsing</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseCDSect"></a>xmlParseCDSect ()</h3>
+<pre class="programlisting">void	xmlParseCDSect			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Parse escaped pure raw content. [18] CDSect ::= CDStart CData CDEnd [19] CDStart ::= '&lt;![CDATA[' [20] Data ::= (Char* - (Char* ']]&gt;' Char*)) [21] CDEnd ::= ']]&gt;'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseCharData"></a>xmlParseCharData ()</h3>
+<pre class="programlisting">void	xmlParseCharData		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int cdata)<br>
+</pre>
+<p>parse a CharData section. if we are within a CDATA section ']]&gt;' marks an end of section. The right angle bracket (&gt;) may be represented using the string "&amp;gt;", and must, for compatibility, be escaped using "&amp;gt;" or a character <a href="libxml2-SAX.html#reference">reference</a> when it appears in the string "]]&gt;" in content, when that string is not marking the end of a CDATA section. [14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cdata</tt></i>:</span></td>
+<td>int indicating whether we are within a CDATA section</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseCharRef"></a>xmlParseCharRef ()</h3>
+<pre class="programlisting">int	xmlParseCharRef			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' [ WFC: Legal Character ] Characters referred to using character references must match the production for Char.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value parsed (as an int), 0 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseComment"></a>xmlParseComment ()</h3>
+<pre class="programlisting">void	xmlParseComment			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Skip an XML (SGML) <a href="libxml2-SAX.html#comment">comment</a> &lt;!-- .... --&gt; The spec says that "For compatibility, the string "--" (double-hyphen) must not occur within comments. " [15] Comment ::= '&lt;!--' ((Char - '-') | ('-' (Char - '-')))* '--&gt;'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseContent"></a>xmlParseContent ()</h3>
+<pre class="programlisting">void	xmlParseContent			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Parse a content sequence. Stops at EOF or '&lt;/'. [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseDefaultDecl"></a>xmlParseDefaultDecl ()</h3>
+<pre class="programlisting">int	xmlParseDefaultDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br>
+</pre>
+<p>Parse an <a href="libxml2-SAX.html#attribute">attribute</a> default declaration [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the <a href="libxml2-SAX.html#attribute">attribute</a> must be specified for all elements of the type in the attribute-list declaration. [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared <a href="libxml2-SAX.html#attribute">attribute</a> type c.f. xmlValidateAttributeDecl() [ VC: Fixed Attribute Default ] if an <a href="libxml2-SAX.html#attribute">attribute</a> has a default value declared with the #FIXED keyword, instances of that <a href="libxml2-SAX.html#attribute">attribute</a> must match the default value. [ WFC: No &lt; in Attribute Values ] handled in xmlParseAttValue()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>Receive a possible fixed default value for the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, <a href="libxml2-tree.html#XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> or <a href="libxml2-tree.html#XML_ATTRIBUTE_FIXED">XML_ATTRIBUTE_FIXED</a>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseDocTypeDecl"></a>xmlParseDocTypeDecl ()</h3>
+<pre class="programlisting">void	xmlParseDocTypeDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse a DOCTYPE declaration [28] doctypedecl ::= '&lt;!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl | PEReference | S)* ']' S?)? '&gt;' [ VC: Root Element Type ] The Name in the document type declaration must match the element type of the root element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseElement"></a>xmlParseElement ()</h3>
+<pre class="programlisting">void	xmlParseElement			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML element [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseElementChildrenContentDecl"></a>xmlParseElementChildrenContentDecl ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlParseElementChildrenContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk)<br>
+</pre>
+<p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [47] children ::= (choice | seq) ('?' | '*' | '+')? [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')? [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity <a href="libxml2-SAX.html#reference">reference</a> appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inputchk</tt></i>:</span></td>
+<td>the input used for the current entity, needed for boundary checks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the tree of <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element hierarchy.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseElementContentDecl"></a>xmlParseElementContentDecl ()</h3>
+<pre class="programlisting">int	xmlParseElementContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result)<br>
+</pre>
+<p>parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are handled directly in <a href="libxml2-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a> [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the element being defined.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>result</tt></i>:</span></td>
+<td>the Element Content pointer will be stored here if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the type of element content XML_ELEMENT_TYPE_xxx</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseElementDecl"></a>xmlParseElementDecl ()</h3>
+<pre class="programlisting">int	xmlParseElementDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an Element declaration. [45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;' [ VC: Unique Element Type Declaration ] No element type may be declared more than once</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the type of the element, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseElementMixedContentDecl"></a>xmlParseElementMixedContentDecl ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlParseElementMixedContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk)<br>
+</pre>
+<p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' | '(' S? '#PCDATA' S? ')' [ VC: Proper Group/PE Nesting ] applies to [51] too (see [49]) [ VC: No Duplicate Types ] The same name must not appear more than once in a single mixed-content declaration.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inputchk</tt></i>:</span></td>
+<td>the input used for the current entity, needed for boundary checks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the list of the <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element choices</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEncName"></a>xmlParseEncName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEncName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse the XML encoding name [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the encoding name value or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEncodingDecl"></a>xmlParseEncodingDecl ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEncodingDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse the XML encoding declaration [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'") this setups the conversion filters.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the encoding value or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEndTag"></a>xmlParseEndTag ()</h3>
+<pre class="programlisting">void	xmlParseEndTag			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an end of tag [42] ETag ::= '&lt;/' Name S? '&gt;' With namespace [NS 9] ETag ::= '&lt;/' QName S? '&gt;'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEntityDecl"></a>xmlParseEntityDecl ()</h3>
+<pre class="programlisting">void	xmlParseEntityDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse &lt;!ENTITY declarations [70] EntityDecl ::= GEDecl | PEDecl [71] GEDecl ::= '&lt;!ENTITY' S Name S EntityDef S? '&gt;' [72] PEDecl ::= '&lt;!ENTITY' S '%' S Name S PEDef S? '&gt;' [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) [74] PEDef ::= EntityValue | ExternalID [76] NDataDecl ::= S 'NDATA' S Name [ VC: Notation Declared ] The Name must match the declared name of a notation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEntityRef"></a>xmlParseEntityRef ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlParseEntityRef	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse ENTITY references declarations [68] EntityRef ::= '&amp;' Name ';' [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", the Name given in the entity <a href="libxml2-SAX.html#reference">reference</a> must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it. Similarly, the declaration of a general entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it which appears in a default value in an attribute-list declaration. Note that if entities are declared in the external subset or in external parameter entities, a non-validating processor is not obligated to read and process their declarations; for such documents, the rule that an entity must be declared is a well-formedness constraint only if standalone='yes'. [ WFC: Parsed Entity ] An entity <a href="libxml2-SAX.html#reference">reference</a> must not contain the name of an unparsed entity</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found, or NULL otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEntityValue"></a>xmlParseEntityValue ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEntityValue	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig)<br>
+</pre>
+<p>parse a value for ENTITY declarations [9] EntityValue ::= '"' ([^%&amp;"] | PEReference | Reference)* '"' | "'" ([^%&amp;'] | PEReference | Reference)* "'"</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>orig</tt></i>:</span></td>
+<td>if non-NULL store a copy of the original entity value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the EntityValue parsed with <a href="libxml2-SAX.html#reference">reference</a> substituted or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEnumeratedType"></a>xmlParseEnumeratedType ()</h3>
+<pre class="programlisting">int	xmlParseEnumeratedType		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br>
+</pre>
+<p>parse an Enumerated <a href="libxml2-SAX.html#attribute">attribute</a> type. [57] EnumeratedType ::= NotationType | Enumeration [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>the enumeration tree built while parsing</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>
+<a href="libxml2-tree.html#XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> or <a href="libxml2-tree.html#XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEnumerationType"></a>xmlParseEnumerationType ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseEnumerationType	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an Enumeration <a href="libxml2-SAX.html#attribute">attribute</a> type. [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the enumeration <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseExternalID"></a>xmlParseExternalID ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseExternalID	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br>					 int strict)<br>
+</pre>
+<p>Parse an External ID or a Public ID NOTE: Productions [75] and [83] interact badly since [75] can generate 'PUBLIC' S PubidLiteral S SystemLiteral [75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral [83] PublicID ::= 'PUBLIC' S PubidLiteral</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicID</tt></i>:</span></td>
+<td>a xmlChar** receiving PubidLiteral</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>strict</tt></i>:</span></td>
+<td>indicate whether we should restrict parsing to only production [75], see NOTE below</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the function returns SystemLiteral and in the second case publicID receives PubidLiteral, is strict is off it is possible to return NULL and have publicID set.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseExternalSubset"></a>xmlParseExternalSubset ()</h3>
+<pre class="programlisting">void	xmlParseExternalSubset		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>parse Markup declarations from an external subset [30] extSubset ::= textDecl? extSubsetDecl [31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the system identifier (or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseMarkupDecl"></a>xmlParseMarkupDecl ()</h3>
+<pre class="programlisting">void	xmlParseMarkupDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse Markup declarations [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly nested with markup declarations. That is to say, if either the first character or the last character of a markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both must be contained in the same replacement text. [ WFC: PEs in Internal Subset ] In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseMisc"></a>xmlParseMisc ()</h3>
+<pre class="programlisting">void	xmlParseMisc			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseName"></a>xmlParseName ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (#x20 Name)*</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the Name parsed or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseNamespace"></a>xmlParseNamespace ()</h3>
+<pre class="programlisting">void	xmlParseNamespace		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>xmlParseNamespace: parse specific PI '&lt;?namespace ...' constructs. This is what the older xml-name Working Draft specified, a bunch of other stuff may still rely on it, so support is still here as if it was declared on the root of the Tree:-( TODO: remove from library To be removed at next drop of binary compatibility</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseNmtoken"></a>xmlParseNmtoken ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseNmtoken		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the Nmtoken parsed or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseNotationDecl"></a>xmlParseNotationDecl ()</h3>
+<pre class="programlisting">void	xmlParseNotationDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse a notation declaration [82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID | PublicID) S? '&gt;' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseNotationType"></a>xmlParseNotationType ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseNotationType	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an Notation <a href="libxml2-SAX.html#attribute">attribute</a> type. Note: the leading 'NOTATION' S part has already being parsed... [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the notation <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParsePEReference"></a>xmlParsePEReference ()</h3>
+<pre class="programlisting">void	xmlParsePEReference		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse PEReference declarations The entity content is handled directly by pushing it's content as a new input stream. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml2-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParsePI"></a>xmlParsePI ()</h3>
+<pre class="programlisting">void	xmlParsePI			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML Processing Instruction. [16] PI ::= '&lt;?' PITarget (S (Char* - (Char* '?&gt;' Char*)))? '?&gt;' The processing is transferred to SAX once parsed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParsePITarget"></a>xmlParsePITarget ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParsePITarget	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse the name of a PI [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the PITarget name or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParsePubidLiteral"></a>xmlParsePubidLiteral ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParsePubidLiteral	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML public literal [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the PubidLiteral parsed or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseQuotedString"></a>xmlParseQuotedString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseQuotedString	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Parse and return a string between quotes or doublequotes TODO: Deprecated, to be removed at next drop of binary compatibility</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the string parser or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseReference"></a>xmlParseReference ()</h3>
+<pre class="programlisting">void	xmlParseReference		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse and handle entity references in content, depending on the SAX interface, this may end-up in a call to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the parser was asked to switch to that mode. [67] Reference ::= EntityRef | CharRef</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseSDDecl"></a>xmlParseSDDecl ()</h3>
+<pre class="programlisting">int	xmlParseSDDecl			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse the XML standalone declaration [32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"')) [ VC: Standalone Document Declaration ] TODO The standalone document declaration must have the value "no" if any external markup declarations contain declarations of: - attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or - entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or - attributes with values subject to normalization, where the <a href="libxml2-SAX.html#attribute">attribute</a> appears in the document with a value which will change as a result of normalization, or - element types with element content, if white space occurs directly within any instance of those types.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if standalone="yes" 0 if standalone="no" -2 if standalone <a href="libxml2-SAX.html#attribute">attribute</a> is missing or invalid (A standalone value of -2 means that the XML declaration was found, but no value was specified for the standalone attribute).</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseStartTag"></a>xmlParseStartTag ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseStartTag	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>DEPRECATED: Don't use. parse a start of tag either for rule element or EmptyElement. In both case we don't parse the tag closing chars. [40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;' [ WFC: Unique Att Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. [44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;' [ WFC: Unique Att Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. With namespace: [NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;' [NS 10] EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the element name parsed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseSystemLiteral"></a>xmlParseSystemLiteral ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseSystemLiteral	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML Literal [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the SystemLiteral parsed or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseTextDecl"></a>xmlParseTextDecl ()</h3>
+<pre class="programlisting">void	xmlParseTextDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML declaration header for external entities [77] TextDecl ::= '&lt;?xml' VersionInfo? EncodingDecl S? '?&gt;'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseVersionInfo"></a>xmlParseVersionInfo ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseVersionInfo	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse the XML version. [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ") [25] Eq ::= S? '=' S?</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the version string, e.g. "1.0"</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseVersionNum"></a>xmlParseVersionNum ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseVersionNum	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse the XML version value. [26] VersionNum ::= '1.' [0-9]+ In practice allow [0-9].[0-9]+ at that level</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the string giving the XML version number, or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseXMLDecl"></a>xmlParseXMLDecl ()</h3>
+<pre class="programlisting">void	xmlParseXMLDecl			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML declaration header [23] XMLDecl ::= '&lt;?xml' VersionInfo EncodingDecl? SDDecl? S? '?&gt;'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserHandlePEReference"></a>xmlParserHandlePEReference ()</h3>
+<pre class="programlisting">void	xmlParserHandlePEReference	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>[69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml2-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled. A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc i.e. - Included in literal in entity values - Included as Parameter Entity <a href="libxml2-SAX.html#reference">reference</a> within DTDs</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserHandleReference"></a>xmlParserHandleReference ()</h3>
+<pre class="programlisting">void	xmlParserHandleReference	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>TODO: Remove, now deprecated ... the test is done directly in the content parsing routines. [67] Reference ::= EntityRef | CharRef [68] EntityRef ::= '&amp;' Name ';' [ WFC: Entity Declared ] the Name given in the entity <a href="libxml2-SAX.html#reference">reference</a> must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. [ WFC: Parsed Entity ] An entity <a href="libxml2-SAX.html#reference">reference</a> must not contain the name of an unparsed entity [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputShrink"></a>xmlParserInputShrink ()</h3>
+<pre class="programlisting">void	xmlParserInputShrink		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in)<br>
+</pre>
+<p>This function removes used input for the parser.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an XML parser input</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPopInput"></a>xmlPopInput ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>	xmlPopInput			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>xmlPopInput: the current input pointed by ctxt-&gt;input came to an end pop it and return the next char.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the current <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> in the parser context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPushInput"></a>xmlPushInput ()</h3>
+<pre class="programlisting">int	xmlPushInput			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
+</pre>
+<p>xmlPushInput: switch to a new input stream which is stacked on top of the previous one(s).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>an XML parser input fragment (entity, XML fragment ...).</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error or the index in the input stack</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlScanName"></a>xmlScanName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlScanName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Trickery: parse an XML name but without consuming the input flow Needed for rollback cases. Used only when parsing entities references. TODO: seems deprecated now, only used in the default part of <a href="libxml2-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a> [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)*</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the Name parsed or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetEntityReferenceFunc"></a>xmlSetEntityReferenceFunc ()</h3>
+<pre class="programlisting">void	xmlSetEntityReferenceFunc	(<a href="libxml2-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func)<br>
+</pre>
+<p>Set the function to call call back when a xml <a href="libxml2-SAX.html#reference">reference</a> has been made</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td>A valid function</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSkipBlankChars"></a>xmlSkipBlankChars ()</h3>
+<pre class="programlisting">int	xmlSkipBlankChars		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>skip all blanks character found at that point in the input streams. It pops up finished entities in the process if allowable at that point.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of space chars skipped</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSplitQName"></a>xmlSplitQName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br>
+</pre>
+<p>parse an UTF8 encoded XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local part, and prefix is updated to get the Prefix if any.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringCurrentChar"></a>xmlStringCurrentChar ()</h3>
+<pre class="programlisting">int	xmlStringCurrentChar		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int * len)<br>
+</pre>
+<p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>pointer to the beginning of the char</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>pointer to the length of the char read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the current char value and its length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringDecodeEntities"></a>xmlStringDecodeEntities ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStringDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br>
+</pre>
+<p>Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the input string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>what</tt></i>:</span></td>
+<td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end</tt></i>:</span></td>
+<td>an end marker xmlChar, 0 if none</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end2</tt></i>:</span></td>
+<td>an end marker xmlChar, 0 if none</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end3</tt></i>:</span></td>
+<td>an end marker xmlChar, 0 if none</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>A newly allocated string with the substitution done. The caller must deallocate it !</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringLenDecodeEntities"></a>xmlStringLenDecodeEntities ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStringLenDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 int len, <br>						 int what, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br>
+</pre>
+<p>Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the input string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the string length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>what</tt></i>:</span></td>
+<td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end</tt></i>:</span></td>
+<td>an end marker xmlChar, 0 if none</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end2</tt></i>:</span></td>
+<td>an end marker xmlChar, 0 if none</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end3</tt></i>:</span></td>
+<td>an end marker xmlChar, 0 if none</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>A newly allocated string with the substitution done. The caller must deallocate it !</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSwitchEncoding"></a>xmlSwitchEncoding ()</h3>
+<pre class="programlisting">int	xmlSwitchEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>change the input functions when discovering the character encoding of a given entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the encoding value (number)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSwitchInputEncoding"></a>xmlSwitchInputEncoding ()</h3>
+<pre class="programlisting">int	xmlSwitchInputEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parserInternals.html#xmlSwitchToEncoding">xmlSwitchToEncoding</a> change the input functions when discovering the character encoding of a given entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the input stream</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the encoding handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSwitchToEncoding"></a>xmlSwitchToEncoding ()</h3>
+<pre class="programlisting">int	xmlSwitchToEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
+</pre>
+<p>change the input functions when discovering the character encoding of a given entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the encoding handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-pattern.html b/doc/devhelp/libxml2-pattern.html
index 321bd79..72992a6 100644
--- a/doc/devhelp/libxml2-pattern.html
+++ b/doc/devhelp/libxml2-pattern.html
@@ -1,166 +1,445 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>pattern: pattern expression handling</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-parserInternals.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-relaxng.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">pattern</span>
-    </h2>
-    <p>pattern - pattern expression handling</p>
-    <p>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef <a href="libxml2-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a> * <a href="#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>pattern: pattern expression handling</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-parserInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-relaxng.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">pattern</span></h2>
+<p>pattern - pattern expression handling</p>
+<p>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlPattern <a href="#xmlPattern">xmlPattern</a>;
 typedef enum <a href="#xmlPatternFlags">xmlPatternFlags</a>;
-typedef struct _xmlStreamCtxt <a href="#xmlStreamCtxt">xmlStreamCtxt</a>;
-typedef struct _xmlPattern <a href="#xmlPattern">xmlPattern</a>;
 typedef <a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> * <a href="#xmlPatternPtr">xmlPatternPtr</a>;
-int	<a href="#xmlPatternMinDepth">xmlPatternMinDepth</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
-<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>	<a href="#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a>	(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
-int	<a href="#xmlPatternFromRoot">xmlPatternFromRoot</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
-void	<a href="#xmlFreePatternList">xmlFreePatternList</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
-int	<a href="#xmlPatternStreamable">xmlPatternStreamable</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
-int	<a href="#xmlStreamPushAttr">xmlStreamPushAttr</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
-int	<a href="#xmlPatternMatch">xmlPatternMatch</a>			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-int	<a href="#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt);
-int	<a href="#xmlStreamPop">xmlStreamPop</a>			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream);
+typedef struct _xmlStreamCtxt <a href="#xmlStreamCtxt">xmlStreamCtxt</a>;
+typedef <a href="libxml2-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a> * <a href="#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>;
 void	<a href="#xmlFreePattern">xmlFreePattern</a>			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
-int	<a href="#xmlStreamPush">xmlStreamPush</a>			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
-int	<a href="#xmlPatternMaxDepth">xmlPatternMaxDepth</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
-<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a>	<a href="#xmlPatterncompile">xmlPatterncompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br/>					 <a href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br/>					 int flags, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces);
-int	<a href="#xmlStreamPushNode">xmlStreamPushNode</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br/>					 int nodeType);
+void	<a href="#xmlFreePatternList">xmlFreePatternList</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
 void	<a href="#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream);
+int	<a href="#xmlPatternFromRoot">xmlPatternFromRoot</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
+<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>	<a href="#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a>	(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
+int	<a href="#xmlPatternMatch">xmlPatternMatch</a>			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int	<a href="#xmlPatternMaxDepth">xmlPatternMaxDepth</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
+int	<a href="#xmlPatternMinDepth">xmlPatternMinDepth</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
+int	<a href="#xmlPatternStreamable">xmlPatternStreamable</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
+<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a>	<a href="#xmlPatterncompile">xmlPatterncompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 <a href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br>					 int flags, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces);
+int	<a href="#xmlStreamPop">xmlStreamPop</a>			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream);
+int	<a href="#xmlStreamPush">xmlStreamPush</a>			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
+int	<a href="#xmlStreamPushAttr">xmlStreamPushAttr</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
+int	<a href="#xmlStreamPushNode">xmlStreamPushNode</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 int nodeType);
+int	<a href="#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlPattern">Structure </a>xmlPattern</h3><pre class="programlisting">struct _xmlPattern {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPattern">Structure </a>xmlPattern</h3>
+<pre class="programlisting">struct _xmlPattern {
 The content of this structure is not made public by the API.
 } xmlPattern;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternFlags">Enum </a>xmlPatternFlags</h3><pre class="programlisting">enum <a href="#xmlPatternFlags">xmlPatternFlags</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternFlags">Enum </a>xmlPatternFlags</h3>
+<pre class="programlisting">enum <a href="#xmlPatternFlags">xmlPatternFlags</a> {
     <a name="XML_PATTERN_DEFAULT">XML_PATTERN_DEFAULT</a> = 0 /* simple pattern match */
     <a name="XML_PATTERN_XPATH">XML_PATTERN_XPATH</a> = 1 /* standard XPath pattern */
     <a name="XML_PATTERN_XSSEL">XML_PATTERN_XSSEL</a> = 2 /* XPath subset for schema selector */
     <a name="XML_PATTERN_XSFIELD">XML_PATTERN_XSFIELD</a> = 4 /*  XPath subset for schema field */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternPtr">Typedef </a>xmlPatternPtr</h3><pre class="programlisting"><a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> * xmlPatternPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternPtr">Typedef </a>xmlPatternPtr</h3>
+<pre class="programlisting"><a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> * xmlPatternPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamCtxt">Structure </a>xmlStreamCtxt</h3><pre class="programlisting">struct _xmlStreamCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamCtxt">Structure </a>xmlStreamCtxt</h3>
+<pre class="programlisting">struct _xmlStreamCtxt {
 The content of this structure is not made public by the API.
 } xmlStreamCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamCtxtPtr">Typedef </a>xmlStreamCtxtPtr</h3><pre class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a> * xmlStreamCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamCtxtPtr">Typedef </a>xmlStreamCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a> * xmlStreamCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreePattern"/>xmlFreePattern ()</h3><pre class="programlisting">void	xmlFreePattern			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Free up the memory allocated by @comp</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>an XSLT comp</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreePatternList"/>xmlFreePatternList ()</h3><pre class="programlisting">void	xmlFreePatternList		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Free up the memory allocated by all the elements of @comp</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>an XSLT comp list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeStreamCtxt"/>xmlFreeStreamCtxt ()</h3><pre class="programlisting">void	xmlFreeStreamCtxt		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br/>
-</pre><p>Free the stream context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternFromRoot"/>xmlPatternFromRoot ()</h3><pre class="programlisting">int	xmlPatternFromRoot		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Check if the pattern must be looked at from the root.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternGetStreamCtxt"/>xmlPatternGetStreamCtxt ()</h3><pre class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>	xmlPatternGetStreamCtxt	(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Get a streaming context for that pattern Use <a href="libxml2-pattern.html#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a> to free the context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the context or NULL in case of failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternMatch"/>xmlPatternMatch ()</h3><pre class="programlisting">int	xmlPatternMatch			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Test whether the node matches the pattern</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if it matches, 0 if it doesn't and -1 in case of failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternMaxDepth"/>xmlPatternMaxDepth ()</h3><pre class="programlisting">int	xmlPatternMaxDepth		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Check the maximum depth reachable by a pattern</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-2 if no limit (using //), otherwise the depth, and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternMinDepth"/>xmlPatternMinDepth ()</h3><pre class="programlisting">int	xmlPatternMinDepth		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Check the minimum depth reachable by a pattern, 0 mean the / or . are part of the set.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error otherwise the depth,</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternStreamable"/>xmlPatternStreamable ()</h3><pre class="programlisting">int	xmlPatternStreamable		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Check if the pattern is streamable i.e. xmlPatternGetStreamCtxt() should work.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if streamable, 0 if not and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatterncompile"/>xmlPatterncompile ()</h3><pre class="programlisting"><a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a>	xmlPatterncompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br/>					 <a href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br/>					 int flags, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br/>
-</pre><p>Compile a pattern.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>pattern</tt></i>:</span></td><td>the pattern to compile</td></tr><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>an optional dictionary for interned strings</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>compilation flags, see <a href="libxml2-pattern.html#xmlPatternFlags">xmlPatternFlags</a></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>the compiled form of the pattern or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamPop"/>xmlStreamPop ()</h3><pre class="programlisting">int	xmlStreamPop			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br/>
-</pre><p>push one level from the stream.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamPush"/>xmlStreamPush ()</h3><pre class="programlisting">int	xmlStreamPush			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br/>
-</pre><p>Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an element-node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the current name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamPushAttr"/>xmlStreamPushAttr ()</h3><pre class="programlisting">int	xmlStreamPushAttr		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br/>
-</pre><p>Push new <a href="libxml2-SAX.html#attribute">attribute</a> data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an attribute-node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the current name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamPushNode"/>xmlStreamPushNode ()</h3><pre class="programlisting">int	xmlStreamPushNode		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br/>					 int nodeType)<br/>
-</pre><p>Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Different from xmlStreamPush() this function can be fed with nodes of type: element-, attribute-, text-, cdata-section-, comment- and processing-instruction-node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the current name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>nodeType</tt></i>:</span></td><td>the type of the node being pushed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamWantsAnyNode"/>xmlStreamWantsAnyNode ()</h3><pre class="programlisting">int	xmlStreamWantsAnyNode		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt)<br/>
-</pre><p>Query if the streaming pattern additionally needs to be fed with text-, cdata-section-, comment- and processing-instruction-nodes. If the result is 0 then only element-nodes and attribute-nodes need to be pushed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>streamCtxt</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of need of nodes of the above described types, 0 otherwise. -1 on API errors.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreePattern"></a>xmlFreePattern ()</h3>
+<pre class="programlisting">void	xmlFreePattern			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Free up the memory allocated by @comp</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>an XSLT comp</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreePatternList"></a>xmlFreePatternList ()</h3>
+<pre class="programlisting">void	xmlFreePatternList		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Free up the memory allocated by all the elements of @comp</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>an XSLT comp list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeStreamCtxt"></a>xmlFreeStreamCtxt ()</h3>
+<pre class="programlisting">void	xmlFreeStreamCtxt		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br>
+</pre>
+<p>Free the stream context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>the stream context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternFromRoot"></a>xmlPatternFromRoot ()</h3>
+<pre class="programlisting">int	xmlPatternFromRoot		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Check if the pattern must be looked at from the root.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if false and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternGetStreamCtxt"></a>xmlPatternGetStreamCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>	xmlPatternGetStreamCtxt	(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Get a streaming context for that pattern Use <a href="libxml2-pattern.html#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a> to free the context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the context or NULL in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternMatch"></a>xmlPatternMatch ()</h3>
+<pre class="programlisting">int	xmlPatternMatch			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Test whether the node matches the pattern</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if it matches, 0 if it doesn't and -1 in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternMaxDepth"></a>xmlPatternMaxDepth ()</h3>
+<pre class="programlisting">int	xmlPatternMaxDepth		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Check the maximum depth reachable by a pattern</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-2 if no limit (using //), otherwise the depth, and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternMinDepth"></a>xmlPatternMinDepth ()</h3>
+<pre class="programlisting">int	xmlPatternMinDepth		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Check the minimum depth reachable by a pattern, 0 mean the / or . are part of the set.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error otherwise the depth,</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternStreamable"></a>xmlPatternStreamable ()</h3>
+<pre class="programlisting">int	xmlPatternStreamable		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Check if the pattern is streamable i.e. xmlPatternGetStreamCtxt() should work.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if streamable, 0 if not and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatterncompile"></a>xmlPatterncompile ()</h3>
+<pre class="programlisting"><a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a>	xmlPatterncompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 <a href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br>					 int flags, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br>
+</pre>
+<p>Compile a pattern.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>pattern</tt></i>:</span></td>
+<td>the pattern to compile</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>an optional dictionary for interned strings</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>compilation flags, see <a href="libxml2-pattern.html#xmlPatternFlags">xmlPatternFlags</a>
+</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>the compiled form of the pattern or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamPop"></a>xmlStreamPop ()</h3>
+<pre class="programlisting">int	xmlStreamPop			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br>
+</pre>
+<p>push one level from the stream.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>the stream context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamPush"></a>xmlStreamPush ()</h3>
+<pre class="programlisting">int	xmlStreamPush			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
+</pre>
+<p>Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an element-node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>the stream context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the current name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamPushAttr"></a>xmlStreamPushAttr ()</h3>
+<pre class="programlisting">int	xmlStreamPushAttr		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
+</pre>
+<p>Push new <a href="libxml2-SAX.html#attribute">attribute</a> data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an attribute-node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>the stream context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the current name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamPushNode"></a>xmlStreamPushNode ()</h3>
+<pre class="programlisting">int	xmlStreamPushNode		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 int nodeType)<br>
+</pre>
+<p>Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Different from xmlStreamPush() this function can be fed with nodes of type: element-, attribute-, text-, cdata-section-, comment- and processing-instruction-node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>the stream context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the current name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodeType</tt></i>:</span></td>
+<td>the type of the node being pushed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamWantsAnyNode"></a>xmlStreamWantsAnyNode ()</h3>
+<pre class="programlisting">int	xmlStreamWantsAnyNode		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt)<br>
+</pre>
+<p>Query if the streaming pattern additionally needs to be fed with text-, cdata-section-, comment- and processing-instruction-nodes. If the result is 0 then only element-nodes and attribute-nodes need to be pushed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>streamCtxt</tt></i>:</span></td>
+<td>the stream context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of need of nodes of the above described types, 0 otherwise. -1 on API errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-relaxng.html b/doc/devhelp/libxml2-relaxng.html
index 07aa9a3..72d1b8b 100644
--- a/doc/devhelp/libxml2-relaxng.html
+++ b/doc/devhelp/libxml2-relaxng.html
@@ -1,129 +1,137 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>relaxng: implementation of the Relax-NG validation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-pattern.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-schemasInternals.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">relaxng</span>
-    </h2>
-    <p>relaxng - implementation of the Relax-NG validation</p>
-    <p>implementation of the Relax-NG validation </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlRelaxNG <a href="#xmlRelaxNG">xmlRelaxNG</a>;
-typedef <a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * <a href="#xmlRelaxNGPtr">xmlRelaxNGPtr</a>;
-typedef enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>relaxng: implementation of the Relax-NG validation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-pattern.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">relaxng</span></h2>
+<p>relaxng - implementation of the Relax-NG validation</p>
+<p>implementation of the Relax-NG validation </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlRelaxNG <a href="#xmlRelaxNG">xmlRelaxNG</a>;
 typedef struct _xmlRelaxNGParserCtxt <a href="#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a>;
 typedef <a href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * <a href="#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>;
 typedef enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a>;
+typedef <a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * <a href="#xmlRelaxNGPtr">xmlRelaxNGPtr</a>;
 typedef struct _xmlRelaxNGValidCtxt <a href="#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a>;
 typedef <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * <a href="#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>;
-void	<a href="#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt);
-<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-void	<a href="#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br/>					 void * ctx);
-<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a>	(const char * URL);
-int	<a href="#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br/>					 void ** ctx);
-int	<a href="#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	<a href="#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
-<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a>	(const char * buffer, <br/>							 int size);
-void	<a href="#xmlRelaxNGDump">xmlRelaxNGDump</a>			(FILE * output, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
-void	<a href="#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br/>					 void * ctx);
-<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	<a href="#xmlRelaxNGParse">xmlRelaxNGParse</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
-void	<a href="#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>						 void * ctx);
-int	<a href="#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-typedef void <a href="#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a>	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-int	<a href="#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-void	<a href="#xmlRelaxNGFree">xmlRelaxNGFree</a>			(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
-int	<a href="#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-void	<a href="#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>						 void * ctx);
-void	<a href="#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
-int	<a href="#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br/>					 void ** ctx);
-int	<a href="#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a>		(void);
-void	<a href="#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a>		(FILE * output, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+typedef enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a>;
 void	<a href="#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a>		(void);
-int	<a href="#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br/>					 int len);
-int	<a href="#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>					 int flags);
-typedef void <a href="#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a>	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
+void	<a href="#xmlRelaxNGDump">xmlRelaxNGDump</a>			(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+void	<a href="#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a>		(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+void	<a href="#xmlRelaxNGFree">xmlRelaxNGFree</a>			(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+void	<a href="#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
+void	<a href="#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt);
+int	<a href="#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx);
+int	<a href="#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx);
+int	<a href="#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a>		(void);
+<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a>	(const char * buffer, <br>							 int size);
+<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a>	(const char * URL);
+<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	<a href="#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	<a href="#xmlRelaxNGParse">xmlRelaxNGParse</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
+void	<a href="#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx);
+void	<a href="#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
+void	<a href="#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx);
+void	<a href="#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
+int	<a href="#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int	<a href="#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+int	<a href="#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+int	<a href="#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len);
+int	<a href="#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+typedef void <a href="#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+typedef void <a href="#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+int	<a href="#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 int flags);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNG">Structure </a>xmlRelaxNG</h3><pre class="programlisting">struct _xmlRelaxNG {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNG">Structure </a>xmlRelaxNG</h3>
+<pre class="programlisting">struct _xmlRelaxNG {
 The content of this structure is not made public by the API.
 } xmlRelaxNG;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGParserCtxt">Structure </a>xmlRelaxNGParserCtxt</h3><pre class="programlisting">struct _xmlRelaxNGParserCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGParserCtxt">Structure </a>xmlRelaxNGParserCtxt</h3>
+<pre class="programlisting">struct _xmlRelaxNGParserCtxt {
 The content of this structure is not made public by the API.
 } xmlRelaxNGParserCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGParserCtxtPtr">Typedef </a>xmlRelaxNGParserCtxtPtr</h3><pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * xmlRelaxNGParserCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGParserCtxtPtr">Typedef </a>xmlRelaxNGParserCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * xmlRelaxNGParserCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGParserFlag">Enum </a>xmlRelaxNGParserFlag</h3><pre class="programlisting">enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGParserFlag">Enum </a>xmlRelaxNGParserFlag</h3>
+<pre class="programlisting">enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> {
     <a name="XML_RELAXNGP_NONE">XML_RELAXNGP_NONE</a> = 0
     <a name="XML_RELAXNGP_FREE_DOC">XML_RELAXNGP_FREE_DOC</a> = 1
     <a name="XML_RELAXNGP_CRNG">XML_RELAXNGP_CRNG</a> = 2
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGPtr">Typedef </a>xmlRelaxNGPtr</h3><pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * xmlRelaxNGPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGPtr">Typedef </a>xmlRelaxNGPtr</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * xmlRelaxNGPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidCtxt">Structure </a>xmlRelaxNGValidCtxt</h3><pre class="programlisting">struct _xmlRelaxNGValidCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidCtxt">Structure </a>xmlRelaxNGValidCtxt</h3>
+<pre class="programlisting">struct _xmlRelaxNGValidCtxt {
 The content of this structure is not made public by the API.
 } xmlRelaxNGValidCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidCtxtPtr">Typedef </a>xmlRelaxNGValidCtxtPtr</h3><pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * xmlRelaxNGValidCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidCtxtPtr">Typedef </a>xmlRelaxNGValidCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * xmlRelaxNGValidCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidErr">Enum </a>xmlRelaxNGValidErr</h3><pre class="programlisting">enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidErr">Enum </a>xmlRelaxNGValidErr</h3>
+<pre class="programlisting">enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a> {
     <a name="XML_RELAXNG_OK">XML_RELAXNG_OK</a> = 0
     <a name="XML_RELAXNG_ERR_MEMORY">XML_RELAXNG_ERR_MEMORY</a> = 1
     <a name="XML_RELAXNG_ERR_TYPE">XML_RELAXNG_ERR_TYPE</a> = 2
@@ -165,114 +173,620 @@
     <a name="XML_RELAXNG_ERR_ELEMWRONG">XML_RELAXNG_ERR_ELEMWRONG</a> = 38
     <a name="XML_RELAXNG_ERR_TEXTWRONG">XML_RELAXNG_ERR_TEXTWRONG</a> = 39
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidityErrorFunc"/>Function type xmlRelaxNGValidityErrorFunc</h3><pre class="programlisting">void	xmlRelaxNGValidityErrorFunc	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Signature of an error callback from a Relax-NG validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidityWarningFunc"/>Function type xmlRelaxNGValidityWarningFunc</h3><pre class="programlisting">void	xmlRelaxNGValidityWarningFunc	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Signature of a warning callback from a Relax-NG validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGCleanupTypes"/>xmlRelaxNGCleanupTypes ()</h3><pre class="programlisting">void	xmlRelaxNGCleanupTypes		(void)<br/>
-</pre><p>Cleanup the default Schemas type library associated to RelaxNG</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidityErrorFunc"></a>Function type xmlRelaxNGValidityErrorFunc</h3>
+<pre class="programlisting">void	xmlRelaxNGValidityErrorFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Signature of an error callback from a Relax-NG validation</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGDump"/>xmlRelaxNGDump ()</h3><pre class="programlisting">void	xmlRelaxNGDump			(FILE * output, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br/>
-</pre><p>Dump a RelaxNG structure back</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the file output</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGDumpTree"/>xmlRelaxNGDumpTree ()</h3><pre class="programlisting">void	xmlRelaxNGDumpTree		(FILE * output, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br/>
-</pre><p>Dump the transformed RelaxNG tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the file output</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGFree"/>xmlRelaxNGFree ()</h3><pre class="programlisting">void	xmlRelaxNGFree			(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br/>
-</pre><p>Deallocate a RelaxNG structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGFreeParserCtxt"/>xmlRelaxNGFreeParserCtxt ()</h3><pre class="programlisting">void	xmlRelaxNGFreeParserCtxt	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGFreeValidCtxt"/>xmlRelaxNGFreeValidCtxt ()</h3><pre class="programlisting">void	xmlRelaxNGFreeValidCtxt		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema validation context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGGetParserErrors"/>xmlRelaxNGGetParserErrors ()</h3><pre class="programlisting">int	xmlRelaxNGGetParserErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br/>					 void ** ctx)<br/>
-</pre><p>Get the callback information used to handle errors for a validation context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGGetValidErrors"/>xmlRelaxNGGetValidErrors ()</h3><pre class="programlisting">int	xmlRelaxNGGetValidErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br/>					 void ** ctx)<br/>
-</pre><p>Get the error and warning callback information</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGInitTypes"/>xmlRelaxNGInitTypes ()</h3><pre class="programlisting">int	xmlRelaxNGInitTypes		(void)<br/>
-</pre><p>Initialize the default type libraries.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGNewDocParserCtxt"/>xmlRelaxNGNewDocParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGNewMemParserCtxt"/>xmlRelaxNGNewMemParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewMemParserCtxt	(const char * buffer, <br/>							 int size)<br/>
-</pre><p>Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array containing the schemas</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGNewParserCtxt"/>xmlRelaxNGNewParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewParserCtxt	(const char * URL)<br/>
-</pre><p>Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGNewValidCtxt"/>xmlRelaxNGNewValidCtxt ()</h3><pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	xmlRelaxNGNewValidCtxt	(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br/>
-</pre><p>Create an XML RelaxNGs validation context based on the given schema</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML RelaxNGs</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGParse"/>xmlRelaxNGParse ()</h3><pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	xmlRelaxNGParse		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML RelaxNG structure built from the resource or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGSetParserErrors"/>xmlRelaxNGSetParserErrors ()</h3><pre class="programlisting">void	xmlRelaxNGSetParserErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br/>					 void * ctx)<br/>
-</pre><p>Set the callback functions used to handle errors for a validation context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGSetParserStructuredErrors"/>xmlRelaxNGSetParserStructuredErrors ()</h3><pre class="programlisting">void	xmlRelaxNGSetParserStructuredErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>						 void * ctx)<br/>
-</pre><p>Set the callback functions used to handle errors for a parsing context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG parser context</td></tr><tr><td><span class="term"><i><tt>serror</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGSetValidErrors"/>xmlRelaxNGSetValidErrors ()</h3><pre class="programlisting">void	xmlRelaxNGSetValidErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br/>					 void * ctx)<br/>
-</pre><p>Set the error and warning callback information</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGSetValidStructuredErrors"/>xmlRelaxNGSetValidStructuredErrors ()</h3><pre class="programlisting">void	xmlRelaxNGSetValidStructuredErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>						 void * ctx)<br/>
-</pre><p>Set the structured error callback</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidateDoc"/>xmlRelaxNGValidateDoc ()</h3><pre class="programlisting">int	xmlRelaxNGValidateDoc		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Validate a document tree in memory.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidateFullElement"/>xmlRelaxNGValidateFullElement ()</h3><pre class="programlisting">int	xmlRelaxNGValidateFullElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidatePopElement"/>xmlRelaxNGValidatePopElement ()</h3><pre class="programlisting">int	xmlRelaxNGValidatePopElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Pop the element end from the RelaxNG validation stack.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the RelaxNG validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidatePushCData"/>xmlRelaxNGValidatePushCData ()</h3><pre class="programlisting">int	xmlRelaxNGValidatePushCData	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br/>					 int len)<br/>
-</pre><p>check the CData parsed for validation in the current stack</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the RelaxNG validation context</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>some character data read</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidatePushElement"/>xmlRelaxNGValidatePushElement ()</h3><pre class="programlisting">int	xmlRelaxNGValidatePushElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Push a new element start on the RelaxNG validation stack.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxParserSetFlag"/>xmlRelaxParserSetFlag ()</h3><pre class="programlisting">int	xmlRelaxParserSetFlag		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>					 int flags)<br/>
-</pre><p>Semi private function used to pass information to a parser context which are a combination of <a href="libxml2-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a RelaxNG parser context</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of flags values</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidityWarningFunc"></a>Function type xmlRelaxNGValidityWarningFunc</h3>
+<pre class="programlisting">void	xmlRelaxNGValidityWarningFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Signature of a warning callback from a Relax-NG validation</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGCleanupTypes"></a>xmlRelaxNGCleanupTypes ()</h3>
+<pre class="programlisting">void	xmlRelaxNGCleanupTypes		(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Cleanup the default Schemas type library associated to RelaxNG</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGDump"></a>xmlRelaxNGDump ()</h3>
+<pre class="programlisting">void	xmlRelaxNGDump			(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
+</pre>
+<p>Dump a RelaxNG structure back</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the file output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGDumpTree"></a>xmlRelaxNGDumpTree ()</h3>
+<pre class="programlisting">void	xmlRelaxNGDumpTree		(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
+</pre>
+<p>Dump the transformed RelaxNG tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the file output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGFree"></a>xmlRelaxNGFree ()</h3>
+<pre class="programlisting">void	xmlRelaxNGFree			(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
+</pre>
+<p>Deallocate a RelaxNG structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGFreeParserCtxt"></a>xmlRelaxNGFreeParserCtxt ()</h3>
+<pre class="programlisting">void	xmlRelaxNGFreeParserCtxt	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the schema parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGFreeValidCtxt"></a>xmlRelaxNGFreeValidCtxt ()</h3>
+<pre class="programlisting">void	xmlRelaxNGFreeValidCtxt		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema validation context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the schema validation context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGGetParserErrors"></a>xmlRelaxNGGetParserErrors ()</h3>
+<pre class="programlisting">int	xmlRelaxNGGetParserErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
+</pre>
+<p>Get the callback information used to handle errors for a validation context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a Relax-NG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error callback result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning callback result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>contextual data for the callbacks result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of failure, 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGGetValidErrors"></a>xmlRelaxNGGetValidErrors ()</h3>
+<pre class="programlisting">int	xmlRelaxNGGetValidErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
+</pre>
+<p>Get the error and warning callback information</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a Relax-NG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error function result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning function result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error and 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGInitTypes"></a>xmlRelaxNGInitTypes ()</h3>
+<pre class="programlisting">int	xmlRelaxNGInitTypes		(void)<br>
+</pre>
+<p>Initialize the default type libraries.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGNewDocParserCtxt"></a>xmlRelaxNGNewDocParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a preparsed document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGNewMemParserCtxt"></a>xmlRelaxNGNewMemParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewMemParserCtxt	(const char * buffer, <br>							 int size)<br>
+</pre>
+<p>Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array containing the schemas</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGNewParserCtxt"></a>xmlRelaxNGNewParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewParserCtxt	(const char * URL)<br>
+</pre>
+<p>Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the location of the schema</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGNewValidCtxt"></a>xmlRelaxNGNewValidCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	xmlRelaxNGNewValidCtxt	(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
+</pre>
+<p>Create an XML RelaxNGs validation context based on the given schema</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a precompiled XML RelaxNGs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the validation context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGParse"></a>xmlRelaxNGParse ()</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	xmlRelaxNGParse		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a Relax-NG parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal XML RelaxNG structure built from the resource or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGSetParserErrors"></a>xmlRelaxNGSetParserErrors ()</h3>
+<pre class="programlisting">void	xmlRelaxNGSetParserErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
+</pre>
+<p>Set the callback functions used to handle errors for a validation context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a Relax-NG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>contextual data for the callbacks</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGSetParserStructuredErrors"></a>xmlRelaxNGSetParserStructuredErrors ()</h3>
+<pre class="programlisting">void	xmlRelaxNGSetParserStructuredErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
+</pre>
+<p>Set the callback functions used to handle errors for a parsing context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a Relax-NG parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>serror</tt></i>:</span></td>
+<td>the error callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>contextual data for the callbacks</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGSetValidErrors"></a>xmlRelaxNGSetValidErrors ()</h3>
+<pre class="programlisting">void	xmlRelaxNGSetValidErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
+</pre>
+<p>Set the error and warning callback information</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a Relax-NG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGSetValidStructuredErrors"></a>xmlRelaxNGSetValidStructuredErrors ()</h3>
+<pre class="programlisting">void	xmlRelaxNGSetValidStructuredErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
+</pre>
+<p>Set the structured error callback</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a Relax-NG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>serror</tt></i>:</span></td>
+<td>the structured error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidateDoc"></a>xmlRelaxNGValidateDoc ()</h3>
+<pre class="programlisting">int	xmlRelaxNGValidateDoc		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Validate a document tree in memory.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a Relax-NG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a parsed document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidateFullElement"></a>xmlRelaxNGValidateFullElement ()</h3>
+<pre class="programlisting">int	xmlRelaxNGValidateFullElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidatePopElement"></a>xmlRelaxNGValidatePopElement ()</h3>
+<pre class="programlisting">int	xmlRelaxNGValidatePopElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Pop the element end from the RelaxNG validation stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the RelaxNG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidatePushCData"></a>xmlRelaxNGValidatePushCData ()</h3>
+<pre class="programlisting">int	xmlRelaxNGValidatePushCData	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len)<br>
+</pre>
+<p>check the CData parsed for validation in the current stack</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the RelaxNG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>some character data read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidatePushElement"></a>xmlRelaxNGValidatePushElement ()</h3>
+<pre class="programlisting">int	xmlRelaxNGValidatePushElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Push a new element start on the RelaxNG validation stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxParserSetFlag"></a>xmlRelaxParserSetFlag ()</h3>
+<pre class="programlisting">int	xmlRelaxParserSetFlag		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 int flags)<br>
+</pre>
+<p>Semi private function used to pass information to a parser context which are a combination of <a href="libxml2-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a RelaxNG parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of flags values</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-schemasInternals.html b/doc/devhelp/libxml2-schemasInternals.html
index 0d6d39e..8c45bdf 100644
--- a/doc/devhelp/libxml2-schemasInternals.html
+++ b/doc/devhelp/libxml2-schemasInternals.html
@@ -1,509 +1,825 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>schemasInternals: internal interfaces for XML Schemas</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-relaxng.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-schematron.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">schemasInternals</span>
-    </h2>
-    <p>schemasInternals - internal interfaces for XML Schemas</p>
-    <p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a>;
-#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a>;
-#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a>;
-#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a>;
-#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a>;
-#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a>;
-#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a>;
-#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a>;
-#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a>;
-#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a>;
-#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a>;
-#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a>;
-#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a>;
-#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a>;
-#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a>;
-#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a>;
-#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a>;
-#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a>;
-#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a>;
-#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a>;
-#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a>;
-#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a>;
-#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a>;
-#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a>;
-#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a>;
-#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a>;
-#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a>;
-#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a>;
-#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a>;
-#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a>;
-#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a>;
-#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a>;
-#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a>;
-#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a>;
-#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a>;
-#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a>;
-#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a>;
-#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a>;
-#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a>;
-#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a>;
-#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a>;
-#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a>;
-#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>schemasInternals: internal interfaces for XML Schemas</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-schematron.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">schemasInternals</span></h2>
+<p>schemasInternals - internal interfaces for XML Schemas</p>
+<p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
 #define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a>;
-#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a>;
-#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
-#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a>;
-#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a>;
-#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a>;
-#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a>;
-#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a>;
-#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a>;
-#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a>;
-#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a>;
-#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a>;
-#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a>;
-#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a>;
-#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a>;
-#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a>;
-#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a>;
+#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a>;
 #define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a>;
-#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a>;
-#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a>;
-#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a>;
-#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a>;
-#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a>;
-#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a>;
-#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a>;
-#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a>;
-#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a>;
-#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a>;
-#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a>;
-#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a>;
-#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a>;
-#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a>;
-#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a>;
-#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a>;
-#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a>;
-#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a>;
-#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a>;
+#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a>;
+#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a>;
 #define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a>;
+#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a>;
+#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a>;
+#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a>;
+#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a>;
+#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a>;
+#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a>;
+#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a>;
+#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a>;
+#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a>;
+#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a>;
+#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a>;
+#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a>;
+#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a>;
+#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a>;
+#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a>;
+#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a>;
+#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a>;
+#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a>;
+#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a>;
+#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a>;
+#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a>;
+#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a>;
+#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a>;
+#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a>;
+#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a>;
+#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a>;
+#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a>;
+#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a>;
+#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a>;
+#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a>;
 #define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a> * <a href="#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * <a href="#xmlSchemaElementPtr">xmlSchemaElementPtr</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * <a href="#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>;
-typedef struct _xmlSchemaVal <a href="#xmlSchemaVal">xmlSchemaVal</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a> * <a href="#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a>;
-typedef struct _xmlSchemaType <a href="#xmlSchemaType">xmlSchemaType</a>;
+#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a>;
+#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a>;
+#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a>;
+#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a>;
+#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a>;
+#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a>;
+#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a>;
+#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a>;
+#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a>;
+#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a>;
+#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a>;
+#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a>;
+#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a>;
+#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a>;
+#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a>;
+#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a>;
+#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a>;
+#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a>;
+#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a>;
+#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a>;
+#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a>;
+#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a>;
+#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a>;
+#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a>;
+#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a>;
+#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a>;
+#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a>;
+#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a>;
+#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a>;
+#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a>;
+#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a>;
+#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a>;
+#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a>;
+#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a>;
+#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a>;
+#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a>;
+#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a>;
+#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a>;
+#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a>;
+#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a>;
+#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a>;
+#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a>;
+#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a>;
+#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a>;
 typedef struct _xmlSchemaAnnot <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a>;
 typedef <a href="libxml2-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * <a href="#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>;
-typedef struct _xmlSchemaElement <a href="#xmlSchemaElement">xmlSchemaElement</a>;
-typedef struct _xmlSchemaWildcard <a href="#xmlSchemaWildcard">xmlSchemaWildcard</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> * <a href="#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * <a href="#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>;
-typedef struct _xmlSchemaTypeLink <a href="#xmlSchemaTypeLink">xmlSchemaTypeLink</a>;
-typedef struct _xmlSchemaAttributeLink <a href="#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * <a href="#xmlSchemaValPtr">xmlSchemaValPtr</a>;
-typedef struct _xmlSchemaFacetLink <a href="#xmlSchemaFacetLink">xmlSchemaFacetLink</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * <a href="#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>;
-typedef struct _xmlSchemaAttributeGroup <a href="#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> * <a href="#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>;
-typedef struct _xmlSchemaWildcardNs <a href="#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a> * <a href="#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> * <a href="#xmlSchemaNotationPtr">xmlSchemaNotationPtr</a>;
-typedef enum <a href="#xmlSchemaValType">xmlSchemaValType</a>;
-typedef <a href="libxml2-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * <a href="#xmlSchemaTypePtr">xmlSchemaTypePtr</a>;
-typedef struct _xmlSchemaNotation <a href="#xmlSchemaNotation">xmlSchemaNotation</a>;
-typedef struct _xmlSchemaFacet <a href="#xmlSchemaFacet">xmlSchemaFacet</a>;
-typedef enum <a href="#xmlSchemaContentType">xmlSchemaContentType</a>;
-typedef enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a>;
 typedef struct _xmlSchemaAttribute <a href="#xmlSchemaAttribute">xmlSchemaAttribute</a>;
+typedef struct _xmlSchemaAttributeGroup <a href="#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a> * <a href="#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>;
+typedef struct _xmlSchemaAttributeLink <a href="#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a> * <a href="#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a> * <a href="#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>;
+typedef enum <a href="#xmlSchemaContentType">xmlSchemaContentType</a>;
+typedef struct _xmlSchemaElement <a href="#xmlSchemaElement">xmlSchemaElement</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * <a href="#xmlSchemaElementPtr">xmlSchemaElementPtr</a>;
+typedef struct _xmlSchemaFacet <a href="#xmlSchemaFacet">xmlSchemaFacet</a>;
+typedef struct _xmlSchemaFacetLink <a href="#xmlSchemaFacetLink">xmlSchemaFacetLink</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * <a href="#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * <a href="#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>;
+typedef struct _xmlSchemaNotation <a href="#xmlSchemaNotation">xmlSchemaNotation</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> * <a href="#xmlSchemaNotationPtr">xmlSchemaNotationPtr</a>;
+typedef struct _xmlSchemaType <a href="#xmlSchemaType">xmlSchemaType</a>;
+typedef struct _xmlSchemaTypeLink <a href="#xmlSchemaTypeLink">xmlSchemaTypeLink</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> * <a href="#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * <a href="#xmlSchemaTypePtr">xmlSchemaTypePtr</a>;
+typedef enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a>;
+typedef struct _xmlSchemaVal <a href="#xmlSchemaVal">xmlSchemaVal</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * <a href="#xmlSchemaValPtr">xmlSchemaValPtr</a>;
+typedef enum <a href="#xmlSchemaValType">xmlSchemaValType</a>;
+typedef struct _xmlSchemaWildcard <a href="#xmlSchemaWildcard">xmlSchemaWildcard</a>;
+typedef struct _xmlSchemaWildcardNs <a href="#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * <a href="#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>;
+typedef <a href="libxml2-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> * <a href="#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>;
 void	<a href="#xmlSchemaFreeType">xmlSchemaFreeType</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type);
 void	<a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ANYATTR_LAX">Macro </a>XML_SCHEMAS_ANYATTR_LAX</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
-</pre><p>Ignore validation non definition on attributes Obsolete, not used anymore.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ANYATTR_SKIP">Macro </a>XML_SCHEMAS_ANYATTR_SKIP</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a>;
-</pre><p>Skip unknown <a href="libxml2-SAX.html#attribute">attribute</a> from validation Obsolete, not used anymore.</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ANYATTR_LAX">Macro </a>XML_SCHEMAS_ANYATTR_LAX</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
+</pre>
+<p>Ignore validation non definition on attributes Obsolete, not used anymore.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ANYATTR_STRICT">Macro </a>XML_SCHEMAS_ANYATTR_STRICT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a>;
-</pre><p>Apply strict validation rules on attributes Obsolete, not used anymore.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ANYATTR_SKIP">Macro </a>XML_SCHEMAS_ANYATTR_SKIP</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a>;
+</pre>
+<p>Skip unknown <a href="libxml2-SAX.html#attribute">attribute</a> from validation Obsolete, not used anymore.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ANY_LAX">Macro </a>XML_SCHEMAS_ANY_LAX</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a>;
-</pre><p>Used by wildcards. Validate if type found, don't worry if not found</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ANYATTR_STRICT">Macro </a>XML_SCHEMAS_ANYATTR_STRICT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a>;
+</pre>
+<p>Apply strict validation rules on attributes Obsolete, not used anymore.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ANY_SKIP">Macro </a>XML_SCHEMAS_ANY_SKIP</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a>;
-</pre><p>Skip unknown <a href="libxml2-SAX.html#attribute">attribute</a> from validation</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ANY_LAX">Macro </a>XML_SCHEMAS_ANY_LAX</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a>;
+</pre>
+<p>Used by wildcards. Validate if type found, don't worry if not found</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ANY_STRICT">Macro </a>XML_SCHEMAS_ANY_STRICT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a>;
-</pre><p>Used by wildcards. Apply strict validation rules</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ANY_SKIP">Macro </a>XML_SCHEMAS_ANY_SKIP</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a>;
+</pre>
+<p>Skip unknown <a href="libxml2-SAX.html#attribute">attribute</a> from validation</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTRGROUP_GLOBAL">Macro </a>XML_SCHEMAS_ATTRGROUP_GLOBAL</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a>;
-</pre><p>The <a href="libxml2-SAX.html#attribute">attribute</a> group has been defined.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ANY_STRICT">Macro </a>XML_SCHEMAS_ANY_STRICT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a>;
+</pre>
+<p>Used by wildcards. Apply strict validation rules</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTRGROUP_HAS_REFS">Macro </a>XML_SCHEMAS_ATTRGROUP_HAS_REFS</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a>;
-</pre><p>Whether this attr. group contains attr. group references.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTRGROUP_GLOBAL">Macro </a>XML_SCHEMAS_ATTRGROUP_GLOBAL</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a>;
+</pre>
+<p>The <a href="libxml2-SAX.html#attribute">attribute</a> group has been defined.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTRGROUP_MARKED">Macro </a>XML_SCHEMAS_ATTRGROUP_MARKED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a>;
-</pre><p>Marks the attr group as marked; used for circular checks.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTRGROUP_HAS_REFS">Macro </a>XML_SCHEMAS_ATTRGROUP_HAS_REFS</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a>;
+</pre>
+<p>Whether this attr. group contains attr. group references.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTRGROUP_REDEFINED">Macro </a>XML_SCHEMAS_ATTRGROUP_REDEFINED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a>;
-</pre><p>The attr group was redefined.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTRGROUP_MARKED">Macro </a>XML_SCHEMAS_ATTRGROUP_MARKED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a>;
+</pre>
+<p>Marks the attr group as marked; used for circular checks.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">Macro </a>XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a>;
-</pre><p>The <a href="libxml2-SAX.html#attribute">attribute</a> wildcard has been built.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTRGROUP_REDEFINED">Macro </a>XML_SCHEMAS_ATTRGROUP_REDEFINED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a>;
+</pre>
+<p>The attr group was redefined.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTR_FIXED">Macro </a>XML_SCHEMAS_ATTR_FIXED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a>;
-</pre><p>the <a href="libxml2-SAX.html#attribute">attribute</a> has a fixed value</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">Macro </a>XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a>;
+</pre>
+<p>The <a href="libxml2-SAX.html#attribute">attribute</a> wildcard has been built.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTR_GLOBAL">Macro </a>XML_SCHEMAS_ATTR_GLOBAL</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a>;
-</pre><p>allow elements in no namespace</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTR_FIXED">Macro </a>XML_SCHEMAS_ATTR_FIXED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a>;
+</pre>
+<p>the <a href="libxml2-SAX.html#attribute">attribute</a> has a fixed value</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a>;
-</pre><p>this is set when the "type" and "ref" references have been resolved.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTR_GLOBAL">Macro </a>XML_SCHEMAS_ATTR_GLOBAL</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a>;
+</pre>
+<p>allow elements in no namespace</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTR_NSDEFAULT">Macro </a>XML_SCHEMAS_ATTR_NSDEFAULT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a>;
-</pre><p>allow elements in no namespace</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a>;
+</pre>
+<p>this is set when the "type" and "ref" references have been resolved.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTR_USE_OPTIONAL">Macro </a>XML_SCHEMAS_ATTR_USE_OPTIONAL</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a>;
-</pre><p>The <a href="libxml2-SAX.html#attribute">attribute</a> is optional.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTR_NSDEFAULT">Macro </a>XML_SCHEMAS_ATTR_NSDEFAULT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a>;
+</pre>
+<p>allow elements in no namespace</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTR_USE_PROHIBITED">Macro </a>XML_SCHEMAS_ATTR_USE_PROHIBITED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a>;
-</pre><p>Used by wildcards. The <a href="libxml2-SAX.html#attribute">attribute</a> is prohibited.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTR_USE_OPTIONAL">Macro </a>XML_SCHEMAS_ATTR_USE_OPTIONAL</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a>;
+</pre>
+<p>The <a href="libxml2-SAX.html#attribute">attribute</a> is optional.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTR_USE_REQUIRED">Macro </a>XML_SCHEMAS_ATTR_USE_REQUIRED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a>;
-</pre><p>The <a href="libxml2-SAX.html#attribute">attribute</a> is required.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTR_USE_PROHIBITED">Macro </a>XML_SCHEMAS_ATTR_USE_PROHIBITED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a>;
+</pre>
+<p>Used by wildcards. The <a href="libxml2-SAX.html#attribute">attribute</a> is prohibited.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a>;
-</pre><p>the schema has "extension" in the set of blockDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTR_USE_REQUIRED">Macro </a>XML_SCHEMAS_ATTR_USE_REQUIRED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a>;
+</pre>
+<p>The <a href="libxml2-SAX.html#attribute">attribute</a> is required.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a>;
-</pre><p>the schema has "restriction" in the set of blockDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a>;
+</pre>
+<p>the schema has "extension" in the set of blockDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a>;
-</pre><p>the schema has "substitution" in the set of blockDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a>;
+</pre>
+<p>the schema has "restriction" in the set of blockDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_ABSTRACT">Macro </a>XML_SCHEMAS_ELEM_ABSTRACT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a>;
-</pre><p>the element is abstract</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a>;
+</pre>
+<p>the schema has "substitution" in the set of blockDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_BLOCK_ABSENT">Macro </a>XML_SCHEMAS_ELEM_BLOCK_ABSENT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a>;
-</pre><p>the "block" <a href="libxml2-SAX.html#attribute">attribute</a> is absent</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_ABSTRACT">Macro </a>XML_SCHEMAS_ELEM_ABSTRACT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a>;
+</pre>
+<p>the element is abstract</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_BLOCK_EXTENSION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_EXTENSION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a>;
-</pre><p>disallowed substitutions are absent</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_BLOCK_ABSENT">Macro </a>XML_SCHEMAS_ELEM_BLOCK_ABSENT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a>;
+</pre>
+<p>the "block" <a href="libxml2-SAX.html#attribute">attribute</a> is absent</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a>;
-</pre><p>disallowed substitutions: "restriction"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_BLOCK_EXTENSION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_EXTENSION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a>;
+</pre>
+<p>disallowed substitutions are absent</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a>;
-</pre><p>disallowed substitutions: "substitution"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a>;
+</pre>
+<p>disallowed substitutions: "restriction"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_CIRCULAR">Macro </a>XML_SCHEMAS_ELEM_CIRCULAR</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a>;
-</pre><p>a helper flag for the search of circular references.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a>;
+</pre>
+<p>disallowed substitutions: "substitution"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_DEFAULT">Macro </a>XML_SCHEMAS_ELEM_DEFAULT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a>;
-</pre><p>the element has a default value</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_CIRCULAR">Macro </a>XML_SCHEMAS_ELEM_CIRCULAR</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a>;
+</pre>
+<p>a helper flag for the search of circular references.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_FINAL_ABSENT">Macro </a>XML_SCHEMAS_ELEM_FINAL_ABSENT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a>;
-</pre><p>substitution group exclusions are absent</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_DEFAULT">Macro </a>XML_SCHEMAS_ELEM_DEFAULT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a>;
+</pre>
+<p>the element has a default value</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_FINAL_EXTENSION">Macro </a>XML_SCHEMAS_ELEM_FINAL_EXTENSION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a>;
-</pre><p>substitution group exclusions: "extension"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_FINAL_ABSENT">Macro </a>XML_SCHEMAS_ELEM_FINAL_ABSENT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a>;
+</pre>
+<p>substitution group exclusions are absent</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_FINAL_RESTRICTION">Macro </a>XML_SCHEMAS_ELEM_FINAL_RESTRICTION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a>;
-</pre><p>substitution group exclusions: "restriction"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_FINAL_EXTENSION">Macro </a>XML_SCHEMAS_ELEM_FINAL_EXTENSION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a>;
+</pre>
+<p>substitution group exclusions: "extension"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_FIXED">Macro </a>XML_SCHEMAS_ELEM_FIXED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a>;
-</pre><p>the element has a fixed value</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_FINAL_RESTRICTION">Macro </a>XML_SCHEMAS_ELEM_FINAL_RESTRICTION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a>;
+</pre>
+<p>substitution group exclusions: "restriction"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_GLOBAL">Macro </a>XML_SCHEMAS_ELEM_GLOBAL</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a>;
-</pre><p>the element is global</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_FIXED">Macro </a>XML_SCHEMAS_ELEM_FIXED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a>;
+</pre>
+<p>the element has a fixed value</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_INTERNAL_CHECKED">Macro </a>XML_SCHEMAS_ELEM_INTERNAL_CHECKED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a>;
-</pre><p>this is set when the elem decl has been checked against all constraints</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_GLOBAL">Macro </a>XML_SCHEMAS_ELEM_GLOBAL</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a>;
+</pre>
+<p>the element is global</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a>;
-</pre><p>this is set when "type", "ref", "substitutionGroup" references have been resolved.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_INTERNAL_CHECKED">Macro </a>XML_SCHEMAS_ELEM_INTERNAL_CHECKED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a>;
+</pre>
+<p>this is set when the elem decl has been checked against all constraints</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_NILLABLE">Macro </a>XML_SCHEMAS_ELEM_NILLABLE</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a>;
-</pre><p>the element is nillable</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a>;
+</pre>
+<p>this is set when "type", "ref", "substitutionGroup" references have been resolved.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_NSDEFAULT">Macro </a>XML_SCHEMAS_ELEM_NSDEFAULT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a>;
-</pre><p>allow elements in no namespace Obsolete, not used anymore.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_NILLABLE">Macro </a>XML_SCHEMAS_ELEM_NILLABLE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a>;
+</pre>
+<p>the element is nillable</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_REF">Macro </a>XML_SCHEMAS_ELEM_REF</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a>;
-</pre><p>the element is a <a href="libxml2-SAX.html#reference">reference</a> to a type</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_NSDEFAULT">Macro </a>XML_SCHEMAS_ELEM_NSDEFAULT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a>;
+</pre>
+<p>allow elements in no namespace Obsolete, not used anymore.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">Macro </a>XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a>;
-</pre><p>the declaration is a substitution group head</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_REF">Macro </a>XML_SCHEMAS_ELEM_REF</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a>;
+</pre>
+<p>the element is a <a href="libxml2-SAX.html#reference">reference</a> to a type</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_TOPLEVEL">Macro </a>XML_SCHEMAS_ELEM_TOPLEVEL</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a>;
-</pre><p>the element is top level obsolete: use <a href="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a> instead</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">Macro </a>XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a>;
+</pre>
+<p>the declaration is a substitution group head</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FACET_COLLAPSE">Macro </a>XML_SCHEMAS_FACET_COLLAPSE</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a>;
-</pre><p>collapse the types of the facet</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_TOPLEVEL">Macro </a>XML_SCHEMAS_ELEM_TOPLEVEL</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a>;
+</pre>
+<p>the element is top level obsolete: use <a href="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a> instead</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FACET_COLLAPSE">Macro </a>XML_SCHEMAS_FACET_COLLAPSE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a>;
+</pre>
+<p>collapse the types of the facet</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FACET_PRESERVE">Macro </a>XML_SCHEMAS_FACET_PRESERVE</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a>;
-</pre><p>preserve the type of the facet</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FACET_PRESERVE">Macro </a>XML_SCHEMAS_FACET_PRESERVE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a>;
+</pre>
+<p>preserve the type of the facet</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FACET_REPLACE">Macro </a>XML_SCHEMAS_FACET_REPLACE</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a>;
-</pre><p>replace the type of the facet</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FACET_REPLACE">Macro </a>XML_SCHEMAS_FACET_REPLACE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a>;
+</pre>
+<p>replace the type of the facet</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FACET_UNKNOWN">Macro </a>XML_SCHEMAS_FACET_UNKNOWN</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a>;
-</pre><p>unknown facet handling</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FACET_UNKNOWN">Macro </a>XML_SCHEMAS_FACET_UNKNOWN</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a>;
+</pre>
+<p>unknown facet handling</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a>;
-</pre><p>the schema has "extension" in the set of finalDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a>;
+</pre>
+<p>the schema has "extension" in the set of finalDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FINAL_DEFAULT_LIST">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_LIST</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a>;
-</pre><p>the schema has "list" in the set of finalDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FINAL_DEFAULT_LIST">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_LIST</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a>;
+</pre>
+<p>the schema has "list" in the set of finalDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a>;
-</pre><p>the schema has "restriction" in the set of finalDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a>;
+</pre>
+<p>the schema has "restriction" in the set of finalDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FINAL_DEFAULT_UNION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_UNION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a>;
-</pre><p>the schema has "union" in the set of finalDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FINAL_DEFAULT_UNION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_UNION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a>;
+</pre>
+<p>the schema has "union" in the set of finalDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_INCLUDING_CONVERT_NS">Macro </a>XML_SCHEMAS_INCLUDING_CONVERT_NS</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a>;
-</pre><p>the schema is currently including an other schema with no target namespace.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_INCLUDING_CONVERT_NS">Macro </a>XML_SCHEMAS_INCLUDING_CONVERT_NS</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a>;
+</pre>
+<p>the schema is currently including an other schema with no target namespace.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_QUALIF_ATTR">Macro </a>XML_SCHEMAS_QUALIF_ATTR</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a>;
-</pre><p>Reflects attributeFormDefault == qualified in an XML schema document.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_QUALIF_ATTR">Macro </a>XML_SCHEMAS_QUALIF_ATTR</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a>;
+</pre>
+<p>Reflects attributeFormDefault == qualified in an XML schema document.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_QUALIF_ELEM">Macro </a>XML_SCHEMAS_QUALIF_ELEM</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a>;
-</pre><p>Reflects elementFormDefault == qualified in an XML schema document.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_QUALIF_ELEM">Macro </a>XML_SCHEMAS_QUALIF_ELEM</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a>;
+</pre>
+<p>Reflects elementFormDefault == qualified in an XML schema document.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_ABSTRACT">Macro </a>XML_SCHEMAS_TYPE_ABSTRACT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a>;
-</pre><p>the simple/complexType is abstract.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_ABSTRACT">Macro </a>XML_SCHEMAS_TYPE_ABSTRACT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a>;
+</pre>
+<p>the simple/complexType is abstract.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_BLOCK_DEFAULT">Macro </a>XML_SCHEMAS_TYPE_BLOCK_DEFAULT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a>;
-</pre><p>the complexType did not specify 'block' so use the default of the &lt;schema&gt; item.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_BLOCK_DEFAULT">Macro </a>XML_SCHEMAS_TYPE_BLOCK_DEFAULT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a>;
+</pre>
+<p>the complexType did not specify 'block' so use the default of the &lt;schema&gt; item.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_BLOCK_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_BLOCK_EXTENSION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a>;
-</pre><p>the complexType has a 'block' of "extension".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_BLOCK_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_BLOCK_EXTENSION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a>;
+</pre>
+<p>the complexType has a 'block' of "extension".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a>;
-</pre><p>the complexType has a 'block' of "restriction".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a>;
+</pre>
+<p>the complexType has a 'block' of "restriction".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">Macro </a>XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a>;
-</pre><p>Marks the item as a builtin primitive.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">Macro </a>XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a>;
+</pre>
+<p>Marks the item as a builtin primitive.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a>;
-</pre><p>the simple or complex type has a derivation method of "extension".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a>;
+</pre>
+<p>the simple or complex type has a derivation method of "extension".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a>;
-</pre><p>the simple or complex type has a derivation method of "restriction".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a>;
+</pre>
+<p>the simple or complex type has a derivation method of "restriction".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FACETSNEEDVALUE">Macro </a>XML_SCHEMAS_TYPE_FACETSNEEDVALUE</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a>;
-</pre><p>indicates if the facets need a computed value</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FACETSNEEDVALUE">Macro </a>XML_SCHEMAS_TYPE_FACETSNEEDVALUE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a>;
+</pre>
+<p>indicates if the facets need a computed value</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FINAL_DEFAULT">Macro </a>XML_SCHEMAS_TYPE_FINAL_DEFAULT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a>;
-</pre><p>the simpleType has a final of "default".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FINAL_DEFAULT">Macro </a>XML_SCHEMAS_TYPE_FINAL_DEFAULT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a>;
+</pre>
+<p>the simpleType has a final of "default".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FINAL_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_FINAL_EXTENSION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a>;
-</pre><p>the complexType has a final of "extension".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FINAL_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_FINAL_EXTENSION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a>;
+</pre>
+<p>the complexType has a final of "extension".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FINAL_LIST">Macro </a>XML_SCHEMAS_TYPE_FINAL_LIST</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a>;
-</pre><p>the simpleType has a final of "list".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FINAL_LIST">Macro </a>XML_SCHEMAS_TYPE_FINAL_LIST</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a>;
+</pre>
+<p>the simpleType has a final of "list".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FINAL_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_FINAL_RESTRICTION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a>;
-</pre><p>the simpleType/complexType has a final of "restriction".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FINAL_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_FINAL_RESTRICTION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a>;
+</pre>
+<p>the simpleType/complexType has a final of "restriction".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FINAL_UNION">Macro </a>XML_SCHEMAS_TYPE_FINAL_UNION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a>;
-</pre><p>the simpleType has a final of "union".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FINAL_UNION">Macro </a>XML_SCHEMAS_TYPE_FINAL_UNION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a>;
+</pre>
+<p>the simpleType has a final of "union".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FIXUP_1">Macro </a>XML_SCHEMAS_TYPE_FIXUP_1</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a>;
-</pre><p>First stage of fixup was done.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FIXUP_1">Macro </a>XML_SCHEMAS_TYPE_FIXUP_1</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a>;
+</pre>
+<p>First stage of fixup was done.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_GLOBAL">Macro </a>XML_SCHEMAS_TYPE_GLOBAL</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a>;
-</pre><p>the type is global</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_GLOBAL">Macro </a>XML_SCHEMAS_TYPE_GLOBAL</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a>;
+</pre>
+<p>the type is global</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_HAS_FACETS">Macro </a>XML_SCHEMAS_TYPE_HAS_FACETS</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a>;
-</pre><p>has facets</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_HAS_FACETS">Macro </a>XML_SCHEMAS_TYPE_HAS_FACETS</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a>;
+</pre>
+<p>has facets</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_INTERNAL_INVALID">Macro </a>XML_SCHEMAS_TYPE_INTERNAL_INVALID</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a>;
-</pre><p>indicates that the type is invalid</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_INTERNAL_INVALID">Macro </a>XML_SCHEMAS_TYPE_INTERNAL_INVALID</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a>;
+</pre>
+<p>indicates that the type is invalid</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a>;
-</pre><p>indicates that the type was typefixed</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a>;
+</pre>
+<p>indicates that the type was typefixed</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_MARKED">Macro </a>XML_SCHEMAS_TYPE_MARKED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a>;
-</pre><p>Marks the item as marked; used for circular checks.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_MARKED">Macro </a>XML_SCHEMAS_TYPE_MARKED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a>;
+</pre>
+<p>Marks the item as marked; used for circular checks.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_MIXED">Macro </a>XML_SCHEMAS_TYPE_MIXED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a>;
-</pre><p>the element content type is mixed</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_MIXED">Macro </a>XML_SCHEMAS_TYPE_MIXED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a>;
+</pre>
+<p>the element content type is mixed</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_NORMVALUENEEDED">Macro </a>XML_SCHEMAS_TYPE_NORMVALUENEEDED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a>;
-</pre><p>indicates if the facets (pattern) need a normalized value</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_NORMVALUENEEDED">Macro </a>XML_SCHEMAS_TYPE_NORMVALUENEEDED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a>;
+</pre>
+<p>indicates if the facets (pattern) need a normalized value</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">Macro </a>XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a>;
-</pre><p>the complexType owns an <a href="libxml2-SAX.html#attribute">attribute</a> wildcard, i.e. it can be freed by the complexType</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">Macro </a>XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a>;
+</pre>
+<p>the complexType owns an <a href="libxml2-SAX.html#attribute">attribute</a> wildcard, i.e. it can be freed by the complexType</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_REDEFINED">Macro </a>XML_SCHEMAS_TYPE_REDEFINED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a>;
-</pre><p>The type was redefined.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_REDEFINED">Macro </a>XML_SCHEMAS_TYPE_REDEFINED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a>;
+</pre>
+<p>The type was redefined.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_VARIETY_ABSENT">Macro </a>XML_SCHEMAS_TYPE_VARIETY_ABSENT</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a>;
-</pre><p>the simpleType has a variety of "absent". TODO: Actually not necessary :-/, since if none of the variety flags occur then it's automatically absent.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_VARIETY_ABSENT">Macro </a>XML_SCHEMAS_TYPE_VARIETY_ABSENT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a>;
+</pre>
+<p>the simpleType has a variety of "absent". TODO: Actually not necessary :-/, since if none of the variety flags occur then it's automatically absent.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_VARIETY_ATOMIC">Macro </a>XML_SCHEMAS_TYPE_VARIETY_ATOMIC</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a>;
-</pre><p>the simpleType has a variety of "union".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_VARIETY_ATOMIC">Macro </a>XML_SCHEMAS_TYPE_VARIETY_ATOMIC</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a>;
+</pre>
+<p>the simpleType has a variety of "union".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_VARIETY_LIST">Macro </a>XML_SCHEMAS_TYPE_VARIETY_LIST</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a>;
-</pre><p>the simpleType has a variety of "list".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_VARIETY_LIST">Macro </a>XML_SCHEMAS_TYPE_VARIETY_LIST</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a>;
+</pre>
+<p>the simpleType has a variety of "list".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_VARIETY_UNION">Macro </a>XML_SCHEMAS_TYPE_VARIETY_UNION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a>;
-</pre><p>the simpleType has a variety of "union".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_VARIETY_UNION">Macro </a>XML_SCHEMAS_TYPE_VARIETY_UNION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a>;
+</pre>
+<p>the simpleType has a variety of "union".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a>;
-</pre><p>a whitespace-facet value of "collapse"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a>;
+</pre>
+<p>a whitespace-facet value of "collapse"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a>;
-</pre><p>a whitespace-facet value of "preserve"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a>;
+</pre>
+<p>a whitespace-facet value of "preserve"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a>;
-</pre><p>a whitespace-facet value of "replace"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a>;
+</pre>
+<p>a whitespace-facet value of "replace"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_WILDCARD_COMPLETE">Macro </a>XML_SCHEMAS_WILDCARD_COMPLETE</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a>;
-</pre><p>If the wildcard is complete.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_WILDCARD_COMPLETE">Macro </a>XML_SCHEMAS_WILDCARD_COMPLETE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a>;
+</pre>
+<p>If the wildcard is complete.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAnnot">Structure </a>xmlSchemaAnnot</h3><pre class="programlisting">struct _xmlSchemaAnnot {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAnnot">Structure </a>xmlSchemaAnnot</h3>
+<pre class="programlisting">struct _xmlSchemaAnnot {
     struct _xmlSchemaAnnot *	next
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	content	: the annotation
 } xmlSchemaAnnot;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAnnotPtr">Typedef </a>xmlSchemaAnnotPtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * xmlSchemaAnnotPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAnnotPtr">Typedef </a>xmlSchemaAnnotPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * xmlSchemaAnnotPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttribute">Structure </a>xmlSchemaAttribute</h3><pre class="programlisting">struct _xmlSchemaAttribute {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAttribute">Structure </a>xmlSchemaAttribute</h3>
+<pre class="programlisting">struct _xmlSchemaAttribute {
     <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type
     struct _xmlSchemaAttribute *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> (not used?)
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the declaration
@@ -524,10 +840,14 @@
     <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal	: The compiled value constraint
     <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	refDecl	: Deprecated; not used
 } xmlSchemaAttribute;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttributeGroup">Structure </a>xmlSchemaAttributeGroup</h3><pre class="programlisting">struct _xmlSchemaAttributeGroup {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAttributeGroup">Structure </a>xmlSchemaAttributeGroup</h3>
+<pre class="programlisting">struct _xmlSchemaAttributeGroup {
     <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaAttribute *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> if in a group ...
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
@@ -544,29 +864,49 @@
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
     void *	attrUses
 } xmlSchemaAttributeGroup;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttributeGroupPtr">Typedef </a>xmlSchemaAttributeGroupPtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a> * xmlSchemaAttributeGroupPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAttributeGroupPtr">Typedef </a>xmlSchemaAttributeGroupPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a> * xmlSchemaAttributeGroupPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttributeLink">Structure </a>xmlSchemaAttributeLink</h3><pre class="programlisting">struct _xmlSchemaAttributeLink {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAttributeLink">Structure </a>xmlSchemaAttributeLink</h3>
+<pre class="programlisting">struct _xmlSchemaAttributeLink {
     struct _xmlSchemaAttributeLink *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> link ...
     struct _xmlSchemaAttribute *	attr	: the linked <a href="libxml2-SAX.html#attribute">attribute</a>
 } xmlSchemaAttributeLink;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttributeLinkPtr">Typedef </a>xmlSchemaAttributeLinkPtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a> * xmlSchemaAttributeLinkPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAttributeLinkPtr">Typedef </a>xmlSchemaAttributeLinkPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a> * xmlSchemaAttributeLinkPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttributePtr">Typedef </a>xmlSchemaAttributePtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a> * xmlSchemaAttributePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAttributePtr">Typedef </a>xmlSchemaAttributePtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a> * xmlSchemaAttributePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaContentType">Enum </a>xmlSchemaContentType</h3><pre class="programlisting">enum <a href="#xmlSchemaContentType">xmlSchemaContentType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaContentType">Enum </a>xmlSchemaContentType</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaContentType">xmlSchemaContentType</a> {
     <a name="XML_SCHEMA_CONTENT_UNKNOWN">XML_SCHEMA_CONTENT_UNKNOWN</a> = 0
     <a name="XML_SCHEMA_CONTENT_EMPTY">XML_SCHEMA_CONTENT_EMPTY</a> = 1
     <a name="XML_SCHEMA_CONTENT_ELEMENTS">XML_SCHEMA_CONTENT_ELEMENTS</a> = 2
@@ -576,10 +916,14 @@
     <a name="XML_SCHEMA_CONTENT_BASIC">XML_SCHEMA_CONTENT_BASIC</a> = 6
     <a name="XML_SCHEMA_CONTENT_ANY">XML_SCHEMA_CONTENT_ANY</a> = 7
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaElement">Structure </a>xmlSchemaElement</h3><pre class="programlisting">struct _xmlSchemaElement {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaElement">Structure </a>xmlSchemaElement</h3>
+<pre class="programlisting">struct _xmlSchemaElement {
     <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaType *	next	: Not used?
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
@@ -607,14 +951,22 @@
     <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal	: The compiled value constraint.
     void *	idcs	: The identity-constraint defs
 } xmlSchemaElement;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaElementPtr">Typedef </a>xmlSchemaElementPtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * xmlSchemaElementPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaElementPtr">Typedef </a>xmlSchemaElementPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * xmlSchemaElementPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFacet">Structure </a>xmlSchemaFacet</h3><pre class="programlisting">struct _xmlSchemaFacet {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFacet">Structure </a>xmlSchemaFacet</h3>
+<pre class="programlisting">struct _xmlSchemaFacet {
     <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaFacet *	next	: the next type if in a sequence ...
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The original value
@@ -626,39 +978,63 @@
     <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	val	: The compiled value
     <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	regexp	: The regex for patterns
 } xmlSchemaFacet;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFacetLink">Structure </a>xmlSchemaFacetLink</h3><pre class="programlisting">struct _xmlSchemaFacetLink {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFacetLink">Structure </a>xmlSchemaFacetLink</h3>
+<pre class="programlisting">struct _xmlSchemaFacetLink {
     struct _xmlSchemaFacetLink *	next	: the next facet link ...
     <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facet	: the linked facet
 } xmlSchemaFacetLink;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFacetLinkPtr">Typedef </a>xmlSchemaFacetLinkPtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * xmlSchemaFacetLinkPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFacetLinkPtr">Typedef </a>xmlSchemaFacetLinkPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * xmlSchemaFacetLinkPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFacetPtr">Typedef </a>xmlSchemaFacetPtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * xmlSchemaFacetPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFacetPtr">Typedef </a>xmlSchemaFacetPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * xmlSchemaFacetPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNotation">Structure </a>xmlSchemaNotation</h3><pre class="programlisting">struct _xmlSchemaNotation {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNotation">Structure </a>xmlSchemaNotation</h3>
+<pre class="programlisting">struct _xmlSchemaNotation {
     <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
     <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	identifier
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
 } xmlSchemaNotation;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNotationPtr">Typedef </a>xmlSchemaNotationPtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> * xmlSchemaNotationPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNotationPtr">Typedef </a>xmlSchemaNotationPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> * xmlSchemaNotationPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaType">Structure </a>xmlSchemaType</h3><pre class="programlisting">struct _xmlSchemaType {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaType">Structure </a>xmlSchemaType</h3>
+<pre class="programlisting">struct _xmlSchemaType {
     <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaType *	next	: the next type if in a sequence ...
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
@@ -690,25 +1066,41 @@
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
     void *	attrUses
 } xmlSchemaType;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaTypeLink">Structure </a>xmlSchemaTypeLink</h3><pre class="programlisting">struct _xmlSchemaTypeLink {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaTypeLink">Structure </a>xmlSchemaTypeLink</h3>
+<pre class="programlisting">struct _xmlSchemaTypeLink {
     struct _xmlSchemaTypeLink *	next	: the next type link ...
     <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	type	: the linked type
 } xmlSchemaTypeLink;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaTypeLinkPtr">Typedef </a>xmlSchemaTypeLinkPtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> * xmlSchemaTypeLinkPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaTypeLinkPtr">Typedef </a>xmlSchemaTypeLinkPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> * xmlSchemaTypeLinkPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaTypePtr">Typedef </a>xmlSchemaTypePtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * xmlSchemaTypePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaTypePtr">Typedef </a>xmlSchemaTypePtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * xmlSchemaTypePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaTypeType">Enum </a>xmlSchemaTypeType</h3><pre class="programlisting">enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaTypeType">Enum </a>xmlSchemaTypeType</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a> {
     <a name="XML_SCHEMA_TYPE_BASIC">XML_SCHEMA_TYPE_BASIC</a> = 1 /* A built-in datatype */
     <a name="XML_SCHEMA_TYPE_ANY">XML_SCHEMA_TYPE_ANY</a> = 2
     <a name="XML_SCHEMA_TYPE_FACET">XML_SCHEMA_TYPE_FACET</a> = 3
@@ -750,20 +1142,32 @@
     <a name="XML_SCHEMA_EXTRA_QNAMEREF">XML_SCHEMA_EXTRA_QNAMEREF</a> = 2000
     <a name="XML_SCHEMA_EXTRA_ATTR_USE_PROHIB">XML_SCHEMA_EXTRA_ATTR_USE_PROHIB</a> = 2001
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaVal">Structure </a>xmlSchemaVal</h3><pre class="programlisting">struct _xmlSchemaVal {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaVal">Structure </a>xmlSchemaVal</h3>
+<pre class="programlisting">struct _xmlSchemaVal {
 The content of this structure is not made public by the API.
 } xmlSchemaVal;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValPtr">Typedef </a>xmlSchemaValPtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * xmlSchemaValPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValPtr">Typedef </a>xmlSchemaValPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * xmlSchemaValPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValType">Enum </a>xmlSchemaValType</h3><pre class="programlisting">enum <a href="#xmlSchemaValType">xmlSchemaValType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValType">Enum </a>xmlSchemaValType</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaValType">xmlSchemaValType</a> {
     <a name="XML_SCHEMAS_UNKNOWN">XML_SCHEMAS_UNKNOWN</a> = 0
     <a name="XML_SCHEMAS_STRING">XML_SCHEMAS_STRING</a> = 1
     <a name="XML_SCHEMAS_NORMSTRING">XML_SCHEMAS_NORMSTRING</a> = 2
@@ -812,10 +1216,14 @@
     <a name="XML_SCHEMAS_ANYTYPE">XML_SCHEMAS_ANYTYPE</a> = 45
     <a name="XML_SCHEMAS_ANYSIMPLETYPE">XML_SCHEMAS_ANYSIMPLETYPE</a> = 46
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaWildcard">Structure </a>xmlSchemaWildcard</h3><pre class="programlisting">struct _xmlSchemaWildcard {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaWildcard">Structure </a>xmlSchemaWildcard</h3>
+<pre class="programlisting">struct _xmlSchemaWildcard {
     <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
     <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
@@ -828,33 +1236,68 @@
     <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>	negNsSet	: The negated namespace
     int	flags
 } xmlSchemaWildcard;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaWildcardNs">Structure </a>xmlSchemaWildcardNs</h3><pre class="programlisting">struct _xmlSchemaWildcardNs {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaWildcardNs">Structure </a>xmlSchemaWildcardNs</h3>
+<pre class="programlisting">struct _xmlSchemaWildcardNs {
     struct _xmlSchemaWildcardNs *	next	: the next constraint link ...
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: the value
 } xmlSchemaWildcardNs;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaWildcardNsPtr">Typedef </a>xmlSchemaWildcardNsPtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * xmlSchemaWildcardNsPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaWildcardNsPtr">Typedef </a>xmlSchemaWildcardNsPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * xmlSchemaWildcardNsPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaWildcardPtr">Typedef </a>xmlSchemaWildcardPtr</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> * xmlSchemaWildcardPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaWildcardPtr">Typedef </a>xmlSchemaWildcardPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> * xmlSchemaWildcardPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeType"/>xmlSchemaFreeType ()</h3><pre class="programlisting">void	xmlSchemaFreeType		(<a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeWildcard"/>xmlSchemaFreeWildcard ()</h3><pre class="programlisting">void	xmlSchemaFreeWildcard		(<a href="libxml2-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></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeType"></a>xmlSchemaFreeType ()</h3>
+<pre class="programlisting">void	xmlSchemaFreeType		(<a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeWildcard"></a>xmlSchemaFreeWildcard ()</h3>
+<pre class="programlisting">void	xmlSchemaFreeWildcard		(<a href="libxml2-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>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-schematron.html b/doc/devhelp/libxml2-schematron.html
index d4ac573..00ee0c7 100644
--- a/doc/devhelp/libxml2-schematron.html
+++ b/doc/devhelp/libxml2-schematron.html
@@ -1,106 +1,110 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>schematron: XML Schemastron implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-schemasInternals.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-threads.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">schematron</span>
-    </h2>
-    <p>schematron - XML Schemastron implementation</p>
-    <p>interface to the XML Schematron validity checking. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlSchematronValidCtxt <a href="#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a>;
-typedef enum <a href="#xmlSchematronValidOptions">xmlSchematronValidOptions</a>;
-typedef <a href="libxml2-schematron.html#xmlSchematron">xmlSchematron</a> * <a href="#xmlSchematronPtr">xmlSchematronPtr</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>schematron: XML Schematron implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-schemasInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">schematron</span></h2>
+<p>schematron - XML Schematron implementation</p>
+<p>interface to the XML Schematron validity checking. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlSchematron <a href="#xmlSchematron">xmlSchematron</a>;
 typedef struct _xmlSchematronParserCtxt <a href="#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a>;
-typedef struct _xmlSchematron <a href="#xmlSchematron">xmlSchematron</a>;
-typedef <a href="libxml2-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a> * <a href="#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>;
 typedef <a href="libxml2-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a> * <a href="#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>;
-int	<a href="#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a>	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance);
-void	<a href="#xmlSchematronFreeParserCtxt">xmlSchematronFreeParserCtxt</a>	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt);
-<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a>	(const char * buffer, <br/>							 int size);
-typedef void <a href="#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a>	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a>	(const char * URL);
-typedef void <a href="#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a>	(void * ctx, <br/>						 const char * msg, <br/>						 ... ...);
+typedef <a href="libxml2-schematron.html#xmlSchematron">xmlSchematron</a> * <a href="#xmlSchematronPtr">xmlSchematronPtr</a>;
+typedef struct _xmlSchematronValidCtxt <a href="#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a>;
+typedef <a href="libxml2-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a> * <a href="#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>;
+typedef enum <a href="#xmlSchematronValidOptions">xmlSchematronValidOptions</a>;
 void	<a href="#xmlSchematronFree">xmlSchematronFree</a>		(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema);
-void	<a href="#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a>	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>						 void * ctx);
+void	<a href="#xmlSchematronFreeParserCtxt">xmlSchematronFreeParserCtxt</a>	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt);
 void	<a href="#xmlSchematronFreeValidCtxt">xmlSchematronFreeValidCtxt</a>	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt);
-<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>	<a href="#xmlSchematronParse">xmlSchematronParse</a>	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt);
 <a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>	<a href="#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a>	(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br/>							 int options);
+<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a>	(const char * buffer, <br>							 int size);
+<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a>	(const char * URL);
+<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>	<a href="#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a>	(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br>							 int options);
+<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>	<a href="#xmlSchematronParse">xmlSchematronParse</a>	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt);
+void	<a href="#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a>	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
+int	<a href="#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a>	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance);
+typedef void <a href="#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+typedef void <a href="#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a>	(void * ctx, <br>						 const char * msg, <br>						 ... ...);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematron">Structure </a>xmlSchematron</h3><pre class="programlisting">struct _xmlSchematron {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematron">Structure </a>xmlSchematron</h3>
+<pre class="programlisting">struct _xmlSchematron {
 The content of this structure is not made public by the API.
 } xmlSchematron;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronParserCtxt">Structure </a>xmlSchematronParserCtxt</h3><pre class="programlisting">struct _xmlSchematronParserCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronParserCtxt">Structure </a>xmlSchematronParserCtxt</h3>
+<pre class="programlisting">struct _xmlSchematronParserCtxt {
 The content of this structure is not made public by the API.
 } xmlSchematronParserCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronParserCtxtPtr">Typedef </a>xmlSchematronParserCtxtPtr</h3><pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a> * xmlSchematronParserCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronParserCtxtPtr">Typedef </a>xmlSchematronParserCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a> * xmlSchematronParserCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronPtr">Typedef </a>xmlSchematronPtr</h3><pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematron">xmlSchematron</a> * xmlSchematronPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronPtr">Typedef </a>xmlSchematronPtr</h3>
+<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematron">xmlSchematron</a> * xmlSchematronPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidCtxt">Structure </a>xmlSchematronValidCtxt</h3><pre class="programlisting">struct _xmlSchematronValidCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidCtxt">Structure </a>xmlSchematronValidCtxt</h3>
+<pre class="programlisting">struct _xmlSchematronValidCtxt {
 The content of this structure is not made public by the API.
 } xmlSchematronValidCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidCtxtPtr">Typedef </a>xmlSchematronValidCtxtPtr</h3><pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a> * xmlSchematronValidCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidCtxtPtr">Typedef </a>xmlSchematronValidCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a> * xmlSchematronValidCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidOptions">Enum </a>xmlSchematronValidOptions</h3><pre class="programlisting">enum <a href="#xmlSchematronValidOptions">xmlSchematronValidOptions</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidOptions">Enum </a>xmlSchematronValidOptions</h3>
+<pre class="programlisting">enum <a href="#xmlSchematronValidOptions">xmlSchematronValidOptions</a> {
     <a name="XML_SCHEMATRON_OUT_QUIET">XML_SCHEMATRON_OUT_QUIET</a> = 1 /* quiet no report */
     <a name="XML_SCHEMATRON_OUT_TEXT">XML_SCHEMATRON_OUT_TEXT</a> = 2 /* build a textual report */
     <a name="XML_SCHEMATRON_OUT_XML">XML_SCHEMATRON_OUT_XML</a> = 4 /* output SVRL */
@@ -109,58 +113,270 @@
     <a name="XML_SCHEMATRON_OUT_BUFFER">XML_SCHEMATRON_OUT_BUFFER</a> = 512 /* output to a buffer */
     <a name="XML_SCHEMATRON_OUT_IO">XML_SCHEMATRON_OUT_IO</a> = 1024 /*  output to I/O mechanism */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidityErrorFunc"/>Function type xmlSchematronValidityErrorFunc</h3><pre class="programlisting">void	xmlSchematronValidityErrorFunc	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Signature of an error callback from a Schematron validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidityWarningFunc"/>Function type xmlSchematronValidityWarningFunc</h3><pre class="programlisting">void	xmlSchematronValidityWarningFunc	(void * ctx, <br/>						 const char * msg, <br/>						 ... ...)<br/>
-</pre><p>Signature of a warning callback from a Schematron validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronFree"/>xmlSchematronFree ()</h3><pre class="programlisting">void	xmlSchematronFree		(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema)<br/>
-</pre><p>Deallocate a Schematron structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronFreeParserCtxt"/>xmlSchematronFreeParserCtxt ()</h3><pre class="programlisting">void	xmlSchematronFreeParserCtxt	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronFreeValidCtxt"/>xmlSchematronFreeValidCtxt ()</h3><pre class="programlisting">void	xmlSchematronFreeValidCtxt	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema validation context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronNewDocParserCtxt"/>xmlSchematronNewDocParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Create an XML Schematrons parse context for that document. NB. The document may be modified during the parsing process.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronNewMemParserCtxt"/>xmlSchematronNewMemParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewMemParserCtxt	(const char * buffer, <br/>							 int size)<br/>
-</pre><p>Create an XML Schematrons parse context for that memory buffer expected to contain an XML Schematrons file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array containing the schemas</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronNewParserCtxt"/>xmlSchematronNewParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewParserCtxt	(const char * URL)<br/>
-</pre><p>Create an XML Schematrons parse context for that file/resource expected to contain an XML Schematrons file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronNewValidCtxt"/>xmlSchematronNewValidCtxt ()</h3><pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>	xmlSchematronNewValidCtxt	(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br/>							 int options)<br/>
-</pre><p>Create an XML Schematrons validation context based on the given schema.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML Schematrons</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a set of <a href="libxml2-schematron.html#xmlSchematronValidOptions">xmlSchematronValidOptions</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronParse"/>xmlSchematronParse ()</h3><pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>	xmlSchematronParse	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML Schematron structure built from the resource or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronSetValidStructuredErrors"/>xmlSchematronSetValidStructuredErrors ()</h3><pre class="programlisting">void	xmlSchematronSetValidStructuredErrors	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>						 void * ctx)<br/>
-</pre><p>Set the structured error callback</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 Schematron validation context</td></tr><tr><td><span class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidateDoc"/>xmlSchematronValidateDoc ()</h3><pre class="programlisting">int	xmlSchematronValidateDoc	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance)<br/>
-</pre><p>Validate a tree instance against the schematron</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span class="term"><i><tt>instance</tt></i>:</span></td><td>the document instance tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of internal error and an error count otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidityErrorFunc"></a>Function type xmlSchematronValidityErrorFunc</h3>
+<pre class="programlisting">void	xmlSchematronValidityErrorFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Signature of an error callback from a Schematron validation</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidityWarningFunc"></a>Function type xmlSchematronValidityWarningFunc</h3>
+<pre class="programlisting">void	xmlSchematronValidityWarningFunc	(void * ctx, <br>						 const char * msg, <br>						 ... ...)<br>
+</pre>
+<p>Signature of a warning callback from a Schematron validation</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronFree"></a>xmlSchematronFree ()</h3>
+<pre class="programlisting">void	xmlSchematronFree		(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema)<br>
+</pre>
+<p>Deallocate a Schematron structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronFreeParserCtxt"></a>xmlSchematronFreeParserCtxt ()</h3>
+<pre class="programlisting">void	xmlSchematronFreeParserCtxt	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the schema parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronFreeValidCtxt"></a>xmlSchematronFreeValidCtxt ()</h3>
+<pre class="programlisting">void	xmlSchematronFreeValidCtxt	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema validation context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the schema validation context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronNewDocParserCtxt"></a>xmlSchematronNewDocParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Create an XML Schematrons parse context for that document. NB. The document may be modified during the parsing process.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a preparsed document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronNewMemParserCtxt"></a>xmlSchematronNewMemParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewMemParserCtxt	(const char * buffer, <br>							 int size)<br>
+</pre>
+<p>Create an XML Schematrons parse context for that memory buffer expected to contain an XML Schematrons file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array containing the schemas</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronNewParserCtxt"></a>xmlSchematronNewParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewParserCtxt	(const char * URL)<br>
+</pre>
+<p>Create an XML Schematrons parse context for that file/resource expected to contain an XML Schematrons file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the location of the schema</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronNewValidCtxt"></a>xmlSchematronNewValidCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>	xmlSchematronNewValidCtxt	(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br>							 int options)<br>
+</pre>
+<p>Create an XML Schematrons validation context based on the given schema.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a precompiled XML Schematrons</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a set of <a href="libxml2-schematron.html#xmlSchematronValidOptions">xmlSchematronValidOptions</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the validation context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronParse"></a>xmlSchematronParse ()</h3>
+<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>	xmlSchematronParse	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal XML Schematron structure built from the resource or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronSetValidStructuredErrors"></a>xmlSchematronSetValidStructuredErrors ()</h3>
+<pre class="programlisting">void	xmlSchematronSetValidStructuredErrors	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
+</pre>
+<p>Set the structured error callback</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 Schematron validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>serror</tt></i>:</span></td>
+<td>the structured error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidateDoc"></a>xmlSchematronValidateDoc ()</h3>
+<pre class="programlisting">int	xmlSchematronValidateDoc	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance)<br>
+</pre>
+<p>Validate a tree instance against the schematron</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>instance</tt></i>:</span></td>
+<td>the document instance tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of internal error and an error count otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-threads.html b/doc/devhelp/libxml2-threads.html
index 0ddd0bc..4ab52dc 100644
--- a/doc/devhelp/libxml2-threads.html
+++ b/doc/devhelp/libxml2-threads.html
@@ -1,161 +1,316 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>threads: interfaces for thread handling</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-schematron.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-tree.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">threads</span>
-    </h2>
-    <p>threads - interfaces for thread handling</p>
-    <p>set of generic threading related routines should work with pthreads, Windows native or TLS threads </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlMutex <a href="#xmlMutex">xmlMutex</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>threads: interfaces for thread handling</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-schematron.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">threads</span></h2>
+<p>threads - interfaces for thread handling</p>
+<p>set of generic threading related routines should work with pthreads, Windows native or TLS threads </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlMutex <a href="#xmlMutex">xmlMutex</a>;
+typedef <a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * <a href="#xmlMutexPtr">xmlMutexPtr</a>;
 typedef struct _xmlRMutex <a href="#xmlRMutex">xmlRMutex</a>;
 typedef <a href="libxml2-threads.html#xmlRMutex">xmlRMutex</a> * <a href="#xmlRMutexPtr">xmlRMutexPtr</a>;
-typedef <a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * <a href="#xmlMutexPtr">xmlMutexPtr</a>;
-void	<a href="#xmlFreeRMutex">xmlFreeRMutex</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
-int	<a href="#xmlGetThreadId">xmlGetThreadId</a>			(void);
-void	<a href="#xmlMutexUnlock">xmlMutexUnlock</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
 void	<a href="#xmlCleanupThreads">xmlCleanupThreads</a>		(void);
-void	<a href="#xmlLockLibrary">xmlLockLibrary</a>			(void);
-<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>	<a href="#xmlNewRMutex">xmlNewRMutex</a>		(void);
-void	<a href="#xmlMutexLock">xmlMutexLock</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
-int	<a href="#xmlIsMainThread">xmlIsMainThread</a>			(void);
-void	<a href="#xmlRMutexUnlock">xmlRMutexUnlock</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
-<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	<a href="#xmlGetGlobalState">xmlGetGlobalState</a>	(void);
-<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a>	<a href="#xmlNewMutex">xmlNewMutex</a>		(void);
-int	<a href="#xmlDllMain">xmlDllMain</a>			(void * hinstDLL, <br/>					 unsigned long fdwReason, <br/>					 void * lpvReserved);
+int	<a href="#xmlDllMain">xmlDllMain</a>			(void * hinstDLL, <br>					 unsigned long fdwReason, <br>					 void * lpvReserved);
 void	<a href="#xmlFreeMutex">xmlFreeMutex</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
-void	<a href="#xmlUnlockLibrary">xmlUnlockLibrary</a>		(void);
+void	<a href="#xmlFreeRMutex">xmlFreeRMutex</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
+<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	<a href="#xmlGetGlobalState">xmlGetGlobalState</a>	(void);
+int	<a href="#xmlGetThreadId">xmlGetThreadId</a>			(void);
 void	<a href="#xmlInitThreads">xmlInitThreads</a>			(void);
+int	<a href="#xmlIsMainThread">xmlIsMainThread</a>			(void);
+void	<a href="#xmlLockLibrary">xmlLockLibrary</a>			(void);
+void	<a href="#xmlMutexLock">xmlMutexLock</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
+void	<a href="#xmlMutexUnlock">xmlMutexUnlock</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
+<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a>	<a href="#xmlNewMutex">xmlNewMutex</a>		(void);
+<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>	<a href="#xmlNewRMutex">xmlNewRMutex</a>		(void);
 void	<a href="#xmlRMutexLock">xmlRMutexLock</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
+void	<a href="#xmlRMutexUnlock">xmlRMutexUnlock</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
+void	<a href="#xmlUnlockLibrary">xmlUnlockLibrary</a>		(void);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlMutex">Structure </a>xmlMutex</h3><pre class="programlisting">struct _xmlMutex {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMutex">Structure </a>xmlMutex</h3>
+<pre class="programlisting">struct _xmlMutex {
 The content of this structure is not made public by the API.
 } xmlMutex;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMutexPtr">Typedef </a>xmlMutexPtr</h3><pre class="programlisting"><a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * xmlMutexPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMutexPtr">Typedef </a>xmlMutexPtr</h3>
+<pre class="programlisting"><a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * xmlMutexPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRMutex">Structure </a>xmlRMutex</h3><pre class="programlisting">struct _xmlRMutex {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRMutex">Structure </a>xmlRMutex</h3>
+<pre class="programlisting">struct _xmlRMutex {
 The content of this structure is not made public by the API.
 } xmlRMutex;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRMutexPtr">Typedef </a>xmlRMutexPtr</h3><pre class="programlisting"><a href="libxml2-threads.html#xmlRMutex">xmlRMutex</a> * xmlRMutexPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRMutexPtr">Typedef </a>xmlRMutexPtr</h3>
+<pre class="programlisting"><a href="libxml2-threads.html#xmlRMutex">xmlRMutex</a> * xmlRMutexPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupThreads"/>xmlCleanupThreads ()</h3><pre class="programlisting">void	xmlCleanupThreads		(void)<br/>
-</pre><p>xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupThreads"></a>xmlCleanupThreads ()</h3>
+<pre class="programlisting">void	xmlCleanupThreads		(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDllMain"/>xmlDllMain ()</h3><pre class="programlisting">int	xmlDllMain			(void * hinstDLL, <br/>					 unsigned long fdwReason, <br/>					 void * lpvReserved)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>hinstDLL</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>fdwReason</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>lpvReserved</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeMutex"/>xmlFreeMutex ()</h3><pre class="programlisting">void	xmlFreeMutex			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br/>
-</pre><p>xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the simple mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeRMutex"/>xmlFreeRMutex ()</h3><pre class="programlisting">void	xmlFreeRMutex			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br/>
-</pre><p>xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the reentrant mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetGlobalState"/>xmlGetGlobalState ()</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	xmlGetGlobalState	(void)<br/>
-</pre><p>xmlGetGlobalState() is called to retrieve the global state for a thread.</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 thread global state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetThreadId"/>xmlGetThreadId ()</h3><pre class="programlisting">int	xmlGetThreadId			(void)<br/>
-</pre><p>xmlGetThreadId() find the current thread ID number Note that this is likely to be broken on some platforms using pthreads as the specification doesn't mandate pthread_t to be an integer type</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 current thread ID number</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitThreads"/>xmlInitThreads ()</h3><pre class="programlisting">void	xmlInitThreads			(void)<br/>
-</pre><p>xmlInitThreads() is used to to initialize all the thread related data of the libxml2 library.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDllMain"></a>xmlDllMain ()</h3>
+<pre class="programlisting">int	xmlDllMain			(void * hinstDLL, <br>					 unsigned long fdwReason, <br>					 void * lpvReserved)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>hinstDLL</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fdwReason</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lpvReserved</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>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsMainThread"/>xmlIsMainThread ()</h3><pre class="programlisting">int	xmlIsMainThread			(void)<br/>
-</pre><p>xmlIsMainThread() check whether the current thread is the main thread.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the current thread is the main thread, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLockLibrary"/>xmlLockLibrary ()</h3><pre class="programlisting">void	xmlLockLibrary			(void)<br/>
-</pre><p>xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeMutex"></a>xmlFreeMutex ()</h3>
+<pre class="programlisting">void	xmlFreeMutex			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
+</pre>
+<p>xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the simple mutex</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMutexLock"/>xmlMutexLock ()</h3><pre class="programlisting">void	xmlMutexLock			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br/>
-</pre><p>xmlMutexLock() is used to lock a libxml2 token.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the simple mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMutexUnlock"/>xmlMutexUnlock ()</h3><pre class="programlisting">void	xmlMutexUnlock			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br/>
-</pre><p>xmlMutexUnlock() is used to unlock a libxml2 token.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the simple mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewMutex"/>xmlNewMutex ()</h3><pre class="programlisting"><a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a>	xmlNewMutex		(void)<br/>
-</pre><p>xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to data.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new simple mutex pointer or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewRMutex"/>xmlNewRMutex ()</h3><pre class="programlisting"><a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>	xmlNewRMutex		(void)<br/>
-</pre><p>xmlRNewMutex() is used to allocate a reentrant mutex for use in synchronizing access to data. token_r is a re-entrant lock and thus useful for synchronizing access to data structures that may be manipulated in a recursive fashion.</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 new reentrant mutex pointer or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRMutexLock"/>xmlRMutexLock ()</h3><pre class="programlisting">void	xmlRMutexLock			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br/>
-</pre><p>xmlRMutexLock() is used to lock a libxml2 token_r.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the reentrant mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRMutexUnlock"/>xmlRMutexUnlock ()</h3><pre class="programlisting">void	xmlRMutexUnlock			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br/>
-</pre><p>xmlRMutexUnlock() is used to unlock a libxml2 token_r.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the reentrant mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUnlockLibrary"/>xmlUnlockLibrary ()</h3><pre class="programlisting">void	xmlUnlockLibrary		(void)<br/>
-</pre><p>xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeRMutex"></a>xmlFreeRMutex ()</h3>
+<pre class="programlisting">void	xmlFreeRMutex			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
+</pre>
+<p>xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the reentrant mutex</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetGlobalState"></a>xmlGetGlobalState ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	xmlGetGlobalState	(void)<br>
+</pre>
+<p>xmlGetGlobalState() is called to retrieve the global state for a thread.</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 thread global state or NULL in case of error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetThreadId"></a>xmlGetThreadId ()</h3>
+<pre class="programlisting">int	xmlGetThreadId			(void)<br>
+</pre>
+<p>xmlGetThreadId() find the current thread ID number Note that this is likely to be broken on some platforms using pthreads as the specification doesn't mandate pthread_t to be an integer type</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 current thread ID number</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitThreads"></a>xmlInitThreads ()</h3>
+<pre class="programlisting">void	xmlInitThreads			(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. xmlInitThreads() is used to to initialize all the thread related data of the libxml2 library.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsMainThread"></a>xmlIsMainThread ()</h3>
+<pre class="programlisting">int	xmlIsMainThread			(void)<br>
+</pre>
+<p>xmlIsMainThread() check whether the current thread is the main thread.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the current thread is the main thread, 0 otherwise</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLockLibrary"></a>xmlLockLibrary ()</h3>
+<pre class="programlisting">void	xmlLockLibrary			(void)<br>
+</pre>
+<p>xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMutexLock"></a>xmlMutexLock ()</h3>
+<pre class="programlisting">void	xmlMutexLock			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
+</pre>
+<p>xmlMutexLock() is used to lock a libxml2 token.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the simple mutex</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMutexUnlock"></a>xmlMutexUnlock ()</h3>
+<pre class="programlisting">void	xmlMutexUnlock			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
+</pre>
+<p>xmlMutexUnlock() is used to unlock a libxml2 token.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the simple mutex</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewMutex"></a>xmlNewMutex ()</h3>
+<pre class="programlisting"><a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a>	xmlNewMutex		(void)<br>
+</pre>
+<p>xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to data.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new simple mutex pointer or NULL in case of error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewRMutex"></a>xmlNewRMutex ()</h3>
+<pre class="programlisting"><a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>	xmlNewRMutex		(void)<br>
+</pre>
+<p>xmlRNewMutex() is used to allocate a reentrant mutex for use in synchronizing access to data. token_r is a re-entrant lock and thus useful for synchronizing access to data structures that may be manipulated in a recursive fashion.</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 new reentrant mutex pointer or NULL in case of error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRMutexLock"></a>xmlRMutexLock ()</h3>
+<pre class="programlisting">void	xmlRMutexLock			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
+</pre>
+<p>xmlRMutexLock() is used to lock a libxml2 token_r.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the reentrant mutex</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRMutexUnlock"></a>xmlRMutexUnlock ()</h3>
+<pre class="programlisting">void	xmlRMutexUnlock			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
+</pre>
+<p>xmlRMutexUnlock() is used to unlock a libxml2 token_r.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the reentrant mutex</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUnlockLibrary"></a>xmlUnlockLibrary ()</h3>
+<pre class="programlisting">void	xmlUnlockLibrary		(void)<br>
+</pre>
+<p>xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library.</p>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-tree.html b/doc/devhelp/libxml2-tree.html
index 8d60f11..e4987c1 100644
--- a/doc/devhelp/libxml2-tree.html
+++ b/doc/devhelp/libxml2-tree.html
@@ -1,320 +1,336 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>tree: interfaces for tree manipulation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-threads.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-uri.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">tree</span>
-    </h2>
-    <p>tree - interfaces for tree manipulation</p>
-    <p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
-#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a>;
-#define <a href="#XML_XML_ID">XML_XML_ID</a>;
-#define <a href="#xmlRootNode">xmlRootNode</a>;
-#define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
-#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
-#define <a href="#xmlChildrenNode">xmlChildrenNode</a>;
-#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>tree: interfaces for tree manipulation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">tree</span></h2>
+<p>tree - interfaces for tree manipulation</p>
+<p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a>;
 #define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
-typedef struct _xmlNs <a href="#xmlNs">xmlNs</a>;
-typedef struct _xmlElementContent <a href="#xmlElementContent">xmlElementContent</a>;
-typedef <a href="libxml2-tree.html#xmlEnumeration">xmlEnumeration</a> * <a href="#xmlEnumerationPtr">xmlEnumerationPtr</a>;
-typedef struct _xmlBuffer <a href="#xmlBuffer">xmlBuffer</a>;
-typedef <a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> * <a href="#xmlParserInputPtr">xmlParserInputPtr</a>;
-typedef <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> * <a href="#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a>;
-typedef struct _xmlParserInput <a href="#xmlParserInput">xmlParserInput</a>;
-typedef struct _xmlElement <a href="#xmlElement">xmlElement</a>;
-typedef <a href="libxml2-tree.html#xmlElementType">xmlElementType</a> <a href="#xmlNsType">xmlNsType</a>;
-typedef enum <a href="#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>;
-typedef struct _xmlNode <a href="#xmlNode">xmlNode</a>;
-typedef <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * <a href="#xmlDocPtr">xmlDocPtr</a>;
-typedef <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * <a href="#xmlBufferPtr">xmlBufferPtr</a>;
-typedef <a href="libxml2-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a> * <a href="#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>;
-typedef <a href="libxml2-tree.html#xmlRef">xmlRef</a> * <a href="#xmlRefPtr">xmlRefPtr</a>;
-typedef struct _xmlParserInputBuffer <a href="#xmlParserInputBuffer">xmlParserInputBuffer</a>;
-typedef struct _xmlRef <a href="#xmlRef">xmlRef</a>;
-typedef struct _xmlDOMWrapCtxt <a href="#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a>;
-typedef <a href="libxml2-tree.html#xmlNode">xmlNode</a> * <a href="#xmlNodePtr">xmlNodePtr</a>;
-typedef struct _xmlParserCtxt <a href="#xmlParserCtxt">xmlParserCtxt</a>;
-typedef <a href="libxml2-tree.html#xmlDtd">xmlDtd</a> * <a href="#xmlDtdPtr">xmlDtdPtr</a>;
-typedef enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a>;
-typedef struct _xmlBuf <a href="#xmlBuf">xmlBuf</a>;
-typedef struct _xmlNotation <a href="#xmlNotation">xmlNotation</a>;
-typedef enum <a href="#xmlElementType">xmlElementType</a>;
-typedef struct _xmlEntity <a href="#xmlEntity">xmlEntity</a>;
+#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
+#define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
+#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
+#define <a href="#XML_XML_ID">XML_XML_ID</a>;
+#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a>;
+#define <a href="#xmlChildrenNode">xmlChildrenNode</a>;
+#define <a href="#xmlRootNode">xmlRootNode</a>;
 typedef struct _xmlAttr <a href="#xmlAttr">xmlAttr</a>;
-typedef <a href="libxml2-tree.html#xmlAttribute">xmlAttribute</a> * <a href="#xmlAttributePtr">xmlAttributePtr</a>;
-typedef enum <a href="#xmlElementTypeVal">xmlElementTypeVal</a>;
-typedef <a href="libxml2-tree.html#xmlNotation">xmlNotation</a> * <a href="#xmlNotationPtr">xmlNotationPtr</a>;
-typedef <a href="libxml2-tree.html#xmlElement">xmlElement</a> * <a href="#xmlElementPtr">xmlElementPtr</a>;
-typedef <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * <a href="#xmlBufPtr">xmlBufPtr</a>;
-typedef enum <a href="#xmlElementContentOccur">xmlElementContentOccur</a>;
 typedef <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> * <a href="#xmlAttrPtr">xmlAttrPtr</a>;
-typedef struct _xmlDoc <a href="#xmlDoc">xmlDoc</a>;
-typedef struct _xmlID <a href="#xmlID">xmlID</a>;
-typedef <a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * <a href="#xmlParserCtxtPtr">xmlParserCtxtPtr</a>;
-typedef <a href="libxml2-tree.html#xmlEntity">xmlEntity</a> * <a href="#xmlEntityPtr">xmlEntityPtr</a>;
-typedef struct _xmlEnumeration <a href="#xmlEnumeration">xmlEnumeration</a>;
+typedef struct _xmlAttribute <a href="#xmlAttribute">xmlAttribute</a>;
+typedef enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a>;
+typedef <a href="libxml2-tree.html#xmlAttribute">xmlAttribute</a> * <a href="#xmlAttributePtr">xmlAttributePtr</a>;
 typedef enum <a href="#xmlAttributeType">xmlAttributeType</a>;
-typedef <a href="libxml2-tree.html#xmlNs">xmlNs</a> * <a href="#xmlNsPtr">xmlNsPtr</a>;
-typedef <a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> * <a href="#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>;
-typedef struct _xmlSAXHandler <a href="#xmlSAXHandler">xmlSAXHandler</a>;
-typedef struct _xmlOutputBuffer <a href="#xmlOutputBuffer">xmlOutputBuffer</a>;
-typedef struct _xmlSAXLocator <a href="#xmlSAXLocator">xmlSAXLocator</a>;
+typedef struct _xmlBuf <a href="#xmlBuf">xmlBuf</a>;
+typedef <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * <a href="#xmlBufPtr">xmlBufPtr</a>;
+typedef struct _xmlBuffer <a href="#xmlBuffer">xmlBuffer</a>;
+typedef enum <a href="#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>;
+typedef <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * <a href="#xmlBufferPtr">xmlBufferPtr</a>;
+typedef struct _xmlDOMWrapCtxt <a href="#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a>;
+typedef <a href="libxml2-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a> * <a href="#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>;
+typedef struct _xmlDoc <a href="#xmlDoc">xmlDoc</a>;
+typedef enum <a href="#xmlDocProperties">xmlDocProperties</a>;
+typedef <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * <a href="#xmlDocPtr">xmlDocPtr</a>;
+typedef struct _xmlDtd <a href="#xmlDtd">xmlDtd</a>;
+typedef <a href="libxml2-tree.html#xmlDtd">xmlDtd</a> * <a href="#xmlDtdPtr">xmlDtdPtr</a>;
+typedef struct _xmlElement <a href="#xmlElement">xmlElement</a>;
+typedef struct _xmlElementContent <a href="#xmlElementContent">xmlElementContent</a>;
+typedef enum <a href="#xmlElementContentOccur">xmlElementContentOccur</a>;
 typedef <a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * <a href="#xmlElementContentPtr">xmlElementContentPtr</a>;
 typedef enum <a href="#xmlElementContentType">xmlElementContentType</a>;
-typedef enum <a href="#xmlDocProperties">xmlDocProperties</a>;
+typedef <a href="libxml2-tree.html#xmlElement">xmlElement</a> * <a href="#xmlElementPtr">xmlElementPtr</a>;
+typedef enum <a href="#xmlElementType">xmlElementType</a>;
+typedef enum <a href="#xmlElementTypeVal">xmlElementTypeVal</a>;
+typedef struct _xmlEntity <a href="#xmlEntity">xmlEntity</a>;
+typedef <a href="libxml2-tree.html#xmlEntity">xmlEntity</a> * <a href="#xmlEntityPtr">xmlEntityPtr</a>;
+typedef struct _xmlEnumeration <a href="#xmlEnumeration">xmlEnumeration</a>;
+typedef <a href="libxml2-tree.html#xmlEnumeration">xmlEnumeration</a> * <a href="#xmlEnumerationPtr">xmlEnumerationPtr</a>;
+typedef struct _xmlID <a href="#xmlID">xmlID</a>;
 typedef <a href="libxml2-tree.html#xmlID">xmlID</a> * <a href="#xmlIDPtr">xmlIDPtr</a>;
-typedef struct _xmlDtd <a href="#xmlDtd">xmlDtd</a>;
-typedef struct _xmlAttribute <a href="#xmlAttribute">xmlAttribute</a>;
+typedef struct _xmlNode <a href="#xmlNode">xmlNode</a>;
+typedef <a href="libxml2-tree.html#xmlNode">xmlNode</a> * <a href="#xmlNodePtr">xmlNodePtr</a>;
+typedef struct _xmlNotation <a href="#xmlNotation">xmlNotation</a>;
+typedef <a href="libxml2-tree.html#xmlNotation">xmlNotation</a> * <a href="#xmlNotationPtr">xmlNotationPtr</a>;
+typedef struct _xmlNs <a href="#xmlNs">xmlNs</a>;
+typedef <a href="libxml2-tree.html#xmlNs">xmlNs</a> * <a href="#xmlNsPtr">xmlNsPtr</a>;
+typedef <a href="libxml2-tree.html#xmlElementType">xmlElementType</a> <a href="#xmlNsType">xmlNsType</a>;
+typedef struct _xmlOutputBuffer <a href="#xmlOutputBuffer">xmlOutputBuffer</a>;
 typedef <a href="libxml2-tree.html#xmlOutputBuffer">xmlOutputBuffer</a> * <a href="#xmlOutputBufferPtr">xmlOutputBufferPtr</a>;
+typedef struct _xmlParserCtxt <a href="#xmlParserCtxt">xmlParserCtxt</a>;
+typedef <a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * <a href="#xmlParserCtxtPtr">xmlParserCtxtPtr</a>;
+typedef struct _xmlParserInput <a href="#xmlParserInput">xmlParserInput</a>;
+typedef struct _xmlParserInputBuffer <a href="#xmlParserInputBuffer">xmlParserInputBuffer</a>;
+typedef <a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> * <a href="#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>;
+typedef <a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> * <a href="#xmlParserInputPtr">xmlParserInputPtr</a>;
+typedef struct _xmlRef <a href="#xmlRef">xmlRef</a>;
+typedef <a href="libxml2-tree.html#xmlRef">xmlRef</a> * <a href="#xmlRefPtr">xmlRefPtr</a>;
+typedef struct _xmlSAXHandler <a href="#xmlSAXHandler">xmlSAXHandler</a>;
 typedef <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * <a href="#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a>;
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNode">xmlDocCopyNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int extended);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocRawNode">xmlNewDocRawNode</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+typedef struct _xmlSAXLocator <a href="#xmlSAXLocator">xmlSAXLocator</a>;
+typedef <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> * <a href="#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a>;
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddChild">xmlAddChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddChildList">xmlAddChildList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddNextSibling">xmlAddNextSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddPrevSibling">xmlAddPrevSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddSibling">xmlAddSibling</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+void	<a href="#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufContent">xmlBufContent</a>		(const <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * buf);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewNsPropEatName">xmlNewNsPropEatName</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlStringGetNodeList">xmlStringGetNodeList</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewCDataBlock">xmlNewCDataBlock</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len);
-void	<a href="#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetBase">xmlNodeGetBase</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
-void	<a href="#xmlBufferEmpty">xmlBufferEmpty</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildQName">xmlBuildQName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br/>					 int len);
-int	<a href="#xmlValidateNMToken">xmlValidateNMToken</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int space);
-int	<a href="#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a>		(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding, <br/>					 int format);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddSibling">xmlAddSibling</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreate">xmlBufferCreate</a>		(void);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocFragment">xmlNewDocFragment</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocGetRootElement">xmlDocGetRootElement</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetProp">xmlGetProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlValidateName">xmlValidateName</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int space);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufEnd">xmlBufEnd</a>		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf);
-int	<a href="#xmlValidateQName">xmlValidateQName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int space);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlHasNsProp">xmlHasNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddPrevSibling">xmlAddPrevSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-int	<a href="#xmlBufferAddHead">xmlBufferAddHead</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 int len);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewPI">xmlNewPI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-void	<a href="#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br/>					 int * doc_txt_len, <br/>					 const char * txt_encoding, <br/>					 int format);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlSetProp">xmlSetProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-unsigned long	<a href="#xmlChildElementCount">xmlChildElementCount</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
-void	<a href="#xmlElemDump">xmlElemDump</a>			(FILE * f, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-int	<a href="#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding, <br/>					 int format);
-<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlGetIntSubset">xmlGetIntSubset</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
-int	<a href="#xmlNodeBufGetContent">xmlNodeBufGetContent</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNextElementSibling">xmlNextElementSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-void	<a href="#xmlBufferWriteChar">xmlBufferWriteChar</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const char * string);
-void	<a href="#xmlBufferFree">xmlBufferFree</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
-int	<a href="#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * resNode, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br/>					 int deep, <br/>					 int options);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNode">xmlNewNode</a>		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlSaveFileTo">xmlSaveFileTo</a>			(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewTextLen">xmlNewTextLen</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewTextChild">xmlNewTextChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-void	<a href="#xmlNodeSetContent">xmlNodeSetContent</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlBufferAdd">xmlBufferAdd</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 int len);
-void	<a href="#xmlNodeDumpOutput">xmlNodeDumpOutput</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 int level, <br/>					 int format, <br/>					 const char * encoding);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlCopyNamespace">xmlCopyNamespace</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlSearchNsByHref">xmlSearchNsByHref</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddChild">xmlAddChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-int	<a href="#xmlReconciliateNs">xmlReconciliateNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
-int	<a href="#xmlValidateNCName">xmlValidateNCName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int space);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocComment">xmlNewDocComment</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlGetCompressMode">xmlGetCompressMode</a>		(void);
-int	<a href="#xmlNodeDump">xmlNodeDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 int level, <br/>					 int format);
-<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreateSize">xmlBufferCreateSize</a>	(size_t size);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeListGetString">xmlNodeListGetString</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br/>					 int inLine);
-void	<a href="#xmlSetCompressMode">xmlSetCompressMode</a>		(int mode);
-void	<a href="#xmlSetTreeDoc">xmlSetTreeDoc</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-int	<a href="#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br/>					 int options);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlCopyNodeList">xmlCopyNodeList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddChildList">xmlAddChildList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNodePath">xmlGetNodePath</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
-void	<a href="#xmlFreePropList">xmlFreePropList</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
-void	<a href="#xmlNodeAddContent">xmlNodeAddContent</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlUnsetNsProp">xmlUnsetNsProp</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlFirstElementChild">xmlFirstElementChild</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddNextSibling">xmlAddNextSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-int	<a href="#xmlIsBlankNode">xmlIsBlankNode</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewGlobalNs">xmlNewGlobalNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
-int	<a href="#xmlBufferDump">xmlBufferDump</a>			(FILE * file, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetContent">xmlNodeGetContent</a>	(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCopyDoc">xmlCopyDoc</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int recursive);
-<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>	<a href="#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a>	(void);
-void	<a href="#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br/>					 int * doc_txt_len, <br/>					 const char * txt_encoding);
-int	<a href="#xmlBufGetNodeContent">xmlBufGetNodeContent</a>		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextMerge">xmlTextMerge</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> second);
-void	<a href="#xmlDocDumpMemory">xmlDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>					 int * size);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocPI">xmlNewDocPI</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-void	<a href="#xmlFreeNs">xmlFreeNs</a>			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
-int	<a href="#xmlDocDump">xmlDocDump</a>			(FILE * f, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
-void	<a href="#xmlFreeProp">xmlFreeProp</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNoNsProp">xmlGetNoNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName2">xmlSplitQName2</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewProp">xmlNewProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlTextConcat">xmlTextConcat</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len);
-int	<a href="#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
-int	<a href="#xmlBufferShrink">xmlBufferShrink</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 unsigned int len);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlPreviousElementSibling">xmlPreviousElementSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-void	<a href="#xmlNodeSetContentLen">xmlNodeSetContentLen</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len);
-void	<a href="#xmlNodeAddContentLen">xmlNodeAddContentLen</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len);
-void	<a href="#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlCopyProp">xmlCopyProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlReplaceNode">xmlReplaceNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-void	<a href="#xmlSetDocCompressMode">xmlSetDocCompressMode</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int mode);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlCopyNode">xmlCopyNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int extended);
-void	<a href="#xmlUnlinkNode">xmlUnlinkNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName3">xmlSplitQName3</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int * len);
-typedef <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> <a href="#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix);
+int	<a href="#xmlBufGetNodeContent">xmlBufGetNodeContent</a>		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
+size_t	<a href="#xmlBufNodeDump">xmlBufNodeDump</a>			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format);
+size_t	<a href="#xmlBufShrink">xmlBufShrink</a>			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 size_t len);
 size_t	<a href="#xmlBufUse">xmlBufUse</a>			(const <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocSetRootElement">xmlDocSetRootElement</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root);
-long	<a href="#xmlGetLineNo">xmlGetLineNo</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
+int	<a href="#xmlBufferAdd">xmlBufferAdd</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len);
+int	<a href="#xmlBufferAddHead">xmlBufferAddHead</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len);
+int	<a href="#xmlBufferCCat">xmlBufferCCat</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * str);
+int	<a href="#xmlBufferCat">xmlBufferCat</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufferContent">xmlBufferContent</a>	(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf);
-int	<a href="#xmlRemoveProp">xmlRemoveProp</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlLastElementChild">xmlLastElementChild</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetLang">xmlNodeGetLang</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
-int	<a href="#xmlGetDocCompressMode">xmlGetDocCompressMode</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
-size_t	<a href="#xmlBufNodeDump">xmlBufNodeDump</a>			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 int level, <br/>					 int format);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNsProp">xmlGetNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewDocProp">xmlNewDocProp</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-void	<a href="#xmlFreeNode">xmlFreeNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewNsProp">xmlNewNsProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-void	<a href="#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreate">xmlBufferCreate</a>		(void);
+<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreateSize">xmlBufferCreateSize</a>	(size_t size);
+<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreateStatic">xmlBufferCreateStatic</a>	(void * mem, <br>					 size_t size);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufferDetach">xmlBufferDetach</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
-void	<a href="#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewChild">xmlNewChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlSearchNs">xmlSearchNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int len);
-int	<a href="#xmlSaveFormatFile">xmlSaveFormatFile</a>		(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 int format);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlCopyPropList">xmlCopyPropList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
-int	<a href="#xmlDocFormatDump">xmlDocFormatDump</a>		(FILE * f, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 int format);
-void	<a href="#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 int val);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlHasProp">xmlHasProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlBufferCat">xmlBufferCat</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlCreateIntSubset">xmlCreateIntSubset</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlNewDoc">xmlNewDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewCharRef">xmlNewCharRef</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlCopyNamespaceList">xmlCopyNamespaceList</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNodeEatName">xmlNewNodeEatName</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlBufferResize">xmlBufferResize</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 unsigned int size);
-void	<a href="#xmlNodeSetBase">xmlNodeSetBase</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * uri);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewComment">xmlNewComment</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlBufferDump">xmlBufferDump</a>			(FILE * file, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
+void	<a href="#xmlBufferEmpty">xmlBufferEmpty</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
+void	<a href="#xmlBufferFree">xmlBufferFree</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
+int	<a href="#xmlBufferGrow">xmlBufferGrow</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len);
 int	<a href="#xmlBufferLength">xmlBufferLength</a>			(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewText">xmlNewText</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlUnsetProp">xmlUnsetProp</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	<a href="#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a>	(void);
-int	<a href="#xmlSaveFile">xmlSaveFile</a>			(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNodeList">xmlDocCopyNodeList</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-void	<a href="#xmlSetNs">xmlSetNs</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewNs">xmlNewNs</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
-int	<a href="#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int options);
-void	<a href="#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
+int	<a href="#xmlBufferResize">xmlBufferResize</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int size);
+void	<a href="#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
+int	<a href="#xmlBufferShrink">xmlBufferShrink</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len);
+void	<a href="#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
+void	<a href="#xmlBufferWriteChar">xmlBufferWriteChar</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * string);
+void	<a href="#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildQName">xmlBuildQName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br>					 int len);
+unsigned long	<a href="#xmlChildElementCount">xmlChildElementCount</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCopyDoc">xmlCopyDoc</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int recursive);
 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlCopyDtd">xmlCopyDtd</a>		(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocText">xmlNewDocText</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeListGetRawString">xmlNodeListGetRawString</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br/>					 int inLine);
-<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreateStatic">xmlBufferCreateStatic</a>	(void * mem, <br/>					 size_t size);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewReference">xmlNewReference</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a>	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 int options);
-int	<a href="#xmlBufferCCat">xmlBufferCCat</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const char * str);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	<a href="#xmlGetNsList">xmlGetNsList</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
-int	<a href="#xmlBufferGrow">xmlBufferGrow</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 unsigned int len);
-int	<a href="#xmlNodeIsText">xmlNodeIsText</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
-void	<a href="#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a>	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
-int	<a href="#xmlIsXHTML">xmlIsXHTML</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID);
-void	<a href="#xmlNodeSetLang">xmlNodeSetLang</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang);
-void	<a href="#xmlFreeDtd">xmlFreeDtd</a>			(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur);
-void	<a href="#xmlFreeNodeList">xmlFreeNodeList</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlCopyNamespace">xmlCopyNamespace</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
+<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlCopyNamespaceList">xmlCopyNamespaceList</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlCopyNode">xmlCopyNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int extended);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlCopyNodeList">xmlCopyNodeList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlCopyProp">xmlCopyProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlCopyPropList">xmlCopyPropList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlCreateIntSubset">xmlCreateIntSubset</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+typedef <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> <a href="#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix);
+int	<a href="#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int options);
+int	<a href="#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * resNode, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int deep, <br>					 int options);
+void	<a href="#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>	<a href="#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a>	(void);
+int	<a href="#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a>	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 int options);
+int	<a href="#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int options);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNode">xmlDocCopyNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int extended);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNodeList">xmlDocCopyNodeList</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int	<a href="#xmlDocDump">xmlDocDump</a>			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+void	<a href="#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format);
+void	<a href="#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding, <br>					 int format);
+void	<a href="#xmlDocDumpMemory">xmlDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size);
+void	<a href="#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding);
+int	<a href="#xmlDocFormatDump">xmlDocFormatDump</a>		(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocGetRootElement">xmlDocGetRootElement</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocSetRootElement">xmlDocSetRootElement</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root);
+void	<a href="#xmlElemDump">xmlElemDump</a>			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlFirstElementChild">xmlFirstElementChild</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
 void	<a href="#xmlFreeDoc">xmlFreeDoc</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
-size_t	<a href="#xmlBufShrink">xmlBufShrink</a>			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br/>					 size_t len);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNode">xmlNewDocNode</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlSaveFileEnc">xmlSaveFileEnc</a>			(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlSetNsProp">xmlSetNsProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-void	<a href="#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>					 int * size, <br/>					 int format);
-void	<a href="#xmlSetListDoc">xmlSetListDoc</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-void	<a href="#xmlNodeSetName">xmlNodeSetName</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocTextLen">xmlNewDocTextLen</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len);
-<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlNewDtd">xmlNewDtd</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+void	<a href="#xmlFreeDtd">xmlFreeDtd</a>			(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur);
+void	<a href="#xmlFreeNode">xmlFreeNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+void	<a href="#xmlFreeNodeList">xmlFreeNodeList</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+void	<a href="#xmlFreeNs">xmlFreeNs</a>			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
 void	<a href="#xmlFreeNsList">xmlFreeNsList</a>			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
+void	<a href="#xmlFreeProp">xmlFreeProp</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+void	<a href="#xmlFreePropList">xmlFreePropList</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	<a href="#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a>	(void);
+int	<a href="#xmlGetCompressMode">xmlGetCompressMode</a>		(void);
+int	<a href="#xmlGetDocCompressMode">xmlGetDocCompressMode</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
+<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlGetIntSubset">xmlGetIntSubset</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlGetLastChild">xmlGetLastChild</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * parent);
+long	<a href="#xmlGetLineNo">xmlGetLineNo</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNoNsProp">xmlGetNoNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNodePath">xmlGetNodePath</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
+<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	<a href="#xmlGetNsList">xmlGetNsList</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNsProp">xmlGetNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetProp">xmlGetProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlHasNsProp">xmlHasNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlHasProp">xmlHasProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlIsBlankNode">xmlIsBlankNode</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
+int	<a href="#xmlIsXHTML">xmlIsXHTML</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlLastElementChild">xmlLastElementChild</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewCDataBlock">xmlNewCDataBlock</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewCharRef">xmlNewCharRef</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewChild">xmlNewChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewComment">xmlNewComment</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlNewDoc">xmlNewDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocComment">xmlNewDocComment</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocFragment">xmlNewDocFragment</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNode">xmlNewDocNode</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocPI">xmlNewDocPI</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewDocProp">xmlNewDocProp</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocRawNode">xmlNewDocRawNode</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocText">xmlNewDocText</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocTextLen">xmlNewDocTextLen</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
+<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlNewDtd">xmlNewDtd</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewGlobalNs">xmlNewGlobalNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNode">xmlNewNode</a>		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNodeEatName">xmlNewNodeEatName</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewNs">xmlNewNs</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewNsProp">xmlNewNsProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewNsPropEatName">xmlNewNsPropEatName</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewPI">xmlNewPI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewProp">xmlNewProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewReference">xmlNewReference</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewText">xmlNewText</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewTextChild">xmlNewTextChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewTextLen">xmlNewTextLen</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNextElementSibling">xmlNextElementSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+void	<a href="#xmlNodeAddContent">xmlNodeAddContent</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+void	<a href="#xmlNodeAddContentLen">xmlNodeAddContentLen</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
+int	<a href="#xmlNodeBufGetContent">xmlNodeBufGetContent</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
+int	<a href="#xmlNodeDump">xmlNodeDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format);
+void	<a href="#xmlNodeDumpOutput">xmlNodeDumpOutput</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format, <br>					 const char * encoding);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetBase">xmlNodeGetBase</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetContent">xmlNodeGetContent</a>	(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetLang">xmlNodeGetLang</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
+int	<a href="#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
+int	<a href="#xmlNodeIsText">xmlNodeIsText</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeListGetRawString">xmlNodeListGetRawString</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeListGetString">xmlNodeListGetString</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine);
+void	<a href="#xmlNodeSetBase">xmlNodeSetBase</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * uri);
+void	<a href="#xmlNodeSetContent">xmlNodeSetContent</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+void	<a href="#xmlNodeSetContentLen">xmlNodeSetContentLen</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
+void	<a href="#xmlNodeSetLang">xmlNodeSetLang</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang);
+void	<a href="#xmlNodeSetName">xmlNodeSetName</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void	<a href="#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int val);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlPreviousElementSibling">xmlPreviousElementSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int	<a href="#xmlReconciliateNs">xmlReconciliateNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
+int	<a href="#xmlRemoveProp">xmlRemoveProp</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlReplaceNode">xmlReplaceNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+int	<a href="#xmlSaveFile">xmlSaveFile</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+int	<a href="#xmlSaveFileEnc">xmlSaveFileEnc</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
+int	<a href="#xmlSaveFileTo">xmlSaveFileTo</a>			(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
+int	<a href="#xmlSaveFormatFile">xmlSaveFormatFile</a>		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format);
+int	<a href="#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a>		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
+int	<a href="#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
+<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlSearchNs">xmlSearchNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
+<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlSearchNsByHref">xmlSearchNsByHref</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href);
+void	<a href="#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a>	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
+void	<a href="#xmlSetCompressMode">xmlSetCompressMode</a>		(int mode);
+void	<a href="#xmlSetDocCompressMode">xmlSetDocCompressMode</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int mode);
+void	<a href="#xmlSetListDoc">xmlSetListDoc</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void	<a href="#xmlSetNs">xmlSetNs</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlSetNsProp">xmlSetNsProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlSetProp">xmlSetProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+void	<a href="#xmlSetTreeDoc">xmlSetTreeDoc</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName2">xmlSplitQName2</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName3">xmlSplitQName3</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int * len);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlStringGetNodeList">xmlStringGetNodeList</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
+int	<a href="#xmlTextConcat">xmlTextConcat</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextMerge">xmlTextMerge</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> second);
+void	<a href="#xmlUnlinkNode">xmlUnlinkNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+int	<a href="#xmlUnsetNsProp">xmlUnsetNsProp</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlUnsetProp">xmlUnsetProp</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlValidateNCName">xmlValidateNCName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
+int	<a href="#xmlValidateNMToken">xmlValidateNMToken</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
+int	<a href="#xmlValidateName">xmlValidateName</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
+int	<a href="#xmlValidateQName">xmlValidateQName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="BASE_BUFFER_SIZE">Macro </a>BASE_BUFFER_SIZE</h3><pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a>;
-</pre><p>default buffer size 4000.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML2_NEW_BUFFER">Macro </a>LIBXML2_NEW_BUFFER</h3><pre class="programlisting">#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
-</pre><p>Macro used to express that the API use the new buffers for <a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> and xmlOutputBuffer. The change was introduced in 2.9.0.</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="BASE_BUFFER_SIZE">Macro </a>BASE_BUFFER_SIZE</h3>
+<pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a>;
+</pre>
+<p>default buffer size 4000.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_GET_CONTENT">Macro </a>XML_GET_CONTENT</h3><pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
-</pre><p>Macro to extract the content pointer of a node.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML2_NEW_BUFFER">Macro </a>LIBXML2_NEW_BUFFER</h3>
+<pre class="programlisting">#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
+</pre>
+<p>Macro used to express that the API use the new buffers for <a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> and <a href="libxml2-tree.html#xmlOutputBuffer">xmlOutputBuffer</a>. The change was introduced in 2.9.0.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_GET_LINE">Macro </a>XML_GET_LINE</h3><pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
-</pre><p>Macro to extract the line number of an element node.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_GET_CONTENT">Macro </a>XML_GET_CONTENT</h3>
+<pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
+</pre>
+<p>Macro to extract the content pointer of a node.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_LOCAL_NAMESPACE">Macro </a>XML_LOCAL_NAMESPACE</h3><pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
-</pre><p>A namespace declaration node.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_GET_LINE">Macro </a>XML_GET_LINE</h3>
+<pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
+</pre>
+<p>Macro to extract the line number of an element node.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_XML_ID">Macro </a>XML_XML_ID</h3><pre class="programlisting">#define <a href="#XML_XML_ID">XML_XML_ID</a>;
-</pre><p>This is the name for the special xml:id <a href="libxml2-SAX.html#attribute">attribute</a></p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_LOCAL_NAMESPACE">Macro </a>XML_LOCAL_NAMESPACE</h3>
+<pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
+</pre>
+<p>A namespace declaration node.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_XML_NAMESPACE">Macro </a>XML_XML_NAMESPACE</h3><pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a>;
-</pre><p>This is the namespace for the special xml: prefix predefined in the XML Namespace specification.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_XML_ID">Macro </a>XML_XML_ID</h3>
+<pre class="programlisting">#define <a href="#XML_XML_ID">XML_XML_ID</a>;
+</pre>
+<p>This is the name for the special xml:id <a href="libxml2-SAX.html#attribute">attribute</a></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChildrenNode">Macro </a>xmlChildrenNode</h3><pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a>;
-</pre><p>Macro for compatibility naming layer with libxml1. Maps to "children."</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_XML_NAMESPACE">Macro </a>XML_XML_NAMESPACE</h3>
+<pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a>;
+</pre>
+<p>This is the namespace for the special xml: prefix predefined in the XML Namespace specification.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRootNode">Macro </a>xmlRootNode</h3><pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a>;
-</pre><p>Macro for compatibility naming layer with libxml1. Maps to "children".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChildrenNode">Macro </a>xmlChildrenNode</h3>
+<pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a>;
+</pre>
+<p>Macro for compatibility naming layer with libxml1. Maps to "children."</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttr">Structure </a>xmlAttr</h3><pre class="programlisting">struct _xmlAttr {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRootNode">Macro </a>xmlRootNode</h3>
+<pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a>;
+</pre>
+<p>Macro for compatibility naming layer with libxml1. Maps to "children".</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttr">Structure </a>xmlAttr</h3>
+<pre class="programlisting">struct _xmlAttr {
     void *	_private	: application data
     <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ATTRIBUTE_NODE, must be second !
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the property
@@ -328,14 +344,22 @@
     <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a>	atype	: the <a href="libxml2-SAX.html#attribute">attribute</a> type if validating
     void *	psvi	: for type/PSVI information
 } xmlAttr;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttrPtr">Typedef </a>xmlAttrPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttr">xmlAttr</a> * xmlAttrPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttrPtr">Typedef </a>xmlAttrPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttr">xmlAttr</a> * xmlAttrPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttribute">Structure </a>xmlAttribute</h3><pre class="programlisting">struct _xmlAttribute {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttribute">Structure </a>xmlAttribute</h3>
+<pre class="programlisting">struct _xmlAttribute {
     void *	_private	: application data
     <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ATTRIBUTE_DECL, must be second !
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Attribute name
@@ -353,23 +377,35 @@
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: the namespace prefix if any
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	elem	: Element holding the <a href="libxml2-SAX.html#attribute">attribute</a>
 } xmlAttribute;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttributeDefault">Enum </a>xmlAttributeDefault</h3><pre class="programlisting">enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttributeDefault">Enum </a>xmlAttributeDefault</h3>
+<pre class="programlisting">enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a> {
     <a name="XML_ATTRIBUTE_NONE">XML_ATTRIBUTE_NONE</a> = 1
     <a name="XML_ATTRIBUTE_REQUIRED">XML_ATTRIBUTE_REQUIRED</a> = 2
     <a name="XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> = 3
     <a name="XML_ATTRIBUTE_FIXED">XML_ATTRIBUTE_FIXED</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttributePtr">Typedef </a>xmlAttributePtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttribute">xmlAttribute</a> * xmlAttributePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttributePtr">Typedef </a>xmlAttributePtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttribute">xmlAttribute</a> * xmlAttributePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttributeType">Enum </a>xmlAttributeType</h3><pre class="programlisting">enum <a href="#xmlAttributeType">xmlAttributeType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttributeType">Enum </a>xmlAttributeType</h3>
+<pre class="programlisting">enum <a href="#xmlAttributeType">xmlAttributeType</a> {
     <a name="XML_ATTRIBUTE_CDATA">XML_ATTRIBUTE_CDATA</a> = 1
     <a name="XML_ATTRIBUTE_ID">XML_ATTRIBUTE_ID</a> = 2
     <a name="XML_ATTRIBUTE_IDREF">XML_ATTRIBUTE_IDREF</a> = 3
@@ -381,30 +417,46 @@
     <a name="XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> = 9
     <a name="XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a> = 10
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBuf">Structure </a>xmlBuf</h3><pre class="programlisting">struct _xmlBuf {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBuf">Structure </a>xmlBuf</h3>
+<pre class="programlisting">struct _xmlBuf {
 The content of this structure is not made public by the API.
 } xmlBuf;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufPtr">Typedef </a>xmlBufPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * xmlBufPtr;
-</pre><p>A pointer to a buffer structure, the actual structure internals are not public</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufPtr">Typedef </a>xmlBufPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * xmlBufPtr;
+</pre>
+<p>A pointer to a buffer structure, the actual structure internals are not public</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBuffer">Structure </a>xmlBuffer</h3><pre class="programlisting">struct _xmlBuffer {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBuffer">Structure </a>xmlBuffer</h3>
+<pre class="programlisting">struct _xmlBuffer {
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content	: The buffer content UTF8
     unsigned int	use	: The buffer size used
     unsigned int	size	: The buffer size
     <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	alloc	: The realloc method
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	contentIO	: in IO mode we may have a different base
 } xmlBuffer;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferAllocationScheme">Enum </a>xmlBufferAllocationScheme</h3><pre class="programlisting">enum <a href="#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferAllocationScheme">Enum </a>xmlBufferAllocationScheme</h3>
+<pre class="programlisting">enum <a href="#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> {
     <a name="XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> = 1 /* double each time one need to grow */
     <a name="XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> = 2 /* grow only to the minimal size */
     <a name="XML_BUFFER_ALLOC_IMMUTABLE">XML_BUFFER_ALLOC_IMMUTABLE</a> = 3 /* immutable buffer */
@@ -412,27 +464,43 @@
     <a name="XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> = 5 /* exact up to a threshold, and doubleit thereafter */
     <a name="XML_BUFFER_ALLOC_BOUNDED">XML_BUFFER_ALLOC_BOUNDED</a> = 6 /*  limit the upper size of the buffer */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferPtr">Typedef </a>xmlBufferPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * xmlBufferPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferPtr">Typedef </a>xmlBufferPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * xmlBufferPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapCtxt">Structure </a>xmlDOMWrapCtxt</h3><pre class="programlisting">struct _xmlDOMWrapCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapCtxt">Structure </a>xmlDOMWrapCtxt</h3>
+<pre class="programlisting">struct _xmlDOMWrapCtxt {
     void *	_private	: * The type of this context, just in case we need specialized * context
     int	type	: * Internal namespace map used for various operations. *
     void *	namespaceMap	: * Use this one to acquire an <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> intended for node-&gt;ns. * (Note t
     <a href="libxml2-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>	getNsForNodeFunc
 } xmlDOMWrapCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapCtxtPtr">Typedef </a>xmlDOMWrapCtxtPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a> * xmlDOMWrapCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapCtxtPtr">Typedef </a>xmlDOMWrapCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a> * xmlDOMWrapCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDoc">Structure </a>xmlDoc</h3><pre class="programlisting">struct _xmlDoc {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDoc">Structure </a>xmlDoc</h3>
+<pre class="programlisting">struct _xmlDoc {
     void *	_private	: application data
     <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_DOCUMENT_NODE, must be second !
     char *	name	: name/filename/URI of the document
@@ -458,10 +526,14 @@
     int	parseFlags	: set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used to parse the document
     int	properties	: set of <a href="libxml2-tree.html#xmlDocProperties">xmlDocProperties</a> for this document set at the end of parsing
 } xmlDoc;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocProperties">Enum </a>xmlDocProperties</h3><pre class="programlisting">enum <a href="#xmlDocProperties">xmlDocProperties</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocProperties">Enum </a>xmlDocProperties</h3>
+<pre class="programlisting">enum <a href="#xmlDocProperties">xmlDocProperties</a> {
     <a name="XML_DOC_WELLFORMED">XML_DOC_WELLFORMED</a> = 1 /* document is XML well formed */
     <a name="XML_DOC_NSVALID">XML_DOC_NSVALID</a> = 2 /* document is Namespace valid */
     <a name="XML_DOC_OLD10">XML_DOC_OLD10</a> = 4 /* parsed with old XML-1.0 parser */
@@ -471,14 +543,22 @@
     <a name="XML_DOC_INTERNAL">XML_DOC_INTERNAL</a> = 64 /* built for internal processing */
     <a name="XML_DOC_HTML">XML_DOC_HTML</a> = 128 /*  parsed or built HTML document */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocPtr">Typedef </a>xmlDocPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * xmlDocPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocPtr">Typedef </a>xmlDocPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * xmlDocPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDtd">Structure </a>xmlDtd</h3><pre class="programlisting">struct _xmlDtd {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDtd">Structure </a>xmlDtd</h3>
+<pre class="programlisting">struct _xmlDtd {
     void *	_private	: application data
     <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_DTD_NODE, must be second !
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Name of the DTD
@@ -496,14 +576,22 @@
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: URI for a SYSTEM or PUBLIC DTD
     void *	pentities	: Hash table for param entities if any
 } xmlDtd;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDtdPtr">Typedef </a>xmlDtdPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDtd">xmlDtd</a> * xmlDtdPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDtdPtr">Typedef </a>xmlDtdPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtd">xmlDtd</a> * xmlDtdPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElement">Structure </a>xmlElement</h3><pre class="programlisting">struct _xmlElement {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElement">Structure </a>xmlElement</h3>
+<pre class="programlisting">struct _xmlElement {
     void *	_private	: application data
     <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ELEMENT_DECL, must be second !
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Element name
@@ -520,10 +608,14 @@
     <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: the validating regexp
     void *	contModel
 } xmlElement;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementContent">Structure </a>xmlElementContent</h3><pre class="programlisting">struct _xmlElementContent {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementContent">Structure </a>xmlElementContent</h3>
+<pre class="programlisting">struct _xmlElementContent {
     <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a>	type	: PCDATA, ELEMENT, SEQ or OR
     <a href="libxml2-tree.html#xmlElementContentOccur">xmlElementContentOccur</a>	ocur	: ONCE, OPT, MULT or PLUS
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Element name
@@ -532,36 +624,56 @@
     struct _xmlElementContent *	parent	: parent
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: Namespace prefix
 } xmlElementContent;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementContentOccur">Enum </a>xmlElementContentOccur</h3><pre class="programlisting">enum <a href="#xmlElementContentOccur">xmlElementContentOccur</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementContentOccur">Enum </a>xmlElementContentOccur</h3>
+<pre class="programlisting">enum <a href="#xmlElementContentOccur">xmlElementContentOccur</a> {
     <a name="XML_ELEMENT_CONTENT_ONCE">XML_ELEMENT_CONTENT_ONCE</a> = 1
     <a name="XML_ELEMENT_CONTENT_OPT">XML_ELEMENT_CONTENT_OPT</a> = 2
     <a name="XML_ELEMENT_CONTENT_MULT">XML_ELEMENT_CONTENT_MULT</a> = 3
     <a name="XML_ELEMENT_CONTENT_PLUS">XML_ELEMENT_CONTENT_PLUS</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementContentPtr">Typedef </a>xmlElementContentPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * xmlElementContentPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementContentPtr">Typedef </a>xmlElementContentPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * xmlElementContentPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementContentType">Enum </a>xmlElementContentType</h3><pre class="programlisting">enum <a href="#xmlElementContentType">xmlElementContentType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementContentType">Enum </a>xmlElementContentType</h3>
+<pre class="programlisting">enum <a href="#xmlElementContentType">xmlElementContentType</a> {
     <a name="XML_ELEMENT_CONTENT_PCDATA">XML_ELEMENT_CONTENT_PCDATA</a> = 1
     <a name="XML_ELEMENT_CONTENT_ELEMENT">XML_ELEMENT_CONTENT_ELEMENT</a> = 2
     <a name="XML_ELEMENT_CONTENT_SEQ">XML_ELEMENT_CONTENT_SEQ</a> = 3
     <a name="XML_ELEMENT_CONTENT_OR">XML_ELEMENT_CONTENT_OR</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementPtr">Typedef </a>xmlElementPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElement">xmlElement</a> * xmlElementPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementPtr">Typedef </a>xmlElementPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElement">xmlElement</a> * xmlElementPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementType">Enum </a>xmlElementType</h3><pre class="programlisting">enum <a href="#xmlElementType">xmlElementType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementType">Enum </a>xmlElementType</h3>
+<pre class="programlisting">enum <a href="#xmlElementType">xmlElementType</a> {
     <a name="XML_ELEMENT_NODE">XML_ELEMENT_NODE</a> = 1
     <a name="XML_ATTRIBUTE_NODE">XML_ATTRIBUTE_NODE</a> = 2
     <a name="XML_TEXT_NODE">XML_TEXT_NODE</a> = 3
@@ -581,23 +693,30 @@
     <a name="XML_ENTITY_DECL">XML_ENTITY_DECL</a> = 17
     <a name="XML_NAMESPACE_DECL">XML_NAMESPACE_DECL</a> = 18
     <a name="XML_XINCLUDE_START">XML_XINCLUDE_START</a> = 19
-    <a name="XML_XINCLUDE_END">XML_XINCLUDE_END</a> = 20
-    <a name="XML_DOCB_DOCUMENT_NODE">XML_DOCB_DOCUMENT_NODE</a> = 21
+    <a name="XML_XINCLUDE_END">XML_XINCLUDE_END</a> = 20 /*  XML_DOCB_DOCUMENT_NODE= 21 removed */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementTypeVal">Enum </a>xmlElementTypeVal</h3><pre class="programlisting">enum <a href="#xmlElementTypeVal">xmlElementTypeVal</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementTypeVal">Enum </a>xmlElementTypeVal</h3>
+<pre class="programlisting">enum <a href="#xmlElementTypeVal">xmlElementTypeVal</a> {
     <a name="XML_ELEMENT_TYPE_UNDEFINED">XML_ELEMENT_TYPE_UNDEFINED</a> = 0
     <a name="XML_ELEMENT_TYPE_EMPTY">XML_ELEMENT_TYPE_EMPTY</a> = 1
     <a name="XML_ELEMENT_TYPE_ANY">XML_ELEMENT_TYPE_ANY</a> = 2
     <a name="XML_ELEMENT_TYPE_MIXED">XML_ELEMENT_TYPE_MIXED</a> = 3
     <a name="XML_ELEMENT_TYPE_ELEMENT">XML_ELEMENT_TYPE_ELEMENT</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEntity">Structure </a>xmlEntity</h3><pre class="programlisting">struct _xmlEntity {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEntity">Structure </a>xmlEntity</h3>
+<pre class="programlisting">struct _xmlEntity {
     void *	_private	: application data
     <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ENTITY_DECL, must be second !
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Entity name
@@ -618,25 +737,41 @@
     int	owner	: does the entity own the childrens
     int	checked	: was the entity content checked this is also used to count entities *
 } xmlEntity;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEntityPtr">Typedef </a>xmlEntityPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntity">xmlEntity</a> * xmlEntityPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEntityPtr">Typedef </a>xmlEntityPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntity">xmlEntity</a> * xmlEntityPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEnumeration">Structure </a>xmlEnumeration</h3><pre class="programlisting">struct _xmlEnumeration {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEnumeration">Structure </a>xmlEnumeration</h3>
+<pre class="programlisting">struct _xmlEnumeration {
     struct _xmlEnumeration *	next	: next one
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Enumeration name
 } xmlEnumeration;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEnumerationPtr">Typedef </a>xmlEnumerationPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEnumeration">xmlEnumeration</a> * xmlEnumerationPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEnumerationPtr">Typedef </a>xmlEnumerationPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumeration">xmlEnumeration</a> * xmlEnumerationPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlID">Structure </a>xmlID</h3><pre class="programlisting">struct _xmlID {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlID">Structure </a>xmlID</h3>
+<pre class="programlisting">struct _xmlID {
     struct _xmlID *	next	: next ID
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The ID name
     <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr	: The <a href="libxml2-SAX.html#attribute">attribute</a> holding it
@@ -644,14 +779,22 @@
     int	lineno	: The line number if attr is not available
     struct _xmlDoc *	doc	: The document holding the ID
 } xmlID;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIDPtr">Typedef </a>xmlIDPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlID">xmlID</a> * xmlIDPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIDPtr">Typedef </a>xmlIDPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlID">xmlID</a> * xmlIDPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNode">Structure </a>xmlNode</h3><pre class="programlisting">struct _xmlNode {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNode">Structure </a>xmlNode</h3>
+<pre class="programlisting">struct _xmlNode {
     void *	_private	: application data
     <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: type number, must be second !
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the node, or the entity
@@ -669,26 +812,42 @@
     unsigned short	line	: line number
     unsigned short	extra	: extra data for XPath/XSLT
 } xmlNode;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodePtr">Typedef </a>xmlNodePtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNode">xmlNode</a> * xmlNodePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodePtr">Typedef </a>xmlNodePtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNode">xmlNode</a> * xmlNodePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNotation">Structure </a>xmlNotation</h3><pre class="programlisting">struct _xmlNotation {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNotation">Structure </a>xmlNotation</h3>
+<pre class="programlisting">struct _xmlNotation {
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Notation name
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	PublicID	: Public identifier, if any
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: System identifier, if any
 } xmlNotation;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNotationPtr">Typedef </a>xmlNotationPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNotation">xmlNotation</a> * xmlNotationPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNotationPtr">Typedef </a>xmlNotationPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNotation">xmlNotation</a> * xmlNotationPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNs">Structure </a>xmlNs</h3><pre class="programlisting">struct _xmlNs {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNs">Structure </a>xmlNs</h3>
+<pre class="programlisting">struct _xmlNs {
     struct _xmlNs *	next	: next Ns link for this node
     <a href="libxml2-tree.html#xmlNsType">xmlNsType</a>	type	: global or local
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	href	: URL for the namespace
@@ -696,18 +855,30 @@
     void *	_private	: application data
     struct _xmlDoc *	context	: normally an <a href="libxml2-tree.html#xmlDoc">xmlDoc</a>
 } xmlNs;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNsPtr">Typedef </a>xmlNsPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNs">xmlNs</a> * xmlNsPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNsPtr">Typedef </a>xmlNsPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNs">xmlNs</a> * xmlNsPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNsType">Typedef </a>xmlNsType</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementType">xmlElementType</a> xmlNsType;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNsType">Typedef </a>xmlNsType</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementType">xmlElementType</a> xmlNsType;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBuffer">Structure </a>xmlOutputBuffer</h3><pre class="programlisting">struct _xmlOutputBuffer {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBuffer">Structure </a>xmlOutputBuffer</h3>
+<pre class="programlisting">struct _xmlOutputBuffer {
     void *	context
     <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a>	writecallback
     <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a>	closecallback
@@ -717,14 +888,22 @@
     int	written	: total number of byte written
     int	error
 } xmlOutputBuffer;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferPtr">Typedef </a>xmlOutputBufferPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBuffer">xmlOutputBuffer</a> * xmlOutputBufferPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferPtr">Typedef </a>xmlOutputBufferPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBuffer">xmlOutputBuffer</a> * xmlOutputBufferPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserCtxt">Structure </a>xmlParserCtxt</h3><pre class="programlisting">struct _xmlParserCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserCtxt">Structure </a>xmlParserCtxt</h3>
+<pre class="programlisting">struct _xmlParserCtxt {
     struct _xmlSAXHandler *	sax	: The SAX handler
     void *	userData	: For SAX interface only, used by DOM build
     <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	myDoc	: the document being built
@@ -733,7 +912,7 @@
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version	: the XML version string
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: the declared encoding, if any
     int	standalone	: standalone document
-    int	html	: an HTML(1)/Docbook(2) document * 3 is HTML after &lt;head&gt; * 10 is HTML
+    int	html	: an HTML(1) document * 3 is HTML after &lt;head&gt; * 10 is HTML after &lt;body
     <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	input	: Current input stream
     int	inputNr	: Number of current input streams
     int	inputMax	: Max number of input streams
@@ -815,14 +994,22 @@
     int	input_id	: we need to label inputs
     unsigned long	sizeentcopy	: volume of entity copy
 } xmlParserCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserCtxtPtr">Typedef </a>xmlParserCtxtPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * xmlParserCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserCtxtPtr">Typedef </a>xmlParserCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * xmlParserCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInput">Structure </a>xmlParserInput</h3><pre class="programlisting">struct _xmlParserInput {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInput">Structure </a>xmlParserInput</h3>
+<pre class="programlisting">struct _xmlParserInput {
     <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	buf	: UTF-8 encoded buffer
     const char *	filename	: The file analyzed, if any
     const char *	directory	: the directory/base of the file
@@ -839,10 +1026,14 @@
     int	standalone	: Was that entity marked standalone
     int	id	: an unique identifier for the entity
 } xmlParserInput;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBuffer">Structure </a>xmlParserInputBuffer</h3><pre class="programlisting">struct _xmlParserInputBuffer {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBuffer">Structure </a>xmlParserInputBuffer</h3>
+<pre class="programlisting">struct _xmlParserInputBuffer {
     void *	context
     <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a>	readcallback
     <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a>	closecallback
@@ -853,32 +1044,52 @@
     int	error
     unsigned long	rawconsumed	: amount consumed from raw
 } xmlParserInputBuffer;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferPtr">Typedef </a>xmlParserInputBufferPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> * xmlParserInputBufferPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferPtr">Typedef </a>xmlParserInputBufferPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> * xmlParserInputBufferPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputPtr">Typedef </a>xmlParserInputPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> * xmlParserInputPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputPtr">Typedef </a>xmlParserInputPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> * xmlParserInputPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRef">Structure </a>xmlRef</h3><pre class="programlisting">struct _xmlRef {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRef">Structure </a>xmlRef</h3>
+<pre class="programlisting">struct _xmlRef {
     struct _xmlRef *	next	: next Ref
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The Ref name
     <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr	: The <a href="libxml2-SAX.html#attribute">attribute</a> holding it
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: The <a href="libxml2-SAX.html#attribute">attribute</a> if attr is not available
     int	lineno	: The line number if attr is not available
 } xmlRef;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRefPtr">Typedef </a>xmlRefPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlRef">xmlRef</a> * xmlRefPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRefPtr">Typedef </a>xmlRefPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlRef">xmlRef</a> * xmlRefPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXHandler">Structure </a>xmlSAXHandler</h3><pre class="programlisting">struct _xmlSAXHandler {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXHandler">Structure </a>xmlSAXHandler</h3>
+<pre class="programlisting">struct _xmlSAXHandler {
     <a href="libxml2-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a>	internalSubset
     <a href="libxml2-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a>	isStandalone
     <a href="libxml2-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	hasInternalSubset
@@ -912,687 +1123,4136 @@
     <a href="libxml2-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a>	endElementNs
     <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	serror
 } xmlSAXHandler;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXHandlerPtr">Typedef </a>xmlSAXHandlerPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * xmlSAXHandlerPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXHandlerPtr">Typedef </a>xmlSAXHandlerPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * xmlSAXHandlerPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXLocator">Structure </a>xmlSAXLocator</h3><pre class="programlisting">struct _xmlSAXLocator {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXLocator">Structure </a>xmlSAXLocator</h3>
+<pre class="programlisting">struct _xmlSAXLocator {
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *(*getPublicId)	getPublicId
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *(*getSystemId)	getSystemId
     int(*getLineNumber)	getLineNumber
     int(*getColumnNumber)	getColumnNumber
 } xmlSAXLocator;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXLocatorPtr">Typedef </a>xmlSAXLocatorPtr</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> * xmlSAXLocatorPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXLocatorPtr">Typedef </a>xmlSAXLocatorPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> * xmlSAXLocatorPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapAcquireNsFunction"/>Function type xmlDOMWrapAcquireNsFunction</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlDOMWrapAcquireNsFunction	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix)<br/>
-</pre><p>A function called to acquire namespaces (xmlNs) from the wrapper.</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 DOM wrapper context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the context node (element or attribute)</td></tr><tr><td><span class="term"><i><tt>nsName</tt></i>:</span></td><td>the requested namespace name</td></tr><tr><td><span class="term"><i><tt>nsPrefix</tt></i>:</span></td><td>the requested namespace prefix</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL in case of an error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddChild"/>xmlAddChild ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the child node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the child or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddChildList"/>xmlAddChildList ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddChildList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be freed)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first node in the list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last child or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddNextSibling"/>xmlAddNextSibling ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddNextSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. As a result of text merging @elem may be freed. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the child node</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the new node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new node or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddPrevSibling"/>xmlAddPrevSibling ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddPrevSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>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 <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the child node</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the new node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new node or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddSibling"/>xmlAddSibling ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddSibling		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the child node</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the new node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new element or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttrSerializeTxtContent"/>xmlAttrSerializeTxtContent ()</h3><pre class="programlisting">void	xmlAttrSerializeTxtContent	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br/>
-</pre><p>Serialize text <a href="libxml2-SAX.html#attribute">attribute</a> values to an xml simple buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> node</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the text content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufContent"/>xmlBufContent ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufContent		(const <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * buf)<br/>
-</pre><p>Function to extract the content of a buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufEnd"/>xmlBufEnd ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufEnd		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br/>
-</pre><p>Function to extract the end of the content of a buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the end of the internal content or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufGetNodeContent"/>xmlBufGetNodeContent ()</h3><pre class="programlisting">int	xmlBufGetNodeContent		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br/>
-</pre><p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buf with this value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>a buffer <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a></td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being read</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufNodeDump"/>xmlBufNodeDump ()</h3><pre class="programlisting">size_t	xmlBufNodeDump			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 int level, <br/>					 int format)<br/>
-</pre><p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written to the buffer, in case of error 0 is returned or @buf stores the error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufShrink"/>xmlBufShrink ()</h3><pre class="programlisting">size_t	xmlBufShrink			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br/>					 size_t len)<br/>
-</pre><p>Remove the beginning of an XML buffer. NOTE that this routine behaviour differs from xmlBufferShrink() as it will return 0 on error instead of -1 due to size_t being used as the return type.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte removed or 0 in case of failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufUse"/>xmlBufUse ()</h3><pre class="programlisting">size_t	xmlBufUse			(const <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br/>
-</pre><p>Function to get the length of a buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the length of data in the internal content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferAdd"/>xmlBufferAdd ()</h3><pre class="programlisting">int	xmlBufferAdd			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 int len)<br/>
-</pre><p>Add a string range to an XML buffer. if len == -1, the length of str is recomputed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of #xmlChar to add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferAddHead"/>xmlBufferAddHead ()</h3><pre class="programlisting">int	xmlBufferAddHead		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 int len)<br/>
-</pre><p>Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of #xmlChar to add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferCCat"/>xmlBufferCCat ()</h3><pre class="programlisting">int	xmlBufferCCat			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const char * str)<br/>
-</pre><p>Append a zero terminated C string to an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the C char string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferCat"/>xmlBufferCat ()</h3><pre class="programlisting">int	xmlBufferCat			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Append a zero terminated string to an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to add to</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferContent"/>xmlBufferContent ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferContent	(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br/>
-</pre><p>Function to extract the content of a buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferCreate"/>xmlBufferCreate ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreate		(void)<br/>
-</pre><p>routine to create an XML buffer.</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 new structure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferCreateSize"/>xmlBufferCreateSize ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreateSize	(size_t size)<br/>
-</pre><p>routine to create an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>initial size of buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new structure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferCreateStatic"/>xmlBufferCreateStatic ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreateStatic	(void * mem, <br/>					 size_t size)<br/>
-</pre><p>routine to create an XML buffer from an immutable memory area. The area won't be modified nor copied, and is expected to be present until the end of the buffer lifetime.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>the memory area</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new structure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferDetach"/>xmlBufferDetach ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferDetach		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br/>
-</pre><p>Remove the string contained in a buffer and gie it back to the caller. The buffer is reset to an empty content. This doesn't work with immutable buffers as they can't be reset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous string contained by the buffer.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferDump"/>xmlBufferDump ()</h3><pre class="programlisting">int	xmlBufferDump			(FILE * file, <br/>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br/>
-</pre><p>Dumps an XML buffer to a FILE *.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file output</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of #xmlChar written</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferEmpty"/>xmlBufferEmpty ()</h3><pre class="programlisting">void	xmlBufferEmpty			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br/>
-</pre><p>empty a buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferFree"/>xmlBufferFree ()</h3><pre class="programlisting">void	xmlBufferFree			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br/>
-</pre><p>Frees an XML buffer. It frees both the content and the structure which encapsulate it.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferGrow"/>xmlBufferGrow ()</h3><pre class="programlisting">int	xmlBufferGrow			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 unsigned int len)<br/>
-</pre><p>Grow the available space of an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the minimum free size to allocate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new available space or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferLength"/>xmlBufferLength ()</h3><pre class="programlisting">int	xmlBufferLength			(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br/>
-</pre><p>Function to get the length of a buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the length of data in the internal content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferResize"/>xmlBufferResize ()</h3><pre class="programlisting">int	xmlBufferResize			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 unsigned int size)<br/>
-</pre><p>Resize a buffer to accommodate minimum size of @size.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to resize</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the desired size</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of problems, 1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferSetAllocationScheme"/>xmlBufferSetAllocationScheme ()</h3><pre class="programlisting">void	xmlBufferSetAllocationScheme	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br/>
-</pre><p>Sets the allocation scheme for this buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to tune</td></tr><tr><td><span class="term"><i><tt>scheme</tt></i>:</span></td><td>allocation scheme to use</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferShrink"/>xmlBufferShrink ()</h3><pre class="programlisting">int	xmlBufferShrink			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 unsigned int len)<br/>
-</pre><p>Remove the beginning of an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of #xmlChar removed, or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferWriteCHAR"/>xmlBufferWriteCHAR ()</h3><pre class="programlisting">void	xmlBufferWriteCHAR		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br/>
-</pre><p>routine which manages and grows an output buffer. This one adds xmlChars at the end of the buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the string to add</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferWriteChar"/>xmlBufferWriteChar ()</h3><pre class="programlisting">void	xmlBufferWriteChar		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const char * string)<br/>
-</pre><p>routine which manage and grows an output buffer. This one add C chars at the end of the array.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the string to add</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferWriteQuotedString"/>xmlBufferWriteQuotedString ()</h3><pre class="programlisting">void	xmlBufferWriteQuotedString	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br/>
-</pre><p>routine which manage and grows an output buffer. This one writes a quoted or double quoted #xmlChar string, checking first if it holds quote or double-quotes internally</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the string to add</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBuildQName"/>xmlBuildQName ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildQName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br/>					 int len)<br/>
-</pre><p>Builds the QName @prefix:@ncname in @memory if there is enough space and prefix is not NULL nor empty, otherwise allocate a new string. If prefix is NULL or empty it returns ncname.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ncname</tt></i>:</span></td><td>the Name</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>preallocated memory</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>preallocated memory length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string which must be freed by the caller if different from @memory and @ncname or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChildElementCount"/>xmlChildElementCount ()</h3><pre class="programlisting">unsigned long	xmlChildElementCount	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br/>
-</pre><p>Finds the current number of child nodes of that element which are element nodes. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the count of element child or 0 if not available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyDoc"/>xmlCopyDoc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCopyDoc		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int recursive)<br/>
-</pre><p>Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, namespaces and entities.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>recursive</tt></i>:</span></td><td>if not zero do a recursive copy.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlDocPtr, or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyDtd"/>xmlCopyDtd ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlCopyDtd		(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br/>
-</pre><p>Do a copy of the dtd.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>the dtd</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlDtdPtr, or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyNamespace"/>xmlCopyNamespace ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlCopyNamespace	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br/>
-</pre><p>Do a copy of the namespace.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNsPtr, or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyNamespaceList"/>xmlCopyNamespaceList ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlCopyNamespaceList	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br/>
-</pre><p>Do a copy of an namespace list.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNsPtr, or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyNode"/>xmlCopyNode ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int extended)<br/>
-</pre><p>Do a copy of the node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>extended</tt></i>:</span></td><td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyNodeList"/>xmlCopyNodeList ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNodeList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Do a recursive copy of the node list. Use xmlDocCopyNodeList() if possible to ensure string interning.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the first node in the list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyProp"/>xmlCopyProp ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br/>
-</pre><p>Do a copy of the attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>the element where the <a href="libxml2-SAX.html#attribute">attribute</a> will be grafted</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlAttrPtr, or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyPropList"/>xmlCopyPropList ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyPropList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br/>
-</pre><p>Do a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> list.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>the element where the attributes will be grafted</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlAttrPtr, or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateIntSubset"/>xmlCreateIntSubset ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlCreateIntSubset	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Create the internal subset of a document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document pointer</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the DTD name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external (PUBLIC) ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system ID</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new DTD structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapAdoptNode"/>xmlDOMWrapAdoptNode ()</h3><pre class="programlisting">int	xmlDOMWrapAdoptNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br/>					 int options)<br/>
-</pre><p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used This is the case when you have an unlinked node and just want to move it to the context of If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the optional context for custom processing</td></tr><tr><td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td><td>the optional sourceDoc</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to start with</td></tr><tr><td><span class="term"><i><tt>destDoc</tt></i>:</span></td><td>the destination doc</td></tr><tr><td><span class="term"><i><tt>destParent</tt></i>:</span></td><td>the optional new parent of @node in @destDoc</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>option flags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the operation succeeded, 1 if a node of unsupported type was given, 2 if a node of not yet supported type was given and -1 on API/internal errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapCloneNode"/>xmlDOMWrapCloneNode ()</h3><pre class="programlisting">int	xmlDOMWrapCloneNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * resNode, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br/>					 int deep, <br/>					 int options)<br/>
-</pre><p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used. This is the case when you don't know already where the cloned branch will be added to. If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. TODO: 1) What to do with XInclude? Currently this returns an error for XInclude.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the optional context for custom processing</td></tr><tr><td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td><td>the optional sourceDoc</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to start with</td></tr><tr><td><span class="term"><i><tt>resNode</tt></i>:</span></td><td>the clone of the given @node</td></tr><tr><td><span class="term"><i><tt>destDoc</tt></i>:</span></td><td>the destination doc</td></tr><tr><td><span class="term"><i><tt>destParent</tt></i>:</span></td><td>the optional new parent of @node in @destDoc</td></tr><tr><td><span class="term"><i><tt>deep</tt></i>:</span></td><td>descend into child if set</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>option flags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the operation succeeded, 1 if a node of unsupported (or not yet supported) type was given, -1 on API/internal errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapFreeCtxt"/>xmlDOMWrapFreeCtxt ()</h3><pre class="programlisting">void	xmlDOMWrapFreeCtxt		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt)<br/>
-</pre><p>Frees the DOM-wrapper context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the DOM-wrapper context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapNewCtxt"/>xmlDOMWrapNewCtxt ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>	xmlDOMWrapNewCtxt	(void)<br/>
-</pre><p>Allocates and initializes a new DOM-wrapper context.</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 <a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> or NULL in case of an internal error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapReconcileNamespaces"/>xmlDOMWrapReconcileNamespaces ()</h3><pre class="programlisting">int	xmlDOMWrapReconcileNamespaces	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 int options)<br/>
-</pre><p>Ensures that ns-references point to ns-decls hold on element-nodes. Ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>DOM wrapper context, unused at the moment</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element-node</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>option flags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if succeeded, -1 otherwise and on API/internal errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapRemoveNode"/>xmlDOMWrapRemoveNode ()</h3><pre class="programlisting">int	xmlDOMWrapRemoveNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int options)<br/>
-</pre><p>Unlinks the given node from its owner. This will substitute ns-references to node-&gt;nsDef for ns-references to doc-&gt;oldNs, thus ensuring the removed branch to be autark wrt ns-references. NOTE: This function was not intensively tested.</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 DOM wrapper context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the doc</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to be removed.</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>set of options, unused at the moment</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success, 1 if the node is not supported, -1 on API and internal errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocCopyNode"/>xmlDocCopyNode ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int extended)<br/>
-</pre><p>Do a copy of the node to a given document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>extended</tt></i>:</span></td><td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocCopyNodeList"/>xmlDocCopyNodeList ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNodeList	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Do a recursive copy of the node list.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the target document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the first node in the list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocDump"/>xmlDocDump ()</h3><pre class="programlisting">int	xmlDocDump			(FILE * f, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
-</pre><p>Dump an XML document to an open FILE.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocDumpFormatMemory"/>xmlDocDumpFormatMemory ()</h3><pre class="programlisting">void	xmlDocDumpFormatMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>					 int * size, <br/>					 int format)<br/>
-</pre><p>Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocDumpFormatMemoryEnc"/>xmlDocDumpFormatMemoryEnc ()</h3><pre class="programlisting">void	xmlDocDumpFormatMemoryEnc	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br/>					 int * doc_txt_len, <br/>					 const char * txt_encoding, <br/>					 int format)<br/>
-</pre><p>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 <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out_doc</tt></i>:</span></td><td>Document to generate XML text from</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td><td>Memory pointer for allocated XML text</td></tr><tr><td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td><td>Length of the generated XML text</td></tr><tr><td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td><td>Character encoding to use when generating XML text</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocDumpMemory"/>xmlDocDumpMemory ()</h3><pre class="programlisting">void	xmlDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>					 int * size)<br/>
-</pre><p>Dump an XML document in memory and return the #xmlChar * and it's size in bytes. It'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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocDumpMemoryEnc"/>xmlDocDumpMemoryEnc ()</h3><pre class="programlisting">void	xmlDocDumpMemoryEnc		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br/>					 int * doc_txt_len, <br/>					 const char * txt_encoding)<br/>
-</pre><p>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().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out_doc</tt></i>:</span></td><td>Document to generate XML text from</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td><td>Memory pointer for allocated XML text</td></tr><tr><td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td><td>Length of the generated XML text</td></tr><tr><td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td><td>Character encoding to use when generating XML text</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocFormatDump"/>xmlDocFormatDump ()</h3><pre class="programlisting">int	xmlDocFormatDump		(FILE * f, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 int format)<br/>
-</pre><p>Dump an XML document to an open FILE.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocGetRootElement"/>xmlDocGetRootElement ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocGetRootElement	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br/>
-</pre><p>Get the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc ...).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the #xmlNodePtr for the root or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocSetRootElement"/>xmlDocSetRootElement ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocSetRootElement	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root)<br/>
-</pre><p>Set the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc ...).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>root</tt></i>:</span></td><td>the new document root element, if root is NULL no action is taken, to remove a node from a document use xmlUnlinkNode(root) instead.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the old root element if any was found, NULL if root was NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElemDump"/>xmlElemDump ()</h3><pre class="programlisting">void	xmlElemDump			(FILE * f, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Dump an XML/HTML node, recursive behaviour, children are printed too.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFirstElementChild"/>xmlFirstElementChild ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlFirstElementChild	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br/>
-</pre><p>Finds the first child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the first element child or NULL if not available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeDoc"/>xmlFreeDoc ()</h3><pre class="programlisting">void	xmlFreeDoc			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
-</pre><p>Free up all the structures used by a document, tree included.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>pointer to the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeDtd"/>xmlFreeDtd ()</h3><pre class="programlisting">void	xmlFreeDtd			(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur)<br/>
-</pre><p>Free a DTD structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the DTD structure to free up</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeNode"/>xmlFreeNode ()</h3><pre class="programlisting">void	xmlFreeNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Free a node, this is a recursive behaviour, all the children are freed too. This doesn't unlink the child from the list, use xmlUnlinkNode() first.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeNodeList"/>xmlFreeNodeList ()</h3><pre class="programlisting">void	xmlFreeNodeList			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Free a node and all its siblings, this is a recursive behaviour, all the children are freed too.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first node in the list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeNs"/>xmlFreeNs ()</h3><pre class="programlisting">void	xmlFreeNs			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br/>
-</pre><p>Free up the structures associated to a namespace</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the namespace pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeNsList"/>xmlFreeNsList ()</h3><pre class="programlisting">void	xmlFreeNsList			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br/>
-</pre><p>Free up all the structures associated to the chained namespaces.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first namespace pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeProp"/>xmlFreeProp ()</h3><pre class="programlisting">void	xmlFreeProp			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br/>
-</pre><p>Free one attribute, all the content is freed too</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>an <a href="libxml2-SAX.html#attribute">attribute</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreePropList"/>xmlFreePropList ()</h3><pre class="programlisting">void	xmlFreePropList			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br/>
-</pre><p>Free a property and all its siblings, all the children are freed too.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first property in the list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetBufferAllocationScheme"/>xmlGetBufferAllocationScheme ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlGetBufferAllocationScheme	(void)<br/>
-</pre><p>Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance <a href="libxml2-tree.html#XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> - use exact sizes on small strings to keep memory usage tight in normal usage, and doubleit on large strings to avoid pathological performance.</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 current allocation scheme</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetCompressMode"/>xmlGetCompressMode ()</h3><pre class="programlisting">int	xmlGetCompressMode		(void)<br/>
-</pre><p>get the default compression mode used, ZLIB based.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 (uncompressed) to 9 (max compression)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDocCompressMode"/>xmlGetDocCompressMode ()</h3><pre class="programlisting">int	xmlGetDocCompressMode		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br/>
-</pre><p>get the compression ratio for a document, ZLIB based</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 (uncompressed) to 9 (max compression)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetIntSubset"/>xmlGetIntSubset ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlGetIntSubset		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br/>
-</pre><p>Get the internal subset of a document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the DTD structure or NULL if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetLastChild"/>xmlGetLastChild ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlGetLastChild		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * parent)<br/>
-</pre><p>Search the last child of a node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last child or NULL if none.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetLineNo"/>xmlGetLineNo ()</h3><pre class="programlisting">long	xmlGetLineNo			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br/>
-</pre><p>Get line number of @node. Try to override the limitation of lines being store in 16 bits ints if <a href="libxml2-parser.html#XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> parser option was used</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>valid node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the line number if successful, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetNoNsProp"/>xmlGetNoNsProp ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNoNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. This function is similar to <a href="libxml2-tree.html#xmlGetProp">xmlGetProp</a> except it will accept only an <a href="libxml2-SAX.html#attribute">attribute</a> in no namespace.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetNodePath"/>xmlGetNodePath ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNodePath		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br/>
-</pre><p>Build a structure based Path for the given node</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new path or NULL in case of error. The caller must free the returned string</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetNsList"/>xmlGetNsList ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	xmlGetNsList		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br/>
-</pre><p>Search all the namespace applying to a given element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an NULL terminated array of all the #xmlNsPtr found that need to be freed by the caller or NULL if no namespace if defined</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetNsProp"/>xmlGetNsProp ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br/>
-</pre><p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml2-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the URI of the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetProp"/>xmlGetProp ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHasNsProp"/>xmlHasNsProp ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br/>
-</pre><p>Search for an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml2-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. Note that a namespace of NULL indicates to use the default namespace.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the URI of the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> or the <a href="libxml2-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHasProp"/>xmlHasProp ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This function also looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> or the <a href="libxml2-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBlankNode"/>xmlIsBlankNode ()</h3><pre class="programlisting">int	xmlIsBlankNode			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br/>
-</pre><p>Checks whether this node is an empty or whitespace only (and possibly ignorable) text-node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 yes, 0 no</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsXHTML"/>xmlIsXHTML ()</h3><pre class="programlisting">int	xmlIsXHTML			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID)<br/>
-</pre><p>Try to find if the document correspond to an XHTML DTD</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>systemID</tt></i>:</span></td><td>the system identifier</td></tr><tr><td><span class="term"><i><tt>publicID</tt></i>:</span></td><td>the public identifier</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if not and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLastElementChild"/>xmlLastElementChild ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlLastElementChild	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br/>
-</pre><p>Finds the last child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last element child or NULL if not available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewCDataBlock"/>xmlNewCDataBlock ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewCDataBlock	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len)<br/>
-</pre><p>Creation of a new node containing a CDATA block.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the CDATA block content content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the block</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewCharRef"/>xmlNewCharRef ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewCharRef		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Creation of a new character <a href="libxml2-SAX.html#reference">reference</a> node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the char ref string, starting with # or "&amp;# ... ;"</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewChild"/>xmlNewChild ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child list containing the TEXTs and ENTITY_REFs node will be created. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references. XML special chars must be escaped first by using xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the child</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the XML content of the child if any.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewComment"/>xmlNewComment ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewComment		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new node containing a comment.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#comment">comment</a> content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDoc"/>xmlNewDoc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlNewDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version)<br/>
-</pre><p>Creates a new XML document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>version</tt></i>:</span></td><td><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string giving the version of XML "1.0"</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocComment"/>xmlNewDocComment ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocComment	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new node containing a <a href="libxml2-SAX.html#comment">comment</a> within a document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#comment">comment</a> content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocFragment"/>xmlNewDocFragment ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocFragment	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Creation of a new Fragment node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document owning the fragment</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocNode"/>xmlNewDocNode ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNode		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the XML text content if any</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocNodeEatName"/>xmlNewDocNodeEatName ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNodeEatName	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the XML text content if any</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocPI"/>xmlNewDocPI ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocPI		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a processing instruction element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the target document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the processing instruction name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the PI content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocProp"/>xmlNewDocProp ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewDocProp		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Create a new property carried by a document. NOTE: @value is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewProp() if you don't need entities support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocRawNode"/>xmlNewDocRawNode ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocRawNode	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new node element within a document. @ns and @content are optional (NULL).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content if any</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocText"/>xmlNewDocText ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocText		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new text node within a document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocTextLen"/>xmlNewDocTextLen ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocTextLen	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len)<br/>
-</pre><p>Creation of a new text node with an extra content length parameter. The text node pertain to a given document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the text len.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDtd"/>xmlNewDtd ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlNewDtd		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Creation of a new DTD for the external subset. To create an internal subset, use xmlCreateIntSubset().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document pointer</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the DTD name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system ID</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new DTD structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewGlobalNs"/>xmlNewGlobalNs ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlNewGlobalNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br/>
-</pre><p>Creation of a Namespace, the old way using PI and without scoping DEPRECATED !!!</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document carrying the namespace</td></tr><tr><td><span class="term"><i><tt>href</tt></i>:</span></td><td>the URI associated</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix for the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL this functionality had been removed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewNode"/>xmlNewNode ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewNode		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Creation of a new node element. @ns is optional (NULL).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object. Uses xmlStrdup() to make copy of @name.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewNodeEatName"/>xmlNewNodeEatName ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewNodeEatName	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Creation of a new node element. @ns is optional (NULL).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object, with pointer @name as new node's name. Use xmlNewNode() if a copy of @name string is is needed as new node's name.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewNs"/>xmlNewNs ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlNewNs		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br/>
-</pre><p>Creation of a new Namespace. This function will refuse to create a namespace with a similar prefix than an existing one present on this node. Note that for a default namespace, @prefix should be NULL. We use href==NULL in the case of an element creation where the namespace was not defined.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the element carrying the namespace</td></tr><tr><td><span class="term"><i><tt>href</tt></i>:</span></td><td>the URI associated</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix for the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new namespace pointer or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewNsProp"/>xmlNewNsProp ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Create a new property tagged with a namespace and carried by a node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the holding node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewNsPropEatName"/>xmlNewNsPropEatName ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsPropEatName	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Create a new property tagged with a namespace and carried by a node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the holding node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewPI"/>xmlNewPI ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewPI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a processing instruction element. Use xmlDocNewPI preferably to get string interning</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the processing instruction name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the PI content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewProp"/>xmlNewProp ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Create a new property carried by a node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the holding node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewReference"/>xmlNewReference ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewReference		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Creation of a new <a href="libxml2-SAX.html#reference">reference</a> node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#reference">reference</a> name, or the <a href="libxml2-SAX.html#reference">reference</a> string with &amp; and ;</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewText"/>xmlNewText ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewText		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new text node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextChild"/>xmlNewTextChild ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewTextChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child TEXT node will be created containing the string @content. NOTE: Use xmlNewChild() if @content will contain entities that need to be preserved. Use this function, xmlNewTextChild(), if you need to ensure that reserved XML chars that might appear in @content, such as the ampersand, greater-than or less-than signs, are automatically replaced by their XML escaped entity representations.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the child</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content of the child if any.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextLen"/>xmlNewTextLen ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewTextLen		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len)<br/>
-</pre><p>Creation of a new text node with an extra parameter for the content's length</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the text len.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNextElementSibling"/>xmlNextElementSibling ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNextElementSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Finds the first closest next sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element sibling or NULL if not available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeAddContent"/>xmlNodeAddContent ()</h3><pre class="programlisting">void	xmlNodeAddContent		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContent(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being modified</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>extra content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeAddContentLen"/>xmlNodeAddContentLen ()</h3><pre class="programlisting">void	xmlNodeAddContentLen		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len)<br/>
-</pre><p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContentLen(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being modified</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>extra content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size of @content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeBufGetContent"/>xmlNodeBufGetContent ()</h3><pre class="programlisting">int	xmlNodeBufGetContent		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br/>
-</pre><p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buffer with this value</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>cur</tt></i>:</span></td><td>the node being read</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeDump"/>xmlNodeDump ()</h3><pre class="programlisting">int	xmlNodeDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 int level, <br/>					 int format)<br/>
-</pre><p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called. Since this is using <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written to the buffer or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeDumpOutput"/>xmlNodeDumpOutput ()</h3><pre class="programlisting">void	xmlNodeDumpOutput		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 int level, <br/>					 int format, <br/>					 const char * encoding)<br/>
-</pre><p>Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>an optional encoding string</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeGetBase"/>xmlNodeGetBase ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetBase		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br/>
-</pre><p>Searches for the BASE URL. The code should work on both XML and HTML document even if base mechanisms are completely different. It returns the base as defined in RFC 2396 sections 5.1.1. Base URI within Document Content and 5.1.2. Base URI from the Encapsulating Entity However it does not return the document base (5.1.3), use doc-&gt;URL in this case</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document the node pertains to</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being checked</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the base URL, or NULL if not found It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeGetContent"/>xmlNodeGetContent ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetContent	(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br/>
-</pre><p>Read the value of a node, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlChar * or NULL if no content is available. It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeGetLang"/>xmlNodeGetLang ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetLang		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br/>
-</pre><p>Searches the language of a node, i.e. the values of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being checked</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the lang value, or NULL if not found It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeGetSpacePreserve"/>xmlNodeGetSpacePreserve ()</h3><pre class="programlisting">int	xmlNodeGetSpacePreserve		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br/>
-</pre><p>Searches the space preserving behaviour of a node, i.e. the values of the xml:space <a href="libxml2-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being checked</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if xml:space is not inherited, 0 if "default", 1 if "preserve"</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeIsText"/>xmlNodeIsText ()</h3><pre class="programlisting">int	xmlNodeIsText			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br/>
-</pre><p>Is this node a Text node ?</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 yes, 0 no</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeListGetRawString"/>xmlNodeListGetRawString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetRawString	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br/>					 int inLine)<br/>
-</pre><p>Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() this function doesn't do any character encoding handling.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>a Node list</td></tr><tr><td><span class="term"><i><tt>inLine</tt></i>:</span></td><td>should we replace entity contents or show their external form</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the string copy, the caller must free it with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeListGetString"/>xmlNodeListGetString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetString	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br/>					 int inLine)<br/>
-</pre><p>Build the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>a Node list</td></tr><tr><td><span class="term"><i><tt>inLine</tt></i>:</span></td><td>should we replace entity contents or show their external form</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the string copy, the caller must free it with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetBase"/>xmlNodeSetBase ()</h3><pre class="programlisting">void	xmlNodeSetBase			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * uri)<br/>
-</pre><p>Set (or reset) the base URI of a node, i.e. the value of the xml:base attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being changed</td></tr><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>the new base URI</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetContent"/>xmlNodeSetContent ()</h3><pre class="programlisting">void	xmlNodeSetContent		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being modified</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the new value of the content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetContentLen"/>xmlNodeSetContentLen ()</h3><pre class="programlisting">void	xmlNodeSetContentLen		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len)<br/>
-</pre><p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being modified</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the new value of the content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size of @content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetLang"/>xmlNodeSetLang ()</h3><pre class="programlisting">void	xmlNodeSetLang			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br/>
-</pre><p>Set the language of a node, i.e. the values of the xml:lang attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being changed</td></tr><tr><td><span class="term"><i><tt>lang</tt></i>:</span></td><td>the language description</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetName"/>xmlNodeSetName ()</h3><pre class="programlisting">void	xmlNodeSetName			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Set (or reset) the name of a node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being changed</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the new tag name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetSpacePreserve"/>xmlNodeSetSpacePreserve ()</h3><pre class="programlisting">void	xmlNodeSetSpacePreserve		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>					 int val)<br/>
-</pre><p>Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being changed</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the xml:space value ("0": default, 1: "preserve")</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPreviousElementSibling"/>xmlPreviousElementSibling ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlPreviousElementSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Finds the first closest previous sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous element sibling or NULL if not available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReconciliateNs"/>xmlReconciliateNs ()</h3><pre class="programlisting">int	xmlReconciliateNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br/>
-</pre><p>This function checks that all the namespaces declared within the given tree are properly declared. This is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers to namespace declarations outside the subtree or invalid/masked. As much as possible the function try to reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on @tree at the top of the given subtree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>a node defining the subtree to reconciliate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of namespace declarations created or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRemoveProp"/>xmlRemoveProp ()</h3><pre class="programlisting">int	xmlRemoveProp			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br/>
-</pre><p>Unlink and free one attribute, all the content is freed too Note this doesn't work for namespace definition attributes</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>an <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReplaceNode"/>xmlReplaceNode ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlReplaceNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>old</tt></i>:</span></td><td>the old node</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the @old node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFile"/>xmlSaveFile ()</h3><pre class="programlisting">int	xmlSaveFile			(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
-</pre><p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFileEnc"/>xmlSaveFileEnc ()</h3><pre class="programlisting">int	xmlSaveFileEnc			(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding)<br/>
-</pre><p>Dump an XML document, converting it to the given encoding</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the name of an encoding (or NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFileTo"/>xmlSaveFileTo ()</h3><pre class="programlisting">int	xmlSaveFileTo			(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding)<br/>
-</pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the transcoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFormatFile"/>xmlSaveFormatFile ()</h3><pre class="programlisting">int	xmlSaveFormatFile		(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 int format)<br/>
-</pre><p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFormatFileEnc"/>xmlSaveFormatFileEnc ()</h3><pre class="programlisting">int	xmlSaveFormatFileEnc		(const char * filename, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding, <br/>					 int format)<br/>
-</pre><p>Dump an XML document to a file or an URL.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URL to output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document being saved</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the name of the encoding to use or NULL.</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces be added.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFormatFileTo"/>xmlSaveFormatFileTo ()</h3><pre class="programlisting">int	xmlSaveFormatFileTo		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>					 const char * encoding, <br/>					 int format)<br/>
-</pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the transcoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSearchNs"/>xmlSearchNs ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br/>
-</pre><p>Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the namespace prefix</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace pointer or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSearchNsByHref"/>xmlSearchNsByHref ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNsByHref	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href)<br/>
-</pre><p>Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return NULL otherwise.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>href</tt></i>:</span></td><td>the namespace value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace pointer or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetBufferAllocationScheme"/>xmlSetBufferAllocationScheme ()</h3><pre class="programlisting">void	xmlSetBufferAllocationScheme	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br/>
-</pre><p>Set the buffer allocation method. Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>scheme</tt></i>:</span></td><td>allocation method to use</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetCompressMode"/>xmlSetCompressMode ()</h3><pre class="programlisting">void	xmlSetCompressMode		(int mode)<br/>
-</pre><p>set the default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the compression ratio</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetDocCompressMode"/>xmlSetDocCompressMode ()</h3><pre class="programlisting">void	xmlSetDocCompressMode		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int mode)<br/>
-</pre><p>set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the compression ratio</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetListDoc"/>xmlSetListDoc ()</h3><pre class="programlisting">void	xmlSetListDoc			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>update all nodes in the list to point to the right document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>the first element</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetNs"/>xmlSetNs ()</h3><pre class="programlisting">void	xmlSetNs			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br/>
-</pre><p>Associate a namespace to a node, a posteriori.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node in the document</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a namespace pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetNsProp"/>xmlSetNsProp ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetNsProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Set (or reset) an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. The ns structure must be in scope, this is not checked</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace definition</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> pointer.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetProp"/>xmlSetProp ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Set (or reset) an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. If @name has a prefix, then the corresponding namespace-binding will be used, if in scope; it is an error it there's no such ns-binding for the prefix in scope.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name (a QName)</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> pointer.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetTreeDoc"/>xmlSetTreeDoc ()</h3><pre class="programlisting">void	xmlSetTreeDoc			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>update all nodes under the tree to point to the right document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the top element</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSplitQName2"/>xmlSplitQName2 ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName2		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br/>
-</pre><p>parse an XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</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 full QName</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if the name doesn't have a prefix. Otherwise, returns the local part, and prefix is updated to get the Prefix. Both the return value and the prefix must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSplitQName3"/>xmlSplitQName3 ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName3		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int * len)<br/>
-</pre><p>parse an XML qualified name string,i</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 full QName</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>an int *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if it is not a Qualified Name, otherwise, update len with the length in byte of the prefix and return a pointer to the start of the name without the prefix</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringGetNodeList"/>xmlStringGetNodeList ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringGetNodeList	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the first child</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringLenGetNodeList"/>xmlStringLenGetNodeList ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringLenGetNodeList	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int len)<br/>
-</pre><p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the text</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the string value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the first child</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextConcat"/>xmlTextConcat ()</h3><pre class="programlisting">int	xmlTextConcat			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len)<br/>
-</pre><p>Concat the given string at the end of the existing node content</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>@content length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextMerge"/>xmlTextMerge ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextMerge		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> second)<br/>
-</pre><p>Merge two text nodes into one</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>first</tt></i>:</span></td><td>the first text node</td></tr><tr><td><span class="term"><i><tt>second</tt></i>:</span></td><td>the second text node being merged</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the first text node augmented</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUnlinkNode"/>xmlUnlinkNode ()</h3><pre class="programlisting">void	xmlUnlinkNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Unlink a node from it's current context, the node is not freed If one need to free the node, use xmlFreeNode() routine after the unlink to discard it. Note that namespace nodes can't be unlinked as they do not have pointer to their parent.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUnsetNsProp"/>xmlUnsetNsProp ()</h3><pre class="programlisting">int	xmlUnsetNsProp			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Remove an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace definition</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUnsetProp"/>xmlUnsetProp ()</h3><pre class="programlisting">int	xmlUnsetProp			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Remove an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. This handles only attributes in no namespace.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateNCName"/>xmlValidateNCName ()</h3><pre class="programlisting">int	xmlValidateNCName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int space)<br/>
-</pre><p>Check that a value conforms to the lexical space of NCName</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 check</td></tr><tr><td><span class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the string</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateNMToken"/>xmlValidateNMToken ()</h3><pre class="programlisting">int	xmlValidateNMToken		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int space)<br/>
-</pre><p>Check that a value conforms to the lexical space of NMToken</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 check</td></tr><tr><td><span class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the string</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateName"/>xmlValidateName ()</h3><pre class="programlisting">int	xmlValidateName			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int space)<br/>
-</pre><p>Check that a value conforms to the lexical space of Name</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 check</td></tr><tr><td><span class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the string</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateQName"/>xmlValidateQName ()</h3><pre class="programlisting">int	xmlValidateQName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 int space)<br/>
-</pre><p>Check that a value conforms to the lexical space of QName</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 check</td></tr><tr><td><span class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the string</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></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapAcquireNsFunction"></a>Function type xmlDOMWrapAcquireNsFunction</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlDOMWrapAcquireNsFunction	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix)<br>
+</pre>
+<p>A function called to acquire namespaces (xmlNs) from the wrapper.</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 DOM wrapper context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the context node (element or attribute)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nsName</tt></i>:</span></td>
+<td>the requested namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nsPrefix</tt></i>:</span></td>
+<td>the requested namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL in case of an error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddChild"></a>xmlAddChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. All tree manipulation functions can safely move nodes within a document. But when moving nodes from one document to another, references to namespaces in element or <a href="libxml2-SAX.html#attribute">attribute</a> nodes are NOT fixed. In this case, you MUST call <a href="libxml2-tree.html#xmlReconciliateNs">xmlReconciliateNs</a> after the move operation to avoid memory errors.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the child node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the child or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddChildList"></a>xmlAddChildList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddChildList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be freed) See the note regarding namespaces in <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the first node in the list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last child or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddNextSibling"></a>xmlAddNextSibling ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddNextSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. As a result of text merging @elem may be freed. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. See the note regarding namespaces in <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the child node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the new node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new node or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddPrevSibling"></a>xmlAddPrevSibling ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddPrevSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>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 <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. See the note regarding namespaces in <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the child node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the new node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new node or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddSibling"></a>xmlAddSibling ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddSibling		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context. See the note regarding namespaces in <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the child node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the new node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new element or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttrSerializeTxtContent"></a>xmlAttrSerializeTxtContent ()</h3>
+<pre class="programlisting">void	xmlAttrSerializeTxtContent	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
+</pre>
+<p>Serialize text <a href="libxml2-SAX.html#attribute">attribute</a> values to an xml simple buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the text content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufContent"></a>xmlBufContent ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufContent		(const <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * buf)<br>
+</pre>
+<p>Function to extract the content of a buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufEnd"></a>xmlBufEnd ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufEnd		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br>
+</pre>
+<p>Function to extract the end of the content of a buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the end of the internal content or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufGetNodeContent"></a>xmlBufGetNodeContent ()</h3>
+<pre class="programlisting">int	xmlBufGetNodeContent		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
+</pre>
+<p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buf with this value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>a buffer <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being read</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufNodeDump"></a>xmlBufNodeDump ()</h3>
+<pre class="programlisting">size_t	xmlBufNodeDump			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format)<br>
+</pre>
+<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>level</tt></i>:</span></td>
+<td>the imbrication level for indenting</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>is formatting allowed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written to the buffer, in case of error 0 is returned or @buf stores the error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufShrink"></a>xmlBufShrink ()</h3>
+<pre class="programlisting">size_t	xmlBufShrink			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 size_t len)<br>
+</pre>
+<p>Remove the beginning of an XML buffer. NOTE that this routine behaviour differs from xmlBufferShrink() as it will return 0 on error instead of -1 due to size_t being used as the return type.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to dump</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte removed or 0 in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufUse"></a>xmlBufUse ()</h3>
+<pre class="programlisting">size_t	xmlBufUse			(const <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br>
+</pre>
+<p>Function to get the length of a buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the length of data in the internal content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferAdd"></a>xmlBufferAdd ()</h3>
+<pre class="programlisting">int	xmlBufferAdd			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len)<br>
+</pre>
+<p>Add a string range to an XML buffer. if len == -1, the length of str is recomputed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to dump</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the #xmlChar string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of #xmlChar to add</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferAddHead"></a>xmlBufferAddHead ()</h3>
+<pre class="programlisting">int	xmlBufferAddHead		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len)<br>
+</pre>
+<p>Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the #xmlChar string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of #xmlChar to add</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferCCat"></a>xmlBufferCCat ()</h3>
+<pre class="programlisting">int	xmlBufferCCat			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * str)<br>
+</pre>
+<p>Append a zero terminated C string to an XML buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to dump</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the C char string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferCat"></a>xmlBufferCat ()</h3>
+<pre class="programlisting">int	xmlBufferCat			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Append a zero terminated string to an XML buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to add to</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the #xmlChar string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferContent"></a>xmlBufferContent ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferContent	(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br>
+</pre>
+<p>Function to extract the content of a buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferCreate"></a>xmlBufferCreate ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreate		(void)<br>
+</pre>
+<p>routine to create an XML buffer.</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 new structure.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferCreateSize"></a>xmlBufferCreateSize ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreateSize	(size_t size)<br>
+</pre>
+<p>routine to create an XML buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>initial size of buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new structure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferCreateStatic"></a>xmlBufferCreateStatic ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreateStatic	(void * mem, <br>					 size_t size)<br>
+</pre>
+<p>routine to create an XML buffer from an immutable memory area. The area won't be modified nor copied, and is expected to be present until the end of the buffer lifetime.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>the memory area</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size in byte</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new structure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferDetach"></a>xmlBufferDetach ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferDetach		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
+</pre>
+<p>Remove the string contained in a buffer and gie it back to the caller. The buffer is reset to an empty content. This doesn't work with immutable buffers as they can't be reset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous string contained by the buffer.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferDump"></a>xmlBufferDump ()</h3>
+<pre class="programlisting">int	xmlBufferDump			(FILE * file, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
+</pre>
+<p>Dumps an XML buffer to a FILE *.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>the file output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to dump</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of #xmlChar written</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferEmpty"></a>xmlBufferEmpty ()</h3>
+<pre class="programlisting">void	xmlBufferEmpty			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
+</pre>
+<p>empty a buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferFree"></a>xmlBufferFree ()</h3>
+<pre class="programlisting">void	xmlBufferFree			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
+</pre>
+<p>Frees an XML buffer. It frees both the content and the structure which encapsulate it.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferGrow"></a>xmlBufferGrow ()</h3>
+<pre class="programlisting">int	xmlBufferGrow			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len)<br>
+</pre>
+<p>Grow the available space of an XML buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the minimum free size to allocate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new available space or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferLength"></a>xmlBufferLength ()</h3>
+<pre class="programlisting">int	xmlBufferLength			(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br>
+</pre>
+<p>Function to get the length of a buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the length of data in the internal content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferResize"></a>xmlBufferResize ()</h3>
+<pre class="programlisting">int	xmlBufferResize			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int size)<br>
+</pre>
+<p>Resize a buffer to accommodate minimum size of @size.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to resize</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the desired size</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of problems, 1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferSetAllocationScheme"></a>xmlBufferSetAllocationScheme ()</h3>
+<pre class="programlisting">void	xmlBufferSetAllocationScheme	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br>
+</pre>
+<p>Sets the allocation scheme for this buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to tune</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>scheme</tt></i>:</span></td>
+<td>allocation scheme to use</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferShrink"></a>xmlBufferShrink ()</h3>
+<pre class="programlisting">int	xmlBufferShrink			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len)<br>
+</pre>
+<p>Remove the beginning of an XML buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to dump</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of #xmlChar removed, or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferWriteCHAR"></a>xmlBufferWriteCHAR ()</h3>
+<pre class="programlisting">void	xmlBufferWriteCHAR		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
+</pre>
+<p>routine which manages and grows an output buffer. This one adds xmlChars at the end of the buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the string to add</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferWriteChar"></a>xmlBufferWriteChar ()</h3>
+<pre class="programlisting">void	xmlBufferWriteChar		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * string)<br>
+</pre>
+<p>routine which manage and grows an output buffer. This one add C chars at the end of the array.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the string to add</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferWriteQuotedString"></a>xmlBufferWriteQuotedString ()</h3>
+<pre class="programlisting">void	xmlBufferWriteQuotedString	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
+</pre>
+<p>routine which manage and grows an output buffer. This one writes a quoted or double quoted #xmlChar string, checking first if it holds quote or double-quotes internally</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the string to add</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBuildQName"></a>xmlBuildQName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildQName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br>					 int len)<br>
+</pre>
+<p>Builds the QName @prefix:@ncname in @memory if there is enough space and prefix is not NULL nor empty, otherwise allocate a new string. If prefix is NULL or empty it returns ncname.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ncname</tt></i>:</span></td>
+<td>the Name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>memory</tt></i>:</span></td>
+<td>preallocated memory</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>preallocated memory length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new string which must be freed by the caller if different from @memory and @ncname or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChildElementCount"></a>xmlChildElementCount ()</h3>
+<pre class="programlisting">unsigned long	xmlChildElementCount	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
+</pre>
+<p>Finds the current number of child nodes of that element which are element nodes. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the count of element child or 0 if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyDoc"></a>xmlCopyDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCopyDoc		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int recursive)<br>
+</pre>
+<p>Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, namespaces and entities.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recursive</tt></i>:</span></td>
+<td>if not zero do a recursive copy.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlDocPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyDtd"></a>xmlCopyDtd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlCopyDtd		(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
+</pre>
+<p>Do a copy of the dtd.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>the dtd</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlDtdPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyNamespace"></a>xmlCopyNamespace ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlCopyNamespace	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
+</pre>
+<p>Do a copy of the namespace.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNsPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyNamespaceList"></a>xmlCopyNamespaceList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlCopyNamespaceList	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
+</pre>
+<p>Do a copy of an namespace list.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the first namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNsPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyNode"></a>xmlCopyNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int extended)<br>
+</pre>
+<p>Do a copy of the node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>extended</tt></i>:</span></td>
+<td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNodePtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyNodeList"></a>xmlCopyNodeList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNodeList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Do a recursive copy of the node list. Use xmlDocCopyNodeList() if possible to ensure string interning.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the first node in the list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNodePtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyProp"></a>xmlCopyProp ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
+</pre>
+<p>Do a copy of the <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>the element where the <a href="libxml2-SAX.html#attribute">attribute</a> will be grafted</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlAttrPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyPropList"></a>xmlCopyPropList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyPropList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
+</pre>
+<p>Do a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> list.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>the element where the attributes will be grafted</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the first <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlAttrPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateIntSubset"></a>xmlCreateIntSubset ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlCreateIntSubset	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Create the internal subset of a document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the DTD name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external (PUBLIC) ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the system ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new DTD structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapAdoptNode"></a>xmlDOMWrapAdoptNode ()</h3>
+<pre class="programlisting">int	xmlDOMWrapAdoptNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int options)<br>
+</pre>
+<p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used This is the case when you have an unlinked node and just want to move it to the context of If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the optional context for custom processing</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td>
+<td>the optional sourceDoc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to start with</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>destDoc</tt></i>:</span></td>
+<td>the destination doc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>destParent</tt></i>:</span></td>
+<td>the optional new parent of @node in @destDoc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>option flags</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the operation succeeded, 1 if a node of unsupported type was given, 2 if a node of not yet supported type was given and -1 on API/internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapCloneNode"></a>xmlDOMWrapCloneNode ()</h3>
+<pre class="programlisting">int	xmlDOMWrapCloneNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * resNode, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int deep, <br>					 int options)<br>
+</pre>
+<p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used. This is the case when you don't know already where the cloned branch will be added to. If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. TODO: 1) What to do with XInclude? Currently this returns an error for XInclude.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the optional context for custom processing</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td>
+<td>the optional sourceDoc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to start with</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>resNode</tt></i>:</span></td>
+<td>the clone of the given @node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>destDoc</tt></i>:</span></td>
+<td>the destination doc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>destParent</tt></i>:</span></td>
+<td>the optional new parent of @node in @destDoc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>deep</tt></i>:</span></td>
+<td>descend into child if set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>option flags</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the operation succeeded, 1 if a node of unsupported (or not yet supported) type was given, -1 on API/internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapFreeCtxt"></a>xmlDOMWrapFreeCtxt ()</h3>
+<pre class="programlisting">void	xmlDOMWrapFreeCtxt		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Frees the DOM-wrapper context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the DOM-wrapper context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapNewCtxt"></a>xmlDOMWrapNewCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>	xmlDOMWrapNewCtxt	(void)<br>
+</pre>
+<p>Allocates and initializes a new DOM-wrapper context.</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 <a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> or NULL in case of an internal error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapReconcileNamespaces"></a>xmlDOMWrapReconcileNamespaces ()</h3>
+<pre class="programlisting">int	xmlDOMWrapReconcileNamespaces	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 int options)<br>
+</pre>
+<p>Ensures that ns-references point to ns-decls hold on element-nodes. Ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>DOM wrapper context, unused at the moment</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the element-node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>option flags</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if succeeded, -1 otherwise and on API/internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapRemoveNode"></a>xmlDOMWrapRemoveNode ()</h3>
+<pre class="programlisting">int	xmlDOMWrapRemoveNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int options)<br>
+</pre>
+<p>Unlinks the given node from its owner. This will substitute ns-references to node-&gt;nsDef for ns-references to doc-&gt;oldNs, thus ensuring the removed branch to be autark wrt ns-references. NOTE: This function was not intensively tested.</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 DOM wrapper context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the doc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to be removed.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>set of options, unused at the moment</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 on success, 1 if the node is not supported, -1 on API and internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocCopyNode"></a>xmlDocCopyNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int extended)<br>
+</pre>
+<p>Do a copy of the node to a given document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>extended</tt></i>:</span></td>
+<td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNodePtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocCopyNodeList"></a>xmlDocCopyNodeList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNodeList	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Do a recursive copy of the node list.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the target document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the first node in the list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNodePtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocDump"></a>xmlDocDump ()</h3>
+<pre class="programlisting">int	xmlDocDump			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
+</pre>
+<p>Dump an XML document to an open FILE.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the FILE*</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocDumpFormatMemory"></a>xmlDocDumpFormatMemory ()</h3>
+<pre class="programlisting">void	xmlDocDumpFormatMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format)<br>
+</pre>
+<p>Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>OUT: the memory pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>OUT: the memory length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocDumpFormatMemoryEnc"></a>xmlDocDumpFormatMemoryEnc ()</h3>
+<pre class="programlisting">void	xmlDocDumpFormatMemoryEnc	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding, <br>					 int format)<br>
+</pre>
+<p>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 <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out_doc</tt></i>:</span></td>
+<td>Document to generate XML text from</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
+<td>Memory pointer for allocated XML text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td>
+<td>Length of the generated XML text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td>
+<td>Character encoding to use when generating XML text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocDumpMemory"></a>xmlDocDumpMemory ()</h3>
+<pre class="programlisting">void	xmlDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size)<br>
+</pre>
+<p>Dump an XML document in memory and return the #xmlChar * and it's size in bytes. It'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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>OUT: the memory pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>OUT: the memory length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocDumpMemoryEnc"></a>xmlDocDumpMemoryEnc ()</h3>
+<pre class="programlisting">void	xmlDocDumpMemoryEnc		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding)<br>
+</pre>
+<p>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().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out_doc</tt></i>:</span></td>
+<td>Document to generate XML text from</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
+<td>Memory pointer for allocated XML text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td>
+<td>Length of the generated XML text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td>
+<td>Character encoding to use when generating XML text</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocFormatDump"></a>xmlDocFormatDump ()</h3>
+<pre class="programlisting">int	xmlDocFormatDump		(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format)<br>
+</pre>
+<p>Dump an XML document to an open FILE.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the FILE*</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocGetRootElement"></a>xmlDocGetRootElement ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocGetRootElement	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
+</pre>
+<p>Get the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc ...).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the #xmlNodePtr for the root or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocSetRootElement"></a>xmlDocSetRootElement ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocSetRootElement	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root)<br>
+</pre>
+<p>Set the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc ...).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>root</tt></i>:</span></td>
+<td>the new document root element, if root is NULL no action is taken, to remove a node from a document use xmlUnlinkNode(root) instead.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the old root element if any was found, NULL if root was NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElemDump"></a>xmlElemDump ()</h3>
+<pre class="programlisting">void	xmlElemDump			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Dump an XML/HTML node, recursive behaviour, children are printed too.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFirstElementChild"></a>xmlFirstElementChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlFirstElementChild	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
+</pre>
+<p>Finds the first child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the first element child or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeDoc"></a>xmlFreeDoc ()</h3>
+<pre class="programlisting">void	xmlFreeDoc			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
+</pre>
+<p>Free up all the structures used by a document, tree included.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>pointer to the document</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeDtd"></a>xmlFreeDtd ()</h3>
+<pre class="programlisting">void	xmlFreeDtd			(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur)<br>
+</pre>
+<p>Free a DTD structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the DTD structure to free up</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeNode"></a>xmlFreeNode ()</h3>
+<pre class="programlisting">void	xmlFreeNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Free a node, this is a recursive behaviour, all the children are freed too. This doesn't unlink the child from the list, use xmlUnlinkNode() first.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeNodeList"></a>xmlFreeNodeList ()</h3>
+<pre class="programlisting">void	xmlFreeNodeList			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Free a node and all its siblings, this is a recursive behaviour, all the children are freed too.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the first node in the list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeNs"></a>xmlFreeNs ()</h3>
+<pre class="programlisting">void	xmlFreeNs			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
+</pre>
+<p>Free up the structures associated to a namespace</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the namespace pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeNsList"></a>xmlFreeNsList ()</h3>
+<pre class="programlisting">void	xmlFreeNsList			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
+</pre>
+<p>Free up all the structures associated to the chained namespaces.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the first namespace pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeProp"></a>xmlFreeProp ()</h3>
+<pre class="programlisting">void	xmlFreeProp			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
+</pre>
+<p>Free one attribute, all the content is freed too</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>an <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreePropList"></a>xmlFreePropList ()</h3>
+<pre class="programlisting">void	xmlFreePropList			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
+</pre>
+<p>Free a property and all its siblings, all the children are freed too.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the first property in the list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetBufferAllocationScheme"></a>xmlGetBufferAllocationScheme ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlGetBufferAllocationScheme	(void)<br>
+</pre>
+<p>Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance <a href="libxml2-tree.html#XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> - use exact sizes on small strings to keep memory usage tight in normal usage, and doubleit on large strings to avoid pathological performance.</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 current allocation scheme</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetCompressMode"></a>xmlGetCompressMode ()</h3>
+<pre class="programlisting">int	xmlGetCompressMode		(void)<br>
+</pre>
+<p>get the default compression mode used, ZLIB based.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 (uncompressed) to 9 (max compression)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDocCompressMode"></a>xmlGetDocCompressMode ()</h3>
+<pre class="programlisting">int	xmlGetDocCompressMode		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
+</pre>
+<p>get the compression ratio for a document, ZLIB based</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 (uncompressed) to 9 (max compression)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetIntSubset"></a>xmlGetIntSubset ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlGetIntSubset		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
+</pre>
+<p>Get the internal subset of a document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the DTD structure or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetLastChild"></a>xmlGetLastChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlGetLastChild		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * parent)<br>
+</pre>
+<p>Search the last child of a node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last child or NULL if none.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetLineNo"></a>xmlGetLineNo ()</h3>
+<pre class="programlisting">long	xmlGetLineNo			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
+</pre>
+<p>Get line number of @node. Try to override the limitation of lines being store in 16 bits ints if <a href="libxml2-parser.html#XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> parser option was used</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>valid node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the line number if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetNoNsProp"></a>xmlGetNoNsProp ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNoNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. This function is similar to <a href="libxml2-tree.html#xmlGetProp">xmlGetProp</a> except it will accept only an <a href="libxml2-SAX.html#attribute">attribute</a> in no namespace.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetNodePath"></a>xmlGetNodePath ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNodePath		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
+</pre>
+<p>Build a structure based Path for the given node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new path or NULL in case of error. The caller must free the returned string</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetNsList"></a>xmlGetNsList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	xmlGetNsList		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
+</pre>
+<p>Search all the namespace applying to a given element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an NULL terminated array of all the #xmlNsPtr found that need to be freed by the caller or NULL if no namespace if defined</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetNsProp"></a>xmlGetNsProp ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
+</pre>
+<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml2-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
+<td>the URI of the namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetProp"></a>xmlGetProp ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the <a href="libxml2-SAX.html#attribute">attribute</a>. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHasNsProp"></a>xmlHasNsProp ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
+</pre>
+<p>Search for an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml2-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. Note that a namespace of NULL indicates to use the default namespace.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
+<td>the URI of the namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> or the <a href="libxml2-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHasProp"></a>xmlHasProp ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This function also looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> or the <a href="libxml2-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBlankNode"></a>xmlIsBlankNode ()</h3>
+<pre class="programlisting">int	xmlIsBlankNode			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
+</pre>
+<p>Checks whether this node is an empty or whitespace only (and possibly ignorable) text-node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 yes, 0 no</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsXHTML"></a>xmlIsXHTML ()</h3>
+<pre class="programlisting">int	xmlIsXHTML			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID)<br>
+</pre>
+<p>Try to find if the document correspond to an XHTML DTD</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>systemID</tt></i>:</span></td>
+<td>the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicID</tt></i>:</span></td>
+<td>the public identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if not and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLastElementChild"></a>xmlLastElementChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlLastElementChild	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
+</pre>
+<p>Finds the last child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last element child or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewCDataBlock"></a>xmlNewCDataBlock ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewCDataBlock	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
+</pre>
+<p>Creation of a new node containing a CDATA block.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the CDATA block content content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewCharRef"></a>xmlNewCharRef ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewCharRef		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Creation of a new character <a href="libxml2-SAX.html#reference">reference</a> node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the char ref string, starting with # or "&amp;# ... ;"</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewChild"></a>xmlNewChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child list containing the TEXTs and ENTITY_REFs node will be created. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references. XML special chars must be escaped first by using xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the child</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the XML content of the child if any.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewComment"></a>xmlNewComment ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewComment		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Use of this function is DISCOURAGED in favor of <a href="libxml2-tree.html#xmlNewDocComment">xmlNewDocComment</a>. Creation of a new node containing a <a href="libxml2-SAX.html#comment">comment</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDoc"></a>xmlNewDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlNewDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version)<br>
+</pre>
+<p>Creates a new XML document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>version</tt></i>:</span></td>
+<td>
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string giving the version of XML "1.0"</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocComment"></a>xmlNewDocComment ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocComment	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a new node containing a <a href="libxml2-SAX.html#comment">comment</a> within a document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocFragment"></a>xmlNewDocFragment ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocFragment	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Creation of a new Fragment node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document owning the fragment</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocNode"></a>xmlNewDocNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNode		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the node name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the XML text content if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocNodeEatName"></a>xmlNewDocNodeEatName ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNodeEatName	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the node name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the XML text content if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocPI"></a>xmlNewDocPI ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocPI		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a processing instruction element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the target document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the processing instruction name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the PI content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocProp"></a>xmlNewDocProp ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewDocProp		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Create a new property carried by a document. NOTE: @value is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewProp() if you don't need entities support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocRawNode"></a>xmlNewDocRawNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocRawNode	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a new node element within a document. @ns and @content are optional (NULL).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the node name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the text content if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocText"></a>xmlNewDocText ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocText		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a new text node within a document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the text content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocTextLen"></a>xmlNewDocTextLen ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocTextLen	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
+</pre>
+<p>Creation of a new text node with an extra content length parameter. The text node pertain to a given document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the text content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the text len.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDtd"></a>xmlNewDtd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlNewDtd		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Creation of a new DTD for the external subset. To create an internal subset, use xmlCreateIntSubset().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the DTD name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the system ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new DTD structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewGlobalNs"></a>xmlNewGlobalNs ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlNewGlobalNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
+</pre>
+<p>Creation of a Namespace, the old way using PI and without scoping DEPRECATED !!!</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document carrying the namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>href</tt></i>:</span></td>
+<td>the URI associated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix for the namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL this functionality had been removed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewNode"></a>xmlNewNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewNode		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Creation of a new node element. @ns is optional (NULL). Use of this function is DISCOURAGED in favor of <a href="libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the node name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object. Uses xmlStrdup() to make copy of @name.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewNodeEatName"></a>xmlNewNodeEatName ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewNodeEatName	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Creation of a new node element. @ns is optional (NULL). Use of this function is DISCOURAGED in favor of <a href="libxml2-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the node name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object, with pointer @name as new node's name. Use xmlNewNode() if a copy of @name string is is needed as new node's name.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewNs"></a>xmlNewNs ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlNewNs		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
+</pre>
+<p>Creation of a new Namespace. This function will refuse to create a namespace with a similar prefix than an existing one present on this node. Note that for a default namespace, @prefix should be NULL. We use href==NULL in the case of an element creation where the namespace was not defined.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the element carrying the namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>href</tt></i>:</span></td>
+<td>the URI associated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix for the namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new namespace pointer or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewNsProp"></a>xmlNewNsProp ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Create a new property tagged with a namespace and carried by a node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the holding node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewNsPropEatName"></a>xmlNewNsPropEatName ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsPropEatName	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Create a new property tagged with a namespace and carried by a node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the holding node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewPI"></a>xmlNewPI ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewPI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a processing instruction element. Use of this function is DISCOURAGED in favor of <a href="libxml2-tree.html#xmlNewDocPI">xmlNewDocPI</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the processing instruction name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the PI content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewProp"></a>xmlNewProp ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Create a new property carried by a node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the holding node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewReference"></a>xmlNewReference ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewReference		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Creation of a new <a href="libxml2-SAX.html#reference">reference</a> node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#reference">reference</a> name, or the <a href="libxml2-SAX.html#reference">reference</a> string with &amp; and ;</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewText"></a>xmlNewText ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewText		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a new text node. Use of this function is DISCOURAGED in favor of <a href="libxml2-tree.html#xmlNewDocText">xmlNewDocText</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the text content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextChild"></a>xmlNewTextChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewTextChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child TEXT node will be created containing the string @content. NOTE: Use xmlNewChild() if @content will contain entities that need to be preserved. Use this function, xmlNewTextChild(), if you need to ensure that reserved XML chars that might appear in @content, such as the ampersand, greater-than or less-than signs, are automatically replaced by their XML escaped entity representations.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the child</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the text content of the child if any.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextLen"></a>xmlNewTextLen ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewTextLen		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
+</pre>
+<p>Use of this function is DISCOURAGED in favor of <a href="libxml2-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a>. Creation of a new text node with an extra parameter for the content's length</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the text content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the text len.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNextElementSibling"></a>xmlNextElementSibling ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNextElementSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Finds the first closest next sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element sibling or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeAddContent"></a>xmlNodeAddContent ()</h3>
+<pre class="programlisting">void	xmlNodeAddContent		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContent(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being modified</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>extra content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeAddContentLen"></a>xmlNodeAddContentLen ()</h3>
+<pre class="programlisting">void	xmlNodeAddContentLen		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
+</pre>
+<p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContentLen(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being modified</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>extra content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the size of @content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeBufGetContent"></a>xmlNodeBufGetContent ()</h3>
+<pre class="programlisting">int	xmlNodeBufGetContent		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
+</pre>
+<p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buffer with this value</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>cur</tt></i>:</span></td>
+<td>the node being read</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeDump"></a>xmlNodeDump ()</h3>
+<pre class="programlisting">int	xmlNodeDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format)<br>
+</pre>
+<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called. Since this is using <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>level</tt></i>:</span></td>
+<td>the imbrication level for indenting</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>is formatting allowed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written to the buffer or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeDumpOutput"></a>xmlNodeDumpOutput ()</h3>
+<pre class="programlisting">void	xmlNodeDumpOutput		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format, <br>					 const char * encoding)<br>
+</pre>
+<p>Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>level</tt></i>:</span></td>
+<td>the imbrication level for indenting</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>is formatting allowed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>an optional encoding string</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeGetBase"></a>xmlNodeGetBase ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetBase		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
+</pre>
+<p>Searches for the BASE URL. The code should work on both XML and HTML document even if base mechanisms are completely different. It returns the base as defined in RFC 2396 sections 5.1.1. Base URI within Document Content and 5.1.2. Base URI from the Encapsulating Entity However it does not return the document base (5.1.3), use doc-&gt;URL in this case</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document the node pertains to</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being checked</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the base URL, or NULL if not found It's up to the caller to free the memory with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeGetContent"></a>xmlNodeGetContent ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetContent	(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
+</pre>
+<p>Read the value of a node, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlChar * or NULL if no content is available. It's up to the caller to free the memory with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeGetLang"></a>xmlNodeGetLang ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetLang		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
+</pre>
+<p>Searches the language of a node, i.e. the values of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being checked</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the lang value, or NULL if not found It's up to the caller to free the memory with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeGetSpacePreserve"></a>xmlNodeGetSpacePreserve ()</h3>
+<pre class="programlisting">int	xmlNodeGetSpacePreserve		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
+</pre>
+<p>Searches the space preserving behaviour of a node, i.e. the values of the xml:space <a href="libxml2-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being checked</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 if xml:space is not inherited, 0 if "default", 1 if "preserve"</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeIsText"></a>xmlNodeIsText ()</h3>
+<pre class="programlisting">int	xmlNodeIsText			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
+</pre>
+<p>Is this node a Text node ?</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 yes, 0 no</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeListGetRawString"></a>xmlNodeListGetRawString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetRawString	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine)<br>
+</pre>
+<p>Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() this function doesn't do any character encoding handling.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>list</tt></i>:</span></td>
+<td>a Node list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inLine</tt></i>:</span></td>
+<td>should we replace entity contents or show their external form</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the string copy, the caller must free it with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeListGetString"></a>xmlNodeListGetString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetString	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine)<br>
+</pre>
+<p>Build the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>list</tt></i>:</span></td>
+<td>a Node list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inLine</tt></i>:</span></td>
+<td>should we replace entity contents or show their external form</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the string copy, the caller must free it with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetBase"></a>xmlNodeSetBase ()</h3>
+<pre class="programlisting">void	xmlNodeSetBase			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * uri)<br>
+</pre>
+<p>Set (or reset) the base URI of a node, i.e. the value of the xml:base <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being changed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>uri</tt></i>:</span></td>
+<td>the new base URI</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetContent"></a>xmlNodeSetContent ()</h3>
+<pre class="programlisting">void	xmlNodeSetContent		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being modified</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the new value of the content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetContentLen"></a>xmlNodeSetContentLen ()</h3>
+<pre class="programlisting">void	xmlNodeSetContentLen		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
+</pre>
+<p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being modified</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the new value of the content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the size of @content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetLang"></a>xmlNodeSetLang ()</h3>
+<pre class="programlisting">void	xmlNodeSetLang			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br>
+</pre>
+<p>Set the language of a node, i.e. the values of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being changed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lang</tt></i>:</span></td>
+<td>the language description</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetName"></a>xmlNodeSetName ()</h3>
+<pre class="programlisting">void	xmlNodeSetName			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Set (or reset) the name of a node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being changed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the new tag name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetSpacePreserve"></a>xmlNodeSetSpacePreserve ()</h3>
+<pre class="programlisting">void	xmlNodeSetSpacePreserve		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int val)<br>
+</pre>
+<p>Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being changed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the xml:space value ("0": default, 1: "preserve")</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPreviousElementSibling"></a>xmlPreviousElementSibling ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlPreviousElementSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Finds the first closest previous sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous element sibling or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReconciliateNs"></a>xmlReconciliateNs ()</h3>
+<pre class="programlisting">int	xmlReconciliateNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br>
+</pre>
+<p>This function checks that all the namespaces declared within the given tree are properly declared. This is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers to namespace declarations outside the subtree or invalid/masked. As much as possible the function try to reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on @tree at the top of the given subtree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>a node defining the subtree to reconciliate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of namespace declarations created or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRemoveProp"></a>xmlRemoveProp ()</h3>
+<pre class="programlisting">int	xmlRemoveProp			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
+</pre>
+<p>Unlink and free one attribute, all the content is freed too Note this doesn't work for namespace definition attributes</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>an <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if success and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReplaceNode"></a>xmlReplaceNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlReplaceNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>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. See the note regarding namespaces in <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>old</tt></i>:</span></td>
+<td>the old node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the @old node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFile"></a>xmlSaveFile ()</h3>
+<pre class="programlisting">int	xmlSaveFile			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
+</pre>
+<p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename (or URL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFileEnc"></a>xmlSaveFileEnc ()</h3>
+<pre class="programlisting">int	xmlSaveFileEnc			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
+</pre>
+<p>Dump an XML document, converting it to the given encoding</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename (or URL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the name of an encoding (or NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFileTo"></a>xmlSaveFileTo ()</h3>
+<pre class="programlisting">int	xmlSaveFileTo			(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
+</pre>
+<p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an output I/O buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding if any assuming the I/O layer handles the transcoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFormatFile"></a>xmlSaveFormatFile ()</h3>
+<pre class="programlisting">int	xmlSaveFormatFile		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format)<br>
+</pre>
+<p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename (or URL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFormatFileEnc"></a>xmlSaveFormatFileEnc ()</h3>
+<pre class="programlisting">int	xmlSaveFormatFileEnc		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
+</pre>
+<p>Dump an XML document to a file or an URL.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename or URL to output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document being saved</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the name of the encoding to use or NULL.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces be added.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFormatFileTo"></a>xmlSaveFormatFileTo ()</h3>
+<pre class="programlisting">int	xmlSaveFormatFileTo		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
+</pre>
+<p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an output I/O buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding if any assuming the I/O layer handles the transcoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSearchNs"></a>xmlSearchNs ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
+</pre>
+<p>Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
+<td>the namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace pointer or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSearchNsByHref"></a>xmlSearchNsByHref ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNsByHref	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href)<br>
+</pre>
+<p>Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return NULL otherwise.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>href</tt></i>:</span></td>
+<td>the namespace value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace pointer or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetBufferAllocationScheme"></a>xmlSetBufferAllocationScheme ()</h3>
+<pre class="programlisting">void	xmlSetBufferAllocationScheme	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br>
+</pre>
+<p>Set the buffer allocation method. Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>scheme</tt></i>:</span></td>
+<td>allocation method to use</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetCompressMode"></a>xmlSetCompressMode ()</h3>
+<pre class="programlisting">void	xmlSetCompressMode		(int mode)<br>
+</pre>
+<p>set the default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the compression ratio</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetDocCompressMode"></a>xmlSetDocCompressMode ()</h3>
+<pre class="programlisting">void	xmlSetDocCompressMode		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int mode)<br>
+</pre>
+<p>set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the compression ratio</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetListDoc"></a>xmlSetListDoc ()</h3>
+<pre class="programlisting">void	xmlSetListDoc			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>update all nodes in the list to point to the right document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>list</tt></i>:</span></td>
+<td>the first element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetNs"></a>xmlSetNs ()</h3>
+<pre class="programlisting">void	xmlSetNs			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
+</pre>
+<p>Associate a namespace to a node, a posteriori.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node in the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a namespace pointer</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetNsProp"></a>xmlSetNsProp ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetNsProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Set (or reset) an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. The ns structure must be in scope, this is not checked</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace definition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> pointer.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetProp"></a>xmlSetProp ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Set (or reset) an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. If @name has a prefix, then the corresponding namespace-binding will be used, if in scope; it is an error it there's no such ns-binding for the prefix in scope.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name (a QName)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> pointer.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetTreeDoc"></a>xmlSetTreeDoc ()</h3>
+<pre class="programlisting">void	xmlSetTreeDoc			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>update all nodes under the tree to point to the right document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>the top element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSplitQName2"></a>xmlSplitQName2 ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName2		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br>
+</pre>
+<p>parse an XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</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 full QName</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if the name doesn't have a prefix. Otherwise, returns the local part, and prefix is updated to get the Prefix. Both the return value and the prefix must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSplitQName3"></a>xmlSplitQName3 ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName3		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int * len)<br>
+</pre>
+<p>parse an XML qualified name string,i</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 full QName</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>an int *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if it is not a Qualified Name, otherwise, update len with the length in byte of the prefix and return a pointer to the start of the name without the prefix</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringGetNodeList"></a>xmlStringGetNodeList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringGetNodeList	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the first child</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringLenGetNodeList"></a>xmlStringLenGetNodeList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringLenGetNodeList	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
+</pre>
+<p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value of the text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the string value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the first child</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextConcat"></a>xmlTextConcat ()</h3>
+<pre class="programlisting">int	xmlTextConcat			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
+</pre>
+<p>Concat the given string at the end of the existing node content</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>@content length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextMerge"></a>xmlTextMerge ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextMerge		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> second)<br>
+</pre>
+<p>Merge two text nodes into one</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>first</tt></i>:</span></td>
+<td>the first text node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>second</tt></i>:</span></td>
+<td>the second text node being merged</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the first text node augmented</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUnlinkNode"></a>xmlUnlinkNode ()</h3>
+<pre class="programlisting">void	xmlUnlinkNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Unlink a node from it's current context, the node is not freed If one need to free the node, use xmlFreeNode() routine after the unlink to discard it. Note that namespace nodes can't be unlinked as they do not have pointer to their parent.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUnsetNsProp"></a>xmlUnsetNsProp ()</h3>
+<pre class="programlisting">int	xmlUnsetNsProp			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Remove an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace definition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if successful, -1 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUnsetProp"></a>xmlUnsetProp ()</h3>
+<pre class="programlisting">int	xmlUnsetProp			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Remove an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. This handles only attributes in no namespace.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if successful, -1 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateNCName"></a>xmlValidateNCName ()</h3>
+<pre class="programlisting">int	xmlValidateNCName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of NCName</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 check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>space</tt></i>:</span></td>
+<td>allow spaces in front and end of the string</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateNMToken"></a>xmlValidateNMToken ()</h3>
+<pre class="programlisting">int	xmlValidateNMToken		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of NMToken</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 check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>space</tt></i>:</span></td>
+<td>allow spaces in front and end of the string</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateName"></a>xmlValidateName ()</h3>
+<pre class="programlisting">int	xmlValidateName			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of Name</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 check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>space</tt></i>:</span></td>
+<td>allow spaces in front and end of the string</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateQName"></a>xmlValidateQName ()</h3>
+<pre class="programlisting">int	xmlValidateQName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of QName</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 check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>space</tt></i>:</span></td>
+<td>allow spaces in front and end of the string</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>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-uri.html b/doc/devhelp/libxml2-uri.html
index d049ba9..755e78d 100644
--- a/doc/devhelp/libxml2-uri.html
+++ b/doc/devhelp/libxml2-uri.html
@@ -1,74 +1,54 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>uri: library of generic URI related routines</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-tree.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-valid.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">uri</span>
-    </h2>
-    <p>uri - library of generic URI related routines</p>
-    <p>library of generic URI related routines Implements RFC 2396 </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlURI <a href="#xmlURI">xmlURI</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>uri: library of generic URI related routines</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">uri</span></h2>
+<p>uri - library of generic URI related routines</p>
+<p>library of generic URI related routines Implements RFC 2396 </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlURI <a href="#xmlURI">xmlURI</a>;
 typedef <a href="libxml2-uri.html#xmlURI">xmlURI</a> * <a href="#xmlURIPtr">xmlURIPtr</a>;
-int	<a href="#xmlNormalizeURIPath">xmlNormalizeURIPath</a>		(char * path);
-void	<a href="#xmlPrintURI">xmlPrintURI</a>			(FILE * stream, <br/>					 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
-<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURIRaw">xmlParseURIRaw</a>		(const char * str, <br/>					 int raw);
-char *	<a href="#xmlURIUnescapeString">xmlURIUnescapeString</a>		(const char * str, <br/>					 int len, <br/>					 char * target);
-<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURI">xmlParseURI</a>		(const char * str);
-<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlCreateURI">xmlCreateURI</a>		(void);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlURIEscapeStr">xmlURIEscapeStr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlPathToURI">xmlPathToURI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildRelativeURI">xmlBuildRelativeURI</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildURI">xmlBuildURI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCanonicPath">xmlCanonicPath</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
+<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlCreateURI">xmlCreateURI</a>		(void);
 void	<a href="#xmlFreeURI">xmlFreeURI</a>			(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
-int	<a href="#xmlParseURIReference">xmlParseURIReference</a>		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br/>					 const char * str);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildRelativeURI">xmlBuildRelativeURI</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
+int	<a href="#xmlNormalizeURIPath">xmlNormalizeURIPath</a>		(char * path);
+<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURI">xmlParseURI</a>		(const char * str);
+<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURIRaw">xmlParseURIRaw</a>		(const char * str, <br>					 int raw);
+int	<a href="#xmlParseURIReference">xmlParseURIReference</a>		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br>					 const char * str);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlPathToURI">xmlPathToURI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
+void	<a href="#xmlPrintURI">xmlPrintURI</a>			(FILE * stream, <br>					 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSaveUri">xmlSaveUri</a>		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlURIEscape">xmlURIEscape</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildURI">xmlBuildURI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlURIEscapeStr">xmlURIEscapeStr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list);
+char *	<a href="#xmlURIUnescapeString">xmlURIUnescapeString</a>		(const char * str, <br>					 int len, <br>					 char * target);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlURI">Structure </a>xmlURI</h3><pre class="programlisting">struct _xmlURI {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlURI">Structure </a>xmlURI</h3>
+<pre class="programlisting">struct _xmlURI {
     char *	scheme	: the URI scheme
     char *	opaque	: opaque part
     char *	authority	: the authority part
@@ -81,74 +61,353 @@
     int	cleanup	: parsing potentially unclean URI
     char *	query_raw	: the query string (as it appears in the URI)
 } xmlURI;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlURIPtr">Typedef </a>xmlURIPtr</h3><pre class="programlisting"><a href="libxml2-uri.html#xmlURI">xmlURI</a> * xmlURIPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlURIPtr">Typedef </a>xmlURIPtr</h3>
+<pre class="programlisting"><a href="libxml2-uri.html#xmlURI">xmlURI</a> * xmlURIPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBuildRelativeURI"/>xmlBuildRelativeURI ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildRelativeURI	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br/>
-</pre><p>Expresses the URI of the <a href="libxml2-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="libxml2-SAX.html#reference">reference</a> is really weird or complicated, it may be worthwhile to first convert it into a "nice" one by calling <a href="libxml2-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="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBuildURI"/>xmlBuildURI ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildURI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br/>
-</pre><p>Computes he final URI of the <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCanonicPath"/>xmlCanonicPath ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCanonicPath		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br/>
-</pre><p>Constructs a canonic path from the specified path.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>the resource locator in a filesystem notation</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new canonic path, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateURI"/>xmlCreateURI ()</h3><pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlCreateURI		(void)<br/>
-</pre><p>Simply creates an empty <a href="libxml2-uri.html#xmlURI">xmlURI</a></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 new structure or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeURI"/>xmlFreeURI ()</h3><pre class="programlisting">void	xmlFreeURI			(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br/>
-</pre><p>Free up the <a href="libxml2-uri.html#xmlURI">xmlURI</a> struct</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNormalizeURIPath"/>xmlNormalizeURIPath ()</h3><pre class="programlisting">int	xmlNormalizeURIPath		(char * path)<br/>
-</pre><p>Applies the 5 normalization steps to a path string--that is, RFC 2396 Section 5.2, steps 6.c through 6.g. Normalization occurs directly on the string, no new allocation is done</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>pointer to the path string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or an error code</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseURI"/>xmlParseURI ()</h3><pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlParseURI		(const char * str)<br/>
-</pre><p>Parse an URI based on RFC 3986 URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</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 URI string to analyze</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly built <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseURIRaw"/>xmlParseURIRaw ()</h3><pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlParseURIRaw		(const char * str, <br/>					 int raw)<br/>
-</pre><p>Parse an URI but allows to keep intact the original fragments. URI-reference = URI / relative-ref</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 URI string to analyze</td></tr><tr><td><span class="term"><i><tt>raw</tt></i>:</span></td><td>if 1 unescaping of URI pieces are disabled</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly built <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseURIReference"/>xmlParseURIReference ()</h3><pre class="programlisting">int	xmlParseURIReference		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br/>					 const char * str)<br/>
-</pre><p>Parse an URI <a href="libxml2-SAX.html#reference">reference</a> string based on RFC 3986 and fills in the appropriate fields of the @uri structure URI-reference = URI / relative-ref</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an URI structure</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string to analyze</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or the error code</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPathToURI"/>xmlPathToURI ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlPathToURI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br/>
-</pre><p>Constructs an URI expressing the existing path</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>the resource locator in a filesystem notation</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPrintURI"/>xmlPrintURI ()</h3><pre class="programlisting">void	xmlPrintURI			(FILE * stream, <br/>					 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br/>
-</pre><p>Prints the URI in the stream @stream.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>a FILE* for the output</td></tr><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveUri"/>xmlSaveUri ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSaveUri		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br/>
-</pre><p>Save the URI as an escaped string</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new string (to be deallocated by caller)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlURIEscape"/>xmlURIEscape ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlURIEscape		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but this is heuristic based it's impossible to be sure.</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 string of the URI to escape</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an copy of the string, but escaped 25 May 2001 Uses <a href="libxml2-uri.html#xmlParseURI">xmlParseURI</a> and <a href="libxml2-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a> to try to escape correctly according to RFC2396. - Carl Douglas</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlURIEscapeStr"/>xmlURIEscapeStr ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlURIEscapeStr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list)<br/>
-</pre><p>This routine escapes a string to hex, ignoring reserved <a href="libxml2-SAX.html#characters">characters</a> (a-z) and the <a href="libxml2-SAX.html#characters">characters</a> in the exception list.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>string to escape</td></tr><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>exception list string of chars not to escape</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new escaped string or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlURIUnescapeString"/>xmlURIUnescapeString ()</h3><pre class="programlisting">char *	xmlURIUnescapeString		(const char * str, <br/>					 int len, <br/>					 char * target)<br/>
-</pre><p>Unescaping routine, but does not check that the string is an URI. The output is a direct unsigned char translation of %XX values (no encoding) Note that the length of the result can only be smaller or same size as the input string.</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 string to unescape</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length in bytes to unescape (or &lt;= 0 to indicate full string)</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>optional destination buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the string, but unescaped, will return NULL only in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBuildRelativeURI"></a>xmlBuildRelativeURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildRelativeURI	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br>
+</pre>
+<p>Expresses the URI of the <a href="libxml2-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="libxml2-SAX.html#reference">reference</a> is really weird or complicated, it may be worthwhile to first convert it into a "nice" one by calling <a href="libxml2-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="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBuildURI"></a>xmlBuildURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildURI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br>
+</pre>
+<p>Computes he final URI of the <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCanonicPath"></a>xmlCanonicPath ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCanonicPath		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
+</pre>
+<p>Constructs a canonic path from the specified path.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>path</tt></i>:</span></td>
+<td>the resource locator in a filesystem notation</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new canonic path, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateURI"></a>xmlCreateURI ()</h3>
+<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlCreateURI		(void)<br>
+</pre>
+<p>Simply creates an empty <a href="libxml2-uri.html#xmlURI">xmlURI</a></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 new structure or NULL in case of error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeURI"></a>xmlFreeURI ()</h3>
+<pre class="programlisting">void	xmlFreeURI			(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
+</pre>
+<p>Free up the <a href="libxml2-uri.html#xmlURI">xmlURI</a> struct</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>uri</tt></i>:</span></td>
+<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNormalizeURIPath"></a>xmlNormalizeURIPath ()</h3>
+<pre class="programlisting">int	xmlNormalizeURIPath		(char * path)<br>
+</pre>
+<p>Applies the 5 normalization steps to a path string--that is, RFC 2396 Section 5.2, steps 6.c through 6.g. Normalization occurs directly on the string, no new allocation is done</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>path</tt></i>:</span></td>
+<td>pointer to the path string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or an error code</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseURI"></a>xmlParseURI ()</h3>
+<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlParseURI		(const char * str)<br>
+</pre>
+<p>Parse an URI based on RFC 3986 URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</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 URI string to analyze</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly built <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseURIRaw"></a>xmlParseURIRaw ()</h3>
+<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlParseURIRaw		(const char * str, <br>					 int raw)<br>
+</pre>
+<p>Parse an URI but allows to keep intact the original fragments. URI-reference = URI / relative-ref</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 URI string to analyze</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>raw</tt></i>:</span></td>
+<td>if 1 unescaping of URI pieces are disabled</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly built <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseURIReference"></a>xmlParseURIReference ()</h3>
+<pre class="programlisting">int	xmlParseURIReference		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br>					 const char * str)<br>
+</pre>
+<p>Parse an URI <a href="libxml2-SAX.html#reference">reference</a> string based on RFC 3986 and fills in the appropriate fields of the @uri structure URI-reference = URI / relative-ref</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>uri</tt></i>:</span></td>
+<td>pointer to an URI structure</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the string to analyze</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or the error code</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPathToURI"></a>xmlPathToURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlPathToURI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
+</pre>
+<p>Constructs an URI expressing the existing path</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>path</tt></i>:</span></td>
+<td>the resource locator in a filesystem notation</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new URI, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPrintURI"></a>xmlPrintURI ()</h3>
+<pre class="programlisting">void	xmlPrintURI			(FILE * stream, <br>					 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
+</pre>
+<p>Prints the URI in the stream @stream.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>a FILE* for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>uri</tt></i>:</span></td>
+<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveUri"></a>xmlSaveUri ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSaveUri		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
+</pre>
+<p>Save the URI as an escaped string</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>uri</tt></i>:</span></td>
+<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new string (to be deallocated by caller)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlURIEscape"></a>xmlURIEscape ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlURIEscape		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but this is heuristic based it's impossible to be sure.</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 string of the URI to escape</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an copy of the string, but escaped 25 May 2001 Uses <a href="libxml2-uri.html#xmlParseURI">xmlParseURI</a> and <a href="libxml2-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a> to try to escape correctly according to RFC2396. - Carl Douglas</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlURIEscapeStr"></a>xmlURIEscapeStr ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlURIEscapeStr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list)<br>
+</pre>
+<p>This routine escapes a string to hex, ignoring reserved <a href="libxml2-SAX.html#characters">characters</a> (a-z) and the <a href="libxml2-SAX.html#characters">characters</a> in the exception list.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>string to escape</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>list</tt></i>:</span></td>
+<td>exception list string of chars not to escape</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new escaped string or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlURIUnescapeString"></a>xmlURIUnescapeString ()</h3>
+<pre class="programlisting">char *	xmlURIUnescapeString		(const char * str, <br>					 int len, <br>					 char * target)<br>
+</pre>
+<p>Unescaping routine, but does not check that the string is an URI. The output is a direct unsigned char translation of %XX values (no encoding) Note that the length of the result can only be smaller or same size as the input string.</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 string to unescape</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length in bytes to unescape (or &lt;= 0 to indicate full string)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>optional destination buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a copy of the string, but unescaped, will return NULL only in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-valid.html b/doc/devhelp/libxml2-valid.html
index fcb68e7..3ea0bb8 100644
--- a/doc/devhelp/libxml2-valid.html
+++ b/doc/devhelp/libxml2-valid.html
@@ -1,203 +1,231 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>valid: The DTD validation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-uri.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xinclude.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">valid</span>
-    </h2>
-    <p>valid - The DTD validation</p>
-    <p>API for the DTD handling and the validity checking </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a>;
-#define <a href="#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a>;
-typedef struct _xmlHashTable <a href="#xmlElementTable">xmlElementTable</a>;
-typedef <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> * <a href="#xmlValidStatePtr">xmlValidStatePtr</a>;
-typedef <a href="libxml2-valid.html#xmlIDTable">xmlIDTable</a> * <a href="#xmlIDTablePtr">xmlIDTablePtr</a>;
-typedef <a href="libxml2-valid.html#xmlNotationTable">xmlNotationTable</a> * <a href="#xmlNotationTablePtr">xmlNotationTablePtr</a>;
-typedef struct _xmlValidCtxt <a href="#xmlValidCtxt">xmlValidCtxt</a>;
-typedef <a href="libxml2-valid.html#xmlElementTable">xmlElementTable</a> * <a href="#xmlElementTablePtr">xmlElementTablePtr</a>;
-typedef <a href="libxml2-valid.html#xmlRefTable">xmlRefTable</a> * <a href="#xmlRefTablePtr">xmlRefTablePtr</a>;
-typedef struct _xmlHashTable <a href="#xmlNotationTable">xmlNotationTable</a>;
-typedef struct _xmlHashTable <a href="#xmlRefTable">xmlRefTable</a>;
-typedef struct _xmlValidState <a href="#xmlValidState">xmlValidState</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>valid: The DTD validation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-uri.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xinclude.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">valid</span></h2>
+<p>valid - The DTD validation</p>
+<p>API for the DTD handling and the validity checking </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_VCTXT_DTD_VALIDATED">XML_VCTXT_DTD_VALIDATED</a>;
+#define <a href="#XML_VCTXT_USE_PCTXT">XML_VCTXT_USE_PCTXT</a>;
 typedef struct _xmlHashTable <a href="#xmlAttributeTable">xmlAttributeTable</a>;
 typedef <a href="libxml2-valid.html#xmlAttributeTable">xmlAttributeTable</a> * <a href="#xmlAttributeTablePtr">xmlAttributeTablePtr</a>;
+typedef struct _xmlHashTable <a href="#xmlElementTable">xmlElementTable</a>;
+typedef <a href="libxml2-valid.html#xmlElementTable">xmlElementTable</a> * <a href="#xmlElementTablePtr">xmlElementTablePtr</a>;
 typedef struct _xmlHashTable <a href="#xmlIDTable">xmlIDTable</a>;
+typedef <a href="libxml2-valid.html#xmlIDTable">xmlIDTable</a> * <a href="#xmlIDTablePtr">xmlIDTablePtr</a>;
+typedef struct _xmlHashTable <a href="#xmlNotationTable">xmlNotationTable</a>;
+typedef <a href="libxml2-valid.html#xmlNotationTable">xmlNotationTable</a> * <a href="#xmlNotationTablePtr">xmlNotationTablePtr</a>;
+typedef struct _xmlHashTable <a href="#xmlRefTable">xmlRefTable</a>;
+typedef <a href="libxml2-valid.html#xmlRefTable">xmlRefTable</a> * <a href="#xmlRefTablePtr">xmlRefTablePtr</a>;
+typedef struct _xmlValidCtxt <a href="#xmlValidCtxt">xmlValidCtxt</a>;
 typedef <a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a> * <a href="#xmlValidCtxtPtr">xmlValidCtxtPtr</a>;
-void	<a href="#xmlFreeNotationTable">xmlFreeNotationTable</a>		(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
-int	<a href="#xmlValidateNameValue">xmlValidateNameValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-void	<a href="#xmlSnprintfElementContent">xmlSnprintfElementContent</a>	(char * buf, <br/>					 int size, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br/>					 int englob);
-<a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>	<a href="#xmlAddRef">xmlAddRef</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
-void	<a href="#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
-int	<a href="#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-int	<a href="#xmlValidateDtdFinal">xmlValidateDtdFinal</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-void	<a href="#xmlDumpAttributeTable">xmlDumpAttributeTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
-<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlCreateEnumeration">xmlCreateEnumeration</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlValidateOneAttribute">xmlValidateOneAttribute</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlValidGetValidElements">xmlValidGetValidElements</a>	(<a href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br/>					 <a href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br/>					 int max);
-int	<a href="#xmlIsMixedElement">xmlIsMixedElement</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#xmlDumpNotationDecl">xmlDumpNotationDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
-int	<a href="#xmlIsID">xmlIsID</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
-<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
-<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlNewDocElementContent">xmlNewDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type);
-void	<a href="#xmlFreeAttributeTable">xmlFreeAttributeTable</a>		(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
-typedef void <a href="#xmlValidityErrorFunc">xmlValidityErrorFunc</a>		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-int	<a href="#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
-<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
-<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>	<a href="#xmlCopyNotationTable">xmlCopyNotationTable</a>	(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
-int	<a href="#xmlValidateDocument">xmlValidateDocument</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-int	<a href="#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a>	(<a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br/>					 int * len, <br/>					 int max);
-<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	<a href="#xmlAddNotationDecl">xmlAddNotationDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * PublicID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-int	<a href="#xmlValidateElementDecl">xmlValidateElementDecl</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
-<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlAddAttributeDecl">xmlAddAttributeDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br/>					 <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br/>					 <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlGetID">xmlGetID</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
-<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>	<a href="#xmlCopyElementTable">xmlCopyElementTable</a>	(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
-<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlGetRefs">xmlGetRefs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
-void	<a href="#xmlSprintfElementContent">xmlSprintfElementContent</a>	(char * buf, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br/>					 int englob);
-int	<a href="#xmlValidateOneElement">xmlValidateOneElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-int	<a href="#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-void	<a href="#xmlDumpElementTable">xmlDumpElementTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>							 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-void	<a href="#xmlDumpElementDecl">xmlDumpElementDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
-void	<a href="#xmlFreeElementContent">xmlFreeElementContent</a>		(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
-int	<a href="#xmlValidateOneNamespace">xmlValidateOneNamespace</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlValidatePushElement">xmlValidatePushElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
-int	<a href="#xmlIsRef">xmlIsRef</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
-<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlCopyDocElementContent">xmlCopyDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>							 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
-<a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>	<a href="#xmlAddID">xmlAddID</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
-void	<a href="#xmlFreeRefTable">xmlFreeRefTable</a>			(<a href="libxml2-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table);
-int	<a href="#xmlValidateNamesValue">xmlValidateNamesValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlRemoveID">xmlRemoveID</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
-void	<a href="#xmlFreeElementTable">xmlFreeElementTable</a>		(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
-void	<a href="#xmlFreeIDTable">xmlFreeIDTable</a>			(<a href="libxml2-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table);
-void	<a href="#xmlFreeValidCtxt">xmlFreeValidCtxt</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur);
+typedef struct _xmlValidState <a href="#xmlValidState">xmlValidState</a>;
+typedef <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> * <a href="#xmlValidStatePtr">xmlValidStatePtr</a>;
+<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlAddAttributeDecl">xmlAddAttributeDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
+<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlAddElementDecl">xmlAddElementDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
+<a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>	<a href="#xmlAddID">xmlAddID</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	<a href="#xmlAddNotationDecl">xmlAddNotationDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * PublicID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+<a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>	<a href="#xmlAddRef">xmlAddRef</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
 <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>	<a href="#xmlCopyAttributeTable">xmlCopyAttributeTable</a>	(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
+<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlCopyDocElementContent">xmlCopyDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlCopyElementContent">xmlCopyElementContent</a>	(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
-int	<a href="#xmlValidateAttributeValue">xmlValidateAttributeValue</a>	(<a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlRemoveRef">xmlRemoveRef</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
-typedef void <a href="#xmlValidityWarningFunc">xmlValidityWarningFunc</a>		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-int	<a href="#xmlValidatePopElement">xmlValidatePopElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
-void	<a href="#xmlFreeEnumeration">xmlFreeEnumeration</a>		(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
+<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>	<a href="#xmlCopyElementTable">xmlCopyElementTable</a>	(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlCopyEnumeration">xmlCopyEnumeration</a>	(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
-<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlValidateDtd">xmlValidateDtd</a>			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
+<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>	<a href="#xmlCopyNotationTable">xmlCopyNotationTable</a>	(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
+<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlCreateEnumeration">xmlCreateEnumeration</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void	<a href="#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
+void	<a href="#xmlDumpAttributeTable">xmlDumpAttributeTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
+void	<a href="#xmlDumpElementDecl">xmlDumpElementDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
+void	<a href="#xmlDumpElementTable">xmlDumpElementTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
+void	<a href="#xmlDumpNotationDecl">xmlDumpNotationDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
+void	<a href="#xmlDumpNotationTable">xmlDumpNotationTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
+void	<a href="#xmlFreeAttributeTable">xmlFreeAttributeTable</a>		(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
+void	<a href="#xmlFreeDocElementContent">xmlFreeDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
+void	<a href="#xmlFreeElementContent">xmlFreeElementContent</a>		(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
+void	<a href="#xmlFreeElementTable">xmlFreeElementTable</a>		(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
+void	<a href="#xmlFreeEnumeration">xmlFreeEnumeration</a>		(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
+void	<a href="#xmlFreeIDTable">xmlFreeIDTable</a>			(<a href="libxml2-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table);
+void	<a href="#xmlFreeNotationTable">xmlFreeNotationTable</a>		(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
+void	<a href="#xmlFreeRefTable">xmlFreeRefTable</a>			(<a href="libxml2-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table);
+void	<a href="#xmlFreeValidCtxt">xmlFreeValidCtxt</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur);
+<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	<a href="#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlGetID">xmlGetID</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
+<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlGetRefs">xmlGetRefs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
+int	<a href="#xmlIsID">xmlIsID</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+int	<a href="#xmlIsMixedElement">xmlIsMixedElement</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlIsRef">xmlIsRef</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlNewDocElementContent">xmlNewDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type);
+<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlNewElementContent">xmlNewElementContent</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type);
 <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>	<a href="#xmlNewValidCtxt">xmlNewValidCtxt</a>		(void);
-void	<a href="#xmlDumpNotationTable">xmlDumpNotationTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
-<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlAddElementDecl">xmlAddElementDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlValidBuildContentModel">xmlValidBuildContentModel</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
-int	<a href="#xmlValidateElement">xmlValidateElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-int	<a href="#xmlValidateNotationUse">xmlValidateNotationUse</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
-int	<a href="#xmlValidateRoot">xmlValidateRoot</a>			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-int	<a href="#xmlValidateNotationDecl">xmlValidateNotationDecl</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
-<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlNewElementContent">xmlNewElementContent</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type);
-<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	<a href="#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlValidatePushCData">xmlValidatePushCData</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br/>					 int len);
+int	<a href="#xmlRemoveID">xmlRemoveID</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+int	<a href="#xmlRemoveRef">xmlRemoveRef</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+void	<a href="#xmlSnprintfElementContent">xmlSnprintfElementContent</a>	(char * buf, <br>					 int size, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob);
+void	<a href="#xmlSprintfElementContent">xmlSprintfElementContent</a>	(char * buf, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob);
+int	<a href="#xmlValidBuildContentModel">xmlValidBuildContentModel</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>							 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+int	<a href="#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a>	(<a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int * len, <br>					 int max);
+int	<a href="#xmlValidGetValidElements">xmlValidGetValidElements</a>	(<a href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br>					 <a href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int max);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+int	<a href="#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
+int	<a href="#xmlValidateAttributeValue">xmlValidateAttributeValue</a>	(<a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+int	<a href="#xmlValidateDocument">xmlValidateDocument</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int	<a href="#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int	<a href="#xmlValidateDtd">xmlValidateDtd</a>			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
+int	<a href="#xmlValidateDtdFinal">xmlValidateDtdFinal</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int	<a href="#xmlValidateElement">xmlValidateElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+int	<a href="#xmlValidateElementDecl">xmlValidateElementDecl</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
+int	<a href="#xmlValidateNameValue">xmlValidateNameValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+int	<a href="#xmlValidateNamesValue">xmlValidateNamesValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+int	<a href="#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
 int	<a href="#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-void	<a href="#xmlFreeDocElementContent">xmlFreeDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
+int	<a href="#xmlValidateNotationDecl">xmlValidateNotationDecl</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
+int	<a href="#xmlValidateNotationUse">xmlValidateNotationUse</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
+int	<a href="#xmlValidateOneAttribute">xmlValidateOneAttribute</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+int	<a href="#xmlValidateOneElement">xmlValidateOneElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+int	<a href="#xmlValidateOneNamespace">xmlValidateOneNamespace</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+int	<a href="#xmlValidatePopElement">xmlValidatePopElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
+int	<a href="#xmlValidatePushCData">xmlValidatePushCData</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len);
+int	<a href="#xmlValidatePushElement">xmlValidatePushElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
+int	<a href="#xmlValidateRoot">xmlValidateRoot</a>			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+typedef void <a href="#xmlValidityErrorFunc">xmlValidityErrorFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+typedef void <a href="#xmlValidityWarningFunc">xmlValidityWarningFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="XML_CTXT_FINISH_DTD_0">Macro </a>XML_CTXT_FINISH_DTD_0</h3><pre class="programlisting">#define <a href="#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a>;
-</pre><p>Special value for finishDtd field when embedded in an <a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_CTXT_FINISH_DTD_1">Macro </a>XML_CTXT_FINISH_DTD_1</h3><pre class="programlisting">#define <a href="#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a>;
-</pre><p>Special value for finishDtd field when embedded in an <a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a></p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_VCTXT_DTD_VALIDATED">Macro </a>XML_VCTXT_DTD_VALIDATED</h3>
+<pre class="programlisting">#define <a href="#XML_VCTXT_DTD_VALIDATED">XML_VCTXT_DTD_VALIDATED</a>;
+</pre>
+<p>Set after <a href="libxml2-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a> was called.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttributeTable">Structure </a>xmlAttributeTable</h3><pre class="programlisting">struct _xmlHashTable {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_VCTXT_USE_PCTXT">Macro </a>XML_VCTXT_USE_PCTXT</h3>
+<pre class="programlisting">#define <a href="#XML_VCTXT_USE_PCTXT">XML_VCTXT_USE_PCTXT</a>;
+</pre>
+<p>Set if the validation context is part of a parser context.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttributeTable">Structure </a>xmlAttributeTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlAttributeTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttributeTablePtr">Typedef </a>xmlAttributeTablePtr</h3><pre class="programlisting"><a href="libxml2-valid.html#xmlAttributeTable">xmlAttributeTable</a> * xmlAttributeTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttributeTablePtr">Typedef </a>xmlAttributeTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlAttributeTable">xmlAttributeTable</a> * xmlAttributeTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementTable">Structure </a>xmlElementTable</h3><pre class="programlisting">struct _xmlHashTable {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementTable">Structure </a>xmlElementTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlElementTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementTablePtr">Typedef </a>xmlElementTablePtr</h3><pre class="programlisting"><a href="libxml2-valid.html#xmlElementTable">xmlElementTable</a> * xmlElementTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementTablePtr">Typedef </a>xmlElementTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlElementTable">xmlElementTable</a> * xmlElementTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIDTable">Structure </a>xmlIDTable</h3><pre class="programlisting">struct _xmlHashTable {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIDTable">Structure </a>xmlIDTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlIDTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIDTablePtr">Typedef </a>xmlIDTablePtr</h3><pre class="programlisting"><a href="libxml2-valid.html#xmlIDTable">xmlIDTable</a> * xmlIDTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIDTablePtr">Typedef </a>xmlIDTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlIDTable">xmlIDTable</a> * xmlIDTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNotationTable">Structure </a>xmlNotationTable</h3><pre class="programlisting">struct _xmlHashTable {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNotationTable">Structure </a>xmlNotationTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlNotationTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNotationTablePtr">Typedef </a>xmlNotationTablePtr</h3><pre class="programlisting"><a href="libxml2-valid.html#xmlNotationTable">xmlNotationTable</a> * xmlNotationTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNotationTablePtr">Typedef </a>xmlNotationTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlNotationTable">xmlNotationTable</a> * xmlNotationTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRefTable">Structure </a>xmlRefTable</h3><pre class="programlisting">struct _xmlHashTable {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRefTable">Structure </a>xmlRefTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlRefTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRefTablePtr">Typedef </a>xmlRefTablePtr</h3><pre class="programlisting"><a href="libxml2-valid.html#xmlRefTable">xmlRefTable</a> * xmlRefTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRefTablePtr">Typedef </a>xmlRefTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlRefTable">xmlRefTable</a> * xmlRefTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidCtxt">Structure </a>xmlValidCtxt</h3><pre class="programlisting">struct _xmlValidCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidCtxt">Structure </a>xmlValidCtxt</h3>
+<pre class="programlisting">struct _xmlValidCtxt {
     void *	userData	: user specific data block
     <a href="libxml2-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a>	error	: the callback in case of errors
     <a href="libxml2-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a>	warning	: the callback in case of warning Node analysis stack used when validat
@@ -205,7 +233,7 @@
     int	nodeNr	: Depth of the parsing stack
     int	nodeMax	: Max depth of the parsing stack
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes
-    unsigned int	finishDtd	: finished validating the Dtd ?
+    unsigned int	flags	: internal flags
     <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc	: the document
     int	valid	: temporary validity check result state state used for non-determinist
     <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> *	vstate	: current state
@@ -217,312 +245,1899 @@
     void *	am
     void *	state
 } xmlValidCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidCtxtPtr">Typedef </a>xmlValidCtxtPtr</h3><pre class="programlisting"><a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a> * xmlValidCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidCtxtPtr">Typedef </a>xmlValidCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a> * xmlValidCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidState">Structure </a>xmlValidState</h3><pre class="programlisting">struct _xmlValidState {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidState">Structure </a>xmlValidState</h3>
+<pre class="programlisting">struct _xmlValidState {
 The content of this structure is not made public by the API.
 } xmlValidState;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidStatePtr">Typedef </a>xmlValidStatePtr</h3><pre class="programlisting"><a href="libxml2-valid.html#xmlValidState">xmlValidState</a> * xmlValidStatePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidStatePtr">Typedef </a>xmlValidStatePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlValidState">xmlValidState</a> * xmlValidStatePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidityErrorFunc"/>Function type xmlValidityErrorFunc</h3><pre class="programlisting">void	xmlValidityErrorFunc		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Callback called when a validity error is found. This is a message oriented function similar to an *printf function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>usually an <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the string to format *printf like vararg</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>remaining arguments to the format</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidityWarningFunc"/>Function type xmlValidityWarningFunc</h3><pre class="programlisting">void	xmlValidityWarningFunc		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>usually an <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the string to format *printf like vararg</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>remaining arguments to the format</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddAttributeDecl"/>xmlAddAttributeDecl ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlAddAttributeDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br/>					 <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br/>					 <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br/>
-</pre><p>Register a new <a href="libxml2-SAX.html#attribute">attribute</a> declaration Note that @tree becomes the ownership of the DTD</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>pointer to the DTD</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> namespace prefix</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td></tr><tr><td><span class="term"><i><tt>def</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> default type</td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>if it's an enumeration, the associated list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not new, otherwise the <a href="libxml2-SAX.html#attribute">attribute</a> decl</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddElementDecl"/>xmlAddElementDecl ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlAddElementDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br/>
-</pre><p>Register a new element declaration</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>pointer to the DTD</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the element content tree or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the entity</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddID"/>xmlAddID ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>	xmlAddID		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br/>
-</pre><p>Register a new id declaration</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value name</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> holding the ID</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the new <a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddNotationDecl"/>xmlAddNotationDecl ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	xmlAddNotationDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * PublicID, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Register a new notation declaration</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>pointer to the DTD</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>PublicID</tt></i>:</span></td><td>the public identifier or NULL</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system identifier or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the entity</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddRef"/>xmlAddRef ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>	xmlAddRef		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br/>
-</pre><p>Register a new ref declaration</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value name</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> holding the Ref</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the new <a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyAttributeTable"/>xmlCopyAttributeTable ()</h3><pre class="programlisting"><a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>	xmlCopyAttributeTable	(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br/>
-</pre><p>Build a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> table.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyDocElementContent"/>xmlCopyDocElementContent ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>							 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br/>
-</pre><p>Build a copy of an element content description.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document owning the element declaration</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>An element content pointer.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyElementContent"/>xmlCopyElementContent ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyElementContent	(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br/>
-</pre><p>Build a copy of an element content description. Deprecated, use <a href="libxml2-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>An element content pointer.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyElementTable"/>xmlCopyElementTable ()</h3><pre class="programlisting"><a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>	xmlCopyElementTable	(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br/>
-</pre><p>Build a copy of an element table.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An element table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyEnumeration"/>xmlCopyEnumeration ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCopyEnumeration	(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br/>
-</pre><p>Copy an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node (recursive).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the tree to copy.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyNotationTable"/>xmlCopyNotationTable ()</h3><pre class="programlisting"><a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>	xmlCopyNotationTable	(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br/>
-</pre><p>Build a copy of a notation table.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>A notation table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateEnumeration"/>xmlCreateEnumeration ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCreateEnumeration	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>create and initialize an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node.</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 enumeration name or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpAttributeDecl"/>xmlDumpAttributeDecl ()</h3><pre class="programlisting">void	xmlDumpAttributeDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br/>
-</pre><p>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> declaration as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>An <a href="libxml2-SAX.html#attribute">attribute</a> declaration</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpAttributeTable"/>xmlDumpAttributeTable ()</h3><pre class="programlisting">void	xmlDumpAttributeTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br/>
-</pre><p>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpElementDecl"/>xmlDumpElementDecl ()</h3><pre class="programlisting">void	xmlDumpElementDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br/>
-</pre><p>This will dump the content of the element declaration as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>An element table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpElementTable"/>xmlDumpElementTable ()</h3><pre class="programlisting">void	xmlDumpElementTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br/>
-</pre><p>This will dump the content of the element table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An element table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpNotationDecl"/>xmlDumpNotationDecl ()</h3><pre class="programlisting">void	xmlDumpNotationDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br/>
-</pre><p>This will dump the content the notation declaration as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>nota</tt></i>:</span></td><td>A notation declaration</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpNotationTable"/>xmlDumpNotationTable ()</h3><pre class="programlisting">void	xmlDumpNotationTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br/>
-</pre><p>This will dump the content of the notation table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>A notation table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeAttributeTable"/>xmlFreeAttributeTable ()</h3><pre class="programlisting">void	xmlFreeAttributeTable		(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br/>
-</pre><p>Deallocate the memory used by an entities hash table.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeDocElementContent"/>xmlFreeDocElementContent ()</h3><pre class="programlisting">void	xmlFreeDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br/>
-</pre><p>Free an element content structure. The whole subtree is removed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document owning the element declaration</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the element content tree to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeElementContent"/>xmlFreeElementContent ()</h3><pre class="programlisting">void	xmlFreeElementContent		(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br/>
-</pre><p>Free an element content structure. The whole subtree is removed. Deprecated, use <a href="libxml2-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the element content tree to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeElementTable"/>xmlFreeElementTable ()</h3><pre class="programlisting">void	xmlFreeElementTable		(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br/>
-</pre><p>Deallocate the memory used by an element hash table.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An element table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeEnumeration"/>xmlFreeEnumeration ()</h3><pre class="programlisting">void	xmlFreeEnumeration		(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br/>
-</pre><p>free an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node (recursive).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the tree to free.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeIDTable"/>xmlFreeIDTable ()</h3><pre class="programlisting">void	xmlFreeIDTable			(<a href="libxml2-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table)<br/>
-</pre><p>Deallocate the memory used by an ID hash table.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An id table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeNotationTable"/>xmlFreeNotationTable ()</h3><pre class="programlisting">void	xmlFreeNotationTable		(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br/>
-</pre><p>Deallocate the memory used by an entities hash table.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An notation table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeRefTable"/>xmlFreeRefTable ()</h3><pre class="programlisting">void	xmlFreeRefTable			(<a href="libxml2-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table)<br/>
-</pre><p>Deallocate the memory used by an Ref hash table.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An ref table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeValidCtxt"/>xmlFreeValidCtxt ()</h3><pre class="programlisting">void	xmlFreeValidCtxt		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur)<br/>
-</pre><p>Free a validation context structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the validation context to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdAttrDesc"/>xmlGetDtdAttrDesc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdAttrDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search the DTD for the description of this <a href="libxml2-SAX.html#attribute">attribute</a> on this element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdElementDesc"/>xmlGetDtdElementDesc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlGetDtdElementDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search the DTD for the description of this element</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdNotationDesc"/>xmlGetDtdNotationDesc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	xmlGetDtdNotationDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search the DTD for the description of this notation</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the notation name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> if found or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdQAttrDesc"/>xmlGetDtdQAttrDesc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdQAttrDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br/>
-</pre><p>Search the DTD for the description of this qualified <a href="libxml2-SAX.html#attribute">attribute</a> on this element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> namespace prefix</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdQElementDesc"/>xmlGetDtdQElementDesc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlGetDtdQElementDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br/>
-</pre><p>Search the DTD for the description of this element</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetID"/>xmlGetID ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlGetID		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID)<br/>
-</pre><p>Search the <a href="libxml2-SAX.html#attribute">attribute</a> declaring the given ID</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the ID value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found, otherwise the <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> defining the ID</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetRefs"/>xmlGetRefs ()</h3><pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlGetRefs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID)<br/>
-</pre><p>Find the set of references for the supplied ID.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the ID value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found, otherwise node set for the ID.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsID"/>xmlIsID ()</h3><pre class="programlisting">int	xmlIsID			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br/>
-</pre><p>Determine whether an <a href="libxml2-SAX.html#attribute">attribute</a> is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element carrying the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the lookup result</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsMixedElement"/>xmlIsMixedElement ()</h3><pre class="programlisting">int	xmlIsMixedElement		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to accept text childs</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no, 1 if yes, and -1 if no element description is available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsRef"/>xmlIsRef ()</h3><pre class="programlisting">int	xmlIsRef			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br/>
-</pre><p>Determine whether an <a href="libxml2-SAX.html#attribute">attribute</a> is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element carrying the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the lookup result</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocElementContent"/>xmlNewDocElementContent ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br/>
-</pre><p>Allocate an element content structure for the document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the subelement name or NULL</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of element content decl</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the new element content structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewElementContent"/>xmlNewElementContent ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewElementContent	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br/>
-</pre><p>Allocate an element content structure. Deprecated in favor of <a href="libxml2-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a></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 subelement name or NULL</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of element content decl</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the new element content structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewValidCtxt"/>xmlNewValidCtxt ()</h3><pre class="programlisting"><a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>	xmlNewValidCtxt		(void)<br/>
-</pre><p>Allocate a validation context 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>NULL if not, otherwise the new validation context structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRemoveID"/>xmlRemoveID ()</h3><pre class="programlisting">int	xmlRemoveID			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br/>
-</pre><p>Remove the given <a href="libxml2-SAX.html#attribute">attribute</a> from the ID table maintained internally.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if the lookup failed and 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRemoveRef"/>xmlRemoveRef ()</h3><pre class="programlisting">int	xmlRemoveRef			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br/>
-</pre><p>Remove the given <a href="libxml2-SAX.html#attribute">attribute</a> from the Ref table maintained internally.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if the lookup failed and 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSnprintfElementContent"/>xmlSnprintfElementContent ()</h3><pre class="programlisting">void	xmlSnprintfElementContent	(char * buf, <br/>					 int size, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br/>					 int englob)<br/>
-</pre><p>This will dump the content of the element content definition Intended just for the debug routine</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output buffer</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the buffer size</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>An element table</td></tr><tr><td><span class="term"><i><tt>englob</tt></i>:</span></td><td>1 if one must print the englobing parenthesis, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSprintfElementContent"/>xmlSprintfElementContent ()</h3><pre class="programlisting">void	xmlSprintfElementContent	(char * buf, <br/>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br/>					 int englob)<br/>
-</pre><p>Deprecated, unsafe, use <a href="libxml2-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output buffer</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>An element table</td></tr><tr><td><span class="term"><i><tt>englob</tt></i>:</span></td><td>1 if one must print the englobing parenthesis, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidBuildContentModel"/>xmlValidBuildContentModel ()</h3><pre class="programlisting">int	xmlValidBuildContentModel	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br/>
-</pre><p>(Re)Build the automata associated to the content model of this element</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a validation context</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element declaration node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, 0 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidCtxtNormalizeAttributeValue"/>xmlValidCtxtNormalizeAttributeValue ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidCtxtNormalizeAttributeValue	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>							 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Does the validation related extra step of the normalization of <a href="libxml2-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt-&gt;valid accordingly</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context or NULL</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the parent</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidGetPotentialChildren"/>xmlValidGetPotentialChildren ()</h3><pre class="programlisting">int	xmlValidGetPotentialChildren	(<a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br/>					 int * len, <br/>					 int max)<br/>
-</pre><p>Build/extend a list of potential children allowed by the content tree</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctree</tt></i>:</span></td><td>an element content tree</td></tr><tr><td><span class="term"><i><tt>names</tt></i>:</span></td><td>an array to store the list of child names</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to the number of element in the list</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of element in the list, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidGetValidElements"/>xmlValidGetValidElements ()</h3><pre class="programlisting">int	xmlValidGetValidElements	(<a href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br/>					 <a href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br/>					 int max)<br/>
-</pre><p>This function returns the list of authorized children to insert within an existing tree while respecting the validity constraints forced by the Dtd. The insertion point is defined using @prev and @next in the following ways: to insert before 'node': xmlValidGetValidElements(node-&gt;prev, node, ... to insert next 'node': xmlValidGetValidElements(node, node-&gt;next, ... to replace 'node': xmlValidGetValidElements(node-&gt;prev, node-&gt;next, ... to prepend a child to 'node': xmlValidGetValidElements(NULL, node-&gt;childs, to append a child to 'node': xmlValidGetValidElements(node-&gt;last, NULL, ... pointers to the element names are inserted at the beginning of the array and do not need to be freed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>prev</tt></i>:</span></td><td>an element to insert after</td></tr><tr><td><span class="term"><i><tt>next</tt></i>:</span></td><td>an element to insert next</td></tr><tr><td><span class="term"><i><tt>names</tt></i>:</span></td><td>an array to store the list of child names</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of element in the list, or -1 in case of error. If the function returns the value @max the caller is invited to grow the receiving array and retry.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidNormalizeAttributeValue"/>xmlValidNormalizeAttributeValue ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidNormalizeAttributeValue	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Does the validation related extra step of the normalization of <a href="libxml2-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by single space (#x20) character.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the parent</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateAttributeDecl"/>xmlValidateAttributeDecl ()</h3><pre class="programlisting">int	xmlValidateAttributeDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br/>
-</pre><p>Try to validate a single <a href="libxml2-SAX.html#attribute">attribute</a> 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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>an <a href="libxml2-SAX.html#attribute">attribute</a> definition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateAttributeValue"/>xmlValidateAttributeValue ()</h3><pre class="programlisting">int	xmlValidateAttributeValue	(<a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Validate that the given <a href="libxml2-SAX.html#attribute">attribute</a> 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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>an <a href="libxml2-SAX.html#attribute">attribute</a> type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>an <a href="libxml2-SAX.html#attribute">attribute</a> value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateDocument"/>xmlValidateDocument ()</h3><pre class="programlisting">int	xmlValidateDocument		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateDocumentFinal"/>xmlValidateDocumentFinal ()</h3><pre class="programlisting">int	xmlValidateDocumentFinal	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Does the final step for the document validation once all the incremental validation steps have been completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS attributes definition for validity</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateDtd"/>xmlValidateDtd ()</h3><pre class="programlisting">int	xmlValidateDtd			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br/>
-</pre><p>Try to validate the document against the dtd instance Basically it does check all the definitions in the DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID or IDREF is present.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a dtd instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateDtdFinal"/>xmlValidateDtdFinal ()</h3><pre class="programlisting">int	xmlValidateDtdFinal		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Does the final step for the dtds validation once all the subsets have been parsed basically it does the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or possible values matches one of the defined entities. - check that NOTATION type attributes default or possible values matches one of the defined notations.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 if invalid and -1 if not well-formed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateElement"/>xmlValidateElement ()</h3><pre class="programlisting">int	xmlValidateElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Try to validate the subtree under an element</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateElementDecl"/>xmlValidateElementDecl ()</h3><pre class="programlisting">int	xmlValidateElementDecl		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br/>
-</pre><p>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 ]</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element definition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateNameValue"/>xmlValidateNameValue ()</h3><pre class="programlisting">int	xmlValidateNameValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Validate that the given value match Name production</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>an Name value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateNamesValue"/>xmlValidateNamesValue ()</h3><pre class="programlisting">int	xmlValidateNamesValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Validate that the given value match Names production</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>an Names value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateNmtokenValue"/>xmlValidateNmtokenValue ()</h3><pre class="programlisting">int	xmlValidateNmtokenValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Validate that the given value match Nmtoken production [ VC: Name Token ]</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>an Nmtoken value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateNmtokensValue"/>xmlValidateNmtokensValue ()</h3><pre class="programlisting">int	xmlValidateNmtokensValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Validate that the given value match Nmtokens production [ VC: Name Token ]</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>an Nmtokens value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateNotationDecl"/>xmlValidateNotationDecl ()</h3><pre class="programlisting">int	xmlValidateNotationDecl		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br/>
-</pre><p>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 ...</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>nota</tt></i>:</span></td><td>a notation definition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateNotationUse"/>xmlValidateNotationUse ()</h3><pre class="programlisting">int	xmlValidateNotationUse		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br/>
-</pre><p>Validate that the given name match a notation declaration. - [ VC: Notation Declared ]</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>notationName</tt></i>:</span></td><td>the notation name to check</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateOneAttribute"/>xmlValidateOneAttribute ()</h3><pre class="programlisting">int	xmlValidateOneAttribute		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Try to validate a single <a href="libxml2-SAX.html#attribute">attribute</a> 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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>an <a href="libxml2-SAX.html#attribute">attribute</a> instance</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> value (without entities processing)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateOneElement"/>xmlValidateOneElement ()</h3><pre class="programlisting">int	xmlValidateOneElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Try to validate a single element and it'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 <a href="libxml2-SAX.html#attribute">attribute</a> present. The ID/IDREF checkings are done separately</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateOneNamespace"/>xmlValidateOneNamespace ()</h3><pre class="programlisting">int	xmlValidateOneNamespace		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>an namespace declaration instance</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> value (without entities processing)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidatePopElement"/>xmlValidatePopElement ()</h3><pre class="programlisting">int	xmlValidatePopElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname)<br/>
-</pre><p>Pop the element end from the validation stack.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>qname</tt></i>:</span></td><td>the qualified name as appearing in the serialization</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidatePushCData"/>xmlValidatePushCData ()</h3><pre class="programlisting">int	xmlValidatePushCData		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br/>					 int len)<br/>
-</pre><p>check the CData parsed for validation in the current stack</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>some character data read</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidatePushElement"/>xmlValidatePushElement ()</h3><pre class="programlisting">int	xmlValidatePushElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname)<br/>
-</pre><p>Push a new element start on the validation stack.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>qname</tt></i>:</span></td><td>the qualified name as appearing in the serialization</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateRoot"/>xmlValidateRoot ()</h3><pre class="programlisting">int	xmlValidateRoot			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidityErrorFunc"></a>Function type xmlValidityErrorFunc</h3>
+<pre class="programlisting">void	xmlValidityErrorFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Callback called when a validity error is found. This is a message oriented function similar to an *printf function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>usually an <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the string to format *printf like vararg</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>remaining arguments to the format</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidityWarningFunc"></a>Function type xmlValidityWarningFunc</h3>
+<pre class="programlisting">void	xmlValidityWarningFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>usually an <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the string to format *printf like vararg</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>remaining arguments to the format</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddAttributeDecl"></a>xmlAddAttributeDecl ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlAddAttributeDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
+</pre>
+<p>Register a new <a href="libxml2-SAX.html#attribute">attribute</a> declaration Note that @tree becomes the ownership of the DTD</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>pointer to the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>def</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>if it's an enumeration, the associated list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not new, otherwise the <a href="libxml2-SAX.html#attribute">attribute</a> decl</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddElementDecl"></a>xmlAddElementDecl ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlAddElementDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
+</pre>
+<p>Register a new element declaration</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>pointer to the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the element type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the element content tree or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the entity</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddID"></a>xmlAddID ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>	xmlAddID		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
+</pre>
+<p>Register a new id declaration</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>pointer to the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> holding the ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the new <a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddNotationDecl"></a>xmlAddNotationDecl ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	xmlAddNotationDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * PublicID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Register a new notation declaration</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>pointer to the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>PublicID</tt></i>:</span></td>
+<td>the public identifier or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the system identifier or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the entity</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddRef"></a>xmlAddRef ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>	xmlAddRef		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
+</pre>
+<p>DEPRECATED, do not use. This function will be removed from the public API. Register a new ref declaration</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>pointer to the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> holding the Ref</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the new <a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyAttributeTable"></a>xmlCopyAttributeTable ()</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>	xmlCopyAttributeTable	(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
+</pre>
+<p>Build a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> table.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyDocElementContent"></a>xmlCopyDocElementContent ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
+</pre>
+<p>Build a copy of an element content description.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document owning the element declaration</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>An element content pointer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyElementContent"></a>xmlCopyElementContent ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyElementContent	(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
+</pre>
+<p>Build a copy of an element content description. Deprecated, use <a href="libxml2-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>An element content pointer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyElementTable"></a>xmlCopyElementTable ()</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>	xmlCopyElementTable	(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
+</pre>
+<p>Build a copy of an element table.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An element table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyEnumeration"></a>xmlCopyEnumeration ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCopyEnumeration	(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br>
+</pre>
+<p>Copy an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node (recursive).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the tree to copy.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyNotationTable"></a>xmlCopyNotationTable ()</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>	xmlCopyNotationTable	(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
+</pre>
+<p>Build a copy of a notation table.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>A notation table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateEnumeration"></a>xmlCreateEnumeration ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCreateEnumeration	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>create and initialize an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node.</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 enumeration name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpAttributeDecl"></a>xmlDumpAttributeDecl ()</h3>
+<pre class="programlisting">void	xmlDumpAttributeDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br>
+</pre>
+<p>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> declaration as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>An <a href="libxml2-SAX.html#attribute">attribute</a> declaration</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpAttributeTable"></a>xmlDumpAttributeTable ()</h3>
+<pre class="programlisting">void	xmlDumpAttributeTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
+</pre>
+<p>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> table as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpElementDecl"></a>xmlDumpElementDecl ()</h3>
+<pre class="programlisting">void	xmlDumpElementDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br>
+</pre>
+<p>This will dump the content of the element declaration as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>An element table</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpElementTable"></a>xmlDumpElementTable ()</h3>
+<pre class="programlisting">void	xmlDumpElementTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
+</pre>
+<p>This will dump the content of the element table as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An element table</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpNotationDecl"></a>xmlDumpNotationDecl ()</h3>
+<pre class="programlisting">void	xmlDumpNotationDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br>
+</pre>
+<p>This will dump the content the notation declaration as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nota</tt></i>:</span></td>
+<td>A notation declaration</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpNotationTable"></a>xmlDumpNotationTable ()</h3>
+<pre class="programlisting">void	xmlDumpNotationTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
+</pre>
+<p>This will dump the content of the notation table as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>A notation table</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeAttributeTable"></a>xmlFreeAttributeTable ()</h3>
+<pre class="programlisting">void	xmlFreeAttributeTable		(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
+</pre>
+<p>Deallocate the memory used by an entities hash table.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeDocElementContent"></a>xmlFreeDocElementContent ()</h3>
+<pre class="programlisting">void	xmlFreeDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
+</pre>
+<p>Free an element content structure. The whole subtree is removed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document owning the element declaration</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the element content tree to free</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeElementContent"></a>xmlFreeElementContent ()</h3>
+<pre class="programlisting">void	xmlFreeElementContent		(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
+</pre>
+<p>Free an element content structure. The whole subtree is removed. Deprecated, use <a href="libxml2-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the element content tree to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeElementTable"></a>xmlFreeElementTable ()</h3>
+<pre class="programlisting">void	xmlFreeElementTable		(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
+</pre>
+<p>Deallocate the memory used by an element hash table.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An element table</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeEnumeration"></a>xmlFreeEnumeration ()</h3>
+<pre class="programlisting">void	xmlFreeEnumeration		(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br>
+</pre>
+<p>free an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node (recursive).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the tree to free.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeIDTable"></a>xmlFreeIDTable ()</h3>
+<pre class="programlisting">void	xmlFreeIDTable			(<a href="libxml2-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table)<br>
+</pre>
+<p>Deallocate the memory used by an ID hash table.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An id table</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeNotationTable"></a>xmlFreeNotationTable ()</h3>
+<pre class="programlisting">void	xmlFreeNotationTable		(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
+</pre>
+<p>Deallocate the memory used by an entities hash table.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An notation table</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeRefTable"></a>xmlFreeRefTable ()</h3>
+<pre class="programlisting">void	xmlFreeRefTable			(<a href="libxml2-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table)<br>
+</pre>
+<p>DEPRECATED, do not use. This function will be removed from the public API. Deallocate the memory used by an Ref hash table.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An ref table</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeValidCtxt"></a>xmlFreeValidCtxt ()</h3>
+<pre class="programlisting">void	xmlFreeValidCtxt		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur)<br>
+</pre>
+<p>Free a validation context structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the validation context to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDtdAttrDesc"></a>xmlGetDtdAttrDesc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdAttrDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search the DTD for the description of this <a href="libxml2-SAX.html#attribute">attribute</a> on this element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a pointer to the DtD to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDtdElementDesc"></a>xmlGetDtdElementDesc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlGetDtdElementDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search the DTD for the description of this element</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a pointer to the DtD to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDtdNotationDesc"></a>xmlGetDtdNotationDesc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	xmlGetDtdNotationDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search the DTD for the description of this notation</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a pointer to the DtD to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the notation name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> if found or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDtdQAttrDesc"></a>xmlGetDtdQAttrDesc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdQAttrDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
+</pre>
+<p>Search the DTD for the description of this qualified <a href="libxml2-SAX.html#attribute">attribute</a> on this element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a pointer to the DtD to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDtdQElementDesc"></a>xmlGetDtdQElementDesc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlGetDtdQElementDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
+</pre>
+<p>Search the DTD for the description of this element</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a pointer to the DtD to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the element namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetID"></a>xmlGetID ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlGetID		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID)<br>
+</pre>
+<p>Search the <a href="libxml2-SAX.html#attribute">attribute</a> declaring the given ID</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>pointer to the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the ID value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not found, otherwise the <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> defining the ID</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetRefs"></a>xmlGetRefs ()</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlGetRefs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID)<br>
+</pre>
+<p>DEPRECATED, do not use. This function will be removed from the public API. Find the set of references for the supplied ID.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>pointer to the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the ID value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not found, otherwise node set for the ID.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsID"></a>xmlIsID ()</h3>
+<pre class="programlisting">int	xmlIsID			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
+</pre>
+<p>Determine whether an <a href="libxml2-SAX.html#attribute">attribute</a> is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the element carrying the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or 1 depending on the lookup result</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsMixedElement"></a>xmlIsMixedElement ()</h3>
+<pre class="programlisting">int	xmlIsMixedElement		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to accept text childs</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no, 1 if yes, and -1 if no element description is available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsRef"></a>xmlIsRef ()</h3>
+<pre class="programlisting">int	xmlIsRef			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
+</pre>
+<p>DEPRECATED, do not use. This function will be removed from the public API. Determine whether an <a href="libxml2-SAX.html#attribute">attribute</a> is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the element carrying the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or 1 depending on the lookup result</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocElementContent"></a>xmlNewDocElementContent ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br>
+</pre>
+<p>Allocate an element content structure for the document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the subelement name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the type of element content decl</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the new element content structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewElementContent"></a>xmlNewElementContent ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewElementContent	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br>
+</pre>
+<p>Allocate an element content structure. Deprecated in favor of <a href="libxml2-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a></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 subelement name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the type of element content decl</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the new element content structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewValidCtxt"></a>xmlNewValidCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>	xmlNewValidCtxt		(void)<br>
+</pre>
+<p>Allocate a validation context 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>NULL if not, otherwise the new validation context structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRemoveID"></a>xmlRemoveID ()</h3>
+<pre class="programlisting">int	xmlRemoveID			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
+</pre>
+<p>Remove the given <a href="libxml2-SAX.html#attribute">attribute</a> from the ID table maintained internally.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 if the lookup failed and 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRemoveRef"></a>xmlRemoveRef ()</h3>
+<pre class="programlisting">int	xmlRemoveRef			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
+</pre>
+<p>DEPRECATED, do not use. This function will be removed from the public API. Remove the given <a href="libxml2-SAX.html#attribute">attribute</a> from the Ref table maintained internally.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 if the lookup failed and 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSnprintfElementContent"></a>xmlSnprintfElementContent ()</h3>
+<pre class="programlisting">void	xmlSnprintfElementContent	(char * buf, <br>					 int size, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob)<br>
+</pre>
+<p>This will dump the content of the element content definition Intended just for the debug routine</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an output buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the buffer size</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>An element table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>englob</tt></i>:</span></td>
+<td>1 if one must print the englobing parenthesis, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSprintfElementContent"></a>xmlSprintfElementContent ()</h3>
+<pre class="programlisting">void	xmlSprintfElementContent	(char * buf, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob)<br>
+</pre>
+<p>Deprecated, unsafe, use <a href="libxml2-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an output buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>An element table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>englob</tt></i>:</span></td>
+<td>1 if one must print the englobing parenthesis, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidBuildContentModel"></a>xmlValidBuildContentModel ()</h3>
+<pre class="programlisting">int	xmlValidBuildContentModel	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br>
+</pre>
+<p>(Re)Build the automata associated to the content model of this element</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element declaration node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, 0 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidCtxtNormalizeAttributeValue"></a>xmlValidCtxtNormalizeAttributeValue ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidCtxtNormalizeAttributeValue	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>							 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Does the validation related extra step of the normalization of <a href="libxml2-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt-&gt;valid accordingly</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the parent</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidGetPotentialChildren"></a>xmlValidGetPotentialChildren ()</h3>
+<pre class="programlisting">int	xmlValidGetPotentialChildren	(<a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int * len, <br>					 int max)<br>
+</pre>
+<p>Build/extend a list of potential children allowed by the content tree</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctree</tt></i>:</span></td>
+<td>an element content tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>names</tt></i>:</span></td>
+<td>an array to store the list of child names</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>a pointer to the number of element in the list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of element in the list, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidGetValidElements"></a>xmlValidGetValidElements ()</h3>
+<pre class="programlisting">int	xmlValidGetValidElements	(<a href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br>					 <a href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int max)<br>
+</pre>
+<p>This function returns the list of authorized children to insert within an existing tree while respecting the validity constraints forced by the Dtd. The insertion point is defined using @prev and @next in the following ways: to insert before 'node': xmlValidGetValidElements(node-&gt;prev, node, ... to insert next 'node': xmlValidGetValidElements(node, node-&gt;next, ... to replace 'node': xmlValidGetValidElements(node-&gt;prev, node-&gt;next, ... to prepend a child to 'node': xmlValidGetValidElements(NULL, node-&gt;childs, to append a child to 'node': xmlValidGetValidElements(node-&gt;last, NULL, ... pointers to the element names are inserted at the beginning of the array and do not need to be freed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>prev</tt></i>:</span></td>
+<td>an element to insert after</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>next</tt></i>:</span></td>
+<td>an element to insert next</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>names</tt></i>:</span></td>
+<td>an array to store the list of child names</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of element in the list, or -1 in case of error. If the function returns the value @max the caller is invited to grow the receiving array and retry.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidNormalizeAttributeValue"></a>xmlValidNormalizeAttributeValue ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidNormalizeAttributeValue	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Does the validation related extra step of the normalization of <a href="libxml2-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by single space (#x20) character.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the parent</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateAttributeDecl"></a>xmlValidateAttributeDecl ()</h3>
+<pre class="programlisting">int	xmlValidateAttributeDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br>
+</pre>
+<p>Try to validate a single <a href="libxml2-SAX.html#attribute">attribute</a> 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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>an <a href="libxml2-SAX.html#attribute">attribute</a> definition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateAttributeValue"></a>xmlValidateAttributeValue ()</h3>
+<pre class="programlisting">int	xmlValidateAttributeValue	(<a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Validate that the given <a href="libxml2-SAX.html#attribute">attribute</a> 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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>an <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>an <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateDocument"></a>xmlValidateDocument ()</h3>
+<pre class="programlisting">int	xmlValidateDocument		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateDocumentFinal"></a>xmlValidateDocumentFinal ()</h3>
+<pre class="programlisting">int	xmlValidateDocumentFinal	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Does the final step for the document validation once all the incremental validation steps have been completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS attributes definition for validity</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateDtd"></a>xmlValidateDtd ()</h3>
+<pre class="programlisting">int	xmlValidateDtd			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
+</pre>
+<p>Try to validate the document against the dtd instance Basically it does check all the definitions in the DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID or IDREF is present.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a dtd instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateDtdFinal"></a>xmlValidateDtdFinal ()</h3>
+<pre class="programlisting">int	xmlValidateDtdFinal		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Does the final step for the dtds validation once all the subsets have been parsed basically it does the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or possible values matches one of the defined entities. - check that NOTATION type attributes default or possible values matches one of the defined notations.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 if invalid and -1 if not well-formed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateElement"></a>xmlValidateElement ()</h3>
+<pre class="programlisting">int	xmlValidateElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Try to validate the subtree under an element</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateElementDecl"></a>xmlValidateElementDecl ()</h3>
+<pre class="programlisting">int	xmlValidateElementDecl		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br>
+</pre>
+<p>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 ]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element definition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateNameValue"></a>xmlValidateNameValue ()</h3>
+<pre class="programlisting">int	xmlValidateNameValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Validate that the given value match Name production</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>an Name value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateNamesValue"></a>xmlValidateNamesValue ()</h3>
+<pre class="programlisting">int	xmlValidateNamesValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Validate that the given value match Names production</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>an Names value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateNmtokenValue"></a>xmlValidateNmtokenValue ()</h3>
+<pre class="programlisting">int	xmlValidateNmtokenValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Validate that the given value match Nmtoken production [ VC: Name Token ]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>an Nmtoken value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateNmtokensValue"></a>xmlValidateNmtokensValue ()</h3>
+<pre class="programlisting">int	xmlValidateNmtokensValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Validate that the given value match Nmtokens production [ VC: Name Token ]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>an Nmtokens value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateNotationDecl"></a>xmlValidateNotationDecl ()</h3>
+<pre class="programlisting">int	xmlValidateNotationDecl		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br>
+</pre>
+<p>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 ...</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nota</tt></i>:</span></td>
+<td>a notation definition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateNotationUse"></a>xmlValidateNotationUse ()</h3>
+<pre class="programlisting">int	xmlValidateNotationUse		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
+</pre>
+<p>Validate that the given name match a notation declaration. - [ VC: Notation Declared ]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
+<td>the notation name to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateOneAttribute"></a>xmlValidateOneAttribute ()</h3>
+<pre class="programlisting">int	xmlValidateOneAttribute		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Try to validate a single <a href="libxml2-SAX.html#attribute">attribute</a> 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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>an <a href="libxml2-SAX.html#attribute">attribute</a> instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value (without entities processing)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateOneElement"></a>xmlValidateOneElement ()</h3>
+<pre class="programlisting">int	xmlValidateOneElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Try to validate a single element and it'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 <a href="libxml2-SAX.html#attribute">attribute</a> present. The ID/IDREF checkings are done separately</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateOneNamespace"></a>xmlValidateOneNamespace ()</h3>
+<pre class="programlisting">int	xmlValidateOneNamespace		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>an namespace declaration instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value (without entities processing)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidatePopElement"></a>xmlValidatePopElement ()</h3>
+<pre class="programlisting">int	xmlValidatePopElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname)<br>
+</pre>
+<p>Pop the element end from the validation stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>qname</tt></i>:</span></td>
+<td>the qualified name as appearing in the serialization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidatePushCData"></a>xmlValidatePushCData ()</h3>
+<pre class="programlisting">int	xmlValidatePushCData		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len)<br>
+</pre>
+<p>check the CData parsed for validation in the current stack</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>some character data read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidatePushElement"></a>xmlValidatePushElement ()</h3>
+<pre class="programlisting">int	xmlValidatePushElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname)<br>
+</pre>
+<p>Push a new element start on the validation stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>qname</tt></i>:</span></td>
+<td>the qualified name as appearing in the serialization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateRoot"></a>xmlValidateRoot ()</h3>
+<pre class="programlisting">int	xmlValidateRoot			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xinclude.html b/doc/devhelp/libxml2-xinclude.html
index 140fb40..6b95826 100644
--- a/doc/devhelp/libxml2-xinclude.html
+++ b/doc/devhelp/libxml2-xinclude.html
@@ -1,169 +1,390 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xinclude: implementation of XInclude</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-valid.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xlink.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xinclude</span>
-    </h2>
-    <p>xinclude - implementation of XInclude</p>
-    <p>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a>;
-#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xinclude: implementation of XInclude</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-valid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xlink.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xinclude</span></h2>
+<p>xinclude - implementation of XInclude</p>
+<p>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
 #define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a>;
-#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
-#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a>;
-#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a>;
 #define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a>;
-#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a>;
-#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a>;
+#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a>;
 #define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a>;
+#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a>;
+#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a>;
+#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a>;
+#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a>;
+#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a>;
 typedef struct _xmlXIncludeCtxt <a href="#xmlXIncludeCtxt">xmlXIncludeCtxt</a>;
 typedef <a href="libxml2-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * <a href="#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>;
-int	<a href="#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>					 int flags, <br/>					 void * data);
-int	<a href="#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int flags, <br/>					 void * data);
-int	<a href="#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int flags);
-int	<a href="#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
-int	<a href="#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
 void	<a href="#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt);
-int	<a href="#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br/>					 int flags);
-int	<a href="#xmlXIncludeProcess">xmlXIncludeProcess</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
 <a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>	<a href="#xmlXIncludeNewContext">xmlXIncludeNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-int	<a href="#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>					 int flags);
+int	<a href="#xmlXIncludeProcess">xmlXIncludeProcess</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int	<a href="#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags);
+int	<a href="#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags, <br>					 void * data);
+int	<a href="#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int	<a href="#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
+int	<a href="#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags);
+int	<a href="#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags, <br>					 void * data);
+int	<a href="#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 int flags);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_FALLBACK">Macro </a>XINCLUDE_FALLBACK</h3><pre class="programlisting">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
-</pre><p>Macro defining "fallback"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_HREF">Macro </a>XINCLUDE_HREF</h3><pre class="programlisting">#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a>;
-</pre><p>Macro defining "href"</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_FALLBACK">Macro </a>XINCLUDE_FALLBACK</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
+</pre>
+<p>Macro defining "fallback"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_NODE">Macro </a>XINCLUDE_NODE</h3><pre class="programlisting">#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a>;
-</pre><p>Macro defining "include"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_HREF">Macro </a>XINCLUDE_HREF</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a>;
+</pre>
+<p>Macro defining "href"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_NS">Macro </a>XINCLUDE_NS</h3><pre class="programlisting">#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a>;
-</pre><p>Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_NODE">Macro </a>XINCLUDE_NODE</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a>;
+</pre>
+<p>Macro defining "include"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_OLD_NS">Macro </a>XINCLUDE_OLD_NS</h3><pre class="programlisting">#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a>;
-</pre><p>Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_NS">Macro </a>XINCLUDE_NS</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a>;
+</pre>
+<p>Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_PARSE">Macro </a>XINCLUDE_PARSE</h3><pre class="programlisting">#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a>;
-</pre><p>Macro defining "parse"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_OLD_NS">Macro </a>XINCLUDE_OLD_NS</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a>;
+</pre>
+<p>Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_PARSE_ENCODING">Macro </a>XINCLUDE_PARSE_ENCODING</h3><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a>;
-</pre><p>Macro defining "encoding"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_PARSE">Macro </a>XINCLUDE_PARSE</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a>;
+</pre>
+<p>Macro defining "parse"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_PARSE_TEXT">Macro </a>XINCLUDE_PARSE_TEXT</h3><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a>;
-</pre><p>Macro defining "text"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_PARSE_ENCODING">Macro </a>XINCLUDE_PARSE_ENCODING</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a>;
+</pre>
+<p>Macro defining "encoding"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_PARSE_XML">Macro </a>XINCLUDE_PARSE_XML</h3><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a>;
-</pre><p>Macro defining "xml"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_PARSE_TEXT">Macro </a>XINCLUDE_PARSE_TEXT</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a>;
+</pre>
+<p>Macro defining "text"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_PARSE_XPOINTER">Macro </a>XINCLUDE_PARSE_XPOINTER</h3><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a>;
-</pre><p>Macro defining "xpointer"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_PARSE_XML">Macro </a>XINCLUDE_PARSE_XML</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a>;
+</pre>
+<p>Macro defining "xml"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeCtxt">Structure </a>xmlXIncludeCtxt</h3><pre class="programlisting">struct _xmlXIncludeCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_PARSE_XPOINTER">Macro </a>XINCLUDE_PARSE_XPOINTER</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a>;
+</pre>
+<p>Macro defining "xpointer"</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeCtxt">Structure </a>xmlXIncludeCtxt</h3>
+<pre class="programlisting">struct _xmlXIncludeCtxt {
 The content of this structure is not made public by the API.
 } xmlXIncludeCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeCtxtPtr">Typedef </a>xmlXIncludeCtxtPtr</h3><pre class="programlisting"><a href="libxml2-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * xmlXIncludeCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeCtxtPtr">Typedef </a>xmlXIncludeCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * xmlXIncludeCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeFreeContext"/>xmlXIncludeFreeContext ()</h3><pre class="programlisting">void	xmlXIncludeFreeContext		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt)<br/>
-</pre><p>Free an XInclude context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XInclude context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeNewContext"/>xmlXIncludeNewContext ()</h3><pre class="programlisting"><a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>	xmlXIncludeNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Creates a new XInclude context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML Document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcess"/>xmlXIncludeProcess ()</h3><pre class="programlisting">int	xmlXIncludeProcess		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Implement the XInclude substitution on the XML document @doc</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessFlags"/>xmlXIncludeProcessFlags ()</h3><pre class="programlisting">int	xmlXIncludeProcessFlags		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int flags)<br/>
-</pre><p>Implement the XInclude substitution on the XML document @doc</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessFlagsData"/>xmlXIncludeProcessFlagsData ()</h3><pre class="programlisting">int	xmlXIncludeProcessFlagsData	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int flags, <br/>					 void * data)<br/>
-</pre><p>Implement the XInclude substitution on the XML document @doc</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>application data that will be passed to the parser context in the _private field of the parser context(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessNode"/>xmlXIncludeProcessNode ()</h3><pre class="programlisting">int	xmlXIncludeProcessNode		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Implement the XInclude substitution for the given subtree reusing the information and data coming from the given context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an existing XInclude context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessTree"/>xmlXIncludeProcessTree ()</h3><pre class="programlisting">int	xmlXIncludeProcessTree		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br/>
-</pre><p>Implement the XInclude substitution for the given subtree</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessTreeFlags"/>xmlXIncludeProcessTreeFlags ()</h3><pre class="programlisting">int	xmlXIncludeProcessTreeFlags	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>					 int flags)<br/>
-</pre><p>Implement the XInclude substitution for the given subtree</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessTreeFlagsData"/>xmlXIncludeProcessTreeFlagsData ()</h3><pre class="programlisting">int	xmlXIncludeProcessTreeFlagsData	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>					 int flags, <br/>					 void * data)<br/>
-</pre><p>Implement the XInclude substitution on the XML node @tree</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>an XML node</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>application data that will be passed to the parser context in the _private field of the parser context(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeSetFlags"/>xmlXIncludeSetFlags ()</h3><pre class="programlisting">int	xmlXIncludeSetFlags		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br/>					 int flags)<br/>
-</pre><p>Set the flags used for further processing of XML resources.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XInclude processing context</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</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></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeFreeContext"></a>xmlXIncludeFreeContext ()</h3>
+<pre class="programlisting">void	xmlXIncludeFreeContext		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free an XInclude context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XInclude context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeNewContext"></a>xmlXIncludeNewContext ()</h3>
+<pre class="programlisting"><a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>	xmlXIncludeNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Creates a new XInclude context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>an XML Document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcess"></a>xmlXIncludeProcess ()</h3>
+<pre class="programlisting">int	xmlXIncludeProcess		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Implement the XInclude substitution on the XML document @doc</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessFlags"></a>xmlXIncludeProcessFlags ()</h3>
+<pre class="programlisting">int	xmlXIncludeProcessFlags		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags)<br>
+</pre>
+<p>Implement the XInclude substitution on the XML document @doc</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessFlagsData"></a>xmlXIncludeProcessFlagsData ()</h3>
+<pre class="programlisting">int	xmlXIncludeProcessFlagsData	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags, <br>					 void * data)<br>
+</pre>
+<p>Implement the XInclude substitution on the XML document @doc</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>application data that will be passed to the parser context in the _private field of the parser context(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessNode"></a>xmlXIncludeProcessNode ()</h3>
+<pre class="programlisting">int	xmlXIncludeProcessNode		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Implement the XInclude substitution for the given subtree reusing the information and data coming from the given context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an existing XInclude context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node in an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessTree"></a>xmlXIncludeProcessTree ()</h3>
+<pre class="programlisting">int	xmlXIncludeProcessTree		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br>
+</pre>
+<p>Implement the XInclude substitution for the given subtree</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>a node in an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessTreeFlags"></a>xmlXIncludeProcessTreeFlags ()</h3>
+<pre class="programlisting">int	xmlXIncludeProcessTreeFlags	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags)<br>
+</pre>
+<p>Implement the XInclude substitution for the given subtree</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>a node in an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessTreeFlagsData"></a>xmlXIncludeProcessTreeFlagsData ()</h3>
+<pre class="programlisting">int	xmlXIncludeProcessTreeFlagsData	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags, <br>					 void * data)<br>
+</pre>
+<p>Implement the XInclude substitution on the XML node @tree</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>an XML node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>application data that will be passed to the parser context in the _private field of the parser context(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeSetFlags"></a>xmlXIncludeSetFlags ()</h3>
+<pre class="programlisting">int	xmlXIncludeSetFlags		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 int flags)<br>
+</pre>
+<p>Set the flags used for further processing of XML resources.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XInclude processing context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</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>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xlink.html b/doc/devhelp/libxml2-xlink.html
index abe6965..4162a9a 100644
--- a/doc/devhelp/libxml2-xlink.html
+++ b/doc/devhelp/libxml2-xlink.html
@@ -1,160 +1,382 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xlink: unfinished XLink detection module</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xinclude.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlIO.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xlink</span>
-    </h2>
-    <p>xlink - unfinished XLink detection module</p>
-    <p>unfinished XLink detection module </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkTitle">xlinkTitle</a>;
-typedef enum <a href="#xlinkShow">xlinkShow</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xlink: unfinished XLink detection module</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xinclude.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlIO.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xlink</span></h2>
+<p>xlink - unfinished XLink detection module</p>
+<p>unfinished XLink detection module </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef enum <a href="#xlinkActuate">xlinkActuate</a>;
 typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkHRef">xlinkHRef</a>;
-typedef enum <a href="#xlinkActuate">xlinkActuate</a>;
 typedef struct _xlinkHandler <a href="#xlinkHandler">xlinkHandler</a>;
-typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkRole">xlinkRole</a>;
 typedef <a href="libxml2-xlink.html#xlinkHandler">xlinkHandler</a> * <a href="#xlinkHandlerPtr">xlinkHandlerPtr</a>;
+typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkRole">xlinkRole</a>;
+typedef enum <a href="#xlinkShow">xlinkShow</a>;
+typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkTitle">xlinkTitle</a>;
 typedef enum <a href="#xlinkType">xlinkType</a>;
+typedef void <a href="#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbArcs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br>					 <a href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br>					 <a href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
+typedef void <a href="#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
+<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>	<a href="#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a>	(void);
+<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>	<a href="#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a>	(void);
+<a href="libxml2-xlink.html#xlinkType">xlinkType</a>	<a href="#xlinkIsLink">xlinkIsLink</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+typedef void <a href="#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
 void	<a href="#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a>		(<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a> func);
 void	<a href="#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a>		(<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> handler);
-typedef void <a href="#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>		(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int nbLocators, <br/>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br/>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br/>					 int nbArcs, <br/>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br/>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br/>					 <a href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br/>					 <a href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br/>					 int nbTitles, <br/>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
-typedef void <a href="#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>	(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int nbLocators, <br/>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br/>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br/>					 int nbTitles, <br/>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
-typedef void <a href="#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>		(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br/>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br/>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title);
-typedef void <a href="#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>		(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>	<a href="#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a>	(void);
-<a href="libxml2-xlink.html#xlinkType">xlinkType</a>	<a href="#xlinkIsLink">xlinkIsLink</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>	<a href="#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a>	(void);
+typedef void <a href="#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xlinkActuate">Enum </a>xlinkActuate</h3><pre class="programlisting">enum <a href="#xlinkActuate">xlinkActuate</a> {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkActuate">Enum </a>xlinkActuate</h3>
+<pre class="programlisting">enum <a href="#xlinkActuate">xlinkActuate</a> {
     <a name="XLINK_ACTUATE_NONE">XLINK_ACTUATE_NONE</a> = 0
     <a name="XLINK_ACTUATE_AUTO">XLINK_ACTUATE_AUTO</a> = 1
     <a name="XLINK_ACTUATE_ONREQUEST">XLINK_ACTUATE_ONREQUEST</a> = 2
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkHRef">Typedef </a>xlinkHRef</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkHRef;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkHRef">Typedef </a>xlinkHRef</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkHRef;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkHandler">Structure </a>xlinkHandler</h3><pre class="programlisting">struct _xlinkHandler {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkHandler">Structure </a>xlinkHandler</h3>
+<pre class="programlisting">struct _xlinkHandler {
     <a href="libxml2-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>	simple
     <a href="libxml2-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>	extended
     <a href="libxml2-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>	set
 } xlinkHandler;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkHandlerPtr">Typedef </a>xlinkHandlerPtr</h3><pre class="programlisting"><a href="libxml2-xlink.html#xlinkHandler">xlinkHandler</a> * xlinkHandlerPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkHandlerPtr">Typedef </a>xlinkHandlerPtr</h3>
+<pre class="programlisting"><a href="libxml2-xlink.html#xlinkHandler">xlinkHandler</a> * xlinkHandlerPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkRole">Typedef </a>xlinkRole</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkRole;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkRole">Typedef </a>xlinkRole</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkRole;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkShow">Enum </a>xlinkShow</h3><pre class="programlisting">enum <a href="#xlinkShow">xlinkShow</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkShow">Enum </a>xlinkShow</h3>
+<pre class="programlisting">enum <a href="#xlinkShow">xlinkShow</a> {
     <a name="XLINK_SHOW_NONE">XLINK_SHOW_NONE</a> = 0
     <a name="XLINK_SHOW_NEW">XLINK_SHOW_NEW</a> = 1
     <a name="XLINK_SHOW_EMBED">XLINK_SHOW_EMBED</a> = 2
     <a name="XLINK_SHOW_REPLACE">XLINK_SHOW_REPLACE</a> = 3
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkTitle">Typedef </a>xlinkTitle</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkTitle;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkTitle">Typedef </a>xlinkTitle</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkTitle;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkType">Enum </a>xlinkType</h3><pre class="programlisting">enum <a href="#xlinkType">xlinkType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkType">Enum </a>xlinkType</h3>
+<pre class="programlisting">enum <a href="#xlinkType">xlinkType</a> {
     <a name="XLINK_TYPE_NONE">XLINK_TYPE_NONE</a> = 0
     <a name="XLINK_TYPE_SIMPLE">XLINK_TYPE_SIMPLE</a> = 1
     <a name="XLINK_TYPE_EXTENDED">XLINK_TYPE_EXTENDED</a> = 2
     <a name="XLINK_TYPE_EXTENDED_SET">XLINK_TYPE_EXTENDED_SET</a> = 3
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkExtendedLinkFunk"/>Function type xlinkExtendedLinkFunk</h3><pre class="programlisting">void	xlinkExtendedLinkFunk		(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int nbLocators, <br/>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br/>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br/>					 int nbArcs, <br/>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br/>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br/>					 <a href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br/>					 <a href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br/>					 int nbTitles, <br/>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br/>
-</pre><p>This is the prototype for a extended link detection callback.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node carrying the link</td></tr><tr><td><span class="term"><i><tt>nbLocators</tt></i>:</span></td><td>the number of locators detected on the link</td></tr><tr><td><span class="term"><i><tt>hrefs</tt></i>:</span></td><td>pointer to the array of locator hrefs</td></tr><tr><td><span class="term"><i><tt>roles</tt></i>:</span></td><td>pointer to the array of locator roles</td></tr><tr><td><span class="term"><i><tt>nbArcs</tt></i>:</span></td><td>the number of arcs detected on the link</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>pointer to the array of source roles found on the arcs</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>pointer to the array of target roles found on the arcs</td></tr><tr><td><span class="term"><i><tt>show</tt></i>:</span></td><td>array of values for the show attributes found on the arcs</td></tr><tr><td><span class="term"><i><tt>actuate</tt></i>:</span></td><td>array of values for the actuate attributes found on the arcs</td></tr><tr><td><span class="term"><i><tt>nbTitles</tt></i>:</span></td><td>the number of titles detected on the link</td></tr><tr><td><span class="term"><i><tt>titles</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>langs</tt></i>:</span></td><td>array of xml:lang values for the titles</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkExtendedLinkSetFunk"/>Function type xlinkExtendedLinkSetFunk</h3><pre class="programlisting">void	xlinkExtendedLinkSetFunk	(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 int nbLocators, <br/>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br/>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br/>					 int nbTitles, <br/>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br/>
-</pre><p>This is the prototype for a extended link set detection callback.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node carrying the link</td></tr><tr><td><span class="term"><i><tt>nbLocators</tt></i>:</span></td><td>the number of locators detected on the link</td></tr><tr><td><span class="term"><i><tt>hrefs</tt></i>:</span></td><td>pointer to the array of locator hrefs</td></tr><tr><td><span class="term"><i><tt>roles</tt></i>:</span></td><td>pointer to the array of locator roles</td></tr><tr><td><span class="term"><i><tt>nbTitles</tt></i>:</span></td><td>the number of titles detected on the link</td></tr><tr><td><span class="term"><i><tt>titles</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>langs</tt></i>:</span></td><td>array of xml:lang values for the titles</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkNodeDetectFunc"/>Function type xlinkNodeDetectFunc</h3><pre class="programlisting">void	xlinkNodeDetectFunc		(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>This is the prototype for the link detection routine. It calls the default link detection callbacks upon link detection.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to check</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkSimpleLinkFunk"/>Function type xlinkSimpleLinkFunk</h3><pre class="programlisting">void	xlinkSimpleLinkFunk		(void * ctx, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br/>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br/>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title)<br/>
-</pre><p>This is the prototype for a simple link detection callback.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node carrying the link</td></tr><tr><td><span class="term"><i><tt>href</tt></i>:</span></td><td>the target of the link</td></tr><tr><td><span class="term"><i><tt>role</tt></i>:</span></td><td>the role string</td></tr><tr><td><span class="term"><i><tt>title</tt></i>:</span></td><td>the link title</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkGetDefaultDetect"/>xlinkGetDefaultDetect ()</h3><pre class="programlisting"><a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>	xlinkGetDefaultDetect	(void)<br/>
-</pre><p>Get the default xlink detection routine</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 current function or NULL;</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkGetDefaultHandler"/>xlinkGetDefaultHandler ()</h3><pre class="programlisting"><a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>	xlinkGetDefaultHandler	(void)<br/>
-</pre><p>Get the default xlink handler.</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 current <a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> value.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkIsLink"/>xlinkIsLink ()</h3><pre class="programlisting"><a href="libxml2-xlink.html#xlinkType">xlinkType</a>	xlinkIsLink		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Check whether the given node carries the attributes needed to be a link element (or is one of the linking elements issued from the (X)HTML DtDs). This routine don't try to do full checking of the link validity but tries to detect and return the appropriate link type.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document containing the node</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node pointer itself</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xlink.html#xlinkType">xlinkType</a> of the node (XLINK_TYPE_NONE if there is no link detected.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkSetDefaultDetect"/>xlinkSetDefaultDetect ()</h3><pre class="programlisting">void	xlinkSetDefaultDetect		(<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a> func)<br/>
-</pre><p>Set the default xlink detection routine</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>pointer to the new detection routine.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkSetDefaultHandler"/>xlinkSetDefaultHandler ()</h3><pre class="programlisting">void	xlinkSetDefaultHandler		(<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> handler)<br/>
-</pre><p>Set the default xlink handlers</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new value for the xlink handler block</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkExtendedLinkFunk"></a>Function type xlinkExtendedLinkFunk</h3>
+<pre class="programlisting">void	xlinkExtendedLinkFunk		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbArcs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br>					 <a href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br>					 <a href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br>
+</pre>
+<p>This is the prototype for a extended link detection callback.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>user data pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node carrying the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbLocators</tt></i>:</span></td>
+<td>the number of locators detected on the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>hrefs</tt></i>:</span></td>
+<td>pointer to the array of locator hrefs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>roles</tt></i>:</span></td>
+<td>pointer to the array of locator roles</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbArcs</tt></i>:</span></td>
+<td>the number of arcs detected on the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>pointer to the array of source roles found on the arcs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>pointer to the array of target roles found on the arcs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>show</tt></i>:</span></td>
+<td>array of values for the show attributes found on the arcs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>actuate</tt></i>:</span></td>
+<td>array of values for the actuate attributes found on the arcs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbTitles</tt></i>:</span></td>
+<td>the number of titles detected on the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>titles</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>langs</tt></i>:</span></td>
+<td>array of xml:lang values for the titles</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkExtendedLinkSetFunk"></a>Function type xlinkExtendedLinkSetFunk</h3>
+<pre class="programlisting">void	xlinkExtendedLinkSetFunk	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br>
+</pre>
+<p>This is the prototype for a extended link set detection callback.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>user data pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node carrying the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbLocators</tt></i>:</span></td>
+<td>the number of locators detected on the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>hrefs</tt></i>:</span></td>
+<td>pointer to the array of locator hrefs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>roles</tt></i>:</span></td>
+<td>pointer to the array of locator roles</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbTitles</tt></i>:</span></td>
+<td>the number of titles detected on the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>titles</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>langs</tt></i>:</span></td>
+<td>array of xml:lang values for the titles</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkNodeDetectFunc"></a>Function type xlinkNodeDetectFunc</h3>
+<pre class="programlisting">void	xlinkNodeDetectFunc		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>This is the prototype for the link detection routine. It calls the default link detection callbacks upon link detection.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>user data pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to check</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkSimpleLinkFunk"></a>Function type xlinkSimpleLinkFunk</h3>
+<pre class="programlisting">void	xlinkSimpleLinkFunk		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title)<br>
+</pre>
+<p>This is the prototype for a simple link detection callback.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>user data pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node carrying the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>href</tt></i>:</span></td>
+<td>the target of the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>role</tt></i>:</span></td>
+<td>the role string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>title</tt></i>:</span></td>
+<td>the link title</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkGetDefaultDetect"></a>xlinkGetDefaultDetect ()</h3>
+<pre class="programlisting"><a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>	xlinkGetDefaultDetect	(void)<br>
+</pre>
+<p>Get the default xlink detection routine</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 current function or NULL;</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkGetDefaultHandler"></a>xlinkGetDefaultHandler ()</h3>
+<pre class="programlisting"><a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>	xlinkGetDefaultHandler	(void)<br>
+</pre>
+<p>Get the default xlink handler.</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 current <a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> value.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkIsLink"></a>xlinkIsLink ()</h3>
+<pre class="programlisting"><a href="libxml2-xlink.html#xlinkType">xlinkType</a>	xlinkIsLink		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Check whether the given node carries the attributes needed to be a link element (or is one of the linking elements issued from the (X)HTML DtDs). This routine don't try to do full checking of the link validity but tries to detect and return the appropriate link type.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document containing the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node pointer itself</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xlink.html#xlinkType">xlinkType</a> of the node (XLINK_TYPE_NONE if there is no link detected.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkSetDefaultDetect"></a>xlinkSetDefaultDetect ()</h3>
+<pre class="programlisting">void	xlinkSetDefaultDetect		(<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a> func)<br>
+</pre>
+<p>Set the default xlink detection routine</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td>pointer to the new detection routine.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkSetDefaultHandler"></a>xlinkSetDefaultHandler ()</h3>
+<pre class="programlisting">void	xlinkSetDefaultHandler		(<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> handler)<br>
+</pre>
+<p>Set the default xlink handlers</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the new value for the xlink handler block</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlIO.html b/doc/devhelp/libxml2-xmlIO.html
index 8597f4d..e25ee02 100644
--- a/doc/devhelp/libxml2-xmlIO.html
+++ b/doc/devhelp/libxml2-xmlIO.html
@@ -1,352 +1,1448 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlIO: interface for the I/O interfaces used by the parser</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xlink.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlautomata.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlIO</span>
-    </h2>
-    <p>xmlIO - interface for the I/O interfaces used by the parser</p>
-    <p>interface for the I/O interfaces used by the parser </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">int	<a href="#xmlIOHTTPRead">xmlIOHTTPRead</a>			(void * context, <br/>					 char * buffer, <br/>					 int len);
-typedef int <a href="#xmlInputMatchCallback">xmlInputMatchCallback</a>		(char const * filename);
-void	<a href="#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a>	(void);
-int	<a href="#xmlFileClose">xmlFileClose</a>			(void * context);
-int	<a href="#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a>		(void);
-typedef int <a href="#xmlOutputMatchCallback">xmlOutputMatchCallback</a>		(char const * filename);
-int	<a href="#xmlParserInputBufferPush">xmlParserInputBufferPush</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/>					 int len, <br/>					 const char * buf);
-int	<a href="#xmlIOFTPRead">xmlIOFTPRead</a>			(void * context, <br/>					 char * buffer, <br/>					 int len);
-void	<a href="#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a>	(void);
-void *	<a href="#xmlIOFTPOpen">xmlIOFTPOpen</a>			(const char * filename);
-int	<a href="#xmlIOFTPClose">xmlIOFTPClose</a>			(void * context);
-void *	<a href="#xmlFileOpen">xmlFileOpen</a>			(const char * filename);
-<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a>	(FILE * file, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
-int	<a href="#xmlCheckFilename">xmlCheckFilename</a>		(const char * path);
-typedef void * <a href="#xmlOutputOpenCallback">xmlOutputOpenCallback</a>		(char const * filename);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a>	(const char * URI, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-int	<a href="#xmlOutputBufferClose">xmlOutputBufferClose</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlIO: interface for the I/O interfaces used by the parser</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xlink.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlautomata.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlIO</span></h2>
+<p>xmlIO - interface for the I/O interfaces used by the parser</p>
+<p>interface for the I/O interfaces used by the parser </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a>	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a>	(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br/>						 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br/>						 void * ioctx, <br/>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
-typedef int <a href="#xmlOutputWriteCallback">xmlOutputWriteCallback</a>		(void * context, <br/>					 const char * buffer, <br/>					 int len);
-int	<a href="#xmlOutputBufferFlush">xmlOutputBufferFlush</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlCheckHTTPInput">xmlCheckHTTPInput</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret);
-int	<a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a>	(<a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a>	(const char * mem, <br/>							 int size, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-int	<a href="#xmlIOFTPMatch">xmlIOFTPMatch</a>			(const char * filename);
-int	<a href="#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a>	(<a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc);
+int	<a href="#xmlCheckFilename">xmlCheckFilename</a>		(const char * path);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlCheckHTTPInput">xmlCheckHTTPInput</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret);
+void	<a href="#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a>	(void);
+void	<a href="#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a>	(void);
+int	<a href="#xmlFileClose">xmlFileClose</a>			(void * context);
+int	<a href="#xmlFileMatch">xmlFileMatch</a>			(const char * filename);
+void *	<a href="#xmlFileOpen">xmlFileOpen</a>			(const char * filename);
+int	<a href="#xmlFileRead">xmlFileRead</a>			(void * context, <br>					 char * buffer, <br>					 int len);
 void	<a href="#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in);
-void	<a href="#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a>	(void);
-int	<a href="#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/>					 int len);
-typedef int <a href="#xmlOutputCloseCallback">xmlOutputCloseCallback</a>		(void * context);
-<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a>	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a>	(const char * URL, <br/>							 const char * ID, <br/>							 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+int	<a href="#xmlIOFTPClose">xmlIOFTPClose</a>			(void * context);
+int	<a href="#xmlIOFTPMatch">xmlIOFTPMatch</a>			(const char * filename);
+void *	<a href="#xmlIOFTPOpen">xmlIOFTPOpen</a>			(const char * filename);
+int	<a href="#xmlIOFTPRead">xmlIOFTPRead</a>			(void * context, <br>					 char * buffer, <br>					 int len);
+int	<a href="#xmlIOHTTPClose">xmlIOHTTPClose</a>			(void * context);
 int	<a href="#xmlIOHTTPMatch">xmlIOHTTPMatch</a>			(const char * filename);
 void *	<a href="#xmlIOHTTPOpen">xmlIOHTTPOpen</a>			(const char * filename);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a>	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>							 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>							 void * ioctx, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a>	(int fd, <br/>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
-typedef int <a href="#xmlInputReadCallback">xmlInputReadCallback</a>		(void * context, <br/>					 char * buffer, <br/>					 int len);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a>	(const char * mem, <br/>							 int size, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
-int	<a href="#xmlIOHTTPClose">xmlIOHTTPClose</a>			(void * context);
-int	<a href="#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping);
-<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a>	(const char * URI, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br/>							 int compression);
-size_t	<a href="#xmlOutputBufferGetSize">xmlOutputBufferGetSize</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
-void	<a href="#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a>	(void);
-typedef void * <a href="#xmlInputOpenCallback">xmlInputOpenCallback</a>		(char const * filename);
-int	<a href="#xmlParserInputBufferRead">xmlParserInputBufferRead</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/>					 int len);
-int	<a href="#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br/>					 const char * str);
-int	<a href="#xmlFileMatch">xmlFileMatch</a>			(const char * filename);
-int	<a href="#xmlPopInputCallbacks">xmlPopInputCallbacks</a>		(void);
-int	<a href="#xmlFileRead">xmlFileRead</a>			(void * context, <br/>					 char * buffer, <br/>					 int len);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a>	(FILE * file, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-char *	<a href="#xmlParserGetDirectory">xmlParserGetDirectory</a>		(const char * filename);
-int	<a href="#xmlOutputBufferWrite">xmlOutputBufferWrite</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br/>					 int len, <br/>					 const char * buf);
-void	<a href="#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a>	(void);
+void *	<a href="#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a>			(const char * post_uri, <br>					 int compression);
+int	<a href="#xmlIOHTTPRead">xmlIOHTTPRead</a>			(void * context, <br>					 char * buffer, <br>					 int len);
 typedef int <a href="#xmlInputCloseCallback">xmlInputCloseCallback</a>		(void * context);
-void *	<a href="#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a>			(const char * post_uri, <br/>					 int compression);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a>	(int fd, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+typedef int <a href="#xmlInputMatchCallback">xmlInputMatchCallback</a>		(char const * filename);
+typedef void * <a href="#xmlInputOpenCallback">xmlInputOpenCallback</a>		(char const * filename);
+typedef int <a href="#xmlInputReadCallback">xmlInputReadCallback</a>		(void * context, <br>					 char * buffer, <br>					 int len);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a>	(const char * URL, <br>							 const char * ID, <br>							 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
+int	<a href="#xmlOutputBufferClose">xmlOutputBufferClose</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
+<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a>	(int fd, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a>	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression);
+<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a>	(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>						 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+int	<a href="#xmlOutputBufferFlush">xmlOutputBufferFlush</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
+size_t	<a href="#xmlOutputBufferGetSize">xmlOutputBufferGetSize</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
+int	<a href="#xmlOutputBufferWrite">xmlOutputBufferWrite</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 int len, <br>					 const char * buf);
+int	<a href="#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping);
+int	<a href="#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const char * str);
+typedef int <a href="#xmlOutputCloseCallback">xmlOutputCloseCallback</a>		(void * context);
+typedef int <a href="#xmlOutputMatchCallback">xmlOutputMatchCallback</a>		(char const * filename);
+typedef void * <a href="#xmlOutputOpenCallback">xmlOutputOpenCallback</a>		(char const * filename);
+typedef int <a href="#xmlOutputWriteCallback">xmlOutputWriteCallback</a>		(void * context, <br>					 const char * buffer, <br>					 int len);
+char *	<a href="#xmlParserGetDirectory">xmlParserGetDirectory</a>		(const char * filename);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a>	(int fd, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a>	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a>	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>							 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>							 void * ioctx, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a>	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a>	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+int	<a href="#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len);
+int	<a href="#xmlParserInputBufferPush">xmlParserInputBufferPush</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len, <br>					 const char * buf);
+int	<a href="#xmlParserInputBufferRead">xmlParserInputBufferRead</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len);
+int	<a href="#xmlPopInputCallbacks">xmlPopInputCallbacks</a>		(void);
+int	<a href="#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a>		(void);
+void	<a href="#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a>	(void);
+void	<a href="#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a>	(void);
+void	<a href="#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a>	(void);
+int	<a href="#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a>	(<a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc);
+int	<a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a>	(<a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlInputCloseCallback"/>Function type xmlInputCloseCallback</h3><pre class="programlisting">int	xmlInputCloseCallback		(void * context)<br/>
-</pre><p>Callback used in the I/O Input API to close the resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Input context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInputMatchCallback"/>Function type xmlInputMatchCallback</h3><pre class="programlisting">int	xmlInputMatchCallback		(char const * filename)<br/>
-</pre><p>Callback used in the I/O Input API to detect if the current handler can provide input functionality for this resource.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Input module should be used</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInputOpenCallback"/>Function type xmlInputOpenCallback</h3><pre class="programlisting">void *	xmlInputOpenCallback		(char const * filename)<br/>
-</pre><p>Callback used in the I/O Input API to open the resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an Input context or NULL in case or error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInputReadCallback"/>Function type xmlInputReadCallback</h3><pre class="programlisting">int	xmlInputReadCallback		(void * context, <br/>					 char * buffer, <br/>					 int len)<br/>
-</pre><p>Callback used in the I/O Input API to read the resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Input context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>the buffer to store data read</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the buffer in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes read or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputCloseCallback"/>Function type xmlOutputCloseCallback</h3><pre class="programlisting">int	xmlOutputCloseCallback		(void * context)<br/>
-</pre><p>Callback used in the I/O Output API to close the resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Output context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputMatchCallback"/>Function type xmlOutputMatchCallback</h3><pre class="programlisting">int	xmlOutputMatchCallback		(char const * filename)<br/>
-</pre><p>Callback used in the I/O Output API to detect if the current handler can provide output functionality for this resource.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Output module should be used</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputOpenCallback"/>Function type xmlOutputOpenCallback</h3><pre class="programlisting">void *	xmlOutputOpenCallback		(char const * filename)<br/>
-</pre><p>Callback used in the I/O Output API to open the resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an Output context or NULL in case or error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputWriteCallback"/>Function type xmlOutputWriteCallback</h3><pre class="programlisting">int	xmlOutputWriteCallback		(void * context, <br/>					 const char * buffer, <br/>					 int len)<br/>
-</pre><p>Callback used in the I/O Output API to write to the resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Output context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>the buffer of data to write</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the buffer in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAllocOutputBuffer"/>xmlAllocOutputBuffer ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlAllocOutputBuffer	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br/>
-</pre><p>Create a buffered parser output</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAllocParserInputBuffer"/>xmlAllocParserInputBuffer ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlAllocParserInputBuffer	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Create a buffered parser input for progressive parsing</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCheckFilename"/>xmlCheckFilename ()</h3><pre class="programlisting">int	xmlCheckFilename		(const char * path)<br/>
-</pre><p>function checks to see if @path is a valid source (file, socket...) for XML. if stat is not available on the target machine,</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>the path to check</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1. if stat fails, returns 0 (if calling stat on the filename fails, it can't be right). if stat succeeds and the file is a directory, returns 2. otherwise returns 1.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCheckHTTPInput"/>xmlCheckHTTPInput ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlCheckHTTPInput	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret)<br/>
-</pre><p>Check an input in case it was created from an HTTP stream, in that case it will handle encoding and update of the base URL in case of redirection. It also checks for HTTP errors in which case the input is cleanly freed up and an appropriate error is raised in context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>ret</tt></i>:</span></td><td>an XML parser input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the input or NULL in case of HTTP error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupInputCallbacks"/>xmlCleanupInputCallbacks ()</h3><pre class="programlisting">void	xmlCleanupInputCallbacks	(void)<br/>
-</pre><p>clears the entire input callback table. this includes the compiled-in I/O.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupOutputCallbacks"/>xmlCleanupOutputCallbacks ()</h3><pre class="programlisting">void	xmlCleanupOutputCallbacks	(void)<br/>
-</pre><p>clears the entire output callback table. this includes the compiled-in I/O callbacks.</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInputCloseCallback"></a>Function type xmlInputCloseCallback</h3>
+<pre class="programlisting">int	xmlInputCloseCallback		(void * context)<br>
+</pre>
+<p>Callback used in the I/O Input API to close the resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>an Input context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFileClose"/>xmlFileClose ()</h3><pre class="programlisting">int	xmlFileClose			(void * context)<br/>
-</pre><p>Close an I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFileMatch"/>xmlFileMatch ()</h3><pre class="programlisting">int	xmlFileMatch			(const char * filename)<br/>
-</pre><p>input from FILE *</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if matches, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFileOpen"/>xmlFileOpen ()</h3><pre class="programlisting">void *	xmlFileOpen			(const char * filename)<br/>
-</pre><p>Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails fallback to @filename</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a handler or NULL in case or failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFileRead"/>xmlFileRead ()</h3><pre class="programlisting">int	xmlFileRead			(void * context, <br/>					 char * buffer, <br/>					 int len)<br/>
-</pre><p>Read @len bytes to @buffer from the I/O channel.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>where to drop data</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>number of bytes to write</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or &lt; 0 in case of failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeParserInputBuffer"/>xmlFreeParserInputBuffer ()</h3><pre class="programlisting">void	xmlFreeParserInputBuffer	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in)<br/>
-</pre><p>Free up the memory used by a buffered parser input</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOFTPClose"/>xmlIOFTPClose ()</h3><pre class="programlisting">int	xmlIOFTPClose			(void * context)<br/>
-</pre><p>Close an FTP I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOFTPMatch"/>xmlIOFTPMatch ()</h3><pre class="programlisting">int	xmlIOFTPMatch			(const char * filename)<br/>
-</pre><p>check if the URI matches an FTP one</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if matches, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOFTPOpen"/>xmlIOFTPOpen ()</h3><pre class="programlisting">void *	xmlIOFTPOpen			(const char * filename)<br/>
-</pre><p>open an FTP I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an I/O context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOFTPRead"/>xmlIOFTPRead ()</h3><pre class="programlisting">int	xmlIOFTPRead			(void * context, <br/>					 char * buffer, <br/>					 int len)<br/>
-</pre><p>Read @len bytes to @buffer from the I/O channel.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>where to drop data</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>number of bytes to write</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOHTTPClose"/>xmlIOHTTPClose ()</h3><pre class="programlisting">int	xmlIOHTTPClose			(void * context)<br/>
-</pre><p>Close an HTTP I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOHTTPMatch"/>xmlIOHTTPMatch ()</h3><pre class="programlisting">int	xmlIOHTTPMatch			(const char * filename)<br/>
-</pre><p>check if the URI matches an HTTP one</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if matches, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOHTTPOpen"/>xmlIOHTTPOpen ()</h3><pre class="programlisting">void *	xmlIOHTTPOpen			(const char * filename)<br/>
-</pre><p>open an HTTP I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an I/O context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOHTTPOpenW"/>xmlIOHTTPOpenW ()</h3><pre class="programlisting">void *	xmlIOHTTPOpenW			(const char * post_uri, <br/>					 int compression)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>post_uri</tt></i>:</span></td><td>The destination URI for the document</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>The compression desired for the document.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an I/O context or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOHTTPRead"/>xmlIOHTTPRead ()</h3><pre class="programlisting">int	xmlIOHTTPRead			(void * context, <br/>					 char * buffer, <br/>					 int len)<br/>
-</pre><p>Read @len bytes to @buffer from the I/O channel.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>where to drop data</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>number of bytes to write</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNoNetExternalEntityLoader"/>xmlNoNetExternalEntityLoader ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNoNetExternalEntityLoader	(const char * URL, <br/>							 const char * ID, <br/>							 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>A specific entity loader disabling network accesses, though still allowing local catalog accesses for resolution.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to load</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context in which the entity is called or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new allocated xmlParserInputPtr, or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNormalizeWindowsPath"/>xmlNormalizeWindowsPath ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNormalizeWindowsPath	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br/>
-</pre><p>This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>the input file path</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a canonicalized version of the path</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferClose"/>xmlOutputBufferClose ()</h3><pre class="programlisting">int	xmlOutputBufferClose		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br/>
-</pre><p>flushes and close the output I/O channel and free up all the associated resources</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateBuffer"/>xmlOutputBufferCreateBuffer ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateBuffer	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br/>
-</pre><p>Create a buffered output for the progressive saving to a <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a></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 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFd"/>xmlOutputBufferCreateFd ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFd	(int fd, <br/>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br/>
-</pre><p>Create a buffered output for the progressive saving to a file descriptor</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>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFile"/>xmlOutputBufferCreateFile ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFile	(FILE * file, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br/>
-</pre><p>Create a buffered output for the progressive saving to a FILE * buffered C I/O</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>a FILE*</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFilename"/>xmlOutputBufferCreateFilename ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilename	(const char * URI, <br/>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br/>							 int compression)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or filename</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression ration (0 none, 9 max).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new output or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateIO"/>xmlOutputBufferCreateIO ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateIO	(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br/>						 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br/>						 void * ioctx, <br/>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br/>
-</pre><p>Create a buffered output for the progressive saving to an I/O handler</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>iowrite</tt></i>:</span></td><td>an I/O write function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferFlush"/>xmlOutputBufferFlush ()</h3><pre class="programlisting">int	xmlOutputBufferFlush		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br/>
-</pre><p>flushes the output I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferGetContent"/>xmlOutputBufferGetContent ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlOutputBufferGetContent	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br/>
-</pre><p>Gives a pointer to the data currently held in the output buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the data or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferGetSize"/>xmlOutputBufferGetSize ()</h3><pre class="programlisting">size_t	xmlOutputBufferGetSize		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br/>
-</pre><p>Gives the length of the data currently held in the output buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case or error or no data is held, the size otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferWrite"/>xmlOutputBufferWrite ()</h3><pre class="programlisting">int	xmlOutputBufferWrite		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br/>					 int len, <br/>					 const char * buf)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size in bytes of the array.</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferWriteEscape"/>xmlOutputBufferWriteEscape ()</h3><pre class="programlisting">int	xmlOutputBufferWriteEscape	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping)<br/>
-</pre><p>Write the content of the string in the output I/O buffer This routine escapes the <a href="libxml2-SAX.html#characters">characters</a> 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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated UTF-8 string</td></tr><tr><td><span class="term"><i><tt>escaping</tt></i>:</span></td><td>an optional escaping function (or NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferWriteString"/>xmlOutputBufferWriteString ()</h3><pre class="programlisting">int	xmlOutputBufferWriteString	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br/>					 const char * str)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated C string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserGetDirectory"/>xmlParserGetDirectory ()</h3><pre class="programlisting">char *	xmlParserGetDirectory		(const char * filename)<br/>
-</pre><p>lookup the directory for that file</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the path to a file</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new allocated string containing the directory, or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFd"/>xmlParserInputBufferCreateFd ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFd	(int fd, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Create a buffered parser input for the progressive parsing for the input from a file descriptor</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>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFile"/>xmlParserInputBufferCreateFile ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFile	(FILE * file, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>a FILE*</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFilename"/>xmlParserInputBufferCreateFilename ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilename	(const char * URI, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>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 == <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or filename</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateIO"/>xmlParserInputBufferCreateIO ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateIO	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>							 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>							 void * ioctx, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Create a buffered parser input for the progressive parsing for the input from an I/O handler</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateMem"/>xmlParserInputBufferCreateMem ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateMem	(const char * mem, <br/>							 int size, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Create a buffered parser input for the progressive parsing for the input from a memory area.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>the memory input</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the length of the memory block</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateStatic"/>xmlParserInputBufferCreateStatic ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateStatic	(const char * mem, <br/>							 int size, <br/>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Create a buffered parser input for the progressive parsing for the input from an immutable memory area. This will not copy the memory area to the buffer, but the memory is expected to be available until the end of the parsing, this is useful for example when using mmap'ed file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>the memory input</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the length of the memory block</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferGrow"/>xmlParserInputBufferGrow ()</h3><pre class="programlisting">int	xmlParserInputBufferGrow	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/>					 int len)<br/>
-</pre><p>Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode TODO: one should be able to remove one extra copy by copying directly onto in-&gt;buffer or in-&gt;raw</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>indicative value of the amount of chars to read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferPush"/>xmlParserInputBufferPush ()</h3><pre class="programlisting">int	xmlParserInputBufferPush	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/>					 int len, <br/>					 const char * buf)<br/>
-</pre><p>Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size in bytes of the array.</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferRead"/>xmlParserInputBufferRead ()</h3><pre class="programlisting">int	xmlParserInputBufferRead	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/>					 int len)<br/>
-</pre><p>Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>indicative value of the amount of chars to read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPopInputCallbacks"/>xmlPopInputCallbacks ()</h3><pre class="programlisting">int	xmlPopInputCallbacks		(void)<br/>
-</pre><p>Clear the top input callback from the input stack. this includes the compiled-in I/O.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of input callback registered or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPopOutputCallbacks"/>xmlPopOutputCallbacks ()</h3><pre class="programlisting">int	xmlPopOutputCallbacks		(void)<br/>
-</pre><p>Remove the top output callbacks from the output stack. This includes the compiled-in I/O.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of output callback registered or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterDefaultInputCallbacks"/>xmlRegisterDefaultInputCallbacks ()</h3><pre class="programlisting">void	xmlRegisterDefaultInputCallbacks	(void)<br/>
-</pre><p>Registers the default compiled-in I/O handlers.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInputMatchCallback"></a>Function type xmlInputMatchCallback</h3>
+<pre class="programlisting">int	xmlInputMatchCallback		(char const * filename)<br>
+</pre>
+<p>Callback used in the I/O Input API to detect if the current handler can provide input functionality for this resource.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if yes and 0 if another Input module should be used</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterDefaultOutputCallbacks"/>xmlRegisterDefaultOutputCallbacks ()</h3><pre class="programlisting">void	xmlRegisterDefaultOutputCallbacks	(void)<br/>
-</pre><p>Registers the default compiled-in I/O handlers.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInputOpenCallback"></a>Function type xmlInputOpenCallback</h3>
+<pre class="programlisting">void *	xmlInputOpenCallback		(char const * filename)<br>
+</pre>
+<p>Callback used in the I/O Input API to open the resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an Input context or NULL in case or error</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterHTTPPostCallbacks"/>xmlRegisterHTTPPostCallbacks ()</h3><pre class="programlisting">void	xmlRegisterHTTPPostCallbacks	(void)<br/>
-</pre><p>By default, libxml submits HTTP output requests using the "PUT" method. Calling this method changes the HTTP output method to use the "POST" method instead.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInputReadCallback"></a>Function type xmlInputReadCallback</h3>
+<pre class="programlisting">int	xmlInputReadCallback		(void * context, <br>					 char * buffer, <br>					 int len)<br>
+</pre>
+<p>Callback used in the I/O Input API to read the resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>an Input context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>the buffer to store data read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the buffer in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes read or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterInputCallbacks"/>xmlRegisterInputCallbacks ()</h3><pre class="programlisting">int	xmlRegisterInputCallbacks	(<a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc)<br/>
-</pre><p>Register a new set of I/O callback for handling parser input.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>matchFunc</tt></i>:</span></td><td>the <a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a></td></tr><tr><td><span class="term"><i><tt>openFunc</tt></i>:</span></td><td>the <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a></td></tr><tr><td><span class="term"><i><tt>readFunc</tt></i>:</span></td><td>the <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a></td></tr><tr><td><span class="term"><i><tt>closeFunc</tt></i>:</span></td><td>the <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the registered handler number or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterOutputCallbacks"/>xmlRegisterOutputCallbacks ()</h3><pre class="programlisting">int	xmlRegisterOutputCallbacks	(<a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br/>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc)<br/>
-</pre><p>Register a new set of I/O callback for handling output.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>matchFunc</tt></i>:</span></td><td>the <a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a></td></tr><tr><td><span class="term"><i><tt>openFunc</tt></i>:</span></td><td>the <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a></td></tr><tr><td><span class="term"><i><tt>writeFunc</tt></i>:</span></td><td>the <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a></td></tr><tr><td><span class="term"><i><tt>closeFunc</tt></i>:</span></td><td>the <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the registered handler number or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputCloseCallback"></a>Function type xmlOutputCloseCallback</h3>
+<pre class="programlisting">int	xmlOutputCloseCallback		(void * context)<br>
+</pre>
+<p>Callback used in the I/O Output API to close the resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>an Output context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputMatchCallback"></a>Function type xmlOutputMatchCallback</h3>
+<pre class="programlisting">int	xmlOutputMatchCallback		(char const * filename)<br>
+</pre>
+<p>Callback used in the I/O Output API to detect if the current handler can provide output functionality for this resource.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if yes and 0 if another Output module should be used</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputOpenCallback"></a>Function type xmlOutputOpenCallback</h3>
+<pre class="programlisting">void *	xmlOutputOpenCallback		(char const * filename)<br>
+</pre>
+<p>Callback used in the I/O Output API to open the resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an Output context or NULL in case or error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputWriteCallback"></a>Function type xmlOutputWriteCallback</h3>
+<pre class="programlisting">int	xmlOutputWriteCallback		(void * context, <br>					 const char * buffer, <br>					 int len)<br>
+</pre>
+<p>Callback used in the I/O Output API to write to the resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>an Output context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>the buffer of data to write</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the buffer in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAllocOutputBuffer"></a>xmlAllocOutputBuffer ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlAllocOutputBuffer	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
+</pre>
+<p>Create a buffered parser output</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td>the encoding converter or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAllocParserInputBuffer"></a>xmlAllocParserInputBuffer ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlAllocParserInputBuffer	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Create a buffered parser input for progressive parsing</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCheckFilename"></a>xmlCheckFilename ()</h3>
+<pre class="programlisting">int	xmlCheckFilename		(const char * path)<br>
+</pre>
+<p>function checks to see if @path is a valid source (file, socket...) for XML. if stat is not available on the target machine,</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>path</tt></i>:</span></td>
+<td>the path to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1. if stat fails, returns 0 (if calling stat on the filename fails, it can't be right). if stat succeeds and the file is a directory, returns 2. otherwise returns 1.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCheckHTTPInput"></a>xmlCheckHTTPInput ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlCheckHTTPInput	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret)<br>
+</pre>
+<p>Check an input in case it was created from an HTTP stream, in that case it will handle encoding and update of the base URL in case of redirection. It also checks for HTTP errors in which case the input is cleanly freed up and an appropriate error is raised in context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ret</tt></i>:</span></td>
+<td>an XML parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the input or NULL in case of HTTP error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupInputCallbacks"></a>xmlCleanupInputCallbacks ()</h3>
+<pre class="programlisting">void	xmlCleanupInputCallbacks	(void)<br>
+</pre>
+<p>clears the entire input callback table. this includes the compiled-in I/O.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupOutputCallbacks"></a>xmlCleanupOutputCallbacks ()</h3>
+<pre class="programlisting">void	xmlCleanupOutputCallbacks	(void)<br>
+</pre>
+<p>clears the entire output callback table. this includes the compiled-in I/O callbacks.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFileClose"></a>xmlFileClose ()</h3>
+<pre class="programlisting">int	xmlFileClose			(void * context)<br>
+</pre>
+<p>Close an I/O channel</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>the I/O context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFileMatch"></a>xmlFileMatch ()</h3>
+<pre class="programlisting">int	xmlFileMatch			(const char * filename)<br>
+</pre>
+<p>input from FILE *</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the URI for matching</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if matches, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFileOpen"></a>xmlFileOpen ()</h3>
+<pre class="programlisting">void *	xmlFileOpen			(const char * filename)<br>
+</pre>
+<p>Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails fallback to @filename</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the URI for matching</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a handler or NULL in case or failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFileRead"></a>xmlFileRead ()</h3>
+<pre class="programlisting">int	xmlFileRead			(void * context, <br>					 char * buffer, <br>					 int len)<br>
+</pre>
+<p>Read @len bytes to @buffer from the I/O channel.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>the I/O context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>where to drop data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>number of bytes to write</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or &lt; 0 in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeParserInputBuffer"></a>xmlFreeParserInputBuffer ()</h3>
+<pre class="programlisting">void	xmlFreeParserInputBuffer	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in)<br>
+</pre>
+<p>Free up the memory used by a buffered parser input</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a buffered parser input</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIOFTPClose"></a>xmlIOFTPClose ()</h3>
+<pre class="programlisting">int	xmlIOFTPClose			(void * context)<br>
+</pre>
+<p>Close an FTP I/O channel</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>the I/O context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIOFTPMatch"></a>xmlIOFTPMatch ()</h3>
+<pre class="programlisting">int	xmlIOFTPMatch			(const char * filename)<br>
+</pre>
+<p>check if the URI matches an FTP one</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the URI for matching</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if matches, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIOFTPOpen"></a>xmlIOFTPOpen ()</h3>
+<pre class="programlisting">void *	xmlIOFTPOpen			(const char * filename)<br>
+</pre>
+<p>open an FTP I/O channel</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the URI for matching</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an I/O context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIOFTPRead"></a>xmlIOFTPRead ()</h3>
+<pre class="programlisting">int	xmlIOFTPRead			(void * context, <br>					 char * buffer, <br>					 int len)<br>
+</pre>
+<p>Read @len bytes to @buffer from the I/O channel.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>the I/O context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>where to drop data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>number of bytes to write</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIOHTTPClose"></a>xmlIOHTTPClose ()</h3>
+<pre class="programlisting">int	xmlIOHTTPClose			(void * context)<br>
+</pre>
+<p>Close an HTTP I/O channel</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>the I/O context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIOHTTPMatch"></a>xmlIOHTTPMatch ()</h3>
+<pre class="programlisting">int	xmlIOHTTPMatch			(const char * filename)<br>
+</pre>
+<p>check if the URI matches an HTTP one</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the URI for matching</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if matches, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIOHTTPOpen"></a>xmlIOHTTPOpen ()</h3>
+<pre class="programlisting">void *	xmlIOHTTPOpen			(const char * filename)<br>
+</pre>
+<p>open an HTTP I/O channel</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the URI for matching</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an I/O context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIOHTTPOpenW"></a>xmlIOHTTPOpenW ()</h3>
+<pre class="programlisting">void *	xmlIOHTTPOpenW			(const char * post_uri, <br>					 int compression)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>post_uri</tt></i>:</span></td>
+<td>The destination URI for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>The compression desired for the document.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an I/O context or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIOHTTPRead"></a>xmlIOHTTPRead ()</h3>
+<pre class="programlisting">int	xmlIOHTTPRead			(void * context, <br>					 char * buffer, <br>					 int len)<br>
+</pre>
+<p>Read @len bytes to @buffer from the I/O channel.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>the I/O context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>where to drop data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>number of bytes to write</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNoNetExternalEntityLoader"></a>xmlNoNetExternalEntityLoader ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNoNetExternalEntityLoader	(const char * URL, <br>							 const char * ID, <br>							 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>A specific entity loader disabling network accesses, though still allowing local catalog accesses for resolution.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the System ID for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the context in which the entity is called or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new allocated xmlParserInputPtr, or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNormalizeWindowsPath"></a>xmlNormalizeWindowsPath ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNormalizeWindowsPath	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
+</pre>
+<p>This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>path</tt></i>:</span></td>
+<td>the input file path</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a canonicalized version of the path</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferClose"></a>xmlOutputBufferClose ()</h3>
+<pre class="programlisting">int	xmlOutputBufferClose		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
+</pre>
+<p>flushes and close the output I/O channel and free up all the associated resources</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a buffered output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferCreateBuffer"></a>xmlOutputBufferCreateBuffer ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateBuffer	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
+</pre>
+<p>Create a buffered output for the progressive saving to a <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a></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 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td>the encoding converter or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferCreateFd"></a>xmlOutputBufferCreateFd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFd	(int fd, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
+</pre>
+<p>Create a buffered output for the progressive saving to a file descriptor</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>encoder</tt></i>:</span></td>
+<td>the encoding converter or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferCreateFile"></a>xmlOutputBufferCreateFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFile	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
+</pre>
+<p>Create a buffered output for the progressive saving to a FILE * buffered C I/O</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>a FILE*</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td>the encoding converter or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferCreateFilename"></a>xmlOutputBufferCreateFilename ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilename	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>a C string containing the URI or filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td>the encoding converter or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>the compression ration (0 none, 9 max).</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferCreateIO"></a>xmlOutputBufferCreateIO ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateIO	(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>						 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
+</pre>
+<p>Create a buffered output for the progressive saving to an I/O handler</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>iowrite</tt></i>:</span></td>
+<td>an I/O write function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferFlush"></a>xmlOutputBufferFlush ()</h3>
+<pre class="programlisting">int	xmlOutputBufferFlush		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
+</pre>
+<p>flushes the output I/O channel</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a buffered output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferGetContent"></a>xmlOutputBufferGetContent ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlOutputBufferGetContent	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
+</pre>
+<p>Gives a pointer to the data currently held in the output buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the data or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferGetSize"></a>xmlOutputBufferGetSize ()</h3>
+<pre class="programlisting">size_t	xmlOutputBufferGetSize		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
+</pre>
+<p>Gives the length of the data currently held in the output buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case or error or no data is held, the size otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferWrite"></a>xmlOutputBufferWrite ()</h3>
+<pre class="programlisting">int	xmlOutputBufferWrite		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 int len, <br>					 const char * buf)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a buffered parser output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the size in bytes of the array.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars immediately written, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferWriteEscape"></a>xmlOutputBufferWriteEscape ()</h3>
+<pre class="programlisting">int	xmlOutputBufferWriteEscape	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping)<br>
+</pre>
+<p>Write the content of the string in the output I/O buffer This routine escapes the <a href="libxml2-SAX.html#characters">characters</a> 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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a buffered parser output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>a zero terminated UTF-8 string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>escaping</tt></i>:</span></td>
+<td>an optional escaping function (or NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars immediately written, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferWriteString"></a>xmlOutputBufferWriteString ()</h3>
+<pre class="programlisting">int	xmlOutputBufferWriteString	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const char * str)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a buffered parser output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>a zero terminated C string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars immediately written, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserGetDirectory"></a>xmlParserGetDirectory ()</h3>
+<pre class="programlisting">char *	xmlParserGetDirectory		(const char * filename)<br>
+</pre>
+<p>lookup the directory for that file</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the path to a file</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new allocated string containing the directory, or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateFd"></a>xmlParserInputBufferCreateFd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFd	(int fd, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Create a buffered parser input for the progressive parsing for the input from a file descriptor</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>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateFile"></a>xmlParserInputBufferCreateFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFile	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>a FILE*</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateFilename"></a>xmlParserInputBufferCreateFilename ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilename	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>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 == <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>a C string containing the URI or filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateIO"></a>xmlParserInputBufferCreateIO ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateIO	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>							 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>							 void * ioctx, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Create a buffered parser input for the progressive parsing for the input from an I/O handler</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateMem"></a>xmlParserInputBufferCreateMem ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateMem	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Create a buffered parser input for the progressive parsing for the input from a memory area.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>the memory input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the length of the memory block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateStatic"></a>xmlParserInputBufferCreateStatic ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateStatic	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Create a buffered parser input for the progressive parsing for the input from an immutable memory area. This will not copy the memory area to the buffer, but the memory is expected to be available until the end of the parsing, this is useful for example when using mmap'ed file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>the memory input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the length of the memory block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferGrow"></a>xmlParserInputBufferGrow ()</h3>
+<pre class="programlisting">int	xmlParserInputBufferGrow	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len)<br>
+</pre>
+<p>Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode TODO: one should be able to remove one extra copy by copying directly onto in-&gt;buffer or in-&gt;raw</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a buffered parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>indicative value of the amount of chars to read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferPush"></a>xmlParserInputBufferPush ()</h3>
+<pre class="programlisting">int	xmlParserInputBufferPush	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len, <br>					 const char * buf)<br>
+</pre>
+<p>Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a buffered parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the size in bytes of the array.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferRead"></a>xmlParserInputBufferRead ()</h3>
+<pre class="programlisting">int	xmlParserInputBufferRead	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len)<br>
+</pre>
+<p>Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a buffered parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>indicative value of the amount of chars to read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPopInputCallbacks"></a>xmlPopInputCallbacks ()</h3>
+<pre class="programlisting">int	xmlPopInputCallbacks		(void)<br>
+</pre>
+<p>Clear the top input callback from the input stack. this includes the compiled-in I/O.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of input callback registered or -1 in case of error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPopOutputCallbacks"></a>xmlPopOutputCallbacks ()</h3>
+<pre class="programlisting">int	xmlPopOutputCallbacks		(void)<br>
+</pre>
+<p>Remove the top output callbacks from the output stack. This includes the compiled-in I/O.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of output callback registered or -1 in case of error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterDefaultInputCallbacks"></a>xmlRegisterDefaultInputCallbacks ()</h3>
+<pre class="programlisting">void	xmlRegisterDefaultInputCallbacks	(void)<br>
+</pre>
+<p>Registers the default compiled-in I/O handlers.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterDefaultOutputCallbacks"></a>xmlRegisterDefaultOutputCallbacks ()</h3>
+<pre class="programlisting">void	xmlRegisterDefaultOutputCallbacks	(void)<br>
+</pre>
+<p>Registers the default compiled-in I/O handlers.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterHTTPPostCallbacks"></a>xmlRegisterHTTPPostCallbacks ()</h3>
+<pre class="programlisting">void	xmlRegisterHTTPPostCallbacks	(void)<br>
+</pre>
+<p>By default, libxml submits HTTP output requests using the "PUT" method. Calling this method changes the HTTP output method to use the "POST" method instead.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterInputCallbacks"></a>xmlRegisterInputCallbacks ()</h3>
+<pre class="programlisting">int	xmlRegisterInputCallbacks	(<a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc)<br>
+</pre>
+<p>Register a new set of I/O callback for handling parser input.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>matchFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>openFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>readFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>closeFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the registered handler number or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterOutputCallbacks"></a>xmlRegisterOutputCallbacks ()</h3>
+<pre class="programlisting">int	xmlRegisterOutputCallbacks	(<a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc)<br>
+</pre>
+<p>Register a new set of I/O callback for handling output.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>matchFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>openFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>writeFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>closeFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the registered handler number or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlautomata.html b/doc/devhelp/libxml2-xmlautomata.html
index 601028b..eb274b9 100644
--- a/doc/devhelp/libxml2-xmlautomata.html
+++ b/doc/devhelp/libxml2-xmlautomata.html
@@ -1,176 +1,696 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlautomata: API to build regexp automata</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlIO.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlerror.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlautomata</span>
-    </h2>
-    <p>xmlautomata - API to build regexp automata</p>
-    <p>the API to build regexp automata </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef <a href="libxml2-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * <a href="#xmlAutomataStatePtr">xmlAutomataStatePtr</a>;
-typedef struct _xmlAutomata <a href="#xmlAutomata">xmlAutomata</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlautomata: API to build regexp automata</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlIO.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlerror.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlautomata</span></h2>
+<p>xmlautomata - API to build regexp automata</p>
+<p>the API to build regexp automata </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlAutomata <a href="#xmlAutomata">xmlAutomata</a>;
 typedef <a href="libxml2-xmlautomata.html#xmlAutomata">xmlAutomata</a> * <a href="#xmlAutomataPtr">xmlAutomataPtr</a>;
 typedef struct _xmlAutomataState <a href="#xmlAutomataState">xmlAutomataState</a>;
-void	<a href="#xmlFreeAutomata">xmlFreeAutomata</a>			(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
-int	<a href="#xmlAutomataNewCounter">xmlAutomataNewCounter</a>		(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>					 int min, <br/>					 int max);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataGetInitState">xmlAutomataGetInitState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/>							 void * data);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewState">xmlAutomataNewState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>							 int min, <br/>							 int max, <br/>							 void * data);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/>							 int min, <br/>							 int max, <br/>							 void * data);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>						 int lax);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 int counter);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 int counter);
+typedef <a href="libxml2-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * <a href="#xmlAutomataStatePtr">xmlAutomataStatePtr</a>;
 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	<a href="#xmlAutomataCompile">xmlAutomataCompile</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/>						 void * data);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/>							 int min, <br/>							 int max, <br/>							 void * data);
-<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	<a href="#xmlNewAutomata">xmlNewAutomata</a>		(void);
-int	<a href="#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>					 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>						 int min, <br/>						 int max, <br/>						 void * data);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition">xmlAutomataNewTransition</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>							 void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataGetInitState">xmlAutomataGetInitState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
 int	<a href="#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 int lax);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 int min, <br>							 int max, <br>							 void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter);
+int	<a href="#xmlAutomataNewCounter">xmlAutomataNewCounter</a>		(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 int min, <br>					 int max);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>						 void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 int min, <br>						 int max, <br>						 void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewState">xmlAutomataNewState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition">xmlAutomataNewTransition</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 void * data);
+int	<a href="#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state);
+void	<a href="#xmlFreeAutomata">xmlFreeAutomata</a>			(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
+<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	<a href="#xmlNewAutomata">xmlNewAutomata</a>		(void);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomata">Structure </a>xmlAutomata</h3><pre class="programlisting">struct _xmlAutomata {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomata">Structure </a>xmlAutomata</h3>
+<pre class="programlisting">struct _xmlAutomata {
 The content of this structure is not made public by the API.
 } xmlAutomata;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataPtr">Typedef </a>xmlAutomataPtr</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomata">xmlAutomata</a> * xmlAutomataPtr;
-</pre><p>A libxml automata description, It can be compiled into a regexp</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataPtr">Typedef </a>xmlAutomataPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomata">xmlAutomata</a> * xmlAutomataPtr;
+</pre>
+<p>A libxml automata description, It can be compiled into a regexp</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataState">Structure </a>xmlAutomataState</h3><pre class="programlisting">struct _xmlAutomataState {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataState">Structure </a>xmlAutomataState</h3>
+<pre class="programlisting">struct _xmlAutomataState {
 The content of this structure is not made public by the API.
 } xmlAutomataState;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataStatePtr">Typedef </a>xmlAutomataStatePtr</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * xmlAutomataStatePtr;
-</pre><p>A state int the automata description,</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataStatePtr">Typedef </a>xmlAutomataStatePtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * xmlAutomataStatePtr;
+</pre>
+<p>A state int the automata description,</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataCompile"/>xmlAutomataCompile ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	xmlAutomataCompile	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br/>
-</pre><p>Compile the automata into a Reg Exp ready for being executed. The automata should be free after this point.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the compiled regexp or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataGetInitState"/>xmlAutomataGetInitState ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataGetInitState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br/>
-</pre><p>Initial state lookup</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the initial state of the automata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataIsDeterminist"/>xmlAutomataIsDeterminist ()</h3><pre class="programlisting">int	xmlAutomataIsDeterminist	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br/>
-</pre><p>Checks if an automata is determinist.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if not, and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewAllTrans"/>xmlAutomataNewAllTrans ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewAllTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>						 int lax)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>lax</tt></i>:</span></td><td>allow to transition if not all all transitions have been activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCountTrans"/>xmlAutomataNewCountTrans ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>							 int min, <br/>							 int max, <br/>							 void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCountTrans2"/>xmlAutomataNewCountTrans2 ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/>							 int min, <br/>							 int max, <br/>							 void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCountedTrans"/>xmlAutomataNewCountedTrans ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountedTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 int counter)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>counter</tt></i>:</span></td><td>the counter associated to that transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCounter"/>xmlAutomataNewCounter ()</h3><pre class="programlisting">int	xmlAutomataNewCounter		(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>					 int min, <br/>					 int max)<br/>
-</pre><p>Create a new counter</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimal value on the counter</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximal value on the counter</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the counter number or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCounterTrans"/>xmlAutomataNewCounterTrans ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCounterTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 int counter)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will be allowed only if the counter is within the right range.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>counter</tt></i>:</span></td><td>the counter associated to that transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewEpsilon"/>xmlAutomataNewEpsilon ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewEpsilon	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewNegTrans"/>xmlAutomataNewNegTrans ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewNegTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/>						 void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by any value except (@token,@token2) Note that if @token2 is not NULL, then (X, NULL) won't match to follow # the semantic of XSD ##other</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the first input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data passed to the callback function if the transition is activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewOnceTrans"/>xmlAutomataNewOnceTrans ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>						 int min, <br/>						 int max, <br/>						 void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewOnceTrans2"/>xmlAutomataNewOnceTrans2 ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/>							 int min, <br/>							 int max, <br/>							 void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewState"/>xmlAutomataNewState ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br/>
-</pre><p>Create a new disconnected state in the automata</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewTransition"/>xmlAutomataNewTransition ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>							 void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data passed to the callback function if the transition is activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewTransition2"/>xmlAutomataNewTransition2 ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/>							 void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the first input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data passed to the callback function if the transition is activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataSetFinalState"/>xmlAutomataSetFinalState ()</h3><pre class="programlisting">int	xmlAutomataSetFinalState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>					 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state)<br/>
-</pre><p>Makes that state a final state</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>state</tt></i>:</span></td><td>a state in this automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeAutomata"/>xmlFreeAutomata ()</h3><pre class="programlisting">void	xmlFreeAutomata			(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br/>
-</pre><p>Free an automata</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewAutomata"/>xmlNewAutomata ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	xmlNewAutomata		(void)<br/>
-</pre><p>Create a new automata</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 new object or NULL in case of failure</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataCompile"></a>xmlAutomataCompile ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	xmlAutomataCompile	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
+</pre>
+<p>Compile the automata into a Reg Exp ready for being executed. The automata should be free after this point.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the compiled regexp or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataGetInitState"></a>xmlAutomataGetInitState ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataGetInitState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
+</pre>
+<p>Initial state lookup</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the initial state of the automata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataIsDeterminist"></a>xmlAutomataIsDeterminist ()</h3>
+<pre class="programlisting">int	xmlAutomataIsDeterminist	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
+</pre>
+<p>Checks if an automata is determinist.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if not, and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewAllTrans"></a>xmlAutomataNewAllTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewAllTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 int lax)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lax</tt></i>:</span></td>
+<td>allow to transition if not all all transitions have been activated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewCountTrans"></a>xmlAutomataNewCountTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 int min, <br>							 int max, <br>							 void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>min</tt></i>:</span></td>
+<td>the minimum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the maximum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewCountTrans2"></a>xmlAutomataNewCountTrans2 ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token2</tt></i>:</span></td>
+<td>the second input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>min</tt></i>:</span></td>
+<td>the minimum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the maximum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewCountedTrans"></a>xmlAutomataNewCountedTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountedTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>counter</tt></i>:</span></td>
+<td>the counter associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewCounter"></a>xmlAutomataNewCounter ()</h3>
+<pre class="programlisting">int	xmlAutomataNewCounter		(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 int min, <br>					 int max)<br>
+</pre>
+<p>Create a new counter</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>min</tt></i>:</span></td>
+<td>the minimal value on the counter</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the maximal value on the counter</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the counter number or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewCounterTrans"></a>xmlAutomataNewCounterTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCounterTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will be allowed only if the counter is within the right range.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>counter</tt></i>:</span></td>
+<td>the counter associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewEpsilon"></a>xmlAutomataNewEpsilon ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewEpsilon	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewNegTrans"></a>xmlAutomataNewNegTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewNegTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>						 void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by any value except (@token,@token2) Note that if @token2 is not NULL, then (X, NULL) won't match to follow # the semantic of XSD ##other</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the first input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token2</tt></i>:</span></td>
+<td>the second input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data passed to the callback function if the transition is activated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewOnceTrans"></a>xmlAutomataNewOnceTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 int min, <br>						 int max, <br>						 void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>min</tt></i>:</span></td>
+<td>the minimum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the maximum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewOnceTrans2"></a>xmlAutomataNewOnceTrans2 ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token2</tt></i>:</span></td>
+<td>the second input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>min</tt></i>:</span></td>
+<td>the minimum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the maximum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewState"></a>xmlAutomataNewState ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
+</pre>
+<p>Create a new disconnected state in the automata</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewTransition"></a>xmlAutomataNewTransition ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data passed to the callback function if the transition is activated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewTransition2"></a>xmlAutomataNewTransition2 ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the first input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token2</tt></i>:</span></td>
+<td>the second input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data passed to the callback function if the transition is activated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataSetFinalState"></a>xmlAutomataSetFinalState ()</h3>
+<pre class="programlisting">int	xmlAutomataSetFinalState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state)<br>
+</pre>
+<p>Makes that state a final state</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>state</tt></i>:</span></td>
+<td>a state in this automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeAutomata"></a>xmlFreeAutomata ()</h3>
+<pre class="programlisting">void	xmlFreeAutomata			(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
+</pre>
+<p>Free an automata</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewAutomata"></a>xmlNewAutomata ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	xmlNewAutomata		(void)<br>
+</pre>
+<p>Create a new automata</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 new object or NULL in case of failure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlerror.html b/doc/devhelp/libxml2-xmlerror.html
index f6e5a01..f97c8e1 100644
--- a/doc/devhelp/libxml2-xmlerror.html
+++ b/doc/devhelp/libxml2-xmlerror.html
@@ -1,79 +1,59 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlerror: error handling</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlautomata.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlexports.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlerror</span>
-    </h2>
-    <p>xmlerror - error handling</p>
-    <p>the API used to report errors </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * <a href="#xmlErrorPtr">xmlErrorPtr</a>;
-typedef enum <a href="#xmlErrorLevel">xmlErrorLevel</a>;
-typedef enum <a href="#xmlParserErrors">xmlParserErrors</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlerror: error handling</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlautomata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlexports.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlerror</span></h2>
+<p>xmlerror - error handling</p>
+<p>the API used to report errors </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlError <a href="#xmlError">xmlError</a>;
 typedef enum <a href="#xmlErrorDomain">xmlErrorDomain</a>;
-typedef struct _xmlError <a href="#xmlError">xmlError</a>;
-void	<a href="#xmlParserValidityError">xmlParserValidityError</a>		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-typedef void <a href="#xmlGenericErrorFunc">xmlGenericErrorFunc</a>		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-void	<a href="#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a>		(void * ctx, <br/>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
-void	<a href="#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
-void	<a href="#xmlCtxtResetLastError">xmlCtxtResetLastError</a>		(void * ctx);
-void	<a href="#xmlResetLastError">xmlResetLastError</a>		(void);
+typedef enum <a href="#xmlErrorLevel">xmlErrorLevel</a>;
+typedef <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * <a href="#xmlErrorPtr">xmlErrorPtr</a>;
+typedef enum <a href="#xmlParserErrors">xmlParserErrors</a>;
 void	<a href="#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a>	(<a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler);
-int	<a href="#xmlCopyError">xmlCopyError</a>			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br/>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to);
-void	<a href="#xmlParserValidityWarning">xmlParserValidityWarning</a>	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-void	<a href="#xmlParserPrintFileContext">xmlParserPrintFileContext</a>	(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
-void	<a href="#xmlParserError">xmlParserError</a>			(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-void	<a href="#xmlParserWarning">xmlParserWarning</a>		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>		(void * userData, <br/>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error);
-void	<a href="#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a>	(void * ctx, <br/>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
-void	<a href="#xmlResetError">xmlResetError</a>			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err);
-<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	<a href="#xmlGetLastError">xmlGetLastError</a>		(void);
+int	<a href="#xmlCopyError">xmlCopyError</a>			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to);
 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	<a href="#xmlCtxtGetLastError">xmlCtxtGetLastError</a>	(void * ctx);
+void	<a href="#xmlCtxtResetLastError">xmlCtxtResetLastError</a>		(void * ctx);
+typedef void <a href="#xmlGenericErrorFunc">xmlGenericErrorFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	<a href="#xmlGetLastError">xmlGetLastError</a>		(void);
+void	<a href="#xmlParserError">xmlParserError</a>			(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+void	<a href="#xmlParserPrintFileContext">xmlParserPrintFileContext</a>	(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
+void	<a href="#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
+void	<a href="#xmlParserValidityError">xmlParserValidityError</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+void	<a href="#xmlParserValidityWarning">xmlParserValidityWarning</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+void	<a href="#xmlParserWarning">xmlParserWarning</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+void	<a href="#xmlResetError">xmlResetError</a>			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err);
+void	<a href="#xmlResetLastError">xmlResetLastError</a>		(void);
+void	<a href="#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a>		(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
+void	<a href="#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a>	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
+typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>		(void * userData, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlError">Structure </a>xmlError</h3><pre class="programlisting">struct _xmlError {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlError">Structure </a>xmlError</h3>
+<pre class="programlisting">struct _xmlError {
     int	domain	: What part of the library raised this error
     int	code	: The error code, e.g. an <a href="libxml2-xmlerror.html#xmlParserError">xmlParserError</a>
     char *	message	: human-readable informative error message
@@ -88,10 +68,14 @@
     void *	ctxt	: the parser context if available
     void *	node	: the node in the tree
 } xmlError;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlErrorDomain">Enum </a>xmlErrorDomain</h3><pre class="programlisting">enum <a href="#xmlErrorDomain">xmlErrorDomain</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlErrorDomain">Enum </a>xmlErrorDomain</h3>
+<pre class="programlisting">enum <a href="#xmlErrorDomain">xmlErrorDomain</a> {
     <a name="XML_FROM_NONE">XML_FROM_NONE</a> = 0
     <a name="XML_FROM_PARSER">XML_FROM_PARSER</a> = 1 /* The XML parser */
     <a name="XML_FROM_TREE">XML_FROM_TREE</a> = 2 /* The tree module */
@@ -124,23 +108,35 @@
     <a name="XML_FROM_BUFFER">XML_FROM_BUFFER</a> = 29 /* The buffers module */
     <a name="XML_FROM_URI">XML_FROM_URI</a> = 30 /*  The URI module */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlErrorLevel">Enum </a>xmlErrorLevel</h3><pre class="programlisting">enum <a href="#xmlErrorLevel">xmlErrorLevel</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlErrorLevel">Enum </a>xmlErrorLevel</h3>
+<pre class="programlisting">enum <a href="#xmlErrorLevel">xmlErrorLevel</a> {
     <a name="XML_ERR_NONE">XML_ERR_NONE</a> = 0
     <a name="XML_ERR_WARNING">XML_ERR_WARNING</a> = 1 /* A simple warning */
     <a name="XML_ERR_ERROR">XML_ERR_ERROR</a> = 2 /* A recoverable error */
     <a name="XML_ERR_FATAL">XML_ERR_FATAL</a> = 3 /*  A fatal error */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlErrorPtr">Typedef </a>xmlErrorPtr</h3><pre class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> * xmlErrorPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlErrorPtr">Typedef </a>xmlErrorPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> * xmlErrorPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserErrors">Enum </a>xmlParserErrors</h3><pre class="programlisting">enum <a href="#xmlParserErrors">xmlParserErrors</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserErrors">Enum </a>xmlParserErrors</h3>
+<pre class="programlisting">enum <a href="#xmlParserErrors">xmlParserErrors</a> {
     <a name="XML_ERR_OK">XML_ERR_OK</a> = 0
     <a name="XML_ERR_INTERNAL_ERROR">XML_ERR_INTERNAL_ERROR</a> = 1 /* 1 */
     <a name="XML_ERR_NO_MEMORY">XML_ERR_NO_MEMORY</a> = 2 /* 2 */
@@ -253,6 +249,7 @@
     <a name="XML_ERR_VERSION_MISMATCH">XML_ERR_VERSION_MISMATCH</a> = 109 /* 109 */
     <a name="XML_ERR_NAME_TOO_LONG">XML_ERR_NAME_TOO_LONG</a> = 110 /* 110 */
     <a name="XML_ERR_USER_STOP">XML_ERR_USER_STOP</a> = 111 /* 111 */
+    <a name="XML_ERR_COMMENT_ABRUPTLY_ENDED">XML_ERR_COMMENT_ABRUPTLY_ENDED</a> = 112 /* 112 */
     <a name="XML_NS_ERR_XML_NAMESPACE">XML_NS_ERR_XML_NAMESPACE</a> = 200
     <a name="XML_NS_ERR_UNDEFINED_NAMESPACE">XML_NS_ERR_UNDEFINED_NAMESPACE</a> = 201 /* 201 */
     <a name="XML_NS_ERR_QNAME">XML_NS_ERR_QNAME</a> = 202 /* 202 */
@@ -303,6 +300,7 @@
     <a name="XML_DTD_DUP_TOKEN">XML_DTD_DUP_TOKEN</a> = 541 /* 541 */
     <a name="XML_HTML_STRUCURE_ERROR">XML_HTML_STRUCURE_ERROR</a> = 800
     <a name="XML_HTML_UNKNOWN_TAG">XML_HTML_UNKNOWN_TAG</a> = 801 /* 801 */
+    <a name="XML_HTML_INCORRECTLY_OPENED_COMMENT">XML_HTML_INCORRECTLY_OPENED_COMMENT</a> = 802 /* 802 */
     <a name="XML_RNGP_ANYNAME_ATTR_ANCESTOR">XML_RNGP_ANYNAME_ATTR_ANCESTOR</a> = 1000
     <a name="XML_RNGP_ATTR_CONFLICT">XML_RNGP_ATTR_CONFLICT</a> = 1001 /* 1001 */
     <a name="XML_RNGP_ATTRIBUTE_CHILDREN">XML_RNGP_ATTRIBUTE_CHILDREN</a> = 1002 /* 1002 */
@@ -876,78 +874,343 @@
     <a name="XML_I18N_NO_OUTPUT">XML_I18N_NO_OUTPUT</a> = 6004 /* 6004 */
     <a name="XML_BUF_OVERFLOW">XML_BUF_OVERFLOW</a> = 7000
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGenericErrorFunc"/>Function type xmlGenericErrorFunc</h3><pre class="programlisting">void	xmlGenericErrorFunc		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Signature of the function to use when there is an error and no parsing or validity context available .</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>a parsing context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>the extra arguments of the varargs to format the message</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStructuredErrorFunc"/>Function type xmlStructuredErrorFunc</h3><pre class="programlisting">void	xmlStructuredErrorFunc		(void * userData, <br/>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error)<br/>
-</pre><p>Signature of the function to use when there is an error and the module handles the new error reporting mechanism.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>user provided data for the error callback</td></tr><tr><td><span class="term"><i><tt>error</tt></i>:</span></td><td>the error being raised.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="initGenericErrorDefaultFunc"/>initGenericErrorDefaultFunc ()</h3><pre class="programlisting">void	initGenericErrorDefaultFunc	(<a href="libxml2-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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the handler</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyError"/>xmlCopyError ()</h3><pre class="programlisting">int	xmlCopyError			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br/>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to)<br/>
-</pre><p>Save the original error to the new place.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>a source error</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>a target error</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtGetLastError"/>xmlCtxtGetLastError ()</h3><pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlCtxtGetLastError	(void * ctx)<br/>
-</pre><p>Get the last parsing error registered.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occurred or a pointer to the error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtResetLastError"/>xmlCtxtResetLastError ()</h3><pre class="programlisting">void	xmlCtxtResetLastError		(void * ctx)<br/>
-</pre><p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetLastError"/>xmlGetLastError ()</h3><pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlGetLastError		(void)<br/>
-</pre><p>Get the last global error registered. This is per thread if compiled with thread support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occurred or a pointer to the error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserError"/>xmlParserError ()</h3><pre class="programlisting">void	xmlParserError			(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Display and format an error messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserPrintFileContext"/>xmlParserPrintFileContext ()</h3><pre class="programlisting">void	xmlParserPrintFileContext	(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br/>
-</pre><p>Displays current context within the input content for error tracking</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserPrintFileInfo"/>xmlParserPrintFileInfo ()</h3><pre class="programlisting">void	xmlParserPrintFileInfo		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br/>
-</pre><p>Displays the associated file and line information for the current input</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserValidityError"/>xmlParserValidityError ()</h3><pre class="programlisting">void	xmlParserValidityError		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Display and format an validity error messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserValidityWarning"/>xmlParserValidityWarning ()</h3><pre class="programlisting">void	xmlParserValidityWarning	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Display and format a validity warning messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserWarning"/>xmlParserWarning ()</h3><pre class="programlisting">void	xmlParserWarning		(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Display and format a warning messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlResetError"/>xmlResetError ()</h3><pre class="programlisting">void	xmlResetError			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err)<br/>
-</pre><p>Cleanup the error.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>pointer to the error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlResetLastError"/>xmlResetLastError ()</h3><pre class="programlisting">void	xmlResetLastError		(void)<br/>
-</pre><p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGenericErrorFunc"></a>Function type xmlGenericErrorFunc</h3>
+<pre class="programlisting">void	xmlGenericErrorFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Signature of the function to use when there is an error and no parsing or validity context available .</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>a parsing context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>the extra arguments of the varargs to format the message</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetGenericErrorFunc"/>xmlSetGenericErrorFunc ()</h3><pre class="programlisting">void	xmlSetGenericErrorFunc		(void * ctx, <br/>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br/>
-</pre><p>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL. For multi-threaded applications, this must be set separately for each thread.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the new error handling context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetStructuredErrorFunc"/>xmlSetStructuredErrorFunc ()</h3><pre class="programlisting">void	xmlSetStructuredErrorFunc	(void * ctx, <br/>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br/>
-</pre><p>Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler For multi-threaded applications, this must be set separately for each thread.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the new error handling context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler function</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStructuredErrorFunc"></a>Function type xmlStructuredErrorFunc</h3>
+<pre class="programlisting">void	xmlStructuredErrorFunc		(void * userData, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error)<br>
+</pre>
+<p>Signature of the function to use when there is an error and the module handles the new error reporting mechanism.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>user provided data for the error callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>error</tt></i>:</span></td>
+<td>the error being raised.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="initGenericErrorDefaultFunc"></a>initGenericErrorDefaultFunc ()</h3>
+<pre class="programlisting">void	initGenericErrorDefaultFunc	(<a href="libxml2-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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the handler</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyError"></a>xmlCopyError ()</h3>
+<pre class="programlisting">int	xmlCopyError			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to)<br>
+</pre>
+<p>Save the original error to the new place.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>a source error</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>a target error</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetLastError"></a>xmlCtxtGetLastError ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlCtxtGetLastError	(void * ctx)<br>
+</pre>
+<p>Get the last parsing error registered.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if no error occurred or a pointer to the error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtResetLastError"></a>xmlCtxtResetLastError ()</h3>
+<pre class="programlisting">void	xmlCtxtResetLastError		(void * ctx)<br>
+</pre>
+<p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetLastError"></a>xmlGetLastError ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlGetLastError		(void)<br>
+</pre>
+<p>Get the last global error registered. This is per thread if compiled with thread support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if no error occurred or a pointer to the error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserError"></a>xmlParserError ()</h3>
+<pre class="programlisting">void	xmlParserError			(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Display and format an error messages, gives file, line, position and extra parameters.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserPrintFileContext"></a>xmlParserPrintFileContext ()</h3>
+<pre class="programlisting">void	xmlParserPrintFileContext	(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
+</pre>
+<p>Displays current context within the input content for error tracking</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserPrintFileInfo"></a>xmlParserPrintFileInfo ()</h3>
+<pre class="programlisting">void	xmlParserPrintFileInfo		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
+</pre>
+<p>Displays the associated file and line information for the current input</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserValidityError"></a>xmlParserValidityError ()</h3>
+<pre class="programlisting">void	xmlParserValidityError		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Display and format an validity error messages, gives file, line, position and extra parameters.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserValidityWarning"></a>xmlParserValidityWarning ()</h3>
+<pre class="programlisting">void	xmlParserValidityWarning	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Display and format a validity warning messages, gives file, line, position and extra parameters.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserWarning"></a>xmlParserWarning ()</h3>
+<pre class="programlisting">void	xmlParserWarning		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Display and format a warning messages, gives file, line, position and extra parameters.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlResetError"></a>xmlResetError ()</h3>
+<pre class="programlisting">void	xmlResetError			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err)<br>
+</pre>
+<p>Cleanup the error.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>pointer to the error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlResetLastError"></a>xmlResetLastError ()</h3>
+<pre class="programlisting">void	xmlResetLastError		(void)<br>
+</pre>
+<p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetGenericErrorFunc"></a>xmlSetGenericErrorFunc ()</h3>
+<pre class="programlisting">void	xmlSetGenericErrorFunc		(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br>
+</pre>
+<p>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL. For multi-threaded applications, this must be set separately for each thread.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the new error handling context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the new handler function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetStructuredErrorFunc"></a>xmlSetStructuredErrorFunc ()</h3>
+<pre class="programlisting">void	xmlSetStructuredErrorFunc	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br>
+</pre>
+<p>Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler For multi-threaded applications, this must be set separately for each thread.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the new error handling context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the new handler function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlexports.html b/doc/devhelp/libxml2-xmlexports.html
index 2ac2daf..422affc 100644
--- a/doc/devhelp/libxml2-xmlexports.html
+++ b/doc/devhelp/libxml2-xmlexports.html
@@ -1,87 +1,79 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlexports: macros for marking symbols as exportable/importable.</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlerror.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlmemory.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlexports</span>
-    </h2>
-    <p>xmlexports - macros for marking symbols as exportable/importable.</p>
-    <p>macros for marking symbols as exportable/importable. </p>
-    <p>Author(s): </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XMLCDECL">XMLCDECL</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlexports: macros for marking symbols as exportable/importable.</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlerror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlmemory.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlexports</span></h2>
+<p>xmlexports - macros for marking symbols as exportable/importable.</p>
+<p>macros for marking symbols as exportable/importable. </p>
+<p>Author(s): </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XMLCALL">XMLCALL</a>;
+#define <a href="#XMLCDECL">XMLCDECL</a>;
+#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
 #define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
 #define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
-#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a>;
-#define <a href="#XMLCALL">XMLCALL</a>;
-#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_DLL_IMPORT">Macro </a>LIBXML_DLL_IMPORT</h3><pre class="programlisting">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a>;
-</pre><p/>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XMLCALL">Macro </a>XMLCALL</h3><pre class="programlisting">#define <a href="#XMLCALL">XMLCALL</a>;
-</pre><p>Macro which declares the calling convention for exported functions</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="XMLCALL">Macro </a>XMLCALL</h3>
+<pre class="programlisting">#define <a href="#XMLCALL">XMLCALL</a>;
+</pre>
+<p>Macro which declares the calling convention for exported functions</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XMLCDECL">Macro </a>XMLCDECL</h3><pre class="programlisting">#define <a href="#XMLCDECL">XMLCDECL</a>;
-</pre><p>Macro which declares the calling convention for exported functions that use '...'.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XMLCDECL">Macro </a>XMLCDECL</h3>
+<pre class="programlisting">#define <a href="#XMLCDECL">XMLCDECL</a>;
+</pre>
+<p>Macro which declares the calling convention for exported functions that use '...'.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XMLPUBFUN">Macro </a>XMLPUBFUN</h3><pre class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
-</pre><p>Macro which declares an exportable function</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XMLPUBFUN">Macro </a>XMLPUBFUN</h3>
+<pre class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
+</pre>
+<p>Macro which declares an exportable function</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XMLPUBLIC">Macro </a>XMLPUBLIC</h3><pre class="programlisting">#define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
-</pre><p>Macro which declares a public symbol</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XMLPUBLIC">Macro </a>XMLPUBLIC</h3>
+<pre class="programlisting">#define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
+</pre>
+<p>Macro which declares a public symbol</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XMLPUBVAR">Macro </a>XMLPUBVAR</h3><pre class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
-</pre><p>Macro which declares an exportable variable</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XMLPUBVAR">Macro </a>XMLPUBVAR</h3>
+<pre class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
+</pre>
+<p>Macro which declares an exportable variable</p>
 </div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlmemory.html b/doc/devhelp/libxml2-xmlmemory.html
index bf400d0..e1aef9d 100644
--- a/doc/devhelp/libxml2-xmlmemory.html
+++ b/doc/devhelp/libxml2-xmlmemory.html
@@ -1,186 +1,613 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlmemory: interface for the memory allocator</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlexports.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlmodule.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlmemory</span>
-    </h2>
-    <p>xmlmemory - interface for the memory allocator</p>
-    <p>provides interfaces for the memory allocator, including debugging capabilities. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#xmlRealloc">xmlRealloc</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlmemory: interface for the memory allocator</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlexports.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlmodule.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlmemory</span></h2>
+<p>xmlmemory - interface for the memory allocator</p>
+<p>provides interfaces for the memory allocator, including debugging capabilities. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
 #define <a href="#xmlMalloc">xmlMalloc</a>;
 #define <a href="#xmlMallocAtomic">xmlMallocAtomic</a>;
-#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
 #define <a href="#xmlMemStrdup">xmlMemStrdup</a>;
-void *	<a href="#xmlMemRealloc">xmlMemRealloc</a>			(void * ptr, <br/>					 size_t size);
-int	<a href="#xmlInitMemory">xmlInitMemory</a>			(void);
-void	<a href="#xmlMemFree">xmlMemFree</a>			(void * ptr);
-void *	<a href="#xmlMemMalloc">xmlMemMalloc</a>			(size_t size);
-void	<a href="#xmlMemDisplayLast">xmlMemDisplayLast</a>		(FILE * fp, <br/>					 long nbBytes);
-int	<a href="#xmlMemGet">xmlMemGet</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc);
-void	<a href="#xmlMemoryDump">xmlMemoryDump</a>			(void);
-void *	<a href="#xmlMallocLoc">xmlMallocLoc</a>			(size_t size, <br/>					 const char * file, <br/>					 int line);
-void	<a href="#xmlMemDisplay">xmlMemDisplay</a>			(FILE * fp);
-int	<a href="#xmlMemBlocks">xmlMemBlocks</a>			(void);
-int	<a href="#xmlGcMemGet">xmlGcMemGet</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc);
-typedef char * <a href="#xmlStrdupFunc">xmlStrdupFunc</a>			(const char * str);
-typedef void <a href="#xmlFreeFunc">xmlFreeFunc</a>			(void * mem);
-void	<a href="#xmlMemShow">xmlMemShow</a>			(FILE * fp, <br/>					 int nr);
-void *	<a href="#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a>		(size_t size, <br/>					 const char * file, <br/>					 int line);
-void *	<a href="#xmlReallocLoc">xmlReallocLoc</a>			(void * ptr, <br/>					 size_t size, <br/>					 const char * file, <br/>					 int line);
+#define <a href="#xmlRealloc">xmlRealloc</a>;
 void	<a href="#xmlCleanupMemory">xmlCleanupMemory</a>		(void);
-int	<a href="#xmlMemUsed">xmlMemUsed</a>			(void);
-int	<a href="#xmlMemSetup">xmlMemSetup</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
-typedef void * <a href="#xmlReallocFunc">xmlReallocFunc</a>			(void * mem, <br/>					 size_t size);
+typedef void <a href="#xmlFreeFunc">xmlFreeFunc</a>			(void * mem);
+int	<a href="#xmlGcMemGet">xmlGcMemGet</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc);
+int	<a href="#xmlGcMemSetup">xmlGcMemSetup</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
+int	<a href="#xmlInitMemory">xmlInitMemory</a>			(void);
+void *	<a href="#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a>		(size_t size, <br>					 const char * file, <br>					 int line);
 typedef void * <a href="#xmlMallocFunc">xmlMallocFunc</a>			(size_t size);
-int	<a href="#xmlGcMemSetup">xmlGcMemSetup</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
+void *	<a href="#xmlMallocLoc">xmlMallocLoc</a>			(size_t size, <br>					 const char * file, <br>					 int line);
+int	<a href="#xmlMemBlocks">xmlMemBlocks</a>			(void);
+void	<a href="#xmlMemDisplay">xmlMemDisplay</a>			(FILE * fp);
+void	<a href="#xmlMemDisplayLast">xmlMemDisplayLast</a>		(FILE * fp, <br>					 long nbBytes);
+void	<a href="#xmlMemFree">xmlMemFree</a>			(void * ptr);
+int	<a href="#xmlMemGet">xmlMemGet</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc);
+void *	<a href="#xmlMemMalloc">xmlMemMalloc</a>			(size_t size);
+void *	<a href="#xmlMemRealloc">xmlMemRealloc</a>			(void * ptr, <br>					 size_t size);
+int	<a href="#xmlMemSetup">xmlMemSetup</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
+void	<a href="#xmlMemShow">xmlMemShow</a>			(FILE * fp, <br>					 int nr);
+char *	<a href="#xmlMemStrdupLoc">xmlMemStrdupLoc</a>			(const char * str, <br>					 const char * file, <br>					 int line);
+int	<a href="#xmlMemUsed">xmlMemUsed</a>			(void);
+void	<a href="#xmlMemoryDump">xmlMemoryDump</a>			(void);
 char *	<a href="#xmlMemoryStrdup">xmlMemoryStrdup</a>			(const char * str);
-char *	<a href="#xmlMemStrdupLoc">xmlMemStrdupLoc</a>			(const char * str, <br/>					 const char * file, <br/>					 int line);
+typedef void * <a href="#xmlReallocFunc">xmlReallocFunc</a>			(void * mem, <br>					 size_t size);
+void *	<a href="#xmlReallocLoc">xmlReallocLoc</a>			(void * ptr, <br>					 size_t size, <br>					 const char * file, <br>					 int line);
+typedef char * <a href="#xmlStrdupFunc">xmlStrdupFunc</a>			(const char * str);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="DEBUG_MEMORY">Macro </a>DEBUG_MEMORY</h3><pre class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
-</pre><p><a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> replaces the allocator with a collect and debug shell to the libc allocator. <a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define DEBUG_MEMORY_FREED #define <a href="libxml2-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeFunc"/>Function type xmlFreeFunc</h3><pre class="programlisting">void	xmlFreeFunc			(void * mem)<br/>
-</pre><p>Signature for a free() 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></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMallocFunc"/>Function type xmlMallocFunc</h3><pre class="programlisting">void *	xmlMallocFunc			(size_t size)<br/>
-</pre><p>Signature for a malloc() implementation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size requested in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the newly allocated block or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReallocFunc"/>Function type xmlReallocFunc</h3><pre class="programlisting">void *	xmlReallocFunc			(void * mem, <br/>					 size_t size)<br/>
-</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrdupFunc"/>Function type xmlStrdupFunc</h3><pre class="programlisting">char *	xmlStrdupFunc			(const char * str)<br/>
-</pre><p>Signature for an strdup() implementation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the copy of the string or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupMemory"/>xmlCleanupMemory ()</h3><pre class="programlisting">void	xmlCleanupMemory		(void)<br/>
-</pre><p>Free up all the memory allocated by the library for its own use. This should not be called by user level code.</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="DEBUG_MEMORY">Macro </a>DEBUG_MEMORY</h3>
+<pre class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
+</pre>
+<p><a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> replaces the allocator with a collect and debug shell to the libc allocator. <a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define DEBUG_MEMORY_FREED #define <a href="libxml2-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGcMemGet"/>xmlGcMemGet ()</h3><pre class="programlisting">int	xmlGcMemGet			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)<br/>
-</pre><p>Provides the memory access functions set currently in use The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators</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>mallocAtomicFunc</tt></i>:</span></td><td>place to save the atomic 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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGcMemSetup"/>xmlGcMemSetup ()</h3><pre class="programlisting">int	xmlGcMemSetup			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br/>					 <a href="libxml2-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 ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators 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>mallocAtomicFunc</tt></i>:</span></td><td>the malloc() function to use for atomic allocations</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitMemory"/>xmlInitMemory ()</h3><pre class="programlisting">int	xmlInitMemory			(void)<br/>
-</pre><p>Initialize the memory layer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMallocAtomicLoc"/>xmlMallocAtomicLoc ()</h3><pre class="programlisting">void *	xmlMallocAtomicLoc		(size_t size, <br/>					 const char * file, <br/>					 int line)<br/>
-</pre><p>a malloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>an unsigned 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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMallocLoc"/>xmlMallocLoc ()</h3><pre class="programlisting">void *	xmlMallocLoc			(size_t size, <br/>					 const char * file, <br/>					 int line)<br/>
-</pre><p>a malloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>an int specifying the size in byte to allocate.</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file name or NULL</td></tr><tr><td><span class="term"><i><tt>line</tt></i>:</span></td><td>the line number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the allocated area or NULL in case of lack of memory.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemBlocks"/>xmlMemBlocks ()</h3><pre class="programlisting">int	xmlMemBlocks			(void)<br/>
-</pre><p>Provides the number of memory areas currently allocated</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int representing the number of blocks</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemDisplay"/>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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemDisplayLast"/>xmlMemDisplayLast ()</h3><pre class="programlisting">void	xmlMemDisplayLast		(FILE * fp, <br/>					 long nbBytes)<br/>
-</pre><p>the last nbBytes of memory allocated and not freed, useful for dumping the memory left allocated between two places at runtime.</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><tr><td><span class="term"><i><tt>nbBytes</tt></i>:</span></td><td>the amount of memory to dump</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemFree"/>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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemGet"/>xmlMemGet ()</h3><pre class="programlisting">int	xmlMemGet			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br/>					 <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemMalloc"/>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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemRealloc"/>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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemSetup"/>xmlMemSetup ()</h3><pre class="programlisting">int	xmlMemSetup			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br/>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br/>					 <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemShow"/>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>
-<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</td></tr><tr><td><span class="term"><i><tt>nr</tt></i>:</span></td><td>number of entries to dump</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemStrdupLoc"/>xmlMemStrdupLoc ()</h3><pre class="programlisting">char *	xmlMemStrdupLoc			(const char * str, <br/>					 const char * file, <br/>					 int line)<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>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 new string or NULL if allocation error occurred.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemUsed"/>xmlMemUsed ()</h3><pre class="programlisting">int	xmlMemUsed			(void)<br/>
-</pre><p>Provides the amount of memory currently allocated</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int representing the amount of memory allocated.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemoryDump"/>xmlMemoryDump ()</h3><pre class="programlisting">void	xmlMemoryDump			(void)<br/>
-</pre><p>Dump in-extenso the memory blocks allocated to the file .memorylist</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeFunc"></a>Function type xmlFreeFunc</h3>
+<pre class="programlisting">void	xmlFreeFunc			(void * mem)<br>
+</pre>
+<p>Signature for a free() 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></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemoryStrdup"/>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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReallocLoc"/>xmlReallocLoc ()</h3><pre class="programlisting">void *	xmlReallocLoc			(void * ptr, <br/>					 size_t size, <br/>					 const char * file, <br/>					 int line)<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>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></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMallocFunc"></a>Function type xmlMallocFunc</h3>
+<pre class="programlisting">void *	xmlMallocFunc			(size_t size)<br>
+</pre>
+<p>Signature for a malloc() implementation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size requested in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the newly allocated block or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReallocFunc"></a>Function type xmlReallocFunc</h3>
+<pre class="programlisting">void *	xmlReallocFunc			(void * mem, <br>					 size_t size)<br>
+</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrdupFunc"></a>Function type xmlStrdupFunc</h3>
+<pre class="programlisting">char *	xmlStrdupFunc			(const char * str)<br>
+</pre>
+<p>Signature for an strdup() implementation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the copy of the string or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupMemory"></a>xmlCleanupMemory ()</h3>
+<pre class="programlisting">void	xmlCleanupMemory		(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Free up all the memory allocated by the library for its own use. This should not be called by user level code.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGcMemGet"></a>xmlGcMemGet ()</h3>
+<pre class="programlisting">int	xmlGcMemGet			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)<br>
+</pre>
+<p>Provides the memory access functions set currently in use The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators</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>mallocAtomicFunc</tt></i>:</span></td>
+<td>place to save the atomic 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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGcMemSetup"></a>xmlGcMemSetup ()</h3>
+<pre class="programlisting">int	xmlGcMemSetup			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-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 ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators 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>mallocAtomicFunc</tt></i>:</span></td>
+<td>the malloc() function to use for atomic allocations</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitMemory"></a>xmlInitMemory ()</h3>
+<pre class="programlisting">int	xmlInitMemory			(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the memory layer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 on success</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMallocAtomicLoc"></a>xmlMallocAtomicLoc ()</h3>
+<pre class="programlisting">void *	xmlMallocAtomicLoc		(size_t size, <br>					 const char * file, <br>					 int line)<br>
+</pre>
+<p>a malloc() equivalent, with logging of the allocation info.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>an unsigned 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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMallocLoc"></a>xmlMallocLoc ()</h3>
+<pre class="programlisting">void *	xmlMallocLoc			(size_t size, <br>					 const char * file, <br>					 int line)<br>
+</pre>
+<p>a malloc() equivalent, with logging of the allocation info.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>an int specifying the size in byte to allocate.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>the file name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>line</tt></i>:</span></td>
+<td>the line number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemBlocks"></a>xmlMemBlocks ()</h3>
+<pre class="programlisting">int	xmlMemBlocks			(void)<br>
+</pre>
+<p>Provides the number of memory areas currently allocated</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int representing the number of blocks</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemDisplay"></a>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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemDisplayLast"></a>xmlMemDisplayLast ()</h3>
+<pre class="programlisting">void	xmlMemDisplayLast		(FILE * fp, <br>					 long nbBytes)<br>
+</pre>
+<p>the last nbBytes of memory allocated and not freed, useful for dumping the memory left allocated between two places at runtime.</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>
+<tr>
+<td><span class="term"><i><tt>nbBytes</tt></i>:</span></td>
+<td>the amount of memory to dump</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemFree"></a>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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemGet"></a>xmlMemGet ()</h3>
+<pre class="programlisting">int	xmlMemGet			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemMalloc"></a>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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemRealloc"></a>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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemSetup"></a>xmlMemSetup ()</h3>
+<pre class="programlisting">int	xmlMemSetup			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemShow"></a>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>
+<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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nr</tt></i>:</span></td>
+<td>number of entries to dump</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemStrdupLoc"></a>xmlMemStrdupLoc ()</h3>
+<pre class="programlisting">char *	xmlMemStrdupLoc			(const char * str, <br>					 const char * file, <br>					 int line)<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>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 new string or NULL if allocation error occurred.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemUsed"></a>xmlMemUsed ()</h3>
+<pre class="programlisting">int	xmlMemUsed			(void)<br>
+</pre>
+<p>Provides the amount of memory currently allocated</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int representing the amount of memory allocated.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemoryDump"></a>xmlMemoryDump ()</h3>
+<pre class="programlisting">void	xmlMemoryDump			(void)<br>
+</pre>
+<p>Dump in-extenso the memory blocks allocated to the file .memorylist</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemoryStrdup"></a>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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReallocLoc"></a>xmlReallocLoc ()</h3>
+<pre class="programlisting">void *	xmlReallocLoc			(void * ptr, <br>					 size_t size, <br>					 const char * file, <br>					 int line)<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>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>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlmodule.html b/doc/devhelp/libxml2-xmlmodule.html
index 28c5bec..e28329b 100644
--- a/doc/devhelp/libxml2-xmlmodule.html
+++ b/doc/devhelp/libxml2-xmlmodule.html
@@ -1,97 +1,167 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlmodule: dynamic module loading</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlmemory.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlreader.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlmodule</span>
-    </h2>
-    <p>xmlmodule - dynamic module loading</p>
-    <p>basic API for dynamic module loading, used by libexslt added in 2.6.17 </p>
-    <p>Author(s): Joel W. Reed </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlModule <a href="#xmlModule">xmlModule</a>;
-typedef <a href="libxml2-xmlmodule.html#xmlModule">xmlModule</a> * <a href="#xmlModulePtr">xmlModulePtr</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlmodule: dynamic module loading</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlmemory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlmodule</span></h2>
+<p>xmlmodule - dynamic module loading</p>
+<p>basic API for dynamic module loading, used by libexslt added in 2.6.17 </p>
+<p>Author(s): Joel W. Reed </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlModule <a href="#xmlModule">xmlModule</a>;
 typedef enum <a href="#xmlModuleOption">xmlModuleOption</a>;
-int	<a href="#xmlModuleFree">xmlModuleFree</a>			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module);
-int	<a href="#xmlModuleSymbol">xmlModuleSymbol</a>			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br/>					 const char * name, <br/>					 void ** symbol);
-<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>	<a href="#xmlModuleOpen">xmlModuleOpen</a>		(const char * name, <br/>					 int options);
+typedef <a href="libxml2-xmlmodule.html#xmlModule">xmlModule</a> * <a href="#xmlModulePtr">xmlModulePtr</a>;
 int	<a href="#xmlModuleClose">xmlModuleClose</a>			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module);
+int	<a href="#xmlModuleFree">xmlModuleFree</a>			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module);
+<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>	<a href="#xmlModuleOpen">xmlModuleOpen</a>		(const char * name, <br>					 int options);
+int	<a href="#xmlModuleSymbol">xmlModuleSymbol</a>			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br>					 const char * name, <br>					 void ** symbol);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlModule">Structure </a>xmlModule</h3><pre class="programlisting">struct _xmlModule {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModule">Structure </a>xmlModule</h3>
+<pre class="programlisting">struct _xmlModule {
 The content of this structure is not made public by the API.
 } xmlModule;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModuleOption">Enum </a>xmlModuleOption</h3><pre class="programlisting">enum <a href="#xmlModuleOption">xmlModuleOption</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModuleOption">Enum </a>xmlModuleOption</h3>
+<pre class="programlisting">enum <a href="#xmlModuleOption">xmlModuleOption</a> {
     <a name="XML_MODULE_LAZY">XML_MODULE_LAZY</a> = 1 /* lazy binding */
     <a name="XML_MODULE_LOCAL">XML_MODULE_LOCAL</a> = 2 /*  local binding */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModulePtr">Typedef </a>xmlModulePtr</h3><pre class="programlisting"><a href="libxml2-xmlmodule.html#xmlModule">xmlModule</a> * xmlModulePtr;
-</pre><p>A handle to a dynamically loaded module</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModulePtr">Typedef </a>xmlModulePtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlmodule.html#xmlModule">xmlModule</a> * xmlModulePtr;
+</pre>
+<p>A handle to a dynamically loaded module</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModuleClose"/>xmlModuleClose ()</h3><pre class="programlisting">int	xmlModuleClose			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br/>
-</pre><p>The close operations unload the associated module and free the data associated to the module.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>module</tt></i>:</span></td><td>the module handle</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of argument error and -2 if the module could not be closed/unloaded.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModuleFree"/>xmlModuleFree ()</h3><pre class="programlisting">int	xmlModuleFree			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br/>
-</pre><p>The free operations free the data associated to the module but does not unload the associated shared library which may still be in use.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>module</tt></i>:</span></td><td>the module handle</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of argument error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModuleOpen"/>xmlModuleOpen ()</h3><pre class="programlisting"><a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>	xmlModuleOpen		(const char * name, <br/>					 int options)<br/>
-</pre><p>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * . TODO: options are not yet implemented.</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 module name</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a set of <a href="libxml2-xmlmodule.html#xmlModuleOption">xmlModuleOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a handle for the module or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModuleSymbol"/>xmlModuleSymbol ()</h3><pre class="programlisting">int	xmlModuleSymbol			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br/>					 const char * name, <br/>					 void ** symbol)<br/>
-</pre><p>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * .</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>module</tt></i>:</span></td><td>the module</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the symbol</td></tr><tr><td><span class="term"><i><tt>symbol</tt></i>:</span></td><td>the resulting symbol address</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the symbol was found, or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModuleClose"></a>xmlModuleClose ()</h3>
+<pre class="programlisting">int	xmlModuleClose			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br>
+</pre>
+<p>The close operations unload the associated module and free the data associated to the module.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>module</tt></i>:</span></td>
+<td>the module handle</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of argument error and -2 if the module could not be closed/unloaded.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModuleFree"></a>xmlModuleFree ()</h3>
+<pre class="programlisting">int	xmlModuleFree			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br>
+</pre>
+<p>The free operations free the data associated to the module but does not unload the associated shared library which may still be in use.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>module</tt></i>:</span></td>
+<td>the module handle</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of argument error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModuleOpen"></a>xmlModuleOpen ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>	xmlModuleOpen		(const char * name, <br>					 int options)<br>
+</pre>
+<p>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * . TODO: options are not yet implemented.</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 module name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a set of <a href="libxml2-xmlmodule.html#xmlModuleOption">xmlModuleOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a handle for the module or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModuleSymbol"></a>xmlModuleSymbol ()</h3>
+<pre class="programlisting">int	xmlModuleSymbol			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br>					 const char * name, <br>					 void ** symbol)<br>
+</pre>
+<p>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * .</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>module</tt></i>:</span></td>
+<td>the module</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the symbol</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>symbol</tt></i>:</span></td>
+<td>the resulting symbol address</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the symbol was found, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlreader.html b/doc/devhelp/libxml2-xmlreader.html
index a000d56..bb012e6 100644
--- a/doc/devhelp/libxml2-xmlreader.html
+++ b/doc/devhelp/libxml2-xmlreader.html
@@ -1,169 +1,157 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlreader: the XMLReader implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlmodule.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlregexp.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlreader</span>
-    </h2>
-    <p>xmlreader - the XMLReader implementation</p>
-    <p>API of the XML streaming API based on C# interfaces. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> * <a href="#xmlTextReaderPtr">xmlTextReaderPtr</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlreader: the XMLReader implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlmodule.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlregexp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlreader</span></h2>
+<p>xmlreader - the XMLReader implementation</p>
+<p>API of the XML streaming API based on C# interfaces. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef enum <a href="#xmlParserProperties">xmlParserProperties</a>;
 typedef enum <a href="#xmlParserSeverities">xmlParserSeverities</a>;
-typedef enum <a href="#xmlParserProperties">xmlParserProperties</a>;
-typedef enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a>;
+typedef enum <a href="#xmlReaderTypes">xmlReaderTypes</a>;
 typedef struct _xmlTextReader <a href="#xmlTextReader">xmlTextReader</a>;
 typedef void * <a href="#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a>;
-typedef enum <a href="#xmlReaderTypes">xmlReaderTypes</a>;
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a>	(const char * URI);
-int	<a href="#xmlTextReaderHasAttributes">xmlTextReaderHasAttributes</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderReadState">xmlTextReaderReadState</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForFile">xmlReaderForFile</a>	(const char * filename, <br/>						 const char * encoding, <br/>						 int options);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderGetParserLineNumber">xmlTextReaderGetParserLineNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderExpand">xmlTextReaderExpand</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForDoc">xmlReaderForDoc</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#xmlReaderNewIO">xmlReaderNewIO</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#xmlTextReaderClose">xmlTextReaderClose</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadInnerXml">xmlTextReaderReadInnerXml</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderNormalization">xmlTextReaderNormalization</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 int prop);
-int	<a href="#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderValue">xmlTextReaderValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderIsValid">xmlTextReaderIsValid</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderMoveToFirstAttribute">xmlTextReaderMoveToFirstAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderGetParserColumnNumber">xmlTextReaderGetParserColumnNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstValue">xmlTextReaderConstValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlNewTextReader">xmlNewTextReader</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>						 const char * URI);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 int no);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstName">xmlTextReaderConstName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstString">xmlTextReaderConstString</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderDepth">xmlTextReaderDepth</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadString">xmlTextReaderReadString</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderMoveToNextAttribute">xmlTextReaderMoveToNextAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlReaderNewWalker">xmlReaderNewWalker</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderWalker">xmlReaderWalker</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderNodeType">xmlTextReaderNodeType</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+typedef enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a>;
+typedef <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> * <a href="#xmlTextReaderPtr">xmlTextReaderPtr</a>;
 void	<a href="#xmlFreeTextReader">xmlFreeTextReader</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderName">xmlTextReaderName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderRead">xmlTextReaderRead</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlReaderNewMemory">xmlReaderNewMemory</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const char * buffer, <br/>					 int size, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 int options);
-int	<a href="#xmlTextReaderHasValue">xmlTextReaderHasValue</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 int no);
-int	<a href="#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
-int	<a href="#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
-int	<a href="#xmlTextReaderNext">xmlTextReaderNext</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlNewTextReader">xmlNewTextReader</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 const char * URI);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a>	(const char * URI);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForDoc">xmlReaderForDoc</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForFd">xmlReaderForFd</a>	(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForFile">xmlReaderForFile</a>	(const char * filename, <br>						 const char * encoding, <br>						 int options);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForIO">xmlReaderForIO</a>	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForMemory">xmlReaderForMemory</a>	(const char * buffer, <br>						 int size, <br>						 const char * URL, <br>						 const char * encoding, <br>						 int options);
+int	<a href="#xmlReaderNewDoc">xmlReaderNewDoc</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+int	<a href="#xmlReaderNewFd">xmlReaderNewFd</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+int	<a href="#xmlReaderNewFile">xmlReaderNewFile</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options);
+int	<a href="#xmlReaderNewIO">xmlReaderNewIO</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+int	<a href="#xmlReaderNewMemory">xmlReaderNewMemory</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
+int	<a href="#xmlReaderNewWalker">xmlReaderNewWalker</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderWalker">xmlReaderWalker</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
 int	<a href="#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
-int	<a href="#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForIO">xmlReaderForIO</a>	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>						 int options);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderPrefix">xmlTextReaderPrefix</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-typedef void <a href="#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a>		(void * arg, <br/>					 const char * msg, <br/>					 <a href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br/>					 <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForFd">xmlReaderForFd</a>	(int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLocalName">xmlTextReaderLocalName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderPreserve">xmlTextReaderPreserve</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 int prop, <br/>					 int value);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-void	<a href="#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br/>					 void * arg);
-int	<a href="#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlReaderNewDoc">xmlReaderNewDoc</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-void	<a href="#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br/>					 void ** arg);
-void	<a href="#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br/>						 void * arg);
-int	<a href="#xmlReaderNewFile">xmlReaderNewFile</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const char * filename, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
-int	<a href="#xmlReaderNewFd">xmlReaderNewFd</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
-int	<a href="#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const char * rng);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForMemory">xmlReaderForMemory</a>	(const char * buffer, <br/>						 int size, <br/>						 const char * URL, <br/>						 const char * encoding, <br/>						 int options);
-int	<a href="#xmlTextReaderSetup">xmlTextReaderSetup</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 long	<a href="#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderClose">xmlTextReaderClose</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstName">xmlTextReaderConstName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstString">xmlTextReaderConstString</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstValue">xmlTextReaderConstValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderDepth">xmlTextReaderDepth</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+typedef void <a href="#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a>		(void * arg, <br>					 const char * msg, <br>					 <a href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderExpand">xmlTextReaderExpand</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 int no);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
+void	<a href="#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br>					 void ** arg);
+int	<a href="#xmlTextReaderGetParserColumnNumber">xmlTextReaderGetParserColumnNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderGetParserLineNumber">xmlTextReaderGetParserLineNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderHasAttributes">xmlTextReaderHasAttributes</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderHasValue">xmlTextReaderHasValue</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderIsValid">xmlTextReaderIsValid</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLocalName">xmlTextReaderLocalName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
+int	<a href="#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+int	<a href="#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int no);
+int	<a href="#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
+int	<a href="#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderMoveToFirstAttribute">xmlTextReaderMoveToFirstAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderMoveToNextAttribute">xmlTextReaderMoveToNextAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderName">xmlTextReaderName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderNamespaceUri">xmlTextReaderNamespaceUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int	<a href="#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const char * xsd);
+int	<a href="#xmlTextReaderNext">xmlTextReaderNext</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderNodeType">xmlTextReaderNodeType</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderNormalization">xmlTextReaderNormalization</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderPrefix">xmlTextReaderPrefix</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderPreserve">xmlTextReaderPreserve</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces);
+int	<a href="#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderRead">xmlTextReaderRead</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadInnerXml">xmlTextReaderReadInnerXml</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderReadState">xmlTextReaderReadState</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadString">xmlTextReaderReadString</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int	<a href="#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+int	<a href="#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * rng);
+int	<a href="#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 int options);
+int	<a href="#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * xsd);
+int	<a href="#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options);
+void	<a href="#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br>					 void * arg);
+int	<a href="#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop, <br>					 int value);
+int	<a href="#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
+void	<a href="#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br>						 void * arg);
+int	<a href="#xmlTextReaderSetup">xmlTextReaderSetup</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
 int	<a href="#xmlTextReaderStandalone">xmlTextReaderStandalone</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderValue">xmlTextReaderValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlParserProperties">Enum </a>xmlParserProperties</h3><pre class="programlisting">enum <a href="#xmlParserProperties">xmlParserProperties</a> {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserProperties">Enum </a>xmlParserProperties</h3>
+<pre class="programlisting">enum <a href="#xmlParserProperties">xmlParserProperties</a> {
     <a name="XML_PARSER_LOADDTD">XML_PARSER_LOADDTD</a> = 1
     <a name="XML_PARSER_DEFAULTATTRS">XML_PARSER_DEFAULTATTRS</a> = 2
     <a name="XML_PARSER_VALIDATE">XML_PARSER_VALIDATE</a> = 3
     <a name="XML_PARSER_SUBST_ENTITIES">XML_PARSER_SUBST_ENTITIES</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserSeverities">Enum </a>xmlParserSeverities</h3><pre class="programlisting">enum <a href="#xmlParserSeverities">xmlParserSeverities</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserSeverities">Enum </a>xmlParserSeverities</h3>
+<pre class="programlisting">enum <a href="#xmlParserSeverities">xmlParserSeverities</a> {
     <a name="XML_PARSER_SEVERITY_VALIDITY_WARNING">XML_PARSER_SEVERITY_VALIDITY_WARNING</a> = 1
     <a name="XML_PARSER_SEVERITY_VALIDITY_ERROR">XML_PARSER_SEVERITY_VALIDITY_ERROR</a> = 2
     <a name="XML_PARSER_SEVERITY_WARNING">XML_PARSER_SEVERITY_WARNING</a> = 3
     <a name="XML_PARSER_SEVERITY_ERROR">XML_PARSER_SEVERITY_ERROR</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderTypes">Enum </a>xmlReaderTypes</h3><pre class="programlisting">enum <a href="#xmlReaderTypes">xmlReaderTypes</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderTypes">Enum </a>xmlReaderTypes</h3>
+<pre class="programlisting">enum <a href="#xmlReaderTypes">xmlReaderTypes</a> {
     <a name="XML_READER_TYPE_NONE">XML_READER_TYPE_NONE</a> = 0
     <a name="XML_READER_TYPE_ELEMENT">XML_READER_TYPE_ELEMENT</a> = 1
     <a name="XML_READER_TYPE_ATTRIBUTE">XML_READER_TYPE_ATTRIBUTE</a> = 2
@@ -183,20 +171,32 @@
     <a name="XML_READER_TYPE_END_ENTITY">XML_READER_TYPE_END_ENTITY</a> = 16
     <a name="XML_READER_TYPE_XML_DECLARATION">XML_READER_TYPE_XML_DECLARATION</a> = 17
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReader">Structure </a>xmlTextReader</h3><pre class="programlisting">struct _xmlTextReader {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReader">Structure </a>xmlTextReader</h3>
+<pre class="programlisting">struct _xmlTextReader {
 The content of this structure is not made public by the API.
 } xmlTextReader;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderLocatorPtr">Typedef </a>xmlTextReaderLocatorPtr</h3><pre class="programlisting">void * xmlTextReaderLocatorPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderLocatorPtr">Typedef </a>xmlTextReaderLocatorPtr</h3>
+<pre class="programlisting">void * xmlTextReaderLocatorPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderMode">Enum </a>xmlTextReaderMode</h3><pre class="programlisting">enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderMode">Enum </a>xmlTextReaderMode</h3>
+<pre class="programlisting">enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a> {
     <a name="XML_TEXTREADER_MODE_INITIAL">XML_TEXTREADER_MODE_INITIAL</a> = 0
     <a name="XML_TEXTREADER_MODE_INTERACTIVE">XML_TEXTREADER_MODE_INTERACTIVE</a> = 1
     <a name="XML_TEXTREADER_MODE_ERROR">XML_TEXTREADER_MODE_ERROR</a> = 2
@@ -204,362 +204,2145 @@
     <a name="XML_TEXTREADER_MODE_CLOSED">XML_TEXTREADER_MODE_CLOSED</a> = 4
     <a name="XML_TEXTREADER_MODE_READING">XML_TEXTREADER_MODE_READING</a> = 5
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderPtr">Typedef </a>xmlTextReaderPtr</h3><pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> * xmlTextReaderPtr;
-</pre><p>Pointer to an xmlReader context.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderPtr">Typedef </a>xmlTextReaderPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> * xmlTextReaderPtr;
+</pre>
+<p>Pointer to an xmlReader context.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderErrorFunc"/>Function type xmlTextReaderErrorFunc</h3><pre class="programlisting">void	xmlTextReaderErrorFunc		(void * arg, <br/>					 const char * msg, <br/>					 <a href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br/>					 <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br/>
-</pre><p>Signature of an error callback from a reader parser</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>the user argument</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>severity</tt></i>:</span></td><td>the severity of the error</td></tr><tr><td><span class="term"><i><tt>locator</tt></i>:</span></td><td>a locator indicating where the error occurred</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeTextReader"/>xmlFreeTextReader ()</h3><pre class="programlisting">void	xmlFreeTextReader		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Deallocate all the resources associated to the reader</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextReader"/>xmlNewTextReader ()</h3><pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlNewTextReader	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>						 const char * URI)<br/>
-</pre><p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with @input</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to read data</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI information for the source if available</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextReaderFilename"/>xmlNewTextReaderFilename ()</h3><pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlNewTextReaderFilename	(const char * URI)<br/>
-</pre><p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with the resource at @URI</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 of the resource to process</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderForDoc"/>xmlReaderForDoc ()</h3><pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForDoc	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderForFd"/>xmlReaderForFd ()</h3><pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForFd	(int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderForFile"/>xmlReaderForFile ()</h3><pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForFile	(const char * filename, <br/>						 const char * encoding, <br/>						 int options)<br/>
-</pre><p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderForIO"/>xmlReaderForIO ()</h3><pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForIO	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderForMemory"/>xmlReaderForMemory ()</h3><pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForMemory	(const char * buffer, <br/>						 int size, <br/>						 const char * URL, <br/>						 const char * encoding, <br/>						 int options)<br/>
-</pre><p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewDoc"/>xmlReaderNewDoc ()</h3><pre class="programlisting">int	xmlReaderNewDoc			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewFd"/>xmlReaderNewFd ()</h3><pre class="programlisting">int	xmlReaderNewFd			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 int fd, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewFile"/>xmlReaderNewFile ()</h3><pre class="programlisting">int	xmlReaderNewFile		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const char * filename, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewIO"/>xmlReaderNewIO ()</h3><pre class="programlisting">int	xmlReaderNewIO			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br/>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewMemory"/>xmlReaderNewMemory ()</h3><pre class="programlisting">int	xmlReaderNewMemory		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const char * buffer, <br/>					 int size, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewWalker"/>xmlReaderNewWalker ()</h3><pre class="programlisting">int	xmlReaderNewWalker		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader xmlTextReader.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderWalker"/>xmlReaderWalker ()</h3><pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderWalker	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Create an xmltextReader for a preparsed document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderAttributeCount"/>xmlTextReaderAttributeCount ()</h3><pre class="programlisting">int	xmlTextReaderAttributeCount	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Provides the number of attributes of the current 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 i no attributes, -1 in case of error or the <a href="libxml2-SAX.html#attribute">attribute</a> count</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderBaseUri"/>xmlTextReaderBaseUri ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderBaseUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The base URI of the node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the base URI or NULL if not available, if non NULL it need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderByteConsumed"/>xmlTextReaderByteConsumed ()</h3><pre class="programlisting">long	xmlTextReaderByteConsumed	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>This function provides the current index of the parser used by the reader, relative to the start of the current entity. This function actually just wraps a call to xmlBytesConsumed() for the parser context associated with the reader. See xmlBytesConsumed() for more information.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderClose"/>xmlTextReaderClose ()</h3><pre class="programlisting">int	xmlTextReaderClose		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>This method releases any resources allocated by the current instance changes the state to Closed and close any underlying input.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstBaseUri"/>xmlTextReaderConstBaseUri ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstBaseUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The base URI of the node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the base URI or NULL if not available, the string will be deallocated with the reader</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstEncoding"/>xmlTextReaderConstEncoding ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstEncoding	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Determine the encoding of the document being read.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the encoding of the document or NULL in case of error. The string is deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstLocalName"/>xmlTextReaderConstLocalName ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstLocalName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The local name of the node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, the string will be deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstName"/>xmlTextReaderConstName ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The qualified name of the node, equal to Prefix :LocalName.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, the string is deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstNamespaceUri"/>xmlTextReaderConstNamespaceUri ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstNamespaceUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The URI defining 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace URI or NULL if not available, the string will be deallocated with the reader</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstPrefix"/>xmlTextReaderConstPrefix ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstPrefix	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>A shorthand <a href="libxml2-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="libxml2-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, the string is deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstString"/>xmlTextReaderConstString ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstString	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Get an interned string from the reader, allows for example to speedup string name comparisons</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string to intern.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an interned copy of the string or NULL in case of error. The string will be deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstValue"/>xmlTextReaderConstValue ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Provides the text value of the node if present</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string or NULL if not available. The result will be deallocated on the next Read() operation.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstXmlLang"/>xmlTextReaderConstXmlLang ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlLang	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The xml:lang scope within which the node resides.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xml:lang value or NULL if none exists.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstXmlVersion"/>xmlTextReaderConstXmlVersion ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlVersion	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Determine the XML version of the document being read.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the XML version of the document or NULL in case of error. The string is deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderCurrentDoc"/>xmlTextReaderCurrentDoc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlTextReaderCurrentDoc	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> corresponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderCurrentNode"/>xmlTextReaderCurrentNode ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderCurrentNode	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> corresponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderDepth"/>xmlTextReaderDepth ()</h3><pre class="programlisting">int	xmlTextReaderDepth		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The depth of the node in the tree.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the depth or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderExpand"/>xmlTextReaderExpand ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderExpand	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Reads the contents of the current node and the full subtree. It then makes the subtree available until the next xmlTextReaderRead() call</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a node pointer valid until the next xmlTextReaderRead() call or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetAttribute"/>xmlTextReaderGetAttribute ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Provides the value of the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified qualified name.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the qualified name of the attribute.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetAttributeNo"/>xmlTextReaderGetAttributeNo ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNo	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 int no)<br/>
-</pre><p>Provides the value of the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>no</tt></i>:</span></td><td>the zero-based index of the <a href="libxml2-SAX.html#attribute">attribute</a> relative to the containing element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetAttributeNs"/>xmlTextReaderGetAttributeNs ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNs	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br/>
-</pre><p>Provides the value of the specified <a href="libxml2-SAX.html#attribute">attribute</a></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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>localName</tt></i>:</span></td><td>the local name of the attribute.</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>the namespace URI of the attribute.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetErrorHandler"/>xmlTextReaderGetErrorHandler ()</h3><pre class="programlisting">void	xmlTextReaderGetErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br/>					 void ** arg)<br/>
-</pre><p>Retrieve the error callback function and user argument.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the callback function or NULL is no callback has been registered</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetParserColumnNumber"/>xmlTextReaderGetParserColumnNumber ()</h3><pre class="programlisting">int	xmlTextReaderGetParserColumnNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Provide the column number of the current parsing point.</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 user data (XML reader context)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int or 0 if not available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetParserLineNumber"/>xmlTextReaderGetParserLineNumber ()</h3><pre class="programlisting">int	xmlTextReaderGetParserLineNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Provide the line number of the current parsing point.</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 user data (XML reader context)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int or 0 if not available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetParserProp"/>xmlTextReaderGetParserProp ()</h3><pre class="programlisting">int	xmlTextReaderGetParserProp	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 int prop)<br/>
-</pre><p>Read the parser internal property.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>prop</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to get</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value, usually 0 or 1, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetRemainder"/>xmlTextReaderGetRemainder ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlTextReaderGetRemainder	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>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 progressed past what's left in reader-&gt;input, and there is an allocation problem. Best would be to rewrite it differently.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> attached to the XML or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderHasAttributes"/>xmlTextReaderHasAttributes ()</h3><pre class="programlisting">int	xmlTextReaderHasAttributes	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Whether the node has attributes.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false, and -1 in case or error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderHasValue"/>xmlTextReaderHasValue ()</h3><pre class="programlisting">int	xmlTextReaderHasValue		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Whether the node can have a text value.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false, and -1 in case or error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderIsDefault"/>xmlTextReaderIsDefault ()</h3><pre class="programlisting">int	xmlTextReaderIsDefault		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Whether an Attribute node was generated from the default value defined in the DTD or schema.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if not defaulted, 1 if defaulted, and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderIsEmptyElement"/>xmlTextReaderIsEmptyElement ()</h3><pre class="programlisting">int	xmlTextReaderIsEmptyElement	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Check if the current node is empty</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if empty, 0 if not and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderIsNamespaceDecl"/>xmlTextReaderIsNamespaceDecl ()</h3><pre class="programlisting">int	xmlTextReaderIsNamespaceDecl	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Determine whether the current node is a namespace declaration rather than a regular attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the current node is a namespace declaration, 0 if it is a regular <a href="libxml2-SAX.html#attribute">attribute</a> or other type of node, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderIsValid"/>xmlTextReaderIsValid ()</h3><pre class="programlisting">int	xmlTextReaderIsValid		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Retrieve the validity status from the parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the flag value 1 if valid, 0 if no, and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderLocalName"/>xmlTextReaderLocalName ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLocalName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The local name of the node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderLocatorBaseURI"/>xmlTextReaderLocatorBaseURI ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLocatorBaseURI	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br/>
-</pre><p>Obtain the base URI for the given locator.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>locator</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the base URI or NULL in case of error, if non NULL it need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderLocatorLineNumber"/>xmlTextReaderLocatorLineNumber ()</h3><pre class="programlisting">int	xmlTextReaderLocatorLineNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br/>
-</pre><p>Obtain the line number for the given locator.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>locator</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the line number or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderLookupNamespace"/>xmlTextReaderLookupNamespace ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLookupNamespace	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br/>
-</pre><p>Resolves a namespace prefix in the scope of the current element.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderMoveToAttribute"/>xmlTextReaderMoveToAttribute ()</h3><pre class="programlisting">int	xmlTextReaderMoveToAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified qualified name.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the qualified name of the attribute.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderMoveToAttributeNo"/>xmlTextReaderMoveToAttributeNo ()</h3><pre class="programlisting">int	xmlTextReaderMoveToAttributeNo	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 int no)<br/>
-</pre><p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>no</tt></i>:</span></td><td>the zero-based index of the <a href="libxml2-SAX.html#attribute">attribute</a> relative to the containing element.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderMoveToAttributeNs"/>xmlTextReaderMoveToAttributeNs ()</h3><pre class="programlisting">int	xmlTextReaderMoveToAttributeNs	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br/>
-</pre><p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified local name and namespace URI.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>localName</tt></i>:</span></td><td>the local name of the attribute.</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>the namespace URI of the attribute.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderMoveToElement"/>xmlTextReaderMoveToElement ()</h3><pre class="programlisting">int	xmlTextReaderMoveToElement	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Moves the position of the current instance to the node that contains the current Attribute 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not moved</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderMoveToFirstAttribute"/>xmlTextReaderMoveToFirstAttribute ()</h3><pre class="programlisting">int	xmlTextReaderMoveToFirstAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Moves the position of the current instance to the first <a href="libxml2-SAX.html#attribute">attribute</a> associated with the current 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderMoveToNextAttribute"/>xmlTextReaderMoveToNextAttribute ()</h3><pre class="programlisting">int	xmlTextReaderMoveToNextAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Moves the position of the current instance to the next <a href="libxml2-SAX.html#attribute">attribute</a> associated with the current 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderName"/>xmlTextReaderName ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The qualified name of the node, equal to Prefix :LocalName.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNamespaceUri"/>xmlTextReaderNamespaceUri ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderNamespaceUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The URI defining 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace URI or NULL if not available, if non NULL it need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNext"/>xmlTextReaderNext ()</h3><pre class="programlisting">int	xmlTextReaderNext		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Skip to the node following the current one in document order while avoiding the subtree if any.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNextSibling"/>xmlTextReaderNextSibling ()</h3><pre class="programlisting">int	xmlTextReaderNextSibling	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>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</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNodeType"/>xmlTextReaderNodeType ()</h3><pre class="programlisting">int	xmlTextReaderNodeType		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Get the node type of the current node Reference: http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a> of the current node or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNormalization"/>xmlTextReaderNormalization ()</h3><pre class="programlisting">int	xmlTextReaderNormalization	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The value indicating whether to normalize white space and <a href="libxml2-SAX.html#attribute">attribute</a> values. Since <a href="libxml2-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken behaviour of accepting out of range character entities like &amp;#0; is of course not supported either.</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="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderPrefix"/>xmlTextReaderPrefix ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderPrefix	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>A shorthand <a href="libxml2-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="libxml2-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, if non NULL it need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderPreserve"/>xmlTextReaderPreserve ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderPreserve	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderPreservePattern"/>xmlTextReaderPreservePattern ()</h3><pre class="programlisting">int	xmlTextReaderPreservePattern	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br/>					 const <a href="libxml2-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="libxml2-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 non-negative number in case of success and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderQuoteChar"/>xmlTextReaderQuoteChar ()</h3><pre class="programlisting">int	xmlTextReaderQuoteChar		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The quotation mark character used to enclose the value of an attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>" or ' and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderRead"/>xmlTextReaderRead ()</h3><pre class="programlisting">int	xmlTextReaderRead		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Moves the position of the current instance to the next node in the stream, exposing its properties.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderReadAttributeValue"/>xmlTextReaderReadAttributeValue ()</h3><pre class="programlisting">int	xmlTextReaderReadAttributeValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Parses an <a href="libxml2-SAX.html#attribute">attribute</a> value into one or more Text and EntityReference nodes.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, 0 if the reader was not positioned on an <a href="libxml2-SAX.html#attribute">attribute</a> node or all the <a href="libxml2-SAX.html#attribute">attribute</a> values have been read, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderReadInnerXml"/>xmlTextReaderReadInnerXml ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadInnerXml	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Reads the contents of the current node, including child nodes and markup.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the XML 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.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderReadOuterXml"/>xmlTextReaderReadOuterXml ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadOuterXml	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Reads the contents of the current node, including child nodes and markup.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the node and any XML content, or NULL if the current node cannot be serialized. The string must be deallocated by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderReadState"/>xmlTextReaderReadState ()</h3><pre class="programlisting">int	xmlTextReaderReadState		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Gets the read state of the reader.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the state value, or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderReadString"/>xmlTextReaderReadString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadString	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Reads the contents of an element or a text node as a string.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the 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.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderRelaxNGSetSchema"/>xmlTextReaderRelaxNGSetSchema ()</h3><pre class="programlisting">int	xmlTextReaderRelaxNGSetSchema	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br/>
-</pre><p>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 deactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled RelaxNG schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the RelaxNG validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderRelaxNGValidate"/>xmlTextReaderRelaxNGValidate ()</h3><pre class="programlisting">int	xmlTextReaderRelaxNGValidate	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const char * rng)<br/>
-</pre><p>Use RelaxNG schema to validate the document as it is processed. Activation is only possible before the first Read(). If @rng is NULL, then RelaxNG schema validation is deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>rng</tt></i>:</span></td><td>the path to a RelaxNG schema or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderRelaxNGValidateCtxt"/>xmlTextReaderRelaxNGValidateCtxt ()</h3><pre class="programlisting">int	xmlTextReaderRelaxNGValidateCtxt	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>						 int options)<br/>
-</pre><p>Use RelaxNG schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then RelaxNG schema validation is deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the RelaxNG schema validation context or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (not used yet)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSchemaValidate"/>xmlTextReaderSchemaValidate ()</h3><pre class="programlisting">int	xmlTextReaderSchemaValidate	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const char * xsd)<br/>
-</pre><p>Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first Read(). If @xsd is NULL, then XML Schema validation is deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>xsd</tt></i>:</span></td><td>the path to a W3C XSD schema or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSchemaValidateCtxt"/>xmlTextReaderSchemaValidateCtxt ()</h3><pre class="programlisting">int	xmlTextReaderSchemaValidateCtxt	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 int options)<br/>
-</pre><p>Use W3C XSD schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then XML Schema validation is deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XML Schema validation context or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (not used yet)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSetErrorHandler"/>xmlTextReaderSetErrorHandler ()</h3><pre class="programlisting">void	xmlTextReaderSetErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br/>					 void * arg)<br/>
-</pre><p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the callback function to call on error and warnings</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument to pass to the callback function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSetParserProp"/>xmlTextReaderSetParserProp ()</h3><pre class="programlisting">int	xmlTextReaderSetParserProp	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 int prop, <br/>					 int value)<br/>
-</pre><p>Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>prop</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to set</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>usually 0 or 1 to (de)activate it</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the call was successful, or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSetSchema"/>xmlTextReaderSetSchema ()</h3><pre class="programlisting">int	xmlTextReaderSetSchema		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br/>
-</pre><p>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is deactivated. The @schema should not be freed until the reader is deallocated or its use has been deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled Schema schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the Schema validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSetStructuredErrorHandler"/>xmlTextReaderSetStructuredErrorHandler ()</h3><pre class="programlisting">void	xmlTextReaderSetStructuredErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br/>						 void * arg)<br/>
-</pre><p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the callback function to call on error and warnings</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument to pass to the callback function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSetup"/>xmlTextReaderSetup ()</h3><pre class="programlisting">int	xmlTextReaderSetup		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>					 const char * URL, <br/>					 const char * encoding, <br/>					 int options)<br/>
-</pre><p>Setup an XML reader with new options</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to feed the reader, will be destroyed with it.</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderStandalone"/>xmlTextReaderStandalone ()</h3><pre class="programlisting">int	xmlTextReaderStandalone		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Determine the standalone status of the document being read.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the document was declared to be standalone, 0 if it was declared to be not standalone, or -1 if the document did not specify its standalone status or in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderValue"/>xmlTextReaderValue ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Provides the text value of the node if present</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string or NULL if not available. The result must be deallocated with xmlFree()</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderXmlLang"/>xmlTextReaderXmlLang ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderXmlLang	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The xml:lang scope within which the node resides.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xml:lang value or NULL if none exists., if non NULL it need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderErrorFunc"></a>Function type xmlTextReaderErrorFunc</h3>
+<pre class="programlisting">void	xmlTextReaderErrorFunc		(void * arg, <br>					 const char * msg, <br>					 <a href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br>
+</pre>
+<p>Signature of an error callback from a reader parser</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>the user argument</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>severity</tt></i>:</span></td>
+<td>the severity of the error</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>locator</tt></i>:</span></td>
+<td>a locator indicating where the error occurred</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeTextReader"></a>xmlFreeTextReader ()</h3>
+<pre class="programlisting">void	xmlFreeTextReader		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Deallocate all the resources associated to the reader</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextReader"></a>xmlNewTextReader ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlNewTextReader	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 const char * URI)<br>
+</pre>
+<p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with @input</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to read data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the URI information for the source if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextReaderFilename"></a>xmlNewTextReaderFilename ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlNewTextReaderFilename	(const char * URI)<br>
+</pre>
+<p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with the resource at @URI</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 of the resource to process</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderForDoc"></a>xmlReaderForDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForDoc	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderForFd"></a>xmlReaderForFd ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForFd	(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>Create an xmltextReader for an XML from a file descriptor. The parsing flags @options are a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderForFile"></a>xmlReaderForFile ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForFile	(const char * filename, <br>						 const char * encoding, <br>						 int options)<br>
+</pre>
+<p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderForIO"></a>xmlReaderForIO ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForIO	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderForMemory"></a>xmlReaderForMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForMemory	(const char * buffer, <br>						 int size, <br>						 const char * URL, <br>						 const char * encoding, <br>						 int options)<br>
+</pre>
+<p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewDoc"></a>xmlReaderNewDoc ()</h3>
+<pre class="programlisting">int	xmlReaderNewDoc			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>. This reuses the existing @reader <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewFd"></a>xmlReaderNewFd ()</h3>
+<pre class="programlisting">int	xmlReaderNewFd			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>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 <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>. This reuses the existing @reader <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewFile"></a>xmlReaderNewFile ()</h3>
+<pre class="programlisting">int	xmlReaderNewFile		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>. This reuses the existing @reader <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewIO"></a>xmlReaderNewIO ()</h3>
+<pre class="programlisting">int	xmlReaderNewIO			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>Setup an xmltextReader to parse an XML document from I/O functions and source. The parsing flags @options are a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>. This reuses the existing @reader <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewMemory"></a>xmlReaderNewMemory ()</h3>
+<pre class="programlisting">int	xmlReaderNewMemory		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>. This reuses the existing @reader <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewWalker"></a>xmlReaderNewWalker ()</h3>
+<pre class="programlisting">int	xmlReaderNewWalker		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a preparsed document</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderWalker"></a>xmlReaderWalker ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderWalker	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Create an xmltextReader for a preparsed document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a preparsed document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderAttributeCount"></a>xmlTextReaderAttributeCount ()</h3>
+<pre class="programlisting">int	xmlTextReaderAttributeCount	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Provides the number of attributes of the current 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 i no attributes, -1 in case of error or the <a href="libxml2-SAX.html#attribute">attribute</a> count</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderBaseUri"></a>xmlTextReaderBaseUri ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderBaseUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The base URI of the node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the base URI or NULL if not available, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderByteConsumed"></a>xmlTextReaderByteConsumed ()</h3>
+<pre class="programlisting">long	xmlTextReaderByteConsumed	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>This function provides the current index of the parser used by the reader, relative to the start of the current entity. This function actually just wraps a call to xmlBytesConsumed() for the parser context associated with the reader. See xmlBytesConsumed() for more information.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderClose"></a>xmlTextReaderClose ()</h3>
+<pre class="programlisting">int	xmlTextReaderClose		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>This method releases any resources allocated by the current instance changes the state to Closed and close any underlying input.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstBaseUri"></a>xmlTextReaderConstBaseUri ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstBaseUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The base URI of the node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the base URI or NULL if not available, the string will be deallocated with the reader</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstEncoding"></a>xmlTextReaderConstEncoding ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstEncoding	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Determine the encoding of the document being read.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the encoding of the document or NULL in case of error. The string is deallocated with the reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstLocalName"></a>xmlTextReaderConstLocalName ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstLocalName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The local name of the node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local name or NULL if not available, the string will be deallocated with the reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstName"></a>xmlTextReaderConstName ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The qualified name of the node, equal to Prefix :LocalName.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local name or NULL if not available, the string is deallocated with the reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstNamespaceUri"></a>xmlTextReaderConstNamespaceUri ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstNamespaceUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The URI defining 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace URI or NULL if not available, the string will be deallocated with the reader</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstPrefix"></a>xmlTextReaderConstPrefix ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstPrefix	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>A shorthand <a href="libxml2-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="libxml2-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, the string is deallocated with the reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstString"></a>xmlTextReaderConstString ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstString	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Get an interned string from the reader, allows for example to speedup string name comparisons</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the string to intern.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an interned copy of the string or NULL in case of error. The string will be deallocated with the reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstValue"></a>xmlTextReaderConstValue ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Provides the text value of the node if present</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the string or NULL if not available. The result will be deallocated on the next Read() operation.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstXmlLang"></a>xmlTextReaderConstXmlLang ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlLang	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The xml:lang scope within which the node resides.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the xml:lang value or NULL if none exists.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstXmlVersion"></a>xmlTextReaderConstXmlVersion ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlVersion	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Determine the XML version of the document being read.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the XML version of the document or NULL in case of error. The string is deallocated with the reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderCurrentDoc"></a>xmlTextReaderCurrentDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlTextReaderCurrentDoc	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> corresponding to the current document being accessed by the <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a>. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderCurrentNode"></a>xmlTextReaderCurrentNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderCurrentNode	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> corresponding to the current node being accessed by the <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a>. This is dangerous because the underlying node may be destroyed on the next Reads.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderDepth"></a>xmlTextReaderDepth ()</h3>
+<pre class="programlisting">int	xmlTextReaderDepth		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The depth of the node in the tree.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the depth or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderExpand"></a>xmlTextReaderExpand ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderExpand	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Reads the contents of the current node and the full subtree. It then makes the subtree available until the next xmlTextReaderRead() call</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a node pointer valid until the next xmlTextReaderRead() call or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetAttribute"></a>xmlTextReaderGetAttribute ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Provides the value of the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified qualified name.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the qualified name of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetAttributeNo"></a>xmlTextReaderGetAttributeNo ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNo	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 int no)<br>
+</pre>
+<p>Provides the value of the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>no</tt></i>:</span></td>
+<td>the zero-based index of the <a href="libxml2-SAX.html#attribute">attribute</a> relative to the containing element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetAttributeNs"></a>xmlTextReaderGetAttributeNs ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNs	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
+</pre>
+<p>Provides the value of the specified <a href="libxml2-SAX.html#attribute">attribute</a></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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>localName</tt></i>:</span></td>
+<td>the local name of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>the namespace URI of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetErrorHandler"></a>xmlTextReaderGetErrorHandler ()</h3>
+<pre class="programlisting">void	xmlTextReaderGetErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br>					 void ** arg)<br>
+</pre>
+<p>Retrieve the error callback function and user argument.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the callback function or NULL is no callback has been registered</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>a user argument</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetParserColumnNumber"></a>xmlTextReaderGetParserColumnNumber ()</h3>
+<pre class="programlisting">int	xmlTextReaderGetParserColumnNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Provide the column number of the current parsing point.</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 user data (XML reader context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int or 0 if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetParserLineNumber"></a>xmlTextReaderGetParserLineNumber ()</h3>
+<pre class="programlisting">int	xmlTextReaderGetParserLineNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Provide the line number of the current parsing point.</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 user data (XML reader context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int or 0 if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetParserProp"></a>xmlTextReaderGetParserProp ()</h3>
+<pre class="programlisting">int	xmlTextReaderGetParserProp	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop)<br>
+</pre>
+<p>Read the parser internal property.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prop</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to get</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value, usually 0 or 1, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetRemainder"></a>xmlTextReaderGetRemainder ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlTextReaderGetRemainder	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>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 progressed past what's left in reader-&gt;input, and there is an allocation problem. Best would be to rewrite it differently.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> attached to the XML or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderHasAttributes"></a>xmlTextReaderHasAttributes ()</h3>
+<pre class="programlisting">int	xmlTextReaderHasAttributes	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Whether the node has attributes.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if false, and -1 in case or error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderHasValue"></a>xmlTextReaderHasValue ()</h3>
+<pre class="programlisting">int	xmlTextReaderHasValue		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Whether the node can have a text value.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if false, and -1 in case or error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderIsDefault"></a>xmlTextReaderIsDefault ()</h3>
+<pre class="programlisting">int	xmlTextReaderIsDefault		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Whether an Attribute node was generated from the default value defined in the DTD or schema.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if not defaulted, 1 if defaulted, and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderIsEmptyElement"></a>xmlTextReaderIsEmptyElement ()</h3>
+<pre class="programlisting">int	xmlTextReaderIsEmptyElement	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Check if the current node is empty</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if empty, 0 if not and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderIsNamespaceDecl"></a>xmlTextReaderIsNamespaceDecl ()</h3>
+<pre class="programlisting">int	xmlTextReaderIsNamespaceDecl	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Determine whether the current node is a namespace declaration rather than a regular <a href="libxml2-SAX.html#attribute">attribute</a>.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the current node is a namespace declaration, 0 if it is a regular <a href="libxml2-SAX.html#attribute">attribute</a> or other type of node, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderIsValid"></a>xmlTextReaderIsValid ()</h3>
+<pre class="programlisting">int	xmlTextReaderIsValid		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Retrieve the validity status from the parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the flag value 1 if valid, 0 if no, and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderLocalName"></a>xmlTextReaderLocalName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLocalName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The local name of the node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderLocatorBaseURI"></a>xmlTextReaderLocatorBaseURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLocatorBaseURI	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br>
+</pre>
+<p>Obtain the base URI for the given locator.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>locator</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the base URI or NULL in case of error, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderLocatorLineNumber"></a>xmlTextReaderLocatorLineNumber ()</h3>
+<pre class="programlisting">int	xmlTextReaderLocatorLineNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br>
+</pre>
+<p>Obtain the line number for the given locator.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>locator</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the line number or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderLookupNamespace"></a>xmlTextReaderLookupNamespace ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLookupNamespace	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
+</pre>
+<p>Resolves a namespace prefix in the scope of the current element.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>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.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderMoveToAttribute"></a>xmlTextReaderMoveToAttribute ()</h3>
+<pre class="programlisting">int	xmlTextReaderMoveToAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified qualified name.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the qualified name of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderMoveToAttributeNo"></a>xmlTextReaderMoveToAttributeNo ()</h3>
+<pre class="programlisting">int	xmlTextReaderMoveToAttributeNo	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int no)<br>
+</pre>
+<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>no</tt></i>:</span></td>
+<td>the zero-based index of the <a href="libxml2-SAX.html#attribute">attribute</a> relative to the containing element.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderMoveToAttributeNs"></a>xmlTextReaderMoveToAttributeNs ()</h3>
+<pre class="programlisting">int	xmlTextReaderMoveToAttributeNs	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
+</pre>
+<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified local name and namespace URI.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>localName</tt></i>:</span></td>
+<td>the local name of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>the namespace URI of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderMoveToElement"></a>xmlTextReaderMoveToElement ()</h3>
+<pre class="programlisting">int	xmlTextReaderMoveToElement	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Moves the position of the current instance to the node that contains the current Attribute 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not moved</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderMoveToFirstAttribute"></a>xmlTextReaderMoveToFirstAttribute ()</h3>
+<pre class="programlisting">int	xmlTextReaderMoveToFirstAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Moves the position of the current instance to the first <a href="libxml2-SAX.html#attribute">attribute</a> associated with the current 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderMoveToNextAttribute"></a>xmlTextReaderMoveToNextAttribute ()</h3>
+<pre class="programlisting">int	xmlTextReaderMoveToNextAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Moves the position of the current instance to the next <a href="libxml2-SAX.html#attribute">attribute</a> associated with the current 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderName"></a>xmlTextReaderName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The qualified name of the node, equal to Prefix :LocalName.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderNamespaceUri"></a>xmlTextReaderNamespaceUri ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderNamespaceUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The URI defining 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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace URI or NULL if not available, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderNext"></a>xmlTextReaderNext ()</h3>
+<pre class="programlisting">int	xmlTextReaderNext		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Skip to the node following the current one in document order while avoiding the subtree if any.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderNextSibling"></a>xmlTextReaderNextSibling ()</h3>
+<pre class="programlisting">int	xmlTextReaderNextSibling	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>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</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderNodeType"></a>xmlTextReaderNodeType ()</h3>
+<pre class="programlisting">int	xmlTextReaderNodeType		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Get the node type of the current node Reference: http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a> of the current node or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderNormalization"></a>xmlTextReaderNormalization ()</h3>
+<pre class="programlisting">int	xmlTextReaderNormalization	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The value indicating whether to normalize white space and <a href="libxml2-SAX.html#attribute">attribute</a> values. Since <a href="libxml2-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken behaviour of accepting out of range character entities like &amp;#0; is of course not supported either.</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="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderPrefix"></a>xmlTextReaderPrefix ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderPrefix	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>A shorthand <a href="libxml2-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="libxml2-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, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderPreserve"></a>xmlTextReaderPreserve ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderPreserve	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderPreservePattern"></a>xmlTextReaderPreservePattern ()</h3>
+<pre class="programlisting">int	xmlTextReaderPreservePattern	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 const <a href="libxml2-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="libxml2-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 non-negative number in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderQuoteChar"></a>xmlTextReaderQuoteChar ()</h3>
+<pre class="programlisting">int	xmlTextReaderQuoteChar		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The quotation mark character used to enclose the value of an <a href="libxml2-SAX.html#attribute">attribute</a>.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>" or ' and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderRead"></a>xmlTextReaderRead ()</h3>
+<pre class="programlisting">int	xmlTextReaderRead		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Moves the position of the current instance to the next node in the stream, exposing its properties.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderReadAttributeValue"></a>xmlTextReaderReadAttributeValue ()</h3>
+<pre class="programlisting">int	xmlTextReaderReadAttributeValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Parses an <a href="libxml2-SAX.html#attribute">attribute</a> value into one or more Text and EntityReference nodes.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, 0 if the reader was not positioned on an <a href="libxml2-SAX.html#attribute">attribute</a> node or all the <a href="libxml2-SAX.html#attribute">attribute</a> values have been read, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderReadInnerXml"></a>xmlTextReaderReadInnerXml ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadInnerXml	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Reads the contents of the current node, including child nodes and markup.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the XML 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.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderReadOuterXml"></a>xmlTextReaderReadOuterXml ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadOuterXml	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Reads the contents of the current node, including child nodes and markup.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the node and any XML content, or NULL if the current node cannot be serialized. The string must be deallocated by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderReadState"></a>xmlTextReaderReadState ()</h3>
+<pre class="programlisting">int	xmlTextReaderReadState		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Gets the read state of the reader.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the state value, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderReadString"></a>xmlTextReaderReadString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadString	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Reads the contents of an element or a text node as a string.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the 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.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderRelaxNGSetSchema"></a>xmlTextReaderRelaxNGSetSchema ()</h3>
+<pre class="programlisting">int	xmlTextReaderRelaxNGSetSchema	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
+</pre>
+<p>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 deactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a precompiled RelaxNG schema</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the RelaxNG validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderRelaxNGValidate"></a>xmlTextReaderRelaxNGValidate ()</h3>
+<pre class="programlisting">int	xmlTextReaderRelaxNGValidate	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * rng)<br>
+</pre>
+<p>Use RelaxNG schema to validate the document as it is processed. Activation is only possible before the first Read(). If @rng is NULL, then RelaxNG schema validation is deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>rng</tt></i>:</span></td>
+<td>the path to a RelaxNG schema or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderRelaxNGValidateCtxt"></a>xmlTextReaderRelaxNGValidateCtxt ()</h3>
+<pre class="programlisting">int	xmlTextReaderRelaxNGValidateCtxt	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 int options)<br>
+</pre>
+<p>Use RelaxNG schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then RelaxNG schema validation is deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the RelaxNG schema validation context or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>options (not used yet)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSchemaValidate"></a>xmlTextReaderSchemaValidate ()</h3>
+<pre class="programlisting">int	xmlTextReaderSchemaValidate	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * xsd)<br>
+</pre>
+<p>Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first Read(). If @xsd is NULL, then XML Schema validation is deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>xsd</tt></i>:</span></td>
+<td>the path to a W3C XSD schema or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSchemaValidateCtxt"></a>xmlTextReaderSchemaValidateCtxt ()</h3>
+<pre class="programlisting">int	xmlTextReaderSchemaValidateCtxt	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options)<br>
+</pre>
+<p>Use W3C XSD schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then XML Schema validation is deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XML Schema validation context or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>options (not used yet)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSetErrorHandler"></a>xmlTextReaderSetErrorHandler ()</h3>
+<pre class="programlisting">void	xmlTextReaderSetErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br>					 void * arg)<br>
+</pre>
+<p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the callback function to call on error and warnings</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>a user argument to pass to the callback function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSetParserProp"></a>xmlTextReaderSetParserProp ()</h3>
+<pre class="programlisting">int	xmlTextReaderSetParserProp	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop, <br>					 int value)<br>
+</pre>
+<p>Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prop</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>usually 0 or 1 to (de)activate it</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the call was successful, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSetSchema"></a>xmlTextReaderSetSchema ()</h3>
+<pre class="programlisting">int	xmlTextReaderSetSchema		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
+</pre>
+<p>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is deactivated. The @schema should not be freed until the reader is deallocated or its use has been deactivated.</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="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a precompiled Schema schema</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the Schema validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSetStructuredErrorHandler"></a>xmlTextReaderSetStructuredErrorHandler ()</h3>
+<pre class="programlisting">void	xmlTextReaderSetStructuredErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br>						 void * arg)<br>
+</pre>
+<p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the callback function to call on error and warnings</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>a user argument to pass to the callback function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSetup"></a>xmlTextReaderSetup ()</h3>
+<pre class="programlisting">int	xmlTextReaderSetup		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
+</pre>
+<p>Setup an XML reader with new options</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to feed the reader, will be destroyed with it.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderStandalone"></a>xmlTextReaderStandalone ()</h3>
+<pre class="programlisting">int	xmlTextReaderStandalone		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Determine the standalone status of the document being read.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the document was declared to be standalone, 0 if it was declared to be not standalone, or -1 if the document did not specify its standalone status or in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderValue"></a>xmlTextReaderValue ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Provides the text value of the node if present</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the string or NULL if not available. The result must be deallocated with xmlFree()</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderXmlLang"></a>xmlTextReaderXmlLang ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderXmlLang	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The xml:lang scope within which the node resides.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the xml:lang value or NULL if none exists., if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlregexp.html b/doc/devhelp/libxml2-xmlregexp.html
index cf13627..1286692 100644
--- a/doc/devhelp/libxml2-xmlregexp.html
+++ b/doc/devhelp/libxml2-xmlregexp.html
@@ -1,117 +1,113 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlregexp: regular expressions handling</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlreader.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlsave.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlregexp</span>
-    </h2>
-    <p>xmlregexp - regular expressions handling</p>
-    <p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef <a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * <a href="#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>;
-typedef struct _xmlExpCtxt <a href="#xmlExpCtxt">xmlExpCtxt</a>;
-typedef <a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * <a href="#xmlExpNodePtr">xmlExpNodePtr</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlregexp: regular expressions handling</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlsave.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlregexp</span></h2>
+<p>xmlregexp - regular expressions handling</p>
+<p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlExpCtxt <a href="#xmlExpCtxt">xmlExpCtxt</a>;
 typedef <a href="libxml2-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * <a href="#xmlExpCtxtPtr">xmlExpCtxtPtr</a>;
+typedef struct _xmlExpNode <a href="#xmlExpNode">xmlExpNode</a>;
+typedef <a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * <a href="#xmlExpNodePtr">xmlExpNodePtr</a>;
 typedef enum <a href="#xmlExpNodeType">xmlExpNodeType</a>;
 typedef struct _xmlRegExecCtxt <a href="#xmlRegExecCtxt">xmlRegExecCtxt</a>;
-typedef struct _xmlExpNode <a href="#xmlExpNode">xmlExpNode</a>;
+typedef <a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * <a href="#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>;
 typedef struct _xmlRegexp <a href="#xmlRegexp">xmlRegexp</a>;
 typedef <a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * <a href="#xmlRegexpPtr">xmlRegexpPtr</a>;
-typedef void <a href="#xmlRegExecCallbacks">xmlRegExecCallbacks</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>					 void * transdata, <br/>					 void * inputdata);
-<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	<a href="#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a>	(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br/>						 <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br/>						 void * data);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewOr">xmlExpNewOr</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
-void	<a href="#xmlRegFreeRegexp">xmlRegFreeRegexp</a>		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
-void	<a href="#xmlExpRef">xmlExpRef</a>			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
-int	<a href="#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a>		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp);
-int	<a href="#xmlRegExecErrInfo">xmlRegExecErrInfo</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br/>					 int * nbval, <br/>					 int * nbneg, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br/>					 int * terminal);
-void	<a href="#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec);
 int	<a href="#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
-int	<a href="#xmlExpSubsume">xmlExpSubsume</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
-int	<a href="#xmlRegExecPushString2">xmlRegExecPushString2</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br/>					 void * data);
-int	<a href="#xmlRegExecNextValues">xmlRegExecNextValues</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>					 int * nbval, <br/>					 int * nbneg, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br/>					 int * terminal);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpExpDerive">xmlExpExpDerive</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
-int	<a href="#xmlExpIsNillable">xmlExpIsNillable</a>		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
-void	<a href="#xmlExpFreeCtxt">xmlExpFreeCtxt</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
-void	<a href="#xmlExpDump">xmlExpDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewSeq">xmlExpNewSeq</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
-void	<a href="#xmlExpFree">xmlExpFree</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewRange">xmlExpNewRange</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br/>					 int min, <br/>					 int max);
-<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	<a href="#xmlRegexpCompile">xmlRegexpCompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewAtom">xmlExpNewAtom</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int len);
-int	<a href="#xmlRegexpExec">xmlRegexpExec</a>			(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlRegExecPushString">xmlRegExecPushString</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 void * data);
-int	<a href="#xmlExpGetStart">xmlExpGetStart</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br/>					 int len);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpParse">xmlExpParse</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 const char * expr);
-<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	<a href="#xmlExpNewCtxt">xmlExpNewCtxt</a>		(int maxNodes, <br/>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
-int	<a href="#xmlExpGetLanguage">xmlExpGetLanguage</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br/>					 int len);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpStringDerive">xmlExpStringDerive</a>	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 int len);
 int	<a href="#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
+void	<a href="#xmlExpDump">xmlExpDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr);
+<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpExpDerive">xmlExpExpDerive</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
+void	<a href="#xmlExpFree">xmlExpFree</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
+void	<a href="#xmlExpFreeCtxt">xmlExpFreeCtxt</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
+int	<a href="#xmlExpGetLanguage">xmlExpGetLanguage</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br>					 int len);
+int	<a href="#xmlExpGetStart">xmlExpGetStart</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br>					 int len);
+int	<a href="#xmlExpIsNillable">xmlExpIsNillable</a>		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
 int	<a href="#xmlExpMaxToken">xmlExpMaxToken</a>			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr);
-void	<a href="#xmlRegexpPrint">xmlRegexpPrint</a>			(FILE * output, <br/>					 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
+<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewAtom">xmlExpNewAtom</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len);
+<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	<a href="#xmlExpNewCtxt">xmlExpNewCtxt</a>		(int maxNodes, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
+<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewOr">xmlExpNewOr</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
+<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewRange">xmlExpNewRange</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br>					 int min, <br>					 int max);
+<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewSeq">xmlExpNewSeq</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
+<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpParse">xmlExpParse</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const char * expr);
+void	<a href="#xmlExpRef">xmlExpRef</a>			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
+<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpStringDerive">xmlExpStringDerive</a>	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len);
+int	<a href="#xmlExpSubsume">xmlExpSubsume</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
+typedef void <a href="#xmlRegExecCallbacks">xmlRegExecCallbacks</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>					 void * transdata, <br>					 void * inputdata);
+int	<a href="#xmlRegExecErrInfo">xmlRegExecErrInfo</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal);
+int	<a href="#xmlRegExecNextValues">xmlRegExecNextValues</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal);
+int	<a href="#xmlRegExecPushString">xmlRegExecPushString</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 void * data);
+int	<a href="#xmlRegExecPushString2">xmlRegExecPushString2</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br>					 void * data);
+void	<a href="#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec);
+void	<a href="#xmlRegFreeRegexp">xmlRegFreeRegexp</a>		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
+<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	<a href="#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a>	(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>						 <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br>						 void * data);
+<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	<a href="#xmlRegexpCompile">xmlRegexpCompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp);
+int	<a href="#xmlRegexpExec">xmlRegexpExec</a>			(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a>		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp);
+void	<a href="#xmlRegexpPrint">xmlRegexpPrint</a>			(FILE * output, <br>					 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlExpCtxt">Structure </a>xmlExpCtxt</h3><pre class="programlisting">struct _xmlExpCtxt {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpCtxt">Structure </a>xmlExpCtxt</h3>
+<pre class="programlisting">struct _xmlExpCtxt {
 The content of this structure is not made public by the API.
 } xmlExpCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpCtxtPtr">Typedef </a>xmlExpCtxtPtr</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * xmlExpCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpCtxtPtr">Typedef </a>xmlExpCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * xmlExpCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpNode">Structure </a>xmlExpNode</h3><pre class="programlisting">struct _xmlExpNode {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpNode">Structure </a>xmlExpNode</h3>
+<pre class="programlisting">struct _xmlExpNode {
 The content of this structure is not made public by the API.
 } xmlExpNode;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpNodePtr">Typedef </a>xmlExpNodePtr</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * xmlExpNodePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpNodePtr">Typedef </a>xmlExpNodePtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * xmlExpNodePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpNodeType">Enum </a>xmlExpNodeType</h3><pre class="programlisting">enum <a href="#xmlExpNodeType">xmlExpNodeType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpNodeType">Enum </a>xmlExpNodeType</h3>
+<pre class="programlisting">enum <a href="#xmlExpNodeType">xmlExpNodeType</a> {
     <a name="XML_EXP_EMPTY">XML_EXP_EMPTY</a> = 0
     <a name="XML_EXP_FORBID">XML_EXP_FORBID</a> = 1
     <a name="XML_EXP_ATOM">XML_EXP_ATOM</a> = 2
@@ -119,162 +115,862 @@
     <a name="XML_EXP_OR">XML_EXP_OR</a> = 4
     <a name="XML_EXP_COUNT">XML_EXP_COUNT</a> = 5
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecCtxt">Structure </a>xmlRegExecCtxt</h3><pre class="programlisting">struct _xmlRegExecCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecCtxt">Structure </a>xmlRegExecCtxt</h3>
+<pre class="programlisting">struct _xmlRegExecCtxt {
 The content of this structure is not made public by the API.
 } xmlRegExecCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecCtxtPtr">Typedef </a>xmlRegExecCtxtPtr</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * xmlRegExecCtxtPtr;
-</pre><p>A libxml progressive regular expression evaluation context</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecCtxtPtr">Typedef </a>xmlRegExecCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * xmlRegExecCtxtPtr;
+</pre>
+<p>A libxml progressive regular expression evaluation context</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexp">Structure </a>xmlRegexp</h3><pre class="programlisting">struct _xmlRegexp {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegexp">Structure </a>xmlRegexp</h3>
+<pre class="programlisting">struct _xmlRegexp {
 The content of this structure is not made public by the API.
 } xmlRegexp;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexpPtr">Typedef </a>xmlRegexpPtr</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * xmlRegexpPtr;
-</pre><p>A libxml regular expression, they can actually be far more complex thank the POSIX regex expressions.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegexpPtr">Typedef </a>xmlRegexpPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * xmlRegexpPtr;
+</pre>
+<p>A libxml regular expression, they can actually be far more complex thank the POSIX regex expressions.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecCallbacks"/>Function type xmlRegExecCallbacks</h3><pre class="programlisting">void	xmlRegExecCallbacks		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>					 void * transdata, <br/>					 void * inputdata)<br/>
-</pre><p>Callback function when doing a transition in the automata</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>the regular expression context</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the current token string</td></tr><tr><td><span class="term"><i><tt>transdata</tt></i>:</span></td><td>transition data</td></tr><tr><td><span class="term"><i><tt>inputdata</tt></i>:</span></td><td>input data</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="emptyExp">Variable </a>emptyExp</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> emptyExp;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecCallbacks"></a>Function type xmlRegExecCallbacks</h3>
+<pre class="programlisting">void	xmlRegExecCallbacks		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>					 void * transdata, <br>					 void * inputdata)<br>
+</pre>
+<p>Callback function when doing a transition in the automata</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>the regular expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the current token string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>transdata</tt></i>:</span></td>
+<td>transition data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inputdata</tt></i>:</span></td>
+<td>input data</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="forbiddenExp">Variable </a>forbiddenExp</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> forbiddenExp;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="emptyExp">Variable </a>emptyExp</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> emptyExp;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpCtxtNbCons"/>xmlExpCtxtNbCons ()</h3><pre class="programlisting">int	xmlExpCtxtNbCons		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br/>
-</pre><p>Debugging facility provides the number of allocated nodes over lifetime</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an expression context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of nodes ever allocated or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpCtxtNbNodes"/>xmlExpCtxtNbNodes ()</h3><pre class="programlisting">int	xmlExpCtxtNbNodes		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br/>
-</pre><p>Debugging facility provides the number of allocated nodes at a that point</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an expression context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of nodes in use or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpDump"/>xmlExpDump ()</h3><pre class="programlisting">void	xmlExpDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br/>
-</pre><p>Serialize the expression as compiled to the buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>a buffer to receive the output</td></tr><tr><td><span class="term"><i><tt>expr</tt></i>:</span></td><td>the compiled expression</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpExpDerive"/>xmlExpExpDerive ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpExpDerive		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br/>
-</pre><p>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually takes less than linear time and can handle expressions generating infinite languages.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expressions context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the englobing expression</td></tr><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>the subexpression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting expression or NULL in case of internal error, the result must be freed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpFree"/>xmlExpFree ()</h3><pre class="programlisting">void	xmlExpFree			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br/>
-</pre><p>Dereference the expression</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpFreeCtxt"/>xmlExpFreeCtxt ()</h3><pre class="programlisting">void	xmlExpFreeCtxt			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br/>
-</pre><p>Free an expression context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an expression context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpGetLanguage"/>xmlExpGetLanguage ()</h3><pre class="programlisting">int	xmlExpGetLanguage		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br/>					 int len)<br/>
-</pre><p>Find all the strings used in @exp and store them in @list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>langList</tt></i>:</span></td><td>where to store the tokens</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the allocated length of @list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpGetStart"/>xmlExpGetStart ()</h3><pre class="programlisting">int	xmlExpGetStart			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br/>					 int len)<br/>
-</pre><p>Find all the strings that appears at the start of the languages accepted by @exp and store them in @list. E.g. for (a, b) | c it will return the list [a, c]</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>tokList</tt></i>:</span></td><td>where to store the tokens</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the allocated length of @list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpIsNillable"/>xmlExpIsNillable ()</h3><pre class="programlisting">int	xmlExpIsNillable		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br/>
-</pre><p>Finds if the expression is nillable, i.e. if it accepts the empty sequence</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if nillable, 0 if not and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpMaxToken"/>xmlExpMaxToken ()</h3><pre class="programlisting">int	xmlExpMaxToken			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br/>
-</pre><p>Indicate the maximum number of input a expression can accept</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>expr</tt></i>:</span></td><td>a compiled expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the maximum length or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpNewAtom"/>xmlExpNewAtom ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewAtom		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int len)<br/>
-</pre><p>Get the atom associated to this name from that context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the atom name</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the atom name length in byte (or -1);</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpNewCtxt"/>xmlExpNewCtxt ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	xmlExpNewCtxt		(int maxNodes, <br/>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br/>
-</pre><p>Creates a new context for manipulating expressions</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>maxNodes</tt></i>:</span></td><td>the maximum number of nodes</td></tr><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>optional dictionary to use internally</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpNewOr"/>xmlExpNewOr ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewOr		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br/>
-</pre><p>Get the atom associated to the choice @left | @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>left</tt></i>:</span></td><td>left expression</td></tr><tr><td><span class="term"><i><tt>right</tt></i>:</span></td><td>right expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpNewRange"/>xmlExpNewRange ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewRange		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br/>					 int min, <br/>					 int max)<br/>
-</pre><p>Get the atom associated to the range (@subset){@min, @max} Note that @subset is consumed in the operation, to keep an handle on it use xmlExpRef() and use xmlExpFree() to release it, this is true even in case of failure (unless ctxt == NULL).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>subset</tt></i>:</span></td><td>the expression to be repeated</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the lower bound for the repetition</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the upper bound for the repetition, -1 means infinite</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpNewSeq"/>xmlExpNewSeq ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewSeq		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br/>
-</pre><p>Get the atom associated to the sequence @left , @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>left</tt></i>:</span></td><td>left expression</td></tr><tr><td><span class="term"><i><tt>right</tt></i>:</span></td><td>right expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpParse"/>xmlExpParse ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpParse		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 const char * expr)<br/>
-</pre><p>Minimal parser for regexps, it understand the following constructs - string terminals - choice operator | - sequence operator , - subexpressions (...) - usual cardinality operators + * and ? - finite sequences { min, max } - infinite sequences { min, * } There is minimal checkings made especially no checking on strings values</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expressions context</td></tr><tr><td><span class="term"><i><tt>expr</tt></i>:</span></td><td>the 0 terminated string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new expression or NULL in case of failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpRef"/>xmlExpRef ()</h3><pre class="programlisting">void	xmlExpRef			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br/>
-</pre><p>Increase the <a href="libxml2-SAX.html#reference">reference</a> count of the expression</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpStringDerive"/>xmlExpStringDerive ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpStringDerive	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 int len)<br/>
-</pre><p>Do one step of Brzozowski derivation of the expression @exp with respect to the input string</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the string len in bytes if available</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting expression or NULL in case of internal error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpSubsume"/>xmlExpSubsume ()</h3><pre class="programlisting">int	xmlExpSubsume			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br/>
-</pre><p>Check whether @exp accepts all the languages accepted by @sub the input being a subexpression.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expressions context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the englobing expression</td></tr><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>the subexpression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 if false and -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecErrInfo"/>xmlRegExecErrInfo ()</h3><pre class="programlisting">int	xmlRegExecErrInfo		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br/>					 int * nbval, <br/>					 int * nbneg, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br/>					 int * terminal)<br/>
-</pre><p>Extract error information from the regexp execution, the parameter @string will be updated with the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context generating an error</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>return value for the error string</td></tr><tr><td><span class="term"><i><tt>nbval</tt></i>:</span></td><td>pointer to the number of accepted values IN/OUT</td></tr><tr><td><span class="term"><i><tt>nbneg</tt></i>:</span></td><td>return number of negative transitions</td></tr><tr><td><span class="term"><i><tt>values</tt></i>:</span></td><td>pointer to the array of acceptable values</td></tr><tr><td><span class="term"><i><tt>terminal</tt></i>:</span></td><td>return value if this was a terminal state</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecNextValues"/>xmlRegExecNextValues ()</h3><pre class="programlisting">int	xmlRegExecNextValues		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>					 int * nbval, <br/>					 int * nbneg, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br/>					 int * terminal)<br/>
-</pre><p>Extract information from the regexp execution, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context</td></tr><tr><td><span class="term"><i><tt>nbval</tt></i>:</span></td><td>pointer to the number of accepted values IN/OUT</td></tr><tr><td><span class="term"><i><tt>nbneg</tt></i>:</span></td><td>return number of negative transitions</td></tr><tr><td><span class="term"><i><tt>values</tt></i>:</span></td><td>pointer to the array of acceptable values</td></tr><tr><td><span class="term"><i><tt>terminal</tt></i>:</span></td><td>return value if this was a terminal state</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecPushString"/>xmlRegExecPushString ()</h3><pre class="programlisting">int	xmlRegExecPushString		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 void * data)<br/>
-</pre><p>Push one input token in the execution context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context or NULL to indicate the end</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a string token input</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the token to reuse in callbacks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecPushString2"/>xmlRegExecPushString2 ()</h3><pre class="programlisting">int	xmlRegExecPushString2		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br/>					 void * data)<br/>
-</pre><p>Push one input token in the execution context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context or NULL to indicate the end</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the first string token input</td></tr><tr><td><span class="term"><i><tt>value2</tt></i>:</span></td><td>the second string token input</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the token to reuse in callbacks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegFreeExecCtxt"/>xmlRegFreeExecCtxt ()</h3><pre class="programlisting">void	xmlRegFreeExecCtxt		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec)<br/>
-</pre><p>Free the structures associated to a regular expression evaluation context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regular expression evaluation context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegFreeRegexp"/>xmlRegFreeRegexp ()</h3><pre class="programlisting">void	xmlRegFreeRegexp		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br/>
-</pre><p>Free a regexp</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>regexp</tt></i>:</span></td><td>the regexp</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegNewExecCtxt"/>xmlRegNewExecCtxt ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	xmlRegNewExecCtxt	(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br/>						 <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br/>						 void * data)<br/>
-</pre><p>Build a context used for progressive evaluation of a regexp.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>a precompiled regular expression</td></tr><tr><td><span class="term"><i><tt>callback</tt></i>:</span></td><td>a callback function used for handling progresses in the automata matching phase</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the context data associated to the callback in this context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexpCompile"/>xmlRegexpCompile ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	xmlRegexpCompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp)<br/>
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>regexp</tt></i>:</span></td><td>a regular expression string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the compiled expression or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexpExec"/>xmlRegexpExec ()</h3><pre class="programlisting">int	xmlRegexpExec			(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Check if the regular expression generates the value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled regular expression</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the value to check against the regular expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if it matches, 0 if not and a negative value in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexpIsDeterminist"/>xmlRegexpIsDeterminist ()</h3><pre class="programlisting">int	xmlRegexpIsDeterminist		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp)<br/>
-</pre><p>Check if the regular expression is determinist</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled regular expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if it yes, 0 if not and a negative value in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexpPrint"/>xmlRegexpPrint ()</h3><pre class="programlisting">void	xmlRegexpPrint			(FILE * output, <br/>					 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br/>
-</pre><p>Print the content of the compiled regular expression</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the file for the output debug</td></tr><tr><td><span class="term"><i><tt>regexp</tt></i>:</span></td><td>the compiled regexp</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="forbiddenExp">Variable </a>forbiddenExp</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> forbiddenExp;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpCtxtNbCons"></a>xmlExpCtxtNbCons ()</h3>
+<pre class="programlisting">int	xmlExpCtxtNbCons		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Debugging facility provides the number of allocated nodes over lifetime</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of nodes ever allocated or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpCtxtNbNodes"></a>xmlExpCtxtNbNodes ()</h3>
+<pre class="programlisting">int	xmlExpCtxtNbNodes		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Debugging facility provides the number of allocated nodes at a that point</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of nodes in use or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpDump"></a>xmlExpDump ()</h3>
+<pre class="programlisting">void	xmlExpDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br>
+</pre>
+<p>Serialize the expression as compiled to the buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>a buffer to receive the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>expr</tt></i>:</span></td>
+<td>the compiled expression</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpExpDerive"></a>xmlExpExpDerive ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpExpDerive		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br>
+</pre>
+<p>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually takes less than linear time and can handle expressions generating infinite languages.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the expressions context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>exp</tt></i>:</span></td>
+<td>the englobing expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sub</tt></i>:</span></td>
+<td>the subexpression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting expression or NULL in case of internal error, the result must be freed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpFree"></a>xmlExpFree ()</h3>
+<pre class="programlisting">void	xmlExpFree			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
+</pre>
+<p>Dereference the expression</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>exp</tt></i>:</span></td>
+<td>the expression</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpFreeCtxt"></a>xmlExpFreeCtxt ()</h3>
+<pre class="programlisting">void	xmlExpFreeCtxt			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free an expression context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an expression context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpGetLanguage"></a>xmlExpGetLanguage ()</h3>
+<pre class="programlisting">int	xmlExpGetLanguage		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br>					 int len)<br>
+</pre>
+<p>Find all the strings used in @exp and store them in @list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>exp</tt></i>:</span></td>
+<td>the expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>langList</tt></i>:</span></td>
+<td>where to store the tokens</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the allocated length of @list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpGetStart"></a>xmlExpGetStart ()</h3>
+<pre class="programlisting">int	xmlExpGetStart			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br>					 int len)<br>
+</pre>
+<p>Find all the strings that appears at the start of the languages accepted by @exp and store them in @list. E.g. for (a, b) | c it will return the list [a, c]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>exp</tt></i>:</span></td>
+<td>the expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tokList</tt></i>:</span></td>
+<td>where to store the tokens</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the allocated length of @list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpIsNillable"></a>xmlExpIsNillable ()</h3>
+<pre class="programlisting">int	xmlExpIsNillable		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
+</pre>
+<p>Finds if the expression is nillable, i.e. if it accepts the empty sequence</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>exp</tt></i>:</span></td>
+<td>the expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if nillable, 0 if not and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpMaxToken"></a>xmlExpMaxToken ()</h3>
+<pre class="programlisting">int	xmlExpMaxToken			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br>
+</pre>
+<p>Indicate the maximum number of input a expression can accept</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>expr</tt></i>:</span></td>
+<td>a compiled expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the maximum length or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpNewAtom"></a>xmlExpNewAtom ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewAtom		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len)<br>
+</pre>
+<p>Get the atom associated to this name from that context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the atom name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the atom name length in byte (or -1);</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the node or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpNewCtxt"></a>xmlExpNewCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	xmlExpNewCtxt		(int maxNodes, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
+</pre>
+<p>Creates a new context for manipulating expressions</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>maxNodes</tt></i>:</span></td>
+<td>the maximum number of nodes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>optional dictionary to use internally</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpNewOr"></a>xmlExpNewOr ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewOr		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br>
+</pre>
+<p>Get the atom associated to the choice @left | @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>left</tt></i>:</span></td>
+<td>left expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>right</tt></i>:</span></td>
+<td>right expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the node or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpNewRange"></a>xmlExpNewRange ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewRange		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br>					 int min, <br>					 int max)<br>
+</pre>
+<p>Get the atom associated to the range (@subset){@min, @max} Note that @subset is consumed in the operation, to keep an handle on it use xmlExpRef() and use xmlExpFree() to release it, this is true even in case of failure (unless ctxt == NULL).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>subset</tt></i>:</span></td>
+<td>the expression to be repeated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>min</tt></i>:</span></td>
+<td>the lower bound for the repetition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the upper bound for the repetition, -1 means infinite</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the node or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpNewSeq"></a>xmlExpNewSeq ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewSeq		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br>
+</pre>
+<p>Get the atom associated to the sequence @left , @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>left</tt></i>:</span></td>
+<td>left expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>right</tt></i>:</span></td>
+<td>right expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the node or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpParse"></a>xmlExpParse ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpParse		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const char * expr)<br>
+</pre>
+<p>Minimal parser for regexps, it understand the following constructs - string terminals - choice operator | - sequence operator , - subexpressions (...) - usual cardinality operators + * and ? - finite sequences { min, max } - infinite sequences { min, * } There is minimal checkings made especially no checking on strings values</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the expressions context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>expr</tt></i>:</span></td>
+<td>the 0 terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new expression or NULL in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpRef"></a>xmlExpRef ()</h3>
+<pre class="programlisting">void	xmlExpRef			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
+</pre>
+<p>Increase the <a href="libxml2-SAX.html#reference">reference</a> count of the expression</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>exp</tt></i>:</span></td>
+<td>the expression</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpStringDerive"></a>xmlExpStringDerive ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpStringDerive	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len)<br>
+</pre>
+<p>Do one step of Brzozowski derivation of the expression @exp with respect to the input string</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>exp</tt></i>:</span></td>
+<td>the expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the string len in bytes if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting expression or NULL in case of internal error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExpSubsume"></a>xmlExpSubsume ()</h3>
+<pre class="programlisting">int	xmlExpSubsume			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br>
+</pre>
+<p>Check whether @exp accepts all the languages accepted by @sub the input being a subexpression.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the expressions context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>exp</tt></i>:</span></td>
+<td>the englobing expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sub</tt></i>:</span></td>
+<td>the subexpression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 if false and -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecErrInfo"></a>xmlRegExecErrInfo ()</h3>
+<pre class="programlisting">int	xmlRegExecErrInfo		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal)<br>
+</pre>
+<p>Extract error information from the regexp execution, the parameter @string will be updated with the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>a regexp execution context generating an error</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>return value for the error string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbval</tt></i>:</span></td>
+<td>pointer to the number of accepted values IN/OUT</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbneg</tt></i>:</span></td>
+<td>return number of negative transitions</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>values</tt></i>:</span></td>
+<td>pointer to the array of acceptable values</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>terminal</tt></i>:</span></td>
+<td>return value if this was a terminal state</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecNextValues"></a>xmlRegExecNextValues ()</h3>
+<pre class="programlisting">int	xmlRegExecNextValues		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal)<br>
+</pre>
+<p>Extract information from the regexp execution, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>a regexp execution context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbval</tt></i>:</span></td>
+<td>pointer to the number of accepted values IN/OUT</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbneg</tt></i>:</span></td>
+<td>return number of negative transitions</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>values</tt></i>:</span></td>
+<td>pointer to the array of acceptable values</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>terminal</tt></i>:</span></td>
+<td>return value if this was a terminal state</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecPushString"></a>xmlRegExecPushString ()</h3>
+<pre class="programlisting">int	xmlRegExecPushString		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 void * data)<br>
+</pre>
+<p>Push one input token in the execution context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>a regexp execution context or NULL to indicate the end</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>a string token input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the token to reuse in callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecPushString2"></a>xmlRegExecPushString2 ()</h3>
+<pre class="programlisting">int	xmlRegExecPushString2		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br>					 void * data)<br>
+</pre>
+<p>Push one input token in the execution context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>a regexp execution context or NULL to indicate the end</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the first string token input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value2</tt></i>:</span></td>
+<td>the second string token input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the token to reuse in callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegFreeExecCtxt"></a>xmlRegFreeExecCtxt ()</h3>
+<pre class="programlisting">void	xmlRegFreeExecCtxt		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec)<br>
+</pre>
+<p>Free the structures associated to a regular expression evaluation context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>a regular expression evaluation context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegFreeRegexp"></a>xmlRegFreeRegexp ()</h3>
+<pre class="programlisting">void	xmlRegFreeRegexp		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br>
+</pre>
+<p>Free a regexp</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
+<td>the regexp</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegNewExecCtxt"></a>xmlRegNewExecCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	xmlRegNewExecCtxt	(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>						 <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br>						 void * data)<br>
+</pre>
+<p>Build a context used for progressive evaluation of a regexp.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>a precompiled regular expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>callback</tt></i>:</span></td>
+<td>a callback function used for handling progresses in the automata matching phase</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the context data associated to the callback in this context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegexpCompile"></a>xmlRegexpCompile ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	xmlRegexpCompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp)<br>
+</pre>
+<p>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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
+<td>a regular expression string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the compiled expression or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegexpExec"></a>xmlRegexpExec ()</h3>
+<pre class="programlisting">int	xmlRegexpExec			(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Check if the regular expression generates the value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the compiled regular expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the value to check against the regular expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if it matches, 0 if not and a negative value in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegexpIsDeterminist"></a>xmlRegexpIsDeterminist ()</h3>
+<pre class="programlisting">int	xmlRegexpIsDeterminist		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp)<br>
+</pre>
+<p>Check if the regular expression is determinist</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the compiled regular expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if it yes, 0 if not and a negative value in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegexpPrint"></a>xmlRegexpPrint ()</h3>
+<pre class="programlisting">void	xmlRegexpPrint			(FILE * output, <br>					 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br>
+</pre>
+<p>Print the content of the compiled regular expression</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the file for the output debug</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
+<td>the compiled regexp</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlsave.html b/doc/devhelp/libxml2-xmlsave.html
index 6e851de..fe2c2d2 100644
--- a/doc/devhelp/libxml2-xmlsave.html
+++ b/doc/devhelp/libxml2-xmlsave.html
@@ -1,80 +1,68 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlsave: the XML document serializer</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlregexp.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlschemas.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlsave</span>
-    </h2>
-    <p>xmlsave - the XML document serializer</p>
-    <p>API to save document or subtree of document </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef enum <a href="#xmlSaveOption">xmlSaveOption</a>;
-typedef struct _xmlSaveCtxt <a href="#xmlSaveCtxt">xmlSaveCtxt</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlsave: the XML document serializer</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlregexp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlschemas.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlsave</span></h2>
+<p>xmlsave - the XML document serializer</p>
+<p>API to save document or subtree of document </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlSaveCtxt <a href="#xmlSaveCtxt">xmlSaveCtxt</a>;
 typedef <a href="libxml2-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * <a href="#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>;
-<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToIO">xmlSaveToIO</a>		(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br/>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br/>					 void * ioctx, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFd">xmlSaveToFd</a>		(int fd, <br/>					 const char * encoding, <br/>					 int options);
+typedef enum <a href="#xmlSaveOption">xmlSaveOption</a>;
 int	<a href="#xmlSaveClose">xmlSaveClose</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt);
-int	<a href="#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape);
-<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToBuffer">xmlSaveToBuffer</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br/>					 const char * encoding, <br/>					 int options);
-<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFilename">xmlSaveToFilename</a>	(const char * filename, <br/>					 const char * encoding, <br/>					 int options);
+long	<a href="#xmlSaveDoc">xmlSaveDoc</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
 int	<a href="#xmlSaveFlush">xmlSaveFlush</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt);
-long	<a href="#xmlSaveDoc">xmlSaveDoc</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-int	<a href="#xmlSaveSetEscape">xmlSaveSetEscape</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape);
-long	<a href="#xmlSaveTree">xmlSaveTree</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+int	<a href="#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape);
+int	<a href="#xmlSaveSetEscape">xmlSaveSetEscape</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape);
+<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToBuffer">xmlSaveToBuffer</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFd">xmlSaveToFd</a>		(int fd, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFilename">xmlSaveToFilename</a>	(const char * filename, <br>					 const char * encoding, <br>					 int options);
+<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToIO">xmlSaveToIO</a>		(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * encoding, <br>					 int options);
+long	<a href="#xmlSaveTree">xmlSaveTree</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveCtxt">Structure </a>xmlSaveCtxt</h3><pre class="programlisting">struct _xmlSaveCtxt {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveCtxt">Structure </a>xmlSaveCtxt</h3>
+<pre class="programlisting">struct _xmlSaveCtxt {
 The content of this structure is not made public by the API.
 } xmlSaveCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveCtxtPtr">Typedef </a>xmlSaveCtxtPtr</h3><pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * xmlSaveCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveCtxtPtr">Typedef </a>xmlSaveCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * xmlSaveCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveOption">Enum </a>xmlSaveOption</h3><pre class="programlisting">enum <a href="#xmlSaveOption">xmlSaveOption</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveOption">Enum </a>xmlSaveOption</h3>
+<pre class="programlisting">enum <a href="#xmlSaveOption">xmlSaveOption</a> {
     <a name="XML_SAVE_FORMAT">XML_SAVE_FORMAT</a> = 1 /* format save output */
     <a name="XML_SAVE_NO_DECL">XML_SAVE_NO_DECL</a> = 2 /* drop the xml declaration */
     <a name="XML_SAVE_NO_EMPTY">XML_SAVE_NO_EMPTY</a> = 4 /* no empty tags */
@@ -84,50 +72,277 @@
     <a name="XML_SAVE_AS_HTML">XML_SAVE_AS_HTML</a> = 64 /* force HTML serialization on XML doc */
     <a name="XML_SAVE_WSNONSIG">XML_SAVE_WSNONSIG</a> = 128 /*  format with non-significant whitespace */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveClose"/>xmlSaveClose ()</h3><pre class="programlisting">int	xmlSaveClose			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br/>
-</pre><p>Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.</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>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveDoc"/>xmlSaveDoc ()</h3><pre class="programlisting">long	xmlSaveDoc			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>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</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>doc</tt></i>:</span></td><td>a document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFlush"/>xmlSaveFlush ()</h3><pre class="programlisting">int	xmlSaveFlush			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br/>
-</pre><p>Flush a document saving context, i.e. make sure that all bytes have been output.</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>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveSetAttrEscape"/>xmlSaveSetAttrEscape ()</h3><pre class="programlisting">int	xmlSaveSetAttrEscape		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape)<br/>
-</pre><p>Set a custom escaping function to be used for text in <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveSetEscape"/>xmlSaveSetEscape ()</h3><pre class="programlisting">int	xmlSaveSetEscape		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveToBuffer"/>xmlSaveToBuffer ()</h3><pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToBuffer		(<a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveToFd"/>xmlSaveToFd ()</h3><pre class="programlisting"><a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveToFilename"/>xmlSaveToFilename ()</h3><pre class="programlisting"><a href="libxml2-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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file name or an URL</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveToIO"/>xmlSaveToIO ()</h3><pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToIO		(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br/>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br/>					 void * ioctx, <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>iowrite</tt></i>:</span></td><td>an I/O write function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveTree"/>xmlSaveTree ()</h3><pre class="programlisting">long	xmlSaveTree			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>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</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>cur</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveClose"></a>xmlSaveClose ()</h3>
+<pre class="programlisting">int	xmlSaveClose			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.</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>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveDoc"></a>xmlSaveDoc ()</h3>
+<pre class="programlisting">long	xmlSaveDoc			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>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</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>doc</tt></i>:</span></td>
+<td>a document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFlush"></a>xmlSaveFlush ()</h3>
+<pre class="programlisting">int	xmlSaveFlush			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Flush a document saving context, i.e. make sure that all bytes have been output.</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>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveSetAttrEscape"></a>xmlSaveSetAttrEscape ()</h3>
+<pre class="programlisting">int	xmlSaveSetAttrEscape		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape)<br>
+</pre>
+<p>Set a custom escaping function to be used for text in <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveSetEscape"></a>xmlSaveSetEscape ()</h3>
+<pre class="programlisting">int	xmlSaveSetEscape		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveToBuffer"></a>xmlSaveToBuffer ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToBuffer		(<a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveToFd"></a>xmlSaveToFd ()</h3>
+<pre class="programlisting"><a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveToFilename"></a>xmlSaveToFilename ()</h3>
+<pre class="programlisting"><a href="libxml2-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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file name or an URL</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveToIO"></a>xmlSaveToIO ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToIO		(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>					 void * ioctx, <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>iowrite</tt></i>:</span></td>
+<td>an I/O write function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveTree"></a>xmlSaveTree ()</h3>
+<pre class="programlisting">long	xmlSaveTree			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>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</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>cur</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlschemas.html b/doc/devhelp/libxml2-xmlschemas.html
index 4bac771..6fde790 100644
--- a/doc/devhelp/libxml2-xmlschemas.html
+++ b/doc/devhelp/libxml2-xmlschemas.html
@@ -1,97 +1,77 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlschemas: incomplete XML Schemas structure implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlsave.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlschemastypes.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlschemas</span>
-    </h2>
-    <p>xmlschemas - incomplete XML Schemas structure implementation</p>
-    <p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef <a href="libxml2-xmlschemas.html#xmlSchema">xmlSchema</a> * <a href="#xmlSchemaPtr">xmlSchemaPtr</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlschemas: incomplete XML Schemas structure implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlsave.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlschemastypes.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlschemas</span></h2>
+<p>xmlschemas - incomplete XML Schemas structure implementation</p>
+<p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlSchema <a href="#xmlSchema">xmlSchema</a>;
 typedef struct _xmlSchemaParserCtxt <a href="#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a>;
-typedef enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a>;
+typedef <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * <a href="#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>;
+typedef <a href="libxml2-xmlschemas.html#xmlSchema">xmlSchema</a> * <a href="#xmlSchemaPtr">xmlSchemaPtr</a>;
 typedef <a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a> * <a href="#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>;
 typedef struct _xmlSchemaSAXPlug <a href="#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a>;
-typedef <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * <a href="#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>;
-typedef <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * <a href="#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>;
-typedef struct _xmlSchema <a href="#xmlSchema">xmlSchema</a>;
-typedef enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a>;
 typedef struct _xmlSchemaValidCtxt <a href="#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a>;
-<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-int	<a href="#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug);
-<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	<a href="#xmlSchemaParse">xmlSchemaParse</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
-void	<a href="#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
-void	<a href="#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br/>					 const char * filename);
-<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a>	(const char * URL);
-int	<a href="#xmlSchemaIsValid">xmlSchemaIsValid</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
-typedef void <a href="#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a>	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>	<a href="#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br/>						 void ** user_data);
-int	<a href="#xmlSchemaValidateStream">xmlSchemaValidateStream</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br/>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 void * user_data);
-int	<a href="#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br/>					 void ** ctx);
-void	<a href="#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br/>					 void * ctxt);
-int	<a href="#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-void	<a href="#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>						 void * ctx);
-void	<a href="#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br/>					 void * ctx);
-int	<a href="#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
-int	<a href="#xmlSchemaValidateFile">xmlSchemaValidateFile</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 const char * filename, <br/>					 int options);
-int	<a href="#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+typedef <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * <a href="#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>;
+typedef enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a>;
+typedef enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a>;
+void	<a href="#xmlSchemaDump">xmlSchemaDump</a>			(FILE * output, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
 void	<a href="#xmlSchemaFree">xmlSchemaFree</a>			(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
-<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a>	(const char * buffer, <br/>							 int size);
-typedef int <a href="#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a>	(void * ctx, <br/>					 const char ** file, <br/>					 unsigned long * line);
-int	<a href="#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br/>					 void ** ctx);
-int	<a href="#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 int options);
-void	<a href="#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br/>					 void * ctx);
-typedef void <a href="#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a>	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...);
-void	<a href="#xmlSchemaDump">xmlSchemaDump</a>			(FILE * output, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
+void	<a href="#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
 void	<a href="#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
-void	<a href="#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>						 void * ctx);
+int	<a href="#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx);
+int	<a href="#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx);
+int	<a href="#xmlSchemaIsValid">xmlSchemaIsValid</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
+<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a>	(const char * buffer, <br>							 int size);
+<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a>	(const char * URL);
 <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>	<a href="#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
+<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	<a href="#xmlSchemaParse">xmlSchemaParse</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>	<a href="#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br>						 void ** user_data);
+int	<a href="#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug);
+void	<a href="#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx);
+void	<a href="#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
+void	<a href="#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx);
+int	<a href="#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options);
+void	<a href="#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
+int	<a href="#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
+int	<a href="#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int	<a href="#xmlSchemaValidateFile">xmlSchemaValidateFile</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 int options);
+int	<a href="#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+void	<a href="#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 const char * filename);
+void	<a href="#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br>					 void * ctxt);
+int	<a href="#xmlSchemaValidateStream">xmlSchemaValidateStream</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data);
+typedef void <a href="#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
+typedef int <a href="#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a>	(void * ctx, <br>					 const char ** file, <br>					 unsigned long * line);
+typedef void <a href="#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlSchema">Structure </a>xmlSchema</h3><pre class="programlisting">struct _xmlSchema {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchema">Structure </a>xmlSchema</h3>
+<pre class="programlisting">struct _xmlSchema {
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: schema name
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace	: the target namespace
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version
@@ -114,44 +94,76 @@
     <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	idcDef	: All identity-constraint defs.
     void *	volatiles	: Obsolete
 } xmlSchema;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaParserCtxt">Structure </a>xmlSchemaParserCtxt</h3><pre class="programlisting">struct _xmlSchemaParserCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaParserCtxt">Structure </a>xmlSchemaParserCtxt</h3>
+<pre class="programlisting">struct _xmlSchemaParserCtxt {
 The content of this structure is not made public by the API.
 } xmlSchemaParserCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaParserCtxtPtr">Typedef </a>xmlSchemaParserCtxtPtr</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * xmlSchemaParserCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaParserCtxtPtr">Typedef </a>xmlSchemaParserCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * xmlSchemaParserCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaPtr">Typedef </a>xmlSchemaPtr</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchema">xmlSchema</a> * xmlSchemaPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaPtr">Typedef </a>xmlSchemaPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchema">xmlSchema</a> * xmlSchemaPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSAXPlugPtr">Typedef </a>xmlSchemaSAXPlugPtr</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a> * xmlSchemaSAXPlugPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSAXPlugPtr">Typedef </a>xmlSchemaSAXPlugPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a> * xmlSchemaSAXPlugPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSAXPlugStruct">Structure </a>xmlSchemaSAXPlugStruct</h3><pre class="programlisting">struct _xmlSchemaSAXPlug {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSAXPlugStruct">Structure </a>xmlSchemaSAXPlugStruct</h3>
+<pre class="programlisting">struct _xmlSchemaSAXPlug {
 The content of this structure is not made public by the API.
 } xmlSchemaSAXPlugStruct;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidCtxt">Structure </a>xmlSchemaValidCtxt</h3><pre class="programlisting">struct _xmlSchemaValidCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidCtxt">Structure </a>xmlSchemaValidCtxt</h3>
+<pre class="programlisting">struct _xmlSchemaValidCtxt {
 The content of this structure is not made public by the API.
 } xmlSchemaValidCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidCtxtPtr">Typedef </a>xmlSchemaValidCtxtPtr</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * xmlSchemaValidCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidCtxtPtr">Typedef </a>xmlSchemaValidCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * xmlSchemaValidCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidError">Enum </a>xmlSchemaValidError</h3><pre class="programlisting">enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidError">Enum </a>xmlSchemaValidError</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a> {
     <a name="XML_SCHEMAS_ERR_OK">XML_SCHEMAS_ERR_OK</a> = 0
     <a name="XML_SCHEMAS_ERR_NOROOT">XML_SCHEMAS_ERR_NOROOT</a> = 1
     <a name="XML_SCHEMAS_ERR_UNDECLAREDELEM">XML_SCHEMAS_ERR_UNDECLAREDELEM</a> = 2
@@ -179,136 +191,752 @@
     <a name="XML_SCHEMAS_ERR_">XML_SCHEMAS_ERR_</a> = 24
     <a name="XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX</a> = 25
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidOption">Enum </a>xmlSchemaValidOption</h3><pre class="programlisting">enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidOption">Enum </a>xmlSchemaValidOption</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a> {
     <a name="XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a> = 1 /*  Default/fixed: create an attribute node * or an element's text node on the instance. * */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidityErrorFunc"/>Function type xmlSchemaValidityErrorFunc</h3><pre class="programlisting">void	xmlSchemaValidityErrorFunc	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Signature of an error callback from an XSD validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidityLocatorFunc"/>Function type xmlSchemaValidityLocatorFunc</h3><pre class="programlisting">int	xmlSchemaValidityLocatorFunc	(void * ctx, <br/>					 const char ** file, <br/>					 unsigned long * line)<br/>
-</pre><p>A schemas validation locator, a callback called by the validator. This is used when file or node information are not available to find out what file and line number are affected</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>user provided context</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>returned file information</td></tr><tr><td><span class="term"><i><tt>line</tt></i>:</span></td><td>returned line information</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidityWarningFunc"/>Function type xmlSchemaValidityWarningFunc</h3><pre class="programlisting">void	xmlSchemaValidityWarningFunc	(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Signature of a warning callback from an XSD validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaDump"/>xmlSchemaDump ()</h3><pre class="programlisting">void	xmlSchemaDump			(FILE * output, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br/>
-</pre><p>Dump a Schema structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the file output</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFree"/>xmlSchemaFree ()</h3><pre class="programlisting">void	xmlSchemaFree			(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br/>
-</pre><p>Deallocate a Schema structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeParserCtxt"/>xmlSchemaFreeParserCtxt ()</h3><pre class="programlisting">void	xmlSchemaFreeParserCtxt		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeValidCtxt"/>xmlSchemaFreeValidCtxt ()</h3><pre class="programlisting">void	xmlSchemaFreeValidCtxt		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema validation context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetParserErrors"/>xmlSchemaGetParserErrors ()</h3><pre class="programlisting">int	xmlSchemaGetParserErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br/>					 void ** ctx)<br/>
-</pre><p>Get the callback information used to handle errors for a parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XMl-Schema parser context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetValidErrors"/>xmlSchemaGetValidErrors ()</h3><pre class="programlisting">int	xmlSchemaGetValidErrors		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br/>					 void ** ctx)<br/>
-</pre><p>Get the error and warning callback information</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XML-Schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaIsValid"/>xmlSchemaIsValid ()</h3><pre class="programlisting">int	xmlSchemaIsValid		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br/>
-</pre><p>Check if any error was detected during validation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid so far, 0 if errors were detected, and -1 in case of internal error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewDocParserCtxt"/>xmlSchemaNewDocParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewMemParserCtxt"/>xmlSchemaNewMemParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewMemParserCtxt	(const char * buffer, <br/>							 int size)<br/>
-</pre><p>Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array containing the schemas</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewParserCtxt"/>xmlSchemaNewParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewParserCtxt	(const char * URL)<br/>
-</pre><p>Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewValidCtxt"/>xmlSchemaNewValidCtxt ()</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>	xmlSchemaNewValidCtxt	(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br/>
-</pre><p>Create an XML Schemas validation context based on the given schema.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML Schemas</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaParse"/>xmlSchemaParse ()</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	xmlSchemaParse		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML Schema structure built from the resource or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSAXPlug"/>xmlSchemaSAXPlug ()</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>	xmlSchemaSAXPlug	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br/>						 void ** user_data)<br/>
-</pre><p>Plug a SAX based validation layer in a SAX parsing event flow. The original @saxptr and @dataptr data are replaced by new pointers but the calls to the original will be maintained.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a pointer to the original <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a></td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>a pointer to the original SAX user data pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to a data structure needed to unplug the validation layer or NULL in case of errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSAXUnplug"/>xmlSchemaSAXUnplug ()</h3><pre class="programlisting">int	xmlSchemaSAXUnplug		(<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug)<br/>
-</pre><p>Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the call are restored.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>plug</tt></i>:</span></td><td>a data structure returned by <a href="libxml2-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a></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 failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSetParserErrors"/>xmlSchemaSetParserErrors ()</h3><pre class="programlisting">void	xmlSchemaSetParserErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br/>					 void * ctx)<br/>
-</pre><p>Set the callback functions used to handle errors for a validation context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSetParserStructuredErrors"/>xmlSchemaSetParserStructuredErrors ()</h3><pre class="programlisting">void	xmlSchemaSetParserStructuredErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>						 void * ctx)<br/>
-</pre><p>Set the structured error callback</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema parser context</td></tr><tr><td><span class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSetValidErrors"/>xmlSchemaSetValidErrors ()</h3><pre class="programlisting">void	xmlSchemaSetValidErrors		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br/>					 void * ctx)<br/>
-</pre><p>Set the error and warning callback information</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSetValidOptions"/>xmlSchemaSetValidOptions ()</h3><pre class="programlisting">int	xmlSchemaSetValidOptions	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 int options)<br/>
-</pre><p>Sets the options to be used during the validation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml2-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of an API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSetValidStructuredErrors"/>xmlSchemaSetValidStructuredErrors ()</h3><pre class="programlisting">void	xmlSchemaSetValidStructuredErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>						 void * ctx)<br/>
-</pre><p>Set the structured error callback</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidCtxtGetOptions"/>xmlSchemaValidCtxtGetOptions ()</h3><pre class="programlisting">int	xmlSchemaValidCtxtGetOptions	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br/>
-</pre><p>Get the validation context options.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the option combination or -1 on error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidCtxtGetParserCtxt"/>xmlSchemaValidCtxtGetParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlSchemaValidCtxtGetParserCtxt	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br/>
-</pre><p>allow access to the parser context of the schema validation context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context of the schema validation context or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateDoc"/>xmlSchemaValidateDoc ()</h3><pre class="programlisting">int	xmlSchemaValidateDoc		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Validate a document tree in memory.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateFile"/>xmlSchemaValidateFile ()</h3><pre class="programlisting">int	xmlSchemaValidateFile		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 const char * filename, <br/>					 int options)<br/>
-</pre><p>Do a schemas validation of the given resource, it will use the SAX streamable validation internally.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI of the instance</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a future set of options, currently unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateOneElement"/>xmlSchemaValidateOneElement ()</h3><pre class="programlisting">int	xmlSchemaValidateOneElement	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Validate a branch of a tree, starting with the given @elem.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateSetFilename"/>xmlSchemaValidateSetFilename ()</h3><pre class="programlisting">void	xmlSchemaValidateSetFilename	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br/>					 const char * filename)<br/>
-</pre><p>Workaround to provide file error reporting information when this is not provided by current APIs</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>vctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateSetLocator"/>xmlSchemaValidateSetLocator ()</h3><pre class="programlisting">void	xmlSchemaValidateSetLocator	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br/>					 void * ctxt)<br/>
-</pre><p>Allows to set a locator function to the validation context, which will be used to provide file and line information since those are not provided as part of the SAX validation flow Setting @f to NULL disable the locator.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>vctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the locator function pointer</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the locator context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateStream"/>xmlSchemaValidateStream ()</h3><pre class="programlisting">int	xmlSchemaValidateStream		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br/>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>					 void * user_data)<br/>
-</pre><p>Validate an input based on a flow of SAX event from the parser and forward the events to the @sax handler with the provided @user_data the user provided @sax handler must be a SAX2 one.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the input to use for reading the data</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional encoding information</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler for the resulting events</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>the context to provide to the SAX handler.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidityErrorFunc"></a>Function type xmlSchemaValidityErrorFunc</h3>
+<pre class="programlisting">void	xmlSchemaValidityErrorFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Signature of an error callback from an XSD validation</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidityLocatorFunc"></a>Function type xmlSchemaValidityLocatorFunc</h3>
+<pre class="programlisting">int	xmlSchemaValidityLocatorFunc	(void * ctx, <br>					 const char ** file, <br>					 unsigned long * line)<br>
+</pre>
+<p>A schemas validation locator, a callback called by the validator. This is used when file or node information are not available to find out what file and line number are affected</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>user provided context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>returned file information</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>line</tt></i>:</span></td>
+<td>returned line information</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidityWarningFunc"></a>Function type xmlSchemaValidityWarningFunc</h3>
+<pre class="programlisting">void	xmlSchemaValidityWarningFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Signature of a warning callback from an XSD validation</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaDump"></a>xmlSchemaDump ()</h3>
+<pre class="programlisting">void	xmlSchemaDump			(FILE * output, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
+</pre>
+<p>Dump a Schema structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the file output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFree"></a>xmlSchemaFree ()</h3>
+<pre class="programlisting">void	xmlSchemaFree			(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
+</pre>
+<p>Deallocate a Schema structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeParserCtxt"></a>xmlSchemaFreeParserCtxt ()</h3>
+<pre class="programlisting">void	xmlSchemaFreeParserCtxt		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the schema parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeValidCtxt"></a>xmlSchemaFreeValidCtxt ()</h3>
+<pre class="programlisting">void	xmlSchemaFreeValidCtxt		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema validation context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the schema validation context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetParserErrors"></a>xmlSchemaGetParserErrors ()</h3>
+<pre class="programlisting">int	xmlSchemaGetParserErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
+</pre>
+<p>Get the callback information used to handle errors for a parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a XMl-Schema parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error callback result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning callback result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>contextual data for the callbacks result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of failure, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetValidErrors"></a>xmlSchemaGetValidErrors ()</h3>
+<pre class="programlisting">int	xmlSchemaGetValidErrors		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
+</pre>
+<p>Get the error and warning callback information</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a XML-Schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error function result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning function result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error and 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaIsValid"></a>xmlSchemaIsValid ()</h3>
+<pre class="programlisting">int	xmlSchemaIsValid		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Check if any error was detected during validation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid so far, 0 if errors were detected, and -1 in case of internal error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewDocParserCtxt"></a>xmlSchemaNewDocParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a preparsed document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewMemParserCtxt"></a>xmlSchemaNewMemParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewMemParserCtxt	(const char * buffer, <br>							 int size)<br>
+</pre>
+<p>Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array containing the schemas</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewParserCtxt"></a>xmlSchemaNewParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewParserCtxt	(const char * URL)<br>
+</pre>
+<p>Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the location of the schema</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewValidCtxt"></a>xmlSchemaNewValidCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>	xmlSchemaNewValidCtxt	(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
+</pre>
+<p>Create an XML Schemas validation context based on the given schema.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a precompiled XML Schemas</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the validation context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaParse"></a>xmlSchemaParse ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	xmlSchemaParse		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal XML Schema structure built from the resource or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSAXPlug"></a>xmlSchemaSAXPlug ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>	xmlSchemaSAXPlug	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br>						 void ** user_data)<br>
+</pre>
+<p>Plug a SAX based validation layer in a SAX parsing event flow. The original @saxptr and @dataptr data are replaced by new pointers but the calls to the original will be maintained.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a pointer to the original <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>a pointer to the original SAX user data pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to a data structure needed to unplug the validation layer or NULL in case of errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSAXUnplug"></a>xmlSchemaSAXUnplug ()</h3>
+<pre class="programlisting">int	xmlSchemaSAXUnplug		(<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug)<br>
+</pre>
+<p>Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the call are restored.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>plug</tt></i>:</span></td>
+<td>a data structure returned by <a href="libxml2-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a>
+</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 failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSetParserErrors"></a>xmlSchemaSetParserErrors ()</h3>
+<pre class="programlisting">void	xmlSchemaSetParserErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
+</pre>
+<p>Set the callback functions used to handle errors for a validation context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>contextual data for the callbacks</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSetParserStructuredErrors"></a>xmlSchemaSetParserStructuredErrors ()</h3>
+<pre class="programlisting">void	xmlSchemaSetParserStructuredErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
+</pre>
+<p>Set the structured error callback</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>serror</tt></i>:</span></td>
+<td>the structured error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSetValidErrors"></a>xmlSchemaSetValidErrors ()</h3>
+<pre class="programlisting">void	xmlSchemaSetValidErrors		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
+</pre>
+<p>Set the error and warning callback information</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSetValidOptions"></a>xmlSchemaSetValidOptions ()</h3>
+<pre class="programlisting">int	xmlSchemaSetValidOptions	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options)<br>
+</pre>
+<p>Sets the options to be used during the validation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of an API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSetValidStructuredErrors"></a>xmlSchemaSetValidStructuredErrors ()</h3>
+<pre class="programlisting">void	xmlSchemaSetValidStructuredErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
+</pre>
+<p>Set the structured error callback</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>serror</tt></i>:</span></td>
+<td>the structured error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidCtxtGetOptions"></a>xmlSchemaValidCtxtGetOptions ()</h3>
+<pre class="programlisting">int	xmlSchemaValidCtxtGetOptions	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Get the validation context options.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the option combination or -1 on error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidCtxtGetParserCtxt"></a>xmlSchemaValidCtxtGetParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlSchemaValidCtxtGetParserCtxt	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>allow access to the parser context of the schema validation context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context of the schema validation context or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateDoc"></a>xmlSchemaValidateDoc ()</h3>
+<pre class="programlisting">int	xmlSchemaValidateDoc		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Validate a document tree in memory.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a parsed document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateFile"></a>xmlSchemaValidateFile ()</h3>
+<pre class="programlisting">int	xmlSchemaValidateFile		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 int options)<br>
+</pre>
+<p>Do a schemas validation of the given resource, it will use the SAX streamable validation internally.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the URI of the instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a future set of options, currently unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the document is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateOneElement"></a>xmlSchemaValidateOneElement ()</h3>
+<pre class="programlisting">int	xmlSchemaValidateOneElement	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Validate a branch of a tree, starting with the given @elem.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateSetFilename"></a>xmlSchemaValidateSetFilename ()</h3>
+<pre class="programlisting">void	xmlSchemaValidateSetFilename	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 const char * filename)<br>
+</pre>
+<p>Workaround to provide file error reporting information when this is not provided by current APIs</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
+<td>the schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the file name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateSetLocator"></a>xmlSchemaValidateSetLocator ()</h3>
+<pre class="programlisting">void	xmlSchemaValidateSetLocator	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br>					 void * ctxt)<br>
+</pre>
+<p>Allows to set a locator function to the validation context, which will be used to provide file and line information since those are not provided as part of the SAX validation flow Setting @f to NULL disable the locator.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the locator function pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the locator context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateStream"></a>xmlSchemaValidateStream ()</h3>
+<pre class="programlisting">int	xmlSchemaValidateStream		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data)<br>
+</pre>
+<p>Validate an input based on a flow of SAX event from the parser and forward the events to the @sax handler with the provided @user_data the user provided @sax handler must be a SAX2 one.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the input to use for reading the data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>an optional encoding information</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler for the resulting events</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>the context to provide to the SAX handler.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlschemastypes.html b/doc/devhelp/libxml2-xmlschemastypes.html
index 36a59f8..8d4459a 100644
--- a/doc/devhelp/libxml2-xmlschemastypes.html
+++ b/doc/devhelp/libxml2-xmlschemastypes.html
@@ -1,237 +1,928 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlschemastypes: implementation of XML Schema Datatypes</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlschemas.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlstring.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlschemastypes</span>
-    </h2>
-    <p>xmlschemastypes - implementation of XML Schema Datatypes</p>
-    <p>module providing the XML Schema Datatypes implementation both definition and validity checking </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a>;
-int	<a href="#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-int	<a href="#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br/>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
-int	<a href="#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>						 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>						 unsigned long * length, <br/>						 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
-int	<a href="#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>					 int facetType);
-int	<a href="#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue);
-<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type);
-int	<a href="#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br/>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br/>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws);
-int	<a href="#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaCollapseString">xmlSchemaCollapseString</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-int	<a href="#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
-<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	<a href="#xmlSchemaNewFacet">xmlSchemaNewFacet</a>	(void);
-int	<a href="#xmlSchemaValueAppend">xmlSchemaValueAppend</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur);
-int	<a href="#xmlSchemaCompareValues">xmlSchemaCompareValues</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y);
-int	<a href="#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>					 unsigned long * length);
-<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>	<a href="#xmlSchemaGetValType">xmlSchemaGetValType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
-<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
-int	<a href="#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val);
-void	<a href="#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);
-int	<a href="#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>						 unsigned long actualLen, <br/>						 unsigned long * expectedLen);
-unsigned long	<a href="#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);
-void	<a href="#xmlSchemaFreeValue">xmlSchemaFreeValue</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value);
-<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
-<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaCopyValue">xmlSchemaCopyValue</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
-<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
-<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlschemastypes: implementation of XML Schema Datatypes</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlschemas.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlstring.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlschemastypes</span></h2>
+<p>xmlschemastypes - implementation of XML Schema Datatypes</p>
+<p>module providing the XML Schema Datatypes implementation both definition and validity checking </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a>;
+int	<a href="#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 void	<a href="#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a>		(void);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaCollapseString">xmlSchemaCollapseString</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+int	<a href="#xmlSchemaCompareValues">xmlSchemaCompareValues</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y);
+int	<a href="#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws);
+<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaCopyValue">xmlSchemaCopyValue</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
+void	<a href="#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);
+void	<a href="#xmlSchemaFreeValue">xmlSchemaFreeValue</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value);
+<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type);
 <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type);
+int	<a href="#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue);
+int	<a href="#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
+unsigned long	<a href="#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);
+<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
+<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>	<a href="#xmlSchemaGetValType">xmlSchemaGetValType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
 void	<a href="#xmlSchemaInitTypes">xmlSchemaInitTypes</a>		(void);
-int	<a href="#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
-int	<a href="#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 int facetType);
+<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	<a href="#xmlSchemaNewFacet">xmlSchemaNewFacet</a>	(void);
+<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
+<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName);
+<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+int	<a href="#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int	<a href="#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int	<a href="#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
+int	<a href="#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
+int	<a href="#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 unsigned long * length);
+int	<a href="#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>						 unsigned long * length, <br>						 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
+int	<a href="#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 unsigned long actualLen, <br>						 unsigned long * expectedLen);
+int	<a href="#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val);
+int	<a href="#xmlSchemaValueAppend">xmlSchemaValueAppend</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur);
+int	<a href="#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
+<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaWhitespaceValueType">Enum </a>xmlSchemaWhitespaceValueType</h3><pre class="programlisting">enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaWhitespaceValueType">Enum </a>xmlSchemaWhitespaceValueType</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> {
     <a name="XML_SCHEMA_WHITESPACE_UNKNOWN">XML_SCHEMA_WHITESPACE_UNKNOWN</a> = 0
     <a name="XML_SCHEMA_WHITESPACE_PRESERVE">XML_SCHEMA_WHITESPACE_PRESERVE</a> = 1
     <a name="XML_SCHEMA_WHITESPACE_REPLACE">XML_SCHEMA_WHITESPACE_REPLACE</a> = 2
     <a name="XML_SCHEMA_WHITESPACE_COLLAPSE">XML_SCHEMA_WHITESPACE_COLLAPSE</a> = 3
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaCheckFacet"/>xmlSchemaCheckFacet ()</h3><pre class="programlisting">int	xmlSchemaCheckFacet		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br/>					 <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Checks and computes the values of 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>pctxt</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>the optional name of the type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if valid, a positive error code if not valid and -1 in case of an internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaCleanupTypes"/>xmlSchemaCleanupTypes ()</h3><pre class="programlisting">void	xmlSchemaCleanupTypes		(void)<br/>
-</pre><p>Cleanup the default XML Schemas type library</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCheckFacet"></a>xmlSchemaCheckFacet ()</h3>
+<pre class="programlisting">int	xmlSchemaCheckFacet		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Checks and computes the values of 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>pctxt</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>the optional name of the type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if valid, a positive error code if not valid and -1 in case of an internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaCollapseString"/>xmlSchemaCollapseString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaCollapseString	(const <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaCompareValues"/>xmlSchemaCompareValues ()</h3><pre class="programlisting">int	xmlSchemaCompareValues		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br/>					 <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaCompareValuesWhtsp"/>xmlSchemaCompareValuesWhtsp ()</h3><pre class="programlisting">int	xmlSchemaCompareValuesWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br/>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br/>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws)<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>xws</tt></i>:</span></td><td>the whitespace value of x</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>yws</tt></i>:</span></td><td>the whitespace value of y</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaCopyValue"/>xmlSchemaCopyValue ()</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaCopyValue	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br/>
-</pre><p>Copies the precomputed value. This duplicates any string within.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value to be copied</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the copy or NULL if a copy for a data-type is not implemented.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeFacet"/>xmlSchemaFreeFacet ()</h3><pre class="programlisting">void	xmlSchemaFreeFacet		(<a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeValue"/>xmlSchemaFreeValue ()</h3><pre class="programlisting">void	xmlSchemaFreeValue		(<a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetBuiltInListSimpleTypeItemType"/>xmlSchemaGetBuiltInListSimpleTypeItemType ()</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInListSimpleTypeItemType	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br/>
-</pre><p>Lookup function</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in simple type.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetBuiltInType"/>xmlSchemaGetBuiltInType ()</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInType	(<a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetCanonValue"/>xmlSchemaGetCanonValue ()</h3><pre class="programlisting">int	xmlSchemaGetCanonValue		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue)<br/>
-</pre><p>Get the canonical lexical representation of the value. The caller has to FREE the returned retValue. WARNING: Some value types are not supported yet, resulting in a @retValue of "???". TODO: XML Schema 1.0 does not define canonical representations for: duration, gYearMonth, gYear, gMonthDay, gMonth, gDay, anyURI, QName, NOTATION. This will be fixed in XML Schema 1.1.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>retValue</tt></i>:</span></td><td>the returned value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetCanonValueWhtsp"/>xmlSchemaGetCanonValueWhtsp ()</h3><pre class="programlisting">int	xmlSchemaGetCanonValueWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br/>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br/>
-</pre><p>Get the canonical representation of the value. The caller has to free the returned @retValue.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>retValue</tt></i>:</span></td><td>the returned value</td></tr><tr><td><span class="term"><i><tt>ws</tt></i>:</span></td><td>the whitespace type of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetFacetValueAsULong"/>xmlSchemaGetFacetValueAsULong ()</h3><pre class="programlisting">unsigned long	xmlSchemaGetFacetValueAsULong	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br/>
-</pre><p>Extract the value of a facet</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>an schemas type facet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value as a long</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetPredefinedType"/>xmlSchemaGetPredefinedType ()</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetPredefinedType	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetValType"/>xmlSchemaGetValType ()</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>	xmlSchemaGetValType	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br/>
-</pre><p>Accessor for the type of a value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a schemas value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> of the value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaInitTypes"/>xmlSchemaInitTypes ()</h3><pre class="programlisting">void	xmlSchemaInitTypes		(void)<br/>
-</pre><p>Initialize the default XML Schemas type library</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCleanupTypes"></a>xmlSchemaCleanupTypes ()</h3>
+<pre class="programlisting">void	xmlSchemaCleanupTypes		(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Cleanup the default XML Schemas type library</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaIsBuiltInTypeFacet"/>xmlSchemaIsBuiltInTypeFacet ()</h3><pre class="programlisting">int	xmlSchemaIsBuiltInTypeFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>					 int facetType)<br/>
-</pre><p>Evaluates if a specific facet can be used in conjunction with a type.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span class="term"><i><tt>facetType</tt></i>:</span></td><td>the facet type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the facet can be used with the given built-in type, 0 otherwise and -1 in case the type is not a built-in type.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewFacet"/>xmlSchemaNewFacet ()</h3><pre class="programlisting"><a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewNOTATIONValue"/>xmlSchemaNewNOTATIONValue ()</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewNOTATIONValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br/>
-</pre><p>Allocate a new NOTATION value. The given values are consumed and freed with the struct.</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 notation name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the notation namespace name or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewQNameValue"/>xmlSchemaNewQNameValue ()</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewQNameValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName)<br/>
-</pre><p>Allocate a new QName value. The given values are consumed and freed with the struct.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>namespaceName</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>localName</tt></i>:</span></td><td>the local name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of an error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewStringValue"/>xmlSchemaNewStringValue ()</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewStringValue	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Allocate a new simple type value. The type can be of XML_SCHEMAS_STRING. WARNING: This one is intended to be expanded for other string based types. We need this for anySimpleType as well. The given value is consumed and freed with the struct.</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 value type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValPredefTypeNode"/>xmlSchemaValPredefTypeNode ()</h3><pre class="programlisting">int	xmlSchemaValPredefTypeNode	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br/>					 <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValPredefTypeNodeNoNorm"/>xmlSchemaValPredefTypeNodeNoNorm ()</h3><pre class="programlisting">int	xmlSchemaValPredefTypeNodeNoNorm	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. This one does apply any normalization to the value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node containing the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateFacet"/>xmlSchemaValidateFacet ()</h3><pre class="programlisting">int	xmlSchemaValidateFacet		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateFacetWhtsp"/>xmlSchemaValidateFacetWhtsp ()</h3><pre class="programlisting">int	xmlSchemaValidateFacetWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br/>
-</pre><p>Check a value against a facet condition. This takes value normalization according to the specified whitespace types into account. Note that @value needs to be the *normalized* value if the facet is of type "pattern".</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>fws</tt></i>:</span></td><td>the whitespace type of the facet's value</td></tr><tr><td><span class="term"><i><tt>valType</tt></i>:</span></td><td>the built-in type of the value</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical (or normalized for pattern) 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>ws</tt></i>:</span></td><td>the whitespace type of the 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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateLengthFacet"/>xmlSchemaValidateLengthFacet ()</h3><pre class="programlisting">int	xmlSchemaValidateLengthFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>					 unsigned long * length)<br/>
-</pre><p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr. of the value to be validated</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>length</tt></i>:</span></td><td>the actual length of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateLengthFacetWhtsp"/>xmlSchemaValidateLengthFacetWhtsp ()</h3><pre class="programlisting">int	xmlSchemaValidateLengthFacetWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>						 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>						 unsigned long * length, <br/>						 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br/>
-</pre><p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>valType</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr. of the value to be validated</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>length</tt></i>:</span></td><td>the actual length of the value</td></tr><tr><td><span class="term"><i><tt>ws</tt></i>:</span></td><td>the whitespace type of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateListSimpleTypeFacet"/>xmlSchemaValidateListSimpleTypeFacet ()</h3><pre class="programlisting">int	xmlSchemaValidateListSimpleTypeFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>						 const <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidatePredefinedType"/>xmlSchemaValidatePredefinedType ()</h3><pre class="programlisting">int	xmlSchemaValidatePredefinedType	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>					 <a href="libxml2-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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValueAppend"/>xmlSchemaValueAppend ()</h3><pre class="programlisting">int	xmlSchemaValueAppend		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br/>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br/>
-</pre><p>Appends a next sibling to a list of computed values.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>prev</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the value to be appended</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if succeeded and -1 on API errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValueGetAsBoolean"/>xmlSchemaValueGetAsBoolean ()</h3><pre class="programlisting">int	xmlSchemaValueGetAsBoolean	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br/>
-</pre><p>Accessor for the boolean value of a computed value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true and 0 if false, or in case of an error. Hmm.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValueGetAsString"/>xmlSchemaValueGetAsString ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaValueGetAsString	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br/>
-</pre><p>Accessor for the string value of a computed value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string value or NULL if there was none, or on API errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValueGetNext"/>xmlSchemaValueGetNext ()</h3><pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaValueGetNext	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br/>
-</pre><p>Accessor for the next sibling of a list of computed values.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next value or NULL if there was none, or on API errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaWhiteSpaceReplace"/>xmlSchemaWhiteSpaceReplace ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaWhiteSpaceReplace	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Replaces 0xd, 0x9 and 0xa with a space.</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></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCollapseString"></a>xmlSchemaCollapseString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaCollapseString	(const <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCompareValues"></a>xmlSchemaCompareValues ()</h3>
+<pre class="programlisting">int	xmlSchemaCompareValues		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCompareValuesWhtsp"></a>xmlSchemaCompareValuesWhtsp ()</h3>
+<pre class="programlisting">int	xmlSchemaCompareValuesWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws)<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>xws</tt></i>:</span></td>
+<td>the whitespace value of x</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>yws</tt></i>:</span></td>
+<td>the whitespace value of y</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCopyValue"></a>xmlSchemaCopyValue ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaCopyValue	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
+</pre>
+<p>Copies the precomputed value. This duplicates any string within.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the precomputed value to be copied</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the copy or NULL if a copy for a data-type is not implemented.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeFacet"></a>xmlSchemaFreeFacet ()</h3>
+<pre class="programlisting">void	xmlSchemaFreeFacet		(<a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeValue"></a>xmlSchemaFreeValue ()</h3>
+<pre class="programlisting">void	xmlSchemaFreeValue		(<a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetBuiltInListSimpleTypeItemType"></a>xmlSchemaGetBuiltInListSimpleTypeItemType ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInListSimpleTypeItemType	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br>
+</pre>
+<p>Lookup function</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the built-in simple type.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetBuiltInType"></a>xmlSchemaGetBuiltInType ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInType	(<a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetCanonValue"></a>xmlSchemaGetCanonValue ()</h3>
+<pre class="programlisting">int	xmlSchemaGetCanonValue		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue)<br>
+</pre>
+<p>Get the canonical lexical representation of the value. The caller has to FREE the returned retValue. WARNING: Some value types are not supported yet, resulting in a @retValue of "???". TODO: XML Schema 1.0 does not define canonical representations for: duration, gYearMonth, gYear, gMonthDay, gMonth, gDay, anyURI, QName, NOTATION. This will be fixed in XML Schema 1.1.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the precomputed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>retValue</tt></i>:</span></td>
+<td>the returned value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetCanonValueWhtsp"></a>xmlSchemaGetCanonValueWhtsp ()</h3>
+<pre class="programlisting">int	xmlSchemaGetCanonValueWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br>
+</pre>
+<p>Get the canonical representation of the value. The caller has to free the returned @retValue.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the precomputed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>retValue</tt></i>:</span></td>
+<td>the returned value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ws</tt></i>:</span></td>
+<td>the whitespace type of the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetFacetValueAsULong"></a>xmlSchemaGetFacetValueAsULong ()</h3>
+<pre class="programlisting">unsigned long	xmlSchemaGetFacetValueAsULong	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br>
+</pre>
+<p>Extract the value of a facet</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>facet</tt></i>:</span></td>
+<td>an schemas type facet</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value as a long</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetPredefinedType"></a>xmlSchemaGetPredefinedType ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetPredefinedType	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetValType"></a>xmlSchemaGetValType ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>	xmlSchemaGetValType	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
+</pre>
+<p>Accessor for the type of a value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a schemas value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> of the value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaInitTypes"></a>xmlSchemaInitTypes ()</h3>
+<pre class="programlisting">void	xmlSchemaInitTypes		(void)<br>
+</pre>
+<p>Initialize the default XML Schemas type library</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaIsBuiltInTypeFacet"></a>xmlSchemaIsBuiltInTypeFacet ()</h3>
+<pre class="programlisting">int	xmlSchemaIsBuiltInTypeFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 int facetType)<br>
+</pre>
+<p>Evaluates if a specific facet can be used in conjunction with a type.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the built-in type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>facetType</tt></i>:</span></td>
+<td>the facet type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the facet can be used with the given built-in type, 0 otherwise and -1 in case the type is not a built-in type.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewFacet"></a>xmlSchemaNewFacet ()</h3>
+<pre class="programlisting"><a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewNOTATIONValue"></a>xmlSchemaNewNOTATIONValue ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewNOTATIONValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
+</pre>
+<p>Allocate a new NOTATION value. The given values are consumed and freed with the struct.</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 notation name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the notation namespace name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new value or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewQNameValue"></a>xmlSchemaNewQNameValue ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewQNameValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName)<br>
+</pre>
+<p>Allocate a new QName value. The given values are consumed and freed with the struct.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>namespaceName</tt></i>:</span></td>
+<td>the namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>localName</tt></i>:</span></td>
+<td>the local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new value or NULL in case of an error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewStringValue"></a>xmlSchemaNewStringValue ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewStringValue	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Allocate a new simple type value. The type can be of <a href="libxml2-schemasInternals.html#XML_SCHEMAS_STRING">XML_SCHEMAS_STRING</a>. WARNING: This one is intended to be expanded for other string based types. We need this for anySimpleType as well. The given value is consumed and freed with the struct.</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 value type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new value or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValPredefTypeNode"></a>xmlSchemaValPredefTypeNode ()</h3>
+<pre class="programlisting">int	xmlSchemaValPredefTypeNode	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>					 <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValPredefTypeNodeNoNorm"></a>xmlSchemaValPredefTypeNodeNoNorm ()</h3>
+<pre class="programlisting">int	xmlSchemaValPredefTypeNodeNoNorm	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. This one does apply any normalization to the value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the predefined type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the return computed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node containing the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateFacet"></a>xmlSchemaValidateFacet ()</h3>
+<pre class="programlisting">int	xmlSchemaValidateFacet		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateFacetWhtsp"></a>xmlSchemaValidateFacetWhtsp ()</h3>
+<pre class="programlisting">int	xmlSchemaValidateFacetWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br>
+</pre>
+<p>Check a value against a facet condition. This takes value normalization according to the specified whitespace types into account. Note that @value needs to be the *normalized* value if the facet is of type "pattern".</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>fws</tt></i>:</span></td>
+<td>the whitespace type of the facet's value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>valType</tt></i>:</span></td>
+<td>the built-in type of the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the lexical (or normalized for pattern) 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>ws</tt></i>:</span></td>
+<td>the whitespace type of the 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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateLengthFacet"></a>xmlSchemaValidateLengthFacet ()</h3>
+<pre class="programlisting">int	xmlSchemaValidateLengthFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 unsigned long * length)<br>
+</pre>
+<p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the built-in type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>facet</tt></i>:</span></td>
+<td>the facet to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the lexical repr. of the value to be validated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the precomputed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>length</tt></i>:</span></td>
+<td>the actual length of the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateLengthFacetWhtsp"></a>xmlSchemaValidateLengthFacetWhtsp ()</h3>
+<pre class="programlisting">int	xmlSchemaValidateLengthFacetWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>						 unsigned long * length, <br>						 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br>
+</pre>
+<p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>facet</tt></i>:</span></td>
+<td>the facet to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>valType</tt></i>:</span></td>
+<td>the built-in type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the lexical repr. of the value to be validated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the precomputed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>length</tt></i>:</span></td>
+<td>the actual length of the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ws</tt></i>:</span></td>
+<td>the whitespace type of the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateListSimpleTypeFacet"></a>xmlSchemaValidateListSimpleTypeFacet ()</h3>
+<pre class="programlisting">int	xmlSchemaValidateListSimpleTypeFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 const <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidatePredefinedType"></a>xmlSchemaValidatePredefinedType ()</h3>
+<pre class="programlisting">int	xmlSchemaValidatePredefinedType	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValueAppend"></a>xmlSchemaValueAppend ()</h3>
+<pre class="programlisting">int	xmlSchemaValueAppend		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br>
+</pre>
+<p>Appends a next sibling to a list of computed values.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>prev</tt></i>:</span></td>
+<td>the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the value to be appended</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if succeeded and -1 on API errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValueGetAsBoolean"></a>xmlSchemaValueGetAsBoolean ()</h3>
+<pre class="programlisting">int	xmlSchemaValueGetAsBoolean	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
+</pre>
+<p>Accessor for the boolean value of a computed value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true and 0 if false, or in case of an error. Hmm.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValueGetAsString"></a>xmlSchemaValueGetAsString ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaValueGetAsString	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
+</pre>
+<p>Accessor for the string value of a computed value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the string value or NULL if there was none, or on API errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValueGetNext"></a>xmlSchemaValueGetNext ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaValueGetNext	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br>
+</pre>
+<p>Accessor for the next sibling of a list of computed values.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next value or NULL if there was none, or on API errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaWhiteSpaceReplace"></a>xmlSchemaWhiteSpaceReplace ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaWhiteSpaceReplace	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Replaces 0xd, 0x9 and 0xa with a space.</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>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlstring.html b/doc/devhelp/libxml2-xmlstring.html
index 95a845f..c0ef99b 100644
--- a/doc/devhelp/libxml2-xmlstring.html
+++ b/doc/devhelp/libxml2-xmlstring.html
@@ -1,217 +1,853 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlstring: set of routines to process strings</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlschemastypes.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlunicode.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlstring</span>
-    </h2>
-    <p>xmlstring - set of routines to process strings</p>
-    <p>type and interfaces needed for the internal string handling of the library, especially UTF8 processing. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#BAD_CAST">BAD_CAST</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlstring: set of routines to process strings</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlschemastypes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlunicode.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlstring</span></h2>
+<p>xmlstring - set of routines to process strings</p>
+<p>type and interfaces needed for the internal string handling of the library, especially UTF8 processing. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#BAD_CAST">BAD_CAST</a>;
 typedef unsigned char <a href="#xmlChar">xmlChar</a>;
-int	<a href="#xmlStrcmp">xmlStrcmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCharStrndup">xmlCharStrndup</a>		(const char * cur, <br/>					 int len);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrcasestr">xmlStrcasestr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrcat">xmlStrcat</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add);
-int	<a href="#xmlStrPrintf">xmlStrPrintf</a>			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br/>					 int len, <br/>					 const char * msg, <br/>					 ... ...);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrstr">xmlStrstr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
-int	<a href="#xmlUTF8Size">xmlUTF8Size</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf);
-int	<a href="#xmlStrQEqual">xmlStrQEqual</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrncatNew">xmlStrncatNew</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>					 int len);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strpos">xmlUTF8Strpos</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 int pos);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrdup">xmlStrdup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCharStrdup">xmlCharStrdup</a>		(const char * cur);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrchr">xmlStrchr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val);
-int	<a href="#xmlStrlen">xmlStrlen</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-int	<a href="#xmlStrncmp">xmlStrncmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>					 int len);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrsub">xmlStrsub</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 int start, <br/>					 int len);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrncat">xmlStrncat</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br/>					 int len);
-int	<a href="#xmlGetUTF8Char">xmlGetUTF8Char</a>			(const unsigned char * utf, <br/>					 int * len);
-int	<a href="#xmlStrcasecmp">xmlStrcasecmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrndup">xmlStrndup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 int len);
-int	<a href="#xmlStrVPrintf">xmlStrVPrintf</a>			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br/>					 int len, <br/>					 const char * msg, <br/>					 va_list ap);
-int	<a href="#xmlUTF8Strsize">xmlUTF8Strsize</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 int len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCharStrndup">xmlCharStrndup</a>		(const char * cur, <br>					 int len);
 int	<a href="#xmlCheckUTF8">xmlCheckUTF8</a>			(const unsigned char * utf);
-int	<a href="#xmlStrncasecmp">xmlStrncasecmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>					 int len);
+int	<a href="#xmlGetUTF8Char">xmlGetUTF8Char</a>			(const unsigned char * utf, <br>					 int * len);
+int	<a href="#xmlStrEqual">xmlStrEqual</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
+int	<a href="#xmlStrPrintf">xmlStrPrintf</a>			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 ... ...);
+int	<a href="#xmlStrQEqual">xmlStrQEqual</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+int	<a href="#xmlStrVPrintf">xmlStrVPrintf</a>			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 va_list ap);
+int	<a href="#xmlStrcasecmp">xmlStrcasecmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrcasestr">xmlStrcasestr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrcat">xmlStrcat</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrchr">xmlStrchr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val);
+int	<a href="#xmlStrcmp">xmlStrcmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrdup">xmlStrdup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
+int	<a href="#xmlStrlen">xmlStrlen</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+int	<a href="#xmlStrncasecmp">xmlStrncasecmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrncat">xmlStrncat</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br>					 int len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrncatNew">xmlStrncatNew</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len);
+int	<a href="#xmlStrncmp">xmlStrncmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrndup">xmlStrndup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int len);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrstr">xmlStrstr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrsub">xmlStrsub</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int start, <br>					 int len);
+int	<a href="#xmlUTF8Charcmp">xmlUTF8Charcmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2);
+int	<a href="#xmlUTF8Size">xmlUTF8Size</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf);
 int	<a href="#xmlUTF8Strlen">xmlUTF8Strlen</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strsub">xmlUTF8Strsub</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 int start, <br/>					 int len);
-int	<a href="#xmlStrEqual">xmlStrEqual</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
-int	<a href="#xmlUTF8Charcmp">xmlUTF8Charcmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strndup">xmlUTF8Strndup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 int len);
-int	<a href="#xmlUTF8Strloc">xmlUTF8Strloc</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar);
+int	<a href="#xmlUTF8Strloc">xmlUTF8Strloc</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strndup">xmlUTF8Strndup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strpos">xmlUTF8Strpos</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int pos);
+int	<a href="#xmlUTF8Strsize">xmlUTF8Strsize</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strsub">xmlUTF8Strsub</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int start, <br>					 int len);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="BAD_CAST">Macro </a>BAD_CAST</h3><pre class="programlisting">#define <a href="#BAD_CAST">BAD_CAST</a>;
-</pre><p>Macro to cast a string to an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * when one know its safe.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChar">Typedef </a>xmlChar</h3><pre class="programlisting">unsigned char xmlChar;
-</pre><p>This is a basic byte in an UTF-8 encoded string. It's unsigned allowing to pinpoint case where char * are assigned to <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * (possibly making serialization back impossible).</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="BAD_CAST">Macro </a>BAD_CAST</h3>
+<pre class="programlisting">#define <a href="#BAD_CAST">BAD_CAST</a>;
+</pre>
+<p>Macro to cast a string to an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * when one know its safe.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharStrdup"/>xmlCharStrdup ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCharStrdup		(const char * cur)<br/>
-</pre><p>a strdup for char's to xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input char *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharStrndup"/>xmlCharStrndup ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCharStrndup		(const char * cur, <br/>					 int len)<br/>
-</pre><p>a strndup for char's to xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input char *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @cur</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCheckUTF8"/>xmlCheckUTF8 ()</h3><pre class="programlisting">int	xmlCheckUTF8			(const unsigned char * utf)<br/>
-</pre><p>Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>Pointer to putative UTF-8 encoded string.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>value: true if @utf is valid.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetUTF8Char"/>xmlGetUTF8Char ()</h3><pre class="programlisting">int	xmlGetUTF8Char			(const unsigned char * utf, <br/>					 int * len)<br/>
-</pre><p>Read the first UTF8 character from @utf</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to the minimum number of bytes present in the sequence. This is used to assure the next character is completely contained within the sequence.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrEqual"/>xmlStrEqual ()</h3><pre class="programlisting">int	xmlStrEqual			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br/>
-</pre><p>Check if both strings are equal of have same content. Should be a bit more readable and faster than xmlStrcmp()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if they are equal, 0 if they are different</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrPrintf"/>xmlStrPrintf ()</h3><pre class="programlisting">int	xmlStrPrintf			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br/>					 int len, <br/>					 const char * msg, <br/>					 ... ...)<br/>
-</pre><p>Formats @msg and places result into @buf.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the result buffer.</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the result buffer length.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message with printf formatting.</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml2-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrQEqual"/>xmlStrQEqual ()</h3><pre class="programlisting">int	xmlStrQEqual			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Check if a QName is Equal to a given string</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>pref</tt></i>:</span></td><td>the prefix of the QName</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the localname of the QName</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if they are equal, 0 if they are different</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrVPrintf"/>xmlStrVPrintf ()</h3><pre class="programlisting">int	xmlStrVPrintf			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br/>					 int len, <br/>					 const char * msg, <br/>					 va_list ap)<br/>
-</pre><p>Formats @msg and places result into @buf.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the result buffer.</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the result buffer length.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message with printf formatting.</td></tr><tr><td><span class="term"><i><tt>ap</tt></i>:</span></td><td>extra parameters for the message.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml2-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrcasecmp"/>xmlStrcasecmp ()</h3><pre class="programlisting">int	xmlStrcasecmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br/>
-</pre><p>a strcasecmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the comparison</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrcasestr"/>xmlStrcasestr ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcasestr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>a case-ignoring strstr for xmlChar's</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrcat"/>xmlStrcat ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcat		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add)<br/>
-</pre><p>a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * containing the concatenated string. The original @cur is reallocated and should not be freed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrchr"/>xmlStrchr ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrchr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val)<br/>
-</pre><p>a strchr for xmlChar's</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrcmp"/>xmlStrcmp ()</h3><pre class="programlisting">int	xmlStrcmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br/>
-</pre><p>a strcmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the comparison</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrdup"/>xmlStrdup ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrdup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br/>
-</pre><p>a strdup for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrlen"/>xmlStrlen ()</h3><pre class="programlisting">int	xmlStrlen			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>length of a xmlChar's string</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> contained in the ARRAY.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrncasecmp"/>xmlStrncasecmp ()</h3><pre class="programlisting">int	xmlStrncasecmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>					 int len)<br/>
-</pre><p>a strncasecmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the max comparison length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the comparison</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrncat"/>xmlStrncat ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncat		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br/>					 int len)<br/>
-</pre><p>a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add. Note that if @len &lt; 0 then this is an API error and NULL will be returned.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of @add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *, the original @cur is reallocated and should not be freed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrncatNew"/>xmlStrncatNew ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncatNew		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>					 int len)<br/>
-</pre><p>same as xmlStrncat, but creates a new string. The original two strings are not freed. If @len is &lt; 0 then the length will be calculated automatically.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @str2 or &lt; 0</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrncmp"/>xmlStrncmp ()</h3><pre class="programlisting">int	xmlStrncmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>					 int len)<br/>
-</pre><p>a strncmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the max comparison length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the comparison</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrndup"/>xmlStrndup ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrndup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 int len)<br/>
-</pre><p>a strndup for array of xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @cur</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrstr"/>xmlStrstr ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrstr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>a strstr for xmlChar's</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrsub"/>xmlStrsub ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrsub		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 int start, <br/>					 int len)<br/>
-</pre><p>Extract a substring of a given string</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the index of the first char (zero based)</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the substring</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Charcmp"/>xmlUTF8Charcmp ()</h3><pre class="programlisting">int	xmlUTF8Charcmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2)<br/>
-</pre><p>compares the two UCS4 values</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf1</tt></i>:</span></td><td>pointer to first UTF8 char</td></tr><tr><td><span class="term"><i><tt>utf2</tt></i>:</span></td><td>pointer to second UTF8 char</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>result of the compare as with <a href="libxml2-xmlstring.html#xmlStrncmp">xmlStrncmp</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Size"/>xmlUTF8Size ()</h3><pre class="programlisting">int	xmlUTF8Size			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br/>
-</pre><p>calculates the internal size of a UTF8 character</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>pointer to the UTF8 character</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the numbers of bytes in the character, -1 on format error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strlen"/>xmlUTF8Strlen ()</h3><pre class="programlisting">int	xmlUTF8Strlen			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br/>
-</pre><p>compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the string.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml2-SAX.html#characters">characters</a> in the string or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strloc"/>xmlUTF8Strloc ()</h3><pre class="programlisting">int	xmlUTF8Strloc			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar)<br/>
-</pre><p>a function to provide the relative location of a UTF8 char</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>utfchar</tt></i>:</span></td><td>the UTF8 character to be found</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the relative character position of the desired char or -1 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strndup"/>xmlUTF8Strndup ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strndup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 int len)<br/>
-</pre><p>a strndup for array of UTF8's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @utf (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new UTF8 * or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strpos"/>xmlUTF8Strpos ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strpos		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 int pos)<br/>
-</pre><p>a function to provide the equivalent of fetching a character from a string array</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>pos</tt></i>:</span></td><td>the position of the desired UTF8 char (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the UTF8 character or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strsize"/>xmlUTF8Strsize ()</h3><pre class="programlisting">int	xmlUTF8Strsize			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 int len)<br/>
-</pre><p>storage size of an UTF8 string the behaviour is not guaranteed if the input string is not UTF-8</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml2-SAX.html#characters">characters</a> in the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the storage size of the first 'len' <a href="libxml2-SAX.html#characters">characters</a> of ARRAY</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strsub"/>xmlUTF8Strsub ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strsub		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 int start, <br/>					 int len)<br/>
-</pre><p>Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>relative pos of first char</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>total number to copy</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to a newly created string or NULL if any problem</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChar">Typedef </a>xmlChar</h3>
+<pre class="programlisting">unsigned char xmlChar;
+</pre>
+<p>This is a basic byte in an UTF-8 encoded string. It's unsigned allowing to pinpoint case where char * are assigned to <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * (possibly making serialization back impossible).</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharStrdup"></a>xmlCharStrdup ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCharStrdup		(const char * cur)<br>
+</pre>
+<p>a strdup for char's to xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the input char *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharStrndup"></a>xmlCharStrndup ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCharStrndup		(const char * cur, <br>					 int len)<br>
+</pre>
+<p>a strndup for char's to xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the input char *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the len of @cur</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCheckUTF8"></a>xmlCheckUTF8 ()</h3>
+<pre class="programlisting">int	xmlCheckUTF8			(const unsigned char * utf)<br>
+</pre>
+<p>Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>Pointer to putative UTF-8 encoded string.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>value: true if @utf is valid.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetUTF8Char"></a>xmlGetUTF8Char ()</h3>
+<pre class="programlisting">int	xmlGetUTF8Char			(const unsigned char * utf, <br>					 int * len)<br>
+</pre>
+<p>Read the first UTF8 character from @utf</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>a sequence of UTF-8 encoded bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>a pointer to the minimum number of bytes present in the sequence. This is used to assure the next character is completely contained within the sequence.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrEqual"></a>xmlStrEqual ()</h3>
+<pre class="programlisting">int	xmlStrEqual			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
+</pre>
+<p>Check if both strings are equal of have same content. Should be a bit more readable and faster than xmlStrcmp()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if they are equal, 0 if they are different</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrPrintf"></a>xmlStrPrintf ()</h3>
+<pre class="programlisting">int	xmlStrPrintf			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 ... ...)<br>
+</pre>
+<p>Formats @msg and places result into @buf.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the result buffer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the result buffer length.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message with printf formatting.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of <a href="libxml2-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrQEqual"></a>xmlStrQEqual ()</h3>
+<pre class="programlisting">int	xmlStrQEqual			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Check if a QName is Equal to a given string</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>pref</tt></i>:</span></td>
+<td>the prefix of the QName</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the localname of the QName</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if they are equal, 0 if they are different</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrVPrintf"></a>xmlStrVPrintf ()</h3>
+<pre class="programlisting">int	xmlStrVPrintf			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 va_list ap)<br>
+</pre>
+<p>Formats @msg and places result into @buf.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the result buffer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the result buffer length.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message with printf formatting.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ap</tt></i>:</span></td>
+<td>extra parameters for the message.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of <a href="libxml2-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrcasecmp"></a>xmlStrcasecmp ()</h3>
+<pre class="programlisting">int	xmlStrcasecmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
+</pre>
+<p>a strcasecmp for xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the integer result of the comparison</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrcasestr"></a>xmlStrcasestr ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcasestr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>a case-ignoring strstr for xmlChar's</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrcat"></a>xmlStrcat ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcat		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add)<br>
+</pre>
+<p>a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>add</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * containing the concatenated string. The original @cur is reallocated and should not be freed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrchr"></a>xmlStrchr ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrchr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val)<br>
+</pre>
+<p>a strchr for xmlChar's</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrcmp"></a>xmlStrcmp ()</h3>
+<pre class="programlisting">int	xmlStrcmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
+</pre>
+<p>a strcmp for xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the integer result of the comparison</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrdup"></a>xmlStrdup ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrdup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
+</pre>
+<p>a strdup for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the input <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrlen"></a>xmlStrlen ()</h3>
+<pre class="programlisting">int	xmlStrlen			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>length of a xmlChar's string</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> contained in the ARRAY.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrncasecmp"></a>xmlStrncasecmp ()</h3>
+<pre class="programlisting">int	xmlStrncasecmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len)<br>
+</pre>
+<p>a strncasecmp for xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the max comparison length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the integer result of the comparison</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrncat"></a>xmlStrncat ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncat		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br>					 int len)<br>
+</pre>
+<p>a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add. Note that if @len &lt; 0 then this is an API error and NULL will be returned.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>add</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of @add</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *, the original @cur is reallocated and should not be freed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrncatNew"></a>xmlStrncatNew ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncatNew		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len)<br>
+</pre>
+<p>same as xmlStrncat, but creates a new string. The original two strings are not freed. If @len is &lt; 0 then the length will be calculated automatically.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the len of @str2 or &lt; 0</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrncmp"></a>xmlStrncmp ()</h3>
+<pre class="programlisting">int	xmlStrncmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len)<br>
+</pre>
+<p>a strncmp for xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the max comparison length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the integer result of the comparison</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrndup"></a>xmlStrndup ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrndup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int len)<br>
+</pre>
+<p>a strndup for array of xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the input <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the len of @cur</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrstr"></a>xmlStrstr ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrstr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>a strstr for xmlChar's</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrsub"></a>xmlStrsub ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrsub		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int start, <br>					 int len)<br>
+</pre>
+<p>Extract a substring of a given string</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the index of the first char (zero based)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the substring</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Charcmp"></a>xmlUTF8Charcmp ()</h3>
+<pre class="programlisting">int	xmlUTF8Charcmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2)<br>
+</pre>
+<p>compares the two UCS4 values</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf1</tt></i>:</span></td>
+<td>pointer to first UTF8 char</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>utf2</tt></i>:</span></td>
+<td>pointer to second UTF8 char</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>result of the compare as with <a href="libxml2-xmlstring.html#xmlStrncmp">xmlStrncmp</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Size"></a>xmlUTF8Size ()</h3>
+<pre class="programlisting">int	xmlUTF8Size			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br>
+</pre>
+<p>calculates the internal size of a UTF8 character</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>pointer to the UTF8 character</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the numbers of bytes in the character, -1 on format error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strlen"></a>xmlUTF8Strlen ()</h3>
+<pre class="programlisting">int	xmlUTF8Strlen			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br>
+</pre>
+<p>compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the string.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>a sequence of UTF-8 encoded bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of <a href="libxml2-SAX.html#characters">characters</a> in the string or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strloc"></a>xmlUTF8Strloc ()</h3>
+<pre class="programlisting">int	xmlUTF8Strloc			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar)<br>
+</pre>
+<p>a function to provide the relative location of a UTF8 char</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>the input UTF8 *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>utfchar</tt></i>:</span></td>
+<td>the UTF8 character to be found</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the relative character position of the desired char or -1 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strndup"></a>xmlUTF8Strndup ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strndup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len)<br>
+</pre>
+<p>a strndup for array of UTF8's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>the input UTF8 *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the len of @utf (in chars)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new UTF8 * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strpos"></a>xmlUTF8Strpos ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strpos		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int pos)<br>
+</pre>
+<p>a function to provide the equivalent of fetching a character from a string array</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>the input UTF8 *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pos</tt></i>:</span></td>
+<td>the position of the desired UTF8 char (in chars)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the UTF8 character or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strsize"></a>xmlUTF8Strsize ()</h3>
+<pre class="programlisting">int	xmlUTF8Strsize			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len)<br>
+</pre>
+<p>storage size of an UTF8 string the behaviour is not guaranteed if the input string is not UTF-8</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>a sequence of UTF-8 encoded bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-SAX.html#characters">characters</a> in the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the storage size of the first 'len' <a href="libxml2-SAX.html#characters">characters</a> of ARRAY</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strsub"></a>xmlUTF8Strsub ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strsub		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int start, <br>					 int len)<br>
+</pre>
+<p>Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>a sequence of UTF-8 encoded bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>relative pos of first char</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>total number to copy</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to a newly created string or NULL if any problem</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlunicode.html b/doc/devhelp/libxml2-xmlunicode.html
index 7d4f0d8..29ec7de 100644
--- a/doc/devhelp/libxml2-xmlunicode.html
+++ b/doc/devhelp/libxml2-xmlunicode.html
@@ -1,887 +1,3694 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlunicode: Unicode character APIs</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlstring.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlversion.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlunicode</span>
-    </h2>
-    <p>xmlunicode - Unicode character APIs</p>
-    <p>API for the Unicode character APIs  This file is automatically generated from the UCS description files of the Unicode Character Database</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">int	<a href="#xmlUCSIsBlockElements">xmlUCSIsBlockElements</a>		(int code);
-int	<a href="#xmlUCSIsBopomofo">xmlUCSIsBopomofo</a>		(int code);
-int	<a href="#xmlUCSIsDingbats">xmlUCSIsDingbats</a>		(int code);
-int	<a href="#xmlUCSIsSuperscriptsandSubscripts">xmlUCSIsSuperscriptsandSubscripts</a>	(int code);
-int	<a href="#xmlUCSIsCombiningHalfMarks">xmlUCSIsCombiningHalfMarks</a>	(int code);
-int	<a href="#xmlUCSIsTibetan">xmlUCSIsTibetan</a>			(int code);
-int	<a href="#xmlUCSIsYiRadicals">xmlUCSIsYiRadicals</a>		(int code);
-int	<a href="#xmlUCSIsCombiningMarksforSymbols">xmlUCSIsCombiningMarksforSymbols</a>	(int code);
-int	<a href="#xmlUCSIsHangulSyllables">xmlUCSIsHangulSyllables</a>		(int code);
-int	<a href="#xmlUCSIsBasicLatin">xmlUCSIsBasicLatin</a>		(int code);
-int	<a href="#xmlUCSIsCatSc">xmlUCSIsCatSc</a>			(int code);
-int	<a href="#xmlUCSIsCatSo">xmlUCSIsCatSo</a>			(int code);
-int	<a href="#xmlUCSIsLimbu">xmlUCSIsLimbu</a>			(int code);
-int	<a href="#xmlUCSIsCatSm">xmlUCSIsCatSm</a>			(int code);
-int	<a href="#xmlUCSIsCatSk">xmlUCSIsCatSk</a>			(int code);
-int	<a href="#xmlUCSIsKhmerSymbols">xmlUCSIsKhmerSymbols</a>		(int code);
-int	<a href="#xmlUCSIsMongolian">xmlUCSIsMongolian</a>		(int code);
-int	<a href="#xmlUCSIsMalayalam">xmlUCSIsMalayalam</a>		(int code);
-int	<a href="#xmlUCSIsMathematicalAlphanumericSymbols">xmlUCSIsMathematicalAlphanumericSymbols</a>	(int code);
-int	<a href="#xmlUCSIsThaana">xmlUCSIsThaana</a>			(int code);
-int	<a href="#xmlUCSIsMyanmar">xmlUCSIsMyanmar</a>			(int code);
-int	<a href="#xmlUCSIsTags">xmlUCSIsTags</a>			(int code);
-int	<a href="#xmlUCSIsCJKCompatibilityIdeographs">xmlUCSIsCJKCompatibilityIdeographs</a>	(int code);
-int	<a href="#xmlUCSIsTelugu">xmlUCSIsTelugu</a>			(int code);
-int	<a href="#xmlUCSIsLowSurrogates">xmlUCSIsLowSurrogates</a>		(int code);
-int	<a href="#xmlUCSIsOsmanya">xmlUCSIsOsmanya</a>			(int code);
-int	<a href="#xmlUCSIsSyriac">xmlUCSIsSyriac</a>			(int code);
-int	<a href="#xmlUCSIsEthiopic">xmlUCSIsEthiopic</a>		(int code);
-int	<a href="#xmlUCSIsBoxDrawing">xmlUCSIsBoxDrawing</a>		(int code);
-int	<a href="#xmlUCSIsGreekExtended">xmlUCSIsGreekExtended</a>		(int code);
-int	<a href="#xmlUCSIsGreekandCoptic">xmlUCSIsGreekandCoptic</a>		(int code);
-int	<a href="#xmlUCSIsKannada">xmlUCSIsKannada</a>			(int code);
-int	<a href="#xmlUCSIsByzantineMusicalSymbols">xmlUCSIsByzantineMusicalSymbols</a>	(int code);
-int	<a href="#xmlUCSIsEnclosedCJKLettersandMonths">xmlUCSIsEnclosedCJKLettersandMonths</a>	(int code);
-int	<a href="#xmlUCSIsCJKCompatibilityForms">xmlUCSIsCJKCompatibilityForms</a>	(int code);
-int	<a href="#xmlUCSIsCatCs">xmlUCSIsCatCs</a>			(int code);
-int	<a href="#xmlUCSIsCJKRadicalsSupplement">xmlUCSIsCJKRadicalsSupplement</a>	(int code);
-int	<a href="#xmlUCSIsCatCf">xmlUCSIsCatCf</a>			(int code);
-int	<a href="#xmlUCSIsSmallFormVariants">xmlUCSIsSmallFormVariants</a>	(int code);
-int	<a href="#xmlUCSIsHangulCompatibilityJamo">xmlUCSIsHangulCompatibilityJamo</a>	(int code);
-int	<a href="#xmlUCSIsCatCc">xmlUCSIsCatCc</a>			(int code);
-int	<a href="#xmlUCSIsCatCo">xmlUCSIsCatCo</a>			(int code);
-int	<a href="#xmlUCSIsCherokee">xmlUCSIsCherokee</a>		(int code);
-int	<a href="#xmlUCSIsGothic">xmlUCSIsGothic</a>			(int code);
-int	<a href="#xmlUCSIsKhmer">xmlUCSIsKhmer</a>			(int code);
-int	<a href="#xmlUCSIsCombiningDiacriticalMarksforSymbols">xmlUCSIsCombiningDiacriticalMarksforSymbols</a>	(int code);
-int	<a href="#xmlUCSIsOgham">xmlUCSIsOgham</a>			(int code);
-int	<a href="#xmlUCSIsOriya">xmlUCSIsOriya</a>			(int code);
-int	<a href="#xmlUCSIsLinearBIdeograms">xmlUCSIsLinearBIdeograms</a>	(int code);
-int	<a href="#xmlUCSIsBlock">xmlUCSIsBlock</a>			(int code, <br/>					 const char * block);
-int	<a href="#xmlUCSIsBopomofoExtended">xmlUCSIsBopomofoExtended</a>	(int code);
-int	<a href="#xmlUCSIsHangulJamo">xmlUCSIsHangulJamo</a>		(int code);
-int	<a href="#xmlUCSIsTagbanwa">xmlUCSIsTagbanwa</a>		(int code);
-int	<a href="#xmlUCSIsGeneralPunctuation">xmlUCSIsGeneralPunctuation</a>	(int code);
-int	<a href="#xmlUCSIsCyrillic">xmlUCSIsCyrillic</a>		(int code);
-int	<a href="#xmlUCSIsArrows">xmlUCSIsArrows</a>			(int code);
-int	<a href="#xmlUCSIsControlPictures">xmlUCSIsControlPictures</a>		(int code);
-int	<a href="#xmlUCSIsCJKUnifiedIdeographs">xmlUCSIsCJKUnifiedIdeographs</a>	(int code);
-int	<a href="#xmlUCSIsCatNl">xmlUCSIsCatNl</a>			(int code);
-int	<a href="#xmlUCSIsCatNo">xmlUCSIsCatNo</a>			(int code);
-int	<a href="#xmlUCSIsYijingHexagramSymbols">xmlUCSIsYijingHexagramSymbols</a>	(int code);
-int	<a href="#xmlUCSIsVariationSelectorsSupplement">xmlUCSIsVariationSelectorsSupplement</a>	(int code);
-int	<a href="#xmlUCSIsBengali">xmlUCSIsBengali</a>			(int code);
-int	<a href="#xmlUCSIsPrivateUse">xmlUCSIsPrivateUse</a>		(int code);
-int	<a href="#xmlUCSIsMusicalSymbols">xmlUCSIsMusicalSymbols</a>		(int code);
-int	<a href="#xmlUCSIsMiscellaneousSymbols">xmlUCSIsMiscellaneousSymbols</a>	(int code);
-int	<a href="#xmlUCSIsCJKCompatibility">xmlUCSIsCJKCompatibility</a>	(int code);
-int	<a href="#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a>		(int code);
-int	<a href="#xmlUCSIsDevanagari">xmlUCSIsDevanagari</a>		(int code);
-int	<a href="#xmlUCSIsSupplementalArrowsA">xmlUCSIsSupplementalArrowsA</a>	(int code);
-int	<a href="#xmlUCSIsSupplementalArrowsB">xmlUCSIsSupplementalArrowsB</a>	(int code);
-int	<a href="#xmlUCSIsNumberForms">xmlUCSIsNumberForms</a>		(int code);
-int	<a href="#xmlUCSIsSpacingModifierLetters">xmlUCSIsSpacingModifierLetters</a>	(int code);
-int	<a href="#xmlUCSIsOpticalCharacterRecognition">xmlUCSIsOpticalCharacterRecognition</a>	(int code);
-int	<a href="#xmlUCSIsCatPc">xmlUCSIsCatPc</a>			(int code);
-int	<a href="#xmlUCSIsCatPf">xmlUCSIsCatPf</a>			(int code);
-int	<a href="#xmlUCSIsCyrillicSupplement">xmlUCSIsCyrillicSupplement</a>	(int code);
-int	<a href="#xmlUCSIsCatPd">xmlUCSIsCatPd</a>			(int code);
-int	<a href="#xmlUCSIsCatPi">xmlUCSIsCatPi</a>			(int code);
-int	<a href="#xmlUCSIsCatPo">xmlUCSIsCatPo</a>			(int code);
-int	<a href="#xmlUCSIsHighPrivateUseSurrogates">xmlUCSIsHighPrivateUseSurrogates</a>	(int code);
-int	<a href="#xmlUCSIsLatinExtendedAdditional">xmlUCSIsLatinExtendedAdditional</a>	(int code);
-int	<a href="#xmlUCSIsCatPs">xmlUCSIsCatPs</a>			(int code);
-int	<a href="#xmlUCSIsHighSurrogates">xmlUCSIsHighSurrogates</a>		(int code);
-int	<a href="#xmlUCSIsLao">xmlUCSIsLao</a>			(int code);
-int	<a href="#xmlUCSIsBraillePatterns">xmlUCSIsBraillePatterns</a>		(int code);
-int	<a href="#xmlUCSIsDeseret">xmlUCSIsDeseret</a>			(int code);
-int	<a href="#xmlUCSIsEnclosedAlphanumerics">xmlUCSIsEnclosedAlphanumerics</a>	(int code);
-int	<a href="#xmlUCSIsCombiningDiacriticalMarks">xmlUCSIsCombiningDiacriticalMarks</a>	(int code);
-int	<a href="#xmlUCSIsIdeographicDescriptionCharacters">xmlUCSIsIdeographicDescriptionCharacters</a>	(int code);
-int	<a href="#xmlUCSIsPrivateUseArea">xmlUCSIsPrivateUseArea</a>		(int code);
-int	<a href="#xmlUCSIsCat">xmlUCSIsCat</a>			(int code, <br/>					 const char * cat);
-int	<a href="#xmlUCSIsCatLu">xmlUCSIsCatLu</a>			(int code);
-int	<a href="#xmlUCSIsCatLt">xmlUCSIsCatLt</a>			(int code);
-int	<a href="#xmlUCSIsYiSyllables">xmlUCSIsYiSyllables</a>		(int code);
-int	<a href="#xmlUCSIsShavian">xmlUCSIsShavian</a>			(int code);
-int	<a href="#xmlUCSIsCatLo">xmlUCSIsCatLo</a>			(int code);
-int	<a href="#xmlUCSIsCatLm">xmlUCSIsCatLm</a>			(int code);
-int	<a href="#xmlUCSIsCatLl">xmlUCSIsCatLl</a>			(int code);
-int	<a href="#xmlUCSIsMiscellaneousTechnical">xmlUCSIsMiscellaneousTechnical</a>	(int code);
-int	<a href="#xmlUCSIsUgaritic">xmlUCSIsUgaritic</a>		(int code);
-int	<a href="#xmlUCSIsCJKCompatibilityIdeographsSupplement">xmlUCSIsCJKCompatibilityIdeographsSupplement</a>	(int code);
-int	<a href="#xmlUCSIsCypriotSyllabary">xmlUCSIsCypriotSyllabary</a>	(int code);
-int	<a href="#xmlUCSIsTamil">xmlUCSIsTamil</a>			(int code);
-int	<a href="#xmlUCSIsCatC">xmlUCSIsCatC</a>			(int code);
-int	<a href="#xmlUCSIsCatN">xmlUCSIsCatN</a>			(int code);
-int	<a href="#xmlUCSIsCatL">xmlUCSIsCatL</a>			(int code);
-int	<a href="#xmlUCSIsCatM">xmlUCSIsCatM</a>			(int code);
-int	<a href="#xmlUCSIsUnifiedCanadianAboriginalSyllabics">xmlUCSIsUnifiedCanadianAboriginalSyllabics</a>	(int code);
-int	<a href="#xmlUCSIsCatS">xmlUCSIsCatS</a>			(int code);
-int	<a href="#xmlUCSIsCatP">xmlUCSIsCatP</a>			(int code);
-int	<a href="#xmlUCSIsSinhala">xmlUCSIsSinhala</a>			(int code);
-int	<a href="#xmlUCSIsGeorgian">xmlUCSIsGeorgian</a>		(int code);
-int	<a href="#xmlUCSIsCatZ">xmlUCSIsCatZ</a>			(int code);
-int	<a href="#xmlUCSIsIPAExtensions">xmlUCSIsIPAExtensions</a>		(int code);
-int	<a href="#xmlUCSIsKangxiRadicals">xmlUCSIsKangxiRadicals</a>		(int code);
-int	<a href="#xmlUCSIsGreek">xmlUCSIsGreek</a>			(int code);
-int	<a href="#xmlUCSIsCatPe">xmlUCSIsCatPe</a>			(int code);
-int	<a href="#xmlUCSIsHanunoo">xmlUCSIsHanunoo</a>			(int code);
-int	<a href="#xmlUCSIsArmenian">xmlUCSIsArmenian</a>		(int code);
-int	<a href="#xmlUCSIsSupplementaryPrivateUseAreaB">xmlUCSIsSupplementaryPrivateUseAreaB</a>	(int code);
-int	<a href="#xmlUCSIsSupplementaryPrivateUseAreaA">xmlUCSIsSupplementaryPrivateUseAreaA</a>	(int code);
-int	<a href="#xmlUCSIsKatakanaPhoneticExtensions">xmlUCSIsKatakanaPhoneticExtensions</a>	(int code);
-int	<a href="#xmlUCSIsLetterlikeSymbols">xmlUCSIsLetterlikeSymbols</a>	(int code);
-int	<a href="#xmlUCSIsPhoneticExtensions">xmlUCSIsPhoneticExtensions</a>	(int code);
-int	<a href="#xmlUCSIsArabic">xmlUCSIsArabic</a>			(int code);
-int	<a href="#xmlUCSIsHebrew">xmlUCSIsHebrew</a>			(int code);
-int	<a href="#xmlUCSIsOldItalic">xmlUCSIsOldItalic</a>		(int code);
-int	<a href="#xmlUCSIsArabicPresentationFormsA">xmlUCSIsArabicPresentationFormsA</a>	(int code);
-int	<a href="#xmlUCSIsCatZp">xmlUCSIsCatZp</a>			(int code);
-int	<a href="#xmlUCSIsCatZs">xmlUCSIsCatZs</a>			(int code);
-int	<a href="#xmlUCSIsArabicPresentationFormsB">xmlUCSIsArabicPresentationFormsB</a>	(int code);
-int	<a href="#xmlUCSIsGeometricShapes">xmlUCSIsGeometricShapes</a>		(int code);
-int	<a href="#xmlUCSIsCatZl">xmlUCSIsCatZl</a>			(int code);
-int	<a href="#xmlUCSIsTagalog">xmlUCSIsTagalog</a>			(int code);
-int	<a href="#xmlUCSIsSpecials">xmlUCSIsSpecials</a>		(int code);
-int	<a href="#xmlUCSIsGujarati">xmlUCSIsGujarati</a>		(int code);
-int	<a href="#xmlUCSIsKatakana">xmlUCSIsKatakana</a>		(int code);
-int	<a href="#xmlUCSIsHalfwidthandFullwidthForms">xmlUCSIsHalfwidthandFullwidthForms</a>	(int code);
-int	<a href="#xmlUCSIsLatinExtendedB">xmlUCSIsLatinExtendedB</a>		(int code);
-int	<a href="#xmlUCSIsLatinExtendedA">xmlUCSIsLatinExtendedA</a>		(int code);
-int	<a href="#xmlUCSIsBuhid">xmlUCSIsBuhid</a>			(int code);
-int	<a href="#xmlUCSIsMiscellaneousSymbolsandArrows">xmlUCSIsMiscellaneousSymbolsandArrows</a>	(int code);
-int	<a href="#xmlUCSIsTaiLe">xmlUCSIsTaiLe</a>			(int code);
-int	<a href="#xmlUCSIsCJKSymbolsandPunctuation">xmlUCSIsCJKSymbolsandPunctuation</a>	(int code);
-int	<a href="#xmlUCSIsTaiXuanJingSymbols">xmlUCSIsTaiXuanJingSymbols</a>	(int code);
-int	<a href="#xmlUCSIsGurmukhi">xmlUCSIsGurmukhi</a>		(int code);
-int	<a href="#xmlUCSIsMathematicalOperators">xmlUCSIsMathematicalOperators</a>	(int code);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlunicode: Unicode character APIs</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlstring.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlunicode</span></h2>
+<p>xmlunicode - Unicode character APIs</p>
+<p>API for the Unicode character APIs  This file is automatically generated from the UCS description files of the Unicode Character Database</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">int	<a href="#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a>		(int code);
 int	<a href="#xmlUCSIsAlphabeticPresentationForms">xmlUCSIsAlphabeticPresentationForms</a>	(int code);
-int	<a href="#xmlUCSIsCurrencySymbols">xmlUCSIsCurrencySymbols</a>		(int code);
-int	<a href="#xmlUCSIsSupplementalMathematicalOperators">xmlUCSIsSupplementalMathematicalOperators</a>	(int code);
+int	<a href="#xmlUCSIsArabic">xmlUCSIsArabic</a>			(int code);
+int	<a href="#xmlUCSIsArabicPresentationFormsA">xmlUCSIsArabicPresentationFormsA</a>	(int code);
+int	<a href="#xmlUCSIsArabicPresentationFormsB">xmlUCSIsArabicPresentationFormsB</a>	(int code);
+int	<a href="#xmlUCSIsArmenian">xmlUCSIsArmenian</a>		(int code);
+int	<a href="#xmlUCSIsArrows">xmlUCSIsArrows</a>			(int code);
+int	<a href="#xmlUCSIsBasicLatin">xmlUCSIsBasicLatin</a>		(int code);
+int	<a href="#xmlUCSIsBengali">xmlUCSIsBengali</a>			(int code);
+int	<a href="#xmlUCSIsBlock">xmlUCSIsBlock</a>			(int code, <br>					 const char * block);
+int	<a href="#xmlUCSIsBlockElements">xmlUCSIsBlockElements</a>		(int code);
+int	<a href="#xmlUCSIsBopomofo">xmlUCSIsBopomofo</a>		(int code);
+int	<a href="#xmlUCSIsBopomofoExtended">xmlUCSIsBopomofoExtended</a>	(int code);
+int	<a href="#xmlUCSIsBoxDrawing">xmlUCSIsBoxDrawing</a>		(int code);
+int	<a href="#xmlUCSIsBraillePatterns">xmlUCSIsBraillePatterns</a>		(int code);
+int	<a href="#xmlUCSIsBuhid">xmlUCSIsBuhid</a>			(int code);
+int	<a href="#xmlUCSIsByzantineMusicalSymbols">xmlUCSIsByzantineMusicalSymbols</a>	(int code);
+int	<a href="#xmlUCSIsCJKCompatibility">xmlUCSIsCJKCompatibility</a>	(int code);
+int	<a href="#xmlUCSIsCJKCompatibilityForms">xmlUCSIsCJKCompatibilityForms</a>	(int code);
+int	<a href="#xmlUCSIsCJKCompatibilityIdeographs">xmlUCSIsCJKCompatibilityIdeographs</a>	(int code);
+int	<a href="#xmlUCSIsCJKCompatibilityIdeographsSupplement">xmlUCSIsCJKCompatibilityIdeographsSupplement</a>	(int code);
+int	<a href="#xmlUCSIsCJKRadicalsSupplement">xmlUCSIsCJKRadicalsSupplement</a>	(int code);
+int	<a href="#xmlUCSIsCJKSymbolsandPunctuation">xmlUCSIsCJKSymbolsandPunctuation</a>	(int code);
+int	<a href="#xmlUCSIsCJKUnifiedIdeographs">xmlUCSIsCJKUnifiedIdeographs</a>	(int code);
 int	<a href="#xmlUCSIsCJKUnifiedIdeographsExtensionA">xmlUCSIsCJKUnifiedIdeographsExtensionA</a>	(int code);
-int	<a href="#xmlUCSIsKanbun">xmlUCSIsKanbun</a>			(int code);
 int	<a href="#xmlUCSIsCJKUnifiedIdeographsExtensionB">xmlUCSIsCJKUnifiedIdeographsExtensionB</a>	(int code);
-int	<a href="#xmlUCSIsThai">xmlUCSIsThai</a>			(int code);
-int	<a href="#xmlUCSIsRunic">xmlUCSIsRunic</a>			(int code);
-int	<a href="#xmlUCSIsCatNd">xmlUCSIsCatNd</a>			(int code);
-int	<a href="#xmlUCSIsLatin1Supplement">xmlUCSIsLatin1Supplement</a>	(int code);
-int	<a href="#xmlUCSIsLinearBSyllabary">xmlUCSIsLinearBSyllabary</a>	(int code);
-int	<a href="#xmlUCSIsHiragana">xmlUCSIsHiragana</a>		(int code);
-int	<a href="#xmlUCSIsMiscellaneousMathematicalSymbolsB">xmlUCSIsMiscellaneousMathematicalSymbolsB</a>	(int code);
-int	<a href="#xmlUCSIsMiscellaneousMathematicalSymbolsA">xmlUCSIsMiscellaneousMathematicalSymbolsA</a>	(int code);
-int	<a href="#xmlUCSIsCatMn">xmlUCSIsCatMn</a>			(int code);
-int	<a href="#xmlUCSIsVariationSelectors">xmlUCSIsVariationSelectors</a>	(int code);
+int	<a href="#xmlUCSIsCat">xmlUCSIsCat</a>			(int code, <br>					 const char * cat);
+int	<a href="#xmlUCSIsCatC">xmlUCSIsCatC</a>			(int code);
+int	<a href="#xmlUCSIsCatCc">xmlUCSIsCatCc</a>			(int code);
+int	<a href="#xmlUCSIsCatCf">xmlUCSIsCatCf</a>			(int code);
+int	<a href="#xmlUCSIsCatCo">xmlUCSIsCatCo</a>			(int code);
+int	<a href="#xmlUCSIsCatCs">xmlUCSIsCatCs</a>			(int code);
+int	<a href="#xmlUCSIsCatL">xmlUCSIsCatL</a>			(int code);
+int	<a href="#xmlUCSIsCatLl">xmlUCSIsCatLl</a>			(int code);
+int	<a href="#xmlUCSIsCatLm">xmlUCSIsCatLm</a>			(int code);
+int	<a href="#xmlUCSIsCatLo">xmlUCSIsCatLo</a>			(int code);
+int	<a href="#xmlUCSIsCatLt">xmlUCSIsCatLt</a>			(int code);
+int	<a href="#xmlUCSIsCatLu">xmlUCSIsCatLu</a>			(int code);
+int	<a href="#xmlUCSIsCatM">xmlUCSIsCatM</a>			(int code);
 int	<a href="#xmlUCSIsCatMc">xmlUCSIsCatMc</a>			(int code);
 int	<a href="#xmlUCSIsCatMe">xmlUCSIsCatMe</a>			(int code);
+int	<a href="#xmlUCSIsCatMn">xmlUCSIsCatMn</a>			(int code);
+int	<a href="#xmlUCSIsCatN">xmlUCSIsCatN</a>			(int code);
+int	<a href="#xmlUCSIsCatNd">xmlUCSIsCatNd</a>			(int code);
+int	<a href="#xmlUCSIsCatNl">xmlUCSIsCatNl</a>			(int code);
+int	<a href="#xmlUCSIsCatNo">xmlUCSIsCatNo</a>			(int code);
+int	<a href="#xmlUCSIsCatP">xmlUCSIsCatP</a>			(int code);
+int	<a href="#xmlUCSIsCatPc">xmlUCSIsCatPc</a>			(int code);
+int	<a href="#xmlUCSIsCatPd">xmlUCSIsCatPd</a>			(int code);
+int	<a href="#xmlUCSIsCatPe">xmlUCSIsCatPe</a>			(int code);
+int	<a href="#xmlUCSIsCatPf">xmlUCSIsCatPf</a>			(int code);
+int	<a href="#xmlUCSIsCatPi">xmlUCSIsCatPi</a>			(int code);
+int	<a href="#xmlUCSIsCatPo">xmlUCSIsCatPo</a>			(int code);
+int	<a href="#xmlUCSIsCatPs">xmlUCSIsCatPs</a>			(int code);
+int	<a href="#xmlUCSIsCatS">xmlUCSIsCatS</a>			(int code);
+int	<a href="#xmlUCSIsCatSc">xmlUCSIsCatSc</a>			(int code);
+int	<a href="#xmlUCSIsCatSk">xmlUCSIsCatSk</a>			(int code);
+int	<a href="#xmlUCSIsCatSm">xmlUCSIsCatSm</a>			(int code);
+int	<a href="#xmlUCSIsCatSo">xmlUCSIsCatSo</a>			(int code);
+int	<a href="#xmlUCSIsCatZ">xmlUCSIsCatZ</a>			(int code);
+int	<a href="#xmlUCSIsCatZl">xmlUCSIsCatZl</a>			(int code);
+int	<a href="#xmlUCSIsCatZp">xmlUCSIsCatZp</a>			(int code);
+int	<a href="#xmlUCSIsCatZs">xmlUCSIsCatZs</a>			(int code);
+int	<a href="#xmlUCSIsCherokee">xmlUCSIsCherokee</a>		(int code);
+int	<a href="#xmlUCSIsCombiningDiacriticalMarks">xmlUCSIsCombiningDiacriticalMarks</a>	(int code);
+int	<a href="#xmlUCSIsCombiningDiacriticalMarksforSymbols">xmlUCSIsCombiningDiacriticalMarksforSymbols</a>	(int code);
+int	<a href="#xmlUCSIsCombiningHalfMarks">xmlUCSIsCombiningHalfMarks</a>	(int code);
+int	<a href="#xmlUCSIsCombiningMarksforSymbols">xmlUCSIsCombiningMarksforSymbols</a>	(int code);
+int	<a href="#xmlUCSIsControlPictures">xmlUCSIsControlPictures</a>		(int code);
+int	<a href="#xmlUCSIsCurrencySymbols">xmlUCSIsCurrencySymbols</a>		(int code);
+int	<a href="#xmlUCSIsCypriotSyllabary">xmlUCSIsCypriotSyllabary</a>	(int code);
+int	<a href="#xmlUCSIsCyrillic">xmlUCSIsCyrillic</a>		(int code);
+int	<a href="#xmlUCSIsCyrillicSupplement">xmlUCSIsCyrillicSupplement</a>	(int code);
+int	<a href="#xmlUCSIsDeseret">xmlUCSIsDeseret</a>			(int code);
+int	<a href="#xmlUCSIsDevanagari">xmlUCSIsDevanagari</a>		(int code);
+int	<a href="#xmlUCSIsDingbats">xmlUCSIsDingbats</a>		(int code);
+int	<a href="#xmlUCSIsEnclosedAlphanumerics">xmlUCSIsEnclosedAlphanumerics</a>	(int code);
+int	<a href="#xmlUCSIsEnclosedCJKLettersandMonths">xmlUCSIsEnclosedCJKLettersandMonths</a>	(int code);
+int	<a href="#xmlUCSIsEthiopic">xmlUCSIsEthiopic</a>		(int code);
+int	<a href="#xmlUCSIsGeneralPunctuation">xmlUCSIsGeneralPunctuation</a>	(int code);
+int	<a href="#xmlUCSIsGeometricShapes">xmlUCSIsGeometricShapes</a>		(int code);
+int	<a href="#xmlUCSIsGeorgian">xmlUCSIsGeorgian</a>		(int code);
+int	<a href="#xmlUCSIsGothic">xmlUCSIsGothic</a>			(int code);
+int	<a href="#xmlUCSIsGreek">xmlUCSIsGreek</a>			(int code);
+int	<a href="#xmlUCSIsGreekExtended">xmlUCSIsGreekExtended</a>		(int code);
+int	<a href="#xmlUCSIsGreekandCoptic">xmlUCSIsGreekandCoptic</a>		(int code);
+int	<a href="#xmlUCSIsGujarati">xmlUCSIsGujarati</a>		(int code);
+int	<a href="#xmlUCSIsGurmukhi">xmlUCSIsGurmukhi</a>		(int code);
+int	<a href="#xmlUCSIsHalfwidthandFullwidthForms">xmlUCSIsHalfwidthandFullwidthForms</a>	(int code);
+int	<a href="#xmlUCSIsHangulCompatibilityJamo">xmlUCSIsHangulCompatibilityJamo</a>	(int code);
+int	<a href="#xmlUCSIsHangulJamo">xmlUCSIsHangulJamo</a>		(int code);
+int	<a href="#xmlUCSIsHangulSyllables">xmlUCSIsHangulSyllables</a>		(int code);
+int	<a href="#xmlUCSIsHanunoo">xmlUCSIsHanunoo</a>			(int code);
+int	<a href="#xmlUCSIsHebrew">xmlUCSIsHebrew</a>			(int code);
+int	<a href="#xmlUCSIsHighPrivateUseSurrogates">xmlUCSIsHighPrivateUseSurrogates</a>	(int code);
+int	<a href="#xmlUCSIsHighSurrogates">xmlUCSIsHighSurrogates</a>		(int code);
+int	<a href="#xmlUCSIsHiragana">xmlUCSIsHiragana</a>		(int code);
+int	<a href="#xmlUCSIsIPAExtensions">xmlUCSIsIPAExtensions</a>		(int code);
+int	<a href="#xmlUCSIsIdeographicDescriptionCharacters">xmlUCSIsIdeographicDescriptionCharacters</a>	(int code);
+int	<a href="#xmlUCSIsKanbun">xmlUCSIsKanbun</a>			(int code);
+int	<a href="#xmlUCSIsKangxiRadicals">xmlUCSIsKangxiRadicals</a>		(int code);
+int	<a href="#xmlUCSIsKannada">xmlUCSIsKannada</a>			(int code);
+int	<a href="#xmlUCSIsKatakana">xmlUCSIsKatakana</a>		(int code);
+int	<a href="#xmlUCSIsKatakanaPhoneticExtensions">xmlUCSIsKatakanaPhoneticExtensions</a>	(int code);
+int	<a href="#xmlUCSIsKhmer">xmlUCSIsKhmer</a>			(int code);
+int	<a href="#xmlUCSIsKhmerSymbols">xmlUCSIsKhmerSymbols</a>		(int code);
+int	<a href="#xmlUCSIsLao">xmlUCSIsLao</a>			(int code);
+int	<a href="#xmlUCSIsLatin1Supplement">xmlUCSIsLatin1Supplement</a>	(int code);
+int	<a href="#xmlUCSIsLatinExtendedA">xmlUCSIsLatinExtendedA</a>		(int code);
+int	<a href="#xmlUCSIsLatinExtendedAdditional">xmlUCSIsLatinExtendedAdditional</a>	(int code);
+int	<a href="#xmlUCSIsLatinExtendedB">xmlUCSIsLatinExtendedB</a>		(int code);
+int	<a href="#xmlUCSIsLetterlikeSymbols">xmlUCSIsLetterlikeSymbols</a>	(int code);
+int	<a href="#xmlUCSIsLimbu">xmlUCSIsLimbu</a>			(int code);
+int	<a href="#xmlUCSIsLinearBIdeograms">xmlUCSIsLinearBIdeograms</a>	(int code);
+int	<a href="#xmlUCSIsLinearBSyllabary">xmlUCSIsLinearBSyllabary</a>	(int code);
+int	<a href="#xmlUCSIsLowSurrogates">xmlUCSIsLowSurrogates</a>		(int code);
+int	<a href="#xmlUCSIsMalayalam">xmlUCSIsMalayalam</a>		(int code);
+int	<a href="#xmlUCSIsMathematicalAlphanumericSymbols">xmlUCSIsMathematicalAlphanumericSymbols</a>	(int code);
+int	<a href="#xmlUCSIsMathematicalOperators">xmlUCSIsMathematicalOperators</a>	(int code);
+int	<a href="#xmlUCSIsMiscellaneousMathematicalSymbolsA">xmlUCSIsMiscellaneousMathematicalSymbolsA</a>	(int code);
+int	<a href="#xmlUCSIsMiscellaneousMathematicalSymbolsB">xmlUCSIsMiscellaneousMathematicalSymbolsB</a>	(int code);
+int	<a href="#xmlUCSIsMiscellaneousSymbols">xmlUCSIsMiscellaneousSymbols</a>	(int code);
+int	<a href="#xmlUCSIsMiscellaneousSymbolsandArrows">xmlUCSIsMiscellaneousSymbolsandArrows</a>	(int code);
+int	<a href="#xmlUCSIsMiscellaneousTechnical">xmlUCSIsMiscellaneousTechnical</a>	(int code);
+int	<a href="#xmlUCSIsMongolian">xmlUCSIsMongolian</a>		(int code);
+int	<a href="#xmlUCSIsMusicalSymbols">xmlUCSIsMusicalSymbols</a>		(int code);
+int	<a href="#xmlUCSIsMyanmar">xmlUCSIsMyanmar</a>			(int code);
+int	<a href="#xmlUCSIsNumberForms">xmlUCSIsNumberForms</a>		(int code);
+int	<a href="#xmlUCSIsOgham">xmlUCSIsOgham</a>			(int code);
+int	<a href="#xmlUCSIsOldItalic">xmlUCSIsOldItalic</a>		(int code);
+int	<a href="#xmlUCSIsOpticalCharacterRecognition">xmlUCSIsOpticalCharacterRecognition</a>	(int code);
+int	<a href="#xmlUCSIsOriya">xmlUCSIsOriya</a>			(int code);
+int	<a href="#xmlUCSIsOsmanya">xmlUCSIsOsmanya</a>			(int code);
+int	<a href="#xmlUCSIsPhoneticExtensions">xmlUCSIsPhoneticExtensions</a>	(int code);
+int	<a href="#xmlUCSIsPrivateUse">xmlUCSIsPrivateUse</a>		(int code);
+int	<a href="#xmlUCSIsPrivateUseArea">xmlUCSIsPrivateUseArea</a>		(int code);
+int	<a href="#xmlUCSIsRunic">xmlUCSIsRunic</a>			(int code);
+int	<a href="#xmlUCSIsShavian">xmlUCSIsShavian</a>			(int code);
+int	<a href="#xmlUCSIsSinhala">xmlUCSIsSinhala</a>			(int code);
+int	<a href="#xmlUCSIsSmallFormVariants">xmlUCSIsSmallFormVariants</a>	(int code);
+int	<a href="#xmlUCSIsSpacingModifierLetters">xmlUCSIsSpacingModifierLetters</a>	(int code);
+int	<a href="#xmlUCSIsSpecials">xmlUCSIsSpecials</a>		(int code);
+int	<a href="#xmlUCSIsSuperscriptsandSubscripts">xmlUCSIsSuperscriptsandSubscripts</a>	(int code);
+int	<a href="#xmlUCSIsSupplementalArrowsA">xmlUCSIsSupplementalArrowsA</a>	(int code);
+int	<a href="#xmlUCSIsSupplementalArrowsB">xmlUCSIsSupplementalArrowsB</a>	(int code);
+int	<a href="#xmlUCSIsSupplementalMathematicalOperators">xmlUCSIsSupplementalMathematicalOperators</a>	(int code);
+int	<a href="#xmlUCSIsSupplementaryPrivateUseAreaA">xmlUCSIsSupplementaryPrivateUseAreaA</a>	(int code);
+int	<a href="#xmlUCSIsSupplementaryPrivateUseAreaB">xmlUCSIsSupplementaryPrivateUseAreaB</a>	(int code);
+int	<a href="#xmlUCSIsSyriac">xmlUCSIsSyriac</a>			(int code);
+int	<a href="#xmlUCSIsTagalog">xmlUCSIsTagalog</a>			(int code);
+int	<a href="#xmlUCSIsTagbanwa">xmlUCSIsTagbanwa</a>		(int code);
+int	<a href="#xmlUCSIsTags">xmlUCSIsTags</a>			(int code);
+int	<a href="#xmlUCSIsTaiLe">xmlUCSIsTaiLe</a>			(int code);
+int	<a href="#xmlUCSIsTaiXuanJingSymbols">xmlUCSIsTaiXuanJingSymbols</a>	(int code);
+int	<a href="#xmlUCSIsTamil">xmlUCSIsTamil</a>			(int code);
+int	<a href="#xmlUCSIsTelugu">xmlUCSIsTelugu</a>			(int code);
+int	<a href="#xmlUCSIsThaana">xmlUCSIsThaana</a>			(int code);
+int	<a href="#xmlUCSIsThai">xmlUCSIsThai</a>			(int code);
+int	<a href="#xmlUCSIsTibetan">xmlUCSIsTibetan</a>			(int code);
+int	<a href="#xmlUCSIsUgaritic">xmlUCSIsUgaritic</a>		(int code);
+int	<a href="#xmlUCSIsUnifiedCanadianAboriginalSyllabics">xmlUCSIsUnifiedCanadianAboriginalSyllabics</a>	(int code);
+int	<a href="#xmlUCSIsVariationSelectors">xmlUCSIsVariationSelectors</a>	(int code);
+int	<a href="#xmlUCSIsVariationSelectorsSupplement">xmlUCSIsVariationSelectorsSupplement</a>	(int code);
+int	<a href="#xmlUCSIsYiRadicals">xmlUCSIsYiRadicals</a>		(int code);
+int	<a href="#xmlUCSIsYiSyllables">xmlUCSIsYiSyllables</a>		(int code);
+int	<a href="#xmlUCSIsYijingHexagramSymbols">xmlUCSIsYijingHexagramSymbols</a>	(int code);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsAegeanNumbers"/>xmlUCSIsAegeanNumbers ()</h3><pre class="programlisting">int	xmlUCSIsAegeanNumbers		(int code)<br/>
-</pre><p>Check whether the character is part of AegeanNumbers UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsAlphabeticPresentationForms"/>xmlUCSIsAlphabeticPresentationForms ()</h3><pre class="programlisting">int	xmlUCSIsAlphabeticPresentationForms	(int code)<br/>
-</pre><p>Check whether the character is part of AlphabeticPresentationForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsArabic"/>xmlUCSIsArabic ()</h3><pre class="programlisting">int	xmlUCSIsArabic			(int code)<br/>
-</pre><p>Check whether the character is part of Arabic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsArabicPresentationFormsA"/>xmlUCSIsArabicPresentationFormsA ()</h3><pre class="programlisting">int	xmlUCSIsArabicPresentationFormsA	(int code)<br/>
-</pre><p>Check whether the character is part of ArabicPresentationForms-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsArabicPresentationFormsB"/>xmlUCSIsArabicPresentationFormsB ()</h3><pre class="programlisting">int	xmlUCSIsArabicPresentationFormsB	(int code)<br/>
-</pre><p>Check whether the character is part of ArabicPresentationForms-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsArmenian"/>xmlUCSIsArmenian ()</h3><pre class="programlisting">int	xmlUCSIsArmenian		(int code)<br/>
-</pre><p>Check whether the character is part of Armenian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsArrows"/>xmlUCSIsArrows ()</h3><pre class="programlisting">int	xmlUCSIsArrows			(int code)<br/>
-</pre><p>Check whether the character is part of Arrows UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBasicLatin"/>xmlUCSIsBasicLatin ()</h3><pre class="programlisting">int	xmlUCSIsBasicLatin		(int code)<br/>
-</pre><p>Check whether the character is part of BasicLatin UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBengali"/>xmlUCSIsBengali ()</h3><pre class="programlisting">int	xmlUCSIsBengali			(int code)<br/>
-</pre><p>Check whether the character is part of Bengali UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBlock"/>xmlUCSIsBlock ()</h3><pre class="programlisting">int	xmlUCSIsBlock			(int code, <br/>					 const char * block)<br/>
-</pre><p>Check whether the character is part of the UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>block</tt></i>:</span></td><td>UCS block name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 on unknown block</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBlockElements"/>xmlUCSIsBlockElements ()</h3><pre class="programlisting">int	xmlUCSIsBlockElements		(int code)<br/>
-</pre><p>Check whether the character is part of BlockElements UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBopomofo"/>xmlUCSIsBopomofo ()</h3><pre class="programlisting">int	xmlUCSIsBopomofo		(int code)<br/>
-</pre><p>Check whether the character is part of Bopomofo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBopomofoExtended"/>xmlUCSIsBopomofoExtended ()</h3><pre class="programlisting">int	xmlUCSIsBopomofoExtended	(int code)<br/>
-</pre><p>Check whether the character is part of BopomofoExtended UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBoxDrawing"/>xmlUCSIsBoxDrawing ()</h3><pre class="programlisting">int	xmlUCSIsBoxDrawing		(int code)<br/>
-</pre><p>Check whether the character is part of BoxDrawing UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBraillePatterns"/>xmlUCSIsBraillePatterns ()</h3><pre class="programlisting">int	xmlUCSIsBraillePatterns		(int code)<br/>
-</pre><p>Check whether the character is part of BraillePatterns UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBuhid"/>xmlUCSIsBuhid ()</h3><pre class="programlisting">int	xmlUCSIsBuhid			(int code)<br/>
-</pre><p>Check whether the character is part of Buhid UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsByzantineMusicalSymbols"/>xmlUCSIsByzantineMusicalSymbols ()</h3><pre class="programlisting">int	xmlUCSIsByzantineMusicalSymbols	(int code)<br/>
-</pre><p>Check whether the character is part of ByzantineMusicalSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKCompatibility"/>xmlUCSIsCJKCompatibility ()</h3><pre class="programlisting">int	xmlUCSIsCJKCompatibility	(int code)<br/>
-</pre><p>Check whether the character is part of CJKCompatibility UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKCompatibilityForms"/>xmlUCSIsCJKCompatibilityForms ()</h3><pre class="programlisting">int	xmlUCSIsCJKCompatibilityForms	(int code)<br/>
-</pre><p>Check whether the character is part of CJKCompatibilityForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKCompatibilityIdeographs"/>xmlUCSIsCJKCompatibilityIdeographs ()</h3><pre class="programlisting">int	xmlUCSIsCJKCompatibilityIdeographs	(int code)<br/>
-</pre><p>Check whether the character is part of CJKCompatibilityIdeographs UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKCompatibilityIdeographsSupplement"/>xmlUCSIsCJKCompatibilityIdeographsSupplement ()</h3><pre class="programlisting">int	xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code)<br/>
-</pre><p>Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKRadicalsSupplement"/>xmlUCSIsCJKRadicalsSupplement ()</h3><pre class="programlisting">int	xmlUCSIsCJKRadicalsSupplement	(int code)<br/>
-</pre><p>Check whether the character is part of CJKRadicalsSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKSymbolsandPunctuation"/>xmlUCSIsCJKSymbolsandPunctuation ()</h3><pre class="programlisting">int	xmlUCSIsCJKSymbolsandPunctuation	(int code)<br/>
-</pre><p>Check whether the character is part of CJKSymbolsandPunctuation UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKUnifiedIdeographs"/>xmlUCSIsCJKUnifiedIdeographs ()</h3><pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographs	(int code)<br/>
-</pre><p>Check whether the character is part of CJKUnifiedIdeographs UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKUnifiedIdeographsExtensionA"/>xmlUCSIsCJKUnifiedIdeographsExtensionA ()</h3><pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code)<br/>
-</pre><p>Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKUnifiedIdeographsExtensionB"/>xmlUCSIsCJKUnifiedIdeographsExtensionB ()</h3><pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code)<br/>
-</pre><p>Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCat"/>xmlUCSIsCat ()</h3><pre class="programlisting">int	xmlUCSIsCat			(int code, <br/>					 const char * cat)<br/>
-</pre><p>Check whether the character is part of the UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>cat</tt></i>:</span></td><td>UCS Category name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 on unknown category</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatC"/>xmlUCSIsCatC ()</h3><pre class="programlisting">int	xmlUCSIsCatC			(int code)<br/>
-</pre><p>Check whether the character is part of C UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCc"/>xmlUCSIsCatCc ()</h3><pre class="programlisting">int	xmlUCSIsCatCc			(int code)<br/>
-</pre><p>Check whether the character is part of Cc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCf"/>xmlUCSIsCatCf ()</h3><pre class="programlisting">int	xmlUCSIsCatCf			(int code)<br/>
-</pre><p>Check whether the character is part of Cf UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCo"/>xmlUCSIsCatCo ()</h3><pre class="programlisting">int	xmlUCSIsCatCo			(int code)<br/>
-</pre><p>Check whether the character is part of Co UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCs"/>xmlUCSIsCatCs ()</h3><pre class="programlisting">int	xmlUCSIsCatCs			(int code)<br/>
-</pre><p>Check whether the character is part of Cs UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatL"/>xmlUCSIsCatL ()</h3><pre class="programlisting">int	xmlUCSIsCatL			(int code)<br/>
-</pre><p>Check whether the character is part of L UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLl"/>xmlUCSIsCatLl ()</h3><pre class="programlisting">int	xmlUCSIsCatLl			(int code)<br/>
-</pre><p>Check whether the character is part of Ll UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLm"/>xmlUCSIsCatLm ()</h3><pre class="programlisting">int	xmlUCSIsCatLm			(int code)<br/>
-</pre><p>Check whether the character is part of Lm UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLo"/>xmlUCSIsCatLo ()</h3><pre class="programlisting">int	xmlUCSIsCatLo			(int code)<br/>
-</pre><p>Check whether the character is part of Lo UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLt"/>xmlUCSIsCatLt ()</h3><pre class="programlisting">int	xmlUCSIsCatLt			(int code)<br/>
-</pre><p>Check whether the character is part of Lt UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLu"/>xmlUCSIsCatLu ()</h3><pre class="programlisting">int	xmlUCSIsCatLu			(int code)<br/>
-</pre><p>Check whether the character is part of Lu UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatM"/>xmlUCSIsCatM ()</h3><pre class="programlisting">int	xmlUCSIsCatM			(int code)<br/>
-</pre><p>Check whether the character is part of M UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatMc"/>xmlUCSIsCatMc ()</h3><pre class="programlisting">int	xmlUCSIsCatMc			(int code)<br/>
-</pre><p>Check whether the character is part of Mc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatMe"/>xmlUCSIsCatMe ()</h3><pre class="programlisting">int	xmlUCSIsCatMe			(int code)<br/>
-</pre><p>Check whether the character is part of Me UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatMn"/>xmlUCSIsCatMn ()</h3><pre class="programlisting">int	xmlUCSIsCatMn			(int code)<br/>
-</pre><p>Check whether the character is part of Mn UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatN"/>xmlUCSIsCatN ()</h3><pre class="programlisting">int	xmlUCSIsCatN			(int code)<br/>
-</pre><p>Check whether the character is part of N UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatNd"/>xmlUCSIsCatNd ()</h3><pre class="programlisting">int	xmlUCSIsCatNd			(int code)<br/>
-</pre><p>Check whether the character is part of Nd UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatNl"/>xmlUCSIsCatNl ()</h3><pre class="programlisting">int	xmlUCSIsCatNl			(int code)<br/>
-</pre><p>Check whether the character is part of Nl UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatNo"/>xmlUCSIsCatNo ()</h3><pre class="programlisting">int	xmlUCSIsCatNo			(int code)<br/>
-</pre><p>Check whether the character is part of No UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatP"/>xmlUCSIsCatP ()</h3><pre class="programlisting">int	xmlUCSIsCatP			(int code)<br/>
-</pre><p>Check whether the character is part of P UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPc"/>xmlUCSIsCatPc ()</h3><pre class="programlisting">int	xmlUCSIsCatPc			(int code)<br/>
-</pre><p>Check whether the character is part of Pc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPd"/>xmlUCSIsCatPd ()</h3><pre class="programlisting">int	xmlUCSIsCatPd			(int code)<br/>
-</pre><p>Check whether the character is part of Pd UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPe"/>xmlUCSIsCatPe ()</h3><pre class="programlisting">int	xmlUCSIsCatPe			(int code)<br/>
-</pre><p>Check whether the character is part of Pe UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPf"/>xmlUCSIsCatPf ()</h3><pre class="programlisting">int	xmlUCSIsCatPf			(int code)<br/>
-</pre><p>Check whether the character is part of Pf UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPi"/>xmlUCSIsCatPi ()</h3><pre class="programlisting">int	xmlUCSIsCatPi			(int code)<br/>
-</pre><p>Check whether the character is part of Pi UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPo"/>xmlUCSIsCatPo ()</h3><pre class="programlisting">int	xmlUCSIsCatPo			(int code)<br/>
-</pre><p>Check whether the character is part of Po UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPs"/>xmlUCSIsCatPs ()</h3><pre class="programlisting">int	xmlUCSIsCatPs			(int code)<br/>
-</pre><p>Check whether the character is part of Ps UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatS"/>xmlUCSIsCatS ()</h3><pre class="programlisting">int	xmlUCSIsCatS			(int code)<br/>
-</pre><p>Check whether the character is part of S UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSc"/>xmlUCSIsCatSc ()</h3><pre class="programlisting">int	xmlUCSIsCatSc			(int code)<br/>
-</pre><p>Check whether the character is part of Sc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSk"/>xmlUCSIsCatSk ()</h3><pre class="programlisting">int	xmlUCSIsCatSk			(int code)<br/>
-</pre><p>Check whether the character is part of Sk UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSm"/>xmlUCSIsCatSm ()</h3><pre class="programlisting">int	xmlUCSIsCatSm			(int code)<br/>
-</pre><p>Check whether the character is part of Sm UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSo"/>xmlUCSIsCatSo ()</h3><pre class="programlisting">int	xmlUCSIsCatSo			(int code)<br/>
-</pre><p>Check whether the character is part of So UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZ"/>xmlUCSIsCatZ ()</h3><pre class="programlisting">int	xmlUCSIsCatZ			(int code)<br/>
-</pre><p>Check whether the character is part of Z UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZl"/>xmlUCSIsCatZl ()</h3><pre class="programlisting">int	xmlUCSIsCatZl			(int code)<br/>
-</pre><p>Check whether the character is part of Zl UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZp"/>xmlUCSIsCatZp ()</h3><pre class="programlisting">int	xmlUCSIsCatZp			(int code)<br/>
-</pre><p>Check whether the character is part of Zp UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZs"/>xmlUCSIsCatZs ()</h3><pre class="programlisting">int	xmlUCSIsCatZs			(int code)<br/>
-</pre><p>Check whether the character is part of Zs UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCherokee"/>xmlUCSIsCherokee ()</h3><pre class="programlisting">int	xmlUCSIsCherokee		(int code)<br/>
-</pre><p>Check whether the character is part of Cherokee UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCombiningDiacriticalMarks"/>xmlUCSIsCombiningDiacriticalMarks ()</h3><pre class="programlisting">int	xmlUCSIsCombiningDiacriticalMarks	(int code)<br/>
-</pre><p>Check whether the character is part of CombiningDiacriticalMarks UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCombiningDiacriticalMarksforSymbols"/>xmlUCSIsCombiningDiacriticalMarksforSymbols ()</h3><pre class="programlisting">int	xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code)<br/>
-</pre><p>Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCombiningHalfMarks"/>xmlUCSIsCombiningHalfMarks ()</h3><pre class="programlisting">int	xmlUCSIsCombiningHalfMarks	(int code)<br/>
-</pre><p>Check whether the character is part of CombiningHalfMarks UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCombiningMarksforSymbols"/>xmlUCSIsCombiningMarksforSymbols ()</h3><pre class="programlisting">int	xmlUCSIsCombiningMarksforSymbols	(int code)<br/>
-</pre><p>Check whether the character is part of CombiningMarksforSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsControlPictures"/>xmlUCSIsControlPictures ()</h3><pre class="programlisting">int	xmlUCSIsControlPictures		(int code)<br/>
-</pre><p>Check whether the character is part of ControlPictures UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCurrencySymbols"/>xmlUCSIsCurrencySymbols ()</h3><pre class="programlisting">int	xmlUCSIsCurrencySymbols		(int code)<br/>
-</pre><p>Check whether the character is part of CurrencySymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCypriotSyllabary"/>xmlUCSIsCypriotSyllabary ()</h3><pre class="programlisting">int	xmlUCSIsCypriotSyllabary	(int code)<br/>
-</pre><p>Check whether the character is part of CypriotSyllabary UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCyrillic"/>xmlUCSIsCyrillic ()</h3><pre class="programlisting">int	xmlUCSIsCyrillic		(int code)<br/>
-</pre><p>Check whether the character is part of Cyrillic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCyrillicSupplement"/>xmlUCSIsCyrillicSupplement ()</h3><pre class="programlisting">int	xmlUCSIsCyrillicSupplement	(int code)<br/>
-</pre><p>Check whether the character is part of CyrillicSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsDeseret"/>xmlUCSIsDeseret ()</h3><pre class="programlisting">int	xmlUCSIsDeseret			(int code)<br/>
-</pre><p>Check whether the character is part of Deseret UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsDevanagari"/>xmlUCSIsDevanagari ()</h3><pre class="programlisting">int	xmlUCSIsDevanagari		(int code)<br/>
-</pre><p>Check whether the character is part of Devanagari UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsDingbats"/>xmlUCSIsDingbats ()</h3><pre class="programlisting">int	xmlUCSIsDingbats		(int code)<br/>
-</pre><p>Check whether the character is part of Dingbats UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsEnclosedAlphanumerics"/>xmlUCSIsEnclosedAlphanumerics ()</h3><pre class="programlisting">int	xmlUCSIsEnclosedAlphanumerics	(int code)<br/>
-</pre><p>Check whether the character is part of EnclosedAlphanumerics UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsEnclosedCJKLettersandMonths"/>xmlUCSIsEnclosedCJKLettersandMonths ()</h3><pre class="programlisting">int	xmlUCSIsEnclosedCJKLettersandMonths	(int code)<br/>
-</pre><p>Check whether the character is part of EnclosedCJKLettersandMonths UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsEthiopic"/>xmlUCSIsEthiopic ()</h3><pre class="programlisting">int	xmlUCSIsEthiopic		(int code)<br/>
-</pre><p>Check whether the character is part of Ethiopic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGeneralPunctuation"/>xmlUCSIsGeneralPunctuation ()</h3><pre class="programlisting">int	xmlUCSIsGeneralPunctuation	(int code)<br/>
-</pre><p>Check whether the character is part of GeneralPunctuation UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGeometricShapes"/>xmlUCSIsGeometricShapes ()</h3><pre class="programlisting">int	xmlUCSIsGeometricShapes		(int code)<br/>
-</pre><p>Check whether the character is part of GeometricShapes UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGeorgian"/>xmlUCSIsGeorgian ()</h3><pre class="programlisting">int	xmlUCSIsGeorgian		(int code)<br/>
-</pre><p>Check whether the character is part of Georgian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGothic"/>xmlUCSIsGothic ()</h3><pre class="programlisting">int	xmlUCSIsGothic			(int code)<br/>
-</pre><p>Check whether the character is part of Gothic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGreek"/>xmlUCSIsGreek ()</h3><pre class="programlisting">int	xmlUCSIsGreek			(int code)<br/>
-</pre><p>Check whether the character is part of Greek UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGreekExtended"/>xmlUCSIsGreekExtended ()</h3><pre class="programlisting">int	xmlUCSIsGreekExtended		(int code)<br/>
-</pre><p>Check whether the character is part of GreekExtended UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGreekandCoptic"/>xmlUCSIsGreekandCoptic ()</h3><pre class="programlisting">int	xmlUCSIsGreekandCoptic		(int code)<br/>
-</pre><p>Check whether the character is part of GreekandCoptic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGujarati"/>xmlUCSIsGujarati ()</h3><pre class="programlisting">int	xmlUCSIsGujarati		(int code)<br/>
-</pre><p>Check whether the character is part of Gujarati UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGurmukhi"/>xmlUCSIsGurmukhi ()</h3><pre class="programlisting">int	xmlUCSIsGurmukhi		(int code)<br/>
-</pre><p>Check whether the character is part of Gurmukhi UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHalfwidthandFullwidthForms"/>xmlUCSIsHalfwidthandFullwidthForms ()</h3><pre class="programlisting">int	xmlUCSIsHalfwidthandFullwidthForms	(int code)<br/>
-</pre><p>Check whether the character is part of HalfwidthandFullwidthForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHangulCompatibilityJamo"/>xmlUCSIsHangulCompatibilityJamo ()</h3><pre class="programlisting">int	xmlUCSIsHangulCompatibilityJamo	(int code)<br/>
-</pre><p>Check whether the character is part of HangulCompatibilityJamo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHangulJamo"/>xmlUCSIsHangulJamo ()</h3><pre class="programlisting">int	xmlUCSIsHangulJamo		(int code)<br/>
-</pre><p>Check whether the character is part of HangulJamo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHangulSyllables"/>xmlUCSIsHangulSyllables ()</h3><pre class="programlisting">int	xmlUCSIsHangulSyllables		(int code)<br/>
-</pre><p>Check whether the character is part of HangulSyllables UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHanunoo"/>xmlUCSIsHanunoo ()</h3><pre class="programlisting">int	xmlUCSIsHanunoo			(int code)<br/>
-</pre><p>Check whether the character is part of Hanunoo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHebrew"/>xmlUCSIsHebrew ()</h3><pre class="programlisting">int	xmlUCSIsHebrew			(int code)<br/>
-</pre><p>Check whether the character is part of Hebrew UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHighPrivateUseSurrogates"/>xmlUCSIsHighPrivateUseSurrogates ()</h3><pre class="programlisting">int	xmlUCSIsHighPrivateUseSurrogates	(int code)<br/>
-</pre><p>Check whether the character is part of HighPrivateUseSurrogates UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHighSurrogates"/>xmlUCSIsHighSurrogates ()</h3><pre class="programlisting">int	xmlUCSIsHighSurrogates		(int code)<br/>
-</pre><p>Check whether the character is part of HighSurrogates UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHiragana"/>xmlUCSIsHiragana ()</h3><pre class="programlisting">int	xmlUCSIsHiragana		(int code)<br/>
-</pre><p>Check whether the character is part of Hiragana UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsIPAExtensions"/>xmlUCSIsIPAExtensions ()</h3><pre class="programlisting">int	xmlUCSIsIPAExtensions		(int code)<br/>
-</pre><p>Check whether the character is part of IPAExtensions UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsIdeographicDescriptionCharacters"/>xmlUCSIsIdeographicDescriptionCharacters ()</h3><pre class="programlisting">int	xmlUCSIsIdeographicDescriptionCharacters	(int code)<br/>
-</pre><p>Check whether the character is part of IdeographicDescriptionCharacters UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKanbun"/>xmlUCSIsKanbun ()</h3><pre class="programlisting">int	xmlUCSIsKanbun			(int code)<br/>
-</pre><p>Check whether the character is part of Kanbun UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKangxiRadicals"/>xmlUCSIsKangxiRadicals ()</h3><pre class="programlisting">int	xmlUCSIsKangxiRadicals		(int code)<br/>
-</pre><p>Check whether the character is part of KangxiRadicals UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKannada"/>xmlUCSIsKannada ()</h3><pre class="programlisting">int	xmlUCSIsKannada			(int code)<br/>
-</pre><p>Check whether the character is part of Kannada UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKatakana"/>xmlUCSIsKatakana ()</h3><pre class="programlisting">int	xmlUCSIsKatakana		(int code)<br/>
-</pre><p>Check whether the character is part of Katakana UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKatakanaPhoneticExtensions"/>xmlUCSIsKatakanaPhoneticExtensions ()</h3><pre class="programlisting">int	xmlUCSIsKatakanaPhoneticExtensions	(int code)<br/>
-</pre><p>Check whether the character is part of KatakanaPhoneticExtensions UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKhmer"/>xmlUCSIsKhmer ()</h3><pre class="programlisting">int	xmlUCSIsKhmer			(int code)<br/>
-</pre><p>Check whether the character is part of Khmer UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKhmerSymbols"/>xmlUCSIsKhmerSymbols ()</h3><pre class="programlisting">int	xmlUCSIsKhmerSymbols		(int code)<br/>
-</pre><p>Check whether the character is part of KhmerSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLao"/>xmlUCSIsLao ()</h3><pre class="programlisting">int	xmlUCSIsLao			(int code)<br/>
-</pre><p>Check whether the character is part of Lao UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLatin1Supplement"/>xmlUCSIsLatin1Supplement ()</h3><pre class="programlisting">int	xmlUCSIsLatin1Supplement	(int code)<br/>
-</pre><p>Check whether the character is part of Latin-1Supplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLatinExtendedA"/>xmlUCSIsLatinExtendedA ()</h3><pre class="programlisting">int	xmlUCSIsLatinExtendedA		(int code)<br/>
-</pre><p>Check whether the character is part of LatinExtended-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLatinExtendedAdditional"/>xmlUCSIsLatinExtendedAdditional ()</h3><pre class="programlisting">int	xmlUCSIsLatinExtendedAdditional	(int code)<br/>
-</pre><p>Check whether the character is part of LatinExtendedAdditional UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLatinExtendedB"/>xmlUCSIsLatinExtendedB ()</h3><pre class="programlisting">int	xmlUCSIsLatinExtendedB		(int code)<br/>
-</pre><p>Check whether the character is part of LatinExtended-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLetterlikeSymbols"/>xmlUCSIsLetterlikeSymbols ()</h3><pre class="programlisting">int	xmlUCSIsLetterlikeSymbols	(int code)<br/>
-</pre><p>Check whether the character is part of LetterlikeSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLimbu"/>xmlUCSIsLimbu ()</h3><pre class="programlisting">int	xmlUCSIsLimbu			(int code)<br/>
-</pre><p>Check whether the character is part of Limbu UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLinearBIdeograms"/>xmlUCSIsLinearBIdeograms ()</h3><pre class="programlisting">int	xmlUCSIsLinearBIdeograms	(int code)<br/>
-</pre><p>Check whether the character is part of LinearBIdeograms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLinearBSyllabary"/>xmlUCSIsLinearBSyllabary ()</h3><pre class="programlisting">int	xmlUCSIsLinearBSyllabary	(int code)<br/>
-</pre><p>Check whether the character is part of LinearBSyllabary UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLowSurrogates"/>xmlUCSIsLowSurrogates ()</h3><pre class="programlisting">int	xmlUCSIsLowSurrogates		(int code)<br/>
-</pre><p>Check whether the character is part of LowSurrogates UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMalayalam"/>xmlUCSIsMalayalam ()</h3><pre class="programlisting">int	xmlUCSIsMalayalam		(int code)<br/>
-</pre><p>Check whether the character is part of Malayalam UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMathematicalAlphanumericSymbols"/>xmlUCSIsMathematicalAlphanumericSymbols ()</h3><pre class="programlisting">int	xmlUCSIsMathematicalAlphanumericSymbols	(int code)<br/>
-</pre><p>Check whether the character is part of MathematicalAlphanumericSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMathematicalOperators"/>xmlUCSIsMathematicalOperators ()</h3><pre class="programlisting">int	xmlUCSIsMathematicalOperators	(int code)<br/>
-</pre><p>Check whether the character is part of MathematicalOperators UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMiscellaneousMathematicalSymbolsA"/>xmlUCSIsMiscellaneousMathematicalSymbolsA ()</h3><pre class="programlisting">int	xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code)<br/>
-</pre><p>Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMiscellaneousMathematicalSymbolsB"/>xmlUCSIsMiscellaneousMathematicalSymbolsB ()</h3><pre class="programlisting">int	xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code)<br/>
-</pre><p>Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMiscellaneousSymbols"/>xmlUCSIsMiscellaneousSymbols ()</h3><pre class="programlisting">int	xmlUCSIsMiscellaneousSymbols	(int code)<br/>
-</pre><p>Check whether the character is part of MiscellaneousSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMiscellaneousSymbolsandArrows"/>xmlUCSIsMiscellaneousSymbolsandArrows ()</h3><pre class="programlisting">int	xmlUCSIsMiscellaneousSymbolsandArrows	(int code)<br/>
-</pre><p>Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMiscellaneousTechnical"/>xmlUCSIsMiscellaneousTechnical ()</h3><pre class="programlisting">int	xmlUCSIsMiscellaneousTechnical	(int code)<br/>
-</pre><p>Check whether the character is part of MiscellaneousTechnical UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMongolian"/>xmlUCSIsMongolian ()</h3><pre class="programlisting">int	xmlUCSIsMongolian		(int code)<br/>
-</pre><p>Check whether the character is part of Mongolian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMusicalSymbols"/>xmlUCSIsMusicalSymbols ()</h3><pre class="programlisting">int	xmlUCSIsMusicalSymbols		(int code)<br/>
-</pre><p>Check whether the character is part of MusicalSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMyanmar"/>xmlUCSIsMyanmar ()</h3><pre class="programlisting">int	xmlUCSIsMyanmar			(int code)<br/>
-</pre><p>Check whether the character is part of Myanmar UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsNumberForms"/>xmlUCSIsNumberForms ()</h3><pre class="programlisting">int	xmlUCSIsNumberForms		(int code)<br/>
-</pre><p>Check whether the character is part of NumberForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsOgham"/>xmlUCSIsOgham ()</h3><pre class="programlisting">int	xmlUCSIsOgham			(int code)<br/>
-</pre><p>Check whether the character is part of Ogham UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsOldItalic"/>xmlUCSIsOldItalic ()</h3><pre class="programlisting">int	xmlUCSIsOldItalic		(int code)<br/>
-</pre><p>Check whether the character is part of OldItalic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsOpticalCharacterRecognition"/>xmlUCSIsOpticalCharacterRecognition ()</h3><pre class="programlisting">int	xmlUCSIsOpticalCharacterRecognition	(int code)<br/>
-</pre><p>Check whether the character is part of OpticalCharacterRecognition UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsOriya"/>xmlUCSIsOriya ()</h3><pre class="programlisting">int	xmlUCSIsOriya			(int code)<br/>
-</pre><p>Check whether the character is part of Oriya UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsOsmanya"/>xmlUCSIsOsmanya ()</h3><pre class="programlisting">int	xmlUCSIsOsmanya			(int code)<br/>
-</pre><p>Check whether the character is part of Osmanya UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsPhoneticExtensions"/>xmlUCSIsPhoneticExtensions ()</h3><pre class="programlisting">int	xmlUCSIsPhoneticExtensions	(int code)<br/>
-</pre><p>Check whether the character is part of PhoneticExtensions UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsPrivateUse"/>xmlUCSIsPrivateUse ()</h3><pre class="programlisting">int	xmlUCSIsPrivateUse		(int code)<br/>
-</pre><p>Check whether the character is part of PrivateUse UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsPrivateUseArea"/>xmlUCSIsPrivateUseArea ()</h3><pre class="programlisting">int	xmlUCSIsPrivateUseArea		(int code)<br/>
-</pre><p>Check whether the character is part of PrivateUseArea UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsRunic"/>xmlUCSIsRunic ()</h3><pre class="programlisting">int	xmlUCSIsRunic			(int code)<br/>
-</pre><p>Check whether the character is part of Runic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsShavian"/>xmlUCSIsShavian ()</h3><pre class="programlisting">int	xmlUCSIsShavian			(int code)<br/>
-</pre><p>Check whether the character is part of Shavian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSinhala"/>xmlUCSIsSinhala ()</h3><pre class="programlisting">int	xmlUCSIsSinhala			(int code)<br/>
-</pre><p>Check whether the character is part of Sinhala UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSmallFormVariants"/>xmlUCSIsSmallFormVariants ()</h3><pre class="programlisting">int	xmlUCSIsSmallFormVariants	(int code)<br/>
-</pre><p>Check whether the character is part of SmallFormVariants UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSpacingModifierLetters"/>xmlUCSIsSpacingModifierLetters ()</h3><pre class="programlisting">int	xmlUCSIsSpacingModifierLetters	(int code)<br/>
-</pre><p>Check whether the character is part of SpacingModifierLetters UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSpecials"/>xmlUCSIsSpecials ()</h3><pre class="programlisting">int	xmlUCSIsSpecials		(int code)<br/>
-</pre><p>Check whether the character is part of Specials UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSuperscriptsandSubscripts"/>xmlUCSIsSuperscriptsandSubscripts ()</h3><pre class="programlisting">int	xmlUCSIsSuperscriptsandSubscripts	(int code)<br/>
-</pre><p>Check whether the character is part of SuperscriptsandSubscripts UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSupplementalArrowsA"/>xmlUCSIsSupplementalArrowsA ()</h3><pre class="programlisting">int	xmlUCSIsSupplementalArrowsA	(int code)<br/>
-</pre><p>Check whether the character is part of SupplementalArrows-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSupplementalArrowsB"/>xmlUCSIsSupplementalArrowsB ()</h3><pre class="programlisting">int	xmlUCSIsSupplementalArrowsB	(int code)<br/>
-</pre><p>Check whether the character is part of SupplementalArrows-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSupplementalMathematicalOperators"/>xmlUCSIsSupplementalMathematicalOperators ()</h3><pre class="programlisting">int	xmlUCSIsSupplementalMathematicalOperators	(int code)<br/>
-</pre><p>Check whether the character is part of SupplementalMathematicalOperators UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSupplementaryPrivateUseAreaA"/>xmlUCSIsSupplementaryPrivateUseAreaA ()</h3><pre class="programlisting">int	xmlUCSIsSupplementaryPrivateUseAreaA	(int code)<br/>
-</pre><p>Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSupplementaryPrivateUseAreaB"/>xmlUCSIsSupplementaryPrivateUseAreaB ()</h3><pre class="programlisting">int	xmlUCSIsSupplementaryPrivateUseAreaB	(int code)<br/>
-</pre><p>Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSyriac"/>xmlUCSIsSyriac ()</h3><pre class="programlisting">int	xmlUCSIsSyriac			(int code)<br/>
-</pre><p>Check whether the character is part of Syriac UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTagalog"/>xmlUCSIsTagalog ()</h3><pre class="programlisting">int	xmlUCSIsTagalog			(int code)<br/>
-</pre><p>Check whether the character is part of Tagalog UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTagbanwa"/>xmlUCSIsTagbanwa ()</h3><pre class="programlisting">int	xmlUCSIsTagbanwa		(int code)<br/>
-</pre><p>Check whether the character is part of Tagbanwa UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTags"/>xmlUCSIsTags ()</h3><pre class="programlisting">int	xmlUCSIsTags			(int code)<br/>
-</pre><p>Check whether the character is part of Tags UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTaiLe"/>xmlUCSIsTaiLe ()</h3><pre class="programlisting">int	xmlUCSIsTaiLe			(int code)<br/>
-</pre><p>Check whether the character is part of TaiLe UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTaiXuanJingSymbols"/>xmlUCSIsTaiXuanJingSymbols ()</h3><pre class="programlisting">int	xmlUCSIsTaiXuanJingSymbols	(int code)<br/>
-</pre><p>Check whether the character is part of TaiXuanJingSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTamil"/>xmlUCSIsTamil ()</h3><pre class="programlisting">int	xmlUCSIsTamil			(int code)<br/>
-</pre><p>Check whether the character is part of Tamil UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTelugu"/>xmlUCSIsTelugu ()</h3><pre class="programlisting">int	xmlUCSIsTelugu			(int code)<br/>
-</pre><p>Check whether the character is part of Telugu UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsThaana"/>xmlUCSIsThaana ()</h3><pre class="programlisting">int	xmlUCSIsThaana			(int code)<br/>
-</pre><p>Check whether the character is part of Thaana UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsThai"/>xmlUCSIsThai ()</h3><pre class="programlisting">int	xmlUCSIsThai			(int code)<br/>
-</pre><p>Check whether the character is part of Thai UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTibetan"/>xmlUCSIsTibetan ()</h3><pre class="programlisting">int	xmlUCSIsTibetan			(int code)<br/>
-</pre><p>Check whether the character is part of Tibetan UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsUgaritic"/>xmlUCSIsUgaritic ()</h3><pre class="programlisting">int	xmlUCSIsUgaritic		(int code)<br/>
-</pre><p>Check whether the character is part of Ugaritic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsUnifiedCanadianAboriginalSyllabics"/>xmlUCSIsUnifiedCanadianAboriginalSyllabics ()</h3><pre class="programlisting">int	xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code)<br/>
-</pre><p>Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsVariationSelectors"/>xmlUCSIsVariationSelectors ()</h3><pre class="programlisting">int	xmlUCSIsVariationSelectors	(int code)<br/>
-</pre><p>Check whether the character is part of VariationSelectors UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsVariationSelectorsSupplement"/>xmlUCSIsVariationSelectorsSupplement ()</h3><pre class="programlisting">int	xmlUCSIsVariationSelectorsSupplement	(int code)<br/>
-</pre><p>Check whether the character is part of VariationSelectorsSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsYiRadicals"/>xmlUCSIsYiRadicals ()</h3><pre class="programlisting">int	xmlUCSIsYiRadicals		(int code)<br/>
-</pre><p>Check whether the character is part of YiRadicals UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsYiSyllables"/>xmlUCSIsYiSyllables ()</h3><pre class="programlisting">int	xmlUCSIsYiSyllables		(int code)<br/>
-</pre><p>Check whether the character is part of YiSyllables UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsYijingHexagramSymbols"/>xmlUCSIsYijingHexagramSymbols ()</h3><pre class="programlisting">int	xmlUCSIsYijingHexagramSymbols	(int code)<br/>
-</pre><p>Check whether the character is part of YijingHexagramSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsAegeanNumbers"></a>xmlUCSIsAegeanNumbers ()</h3>
+<pre class="programlisting">int	xmlUCSIsAegeanNumbers		(int code)<br>
+</pre>
+<p>Check whether the character is part of AegeanNumbers UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsAlphabeticPresentationForms"></a>xmlUCSIsAlphabeticPresentationForms ()</h3>
+<pre class="programlisting">int	xmlUCSIsAlphabeticPresentationForms	(int code)<br>
+</pre>
+<p>Check whether the character is part of AlphabeticPresentationForms UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsArabic"></a>xmlUCSIsArabic ()</h3>
+<pre class="programlisting">int	xmlUCSIsArabic			(int code)<br>
+</pre>
+<p>Check whether the character is part of Arabic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsArabicPresentationFormsA"></a>xmlUCSIsArabicPresentationFormsA ()</h3>
+<pre class="programlisting">int	xmlUCSIsArabicPresentationFormsA	(int code)<br>
+</pre>
+<p>Check whether the character is part of ArabicPresentationForms-A UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsArabicPresentationFormsB"></a>xmlUCSIsArabicPresentationFormsB ()</h3>
+<pre class="programlisting">int	xmlUCSIsArabicPresentationFormsB	(int code)<br>
+</pre>
+<p>Check whether the character is part of ArabicPresentationForms-B UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsArmenian"></a>xmlUCSIsArmenian ()</h3>
+<pre class="programlisting">int	xmlUCSIsArmenian		(int code)<br>
+</pre>
+<p>Check whether the character is part of Armenian UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsArrows"></a>xmlUCSIsArrows ()</h3>
+<pre class="programlisting">int	xmlUCSIsArrows			(int code)<br>
+</pre>
+<p>Check whether the character is part of Arrows UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBasicLatin"></a>xmlUCSIsBasicLatin ()</h3>
+<pre class="programlisting">int	xmlUCSIsBasicLatin		(int code)<br>
+</pre>
+<p>Check whether the character is part of BasicLatin UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBengali"></a>xmlUCSIsBengali ()</h3>
+<pre class="programlisting">int	xmlUCSIsBengali			(int code)<br>
+</pre>
+<p>Check whether the character is part of Bengali UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBlock"></a>xmlUCSIsBlock ()</h3>
+<pre class="programlisting">int	xmlUCSIsBlock			(int code, <br>					 const char * block)<br>
+</pre>
+<p>Check whether the character is part of the UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>block</tt></i>:</span></td>
+<td>UCS block name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if false and -1 on unknown block</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBlockElements"></a>xmlUCSIsBlockElements ()</h3>
+<pre class="programlisting">int	xmlUCSIsBlockElements		(int code)<br>
+</pre>
+<p>Check whether the character is part of BlockElements UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBopomofo"></a>xmlUCSIsBopomofo ()</h3>
+<pre class="programlisting">int	xmlUCSIsBopomofo		(int code)<br>
+</pre>
+<p>Check whether the character is part of Bopomofo UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBopomofoExtended"></a>xmlUCSIsBopomofoExtended ()</h3>
+<pre class="programlisting">int	xmlUCSIsBopomofoExtended	(int code)<br>
+</pre>
+<p>Check whether the character is part of BopomofoExtended UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBoxDrawing"></a>xmlUCSIsBoxDrawing ()</h3>
+<pre class="programlisting">int	xmlUCSIsBoxDrawing		(int code)<br>
+</pre>
+<p>Check whether the character is part of BoxDrawing UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBraillePatterns"></a>xmlUCSIsBraillePatterns ()</h3>
+<pre class="programlisting">int	xmlUCSIsBraillePatterns		(int code)<br>
+</pre>
+<p>Check whether the character is part of BraillePatterns UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBuhid"></a>xmlUCSIsBuhid ()</h3>
+<pre class="programlisting">int	xmlUCSIsBuhid			(int code)<br>
+</pre>
+<p>Check whether the character is part of Buhid UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsByzantineMusicalSymbols"></a>xmlUCSIsByzantineMusicalSymbols ()</h3>
+<pre class="programlisting">int	xmlUCSIsByzantineMusicalSymbols	(int code)<br>
+</pre>
+<p>Check whether the character is part of ByzantineMusicalSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKCompatibility"></a>xmlUCSIsCJKCompatibility ()</h3>
+<pre class="programlisting">int	xmlUCSIsCJKCompatibility	(int code)<br>
+</pre>
+<p>Check whether the character is part of CJKCompatibility UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKCompatibilityForms"></a>xmlUCSIsCJKCompatibilityForms ()</h3>
+<pre class="programlisting">int	xmlUCSIsCJKCompatibilityForms	(int code)<br>
+</pre>
+<p>Check whether the character is part of CJKCompatibilityForms UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKCompatibilityIdeographs"></a>xmlUCSIsCJKCompatibilityIdeographs ()</h3>
+<pre class="programlisting">int	xmlUCSIsCJKCompatibilityIdeographs	(int code)<br>
+</pre>
+<p>Check whether the character is part of CJKCompatibilityIdeographs UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKCompatibilityIdeographsSupplement"></a>xmlUCSIsCJKCompatibilityIdeographsSupplement ()</h3>
+<pre class="programlisting">int	xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code)<br>
+</pre>
+<p>Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKRadicalsSupplement"></a>xmlUCSIsCJKRadicalsSupplement ()</h3>
+<pre class="programlisting">int	xmlUCSIsCJKRadicalsSupplement	(int code)<br>
+</pre>
+<p>Check whether the character is part of CJKRadicalsSupplement UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKSymbolsandPunctuation"></a>xmlUCSIsCJKSymbolsandPunctuation ()</h3>
+<pre class="programlisting">int	xmlUCSIsCJKSymbolsandPunctuation	(int code)<br>
+</pre>
+<p>Check whether the character is part of CJKSymbolsandPunctuation UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKUnifiedIdeographs"></a>xmlUCSIsCJKUnifiedIdeographs ()</h3>
+<pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographs	(int code)<br>
+</pre>
+<p>Check whether the character is part of CJKUnifiedIdeographs UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKUnifiedIdeographsExtensionA"></a>xmlUCSIsCJKUnifiedIdeographsExtensionA ()</h3>
+<pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code)<br>
+</pre>
+<p>Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKUnifiedIdeographsExtensionB"></a>xmlUCSIsCJKUnifiedIdeographsExtensionB ()</h3>
+<pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code)<br>
+</pre>
+<p>Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCat"></a>xmlUCSIsCat ()</h3>
+<pre class="programlisting">int	xmlUCSIsCat			(int code, <br>					 const char * cat)<br>
+</pre>
+<p>Check whether the character is part of the UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cat</tt></i>:</span></td>
+<td>UCS Category name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if false and -1 on unknown category</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatC"></a>xmlUCSIsCatC ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatC			(int code)<br>
+</pre>
+<p>Check whether the character is part of C UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatCc"></a>xmlUCSIsCatCc ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatCc			(int code)<br>
+</pre>
+<p>Check whether the character is part of Cc UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatCf"></a>xmlUCSIsCatCf ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatCf			(int code)<br>
+</pre>
+<p>Check whether the character is part of Cf UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatCo"></a>xmlUCSIsCatCo ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatCo			(int code)<br>
+</pre>
+<p>Check whether the character is part of Co UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatCs"></a>xmlUCSIsCatCs ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatCs			(int code)<br>
+</pre>
+<p>Check whether the character is part of Cs UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatL"></a>xmlUCSIsCatL ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatL			(int code)<br>
+</pre>
+<p>Check whether the character is part of L UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatLl"></a>xmlUCSIsCatLl ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatLl			(int code)<br>
+</pre>
+<p>Check whether the character is part of Ll UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatLm"></a>xmlUCSIsCatLm ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatLm			(int code)<br>
+</pre>
+<p>Check whether the character is part of Lm UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatLo"></a>xmlUCSIsCatLo ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatLo			(int code)<br>
+</pre>
+<p>Check whether the character is part of Lo UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatLt"></a>xmlUCSIsCatLt ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatLt			(int code)<br>
+</pre>
+<p>Check whether the character is part of Lt UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatLu"></a>xmlUCSIsCatLu ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatLu			(int code)<br>
+</pre>
+<p>Check whether the character is part of Lu UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatM"></a>xmlUCSIsCatM ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatM			(int code)<br>
+</pre>
+<p>Check whether the character is part of M UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatMc"></a>xmlUCSIsCatMc ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatMc			(int code)<br>
+</pre>
+<p>Check whether the character is part of Mc UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatMe"></a>xmlUCSIsCatMe ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatMe			(int code)<br>
+</pre>
+<p>Check whether the character is part of Me UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatMn"></a>xmlUCSIsCatMn ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatMn			(int code)<br>
+</pre>
+<p>Check whether the character is part of Mn UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatN"></a>xmlUCSIsCatN ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatN			(int code)<br>
+</pre>
+<p>Check whether the character is part of N UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatNd"></a>xmlUCSIsCatNd ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatNd			(int code)<br>
+</pre>
+<p>Check whether the character is part of Nd UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatNl"></a>xmlUCSIsCatNl ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatNl			(int code)<br>
+</pre>
+<p>Check whether the character is part of Nl UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatNo"></a>xmlUCSIsCatNo ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatNo			(int code)<br>
+</pre>
+<p>Check whether the character is part of No UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatP"></a>xmlUCSIsCatP ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatP			(int code)<br>
+</pre>
+<p>Check whether the character is part of P UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPc"></a>xmlUCSIsCatPc ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatPc			(int code)<br>
+</pre>
+<p>Check whether the character is part of Pc UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPd"></a>xmlUCSIsCatPd ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatPd			(int code)<br>
+</pre>
+<p>Check whether the character is part of Pd UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPe"></a>xmlUCSIsCatPe ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatPe			(int code)<br>
+</pre>
+<p>Check whether the character is part of Pe UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPf"></a>xmlUCSIsCatPf ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatPf			(int code)<br>
+</pre>
+<p>Check whether the character is part of Pf UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPi"></a>xmlUCSIsCatPi ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatPi			(int code)<br>
+</pre>
+<p>Check whether the character is part of Pi UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPo"></a>xmlUCSIsCatPo ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatPo			(int code)<br>
+</pre>
+<p>Check whether the character is part of Po UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPs"></a>xmlUCSIsCatPs ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatPs			(int code)<br>
+</pre>
+<p>Check whether the character is part of Ps UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatS"></a>xmlUCSIsCatS ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatS			(int code)<br>
+</pre>
+<p>Check whether the character is part of S UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatSc"></a>xmlUCSIsCatSc ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatSc			(int code)<br>
+</pre>
+<p>Check whether the character is part of Sc UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatSk"></a>xmlUCSIsCatSk ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatSk			(int code)<br>
+</pre>
+<p>Check whether the character is part of Sk UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatSm"></a>xmlUCSIsCatSm ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatSm			(int code)<br>
+</pre>
+<p>Check whether the character is part of Sm UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatSo"></a>xmlUCSIsCatSo ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatSo			(int code)<br>
+</pre>
+<p>Check whether the character is part of So UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatZ"></a>xmlUCSIsCatZ ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatZ			(int code)<br>
+</pre>
+<p>Check whether the character is part of Z UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatZl"></a>xmlUCSIsCatZl ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatZl			(int code)<br>
+</pre>
+<p>Check whether the character is part of Zl UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatZp"></a>xmlUCSIsCatZp ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatZp			(int code)<br>
+</pre>
+<p>Check whether the character is part of Zp UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatZs"></a>xmlUCSIsCatZs ()</h3>
+<pre class="programlisting">int	xmlUCSIsCatZs			(int code)<br>
+</pre>
+<p>Check whether the character is part of Zs UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCherokee"></a>xmlUCSIsCherokee ()</h3>
+<pre class="programlisting">int	xmlUCSIsCherokee		(int code)<br>
+</pre>
+<p>Check whether the character is part of Cherokee UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCombiningDiacriticalMarks"></a>xmlUCSIsCombiningDiacriticalMarks ()</h3>
+<pre class="programlisting">int	xmlUCSIsCombiningDiacriticalMarks	(int code)<br>
+</pre>
+<p>Check whether the character is part of CombiningDiacriticalMarks UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCombiningDiacriticalMarksforSymbols"></a>xmlUCSIsCombiningDiacriticalMarksforSymbols ()</h3>
+<pre class="programlisting">int	xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code)<br>
+</pre>
+<p>Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCombiningHalfMarks"></a>xmlUCSIsCombiningHalfMarks ()</h3>
+<pre class="programlisting">int	xmlUCSIsCombiningHalfMarks	(int code)<br>
+</pre>
+<p>Check whether the character is part of CombiningHalfMarks UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCombiningMarksforSymbols"></a>xmlUCSIsCombiningMarksforSymbols ()</h3>
+<pre class="programlisting">int	xmlUCSIsCombiningMarksforSymbols	(int code)<br>
+</pre>
+<p>Check whether the character is part of CombiningMarksforSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsControlPictures"></a>xmlUCSIsControlPictures ()</h3>
+<pre class="programlisting">int	xmlUCSIsControlPictures		(int code)<br>
+</pre>
+<p>Check whether the character is part of ControlPictures UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCurrencySymbols"></a>xmlUCSIsCurrencySymbols ()</h3>
+<pre class="programlisting">int	xmlUCSIsCurrencySymbols		(int code)<br>
+</pre>
+<p>Check whether the character is part of CurrencySymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCypriotSyllabary"></a>xmlUCSIsCypriotSyllabary ()</h3>
+<pre class="programlisting">int	xmlUCSIsCypriotSyllabary	(int code)<br>
+</pre>
+<p>Check whether the character is part of CypriotSyllabary UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCyrillic"></a>xmlUCSIsCyrillic ()</h3>
+<pre class="programlisting">int	xmlUCSIsCyrillic		(int code)<br>
+</pre>
+<p>Check whether the character is part of Cyrillic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCyrillicSupplement"></a>xmlUCSIsCyrillicSupplement ()</h3>
+<pre class="programlisting">int	xmlUCSIsCyrillicSupplement	(int code)<br>
+</pre>
+<p>Check whether the character is part of CyrillicSupplement UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsDeseret"></a>xmlUCSIsDeseret ()</h3>
+<pre class="programlisting">int	xmlUCSIsDeseret			(int code)<br>
+</pre>
+<p>Check whether the character is part of Deseret UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsDevanagari"></a>xmlUCSIsDevanagari ()</h3>
+<pre class="programlisting">int	xmlUCSIsDevanagari		(int code)<br>
+</pre>
+<p>Check whether the character is part of Devanagari UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsDingbats"></a>xmlUCSIsDingbats ()</h3>
+<pre class="programlisting">int	xmlUCSIsDingbats		(int code)<br>
+</pre>
+<p>Check whether the character is part of Dingbats UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsEnclosedAlphanumerics"></a>xmlUCSIsEnclosedAlphanumerics ()</h3>
+<pre class="programlisting">int	xmlUCSIsEnclosedAlphanumerics	(int code)<br>
+</pre>
+<p>Check whether the character is part of EnclosedAlphanumerics UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsEnclosedCJKLettersandMonths"></a>xmlUCSIsEnclosedCJKLettersandMonths ()</h3>
+<pre class="programlisting">int	xmlUCSIsEnclosedCJKLettersandMonths	(int code)<br>
+</pre>
+<p>Check whether the character is part of EnclosedCJKLettersandMonths UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsEthiopic"></a>xmlUCSIsEthiopic ()</h3>
+<pre class="programlisting">int	xmlUCSIsEthiopic		(int code)<br>
+</pre>
+<p>Check whether the character is part of Ethiopic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGeneralPunctuation"></a>xmlUCSIsGeneralPunctuation ()</h3>
+<pre class="programlisting">int	xmlUCSIsGeneralPunctuation	(int code)<br>
+</pre>
+<p>Check whether the character is part of GeneralPunctuation UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGeometricShapes"></a>xmlUCSIsGeometricShapes ()</h3>
+<pre class="programlisting">int	xmlUCSIsGeometricShapes		(int code)<br>
+</pre>
+<p>Check whether the character is part of GeometricShapes UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGeorgian"></a>xmlUCSIsGeorgian ()</h3>
+<pre class="programlisting">int	xmlUCSIsGeorgian		(int code)<br>
+</pre>
+<p>Check whether the character is part of Georgian UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGothic"></a>xmlUCSIsGothic ()</h3>
+<pre class="programlisting">int	xmlUCSIsGothic			(int code)<br>
+</pre>
+<p>Check whether the character is part of Gothic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGreek"></a>xmlUCSIsGreek ()</h3>
+<pre class="programlisting">int	xmlUCSIsGreek			(int code)<br>
+</pre>
+<p>Check whether the character is part of Greek UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGreekExtended"></a>xmlUCSIsGreekExtended ()</h3>
+<pre class="programlisting">int	xmlUCSIsGreekExtended		(int code)<br>
+</pre>
+<p>Check whether the character is part of GreekExtended UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGreekandCoptic"></a>xmlUCSIsGreekandCoptic ()</h3>
+<pre class="programlisting">int	xmlUCSIsGreekandCoptic		(int code)<br>
+</pre>
+<p>Check whether the character is part of GreekandCoptic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGujarati"></a>xmlUCSIsGujarati ()</h3>
+<pre class="programlisting">int	xmlUCSIsGujarati		(int code)<br>
+</pre>
+<p>Check whether the character is part of Gujarati UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGurmukhi"></a>xmlUCSIsGurmukhi ()</h3>
+<pre class="programlisting">int	xmlUCSIsGurmukhi		(int code)<br>
+</pre>
+<p>Check whether the character is part of Gurmukhi UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHalfwidthandFullwidthForms"></a>xmlUCSIsHalfwidthandFullwidthForms ()</h3>
+<pre class="programlisting">int	xmlUCSIsHalfwidthandFullwidthForms	(int code)<br>
+</pre>
+<p>Check whether the character is part of HalfwidthandFullwidthForms UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHangulCompatibilityJamo"></a>xmlUCSIsHangulCompatibilityJamo ()</h3>
+<pre class="programlisting">int	xmlUCSIsHangulCompatibilityJamo	(int code)<br>
+</pre>
+<p>Check whether the character is part of HangulCompatibilityJamo UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHangulJamo"></a>xmlUCSIsHangulJamo ()</h3>
+<pre class="programlisting">int	xmlUCSIsHangulJamo		(int code)<br>
+</pre>
+<p>Check whether the character is part of HangulJamo UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHangulSyllables"></a>xmlUCSIsHangulSyllables ()</h3>
+<pre class="programlisting">int	xmlUCSIsHangulSyllables		(int code)<br>
+</pre>
+<p>Check whether the character is part of HangulSyllables UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHanunoo"></a>xmlUCSIsHanunoo ()</h3>
+<pre class="programlisting">int	xmlUCSIsHanunoo			(int code)<br>
+</pre>
+<p>Check whether the character is part of Hanunoo UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHebrew"></a>xmlUCSIsHebrew ()</h3>
+<pre class="programlisting">int	xmlUCSIsHebrew			(int code)<br>
+</pre>
+<p>Check whether the character is part of Hebrew UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHighPrivateUseSurrogates"></a>xmlUCSIsHighPrivateUseSurrogates ()</h3>
+<pre class="programlisting">int	xmlUCSIsHighPrivateUseSurrogates	(int code)<br>
+</pre>
+<p>Check whether the character is part of HighPrivateUseSurrogates UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHighSurrogates"></a>xmlUCSIsHighSurrogates ()</h3>
+<pre class="programlisting">int	xmlUCSIsHighSurrogates		(int code)<br>
+</pre>
+<p>Check whether the character is part of HighSurrogates UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHiragana"></a>xmlUCSIsHiragana ()</h3>
+<pre class="programlisting">int	xmlUCSIsHiragana		(int code)<br>
+</pre>
+<p>Check whether the character is part of Hiragana UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsIPAExtensions"></a>xmlUCSIsIPAExtensions ()</h3>
+<pre class="programlisting">int	xmlUCSIsIPAExtensions		(int code)<br>
+</pre>
+<p>Check whether the character is part of IPAExtensions UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsIdeographicDescriptionCharacters"></a>xmlUCSIsIdeographicDescriptionCharacters ()</h3>
+<pre class="programlisting">int	xmlUCSIsIdeographicDescriptionCharacters	(int code)<br>
+</pre>
+<p>Check whether the character is part of IdeographicDescriptionCharacters UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKanbun"></a>xmlUCSIsKanbun ()</h3>
+<pre class="programlisting">int	xmlUCSIsKanbun			(int code)<br>
+</pre>
+<p>Check whether the character is part of Kanbun UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKangxiRadicals"></a>xmlUCSIsKangxiRadicals ()</h3>
+<pre class="programlisting">int	xmlUCSIsKangxiRadicals		(int code)<br>
+</pre>
+<p>Check whether the character is part of KangxiRadicals UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKannada"></a>xmlUCSIsKannada ()</h3>
+<pre class="programlisting">int	xmlUCSIsKannada			(int code)<br>
+</pre>
+<p>Check whether the character is part of Kannada UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKatakana"></a>xmlUCSIsKatakana ()</h3>
+<pre class="programlisting">int	xmlUCSIsKatakana		(int code)<br>
+</pre>
+<p>Check whether the character is part of Katakana UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKatakanaPhoneticExtensions"></a>xmlUCSIsKatakanaPhoneticExtensions ()</h3>
+<pre class="programlisting">int	xmlUCSIsKatakanaPhoneticExtensions	(int code)<br>
+</pre>
+<p>Check whether the character is part of KatakanaPhoneticExtensions UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKhmer"></a>xmlUCSIsKhmer ()</h3>
+<pre class="programlisting">int	xmlUCSIsKhmer			(int code)<br>
+</pre>
+<p>Check whether the character is part of Khmer UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKhmerSymbols"></a>xmlUCSIsKhmerSymbols ()</h3>
+<pre class="programlisting">int	xmlUCSIsKhmerSymbols		(int code)<br>
+</pre>
+<p>Check whether the character is part of KhmerSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLao"></a>xmlUCSIsLao ()</h3>
+<pre class="programlisting">int	xmlUCSIsLao			(int code)<br>
+</pre>
+<p>Check whether the character is part of Lao UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLatin1Supplement"></a>xmlUCSIsLatin1Supplement ()</h3>
+<pre class="programlisting">int	xmlUCSIsLatin1Supplement	(int code)<br>
+</pre>
+<p>Check whether the character is part of Latin-1Supplement UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLatinExtendedA"></a>xmlUCSIsLatinExtendedA ()</h3>
+<pre class="programlisting">int	xmlUCSIsLatinExtendedA		(int code)<br>
+</pre>
+<p>Check whether the character is part of LatinExtended-A UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLatinExtendedAdditional"></a>xmlUCSIsLatinExtendedAdditional ()</h3>
+<pre class="programlisting">int	xmlUCSIsLatinExtendedAdditional	(int code)<br>
+</pre>
+<p>Check whether the character is part of LatinExtendedAdditional UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLatinExtendedB"></a>xmlUCSIsLatinExtendedB ()</h3>
+<pre class="programlisting">int	xmlUCSIsLatinExtendedB		(int code)<br>
+</pre>
+<p>Check whether the character is part of LatinExtended-B UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLetterlikeSymbols"></a>xmlUCSIsLetterlikeSymbols ()</h3>
+<pre class="programlisting">int	xmlUCSIsLetterlikeSymbols	(int code)<br>
+</pre>
+<p>Check whether the character is part of LetterlikeSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLimbu"></a>xmlUCSIsLimbu ()</h3>
+<pre class="programlisting">int	xmlUCSIsLimbu			(int code)<br>
+</pre>
+<p>Check whether the character is part of Limbu UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLinearBIdeograms"></a>xmlUCSIsLinearBIdeograms ()</h3>
+<pre class="programlisting">int	xmlUCSIsLinearBIdeograms	(int code)<br>
+</pre>
+<p>Check whether the character is part of LinearBIdeograms UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLinearBSyllabary"></a>xmlUCSIsLinearBSyllabary ()</h3>
+<pre class="programlisting">int	xmlUCSIsLinearBSyllabary	(int code)<br>
+</pre>
+<p>Check whether the character is part of LinearBSyllabary UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLowSurrogates"></a>xmlUCSIsLowSurrogates ()</h3>
+<pre class="programlisting">int	xmlUCSIsLowSurrogates		(int code)<br>
+</pre>
+<p>Check whether the character is part of LowSurrogates UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMalayalam"></a>xmlUCSIsMalayalam ()</h3>
+<pre class="programlisting">int	xmlUCSIsMalayalam		(int code)<br>
+</pre>
+<p>Check whether the character is part of Malayalam UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMathematicalAlphanumericSymbols"></a>xmlUCSIsMathematicalAlphanumericSymbols ()</h3>
+<pre class="programlisting">int	xmlUCSIsMathematicalAlphanumericSymbols	(int code)<br>
+</pre>
+<p>Check whether the character is part of MathematicalAlphanumericSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMathematicalOperators"></a>xmlUCSIsMathematicalOperators ()</h3>
+<pre class="programlisting">int	xmlUCSIsMathematicalOperators	(int code)<br>
+</pre>
+<p>Check whether the character is part of MathematicalOperators UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMiscellaneousMathematicalSymbolsA"></a>xmlUCSIsMiscellaneousMathematicalSymbolsA ()</h3>
+<pre class="programlisting">int	xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code)<br>
+</pre>
+<p>Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMiscellaneousMathematicalSymbolsB"></a>xmlUCSIsMiscellaneousMathematicalSymbolsB ()</h3>
+<pre class="programlisting">int	xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code)<br>
+</pre>
+<p>Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMiscellaneousSymbols"></a>xmlUCSIsMiscellaneousSymbols ()</h3>
+<pre class="programlisting">int	xmlUCSIsMiscellaneousSymbols	(int code)<br>
+</pre>
+<p>Check whether the character is part of MiscellaneousSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMiscellaneousSymbolsandArrows"></a>xmlUCSIsMiscellaneousSymbolsandArrows ()</h3>
+<pre class="programlisting">int	xmlUCSIsMiscellaneousSymbolsandArrows	(int code)<br>
+</pre>
+<p>Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMiscellaneousTechnical"></a>xmlUCSIsMiscellaneousTechnical ()</h3>
+<pre class="programlisting">int	xmlUCSIsMiscellaneousTechnical	(int code)<br>
+</pre>
+<p>Check whether the character is part of MiscellaneousTechnical UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMongolian"></a>xmlUCSIsMongolian ()</h3>
+<pre class="programlisting">int	xmlUCSIsMongolian		(int code)<br>
+</pre>
+<p>Check whether the character is part of Mongolian UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMusicalSymbols"></a>xmlUCSIsMusicalSymbols ()</h3>
+<pre class="programlisting">int	xmlUCSIsMusicalSymbols		(int code)<br>
+</pre>
+<p>Check whether the character is part of MusicalSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMyanmar"></a>xmlUCSIsMyanmar ()</h3>
+<pre class="programlisting">int	xmlUCSIsMyanmar			(int code)<br>
+</pre>
+<p>Check whether the character is part of Myanmar UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsNumberForms"></a>xmlUCSIsNumberForms ()</h3>
+<pre class="programlisting">int	xmlUCSIsNumberForms		(int code)<br>
+</pre>
+<p>Check whether the character is part of NumberForms UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsOgham"></a>xmlUCSIsOgham ()</h3>
+<pre class="programlisting">int	xmlUCSIsOgham			(int code)<br>
+</pre>
+<p>Check whether the character is part of Ogham UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsOldItalic"></a>xmlUCSIsOldItalic ()</h3>
+<pre class="programlisting">int	xmlUCSIsOldItalic		(int code)<br>
+</pre>
+<p>Check whether the character is part of OldItalic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsOpticalCharacterRecognition"></a>xmlUCSIsOpticalCharacterRecognition ()</h3>
+<pre class="programlisting">int	xmlUCSIsOpticalCharacterRecognition	(int code)<br>
+</pre>
+<p>Check whether the character is part of OpticalCharacterRecognition UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsOriya"></a>xmlUCSIsOriya ()</h3>
+<pre class="programlisting">int	xmlUCSIsOriya			(int code)<br>
+</pre>
+<p>Check whether the character is part of Oriya UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsOsmanya"></a>xmlUCSIsOsmanya ()</h3>
+<pre class="programlisting">int	xmlUCSIsOsmanya			(int code)<br>
+</pre>
+<p>Check whether the character is part of Osmanya UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsPhoneticExtensions"></a>xmlUCSIsPhoneticExtensions ()</h3>
+<pre class="programlisting">int	xmlUCSIsPhoneticExtensions	(int code)<br>
+</pre>
+<p>Check whether the character is part of PhoneticExtensions UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsPrivateUse"></a>xmlUCSIsPrivateUse ()</h3>
+<pre class="programlisting">int	xmlUCSIsPrivateUse		(int code)<br>
+</pre>
+<p>Check whether the character is part of PrivateUse UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsPrivateUseArea"></a>xmlUCSIsPrivateUseArea ()</h3>
+<pre class="programlisting">int	xmlUCSIsPrivateUseArea		(int code)<br>
+</pre>
+<p>Check whether the character is part of PrivateUseArea UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsRunic"></a>xmlUCSIsRunic ()</h3>
+<pre class="programlisting">int	xmlUCSIsRunic			(int code)<br>
+</pre>
+<p>Check whether the character is part of Runic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsShavian"></a>xmlUCSIsShavian ()</h3>
+<pre class="programlisting">int	xmlUCSIsShavian			(int code)<br>
+</pre>
+<p>Check whether the character is part of Shavian UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSinhala"></a>xmlUCSIsSinhala ()</h3>
+<pre class="programlisting">int	xmlUCSIsSinhala			(int code)<br>
+</pre>
+<p>Check whether the character is part of Sinhala UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSmallFormVariants"></a>xmlUCSIsSmallFormVariants ()</h3>
+<pre class="programlisting">int	xmlUCSIsSmallFormVariants	(int code)<br>
+</pre>
+<p>Check whether the character is part of SmallFormVariants UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSpacingModifierLetters"></a>xmlUCSIsSpacingModifierLetters ()</h3>
+<pre class="programlisting">int	xmlUCSIsSpacingModifierLetters	(int code)<br>
+</pre>
+<p>Check whether the character is part of SpacingModifierLetters UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSpecials"></a>xmlUCSIsSpecials ()</h3>
+<pre class="programlisting">int	xmlUCSIsSpecials		(int code)<br>
+</pre>
+<p>Check whether the character is part of Specials UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSuperscriptsandSubscripts"></a>xmlUCSIsSuperscriptsandSubscripts ()</h3>
+<pre class="programlisting">int	xmlUCSIsSuperscriptsandSubscripts	(int code)<br>
+</pre>
+<p>Check whether the character is part of SuperscriptsandSubscripts UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSupplementalArrowsA"></a>xmlUCSIsSupplementalArrowsA ()</h3>
+<pre class="programlisting">int	xmlUCSIsSupplementalArrowsA	(int code)<br>
+</pre>
+<p>Check whether the character is part of SupplementalArrows-A UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSupplementalArrowsB"></a>xmlUCSIsSupplementalArrowsB ()</h3>
+<pre class="programlisting">int	xmlUCSIsSupplementalArrowsB	(int code)<br>
+</pre>
+<p>Check whether the character is part of SupplementalArrows-B UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSupplementalMathematicalOperators"></a>xmlUCSIsSupplementalMathematicalOperators ()</h3>
+<pre class="programlisting">int	xmlUCSIsSupplementalMathematicalOperators	(int code)<br>
+</pre>
+<p>Check whether the character is part of SupplementalMathematicalOperators UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSupplementaryPrivateUseAreaA"></a>xmlUCSIsSupplementaryPrivateUseAreaA ()</h3>
+<pre class="programlisting">int	xmlUCSIsSupplementaryPrivateUseAreaA	(int code)<br>
+</pre>
+<p>Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSupplementaryPrivateUseAreaB"></a>xmlUCSIsSupplementaryPrivateUseAreaB ()</h3>
+<pre class="programlisting">int	xmlUCSIsSupplementaryPrivateUseAreaB	(int code)<br>
+</pre>
+<p>Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSyriac"></a>xmlUCSIsSyriac ()</h3>
+<pre class="programlisting">int	xmlUCSIsSyriac			(int code)<br>
+</pre>
+<p>Check whether the character is part of Syriac UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTagalog"></a>xmlUCSIsTagalog ()</h3>
+<pre class="programlisting">int	xmlUCSIsTagalog			(int code)<br>
+</pre>
+<p>Check whether the character is part of Tagalog UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTagbanwa"></a>xmlUCSIsTagbanwa ()</h3>
+<pre class="programlisting">int	xmlUCSIsTagbanwa		(int code)<br>
+</pre>
+<p>Check whether the character is part of Tagbanwa UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTags"></a>xmlUCSIsTags ()</h3>
+<pre class="programlisting">int	xmlUCSIsTags			(int code)<br>
+</pre>
+<p>Check whether the character is part of Tags UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTaiLe"></a>xmlUCSIsTaiLe ()</h3>
+<pre class="programlisting">int	xmlUCSIsTaiLe			(int code)<br>
+</pre>
+<p>Check whether the character is part of TaiLe UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTaiXuanJingSymbols"></a>xmlUCSIsTaiXuanJingSymbols ()</h3>
+<pre class="programlisting">int	xmlUCSIsTaiXuanJingSymbols	(int code)<br>
+</pre>
+<p>Check whether the character is part of TaiXuanJingSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTamil"></a>xmlUCSIsTamil ()</h3>
+<pre class="programlisting">int	xmlUCSIsTamil			(int code)<br>
+</pre>
+<p>Check whether the character is part of Tamil UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTelugu"></a>xmlUCSIsTelugu ()</h3>
+<pre class="programlisting">int	xmlUCSIsTelugu			(int code)<br>
+</pre>
+<p>Check whether the character is part of Telugu UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsThaana"></a>xmlUCSIsThaana ()</h3>
+<pre class="programlisting">int	xmlUCSIsThaana			(int code)<br>
+</pre>
+<p>Check whether the character is part of Thaana UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsThai"></a>xmlUCSIsThai ()</h3>
+<pre class="programlisting">int	xmlUCSIsThai			(int code)<br>
+</pre>
+<p>Check whether the character is part of Thai UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTibetan"></a>xmlUCSIsTibetan ()</h3>
+<pre class="programlisting">int	xmlUCSIsTibetan			(int code)<br>
+</pre>
+<p>Check whether the character is part of Tibetan UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsUgaritic"></a>xmlUCSIsUgaritic ()</h3>
+<pre class="programlisting">int	xmlUCSIsUgaritic		(int code)<br>
+</pre>
+<p>Check whether the character is part of Ugaritic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsUnifiedCanadianAboriginalSyllabics"></a>xmlUCSIsUnifiedCanadianAboriginalSyllabics ()</h3>
+<pre class="programlisting">int	xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code)<br>
+</pre>
+<p>Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsVariationSelectors"></a>xmlUCSIsVariationSelectors ()</h3>
+<pre class="programlisting">int	xmlUCSIsVariationSelectors	(int code)<br>
+</pre>
+<p>Check whether the character is part of VariationSelectors UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsVariationSelectorsSupplement"></a>xmlUCSIsVariationSelectorsSupplement ()</h3>
+<pre class="programlisting">int	xmlUCSIsVariationSelectorsSupplement	(int code)<br>
+</pre>
+<p>Check whether the character is part of VariationSelectorsSupplement UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsYiRadicals"></a>xmlUCSIsYiRadicals ()</h3>
+<pre class="programlisting">int	xmlUCSIsYiRadicals		(int code)<br>
+</pre>
+<p>Check whether the character is part of YiRadicals UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsYiSyllables"></a>xmlUCSIsYiSyllables ()</h3>
+<pre class="programlisting">int	xmlUCSIsYiSyllables		(int code)<br>
+</pre>
+<p>Check whether the character is part of YiSyllables UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsYijingHexagramSymbols"></a>xmlUCSIsYijingHexagramSymbols ()</h3>
+<pre class="programlisting">int	xmlUCSIsYijingHexagramSymbols	(int code)<br>
+</pre>
+<p>Check whether the character is part of YijingHexagramSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlversion.html b/doc/devhelp/libxml2-xmlversion.html
index 7e0965d..98b0819 100644
--- a/doc/devhelp/libxml2-xmlversion.html
+++ b/doc/devhelp/libxml2-xmlversion.html
@@ -1,292 +1,473 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlversion: compile-time version information</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlunicode.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xmlwriter.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlversion</span>
-    </h2>
-    <p>xmlversion - compile-time version information</p>
-    <p>compile-time version information for the XML library </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a>;
-#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlversion: compile-time version information</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlunicode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xmlwriter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlversion</span></h2>
+<p>xmlversion - compile-time version information</p>
+<p>compile-time version information for the XML library </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
+#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
+#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
+#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
+#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
+#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a>;
+#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
+#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a>;
+#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a>;
+#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a>;
+#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a>;
+#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a>;
+#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a>;
+#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a>;
+#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a>;
+#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a>;
+#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a>;
 #define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a>;
 #define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a>;
-#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a>;
-#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
-#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a>;
-#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a>;
-#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a>;
-#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a>;
-#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
-#define <a href="#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a>;
-#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a>;
-#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a>;
-#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a>;
-#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a>;
-#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a>;
-#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a>;
-#define <a href="#WITH_TRIO">WITH_TRIO</a>;
-#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a>;
-#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a>;
-#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a>;
-#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a>;
-#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
-#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
-#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a>;
-#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a>;
+#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a>;
 #define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a>;
-#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a>;
-#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a>;
-#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a>;
-#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a>;
-#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
-#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a>;
-#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a>;
-#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a>;
+#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a>;
+#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a>;
+#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a>;
+#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a>;
+#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a>;
+#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a>;
 #define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a>;
-#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
-#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
+#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a>;
 #define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a>;
 #define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
-#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
-#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a>;
-#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
+#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
 #define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a>;
-#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a>;
+#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a>;
+#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
+#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a>;
+#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a>;
+#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a>;
+#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a>;
+#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a>;
+#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
+#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a>;
+#define <a href="#LIBXML_XPTR_LOCS_ENABLED">LIBXML_XPTR_LOCS_ENABLED</a>;
+#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a>;
+#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a>;
+#define <a href="#WITH_TRIO">WITH_TRIO</a>;
+#define <a href="#XML_DEPRECATED">XML_DEPRECATED</a>;
 void	<a href="#xmlCheckVersion">xmlCheckVersion</a>			(int version);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="ATTRIBUTE_UNUSED">Macro </a>ATTRIBUTE_UNUSED</h3><pre class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
-</pre><p>Macro used to signal to GCC unused function parameters</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="DEBUG_MEMORY_LOCATION">Macro </a>DEBUG_MEMORY_LOCATION</h3><pre class="programlisting">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
-</pre><p>Whether the memory debugging is configured in</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="ATTRIBUTE_UNUSED">Macro </a>ATTRIBUTE_UNUSED</h3>
+<pre class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
+</pre>
+<p>Macro used to signal to GCC unused function parameters</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_ATTR_ALLOC_SIZE">Macro </a>LIBXML_ATTR_ALLOC_SIZE</h3><pre class="programlisting">#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
-</pre><p>Macro used to indicate to GCC this is an allocator function</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="DEBUG_MEMORY_LOCATION">Macro </a>DEBUG_MEMORY_LOCATION</h3>
+<pre class="programlisting">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
+</pre>
+<p>Whether the memory debugging is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_ATTR_FORMAT">Macro </a>LIBXML_ATTR_FORMAT</h3><pre class="programlisting">#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
-</pre><p>Macro used to indicate to GCC the parameter are printf like</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_ATTR_ALLOC_SIZE">Macro </a>LIBXML_ATTR_ALLOC_SIZE</h3>
+<pre class="programlisting">#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
+</pre>
+<p>Macro used to indicate to GCC this is an allocator function</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_AUTOMATA_ENABLED">Macro </a>LIBXML_AUTOMATA_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
-</pre><p>Whether the automata interfaces are compiled in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_ATTR_FORMAT">Macro </a>LIBXML_ATTR_FORMAT</h3>
+<pre class="programlisting">#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
+</pre>
+<p>Macro used to indicate to GCC the parameter are printf like</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_C14N_ENABLED">Macro </a>LIBXML_C14N_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a>;
-</pre><p>Whether the Canonicalization support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_AUTOMATA_ENABLED">Macro </a>LIBXML_AUTOMATA_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
+</pre>
+<p>Whether the automata interfaces are compiled in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_CATALOG_ENABLED">Macro </a>LIBXML_CATALOG_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
-</pre><p>Whether the Catalog support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_C14N_ENABLED">Macro </a>LIBXML_C14N_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a>;
+</pre>
+<p>Whether the Canonicalization support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_DEBUG_ENABLED">Macro </a>LIBXML_DEBUG_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a>;
-</pre><p>Whether Debugging module is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_CATALOG_ENABLED">Macro </a>LIBXML_CATALOG_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
+</pre>
+<p>Whether the Catalog support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_DEBUG_RUNTIME">Macro </a>LIBXML_DEBUG_RUNTIME</h3><pre class="programlisting">#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a>;
-</pre><p>Whether the runtime debugging is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_DEBUG_ENABLED">Macro </a>LIBXML_DEBUG_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a>;
+</pre>
+<p>Whether Debugging module is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_DOCB_ENABLED">Macro </a>LIBXML_DOCB_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a>;
-</pre><p>Whether the SGML Docbook support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_DEBUG_RUNTIME">Macro </a>LIBXML_DEBUG_RUNTIME</h3>
+<pre class="programlisting">#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a>;
+</pre>
+<p>Whether the runtime debugging is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_DOTTED_VERSION">Macro </a>LIBXML_DOTTED_VERSION</h3><pre class="programlisting">#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a>;
-</pre><p>the version string like "1.2.3"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_DOTTED_VERSION">Macro </a>LIBXML_DOTTED_VERSION</h3>
+<pre class="programlisting">#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a>;
+</pre>
+<p>the version string like "1.2.3"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_EXPR_ENABLED">Macro </a>LIBXML_EXPR_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a>;
-</pre><p>Whether the formal expressions interfaces are compiled in This code is unused and disabled unconditionally for now.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_EXPR_ENABLED">Macro </a>LIBXML_EXPR_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a>;
+</pre>
+<p>Whether the formal expressions interfaces are compiled in This code is unused and disabled unconditionally for now.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_FTP_ENABLED">Macro </a>LIBXML_FTP_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a>;
-</pre><p>Whether the FTP support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_FTP_ENABLED">Macro </a>LIBXML_FTP_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a>;
+</pre>
+<p>Whether the FTP support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_HTML_ENABLED">Macro </a>LIBXML_HTML_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a>;
-</pre><p>Whether the HTML support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_HTML_ENABLED">Macro </a>LIBXML_HTML_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a>;
+</pre>
+<p>Whether the HTML support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_HTTP_ENABLED">Macro </a>LIBXML_HTTP_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a>;
-</pre><p>Whether the HTTP support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_HTTP_ENABLED">Macro </a>LIBXML_HTTP_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a>;
+</pre>
+<p>Whether the HTTP support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_ICONV_ENABLED">Macro </a>LIBXML_ICONV_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a>;
-</pre><p>Whether iconv support is available</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_ICONV_ENABLED">Macro </a>LIBXML_ICONV_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a>;
+</pre>
+<p>Whether iconv support is available</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_ICU_ENABLED">Macro </a>LIBXML_ICU_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a>;
-</pre><p>Whether icu support is available</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_ICU_ENABLED">Macro </a>LIBXML_ICU_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a>;
+</pre>
+<p>Whether icu support is available</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_ISO8859X_ENABLED">Macro </a>LIBXML_ISO8859X_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a>;
-</pre><p>Whether ISO-8859-* support is made available in case iconv is not</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_ISO8859X_ENABLED">Macro </a>LIBXML_ISO8859X_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a>;
+</pre>
+<p>Whether ISO-8859-* support is made available in case iconv is not</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_LEGACY_ENABLED">Macro </a>LIBXML_LEGACY_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a>;
-</pre><p>Whether the deprecated APIs are compiled in for compatibility</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_LEGACY_ENABLED">Macro </a>LIBXML_LEGACY_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a>;
+</pre>
+<p>Whether the deprecated APIs are compiled in for compatibility</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_LZMA_ENABLED">Macro </a>LIBXML_LZMA_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a>;
-</pre><p>Whether the Lzma support is compiled in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_LZMA_ENABLED">Macro </a>LIBXML_LZMA_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a>;
+</pre>
+<p>Whether the Lzma support is compiled in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_MODULES_ENABLED">Macro </a>LIBXML_MODULES_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a>;
-</pre><p>Whether the module interfaces are compiled in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_MODULES_ENABLED">Macro </a>LIBXML_MODULES_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a>;
+</pre>
+<p>Whether the module interfaces are compiled in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_MODULE_EXTENSION">Macro </a>LIBXML_MODULE_EXTENSION</h3><pre class="programlisting">#define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a>;
-</pre><p>the string suffix used by dynamic modules (usually shared libraries)</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_MODULE_EXTENSION">Macro </a>LIBXML_MODULE_EXTENSION</h3>
+<pre class="programlisting">#define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a>;
+</pre>
+<p>the string suffix used by dynamic modules (usually shared libraries)</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_OUTPUT_ENABLED">Macro </a>LIBXML_OUTPUT_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a>;
-</pre><p>Whether the serialization/saving support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_OUTPUT_ENABLED">Macro </a>LIBXML_OUTPUT_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a>;
+</pre>
+<p>Whether the serialization/saving support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_PATTERN_ENABLED">Macro </a>LIBXML_PATTERN_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a>;
-</pre><p>Whether the <a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> node selection interface is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_PATTERN_ENABLED">Macro </a>LIBXML_PATTERN_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a>;
+</pre>
+<p>Whether the <a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> node selection interface is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_PUSH_ENABLED">Macro </a>LIBXML_PUSH_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a>;
-</pre><p>Whether the push parsing interfaces are configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_PUSH_ENABLED">Macro </a>LIBXML_PUSH_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a>;
+</pre>
+<p>Whether the push parsing interfaces are configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_READER_ENABLED">Macro </a>LIBXML_READER_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a>;
-</pre><p>Whether the xmlReader parsing interface is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_READER_ENABLED">Macro </a>LIBXML_READER_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a>;
+</pre>
+<p>Whether the xmlReader parsing interface is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_REGEXP_ENABLED">Macro </a>LIBXML_REGEXP_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a>;
-</pre><p>Whether the regular expressions interfaces are compiled in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_REGEXP_ENABLED">Macro </a>LIBXML_REGEXP_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a>;
+</pre>
+<p>Whether the regular expressions interfaces are compiled in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_SAX1_ENABLED">Macro </a>LIBXML_SAX1_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a>;
-</pre><p>Whether the older SAX1 interface is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_SAX1_ENABLED">Macro </a>LIBXML_SAX1_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a>;
+</pre>
+<p>Whether the older SAX1 interface is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_SCHEMAS_ENABLED">Macro </a>LIBXML_SCHEMAS_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a>;
-</pre><p>Whether the Schemas validation interfaces are compiled in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_SCHEMAS_ENABLED">Macro </a>LIBXML_SCHEMAS_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a>;
+</pre>
+<p>Whether the Schemas validation interfaces are compiled in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_SCHEMATRON_ENABLED">Macro </a>LIBXML_SCHEMATRON_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a>;
-</pre><p>Whether the Schematron validation interfaces are compiled in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_SCHEMATRON_ENABLED">Macro </a>LIBXML_SCHEMATRON_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a>;
+</pre>
+<p>Whether the Schematron validation interfaces are compiled in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_TEST_VERSION">Macro </a>LIBXML_TEST_VERSION</h3><pre class="programlisting">#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a>;
-</pre><p>Macro to check that the libxml version in use is compatible with the version the software has been compiled against</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_TEST_VERSION">Macro </a>LIBXML_TEST_VERSION</h3>
+<pre class="programlisting">#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a>;
+</pre>
+<p>Macro to check that the libxml version in use is compatible with the version the software has been compiled against</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_THREAD_ALLOC_ENABLED">Macro </a>LIBXML_THREAD_ALLOC_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
-</pre><p>Whether the allocation hooks are per-thread</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_THREAD_ALLOC_ENABLED">Macro </a>LIBXML_THREAD_ALLOC_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
+</pre>
+<p>Whether the allocation hooks are per-thread</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_THREAD_ENABLED">Macro </a>LIBXML_THREAD_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
-</pre><p>Whether the thread support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_THREAD_ENABLED">Macro </a>LIBXML_THREAD_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
+</pre>
+<p>Whether the thread support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_TREE_ENABLED">Macro </a>LIBXML_TREE_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a>;
-</pre><p>Whether the DOM like tree manipulation API support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_TREE_ENABLED">Macro </a>LIBXML_TREE_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a>;
+</pre>
+<p>Whether the DOM like tree manipulation API support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_UNICODE_ENABLED">Macro </a>LIBXML_UNICODE_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a>;
-</pre><p>Whether the Unicode related interfaces are compiled in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_UNICODE_ENABLED">Macro </a>LIBXML_UNICODE_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a>;
+</pre>
+<p>Whether the Unicode related interfaces are compiled in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_VALID_ENABLED">Macro </a>LIBXML_VALID_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
-</pre><p>Whether the DTD validation support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_VALID_ENABLED">Macro </a>LIBXML_VALID_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
+</pre>
+<p>Whether the DTD validation support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_VERSION">Macro </a>LIBXML_VERSION</h3><pre class="programlisting">#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a>;
-</pre><p>the version number: 1.2.3 value is 10203</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_VERSION">Macro </a>LIBXML_VERSION</h3>
+<pre class="programlisting">#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a>;
+</pre>
+<p>the version number: 1.2.3 value is 10203</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_VERSION_EXTRA">Macro </a>LIBXML_VERSION_EXTRA</h3><pre class="programlisting">#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a>;
-</pre><p>extra version information, used to show a CVS compilation</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_VERSION_EXTRA">Macro </a>LIBXML_VERSION_EXTRA</h3>
+<pre class="programlisting">#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a>;
+</pre>
+<p>extra version information, used to show a git commit description</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_VERSION_STRING">Macro </a>LIBXML_VERSION_STRING</h3><pre class="programlisting">#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a>;
-</pre><p>the version number string, 1.2.3 value is "10203"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_VERSION_STRING">Macro </a>LIBXML_VERSION_STRING</h3>
+<pre class="programlisting">#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a>;
+</pre>
+<p>the version number string, 1.2.3 value is "10203"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_WRITER_ENABLED">Macro </a>LIBXML_WRITER_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a>;
-</pre><p>Whether the xmlWriter saving interface is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_WRITER_ENABLED">Macro </a>LIBXML_WRITER_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a>;
+</pre>
+<p>Whether the xmlWriter saving interface is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_XINCLUDE_ENABLED">Macro </a>LIBXML_XINCLUDE_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a>;
-</pre><p>Whether XInclude is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_XINCLUDE_ENABLED">Macro </a>LIBXML_XINCLUDE_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a>;
+</pre>
+<p>Whether XInclude is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_XPATH_ENABLED">Macro </a>LIBXML_XPATH_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
-</pre><p>Whether XPath is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_XPATH_ENABLED">Macro </a>LIBXML_XPATH_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
+</pre>
+<p>Whether XPath is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_XPTR_ENABLED">Macro </a>LIBXML_XPTR_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a>;
-</pre><p>Whether XPointer is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_XPTR_ENABLED">Macro </a>LIBXML_XPTR_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a>;
+</pre>
+<p>Whether XPointer is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_ZLIB_ENABLED">Macro </a>LIBXML_ZLIB_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a>;
-</pre><p>Whether the Zlib support is compiled in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_XPTR_LOCS_ENABLED">Macro </a>LIBXML_XPTR_LOCS_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_XPTR_LOCS_ENABLED">LIBXML_XPTR_LOCS_ENABLED</a>;
+</pre>
+<p>Whether support for XPointer locations is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="WITHOUT_TRIO">Macro </a>WITHOUT_TRIO</h3><pre class="programlisting">#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a>;
-</pre><p>defined if the trio support should not be configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_ZLIB_ENABLED">Macro </a>LIBXML_ZLIB_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a>;
+</pre>
+<p>Whether the Zlib support is compiled in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="WITH_TRIO">Macro </a>WITH_TRIO</h3><pre class="programlisting">#define <a href="#WITH_TRIO">WITH_TRIO</a>;
-</pre><p>defined if the trio support need to be configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="WITHOUT_TRIO">Macro </a>WITHOUT_TRIO</h3>
+<pre class="programlisting">#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a>;
+</pre>
+<p>defined if the trio support should not be configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCheckVersion"/>xmlCheckVersion ()</h3><pre class="programlisting">void	xmlCheckVersion			(int version)<br/>
-</pre><p>check the compiled lib version against the include one. This can warn or immediately kill the application</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 include version number</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="WITH_TRIO">Macro </a>WITH_TRIO</h3>
+<pre class="programlisting">#define <a href="#WITH_TRIO">WITH_TRIO</a>;
+</pre>
+<p>defined if the trio support need to be configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_DEPRECATED">Macro </a>XML_DEPRECATED</h3>
+<pre class="programlisting">#define <a href="#XML_DEPRECATED">XML_DEPRECATED</a>;
+</pre>
+<p>Macro used to indicate that a function, variable, type or struct member is deprecated.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCheckVersion"></a>xmlCheckVersion ()</h3>
+<pre class="programlisting">void	xmlCheckVersion			(int version)<br>
+</pre>
+<p>check the compiled lib version against the include one. This can warn or immediately kill the application</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 include version number</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlwriter.html b/doc/devhelp/libxml2-xmlwriter.html
index 61559e6..a274d09 100644
--- a/doc/devhelp/libxml2-xmlwriter.html
+++ b/doc/devhelp/libxml2-xmlwriter.html
@@ -1,479 +1,2576 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlwriter: text writing API for XML</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlversion.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xpath.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlwriter</span>
-    </h2>
-    <p>xmlwriter - text writing API for XML</p>
-    <p>text writing API for XML </p>
-    <p>Author(s): Alfred Mickautsch &lt;alfred@mickautsch.de&gt; </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>;
-#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlwriter: text writing API for XML</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlversion.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xpath.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlwriter</span></h2>
+<p>xmlwriter - text writing API for XML</p>
+<p>text writing API for XML </p>
+<p>Author(s): Alfred Mickautsch &lt;alfred@mickautsch.de&gt; </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
+#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>;
 typedef struct _xmlTextWriter <a href="#xmlTextWriter">xmlTextWriter</a>;
 typedef <a href="libxml2-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * <a href="#xmlTextWriterPtr">xmlTextWriterPtr</a>;
-int	<a href="#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * version, <br/>					 const char * encoding, <br/>					 const char * standalone);
-int	<a href="#xmlTextWriterEndPI">xmlTextWriterEndPI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int	<a href="#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * data, <br/>					 int start, <br/>					 int len);
-int	<a href="#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-int	<a href="#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlTextWriterEndComment">xmlTextWriterEndComment</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int	<a href="#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len);
-int	<a href="#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
-int	<a href="#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 va_list argptr);
-int	<a href="#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
-<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>							 int compression);
-int	<a href="#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>						 const char * format, <br/>						 ... ...);
-int	<a href="#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 int pe, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const char * format, <br/>					 va_list argptr);
-int	<a href="#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * data, <br/>					 int start, <br/>					 int len);
-int	<a href="#xmlTextWriterEndAttribute">xmlTextWriterEndAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int	<a href="#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 int indent);
-int	<a href="#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const char * format, <br/>					 ... ...);
-int	<a href="#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int	<a href="#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterStartComment">xmlTextWriterStartComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int	<a href="#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>					 const char * format, <br/>					 va_list argptr);
-int	<a href="#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int	<a href="#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
-int	<a href="#xmlTextWriterEndDTDEntity">xmlTextWriterEndDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriter">xmlNewTextWriter</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
 void	<a href="#xmlFreeTextWriter">xmlFreeTextWriter</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int	<a href="#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 va_list argptr);
-int	<a href="#xmlTextWriterStartPI">xmlTextWriterStartPI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target);
-int	<a href="#xmlTextWriterStartElement">xmlTextWriterStartElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 int pe, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
-int	<a href="#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 ... ...);
-int	<a href="#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>							 int pe, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const char * format, <br/>							 va_list argptr);
-int	<a href="#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 va_list argptr);
-int	<a href="#xmlTextWriterEndDTDElement">xmlTextWriterEndDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriter">xmlNewTextWriter</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
+<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br>						 int compression);
+<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a>	(const char * uri, <br>							 int compression);
+<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>						 int compression);
+<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int compression);
+<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterTree">xmlNewTextWriterTree</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 int compression);
+int	<a href="#xmlTextWriterEndAttribute">xmlTextWriterEndAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int	<a href="#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int	<a href="#xmlTextWriterEndComment">xmlTextWriterEndComment</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
 int	<a href="#xmlTextWriterEndDTD">xmlTextWriterEndDTD</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int	<a href="#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterEndElement">xmlTextWriterEndElement</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int	<a href="#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const char * format, <br/>						 va_list argptr);
-int	<a href="#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a>	(const char * uri, <br/>							 int compression);
-int	<a href="#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 va_list argptr);
-int	<a href="#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 ... ...);
-int	<a href="#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterWritePI">xmlTextWriterWritePI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>							 int pe, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const char * format, <br/>							 ... ...);
-int	<a href="#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 va_list argptr);
-int	<a href="#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 int pe, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>						 const char * format, <br/>						 va_list argptr);
-int	<a href="#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
-int	<a href="#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const char * format, <br/>					 ... ...);
-int	<a href="#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar);
-int	<a href="#xmlTextWriterWriteString">xmlTextWriterWriteString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int	<a href="#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>						 const char * format, <br/>						 va_list argptr);
-int	<a href="#xmlTextWriterFlush">xmlTextWriterFlush</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int	<a href="#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
-int	<a href="#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br/>						 int compression);
-int	<a href="#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 ... ...);
 int	<a href="#xmlTextWriterEndDTDAttlist">xmlTextWriterEndDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterTree">xmlNewTextWriterTree</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>						 int compression);
-<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>						 int compression);
-int	<a href="#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 ... ...);
-int	<a href="#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 ... ...);
-int	<a href="#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 va_list argptr);
-int	<a href="#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>					 const char * format, <br/>					 ... ...);
-int	<a href="#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 ... ...);
-int	<a href="#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int	<a href="#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset);
-int	<a href="#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 ... ...);
-int	<a href="#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 int pe, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 va_list argptr);
-int	<a href="#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int	<a href="#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>						 const char * format, <br/>						 ... ...);
+int	<a href="#xmlTextWriterEndDTDElement">xmlTextWriterEndDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int	<a href="#xmlTextWriterEndDTDEntity">xmlTextWriterEndDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int	<a href="#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int	<a href="#xmlTextWriterEndElement">xmlTextWriterEndElement</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int	<a href="#xmlTextWriterEndPI">xmlTextWriterEndPI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int	<a href="#xmlTextWriterFlush">xmlTextWriterFlush</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int	<a href="#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int	<a href="#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int indent);
+int	<a href="#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+int	<a href="#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar);
+int	<a href="#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
+int	<a href="#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int	<a href="#xmlTextWriterStartComment">xmlTextWriterStartComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int	<a href="#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
+int	<a href="#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * version, <br>					 const char * encoding, <br>					 const char * standalone);
+int	<a href="#xmlTextWriterStartElement">xmlTextWriterStartElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int	<a href="#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
+int	<a href="#xmlTextWriterStartPI">xmlTextWriterStartPI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target);
+int	<a href="#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len);
+int	<a href="#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len);
+int	<a href="#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset);
+int	<a href="#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
+int	<a href="#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
+int	<a href="#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
+int	<a href="#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...);
+int	<a href="#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...);
+int	<a href="#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
+int	<a href="#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
+int	<a href="#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 ... ...);
+int	<a href="#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...);
+int	<a href="#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...);
+int	<a href="#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 ... ...);
+int	<a href="#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const char * format, <br>					 ... ...);
+int	<a href="#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...);
+int	<a href="#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 ... ...);
+int	<a href="#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
+int	<a href="#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
+int	<a href="#xmlTextWriterWritePI">xmlTextWriterWritePI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
+int	<a href="#xmlTextWriterWriteString">xmlTextWriterWriteString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int	<a href="#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const char * format, <br>						 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr);
+int	<a href="#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteDocType">Macro </a>xmlTextWriterWriteDocType</h3><pre class="programlisting">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
-</pre><p>this macro maps to <a href="libxml2-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteProcessingInstruction">Macro </a>xmlTextWriterWriteProcessingInstruction</h3><pre class="programlisting">#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>;
-</pre><p>This macro maps to <a href="libxml2-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a></p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDocType">Macro </a>xmlTextWriterWriteDocType</h3>
+<pre class="programlisting">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
+</pre>
+<p>this macro maps to <a href="libxml2-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriter">Structure </a>xmlTextWriter</h3><pre class="programlisting">struct _xmlTextWriter {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteProcessingInstruction">Macro </a>xmlTextWriterWriteProcessingInstruction</h3>
+<pre class="programlisting">#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>;
+</pre>
+<p>This macro maps to <a href="libxml2-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriter">Structure </a>xmlTextWriter</h3>
+<pre class="programlisting">struct _xmlTextWriter {
 The content of this structure is not made public by the API.
 } xmlTextWriter;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterPtr">Typedef </a>xmlTextWriterPtr</h3><pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * xmlTextWriterPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterPtr">Typedef </a>xmlTextWriterPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * xmlTextWriterPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeTextWriter"/>xmlFreeTextWriter ()</h3><pre class="programlisting">void	xmlFreeTextWriter		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>Deallocate all the resources associated to the writer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriter"/>xmlNewTextWriter ()</h3><pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriter	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure using an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> NOTE: the @out parameter will be deallocated when the writer is closed (if the call succeed.)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriterDoc"/>xmlNewTextWriterDoc ()</h3><pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterDoc	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br/>						 int compression)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @*doc as output</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>address of a <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> to hold the new XML document tree</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriterFilename"/>xmlNewTextWriterFilename ()</h3><pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterFilename	(const char * uri, <br/>							 int compression)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @uri as output</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 of the resource for the output</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriterMemory"/>xmlNewTextWriterMemory ()</h3><pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterMemory	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>						 int compression)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @buf as output TODO: handle compression</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriterPushParser"/>xmlNewTextWriterPushParser ()</h3><pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterPushParser	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>							 int compression)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @ctxt as output NOTE: the @ctxt context will be freed with the resulting writer (if the call succeeds). TODO: handle compression</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> to hold the new XML document tree</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriterTree"/>xmlNewTextWriterTree ()</h3><pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterTree	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>						 int compression)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @doc as output starting at @node</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a></td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL for doc-&gt;children</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndAttribute"/>xmlTextWriterEndAttribute ()</h3><pre class="programlisting">int	xmlTextWriterEndAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End the current xml element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndCDATA"/>xmlTextWriterEndCDATA ()</h3><pre class="programlisting">int	xmlTextWriterEndCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End an xml CDATA section.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndComment"/>xmlTextWriterEndComment ()</h3><pre class="programlisting">int	xmlTextWriterEndComment		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End the current xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndDTD"/>xmlTextWriterEndDTD ()</h3><pre class="programlisting">int	xmlTextWriterEndDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End an xml DTD.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndDTDAttlist"/>xmlTextWriterEndDTDAttlist ()</h3><pre class="programlisting">int	xmlTextWriterEndDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End an xml DTD <a href="libxml2-SAX.html#attribute">attribute</a> list.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndDTDElement"/>xmlTextWriterEndDTDElement ()</h3><pre class="programlisting">int	xmlTextWriterEndDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End an xml DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndDTDEntity"/>xmlTextWriterEndDTDEntity ()</h3><pre class="programlisting">int	xmlTextWriterEndDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End an xml DTD entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndDocument"/>xmlTextWriterEndDocument ()</h3><pre class="programlisting">int	xmlTextWriterEndDocument	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End an xml document. All open elements are closed, and the content is flushed to the output.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndElement"/>xmlTextWriterEndElement ()</h3><pre class="programlisting">int	xmlTextWriterEndElement		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End the current xml element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndPI"/>xmlTextWriterEndPI ()</h3><pre class="programlisting">int	xmlTextWriterEndPI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End the current xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterFlush"/>xmlTextWriterFlush ()</h3><pre class="programlisting">int	xmlTextWriterFlush		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>Flush the output buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterFullEndElement"/>xmlTextWriterFullEndElement ()</h3><pre class="programlisting">int	xmlTextWriterFullEndElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End the current xml element. Writes an end tag even if the element is empty</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterSetIndent"/>xmlTextWriterSetIndent ()</h3><pre class="programlisting">int	xmlTextWriterSetIndent		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 int indent)<br/>
-</pre><p>Set indentation output. indent = 0 do not indentation. indent &gt; 0 do indentation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>indent</tt></i>:</span></td><td>do indentation?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 on error or 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterSetIndentString"/>xmlTextWriterSetIndentString ()</h3><pre class="programlisting">int	xmlTextWriterSetIndentString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Set string indentation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 on error or 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterSetQuoteChar"/>xmlTextWriterSetQuoteChar ()</h3><pre class="programlisting">int	xmlTextWriterSetQuoteChar	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar)<br/>
-</pre><p>Set the character used for quoting attributes.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>quotechar</tt></i>:</span></td><td>the quote character</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 on error or 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartAttribute"/>xmlTextWriterStartAttribute ()</h3><pre class="programlisting">int	xmlTextWriterStartAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Start an xml attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartAttributeNS"/>xmlTextWriterStartAttributeNS ()</h3><pre class="programlisting">int	xmlTextWriterStartAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br/>
-</pre><p>Start an xml <a href="libxml2-SAX.html#attribute">attribute</a> with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix or NULL</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartCDATA"/>xmlTextWriterStartCDATA ()</h3><pre class="programlisting">int	xmlTextWriterStartCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>Start an xml CDATA section.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartComment"/>xmlTextWriterStartComment ()</h3><pre class="programlisting">int	xmlTextWriterStartComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>Start an xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartDTD"/>xmlTextWriterStartDTD ()</h3><pre class="programlisting">int	xmlTextWriterStartDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br/>
-</pre><p>Start an xml DTD.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartDTDAttlist"/>xmlTextWriterStartDTDAttlist ()</h3><pre class="programlisting">int	xmlTextWriterStartDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Start an xml DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartDTDElement"/>xmlTextWriterStartDTDElement ()</h3><pre class="programlisting">int	xmlTextWriterStartDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Start an xml DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartDTDEntity"/>xmlTextWriterStartDTDEntity ()</h3><pre class="programlisting">int	xmlTextWriterStartDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 int pe, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Start an xml DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartDocument"/>xmlTextWriterStartDocument ()</h3><pre class="programlisting">int	xmlTextWriterStartDocument	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * version, <br/>					 const char * encoding, <br/>					 const char * standalone)<br/>
-</pre><p>Start a new xml document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>version</tt></i>:</span></td><td>the xml version ("1.0") or NULL for default ("1.0")</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding or NULL for default</td></tr><tr><td><span class="term"><i><tt>standalone</tt></i>:</span></td><td>"yes" or "no" or NULL for default</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartElement"/>xmlTextWriterStartElement ()</h3><pre class="programlisting">int	xmlTextWriterStartElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Start an xml element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartElementNS"/>xmlTextWriterStartElementNS ()</h3><pre class="programlisting">int	xmlTextWriterStartElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br/>
-</pre><p>Start an xml element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix or NULL</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartPI"/>xmlTextWriterStartPI ()</h3><pre class="programlisting">int	xmlTextWriterStartPI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target)<br/>
-</pre><p>Start an xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteAttribute"/>xmlTextWriterWriteAttribute ()</h3><pre class="programlisting">int	xmlTextWriterWriteAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write an xml attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td><a href="libxml2-SAX.html#attribute">attribute</a> content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteAttributeNS"/>xmlTextWriterWriteAttributeNS ()</h3><pre class="programlisting">int	xmlTextWriterWriteAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write an xml attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml2-SAX.html#attribute">attribute</a> local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td><a href="libxml2-SAX.html#attribute">attribute</a> content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteBase64"/>xmlTextWriterWriteBase64 ()</h3><pre class="programlisting">int	xmlTextWriterWriteBase64	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * data, <br/>					 int start, <br/>					 int len)<br/>
-</pre><p>Write an base64 encoded xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>binary data</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the position within the data of the first byte to encode</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of bytes to encode</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteBinHex"/>xmlTextWriterWriteBinHex ()</h3><pre class="programlisting">int	xmlTextWriterWriteBinHex	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * data, <br/>					 int start, <br/>					 int len)<br/>
-</pre><p>Write a BinHex encoded xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>binary data</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the position within the data of the first byte to encode</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of bytes to encode</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteCDATA"/>xmlTextWriterWriteCDATA ()</h3><pre class="programlisting">int	xmlTextWriterWriteCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write an xml CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>CDATA content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteComment"/>xmlTextWriterWriteComment ()</h3><pre class="programlisting">int	xmlTextWriterWriteComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write an xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td><a href="libxml2-SAX.html#comment">comment</a> string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteDTD"/>xmlTextWriterWriteDTD ()</h3><pre class="programlisting">int	xmlTextWriterWriteDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset)<br/>
-</pre><p>Write a DTD.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>subset</tt></i>:</span></td><td>string content of the DTD</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteDTDAttlist"/>xmlTextWriterWriteDTDAttlist ()</h3><pre class="programlisting">int	xmlTextWriterWriteDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write a DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>content of the ATTLIST</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteDTDElement"/>xmlTextWriterWriteDTDElement ()</h3><pre class="programlisting">int	xmlTextWriterWriteDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write a DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>content of the element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteDTDEntity"/>xmlTextWriterWriteDTDEntity ()</h3><pre class="programlisting">int	xmlTextWriterWriteDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 int pe, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write a DTD entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>ndataid</tt></i>:</span></td><td>the xml notation name.</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>content of the entity</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteDTDExternalEntity"/>xmlTextWriterWriteDTDExternalEntity ()</h3><pre class="programlisting">int	xmlTextWriterWriteDTDExternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 int pe, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br/>
-</pre><p>Write a DTD external entity. The entity must have been started with <a href="libxml2-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>ndataid</tt></i>:</span></td><td>the xml notation name.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteDTDExternalEntityContents"/>xmlTextWriterWriteDTDExternalEntityContents ()</h3><pre class="programlisting">int	xmlTextWriterWriteDTDExternalEntityContents	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br/>
-</pre><p>Write the contents of a DTD external entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>ndataid</tt></i>:</span></td><td>the xml notation name.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteDTDInternalEntity"/>xmlTextWriterWriteDTDInternalEntity ()</h3><pre class="programlisting">int	xmlTextWriterWriteDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 int pe, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write a DTD internal entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>content of the entity</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteDTDNotation"/>xmlTextWriterWriteDTDNotation ()</h3><pre class="programlisting">int	xmlTextWriterWriteDTDNotation	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br/>
-</pre><p>Write a DTD entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the xml notation</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteElement"/>xmlTextWriterWriteElement ()</h3><pre class="programlisting">int	xmlTextWriterWriteElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write an xml element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>element content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteElementNS"/>xmlTextWriterWriteElementNS ()</h3><pre class="programlisting">int	xmlTextWriterWriteElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write an xml element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>element content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatAttribute"/>xmlTextWriterWriteFormatAttribute ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 ... ...)<br/>
-</pre><p>Write a formatted xml attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatAttributeNS"/>xmlTextWriterWriteFormatAttributeNS ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>						 const char * format, <br/>						 ... ...)<br/>
-</pre><p>Write a formatted xml attribute.with namespace support</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml2-SAX.html#attribute">attribute</a> local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatCDATA"/>xmlTextWriterWriteFormatCDATA ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatCDATA	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 ... ...)<br/>
-</pre><p>Write a formatted xml CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatComment"/>xmlTextWriterWriteFormatComment ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 ... ...)<br/>
-</pre><p>Write an xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatDTD"/>xmlTextWriterWriteFormatDTD ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTD	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>					 const char * format, <br/>					 ... ...)<br/>
-</pre><p>Write a DTD with a formatted markup declarations part.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatDTDAttlist"/>xmlTextWriterWriteFormatDTDAttlist ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 ... ...)<br/>
-</pre><p>Write a formatted DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatDTDElement"/>xmlTextWriterWriteFormatDTDElement ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 ... ...)<br/>
-</pre><p>Write a formatted DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatDTDInternalEntity"/>xmlTextWriterWriteFormatDTDInternalEntity ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>							 int pe, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const char * format, <br/>							 ... ...)<br/>
-</pre><p>Write a formatted DTD internal entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatElement"/>xmlTextWriterWriteFormatElement ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const char * format, <br/>					 ... ...)<br/>
-</pre><p>Write a formatted xml element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatElementNS"/>xmlTextWriterWriteFormatElementNS ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>						 const char * format, <br/>						 ... ...)<br/>
-</pre><p>Write a formatted xml element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatPI"/>xmlTextWriterWriteFormatPI ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatPI	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const char * format, <br/>					 ... ...)<br/>
-</pre><p>Write a formatted PI.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatRaw"/>xmlTextWriterWriteFormatRaw ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatRaw	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 ... ...)<br/>
-</pre><p>Write a formatted raw xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatString"/>xmlTextWriterWriteFormatString ()</h3><pre class="programlisting">int	xmlTextWriterWriteFormatString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 ... ...)<br/>
-</pre><p>Write a formatted xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWritePI"/>xmlTextWriterWritePI ()</h3><pre class="programlisting">int	xmlTextWriterWritePI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write an xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>PI content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteRaw"/>xmlTextWriterWriteRaw ()</h3><pre class="programlisting">int	xmlTextWriterWriteRaw		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write a raw xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>text string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteRawLen"/>xmlTextWriterWriteRawLen ()</h3><pre class="programlisting">int	xmlTextWriterWriteRawLen	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>					 int len)<br/>
-</pre><p>Write an xml text. TODO: what about entities and special chars??</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>text string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>length of the text string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteString"/>xmlTextWriterWriteString ()</h3><pre class="programlisting">int	xmlTextWriterWriteString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write an xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>text string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatAttribute"/>xmlTextWriterWriteVFormatAttribute ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 va_list argptr)<br/>
-</pre><p>Write a formatted xml attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatAttributeNS"/>xmlTextWriterWriteVFormatAttributeNS ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>						 const char * format, <br/>						 va_list argptr)<br/>
-</pre><p>Write a formatted xml attribute.with namespace support</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml2-SAX.html#attribute">attribute</a> local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatCDATA"/>xmlTextWriterWriteVFormatCDATA ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatCDATA	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 va_list argptr)<br/>
-</pre><p>Write a formatted xml CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatComment"/>xmlTextWriterWriteVFormatComment ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const char * format, <br/>						 va_list argptr)<br/>
-</pre><p>Write an xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatDTD"/>xmlTextWriterWriteVFormatDTD ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatDTD	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>					 const char * format, <br/>					 va_list argptr)<br/>
-</pre><p>Write a DTD with a formatted markup declarations part.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatDTDAttlist"/>xmlTextWriterWriteVFormatDTDAttlist ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 va_list argptr)<br/>
-</pre><p>Write a formatted DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatDTDElement"/>xmlTextWriterWriteVFormatDTDElement ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 va_list argptr)<br/>
-</pre><p>Write a formatted DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatDTDInternalEntity"/>xmlTextWriterWriteVFormatDTDInternalEntity ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>							 int pe, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const char * format, <br/>							 va_list argptr)<br/>
-</pre><p>Write a formatted DTD internal entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatElement"/>xmlTextWriterWriteVFormatElement ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const char * format, <br/>						 va_list argptr)<br/>
-</pre><p>Write a formatted xml element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatElementNS"/>xmlTextWriterWriteVFormatElementNS ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br/>						 const char * format, <br/>						 va_list argptr)<br/>
-</pre><p>Write a formatted xml element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatPI"/>xmlTextWriterWriteVFormatPI ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatPI	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>					 const char * format, <br/>					 va_list argptr)<br/>
-</pre><p>Write a formatted xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatRaw"/>xmlTextWriterWriteVFormatRaw ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatRaw	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 va_list argptr)<br/>
-</pre><p>Write a formatted raw xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteVFormatString"/>xmlTextWriterWriteVFormatString ()</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>					 const char * format, <br/>					 va_list argptr)<br/>
-</pre><p>Write a formatted xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeTextWriter"></a>xmlFreeTextWriter ()</h3>
+<pre class="programlisting">void	xmlFreeTextWriter		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>Deallocate all the resources associated to the writer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriter"></a>xmlNewTextWriter ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriter	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure using an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> NOTE: the @out parameter will be deallocated when the writer is closed (if the call succeed.)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriterDoc"></a>xmlNewTextWriterDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterDoc	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br>						 int compression)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @*doc as output</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>address of a <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> to hold the new XML document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>compress the output?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriterFilename"></a>xmlNewTextWriterFilename ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterFilename	(const char * uri, <br>							 int compression)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @uri as output</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 of the resource for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>compress the output?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriterMemory"></a>xmlNewTextWriterMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterMemory	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>						 int compression)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @buf as output TODO: handle compression</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>compress the output?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriterPushParser"></a>xmlNewTextWriterPushParser ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterPushParser	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int compression)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @ctxt as output NOTE: the @ctxt context will be freed with the resulting writer (if the call succeeds). TODO: handle compression</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> to hold the new XML document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>compress the output?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriterTree"></a>xmlNewTextWriterTree ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterTree	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 int compression)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @doc as output starting at @node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL for doc-&gt;children</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>compress the output?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndAttribute"></a>xmlTextWriterEndAttribute ()</h3>
+<pre class="programlisting">int	xmlTextWriterEndAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End the current xml element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndCDATA"></a>xmlTextWriterEndCDATA ()</h3>
+<pre class="programlisting">int	xmlTextWriterEndCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End an xml CDATA section.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndComment"></a>xmlTextWriterEndComment ()</h3>
+<pre class="programlisting">int	xmlTextWriterEndComment		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End the current xml <a href="libxml2-SAX.html#comment">comment</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndDTD"></a>xmlTextWriterEndDTD ()</h3>
+<pre class="programlisting">int	xmlTextWriterEndDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End an xml DTD.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndDTDAttlist"></a>xmlTextWriterEndDTDAttlist ()</h3>
+<pre class="programlisting">int	xmlTextWriterEndDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End an xml DTD <a href="libxml2-SAX.html#attribute">attribute</a> list.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndDTDElement"></a>xmlTextWriterEndDTDElement ()</h3>
+<pre class="programlisting">int	xmlTextWriterEndDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End an xml DTD element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndDTDEntity"></a>xmlTextWriterEndDTDEntity ()</h3>
+<pre class="programlisting">int	xmlTextWriterEndDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End an xml DTD entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndDocument"></a>xmlTextWriterEndDocument ()</h3>
+<pre class="programlisting">int	xmlTextWriterEndDocument	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End an xml document. All open elements are closed, and the content is flushed to the output.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndElement"></a>xmlTextWriterEndElement ()</h3>
+<pre class="programlisting">int	xmlTextWriterEndElement		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End the current xml element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndPI"></a>xmlTextWriterEndPI ()</h3>
+<pre class="programlisting">int	xmlTextWriterEndPI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End the current xml PI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterFlush"></a>xmlTextWriterFlush ()</h3>
+<pre class="programlisting">int	xmlTextWriterFlush		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>Flush the output buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterFullEndElement"></a>xmlTextWriterFullEndElement ()</h3>
+<pre class="programlisting">int	xmlTextWriterFullEndElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End the current xml element. Writes an end tag even if the element is empty</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterSetIndent"></a>xmlTextWriterSetIndent ()</h3>
+<pre class="programlisting">int	xmlTextWriterSetIndent		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int indent)<br>
+</pre>
+<p>Set indentation output. indent = 0 do not indentation. indent &gt; 0 do indentation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>indent</tt></i>:</span></td>
+<td>do indentation?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 on error or 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterSetIndentString"></a>xmlTextWriterSetIndentString ()</h3>
+<pre class="programlisting">int	xmlTextWriterSetIndentString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Set string indentation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 on error or 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterSetQuoteChar"></a>xmlTextWriterSetQuoteChar ()</h3>
+<pre class="programlisting">int	xmlTextWriterSetQuoteChar	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar)<br>
+</pre>
+<p>Set the character used for quoting attributes.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>quotechar</tt></i>:</span></td>
+<td>the quote character</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 on error or 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartAttribute"></a>xmlTextWriterStartAttribute ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Start an xml <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartAttributeNS"></a>xmlTextWriterStartAttributeNS ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
+</pre>
+<p>Start an xml <a href="libxml2-SAX.html#attribute">attribute</a> with namespace support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartCDATA"></a>xmlTextWriterStartCDATA ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>Start an xml CDATA section.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartComment"></a>xmlTextWriterStartComment ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>Start an xml <a href="libxml2-SAX.html#comment">comment</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartDTD"></a>xmlTextWriterStartDTD ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br>
+</pre>
+<p>Start an xml DTD.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartDTDAttlist"></a>xmlTextWriterStartDTDAttlist ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Start an xml DTD ATTLIST.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartDTDElement"></a>xmlTextWriterStartDTDElement ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Start an xml DTD element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartDTDEntity"></a>xmlTextWriterStartDTDEntity ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Start an xml DTD ATTLIST.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartDocument"></a>xmlTextWriterStartDocument ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartDocument	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * version, <br>					 const char * encoding, <br>					 const char * standalone)<br>
+</pre>
+<p>Start a new xml document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>version</tt></i>:</span></td>
+<td>the xml version ("1.0") or NULL for default ("1.0")</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding or NULL for default</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>standalone</tt></i>:</span></td>
+<td>"yes" or "no" or NULL for default</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartElement"></a>xmlTextWriterStartElement ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Start an xml element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartElementNS"></a>xmlTextWriterStartElementNS ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
+</pre>
+<p>Start an xml element with namespace support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartPI"></a>xmlTextWriterStartPI ()</h3>
+<pre class="programlisting">int	xmlTextWriterStartPI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target)<br>
+</pre>
+<p>Start an xml PI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>PI target</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteAttribute"></a>xmlTextWriterWriteAttribute ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write an xml <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#attribute">attribute</a> content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteAttributeNS"></a>xmlTextWriterWriteAttributeNS ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write an xml <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#attribute">attribute</a> content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteBase64"></a>xmlTextWriterWriteBase64 ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteBase64	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len)<br>
+</pre>
+<p>Write an base64 encoded xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>binary data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the position within the data of the first byte to encode</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of bytes to encode</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteBinHex"></a>xmlTextWriterWriteBinHex ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteBinHex	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len)<br>
+</pre>
+<p>Write a BinHex encoded xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>binary data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the position within the data of the first byte to encode</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of bytes to encode</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteCDATA"></a>xmlTextWriterWriteCDATA ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write an xml CDATA.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>CDATA content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteComment"></a>xmlTextWriterWriteComment ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write an xml <a href="libxml2-SAX.html#comment">comment</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#comment">comment</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTD"></a>xmlTextWriterWriteDTD ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset)<br>
+</pre>
+<p>Write a DTD.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>subset</tt></i>:</span></td>
+<td>string content of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDAttlist"></a>xmlTextWriterWriteDTDAttlist ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write a DTD ATTLIST.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>content of the ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDElement"></a>xmlTextWriterWriteDTDElement ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write a DTD element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>content of the element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDEntity"></a>xmlTextWriterWriteDTDEntity ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write a DTD entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
+<td>the xml notation name.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>content of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDExternalEntity"></a>xmlTextWriterWriteDTDExternalEntity ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteDTDExternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br>
+</pre>
+<p>Write a DTD external entity. The entity must have been started with <a href="libxml2-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
+<td>the xml notation name.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDExternalEntityContents"></a>xmlTextWriterWriteDTDExternalEntityContents ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteDTDExternalEntityContents	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br>
+</pre>
+<p>Write the contents of a DTD external entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
+<td>the xml notation name.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDInternalEntity"></a>xmlTextWriterWriteDTDInternalEntity ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write a DTD internal entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>content of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDNotation"></a>xmlTextWriterWriteDTDNotation ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteDTDNotation	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br>
+</pre>
+<p>Write a DTD entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the xml notation</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteElement"></a>xmlTextWriterWriteElement ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write an xml element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>element content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteElementNS"></a>xmlTextWriterWriteElementNS ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write an xml element with namespace support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>element content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatAttribute"></a>xmlTextWriterWriteFormatAttribute ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...)<br>
+</pre>
+<p>Write a formatted xml <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatAttributeNS"></a>xmlTextWriterWriteFormatAttributeNS ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...)<br>
+</pre>
+<p>Write a formatted xml attribute.with namespace support</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatCDATA"></a>xmlTextWriterWriteFormatCDATA ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatCDATA	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
+</pre>
+<p>Write a formatted xml CDATA.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatComment"></a>xmlTextWriterWriteFormatComment ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
+</pre>
+<p>Write an xml <a href="libxml2-SAX.html#comment">comment</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatDTD"></a>xmlTextWriterWriteFormatDTD ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatDTD	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 ... ...)<br>
+</pre>
+<p>Write a DTD with a formatted markup declarations part.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatDTDAttlist"></a>xmlTextWriterWriteFormatDTDAttlist ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...)<br>
+</pre>
+<p>Write a formatted DTD ATTLIST.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatDTDElement"></a>xmlTextWriterWriteFormatDTDElement ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...)<br>
+</pre>
+<p>Write a formatted DTD element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatDTDInternalEntity"></a>xmlTextWriterWriteFormatDTDInternalEntity ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 ... ...)<br>
+</pre>
+<p>Write a formatted DTD internal entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatElement"></a>xmlTextWriterWriteFormatElement ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const char * format, <br>					 ... ...)<br>
+</pre>
+<p>Write a formatted xml element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatElementNS"></a>xmlTextWriterWriteFormatElementNS ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...)<br>
+</pre>
+<p>Write a formatted xml element with namespace support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatPI"></a>xmlTextWriterWriteFormatPI ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatPI	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 ... ...)<br>
+</pre>
+<p>Write a formatted PI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>PI target</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatRaw"></a>xmlTextWriterWriteFormatRaw ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatRaw	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
+</pre>
+<p>Write a formatted raw xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatString"></a>xmlTextWriterWriteFormatString ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteFormatString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
+</pre>
+<p>Write a formatted xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWritePI"></a>xmlTextWriterWritePI ()</h3>
+<pre class="programlisting">int	xmlTextWriterWritePI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write an xml PI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>PI target</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>PI content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteRaw"></a>xmlTextWriterWriteRaw ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteRaw		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write a raw xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>text string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteRawLen"></a>xmlTextWriterWriteRawLen ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteRawLen	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
+</pre>
+<p>Write an xml text. TODO: what about entities and special chars??</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>text string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>length of the text string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteString"></a>xmlTextWriterWriteString ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write an xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>text string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatAttribute"></a>xmlTextWriterWriteVFormatAttribute ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
+</pre>
+<p>Write a formatted xml <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatAttributeNS"></a>xmlTextWriterWriteVFormatAttributeNS ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr)<br>
+</pre>
+<p>Write a formatted xml attribute.with namespace support</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatCDATA"></a>xmlTextWriterWriteVFormatCDATA ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatCDATA	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr)<br>
+</pre>
+<p>Write a formatted xml CDATA.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatComment"></a>xmlTextWriterWriteVFormatComment ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const char * format, <br>						 va_list argptr)<br>
+</pre>
+<p>Write an xml <a href="libxml2-SAX.html#comment">comment</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatDTD"></a>xmlTextWriterWriteVFormatDTD ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatDTD	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 va_list argptr)<br>
+</pre>
+<p>Write a DTD with a formatted markup declarations part.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatDTDAttlist"></a>xmlTextWriterWriteVFormatDTDAttlist ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
+</pre>
+<p>Write a formatted DTD ATTLIST.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatDTDElement"></a>xmlTextWriterWriteVFormatDTDElement ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
+</pre>
+<p>Write a formatted DTD element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatDTDInternalEntity"></a>xmlTextWriterWriteVFormatDTDInternalEntity ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 va_list argptr)<br>
+</pre>
+<p>Write a formatted DTD internal entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatElement"></a>xmlTextWriterWriteVFormatElement ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
+</pre>
+<p>Write a formatted xml element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatElementNS"></a>xmlTextWriterWriteVFormatElementNS ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr)<br>
+</pre>
+<p>Write a formatted xml element with namespace support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatPI"></a>xmlTextWriterWriteVFormatPI ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatPI	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 va_list argptr)<br>
+</pre>
+<p>Write a formatted xml PI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>PI target</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatRaw"></a>xmlTextWriterWriteVFormatRaw ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatRaw	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr)<br>
+</pre>
+<p>Write a formatted raw xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatString"></a>xmlTextWriterWriteVFormatString ()</h3>
+<pre class="programlisting">int	xmlTextWriterWriteVFormatString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr)<br>
+</pre>
+<p>Write a formatted xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xpath.html b/doc/devhelp/libxml2-xpath.html
index da986e8..a5970ac 100644
--- a/doc/devhelp/libxml2-xpath.html
+++ b/doc/devhelp/libxml2-xpath.html
@@ -1,181 +1,232 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xpath: XML Path Language implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlwriter.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xpathInternals.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xpath</span>
-    </h2>
-    <p>xpath - XML Path Language implementation</p>
-    <p>API for the XML Path Language implementation  XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
-#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xpath: XML Path Language implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xmlwriter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xpathInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xpath</span></h2>
+<p>xpath - XML Path Language implementation</p>
+<p>API for the XML Path Language implementation  XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
 #define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a>;
-#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a>(ns, index);
+#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
 #define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a>(ns);
-typedef enum <a href="#xmlXPathObjectType">xmlXPathObjectType</a>;
-typedef <a href="libxml2-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * <a href="#xmlXPathVariablePtr">xmlXPathVariablePtr</a>;
-typedef struct _xmlXPathContext <a href="#xmlXPathContext">xmlXPathContext</a>;
-typedef enum <a href="#xmlXPathError">xmlXPathError</a>;
-typedef struct _xmlXPathFunct <a href="#xmlXPathFunct">xmlXPathFunct</a>;
-typedef <a href="libxml2-xpath.html#xmlXPathType">xmlXPathType</a> * <a href="#xmlXPathTypePtr">xmlXPathTypePtr</a>;
-typedef struct _xmlXPathType <a href="#xmlXPathType">xmlXPathType</a>;
-typedef <a href="libxml2-xpath.html#xmlNodeSet">xmlNodeSet</a> * <a href="#xmlNodeSetPtr">xmlNodeSetPtr</a>;
-typedef <a href="libxml2-xpath.html#xmlXPathFunct">xmlXPathFunct</a> * <a href="#xmlXPathFuncPtr">xmlXPathFuncPtr</a>;
-typedef <a href="libxml2-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a> * <a href="#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>;
-typedef struct _xmlXPathObject <a href="#xmlXPathObject">xmlXPathObject</a>;
-typedef struct _xmlXPathCompExpr <a href="#xmlXPathCompExpr">xmlXPathCompExpr</a>;
-typedef <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> * <a href="#xmlXPathContextPtr">xmlXPathContextPtr</a>;
-typedef <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> * <a href="#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>;
+#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a>(ns, index);
 typedef struct _xmlNodeSet <a href="#xmlNodeSet">xmlNodeSet</a>;
-typedef struct _xmlXPathVariable <a href="#xmlXPathVariable">xmlXPathVariable</a>;
-typedef <a href="libxml2-xpath.html#xmlXPathObject">xmlXPathObject</a> * <a href="#xmlXPathObjectPtr">xmlXPathObjectPtr</a>;
+typedef <a href="libxml2-xpath.html#xmlNodeSet">xmlNodeSet</a> * <a href="#xmlNodeSetPtr">xmlNodeSetPtr</a>;
 typedef struct _xmlXPathAxis <a href="#xmlXPathAxis">xmlXPathAxis</a>;
 typedef <a href="libxml2-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * <a href="#xmlXPathAxisPtr">xmlXPathAxisPtr</a>;
+typedef struct _xmlXPathCompExpr <a href="#xmlXPathCompExpr">xmlXPathCompExpr</a>;
+typedef <a href="libxml2-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a> * <a href="#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>;
+typedef struct _xmlXPathContext <a href="#xmlXPathContext">xmlXPathContext</a>;
+typedef <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> * <a href="#xmlXPathContextPtr">xmlXPathContextPtr</a>;
+typedef enum <a href="#xmlXPathError">xmlXPathError</a>;
+typedef <a href="libxml2-xpath.html#xmlXPathFunct">xmlXPathFunct</a> * <a href="#xmlXPathFuncPtr">xmlXPathFuncPtr</a>;
+typedef struct _xmlXPathFunct <a href="#xmlXPathFunct">xmlXPathFunct</a>;
+typedef struct _xmlXPathObject <a href="#xmlXPathObject">xmlXPathObject</a>;
+typedef <a href="libxml2-xpath.html#xmlXPathObject">xmlXPathObject</a> * <a href="#xmlXPathObjectPtr">xmlXPathObjectPtr</a>;
+typedef enum <a href="#xmlXPathObjectType">xmlXPathObjectType</a>;
 typedef struct _xmlXPathParserContext <a href="#xmlXPathParserContext">xmlXPathParserContext</a>;
-int	<a href="#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
-typedef <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	(void * ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNodeEval">xmlXPathNodeEval</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-int	<a href="#xmlXPathIsNaN">xmlXPathIsNaN</a>			(double val);
-int	<a href="#xmlXPathContextSetCache">xmlXPathContextSetCache</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 int active, <br/>					 int value, <br/>					 int options);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertString">xmlXPathConvertString</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-int	<a href="#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a>	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br/>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
-int	<a href="#xmlXPathIsInf">xmlXPathIsInf</a>			(double val);
-long	<a href="#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+typedef <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> * <a href="#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>;
+typedef struct _xmlXPathType <a href="#xmlXPathType">xmlXPathType</a>;
+typedef <a href="libxml2-xpath.html#xmlXPathType">xmlXPathType</a> * <a href="#xmlXPathTypePtr">xmlXPathTypePtr</a>;
+typedef struct _xmlXPathVariable <a href="#xmlXPathVariable">xmlXPathVariable</a>;
+typedef <a href="libxml2-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * <a href="#xmlXPathVariablePtr">xmlXPathVariablePtr</a>;
+typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathAxisFunc">xmlXPathAxisFunc</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur);
 double	<a href="#xmlXPathCastBooleanToNumber">xmlXPathCastBooleanToNumber</a>	(int val);
-double	<a href="#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-double	<a href="#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
-typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathAxisFunc">xmlXPathAxisFunc</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur);
-double	<a href="#xmlXPathCastToNumber">xmlXPathCastToNumber</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-int	<a href="#xmlXPathCastStringToBoolean">xmlXPathCastStringToBoolean</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a>	(double val);
-typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	(void * ctxt, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
-void	<a href="#xmlXPathFreeObject">xmlXPathFreeObject</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
-int	<a href="#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
-void	<a href="#xmlXPathFreeContext">xmlXPathFreeContext</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathObjectCopy">xmlXPathObjectCopy</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-void	<a href="#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathEval">xmlXPathEval</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathCompiledEval">xmlXPathCompiledEval</a>	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br/>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathEvalExpression">xmlXPathEvalExpression</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
-void	<a href="#xmlXPathInit">xmlXPathInit</a>			(void);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-typedef int <a href="#xmlXPathConvertFunc">xmlXPathConvertFunc</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br/>					 int type);
-typedef void <a href="#xmlXPathFunction">xmlXPathFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-int	<a href="#xmlXPathCmpNodes">xmlXPathCmpNodes</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastToString">xmlXPathCastToString</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	<a href="#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-typedef void <a href="#xmlXPathEvalFunc">xmlXPathEvalFunc</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a>	(int val);
-int	<a href="#xmlXPathSetContextNode">xmlXPathSetContextNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
-int	<a href="#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a>	(double val);
-void	<a href="#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj);
-void	<a href="#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a>		(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp);
-<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	<a href="#xmlXPathNewContext">xmlXPathNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertNumber">xmlXPathConvertNumber</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	<a href="#xmlXPathCompile">xmlXPathCompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+int	<a href="#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
 double	<a href="#xmlXPathCastNodeSetToNumber">xmlXPathCastNodeSetToNumber</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
+double	<a href="#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int	<a href="#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a>	(double val);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a>	(double val);
+int	<a href="#xmlXPathCastStringToBoolean">xmlXPathCastStringToBoolean</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
+double	<a href="#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
 int	<a href="#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+double	<a href="#xmlXPathCastToNumber">xmlXPathCastToNumber</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastToString">xmlXPathCastToString</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+int	<a href="#xmlXPathCmpNodes">xmlXPathCmpNodes</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	<a href="#xmlXPathCompile">xmlXPathCompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathCompiledEval">xmlXPathCompiledEval</a>	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
+int	<a href="#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a>	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+int	<a href="#xmlXPathContextSetCache">xmlXPathContextSetCache</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 int active, <br>					 int value, <br>					 int options);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+typedef int <a href="#xmlXPathConvertFunc">xmlXPathConvertFunc</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br>					 int type);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertNumber">xmlXPathConvertNumber</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertString">xmlXPathConvertString</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	<a href="#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathEval">xmlXPathEval</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathEvalExpression">xmlXPathEvalExpression</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+typedef void <a href="#xmlXPathEvalFunc">xmlXPathEvalFunc</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+int	<a href="#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
+void	<a href="#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a>		(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp);
+void	<a href="#xmlXPathFreeContext">xmlXPathFreeContext</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+void	<a href="#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj);
+void	<a href="#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
+void	<a href="#xmlXPathFreeObject">xmlXPathFreeObject</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
+typedef <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	(void * ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
+typedef void <a href="#xmlXPathFunction">xmlXPathFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathInit">xmlXPathInit</a>			(void);
+int	<a href="#xmlXPathIsInf">xmlXPathIsInf</a>			(double val);
+int	<a href="#xmlXPathIsNaN">xmlXPathIsNaN</a>			(double val);
+<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	<a href="#xmlXPathNewContext">xmlXPathNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNodeEval">xmlXPathNodeEval</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathObjectCopy">xmlXPathObjectCopy</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+long	<a href="#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int	<a href="#xmlXPathSetContextNode">xmlXPathSetContextNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
+typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	(void * ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="XML_XPATH_CHECKNS">Macro </a>XML_XPATH_CHECKNS</h3><pre class="programlisting">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
-</pre><p>check namespaces at compilation</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_XPATH_NOVAR">Macro </a>XML_XPATH_NOVAR</h3><pre class="programlisting">#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a>;
-</pre><p>forbid variables in expression</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_XPATH_CHECKNS">Macro </a>XML_XPATH_CHECKNS</h3>
+<pre class="programlisting">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
+</pre>
+<p>check namespaces at compilation</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetGetLength">Macro </a>xmlXPathNodeSetGetLength</h3><pre class="programlisting">#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
-</pre><p>Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the node-set.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_XPATH_NOVAR">Macro </a>XML_XPATH_NOVAR</h3>
+<pre class="programlisting">#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a>;
+</pre>
+<p>forbid variables in expression</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetIsEmpty">Macro </a>xmlXPathNodeSetIsEmpty</h3><pre class="programlisting">#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a>(ns);
-</pre><p>Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetGetLength">Macro </a>xmlXPathNodeSetGetLength</h3>
+<pre class="programlisting">#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
+</pre>
+<p>Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the node-set.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetItem">Macro </a>xmlXPathNodeSetItem</h3><pre class="programlisting">#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a>(ns, index);
-</pre><p>Implements a functionality similar to the DOM NodeList.item(). Returns the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> at the given @index in @ns or NULL if @index is out of range (0 to length-1)</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>index</tt></i>:</span></td><td>index of a node in the set</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetIsEmpty">Macro </a>xmlXPathNodeSetIsEmpty</h3>
+<pre class="programlisting">#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a>(ns);
+</pre>
+<p>Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSet">Structure </a>xmlNodeSet</h3><pre class="programlisting">struct _xmlNodeSet {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetItem">Macro </a>xmlXPathNodeSetItem</h3>
+<pre class="programlisting">#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a>(ns, index);
+</pre>
+<p>Implements a functionality similar to the DOM NodeList.item(). Returns the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> at the given @index in @ns or NULL if @index is out of range (0 to length-1)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>index</tt></i>:</span></td>
+<td>index of a node in the set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSet">Structure </a>xmlNodeSet</h3>
+<pre class="programlisting">struct _xmlNodeSet {
     int	nodeNr	: number of nodes in the set
     int	nodeMax	: size of the array as allocated
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes in no particular order @@ with_ns to check whether nam
 } xmlNodeSet;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetPtr">Typedef </a>xmlNodeSetPtr</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSet">xmlNodeSet</a> * xmlNodeSetPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetPtr">Typedef </a>xmlNodeSetPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSet">xmlNodeSet</a> * xmlNodeSetPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathAxis">Structure </a>xmlXPathAxis</h3><pre class="programlisting">struct _xmlXPathAxis {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathAxis">Structure </a>xmlXPathAxis</h3>
+<pre class="programlisting">struct _xmlXPathAxis {
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the axis name
     <a href="libxml2-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a>	func	: the search function
 } xmlXPathAxis;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathAxisPtr">Typedef </a>xmlXPathAxisPtr</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * xmlXPathAxisPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathAxisPtr">Typedef </a>xmlXPathAxisPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * xmlXPathAxisPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCompExpr">Structure </a>xmlXPathCompExpr</h3><pre class="programlisting">struct _xmlXPathCompExpr {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompExpr">Structure </a>xmlXPathCompExpr</h3>
+<pre class="programlisting">struct _xmlXPathCompExpr {
 The content of this structure is not made public by the API.
 } xmlXPathCompExpr;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCompExprPtr">Typedef </a>xmlXPathCompExprPtr</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a> * xmlXPathCompExprPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompExprPtr">Typedef </a>xmlXPathCompExprPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a> * xmlXPathCompExprPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathContext">Structure </a>xmlXPathContext</h3><pre class="programlisting">struct _xmlXPathContext {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathContext">Structure </a>xmlXPathContext</h3>
+<pre class="programlisting">struct _xmlXPathContext {
     <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc	: The current document
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: The current node
     int	nb_variables_unused	: unused (hash table)
@@ -219,14 +270,22 @@
     unsigned long	opCount
     int	depth
 } xmlXPathContext;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathContextPtr">Typedef </a>xmlXPathContextPtr</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> * xmlXPathContextPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathContextPtr">Typedef </a>xmlXPathContextPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> * xmlXPathContextPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathError">Enum </a>xmlXPathError</h3><pre class="programlisting">enum <a href="#xmlXPathError">xmlXPathError</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathError">Enum </a>xmlXPathError</h3>
+<pre class="programlisting">enum <a href="#xmlXPathError">xmlXPathError</a> {
     <a name="XPATH_EXPRESSION_OK">XPATH_EXPRESSION_OK</a> = 0
     <a name="XPATH_NUMBER_ERROR">XPATH_NUMBER_ERROR</a> = 1
     <a name="XPATH_UNFINISHED_LITERAL_ERROR">XPATH_UNFINISHED_LITERAL_ERROR</a> = 2
@@ -255,21 +314,33 @@
     <a name="XPATH_OP_LIMIT_EXCEEDED">XPATH_OP_LIMIT_EXCEEDED</a> = 25
     <a name="XPATH_RECURSION_LIMIT_EXCEEDED">XPATH_RECURSION_LIMIT_EXCEEDED</a> = 26
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFuncPtr">Typedef </a>xmlXPathFuncPtr</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunct">xmlXPathFunct</a> * xmlXPathFuncPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFuncPtr">Typedef </a>xmlXPathFuncPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunct">xmlXPathFunct</a> * xmlXPathFuncPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFunct">Structure </a>xmlXPathFunct</h3><pre class="programlisting">struct _xmlXPathFunct {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFunct">Structure </a>xmlXPathFunct</h3>
+<pre class="programlisting">struct _xmlXPathFunct {
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the function name
     <a href="libxml2-xpath.html#xmlXPathEvalFunc">xmlXPathEvalFunc</a>	func	: the evaluation function
 } xmlXPathFunct;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathObject">Structure </a>xmlXPathObject</h3><pre class="programlisting">struct _xmlXPathObject {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathObject">Structure </a>xmlXPathObject</h3>
+<pre class="programlisting">struct _xmlXPathObject {
     <a href="libxml2-xpath.html#xmlXPathObjectType">xmlXPathObjectType</a>	type
     <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	nodesetval
     int	boolval
@@ -280,14 +351,22 @@
     void *	user2
     int	index2
 } xmlXPathObject;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathObjectPtr">Typedef </a>xmlXPathObjectPtr</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObject">xmlXPathObject</a> * xmlXPathObjectPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathObjectPtr">Typedef </a>xmlXPathObjectPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObject">xmlXPathObject</a> * xmlXPathObjectPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathObjectType">Enum </a>xmlXPathObjectType</h3><pre class="programlisting">enum <a href="#xmlXPathObjectType">xmlXPathObjectType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathObjectType">Enum </a>xmlXPathObjectType</h3>
+<pre class="programlisting">enum <a href="#xmlXPathObjectType">xmlXPathObjectType</a> {
     <a name="XPATH_UNDEFINED">XPATH_UNDEFINED</a> = 0
     <a name="XPATH_NODESET">XPATH_NODESET</a> = 1
     <a name="XPATH_BOOLEAN">XPATH_BOOLEAN</a> = 2
@@ -299,10 +378,14 @@
     <a name="XPATH_USERS">XPATH_USERS</a> = 8
     <a name="XPATH_XSLT_TREE">XPATH_XSLT_TREE</a> = 9 /*  An XSLT value tree, non modifiable */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathParserContext">Structure </a>xmlXPathParserContext</h3><pre class="programlisting">struct _xmlXPathParserContext {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathParserContext">Structure </a>xmlXPathParserContext</h3>
+<pre class="programlisting">struct _xmlXPathParserContext {
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	cur	: the current char being parsed
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base	: the full expression
     int	error	: error code
@@ -316,232 +399,1080 @@
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	ancestor	: used for walking preceding axis
     int	valueFrame	: used to limit Pop on the stack
 } xmlXPathParserContext;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathParserContextPtr">Typedef </a>xmlXPathParserContextPtr</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> * xmlXPathParserContextPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathParserContextPtr">Typedef </a>xmlXPathParserContextPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> * xmlXPathParserContextPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathType">Structure </a>xmlXPathType</h3><pre class="programlisting">struct _xmlXPathType {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathType">Structure </a>xmlXPathType</h3>
+<pre class="programlisting">struct _xmlXPathType {
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the type name
     <a href="libxml2-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a>	func	: the conversion function
 } xmlXPathType;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathTypePtr">Typedef </a>xmlXPathTypePtr</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathType">xmlXPathType</a> * xmlXPathTypePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathTypePtr">Typedef </a>xmlXPathTypePtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathType">xmlXPathType</a> * xmlXPathTypePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathVariable">Structure </a>xmlXPathVariable</h3><pre class="programlisting">struct _xmlXPathVariable {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathVariable">Structure </a>xmlXPathVariable</h3>
+<pre class="programlisting">struct _xmlXPathVariable {
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the variable name
     <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	value	: the value
 } xmlXPathVariable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathVariablePtr">Typedef </a>xmlXPathVariablePtr</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * xmlXPathVariablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathVariablePtr">Typedef </a>xmlXPathVariablePtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * xmlXPathVariablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathAxisFunc"/>Function type xmlXPathAxisFunc</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathAxisFunc	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath interpreter context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the previous node being explored on that axis</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next node in that axis or NULL if at the end of the axis.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathConvertFunc"/>Function type xmlXPathConvertFunc</h3><pre class="programlisting">int	xmlXPathConvertFunc		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br/>					 int type)<br/>
-</pre><p>A conversion function is associated to a type and used to cast the new type to primitive values.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the number of the target type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEvalFunc"/>Function type xmlXPathEvalFunc</h3><pre class="programlisting">void	xmlXPathEvalFunc		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>An XPath evaluation function, the parameters are on the XPath context stack.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments passed to the function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFuncLookupFunc"/>Function type xmlXPathFuncLookupFunc</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFuncLookupFunc	(void * ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br/>
-</pre><p>Prototype for callbacks used to plug function lookup in the XPath engine.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name of the function</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name hosting this function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath function or NULL if not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFunction"/>Function type xmlXPathFunction</h3><pre class="programlisting">void	xmlXPathFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath interprestation context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathVariableLookupFunc"/>Function type xmlXPathVariableLookupFunc</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupFunc	(void * ctxt, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br/>
-</pre><p>Prototype for callbacks used to plug variable lookup in the XPath engine.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name of the variable</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name hosting this variable</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object value or NULL if not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNAN">Variable </a>xmlXPathNAN</h3><pre class="programlisting">double xmlXPathNAN;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathAxisFunc"></a>Function type xmlXPathAxisFunc</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathAxisFunc	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath interpreter context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the previous node being explored on that axis</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next node in that axis or NULL if at the end of the axis.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNINF">Variable </a>xmlXPathNINF</h3><pre class="programlisting">double xmlXPathNINF;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathConvertFunc"></a>Function type xmlXPathConvertFunc</h3>
+<pre class="programlisting">int	xmlXPathConvertFunc		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br>					 int type)<br>
+</pre>
+<p>A conversion function is associated to a type and used to cast the new type to primitive values.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>obj</tt></i>:</span></td>
+<td>an XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the number of the target type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPINF">Variable </a>xmlXPathPINF</h3><pre class="programlisting">double xmlXPathPINF;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEvalFunc"></a>Function type xmlXPathEvalFunc</h3>
+<pre class="programlisting">void	xmlXPathEvalFunc		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>An XPath evaluation function, the parameters are on the XPath context stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments passed to the function</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastBooleanToNumber"/>xmlXPathCastBooleanToNumber ()</h3><pre class="programlisting">double	xmlXPathCastBooleanToNumber	(int val)<br/>
-</pre><p>Converts a boolean to its number value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a boolean</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastBooleanToString"/>xmlXPathCastBooleanToString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastBooleanToString	(int val)<br/>
-</pre><p>Converts a boolean to its string value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a boolean</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated string.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeSetToBoolean"/>xmlXPathCastNodeSetToBoolean ()</h3><pre class="programlisting">int	xmlXPathCastNodeSetToBoolean	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br/>
-</pre><p>Converts a node-set to its boolean value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeSetToNumber"/>xmlXPathCastNodeSetToNumber ()</h3><pre class="programlisting">double	xmlXPathCastNodeSetToNumber	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br/>
-</pre><p>Converts a node-set to its number value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeSetToString"/>xmlXPathCastNodeSetToString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNodeSetToString	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br/>
-</pre><p>Converts a node-set to its string value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated string.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeToNumber"/>xmlXPathCastNodeToNumber ()</h3><pre class="programlisting">double	xmlXPathCastNodeToNumber	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Converts a node to its number value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeToString"/>xmlXPathCastNodeToString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNodeToString	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Converts a node to its string value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated string.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastNumberToBoolean"/>xmlXPathCastNumberToBoolean ()</h3><pre class="programlisting">int	xmlXPathCastNumberToBoolean	(double val)<br/>
-</pre><p>Converts a number to its boolean value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastNumberToString"/>xmlXPathCastNumberToString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNumberToString	(double val)<br/>
-</pre><p>Converts a number to its string value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated string.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastStringToBoolean"/>xmlXPathCastStringToBoolean ()</h3><pre class="programlisting">int	xmlXPathCastStringToBoolean	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>Converts a string to its boolean value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastStringToNumber"/>xmlXPathCastStringToNumber ()</h3><pre class="programlisting">double	xmlXPathCastStringToNumber	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>Converts a string to its number value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastToBoolean"/>xmlXPathCastToBoolean ()</h3><pre class="programlisting">int	xmlXPathCastToBoolean		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an XPath object to its boolean value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastToNumber"/>xmlXPathCastToNumber ()</h3><pre class="programlisting">double	xmlXPathCastToNumber		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an XPath object to its number value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastToString"/>xmlXPathCastToString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastToString	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an existing object to its string() equivalent</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the allocated string value of the object, NULL in case of error. It's up to the caller to free the string memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCmpNodes"/>xmlXPathCmpNodes ()</h3><pre class="programlisting">int	xmlXPathCmpNodes		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Compare two nodes w.r.t document order</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node1</tt></i>:</span></td><td>the first node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>the second node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-2 in case of error 1 if first point &lt; second point, 0 if it's the same node, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCompile"/>xmlXPathCompile ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	xmlXPathCompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Compile an XPath expression</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 XPath expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. the caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCompiledEval"/>xmlXPathCompiledEval ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathCompiledEval	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br/>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br/>
-</pre><p>Evaluate the Precompiled XPath expression in the given context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled XPath expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCompiledEvalToBoolean"/>xmlXPathCompiledEvalToBoolean ()</h3><pre class="programlisting">int	xmlXPathCompiledEvalToBoolean	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br/>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Applies the XPath boolean() function on the result of the given compiled expression.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled XPath expression</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the expression evaluated to true, 0 if to false and -1 in API and internal errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathContextSetCache"/>xmlXPathContextSetCache ()</h3><pre class="programlisting">int	xmlXPathContextSetCache		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 int active, <br/>					 int value, <br/>					 int options)<br/>
-</pre><p>Creates/frees an object cache on the XPath context. If activates XPath objects (xmlXPathObject) will be cached internally to be reused. @options: 0: This will set the XPath object caching: @value: This will set the maximum number of XPath objects to be cached per slot There are 5 slots for: node-set, string, number, boolean, and misc objects. Use &lt;0 for the default number (100). Other values for @options have currently no effect.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>active</tt></i>:</span></td><td>enables/disables (creates/frees) the cache</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a value with semantics dependent on @options</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (currently only the value 0 is used)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the setting succeeded, and -1 on API or internal errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathConvertBoolean"/>xmlXPathConvertBoolean ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertBoolean	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an existing object to its boolean() equivalent</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new object, the old one is freed (or the operation is done directly on @val)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathConvertNumber"/>xmlXPathConvertNumber ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertNumber	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an existing object to its number() equivalent</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new object, the old one is freed (or the operation is done directly on @val)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathConvertString"/>xmlXPathConvertString ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertString	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an existing object to its string() equivalent</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new object, the old one is freed (or the operation is done directly on @val)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCtxtCompile"/>xmlXPathCtxtCompile ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	xmlXPathCtxtCompile	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Compile an XPath expression</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. the caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEval"/>xmlXPathEval ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEval	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br/>
-</pre><p>Evaluate the XPath Location Path in the given context.</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 XPath expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEvalExpression"/>xmlXPathEvalExpression ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEvalExpression	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Alias for xmlXPathEval().</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 XPath expression</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEvalPredicate"/>xmlXPathEvalPredicate ()</h3><pre class="programlisting">int	xmlXPathEvalPredicate		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>res</tt></i>:</span></td><td>the Predicate Expression evaluation result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if predicate is true, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeCompExpr"/>xmlXPathFreeCompExpr ()</h3><pre class="programlisting">void	xmlXPathFreeCompExpr		(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp)<br/>
-</pre><p>Free up the memory allocated by @comp</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>an XPATH comp</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeContext"/>xmlXPathFreeContext ()</h3><pre class="programlisting">void	xmlXPathFreeContext		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Free up an <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeNodeSet"/>xmlXPathFreeNodeSet ()</h3><pre class="programlisting">void	xmlXPathFreeNodeSet		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj)<br/>
-</pre><p>Free the NodeSet compound (not the actual nodes !).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeNodeSetList"/>xmlXPathFreeNodeSetList ()</h3><pre class="programlisting">void	xmlXPathFreeNodeSetList		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br/>
-</pre><p>Free up the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> @obj but don't deallocate the objects in the list contrary to xmlXPathFreeObject().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>an existing NodeSetList object</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeObject"/>xmlXPathFreeObject ()</h3><pre class="programlisting">void	xmlXPathFreeObject		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br/>
-</pre><p>Free up an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> object.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the object to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathInit"/>xmlXPathInit ()</h3><pre class="programlisting">void	xmlXPathInit			(void)<br/>
-</pre><p>Initialize the XPath environment</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFuncLookupFunc"></a>Function type xmlXPathFuncLookupFunc</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFuncLookupFunc	(void * ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
+</pre>
+<p>Prototype for callbacks used to plug function lookup in the XPath engine.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>name of the function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the namespace name hosting this function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the XPath function or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathIsInf"/>xmlXPathIsInf ()</h3><pre class="programlisting">int	xmlXPathIsInf			(double val)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the value is +Infinite, -1 if -Infinite, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathIsNaN"/>xmlXPathIsNaN ()</h3><pre class="programlisting">int	xmlXPathIsNaN			(double val)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the value is a NaN, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewContext"/>xmlXPathNewContext ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPathNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated. The caller will need to free it.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeEval"/>xmlXPathNodeEval ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNodeEval	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br/>
-</pre><p>Evaluate the XPath Location Path in the given context. The node 'node' is set as the context node. The context node is not restored.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to to use as the context node</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetCreate"/>xmlXPathNodeSetCreate ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeSetCreate	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> of type double and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an initial xmlNodePtr, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathObjectCopy"/>xmlXPathObjectCopy ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathObjectCopy	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>allocate a new copy of a given object</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the original object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathOrderDocElems"/>xmlXPathOrderDocElems ()</h3><pre class="programlisting">long	xmlXPathOrderDocElems		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Call this routine to speed up XPath computation on static documents. This stamps all the element nodes with the document order Like for line information, the order is kept in the element-&gt;content field, the value stored is actually - the node number (starting at -1) to be able to differentiate from line numbers.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an input document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements found in the document or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSetContextNode"/>xmlXPathSetContextNode ()</h3><pre class="programlisting">int	xmlXPathSetContextNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br/>
-</pre><p>Sets 'node' as the context node. The node must be in the same document as that associated with the context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to to use as the context node</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error or 0 if successful</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFunction"></a>Function type xmlXPathFunction</h3>
+<pre class="programlisting">void	xmlXPathFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath interprestation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathVariableLookupFunc"></a>Function type xmlXPathVariableLookupFunc</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupFunc	(void * ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
+</pre>
+<p>Prototype for callbacks used to plug variable lookup in the XPath engine.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>name of the variable</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the namespace name hosting this variable</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the XPath object value or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNAN">Variable </a>xmlXPathNAN</h3>
+<pre class="programlisting">double xmlXPathNAN;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNINF">Variable </a>xmlXPathNINF</h3>
+<pre class="programlisting">double xmlXPathNINF;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPINF">Variable </a>xmlXPathPINF</h3>
+<pre class="programlisting">double xmlXPathPINF;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastBooleanToNumber"></a>xmlXPathCastBooleanToNumber ()</h3>
+<pre class="programlisting">double	xmlXPathCastBooleanToNumber	(int val)<br>
+</pre>
+<p>Converts a boolean to its number value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a boolean</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastBooleanToString"></a>xmlXPathCastBooleanToString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastBooleanToString	(int val)<br>
+</pre>
+<p>Converts a boolean to its string value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a boolean</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly allocated string.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNodeSetToBoolean"></a>xmlXPathCastNodeSetToBoolean ()</h3>
+<pre class="programlisting">int	xmlXPathCastNodeSetToBoolean	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
+</pre>
+<p>Converts a node-set to its boolean value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the boolean value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNodeSetToNumber"></a>xmlXPathCastNodeSetToNumber ()</h3>
+<pre class="programlisting">double	xmlXPathCastNodeSetToNumber	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
+</pre>
+<p>Converts a node-set to its number value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNodeSetToString"></a>xmlXPathCastNodeSetToString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNodeSetToString	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
+</pre>
+<p>Converts a node-set to its string value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly allocated string.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNodeToNumber"></a>xmlXPathCastNodeToNumber ()</h3>
+<pre class="programlisting">double	xmlXPathCastNodeToNumber	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Converts a node to its number value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNodeToString"></a>xmlXPathCastNodeToString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNodeToString	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Converts a node to its string value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly allocated string.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNumberToBoolean"></a>xmlXPathCastNumberToBoolean ()</h3>
+<pre class="programlisting">int	xmlXPathCastNumberToBoolean	(double val)<br>
+</pre>
+<p>Converts a number to its boolean value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the boolean value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNumberToString"></a>xmlXPathCastNumberToString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNumberToString	(double val)<br>
+</pre>
+<p>Converts a number to its string value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly allocated string.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastStringToBoolean"></a>xmlXPathCastStringToBoolean ()</h3>
+<pre class="programlisting">int	xmlXPathCastStringToBoolean	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>Converts a string to its boolean value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the boolean value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastStringToNumber"></a>xmlXPathCastStringToNumber ()</h3>
+<pre class="programlisting">double	xmlXPathCastStringToNumber	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>Converts a string to its number value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastToBoolean"></a>xmlXPathCastToBoolean ()</h3>
+<pre class="programlisting">int	xmlXPathCastToBoolean		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an XPath object to its boolean value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the boolean value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastToNumber"></a>xmlXPathCastToNumber ()</h3>
+<pre class="programlisting">double	xmlXPathCastToNumber		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an XPath object to its number value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastToString"></a>xmlXPathCastToString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastToString	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an existing object to its string() equivalent</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the allocated string value of the object, NULL in case of error. It's up to the caller to free the string memory with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCmpNodes"></a>xmlXPathCmpNodes ()</h3>
+<pre class="programlisting">int	xmlXPathCmpNodes		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Compare two nodes w.r.t document order</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node1</tt></i>:</span></td>
+<td>the first node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>the second node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-2 in case of error 1 if first point &lt; second point, 0 if it's the same node, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompile"></a>xmlXPathCompile ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	xmlXPathCompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Compile an XPath expression</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 XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompiledEval"></a>xmlXPathCompiledEval ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathCompiledEval	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
+</pre>
+<p>Evaluate the Precompiled XPath expression in the given context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the compiled XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompiledEvalToBoolean"></a>xmlXPathCompiledEvalToBoolean ()</h3>
+<pre class="programlisting">int	xmlXPathCompiledEvalToBoolean	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Applies the XPath boolean() function on the result of the given compiled expression.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the compiled XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the expression evaluated to true, 0 if to false and -1 in API and internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathContextSetCache"></a>xmlXPathContextSetCache ()</h3>
+<pre class="programlisting">int	xmlXPathContextSetCache		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 int active, <br>					 int value, <br>					 int options)<br>
+</pre>
+<p>Creates/frees an object cache on the XPath context. If activates XPath objects (xmlXPathObject) will be cached internally to be reused. @options: 0: This will set the XPath object caching: @value: This will set the maximum number of XPath objects to be cached per slot There are 5 slots for: node-set, string, number, boolean, and misc objects. Use &lt;0 for the default number (100). Other values for @options have currently no effect.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>active</tt></i>:</span></td>
+<td>enables/disables (creates/frees) the cache</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>a value with semantics dependent on @options</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>options (currently only the value 0 is used)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the setting succeeded, and -1 on API or internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathConvertBoolean"></a>xmlXPathConvertBoolean ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertBoolean	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an existing object to its boolean() equivalent</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathConvertNumber"></a>xmlXPathConvertNumber ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertNumber	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an existing object to its number() equivalent</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathConvertString"></a>xmlXPathConvertString ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertString	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an existing object to its string() equivalent</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCtxtCompile"></a>xmlXPathCtxtCompile ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	xmlXPathCtxtCompile	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Compile an XPath expression</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEval"></a>xmlXPathEval ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEval	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
+</pre>
+<p>Evaluate the XPath Location Path in the given context.</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 XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEvalExpression"></a>xmlXPathEvalExpression ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEvalExpression	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Alias for xmlXPathEval().</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 XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEvalPredicate"></a>xmlXPathEvalPredicate ()</h3>
+<pre class="programlisting">int	xmlXPathEvalPredicate		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>res</tt></i>:</span></td>
+<td>the Predicate Expression evaluation result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if predicate is true, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeCompExpr"></a>xmlXPathFreeCompExpr ()</h3>
+<pre class="programlisting">void	xmlXPathFreeCompExpr		(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp)<br>
+</pre>
+<p>Free up the memory allocated by @comp</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>an XPATH comp</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeContext"></a>xmlXPathFreeContext ()</h3>
+<pre class="programlisting">void	xmlXPathFreeContext		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Free up an <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the context to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeNodeSet"></a>xmlXPathFreeNodeSet ()</h3>
+<pre class="programlisting">void	xmlXPathFreeNodeSet		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj)<br>
+</pre>
+<p>Free the NodeSet compound (not the actual nodes !).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>obj</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeNodeSetList"></a>xmlXPathFreeNodeSetList ()</h3>
+<pre class="programlisting">void	xmlXPathFreeNodeSetList		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
+</pre>
+<p>Free up the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> @obj but don't deallocate the objects in the list contrary to xmlXPathFreeObject().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>obj</tt></i>:</span></td>
+<td>an existing NodeSetList object</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeObject"></a>xmlXPathFreeObject ()</h3>
+<pre class="programlisting">void	xmlXPathFreeObject		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
+</pre>
+<p>Free up an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> object.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>obj</tt></i>:</span></td>
+<td>the object to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathInit"></a>xmlXPathInit ()</h3>
+<pre class="programlisting">void	xmlXPathInit			(void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the XPath environment</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathIsInf"></a>xmlXPathIsInf ()</h3>
+<pre class="programlisting">int	xmlXPathIsInf			(double val)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a double value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the value is +Infinite, -1 if -Infinite, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathIsNaN"></a>xmlXPathIsNaN ()</h3>
+<pre class="programlisting">int	xmlXPathIsNaN			(double val)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a double value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the value is a NaN, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewContext"></a>xmlXPathNewContext ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPathNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated. The caller will need to free it.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeEval"></a>xmlXPathNodeEval ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNodeEval	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
+</pre>
+<p>Evaluate the XPath Location Path in the given context. The node 'node' is set as the context node. The context node is not restored.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to to use as the context node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetCreate"></a>xmlXPathNodeSetCreate ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeSetCreate	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> of type double and of value @val</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an initial xmlNodePtr, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathObjectCopy"></a>xmlXPathObjectCopy ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathObjectCopy	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>allocate a new copy of a given object</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the original object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathOrderDocElems"></a>xmlXPathOrderDocElems ()</h3>
+<pre class="programlisting">long	xmlXPathOrderDocElems		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Call this routine to speed up XPath computation on static documents. This stamps all the element nodes with the document order Like for line information, the order is kept in the element-&gt;content field, the value stored is actually - the node number (starting at -1) to be able to differentiate from line numbers.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>an input document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of elements found in the document or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSetContextNode"></a>xmlXPathSetContextNode ()</h3>
+<pre class="programlisting">int	xmlXPathSetContextNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
+</pre>
+<p>Sets 'node' as the context node. The node must be in the same document as that associated with the context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to to use as the context node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error or 0 if successful</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xpathInternals.html b/doc/devhelp/libxml2-xpathInternals.html
index 45220b1..750dade 100644
--- a/doc/devhelp/libxml2-xpathInternals.html
+++ b/doc/devhelp/libxml2-xpathInternals.html
@@ -1,787 +1,3226 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xpathInternals: internal interfaces for XML Path Language implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xpath.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-xpointer.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xpathInternals</span>
-    </h2>
-    <p>xpathInternals - internal interfaces for XML Path Language implementation</p>
-    <p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt);
-#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt);
-#define <a href="#XP_ERROR0">XP_ERROR0</a>(X);
-#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt);
-#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt);
-#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt);
-#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val);
-#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xpathInternals: internal interfaces for XML Path Language implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xpath.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-xpointer.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xpathInternals</span></h2>
+<p>xpathInternals - internal interfaces for XML Path Language implementation</p>
+<p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
 #define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>;
-#define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x);
-#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval);
 #define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>;
-#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val);
-#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt);
-#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt);
-#define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err);
+#define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x);
 #define <a href="#CHECK_ERROR">CHECK_ERROR</a>;
-#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str);
-#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
-#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt);
-#define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval);
-#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt);
-#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val);
 #define <a href="#CHECK_ERROR0">CHECK_ERROR0</a>;
+#define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval);
+#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval);
+#define <a href="#XP_ERROR">XP_ERROR</a>(X);
+#define <a href="#XP_ERROR0">XP_ERROR0</a>(X);
+#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt);
+#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns);
+#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt);
 #define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a>(ctxt);
 #define <a href="#xmlXPathGetError">xmlXPathGetError</a>(ctxt);
-#define <a href="#XP_ERROR">XP_ERROR</a>(X);
-#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns);
+#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val);
+#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt);
+#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt);
+#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val);
+#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt);
 #define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>(ctxt, ns);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2);
-void	<a href="#xmlXPathNumberFunction">xmlXPathNumberFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathNsLookup">xmlXPathNsLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-void	<a href="#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 int val);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
-int	<a href="#xmlXPathPopBoolean">xmlXPathPopBoolean</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewString">xmlXPathNewString</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextChild">xmlXPathNextChild</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathPopString">xmlXPathPopString</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void	<a href="#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-int	<a href="#xmlXPathCompareValues">xmlXPathCompareValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int inf, <br/>					 int strict);
-void	<a href="#xmlXPathConcatFunction">xmlXPathConcatFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-int	<a href="#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
-void	<a href="#xmlXPatherror">xmlXPatherror</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 const char * file, <br/>					 int line, <br/>					 int no);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAncestor">xmlXPathNextAncestor</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-void	<a href="#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathRoot">xmlXPathRoot</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void	<a href="#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
-int	<a href="#xmlXPathIsNodeType">xmlXPathIsNodeType</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextFollowing">xmlXPathNextFollowing</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-void	<a href="#xmlXPathAddValues">xmlXPathAddValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-int	<a href="#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
+#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val);
+#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str);
+#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt);
+#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt);
+#define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err);
+#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt);
+#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt);
+#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#valuePop">valuePop</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void	<a href="#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathIntersection">xmlXPathIntersection</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
-void	<a href="#xmlXPathContainsFunction">xmlXPathContainsFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
-void	<a href="#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeLeading">xmlXPathNodeLeading</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-void	<a href="#xmlXPathSumFunction">xmlXPathSumFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-int	<a href="#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-int	<a href="#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
-void	<a href="#xmlXPathErr">xmlXPathErr</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int error);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextPreceding">xmlXPathNextPreceding</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
-void	<a href="#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
-void	<a href="#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
-<a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#xmlXPathPositionFunction">xmlXPathPositionFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewFloat">xmlXPathNewFloat</a>	(double val);
-int	<a href="#xmlXPathRegisterNs">xmlXPathRegisterNs</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextParent">xmlXPathNextParent</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-void	<a href="#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a>		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
-int	<a href="#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+int	<a href="#valuePush">valuePush</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
+void	<a href="#xmlXPathAddValues">xmlXPathAddValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void	<a href="#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+int	<a href="#xmlXPathCompareValues">xmlXPathCompareValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int inf, <br>					 int strict);
+void	<a href="#xmlXPathConcatFunction">xmlXPathConcatFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathContainsFunction">xmlXPathContainsFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathCountFunction">xmlXPathCountFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a>	(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 int depth);
+void	<a href="#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a>		(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br>					 int depth);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDifference">xmlXPathDifference</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDistinct">xmlXPathDistinct</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
-int	<a href="#valuePush">valuePush</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
-void	<a href="#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathStringFunction">xmlXPathStringFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathFloorFunction">xmlXPathFloorFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathIdFunction">xmlXPathIdFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathLastFunction">xmlXPathLastFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextSelf">xmlXPathNextSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-void	<a href="#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a>	(FILE * output, <br/>					 <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br/>					 int depth);
-void	<a href="#xmlXPathFalseFunction">xmlXPathFalseFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void	<a href="#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br/>					 void * funcCtxt);
-double	<a href="#xmlXPathPopNumber">xmlXPathPopNumber</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void	<a href="#xmlXPathRoundFunction">xmlXPathRoundFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void	<a href="#xmlXPathCountFunction">xmlXPathCountFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathParseNCName">xmlXPathParseNCName</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void	<a href="#xmlXPathTrueFunction">xmlXPathTrueFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewBoolean">xmlXPathNewBoolean</a>	(int val);
-void	<a href="#xmlXPathSubValues">xmlXPathSubValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void	<a href="#xmlXPathDivValues">xmlXPathDivValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
 int	<a href="#xmlXPathEqualValues">xmlXPathEqualValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
-void	<a href="#xmlXPathMultValues">xmlXPathMultValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void	<a href="#xmlXPathErr">xmlXPathErr</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int error);
+void	<a href="#xmlXPathEvalExpr">xmlXPathEvalExpr</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+int	<a href="#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
+void	<a href="#xmlXPathFalseFunction">xmlXPathFalseFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathFloorFunction">xmlXPathFloorFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
+int	<a href="#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+void	<a href="#xmlXPathIdFunction">xmlXPathIdFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathIntersection">xmlXPathIntersection</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+int	<a href="#xmlXPathIsNodeType">xmlXPathIsNodeType</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void	<a href="#xmlXPathLangFunction">xmlXPathLangFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathLastFunction">xmlXPathLastFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathLeading">xmlXPathLeading</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+void	<a href="#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
 void	<a href="#xmlXPathModValues">xmlXPathModValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>	<a href="#xmlXPathNewParserContext">xmlXPathNewParserContext</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>							 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+void	<a href="#xmlXPathMultValues">xmlXPathMultValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void	<a href="#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewBoolean">xmlXPathNewBoolean</a>	(int val);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewCString">xmlXPathNewCString</a>	(const char * val);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewFloat">xmlXPathNewFloat</a>	(double val);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
+<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>	<a href="#xmlXPathNewParserContext">xmlXPathNewParserContext</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>							 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewString">xmlXPathNewString</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewValueTree">xmlXPathNewValueTree</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAncestor">xmlXPathNextAncestor</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAttribute">xmlXPathNextAttribute</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextChild">xmlXPathNextChild</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextDescendant">xmlXPathNextDescendant</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextFollowing">xmlXPathNextFollowing</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextNamespace">xmlXPathNextNamespace</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextParent">xmlXPathNextParent</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextPreceding">xmlXPathNextPreceding</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextSelf">xmlXPathNextSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeLeading">xmlXPathNodeLeading</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int	<a href="#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+int	<a href="#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
+int	<a href="#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+int	<a href="#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+void	<a href="#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+void	<a href="#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a>		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2);
+void	<a href="#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 int val);
+void	<a href="#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+void	<a href="#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+int	<a href="#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void	<a href="#xmlXPathNotFunction">xmlXPathNotFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathNsLookup">xmlXPathNsLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+void	<a href="#xmlXPathNumberFunction">xmlXPathNumberFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathParseNCName">xmlXPathParseNCName</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathParseName">xmlXPathParseName</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+int	<a href="#xmlXPathPopBoolean">xmlXPathPopBoolean</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void *	<a href="#xmlXPathPopExternal">xmlXPathPopExternal</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+double	<a href="#xmlXPathPopNumber">xmlXPathPopNumber</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathPopString">xmlXPathPopString</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void	<a href="#xmlXPathPositionFunction">xmlXPathPositionFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+int	<a href="#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
+void	<a href="#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br>					 void * funcCtxt);
+int	<a href="#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
+int	<a href="#xmlXPathRegisterNs">xmlXPathRegisterNs</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
+int	<a href="#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
+void	<a href="#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br>					 void * data);
+int	<a href="#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
+void	<a href="#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+void	<a href="#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+void	<a href="#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+void	<a href="#xmlXPathRoot">xmlXPathRoot</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void	<a href="#xmlXPathRoundFunction">xmlXPathRoundFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+double	<a href="#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+void	<a href="#xmlXPathStringFunction">xmlXPathStringFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathSubValues">xmlXPathSubValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void	<a href="#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathSumFunction">xmlXPathSumFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathTrailing">xmlXPathTrailing</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+void	<a href="#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathTrueFunction">xmlXPathTrueFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+void	<a href="#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookup">xmlXPathVariableLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapCString">xmlXPathWrapCString</a>	(char * val);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapExternal">xmlXPathWrapExternal</a>	(void * val);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapString">xmlXPathWrapString</a>	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
-void	<a href="#xmlXPathLangFunction">xmlXPathLangFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-int	<a href="#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br/>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
-int	<a href="#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
-void	<a href="#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDifference">xmlXPathDifference</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-void *	<a href="#xmlXPathPopExternal">xmlXPathPopExternal</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void	<a href="#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-void	<a href="#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br/>					 void * data);
-void	<a href="#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewCString">xmlXPathNewCString</a>	(const char * val);
-int	<a href="#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
-void	<a href="#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextDescendant">xmlXPathNextDescendant</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextNamespace">xmlXPathNextNamespace</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapCString">xmlXPathWrapCString</a>	(char * val);
-void	<a href="#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-int	<a href="#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
-int	<a href="#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewValueTree">xmlXPathNewValueTree</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDistinct">xmlXPathDistinct</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookup">xmlXPathVariableLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#xmlXPathNotFunction">xmlXPathNotFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-double	<a href="#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapExternal">xmlXPathWrapExternal</a>	(void * val);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAttribute">xmlXPathNextAttribute</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-void	<a href="#xmlXPathDivValues">xmlXPathDivValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
-int	<a href="#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathTrailing">xmlXPathTrailing</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
-void	<a href="#xmlXPathEvalExpr">xmlXPathEvalExpr</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void	<a href="#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a>		(FILE * output, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br/>					 int depth);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathLeading">xmlXPathLeading</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathParseName">xmlXPathParseName</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void	<a href="#xmlXPatherror">xmlXPatherror</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 const char * file, <br>					 int line, <br>					 int no);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="CAST_TO_BOOLEAN">Macro </a>CAST_TO_BOOLEAN</h3><pre class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
-</pre><p>Macro to try to cast the value on the top of the XPath stack to a boolean.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CAST_TO_NUMBER">Macro </a>CAST_TO_NUMBER</h3><pre class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>;
-</pre><p>Macro to try to cast the value on the top of the XPath stack to a number.</p>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="CAST_TO_BOOLEAN">Macro </a>CAST_TO_BOOLEAN</h3>
+<pre class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
+</pre>
+<p>Macro to try to cast the value on the top of the XPath stack to a boolean.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CAST_TO_STRING">Macro </a>CAST_TO_STRING</h3><pre class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>;
-</pre><p>Macro to try to cast the value on the top of the XPath stack to a string.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CAST_TO_NUMBER">Macro </a>CAST_TO_NUMBER</h3>
+<pre class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>;
+</pre>
+<p>Macro to try to cast the value on the top of the XPath stack to a number.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CHECK_ARITY">Macro </a>CHECK_ARITY</h3><pre class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x);
-</pre><p>Macro to check that the number of args passed to an XPath function matches.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>x</tt></i>:</span></td><td>the number of expected args</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CAST_TO_STRING">Macro </a>CAST_TO_STRING</h3>
+<pre class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>;
+</pre>
+<p>Macro to try to cast the value on the top of the XPath stack to a string.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CHECK_ERROR">Macro </a>CHECK_ERROR</h3><pre class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a>;
-</pre><p>Macro to return from the function if an XPath error was detected.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CHECK_ARITY">Macro </a>CHECK_ARITY</h3>
+<pre class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x);
+</pre>
+<p>Macro to check that the number of args passed to an XPath function matches.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>x</tt></i>:</span></td>
+<td>the number of expected args</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CHECK_ERROR0">Macro </a>CHECK_ERROR0</h3><pre class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a>;
-</pre><p>Macro to return 0 from the function if an XPath error was detected.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CHECK_ERROR">Macro </a>CHECK_ERROR</h3>
+<pre class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a>;
+</pre>
+<p>Macro to return from the function if an XPath error was detected.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CHECK_TYPE">Macro </a>CHECK_TYPE</h3><pre class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval);
-</pre><p>Macro to check that the value on top of the XPath stack is of a given type.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>typeval</tt></i>:</span></td><td>the XPath type</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CHECK_ERROR0">Macro </a>CHECK_ERROR0</h3>
+<pre class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a>;
+</pre>
+<p>Macro to return 0 from the function if an XPath error was detected.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CHECK_TYPE0">Macro </a>CHECK_TYPE0</h3><pre class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval);
-</pre><p>Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of failure</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>typeval</tt></i>:</span></td><td>the XPath type</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CHECK_TYPE">Macro </a>CHECK_TYPE</h3>
+<pre class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval);
+</pre>
+<p>Macro to check that the value on top of the XPath stack is of a given type.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>typeval</tt></i>:</span></td>
+<td>the XPath type</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XP_ERROR">Macro </a>XP_ERROR</h3><pre class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a>(X);
-</pre><p>Macro to raise an XPath error and return.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>X</tt></i>:</span></td><td>the error code</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CHECK_TYPE0">Macro </a>CHECK_TYPE0</h3>
+<pre class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval);
+</pre>
+<p>Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of failure</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>typeval</tt></i>:</span></td>
+<td>the XPath type</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XP_ERROR0">Macro </a>XP_ERROR0</h3><pre class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a>(X);
-</pre><p>Macro to raise an XPath error and return 0.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>X</tt></i>:</span></td><td>the error code</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XP_ERROR">Macro </a>XP_ERROR</h3>
+<pre class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a>(X);
+</pre>
+<p>Macro to raise an XPath error and return.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>X</tt></i>:</span></td>
+<td>the error code</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCheckError">Macro </a>xmlXPathCheckError</h3><pre class="programlisting">#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt);
-</pre><p>Check if an XPath error was raised. Returns true if an error has been raised, false otherwise.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XP_ERROR0">Macro </a>XP_ERROR0</h3>
+<pre class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a>(X);
+</pre>
+<p>Macro to raise an XPath error and return 0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>X</tt></i>:</span></td>
+<td>the error code</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEmptyNodeSet">Macro </a>xmlXPathEmptyNodeSet</h3><pre class="programlisting">#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns);
-</pre><p>Empties a node-set.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCheckError">Macro </a>xmlXPathCheckError</h3>
+<pre class="programlisting">#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt);
+</pre>
+<p>Check if an XPath error was raised. Returns true if an error has been raised, false otherwise.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathGetContextNode">Macro </a>xmlXPathGetContextNode</h3><pre class="programlisting">#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt);
-</pre><p>Get the context node of an XPath context. Returns the context node.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEmptyNodeSet">Macro </a>xmlXPathEmptyNodeSet</h3>
+<pre class="programlisting">#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns);
+</pre>
+<p>Empties a node-set.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathGetDocument">Macro </a>xmlXPathGetDocument</h3><pre class="programlisting">#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a>(ctxt);
-</pre><p>Get the document of an XPath context. Returns the context document.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathGetContextNode">Macro </a>xmlXPathGetContextNode</h3>
+<pre class="programlisting">#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt);
+</pre>
+<p>Get the context node of an XPath context. Returns the context node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathGetError">Macro </a>xmlXPathGetError</h3><pre class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a>(ctxt);
-</pre><p>Get the error code of an XPath context. Returns the context error.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathGetDocument">Macro </a>xmlXPathGetDocument</h3>
+<pre class="programlisting">#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a>(ctxt);
+</pre>
+<p>Get the document of an XPath context. Returns the context document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnBoolean">Macro </a>xmlXPathReturnBoolean</h3><pre class="programlisting">#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val);
-</pre><p>Pushes the boolean @val on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a boolean</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathGetError">Macro </a>xmlXPathGetError</h3>
+<pre class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a>(ctxt);
+</pre>
+<p>Get the error code of an XPath context. Returns the context error.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnEmptyNodeSet">Macro </a>xmlXPathReturnEmptyNodeSet</h3><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt);
-</pre><p>Pushes an empty node-set on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnBoolean">Macro </a>xmlXPathReturnBoolean</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val);
+</pre>
+<p>Pushes the boolean @val on the context stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a boolean</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnEmptyString">Macro </a>xmlXPathReturnEmptyString</h3><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt);
-</pre><p>Pushes an empty string on the stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnEmptyNodeSet">Macro </a>xmlXPathReturnEmptyNodeSet</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt);
+</pre>
+<p>Pushes an empty node-set on the context stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnExternal">Macro </a>xmlXPathReturnExternal</h3><pre class="programlisting">#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val);
-</pre><p>Pushes user data on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>user data</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnEmptyString">Macro </a>xmlXPathReturnEmptyString</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt);
+</pre>
+<p>Pushes an empty string on the stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnFalse">Macro </a>xmlXPathReturnFalse</h3><pre class="programlisting">#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt);
-</pre><p>Pushes false on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnExternal">Macro </a>xmlXPathReturnExternal</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val);
+</pre>
+<p>Pushes user data on the context stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>user data</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnNodeSet">Macro </a>xmlXPathReturnNodeSet</h3><pre class="programlisting">#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>(ctxt, ns);
-</pre><p>Pushes the node-set @ns on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnFalse">Macro </a>xmlXPathReturnFalse</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt);
+</pre>
+<p>Pushes false on the context stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnNumber">Macro </a>xmlXPathReturnNumber</h3><pre class="programlisting">#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val);
-</pre><p>Pushes the double @val on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnNodeSet">Macro </a>xmlXPathReturnNodeSet</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>(ctxt, ns);
+</pre>
+<p>Pushes the node-set @ns on the context stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnString">Macro </a>xmlXPathReturnString</h3><pre class="programlisting">#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str);
-</pre><p>Pushes the string @str on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a string</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnNumber">Macro </a>xmlXPathReturnNumber</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val);
+</pre>
+<p>Pushes the double @val on the context stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a double</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnTrue">Macro </a>xmlXPathReturnTrue</h3><pre class="programlisting">#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt);
-</pre><p>Pushes true on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnString">Macro </a>xmlXPathReturnString</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str);
+</pre>
+<p>Pushes the string @str on the context stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>a string</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSetArityError">Macro </a>xmlXPathSetArityError</h3><pre class="programlisting">#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt);
-</pre><p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a> error.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnTrue">Macro </a>xmlXPathReturnTrue</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt);
+</pre>
+<p>Pushes true on the context stack.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSetError">Macro </a>xmlXPathSetError</h3><pre class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err);
-</pre><p>Raises an error.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>an <a href="libxml2-xpath.html#xmlXPathError">xmlXPathError</a> code</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSetArityError">Macro </a>xmlXPathSetArityError</h3>
+<pre class="programlisting">#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt);
+</pre>
+<p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a> error.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSetTypeError">Macro </a>xmlXPathSetTypeError</h3><pre class="programlisting">#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt);
-</pre><p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a> error.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSetError">Macro </a>xmlXPathSetError</h3>
+<pre class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err);
+</pre>
+<p>Raises an error.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>an <a href="libxml2-xpath.html#xmlXPathError">xmlXPathError</a> code</td>
+</tr>
+</tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathStackIsExternal">Macro </a>xmlXPathStackIsExternal</h3><pre class="programlisting">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt);
-</pre><p>Checks if the current value on the XPath stack is an external object. Returns true if the current object on the stack is an external object.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSetTypeError">Macro </a>xmlXPathSetTypeError</h3>
+<pre class="programlisting">#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt);
+</pre>
+<p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a> error.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathStackIsNodeSet">Macro </a>xmlXPathStackIsNodeSet</h3><pre class="programlisting">#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt);
-</pre><p>Check if the current value on the XPath stack is a node set or an XSLT value tree. Returns true if the current object on the stack is a node-set.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathStackIsExternal">Macro </a>xmlXPathStackIsExternal</h3>
+<pre class="programlisting">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt);
+</pre>
+<p>Checks if the current value on the XPath stack is an external object. Returns true if the current object on the stack is an external object.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="valuePop"/>valuePop ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	valuePop	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Pops the top XPath object from the value stack</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object just removed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="valuePush"/>valuePush ()</h3><pre class="programlisting">int	valuePush			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br/>
-</pre><p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded in the parser context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of items on the value stack, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathAddValues"/>xmlXPathAddValues ()</h3><pre class="programlisting">void	xmlXPathAddValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathBooleanFunction"/>xmlXPathBooleanFunction ()</h3><pre class="programlisting">void	xmlXPathBooleanFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCeilingFunction"/>xmlXPathCeilingFunction ()</h3><pre class="programlisting">void	xmlXPathCeilingFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCompareValues"/>xmlXPathCompareValues ()</h3><pre class="programlisting">int	xmlXPathCompareValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int inf, <br/>					 int strict)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>inf</tt></i>:</span></td><td>less than (1) or greater than (0)</td></tr><tr><td><span class="term"><i><tt>strict</tt></i>:</span></td><td>is the comparison strict</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the comparison succeeded, 0 if it failed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathConcatFunction"/>xmlXPathConcatFunction ()</h3><pre class="programlisting">void	xmlXPathConcatFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the concat() XPath function string concat(string, string, string*) The concat function returns the concatenation of its arguments.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathContainsFunction"/>xmlXPathContainsFunction ()</h3><pre class="programlisting">void	xmlXPathContainsFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCountFunction"/>xmlXPathCountFunction ()</h3><pre class="programlisting">void	xmlXPathCountFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the count() XPath function number count(node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDebugDumpCompExpr"/>xmlXPathDebugDumpCompExpr ()</h3><pre class="programlisting">void	xmlXPathDebugDumpCompExpr	(FILE * output, <br/>					 <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br/>					 int depth)<br/>
-</pre><p>Dumps the tree of the compiled XPath expression.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled XPath expression</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDebugDumpObject"/>xmlXPathDebugDumpObject ()</h3><pre class="programlisting">void	xmlXPathDebugDumpObject		(FILE * output, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br/>					 int depth)<br/>
-</pre><p>Dump the content of the object for debugging purposes</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * to dump the output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the object to inspect</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>indentation level</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDifference"/>xmlXPathDifference ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDifference	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets difference() function: node-set set:difference (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the difference between the two node sets, or nodes1 if nodes2 is empty</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDistinct"/>xmlXPathDistinct ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDistinct	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br/>
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDistinctSorted"/>xmlXPathDistinctSorted ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDistinctSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br/>
-</pre><p>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDivValues"/>xmlXPathDivValues ()</h3><pre class="programlisting">void	xmlXPathDivValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the div operation on XPath objects @arg1 / @arg2: The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEqualValues"/>xmlXPathEqualValues ()</h3><pre class="programlisting">int	xmlXPathEqualValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the equal operation on XPath objects content: @arg1 == @arg2</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the results of the test.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathErr"/>xmlXPathErr ()</h3><pre class="programlisting">void	xmlXPathErr			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int error)<br/>
-</pre><p>Handle an XPath error</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 XPath parser context</td></tr><tr><td><span class="term"><i><tt>error</tt></i>:</span></td><td>the error code</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEvalExpr"/>xmlXPathEvalExpr ()</h3><pre class="programlisting">void	xmlXPathEvalExpr		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Parse and evaluate an XPath expression in the given context, then push the result on the context stack</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEvaluatePredicateResult"/>xmlXPathEvaluatePredicateResult ()</h3><pre class="programlisting">int	xmlXPathEvaluatePredicateResult	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>res</tt></i>:</span></td><td>the Predicate Expression evaluation result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if predicate is true, 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFalseFunction"/>xmlXPathFalseFunction ()</h3><pre class="programlisting">void	xmlXPathFalseFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the false() XPath function boolean false()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFloorFunction"/>xmlXPathFloorFunction ()</h3><pre class="programlisting">void	xmlXPathFloorFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the floor() XPath function number floor(number) The floor function returns the largest (closest to positive infinity) number that is not greater than the argument and that is an integer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeParserContext"/>xmlXPathFreeParserContext ()</h3><pre class="programlisting">void	xmlXPathFreeParserContext	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Free up an <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFunctionLookup"/>xmlXPathFunctionLookup ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search in the Function array of the context for the given function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFunctionLookupNS"/>xmlXPathFunctionLookupNS ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookupNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br/>
-</pre><p>Search in the Function array of the context for the given function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the function namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathHasSameNodes"/>xmlXPathHasSameNodes ()</h3><pre class="programlisting">int	xmlXPathHasSameNodes		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets has-same-nodes function: boolean set:has-same-node(node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true (1) if @nodes1 shares any node with @nodes2, false (0) otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathIdFunction"/>xmlXPathIdFunction ()</h3><pre class="programlisting">void	xmlXPathIdFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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 <a href="libxml2-SAX.html#characters">characters</a> 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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathIntersection"/>xmlXPathIntersection ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathIntersection	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets intersection() function: node-set set:intersection (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a node set comprising the nodes that are within both the node sets passed as arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathIsNodeType"/>xmlXPathIsNodeType ()</h3><pre class="programlisting">int	xmlXPathIsNodeType		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Is the name given a NodeType one. [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 'node'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>a name string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathLangFunction"/>xmlXPathLangFunction ()</h3><pre class="programlisting">void	xmlXPathLangFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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 <a href="libxml2-SAX.html#attribute">attribute</a> on the context node, or, if the context node has no xml:lang attribute, by the value of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> on the nearest ancestor of the context node that has an xml:lang attribute. If there is no such attribute, then lang</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathLastFunction"/>xmlXPathLastFunction ()</h3><pre class="programlisting">void	xmlXPathLastFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the last() XPath function number last() The last function returns the number of nodes in the context node list.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathLeading"/>xmlXPathLeading ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathLeading		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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't contain @nodes2</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathLeadingSorted"/>xmlXPathLeadingSorted ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathLeadingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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't contain @nodes2</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathLocalNameFunction"/>xmlXPathLocalNameFunction ()</h3><pre class="programlisting">void	xmlXPathLocalNameFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathModValues"/>xmlXPathModValues ()</h3><pre class="programlisting">void	xmlXPathModValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the mod operation on XPath objects: @arg1 / @arg2 The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathMultValues"/>xmlXPathMultValues ()</h3><pre class="programlisting">void	xmlXPathMultValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the multiply operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNamespaceURIFunction"/>xmlXPathNamespaceURIFunction ()</h3><pre class="programlisting">void	xmlXPathNamespaceURIFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewBoolean"/>xmlXPathNewBoolean ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewBoolean	(int val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type boolean and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the boolean value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewCString"/>xmlXPathNewCString ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewCString	(const char * val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the char * value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewFloat"/>xmlXPathNewFloat ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewFloat	(double val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type double and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewNodeSet"/>xmlXPathNewNodeSet ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewNodeSet	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and initialize it with the single Node @val</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the NodePtr value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewNodeSetList"/>xmlXPathNewNodeSetList ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewNodeSetList	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and initialize it with the Nodeset @val</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an existing NodeSet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewParserContext"/>xmlXPathNewParserContext ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>	xmlXPathNewParserContext	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>							 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></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 XPath expression</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> just allocated.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewString"/>xmlXPathNewString ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewString	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewValueTree"/>xmlXPathNewValueTree ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewValueTree	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type Value Tree (XSLT) and initialize it with the tree root @val</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the NodePtr value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextAncestor"/>xmlXPathNextAncestor ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAncestor	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "ancestor" 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'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's parent is the second node on the axis</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextAncestorOrSelf"/>xmlXPathNextAncestorOrSelf ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAncestorOrSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "ancestor-or-self" 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's parent the second; parent here is defined the same as with the parent axis.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextAttribute"/>xmlXPathNextAttribute ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAttribute	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "attribute" direction TODO: support DTD inherited default attributes</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current <a href="libxml2-SAX.html#attribute">attribute</a> in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextChild"/>xmlXPathNextChild ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextChild	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "child" direction The child axis contains the children of the context node in document order.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextDescendant"/>xmlXPathNextDescendant ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextDescendant	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "descendant" 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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextDescendantOrSelf"/>xmlXPathNextDescendantOrSelf ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextDescendantOrSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "descendant-or-self" 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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextFollowing"/>xmlXPathNextFollowing ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextFollowing	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "following" 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 <a href="libxml2-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in document order</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextFollowingSibling"/>xmlXPathNextFollowingSibling ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextFollowingSibling	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "following-sibling" direction The following-sibling axis contains the following siblings of the context node in document order.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextNamespace"/>xmlXPathNextNamespace ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextNamespace	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "namespace" 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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current <a href="libxml2-SAX.html#attribute">attribute</a> in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextParent"/>xmlXPathNextParent ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextParent	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "parent" direction The parent axis contains the parent of the context node, if there is one.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextPreceding"/>xmlXPathNextPreceding ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextPreceding	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "preceding" 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 <a href="libxml2-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in reverse document order</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextPrecedingSibling"/>xmlXPathNextPrecedingSibling ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextPrecedingSibling	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "preceding-sibling" 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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextSelf"/>xmlXPathNextSelf ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Traversal function for the "self" direction The self axis contains just the context node itself</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeLeading"/>xmlXPathNodeLeading ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeLeading	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes is sorted by document order, then #exslSetsNodeLeadingSorted is called.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeLeadingSorted"/>xmlXPathNodeLeadingSorted ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeLeadingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetAdd"/>xmlXPathNodeSetAdd ()</h3><pre class="programlisting">int	xmlXPathNodeSetAdd		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial node set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a></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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetAddNs"/>xmlXPathNodeSetAddNs ()</h3><pre class="programlisting">int	xmlXPathNodeSetAddNs		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br/>
-</pre><p>add a new namespace node to an existing NodeSet</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial node set</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the hosting node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a the namespace node</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetAddUnique"/>xmlXPathNodeSetAddUnique ()</h3><pre class="programlisting">int	xmlXPathNodeSetAddUnique	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet, optimized version when we are sure the node is not already in the set.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial node set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a></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 failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetContains"/>xmlXPathNodeSetContains ()</h3><pre class="programlisting">int	xmlXPathNodeSetContains		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>checks whether @cur contains @val</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node-set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true (1) if @cur contains @val, false (0) otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetDel"/>xmlXPathNodeSetDel ()</h3><pre class="programlisting">void	xmlXPathNodeSetDel		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>Removes an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from an existing NodeSet</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial node set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetFreeNs"/>xmlXPathNodeSetFreeNs ()</h3><pre class="programlisting">void	xmlXPathNodeSetFreeNs		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br/>
-</pre><p>Namespace nodes in libxml don'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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the XPath namespace node found in a nodeset.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetMerge"/>xmlXPathNodeSetMerge ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeSetMerge	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2)<br/>
-</pre><p>Merges two nodesets, all nodes from @val2 are added to @val1 if @val1 is NULL, a new set is created and copied from @val2</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val1</tt></i>:</span></td><td>the first NodeSet or NULL</td></tr><tr><td><span class="term"><i><tt>val2</tt></i>:</span></td><td>the second NodeSet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>@val1 once extended or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetRemove"/>xmlXPathNodeSetRemove ()</h3><pre class="programlisting">void	xmlXPathNodeSetRemove		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>					 int val)<br/>
-</pre><p>Removes an entry from an existing NodeSet list.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial node set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the index to remove</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetSort"/>xmlXPathNodeSetSort ()</h3><pre class="programlisting">void	xmlXPathNodeSetSort		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br/>
-</pre><p>Sort the node set in document order</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>set</tt></i>:</span></td><td>the node set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeTrailing"/>xmlXPathNodeTrailing ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeTrailing	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes is sorted by document order, then #xmlXPathNodeTrailingSorted is called.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeTrailingSorted"/>xmlXPathNodeTrailingSorted ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeTrailingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNormalizeFunction"/>xmlXPathNormalizeFunction ()</h3><pre class="programlisting">void	xmlXPathNormalizeFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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 <a href="libxml2-SAX.html#characters">characters</a> by a single space. Whitespace <a href="libxml2-SAX.html#characters">characters</a> 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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNotEqualValues"/>xmlXPathNotEqualValues ()</h3><pre class="programlisting">int	xmlXPathNotEqualValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the equal operation on XPath objects content: @arg1 == @arg2</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the results of the test.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNotFunction"/>xmlXPathNotFunction ()</h3><pre class="programlisting">void	xmlXPathNotFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the not() XPath function boolean not(boolean) The not function returns true if its argument is false, and false otherwise.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNsLookup"/>xmlXPathNsLookup ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathNsLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br/>
-</pre><p>Search in the namespace declaration array of the context for the given namespace name associated to the given prefix</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value or NULL if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNumberFunction"/>xmlXPathNumberFunction ()</h3><pre class="programlisting">void	xmlXPathNumberFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the number() XPath function number number(object?)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathParseNCName"/>xmlXPathParseNCName ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathParseNCName	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>parse an XML namespace non qualified name. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace name or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathParseName"/>xmlXPathParseName ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathParseName	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>parse an XML name [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)*</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace name or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPopBoolean"/>xmlXPathPopBoolean ()</h3><pre class="programlisting">int	xmlXPathPopBoolean		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Pops a boolean from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPopExternal"/>xmlXPathPopExternal ()</h3><pre class="programlisting">void *	xmlXPathPopExternal		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Pops an external object from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the object</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPopNodeSet"/>xmlXPathPopNodeSet ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathPopNodeSet	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Pops a node-set from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node-set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPopNumber"/>xmlXPathPopNumber ()</h3><pre class="programlisting">double	xmlXPathPopNumber		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Pops a number from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPopString"/>xmlXPathPopString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathPopString	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Pops a string from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPositionFunction"/>xmlXPathPositionFunction ()</h3><pre class="programlisting">void	xmlXPathPositionFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterAllFunctions"/>xmlXPathRegisterAllFunctions ()</h3><pre class="programlisting">void	xmlXPathRegisterAllFunctions	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Registers all default XPath functions in this context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterFunc"/>xmlXPathRegisterFunc ()</h3><pre class="programlisting">int	xmlXPathRegisterFunc		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br/>
-</pre><p>Register a new function. If @f is NULL it unregisters the function</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the function implementation or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterFuncLookup"/>xmlXPathRegisterFuncLookup ()</h3><pre class="programlisting">void	xmlXPathRegisterFuncLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br/>					 void * funcCtxt)<br/>
-</pre><p>Registers an external mechanism to do function lookup.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the lookup function</td></tr><tr><td><span class="term"><i><tt>funcCtxt</tt></i>:</span></td><td>the lookup data</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterFuncNS"/>xmlXPathRegisterFuncNS ()</h3><pre class="programlisting">int	xmlXPathRegisterFuncNS		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br/>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br/>
-</pre><p>Register a new function. If @f is NULL it unregisters the function</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the function namespace URI</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the function implementation or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterNs"/>xmlXPathRegisterNs ()</h3><pre class="programlisting">int	xmlXPathRegisterNs		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br/>
-</pre><p>Register a new namespace. If @ns_uri is NULL it unregisters the namespace</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix cannot be NULL or empty string</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterVariable"/>xmlXPathRegisterVariable ()</h3><pre class="programlisting">int	xmlXPathRegisterVariable	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br/>
-</pre><p>Register a new variable value. If @value is NULL it unregisters the variable</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the variable value or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterVariableLookup"/>xmlXPathRegisterVariableLookup ()</h3><pre class="programlisting">void	xmlXPathRegisterVariableLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br/>					 void * data)<br/>
-</pre><p>register an external mechanism to do variable lookup</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the lookup function</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the lookup data</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterVariableNS"/>xmlXPathRegisterVariableNS ()</h3><pre class="programlisting">int	xmlXPathRegisterVariableNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br/>
-</pre><p>Register a new variable value. If @value is NULL it unregisters the variable</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the variable namespace URI</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the variable value or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisteredFuncsCleanup"/>xmlXPathRegisteredFuncsCleanup ()</h3><pre class="programlisting">void	xmlXPathRegisteredFuncsCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Cleanup the XPath context data associated to registered functions</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisteredNsCleanup"/>xmlXPathRegisteredNsCleanup ()</h3><pre class="programlisting">void	xmlXPathRegisteredNsCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Cleanup the XPath context data associated to registered variables</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisteredVariablesCleanup"/>xmlXPathRegisteredVariablesCleanup ()</h3><pre class="programlisting">void	xmlXPathRegisteredVariablesCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Cleanup the XPath context data associated to registered variables</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRoot"/>xmlXPathRoot ()</h3><pre class="programlisting">void	xmlXPathRoot			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Initialize the context to the root of the document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRoundFunction"/>xmlXPathRoundFunction ()</h3><pre class="programlisting">void	xmlXPathRoundFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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 closest to positive infinity is returned.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathStartsWithFunction"/>xmlXPathStartsWithFunction ()</h3><pre class="programlisting">void	xmlXPathStartsWithFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathStringEvalNumber"/>xmlXPathStringEvalNumber ()</h3><pre class="programlisting">double	xmlXPathStringEvalNumber	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>[30a] Float ::= Number ('e' Digits?)? [30] Number ::= Digits ('.' Digits?)? | '.' Digits [31] Digits ::= [0-9]+ Compile a Number in the string In complement of the Number expression, this function also handles negative values : '-' Number.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>A string to scan</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the double value.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathStringFunction"/>xmlXPathStringFunction ()</h3><pre class="programlisting">void	xmlXPathStringFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathStringLengthFunction"/>xmlXPathStringLengthFunction ()</h3><pre class="programlisting">void	xmlXPathStringLengthFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the string-length() XPath function number string-length(string?) The string-length returns the number of <a href="libxml2-SAX.html#characters">characters</a> 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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSubValues"/>xmlXPathSubValues ()</h3><pre class="programlisting">void	xmlXPathSubValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the subtraction operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSubstringAfterFunction"/>xmlXPathSubstringAfterFunction ()</h3><pre class="programlisting">void	xmlXPathSubstringAfterFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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("1999/04/01","/") returns 04/01, and substring-after("1999/04/01","19") returns 99/04/01.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSubstringBeforeFunction"/>xmlXPathSubstringBeforeFunction ()</h3><pre class="programlisting">void	xmlXPathSubstringBeforeFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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("1999/04/01","/") returns 1999.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSubstringFunction"/>xmlXPathSubstringFunction ()</h3><pre class="programlisting">void	xmlXPathSubstringFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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("12345",2,3) returns "234". 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("12345",2) returns "2345". 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 <a href="libxml2-SAX.html#characters">characters</a> 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("12345", 1.5, 2.6) returns "234" - substring("12345", 0, 3) returns "12" - substring("12345", 0 div 0, 3) returns "" - substring("12345", 1, 0 div 0) returns "" - substring("12345", -42, 1 div 0) returns "12345" - substring("12345", -1 div 0, 1 div 0) returns ""</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSumFunction"/>xmlXPathSumFunction ()</h3><pre class="programlisting">void	xmlXPathSumFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathTrailing"/>xmlXPathTrailing ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathTrailing	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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't contain @nodes2</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathTrailingSorted"/>xmlXPathTrailingSorted ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathTrailingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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't contain @nodes2</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathTranslateFunction"/>xmlXPathTranslateFunction ()</h3><pre class="programlisting">void	xmlXPathTranslateFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the translate() XPath function string translate(string, string, string) The translate function returns the first argument string with occurrences of <a href="libxml2-SAX.html#characters">characters</a> in the second argument string replaced by the character at the corresponding position in the third argument string. For example, translate("bar","abc","ABC") 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("--aaa--","abc-","ABC")</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathTrueFunction"/>xmlXPathTrueFunction ()</h3><pre class="programlisting">void	xmlXPathTrueFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the true() XPath function boolean true()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathValueFlipSign"/>xmlXPathValueFlipSign ()</h3><pre class="programlisting">void	xmlXPathValueFlipSign		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the unary - operation on an XPath object The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathVariableLookup"/>xmlXPathVariableLookup ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search in the Variable array of the context for the given variable value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the value or NULL if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathVariableLookupNS"/>xmlXPathVariableLookupNS ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br/>
-</pre><p>Search in the Variable array of the context for the given variable value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the variable namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the a copy of the value or NULL if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathWrapCString"/>xmlXPathWrapCString ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapCString	(char * val)<br/>
-</pre><p>Wraps a string into an XPath object.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the char * value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathWrapExternal"/>xmlXPathWrapExternal ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapExternal	(void * val)<br/>
-</pre><p>Wraps the @val data into an XPath object.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the user data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathWrapNodeSet"/>xmlXPathWrapNodeSet ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapNodeSet	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br/>
-</pre><p>Wrap the Nodeset @val in a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the NodePtr value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathWrapString"/>xmlXPathWrapString ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapString	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>Wraps the @val string into an XPath object.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPatherror"/>xmlXPatherror ()</h3><pre class="programlisting">void	xmlXPatherror			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 const char * file, <br/>					 int line, <br/>					 int no)<br/>
-</pre><p>Formats an error message.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file name</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>no</tt></i>:</span></td><td>the error number</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathStackIsNodeSet">Macro </a>xmlXPathStackIsNodeSet</h3>
+<pre class="programlisting">#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt);
+</pre>
+<p>Check if the current value on the XPath stack is a node set or an XSLT value tree. Returns true if the current object on the stack is a node-set.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="valuePop"></a>valuePop ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	valuePop	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Pops the top XPath object from the value stack</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath evaluation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the XPath object just removed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="valuePush"></a>valuePush ()</h3>
+<pre class="programlisting">int	valuePush			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
+</pre>
+<p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded in the parser context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath evaluation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of items on the value stack, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathAddValues"></a>xmlXPathAddValues ()</h3>
+<pre class="programlisting">void	xmlXPathAddValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathBooleanFunction"></a>xmlXPathBooleanFunction ()</h3>
+<pre class="programlisting">void	xmlXPathBooleanFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCeilingFunction"></a>xmlXPathCeilingFunction ()</h3>
+<pre class="programlisting">void	xmlXPathCeilingFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompareValues"></a>xmlXPathCompareValues ()</h3>
+<pre class="programlisting">int	xmlXPathCompareValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int inf, <br>					 int strict)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inf</tt></i>:</span></td>
+<td>less than (1) or greater than (0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>strict</tt></i>:</span></td>
+<td>is the comparison strict</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the comparison succeeded, 0 if it failed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathConcatFunction"></a>xmlXPathConcatFunction ()</h3>
+<pre class="programlisting">void	xmlXPathConcatFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>Implement the concat() XPath function string concat(string, string, string*) The concat function returns the concatenation of its arguments.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathContainsFunction"></a>xmlXPathContainsFunction ()</h3>
+<pre class="programlisting">void	xmlXPathContainsFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCountFunction"></a>xmlXPathCountFunction ()</h3>
+<pre class="programlisting">void	xmlXPathCountFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>Implement the count() XPath function number count(node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDebugDumpCompExpr"></a>xmlXPathDebugDumpCompExpr ()</h3>
+<pre class="programlisting">void	xmlXPathDebugDumpCompExpr	(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 int depth)<br>
+</pre>
+<p>Dumps the tree of the compiled XPath expression.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDebugDumpObject"></a>xmlXPathDebugDumpObject ()</h3>
+<pre class="programlisting">void	xmlXPathDebugDumpObject		(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br>					 int depth)<br>
+</pre>
+<p>Dump the content of the object for debugging purposes</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the FILE * to dump the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the object to inspect</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>indentation level</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDifference"></a>xmlXPathDifference ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDifference	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets difference() function: node-set set:difference (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the difference between the two node sets, or nodes1 if nodes2 is empty</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDistinct"></a>xmlXPathDistinct ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDistinct	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br>
+</pre>
+<p>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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDistinctSorted"></a>xmlXPathDistinctSorted ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDistinctSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br>
+</pre>
+<p>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDivValues"></a>xmlXPathDivValues ()</h3>
+<pre class="programlisting">void	xmlXPathDivValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the div operation on XPath objects @arg1 / @arg2: The numeric operators convert their operands to numbers as if by calling the number function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEqualValues"></a>xmlXPathEqualValues ()</h3>
+<pre class="programlisting">int	xmlXPathEqualValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the equal operation on XPath objects content: @arg1 == @arg2</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or 1 depending on the results of the test.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathErr"></a>xmlXPathErr ()</h3>
+<pre class="programlisting">void	xmlXPathErr			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int error)<br>
+</pre>
+<p>Handle an XPath error</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 XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>error</tt></i>:</span></td>
+<td>the error code</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEvalExpr"></a>xmlXPathEvalExpr ()</h3>
+<pre class="programlisting">void	xmlXPathEvalExpr		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Parse and evaluate an XPath expression in the given context, then push the result on the context stack</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEvaluatePredicateResult"></a>xmlXPathEvaluatePredicateResult ()</h3>
+<pre class="programlisting">int	xmlXPathEvaluatePredicateResult	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>res</tt></i>:</span></td>
+<td>the Predicate Expression evaluation result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if predicate is true, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFalseFunction"></a>xmlXPathFalseFunction ()</h3>
+<pre class="programlisting">void	xmlXPathFalseFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>Implement the false() XPath function boolean false()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFloorFunction"></a>xmlXPathFloorFunction ()</h3>
+<pre class="programlisting">void	xmlXPathFloorFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>Implement the floor() XPath function number floor(number) The floor function returns the largest (closest to positive infinity) number that is not greater than the argument and that is an integer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeParserContext"></a>xmlXPathFreeParserContext ()</h3>
+<pre class="programlisting">void	xmlXPathFreeParserContext	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Free up an <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the context to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFunctionLookup"></a>xmlXPathFunctionLookup ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search in the Function array of the context for the given function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the function name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFunctionLookupNS"></a>xmlXPathFunctionLookupNS ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookupNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
+</pre>
+<p>Search in the Function array of the context for the given function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the function name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the function namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathHasSameNodes"></a>xmlXPathHasSameNodes ()</h3>
+<pre class="programlisting">int	xmlXPathHasSameNodes		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets has-same-nodes function: boolean set:has-same-node(node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true (1) if @nodes1 shares any node with @nodes2, false (0) otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathIdFunction"></a>xmlXPathIdFunction ()</h3>
+<pre class="programlisting">void	xmlXPathIdFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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 <a href="libxml2-SAX.html#characters">characters</a> 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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathIntersection"></a>xmlXPathIntersection ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathIntersection	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets intersection() function: node-set set:intersection (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a node set comprising the nodes that are within both the node sets passed as arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathIsNodeType"></a>xmlXPathIsNodeType ()</h3>
+<pre class="programlisting">int	xmlXPathIsNodeType		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Is the name given a NodeType one. [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 'node'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>a name string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathLangFunction"></a>xmlXPathLangFunction ()</h3>
+<pre class="programlisting">void	xmlXPathLangFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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 <a href="libxml2-SAX.html#attribute">attribute</a> on the context node, or, if the context node has no xml:lang attribute, by the value of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> on the nearest ancestor of the context node that has an xml:lang <a href="libxml2-SAX.html#attribute">attribute</a>. If there is no such attribute, then lang</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathLastFunction"></a>xmlXPathLastFunction ()</h3>
+<pre class="programlisting">void	xmlXPathLastFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>Implement the last() XPath function number last() The last function returns the number of nodes in the context node list.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathLeading"></a>xmlXPathLeading ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathLeading		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>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't contain @nodes2</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathLeadingSorted"></a>xmlXPathLeadingSorted ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathLeadingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>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't contain @nodes2</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathLocalNameFunction"></a>xmlXPathLocalNameFunction ()</h3>
+<pre class="programlisting">void	xmlXPathLocalNameFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathModValues"></a>xmlXPathModValues ()</h3>
+<pre class="programlisting">void	xmlXPathModValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the mod operation on XPath objects: @arg1 / @arg2 The numeric operators convert their operands to numbers as if by calling the number function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathMultValues"></a>xmlXPathMultValues ()</h3>
+<pre class="programlisting">void	xmlXPathMultValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the multiply operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNamespaceURIFunction"></a>xmlXPathNamespaceURIFunction ()</h3>
+<pre class="programlisting">void	xmlXPathNamespaceURIFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewBoolean"></a>xmlXPathNewBoolean ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewBoolean	(int val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type boolean and of value @val</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the boolean value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewCString"></a>xmlXPathNewCString ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewCString	(const char * val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string and of value @val</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the char * value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewFloat"></a>xmlXPathNewFloat ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewFloat	(double val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type double and of value @val</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the double value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewNodeSet"></a>xmlXPathNewNodeSet ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewNodeSet	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and initialize it with the single Node @val</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the NodePtr value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewNodeSetList"></a>xmlXPathNewNodeSetList ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewNodeSetList	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and initialize it with the Nodeset @val</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an existing NodeSet</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewParserContext"></a>xmlXPathNewParserContext ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>	xmlXPathNewParserContext	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>							 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></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 XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> just allocated.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewString"></a>xmlXPathNewString ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewString	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string and of value @val</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewValueTree"></a>xmlXPathNewValueTree ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewValueTree	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type Value Tree (XSLT) and initialize it with the tree root @val</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the NodePtr value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextAncestor"></a>xmlXPathNextAncestor ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAncestor	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "ancestor" 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'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's parent is the second node on the axis</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextAncestorOrSelf"></a>xmlXPathNextAncestorOrSelf ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAncestorOrSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "ancestor-or-self" 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's parent the second; parent here is defined the same as with the parent axis.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextAttribute"></a>xmlXPathNextAttribute ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAttribute	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "attribute" direction TODO: support DTD inherited default attributes</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current <a href="libxml2-SAX.html#attribute">attribute</a> in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextChild"></a>xmlXPathNextChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextChild	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "child" direction The child axis contains the children of the context node in document order.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextDescendant"></a>xmlXPathNextDescendant ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextDescendant	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "descendant" 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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextDescendantOrSelf"></a>xmlXPathNextDescendantOrSelf ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextDescendantOrSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "descendant-or-self" 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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextFollowing"></a>xmlXPathNextFollowing ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextFollowing	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "following" 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 <a href="libxml2-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in document order</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextFollowingSibling"></a>xmlXPathNextFollowingSibling ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextFollowingSibling	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "following-sibling" direction The following-sibling axis contains the following siblings of the context node in document order.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextNamespace"></a>xmlXPathNextNamespace ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextNamespace	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "namespace" 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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current <a href="libxml2-SAX.html#attribute">attribute</a> in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextParent"></a>xmlXPathNextParent ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextParent	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "parent" direction The parent axis contains the parent of the context node, if there is one.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextPreceding"></a>xmlXPathNextPreceding ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextPreceding	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "preceding" 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 <a href="libxml2-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in reverse document order</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextPrecedingSibling"></a>xmlXPathNextPrecedingSibling ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextPrecedingSibling	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "preceding-sibling" 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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextSelf"></a>xmlXPathNextSelf ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Traversal function for the "self" direction The self axis contains just the context node itself</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeLeading"></a>xmlXPathNodeLeading ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeLeading	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes is sorted by document order, then #exslSetsNodeLeadingSorted is called.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeLeadingSorted"></a>xmlXPathNodeLeadingSorted ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeLeadingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetAdd"></a>xmlXPathNodeSetAdd ()</h3>
+<pre class="programlisting">int	xmlXPathNodeSetAdd		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the initial node set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
+</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetAddNs"></a>xmlXPathNodeSetAddNs ()</h3>
+<pre class="programlisting">int	xmlXPathNodeSetAddNs		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
+</pre>
+<p>add a new namespace node to an existing NodeSet</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the initial node set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the hosting node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a the namespace node</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetAddUnique"></a>xmlXPathNodeSetAddUnique ()</h3>
+<pre class="programlisting">int	xmlXPathNodeSetAddUnique	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet, optimized version when we are sure the node is not already in the set.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the initial node set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
+</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 failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetContains"></a>xmlXPathNodeSetContains ()</h3>
+<pre class="programlisting">int	xmlXPathNodeSetContains		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>checks whether @cur contains @val</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true (1) if @cur contains @val, false (0) otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetDel"></a>xmlXPathNodeSetDel ()</h3>
+<pre class="programlisting">void	xmlXPathNodeSetDel		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>Removes an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from an existing NodeSet</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the initial node set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetFreeNs"></a>xmlXPathNodeSetFreeNs ()</h3>
+<pre class="programlisting">void	xmlXPathNodeSetFreeNs		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
+</pre>
+<p>Namespace nodes in libxml don'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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the XPath namespace node found in a nodeset.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetMerge"></a>xmlXPathNodeSetMerge ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeSetMerge	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2)<br>
+</pre>
+<p>Merges two nodesets, all nodes from @val2 are added to @val1 if @val1 is NULL, a new set is created and copied from @val2</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val1</tt></i>:</span></td>
+<td>the first NodeSet or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val2</tt></i>:</span></td>
+<td>the second NodeSet</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>@val1 once extended or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetRemove"></a>xmlXPathNodeSetRemove ()</h3>
+<pre class="programlisting">void	xmlXPathNodeSetRemove		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 int val)<br>
+</pre>
+<p>Removes an entry from an existing NodeSet list.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the initial node set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the index to remove</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetSort"></a>xmlXPathNodeSetSort ()</h3>
+<pre class="programlisting">void	xmlXPathNodeSetSort		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br>
+</pre>
+<p>Sort the node set in document order</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>set</tt></i>:</span></td>
+<td>the node set</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeTrailing"></a>xmlXPathNodeTrailing ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeTrailing	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes is sorted by document order, then #xmlXPathNodeTrailingSorted is called.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeTrailingSorted"></a>xmlXPathNodeTrailingSorted ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeTrailingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNormalizeFunction"></a>xmlXPathNormalizeFunction ()</h3>
+<pre class="programlisting">void	xmlXPathNormalizeFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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 <a href="libxml2-SAX.html#characters">characters</a> by a single space. Whitespace <a href="libxml2-SAX.html#characters">characters</a> 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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNotEqualValues"></a>xmlXPathNotEqualValues ()</h3>
+<pre class="programlisting">int	xmlXPathNotEqualValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the equal operation on XPath objects content: @arg1 == @arg2</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or 1 depending on the results of the test.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNotFunction"></a>xmlXPathNotFunction ()</h3>
+<pre class="programlisting">void	xmlXPathNotFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>Implement the not() XPath function boolean not(boolean) The not function returns true if its argument is false, and false otherwise.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNsLookup"></a>xmlXPathNsLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathNsLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
+</pre>
+<p>Search in the namespace declaration array of the context for the given namespace name associated to the given prefix</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the namespace prefix value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNumberFunction"></a>xmlXPathNumberFunction ()</h3>
+<pre class="programlisting">void	xmlXPathNumberFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>Implement the number() XPath function number number(object?)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathParseNCName"></a>xmlXPathParseNCName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathParseNCName	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML namespace non qualified name. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace name or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathParseName"></a>xmlXPathParseName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathParseName	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML name [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)*</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace name or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPopBoolean"></a>xmlXPathPopBoolean ()</h3>
+<pre class="programlisting">int	xmlXPathPopBoolean		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Pops a boolean from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the boolean</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPopExternal"></a>xmlXPathPopExternal ()</h3>
+<pre class="programlisting">void *	xmlXPathPopExternal		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Pops an external object from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the object</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPopNodeSet"></a>xmlXPathPopNodeSet ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathPopNodeSet	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Pops a node-set from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the node-set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPopNumber"></a>xmlXPathPopNumber ()</h3>
+<pre class="programlisting">double	xmlXPathPopNumber		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Pops a number from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPopString"></a>xmlXPathPopString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathPopString	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Pops a string from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the string</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPositionFunction"></a>xmlXPathPositionFunction ()</h3>
+<pre class="programlisting">void	xmlXPathPositionFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterAllFunctions"></a>xmlXPathRegisterAllFunctions ()</h3>
+<pre class="programlisting">void	xmlXPathRegisterAllFunctions	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Registers all default XPath functions in this context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterFunc"></a>xmlXPathRegisterFunc ()</h3>
+<pre class="programlisting">int	xmlXPathRegisterFunc		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br>
+</pre>
+<p>Register a new function. If @f is NULL it unregisters the function</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the function name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the function implementation or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterFuncLookup"></a>xmlXPathRegisterFuncLookup ()</h3>
+<pre class="programlisting">void	xmlXPathRegisterFuncLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br>					 void * funcCtxt)<br>
+</pre>
+<p>Registers an external mechanism to do function lookup.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the lookup function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>funcCtxt</tt></i>:</span></td>
+<td>the lookup data</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterFuncNS"></a>xmlXPathRegisterFuncNS ()</h3>
+<pre class="programlisting">int	xmlXPathRegisterFuncNS		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br>
+</pre>
+<p>Register a new function. If @f is NULL it unregisters the function</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the function name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the function namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the function implementation or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterNs"></a>xmlXPathRegisterNs ()</h3>
+<pre class="programlisting">int	xmlXPathRegisterNs		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
+</pre>
+<p>Register a new namespace. If @ns_uri is NULL it unregisters the namespace</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the namespace prefix cannot be NULL or empty string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterVariable"></a>xmlXPathRegisterVariable ()</h3>
+<pre class="programlisting">int	xmlXPathRegisterVariable	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
+</pre>
+<p>Register a new variable value. If @value is NULL it unregisters the variable</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the variable name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the variable value or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterVariableLookup"></a>xmlXPathRegisterVariableLookup ()</h3>
+<pre class="programlisting">void	xmlXPathRegisterVariableLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br>					 void * data)<br>
+</pre>
+<p>register an external mechanism to do variable lookup</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the lookup function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the lookup data</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterVariableNS"></a>xmlXPathRegisterVariableNS ()</h3>
+<pre class="programlisting">int	xmlXPathRegisterVariableNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
+</pre>
+<p>Register a new variable value. If @value is NULL it unregisters the variable</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the variable name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the variable namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the variable value or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisteredFuncsCleanup"></a>xmlXPathRegisteredFuncsCleanup ()</h3>
+<pre class="programlisting">void	xmlXPathRegisteredFuncsCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Cleanup the XPath context data associated to registered functions</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisteredNsCleanup"></a>xmlXPathRegisteredNsCleanup ()</h3>
+<pre class="programlisting">void	xmlXPathRegisteredNsCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Cleanup the XPath context data associated to registered variables</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisteredVariablesCleanup"></a>xmlXPathRegisteredVariablesCleanup ()</h3>
+<pre class="programlisting">void	xmlXPathRegisteredVariablesCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Cleanup the XPath context data associated to registered variables</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRoot"></a>xmlXPathRoot ()</h3>
+<pre class="programlisting">void	xmlXPathRoot			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Initialize the context to the root of the document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRoundFunction"></a>xmlXPathRoundFunction ()</h3>
+<pre class="programlisting">void	xmlXPathRoundFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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 closest to positive infinity is returned.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathStartsWithFunction"></a>xmlXPathStartsWithFunction ()</h3>
+<pre class="programlisting">void	xmlXPathStartsWithFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathStringEvalNumber"></a>xmlXPathStringEvalNumber ()</h3>
+<pre class="programlisting">double	xmlXPathStringEvalNumber	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>[30a] Float ::= Number ('e' Digits?)? [30] Number ::= Digits ('.' Digits?)? | '.' Digits [31] Digits ::= [0-9]+ Compile a Number in the string In complement of the Number expression, this function also handles negative values : '-' Number.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>A string to scan</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the double value.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathStringFunction"></a>xmlXPathStringFunction ()</h3>
+<pre class="programlisting">void	xmlXPathStringFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathStringLengthFunction"></a>xmlXPathStringLengthFunction ()</h3>
+<pre class="programlisting">void	xmlXPathStringLengthFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>Implement the string-length() XPath function number string-length(string?) The string-length returns the number of <a href="libxml2-SAX.html#characters">characters</a> 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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSubValues"></a>xmlXPathSubValues ()</h3>
+<pre class="programlisting">void	xmlXPathSubValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the subtraction operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSubstringAfterFunction"></a>xmlXPathSubstringAfterFunction ()</h3>
+<pre class="programlisting">void	xmlXPathSubstringAfterFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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("1999/04/01","/") returns 04/01, and substring-after("1999/04/01","19") returns 99/04/01.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSubstringBeforeFunction"></a>xmlXPathSubstringBeforeFunction ()</h3>
+<pre class="programlisting">void	xmlXPathSubstringBeforeFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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("1999/04/01","/") returns 1999.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSubstringFunction"></a>xmlXPathSubstringFunction ()</h3>
+<pre class="programlisting">void	xmlXPathSubstringFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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("12345",2,3) returns "234". 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("12345",2) returns "2345". 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 <a href="libxml2-SAX.html#characters">characters</a> 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("12345", 1.5, 2.6) returns "234" - substring("12345", 0, 3) returns "12" - substring("12345", 0 div 0, 3) returns "" - substring("12345", 1, 0 div 0) returns "" - substring("12345", -42, 1 div 0) returns "12345" - substring("12345", -1 div 0, 1 div 0) returns ""</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSumFunction"></a>xmlXPathSumFunction ()</h3>
+<pre class="programlisting">void	xmlXPathSumFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathTrailing"></a>xmlXPathTrailing ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathTrailing	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>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't contain @nodes2</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathTrailingSorted"></a>xmlXPathTrailingSorted ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathTrailingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>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't contain @nodes2</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathTranslateFunction"></a>xmlXPathTranslateFunction ()</h3>
+<pre class="programlisting">void	xmlXPathTranslateFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>Implement the translate() XPath function string translate(string, string, string) The translate function returns the first argument string with occurrences of <a href="libxml2-SAX.html#characters">characters</a> in the second argument string replaced by the character at the corresponding position in the third argument string. For example, translate("bar","abc","ABC") 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("--aaa--","abc-","ABC")</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathTrueFunction"></a>xmlXPathTrueFunction ()</h3>
+<pre class="programlisting">void	xmlXPathTrueFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>Implement the true() XPath function boolean true()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathValueFlipSign"></a>xmlXPathValueFlipSign ()</h3>
+<pre class="programlisting">void	xmlXPathValueFlipSign		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the unary - operation on an XPath object The numeric operators convert their operands to numbers as if by calling the number function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathVariableLookup"></a>xmlXPathVariableLookup ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search in the Variable array of the context for the given variable value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the variable name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a copy of the value or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathVariableLookupNS"></a>xmlXPathVariableLookupNS ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
+</pre>
+<p>Search in the Variable array of the context for the given variable value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the variable name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the variable namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the a copy of the value or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathWrapCString"></a>xmlXPathWrapCString ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapCString	(char * val)<br>
+</pre>
+<p>Wraps a string into an XPath object.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the char * value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathWrapExternal"></a>xmlXPathWrapExternal ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapExternal	(void * val)<br>
+</pre>
+<p>Wraps the @val data into an XPath object.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the user data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathWrapNodeSet"></a>xmlXPathWrapNodeSet ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapNodeSet	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br>
+</pre>
+<p>Wrap the Nodeset @val in a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the NodePtr value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathWrapString"></a>xmlXPathWrapString ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapString	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>Wraps the @val string into an XPath object.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPatherror"></a>xmlXPatherror ()</h3>
+<pre class="programlisting">void	xmlXPatherror			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 const char * file, <br>					 int line, <br>					 int no)<br>
+</pre>
+<p>Formats an error message.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>the file name</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>no</tt></i>:</span></td>
+<td>the error number</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xpointer.html b/doc/devhelp/libxml2-xpointer.html
index 4d7c337..7f0595f 100644
--- a/doc/devhelp/libxml2-xpointer.html
+++ b/doc/devhelp/libxml2-xpointer.html
@@ -1,171 +1,559 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xpointer: API to handle XML Pointers</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xpathInternals.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xpointer</span>
-    </h2>
-    <p>xpointer - API to handle XML Pointers</p>
-    <p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlLocationSet <a href="#xmlLocationSet">xmlLocationSet</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xpointer: API to handle XML Pointers</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="libxml2-xpathInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xpointer</span></h2>
+<p>xpointer - API to handle XML Pointers</p>
+<p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlLocationSet <a href="#xmlLocationSet">xmlLocationSet</a>;
 typedef <a href="libxml2-xpointer.html#xmlLocationSet">xmlLocationSet</a> * <a href="#xmlLocationSetPtr">xmlLocationSetPtr</a>;
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRange">xmlXPtrNewRange</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br/>					 int startindex, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br/>					 int endindex);
-void	<a href="#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrEval">xmlXPtrEval</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
-void	<a href="#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-void	<a href="#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br/>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br/>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
-<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br/>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
-<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	<a href="#xmlXPtrNewContext">xmlXPtrNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin);
-void	<a href="#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br/>					 int val);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br/>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
-void	<a href="#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br/>						 <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrEval">xmlXPtrEval</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
 void	<a href="#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br/>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
+void	<a href="#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj);
+void	<a href="#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+void	<a href="#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br>						 <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2);
+void	<a href="#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 int val);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start);
+<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	<a href="#xmlXPtrNewContext">xmlXPtrNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRange">xmlXPtrNewRange</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>					 int startindex, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br>					 int endindex);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
+void	<a href="#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val);
 </pre>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Description</h2>
-    </div>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlLocationSet">Structure </a>xmlLocationSet</h3><pre class="programlisting">struct _xmlLocationSet {
+</div>
+<div class="refsect1" lang="en"><h2>Description</h2></div>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<div class="refsect2" lang="en">
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLocationSet">Structure </a>xmlLocationSet</h3>
+<pre class="programlisting">struct _xmlLocationSet {
     int	locNr	: number of locations in the set
     int	locMax	: size of the array as allocated
     <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> *	locTab	: array of locations
 } xmlLocationSet;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLocationSetPtr">Typedef </a>xmlLocationSetPtr</h3><pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSet">xmlLocationSet</a> * xmlLocationSetPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLocationSetPtr">Typedef </a>xmlLocationSetPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSet">xmlLocationSet</a> * xmlLocationSetPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrBuildNodeList"/>xmlXPtrBuildNodeList ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPtrBuildNodeList	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br/>
-</pre><p>Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the XPointer result from the evaluation.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list or NULL. the caller has to free the node tree.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrEval"/>xmlXPtrEval ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrEval	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br/>
-</pre><p>Evaluate the XPath Location Path in the given context.</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 XPointer expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPointer context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrEvalRangePredicate"/>xmlXPtrEvalRangePredicate ()</h3><pre class="programlisting">void	xmlXPtrEvalRangePredicate	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>[8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPointer Parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrFreeLocationSet"/>xmlXPtrFreeLocationSet ()</h3><pre class="programlisting">void	xmlXPtrFreeLocationSet		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj)<br/>
-</pre><p>Free the LocationSet compound (not the actual ranges !).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrLocationSetAdd"/>xmlXPtrLocationSetAdd ()</h3><pre class="programlisting">void	xmlXPtrLocationSetAdd		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>add a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> to an existing LocationSet If the location already exist in the set @val is freed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial range set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrLocationSetCreate"/>xmlXPtrLocationSetCreate ()</h3><pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetCreate	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Create a new <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> of type double and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an initial xmlXPathObjectPtr, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrLocationSetDel"/>xmlXPtrLocationSetDel ()</h3><pre class="programlisting">void	xmlXPtrLocationSetDel		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Removes an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from an existing LocationSet</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial range set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrLocationSetMerge"/>xmlXPtrLocationSetMerge ()</h3><pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetMerge	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br/>						 <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2)<br/>
-</pre><p>Merges two rangesets, all ranges from @val2 are added to @val1</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val1</tt></i>:</span></td><td>the first LocationSet</td></tr><tr><td><span class="term"><i><tt>val2</tt></i>:</span></td><td>the second LocationSet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>val1 once extended or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrLocationSetRemove"/>xmlXPtrLocationSetRemove ()</h3><pre class="programlisting">void	xmlXPtrLocationSetRemove	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br/>					 int val)<br/>
-</pre><p>Removes an entry from an existing LocationSet list.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial range set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the index to remove</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrNewCollapsedRange"/>xmlXPtrNewCollapsedRange ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewCollapsedRange	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using a single nodes</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting and ending node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrNewContext"/>xmlXPtrNewContext ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPtrNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin)<br/>
-</pre><p>Create a new XPointer context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document</td></tr><tr><td><span class="term"><i><tt>here</tt></i>:</span></td><td>the node that directly contains the XPointer being evaluated or NULL</td></tr><tr><td><span class="term"><i><tt>origin</tt></i>:</span></td><td>the element from which a user or program initiated traversal of the link, or NULL.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrNewLocationSetNodeSet"/>xmlXPtrNewLocationSetNodeSet ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodeSet	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with all the nodes from @set</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>set</tt></i>:</span></td><td>a node set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrNewLocationSetNodes"/>xmlXPtrNewLocationSetNodes ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodes	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br/>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with the single range made of the two nodes @start and @end</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the start NodePtr value</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the end NodePtr value or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrNewRange"/>xmlXPtrNewRange ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRange	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br/>					 int startindex, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br/>					 int endindex)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting node</td></tr><tr><td><span class="term"><i><tt>startindex</tt></i>:</span></td><td>the start index</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending point</td></tr><tr><td><span class="term"><i><tt>endindex</tt></i>:</span></td><td>the ending index</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrNewRangeNodeObject"/>xmlXPtrNewRangeNodeObject ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodeObject	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br/>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a not to an object</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting node</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrNewRangeNodePoint"/>xmlXPtrNewRangeNodePoint ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodePoint	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br/>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a node to a point</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting node</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrNewRangeNodes"/>xmlXPtrNewRangeNodes ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodes	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br/>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 nodes</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting node</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrNewRangePointNode"/>xmlXPtrNewRangePointNode ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePointNode	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br/>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a point to a node</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting point</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrNewRangePoints"/>xmlXPtrNewRangePoints ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePoints	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br/>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 Points</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting point</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrRangeToFunction"/>xmlXPtrRangeToFunction ()</h3><pre class="programlisting">void	xmlXPtrRangeToFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the range-to() XPointer function Obsolete. range-to is not a real function but a special type of location step which is handled in xpath.c.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPointer Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of args</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrWrapLocationSet"/>xmlXPtrWrapLocationSet ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrWrapLocationSet	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val)<br/>
-</pre><p>Wrap the LocationSet @val in a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the LocationSet value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrBuildNodeList"></a>xmlXPtrBuildNodeList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPtrBuildNodeList	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
+</pre>
+<p>Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>obj</tt></i>:</span></td>
+<td>the XPointer result from the evaluation.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list or NULL. the caller has to free the node tree.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrEval"></a>xmlXPtrEval ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrEval	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
+</pre>
+<p>Evaluate the XPath Location Path in the given context.</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 XPointer expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the XPointer context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrEvalRangePredicate"></a>xmlXPtrEvalRangePredicate ()</h3>
+<pre class="programlisting">void	xmlXPtrEvalRangePredicate	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>[8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPointer Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrFreeLocationSet"></a>xmlXPtrFreeLocationSet ()</h3>
+<pre class="programlisting">void	xmlXPtrFreeLocationSet		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj)<br>
+</pre>
+<p>Free the LocationSet compound (not the actual ranges !).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>obj</tt></i>:</span></td>
+<td>the <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrLocationSetAdd"></a>xmlXPtrLocationSetAdd ()</h3>
+<pre class="programlisting">void	xmlXPtrLocationSetAdd		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>add a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> to an existing LocationSet If the location already exist in the set @val is freed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the initial range set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrLocationSetCreate"></a>xmlXPtrLocationSetCreate ()</h3>
+<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetCreate	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> of type double and of value @val</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an initial xmlXPathObjectPtr, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrLocationSetDel"></a>xmlXPtrLocationSetDel ()</h3>
+<pre class="programlisting">void	xmlXPtrLocationSetDel		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Removes an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from an existing LocationSet</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the initial range set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrLocationSetMerge"></a>xmlXPtrLocationSetMerge ()</h3>
+<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetMerge	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br>						 <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2)<br>
+</pre>
+<p>Merges two rangesets, all ranges from @val2 are added to @val1</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val1</tt></i>:</span></td>
+<td>the first LocationSet</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val2</tt></i>:</span></td>
+<td>the second LocationSet</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>val1 once extended or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrLocationSetRemove"></a>xmlXPtrLocationSetRemove ()</h3>
+<pre class="programlisting">void	xmlXPtrLocationSetRemove	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 int val)<br>
+</pre>
+<p>Removes an entry from an existing LocationSet list.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the initial range set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the index to remove</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrNewCollapsedRange"></a>xmlXPtrNewCollapsedRange ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewCollapsedRange	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using a single nodes</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the starting and ending node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrNewContext"></a>xmlXPtrNewContext ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPtrNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin)<br>
+</pre>
+<p>Create a new XPointer context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>here</tt></i>:</span></td>
+<td>the node that directly contains the XPointer being evaluated or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>origin</tt></i>:</span></td>
+<td>the element from which a user or program initiated traversal of the link, or NULL.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrNewLocationSetNodeSet"></a>xmlXPtrNewLocationSetNodeSet ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodeSet	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with all the nodes from @set</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>set</tt></i>:</span></td>
+<td>a node set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrNewLocationSetNodes"></a>xmlXPtrNewLocationSetNodes ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodes	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with the single range made of the two nodes @start and @end</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the start NodePtr value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end</tt></i>:</span></td>
+<td>the end NodePtr value or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrNewRange"></a>xmlXPtrNewRange ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRange	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>					 int startindex, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br>					 int endindex)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the starting node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>startindex</tt></i>:</span></td>
+<td>the start index</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end</tt></i>:</span></td>
+<td>the ending point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>endindex</tt></i>:</span></td>
+<td>the ending index</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrNewRangeNodeObject"></a>xmlXPtrNewRangeNodeObject ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodeObject	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a not to an object</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the starting node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end</tt></i>:</span></td>
+<td>the ending object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrNewRangeNodePoint"></a>xmlXPtrNewRangeNodePoint ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodePoint	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a node to a point</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the starting node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end</tt></i>:</span></td>
+<td>the ending point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrNewRangeNodes"></a>xmlXPtrNewRangeNodes ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodes	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 nodes</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the starting node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end</tt></i>:</span></td>
+<td>the ending node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrNewRangePointNode"></a>xmlXPtrNewRangePointNode ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePointNode	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a point to a node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the starting point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end</tt></i>:</span></td>
+<td>the ending node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrNewRangePoints"></a>xmlXPtrNewRangePoints ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePoints	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 Points</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the starting point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>end</tt></i>:</span></td>
+<td>the ending point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrRangeToFunction"></a>xmlXPtrRangeToFunction ()</h3>
+<pre class="programlisting">void	xmlXPtrRangeToFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
+</pre>
+<p>Implement the range-to() XPointer function Obsolete. range-to is not a real function but a special type of location step which is handled in xpath.c.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPointer Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of args</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPtrWrapLocationSet"></a>xmlXPtrWrapLocationSet ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrWrapLocationSet	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val)<br>
+</pre>
+<p>Wrap the LocationSet @val in a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the LocationSet value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2.devhelp2 b/doc/devhelp/libxml2.devhelp2
index 6ebad34..3f6459e 100644
--- a/doc/devhelp/libxml2.devhelp2
+++ b/doc/devhelp/libxml2.devhelp2
@@ -2,7 +2,6 @@
 <book xmlns="http://www.devhelp.net/book" title="libxml2 Reference Manual" link="index.html" author="" name="libxml2">
   <chapters>
     <sub name="API" link="general.html">
-      <sub name="DOCBparser" link="libxml2-DOCBparser.html"/>
       <sub name="HTMLparser" link="libxml2-HTMLparser.html"/>
       <sub name="HTMLtree" link="libxml2-HTMLtree.html"/>
       <sub name="SAX" link="libxml2-SAX.html"/>
@@ -70,7 +69,6 @@
     <keyword type="macro" name="HTML_PI_NODE" link="libxml2-HTMLtree.html#HTML_PI_NODE"/>
     <keyword type="macro" name="HTML_PRESERVE_NODE" link="libxml2-HTMLtree.html#HTML_PRESERVE_NODE"/>
     <keyword type="macro" name="HTML_TEXT_NODE" link="libxml2-HTMLtree.html#HTML_TEXT_NODE"/>
-    <keyword type="macro" name="ICU_PIVOT_BUF_SIZE" link="libxml2-encoding.html#ICU_PIVOT_BUF_SIZE"/>
     <keyword type="macro" name="INPUT_CHUNK" link="libxml2-parserInternals.html#INPUT_CHUNK"/>
     <keyword type="macro" name="INVALID_SOCKET" link="libxml2-nanoftp.html#INVALID_SOCKET"/>
     <keyword type="macro" name="IS_ASCII_DIGIT" link="libxml2-parserInternals.html#IS_ASCII_DIGIT"/>
@@ -100,8 +98,6 @@
     <keyword type="macro" name="LIBXML_CATALOG_ENABLED" link="libxml2-xmlversion.html#LIBXML_CATALOG_ENABLED"/>
     <keyword type="macro" name="LIBXML_DEBUG_ENABLED" link="libxml2-xmlversion.html#LIBXML_DEBUG_ENABLED"/>
     <keyword type="macro" name="LIBXML_DEBUG_RUNTIME" link="libxml2-xmlversion.html#LIBXML_DEBUG_RUNTIME"/>
-    <keyword type="macro" name="LIBXML_DLL_IMPORT" link="libxml2-xmlexports.html#LIBXML_DLL_IMPORT"/>
-    <keyword type="macro" name="LIBXML_DOCB_ENABLED" link="libxml2-xmlversion.html#LIBXML_DOCB_ENABLED"/>
     <keyword type="macro" name="LIBXML_DOTTED_VERSION" link="libxml2-xmlversion.html#LIBXML_DOTTED_VERSION"/>
     <keyword type="macro" name="LIBXML_EXPR_ENABLED" link="libxml2-xmlversion.html#LIBXML_EXPR_ENABLED"/>
     <keyword type="macro" name="LIBXML_FTP_ENABLED" link="libxml2-xmlversion.html#LIBXML_FTP_ENABLED"/>
@@ -135,6 +131,7 @@
     <keyword type="macro" name="LIBXML_XINCLUDE_ENABLED" link="libxml2-xmlversion.html#LIBXML_XINCLUDE_ENABLED"/>
     <keyword type="macro" name="LIBXML_XPATH_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPATH_ENABLED"/>
     <keyword type="macro" name="LIBXML_XPTR_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPTR_ENABLED"/>
+    <keyword type="macro" name="LIBXML_XPTR_LOCS_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPTR_LOCS_ENABLED"/>
     <keyword type="macro" name="LIBXML_ZLIB_ENABLED" link="libxml2-xmlversion.html#LIBXML_ZLIB_ENABLED"/>
     <keyword type="macro" name="MOVETO_ENDTAG" link="libxml2-parserInternals.html#MOVETO_ENDTAG"/>
     <keyword type="macro" name="MOVETO_STARTTAG" link="libxml2-parserInternals.html#MOVETO_STARTTAG"/>
@@ -161,9 +158,8 @@
     <keyword type="macro" name="XML_CATALOGS_NAMESPACE" link="libxml2-catalog.html#XML_CATALOGS_NAMESPACE"/>
     <keyword type="macro" name="XML_CATALOG_PI" link="libxml2-catalog.html#XML_CATALOG_PI"/>
     <keyword type="macro" name="XML_COMPLETE_ATTRS" link="libxml2-parser.html#XML_COMPLETE_ATTRS"/>
-    <keyword type="macro" name="XML_CTXT_FINISH_DTD_0" link="libxml2-valid.html#XML_CTXT_FINISH_DTD_0"/>
-    <keyword type="macro" name="XML_CTXT_FINISH_DTD_1" link="libxml2-valid.html#XML_CTXT_FINISH_DTD_1"/>
     <keyword type="macro" name="XML_DEFAULT_VERSION" link="libxml2-parser.html#XML_DEFAULT_VERSION"/>
+    <keyword type="macro" name="XML_DEPRECATED" link="libxml2-xmlversion.html#XML_DEPRECATED"/>
     <keyword type="macro" name="XML_DETECT_IDS" link="libxml2-parser.html#XML_DETECT_IDS"/>
     <keyword type="macro" name="XML_GET_CONTENT" link="libxml2-tree.html#XML_GET_CONTENT"/>
     <keyword type="macro" name="XML_GET_LINE" link="libxml2-tree.html#XML_GET_LINE"/>
@@ -261,6 +257,8 @@
     <keyword type="macro" name="XML_SUBSTITUTE_NONE" link="libxml2-parserInternals.html#XML_SUBSTITUTE_NONE"/>
     <keyword type="macro" name="XML_SUBSTITUTE_PEREF" link="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF"/>
     <keyword type="macro" name="XML_SUBSTITUTE_REF" link="libxml2-parserInternals.html#XML_SUBSTITUTE_REF"/>
+    <keyword type="macro" name="XML_VCTXT_DTD_VALIDATED" link="libxml2-valid.html#XML_VCTXT_DTD_VALIDATED"/>
+    <keyword type="macro" name="XML_VCTXT_USE_PCTXT" link="libxml2-valid.html#XML_VCTXT_USE_PCTXT"/>
     <keyword type="macro" name="XML_XML_ID" link="libxml2-tree.html#XML_XML_ID"/>
     <keyword type="macro" name="XML_XML_NAMESPACE" link="libxml2-tree.html#XML_XML_NAMESPACE"/>
     <keyword type="macro" name="XML_XPATH_CHECKNS" link="libxml2-xpath.html#XML_XPATH_CHECKNS"/>
@@ -444,7 +442,6 @@
     <keyword type="enum" name="XML_CHECK_WRONG_PARENT" link="libxml2-xmlerror.html#XML_CHECK_WRONG_PARENT"/>
     <keyword type="enum" name="XML_CHECK_WRONG_PREV" link="libxml2-xmlerror.html#XML_CHECK_WRONG_PREV"/>
     <keyword type="enum" name="XML_COMMENT_NODE" link="libxml2-tree.html#XML_COMMENT_NODE"/>
-    <keyword type="enum" name="XML_DOCB_DOCUMENT_NODE" link="libxml2-tree.html#XML_DOCB_DOCUMENT_NODE"/>
     <keyword type="enum" name="XML_DOCUMENT_FRAG_NODE" link="libxml2-tree.html#XML_DOCUMENT_FRAG_NODE"/>
     <keyword type="enum" name="XML_DOCUMENT_NODE" link="libxml2-tree.html#XML_DOCUMENT_NODE"/>
     <keyword type="enum" name="XML_DOCUMENT_TYPE_NODE" link="libxml2-tree.html#XML_DOCUMENT_TYPE_NODE"/>
@@ -528,6 +525,7 @@
     <keyword type="enum" name="XML_ERR_CHARREF_IN_DTD" link="libxml2-xmlerror.html#XML_ERR_CHARREF_IN_DTD"/>
     <keyword type="enum" name="XML_ERR_CHARREF_IN_EPILOG" link="libxml2-xmlerror.html#XML_ERR_CHARREF_IN_EPILOG"/>
     <keyword type="enum" name="XML_ERR_CHARREF_IN_PROLOG" link="libxml2-xmlerror.html#XML_ERR_CHARREF_IN_PROLOG"/>
+    <keyword type="enum" name="XML_ERR_COMMENT_ABRUPTLY_ENDED" link="libxml2-xmlerror.html#XML_ERR_COMMENT_ABRUPTLY_ENDED"/>
     <keyword type="enum" name="XML_ERR_COMMENT_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_COMMENT_NOT_FINISHED"/>
     <keyword type="enum" name="XML_ERR_CONDSEC_INVALID" link="libxml2-xmlerror.html#XML_ERR_CONDSEC_INVALID"/>
     <keyword type="enum" name="XML_ERR_CONDSEC_INVALID_KEYWORD" link="libxml2-xmlerror.html#XML_ERR_CONDSEC_INVALID_KEYWORD"/>
@@ -669,6 +667,7 @@
     <keyword type="enum" name="XML_FTP_PASV_ANSWER" link="libxml2-xmlerror.html#XML_FTP_PASV_ANSWER"/>
     <keyword type="enum" name="XML_FTP_URL_SYNTAX" link="libxml2-xmlerror.html#XML_FTP_URL_SYNTAX"/>
     <keyword type="enum" name="XML_HTML_DOCUMENT_NODE" link="libxml2-tree.html#XML_HTML_DOCUMENT_NODE"/>
+    <keyword type="enum" name="XML_HTML_INCORRECTLY_OPENED_COMMENT" link="libxml2-xmlerror.html#XML_HTML_INCORRECTLY_OPENED_COMMENT"/>
     <keyword type="enum" name="XML_HTML_STRUCURE_ERROR" link="libxml2-xmlerror.html#XML_HTML_STRUCURE_ERROR"/>
     <keyword type="enum" name="XML_HTML_UNKNOWN_TAG" link="libxml2-xmlerror.html#XML_HTML_UNKNOWN_TAG"/>
     <keyword type="enum" name="XML_HTTP_UNKNOWN_HOST" link="libxml2-xmlerror.html#XML_HTTP_UNKNOWN_HOST"/>
@@ -1553,13 +1552,6 @@
     <keyword type="enum" name="XPTR_RESOURCE_ERROR" link="libxml2-xpath.html#XPTR_RESOURCE_ERROR"/>
     <keyword type="enum" name="XPTR_SUB_RESOURCE_ERROR" link="libxml2-xpath.html#XPTR_SUB_RESOURCE_ERROR"/>
     <keyword type="enum" name="XPTR_SYNTAX_ERROR" link="libxml2-xpath.html#XPTR_SYNTAX_ERROR"/>
-    <keyword type="typedef" name="docbDocPtr" link="libxml2-DOCBparser.html#docbDocPtr"/>
-    <keyword type="typedef" name="docbParserCtxt" link="libxml2-DOCBparser.html#docbParserCtxt"/>
-    <keyword type="typedef" name="docbParserCtxtPtr" link="libxml2-DOCBparser.html#docbParserCtxtPtr"/>
-    <keyword type="typedef" name="docbParserInput" link="libxml2-DOCBparser.html#docbParserInput"/>
-    <keyword type="typedef" name="docbParserInputPtr" link="libxml2-DOCBparser.html#docbParserInputPtr"/>
-    <keyword type="typedef" name="docbSAXHandler" link="libxml2-DOCBparser.html#docbSAXHandler"/>
-    <keyword type="typedef" name="docbSAXHandlerPtr" link="libxml2-DOCBparser.html#docbSAXHandlerPtr"/>
     <keyword type="typedef" name="htmlDocPtr" link="libxml2-HTMLparser.html#htmlDocPtr"/>
     <keyword type="typedef" name="htmlElemDescPtr" link="libxml2-HTMLparser.html#htmlElemDescPtr"/>
     <keyword type="typedef" name="htmlEntityDescPtr" link="libxml2-HTMLparser.html#htmlEntityDescPtr"/>
@@ -1718,7 +1710,6 @@
     <keyword type="typedef" name="xmlXPathVariablePtr" link="libxml2-xpath.html#xmlXPathVariablePtr"/>
     <keyword type="struct" name="htmlElemDesc" link="libxml2-HTMLparser.html#htmlElemDesc"/>
     <keyword type="struct" name="htmlEntityDesc" link="libxml2-HTMLparser.html#htmlEntityDesc"/>
-    <keyword type="struct" name="uconv_t" link="libxml2-encoding.html#uconv_t"/>
     <keyword type="struct" name="xlinkHandler" link="libxml2-xlink.html#xlinkHandler"/>
     <keyword type="struct" name="xmlAttr" link="libxml2-tree.html#xmlAttr"/>
     <keyword type="struct" name="xmlAttribute" link="libxml2-tree.html#xmlAttribute"/>
@@ -1902,7 +1893,6 @@
     <keyword type="function" name="xmlXPathFuncLookupFunc" link="libxml2-xpath.html#xmlXPathFuncLookupFunc"/>
     <keyword type="function" name="xmlXPathFunction" link="libxml2-xpath.html#xmlXPathFunction"/>
     <keyword type="function" name="xmlXPathVariableLookupFunc" link="libxml2-xpath.html#xmlXPathVariableLookupFunc"/>
-    <keyword type="macro" name="docbDefaultSAXHandler" link="libxml2-globals.html#docbDefaultSAXHandler"/>
     <keyword type="macro" name="emptyExp" link="libxml2-xmlregexp.html#emptyExp"/>
     <keyword type="macro" name="forbiddenExp" link="libxml2-xmlregexp.html#forbiddenExp"/>
     <keyword type="macro" name="htmlDefaultSAXHandler" link="libxml2-globals.html#htmlDefaultSAXHandler"/>
@@ -1959,17 +1949,6 @@
     <keyword type="function" name="characters ()" link="libxml2-SAX.html#characters"/>
     <keyword type="function" name="checkNamespace ()" link="libxml2-SAX.html#checkNamespace"/>
     <keyword type="function" name="comment ()" link="libxml2-SAX.html#comment"/>
-    <keyword type="function" name="docbCreateFileParserCtxt ()" link="libxml2-DOCBparser.html#docbCreateFileParserCtxt"/>
-    <keyword type="function" name="docbCreatePushParserCtxt ()" link="libxml2-DOCBparser.html#docbCreatePushParserCtxt"/>
-    <keyword type="function" name="docbDefaultSAXHandlerInit ()" link="libxml2-SAX2.html#docbDefaultSAXHandlerInit"/>
-    <keyword type="function" name="docbEncodeEntities ()" link="libxml2-DOCBparser.html#docbEncodeEntities"/>
-    <keyword type="function" name="docbFreeParserCtxt ()" link="libxml2-DOCBparser.html#docbFreeParserCtxt"/>
-    <keyword type="function" name="docbParseChunk ()" link="libxml2-DOCBparser.html#docbParseChunk"/>
-    <keyword type="function" name="docbParseDoc ()" link="libxml2-DOCBparser.html#docbParseDoc"/>
-    <keyword type="function" name="docbParseDocument ()" link="libxml2-DOCBparser.html#docbParseDocument"/>
-    <keyword type="function" name="docbParseFile ()" link="libxml2-DOCBparser.html#docbParseFile"/>
-    <keyword type="function" name="docbSAXParseDoc ()" link="libxml2-DOCBparser.html#docbSAXParseDoc"/>
-    <keyword type="function" name="docbSAXParseFile ()" link="libxml2-DOCBparser.html#docbSAXParseFile"/>
     <keyword type="function" name="elementDecl ()" link="libxml2-SAX.html#elementDecl"/>
     <keyword type="function" name="endDocument ()" link="libxml2-SAX.html#endDocument"/>
     <keyword type="function" name="endElement ()" link="libxml2-SAX.html#endElement"/>
@@ -1987,7 +1966,7 @@
     <keyword type="function" name="hasInternalSubset ()" link="libxml2-SAX.html#hasInternalSubset"/>
     <keyword type="function" name="htmlAttrAllowed ()" link="libxml2-HTMLparser.html#htmlAttrAllowed"/>
     <keyword type="function" name="htmlAutoCloseTag ()" link="libxml2-HTMLparser.html#htmlAutoCloseTag"/>
-    <keyword type="function" name="htmlCreateFileParserCtxt ()" link="libxml2-parserInternals.html#htmlCreateFileParserCtxt"/>
+    <keyword type="function" name="htmlCreateFileParserCtxt ()" link="libxml2-HTMLparser.html#htmlCreateFileParserCtxt"/>
     <keyword type="function" name="htmlCreateMemoryParserCtxt ()" link="libxml2-HTMLparser.html#htmlCreateMemoryParserCtxt"/>
     <keyword type="function" name="htmlCreatePushParserCtxt ()" link="libxml2-HTMLparser.html#htmlCreatePushParserCtxt"/>
     <keyword type="function" name="htmlCtxtReadDoc ()" link="libxml2-HTMLparser.html#htmlCtxtReadDoc"/>
@@ -2011,13 +1990,14 @@
     <keyword type="function" name="htmlFreeParserCtxt ()" link="libxml2-HTMLparser.html#htmlFreeParserCtxt"/>
     <keyword type="function" name="htmlGetMetaEncoding ()" link="libxml2-HTMLtree.html#htmlGetMetaEncoding"/>
     <keyword type="function" name="htmlHandleOmittedElem ()" link="libxml2-HTMLparser.html#htmlHandleOmittedElem"/>
-    <keyword type="function" name="htmlInitAutoClose ()" link="libxml2-parserInternals.html#htmlInitAutoClose"/>
+    <keyword type="function" name="htmlInitAutoClose ()" link="libxml2-HTMLparser.html#htmlInitAutoClose"/>
     <keyword type="function" name="htmlIsAutoClosed ()" link="libxml2-HTMLparser.html#htmlIsAutoClosed"/>
     <keyword type="function" name="htmlIsBooleanAttr ()" link="libxml2-HTMLtree.html#htmlIsBooleanAttr"/>
     <keyword type="function" name="htmlIsScriptAttribute ()" link="libxml2-HTMLparser.html#htmlIsScriptAttribute"/>
     <keyword type="function" name="htmlNewDoc ()" link="libxml2-HTMLtree.html#htmlNewDoc"/>
     <keyword type="function" name="htmlNewDocNoDtD ()" link="libxml2-HTMLtree.html#htmlNewDocNoDtD"/>
     <keyword type="function" name="htmlNewParserCtxt ()" link="libxml2-HTMLparser.html#htmlNewParserCtxt"/>
+    <keyword type="function" name="htmlNewSAXParserCtxt ()" link="libxml2-HTMLparser.html#htmlNewSAXParserCtxt"/>
     <keyword type="function" name="htmlNodeDump ()" link="libxml2-HTMLtree.html#htmlNodeDump"/>
     <keyword type="function" name="htmlNodeDumpFile ()" link="libxml2-HTMLtree.html#htmlNodeDumpFile"/>
     <keyword type="function" name="htmlNodeDumpFileFormat ()" link="libxml2-HTMLtree.html#htmlNodeDumpFileFormat"/>
@@ -2045,7 +2025,6 @@
     <keyword type="function" name="htmlTagLookup ()" link="libxml2-HTMLparser.html#htmlTagLookup"/>
     <keyword type="function" name="ignorableWhitespace ()" link="libxml2-SAX.html#ignorableWhitespace"/>
     <keyword type="function" name="initGenericErrorDefaultFunc ()" link="libxml2-xmlerror.html#initGenericErrorDefaultFunc"/>
-    <keyword type="function" name="initdocbDefaultSAXHandler ()" link="libxml2-SAX.html#initdocbDefaultSAXHandler"/>
     <keyword type="function" name="inithtmlDefaultSAXHandler ()" link="libxml2-SAX.html#inithtmlDefaultSAXHandler"/>
     <keyword type="function" name="initxmlDefaultSAXHandler ()" link="libxml2-SAX.html#initxmlDefaultSAXHandler"/>
     <keyword type="function" name="inputPop ()" link="libxml2-parserInternals.html#inputPop"/>
@@ -2585,6 +2564,7 @@
     <keyword type="function" name="xmlNewProp ()" link="libxml2-tree.html#xmlNewProp"/>
     <keyword type="function" name="xmlNewRMutex ()" link="libxml2-threads.html#xmlNewRMutex"/>
     <keyword type="function" name="xmlNewReference ()" link="libxml2-tree.html#xmlNewReference"/>
+    <keyword type="function" name="xmlNewSAXParserCtxt ()" link="libxml2-parser.html#xmlNewSAXParserCtxt"/>
     <keyword type="function" name="xmlNewStringInputStream ()" link="libxml2-parserInternals.html#xmlNewStringInputStream"/>
     <keyword type="function" name="xmlNewText ()" link="libxml2-tree.html#xmlNewText"/>
     <keyword type="function" name="xmlNewTextChild ()" link="libxml2-tree.html#xmlNewTextChild"/>
@@ -2830,7 +2810,6 @@
     <keyword type="function" name="xmlSAX2HasInternalSubset ()" link="libxml2-SAX2.html#xmlSAX2HasInternalSubset"/>
     <keyword type="function" name="xmlSAX2IgnorableWhitespace ()" link="libxml2-SAX2.html#xmlSAX2IgnorableWhitespace"/>
     <keyword type="function" name="xmlSAX2InitDefaultSAXHandler ()" link="libxml2-SAX2.html#xmlSAX2InitDefaultSAXHandler"/>
-    <keyword type="function" name="xmlSAX2InitDocbDefaultSAXHandler ()" link="libxml2-SAX2.html#xmlSAX2InitDocbDefaultSAXHandler"/>
     <keyword type="function" name="xmlSAX2InitHtmlDefaultSAXHandler ()" link="libxml2-SAX2.html#xmlSAX2InitHtmlDefaultSAXHandler"/>
     <keyword type="function" name="xmlSAX2InternalSubset ()" link="libxml2-SAX2.html#xmlSAX2InternalSubset"/>
     <keyword type="function" name="xmlSAX2IsStandalone ()" link="libxml2-SAX2.html#xmlSAX2IsStandalone"/>
diff --git a/doc/docdescr.doc b/doc/docdescr.doc
deleted file mode 100644
index 38a6500..0000000
--- a/doc/docdescr.doc
+++ /dev/null
@@ -1,100 +0,0 @@
-                   Notes on the libxml2 Documentation
-            Prepared by: William Brack <wbrack@mmm.com.hk>
-	    
-  After spending a  lot of time tracing through  Makefile.am, some Python
-scripts  and some xsl  scripts and xml files, I  thought it might be good
-to save others some time  by setting down the basic information about how
-the library documentation  is created.  I intend to enhance this process,
-but will keep this document up-to-date for  everyone's information.  Note
-that this document does not  apply to the subdirectory  "tutorial", which
-is separately maintained by John Fleck.
-
-  There are a relatively  small number of files  which form the "core" of
-the document directory.  All  the other files in the directory can be re-
-generated using  the information  present in these  core files,  plus the
-actual library  source files (*.[ch]) in the parent  directory  "../" and
-it's descendants include  and include/libxml.  These core files, together
-with a brief description of each, are as follows:-
-
-xml.html           The "main page", manually produced by Daniel Veillard
-news.html          The latest news, extracted from xml.html by site.xsl
-
-benchmark.gif      Illustrations used for the "main page" and subsidiaries
-gnome2.png                              -------
-Libxml2-Logo-180x168.gif                   |
-libxml.gif                                 |
-linus.gif                                  |
-redhat.gif                                 |
-structure.gif                             \ /
-w3c.png                                    -
-
-apibuild.py        Python script which generates the file libxml2-api.xml
-parsedecl.py       Python script which generates the file libxml2-refs.xml
-
-api.xsl            xslt script to generate API cross-references APIchunk*.html
-                     using information from libxml2-api.xml and libxml2-refs.xml
-news.xsl           xslt script to generate ../NEWS from news.html
-site.xsl           xslt script imported by api.xsl, generates most top-level
-                     pages from news.html
-xsa.xsl            xslt script to generate libxml.xsa from news.html
-
-xmlcatalog.1       Man page for xml catalogs, built from xmlcatalog_man.xml DocBook
-		   source with "make xmlcatalog.1" or "make all"
-xmllint.1          Man page for xmllint program, built from xmllint.xml DocBook
-		   source with "make xmllint.1" or "make all"
-
-libxml-doc.el      Control script for displaying docs under emacs
-
-
-  Given the above files, the generation of the complete documentation (as
-provided on the web) can be created with the following steps:
-
-NOTE:  Steps 1 through 7 are performed with the command "make rebuild";
-       Steps 3 and 5 through 7 are performed with the command "make all"
-
-
-1) Generate libxml2-api.xml:
-       ./apibuild.py
-
-    This script is a more recent addition to the documentation generation.
-    Instead of using the information from the gtk-doc routines, it actually
-    re-processes all the the library source files, extracting information
-    about the api (exported procedures and symbols, together with information
-    from the source comments within these).  It produces an xml file which
-    contains all of this information, "libxml2-api.xml".
-
-2) Generate libxml2-refs.xml:
-       ./parsedecl.py
-
-    This script produces the summary
-    xml file "libxml2-refs.xml".  Historically, it also used to produce
-    information on the api's in the file "libxml2-api.xml", but that step is
-    now being done by a separate script.
-
-3) Generate the site's main pages:
-       xsltproc --nonet --html --output index.html site.xsl xml.html
-
-    All of the "top-level" pages (except xmlreader.html and guidelines.html)
-    which have navigation framing, are generated from this step
-
-4) Generate the contents and cross-referencing pages:
-       xsltproc --nonet --html api.xsl xml.html
-
-5) Generate the NEWS file in the top directory:
-       xsltproc --nonet --output ../NEWS news.xsl news.html
-
-6) Generate the XML Software Autoupdate file libxml2.xsa:
-       make libxml2.xsa, or,
-       xsltproc --nonet --output libxml2.xsa xsa.xsl news.html
-
-7) Manually generate xmlcatalog.1 and xmllint.1 using manpages/docbook.xsl
-   stylesheet in docbook stylesheets. "make all" also takes care of this.
-
-  After these steps have been done, the documentation is complete.
-The search engine is then set up using the script index.py, using
-libxml2-api.xml, the HTML web pages generated above, and the HTML
-mailing list archives at gnome.org.
-
-
-Last update:  30 November 2003
-
diff --git a/doc/docs.html b/doc/docs.html
deleted file mode 100644
index 40d2c81..0000000
--- a/doc/docs.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Developer Menu</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Developer Menu</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There are several on-line resources related to using libxml:</p><ol>
-  <li>Use the <a href="search.php">search engine</a> to look up
-  information.</li>
-  <li>Check the <a href="FAQ.html">FAQ.</a></li>
-  <li>Check the <a href="http://xmlsoft.org/html/libxml-lib.html">extensive
-    documentation</a> automatically extracted from code comments.</li>
-  <li>Look at the documentation about <a href="encoding.html">libxml
-    internationalization support</a>.</li>
-  <li>This page provides a global overview and <a href="example.html">some
-    examples</a> on how to use libxml.</li>
-  <li><a href="examples/index.html">Code examples</a></li>
-  <li>John Fleck's libxml2 tutorial: <a href="tutorial/index.html">html</a>
-    or <a href="tutorial/xmltutorial.pdf">pdf</a>.</li>
-  <li>If you need to parse large files, check the <a href="xmlreader.html">xmlReader</a> API tutorial</li>
-  <li><a href="mailto:james@daa.com.au">James Henstridge</a> wrote <a href="http://www.jamesh.id.au/articles/libxml-sax/libxml-sax.html">some nice
-    documentation</a> explaining how to use the libxml SAX interface.</li>
-  <li>George Lebl wrote <a href="http://www-106.ibm.com/developerworks/library/l-gnome3/">an article
-    for IBM developerWorks</a> about using libxml.</li>
-  <li>Check <a href="http://svn.gnome.org/viewvc/libxml2/trunk/TODO?view=markup">the TODO
-    file</a>.</li>
-  <li>Read the <a href="upgrade.html">1.x to 2.x upgrade path</a>
-    description. If you are starting a new project using libxml you should
-    really use the 2.x version.</li>
-  <li>And don't forget to look at the <a href="http://mail.gnome.org/archives/xml/">mailing-list archive</a>.</li>
-</ol><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>
diff --git a/doc/downloads.html b/doc/downloads.html
deleted file mode 100644
index c09fecf..0000000
--- a/doc/downloads.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Downloads</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Downloads</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The latest versions of libxml2 can be found on the <a href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> server ( <a href="ftp://xmlsoft.org/libxml2/">FTP</a> and rsync are available), there are also
-mirrors (<a href="ftp://fr.rpmfind.net/pub/libxml/">France</a> and
-Antonin Sprinzl also provide <a href="ftp://gd.tuwien.ac.at/pub/libxml/">a
-mirror in Austria</a>). (NOTE that you need both the <a href="http://rpmfind.net/linux/RPM/libxml2.html">libxml(2)</a> and <a href="http://rpmfind.net/linux/RPM/libxml2-devel.html">libxml(2)-devel</a>
-packages installed to compile applications using libxml if using RPMs.)</p><p>You can find all the history of libxml(2) and libxslt releases in the <a href="http://xmlsoft.org/sources/old/">old</a> directory. The precompiled
-Windows binaries made by Igor Zlatovic are available in the <a href="http://xmlsoft.org/sources/win32/">win32</a> directory.</p><p>Binary ports:</p><ul>
-  <li>RPMs for x86_64 are available directly on <a href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a>, the source RPM will compile on
-    any architecture supported.</li>
-  <li><a href="mailto:igor@zlatkovic.com">Igor Zlatkovic</a> is now the
-    maintainer of the Windows port, <a href="http://www.zlatkovic.com/projects/libxml/index.html">he provides
-    binaries</a>.</li>
-  <li>OpenCSW provides <a href="http://opencsw.org/packages/libxml2">Solaris
-  binaries</a>.</li>
-  <li><a href="mailto:Steve.Ball@explain.com.au">Steve Ball</a> provides <a href="http://www.explain.com.au/oss/libxml2xslt.html">Mac Os X
-    binaries</a>.</li>
-  <li>The HP-UX porting center provides <a href="http://hpux.connect.org.uk/hppd/hpux/Gnome/">HP-UX binaries</a></li>
-  <li>Bull provides precompiled <a href="http://gnome.bullfreeware.com/new_index.html">RPMs for AIX</a> as
-    patr of their GNOME packages</li>
-</ul><p>If you know other supported binary ports, please <a href="http://veillard.com/">contact me</a>.</p><p><a name="Snapshot" id="Snapshot">Snapshot:</a></p><ul>
-  <li>Code from the GNOME GIT base libxml2 module, updated hourly <a href="ftp://xmlsoft.org/libxml2/libxml2-git-snapshot.tar.gz">libxml2-git-snapshot.tar.gz</a>.</li>
-  <li>Docs, content of the web site, the list archive included <a href="ftp://xmlsoft.org/libxml2/libxml-docs.tar.gz">libxml-docs.tar.gz</a>.</li>
-</ul><p><a name="Contribs" id="Contribs">Contributions:</a></p><p>I do accept external contributions, especially if compiling on another
-platform,  get in touch with the list to upload the package, wrappers for
-various languages have been provided, and can be found in the <a href="python.html">bindings section</a></p><p>Libxml2 is also available from GIT:</p><ul>
-  <li><p>See <a href="https://gitlab.gnome.org/GNOME/libxml2">libxml2 Git web</a>.
-         To checkout a local tree use:</p>
-       <pre>git clone https://gitlab.gnome.org/GNOME/libxml2.git</pre>
-  </li>
-  <li>The <strong>libxslt</strong> module is also present 
-      <a href="https://gitlab.gnome.org/GNOME/libxslt">there</a>.</li>
-</ul><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/encoding.html b/doc/encoding.html
deleted file mode 100644
index b2f90ab..0000000
--- a/doc/encoding.html
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Encodings support</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Encodings support</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>If you are not really familiar with Internationalization (usual shortcut
-is I18N) , Unicode, characters and glyphs, I suggest you read a <a href="http://www.tbray.org/ongoing/When/200x/2003/04/06/Unicode">presentation</a>
-by Tim Bray on Unicode and why you should care about it.</p><p>If you don't understand why <b>it does not make sense to have a string
-without knowing what encoding it uses</b>, then as Joel Spolsky said <a href="http://www.joelonsoftware.com/articles/Unicode.html">please do not
-write another line of code until you finish reading that article.</a>. It is
-a prerequisite to understand this page, and avoid a lot of problems with
-libxml2, XML or text processing in general.</p><p>Table of Content:</p><ol>
-  <li><a href="encoding.html#What">What does internationalization support
-    mean ?</a></li>
-  <li><a href="encoding.html#internal">The internal encoding, how and
-  why</a></li>
-  <li><a href="encoding.html#implemente">How is it implemented ?</a></li>
-  <li><a href="encoding.html#Default">Default supported encodings</a></li>
-  <li><a href="encoding.html#extend">How to extend the existing
-  support</a></li>
-</ol><h3><a name="What" id="What">What does internationalization support mean ?</a></h3><p>XML was designed from the start to allow the support of any character set
-by using Unicode. Any conformant XML parser has to support the UTF-8 and
-UTF-16 default encodings which can both express the full unicode ranges. UTF8
-is a variable length encoding whose greatest points are to reuse the same
-encoding for ASCII and to save space for Western encodings, but it is a bit
-more complex to handle in practice. UTF-16 use 2 bytes per character (and
-sometimes combines two pairs), it makes implementation easier, but looks a
-bit overkill for Western languages encoding. Moreover the XML specification
-allows the document to be encoded in other encodings at the condition that
-they are clearly labeled as such. For example the following is a wellformed
-XML document encoded in ISO-8859-1 and using accentuated letters that we
-French like for both markup and content:</p><pre>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
-&lt;très&gt;là &lt;/très&gt;</pre><p>Having internationalization support in libxml2 means the following:</p><ul>
-  <li>the document is properly parsed</li>
-  <li>information about it's encoding is saved</li>
-  <li>it can be modified</li>
-  <li>it can be saved in its original encoding</li>
-  <li>it can also be saved in another encoding supported by libxml2 (for
-    example straight UTF8 or even an ASCII form)</li>
-</ul><p>Another very important point is that the whole libxml2 API, with the
-exception of a few routines to read with a specific encoding or save to a
-specific encoding, is completely agnostic about the original encoding of the
-document.</p><p>It should be noted too that the HTML parser embedded in libxml2 now obey
-the same rules too, the following document will be (as of 2.2.2) handled  in
-an internationalized fashion by libxml2 too:</p><pre>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
-                      "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
-&lt;html lang="fr"&gt;
-&lt;head&gt;
-  &lt;META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"&gt;
-&lt;/head&gt;
-&lt;body&gt;
-&lt;p&gt;W3C crée des standards pour le Web.&lt;/body&gt;
-&lt;/html&gt;</pre><h3><a name="internal" id="internal">The internal encoding, how and why</a></h3><p>One of the core decisions was to force all documents to be converted to a
-default internal encoding, and that encoding to be UTF-8, here are the
-rationales for those choices:</p><ul>
-  <li>keeping the native encoding in the internal form would force the libxml
-    users (or the code associated) to be fully aware of the encoding of the
-    original document, for examples when adding a text node to a document,
-    the content would have to be provided in the document encoding, i.e. the
-    client code would have to check it before hand, make sure it's conformant
-    to the encoding, etc ... Very hard in practice, though in some specific
-    cases this may make sense.</li>
-  <li>the second decision was which encoding. From the XML spec only UTF8 and
-    UTF16 really makes sense as being the two only encodings for which there
-    is mandatory support. UCS-4 (32 bits fixed size encoding) could be
-    considered an intelligent choice too since it's a direct Unicode mapping
-    support. I selected UTF-8 on the basis of efficiency and compatibility
-    with surrounding software:
-    <ul>
-      <li>UTF-8 while a bit more complex to convert from/to (i.e. slightly
-        more costly to import and export CPU wise) is also far more compact
-        than UTF-16 (and UCS-4) for a majority of the documents I see it used
-        for right now (RPM RDF catalogs, advogato data, various configuration
-        file formats, etc.) and the key point for today's computer
-        architecture is efficient uses of caches. If one nearly double the
-        memory requirement to store the same amount of data, this will trash
-        caches (main memory/external caches/internal caches) and my take is
-        that this harms the system far more than the CPU requirements needed
-        for the conversion to UTF-8</li>
-      <li>Most of libxml2 version 1 users were using it with straight ASCII
-        most of the time, doing the conversion with an internal encoding
-        requiring all their code to be rewritten was a serious show-stopper
-        for using UTF-16 or UCS-4.</li>
-      <li>UTF-8 is being used as the de-facto internal encoding standard for
-        related code like the <a href="http://www.pango.org/">pango</a>
-        upcoming Gnome text widget, and a lot of Unix code (yet another place
-        where Unix programmer base takes a different approach from Microsoft
-        - they are using UTF-16)</li>
-    </ul>
-  </li>
-</ul><p>What does this mean in practice for the libxml2 user:</p><ul>
-  <li>xmlChar, the libxml2 data type is a byte, those bytes must be assembled
-    as UTF-8 valid strings. The proper way to terminate an xmlChar * string
-    is simply to append 0 byte, as usual.</li>
-  <li>One just need to make sure that when using chars outside the ASCII set,
-    the values has been properly converted to UTF-8</li>
-</ul><h3><a name="implemente" id="implemente">How is it implemented ?</a></h3><p>Let's describe how all this works within libxml, basically the I18N
-(internationalization) support get triggered only during I/O operation, i.e.
-when reading a document or saving one. Let's look first at the reading
-sequence:</p><ol>
-  <li>when a document is processed, we usually don't know the encoding, a
-    simple heuristic allows to detect UTF-16 and UCS-4 from encodings where
-    the ASCII range (0-0x7F) maps with ASCII</li>
-  <li>the xml declaration if available is parsed, including the encoding
-    declaration. At that point, if the autodetected encoding is different
-    from the one declared a call to xmlSwitchEncoding() is issued.</li>
-  <li>If there is no encoding declaration, then the input has to be in either
-    UTF-8 or UTF-16, if it is not then at some point when processing the
-    input, the converter/checker of UTF-8 form will raise an encoding error.
-    You may end-up with a garbled document, or no document at all ! Example:
-    <pre>~/XML -&gt; ./xmllint err.xml 
-err.xml:1: error: Input is not proper UTF-8, indicate encoding !
-&lt;très&gt;là &lt;/très&gt;
-   ^
-err.xml:1: error: Bytes: 0xE8 0x73 0x3E 0x6C
-&lt;très&gt;là &lt;/très&gt;
-   ^</pre>
-  </li>
-  <li>xmlSwitchEncoding() does an encoding name lookup, canonicalize it, and
-    then search the default registered encoding converters for that encoding.
-    If it's not within the default set and iconv() support has been compiled
-    it, it will ask iconv for such an encoder. If this fails then the parser
-    will report an error and stops processing:
-    <pre>~/XML -&gt; ./xmllint err2.xml 
-err2.xml:1: error: Unsupported encoding UnsupportedEnc
-&lt;?xml version="1.0" encoding="UnsupportedEnc"?&gt;
-                                             ^</pre>
-  </li>
-  <li>From that point the encoder processes progressively the input (it is
-    plugged as a front-end to the I/O module) for that entity. It captures
-    and converts on-the-fly the document to be parsed to UTF-8. The parser
-    itself just does UTF-8 checking of this input and process it
-    transparently. The only difference is that the encoding information has
-    been added to the parsing context (more precisely to the input
-    corresponding to this entity).</li>
-  <li>The result (when using DOM) is an internal form completely in UTF-8
-    with just an encoding information on the document node.</li>
-</ol><p>Ok then what happens when saving the document (assuming you
-collected/built an xmlDoc DOM like structure) ? It depends on the function
-called, xmlSaveFile() will just try to save in the original encoding, while
-xmlSaveFileTo() and xmlSaveFileEnc() can optionally save to a given
-encoding:</p><ol>
-  <li>if no encoding is given, libxml2 will look for an encoding value
-    associated to the document and if it exists will try to save to that
-    encoding,
-    <p>otherwise everything is written in the internal form, i.e. UTF-8</p>
-  </li>
-  <li>so if an encoding was specified, either at the API level or on the
-    document, libxml2 will again canonicalize the encoding name, lookup for a
-    converter in the registered set or through iconv. If not found the
-    function will return an error code</li>
-  <li>the converter is placed before the I/O buffer layer, as another kind of
-    buffer, then libxml2 will simply push the UTF-8 serialization to through
-    that buffer, which will then progressively be converted and pushed onto
-    the I/O layer.</li>
-  <li>It is possible that the converter code fails on some input, for example
-    trying to push an UTF-8 encoded Chinese character through the UTF-8 to
-    ISO-8859-1 converter won't work. Since the encoders are progressive they
-    will just report the error and the number of bytes converted, at that
-    point libxml2 will decode the offending character, remove it from the
-    buffer and replace it with the associated charRef encoding &amp;#123; and
-    resume the conversion. This guarantees that any document will be saved
-    without losses (except for markup names where this is not legal, this is
-    a problem in the current version, in practice avoid using non-ascii
-    characters for tag or attribute names). A special "ascii" encoding name
-    is used to save documents to a pure ascii form can be used when
-    portability is really crucial</li>
-</ol><p>Here are a few examples based on the same test document and assumin a
-terminal using ISO-8859-1 as the text encoding:</p><pre>~/XML -&gt; ./xmllint isolat1 
-&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
-&lt;très&gt;là&lt;/très&gt;
-~/XML -&gt; ./xmllint --encode UTF-8 isolat1 
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;très&gt;là  &lt;/très&gt;
-~/XML -&gt; </pre><p>The same processing is applied (and reuse most of the code) for HTML I18N
-processing. Looking up and modifying the content encoding is a bit more
-difficult since it is located in a &lt;meta&gt; tag under the &lt;head&gt;,
-so a couple of functions htmlGetMetaEncoding() and htmlSetMetaEncoding() have
-been provided. The parser also attempts to switch encoding on the fly when
-detecting such a tag on input. Except for that the processing is the same
-(and again reuses the same code).</p><h3><a name="Default" id="Default">Default supported encodings</a></h3><p>libxml2 has a set of default converters for the following encodings
-(located in encoding.c):</p><ol>
-  <li>UTF-8 is supported by default (null handlers)</li>
-  <li>UTF-16, both little and big endian</li>
-  <li>ISO-Latin-1 (ISO-8859-1) covering most western languages</li>
-  <li>ASCII, useful mostly for saving</li>
-  <li>HTML, a specific handler for the conversion of UTF-8 to ASCII with HTML
-    predefined entities like &amp;copy; for the Copyright sign.</li>
-</ol><p>More over when compiled on an Unix platform with iconv support the full
-set of encodings supported by iconv can be instantly be used by libxml. On a
-linux machine with glibc-2.1 the list of supported encodings and aliases fill
-3 full pages, and include UCS-4, the full set of ISO-Latin encodings, and the
-various Japanese ones.</p><p>To convert from the UTF-8 values returned from the API to another encoding
-then it is possible to use the function provided from <a href="html/libxml-encoding.html">the encoding module</a> like <a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a>, or use the
-POSIX <a href="http://www.opengroup.org/onlinepubs/009695399/functions/iconv.html">iconv()</a>
-API directly.</p><h4>Encoding aliases</h4><p>From 2.2.3, libxml2 has support to register encoding names aliases. The
-goal is to be able to parse document whose encoding is supported but where
-the name differs (for example from the default set of names accepted by
-iconv). The following functions allow to register and handle new aliases for
-existing encodings. Once registered libxml2 will automatically lookup the
-aliases when handling a document:</p><ul>
-  <li>int xmlAddEncodingAlias(const char *name, const char *alias);</li>
-  <li>int xmlDelEncodingAlias(const char *alias);</li>
-  <li>const char * xmlGetEncodingAlias(const char *alias);</li>
-  <li>void xmlCleanupEncodingAliases(void);</li>
-</ul><h3><a name="extend" id="extend">How to extend the existing support</a></h3><p>Well adding support for new encoding, or overriding one of the encoders
-(assuming it is buggy) should not be hard, just write input and output
-conversion routines to/from UTF-8, and register them using
-xmlNewCharEncodingHandler(name, xxxToUTF8, UTF8Toxxx),  and they will be
-called automatically if the parser(s) encounter such an encoding name
-(register it uppercase, this will help). The description of the encoders,
-their arguments and expected return values are described in the encoding.h
-header.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/entities.html b/doc/entities.html
deleted file mode 100644
index 86af37a..0000000
--- a/doc/entities.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Entities or no entities</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Entities or no entities</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Entities in principle are similar to simple C macros. An entity defines an
-abbreviation for a given string that you can reuse many times throughout the
-content of your document. Entities are especially useful when a given string
-may occur frequently within a document, or to confine the change needed to a
-document to a restricted area in the internal subset of the document (at the
-beginning). Example:</p><pre>1 &lt;?xml version="1.0"?&gt;
-2 &lt;!DOCTYPE EXAMPLE SYSTEM "example.dtd" [
-3 &lt;!ENTITY xml "Extensible Markup Language"&gt;
-4 ]&gt;
-5 &lt;EXAMPLE&gt;
-6    &amp;xml;
-7 &lt;/EXAMPLE&gt;</pre><p>Line 3 declares the xml entity. Line 6 uses the xml entity, by prefixing
-its name with '&amp;' and following it by ';' without any spaces added. There
-are 5 predefined entities in libxml2 allowing you to escape characters with
-predefined meaning in some parts of the xml document content:
-<strong>&amp;lt;</strong> for the character '&lt;', <strong>&amp;gt;</strong>
-for the character '&gt;',  <strong>&amp;apos;</strong> for the character ''',
-<strong>&amp;quot;</strong> for the character '"', and
-<strong>&amp;amp;</strong> for the character '&amp;'.</p><p>One of the problems related to entities is that you may want the parser to
-substitute an entity's content so that you can see the replacement text in
-your application. Or you may prefer to keep entity references as such in the
-content to be able to save the document back without losing this usually
-precious information (if the user went through the pain of explicitly
-defining entities, he may have a a rather negative attitude if you blindly
-substitute them as saving time). The <a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault()</a>
-function allows you to check and change the behaviour, which is to not
-substitute entities by default.</p><p>Here is the DOM tree built by libxml2 for the previous document in the
-default case:</p><pre>/gnome/src/gnome-xml -&gt; ./xmllint --debug test/ent1
-DOCUMENT
-version=1.0
-   ELEMENT EXAMPLE
-     TEXT
-     content=
-     ENTITY_REF
-       INTERNAL_GENERAL_ENTITY xml
-       content=Extensible Markup Language
-     TEXT
-     content=</pre><p>And here is the result when substituting entities:</p><pre>/gnome/src/gnome-xml -&gt; ./tester --debug --noent test/ent1
-DOCUMENT
-version=1.0
-   ELEMENT EXAMPLE
-     TEXT
-     content=     Extensible Markup Language</pre><p>So, entities or no entities? Basically, it depends on your use case. I
-suggest that you keep the non-substituting default behaviour and avoid using
-entities in your XML document or data if you are not willing to handle the
-entity references elements in the DOM tree.</p><p>Note that at save time libxml2 enforces the conversion of the predefined
-entities where necessary to prevent well-formedness problems, and will also
-transparently replace those with chars (i.e. it will not generate entity
-reference elements in the DOM tree or call the reference() SAX callback when
-finding them in the input).</p><p><span style="background-color: #FF0000">WARNING</span>: handling entities
-on top of the libxml2 SAX interface is difficult!!! If you plan to use
-non-predefined entities in your documents, then the learning curve to handle
-then using the SAX API may be long. If you plan to use complex documents, I
-strongly suggest you consider using the DOM interface instead and let libxml
-deal with the complexity rather than trying to do it yourself.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/epatents.png b/doc/epatents.png
deleted file mode 100644
index 6cd3a13..0000000
--- a/doc/epatents.png
+++ /dev/null
Binary files differ
diff --git a/doc/example.html b/doc/example.html
deleted file mode 100644
index 16939ad..0000000
--- a/doc/example.html
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>A real example</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>A real example</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Here is a real size example, where the actual content of the application
-data is not kept in the DOM tree but uses internal structures. It is based on
-a proposal to keep a database of jobs related to Gnome, with an XML based
-storage structure. Here is an <a href="gjobs.xml">XML encoded jobs
-base</a>:</p><pre>&lt;?xml version="1.0"?&gt;
-&lt;gjob:Helping xmlns:gjob="http://www.gnome.org/some-location"&gt;
-  &lt;gjob:Jobs&gt;
-
-    &lt;gjob:Job&gt;
-      &lt;gjob:Project ID="3"/&gt;
-      &lt;gjob:Application&gt;GBackup&lt;/gjob:Application&gt;
-      &lt;gjob:Category&gt;Development&lt;/gjob:Category&gt;
-
-      &lt;gjob:Update&gt;
-        &lt;gjob:Status&gt;Open&lt;/gjob:Status&gt;
-        &lt;gjob:Modified&gt;Mon, 07 Jun 1999 20:27:45 -0400 MET DST&lt;/gjob:Modified&gt;
-        &lt;gjob:Salary&gt;USD 0.00&lt;/gjob:Salary&gt;
-      &lt;/gjob:Update&gt;
-
-      &lt;gjob:Developers&gt;
-        &lt;gjob:Developer&gt;
-        &lt;/gjob:Developer&gt;
-      &lt;/gjob:Developers&gt;
-
-      &lt;gjob:Contact&gt;
-        &lt;gjob:Person&gt;Nathan Clemons&lt;/gjob:Person&gt;
-        &lt;gjob:Email&gt;nathan@windsofstorm.net&lt;/gjob:Email&gt;
-        &lt;gjob:Company&gt;
-        &lt;/gjob:Company&gt;
-        &lt;gjob:Organisation&gt;
-        &lt;/gjob:Organisation&gt;
-        &lt;gjob:Webpage&gt;
-        &lt;/gjob:Webpage&gt;
-        &lt;gjob:Snailmail&gt;
-        &lt;/gjob:Snailmail&gt;
-        &lt;gjob:Phone&gt;
-        &lt;/gjob:Phone&gt;
-      &lt;/gjob:Contact&gt;
-
-      &lt;gjob:Requirements&gt;
-      The program should be released as free software, under the GPL.
-      &lt;/gjob:Requirements&gt;
-
-      &lt;gjob:Skills&gt;
-      &lt;/gjob:Skills&gt;
-
-      &lt;gjob:Details&gt;
-      A GNOME based system that will allow a superuser to configure 
-      compressed and uncompressed files and/or file systems to be backed 
-      up with a supported media in the system.  This should be able to 
-      perform via find commands generating a list of files that are passed 
-      to tar, dd, cpio, cp, gzip, etc., to be directed to the tape machine 
-      or via operations performed on the filesystem itself. Email 
-      notification and GUI status display very important.
-      &lt;/gjob:Details&gt;
-
-    &lt;/gjob:Job&gt;
-
-  &lt;/gjob:Jobs&gt;
-&lt;/gjob:Helping&gt;</pre><p>While loading the XML file into an internal DOM tree is a matter of
-calling only a couple of functions, browsing the tree to gather the data and
-generate the internal structures is harder, and more error prone.</p><p>The suggested principle is to be tolerant with respect to the input
-structure. For example, the ordering of the attributes is not significant,
-the XML specification is clear about it. It's also usually a good idea not to
-depend on the order of the children of a given node, unless it really makes
-things harder. Here is some code to parse the information for a person:</p><pre>/*
- * A person record
- */
-typedef struct person {
-    char *name;
-    char *email;
-    char *company;
-    char *organisation;
-    char *smail;
-    char *webPage;
-    char *phone;
-} person, *personPtr;
-
-/*
- * And the code needed to parse it
- */
-personPtr parsePerson(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
-    personPtr ret = NULL;
-
-DEBUG("parsePerson\n");
-    /*
-     * allocate the struct
-     */
-    ret = (personPtr) malloc(sizeof(person));
-    if (ret == NULL) {
-        fprintf(stderr,"out of memory\n");
-        return(NULL);
-    }
-    memset(ret, 0, sizeof(person));
-
-    /* We don't care what the top level element name is */
-    cur = cur-&gt;xmlChildrenNode;
-    while (cur != NULL) {
-        if ((!strcmp(cur-&gt;name, "Person")) &amp;&amp; (cur-&gt;ns == ns))
-            ret-&gt;name = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
-        if ((!strcmp(cur-&gt;name, "Email")) &amp;&amp; (cur-&gt;ns == ns))
-            ret-&gt;email = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
-        cur = cur-&gt;next;
-    }
-
-    return(ret);
-}</pre><p>Here are a couple of things to notice:</p><ul>
-  <li>Usually a recursive parsing style is the more convenient one: XML data
-    is by nature subject to repetitive constructs and usually exhibits highly
-    structured patterns.</li>
-  <li>The two arguments of type <em>xmlDocPtr</em> and <em>xmlNsPtr</em>,
-    i.e. the pointer to the global XML document and the namespace reserved to
-    the application. Document wide information are needed for example to
-    decode entities and it's a good coding practice to define a namespace for
-    your application set of data and test that the element and attributes
-    you're analyzing actually pertains to your application space. This is
-    done by a simple equality test (cur-&gt;ns == ns).</li>
-  <li>To retrieve text and attributes value, you can use the function
-    <em>xmlNodeListGetString</em> to gather all the text and entity reference
-    nodes generated by the DOM output and produce an single text string.</li>
-</ul><p>Here is another piece of code used to parse another level of the
-structure:</p><pre>#include &lt;libxml/tree.h&gt;
-/*
- * a Description for a Job
- */
-typedef struct job {
-    char *projectID;
-    char *application;
-    char *category;
-    personPtr contact;
-    int nbDevelopers;
-    personPtr developers[100]; /* using dynamic alloc is left as an exercise */
-} job, *jobPtr;
-
-/*
- * And the code needed to parse it
- */
-jobPtr parseJob(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
-    jobPtr ret = NULL;
-
-DEBUG("parseJob\n");
-    /*
-     * allocate the struct
-     */
-    ret = (jobPtr) malloc(sizeof(job));
-    if (ret == NULL) {
-        fprintf(stderr,"out of memory\n");
-        return(NULL);
-    }
-    memset(ret, 0, sizeof(job));
-
-    /* We don't care what the top level element name is */
-    cur = cur-&gt;xmlChildrenNode;
-    while (cur != NULL) {
-        
-        if ((!strcmp(cur-&gt;name, "Project")) &amp;&amp; (cur-&gt;ns == ns)) {
-            ret-&gt;projectID = xmlGetProp(cur, "ID");
-            if (ret-&gt;projectID == NULL) {
-                fprintf(stderr, "Project has no ID\n");
-            }
-        }
-        if ((!strcmp(cur-&gt;name, "Application")) &amp;&amp; (cur-&gt;ns == ns))
-            ret-&gt;application = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
-        if ((!strcmp(cur-&gt;name, "Category")) &amp;&amp; (cur-&gt;ns == ns))
-            ret-&gt;category = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
-        if ((!strcmp(cur-&gt;name, "Contact")) &amp;&amp; (cur-&gt;ns == ns))
-            ret-&gt;contact = parsePerson(doc, ns, cur);
-        cur = cur-&gt;next;
-    }
-
-    return(ret);
-}</pre><p>Once you are used to it, writing this kind of code is quite simple, but
-boring. Ultimately, it could be possible to write stubbers taking either C
-data structure definitions, a set of XML examples or an XML DTD and produce
-the code needed to import and export the content between C data and XML
-storage. This is left as an exercise to the reader :-)</p><p>Feel free to use <a href="example/gjobread.c">the code for the full C
-parsing example</a> as a template, it is also available with Makefile in the
-Gnome SVN base under libxml2/example</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
index cd41784..75e138b 100644
--- a/doc/examples/Makefile.am
+++ b/doc/examples/Makefile.am
@@ -1,53 +1,37 @@
-##
-## This file is auto-generated by index.py
-## DO NOT EDIT !!!
-##
-
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir)/include
-AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS)
-LDADD = $(RDL_LIBS) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(ICONV_LIBS) -lm $(WIN32_EXTRA_LIBADD)
+AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+LDADD = $(top_builddir)/libxml2.la
 
 CLEANFILES = *.tmp
 
-if REBUILD_DOCS
-rebuild: examples.xml index.html
-.PHONY: rebuild
-
-examples.xml: index.py $(check_PROGRAMS:=.c)
+rebuild:
 	cd $(srcdir) && $(PYTHON) index.py
 	$(MAKE) Makefile
-
-index.html: examples.xml examples.xsl
-	cd $(srcdir) && xsltproc examples.xsl examples.xml && echo "Rebuilt web page"
+	cd $(srcdir) && xsltproc examples.xsl examples.xml
 	-cd $(srcdir) && xmllint --valid --noout index.html
-endif
+
+.PHONY: rebuild
 
 install-data-local: 
-	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)/examples
-	-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)/examples/
+	$(MKDIR_P) $(DESTDIR)$(docdir)/examples
+	-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/
+
+uninstall-local:
+	rm -f $(DESTDIR)$(docdir)/examples/*.c
+	rm -f $(DESTDIR)$(docdir)/examples/*.html
+	-rmdir $(DESTDIR)$(docdir)/examples
 
 clean-local:
 	test -f Makefile.am || rm -f test?.xml
+	rm -f .memdump
 
 EXTRA_DIST = \
 	examples.xml \
 	examples.xsl \
 	index.html \
 	index.py \
-	io1.res \
-	io2.res \
-	reader1.res \
-	reader3.res \
-	reader4.res \
 	test1.xml \
 	test2.xml \
-	test3.xml \
-	tree1.res \
-	tree2.res \
-	tst.xml \
-	writer.xml \
-	xpath1.res \
-	xpath2.res
+	test3.xml
 
 check_PROGRAMS = \
 	io1 \
@@ -97,15 +81,15 @@
 xpath2_SOURCES = xpath2.c
 
 valgrind: 
-	$(MAKE) CHECKER='valgrind' tests
+	$(MAKE) CHECKER='valgrind' check
 
-tests: $(check_PROGRAMS)
+check-local:
 	@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .
 	@(echo '## examples regression tests')
 	@(echo > .memdump)
-	@$(CHECKER) ./io1 > io1.tmp && diff io1.tmp $(srcdir)/io1.res
+	@$(CHECKER) ./io1 >/dev/null
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	@$(CHECKER) ./io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res
+	@$(CHECKER) ./io2 >/dev/null
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
 	@$(CHECKER) ./parse1 test1.xml
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
@@ -115,22 +99,22 @@
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
 	@$(CHECKER) ./parse4 test3.xml
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	@$(CHECKER) ./reader1 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
+	@$(CHECKER) ./reader1 test2.xml >/dev/null
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	@$(CHECKER) ./reader2 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
+	@$(CHECKER) ./reader2 test2.xml >/dev/null
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	@$(CHECKER) ./reader3 > reader3.tmp && diff reader3.tmp $(srcdir)/reader3.res
+	@$(CHECKER) ./reader3 >/dev/null
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	@$(CHECKER) ./reader4 test1.xml test2.xml test3.xml > reader4.tmp && diff reader4.tmp $(srcdir)/reader4.res
+	@$(CHECKER) ./reader4 test1.xml test2.xml test3.xml >/dev/null
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	@$(CHECKER) ./testWriter && for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done
+	@$(CHECKER) ./testWriter
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	@$(CHECKER) ./tree1 test2.xml > tree1.tmp && diff tree1.tmp $(srcdir)/tree1.res
+	@$(CHECKER) ./tree1 test2.xml >/dev/null
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	@$(CHECKER) ./tree2 > tree2.tmp && diff tree2.tmp $(srcdir)/tree2.res
+	@$(CHECKER) ./tree2 >/dev/null
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	@$(CHECKER) ./xpath1 test3.xml '//child2' > xpath1.tmp && diff xpath1.tmp $(srcdir)/xpath1.res
+	@$(CHECKER) ./xpath1 test3.xml '//child2' >/dev/null
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	@$(CHECKER) ./xpath2 test3.xml '//discarded' discarded > xpath2.tmp && diff xpath2.tmp $(srcdir)/xpath2.res
+	@$(CHECKER) ./xpath2 test3.xml '//discarded' discarded >/dev/null
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	@rm *.tmp
+	@rm -f *.tmp
diff --git a/doc/examples/examples.xml b/doc/examples/examples.xml
index 4974187..465ea82 100644
--- a/doc/examples/examples.xml
+++ b/doc/examples/examples.xml
@@ -8,21 +8,21 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>InputOutput</section>
     <includes>
-      <include>&lt;libxml/parser.h&gt;</include>
-      <include>&lt;libxml/xmlIO.h&gt;</include>
-      <include>&lt;libxml/xinclude.h&gt;</include>
-      <include>&lt;libxml/tree.h&gt;</include>
+      <include line='16'>&lt;libxml/parser.h&gt;</include>
+      <include line='17'>&lt;libxml/tree.h&gt;</include>
+      <include line='18'>&lt;libxml/xinclude.h&gt;</include>
+      <include line='19'>&lt;libxml/xmlIO.h&gt;</include>
     </includes>
     <uses>
-      <function line='143' file='tree' name='xmlDocDump'/>
-      <function line='158' file='xmlmemory' name='xmlMemoryDump'/>
-      <function line='149' file='tree' name='xmlFreeDoc'/>
-      <function line='154' file='parser' name='xmlCleanupParser'/>
       <macro line='117' file='xmlversion' name='LIBXML_TEST_VERSION'/>
-      <function line='134' file='xinclude' name='xmlXIncludeProcess'/>
-      <function line='117' file='xmlIO' name='xmlRegisterInputCallbacks'/>
-      <function line='124' file='parser' name='xmlReadMemory'/>
+      <function line='154' file='parser' name='xmlCleanupParser'/>
+      <function line='143' file='tree' name='xmlDocDump'/>
       <typedef line='105' file='tree' name='xmlDocPtr'/>
+      <function line='149' file='tree' name='xmlFreeDoc'/>
+      <function line='158' file='xmlmemory' name='xmlMemoryDump'/>
+      <function line='124' file='parser' name='xmlReadMemory'/>
+      <function line='117' file='xmlIO' name='xmlRegisterInputCallbacks'/>
+      <function line='134' file='xinclude' name='xmlXIncludeProcess'/>
     </uses>
   </example>
   <example filename='io2.c'>
@@ -34,18 +34,18 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>InputOutput</section>
     <includes>
-      <include>&lt;libxml/parser.h&gt;</include>
+      <include line='12'>&lt;libxml/parser.h&gt;</include>
     </includes>
     <uses>
-      <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='20' file='tree' name='xmlDocPtr'/>
+      <function line='30' file='tree' name='xmlDocSetRootElement'/>
+      <variable line='42' file='globals' name='xmlFree'/>
       <function line='43' file='tree' name='xmlFreeDoc'/>
-      <typedef line='19' file='tree' name='xmlNodePtr'/>
       <function line='27' file='tree' name='xmlNewDoc'/>
-      <function line='28' file='tree' name='xmlNewNode'/>
+      <function line='28' file='tree' name='xmlNewDocNode'/>
+      <typedef line='19' file='tree' name='xmlNodePtr'/>
+      <function line='29' file='tree' name='xmlNodeSetContent'/>
     </uses>
   </example>
   <example filename='parse1.c'>
@@ -57,15 +57,15 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>Parsing</section>
     <includes>
-      <include>&lt;libxml/tree.h&gt;</include>
-      <include>&lt;libxml/parser.h&gt;</include>
+      <include line='13'>&lt;libxml/parser.h&gt;</include>
+      <include line='14'>&lt;libxml/tree.h&gt;</include>
     </includes>
     <uses>
-      <function line='54' file='xmlmemory' name='xmlMemoryDump'/>
-      <function line='50' file='parser' name='xmlCleanupParser'/>
       <macro line='45' file='xmlversion' name='LIBXML_TEST_VERSION'/>
+      <function line='50' file='parser' name='xmlCleanupParser'/>
       <typedef line='24' file='tree' name='xmlDocPtr'/>
       <function line='31' file='tree' name='xmlFreeDoc'/>
+      <function line='54' file='xmlmemory' name='xmlMemoryDump'/>
       <function line='26' file='parser' name='xmlReadFile'/>
     </uses>
   </example>
@@ -78,20 +78,20 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>Parsing</section>
     <includes>
-      <include>&lt;libxml/tree.h&gt;</include>
-      <include>&lt;libxml/parser.h&gt;</include>
+      <include line='14'>&lt;libxml/parser.h&gt;</include>
+      <include line='15'>&lt;libxml/tree.h&gt;</include>
     </includes>
     <uses>
-      <function line='47' file='parser' name='xmlFreeParserCtxt'/>
+      <macro line='61' file='xmlversion' name='LIBXML_TEST_VERSION'/>
       <enum line='35' file='parser' name='XML_PARSE_DTDVALID'/>
+      <function line='66' file='parser' name='xmlCleanupParser'/>
+      <function line='35' file='parser' name='xmlCtxtReadFile'/>
+      <typedef line='26' file='tree' name='xmlDocPtr'/>
+      <function line='44' file='tree' name='xmlFreeDoc'/>
+      <function line='47' file='parser' name='xmlFreeParserCtxt'/>
+      <function line='70' file='xmlmemory' name='xmlMemoryDump'/>
       <function line='29' file='parser' name='xmlNewParserCtxt'/>
       <typedef line='25' file='tree' name='xmlParserCtxtPtr'/>
-      <function line='35' file='parser' name='xmlCtxtReadFile'/>
-      <function line='66' file='parser' name='xmlCleanupParser'/>
-      <macro line='61' file='xmlversion' name='LIBXML_TEST_VERSION'/>
-      <function line='44' file='tree' name='xmlFreeDoc'/>
-      <typedef line='26' file='tree' name='xmlDocPtr'/>
-      <function line='70' file='xmlmemory' name='xmlMemoryDump'/>
     </uses>
   </example>
   <example filename='parse3.c'>
@@ -103,16 +103,16 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>Parsing</section>
     <includes>
-      <include>&lt;libxml/tree.h&gt;</include>
-      <include>&lt;libxml/parser.h&gt;</include>
+      <include line='13'>&lt;libxml/parser.h&gt;</include>
+      <include line='14'>&lt;libxml/tree.h&gt;</include>
     </includes>
     <uses>
-      <function line='33' file='parser' name='xmlReadMemory'/>
-      <function line='58' file='xmlmemory' name='xmlMemoryDump'/>
-      <function line='54' file='parser' name='xmlCleanupParser'/>
       <macro line='49' file='xmlversion' name='LIBXML_TEST_VERSION'/>
-      <function line='38' file='tree' name='xmlFreeDoc'/>
+      <function line='54' file='parser' name='xmlCleanupParser'/>
       <typedef line='27' file='tree' name='xmlDocPtr'/>
+      <function line='38' file='tree' name='xmlFreeDoc'/>
+      <function line='58' file='xmlmemory' name='xmlMemoryDump'/>
+      <function line='33' file='parser' name='xmlReadMemory'/>
     </uses>
   </example>
   <example filename='parse4.c'>
@@ -124,19 +124,19 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>Parsing</section>
     <includes>
-      <include>&lt;libxml/tree.h&gt;</include>
-      <include>&lt;libxml/parser.h&gt;</include>
+      <include line='14'>&lt;libxml/parser.h&gt;</include>
+      <include line='15'>&lt;libxml/tree.h&gt;</include>
     </includes>
     <uses>
-      <function line='94' file='parser' name='xmlFreeParserCtxt'/>
-      <function line='86' file='parser' name='xmlParseChunk'/>
-      <function line='103' file='tree' name='xmlFreeDoc'/>
-      <function line='135' file='xmlmemory' name='xmlMemoryDump'/>
-      <function line='67' file='parser' name='xmlCreatePushParserCtxt'/>
-      <function line='131' file='parser' name='xmlCleanupParser'/>
       <macro line='120' file='xmlversion' name='LIBXML_TEST_VERSION'/>
-      <typedef line='45' file='tree' name='xmlParserCtxtPtr'/>
+      <function line='131' file='parser' name='xmlCleanupParser'/>
+      <function line='67' file='parser' name='xmlCreatePushParserCtxt'/>
       <typedef line='47' file='tree' name='xmlDocPtr'/>
+      <function line='103' file='tree' name='xmlFreeDoc'/>
+      <function line='94' file='parser' name='xmlFreeParserCtxt'/>
+      <function line='135' file='xmlmemory' name='xmlMemoryDump'/>
+      <function line='80' file='parser' name='xmlParseChunk'/>
+      <typedef line='45' file='tree' name='xmlParserCtxtPtr'/>
     </uses>
   </example>
   <example filename='reader1.c'>
@@ -148,23 +148,23 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>xmlReader</section>
     <includes>
-      <include>&lt;libxml/xmlreader.h&gt;</include>
+      <include line='15'>&lt;libxml/xmlreader.h&gt;</include>
     </includes>
     <uses>
-      <function line='44' file='xmlstring' name='xmlStrlen'/>
+      <macro line='89' file='xmlversion' name='LIBXML_TEST_VERSION'/>
       <function line='94' file='parser' name='xmlCleanupParser'/>
-      <function line='37' file='xmlreader' name='xmlTextReaderNodeType'/>
-      <typedef line='59' file='xmlreader' name='xmlTextReaderPtr'/>
+      <function line='69' file='xmlreader' name='xmlFreeTextReader'/>
       <function line='98' file='xmlmemory' name='xmlMemoryDump'/>
+      <function line='62' file='xmlreader' name='xmlReaderForFile'/>
+      <function line='44' file='xmlstring' name='xmlStrlen'/>
+      <function line='29' file='xmlreader' name='xmlTextReaderConstName'/>
       <function line='33' file='xmlreader' name='xmlTextReaderConstValue'/>
       <function line='36' file='xmlreader' name='xmlTextReaderDepth'/>
-      <function line='69' file='xmlreader' name='xmlFreeTextReader'/>
-      <macro line='89' file='xmlversion' name='LIBXML_TEST_VERSION'/>
-      <function line='29' file='xmlreader' name='xmlTextReaderConstName'/>
       <function line='40' file='xmlreader' name='xmlTextReaderHasValue'/>
-      <function line='67' file='xmlreader' name='xmlTextReaderRead'/>
       <function line='39' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
-      <function line='62' file='xmlreader' name='xmlReaderForFile'/>
+      <function line='37' file='xmlreader' name='xmlTextReaderNodeType'/>
+      <typedef line='59' file='xmlreader' name='xmlTextReaderPtr'/>
+      <function line='64' file='xmlreader' name='xmlTextReaderRead'/>
     </uses>
   </example>
   <example filename='reader2.c'>
@@ -176,24 +176,24 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>xmlReader</section>
     <includes>
-      <include>&lt;libxml/xmlreader.h&gt;</include>
+      <include line='16'>&lt;libxml/xmlreader.h&gt;</include>
     </includes>
     <uses>
+      <enum line='69' file='parser' name='XML_PARSE_DTDATTR'/>
+      <enum line='71' file='parser' name='XML_PARSE_DTDVALID'/>
+      <enum line='70' file='parser' name='XML_PARSE_NOENT'/>
+      <function line='84' file='xmlreader' name='xmlFreeTextReader'/>
+      <function line='68' file='xmlreader' name='xmlReaderForFile'/>
       <function line='45' file='xmlstring' name='xmlStrlen'/>
+      <function line='30' file='xmlreader' name='xmlTextReaderConstName'/>
+      <function line='34' file='xmlreader' name='xmlTextReaderConstValue'/>
+      <function line='37' file='xmlreader' name='xmlTextReaderDepth'/>
+      <function line='41' file='xmlreader' name='xmlTextReaderHasValue'/>
+      <function line='40' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
+      <function line='81' file='xmlreader' name='xmlTextReaderIsValid'/>
       <function line='38' file='xmlreader' name='xmlTextReaderNodeType'/>
       <typedef line='60' file='xmlreader' name='xmlTextReaderPtr'/>
-      <function line='34' file='xmlreader' name='xmlTextReaderConstValue'/>
-      <enum line='70' file='parser' name='XML_PARSE_NOENT'/>
-      <function line='37' file='xmlreader' name='xmlTextReaderDepth'/>
-      <enum line='71' file='parser' name='XML_PARSE_DTDVALID'/>
-      <enum line='69' file='parser' name='XML_PARSE_DTDATTR'/>
-      <function line='84' file='xmlreader' name='xmlFreeTextReader'/>
-      <function line='30' file='xmlreader' name='xmlTextReaderConstName'/>
-      <function line='41' file='xmlreader' name='xmlTextReaderHasValue'/>
-      <function line='76' file='xmlreader' name='xmlTextReaderRead'/>
-      <function line='40' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
-      <function line='68' file='xmlreader' name='xmlReaderForFile'/>
-      <function line='81' file='xmlreader' name='xmlTextReaderIsValid'/>
+      <function line='73' file='xmlreader' name='xmlTextReaderRead'/>
     </uses>
   </example>
   <example filename='reader3.c'>
@@ -205,16 +205,16 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>xmlReader</section>
     <includes>
-      <include>&lt;libxml/xmlreader.h&gt;</include>
+      <include line='16'>&lt;libxml/xmlreader.h&gt;</include>
     </includes>
     <uses>
-      <typedef line='32' file='xmlreader' name='xmlTextReaderPtr'/>
-      <function line='66' file='xmlreader' name='xmlFreeTextReader'/>
       <function line='96' file='tree' name='xmlDocDump'/>
-      <function line='52' file='xmlreader' name='xmlTextReaderRead'/>
+      <function line='56' file='xmlreader' name='xmlFreeTextReader'/>
+      <function line='38' file='xmlreader' name='xmlReaderForFile'/>
       <function line='62' file='xmlreader' name='xmlTextReaderCurrentDoc'/>
       <function line='43' file='xmlreader' name='xmlTextReaderPreservePattern'/>
-      <function line='38' file='xmlreader' name='xmlReaderForFile'/>
+      <typedef line='32' file='xmlreader' name='xmlTextReaderPtr'/>
+      <function line='50' file='xmlreader' name='xmlTextReaderRead'/>
     </uses>
   </example>
   <example filename='reader4.c'>
@@ -226,15 +226,15 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>xmlReader</section>
     <includes>
-      <include>&lt;libxml/xmlreader.h&gt;</include>
+      <include line='15'>&lt;libxml/xmlreader.h&gt;</include>
     </includes>
     <uses>
-      <typedef line='54' file='xmlreader' name='xmlTextReaderPtr'/>
-      <function line='83' file='xmlreader' name='xmlReaderNewFile'/>
       <function line='104' file='xmlreader' name='xmlFreeTextReader'/>
-      <function line='26' file='xmlreader' name='xmlTextReaderRead'/>
-      <function line='97' file='xmlreader' name='xmlTextReaderCurrentDoc'/>
       <function line='72' file='xmlreader' name='xmlReaderForFile'/>
+      <function line='83' file='xmlreader' name='xmlReaderNewFile'/>
+      <function line='34' file='xmlreader' name='xmlTextReaderCurrentDoc'/>
+      <typedef line='54' file='xmlreader' name='xmlTextReaderPtr'/>
+      <function line='24' file='xmlreader' name='xmlTextReaderRead'/>
     </uses>
   </example>
   <example filename='testWriter.c'>
@@ -246,39 +246,39 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>xmlWriter</section>
     <includes>
-      <include>&lt;libxml/encoding.h&gt;</include>
-      <include>&lt;libxml/xmlwriter.h&gt;</include>
+      <include line='16'>&lt;libxml/encoding.h&gt;</include>
+      <include line='17'>&lt;libxml/xmlwriter.h&gt;</include>
     </includes>
     <uses>
-      <function line='913' file='xmlwriter' name='xmlTextWriterStartDocument'/>
-      <function line='1121' file='xmlwriter' name='xmlTextWriterEndDocument'/>
-      <variable line='1183' file='globals' name='xmlRealloc'/>
-      <function line='925' file='xmlwriter' name='xmlTextWriterWriteComment'/>
-      <function line='1156' file='encoding' name='xmlFindCharEncodingHandler'/>
-      <variable line='1166' file='globals' name='xmlMalloc'/>
-      <typedef line='341' file='tree' name='xmlBufferPtr'/>
       <macro line='885' file='parser' name='XML_DEFAULT_VERSION'/>
-      <function line='901' file='tree' name='xmlDocSetRootElement'/>
-      <function line='1127' file='xmlwriter' name='xmlFreeTextWriter'/>
-      <function line='1096' file='xmlwriter' name='xmlTextWriterStartElement'/>
       <function line='347' file='tree' name='xmlBufferCreate'/>
-      <function line='1111' file='xmlwriter' name='xmlTextWriterEndElement'/>
-      <function line='76' file='xmlwriter' name='xmlNewTextWriterFilename'/>
-      <function line='959' file='xmlwriter' name='xmlTextWriterWriteFormatComment'/>
-      <function line='1073' file='xmlwriter' name='xmlTextWriterWriteFormatElement'/>
-      <typedef line='1151' file='encoding' name='xmlCharEncodingHandlerPtr'/>
-      <typedef line='880' file='tree' name='xmlNodePtr'/>
-      <function line='949' file='xmlwriter' name='xmlTextWriterWriteAttribute'/>
-      <function line='632' file='xmlwriter' name='xmlNewTextWriterDoc'/>
-      <function line='894' file='tree' name='xmlNewDocNode'/>
-      <function line='1129' file='tree' name='xmlSaveFileEnc'/>
-      <function line='904' file='xmlwriter' name='xmlNewTextWriterTree'/>
-      <function line='355' file='xmlwriter' name='xmlNewTextWriterMemory'/>
-      <variable line='1180' file='globals' name='xmlFree'/>
       <function line='613' file='tree' name='xmlBufferFree'/>
-      <typedef line='878' file='xmlwriter' name='xmlTextWriterPtr'/>
-      <function line='1103' file='xmlwriter' name='xmlTextWriterWriteElement'/>
+      <typedef line='341' file='tree' name='xmlBufferPtr'/>
+      <typedef line='1151' file='encoding' name='xmlCharEncodingHandlerPtr'/>
+      <function line='901' file='tree' name='xmlDocSetRootElement'/>
+      <function line='1156' file='encoding' name='xmlFindCharEncodingHandler'/>
+      <variable line='113' file='globals' name='xmlFree'/>
+      <function line='327' file='xmlwriter' name='xmlFreeTextWriter'/>
+      <variable line='1166' file='globals' name='xmlMalloc'/>
       <function line='885' file='tree' name='xmlNewDoc'/>
+      <function line='894' file='tree' name='xmlNewDocNode'/>
+      <function line='632' file='xmlwriter' name='xmlNewTextWriterDoc'/>
+      <function line='76' file='xmlwriter' name='xmlNewTextWriterFilename'/>
+      <function line='355' file='xmlwriter' name='xmlNewTextWriterMemory'/>
+      <function line='904' file='xmlwriter' name='xmlNewTextWriterTree'/>
+      <typedef line='880' file='tree' name='xmlNodePtr'/>
+      <variable line='1183' file='globals' name='xmlRealloc'/>
+      <function line='863' file='tree' name='xmlSaveFileEnc'/>
+      <function line='320' file='xmlwriter' name='xmlTextWriterEndDocument'/>
+      <function line='200' file='xmlwriter' name='xmlTextWriterEndElement'/>
+      <typedef line='72' file='xmlwriter' name='xmlTextWriterPtr'/>
+      <function line='85' file='xmlwriter' name='xmlTextWriterStartDocument'/>
+      <function line='94' file='xmlwriter' name='xmlTextWriterStartElement'/>
+      <function line='124' file='xmlwriter' name='xmlTextWriterWriteAttribute'/>
+      <function line='107' file='xmlwriter' name='xmlTextWriterWriteComment'/>
+      <function line='181' file='xmlwriter' name='xmlTextWriterWriteElement'/>
+      <function line='143' file='xmlwriter' name='xmlTextWriterWriteFormatComment'/>
+      <function line='162' file='xmlwriter' name='xmlTextWriterWriteFormatElement'/>
     </uses>
   </example>
   <example filename='tree1.c'>
@@ -290,8 +290,8 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>Tree</section>
     <includes>
-      <include>&lt;libxml/tree.h&gt;</include>
-      <include>&lt;libxml/parser.h&gt;</include>
+      <include line='13'>&lt;libxml/parser.h&gt;</include>
+      <include line='14'>&lt;libxml/tree.h&gt;</include>
     </includes>
     <uses>
       <enum line='36' file='tree' name='XML_ELEMENT_NODE'/>
@@ -308,19 +308,19 @@
     <copy>see Copyright for the status of this software </copy>
     <section>Tree</section>
     <includes>
-      <include>&lt;libxml/tree.h&gt;</include>
-      <include>&lt;libxml/parser.h&gt;</include>
+      <include line='12'>&lt;libxml/parser.h&gt;</include>
+      <include line='13'>&lt;libxml/tree.h&gt;</include>
     </includes>
     <uses>
-      <function line='74' file='tree' name='xmlNewText'/>
-      <function line='95' file='tree' name='xmlSaveFormatFileEnc'/>
-      <function line='77' file='tree' name='xmlAddChild'/>
-      <function line='40' file='tree' name='xmlDocSetRootElement'/>
-      <function line='88' file='tree' name='xmlNewProp'/>
-      <function line='87' file='tree' name='xmlNewChild'/>
-      <function line='73' file='tree' name='xmlNewNode'/>
+      <function line='76' file='tree' name='xmlAddChild'/>
       <function line='45' file='tree' name='xmlCreateIntSubset'/>
+      <function line='40' file='tree' name='xmlDocSetRootElement'/>
+      <function line='51' file='tree' name='xmlNewChild'/>
       <function line='38' file='tree' name='xmlNewDoc'/>
+      <function line='39' file='tree' name='xmlNewDocNode'/>
+      <function line='74' file='tree' name='xmlNewDocText'/>
+      <function line='65' file='tree' name='xmlNewProp'/>
+      <function line='95' file='tree' name='xmlSaveFormatFileEnc'/>
     </uses>
   </example>
   <example filename='xpath1.c'>
@@ -332,28 +332,28 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>XPath</section>
     <includes>
-      <include>&lt;libxml/parser.h&gt;</include>
-      <include>&lt;libxml/xpath.h&gt;</include>
-      <include>&lt;libxml/xpathInternals.h&gt;</include>
-      <include>&lt;libxml/tree.h&gt;</include>
+      <include line='17'>&lt;libxml/parser.h&gt;</include>
+      <include line='16'>&lt;libxml/tree.h&gt;</include>
+      <include line='18'>&lt;libxml/xpath.h&gt;</include>
+      <include line='19'>&lt;libxml/xpathInternals.h&gt;</include>
     </includes>
     <uses>
       <enum line='229' file='tree' name='XML_ELEMENT_NODE'/>
-      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
-      <function line='117' file='xpath' name='xmlXPathEvalExpression'/>
-      <function line='94' file='parser' name='xmlParseFile'/>
-      <function line='186' file='xpathInternals' name='xmlXPathRegisterNs'/>
-      <function line='129' file='xpath' name='xmlXPathFreeObject'/>
-      <variable line='193' file='globals' name='xmlFree'/>
-      <typedef line='218' file='tree' name='xmlNsPtr'/>
-      <function line='101' file='xpath' name='xmlXPathNewContext'/>
-      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
-      <function line='130' file='xpath' name='xmlXPathFreeContext'/>
-      <function line='39' file='parser' name='xmlInitParser'/>
-      <function line='156' file='xmlstring' name='xmlStrdup'/>
-      <function line='180' file='xmlstring' name='xmlStrchr'/>
-      <typedef line='206' file='tree' name='xmlNodePtr'/>
       <enum line='217' file='tree' name='XML_NAMESPACE_DECL'/>
+      <variable line='173' file='globals' name='xmlFree'/>
+      <function line='39' file='parser' name='xmlInitParser'/>
+      <typedef line='206' file='tree' name='xmlNodePtr'/>
+      <typedef line='218' file='tree' name='xmlNsPtr'/>
+      <function line='94' file='parser' name='xmlParseFile'/>
+      <function line='170' file='xmlstring' name='xmlStrchr'/>
+      <function line='156' file='xmlstring' name='xmlStrdup'/>
+      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
+      <function line='117' file='xpath' name='xmlXPathEvalExpression'/>
+      <function line='111' file='xpath' name='xmlXPathFreeContext'/>
+      <function line='129' file='xpath' name='xmlXPathFreeObject'/>
+      <function line='101' file='xpath' name='xmlXPathNewContext'/>
+      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
+      <function line='186' file='xpathInternals' name='xmlXPathRegisterNs'/>
     </uses>
   </example>
   <example filename='xpath2.c'>
@@ -365,23 +365,23 @@
     <copy>see Copyright for the status of this software. </copy>
     <section>XPath</section>
     <includes>
-      <include>&lt;libxml/parser.h&gt;</include>
-      <include>&lt;libxml/xpath.h&gt;</include>
-      <include>&lt;libxml/xpathInternals.h&gt;</include>
-      <include>&lt;libxml/tree.h&gt;</include>
+      <include line='17'>&lt;libxml/parser.h&gt;</include>
+      <include line='16'>&lt;libxml/tree.h&gt;</include>
+      <include line='18'>&lt;libxml/xpath.h&gt;</include>
+      <include line='19'>&lt;libxml/xpathInternals.h&gt;</include>
     </includes>
     <uses>
-      <function line='162' file='tree' name='xmlNodeSetContent'/>
+      <enum line='180' file='tree' name='XML_NAMESPACE_DECL'/>
       <function line='127' file='tree' name='xmlDocDump'/>
-      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
-      <function line='110' file='xpath' name='xmlXPathEvalExpression'/>
+      <function line='41' file='parser' name='xmlInitParser'/>
+      <function line='162' file='tree' name='xmlNodeSetContent'/>
       <function line='95' file='parser' name='xmlParseFile'/>
+      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
+      <function line='110' file='xpath' name='xmlXPathEvalExpression'/>
+      <function line='113' file='xpath' name='xmlXPathFreeContext'/>
       <function line='123' file='xpath' name='xmlXPathFreeObject'/>
       <function line='102' file='xpath' name='xmlXPathNewContext'/>
-      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
-      <function line='124' file='xpath' name='xmlXPathFreeContext'/>
-      <function line='41' file='parser' name='xmlInitParser'/>
-      <enum line='180' file='tree' name='XML_NAMESPACE_DECL'/>
+      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
     </uses>
   </example>
   <symbols>
@@ -523,10 +523,11 @@
       <ref filename='tree2.c'/>
     </symbol>
     <symbol name='xmlNewDocNode'>
-      <ref filename='testWriter.c'/>
-    </symbol>
-    <symbol name='xmlNewNode'>
       <ref filename='io2.c'/>
+      <ref filename='testWriter.c'/>
+      <ref filename='tree2.c'/>
+    </symbol>
+    <symbol name='xmlNewDocText'>
       <ref filename='tree2.c'/>
     </symbol>
     <symbol name='xmlNewParserCtxt'>
@@ -535,9 +536,6 @@
     <symbol name='xmlNewProp'>
       <ref filename='tree2.c'/>
     </symbol>
-    <symbol name='xmlNewText'>
-      <ref filename='tree2.c'/>
-    </symbol>
     <symbol name='xmlNewTextWriterDoc'>
       <ref filename='testWriter.c'/>
     </symbol>
diff --git a/doc/examples/examples.xsl b/doc/examples/examples.xsl
index bc93a3d..c515408 100644
--- a/doc/examples/examples.xsl
+++ b/doc/examples/examples.xsl
@@ -1,58 +1,32 @@
 <?xml version="1.0"?>
-<xsl:stylesheet version="1.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:exsl="http://exslt.org/common"
-  extension-element-prefixes="exsl"
-  exclude-result-prefixes="exsl">
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
-  <xsl:import href="../site.xsl"/>
-
-  <xsl:variable name="href_base">../</xsl:variable>
-  <xsl:variable name="menu_name">Examples Menu</xsl:variable>
-
-  <xsl:variable name="toc">
-    <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><!-- style="margin-left: -1em" -->
-      <li><a href="{$href_base}index.html">Home</a></li>
-      <li><a style="font-weight:bold" 
-             href="{$href_base}docs.html">Developer Menu</a></li>
-      <li><a style="font-weight:bold" 
-             href="{$href_base}html/index.html">API Menu</a></li>
-      <xsl:for-each select="/examples/sections/section">
-        <li><a href="#{@name}"><xsl:value-of select="@name"/> Examples</a></li>
-      </xsl:for-each>
-      <li><a href="{$href_base}guidelines.html">XML Guidelines</a></li>
-    </ul>
-  </xsl:variable>
+  <xsl:variable name="apidoc-prefix">https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-</xsl:variable>
 
   <xsl:template match="include">
     <xsl:variable name="header" select="substring-before(substring-after(., '/'), '&gt;')"/>
-    <xsl:variable name="doc" select="concat('../html/libxml-', $header, 'tml')"/>
+    <xsl:variable name="doc" select="concat($apidoc-prefix, $header, 'tml')"/>
     <li><a href="{$doc}"><xsl:value-of select="."/></a></li>
   </xsl:template>
 
   <xsl:template match="typedef">
     <xsl:variable name="name" select="@name"/>
     <xsl:variable name="header" select="concat(@file, '.h')"/>
-    <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
+    <xsl:variable name="doc" select="concat($apidoc-prefix, @file, '.html#', $name)"/>
     <li> line <xsl:value-of select="@line"/>: Type <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
   </xsl:template>
 
   <xsl:template match="function">
     <xsl:variable name="name" select="@name"/>
     <xsl:variable name="header" select="concat(@file, '.h')"/>
-    <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
+    <xsl:variable name="doc" select="concat($apidoc-prefix, @file, '.html#', $name)"/>
     <li> line <xsl:value-of select="@line"/>: Function <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
   </xsl:template>
 
   <xsl:template match="macro">
     <xsl:variable name="name" select="@name"/>
     <xsl:variable name="header" select="concat(@file, '.h')"/>
-    <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
+    <xsl:variable name="doc" select="concat($apidoc-prefix, @file, '.html#', $name)"/>
     <li> line <xsl:value-of select="@line"/>: Macro <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
   </xsl:template>
 
@@ -63,6 +37,7 @@
     <p>Includes:</p>
     <ul>
     <xsl:for-each select="includes/include">
+      <xsl:sort select="@line" data-type="number"/>
       <xsl:apply-templates select='.'/>
     </xsl:for-each>
     </ul>
@@ -116,56 +91,19 @@
 
   <xsl:template match="examples">
     <xsl:variable name="title">Libxml2 set of examples</xsl:variable>
-     <xsl:document href="index.html" method="xml" encoding="ISO-8859-1"
-         doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-     doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+      <xsl:document href="index.html" method="xml" indent="yes" omit-xml-declaration="yes"
+          doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
+          doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
       <html>
         <head>
-        <xsl:call-template name="style"/>
-	<xsl:element name="title">
-	  <xsl:value-of select="$title"/>
-	</xsl:element>
+	  <title>
+	    <xsl:value-of select="$title"/>
+	  </title>
         </head>
-        <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
-          <xsl:call-template name="titlebox">
-	    <xsl:with-param name="title" select="$title"/>
-	  </xsl:call-template>
-          <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">
-                      <xsl:call-template name="toc"/>
-                    </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">
-				        <xsl:apply-templates select="sections"/>
-					<xsl:call-template name="sections-list"/>
-					<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>
+	  <h1><xsl:value-of select="$title"/></h1>
+          <xsl:apply-templates select="sections"/>
+          <xsl:call-template name="sections-list"/>
         </body>
       </html>
     </xsl:document>
diff --git a/doc/examples/index.html b/doc/examples/index.html
index f4ee119..ff7b1cd 100644
--- a/doc/examples/index.html
+++ b/doc/examples/index.html
@@ -1,14 +1,474 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Libxml2 set of examples</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Libxml2 set of examples</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Examples Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="../index.html">Home</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../html/index.html">API Menu</a></li><li><a href="#InputOutput">InputOutput Examples</a></li><li><a href="#Parsing">Parsing Examples</a></li><li><a href="#Tree">Tree Examples</a></li><li><a href="#XPath">XPath Examples</a></li><li><a href="#xmlReader">xmlReader Examples</a></li><li><a href="#xmlWriter">xmlWriter Examples</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p> The examples are stored per section depending on the main focus
-    of the example:</p><ul><li><p><a href="#xmlWriter">xmlWriter</a> :</p><ul><li><a href="#testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</li></ul></li><li><p><a href="#InputOutput">InputOutput</a> :</p><ul><li><a href="#io1.c">io1.c</a>: Example of custom Input/Output</li><li><a href="#io2.c">io2.c</a>: Output to char buffer</li></ul></li><li><p><a href="#Tree">Tree</a> :</p><ul><li><a href="#tree1.c">tree1.c</a>: Navigates a tree to print element names</li><li><a href="#tree2.c">tree2.c</a>: Creates a tree</li></ul></li><li><p><a href="#XPath">XPath</a> :</p><ul><li><a href="#xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</li><li><a href="#xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</li></ul></li><li><p><a href="#Parsing">Parsing</a> :</p><ul><li><a href="#parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</li><li><a href="#parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</li><li><a href="#parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</li><li><a href="#parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</li></ul></li><li><p><a href="#xmlReader">xmlReader</a> :</p><ul><li><a href="#reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</li><li><a href="#reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</li><li><a href="#reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</li><li><a href="#reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</li></ul></li></ul><p> Getting the compilation options and libraries dependencies needed
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Libxml2 set of examples</title>
+  </head>
+  <body>
+    <h1>Libxml2 set of examples</h1>
+    <p> The examples are stored per section depending on the main focus
+    of the example:</p>
+    <ul>
+      <li>
+        <p><a href="#xmlWriter">xmlWriter</a> :</p>
+        <ul>
+          <li><a href="#testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</li>
+        </ul>
+      </li>
+      <li>
+        <p><a href="#InputOutput">InputOutput</a> :</p>
+        <ul>
+          <li><a href="#io1.c">io1.c</a>: Example of custom Input/Output</li>
+          <li><a href="#io2.c">io2.c</a>: Output to char buffer</li>
+        </ul>
+      </li>
+      <li>
+        <p><a href="#Tree">Tree</a> :</p>
+        <ul>
+          <li><a href="#tree1.c">tree1.c</a>: Navigates a tree to print element names</li>
+          <li><a href="#tree2.c">tree2.c</a>: Creates a tree</li>
+        </ul>
+      </li>
+      <li>
+        <p><a href="#XPath">XPath</a> :</p>
+        <ul>
+          <li><a href="#xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</li>
+          <li><a href="#xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</li>
+        </ul>
+      </li>
+      <li>
+        <p><a href="#Parsing">Parsing</a> :</p>
+        <ul>
+          <li><a href="#parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</li>
+          <li><a href="#parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</li>
+          <li><a href="#parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</li>
+          <li><a href="#parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</li>
+        </ul>
+      </li>
+      <li>
+        <p><a href="#xmlReader">xmlReader</a> :</p>
+        <ul>
+          <li><a href="#reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</li>
+          <li><a href="#reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</li>
+          <li><a href="#reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</li>
+          <li><a href="#reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</li>
+        </ul>
+      </li>
+    </ul>
+    <p> Getting the compilation options and libraries dependencies needed
 to generate binaries from the examples is best done on Linux/Unix by using
 the xml2-config script which should have been installed as part of <i>make
-install</i> step or when installing the libxml2 development package:</p><pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre><h2><a name="InputOutput" id="InputOutput"></a>InputOutput Examples</h2><h3><a name="io1.c" href="io1.c" id="io1.c">io1.c</a>: Example of custom Input/Output</h3><p>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a href="../html/libxml-xmlIO.html">&lt;libxml/xmlIO.h&gt;</a></li><li><a href="../html/libxml-xinclude.html">&lt;libxml/xinclude.h&gt;</a></li><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 105: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 117: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 117: Function <a href="../html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> from xmlIO.h</li><li> line 124: Function <a href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li><li> line 134: Function <a href="../html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a> from xinclude.h</li><li> line 143: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li><li> line 149: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 154: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 158: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>io1</p><p>Author: Daniel Veillard</p><h3><a name="io2.c" href="io2.c" id="io2.c">io2.c</a>: Output to char buffer</h3><p>Demonstrate the use of xmlDocDumpMemory to output document to a character buffer</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 19: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 20: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 27: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 28: Function <a href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 29: Function <a href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li><li> line 30: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 36: Function <a href="../html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a> from tree.h</li><li> line 43: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li></ul><p>Usage:</p><p>io2</p><p>Author: John Fleck</p><h2><a name="Parsing" id="Parsing"></a>Parsing Examples</h2><h3><a name="parse1.c" href="parse1.c" id="parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</h3><p>Demonstrate the use of xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 24: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 26: Function <a href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li><li> line 31: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 45: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 50: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 54: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse1 test1.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse2.c" href="parse2.c" id="parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</h3><p>Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 25: Type <a href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 26: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 29: Function <a href="../html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a> from parser.h</li><li> line 35: Function <a href="../html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> from parser.h</li><li> line 44: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 47: Function <a href="../html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li><li> line 61: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 66: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 70: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse2 test2.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse3.c" href="parse3.c" id="parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</h3><p>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 27: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 33: Function <a href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li><li> line 38: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 49: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 54: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 58: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse3</p><p>Author: Daniel Veillard</p><h3><a name="parse4.c" href="parse4.c" id="parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</h3><p>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 45: Type <a href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 47: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 67: Function <a href="../html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> from parser.h</li><li> line 86: Function <a href="../html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a> from parser.h</li><li> line 94: Function <a href="../html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li><li> line 103: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 120: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 131: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 135: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse4 test3.xml</p><p>Author: Daniel Veillard</p><h2><a name="Tree" id="Tree"></a>Tree Examples</h2><h3><a name="tree1.c" href="tree1.c" id="tree1.c">tree1.c</a>: Navigates a tree to print element names</h3><p>Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 67: Function <a href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li><li> line 74: Function <a href="../html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a> from tree.h</li></ul><p>Usage:</p><p>tree1 filename_or_URL</p><p>Author: Dodji Seketeli</p><h3><a name="tree2.c" href="tree2.c" id="tree2.c">tree2.c</a>: Creates a tree</h3><p>Shows how to create document, nodes and dump it to stdout or file.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 38: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 40: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 45: Function <a href="../html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a> from tree.h</li><li> line 73: Function <a href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 74: Function <a href="../html/libxml-tree.html#xmlNewText">xmlNewText</a> from tree.h</li><li> line 77: Function <a href="../html/libxml-tree.html#xmlAddChild">xmlAddChild</a> from tree.h</li><li> line 87: Function <a href="../html/libxml-tree.html#xmlNewChild">xmlNewChild</a> from tree.h</li><li> line 88: Function <a href="../html/libxml-tree.html#xmlNewProp">xmlNewProp</a> from tree.h</li><li> line 95: Function <a href="../html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> from tree.h</li></ul><p>Usage:</p><p>tree2 &lt;filename&gt;  -Default output: stdout</p><p>Author: Lucas Brasilino &lt;brasilino@recife.pe.gov.br&gt;</p><h2><a name="XPath" id="XPath"></a>XPath Examples</h2><h3><a name="xpath1.c" href="xpath1.c" id="xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</h3><p>Shows how to evaluate XPath expression and register known namespaces in XPath context.</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a href="../html/libxml-xpath.html">&lt;libxml/xpath.h&gt;</a></li><li><a href="../html/libxml-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a></li><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 39: Function <a href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 87: Type <a href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 88: Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 94: Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 101: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li><li> line 117: Function <a href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 129: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li><li> line 130: Function <a href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 156: Function <a href="../html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a> from xmlstring.h</li><li> line 180: Function <a href="../html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a> from xmlstring.h</li><li> line 186: Function <a href="../html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a> from xpathInternals.h</li><li> line 206: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 218: Type <a href="../html/libxml-tree.html#xmlNsPtr">xmlNsPtr</a> from tree.h</li></ul><p>Usage:</p><p>xpath1 &lt;xml-file&gt; &lt;xpath-expr&gt; [&lt;known-ns-list&gt;]</p><p>Author: Aleksey Sanin</p><h3><a name="xpath2.c" href="xpath2.c" id="xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</h3><p>Shows how to make a full round-trip from a load/edit/save</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a href="../html/libxml-xpath.html">&lt;libxml/xpath.h&gt;</a></li><li><a href="../html/libxml-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a></li><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 41: Function <a href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 87: Type <a href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 88: Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 95: Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 102: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li><li> line 110: Function <a href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 123: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li><li> line 124: Function <a href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 127: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li><li> line 162: Function <a href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li></ul><p>Usage:</p><p>xpath2 &lt;xml-file&gt; &lt;xpath-expr&gt; &lt;new-value&gt;</p><p>Author: Aleksey Sanin and Daniel Veillard</p><h2><a name="xmlReader" id="xmlReader"></a>xmlReader Examples</h2><h3><a name="reader1.c" href="reader1.c" id="reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the information about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 29: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li><li> line 33: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li><li> line 36: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 37: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li><li> line 39: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li><li> line 40: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li><li> line 44: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li><li> line 59: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 62: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 67: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 69: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li><li> line 89: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 94: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 98: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>reader1 &lt;filename&gt;</p><p>Author: Daniel Veillard</p><h3><a name="reader2.c" href="reader2.c" id="reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 30: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li><li> line 34: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li><li> line 37: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 38: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li><li> line 40: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li><li> line 41: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li><li> line 45: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li><li> line 60: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 68: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 76: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 81: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a> from xmlreader.h</li><li> line 84: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li></ul><p>Usage:</p><p>reader2 &lt;valid_xml_filename&gt;</p><p>Author: Daniel Veillard</p><h3><a name="reader3.c" href="reader3.c" id="reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</h3><p>Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 32: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 38: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 43: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a> from xmlreader.h</li><li> line 52: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 62: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li><li> line 66: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li><li> line 96: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li></ul><p>Usage:</p><p>reader3</p><p>Author: Daniel Veillard</p><h3><a name="reader4.c" href="reader4.c" id="reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context.  (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 26: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 54: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 72: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 83: Function <a href="../html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a> from xmlreader.h</li><li> line 97: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li><li> line 104: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li></ul><p>Usage:</p><p>reader4 &lt;filename&gt; [ filename ... ]</p><p>Author: Graham Bennett</p><h2><a name="xmlWriter" id="xmlWriter"></a>xmlWriter Examples</h2><h3><a name="testWriter.c" href="testWriter.c" id="testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</h3><p>tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized.</p><p>Includes:</p><ul><li><a href="../html/libxml-encoding.html">&lt;libxml/encoding.h&gt;</a></li><li><a href="../html/libxml-xmlwriter.html">&lt;libxml/xmlwriter.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 76: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a> from xmlwriter.h</li><li> line 341: Type <a href="../html/libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> from tree.h</li><li> line 347: Function <a href="../html/libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a> from tree.h</li><li> line 355: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a> from xmlwriter.h</li><li> line 613: Function <a href="../html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a> from tree.h</li><li> line 632: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a> from xmlwriter.h</li><li> line 878: Type <a href="../html/libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> from xmlwriter.h</li><li> line 880: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 885: Macro <a href="../html/libxml-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a> from parser.h</li><li> line 885: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 894: Function <a href="../html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li><li> line 901: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 904: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a> from xmlwriter.h</li><li> line 913: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a> from xmlwriter.h</li><li> line 925: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a> from xmlwriter.h</li><li> line 949: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a> from xmlwriter.h</li><li> line 959: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> from xmlwriter.h</li><li> line 1073: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a> from xmlwriter.h</li><li> line 1096: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a> from xmlwriter.h</li><li> line 1103: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a> from xmlwriter.h</li><li> line 1111: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a> from xmlwriter.h</li><li> line 1121: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a> from xmlwriter.h</li><li> line 1127: Function <a href="../html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a> from xmlwriter.h</li><li> line 1129: Function <a href="../html/libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> from tree.h</li><li> line 1151: Type <a href="../html/libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> from encoding.h</li><li> line 1156: Function <a href="../html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a> from encoding.h</li></ul><p>Usage:</p><p>testWriter</p><p>Author: Alfred Mickautsch</p><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+install</i> step or when installing the libxml2 development package:</p>
+    <pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre>
+    <h2><a name="InputOutput" id="InputOutput"></a>InputOutput Examples</h2>
+    <h3><a name="io1.c" href="io1.c" id="io1.c">io1.c</a>: Example of custom Input/Output</h3>
+    <p>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xinclude.html">&lt;libxml/xinclude.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlIO.html">&lt;libxml/xmlIO.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 105: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
+      <li> line 117: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
+      <li> line 117: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> from xmlIO.h</li>
+      <li> line 124: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li>
+      <li> line 134: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a> from xinclude.h</li>
+      <li> line 143: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li>
+      <li> line 149: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
+      <li> line 154: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
+      <li> line 158: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>io1</p>
+    <p>Author: Daniel Veillard</p>
+    <h3><a name="io2.c" href="io2.c" id="io2.c">io2.c</a>: Output to char buffer</h3>
+    <p>Demonstrate the use of xmlDocDumpMemory to output document to a character buffer</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 19: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li>
+      <li> line 20: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
+      <li> line 27: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li>
+      <li> line 28: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li>
+      <li> line 29: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li>
+      <li> line 30: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li>
+      <li> line 36: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a> from tree.h</li>
+      <li> line 43: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>io2</p>
+    <p>Author: John Fleck</p>
+    <h2><a name="Parsing" id="Parsing"></a>Parsing Examples</h2>
+    <h3><a name="parse1.c" href="parse1.c" id="parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</h3>
+    <p>Demonstrate the use of xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 24: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
+      <li> line 26: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li>
+      <li> line 31: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
+      <li> line 45: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
+      <li> line 50: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
+      <li> line 54: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>parse1 test1.xml</p>
+    <p>Author: Daniel Veillard</p>
+    <h3><a name="parse2.c" href="parse2.c" id="parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</h3>
+    <p>Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 25: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li>
+      <li> line 26: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
+      <li> line 29: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a> from parser.h</li>
+      <li> line 35: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> from parser.h</li>
+      <li> line 44: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
+      <li> line 47: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li>
+      <li> line 61: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
+      <li> line 66: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
+      <li> line 70: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>parse2 test2.xml</p>
+    <p>Author: Daniel Veillard</p>
+    <h3><a name="parse3.c" href="parse3.c" id="parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</h3>
+    <p>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 27: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
+      <li> line 33: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li>
+      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
+      <li> line 49: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
+      <li> line 54: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
+      <li> line 58: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>parse3</p>
+    <p>Author: Daniel Veillard</p>
+    <h3><a name="parse4.c" href="parse4.c" id="parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</h3>
+    <p>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() to free the resulting tree</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 45: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li>
+      <li> line 47: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
+      <li> line 67: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> from parser.h</li>
+      <li> line 80: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseChunk">xmlParseChunk</a> from parser.h</li>
+      <li> line 94: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li>
+      <li> line 103: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
+      <li> line 120: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
+      <li> line 131: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
+      <li> line 135: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>parse4 test3.xml</p>
+    <p>Author: Daniel Veillard</p>
+    <h2><a name="Tree" id="Tree"></a>Tree Examples</h2>
+    <h3><a name="tree1.c" href="tree1.c" id="tree1.c">tree1.c</a>: Navigates a tree to print element names</h3>
+    <p>Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 67: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li>
+      <li> line 74: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a> from tree.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>tree1 filename_or_URL</p>
+    <p>Author: Dodji Seketeli</p>
+    <h3><a name="tree2.c" href="tree2.c" id="tree2.c">tree2.c</a>: Creates a tree</h3>
+    <p>Shows how to create document, nodes and dump it to stdout or file.</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li>
+      <li> line 39: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li>
+      <li> line 40: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li>
+      <li> line 45: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a> from tree.h</li>
+      <li> line 51: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewChild">xmlNewChild</a> from tree.h</li>
+      <li> line 65: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewProp">xmlNewProp</a> from tree.h</li>
+      <li> line 74: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocText">xmlNewDocText</a> from tree.h</li>
+      <li> line 76: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlAddChild">xmlAddChild</a> from tree.h</li>
+      <li> line 95: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> from tree.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>tree2 &lt;filename&gt;  -Default output: stdout</p>
+    <p>Author: Lucas Brasilino &lt;brasilino@recife.pe.gov.br&gt;</p>
+    <h2><a name="XPath" id="XPath"></a>XPath Examples</h2>
+    <h3><a name="xpath1.c" href="xpath1.c" id="xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</h3>
+    <p>Shows how to evaluate XPath expression and register known namespaces in XPath context.</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html">&lt;libxml/xpath.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 39: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li>
+      <li> line 87: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li>
+      <li> line 88: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li>
+      <li> line 94: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li>
+      <li> line 101: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li>
+      <li> line 111: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li>
+      <li> line 117: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li>
+      <li> line 129: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li>
+      <li> line 156: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrdup">xmlStrdup</a> from xmlstring.h</li>
+      <li> line 170: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrchr">xmlStrchr</a> from xmlstring.h</li>
+      <li> line 186: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a> from xpathInternals.h</li>
+      <li> line 206: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li>
+      <li> line 218: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> from tree.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>xpath1 &lt;xml-file&gt; &lt;xpath-expr&gt; [&lt;known-ns-list&gt;]</p>
+    <p>Author: Aleksey Sanin</p>
+    <h3><a name="xpath2.c" href="xpath2.c" id="xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</h3>
+    <p>Shows how to make a full round-trip from a load/edit/save</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html">&lt;libxml/xpath.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 41: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li>
+      <li> line 87: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li>
+      <li> line 88: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li>
+      <li> line 95: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li>
+      <li> line 102: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li>
+      <li> line 110: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li>
+      <li> line 113: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li>
+      <li> line 123: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li>
+      <li> line 127: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li>
+      <li> line 162: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>xpath2 &lt;xml-file&gt; &lt;xpath-expr&gt; &lt;new-value&gt;</p>
+    <p>Author: Aleksey Sanin and Daniel Veillard</p>
+    <h2><a name="xmlReader" id="xmlReader"></a>xmlReader Examples</h2>
+    <h3><a name="reader1.c" href="reader1.c" id="reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</h3>
+    <p>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the information about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 29: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li>
+      <li> line 33: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li>
+      <li> line 36: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li>
+      <li> line 37: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li>
+      <li> line 39: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li>
+      <li> line 40: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li>
+      <li> line 44: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li>
+      <li> line 59: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
+      <li> line 62: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
+      <li> line 64: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
+      <li> line 69: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
+      <li> line 89: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
+      <li> line 94: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
+      <li> line 98: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>reader1 &lt;filename&gt;</p>
+    <p>Author: Daniel Veillard</p>
+    <h3><a name="reader2.c" href="reader2.c" id="reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</h3>
+    <p>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 30: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li>
+      <li> line 34: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li>
+      <li> line 37: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li>
+      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li>
+      <li> line 40: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li>
+      <li> line 41: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li>
+      <li> line 45: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li>
+      <li> line 60: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
+      <li> line 68: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
+      <li> line 73: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
+      <li> line 81: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a> from xmlreader.h</li>
+      <li> line 84: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>reader2 &lt;valid_xml_filename&gt;</p>
+    <p>Author: Daniel Veillard</p>
+    <h3><a name="reader3.c" href="reader3.c" id="reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</h3>
+    <p>Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 32: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
+      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
+      <li> line 43: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a> from xmlreader.h</li>
+      <li> line 50: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
+      <li> line 56: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
+      <li> line 62: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li>
+      <li> line 96: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>reader3</p>
+    <p>Author: Daniel Veillard</p>
+    <h3><a name="reader4.c" href="reader4.c" id="reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</h3>
+    <p>Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context.  (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 24: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
+      <li> line 34: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li>
+      <li> line 54: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
+      <li> line 72: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
+      <li> line 83: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a> from xmlreader.h</li>
+      <li> line 104: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>reader4 &lt;filename&gt; [ filename ... ]</p>
+    <p>Author: Graham Bennett</p>
+    <h2><a name="xmlWriter" id="xmlWriter"></a>xmlWriter Examples</h2>
+    <h3><a name="testWriter.c" href="testWriter.c" id="testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</h3>
+    <p>tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized.</p>
+    <p>Includes:</p>
+    <ul>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html">&lt;libxml/encoding.h&gt;</a>
+      </li>
+      <li>
+        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html">&lt;libxml/xmlwriter.h&gt;</a>
+      </li>
+    </ul>
+    <p>Uses:</p>
+    <ul>
+      <li> line 72: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> from xmlwriter.h</li>
+      <li> line 76: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a> from xmlwriter.h</li>
+      <li> line 85: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a> from xmlwriter.h</li>
+      <li> line 94: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a> from xmlwriter.h</li>
+      <li> line 107: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a> from xmlwriter.h</li>
+      <li> line 124: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a> from xmlwriter.h</li>
+      <li> line 143: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> from xmlwriter.h</li>
+      <li> line 162: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a> from xmlwriter.h</li>
+      <li> line 181: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a> from xmlwriter.h</li>
+      <li> line 200: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a> from xmlwriter.h</li>
+      <li> line 320: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a> from xmlwriter.h</li>
+      <li> line 327: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a> from xmlwriter.h</li>
+      <li> line 341: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> from tree.h</li>
+      <li> line 347: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferCreate">xmlBufferCreate</a> from tree.h</li>
+      <li> line 355: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a> from xmlwriter.h</li>
+      <li> line 613: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferFree">xmlBufferFree</a> from tree.h</li>
+      <li> line 632: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a> from xmlwriter.h</li>
+      <li> line 863: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> from tree.h</li>
+      <li> line 880: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li>
+      <li> line 885: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a> from parser.h</li>
+      <li> line 885: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li>
+      <li> line 894: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li>
+      <li> line 901: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li>
+      <li> line 904: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a> from xmlwriter.h</li>
+      <li> line 1151: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> from encoding.h</li>
+      <li> line 1156: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a> from encoding.h</li>
+    </ul>
+    <p>Usage:</p>
+    <p>testWriter</p>
+    <p>Author: Alfred Mickautsch</p>
+  </body>
+</html>
diff --git a/doc/examples/index.py b/doc/examples/index.py
index ed1df59..c422904 100755
--- a/doc/examples/index.py
+++ b/doc/examples/index.py
@@ -1,13 +1,13 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # Indexes the examples and build an XML description
 #
-import string
 import glob
 import sys
 try:
     import libxml2
 except:
+    print("libxml2 python bindings not available")
     sys.exit(1)
 sys.path.insert(0, "..")
 from apibuild import CParser, escape
@@ -28,11 +28,11 @@
         return
     api_dict = {}
     try:
-        print "loading ../libxml2-api.xml"
+        print("loading ../libxml2-api.xml")
         api_doc = libxml2.parseFile("../libxml2-api.xml")
     except:
-        print "failed to parse ../libxml2-api.xml"
-	sys.exit(1)
+        print("failed to parse ../libxml2-api.xml")
+        sys.exit(1)
 
 def find_symbol(name):
     global api_dict
@@ -43,50 +43,50 @@
 
     if name == None:
         return
-    if api_dict.has_key(name):
+    if name in api_dict:
         return api_dict[name]
     ctxt = api_doc.xpathNewContext()
     res = ctxt.xpathEval("/api/symbols/*[@name = '%s']" % (name))
     if type(res) == type([]) and len(res) >= 1:
         if len(res) > 1:
-	    print "Found %d references to %s in the API" % (len(res), name)
-	node = res[0]
-	typ = node.name
-	file = node.xpathEval("string(@file)")
-	info = node.xpathEval("string(info)")
+            print("Found %d references to %s in the API" % (len(res), name))
+        node = res[0]
+        typ = node.name
+        file = node.xpathEval("string(@file)")
+        info = node.xpathEval("string(info)")
     else:
-        print "Reference %s not found in the API" % (name)
-	return None
+        print("Reference %s not found in the API" % (name))
+        return None
     ret = (typ, file, info)
     api_dict[name] = ret
     return ret
 
 def parse_top_comment(filename, comment):
     res = {}
-    lines = string.split(comment, "\n")
+    lines = comment.split("\n")
     item = None
     for line in lines:
         while line != "" and (line[0] == ' ' or line[0] == '\t'):
-	    line = line[1:]
+            line = line[1:]
         while line != "" and line[0] == '*':
-	    line = line[1:]
+            line = line[1:]
         while line != "" and (line[0] == ' ' or line[0] == '\t'):
-	    line = line[1:]
-	try:
-	    (it, line) = string.split(line, ":", 1)
-	    item = it
-	    while line != "" and (line[0] == ' ' or line[0] == '\t'):
-		line = line[1:]
-	    if res.has_key(item):
-	        res[item] = res[item] + " " + line
-	    else:
-		res[item] = line
-	except:
-	    if item != None:
-	        if res.has_key(item):
-		    res[item] = res[item] + " " + line
-		else:
-		    res[item] = line
+            line = line[1:]
+        try:
+            (it, line) = line.split(":", 1)
+            item = it
+            while line != "" and (line[0] == ' ' or line[0] == '\t'):
+                line = line[1:]
+            if item in res:
+                res[item] = res[item] + " " + line
+            else:
+                res[item] = line
+        except:
+            if item != None:
+                if item in res:
+                    res[item] = res[item] + " " + line
+                else:
+                    res[item] = line
     return res
 
 def parse(filename, output):
@@ -100,83 +100,86 @@
     output.write("  <example filename='%s'>\n" % filename)
     try:
         synopsis = info['synopsis']
-	output.write("    <synopsis>%s</synopsis>\n" % escape(synopsis));
+        output.write("    <synopsis>%s</synopsis>\n" % escape(synopsis));
     except:
-        print "Example %s lacks a synopsis description" % (filename)
+        print("Example %s lacks a synopsis description" % (filename))
     try:
         purpose = info['purpose']
-	output.write("    <purpose>%s</purpose>\n" % escape(purpose));
+        output.write("    <purpose>%s</purpose>\n" % escape(purpose));
     except:
-        print "Example %s lacks a purpose description" % (filename)
+        print("Example %s lacks a purpose description" % (filename))
     try:
         usage = info['usage']
-	output.write("    <usage>%s</usage>\n" % escape(usage));
+        output.write("    <usage>%s</usage>\n" % escape(usage));
     except:
-        print "Example %s lacks an usage description" % (filename)
+        print("Example %s lacks an usage description" % (filename))
     try:
         test = info['test']
-	output.write("    <test>%s</test>\n" % escape(test));
-	progname=filename[0:-2]
-	command=string.replace(test, progname, './' + progname, 1)
-	tests.append(command)
+        output.write("    <test>%s</test>\n" % escape(test));
+        progname=filename[0:-2]
+        command=test.replace(progname, './' + progname, 1)
+        tests.append(command)
     except:
         pass
     try:
         author = info['author']
-	output.write("    <author>%s</author>\n" % escape(author));
+        output.write("    <author>%s</author>\n" % escape(author));
     except:
-        print "Example %s lacks an author description" % (filename)
+        print("Example %s lacks an author description" % (filename))
     try:
         copy = info['copy']
-	output.write("    <copy>%s</copy>\n" % escape(copy));
+        output.write("    <copy>%s</copy>\n" % escape(copy));
     except:
-        print "Example %s lacks a copyright description" % (filename)
+        print("Example %s lacks a copyright description" % (filename))
     try:
         section = info['section']
-	output.write("    <section>%s</section>\n" % escape(section));
-	if sections.has_key(section):
-	    sections[section].append(filename)
-	else:
-	    sections[section] = [filename]
+        output.write("    <section>%s</section>\n" % escape(section));
+        if section in sections:
+            sections[section].append(filename)
+        else:
+            sections[section] = [filename]
     except:
-        print "Example %s lacks a section description" % (filename)
-    for topic in info.keys():
+        print("Example %s lacks a section description" % (filename))
+    for topic in sorted(info.keys()):
         if topic != "purpose" and topic != "usage" and \
-	   topic != "author" and topic != "copy" and \
-	   topic != "section" and topic != "synopsis" and topic != "test":
-	    str = info[topic]
-	    output.write("    <extra topic='%s'>%s</extra>\n" % (
-	                 escape(topic), escape(str)))
+           topic != "author" and topic != "copy" and \
+           topic != "section" and topic != "synopsis" and topic != "test":
+            str = info[topic]
+            output.write("    <extra topic='%s'>%s</extra>\n" % (
+                         escape(topic), escape(str)))
     output.write("    <includes>\n")
-    for include in idx.includes.keys():
+    for include in sorted(idx.includes.keys()):
         if include.find("libxml") != -1:
-	    output.write("      <include>%s</include>\n" % (escape(include)))
+            id = idx.includes[include]
+            line = id.get_lineno()
+            output.write("      <include line='%d'>%s</include>\n" %
+                         (line, escape(include)))
     output.write("    </includes>\n")
     output.write("    <uses>\n")
-    for ref in idx.references.keys():
+    for ref in sorted(idx.references.keys()):
         id = idx.references[ref]
-	name = id.get_name()
-	line = id.get_lineno()
-	if symbols.has_key(name):
-	    sinfo = symbols[name]
-	    refs = sinfo[0]
-	    # gather at most 5 references per symbols
-	    if refs > 5:
-	        continue
-	    sinfo.append(filename)
-	    sinfo[0] = refs + 1
-	else:
-	    symbols[name] = [1, filename]
-	info = find_symbol(name)
-	if info != None:
-	    type = info[0]
-	    file = info[1]
-	    output.write("      <%s line='%d' file='%s' name='%s'/>\n" % (type,
-	                 line, file, name))
-	else:
-	    type = id.get_type()
-	    output.write("      <%s line='%d' name='%s'/>\n" % (type,
-	                 line, name))
+        name = id.get_name()
+        line = id.get_lineno()
+        if name in symbols:
+            sinfo = symbols[name]
+            refs = sinfo[0]
+            # gather at most 5 references per symbols
+            if refs > 5:
+                continue
+            sinfo.append(filename)
+            sinfo[0] = refs + 1
+        else:
+            symbols[name] = [1, filename]
+        info = find_symbol(name)
+        if info != None:
+            type = info[0]
+            file = info[1]
+            output.write("      <%s line='%d' file='%s' name='%s'/>\n" % (type,
+                         line, file, name))
+        else:
+            type = id.get_type()
+            output.write("      <%s line='%d' name='%s'/>\n" % (type,
+                         line, name))
 
     output.write("    </uses>\n")
     output.write("  </example>\n")
@@ -187,15 +190,13 @@
     global symbols
 
     output.write("  <symbols>\n")
-    keys = symbols.keys()
-    keys.sort()
-    for symbol in keys:
+    for symbol in sorted(symbols.keys()):
         output.write("    <symbol name='%s'>\n" % (symbol))
-	info = symbols[symbol]
-	i = 1
-	while i < len(info):
-	    output.write("      <ref filename='%s'/>\n" % (info[i]))
-	    i = i + 1
+        info = symbols[symbol]
+        i = 1
+        while i < len(info):
+            output.write("      <ref filename='%s'/>\n" % (info[i]))
+            i = i + 1
         output.write("    </symbol>\n")
     output.write("  </symbols>\n")
 
@@ -203,15 +204,13 @@
     global sections
 
     output.write("  <sections>\n")
-    keys = sections.keys()
-    keys.sort()
-    for section in keys:
+    for section in sorted(sections.keys()):
         output.write("    <section name='%s'>\n" % (section))
-	info = sections[section]
-	i = 0
-	while i < len(info):
-	    output.write("      <example filename='%s'/>\n" % (info[i]))
-	    i = i + 1
+        info = sections[section]
+        i = 0
+        while i < len(info):
+            output.write("      <example filename='%s'/>\n" % (info[i]))
+            i = i + 1
         output.write("    </section>\n")
     output.write("  </sections>\n")
 
@@ -225,31 +224,25 @@
 ## DO NOT EDIT !!!
 ##
 
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir)/include
-AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS)
-LDADD = $(RDL_LIBS) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(ICONV_LIBS) -lm $(WIN32_EXTRA_LIBADD)
+AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+LDADD = $(top_builddir)/libxml2.la
 
 CLEANFILES = *.tmp
 
-if REBUILD_DOCS
-rebuild: examples.xml index.html
+rebuild:
+\tcd $(srcdir) && $(PYTHON) index.py
+\t$(MAKE) Makefile
+\tcd $(srcdir) && xsltproc examples.xsl examples.xml
+\t-cd $(srcdir) && xmllint --valid --noout index.html
+
 .PHONY: rebuild
 
-examples.xml: index.py $(check_PROGRAMS:=.c)
-	cd $(srcdir) && $(PYTHON) index.py
-	$(MAKE) Makefile
-
-index.html: examples.xml examples.xsl
-	cd $(srcdir) && xsltproc examples.xsl examples.xml && echo "Rebuilt web page"
-	-cd $(srcdir) && xmllint --valid --noout index.html
-endif
-
 install-data-local: 
-	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)
-	-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
+\t$(MKDIR_P) $(DESTDIR)$(docdir)/examples
+\t-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/
 
 clean-local:
-	test -f Makefile.am || rm -f test?.xml
+\ttest -f Makefile.am || rm -f test?.xml
 
 """
     examples.sort()
@@ -275,28 +268,12 @@
         Makefile = Makefile + '\t@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0\n'
     Makefile = Makefile + "\t@rm *.tmp\n"
     try:
-	old = open("Makefile.am", "r").read()
-	if old != Makefile:
-	    n = open("Makefile.am", "w").write(Makefile)
-	    print "Updated Makefile.am"
+        old = open("Makefile.am", "r").read()
+        if old != Makefile:
+            n = open("Makefile.am", "w").write(Makefile)
+            print("Updated Makefile.am")
     except:
-        print "Failed to read or save Makefile.am"
-#    #
-#    # Autogenerate the .cvsignore too ... DEPRECATED
-#    #
-#    ignore = """.memdump
-#Makefile.in
-#Makefile
-#"""
-#    for example in examples:
-#        ignore = ignore + "%s\n" % (example)
-#    try:
-#	old = open(".cvsignore", "r").read()
-#	if old != ignore:
-#	    n = open(".cvsignore", "w").write(ignore)
-#	    print "Updated .cvsignore"
-#    except:
-#        print "Failed to read or save .cvsignore"
+        print("Failed to read or save Makefile.am")
 
 if __name__ == "__main__":
     load_api()
@@ -304,12 +281,12 @@
     output.write("<examples>\n")
 
     for file in sorted(glob.glob('*.c')):
-	parse(file, output)
-	examples.append(file[:-2])
+        parse(file, output)
+        examples.append(file[:-2])
 
     dump_symbols(output)
     dump_sections(output)
     output.write("</examples>\n")
     output.close()
-    dump_Makefile()
+    #dump_Makefile()
 
diff --git a/doc/examples/io1.c b/doc/examples/io1.c
index d077cd8..5c2b25d 100644
--- a/doc/examples/io1.c
+++ b/doc/examples/io1.c
@@ -161,6 +161,6 @@
 #else
 int main(void) {
     fprintf(stderr, "XInclude support not compiled in\n");
-    exit(1);
+    return(0);
 }
 #endif
diff --git a/doc/examples/io1.res b/doc/examples/io1.res
deleted file mode 100644
index 4a4c036..0000000
--- a/doc/examples/io1.res
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0"?>
-<document xmlns:xi="http://www.w3.org/2003/XInclude">
-  <p>List of people:</p>
-  <list><people>a</people><people>b</people></list>
-</document>
diff --git a/doc/examples/io2.c b/doc/examples/io2.c
index 4676f4a..98e1a50 100644
--- a/doc/examples/io2.c
+++ b/doc/examples/io2.c
@@ -25,7 +25,7 @@
      * Create the document.
      */
     doc = xmlNewDoc(BAD_CAST "1.0");
-    n = xmlNewNode(NULL, BAD_CAST "root");
+    n = xmlNewDocNode(doc, NULL, BAD_CAST "root", NULL);
     xmlNodeSetContent(n, BAD_CAST "content");
     xmlDocSetRootElement(doc, n);
 
@@ -53,6 +53,6 @@
 {
     fprintf(stderr,
             "library not configured with tree and output support\n");
-    return (1);
+    return (0);
 }
 #endif
diff --git a/doc/examples/io2.res b/doc/examples/io2.res
deleted file mode 100644
index 8737b87..0000000
--- a/doc/examples/io2.res
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<root>content</root>
diff --git a/doc/examples/parse4.c b/doc/examples/parse4.c
index c7095e5..ae8d332 100644
--- a/doc/examples/parse4.c
+++ b/doc/examples/parse4.c
@@ -136,8 +136,8 @@
     return(0);
 }
 #else /* ! LIBXML_PUSH_ENABLED */
-int main(int argc, char **argv) {
+int main(void) {
     fprintf(stderr, "Library not compiled with push parser support\n");
-    return(1);
+    return(0);
 }
 #endif
diff --git a/doc/examples/reader1.c b/doc/examples/reader1.c
index 7651609..1030168 100644
--- a/doc/examples/reader1.c
+++ b/doc/examples/reader1.c
@@ -102,6 +102,6 @@
 #else
 int main(void) {
     fprintf(stderr, "XInclude support not compiled in\n");
-    exit(1);
+    return(0);
 }
 #endif
diff --git a/doc/examples/reader1.res b/doc/examples/reader1.res
deleted file mode 100644
index eb48d85..0000000
--- a/doc/examples/reader1.res
+++ /dev/null
@@ -1,14 +0,0 @@
-0 10 doc 0 0
-0 1 doc 0 0
-1 14 #text 0 1 
-  
-1 1 src 1 0
-1 14 #text 0 1 
-  
-1 1 dest 1 0
-1 14 #text 0 1 
-  
-1 1 src 1 0
-1 14 #text 0 1 
-
-0 15 doc 0 0
diff --git a/doc/examples/reader2.c b/doc/examples/reader2.c
index 043b137..9c2d2e6 100644
--- a/doc/examples/reader2.c
+++ b/doc/examples/reader2.c
@@ -117,6 +117,6 @@
 #else
 int main(void) {
     fprintf(stderr, "XInclude support not compiled in\n");
-    exit(1);
+    return(0);
 }
 #endif
diff --git a/doc/examples/reader3.c b/doc/examples/reader3.c
index 1899474..f608297 100644
--- a/doc/examples/reader3.c
+++ b/doc/examples/reader3.c
@@ -115,6 +115,6 @@
 #else
 int main(void) {
     fprintf(stderr, "Reader, Pattern or output support not compiled in\n");
-    exit(1);
+    return(0);
 }
 #endif
diff --git a/doc/examples/reader3.res b/doc/examples/reader3.res
deleted file mode 100644
index 20e2e82..0000000
--- a/doc/examples/reader3.res
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<doc><parent><preserved/><preserved>
-      content1
-      <child1/>
-      <child2>content2</child2>
-      <preserved>too</preserved>
-      <child2>content3</child2>
-      <preserved/>
-      <child2>content4</child2>
-      <preserved/>
-      <child2>content5</child2>
-      content6
-    </preserved><preserved/><preserved/></parent></doc>
diff --git a/doc/examples/reader4.c b/doc/examples/reader4.c
index 5ed5883..f4277ec 100644
--- a/doc/examples/reader4.c
+++ b/doc/examples/reader4.c
@@ -117,6 +117,6 @@
 #else
 int main(void) {
     fprintf(stderr, "xmlReader support not compiled in\n");
-    exit(1);
+    return(0);
 }
 #endif
diff --git a/doc/examples/reader4.res b/doc/examples/reader4.res
deleted file mode 100644
index b793f82..0000000
--- a/doc/examples/reader4.res
+++ /dev/null
@@ -1,3 +0,0 @@
-test1.xml: Processed ok
-test2.xml: Processed ok
-test3.xml: Processed ok
diff --git a/doc/examples/testWriter.c b/doc/examples/testWriter.c
index 67be4ab..a77eec7 100644
--- a/doc/examples/testWriter.c
+++ b/doc/examples/testWriter.c
@@ -1193,6 +1193,6 @@
 #else
 int main(void) {
     fprintf(stderr, "Writer or output support not compiled in\n");
-    exit(1);
+    return 0;
 }
 #endif
diff --git a/doc/examples/tree1.c b/doc/examples/tree1.c
index e6faefc..e8fc8d1 100644
--- a/doc/examples/tree1.c
+++ b/doc/examples/tree1.c
@@ -89,6 +89,6 @@
 #else
 int main(void) {
     fprintf(stderr, "Tree support not compiled in\n");
-    exit(1);
+    return 0;
 }
 #endif
diff --git a/doc/examples/tree1.res b/doc/examples/tree1.res
deleted file mode 100644
index 7b14ad0..0000000
--- a/doc/examples/tree1.res
+++ /dev/null
@@ -1,4 +0,0 @@
-node type: Element, name: doc
-node type: Element, name: src
-node type: Element, name: dest
-node type: Element, name: src
diff --git a/doc/examples/tree2.c b/doc/examples/tree2.c
index 6548e29..83f29a0 100644
--- a/doc/examples/tree2.c
+++ b/doc/examples/tree2.c
@@ -36,7 +36,7 @@
      * Creates a new document, a node and set it as a root node
      */
     doc = xmlNewDoc(BAD_CAST "1.0");
-    root_node = xmlNewNode(NULL, BAD_CAST "root");
+    root_node = xmlNewDocNode(doc, NULL, BAD_CAST "root", NULL);
     xmlDocSetRootElement(doc, root_node);
 
     /*
@@ -70,8 +70,8 @@
      * creates a node and a text node separately. They are "attached"
      * by xmlAddChild() 
      */
-    node = xmlNewNode(NULL, BAD_CAST "node4");
-    node1 = xmlNewText(BAD_CAST
+    node = xmlNewDocNode(doc, NULL, BAD_CAST "node4", NULL);
+    node1 = xmlNewDocText(doc, BAD_CAST
                    "other way to create content (which is also a node)");
     xmlAddChild(node, node1);
     xmlAddChild(root_node, node);
@@ -112,6 +112,6 @@
 #else
 int main(void) {
     fprintf(stderr, "tree support not compiled in\n");
-    exit(1);
+    return(0);
 }
 #endif
diff --git a/doc/examples/tree2.res b/doc/examples/tree2.res
deleted file mode 100644
index ed00195..0000000
--- a/doc/examples/tree2.res
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE root SYSTEM "tree2.dtd">
-<root>
-  <node1>content of node 1</node1>
-  <node2/>
-  <node3 attribute="yes" foo="bar">this node has attributes</node3>
-  <node4>other way to create content (which is also a node)</node4>
-  <node5>
-    <node51 odd="no"/>
-    <node52 odd="yes"/>
-    <node53 odd="no"/>
-  </node5>
-  <node6>
-    <node61 odd="no"/>
-    <node62 odd="yes"/>
-    <node63 odd="no"/>
-  </node6>
-</root>
diff --git a/doc/examples/tst.xml b/doc/examples/tst.xml
deleted file mode 100644
index 1cc6c95..0000000
--- a/doc/examples/tst.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<thing>
-    <thing1>hello</thing1>
-</thing>
-<thing>
-    <thing2>goodbye</thing2>
-</thing>
-
diff --git a/doc/examples/writer.xml b/doc/examples/writer.xml
deleted file mode 100644
index 6ab05fd..0000000
--- a/doc/examples/writer.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<EXAMPLE><!--This is a comment with special chars: <äöü>--><ORDER version="1.0" xml:lang="de"><!--This is another comment with special chars: <äöü>--><HEADER><X_ORDER_ID>0000053535</X_ORDER_ID><CUSTOMER_ID>1010</CUSTOMER_ID><NAME_1>Müller</NAME_1><NAME_2>Jörg</NAME_2></HEADER><ENTRIES><ENTRY><ARTICLE>&lt;Test&gt;</ARTICLE><ENTRY_NO>10</ENTRY_NO></ENTRY><ENTRY><ARTICLE>&lt;Test 2&gt;</ARTICLE><ENTRY_NO>20</ENTRY_NO></ENTRY></ENTRIES><FOOTER><TEXT>This is a text.</TEXT></FOOTER></ORDER></EXAMPLE>
diff --git a/doc/examples/xpath1.c b/doc/examples/xpath1.c
index 0a31650..af996e6 100644
--- a/doc/examples/xpath1.c
+++ b/doc/examples/xpath1.c
@@ -245,6 +245,6 @@
 #else
 int main(void) {
     fprintf(stderr, "XPath support not compiled in\n");
-    exit(1);
+    return 0;
 }
 #endif
diff --git a/doc/examples/xpath1.res b/doc/examples/xpath1.res
deleted file mode 100644
index 76af3a9..0000000
--- a/doc/examples/xpath1.res
+++ /dev/null
@@ -1,5 +0,0 @@
-Result (4 nodes):
-= element node "child2"
-= element node "child2"
-= element node "child2"
-= element node "child2"
diff --git a/doc/examples/xpath2.c b/doc/examples/xpath2.c
index f604114..a17a025 100644
--- a/doc/examples/xpath2.c
+++ b/doc/examples/xpath2.c
@@ -185,6 +185,6 @@
 #else
 int main(void) {
     fprintf(stderr, "XPath support not compiled in\n");
-    exit(1);
+    return 0;
 }
 #endif
diff --git a/doc/examples/xpath2.res b/doc/examples/xpath2.res
deleted file mode 100644
index 4e89699..0000000
--- a/doc/examples/xpath2.res
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-  <parent>
-    <discarded>discarded</discarded>
-    <preserved/>
-    This text node must be discarded
-    <discarded>discarded</discarded>
-    <preserved>
-      content1
-      <child1/>
-      <child2>content2</child2>
-      <preserved>too</preserved>
-      <child2>content3</child2>
-      <preserved/>
-      <child2>content4</child2>
-      <preserved/>
-      <child2>content5</child2>
-      content6
-    </preserved>
-    This text node must be discarded
-    <discarded>discarded</discarded>
-    This text node must be discarded
-    <preserved/>
-    This text node must be discarded
-    <preserved/>
-    This text node must be discarded
-    <discarded>discarded</discarded>
-    This text node must be discarded
-  </parent>
-</doc>
diff --git a/doc/favicon.ico b/doc/favicon.ico
deleted file mode 100644
index 912cb9f..0000000
--- a/doc/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/doc/gnome2.png b/doc/gnome2.png
deleted file mode 100644
index 4a16fb1..0000000
--- a/doc/gnome2.png
+++ /dev/null
Binary files differ
diff --git a/doc/guidelines.html b/doc/guidelines.html
deleted file mode 100644
index 14a909c..0000000
--- a/doc/guidelines.html
+++ /dev/null
@@ -1,374 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-    "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html">
-  <style type="text/css"></style>
-<!--
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-  </style>
--->
-  <title>XML resources publication guidelines</title>
-</head>
-
-<body bgcolor="#fffacd" text="#000000">
-<h1 align="center">XML resources publication guidelines</h1>
-
-<p></p>
-
-<p>The goal of this document is to provide a set of guidelines and tips
-helping the publication and deployment of <a
-href="http://www.w3.org/XML/">XML</a> resources for the <a
-href="http://www.gnome.org/">GNOME project</a>. However it is not tied to
-GNOME and might be helpful more generally. I welcome <a
-href="mailto:veillard@redhat.com">feedback</a> on this document.</p>
-
-<p>The intended audience is the software developers who started using XML
-for some of the resources of their project, as a storage format, for data
-exchange, checking or transformations. There have been an increasing number
-of new XML formats defined, but not all steps have been taken, possibly because of
-lack of documentation, to truly gain all the benefits of the use of XML.
-These guidelines hope to improve the matter and provide a better overview of
-the overall XML processing and associated steps needed to deploy it
-successfully:</p>
-
-<p>Table of contents:</p>
-<ol>
-  <li><a href="#Design">Design guidelines</a></li>
-  <li><a href="#Canonical">Canonical URL</a></li>
-  <li><a href="#Catalog">Catalog setup</a></li>
-  <li><a href="#Package">Package integration</a></li>
-</ol>
-
-<h2><a name="Design">Design guidelines</a></h2>
-
-<p>This part intends to focus on the format itself of XML. It may  arrive
-a bit too late since the structure of the document may already be cast in
-existing and deployed code. Still, here are a few rules which might be helpful
-when designing a new XML vocabulary or making the revision of an existing
-format:</p>
-
-<h3>Reuse existing formats:</h3>
-
-<p>This may sounds a bit simplistic, but before designing your own format,
-try to lookup existing XML vocabularies on similar data. Ideally this allows
-you to reuse them, in which case a lot of the existing tools like DTD, schemas
-and stylesheets may already be available. If you are looking at a
-documentation format, <a href="http://www.docbook.org/">DocBook</a> should
-handle your needs. If reuse is not possible because some semantic or use case
-aspects are too different this will be helpful avoiding design errors like
-targeting the vocabulary to the wrong abstraction level. In this format
-design phase try to be synthetic and be sure to express the real content of
-your data and use the XML structure to express the semantic and context of
-those data.</p>
-
-<h3>DTD rules:</h3>
-
-<p>Building a DTD (Document Type Definition) or a Schema describing the
-structure allowed by instances is the core of the design process of the
-vocabulary. Here are a few tips:</p>
-<ul>
-  <li>use significant words for the element and attributes names.</li>
-  <li>do not use attributes for general textual content, attributes
-    will be modified by the parser before reaching the application,
-    spaces and line information will be modified.</li>
-  <li>use single elements for every string that might be subject to
-    localization. The canonical way to localize XML content is to use
-    siblings element carrying different xml:lang attributes like in the
-    following:
-    <pre>&lt;welcome&gt;
-  &lt;msg xml:lang="en"&gt;hello&lt;/msg&gt;
-  &lt;msg xml:lang="fr"&gt;bonjour&lt;/msg&gt;
-&lt;/welcome&gt;</pre>
-  </li>
-  <li>use attributes to refine the content of an element but avoid them for
-    more complex tasks, attribute parsing is not cheaper than an element and
-    it is far easier to make an element content more complex while attribute
-    will have to remain very simple.</li>
-</ul>
-
-<h3>Versioning:</h3>
-
-<p>As part of the design, make sure the structure you define will be usable
-for future extension that you may not consider for the current version. There
-are two parts to this:</p>
-<ul>
-  <li>Make sure the instance contains a version number which will allow to
-    make backward compatibility easy. Something as simple as having a
-    <code>version="1.0"</code> on the root document of the instance is
-    sufficient.</li>
-  <li>While designing the code doing the analysis of the data provided by the
-    XML parser, make sure you can work with unknown versions, generate a UI
-    warning and process only the tags recognized by your version but keep in
-    mind that you should not break on unknown elements if the version
-    attribute was not in the recognized set.</li>
-</ul>
-
-<h3>Other design parts:</h3>
-
-<p>While defining you vocabulary, try to think in term of other usage of your
-data, for example how using XSLT stylesheets could be used to make an HTML
-view of your data, or to convert it into a different format. Checking XML
-Schemas and looking at defining an XML Schema with a more complete
-validation and datatyping of your data structures is important, this helps
-avoiding some mistakes in the design phase.</p>
-
-<h3>Namespace:</h3>
-
-<p>If you expect your XML vocabulary to be used or recognized outside of your
-application (for example binding a specific processing from a graphic shell
-like Nautilus to an instance of your data) then you should really define an <a
-href="http://www.w3.org/TR/REC-xml-names/">XML namespace</a> for your
-vocabulary. A namespace name is an URL (absolute URI more precisely). It is
-generally recommended to anchor it as an HTTP resource to a server associated
-with the software project. See the next section about this. In practice this
-will mean that XML parsers will not handle your element names as-is but as a
-couple based on the namespace name and the element name. This allows it to
-recognize and disambiguate processing. Unicity of the namespace name can be
-for the most part guaranteed by the use of the DNS registry. Namespace can
-also be used to carry versioning information like:</p>
-
-<p><code>"http://www.gnome.org/project/projectname/1.0/"</code></p>
-
-<p>An easy way to use them is to make them the default namespace on the
-root element of the XML instance like:</p>
-<pre>&lt;structure xmlns="http://www.gnome.org/project/projectname/1.0/"&gt;
-  &lt;data&gt;
-  ...
-  &lt;/data&gt;
-&lt;/structure&gt;</pre>
-
-<p>In that document, structure and all descendant elements like data are in
-the given namespace.</p>
-
-<h2><a name="Canonical">Canonical URL</a></h2>
-
-<p>As seen in the previous namespace section, while XML processing is not
-tied to the Web there is a natural synergy between both. XML was designed to
-be available on the Web, and keeping the infrastructure that way helps
-deploying the XML resources. The core of this issue is the notion of
-"Canonical URL" of an XML resource. The resource can be an XML document, a
-DTD, a stylesheet, a schema, or even non-XML data associated with an XML
-resource, the canonical URL is the URL where the "master" copy of that
-resource is expected to be present on the Web. Usually when processing XML a
-copy of the resource will be present on the local disk, maybe in
-/usr/share/xml or /usr/share/sgml maybe in /opt or even on C:\projectname\
-(horror !). The key point is that the way to name that resource should be
-independent of the actual place where it resides on disk if it is available,
-and the fact that the processing will still work if there is no local copy
-(and that the machine where the processing is connected to the Internet).</p>
-
-<p>What this really means is that one should never use the local name of a
-resource to reference it but always use the canonical URL. For example in a
-DocBook instance the following should not be used:</p>
-<pre>&lt;!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"<br>
-
-
-                         "/usr/share/xml/docbook/4.2/docbookx.dtd"&gt;</pre>
-
-<p>But always reference the canonical URL for the DTD:</p>
-<pre>&lt;!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"<br>
-
-
-                         "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"&gt;   </pre>
-
-<p>Similarly, the document instance may reference the <a
-href="http://www.w3.org/TR/xslt">XSLT</a> stylesheets needed to process it to
-generate HTML, and the canonical URL should be used:</p>
-<pre>&lt;?xml-stylesheet
-  href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"
-  type="text/xsl"?&gt;</pre>
-
-<p>Defining the canonical URL for the resources needed should obey a few
-simple rules similar to those used to design namespace names:</p>
-<ul>
-  <li>use a DNS name you know is associated to the project and will be
-    available on the long term</li>
-  <li>within that server space, reserve the right to the subtree where you
-    intend to keep those data</li>
-  <li>version the URL so that multiple concurrent versions of the resources
-    can be hosted simultaneously</li>
-</ul>
-
-<h2><a name="Catalog">Catalog setup</a></h2>
-
-<h3>How catalogs work:</h3>
-
-<p>The catalogs are the technical mechanism which allow the XML processing
-tools to use a local copy of the resources if it is available even if the
-instance document references the canonical URL. <a
-href="http://www.oasis-open.org/committees/entity/">XML Catalogs</a> are
-anchored in the root catalog (usually <code>/etc/xml/catalog</code> or
-defined by the user). They are a tree of XML documents defining the mappings
-between the canonical naming space and the local installed ones, this can be
-seen as a static cache structure.</p>
-
-<p>When the XML processor is asked to process a resource it will
-automatically test for a locally available version in the catalog, starting
-from the root catalog, and possibly fetching sub-catalog resources until it
-finds that the catalog has that resource or not. If not the default
-processing of fetching the resource from the Web is done, allowing in most
-case to recover from a catalog miss. The key point is that the document
-instances are totally independent of the availability of a catalog or from
-the actual place where the local resource they reference may be installed.
-This greatly improves the management of the documents in the long run, making
-them independent of the platform or toolchain used to process them. The
-figure below tries to express that  mechanism:<img src="catalog.gif"
-alt="Picture describing the catalog "></p>
-
-<h3>Usual catalog setup:</h3>
-
-<p>Usually catalogs for a project are setup as a 2 level hierarchical cache,
-the root catalog containing only "delegates" indicating a separate subcatalog
-dedicated to the project. The goal is to keep the root catalog clean and
-simplify the maintenance of the catalog by using separate catalogs per
-project. For example when creating a catalog for the <a
-href="http://www.w3.org/TR/xhtml1">XHTML1</a> DTDs, only 3 items are added to
-the root catalog:</p>
-<pre>  &lt;delegatePublic publicIdStartString="-//W3C//DTD XHTML 1.0"
-                  catalog="file:///usr/share/sgml/xhtml1/xmlcatalog"/&gt;
-  &lt;delegateSystem systemIdStartString="http://www.w3.org/TR/xhtml1/DTD"
-                  catalog="file:///usr/share/sgml/xhtml1/xmlcatalog"/&gt;
-  &lt;delegateURI uriStartString="http://www.w3.org/TR/xhtml1/DTD"
-                  catalog="file:///usr/share/sgml/xhtml1/xmlcatalog"/&gt;</pre>
-
-<p>They are all "delegates" meaning that if the catalog system is asked to
-resolve a reference corresponding to them, it has to lookup a sub catalog.
-Here the subcatalog was installed as
-<code>/usr/share/sgml/xhtml1/xmlcatalog</code> in the local tree. That
-decision is left to the sysadmin or the packager for that system and may
-obey different rules, but the actual place on the filesystem (or on a
-resource cache on the local network) will not influence the processing as
-long as it is available. The first rule indicate that if the reference uses a
-PUBLIC identifier beginning with the</p>
-
-<p><code>"-//W3C//DTD XHTML 1.0"</code></p>
-
-<p>substring, then the catalog lookup should be limited to the specific given
-lookup catalog. Similarly the second and third entries indicate those
-delegation rules for SYSTEM, DOCTYPE or normal URI references when the URL
-starts with the <code>"http://www.w3.org/TR/xhtml1/DTD"</code> substring
-which indicates the location on the W3C server where the XHTML1 resources are
-stored. Those are the beginning of all Canonical URLs for XHTML1 resources.
-Those three rules are sufficient in practice to capture all references to XHTML1
-resources and direct the processing tools to the right subcatalog.</p>
-
-<h3>A subcatalog example:</h3>
-
-<p>Here is the complete subcatalog used for XHTML1:</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
-          "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
-&lt;catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"&gt;
-  &lt;public publicId="-//W3C//DTD XHTML 1.0 Strict//EN"
-          uri="xhtml1-20020801/DTD/xhtml1-strict.dtd"/&gt;
-  &lt;public publicId="-//W3C//DTD XHTML 1.0 Transitional//EN"
-          uri="xhtml1-20020801/DTD/xhtml1-transitional.dtd"/&gt;
-  &lt;public publicId="-//W3C//DTD XHTML 1.0 Frameset//EN"
-          uri="xhtml1-20020801/DTD/xhtml1-frameset.dtd"/&gt;
-  &lt;rewriteSystem systemIdStartString="http://www.w3.org/TR/xhtml1/DTD"
-          rewritePrefix="xhtml1-20020801/DTD"/&gt;
-  &lt;rewriteURI uriStartString="http://www.w3.org/TR/xhtml1/DTD"
-          rewritePrefix="xhtml1-20020801/DTD"/&gt;
-&lt;/catalog&gt;</pre>
-
-<p>There are a few things to notice:</p>
-<ul>
-  <li>this is an XML resource, it points to the DTD using Canonical URLs, the
-    root element defines a namespace (but based on an URN not an HTTP
-  URL).</li>
-  <li>it contains 5 rules, the 3 first ones are direct mapping for the 3
-    PUBLIC identifiers defined by the XHTML1 specification and associating
-    them with the local resource containing the DTD, the 2 last ones are
-    rewrite rules allowing to build the local filename for any URL based on
-    "http://www.w3.org/TR/xhtml1/DTD", the local cache simplifies the rules by
-    keeping the same structure as the on-line server at the Canonical URL</li>
-  <li>the local resources are designated using URI references (the uri or
-    rewritePrefix attributes), the base being the containing sub-catalog URL,
-    which means that in practice the copy of the XHTML1 strict DTD is stored
-    locally in
-    <code>/usr/share/sgml/xhtml1/xmlcatalog/xhtml1-20020801/DTD/xhtml1-strict.dtd</code></li>
-</ul>
-
-<p>Those 5 rules are sufficient to cover all references to the resources held
-at the Canonical URL for the XHTML1 DTDs.</p>
-
-<h2><a name="Package">Package integration</a></h2>
-
-<p>Creating and removing catalogs should be handled as part of the process of
-(un)installing the local copy of the resources. The catalog files being XML
-resources should be processed with XML based tools to avoid problems with the
-generated files, the xmlcatalog command coming with libxml2 allows you to create
-catalogs, and add or remove rules at that time. Here is a complete example
-coming from the RPM for the XHTML1 DTDs post install script. While this example
-is platform and packaging specific, this can be useful as a an example in
-other contexts:</p>
-<pre>%post
-CATALOG=/usr/share/sgml/xhtml1/xmlcatalog
-#
-# Register it in the super catalog with the appropriate delegates
-#
-ROOTCATALOG=/etc/xml/catalog
-
-if [ ! -r $ROOTCATALOG ]
-then
-    /usr/bin/xmlcatalog --noout --create $ROOTCATALOG
-fi
-
-if [ -w $ROOTCATALOG ]
-then
-        /usr/bin/xmlcatalog --noout --add "delegatePublic" \
-                "-//W3C//DTD XHTML 1.0" \
-                "file://$CATALOG" $ROOTCATALOG
-        /usr/bin/xmlcatalog --noout --add "delegateSystem" \
-                "http://www.w3.org/TR/xhtml1/DTD" \
-                "file://$CATALOG" $ROOTCATALOG
-        /usr/bin/xmlcatalog --noout --add "delegateURI" \
-                "http://www.w3.org/TR/xhtml1/DTD" \
-                "file://$CATALOG" $ROOTCATALOG
-fi</pre>
-
-<p>The XHTML1 subcatalog is not created on-the-fly in that case, it is
-installed as part of the files of the packages. So the only work needed is to
-make sure the root catalog exists and register the delegate rules.</p>
-
-<p>Similarly, the script for the post-uninstall just remove the rules from the
-catalog:</p>
-<pre>%postun
-#
-# On removal, unregister the xmlcatalog from the supercatalog
-#
-if [ "$1" = 0 ]; then
-    CATALOG=/usr/share/sgml/xhtml1/xmlcatalog
-    ROOTCATALOG=/etc/xml/catalog
-
-    if [ -w $ROOTCATALOG ]
-    then
-            /usr/bin/xmlcatalog --noout --del \
-                    "-//W3C//DTD XHTML 1.0" $ROOTCATALOG
-            /usr/bin/xmlcatalog --noout --del \
-                    "http://www.w3.org/TR/xhtml1/DTD" $ROOTCATALOG
-            /usr/bin/xmlcatalog --noout --del \
-                    "http://www.w3.org/TR/xhtml1/DTD" $ROOTCATALOG
-    fi
-fi</pre>
-
-<p>Note the test against $1, this is needed to not remove the delegate rules
-in case of upgrade of the package.</p>
-
-<p>Following the set of guidelines and tips provided in this document should
-help deploy the XML resources in the GNOME framework without much pain and
-ensure a smooth evolution of the resource and instances.</p>
-
-<p><a href="mailto:veillard@redhat.com">Daniel Veillard</a></p>
-
-<p>$Id$</p>
-
-<p></p>
-</body>
-</html>
diff --git a/doc/help.html b/doc/help.html
deleted file mode 100644
index d6b9340..0000000
--- a/doc/help.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>How to help</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>How to help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>You can help the project in various ways, the best thing to do first is to
-subscribe to the mailing-list as explained before, check the <a href="http://mail.gnome.org/archives/xml/">archives </a>and the <a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Gnome bug
-database</a>:</p><ol>
-  <li>Provide patches when you find problems.</li>
-  <li>Provide the diffs when you port libxml2 to a new platform. They may not
-    be integrated in all cases but help pinpointing portability problems
-  and</li>
-  <li>Provide documentation fixes (either as patches to the code comments or
-    as HTML diffs).</li>
-  <li>Provide new documentations pieces (translations, examples, etc
-  ...).</li>
-  <li>Check the TODO file and try to close one of the items.</li>
-  <li>Take one of the points raised in the archive or the bug database and
-    provide a fix. <a href="mailto:daniel@veillard.com">Get in touch with me
-    </a>before to avoid synchronization problems and check that the suggested
-    fix will fit in nicely :-)</li>
-</ol><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>
diff --git a/doc/html/book1.html b/doc/html/book1.html
deleted file mode 100644
index 55d2f77..0000000
--- a/doc/html/book1.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version information</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/home.png b/doc/html/home.png
deleted file mode 100644
index 1700361..0000000
--- a/doc/html/home.png
+++ /dev/null
Binary files differ
diff --git a/doc/html/index.html b/doc/html/index.html
deleted file mode 100644
index 55d2f77..0000000
--- a/doc/html/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version information</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
deleted file mode 100644
index f7fddd1..0000000
--- a/doc/html/index.sgml
+++ /dev/null
@@ -1,609 +0,0 @@
-<ANCHOR id="libxml-testOOMlib" href="libxml/libxml-testOOMlib.html">
-<ANCHOR id="test-malloc" href="libxml/libxml-testOOMlib.html#test-malloc">
-<ANCHOR id="test-realloc" href="libxml/libxml-testOOMlib.html#test-realloc">
-<ANCHOR id="test-free" href="libxml/libxml-testOOMlib.html#test-free">
-<ANCHOR id="test-strdup" href="libxml/libxml-testOOMlib.html#test-strdup">
-<ANCHOR id="TestMemoryFunction" href="libxml/libxml-testOOMlib.html#TestMemoryFunction">
-<ANCHOR id="test-oom-handling" href="libxml/libxml-testOOMlib.html#test-oom-handling">
-<ANCHOR id="test-get-malloc-blocks-outstanding" href="libxml/libxml-testOOMlib.html#test-get-malloc-blocks-outstanding">
-<ANCHOR id="libxml-wincecompat" href="libxml/libxml-wincecompat.html">
-<ANCHOR id="MAX-STRERROR-CAPS" href="libxml/libxml-wincecompat.html#MAX-STRERROR-CAPS">
-<ANCHOR id="O-RDONLY-CAPS" href="libxml/libxml-wincecompat.html#O-RDONLY-CAPS">
-<ANCHOR id="O-WRONLY-CAPS" href="libxml/libxml-wincecompat.html#O-WRONLY-CAPS">
-<ANCHOR id="O-RDWR-CAPS" href="libxml/libxml-wincecompat.html#O-RDWR-CAPS">
-<ANCHOR id="O-APPEND-CAPS" href="libxml/libxml-wincecompat.html#O-APPEND-CAPS">
-<ANCHOR id="O-CREAT-CAPS" href="libxml/libxml-wincecompat.html#O-CREAT-CAPS">
-<ANCHOR id="O-TRUNC-CAPS" href="libxml/libxml-wincecompat.html#O-TRUNC-CAPS">
-<ANCHOR id="O-EXCL-CAPS" href="libxml/libxml-wincecompat.html#O-EXCL-CAPS">
-<ANCHOR id="errno" href="libxml/libxml-wincecompat.html#errno">
-<ANCHOR id="read" href="libxml/libxml-wincecompat.html#read">
-<ANCHOR id="write" href="libxml/libxml-wincecompat.html#write">
-<ANCHOR id="open" href="libxml/libxml-wincecompat.html#open">
-<ANCHOR id="close" href="libxml/libxml-wincecompat.html#close">
-<ANCHOR id="getenv" href="libxml/libxml-wincecompat.html#getenv">
-<ANCHOR id="strerror" href="libxml/libxml-wincecompat.html#strerror">
-<ANCHOR id="snprintf" href="libxml/libxml-wincecompat.html#snprintf">
-<ANCHOR id="vsnprintf" href="libxml/libxml-wincecompat.html#vsnprintf">
-<ANCHOR id="perror" href="libxml/libxml-wincecompat.html#perror">
-<ANCHOR id="libxml-wsockcompat" href="libxml/libxml-wsockcompat.html">
-<ANCHOR id="SOCKLEN-T-CAPS" href="libxml/libxml-wsockcompat.html#SOCKLEN-T-CAPS">
-<ANCHOR id="EWOULDBLOCK-CAPS" href="libxml/libxml-wsockcompat.html#EWOULDBLOCK-CAPS">
-<ANCHOR id="EINPROGRESS-CAPS" href="libxml/libxml-wsockcompat.html#EINPROGRESS-CAPS">
-<ANCHOR id="EALREADY-CAPS" href="libxml/libxml-wsockcompat.html#EALREADY-CAPS">
-<ANCHOR id="ENOTSOCK-CAPS" href="libxml/libxml-wsockcompat.html#ENOTSOCK-CAPS">
-<ANCHOR id="EDESTADDRREQ-CAPS" href="libxml/libxml-wsockcompat.html#EDESTADDRREQ-CAPS">
-<ANCHOR id="EMSGSIZE-CAPS" href="libxml/libxml-wsockcompat.html#EMSGSIZE-CAPS">
-<ANCHOR id="EPROTOTYPE-CAPS" href="libxml/libxml-wsockcompat.html#EPROTOTYPE-CAPS">
-<ANCHOR id="ENOPROTOOPT-CAPS" href="libxml/libxml-wsockcompat.html#ENOPROTOOPT-CAPS">
-<ANCHOR id="EPROTONOSUPPORT-CAPS" href="libxml/libxml-wsockcompat.html#EPROTONOSUPPORT-CAPS">
-<ANCHOR id="ESOCKTNOSUPPORT-CAPS" href="libxml/libxml-wsockcompat.html#ESOCKTNOSUPPORT-CAPS">
-<ANCHOR id="EOPNOTSUPP-CAPS" href="libxml/libxml-wsockcompat.html#EOPNOTSUPP-CAPS">
-<ANCHOR id="EPFNOSUPPORT-CAPS" href="libxml/libxml-wsockcompat.html#EPFNOSUPPORT-CAPS">
-<ANCHOR id="EAFNOSUPPORT-CAPS" href="libxml/libxml-wsockcompat.html#EAFNOSUPPORT-CAPS">
-<ANCHOR id="EADDRINUSE-CAPS" href="libxml/libxml-wsockcompat.html#EADDRINUSE-CAPS">
-<ANCHOR id="EADDRNOTAVAIL-CAPS" href="libxml/libxml-wsockcompat.html#EADDRNOTAVAIL-CAPS">
-<ANCHOR id="ENETDOWN-CAPS" href="libxml/libxml-wsockcompat.html#ENETDOWN-CAPS">
-<ANCHOR id="ENETUNREACH-CAPS" href="libxml/libxml-wsockcompat.html#ENETUNREACH-CAPS">
-<ANCHOR id="ENETRESET-CAPS" href="libxml/libxml-wsockcompat.html#ENETRESET-CAPS">
-<ANCHOR id="ECONNABORTED-CAPS" href="libxml/libxml-wsockcompat.html#ECONNABORTED-CAPS">
-<ANCHOR id="ECONNRESET-CAPS" href="libxml/libxml-wsockcompat.html#ECONNRESET-CAPS">
-<ANCHOR id="ENOBUFS-CAPS" href="libxml/libxml-wsockcompat.html#ENOBUFS-CAPS">
-<ANCHOR id="EISCONN-CAPS" href="libxml/libxml-wsockcompat.html#EISCONN-CAPS">
-<ANCHOR id="ENOTCONN-CAPS" href="libxml/libxml-wsockcompat.html#ENOTCONN-CAPS">
-<ANCHOR id="ESHUTDOWN-CAPS" href="libxml/libxml-wsockcompat.html#ESHUTDOWN-CAPS">
-<ANCHOR id="ETOOMANYREFS-CAPS" href="libxml/libxml-wsockcompat.html#ETOOMANYREFS-CAPS">
-<ANCHOR id="ETIMEDOUT-CAPS" href="libxml/libxml-wsockcompat.html#ETIMEDOUT-CAPS">
-<ANCHOR id="ECONNREFUSED-CAPS" href="libxml/libxml-wsockcompat.html#ECONNREFUSED-CAPS">
-<ANCHOR id="ELOOP-CAPS" href="libxml/libxml-wsockcompat.html#ELOOP-CAPS">
-<ANCHOR id="EHOSTDOWN-CAPS" href="libxml/libxml-wsockcompat.html#EHOSTDOWN-CAPS">
-<ANCHOR id="EHOSTUNREACH-CAPS" href="libxml/libxml-wsockcompat.html#EHOSTUNREACH-CAPS">
-<ANCHOR id="EPROCLIM-CAPS" href="libxml/libxml-wsockcompat.html#EPROCLIM-CAPS">
-<ANCHOR id="EUSERS-CAPS" href="libxml/libxml-wsockcompat.html#EUSERS-CAPS">
-<ANCHOR id="EDQUOT-CAPS" href="libxml/libxml-wsockcompat.html#EDQUOT-CAPS">
-<ANCHOR id="ESTALE-CAPS" href="libxml/libxml-wsockcompat.html#ESTALE-CAPS">
-<ANCHOR id="EREMOTE-CAPS" href="libxml/libxml-wsockcompat.html#EREMOTE-CAPS">
-<ANCHOR id="libxml-encoding" href="libxml/libxml-encoding.html">
-<ANCHOR id="xmlCharEncoding" href="libxml/libxml-encoding.html#xmlCharEncoding">
-<ANCHOR id="xmlCharEncodingInputFunc" href="libxml/libxml-encoding.html#xmlCharEncodingInputFunc">
-<ANCHOR id="xmlCharEncodingOutputFunc" href="libxml/libxml-encoding.html#xmlCharEncodingOutputFunc">
-<ANCHOR id="xmlCharEncodingHandler" href="libxml/libxml-encoding.html#xmlCharEncodingHandler">
-<ANCHOR id="xmlCharEncodingHandlerPtr" href="libxml/libxml-encoding.html#xmlCharEncodingHandlerPtr">
-<ANCHOR id="libxml-xmlregexp" href="libxml/libxml-xmlregexp.html">
-<ANCHOR id="xmlRegexp" href="libxml/libxml-xmlregexp.html#xmlRegexp">
-<ANCHOR id="xmlRegexpPtr" href="libxml/libxml-xmlregexp.html#xmlRegexpPtr">
-<ANCHOR id="xmlRegExecCtxt" href="libxml/libxml-xmlregexp.html#xmlRegExecCtxt">
-<ANCHOR id="xmlRegExecCtxtPtr" href="libxml/libxml-xmlregexp.html#xmlRegExecCtxtPtr">
-<ANCHOR id="xmlRegExecCallbacks" href="libxml/libxml-xmlregexp.html#xmlRegExecCallbacks">
-<ANCHOR id="libxml-xmlmemory" href="libxml/libxml-xmlmemory.html">
-<ANCHOR id="DEBUG-MEMORY-CAPS" href="libxml/libxml-xmlmemory.html#DEBUG-MEMORY-CAPS">
-<ANCHOR id="xmlFreeFunc" href="libxml/libxml-xmlmemory.html#xmlFreeFunc">
-<ANCHOR id="xmlMallocFunc" href="libxml/libxml-xmlmemory.html#xmlMallocFunc">
-<ANCHOR id="xmlReallocFunc" href="libxml/libxml-xmlmemory.html#xmlReallocFunc">
-<ANCHOR id="xmlStrdupFunc" href="libxml/libxml-xmlmemory.html#xmlStrdupFunc">
-<ANCHOR id="xmlMalloc" href="libxml/libxml-xmlmemory.html#xmlMalloc">
-<ANCHOR id="xmlMallocAtomic" href="libxml/libxml-xmlmemory.html#xmlMallocAtomic">
-<ANCHOR id="xmlRealloc" href="libxml/libxml-xmlmemory.html#xmlRealloc">
-<ANCHOR id="xmlMemStrdup" href="libxml/libxml-xmlmemory.html#xmlMemStrdup">
-<ANCHOR id="libxml-xmlIO" href="libxml/libxml-xmlIO.html">
-<ANCHOR id="xmlInputMatchCallback" href="libxml/libxml-xmlIO.html#xmlInputMatchCallback">
-<ANCHOR id="xmlInputOpenCallback" href="libxml/libxml-xmlIO.html#xmlInputOpenCallback">
-<ANCHOR id="xmlInputReadCallback" href="libxml/libxml-xmlIO.html#xmlInputReadCallback">
-<ANCHOR id="xmlInputCloseCallback" href="libxml/libxml-xmlIO.html#xmlInputCloseCallback">
-<ANCHOR id="xmlOutputMatchCallback" href="libxml/libxml-xmlIO.html#xmlOutputMatchCallback">
-<ANCHOR id="xmlOutputOpenCallback" href="libxml/libxml-xmlIO.html#xmlOutputOpenCallback">
-<ANCHOR id="xmlOutputWriteCallback" href="libxml/libxml-xmlIO.html#xmlOutputWriteCallback">
-<ANCHOR id="xmlOutputCloseCallback" href="libxml/libxml-xmlIO.html#xmlOutputCloseCallback">
-<ANCHOR id="xmlParserInputBuffer" href="libxml/libxml-xmlIO.html#xmlParserInputBuffer">
-<ANCHOR id="xmlOutputBuffer" href="libxml/libxml-xmlIO.html#xmlOutputBuffer">
-<ANCHOR id="libxml-xpath" href="libxml/libxml-xpath.html">
-<ANCHOR id="xmlXPathContext" href="libxml/libxml-xpath.html#xmlXPathContext">
-<ANCHOR id="xmlXPathContextPtr" href="libxml/libxml-xpath.html#xmlXPathContextPtr">
-<ANCHOR id="xmlXPathParserContext" href="libxml/libxml-xpath.html#xmlXPathParserContext">
-<ANCHOR id="xmlXPathParserContextPtr" href="libxml/libxml-xpath.html#xmlXPathParserContextPtr">
-<ANCHOR id="xmlXPathError" href="libxml/libxml-xpath.html#xmlXPathError">
-<ANCHOR id="xmlNodeSet" href="libxml/libxml-xpath.html#xmlNodeSet">
-<ANCHOR id="xmlNodeSetPtr" href="libxml/libxml-xpath.html#xmlNodeSetPtr">
-<ANCHOR id="xmlXPathObjectType" href="libxml/libxml-xpath.html#xmlXPathObjectType">
-<ANCHOR id="xmlXPathObject" href="libxml/libxml-xpath.html#xmlXPathObject">
-<ANCHOR id="xmlXPathObjectPtr" href="libxml/libxml-xpath.html#xmlXPathObjectPtr">
-<ANCHOR id="xmlXPathConvertFunc" href="libxml/libxml-xpath.html#xmlXPathConvertFunc">
-<ANCHOR id="xmlXPathType" href="libxml/libxml-xpath.html#xmlXPathType">
-<ANCHOR id="xmlXPathTypePtr" href="libxml/libxml-xpath.html#xmlXPathTypePtr">
-<ANCHOR id="xmlXPathVariable" href="libxml/libxml-xpath.html#xmlXPathVariable">
-<ANCHOR id="xmlXPathVariablePtr" href="libxml/libxml-xpath.html#xmlXPathVariablePtr">
-<ANCHOR id="xmlXPathEvalFunc" href="libxml/libxml-xpath.html#xmlXPathEvalFunc">
-<ANCHOR id="xmlXPathFunct" href="libxml/libxml-xpath.html#xmlXPathFunct">
-<ANCHOR id="xmlXPathFuncPtr" href="libxml/libxml-xpath.html#xmlXPathFuncPtr">
-<ANCHOR id="xmlXPathAxisFunc" href="libxml/libxml-xpath.html#xmlXPathAxisFunc">
-<ANCHOR id="xmlXPathAxis" href="libxml/libxml-xpath.html#xmlXPathAxis">
-<ANCHOR id="xmlXPathAxisPtr" href="libxml/libxml-xpath.html#xmlXPathAxisPtr">
-<ANCHOR id="xmlXPathCompExpr" href="libxml/libxml-xpath.html#xmlXPathCompExpr">
-<ANCHOR id="xmlXPathCompExprPtr" href="libxml/libxml-xpath.html#xmlXPathCompExprPtr">
-<ANCHOR id="xmlXPathFunction" href="libxml/libxml-xpath.html#xmlXPathFunction">
-<ANCHOR id="xmlXPathNAN" href="libxml/libxml-xpath.html#xmlXPathNAN">
-<ANCHOR id="xmlXPathPINF" href="libxml/libxml-xpath.html#xmlXPathPINF">
-<ANCHOR id="xmlXPathNINF" href="libxml/libxml-xpath.html#xmlXPathNINF">
-<ANCHOR id="xmlXPathNodeSetGetLength" href="libxml/libxml-xpath.html#xmlXPathNodeSetGetLength">
-<ANCHOR id="xmlXPathNodeSetItem" href="libxml/libxml-xpath.html#xmlXPathNodeSetItem">
-<ANCHOR id="xmlXPathNodeSetIsEmpty" href="libxml/libxml-xpath.html#xmlXPathNodeSetIsEmpty">
-<ANCHOR id="libxml-chvalid" href="libxml/libxml-chvalid.html">
-<ANCHOR id="xmlChSRange" href="libxml/libxml-chvalid.html#xmlChSRange">
-<ANCHOR id="xmlChSRangePtr" href="libxml/libxml-chvalid.html#xmlChSRangePtr">
-<ANCHOR id="xmlChLRange" href="libxml/libxml-chvalid.html#xmlChLRange">
-<ANCHOR id="xmlChLRangePtr" href="libxml/libxml-chvalid.html#xmlChLRangePtr">
-<ANCHOR id="xmlChRangeGroup" href="libxml/libxml-chvalid.html#xmlChRangeGroup">
-<ANCHOR id="xmlChRangeGroupPtr" href="libxml/libxml-chvalid.html#xmlChRangeGroupPtr">
-<ANCHOR id="xmlIsBaseChar-ch" href="libxml/libxml-chvalid.html#xmlIsBaseChar-ch">
-<ANCHOR id="xmlIsBaseCharQ" href="libxml/libxml-chvalid.html#xmlIsBaseCharQ">
-<ANCHOR id="xmlIsBaseCharGroup" href="libxml/libxml-chvalid.html#xmlIsBaseCharGroup">
-<ANCHOR id="xmlIsBlank-ch" href="libxml/libxml-chvalid.html#xmlIsBlank-ch">
-<ANCHOR id="xmlIsBlankQ" href="libxml/libxml-chvalid.html#xmlIsBlankQ">
-<ANCHOR id="xmlIsChar-ch" href="libxml/libxml-chvalid.html#xmlIsChar-ch">
-<ANCHOR id="xmlIsCharQ" href="libxml/libxml-chvalid.html#xmlIsCharQ">
-<ANCHOR id="xmlIsCharGroup" href="libxml/libxml-chvalid.html#xmlIsCharGroup">
-<ANCHOR id="xmlIsCombiningQ" href="libxml/libxml-chvalid.html#xmlIsCombiningQ">
-<ANCHOR id="xmlIsCombiningGroup" href="libxml/libxml-chvalid.html#xmlIsCombiningGroup">
-<ANCHOR id="xmlIsDigit-ch" href="libxml/libxml-chvalid.html#xmlIsDigit-ch">
-<ANCHOR id="xmlIsDigitQ" href="libxml/libxml-chvalid.html#xmlIsDigitQ">
-<ANCHOR id="xmlIsDigitGroup" href="libxml/libxml-chvalid.html#xmlIsDigitGroup">
-<ANCHOR id="xmlIsExtender-ch" href="libxml/libxml-chvalid.html#xmlIsExtender-ch">
-<ANCHOR id="xmlIsExtenderQ" href="libxml/libxml-chvalid.html#xmlIsExtenderQ">
-<ANCHOR id="xmlIsExtenderGroup" href="libxml/libxml-chvalid.html#xmlIsExtenderGroup">
-<ANCHOR id="xmlIsIdeographicQ" href="libxml/libxml-chvalid.html#xmlIsIdeographicQ">
-<ANCHOR id="xmlIsIdeographicGroup" href="libxml/libxml-chvalid.html#xmlIsIdeographicGroup">
-<ANCHOR id="xmlIsPubidChar-ch" href="libxml/libxml-chvalid.html#xmlIsPubidChar-ch">
-<ANCHOR id="xmlIsPubidCharQ" href="libxml/libxml-chvalid.html#xmlIsPubidCharQ">
-<ANCHOR id="libxml-uri" href="libxml/libxml-uri.html">
-<ANCHOR id="xmlURI" href="libxml/libxml-uri.html#xmlURI">
-<ANCHOR id="xmlURIPtr" href="libxml/libxml-uri.html#xmlURIPtr">
-<ANCHOR id="libxml-nanoftp" href="libxml/libxml-nanoftp.html">
-<ANCHOR id="ftpListCallback" href="libxml/libxml-nanoftp.html#ftpListCallback">
-<ANCHOR id="ftpDataCallback" href="libxml/libxml-nanoftp.html#ftpDataCallback">
-<ANCHOR id="libxml-schemasInternals" href="libxml/libxml-schemasInternals.html">
-<ANCHOR id="xmlSchemaTypeType" href="libxml/libxml-schemasInternals.html#xmlSchemaTypeType">
-<ANCHOR id="xmlSchemaContentType" href="libxml/libxml-schemasInternals.html#xmlSchemaContentType">
-<ANCHOR id="xmlSchemaVal" href="libxml/libxml-schemasInternals.html#xmlSchemaVal">
-<ANCHOR id="xmlSchemaValPtr" href="libxml/libxml-schemasInternals.html#xmlSchemaValPtr">
-<ANCHOR id="xmlSchemaType" href="libxml/libxml-schemasInternals.html#xmlSchemaType">
-<ANCHOR id="xmlSchemaTypePtr" href="libxml/libxml-schemasInternals.html#xmlSchemaTypePtr">
-<ANCHOR id="xmlSchemaFacet" href="libxml/libxml-schemasInternals.html#xmlSchemaFacet">
-<ANCHOR id="xmlSchemaFacetPtr" href="libxml/libxml-schemasInternals.html#xmlSchemaFacetPtr">
-<ANCHOR id="xmlSchemaAnnot" href="libxml/libxml-schemasInternals.html#xmlSchemaAnnot">
-<ANCHOR id="xmlSchemaAnnotPtr" href="libxml/libxml-schemasInternals.html#xmlSchemaAnnotPtr">
-<ANCHOR id="XML-SCHEMAS-ANYATTR-SKIP-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-ANYATTR-SKIP-CAPS">
-<ANCHOR id="XML-SCHEMAS-ANYATTR-LAX-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-ANYATTR-LAX-CAPS">
-<ANCHOR id="XML-SCHEMAS-ANYATTR-STRICT-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-ANYATTR-STRICT-CAPS">
-<ANCHOR id="xmlSchemaAttribute" href="libxml/libxml-schemasInternals.html#xmlSchemaAttribute">
-<ANCHOR id="xmlSchemaAttributePtr" href="libxml/libxml-schemasInternals.html#xmlSchemaAttributePtr">
-<ANCHOR id="xmlSchemaAttributeGroup" href="libxml/libxml-schemasInternals.html#xmlSchemaAttributeGroup">
-<ANCHOR id="xmlSchemaAttributeGroupPtr" href="libxml/libxml-schemasInternals.html#xmlSchemaAttributeGroupPtr">
-<ANCHOR id="XML-SCHEMAS-TYPE-MIXED-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-TYPE-MIXED-CAPS">
-<ANCHOR id="XML-SCHEMAS-ELEM-NILLABLE-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-ELEM-NILLABLE-CAPS">
-<ANCHOR id="XML-SCHEMAS-ELEM-GLOBAL-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-ELEM-GLOBAL-CAPS">
-<ANCHOR id="XML-SCHEMAS-ELEM-DEFAULT-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-ELEM-DEFAULT-CAPS">
-<ANCHOR id="XML-SCHEMAS-ELEM-FIXED-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-ELEM-FIXED-CAPS">
-<ANCHOR id="XML-SCHEMAS-ELEM-ABSTRACT-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-ELEM-ABSTRACT-CAPS">
-<ANCHOR id="XML-SCHEMAS-ELEM-TOPLEVEL-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-ELEM-TOPLEVEL-CAPS">
-<ANCHOR id="XML-SCHEMAS-ELEM-REF-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-ELEM-REF-CAPS">
-<ANCHOR id="xmlSchemaElement" href="libxml/libxml-schemasInternals.html#xmlSchemaElement">
-<ANCHOR id="xmlSchemaElementPtr" href="libxml/libxml-schemasInternals.html#xmlSchemaElementPtr">
-<ANCHOR id="XML-SCHEMAS-FACET-UNKNOWN-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-FACET-UNKNOWN-CAPS">
-<ANCHOR id="XML-SCHEMAS-FACET-PRESERVE-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-FACET-PRESERVE-CAPS">
-<ANCHOR id="XML-SCHEMAS-FACET-REPLACE-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-FACET-REPLACE-CAPS">
-<ANCHOR id="XML-SCHEMAS-FACET-COLLAPSE-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-FACET-COLLAPSE-CAPS">
-<ANCHOR id="xmlSchemaNotation" href="libxml/libxml-schemasInternals.html#xmlSchemaNotation">
-<ANCHOR id="xmlSchemaNotationPtr" href="libxml/libxml-schemasInternals.html#xmlSchemaNotationPtr">
-<ANCHOR id="XML-SCHEMAS-QUALIF-ELEM-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-QUALIF-ELEM-CAPS">
-<ANCHOR id="XML-SCHEMAS-QUALIF-ATTR-CAPS" href="libxml/libxml-schemasInternals.html#XML-SCHEMAS-QUALIF-ATTR-CAPS">
-<ANCHOR id="xmlSchema" href="libxml/libxml-schemasInternals.html#xmlSchema">
-<ANCHOR id="libxml-threads" href="libxml/libxml-threads.html">
-<ANCHOR id="xmlMutex" href="libxml/libxml-threads.html#xmlMutex">
-<ANCHOR id="xmlMutexPtr" href="libxml/libxml-threads.html#xmlMutexPtr">
-<ANCHOR id="xmlRMutex" href="libxml/libxml-threads.html#xmlRMutex">
-<ANCHOR id="xmlRMutexPtr" href="libxml/libxml-threads.html#xmlRMutexPtr">
-<ANCHOR id="libxml-parser" href="libxml/libxml-parser.html">
-<ANCHOR id="XML-DEFAULT-VERSION-CAPS" href="libxml/libxml-parser.html#XML-DEFAULT-VERSION-CAPS">
-<ANCHOR id="xmlParserInputDeallocate" href="libxml/libxml-parser.html#xmlParserInputDeallocate">
-<ANCHOR id="xmlParserInput" href="libxml/libxml-parser.html#xmlParserInput">
-<ANCHOR id="xmlParserNodeInfo" href="libxml/libxml-parser.html#xmlParserNodeInfo">
-<ANCHOR id="xmlParserNodeInfoPtr" href="libxml/libxml-parser.html#xmlParserNodeInfoPtr">
-<ANCHOR id="xmlParserNodeInfoSeq" href="libxml/libxml-parser.html#xmlParserNodeInfoSeq">
-<ANCHOR id="xmlParserNodeInfoSeqPtr" href="libxml/libxml-parser.html#xmlParserNodeInfoSeqPtr">
-<ANCHOR id="xmlParserInputState" href="libxml/libxml-parser.html#xmlParserInputState">
-<ANCHOR id="XML-DETECT-IDS-CAPS" href="libxml/libxml-parser.html#XML-DETECT-IDS-CAPS">
-<ANCHOR id="XML-COMPLETE-ATTRS-CAPS" href="libxml/libxml-parser.html#XML-COMPLETE-ATTRS-CAPS">
-<ANCHOR id="XML-SKIP-IDS-CAPS" href="libxml/libxml-parser.html#XML-SKIP-IDS-CAPS">
-<ANCHOR id="xmlParserCtxt" href="libxml/libxml-parser.html#xmlParserCtxt">
-<ANCHOR id="xmlSAXLocator" href="libxml/libxml-parser.html#xmlSAXLocator">
-<ANCHOR id="resolveEntitySAXFunc" href="libxml/libxml-parser.html#resolveEntitySAXFunc">
-<ANCHOR id="internalSubsetSAXFunc" href="libxml/libxml-parser.html#internalSubsetSAXFunc">
-<ANCHOR id="externalSubsetSAXFunc" href="libxml/libxml-parser.html#externalSubsetSAXFunc">
-<ANCHOR id="getEntitySAXFunc" href="libxml/libxml-parser.html#getEntitySAXFunc">
-<ANCHOR id="getParameterEntitySAXFunc" href="libxml/libxml-parser.html#getParameterEntitySAXFunc">
-<ANCHOR id="entityDeclSAXFunc" href="libxml/libxml-parser.html#entityDeclSAXFunc">
-<ANCHOR id="notationDeclSAXFunc" href="libxml/libxml-parser.html#notationDeclSAXFunc">
-<ANCHOR id="attributeDeclSAXFunc" href="libxml/libxml-parser.html#attributeDeclSAXFunc">
-<ANCHOR id="elementDeclSAXFunc" href="libxml/libxml-parser.html#elementDeclSAXFunc">
-<ANCHOR id="unparsedEntityDeclSAXFunc" href="libxml/libxml-parser.html#unparsedEntityDeclSAXFunc">
-<ANCHOR id="setDocumentLocatorSAXFunc" href="libxml/libxml-parser.html#setDocumentLocatorSAXFunc">
-<ANCHOR id="startDocumentSAXFunc" href="libxml/libxml-parser.html#startDocumentSAXFunc">
-<ANCHOR id="endDocumentSAXFunc" href="libxml/libxml-parser.html#endDocumentSAXFunc">
-<ANCHOR id="startElementSAXFunc" href="libxml/libxml-parser.html#startElementSAXFunc">
-<ANCHOR id="endElementSAXFunc" href="libxml/libxml-parser.html#endElementSAXFunc">
-<ANCHOR id="attributeSAXFunc" href="libxml/libxml-parser.html#attributeSAXFunc">
-<ANCHOR id="referenceSAXFunc" href="libxml/libxml-parser.html#referenceSAXFunc">
-<ANCHOR id="charactersSAXFunc" href="libxml/libxml-parser.html#charactersSAXFunc">
-<ANCHOR id="ignorableWhitespaceSAXFunc" href="libxml/libxml-parser.html#ignorableWhitespaceSAXFunc">
-<ANCHOR id="processingInstructionSAXFunc" href="libxml/libxml-parser.html#processingInstructionSAXFunc">
-<ANCHOR id="commentSAXFunc" href="libxml/libxml-parser.html#commentSAXFunc">
-<ANCHOR id="cdataBlockSAXFunc" href="libxml/libxml-parser.html#cdataBlockSAXFunc">
-<ANCHOR id="warningSAXFunc" href="libxml/libxml-parser.html#warningSAXFunc">
-<ANCHOR id="errorSAXFunc" href="libxml/libxml-parser.html#errorSAXFunc">
-<ANCHOR id="fatalErrorSAXFunc" href="libxml/libxml-parser.html#fatalErrorSAXFunc">
-<ANCHOR id="isStandaloneSAXFunc" href="libxml/libxml-parser.html#isStandaloneSAXFunc">
-<ANCHOR id="hasInternalSubsetSAXFunc" href="libxml/libxml-parser.html#hasInternalSubsetSAXFunc">
-<ANCHOR id="hasExternalSubsetSAXFunc" href="libxml/libxml-parser.html#hasExternalSubsetSAXFunc">
-<ANCHOR id="XML-SAX2-MAGIC-CAPS" href="libxml/libxml-parser.html#XML-SAX2-MAGIC-CAPS">
-<ANCHOR id="startElementNsSAX2Func" href="libxml/libxml-parser.html#startElementNsSAX2Func">
-<ANCHOR id="endElementNsSAX2Func" href="libxml/libxml-parser.html#endElementNsSAX2Func">
-<ANCHOR id="xmlSAXHandler" href="libxml/libxml-parser.html#xmlSAXHandler">
-<ANCHOR id="xmlSAXHandlerV1" href="libxml/libxml-parser.html#xmlSAXHandlerV1">
-<ANCHOR id="xmlSAXHandlerV1Ptr" href="libxml/libxml-parser.html#xmlSAXHandlerV1Ptr">
-<ANCHOR id="xmlExternalEntityLoader" href="libxml/libxml-parser.html#xmlExternalEntityLoader">
-<ANCHOR id="xmlParserOption" href="libxml/libxml-parser.html#xmlParserOption">
-<ANCHOR id="libxml-c14n" href="libxml/libxml-c14n.html">
-<ANCHOR id="xmlC14NIsVisibleCallback" href="libxml/libxml-c14n.html#xmlC14NIsVisibleCallback">
-<ANCHOR id="libxml-xmlerror" href="libxml/libxml-xmlerror.html">
-<ANCHOR id="xmlErrorLevel" href="libxml/libxml-xmlerror.html#xmlErrorLevel">
-<ANCHOR id="xmlErrorDomain" href="libxml/libxml-xmlerror.html#xmlErrorDomain">
-<ANCHOR id="xmlError" href="libxml/libxml-xmlerror.html#xmlError">
-<ANCHOR id="xmlErrorPtr" href="libxml/libxml-xmlerror.html#xmlErrorPtr">
-<ANCHOR id="xmlParserErrors" href="libxml/libxml-xmlerror.html#xmlParserErrors">
-<ANCHOR id="xmlGenericErrorFunc" href="libxml/libxml-xmlerror.html#xmlGenericErrorFunc">
-<ANCHOR id="xmlStructuredErrorFunc" href="libxml/libxml-xmlerror.html#xmlStructuredErrorFunc">
-<ANCHOR id="libxml-xmlwin32version" href="libxml/libxml-xmlwin32version.html">
-<ANCHOR id="xmlCheckVersion" href="libxml/libxml-xmlwin32version.html#xmlCheckVersion">
-<ANCHOR id="LIBXML-DOTTED-VERSION-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-DOTTED-VERSION-CAPS">
-<ANCHOR id="LIBXML-VERSION-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-VERSION-CAPS">
-<ANCHOR id="LIBXML-VERSION-STRING-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-VERSION-STRING-CAPS">
-<ANCHOR id="LIBXML-TEST-VERSION-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-TEST-VERSION-CAPS">
-<ANCHOR id="WITH-TRIO-CAPS" href="libxml/libxml-xmlwin32version.html#WITH-TRIO-CAPS">
-<ANCHOR id="WITHOUT-TRIO-CAPS" href="libxml/libxml-xmlwin32version.html#WITHOUT-TRIO-CAPS">
-<ANCHOR id="LIBXML-THREAD-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-THREAD-ENABLED-CAPS">
-<ANCHOR id="LIBXML-FTP-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-FTP-ENABLED-CAPS">
-<ANCHOR id="LIBXML-HTTP-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-HTTP-ENABLED-CAPS">
-<ANCHOR id="LIBXML-HTML-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-HTML-ENABLED-CAPS">
-<ANCHOR id="LIBXML-CATALOG-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-CATALOG-ENABLED-CAPS">
-<ANCHOR id="LIBXML-DOCB-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-DOCB-ENABLED-CAPS">
-<ANCHOR id="LIBXML-XPATH-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-XPATH-ENABLED-CAPS">
-<ANCHOR id="LIBXML-XPTR-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-XPTR-ENABLED-CAPS">
-<ANCHOR id="LIBXML-C14N-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-C14N-ENABLED-CAPS">
-<ANCHOR id="LIBXML-XINCLUDE-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-XINCLUDE-ENABLED-CAPS">
-<ANCHOR id="LIBXML-ICONV-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-ICONV-ENABLED-CAPS">
-<ANCHOR id="LIBXML-DEBUG-ENABLED-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-DEBUG-ENABLED-CAPS">
-<ANCHOR id="DEBUG-MEMORY-LOCATION-CAPS" href="libxml/libxml-xmlwin32version.html#DEBUG-MEMORY-LOCATION-CAPS">
-<ANCHOR id="LIBXML-DLL-IMPORT-CAPS" href="libxml/libxml-xmlwin32version.html#LIBXML-DLL-IMPORT-CAPS">
-<ANCHOR id="ATTRIBUTE-UNUSED-CAPS" href="libxml/libxml-xmlwin32version.html#ATTRIBUTE-UNUSED-CAPS">
-<ANCHOR id="libxml-DOCBparser" href="libxml/libxml-DOCBparser.html">
-<ANCHOR id="docbParserCtxt" href="libxml/libxml-DOCBparser.html#docbParserCtxt">
-<ANCHOR id="docbParserCtxtPtr" href="libxml/libxml-DOCBparser.html#docbParserCtxtPtr">
-<ANCHOR id="docbSAXHandler" href="libxml/libxml-DOCBparser.html#docbSAXHandler">
-<ANCHOR id="docbSAXHandlerPtr" href="libxml/libxml-DOCBparser.html#docbSAXHandlerPtr">
-<ANCHOR id="docbParserInput" href="libxml/libxml-DOCBparser.html#docbParserInput">
-<ANCHOR id="docbParserInputPtr" href="libxml/libxml-DOCBparser.html#docbParserInputPtr">
-<ANCHOR id="docbDocPtr" href="libxml/libxml-DOCBparser.html#docbDocPtr">
-<ANCHOR id="libxml-dict" href="libxml/libxml-dict.html">
-<ANCHOR id="xmlDict" href="libxml/libxml-dict.html#xmlDict">
-<ANCHOR id="xmlDictPtr" href="libxml/libxml-dict.html#xmlDictPtr">
-<ANCHOR id="libxml-xmlautomata" href="libxml/libxml-xmlautomata.html">
-<ANCHOR id="xmlAutomata" href="libxml/libxml-xmlautomata.html#xmlAutomata">
-<ANCHOR id="xmlAutomataPtr" href="libxml/libxml-xmlautomata.html#xmlAutomataPtr">
-<ANCHOR id="xmlAutomataState" href="libxml/libxml-xmlautomata.html#xmlAutomataState">
-<ANCHOR id="xmlAutomataStatePtr" href="libxml/libxml-xmlautomata.html#xmlAutomataStatePtr">
-<ANCHOR id="libxml-xpointer" href="libxml/libxml-xpointer.html">
-<ANCHOR id="xmlLocationSet" href="libxml/libxml-xpointer.html#xmlLocationSet">
-<ANCHOR id="xmlLocationSetPtr" href="libxml/libxml-xpointer.html#xmlLocationSetPtr">
-<ANCHOR id="libxml-hash" href="libxml/libxml-hash.html">
-<ANCHOR id="xmlHashTable" href="libxml/libxml-hash.html#xmlHashTable">
-<ANCHOR id="xmlHashTablePtr" href="libxml/libxml-hash.html#xmlHashTablePtr">
-<ANCHOR id="xmlHashDeallocator" href="libxml/libxml-hash.html#xmlHashDeallocator">
-<ANCHOR id="xmlHashCopier" href="libxml/libxml-hash.html#xmlHashCopier">
-<ANCHOR id="xmlHashScanner" href="libxml/libxml-hash.html#xmlHashScanner">
-<ANCHOR id="xmlHashScannerFull" href="libxml/libxml-hash.html#xmlHashScannerFull">
-<ANCHOR id="libxml-relaxng" href="libxml/libxml-relaxng.html">
-<ANCHOR id="xmlRelaxNG" href="libxml/libxml-relaxng.html#xmlRelaxNG">
-<ANCHOR id="xmlRelaxNGPtr" href="libxml/libxml-relaxng.html#xmlRelaxNGPtr">
-<ANCHOR id="xmlRelaxNGValidityErrorFunc" href="libxml/libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">
-<ANCHOR id="xmlRelaxNGValidityWarningFunc" href="libxml/libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">
-<ANCHOR id="xmlRelaxNGParserCtxt" href="libxml/libxml-relaxng.html#xmlRelaxNGParserCtxt">
-<ANCHOR id="xmlRelaxNGParserCtxtPtr" href="libxml/libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">
-<ANCHOR id="xmlRelaxNGValidCtxt" href="libxml/libxml-relaxng.html#xmlRelaxNGValidCtxt">
-<ANCHOR id="xmlRelaxNGValidCtxtPtr" href="libxml/libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">
-<ANCHOR id="xmlRelaxNGValidErr" href="libxml/libxml-relaxng.html#xmlRelaxNGValidErr">
-<ANCHOR id="libxml-xpathInternals" href="libxml/libxml-xpathInternals.html">
-<ANCHOR id="xmlXPathSetError" href="libxml/libxml-xpathInternals.html#xmlXPathSetError">
-<ANCHOR id="xmlXPathSetArityError" href="libxml/libxml-xpathInternals.html#xmlXPathSetArityError">
-<ANCHOR id="xmlXPathSetTypeError" href="libxml/libxml-xpathInternals.html#xmlXPathSetTypeError">
-<ANCHOR id="xmlXPathGetError" href="libxml/libxml-xpathInternals.html#xmlXPathGetError">
-<ANCHOR id="xmlXPathCheckError" href="libxml/libxml-xpathInternals.html#xmlXPathCheckError">
-<ANCHOR id="xmlXPathGetDocument" href="libxml/libxml-xpathInternals.html#xmlXPathGetDocument">
-<ANCHOR id="xmlXPathGetContextNode" href="libxml/libxml-xpathInternals.html#xmlXPathGetContextNode">
-<ANCHOR id="xmlXPathReturnBoolean" href="libxml/libxml-xpathInternals.html#xmlXPathReturnBoolean">
-<ANCHOR id="xmlXPathReturnTrue" href="libxml/libxml-xpathInternals.html#xmlXPathReturnTrue">
-<ANCHOR id="xmlXPathReturnFalse" href="libxml/libxml-xpathInternals.html#xmlXPathReturnFalse">
-<ANCHOR id="xmlXPathReturnNumber" href="libxml/libxml-xpathInternals.html#xmlXPathReturnNumber">
-<ANCHOR id="xmlXPathReturnString" href="libxml/libxml-xpathInternals.html#xmlXPathReturnString">
-<ANCHOR id="xmlXPathReturnEmptyString" href="libxml/libxml-xpathInternals.html#xmlXPathReturnEmptyString">
-<ANCHOR id="xmlXPathReturnNodeSet" href="libxml/libxml-xpathInternals.html#xmlXPathReturnNodeSet">
-<ANCHOR id="xmlXPathReturnEmptyNodeSet" href="libxml/libxml-xpathInternals.html#xmlXPathReturnEmptyNodeSet">
-<ANCHOR id="xmlXPathReturnExternal" href="libxml/libxml-xpathInternals.html#xmlXPathReturnExternal">
-<ANCHOR id="xmlXPathStackIsNodeSet" href="libxml/libxml-xpathInternals.html#xmlXPathStackIsNodeSet">
-<ANCHOR id="xmlXPathStackIsExternal" href="libxml/libxml-xpathInternals.html#xmlXPathStackIsExternal">
-<ANCHOR id="xmlXPathEmptyNodeSet" href="libxml/libxml-xpathInternals.html#xmlXPathEmptyNodeSet">
-<ANCHOR id="CHECK-ERROR-CAPS" href="libxml/libxml-xpathInternals.html#CHECK-ERROR-CAPS">
-<ANCHOR id="CHECK-ERROR0-CAPS" href="libxml/libxml-xpathInternals.html#CHECK-ERROR0-CAPS">
-<ANCHOR id="XP-ERROR-CAPS" href="libxml/libxml-xpathInternals.html#XP-ERROR-CAPS">
-<ANCHOR id="XP-ERROR0-CAPS" href="libxml/libxml-xpathInternals.html#XP-ERROR0-CAPS">
-<ANCHOR id="CHECK-TYPE-CAPS" href="libxml/libxml-xpathInternals.html#CHECK-TYPE-CAPS">
-<ANCHOR id="CHECK-TYPE0-CAPS" href="libxml/libxml-xpathInternals.html#CHECK-TYPE0-CAPS">
-<ANCHOR id="CHECK-ARITY-CAPS" href="libxml/libxml-xpathInternals.html#CHECK-ARITY-CAPS">
-<ANCHOR id="CAST-TO-STRING-CAPS" href="libxml/libxml-xpathInternals.html#CAST-TO-STRING-CAPS">
-<ANCHOR id="CAST-TO-NUMBER-CAPS" href="libxml/libxml-xpathInternals.html#CAST-TO-NUMBER-CAPS">
-<ANCHOR id="CAST-TO-BOOLEAN-CAPS" href="libxml/libxml-xpathInternals.html#CAST-TO-BOOLEAN-CAPS">
-<ANCHOR id="xmlXPathVariableLookupFunc" href="libxml/libxml-xpathInternals.html#xmlXPathVariableLookupFunc">
-<ANCHOR id="xmlXPathFuncLookupFunc" href="libxml/libxml-xpathInternals.html#xmlXPathFuncLookupFunc">
-<ANCHOR id="libxml-xmlversion" href="libxml/libxml-xmlversion.html">
-<ANCHOR id="LIBXML-DOTTED-VERSION-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-DOTTED-VERSION-CAPS">
-<ANCHOR id="LIBXML-VERSION-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-VERSION-CAPS">
-<ANCHOR id="LIBXML-VERSION-STRING-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-VERSION-STRING-CAPS">
-<ANCHOR id="LIBXML-TEST-VERSION-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-TEST-VERSION-CAPS">
-<ANCHOR id="WITH-TRIO-CAPS" href="libxml/libxml-xmlversion.html#WITH-TRIO-CAPS">
-<ANCHOR id="WITHOUT-TRIO-CAPS" href="libxml/libxml-xmlversion.html#WITHOUT-TRIO-CAPS">
-<ANCHOR id="LIBXML-THREAD-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-THREAD-ENABLED-CAPS">
-<ANCHOR id="LIBXML-TREE-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-TREE-ENABLED-CAPS">
-<ANCHOR id="LIBXML-OUTPUT-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-OUTPUT-ENABLED-CAPS">
-<ANCHOR id="LIBXML-PUSH-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-PUSH-ENABLED-CAPS">
-<ANCHOR id="LIBXML-READER-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-READER-ENABLED-CAPS">
-<ANCHOR id="LIBXML-WRITER-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-WRITER-ENABLED-CAPS">
-<ANCHOR id="LIBXML-SAX1-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-SAX1-ENABLED-CAPS">
-<ANCHOR id="LIBXML-FTP-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-FTP-ENABLED-CAPS">
-<ANCHOR id="LIBXML-HTTP-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-HTTP-ENABLED-CAPS">
-<ANCHOR id="LIBXML-VALID-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-VALID-ENABLED-CAPS">
-<ANCHOR id="LIBXML-HTML-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-HTML-ENABLED-CAPS">
-<ANCHOR id="LIBXML-LEGACY-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-LEGACY-ENABLED-CAPS">
-<ANCHOR id="LIBXML-C14N-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-C14N-ENABLED-CAPS">
-<ANCHOR id="LIBXML-CATALOG-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-CATALOG-ENABLED-CAPS">
-<ANCHOR id="LIBXML-DOCB-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-DOCB-ENABLED-CAPS">
-<ANCHOR id="LIBXML-XPATH-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-XPATH-ENABLED-CAPS">
-<ANCHOR id="LIBXML-XPTR-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-XPTR-ENABLED-CAPS">
-<ANCHOR id="LIBXML-XINCLUDE-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-XINCLUDE-ENABLED-CAPS">
-<ANCHOR id="LIBXML-ICONV-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-ICONV-ENABLED-CAPS">
-<ANCHOR id="LIBXML-ISO8859X-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-ISO8859X-ENABLED-CAPS">
-<ANCHOR id="LIBXML-DEBUG-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-DEBUG-ENABLED-CAPS">
-<ANCHOR id="DEBUG-MEMORY-LOCATION-CAPS" href="libxml/libxml-xmlversion.html#DEBUG-MEMORY-LOCATION-CAPS">
-<ANCHOR id="LIBXML-UNICODE-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-UNICODE-ENABLED-CAPS">
-<ANCHOR id="LIBXML-REGEXP-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-REGEXP-ENABLED-CAPS">
-<ANCHOR id="LIBXML-AUTOMATA-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-AUTOMATA-ENABLED-CAPS">
-<ANCHOR id="LIBXML-SCHEMAS-ENABLED-CAPS" href="libxml/libxml-xmlversion.html#LIBXML-SCHEMAS-ENABLED-CAPS">
-<ANCHOR id="ATTRIBUTE-UNUSED-CAPS" href="libxml/libxml-xmlversion.html#ATTRIBUTE-UNUSED-CAPS">
-<ANCHOR id="libxml-list" href="libxml/libxml-list.html">
-<ANCHOR id="xmlLink" href="libxml/libxml-list.html#xmlLink">
-<ANCHOR id="xmlLinkPtr" href="libxml/libxml-list.html#xmlLinkPtr">
-<ANCHOR id="xmlList" href="libxml/libxml-list.html#xmlList">
-<ANCHOR id="xmlListPtr" href="libxml/libxml-list.html#xmlListPtr">
-<ANCHOR id="xmlListDeallocator" href="libxml/libxml-list.html#xmlListDeallocator">
-<ANCHOR id="xmlListDataCompare" href="libxml/libxml-list.html#xmlListDataCompare">
-<ANCHOR id="xmlListWalker" href="libxml/libxml-list.html#xmlListWalker">
-<ANCHOR id="libxml-HTMLtree" href="libxml/libxml-HTMLtree.html">
-<ANCHOR id="HTML-TEXT-NODE-CAPS" href="libxml/libxml-HTMLtree.html#HTML-TEXT-NODE-CAPS">
-<ANCHOR id="HTML-ENTITY-REF-NODE-CAPS" href="libxml/libxml-HTMLtree.html#HTML-ENTITY-REF-NODE-CAPS">
-<ANCHOR id="HTML-COMMENT-NODE-CAPS" href="libxml/libxml-HTMLtree.html#HTML-COMMENT-NODE-CAPS">
-<ANCHOR id="HTML-PRESERVE-NODE-CAPS" href="libxml/libxml-HTMLtree.html#HTML-PRESERVE-NODE-CAPS">
-<ANCHOR id="HTML-PI-NODE-CAPS" href="libxml/libxml-HTMLtree.html#HTML-PI-NODE-CAPS">
-<ANCHOR id="libxml-parserInternals" href="libxml/libxml-parserInternals.html">
-<ANCHOR id="xmlParserMaxDepth" href="libxml/libxml-parserInternals.html#xmlParserMaxDepth">
-<ANCHOR id="XML-MAX-NAMELEN-CAPS" href="libxml/libxml-parserInternals.html#XML-MAX-NAMELEN-CAPS">
-<ANCHOR id="INPUT-CHUNK-CAPS" href="libxml/libxml-parserInternals.html#INPUT-CHUNK-CAPS">
-<ANCHOR id="IS-BYTE-CHAR-CAPS" href="libxml/libxml-parserInternals.html#IS-BYTE-CHAR-CAPS">
-<ANCHOR id="IS-CHAR-CAPS" href="libxml/libxml-parserInternals.html#IS-CHAR-CAPS">
-<ANCHOR id="IS-CHAR-CH-CAPS" href="libxml/libxml-parserInternals.html#IS-CHAR-CH-CAPS">
-<ANCHOR id="IS-BLANK-CAPS" href="libxml/libxml-parserInternals.html#IS-BLANK-CAPS">
-<ANCHOR id="IS-BLANK-CH-CAPS" href="libxml/libxml-parserInternals.html#IS-BLANK-CH-CAPS">
-<ANCHOR id="IS-BASECHAR-CAPS" href="libxml/libxml-parserInternals.html#IS-BASECHAR-CAPS">
-<ANCHOR id="IS-DIGIT-CAPS" href="libxml/libxml-parserInternals.html#IS-DIGIT-CAPS">
-<ANCHOR id="IS-DIGIT-CH-CAPS" href="libxml/libxml-parserInternals.html#IS-DIGIT-CH-CAPS">
-<ANCHOR id="IS-COMBINING-CAPS" href="libxml/libxml-parserInternals.html#IS-COMBINING-CAPS">
-<ANCHOR id="IS-COMBINING-CH-CAPS" href="libxml/libxml-parserInternals.html#IS-COMBINING-CH-CAPS">
-<ANCHOR id="IS-EXTENDER-CAPS" href="libxml/libxml-parserInternals.html#IS-EXTENDER-CAPS">
-<ANCHOR id="IS-EXTENDER-CH-CAPS" href="libxml/libxml-parserInternals.html#IS-EXTENDER-CH-CAPS">
-<ANCHOR id="IS-IDEOGRAPHIC-CAPS" href="libxml/libxml-parserInternals.html#IS-IDEOGRAPHIC-CAPS">
-<ANCHOR id="IS-LETTER-CAPS" href="libxml/libxml-parserInternals.html#IS-LETTER-CAPS">
-<ANCHOR id="IS-LETTER-CH-CAPS" href="libxml/libxml-parserInternals.html#IS-LETTER-CH-CAPS">
-<ANCHOR id="IS-PUBIDCHAR-CAPS" href="libxml/libxml-parserInternals.html#IS-PUBIDCHAR-CAPS">
-<ANCHOR id="IS-PUBIDCHAR-CH-CAPS" href="libxml/libxml-parserInternals.html#IS-PUBIDCHAR-CH-CAPS">
-<ANCHOR id="SKIP-EOL-CAPS" href="libxml/libxml-parserInternals.html#SKIP-EOL-CAPS">
-<ANCHOR id="MOVETO-ENDTAG-CAPS" href="libxml/libxml-parserInternals.html#MOVETO-ENDTAG-CAPS">
-<ANCHOR id="MOVETO-STARTTAG-CAPS" href="libxml/libxml-parserInternals.html#MOVETO-STARTTAG-CAPS">
-<ANCHOR id="XML-SUBSTITUTE-NONE-CAPS" href="libxml/libxml-parserInternals.html#XML-SUBSTITUTE-NONE-CAPS">
-<ANCHOR id="XML-SUBSTITUTE-REF-CAPS" href="libxml/libxml-parserInternals.html#XML-SUBSTITUTE-REF-CAPS">
-<ANCHOR id="XML-SUBSTITUTE-PEREF-CAPS" href="libxml/libxml-parserInternals.html#XML-SUBSTITUTE-PEREF-CAPS">
-<ANCHOR id="XML-SUBSTITUTE-BOTH-CAPS" href="libxml/libxml-parserInternals.html#XML-SUBSTITUTE-BOTH-CAPS">
-<ANCHOR id="xmlEntityReferenceFunc" href="libxml/libxml-parserInternals.html#xmlEntityReferenceFunc">
-<ANCHOR id="libxml-entities" href="libxml/libxml-entities.html">
-<ANCHOR id="xmlEntityType" href="libxml/libxml-entities.html#xmlEntityType">
-<ANCHOR id="xmlEntity" href="libxml/libxml-entities.html#xmlEntity">
-<ANCHOR id="xmlEntitiesTablePtr" href="libxml/libxml-entities.html#xmlEntitiesTablePtr">
-<ANCHOR id="libxml-HTMLparser" href="libxml/libxml-HTMLparser.html">
-<ANCHOR id="htmlParserCtxt" href="libxml/libxml-HTMLparser.html#htmlParserCtxt">
-<ANCHOR id="htmlParserCtxtPtr" href="libxml/libxml-HTMLparser.html#htmlParserCtxtPtr">
-<ANCHOR id="htmlParserNodeInfo" href="libxml/libxml-HTMLparser.html#htmlParserNodeInfo">
-<ANCHOR id="htmlSAXHandler" href="libxml/libxml-HTMLparser.html#htmlSAXHandler">
-<ANCHOR id="htmlSAXHandlerPtr" href="libxml/libxml-HTMLparser.html#htmlSAXHandlerPtr">
-<ANCHOR id="htmlParserInput" href="libxml/libxml-HTMLparser.html#htmlParserInput">
-<ANCHOR id="htmlParserInputPtr" href="libxml/libxml-HTMLparser.html#htmlParserInputPtr">
-<ANCHOR id="htmlDocPtr" href="libxml/libxml-HTMLparser.html#htmlDocPtr">
-<ANCHOR id="htmlNodePtr" href="libxml/libxml-HTMLparser.html#htmlNodePtr">
-<ANCHOR id="htmlElemDesc" href="libxml/libxml-HTMLparser.html#htmlElemDesc">
-<ANCHOR id="htmlElemDescPtr" href="libxml/libxml-HTMLparser.html#htmlElemDescPtr">
-<ANCHOR id="htmlEntityDesc" href="libxml/libxml-HTMLparser.html#htmlEntityDesc">
-<ANCHOR id="htmlEntityDescPtr" href="libxml/libxml-HTMLparser.html#htmlEntityDescPtr">
-<ANCHOR id="htmlParserOption" href="libxml/libxml-HTMLparser.html#htmlParserOption">
-<ANCHOR id="libxml-valid" href="libxml/libxml-valid.html">
-<ANCHOR id="xmlValidState" href="libxml/libxml-valid.html#xmlValidState">
-<ANCHOR id="xmlValidStatePtr" href="libxml/libxml-valid.html#xmlValidStatePtr">
-<ANCHOR id="xmlValidityErrorFunc" href="libxml/libxml-valid.html#xmlValidityErrorFunc">
-<ANCHOR id="xmlValidityWarningFunc" href="libxml/libxml-valid.html#xmlValidityWarningFunc">
-<ANCHOR id="xmlValidCtxt" href="libxml/libxml-valid.html#xmlValidCtxt">
-<ANCHOR id="xmlValidCtxtPtr" href="libxml/libxml-valid.html#xmlValidCtxtPtr">
-<ANCHOR id="xmlNotationTablePtr" href="libxml/libxml-valid.html#xmlNotationTablePtr">
-<ANCHOR id="xmlElementTablePtr" href="libxml/libxml-valid.html#xmlElementTablePtr">
-<ANCHOR id="xmlAttributeTablePtr" href="libxml/libxml-valid.html#xmlAttributeTablePtr">
-<ANCHOR id="xmlIDTablePtr" href="libxml/libxml-valid.html#xmlIDTablePtr">
-<ANCHOR id="xmlRefTablePtr" href="libxml/libxml-valid.html#xmlRefTablePtr">
-<ANCHOR id="libxml-catalog" href="libxml/libxml-catalog.html">
-<ANCHOR id="XML-CATALOGS-NAMESPACE-CAPS" href="libxml/libxml-catalog.html#XML-CATALOGS-NAMESPACE-CAPS">
-<ANCHOR id="XML-CATALOG-PI-CAPS" href="libxml/libxml-catalog.html#XML-CATALOG-PI-CAPS">
-<ANCHOR id="xmlCatalogPrefer" href="libxml/libxml-catalog.html#xmlCatalogPrefer">
-<ANCHOR id="xmlCatalogAllow" href="libxml/libxml-catalog.html#xmlCatalogAllow">
-<ANCHOR id="xmlCatalog" href="libxml/libxml-catalog.html#xmlCatalog">
-<ANCHOR id="xmlCatalogPtr" href="libxml/libxml-catalog.html#xmlCatalogPtr">
-<ANCHOR id="libxml-tree" href="libxml/libxml-tree.html">
-<ANCHOR id="xmlParserInputBuffer" href="libxml/libxml-tree.html#xmlParserInputBuffer">
-<ANCHOR id="xmlParserInputBufferPtr" href="libxml/libxml-tree.html#xmlParserInputBufferPtr">
-<ANCHOR id="xmlOutputBuffer" href="libxml/libxml-tree.html#xmlOutputBuffer">
-<ANCHOR id="xmlOutputBufferPtr" href="libxml/libxml-tree.html#xmlOutputBufferPtr">
-<ANCHOR id="xmlParserInput" href="libxml/libxml-tree.html#xmlParserInput">
-<ANCHOR id="xmlParserInputPtr" href="libxml/libxml-tree.html#xmlParserInputPtr">
-<ANCHOR id="xmlParserCtxt" href="libxml/libxml-tree.html#xmlParserCtxt">
-<ANCHOR id="xmlParserCtxtPtr" href="libxml/libxml-tree.html#xmlParserCtxtPtr">
-<ANCHOR id="xmlSAXLocator" href="libxml/libxml-tree.html#xmlSAXLocator">
-<ANCHOR id="xmlSAXLocatorPtr" href="libxml/libxml-tree.html#xmlSAXLocatorPtr">
-<ANCHOR id="xmlSAXHandler" href="libxml/libxml-tree.html#xmlSAXHandler">
-<ANCHOR id="xmlSAXHandlerPtr" href="libxml/libxml-tree.html#xmlSAXHandlerPtr">
-<ANCHOR id="xmlEntity" href="libxml/libxml-tree.html#xmlEntity">
-<ANCHOR id="xmlEntityPtr" href="libxml/libxml-tree.html#xmlEntityPtr">
-<ANCHOR id="BASE-BUFFER-SIZE-CAPS" href="libxml/libxml-tree.html#BASE-BUFFER-SIZE-CAPS">
-<ANCHOR id="XML-XML-NAMESPACE-CAPS" href="libxml/libxml-tree.html#XML-XML-NAMESPACE-CAPS">
-<ANCHOR id="xmlElementType" href="libxml/libxml-tree.html#xmlElementType">
-<ANCHOR id="xmlChar" href="libxml/libxml-tree.html#xmlChar">
-<ANCHOR id="BAD-CAST-CAPS" href="libxml/libxml-tree.html#BAD-CAST-CAPS">
-<ANCHOR id="xmlNotation" href="libxml/libxml-tree.html#xmlNotation">
-<ANCHOR id="xmlNotationPtr" href="libxml/libxml-tree.html#xmlNotationPtr">
-<ANCHOR id="xmlAttributeType" href="libxml/libxml-tree.html#xmlAttributeType">
-<ANCHOR id="xmlAttributeDefault" href="libxml/libxml-tree.html#xmlAttributeDefault">
-<ANCHOR id="xmlEnumeration" href="libxml/libxml-tree.html#xmlEnumeration">
-<ANCHOR id="xmlEnumerationPtr" href="libxml/libxml-tree.html#xmlEnumerationPtr">
-<ANCHOR id="xmlAttribute" href="libxml/libxml-tree.html#xmlAttribute">
-<ANCHOR id="xmlAttributePtr" href="libxml/libxml-tree.html#xmlAttributePtr">
-<ANCHOR id="xmlElementContentType" href="libxml/libxml-tree.html#xmlElementContentType">
-<ANCHOR id="xmlElementContentOccur" href="libxml/libxml-tree.html#xmlElementContentOccur">
-<ANCHOR id="xmlElementContent" href="libxml/libxml-tree.html#xmlElementContent">
-<ANCHOR id="xmlElementContentPtr" href="libxml/libxml-tree.html#xmlElementContentPtr">
-<ANCHOR id="xmlElementTypeVal" href="libxml/libxml-tree.html#xmlElementTypeVal">
-<ANCHOR id="xmlElement" href="libxml/libxml-tree.html#xmlElement">
-<ANCHOR id="xmlElementPtr" href="libxml/libxml-tree.html#xmlElementPtr">
-<ANCHOR id="XML-LOCAL-NAMESPACE-CAPS" href="libxml/libxml-tree.html#XML-LOCAL-NAMESPACE-CAPS">
-<ANCHOR id="xmlNsType" href="libxml/libxml-tree.html#xmlNsType">
-<ANCHOR id="xmlNs" href="libxml/libxml-tree.html#xmlNs">
-<ANCHOR id="xmlNsPtr" href="libxml/libxml-tree.html#xmlNsPtr">
-<ANCHOR id="xmlDtd" href="libxml/libxml-tree.html#xmlDtd">
-<ANCHOR id="xmlDtdPtr" href="libxml/libxml-tree.html#xmlDtdPtr">
-<ANCHOR id="xmlAttr" href="libxml/libxml-tree.html#xmlAttr">
-<ANCHOR id="xmlAttrPtr" href="libxml/libxml-tree.html#xmlAttrPtr">
-<ANCHOR id="xmlID" href="libxml/libxml-tree.html#xmlID">
-<ANCHOR id="xmlIDPtr" href="libxml/libxml-tree.html#xmlIDPtr">
-<ANCHOR id="xmlRef" href="libxml/libxml-tree.html#xmlRef">
-<ANCHOR id="xmlRefPtr" href="libxml/libxml-tree.html#xmlRefPtr">
-<ANCHOR id="xmlBufferAllocationScheme" href="libxml/libxml-tree.html#xmlBufferAllocationScheme">
-<ANCHOR id="xmlBuffer" href="libxml/libxml-tree.html#xmlBuffer">
-<ANCHOR id="xmlBufferPtr" href="libxml/libxml-tree.html#xmlBufferPtr">
-<ANCHOR id="xmlNode" href="libxml/libxml-tree.html#xmlNode">
-<ANCHOR id="xmlNodePtr" href="libxml/libxml-tree.html#xmlNodePtr">
-<ANCHOR id="XML-GET-CONTENT-CAPS" href="libxml/libxml-tree.html#XML-GET-CONTENT-CAPS">
-<ANCHOR id="XML-GET-LINE-CAPS" href="libxml/libxml-tree.html#XML-GET-LINE-CAPS">
-<ANCHOR id="xmlDoc" href="libxml/libxml-tree.html#xmlDoc">
-<ANCHOR id="xmlDocPtr" href="libxml/libxml-tree.html#xmlDocPtr">
-<ANCHOR id="xmlChildrenNode" href="libxml/libxml-tree.html#xmlChildrenNode">
-<ANCHOR id="xmlRootNode" href="libxml/libxml-tree.html#xmlRootNode">
-<ANCHOR id="libxml-globals" href="libxml/libxml-globals.html">
-<ANCHOR id="xmlRegisterNodeFunc" href="libxml/libxml-globals.html#xmlRegisterNodeFunc">
-<ANCHOR id="xmlDeregisterNodeFunc" href="libxml/libxml-globals.html#xmlDeregisterNodeFunc">
-<ANCHOR id="xmlGlobalState" href="libxml/libxml-globals.html#xmlGlobalState">
-<ANCHOR id="xmlGlobalStatePtr" href="libxml/libxml-globals.html#xmlGlobalStatePtr">
-<ANCHOR id="xmlMalloc" href="libxml/libxml-globals.html#xmlMalloc">
-<ANCHOR id="xmlMallocAtomic" href="libxml/libxml-globals.html#xmlMallocAtomic">
-<ANCHOR id="xmlRealloc" href="libxml/libxml-globals.html#xmlRealloc">
-<ANCHOR id="xmlFree" href="libxml/libxml-globals.html#xmlFree">
-<ANCHOR id="xmlMemStrdup" href="libxml/libxml-globals.html#xmlMemStrdup">
-<ANCHOR id="docbDefaultSAXHandler" href="libxml/libxml-globals.html#docbDefaultSAXHandler">
-<ANCHOR id="htmlDefaultSAXHandler" href="libxml/libxml-globals.html#htmlDefaultSAXHandler">
-<ANCHOR id="xmlLastError" href="libxml/libxml-globals.html#xmlLastError">
-<ANCHOR id="oldXMLWDcompatibility" href="libxml/libxml-globals.html#oldXMLWDcompatibility">
-<ANCHOR id="xmlBufferAllocScheme" href="libxml/libxml-globals.html#xmlBufferAllocScheme">
-<ANCHOR id="xmlDefaultBufferSize" href="libxml/libxml-globals.html#xmlDefaultBufferSize">
-<ANCHOR id="xmlDefaultSAXHandler" href="libxml/libxml-globals.html#xmlDefaultSAXHandler">
-<ANCHOR id="xmlDefaultSAXLocator" href="libxml/libxml-globals.html#xmlDefaultSAXLocator">
-<ANCHOR id="xmlDoValidityCheckingDefaultValue" href="libxml/libxml-globals.html#xmlDoValidityCheckingDefaultValue">
-<ANCHOR id="xmlGenericError" href="libxml/libxml-globals.html#xmlGenericError">
-<ANCHOR id="xmlStructuredError" href="libxml/libxml-globals.html#xmlStructuredError">
-<ANCHOR id="xmlGenericErrorContext" href="libxml/libxml-globals.html#xmlGenericErrorContext">
-<ANCHOR id="xmlGetWarningsDefaultValue" href="libxml/libxml-globals.html#xmlGetWarningsDefaultValue">
-<ANCHOR id="xmlIndentTreeOutput" href="libxml/libxml-globals.html#xmlIndentTreeOutput">
-<ANCHOR id="xmlTreeIndentString" href="libxml/libxml-globals.html#xmlTreeIndentString">
-<ANCHOR id="xmlKeepBlanksDefaultValue" href="libxml/libxml-globals.html#xmlKeepBlanksDefaultValue">
-<ANCHOR id="xmlLineNumbersDefaultValue" href="libxml/libxml-globals.html#xmlLineNumbersDefaultValue">
-<ANCHOR id="xmlLoadExtDtdDefaultValue" href="libxml/libxml-globals.html#xmlLoadExtDtdDefaultValue">
-<ANCHOR id="xmlParserDebugEntities" href="libxml/libxml-globals.html#xmlParserDebugEntities">
-<ANCHOR id="xmlParserVersion" href="libxml/libxml-globals.html#xmlParserVersion">
-<ANCHOR id="xmlPedanticParserDefaultValue" href="libxml/libxml-globals.html#xmlPedanticParserDefaultValue">
-<ANCHOR id="xmlSaveNoEmptyTags" href="libxml/libxml-globals.html#xmlSaveNoEmptyTags">
-<ANCHOR id="xmlSubstituteEntitiesDefaultValue" href="libxml/libxml-globals.html#xmlSubstituteEntitiesDefaultValue">
-<ANCHOR id="xmlRegisterNodeDefaultValue" href="libxml/libxml-globals.html#xmlRegisterNodeDefaultValue">
-<ANCHOR id="xmlDeregisterNodeDefaultValue" href="libxml/libxml-globals.html#xmlDeregisterNodeDefaultValue">
-<ANCHOR id="libxml-xmlexports" href="libxml/libxml-xmlexports.html">
-<ANCHOR id="XMLPUBFUN-CAPS" href="libxml/libxml-xmlexports.html#XMLPUBFUN-CAPS">
-<ANCHOR id="XMLPUBVAR-CAPS" href="libxml/libxml-xmlexports.html#XMLPUBVAR-CAPS">
-<ANCHOR id="XMLCALL-CAPS" href="libxml/libxml-xmlexports.html#XMLCALL-CAPS">
-<ANCHOR id="LIBXML-DLL-IMPORT-CAPS" href="libxml/libxml-xmlexports.html#LIBXML-DLL-IMPORT-CAPS">
-<ANCHOR id="libxml-xinclude" href="libxml/libxml-xinclude.html">
-<ANCHOR id="XINCLUDE-NS-CAPS" href="libxml/libxml-xinclude.html#XINCLUDE-NS-CAPS">
-<ANCHOR id="XINCLUDE-NODE-CAPS" href="libxml/libxml-xinclude.html#XINCLUDE-NODE-CAPS">
-<ANCHOR id="XINCLUDE-FALLBACK-CAPS" href="libxml/libxml-xinclude.html#XINCLUDE-FALLBACK-CAPS">
-<ANCHOR id="XINCLUDE-HREF-CAPS" href="libxml/libxml-xinclude.html#XINCLUDE-HREF-CAPS">
-<ANCHOR id="XINCLUDE-PARSE-CAPS" href="libxml/libxml-xinclude.html#XINCLUDE-PARSE-CAPS">
-<ANCHOR id="XINCLUDE-PARSE-XML-CAPS" href="libxml/libxml-xinclude.html#XINCLUDE-PARSE-XML-CAPS">
-<ANCHOR id="XINCLUDE-PARSE-TEXT-CAPS" href="libxml/libxml-xinclude.html#XINCLUDE-PARSE-TEXT-CAPS">
-<ANCHOR id="XINCLUDE-PARSE-ENCODING-CAPS" href="libxml/libxml-xinclude.html#XINCLUDE-PARSE-ENCODING-CAPS">
-<ANCHOR id="xmlXIncludeCtxt" href="libxml/libxml-xinclude.html#xmlXIncludeCtxt">
-<ANCHOR id="xmlXIncludeCtxtPtr" href="libxml/libxml-xinclude.html#xmlXIncludeCtxtPtr">
-<ANCHOR id="libxml-xmlreader" href="libxml/libxml-xmlreader.html">
-<ANCHOR id="xmlParserProperties" href="libxml/libxml-xmlreader.html#xmlParserProperties">
-<ANCHOR id="xmlParserSeverities" href="libxml/libxml-xmlreader.html#xmlParserSeverities">
-<ANCHOR id="xmlReaderTypes" href="libxml/libxml-xmlreader.html#xmlReaderTypes">
-<ANCHOR id="xmlTextReader" href="libxml/libxml-xmlreader.html#xmlTextReader">
-<ANCHOR id="xmlTextReaderPtr" href="libxml/libxml-xmlreader.html#xmlTextReaderPtr">
-<ANCHOR id="xmlTextReaderLocatorPtr" href="libxml/libxml-xmlreader.html#xmlTextReaderLocatorPtr">
-<ANCHOR id="xmlTextReaderErrorFunc" href="libxml/libxml-xmlreader.html#xmlTextReaderErrorFunc">
-<ANCHOR id="libxml-debugXML" href="libxml/libxml-debugXML.html">
-<ANCHOR id="xmlShellReadlineFunc" href="libxml/libxml-debugXML.html#xmlShellReadlineFunc">
-<ANCHOR id="xmlShellCtxt" href="libxml/libxml-debugXML.html#xmlShellCtxt">
-<ANCHOR id="xmlShellCtxtPtr" href="libxml/libxml-debugXML.html#xmlShellCtxtPtr">
-<ANCHOR id="xmlShellCmd" href="libxml/libxml-debugXML.html#xmlShellCmd">
-<ANCHOR id="libxml-xmlwriter" href="libxml/libxml-xmlwriter.html">
-<ANCHOR id="xmlTextWriter" href="libxml/libxml-xmlwriter.html#xmlTextWriter">
-<ANCHOR id="xmlTextWriterPtr" href="libxml/libxml-xmlwriter.html#xmlTextWriterPtr">
-<ANCHOR id="xmlTextWriterWriteProcessingInstruction" href="libxml/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">
-<ANCHOR id="xmlTextWriterWriteDocType" href="libxml/libxml-xmlwriter.html#xmlTextWriterWriteDocType">
-<ANCHOR id="xmlTextWriterEndDTDElement" href="libxml/libxml-xmlwriter.html#xmlTextWriterEndDTDElement">
-<ANCHOR id="xmlTextWriterEndDTDAttlist" href="libxml/libxml-xmlwriter.html#xmlTextWriterEndDTDAttlist">
-<ANCHOR id="xmlTextWriterEndDTDEntity" href="libxml/libxml-xmlwriter.html#xmlTextWriterEndDTDEntity">
-<ANCHOR id="libxml-xmlschemas" href="libxml/libxml-xmlschemas.html">
-<ANCHOR id="xmlSchemaValidError" href="libxml/libxml-xmlschemas.html#xmlSchemaValidError">
-<ANCHOR id="xmlSchema" href="libxml/libxml-xmlschemas.html#xmlSchema">
-<ANCHOR id="xmlSchemaPtr" href="libxml/libxml-xmlschemas.html#xmlSchemaPtr">
-<ANCHOR id="xmlSchemaValidityErrorFunc" href="libxml/libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">
-<ANCHOR id="xmlSchemaValidityWarningFunc" href="libxml/libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">
-<ANCHOR id="xmlSchemaParserCtxt" href="libxml/libxml-xmlschemas.html#xmlSchemaParserCtxt">
-<ANCHOR id="xmlSchemaParserCtxtPtr" href="libxml/libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">
-<ANCHOR id="xmlSchemaValidCtxt" href="libxml/libxml-xmlschemas.html#xmlSchemaValidCtxt">
-<ANCHOR id="xmlSchemaValidCtxtPtr" href="libxml/libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">
diff --git a/doc/html/left.png b/doc/html/left.png
deleted file mode 100644
index 2d05b3d..0000000
--- a/doc/html/left.png
+++ /dev/null
Binary files differ
diff --git a/doc/html/libxml-DOCBparser.html b/doc/html/libxml-DOCBparser.html
deleted file mode 100644
index 4331f03..0000000
--- a/doc/html/libxml-DOCBparser.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module DOCBparser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module DOCBparser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-HTMLparser.html">HTMLparser</a></th><td><a accesskey="n" href="libxml-HTMLparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2><p>interface for a DocBook SGML non-verifying parser This code is DEPRECATED, and should not be used anymore. </p><div class="deprecated"><h2>Table of Contents</h2><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a name="docbParserInputPtr" id="docbParserInputPtr">docbParserInputPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a> <a name="docbParserCtxt" id="docbParserCtxt">docbParserCtxt</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a name="docbParserCtxtPtr" id="docbParserCtxtPtr">docbParserCtxtPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInput">xmlParserInput</a> <a name="docbParserInput" id="docbParserInput">docbParserInput</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a name="docbDocPtr" id="docbDocPtr">docbDocPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> <a name="docbSAXHandler" id="docbSAXHandler">docbSAXHandler</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> <a name="docbSAXHandlerPtr" id="docbSAXHandlerPtr">docbSAXHandlerPtr</a>
-</pre><pre class="programlisting">void	<a href="#docbFreeParserCtxt">docbFreeParserCtxt</a>		(<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>	<a href="#docbParseDoc">docbParseDoc</a>		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding)</pre>
-<pre class="programlisting"><a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a>	<a href="#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a>	(const char * filename, <br />							 const char * encoding)</pre>
-<pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>	<a href="#docbSAXParseFile">docbSAXParseFile</a>	(const char * filename, <br />					 const char * encoding, <br />					 <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br />					 void * userData)</pre>
-<pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>	<a href="#docbSAXParseDoc">docbSAXParseDoc</a>		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding, <br />					 <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br />					 void * userData)</pre>
-<pre class="programlisting"><a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a>	<a href="#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a>	(<a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br />							 void * user_data, <br />							 const char * chunk, <br />							 int size, <br />							 const char * filename, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting">int	<a href="#docbEncodeEntities">docbEncodeEntities</a>		(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen, <br />					 int quoteChar)</pre>
-<pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>	<a href="#docbParseFile">docbParseFile</a>		(const char * filename, <br />					 const char * encoding)</pre>
-<pre class="programlisting">int	<a href="#docbParseDocument">docbParseDocument</a>		(<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#docbParseChunk">docbParseChunk</a>			(<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt, <br />					 const char * chunk, <br />					 int size, <br />					 int terminate)</pre>
-<h2>Description</h2>
-<h3><a name="docbFreeParserCtxt" id="docbFreeParserCtxt"></a>Function: docbFreeParserCtxt</h3><pre class="programlisting">void	docbFreeParserCtxt		(<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt)<br />
-</pre><p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an SGML parser context</td></tr></tbody></table></div><h3><a name="docbParseDoc" id="docbParseDoc"></a>Function: docbParseDoc</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>	docbParseDoc		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding)<br />
-</pre><p>parse an SGML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="docbCreateFileParserCtxt" id="docbCreateFileParserCtxt"></a>Function: docbCreateFileParserCtxt</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a>	docbCreateFileParserCtxt	(const char * filename, <br />							 const char * encoding)<br />
-</pre><p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="docbSAXParseFile" id="docbSAXParseFile"></a>Function: docbSAXParseFile</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>	docbSAXParseFile	(const char * filename, <br />					 const char * encoding, <br />					 <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br />					 void * userData)<br />
-</pre><p>parse an SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="docbSAXParseDoc" id="docbSAXParseDoc"></a>Function: docbSAXParseDoc</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>	docbSAXParseDoc		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding, <br />					 <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br />					 void * userData)<br />
-</pre><p>parse an SGML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="docbCreatePushParserCtxt" id="docbCreatePushParserCtxt"></a>Function: docbCreatePushParserCtxt</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a>	docbCreatePushParserCtxt	(<a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br />							 void * user_data, <br />							 const char * chunk, <br />							 int size, <br />							 const char * filename, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>Create a parser context for using the DocBook SGML parser in push mode To allow content encoding detection, @size should be &gt;= 4 The value of @filename is used for fetching external entities and error/warning reports.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or URI</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="docbEncodeEntities" id="docbEncodeEntities"></a>Function: docbEncodeEntities</h3><pre class="programlisting">int	docbEncodeEntities		(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen, <br />					 int quoteChar)<br />
-</pre><p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus SGML entities block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i>:</span></td><td>the quote character to escape (' or ") or zero.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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.</td></tr></tbody></table></div><h3><a name="docbParseFile" id="docbParseFile"></a>Function: docbParseFile</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>	docbParseFile		(const char * filename, <br />					 const char * encoding)<br />
-</pre><p>parse a Docbook SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="docbParseDocument" id="docbParseDocument"></a>Function: docbParseDocument</h3><pre class="programlisting">int	docbParseDocument		(<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an SGML document (and build a tree if using the standard SAX interface).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an SGML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td></tr></tbody></table></div><h3><a name="docbParseChunk" id="docbParseChunk"></a>Function: docbParseChunk</h3><pre class="programlisting">int	docbParseChunk			(<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt, <br />					 const char * chunk, <br />					 int size, <br />					 int terminate)<br />
-</pre><p>Parse a Chunk of memory</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td></tr></tbody></table></div></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>
diff --git a/doc/html/libxml-HTMLparser.html b/doc/html/libxml-HTMLparser.html
deleted file mode 100644
index 3607915..0000000
--- a/doc/html/libxml-HTMLparser.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module HTMLparser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module HTMLparser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-DOCBparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-DOCBparser.html">DOCBparser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-HTMLtree.html">HTMLtree</a></th><td><a accesskey="n" href="libxml-HTMLtree.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a></pre><pre class="programlisting">#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a></pre><pre class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a></pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a name="htmlDocPtr" id="htmlDocPtr">htmlDocPtr</a>
-</pre><pre class="programlisting">Structure <a href="#htmlElemDesc">htmlElemDesc</a><br />struct _htmlElemDesc
-</pre><pre class="programlisting">Typedef <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * <a name="htmlElemDescPtr" id="htmlElemDescPtr">htmlElemDescPtr</a>
-</pre><pre class="programlisting">Structure <a href="#htmlEntityDesc">htmlEntityDesc</a><br />struct _htmlEntityDesc
-</pre><pre class="programlisting">Typedef <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * <a name="htmlEntityDescPtr" id="htmlEntityDescPtr">htmlEntityDescPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a name="htmlNodePtr" id="htmlNodePtr">htmlNodePtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a> <a name="htmlParserCtxt" id="htmlParserCtxt">htmlParserCtxt</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a name="htmlParserCtxtPtr" id="htmlParserCtxtPtr">htmlParserCtxtPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInput">xmlParserInput</a> <a name="htmlParserInput" id="htmlParserInput">htmlParserInput</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a name="htmlParserInputPtr" id="htmlParserInputPtr">htmlParserInputPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> <a name="htmlParserNodeInfo" id="htmlParserNodeInfo">htmlParserNodeInfo</a>
-</pre><pre class="programlisting">Enum <a href="#htmlParserOption">htmlParserOption</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> <a name="htmlSAXHandler" id="htmlSAXHandler">htmlSAXHandler</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> <a name="htmlSAXHandlerPtr" id="htmlSAXHandlerPtr">htmlSAXHandlerPtr</a>
-</pre><pre class="programlisting">Enum <a href="#htmlStatus">htmlStatus</a>
-</pre><pre class="programlisting">int	<a href="#UTF8ToHtml">UTF8ToHtml</a>			(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlAttrAllowed">htmlAttrAllowed</a>		(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * attr, <br />					 int legacy)</pre>
-<pre class="programlisting">int	<a href="#htmlAutoCloseTag">htmlAutoCloseTag</a>		(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a>	(const char * buffer, <br />							 int size)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a>	(<a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />							 void * user_data, <br />							 const char * chunk, <br />							 int size, <br />							 const char * filename, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadDoc">htmlCtxtReadDoc</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFd">htmlCtxtReadFd</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFile">htmlCtxtReadFile</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 const char * filename, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadIO">htmlCtxtReadIO</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadMemory">htmlCtxtReadMemory</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting">void	<a href="#htmlCtxtReset">htmlCtxtReset</a>			(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#htmlCtxtUseOptions">htmlCtxtUseOptions</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 int options)</pre>
-<pre class="programlisting">int	<a href="#htmlElementAllowedHere">htmlElementAllowedHere</a>		(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elt)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlElementStatusHere">htmlElementStatusHere</a>	(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br />					 const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt)</pre>
-<pre class="programlisting">int	<a href="#htmlEncodeEntities">htmlEncodeEntities</a>		(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen, <br />					 int quoteChar)</pre>
-<pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlEntityLookup">htmlEntityLookup</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlEntityValueLookup">htmlEntityValueLookup</a>	(unsigned int value)</pre>
-<pre class="programlisting">void	<a href="#htmlFreeParserCtxt">htmlFreeParserCtxt</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#htmlHandleOmittedElem">htmlHandleOmittedElem</a>		(int val)</pre>
-<pre class="programlisting">int	<a href="#htmlIsAutoClosed">htmlIsAutoClosed</a>		(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br />					 <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)</pre>
-<pre class="programlisting">int	<a href="#htmlIsScriptAttribute">htmlIsScriptAttribute</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlNewParserCtxt">htmlNewParserCtxt</a>	(void)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlNodeStatus">htmlNodeStatus</a>		(const <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br />					 int legacy)</pre>
-<pre class="programlisting">int	<a href="#htmlParseCharRef">htmlParseCharRef</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#htmlParseChunk">htmlParseChunk</a>			(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 const char * chunk, <br />					 int size, <br />					 int terminate)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseDoc">htmlParseDoc</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding)</pre>
-<pre class="programlisting">int	<a href="#htmlParseDocument">htmlParseDocument</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#htmlParseElement">htmlParseElement</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlParseEntityRef">htmlParseEntityRef</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** str)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseFile">htmlParseFile</a>		(const char * filename, <br />					 const char * encoding)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadDoc">htmlReadDoc</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFd">htmlReadFd</a>		(int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFile">htmlReadFile</a>		(const char * filename, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadIO">htmlReadIO</a>		(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadMemory">htmlReadMemory</a>		(const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding, <br />					 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />					 void * userData)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseFile">htmlSAXParseFile</a>	(const char * filename, <br />					 const char * encoding, <br />					 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />					 void * userData)</pre>
-<pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	<a href="#htmlTagLookup">htmlTagLookup</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * tag)</pre>
-<h2>Description</h2>
-<h3><a name="htmlDefaultSubelement" id="htmlDefaultSubelement"></a>Macro: htmlDefaultSubelement</h3><pre>#define htmlDefaultSubelement</pre><p>Returns the default subelement for this element</p>
-<h3><a name="htmlElementAllowedHereDesc" id="htmlElementAllowedHereDesc"></a>Macro: htmlElementAllowedHereDesc</h3><pre>#define htmlElementAllowedHereDesc</pre><p>Checks whether an HTML element description may be a direct child of the specified element. Returns 1 if allowed; 0 otherwise.</p>
-<h3><a name="htmlRequiredAttrs" id="htmlRequiredAttrs"></a>Macro: htmlRequiredAttrs</h3><pre>#define htmlRequiredAttrs</pre><p>Returns the attributes required for the specified element.</p>
-<h3><a name="htmlElemDesc" id="htmlElemDesc">Structure htmlElemDesc</a></h3><pre class="programlisting">Structure htmlElemDesc<br />struct _htmlElemDesc {
-    const char *	name	: The tag name
-    char	startTag	: Whether the start tag can be implied
-    char	endTag	: Whether the end tag can be implied
-    char	saveEndTag	: Whether the end tag should be saved
-    char	empty	: Is this an empty element ?
-    char	depr	: Is this a deprecated element ?
-    char	dtd	: 1: only in Loose DTD, 2: only Frameset
-    char	isinline	: is this a block 0 or inline 1 element
-    const char *	desc	: the description NRK Jan.2003 * New fiel
-    const char **	subelts	: allowed sub-elements of this element
-    const char *	defaultsubelt	: subelement for suggested auto-repair if
-    const char **	attrs_opt	: Optional Attributes
-    const char **	attrs_depr	: Additional deprecated attributes
-    const char **	attrs_req	: Required attributes
-}</pre><h3><a name="htmlEntityDesc" id="htmlEntityDesc">Structure htmlEntityDesc</a></h3><pre class="programlisting">Structure htmlEntityDesc<br />struct _htmlEntityDesc {
-    unsigned int	value	: the UNICODE value for the character
-    const char *	name	: The entity name
-    const char *	desc	: the description
-}</pre><h3>Enum <a name="htmlParserOption" id="htmlParserOption">htmlParserOption</a></h3><pre class="programlisting">Enum htmlParserOption {
-    <a name="HTML_PARSE_RECOVER" id="HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</a> = 1 : Relaxed parsing
-    <a name="HTML_PARSE_NODEFDTD" id="HTML_PARSE_NODEFDTD">HTML_PARSE_NODEFDTD</a> = 4 : do not default a doctype if not found
-    <a name="HTML_PARSE_NOERROR" id="HTML_PARSE_NOERROR">HTML_PARSE_NOERROR</a> = 32 : suppress error reports
-    <a name="HTML_PARSE_NOWARNING" id="HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a> = 64 : suppress warning reports
-    <a name="HTML_PARSE_PEDANTIC" id="HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a> = 128 : pedantic error reporting
-    <a name="HTML_PARSE_NOBLANKS" id="HTML_PARSE_NOBLANKS">HTML_PARSE_NOBLANKS</a> = 256 : remove blank nodes
-    <a name="HTML_PARSE_NONET" id="HTML_PARSE_NONET">HTML_PARSE_NONET</a> = 2048 : Forbid network access
-    <a name="HTML_PARSE_NOIMPLIED" id="HTML_PARSE_NOIMPLIED">HTML_PARSE_NOIMPLIED</a> = 8192 : Do not add implied html/body... elements
-    <a name="HTML_PARSE_COMPACT" id="HTML_PARSE_COMPACT">HTML_PARSE_COMPACT</a> = 65536 : compact small text nodes
-    <a name="HTML_PARSE_IGNORE_ENC" id="HTML_PARSE_IGNORE_ENC">HTML_PARSE_IGNORE_ENC</a> = 2097152 : ignore internal document encoding hint
-}
-</pre><h3>Enum <a name="htmlStatus" id="htmlStatus">htmlStatus</a></h3><pre class="programlisting">Enum htmlStatus {
-    <a name="HTML_NA" id="HTML_NA">HTML_NA</a> = 0 : something we don't check at all
-    <a name="HTML_INVALID" id="HTML_INVALID">HTML_INVALID</a> = 1
-    <a name="HTML_DEPRECATED" id="HTML_DEPRECATED">HTML_DEPRECATED</a> = 2
-    <a name="HTML_VALID" id="HTML_VALID">HTML_VALID</a> = 4
-    <a name="HTML_REQUIRED" id="HTML_REQUIRED">HTML_REQUIRED</a> = 12 : VALID bit set so ( &amp; <a href="libxml-HTMLparser.html#HTML_VALID">HTML_VALID</a> ) is TRUE
-}
-</pre><h3><a name="UTF8ToHtml" id="UTF8ToHtml"></a>Function: UTF8ToHtml</h3><pre class="programlisting">int	UTF8ToHtml			(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)<br />
-</pre><p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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.</td></tr></tbody></table></div><h3><a name="htmlAttrAllowed" id="htmlAttrAllowed"></a>Function: htmlAttrAllowed</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlAttrAllowed		(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * attr, <br />					 int legacy)<br />
-</pre><p>Checks whether an <a href="libxml-SAX.html#attribute">attribute</a> is valid for an element Has full knowledge of Required and Deprecated attributes</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>HTML <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>legacy</tt></i>:</span></td><td>whether to allow deprecated attributes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of HTML_REQUIRED, HTML_VALID, HTML_DEPRECATED, <a href="libxml-HTMLparser.html#HTML_INVALID">HTML_INVALID</a></td></tr></tbody></table></div><h3><a name="htmlAutoCloseTag" id="htmlAutoCloseTag"></a>Function: htmlAutoCloseTag</h3><pre class="programlisting">int	htmlAutoCloseTag		(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br />
-</pre><p>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's children would autoclose the given tag.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the HTML document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>The tag name</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if autoclose, 0 otherwise</td></tr></tbody></table></div><h3><a name="htmlCreateMemoryParserCtxt" id="htmlCreateMemoryParserCtxt"></a>Function: htmlCreateMemoryParserCtxt</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreateMemoryParserCtxt	(const char * buffer, <br />							 int size)<br />
-</pre><p>Create a parser context for an HTML in-memory document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="htmlCreatePushParserCtxt" id="htmlCreatePushParserCtxt"></a>Function: htmlCreatePushParserCtxt</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreatePushParserCtxt	(<a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />							 void * user_data, <br />							 const char * chunk, <br />							 int size, <br />							 const char * filename, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or URI</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="htmlCtxtReadDoc" id="htmlCtxtReadDoc"></a>Function: htmlCtxtReadDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadDoc		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlCtxtReadFd" id="htmlCtxtReadFd"></a>Function: htmlCtxtReadFd</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFd		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlCtxtReadFile" id="htmlCtxtReadFile"></a>Function: htmlCtxtReadFile</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFile	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 const char * filename, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlCtxtReadIO" id="htmlCtxtReadIO"></a>Function: htmlCtxtReadIO</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadIO		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an HTML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlCtxtReadMemory" id="htmlCtxtReadMemory"></a>Function: htmlCtxtReadMemory</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadMemory	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlCtxtReset" id="htmlCtxtReset"></a>Function: htmlCtxtReset</h3><pre class="programlisting">void	htmlCtxtReset			(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Reset a parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div><h3><a name="htmlCtxtUseOptions" id="htmlCtxtUseOptions"></a>Function: htmlCtxtUseOptions</h3><pre class="programlisting">int	htmlCtxtUseOptions		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 int options)<br />
-</pre><p>Applies the options to the parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, the set of unknown or unimplemented options in case of error.</td></tr></tbody></table></div><h3><a name="htmlElementAllowedHere" id="htmlElementAllowedHere"></a>Function: htmlElementAllowedHere</h3><pre class="programlisting">int	htmlElementAllowedHere		(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elt)<br />
-</pre><p>Checks whether an HTML element may be a direct child of a parent element. Note - doesn't check for deprecated elements</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>HTML parent element</td></tr><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if allowed; 0 otherwise.</td></tr></tbody></table></div><h3><a name="htmlElementStatusHere" id="htmlElementStatusHere"></a>Function: htmlElementStatusHere</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlElementStatusHere	(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br />					 const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt)<br />
-</pre><p>Checks whether an HTML element may be a direct child of a parent element. and if so whether it is valid or deprecated.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>HTML parent element</td></tr><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of HTML_VALID, HTML_DEPRECATED, <a href="libxml-HTMLparser.html#HTML_INVALID">HTML_INVALID</a></td></tr></tbody></table></div><h3><a name="htmlEncodeEntities" id="htmlEncodeEntities"></a>Function: htmlEncodeEntities</h3><pre class="programlisting">int	htmlEncodeEntities		(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen, <br />					 int quoteChar)<br />
-</pre><p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i>:</span></td><td>the quote character to escape (' or ") or zero.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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.</td></tr></tbody></table></div><h3><a name="htmlEntityLookup" id="htmlEntityLookup"></a>Function: htmlEntityLookup</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityLookup	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a href="libxml-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td></tr></tbody></table></div><h3><a name="htmlEntityValueLookup" id="htmlEntityValueLookup"></a>Function: htmlEntityValueLookup</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityValueLookup	(unsigned int value)<br />
-</pre><p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</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 entity's unicode value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a href="libxml-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td></tr></tbody></table></div><h3><a name="htmlFreeParserCtxt" id="htmlFreeParserCtxt"></a>Function: htmlFreeParserCtxt</h3><pre class="programlisting">void	htmlFreeParserCtxt		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div><h3><a name="htmlHandleOmittedElem" id="htmlHandleOmittedElem"></a>Function: htmlHandleOmittedElem</h3><pre class="programlisting">int	htmlHandleOmittedElem		(int val)<br />
-</pre><p>Set and return the previous value for handling HTML omitted tags.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no handling, 1 for auto insertion.</td></tr></tbody></table></div><h3><a name="htmlIsAutoClosed" id="htmlIsAutoClosed"></a>Function: htmlIsAutoClosed</h3><pre class="programlisting">int	htmlIsAutoClosed		(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br />					 <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br />
-</pre><p>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's child</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the HTML document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if autoclosed, 0 otherwise</td></tr></tbody></table></div><h3><a name="htmlIsScriptAttribute" id="htmlIsScriptAttribute"></a>Function: htmlIsScriptAttribute</h3><pre class="programlisting">int	htmlIsScriptAttribute		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Check if an <a href="libxml-SAX.html#attribute">attribute</a> is of content type Script</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>an <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 is the <a href="libxml-SAX.html#attribute">attribute</a> is a script 0 otherwise</td></tr></tbody></table></div><h3><a name="htmlNewParserCtxt" id="htmlNewParserCtxt"></a>Function: htmlNewParserCtxt</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlNewParserCtxt	(void)<br />
-</pre><p>Allocate and initialize a new parser context.</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 <a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of allocation error</td></tr></tbody></table></div><h3><a name="htmlNodeStatus" id="htmlNodeStatus"></a>Function: htmlNodeStatus</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlNodeStatus		(const <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br />					 int legacy)<br />
-</pre><p>Checks whether the tree node is valid. Experimental (the author only uses the HTML enhancements in a SAX parser)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>an <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> in a tree</td></tr><tr><td><span class="term"><i><tt>legacy</tt></i>:</span></td><td>whether to allow deprecated elements (YES is faster here for Element nodes)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>for Element nodes, a return from <a href="libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a> (if legacy allowed) or <a href="libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a> (otherwise). for Attribute nodes, a return from <a href="libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a> for other nodes, <a href="libxml-HTMLparser.html#HTML_NA">HTML_NA</a> (no checks performed)</td></tr></tbody></table></div><h3><a name="htmlParseCharRef" id="htmlParseCharRef"></a>Function: htmlParseCharRef</h3><pre class="programlisting">int	htmlParseCharRef		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value parsed (as an int)</td></tr></tbody></table></div><h3><a name="htmlParseChunk" id="htmlParseChunk"></a>Function: htmlParseChunk</h3><pre class="programlisting">int	htmlParseChunk			(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 const char * chunk, <br />					 int size, <br />					 int terminate)<br />
-</pre><p>Parse a Chunk of memory</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td></tr></tbody></table></div><h3><a name="htmlParseDoc" id="htmlParseDoc"></a>Function: htmlParseDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseDoc		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding)<br />
-</pre><p>parse an HTML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlParseDocument" id="htmlParseDocument"></a>Function: htmlParseDocument</h3><pre class="programlisting">int	htmlParseDocument		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an HTML document (and build a tree if using the standard SAX interface).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td></tr></tbody></table></div><h3><a name="htmlParseElement" id="htmlParseElement"></a>Function: htmlParseElement</h3><pre class="programlisting">void	htmlParseElement		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an HTML element, this is highly recursive this is kept for compatibility with previous code versions [39] element ::= EmptyElemTag | STag content ETag [41] Attribute ::= Name Eq AttValue</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div><h3><a name="htmlParseEntityRef" id="htmlParseEntityRef"></a>Function: htmlParseEntityRef</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlParseEntityRef	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** str)<br />
-</pre><p>parse an HTML ENTITY references [68] EntityRef ::= '&amp;' Name ';'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>location to store the entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a href="libxml-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, or NULL otherwise, if non-NULL *str will have to be freed by the caller.</td></tr></tbody></table></div><h3><a name="htmlParseFile" id="htmlParseFile"></a>Function: htmlParseFile</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseFile		(const char * filename, <br />					 const char * encoding)<br />
-</pre><p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlReadDoc" id="htmlReadDoc"></a>Function: htmlReadDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadDoc		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlReadFd" id="htmlReadFd"></a>Function: htmlReadFd</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFd		(int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an HTML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlReadFile" id="htmlReadFile"></a>Function: htmlReadFile</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFile		(const char * filename, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML file from the filesystem or the network.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlReadIO" id="htmlReadIO"></a>Function: htmlReadIO</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadIO		(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an HTML document from I/O functions and source and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlReadMemory" id="htmlReadMemory"></a>Function: htmlReadMemory</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadMemory		(const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlSAXParseDoc" id="htmlSAXParseDoc"></a>Function: htmlSAXParseDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseDoc		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding, <br />					 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />					 void * userData)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree unless SAX is NULL or the document is not well formed.</td></tr></tbody></table></div><h3><a name="htmlSAXParseFile" id="htmlSAXParseFile"></a>Function: htmlSAXParseFile</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseFile	(const char * filename, <br />					 const char * encoding, <br />					 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />					 void * userData)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree unless SAX is NULL or the document is not well formed.</td></tr></tbody></table></div><h3><a name="htmlTagLookup" id="htmlTagLookup"></a>Function: htmlTagLookup</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	htmlTagLookup	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * tag)<br />
-</pre><p>Lookup the HTML tag in the ElementTable</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tag</tt></i>:</span></td><td>The tag name in lowercase</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the related <a href="libxml-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</a> or NULL if not found.</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>
diff --git a/doc/html/libxml-HTMLtree.html b/doc/html/libxml-HTMLtree.html
deleted file mode 100644
index f1a26fd..0000000
--- a/doc/html/libxml-HTMLtree.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module HTMLtree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module HTMLtree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-HTMLparser.html">HTMLparser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-SAX.html">SAX</a></th><td><a accesskey="n" href="libxml-SAX.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implements a few function needed to process tree in an HTML specific way. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a></pre><pre class="programlisting">void	<a href="#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a>	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)</pre>
-<pre class="programlisting">void	<a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a>	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding)</pre>
-<pre class="programlisting">int	<a href="#htmlDocDump">htmlDocDump</a>			(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#htmlDocDumpMemory">htmlDocDumpMemory</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />					 int * size)</pre>
-<pre class="programlisting">void	<a href="#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />					 int * size, <br />					 int format)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#htmlGetMetaEncoding">htmlGetMetaEncoding</a>	(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc)</pre>
-<pre class="programlisting">int	<a href="#htmlIsBooleanAttr">htmlIsBooleanAttr</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlNewDoc">htmlNewDoc</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlNewDocNoDtD">htmlNewDocNoDtD</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)</pre>
-<pre class="programlisting">int	<a href="#htmlNodeDump">htmlNodeDump</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#htmlNodeDumpFile">htmlNodeDumpFile</a>		(FILE * out, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting">int	<a href="#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a>		(FILE * out, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const char * encoding, <br />					 int format)</pre>
-<pre class="programlisting">void	<a href="#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a>	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const char * encoding, <br />					 int format)</pre>
-<pre class="programlisting">void	<a href="#htmlNodeDumpOutput">htmlNodeDumpOutput</a>		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const char * encoding)</pre>
-<pre class="programlisting">int	<a href="#htmlSaveFile">htmlSaveFile</a>			(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)</pre>
-<pre class="programlisting">int	<a href="#htmlSaveFileEnc">htmlSaveFileEnc</a>			(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding)</pre>
-<pre class="programlisting">int	<a href="#htmlSaveFileFormat">htmlSaveFileFormat</a>		(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)</pre>
-<pre class="programlisting">int	<a href="#htmlSetMetaEncoding">htmlSetMetaEncoding</a>		(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * encoding)</pre>
-<h2>Description</h2>
-<h3><a name="HTML_COMMENT_NODE" id="HTML_COMMENT_NODE"></a>Macro: HTML_COMMENT_NODE</h3><pre>#define HTML_COMMENT_NODE</pre><p>Macro. A <a href="libxml-SAX.html#comment">comment</a> in a HTML document is really implemented the same way as a <a href="libxml-SAX.html#comment">comment</a> in an XML document.</p>
-<h3><a name="HTML_ENTITY_REF_NODE" id="HTML_ENTITY_REF_NODE"></a>Macro: HTML_ENTITY_REF_NODE</h3><pre>#define HTML_ENTITY_REF_NODE</pre><p>Macro. An entity <a href="libxml-SAX.html#reference">reference</a> in a HTML document is really implemented the same way as an entity <a href="libxml-SAX.html#reference">reference</a> in an XML document.</p>
-<h3><a name="HTML_PI_NODE" id="HTML_PI_NODE"></a>Macro: HTML_PI_NODE</h3><pre>#define HTML_PI_NODE</pre><p>Macro. A processing instruction in a HTML document is really implemented the same way as a processing instruction in an XML document.</p>
-<h3><a name="HTML_PRESERVE_NODE" id="HTML_PRESERVE_NODE"></a>Macro: HTML_PRESERVE_NODE</h3><pre>#define HTML_PRESERVE_NODE</pre><p>Macro. A preserved node in a HTML document is really implemented the same way as a CDATA section in an XML document.</p>
-<h3><a name="HTML_TEXT_NODE" id="HTML_TEXT_NODE"></a>Macro: HTML_TEXT_NODE</h3><pre>#define HTML_TEXT_NODE</pre><p>Macro. A text node in a HTML document is really implemented the same way as a text node in an XML document.</p>
-<h3><a name="htmlDocContentDumpFormatOutput" id="htmlDocContentDumpFormatOutput"></a>Function: htmlDocContentDumpFormatOutput</h3><pre class="programlisting">void	htmlDocContentDumpFormatOutput	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)<br />
-</pre><p>Dump an HTML document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div><h3><a name="htmlDocContentDumpOutput" id="htmlDocContentDumpOutput"></a>Function: htmlDocContentDumpOutput</h3><pre class="programlisting">void	htmlDocContentDumpOutput	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding)<br />
-</pre><p>Dump an HTML document. Formatting return/spaces are added.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr></tbody></table></div><h3><a name="htmlDocDump" id="htmlDocDump"></a>Function: htmlDocDump</h3><pre class="programlisting">int	htmlDocDump			(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br />
-</pre><p>Dump an HTML document to an open FILE.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="htmlDocDumpMemory" id="htmlDocDumpMemory"></a>Function: htmlDocDumpMemory</h3><pre class="programlisting">void	htmlDocDumpMemory		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />					 int * size)<br />
-</pre><p>Dump an HTML document in memory and return the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * and it's size. It's up to the caller to free the memory.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr></tbody></table></div><h3><a name="htmlDocDumpMemoryFormat" id="htmlDocDumpMemoryFormat"></a>Function: htmlDocDumpMemoryFormat</h3><pre class="programlisting">void	htmlDocDumpMemoryFormat		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />					 int * size, <br />					 int format)<br />
-</pre><p>Dump an HTML document in memory and return the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * and it's size. It's up to the caller to free the memory.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div><h3><a name="htmlGetMetaEncoding" id="htmlGetMetaEncoding"></a>Function: htmlGetMetaEncoding</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	htmlGetMetaEncoding	(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc)<br />
-</pre><p>Encoding definition lookup in the Meta tags</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current encoding as flagged in the HTML source</td></tr></tbody></table></div><h3><a name="htmlIsBooleanAttr" id="htmlIsBooleanAttr"></a>Function: htmlIsBooleanAttr</h3><pre class="programlisting">int	htmlIsBooleanAttr		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Determine if a given <a href="libxml-SAX.html#attribute">attribute</a> is a boolean attribute.</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 name of the <a href="libxml-SAX.html#attribute">attribute</a> to check</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>false if the <a href="libxml-SAX.html#attribute">attribute</a> is not boolean, true otherwise.</td></tr></tbody></table></div><h3><a name="htmlNewDoc" id="htmlNewDoc"></a>Function: htmlNewDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlNewDoc		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br />
-</pre><p>Creates a new HTML document</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>URI for the dtd, or NULL</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID of the DTD, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new document</td></tr></tbody></table></div><h3><a name="htmlNewDocNoDtD" id="htmlNewDocNoDtD"></a>Function: htmlNewDocNoDtD</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlNewDocNoDtD		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br />
-</pre><p>Creates a new HTML document without a DTD node if @URI and @ExternalID are NULL</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>URI for the dtd, or NULL</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID of the DTD, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new document, do not initialize the DTD if not provided</td></tr></tbody></table></div><h3><a name="htmlNodeDump" id="htmlNodeDump"></a>Function: htmlNodeDump</h3><pre class="programlisting">int	htmlNodeDump			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error</td></tr></tbody></table></div><h3><a name="htmlNodeDumpFile" id="htmlNodeDumpFile"></a>Function: htmlNodeDumpFile</h3><pre class="programlisting">void	htmlNodeDumpFile		(FILE * out, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>the FILE pointer</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr></tbody></table></div><h3><a name="htmlNodeDumpFileFormat" id="htmlNodeDumpFileFormat"></a>Function: htmlNodeDumpFileFormat</h3><pre class="programlisting">int	htmlNodeDumpFileFormat		(FILE * out, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const char * encoding, <br />					 int format)<br />
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too. TODO: if encoding == NULL try to save in the doc encoding</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>the FILE pointer</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="htmlNodeDumpFormatOutput" id="htmlNodeDumpFormatOutput"></a>Function: htmlNodeDumpFormatOutput</h3><pre class="programlisting">void	htmlNodeDumpFormatOutput	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const char * encoding, <br />					 int format)<br />
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div><h3><a name="htmlNodeDumpOutput" id="htmlNodeDumpOutput"></a>Function: htmlNodeDumpOutput</h3><pre class="programlisting">void	htmlNodeDumpOutput		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const char * encoding)<br />
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are added.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr></tbody></table></div><h3><a name="htmlSaveFile" id="htmlSaveFile"></a>Function: htmlSaveFile</h3><pre class="programlisting">int	htmlSaveFile			(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br />
-</pre><p>Dump an HTML document to a file. If @filename is "-" the stdout file is used.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="htmlSaveFileEnc" id="htmlSaveFileEnc"></a>Function: htmlSaveFileEnc</h3><pre class="programlisting">int	htmlSaveFileEnc			(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding)<br />
-</pre><p>Dump an HTML document to a file using a given encoding and formatting returns/spaces are added.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="htmlSaveFileFormat" id="htmlSaveFileFormat"></a>Function: htmlSaveFileFormat</h3><pre class="programlisting">int	htmlSaveFileFormat		(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)<br />
-</pre><p>Dump an HTML document to a file using a given encoding.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="htmlSetMetaEncoding" id="htmlSetMetaEncoding"></a>Function: htmlSetMetaEncoding</h3><pre class="programlisting">int	htmlSetMetaEncoding		(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * encoding)<br />
-</pre><p>Sets the current encoding in the Meta tags NOTE: this will not change the document content encoding, just the META flag associated.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string</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>
diff --git a/doc/html/libxml-SAX.html b/doc/html/libxml-SAX.html
deleted file mode 100644
index c67be30..0000000
--- a/doc/html/libxml-SAX.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module SAX from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module SAX from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-HTMLtree.html">HTMLtree</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-SAX2.html">SAX2</a></th><td><a accesskey="n" href="libxml-SAX2.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2><p>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </p><div class="deprecated"><h2>Table of Contents</h2><pre class="programlisting">void	<a href="#comment">comment</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">int	<a href="#checkNamespace">checkNamespace</a>			(void * ctx, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespace)</pre>
-<pre class="programlisting">int	<a href="#getColumnNumber">getColumnNumber</a>			(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#entityDecl">entityDecl</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">void	<a href="#attribute">attribute</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#getNamespace">getNamespace</a>		(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#setDocumentLocator">setDocumentLocator</a>		(void * ctx, <br />					 <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)</pre>
-<pre class="programlisting">void	<a href="#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a>	(<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br />					 int warning)</pre>
-<pre class="programlisting">void	<a href="#ignorableWhitespace">ignorableWhitespace</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#hasExternalSubset">hasExternalSubset</a>		(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#unparsedEntityDecl">unparsedEntityDecl</a>		(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)</pre>
-<pre class="programlisting">void	<a href="#globalNamespace">globalNamespace</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)</pre>
-<pre class="programlisting">int	<a href="#hasInternalSubset">hasInternalSubset</a>		(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#reference">reference</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void	<a href="#notationDecl">notationDecl</a>			(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)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#getSystemId">getSystemId</a>		(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#externalSubset">externalSubset</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#resolveEntity">resolveEntity</a>	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId)</pre>
-<pre class="programlisting">void	<a href="#startDocument">startDocument</a>			(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#setNamespace">setNamespace</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void	<a href="#cdataBlock">cdataBlock</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int len)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#getPublicId">getPublicId</a>		(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a>	(<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr)</pre>
-<pre class="programlisting">void	<a href="#processingInstruction">processingInstruction</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * data)</pre>
-<pre class="programlisting">void	<a href="#endElement">endElement</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void	<a href="#namespaceDecl">namespaceDecl</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)</pre>
-<pre class="programlisting">void	<a href="#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a>	(<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getEntity">getEntity</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void	<a href="#characters">characters</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)</pre>
-<pre class="programlisting">void	<a href="#elementDecl">elementDecl</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)</pre>
-<pre class="programlisting">void	<a href="#startElement">startElement</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** atts)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getParameterEntity">getParameterEntity</a>	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void	<a href="#attributeDecl">attributeDecl</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 int type, <br />					 int def, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)</pre>
-<pre class="programlisting">int	<a href="#isStandalone">isStandalone</a>			(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#internalSubset">internalSubset</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)</pre>
-<pre class="programlisting">void	<a href="#endDocument">endDocument</a>			(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#getLineNumber">getLineNumber</a>			(void * ctx)</pre>
-<h2>Description</h2>
-<h3><a name="comment" id="comment"></a>Function: comment</h3><pre class="programlisting">void	comment			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>A <a href="libxml-SAX.html#comment">comment</a> has been parsed. DEPRECATED: use xmlSAX2Comment()</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>value</tt></i>:</span></td><td>the <a href="libxml-SAX.html#comment">comment</a> content</td></tr></tbody></table></div><h3><a name="checkNamespace" id="checkNamespace"></a>Function: checkNamespace</h3><pre class="programlisting">int	checkNamespace			(void * ctx, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespace)<br />
-</pre><p>Check that the current element namespace is the same as the one read upon parsing. DEPRECATED</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>namespace</tt></i>:</span></td><td>the namespace to check against</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="getColumnNumber" id="getColumnNumber"></a>Function: getColumnNumber</h3><pre class="programlisting">int	getColumnNumber			(void * ctx)<br />
-</pre><p>Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber()</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>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div><h3><a name="entityDecl" id="entityDecl"></a>Function: entityDecl</h3><pre class="programlisting">void	entityDecl			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl()</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 entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type</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>content</tt></i>:</span></td><td>the entity value (without processing).</td></tr></tbody></table></div><h3><a name="attribute" id="attribute"></a>Function: attribute</h3><pre class="programlisting">void	attribute			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Handle an <a href="libxml-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml-tree.html#xmlAttr">xmlAttr</a> element added to the element. DEPRECATED: use xmlSAX2Attribute()</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>fullname</tt></i>:</span></td><td>The <a href="libxml-SAX.html#attribute">attribute</a> name, including namespace prefix</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>The <a href="libxml-SAX.html#attribute">attribute</a> value</td></tr></tbody></table></div><h3><a name="getNamespace" id="getNamespace"></a>Function: getNamespace</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	getNamespace		(void * ctx)<br />
-</pre><p>Get the current element namespace. DEPRECATED</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>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL if none</td></tr></tbody></table></div><h3><a name="setDocumentLocator" id="setDocumentLocator"></a>Function: setDocumentLocator</h3><pre class="programlisting">void	setDocumentLocator		(void * ctx, <br />					 <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br />
-</pre><p>Receive the document locator at startup, actually <a href="libxml-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case. DEPRECATED</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>loc</tt></i>:</span></td><td>A SAX Locator</td></tr></tbody></table></div><h3><a name="initxmlDefaultSAXHandler" id="initxmlDefaultSAXHandler"></a>Function: initxmlDefaultSAXHandler</h3><pre class="programlisting">void	initxmlDefaultSAXHandler	(<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br />					 int warning)<br />
-</pre><p>Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks</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>warning</tt></i>:</span></td><td>flag if non-zero sets the handler warning procedure</td></tr></tbody></table></div><h3><a name="ignorableWhitespace" id="ignorableWhitespace"></a>Function: ignorableWhitespace</h3><pre class="programlisting">void	ignorableWhitespace		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)<br />
-</pre><p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml-SAX.html#characters">characters</a> DEPRECATED: use xmlSAX2IgnorableWhitespace()</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>ch</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div><h3><a name="hasExternalSubset" id="hasExternalSubset"></a>Function: hasExternalSubset</h3><pre class="programlisting">int	hasExternalSubset		(void * ctx)<br />
-</pre><p>Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset()</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div><h3><a name="unparsedEntityDecl" id="unparsedEntityDecl"></a>Function: unparsedEntityDecl</h3><pre class="programlisting">void	unparsedEntityDecl		(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 DEPRECATED: use xmlSAX2UnparsedEntityDecl()</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="globalNamespace" id="globalNamespace"></a>Function: globalNamespace</h3><pre class="programlisting">void	globalNamespace			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br />
-</pre><p>An old global namespace has been parsed. DEPRECATED</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>href</tt></i>:</span></td><td>the namespace associated URN</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix</td></tr></tbody></table></div><h3><a name="hasInternalSubset" id="hasInternalSubset"></a>Function: hasInternalSubset</h3><pre class="programlisting">int	hasInternalSubset		(void * ctx)<br />
-</pre><p>Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset()</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div><h3><a name="reference" id="reference"></a>Function: reference</h3><pre class="programlisting">void	reference			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>called when an entity <a href="libxml-SAX.html#reference">reference</a> is detected. DEPRECATED: use xmlSAX2Reference()</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 entity name</td></tr></tbody></table></div><h3><a name="notationDecl" id="notationDecl"></a>Function: notationDecl</h3><pre class="programlisting">void	notationDecl			(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 />
-</pre><p>What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl()</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 notation</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></tbody></table></div><h3><a name="getSystemId" id="getSystemId"></a>Function: getSystemId</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	getSystemId		(void * ctx)<br />
-</pre><p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd DEPRECATED: use xmlSAX2GetSystemId()</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>Returns</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr></tbody></table></div><h3><a name="externalSubset" id="externalSubset"></a>Function: externalSubset</h3><pre class="programlisting">void	externalSubset			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br />
-</pre><p>Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset()</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div><h3><a name="resolveEntity" id="resolveEntity"></a>Function: resolveEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	resolveEntity	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br />
-</pre><p>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's own entity resolution routine DEPRECATED: use xmlSAX2ResolveEntity()</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>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>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td></tr></tbody></table></div><h3><a name="startDocument" id="startDocument"></a>Function: startDocument</h3><pre class="programlisting">void	startDocument			(void * ctx)<br />
-</pre><p>called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument()</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></tbody></table></div><h3><a name="setNamespace" id="setNamespace"></a>Function: setNamespace</h3><pre class="programlisting">void	setNamespace			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Set the current element namespace. DEPRECATED</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 namespace prefix</td></tr></tbody></table></div><h3><a name="cdataBlock" id="cdataBlock"></a>Function: cdataBlock</h3><pre class="programlisting">void	cdataBlock			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int len)<br />
-</pre><p>called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock()</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>value</tt></i>:</span></td><td>The pcdata content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the block length</td></tr></tbody></table></div><h3><a name="getPublicId" id="getPublicId"></a>Function: getPublicId</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	getPublicId		(void * ctx)<br />
-</pre><p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" DEPRECATED: use xmlSAX2GetPublicId()</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>Returns</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr></tbody></table></div><h3><a name="inithtmlDefaultSAXHandler" id="inithtmlDefaultSAXHandler"></a>Function: inithtmlDefaultSAXHandler</h3><pre class="programlisting">void	inithtmlDefaultSAXHandler	(<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr)<br />
-</pre><p>Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks</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></tbody></table></div><h3><a name="processingInstruction" id="processingInstruction"></a>Function: processingInstruction</h3><pre class="programlisting">void	processingInstruction		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * data)<br />
-</pre><p>A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction()</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>target</tt></i>:</span></td><td>the target name</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the PI data's</td></tr></tbody></table></div><h3><a name="endElement" id="endElement"></a>Function: endElement</h3><pre class="programlisting">void	endElement			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>called when the end of an element has been detected. DEPRECATED: use xmlSAX2EndElement()</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 element name</td></tr></tbody></table></div><h3><a name="namespaceDecl" id="namespaceDecl"></a>Function: namespaceDecl</h3><pre class="programlisting">void	namespaceDecl			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br />
-</pre><p>A namespace has been parsed. DEPRECATED</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>href</tt></i>:</span></td><td>the namespace associated URN</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix</td></tr></tbody></table></div><h3><a name="initdocbDefaultSAXHandler" id="initdocbDefaultSAXHandler"></a>Function: initdocbDefaultSAXHandler</h3><pre class="programlisting">void	initdocbDefaultSAXHandler	(<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr)<br />
-</pre><p>Initialize the default DocBook SAX version 1 handler DEPRECATED: use xmlSAX2InitDocbDefaultSAXHandler() for the new SAX2 blocks</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></tbody></table></div><h3><a name="getEntity" id="getEntity"></a>Function: getEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getEntity		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Get an entity by name DEPRECATED: use xmlSAX2GetEntity()</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div><h3><a name="characters" id="characters"></a>Function: characters</h3><pre class="programlisting">void	characters			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)<br />
-</pre><p>receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters()</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>ch</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div><h3><a name="elementDecl" id="elementDecl"></a>Function: elementDecl</h3><pre class="programlisting">void	elementDecl			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br />
-</pre><p>An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()</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 element name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the element value tree</td></tr></tbody></table></div><h3><a name="startElement" id="startElement"></a>Function: startElement</h3><pre class="programlisting">void	startElement			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br />
-</pre><p>called when an opening tag has been processed. DEPRECATED: use xmlSAX2StartElement()</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>fullname</tt></i>:</span></td><td>The element name, including namespace prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array of name/value attributes pairs, NULL terminated</td></tr></tbody></table></div><h3><a name="getParameterEntity" id="getParameterEntity"></a>Function: getParameterEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getParameterEntity	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity()</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div><h3><a name="attributeDecl" id="attributeDecl"></a>Function: attributeDecl</h3><pre class="programlisting">void	attributeDecl			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 int type, <br />					 int def, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br />
-</pre><p>An <a href="libxml-SAX.html#attribute">attribute</a> definition has been parsed DEPRECATED: use xmlSAX2AttributeDecl()</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>elem</tt></i>:</span></td><td>the name of the element</td></tr><tr><td><span class="term"><i><tt>fullname</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> type</td></tr><tr><td><span class="term"><i><tt>def</tt></i>:</span></td><td>the type of default value</td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> default value</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the tree of enumerated value set</td></tr></tbody></table></div><h3><a name="isStandalone" id="isStandalone"></a>Function: isStandalone</h3><pre class="programlisting">int	isStandalone			(void * ctx)<br />
-</pre><p>Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone()</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div><h3><a name="internalSubset" id="internalSubset"></a>Function: internalSubset</h3><pre class="programlisting">void	internalSubset			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br />
-</pre><p>Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset()</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div><h3><a name="endDocument" id="endDocument"></a>Function: endDocument</h3><pre class="programlisting">void	endDocument			(void * ctx)<br />
-</pre><p>called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument()</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></tbody></table></div><h3><a name="getLineNumber" id="getLineNumber"></a>Function: getLineNumber</h3><pre class="programlisting">int	getLineNumber			(void * ctx)<br />
-</pre><p>Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber()</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>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div></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>
diff --git a/doc/html/libxml-SAX2.html b/doc/html/libxml-SAX2.html
deleted file mode 100644
index cbd89da..0000000
--- a/doc/html/libxml-SAX2.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module SAX2 from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module SAX2 from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-SAX.html">SAX</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-c14n.html">c14n</a></th><td><a accesskey="n" href="libxml-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>those are the default SAX2 interfaces used by the library when building DOM tree. </p><h2>Table of Contents</h2><pre class="programlisting">void	<a href="#docbDefaultSAXHandlerInit">docbDefaultSAXHandlerInit</a>	(void)</pre>
-<pre class="programlisting">void	<a href="#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a>	(void)</pre>
-<pre class="programlisting">void	<a href="#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a>	(void)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 int type, <br />					 int def, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int len)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2Characters">xmlSAX2Characters</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2Comment">xmlSAX2Comment</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2EndDocument">xmlSAX2EndDocument</a>		(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2EndElement">xmlSAX2EndElement</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)</pre>
-<pre class="programlisting">int	<a href="#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a>		(void * ctx)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlSAX2GetEntity">xmlSAX2GetEntity</a>	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a>		(void * ctx)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a>	(void * ctx, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a>	(void * ctx)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a>	(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a>	(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a>	(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a>	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a>	(<a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br />					 int warning)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2InitDocbDefaultSAXHandler">xmlSAX2InitDocbDefaultSAXHandler</a>	(<a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a>	(<a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)</pre>
-<pre class="programlisting">int	<a href="#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a>		(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a>		(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)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a>	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * data)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2Reference">xmlSAX2Reference</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a>	(void * ctx, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a>	(void * ctx, <br />					 <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2StartDocument">xmlSAX2StartDocument</a>		(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2StartElement">xmlSAX2StartElement</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** atts)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 int nb_namespaces, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br />					 int nb_attributes, <br />					 int nb_defaulted, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** attributes)</pre>
-<pre class="programlisting">void	<a href="#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a>	(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)</pre>
-<pre class="programlisting">int	<a href="#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a>		(int version)</pre>
-<pre class="programlisting">int	<a href="#xmlSAXVersion">xmlSAXVersion</a>			(<a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br />					 int version)</pre>
-<h2>Description</h2>
-<h3><a name="docbDefaultSAXHandlerInit" id="docbDefaultSAXHandlerInit"></a>Function: docbDefaultSAXHandlerInit</h3><pre class="programlisting">void	docbDefaultSAXHandlerInit	(void)<br />
-</pre><p>Initialize the default SAX handler</p>
-<h3><a name="htmlDefaultSAXHandlerInit" id="htmlDefaultSAXHandlerInit"></a>Function: htmlDefaultSAXHandlerInit</h3><pre class="programlisting">void	htmlDefaultSAXHandlerInit	(void)<br />
-</pre><p>Initialize the default SAX handler</p>
-<h3><a name="xmlDefaultSAXHandlerInit" id="xmlDefaultSAXHandlerInit"></a>Function: xmlDefaultSAXHandlerInit</h3><pre class="programlisting">void	xmlDefaultSAXHandlerInit	(void)<br />
-</pre><p>Initialize the default SAX2 handler</p>
-<h3><a name="xmlSAX2AttributeDecl" id="xmlSAX2AttributeDecl"></a>Function: xmlSAX2AttributeDecl</h3><pre class="programlisting">void	xmlSAX2AttributeDecl		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 int type, <br />					 int def, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br />
-</pre><p>An <a href="libxml-SAX.html#attribute">attribute</a> definition has been 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>elem</tt></i>:</span></td><td>the name of the element</td></tr><tr><td><span class="term"><i><tt>fullname</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> type</td></tr><tr><td><span class="term"><i><tt>def</tt></i>:</span></td><td>the type of default value</td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> default value</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the tree of enumerated value set</td></tr></tbody></table></div><h3><a name="xmlSAX2CDataBlock" id="xmlSAX2CDataBlock"></a>Function: xmlSAX2CDataBlock</h3><pre class="programlisting">void	xmlSAX2CDataBlock		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int len)<br />
-</pre><p>called when a pcdata block has been 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>value</tt></i>:</span></td><td>The pcdata content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the block length</td></tr></tbody></table></div><h3><a name="xmlSAX2Characters" id="xmlSAX2Characters"></a>Function: xmlSAX2Characters</h3><pre class="programlisting">void	xmlSAX2Characters		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)<br />
-</pre><p>receiving some chars from the parser.</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>ch</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div><h3><a name="xmlSAX2Comment" id="xmlSAX2Comment"></a>Function: xmlSAX2Comment</h3><pre class="programlisting">void	xmlSAX2Comment			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>A <a href="libxml-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> has been 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>value</tt></i>:</span></td><td>the <a href="libxml-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> content</td></tr></tbody></table></div><h3><a name="xmlSAX2ElementDecl" id="xmlSAX2ElementDecl"></a>Function: xmlSAX2ElementDecl</h3><pre class="programlisting">void	xmlSAX2ElementDecl		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br />
-</pre><p>An element definition has been 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 element name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the element value tree</td></tr></tbody></table></div><h3><a name="xmlSAX2EndDocument" id="xmlSAX2EndDocument"></a>Function: xmlSAX2EndDocument</h3><pre class="programlisting">void	xmlSAX2EndDocument		(void * ctx)<br />
-</pre><p>called when the document end has been detected.</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></tbody></table></div><h3><a name="xmlSAX2EndElement" id="xmlSAX2EndElement"></a>Function: xmlSAX2EndElement</h3><pre class="programlisting">void	xmlSAX2EndElement		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>called when the end of an element has been detected.</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 element name</td></tr></tbody></table></div><h3><a name="xmlSAX2EndElementNs" id="xmlSAX2EndElementNs"></a>Function: xmlSAX2EndElementNs</h3><pre class="programlisting">void	xmlSAX2EndElementNs		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)<br />
-</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</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>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></tbody></table></div><h3><a name="xmlSAX2EntityDecl" id="xmlSAX2EntityDecl"></a>Function: xmlSAX2EntityDecl</h3><pre class="programlisting">void	xmlSAX2EntityDecl		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>An entity definition has been 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 entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type</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>content</tt></i>:</span></td><td>the entity value (without processing).</td></tr></tbody></table></div><h3><a name="xmlSAX2ExternalSubset" id="xmlSAX2ExternalSubset"></a>Function: xmlSAX2ExternalSubset</h3><pre class="programlisting">void	xmlSAX2ExternalSubset		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br />
-</pre><p>Callback on external subset declaration.</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div><h3><a name="xmlSAX2GetColumnNumber" id="xmlSAX2GetColumnNumber"></a>Function: xmlSAX2GetColumnNumber</h3><pre class="programlisting">int	xmlSAX2GetColumnNumber		(void * ctx)<br />
-</pre><p>Provide the column number of the current parsing point.</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>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div><h3><a name="xmlSAX2GetEntity" id="xmlSAX2GetEntity"></a>Function: xmlSAX2GetEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlSAX2GetEntity	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Get an entity by name</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div><h3><a name="xmlSAX2GetLineNumber" id="xmlSAX2GetLineNumber"></a>Function: xmlSAX2GetLineNumber</h3><pre class="programlisting">int	xmlSAX2GetLineNumber		(void * ctx)<br />
-</pre><p>Provide the line number of the current parsing point.</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>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div><h3><a name="xmlSAX2GetParameterEntity" id="xmlSAX2GetParameterEntity"></a>Function: xmlSAX2GetParameterEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlSAX2GetParameterEntity	(void * ctx, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Get a parameter entity by name</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div><h3><a name="xmlSAX2GetPublicId" id="xmlSAX2GetPublicId"></a>Function: xmlSAX2GetPublicId</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSAX2GetPublicId	(void * ctx)<br />
-</pre><p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"</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>Returns</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr></tbody></table></div><h3><a name="xmlSAX2GetSystemId" id="xmlSAX2GetSystemId"></a>Function: xmlSAX2GetSystemId</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSAX2GetSystemId	(void * ctx)<br />
-</pre><p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd</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>Returns</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr></tbody></table></div><h3><a name="xmlSAX2HasExternalSubset" id="xmlSAX2HasExternalSubset"></a>Function: xmlSAX2HasExternalSubset</h3><pre class="programlisting">int	xmlSAX2HasExternalSubset	(void * ctx)<br />
-</pre><p>Does this document has an external subset</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div><h3><a name="xmlSAX2HasInternalSubset" id="xmlSAX2HasInternalSubset"></a>Function: xmlSAX2HasInternalSubset</h3><pre class="programlisting">int	xmlSAX2HasInternalSubset	(void * ctx)<br />
-</pre><p>Does this document has an internal subset</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div><h3><a name="xmlSAX2IgnorableWhitespace" id="xmlSAX2IgnorableWhitespace"></a>Function: xmlSAX2IgnorableWhitespace</h3><pre class="programlisting">void	xmlSAX2IgnorableWhitespace	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)<br />
-</pre><p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a></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>ch</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div><h3><a name="xmlSAX2InitDefaultSAXHandler" id="xmlSAX2InitDefaultSAXHandler"></a>Function: xmlSAX2InitDefaultSAXHandler</h3><pre class="programlisting">void	xmlSAX2InitDefaultSAXHandler	(<a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br />					 int warning)<br />
-</pre><p>Initialize the default XML SAX2 handler</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>warning</tt></i>:</span></td><td>flag if non-zero sets the handler warning procedure</td></tr></tbody></table></div><h3><a name="xmlSAX2InitDocbDefaultSAXHandler" id="xmlSAX2InitDocbDefaultSAXHandler"></a>Function: xmlSAX2InitDocbDefaultSAXHandler</h3><pre class="programlisting">void	xmlSAX2InitDocbDefaultSAXHandler	(<a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br />
-</pre><p>Initialize the default DocBook SAX2 handler</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></tbody></table></div><h3><a name="xmlSAX2InitHtmlDefaultSAXHandler" id="xmlSAX2InitHtmlDefaultSAXHandler"></a>Function: xmlSAX2InitHtmlDefaultSAXHandler</h3><pre class="programlisting">void	xmlSAX2InitHtmlDefaultSAXHandler	(<a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br />
-</pre><p>Initialize the default HTML SAX2 handler</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></tbody></table></div><h3><a name="xmlSAX2InternalSubset" id="xmlSAX2InternalSubset"></a>Function: xmlSAX2InternalSubset</h3><pre class="programlisting">void	xmlSAX2InternalSubset		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br />
-</pre><p>Callback on internal subset declaration.</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div><h3><a name="xmlSAX2IsStandalone" id="xmlSAX2IsStandalone"></a>Function: xmlSAX2IsStandalone</h3><pre class="programlisting">int	xmlSAX2IsStandalone		(void * ctx)<br />
-</pre><p>Is this document tagged standalone ?</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div><h3><a name="xmlSAX2NotationDecl" id="xmlSAX2NotationDecl"></a>Function: xmlSAX2NotationDecl</h3><pre class="programlisting">void	xmlSAX2NotationDecl		(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 />
-</pre><p>What to do when a notation declaration has been 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 notation</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></tbody></table></div><h3><a name="xmlSAX2ProcessingInstruction" id="xmlSAX2ProcessingInstruction"></a>Function: xmlSAX2ProcessingInstruction</h3><pre class="programlisting">void	xmlSAX2ProcessingInstruction	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * data)<br />
-</pre><p>A processing instruction has been 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>target</tt></i>:</span></td><td>the target name</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the PI data's</td></tr></tbody></table></div><h3><a name="xmlSAX2Reference" id="xmlSAX2Reference"></a>Function: xmlSAX2Reference</h3><pre class="programlisting">void	xmlSAX2Reference		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>called when an entity <a href="libxml-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a> is detected.</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 entity name</td></tr></tbody></table></div><h3><a name="xmlSAX2ResolveEntity" id="xmlSAX2ResolveEntity"></a>Function: xmlSAX2ResolveEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlSAX2ResolveEntity	(void * ctx, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br />
-</pre><p>The entity loader, to control the loading of external entities, the application can either: - override this xmlSAX2ResolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine</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>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>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td></tr></tbody></table></div><h3><a name="xmlSAX2SetDocumentLocator" id="xmlSAX2SetDocumentLocator"></a>Function: xmlSAX2SetDocumentLocator</h3><pre class="programlisting">void	xmlSAX2SetDocumentLocator	(void * ctx, <br />					 <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br />
-</pre><p>Receive the document locator at startup, actually <a href="libxml-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case.</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>loc</tt></i>:</span></td><td>A SAX Locator</td></tr></tbody></table></div><h3><a name="xmlSAX2StartDocument" id="xmlSAX2StartDocument"></a>Function: xmlSAX2StartDocument</h3><pre class="programlisting">void	xmlSAX2StartDocument		(void * ctx)<br />
-</pre><p>called when the document start being processed.</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></tbody></table></div><h3><a name="xmlSAX2StartElement" id="xmlSAX2StartElement"></a>Function: xmlSAX2StartElement</h3><pre class="programlisting">void	xmlSAX2StartElement		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br />
-</pre><p>called when an opening tag has been processed.</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>fullname</tt></i>:</span></td><td>The element name, including namespace prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array of name/value attributes pairs, NULL terminated</td></tr></tbody></table></div><h3><a name="xmlSAX2StartElementNs" id="xmlSAX2StartElementNs"></a>Function: xmlSAX2StartElementNs</h3><pre class="programlisting">void	xmlSAX2StartElementNs		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 int nb_namespaces, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br />					 int nb_attributes, <br />					 int nb_defaulted, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br />
-</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</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>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. 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>
diff --git a/doc/html/libxml-c14n.html b/doc/html/libxml-c14n.html
deleted file mode 100644
index b73a3b6..0000000
--- a/doc/html/libxml-c14n.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module c14n from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module c14n from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX2.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-SAX2.html">SAX2</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-catalog.html">catalog</a></th><td><a accesskey="n" href="libxml-catalog.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the c14n modules provides a  "Canonical XML" implementation</p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlC14NMode">xmlC14NMode</a>
-</pre><pre class="programlisting">int	<a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 int mode, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)</pre>
-<pre class="programlisting">int	<a href="#xmlC14NDocSave">xmlC14NDocSave</a>			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 int mode, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 const char * filename, <br />					 int compression)</pre>
-<pre class="programlisting">int	<a href="#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 int mode, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)</pre>
-<pre class="programlisting">int	<a href="#xmlC14NExecute">xmlC14NExecute</a>			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br />					 void * user_data, <br />					 int mode, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)</pre>
-<pre class="programlisting">Function type: <a href="#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a>
-int	<a href="#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a>	(void * user_data, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent)
-</pre>
-<h2>Description</h2>
-<h3>Enum <a name="xmlC14NMode" id="xmlC14NMode">xmlC14NMode</a></h3><pre class="programlisting">Enum xmlC14NMode {
-    <a name="XML_C14N_1_0" id="XML_C14N_1_0">XML_C14N_1_0</a> = 0 : Original C14N 1.0 spec
-    <a name="XML_C14N_EXCLUSIVE_1_0" id="XML_C14N_EXCLUSIVE_1_0">XML_C14N_EXCLUSIVE_1_0</a> = 1 : Exclusive C14N 1.0 spec
-    <a name="XML_C14N_1_1" id="XML_C14N_1_1">XML_C14N_1_1</a> = 2 : C14N 1.1 spec
-}
-</pre><h3><a name="xmlC14NDocDumpMemory" id="xmlC14NDocDumpMemory"></a>Function: xmlC14NDocDumpMemory</h3><pre class="programlisting">int	xmlC14NDocDumpMemory		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 int mode, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)<br />
-</pre><p>Dumps the canonized image of given XML document into memory. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td><td>the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written on success or a negative value on fail</td></tr></tbody></table></div><h3><a name="xmlC14NDocSave" id="xmlC14NDocSave"></a>Function: xmlC14NDocSave</h3><pre class="programlisting">int	xmlC14NDocSave			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 int mode, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 const char * filename, <br />					 int compression)<br />
-</pre><p>Dumps the canonized image of given XML document into the file. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename to store canonical XML image</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression level (zlib required): -1 - libxml default, 0 - uncompressed, &gt;0 - compression level</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written success or a negative value on fail</td></tr></tbody></table></div><h3><a name="xmlC14NDocSaveTo" id="xmlC14NDocSaveTo"></a>Function: xmlC14NDocSaveTo</h3><pre class="programlisting">int	xmlC14NDocSaveTo		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 int mode, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br />
-</pre><p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>non-negative value on success or a negative value on fail</td></tr></tbody></table></div><h3><a name="xmlC14NExecute" id="xmlC14NExecute"></a>Function: xmlC14NExecute</h3><pre class="programlisting">int	xmlC14NExecute			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br />					 void * user_data, <br />					 int mode, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br />
-</pre><p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>is_visible_callback</tt></i>:</span></td><td>the function to use to determine is node visible or not</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>the first parameter for @is_visible_callback function (in most cases, it is nodes set)</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>non-negative value on success or a negative value on fail</td></tr></tbody></table></div><h3><a name="xmlC14NIsVisibleCallback" id="xmlC14NIsVisibleCallback"></a>Function type: xmlC14NIsVisibleCallback</h3><pre class="programlisting">Function type: xmlC14NIsVisibleCallback
-int	xmlC14NIsVisibleCallback	(void * user_data, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent)
-</pre><p>Signature for a C14N callback on visible nodes</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>user data</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node should be included</td></tr></tbody></table></div><br />
-<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-catalog.html b/doc/html/libxml-catalog.html
deleted file mode 100644
index b761e80..0000000
--- a/doc/html/libxml-catalog.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module catalog from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module catalog from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-c14n.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-c14n.html">c14n</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-chvalid.html">chvalid</a></th><td><a accesskey="n" href="libxml-chvalid.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the catalog module implements the support for XML Catalogs and SGML catalogs </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a></pre><pre class="programlisting">Structure <a href="#xmlCatalog">xmlCatalog</a><br />struct _xmlCatalog
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a>
-</pre><pre class="programlisting">Enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-catalog.html#xmlCatalog">xmlCatalog</a> * <a name="xmlCatalogPtr" id="xmlCatalogPtr">xmlCatalogPtr</a>
-</pre><pre class="programlisting">int	<a href="#xmlACatalogAdd">xmlACatalogAdd</a>			(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * orig, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * replace)</pre>
-<pre class="programlisting">void	<a href="#xmlACatalogDump">xmlACatalogDump</a>			(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />					 FILE * out)</pre>
-<pre class="programlisting">int	<a href="#xmlACatalogRemove">xmlACatalogRemove</a>		(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolve">xmlACatalogResolve</a>	(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a>	(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a>	(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolveURI">xmlACatalogResolveURI</a>	(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)</pre>
-<pre class="programlisting">int	<a href="#xmlCatalogAdd">xmlCatalogAdd</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * orig, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * replace)</pre>
-<pre class="programlisting">void *	<a href="#xmlCatalogAddLocal">xmlCatalogAddLocal</a>		(void * catalogs, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL)</pre>
-<pre class="programlisting">void	<a href="#xmlCatalogCleanup">xmlCatalogCleanup</a>		(void)</pre>
-<pre class="programlisting">int	<a href="#xmlCatalogConvert">xmlCatalogConvert</a>		(void)</pre>
-<pre class="programlisting">void	<a href="#xmlCatalogDump">xmlCatalogDump</a>			(FILE * out)</pre>
-<pre class="programlisting">void	<a href="#xmlCatalogFreeLocal">xmlCatalogFreeLocal</a>		(void * catalogs)</pre>
-<pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>	<a href="#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a>	(void)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogGetPublic">xmlCatalogGetPublic</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogGetSystem">xmlCatalogGetSystem</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)</pre>
-<pre class="programlisting">int	<a href="#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a>		(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a>	(void * catalogs, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a>	(void * catalogs, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)</pre>
-<pre class="programlisting">int	<a href="#xmlCatalogRemove">xmlCatalogRemove</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolve">xmlCatalogResolve</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolveURI">xmlCatalogResolveURI</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)</pre>
-<pre class="programlisting">int	<a href="#xmlCatalogSetDebug">xmlCatalogSetDebug</a>		(int level)</pre>
-<pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a>	<a href="#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a>	(<a href="libxml-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer)</pre>
-<pre class="programlisting">void	<a href="#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a>		(<a href="libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow)</pre>
-<pre class="programlisting">int	<a href="#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a>		(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeCatalog">xmlFreeCatalog</a>			(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)</pre>
-<pre class="programlisting">void	<a href="#xmlInitializeCatalog">xmlInitializeCatalog</a>		(void)</pre>
-<pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlLoadACatalog">xmlLoadACatalog</a>		(const char * filename)</pre>
-<pre class="programlisting">int	<a href="#xmlLoadCatalog">xmlLoadCatalog</a>			(const char * filename)</pre>
-<pre class="programlisting">void	<a href="#xmlLoadCatalogs">xmlLoadCatalogs</a>			(const char * pathss)</pre>
-<pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a>	(const char * filename)</pre>
-<pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlNewCatalog">xmlNewCatalog</a>		(int sgml)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseCatalogFile">xmlParseCatalogFile</a>	(const char * filename)</pre>
-<h2>Description</h2>
-<h3><a name="XML_CATALOGS_NAMESPACE" id="XML_CATALOGS_NAMESPACE"></a>Macro: XML_CATALOGS_NAMESPACE</h3><pre>#define XML_CATALOGS_NAMESPACE</pre><p>The namespace for the XML Catalogs elements.</p>
-<h3><a name="XML_CATALOG_PI" id="XML_CATALOG_PI"></a>Macro: XML_CATALOG_PI</h3><pre>#define XML_CATALOG_PI</pre><p>The specific XML Catalog Processing Instruction name.</p>
-<h3><a name="xmlCatalog" id="xmlCatalog">Structure xmlCatalog</a></h3><pre class="programlisting">Structure xmlCatalog<br />struct _xmlCatalog {
-The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="xmlCatalogAllow" id="xmlCatalogAllow">xmlCatalogAllow</a></h3><pre class="programlisting">Enum xmlCatalogAllow {
-    <a name="XML_CATA_ALLOW_NONE" id="XML_CATA_ALLOW_NONE">XML_CATA_ALLOW_NONE</a> = 0
-    <a name="XML_CATA_ALLOW_GLOBAL" id="XML_CATA_ALLOW_GLOBAL">XML_CATA_ALLOW_GLOBAL</a> = 1
-    <a name="XML_CATA_ALLOW_DOCUMENT" id="XML_CATA_ALLOW_DOCUMENT">XML_CATA_ALLOW_DOCUMENT</a> = 2
-    <a name="XML_CATA_ALLOW_ALL" id="XML_CATA_ALLOW_ALL">XML_CATA_ALLOW_ALL</a> = 3
-}
-</pre><h3>Enum <a name="xmlCatalogPrefer" id="xmlCatalogPrefer">xmlCatalogPrefer</a></h3><pre class="programlisting">Enum xmlCatalogPrefer {
-    <a name="XML_CATA_PREFER_NONE" id="XML_CATA_PREFER_NONE">XML_CATA_PREFER_NONE</a> = 0
-    <a name="XML_CATA_PREFER_PUBLIC" id="XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> = 1
-    <a name="XML_CATA_PREFER_SYSTEM" id="XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a> = 2
-}
-</pre><h3><a name="xmlACatalogAdd" id="xmlACatalogAdd"></a>Function: xmlACatalogAdd</h3><pre class="programlisting">int	xmlACatalogAdd			(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * orig, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * replace)<br />
-</pre><p>Add an entry in the catalog, it may overwrite existing but different entries.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of record to add to the catalog</td></tr><tr><td><span class="term"><i><tt>orig</tt></i>:</span></td><td>the system, public or prefix to match</td></tr><tr><td><span class="term"><i><tt>replace</tt></i>:</span></td><td>the replacement value for the match</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlACatalogDump" id="xmlACatalogDump"></a>Function: xmlACatalogDump</h3><pre class="programlisting">void	xmlACatalogDump			(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />					 FILE * out)<br />
-</pre><p>Dump the given catalog to the given file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>the file.</td></tr></tbody></table></div><h3><a name="xmlACatalogRemove" id="xmlACatalogRemove"></a>Function: xmlACatalogRemove</h3><pre class="programlisting">int	xmlACatalogRemove		(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Remove an entry from the catalog</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to remove</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries removed if successful, -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlACatalogResolve" id="xmlACatalogResolve"></a>Function: xmlACatalogResolve</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolve	(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br />
-</pre><p>Do a complete resolution lookup of an External Identifier</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlACatalogResolvePublic" id="xmlACatalogResolvePublic"></a>Function: xmlACatalogResolvePublic</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolvePublic	(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br />
-</pre><p>Try to lookup the catalog local <a href="libxml-SAX.html#reference">reference</a> associated to a public ID in that catalog</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local resource if found or NULL otherwise, the value returned must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlACatalogResolveSystem" id="xmlACatalogResolveSystem"></a>Function: xmlACatalogResolveSystem</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolveSystem	(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br />
-</pre><p>Try to lookup the catalog resource for a system ID</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlACatalogResolveURI" id="xmlACatalogResolveURI"></a>Function: xmlACatalogResolveURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolveURI	(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)<br />
-</pre><p>Do a complete resolution lookup of an URI</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlCatalogAdd" id="xmlCatalogAdd"></a>Function: xmlCatalogAdd</h3><pre class="programlisting">int	xmlCatalogAdd			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * orig, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * replace)<br />
-</pre><p>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();</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 record to add to the catalog</td></tr><tr><td><span class="term"><i><tt>orig</tt></i>:</span></td><td>the system, public or prefix to match</td></tr><tr><td><span class="term"><i><tt>replace</tt></i>:</span></td><td>the replacement value for the match</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlCatalogAddLocal" id="xmlCatalogAddLocal"></a>Function: xmlCatalogAddLocal</h3><pre class="programlisting">void *	xmlCatalogAddLocal		(void * catalogs, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL)<br />
-</pre><p>Add the new entry to the catalog list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of catalogs</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL to a new local catalog</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the updated list</td></tr></tbody></table></div><h3><a name="xmlCatalogCleanup" id="xmlCatalogCleanup"></a>Function: xmlCatalogCleanup</h3><pre class="programlisting">void	xmlCatalogCleanup		(void)<br />
-</pre><p>Free up all the memory associated with catalogs</p>
-<h3><a name="xmlCatalogConvert" id="xmlCatalogConvert"></a>Function: xmlCatalogConvert</h3><pre class="programlisting">int	xmlCatalogConvert		(void)<br />
-</pre><p>Convert all the SGML catalog entries as XML ones</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries converted if successful, -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlCatalogDump" id="xmlCatalogDump"></a>Function: xmlCatalogDump</h3><pre class="programlisting">void	xmlCatalogDump			(FILE * out)<br />
-</pre><p>Dump all the global catalog content to the given file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>the file.</td></tr></tbody></table></div><h3><a name="xmlCatalogFreeLocal" id="xmlCatalogFreeLocal"></a>Function: xmlCatalogFreeLocal</h3><pre class="programlisting">void	xmlCatalogFreeLocal		(void * catalogs)<br />
-</pre><p>Free up the memory associated to the catalog list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of catalogs</td></tr></tbody></table></div><h3><a name="xmlCatalogGetDefaults" id="xmlCatalogGetDefaults"></a>Function: xmlCatalogGetDefaults</h3><pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>	xmlCatalogGetDefaults	(void)<br />
-</pre><p>Used to get the user preference w.r.t. to what catalogs should be accepted</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 current <a href="libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> value</td></tr></tbody></table></div><h3><a name="xmlCatalogGetPublic" id="xmlCatalogGetPublic"></a>Function: xmlCatalogGetPublic</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetPublic	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br />
-</pre><p>Try to lookup the catalog <a href="libxml-SAX.html#reference">reference</a> associated to a public ID DEPRECATED, use xmlCatalogResolvePublic()</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlCatalogGetSystem" id="xmlCatalogGetSystem"></a>Function: xmlCatalogGetSystem</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetSystem	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br />
-</pre><p>Try to lookup the catalog <a href="libxml-SAX.html#reference">reference</a> associated to a system ID DEPRECATED, use xmlCatalogResolveSystem()</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlCatalogIsEmpty" id="xmlCatalogIsEmpty"></a>Function: xmlCatalogIsEmpty</h3><pre class="programlisting">int	xmlCatalogIsEmpty		(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br />
-</pre><p>Check is a catalog is empty</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>should this create an SGML catalog</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the catalog is empty, 0 if not, amd -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlCatalogLocalResolve" id="xmlCatalogLocalResolve"></a>Function: xmlCatalogLocalResolve</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogLocalResolve	(void * catalogs, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br />
-</pre><p>Do a complete resolution lookup of an External Identifier using a document's private catalog list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of catalogs</td></tr><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlCatalogLocalResolveURI" id="xmlCatalogLocalResolveURI"></a>Function: xmlCatalogLocalResolveURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogLocalResolveURI	(void * catalogs, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)<br />
-</pre><p>Do a complete resolution lookup of an URI using a document's private catalog list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of catalogs</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlCatalogRemove" id="xmlCatalogRemove"></a>Function: xmlCatalogRemove</h3><pre class="programlisting">int	xmlCatalogRemove		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Remove an entry from the catalog</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 remove</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries removed if successful, -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlCatalogResolve" id="xmlCatalogResolve"></a>Function: xmlCatalogResolve</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolve	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br />
-</pre><p>Do a complete resolution lookup of an External Identifier</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlCatalogResolvePublic" id="xmlCatalogResolvePublic"></a>Function: xmlCatalogResolvePublic</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolvePublic	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br />
-</pre><p>Try to lookup the catalog <a href="libxml-SAX.html#reference">reference</a> associated to a public ID</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlCatalogResolveSystem" id="xmlCatalogResolveSystem"></a>Function: xmlCatalogResolveSystem</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolveSystem	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br />
-</pre><p>Try to lookup the catalog resource for a system ID</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlCatalogResolveURI" id="xmlCatalogResolveURI"></a>Function: xmlCatalogResolveURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolveURI	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)<br />
-</pre><p>Do a complete resolution lookup of an URI</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</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlCatalogSetDebug" id="xmlCatalogSetDebug"></a>Function: xmlCatalogSetDebug</h3><pre class="programlisting">int	xmlCatalogSetDebug		(int level)<br />
-</pre><p>Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the debug level of catalogs required</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous value of the catalog debugging level</td></tr></tbody></table></div><h3><a name="xmlCatalogSetDefaultPrefer" id="xmlCatalogSetDefaultPrefer"></a>Function: xmlCatalogSetDefaultPrefer</h3><pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a>	xmlCatalogSetDefaultPrefer	(<a href="libxml-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer)<br />
-</pre><p>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 <a href="libxml-catalog.html#XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> or <a href="libxml-catalog.html#XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>prefer</tt></i>:</span></td><td>the default preference for delegation</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous value of the default preference for delegation</td></tr></tbody></table></div><h3><a name="xmlCatalogSetDefaults" id="xmlCatalogSetDefaults"></a>Function: xmlCatalogSetDefaults</h3><pre class="programlisting">void	xmlCatalogSetDefaults		(<a href="libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow)<br />
-</pre><p>Used to set the user preference w.r.t. to what catalogs should be accepted</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>allow</tt></i>:</span></td><td>what catalogs should be accepted</td></tr></tbody></table></div><h3><a name="xmlConvertSGMLCatalog" id="xmlConvertSGMLCatalog"></a>Function: xmlConvertSGMLCatalog</h3><pre class="programlisting">int	xmlConvertSGMLCatalog		(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br />
-</pre><p>Convert all the SGML catalog entries as XML ones</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>the catalog</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries converted if successful, -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlFreeCatalog" id="xmlFreeCatalog"></a>Function: xmlFreeCatalog</h3><pre class="programlisting">void	xmlFreeCatalog			(<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br />
-</pre><p>Free the memory allocated to a Catalog</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr></tbody></table></div><h3><a name="xmlInitializeCatalog" id="xmlInitializeCatalog"></a>Function: xmlInitializeCatalog</h3><pre class="programlisting">void	xmlInitializeCatalog		(void)<br />
-</pre><p>Do the catalog initialization. this function is not thread safe, catalog initialization should preferably be done once at startup</p>
-<h3><a name="xmlLoadACatalog" id="xmlLoadACatalog"></a>Function: xmlLoadACatalog</h3><pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlLoadACatalog		(const char * filename)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file path</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the catalog parsed or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlLoadCatalog" id="xmlLoadCatalog"></a>Function: xmlLoadCatalog</h3><pre class="programlisting">int	xmlLoadCatalog			(const char * filename)<br />
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file path</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlLoadCatalogs" id="xmlLoadCatalogs"></a>Function: xmlLoadCatalogs</h3><pre class="programlisting">void	xmlLoadCatalogs			(const char * pathss)<br />
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pathss</tt></i>:</span></td><td>a list of directories separated by a colon or a space.</td></tr></tbody></table></div><h3><a name="xmlLoadSGMLSuperCatalog" id="xmlLoadSGMLSuperCatalog"></a>Function: xmlLoadSGMLSuperCatalog</h3><pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlLoadSGMLSuperCatalog	(const char * filename)<br />
-</pre><p>Load an SGML super catalog. It won't expand CATALOG or DELEGATE references. This is only needed for manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file path</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the catalog parsed or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewCatalog" id="xmlNewCatalog"></a>Function: xmlNewCatalog</h3><pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlNewCatalog		(int sgml)<br />
-</pre><p>create a new Catalog.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sgml</tt></i>:</span></td><td>should this create an SGML catalog</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlParseCatalogFile" id="xmlParseCatalogFile"></a>Function: xmlParseCatalogFile</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseCatalogFile	(const char * filename)<br />
-</pre><p>parse an XML file and build a tree. It's like xmlParseFile() except it bypass all catalog lookups.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL 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>
diff --git a/doc/html/libxml-chvalid.html b/doc/html/libxml-chvalid.html
deleted file mode 100644
index 673d864..0000000
--- a/doc/html/libxml-chvalid.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module chvalid from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module chvalid from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-catalog.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-catalog.html">catalog</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-debugXML.html">debugXML</a></th><td><a accesskey="n" href="libxml-debugXML.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module exports interfaces for the character range validation APIs  This file is automatically generated from the cvs source definition files using the genChRanges.py Python script </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a></pre><pre class="programlisting">#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsCharQ">xmlIsCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a></pre><pre class="programlisting">#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a></pre><pre class="programlisting">#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a></pre><pre class="programlisting">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a></pre><pre class="programlisting">#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a></pre><pre class="programlisting">Structure <a href="#xmlChLRange">xmlChLRange</a><br />struct _xmlChLRange
-</pre><pre class="programlisting">Typedef <a href="libxml-chvalid.html#xmlChLRange">xmlChLRange</a> * <a name="xmlChLRangePtr" id="xmlChLRangePtr">xmlChLRangePtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlChRangeGroup">xmlChRangeGroup</a><br />struct _xmlChRangeGroup
-</pre><pre class="programlisting">Typedef <a href="libxml-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * <a name="xmlChRangeGroupPtr" id="xmlChRangeGroupPtr">xmlChRangeGroupPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlChSRange">xmlChSRange</a><br />struct _xmlChSRange
-</pre><pre class="programlisting">Typedef <a href="libxml-chvalid.html#xmlChSRange">xmlChSRange</a> * <a name="xmlChSRangePtr" id="xmlChSRangePtr">xmlChSRangePtr</a>
-</pre><pre class="programlisting">int	<a href="#xmlCharInRange">xmlCharInRange</a>			(unsigned int val, <br />					 const <a href="libxml-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr)</pre>
-<pre class="programlisting">int	<a href="#xmlIsBaseChar">xmlIsBaseChar</a>			(unsigned int ch)</pre>
-<pre class="programlisting">int	<a href="#xmlIsBlank">xmlIsBlank</a>			(unsigned int ch)</pre>
-<pre class="programlisting">int	<a href="#xmlIsChar">xmlIsChar</a>			(unsigned int ch)</pre>
-<pre class="programlisting">int	<a href="#xmlIsCombining">xmlIsCombining</a>			(unsigned int ch)</pre>
-<pre class="programlisting">int	<a href="#xmlIsDigit">xmlIsDigit</a>			(unsigned int ch)</pre>
-<pre class="programlisting">int	<a href="#xmlIsExtender">xmlIsExtender</a>			(unsigned int ch)</pre>
-<pre class="programlisting">int	<a href="#xmlIsIdeographic">xmlIsIdeographic</a>		(unsigned int ch)</pre>
-<pre class="programlisting">int	<a href="#xmlIsPubidChar">xmlIsPubidChar</a>			(unsigned int ch)</pre>
-<h2>Description</h2>
-<h3><a name="xmlIsBaseCharQ" id="xmlIsBaseCharQ"></a>Macro: xmlIsBaseCharQ</h3><pre>#define xmlIsBaseCharQ</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsBaseChar_ch" id="xmlIsBaseChar_ch"></a>Macro: xmlIsBaseChar_ch</h3><pre>#define xmlIsBaseChar_ch</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsBlankQ" id="xmlIsBlankQ"></a>Macro: xmlIsBlankQ</h3><pre>#define xmlIsBlankQ</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsBlank_ch" id="xmlIsBlank_ch"></a>Macro: xmlIsBlank_ch</h3><pre>#define xmlIsBlank_ch</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsCharQ" id="xmlIsCharQ"></a>Macro: xmlIsCharQ</h3><pre>#define xmlIsCharQ</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsChar_ch" id="xmlIsChar_ch"></a>Macro: xmlIsChar_ch</h3><pre>#define xmlIsChar_ch</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsCombiningQ" id="xmlIsCombiningQ"></a>Macro: xmlIsCombiningQ</h3><pre>#define xmlIsCombiningQ</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsDigitQ" id="xmlIsDigitQ"></a>Macro: xmlIsDigitQ</h3><pre>#define xmlIsDigitQ</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsDigit_ch" id="xmlIsDigit_ch"></a>Macro: xmlIsDigit_ch</h3><pre>#define xmlIsDigit_ch</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsExtenderQ" id="xmlIsExtenderQ"></a>Macro: xmlIsExtenderQ</h3><pre>#define xmlIsExtenderQ</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsExtender_ch" id="xmlIsExtender_ch"></a>Macro: xmlIsExtender_ch</h3><pre>#define xmlIsExtender_ch</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsIdeographicQ" id="xmlIsIdeographicQ"></a>Macro: xmlIsIdeographicQ</h3><pre>#define xmlIsIdeographicQ</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsPubidCharQ" id="xmlIsPubidCharQ"></a>Macro: xmlIsPubidCharQ</h3><pre>#define xmlIsPubidCharQ</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlIsPubidChar_ch" id="xmlIsPubidChar_ch"></a>Macro: xmlIsPubidChar_ch</h3><pre>#define xmlIsPubidChar_ch</pre><p>Automatically generated by genChRanges.py</p>
-<h3><a name="xmlChLRange" id="xmlChLRange">Structure xmlChLRange</a></h3><pre class="programlisting">Structure xmlChLRange<br />struct _xmlChLRange {
-    unsigned int	low
-    unsigned int	high
-}</pre><h3><a name="xmlChRangeGroup" id="xmlChRangeGroup">Structure xmlChRangeGroup</a></h3><pre class="programlisting">Structure xmlChRangeGroup<br />struct _xmlChRangeGroup {
-    int	nbShortRange
-    int	nbLongRange
-    const <a href="libxml-chvalid.html#xmlChSRange">xmlChSRange</a> *	shortRange	: points to an array of ranges
-    const <a href="libxml-chvalid.html#xmlChLRange">xmlChLRange</a> *	longRange
-}</pre><h3><a name="xmlChSRange" id="xmlChSRange">Structure xmlChSRange</a></h3><pre class="programlisting">Structure xmlChSRange<br />struct _xmlChSRange {
-    unsigned short	low
-    unsigned short	high
-}</pre><h3><a name="xmlCharInRange" id="xmlCharInRange"></a>Function: xmlCharInRange</h3><pre class="programlisting">int	xmlCharInRange			(unsigned int val, <br />					 const <a href="libxml-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr)<br />
-</pre><p>Does a binary search of the range table to determine if char is valid</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>character to be validated</td></tr><tr><td><span class="term"><i><tt>rptr</tt></i>:</span></td><td>pointer to range to be used to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if character valid, false otherwise</td></tr></tbody></table></div><h3><a name="xmlIsBaseChar" id="xmlIsBaseChar"></a>Function: xmlIsBaseChar</h3><pre class="programlisting">int	xmlIsBaseChar			(unsigned int ch)<br />
-</pre><p>This function is DEPRECATED. Use <a href="libxml-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a> or <a href="libxml-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div><h3><a name="xmlIsBlank" id="xmlIsBlank"></a>Function: xmlIsBlank</h3><pre class="programlisting">int	xmlIsBlank			(unsigned int ch)<br />
-</pre><p>This function is DEPRECATED. Use <a href="libxml-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a> or <a href="libxml-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div><h3><a name="xmlIsChar" id="xmlIsChar"></a>Function: xmlIsChar</h3><pre class="programlisting">int	xmlIsChar			(unsigned int ch)<br />
-</pre><p>This function is DEPRECATED. Use <a href="libxml-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a> or <a href="libxml-chvalid.html#xmlIsCharQ">xmlIsCharQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div><h3><a name="xmlIsCombining" id="xmlIsCombining"></a>Function: xmlIsCombining</h3><pre class="programlisting">int	xmlIsCombining			(unsigned int ch)<br />
-</pre><p>This function is DEPRECATED. Use <a href="libxml-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div><h3><a name="xmlIsDigit" id="xmlIsDigit"></a>Function: xmlIsDigit</h3><pre class="programlisting">int	xmlIsDigit			(unsigned int ch)<br />
-</pre><p>This function is DEPRECATED. Use <a href="libxml-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a> or <a href="libxml-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div><h3><a name="xmlIsExtender" id="xmlIsExtender"></a>Function: xmlIsExtender</h3><pre class="programlisting">int	xmlIsExtender			(unsigned int ch)<br />
-</pre><p>This function is DEPRECATED. Use <a href="libxml-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a> or <a href="libxml-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div><h3><a name="xmlIsIdeographic" id="xmlIsIdeographic"></a>Function: xmlIsIdeographic</h3><pre class="programlisting">int	xmlIsIdeographic		(unsigned int ch)<br />
-</pre><p>This function is DEPRECATED. Use <a href="libxml-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</td></tr></tbody></table></div><h3><a name="xmlIsPubidChar" id="xmlIsPubidChar"></a>Function: xmlIsPubidChar</h3><pre class="programlisting">int	xmlIsPubidChar			(unsigned int ch)<br />
-</pre><p>This function is DEPRECATED. Use <a href="libxml-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a> or <a href="libxml-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false otherwise</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>
diff --git a/doc/html/libxml-debugXML.html b/doc/html/libxml-debugXML.html
deleted file mode 100644
index 46a8348..0000000
--- a/doc/html/libxml-debugXML.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module debugXML from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module debugXML from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-chvalid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-chvalid.html">chvalid</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-dict.html">dict</a></th><td><a accesskey="n" href="libxml-dict.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlShellCtxt">xmlShellCtxt</a><br />struct _xmlShellCtxt
-</pre><pre class="programlisting">Typedef <a href="libxml-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * <a name="xmlShellCtxtPtr" id="xmlShellCtxtPtr">xmlShellCtxtPtr</a>
-</pre><pre class="programlisting">const char *	<a href="#xmlBoolToText">xmlBoolToText</a>		(int boolval)</pre>
-<pre class="programlisting">int	<a href="#xmlDebugCheckDocument">xmlDebugCheckDocument</a>		(FILE * output, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">void	<a href="#xmlDebugDumpAttr">xmlDebugDumpAttr</a>		(FILE * output, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 int depth)</pre>
-<pre class="programlisting">void	<a href="#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a>		(FILE * output, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 int depth)</pre>
-<pre class="programlisting">void	<a href="#xmlDebugDumpDTD">xmlDebugDumpDTD</a>			(FILE * output, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)</pre>
-<pre class="programlisting">void	<a href="#xmlDebugDumpDocument">xmlDebugDumpDocument</a>		(FILE * output, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">void	<a href="#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a>	(FILE * output, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">void	<a href="#xmlDebugDumpEntities">xmlDebugDumpEntities</a>		(FILE * output, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">void	<a href="#xmlDebugDumpNode">xmlDebugDumpNode</a>		(FILE * output, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int depth)</pre>
-<pre class="programlisting">void	<a href="#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a>		(FILE * output, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int depth)</pre>
-<pre class="programlisting">void	<a href="#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a>		(FILE * output, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int depth)</pre>
-<pre class="programlisting">void	<a href="#xmlDebugDumpString">xmlDebugDumpString</a>		(FILE * output, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
-<pre class="programlisting">int	<a href="#xmlLsCountNode">xmlLsCountNode</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">void	<a href="#xmlLsOneNode">xmlLsOneNode</a>			(FILE * output, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">void	<a href="#xmlShell">xmlShell</a>			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 char * filename, <br />					 <a href="libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br />					 FILE * output)</pre>
-<pre class="programlisting">int	<a href="#xmlShellBase">xmlShellBase</a>			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)</pre>
-<pre class="programlisting">int	<a href="#xmlShellCat">xmlShellCat</a>			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)</pre>
-<pre class="programlisting">Function type: <a href="#xmlShellCmd">xmlShellCmd</a>
-int	<a href="#xmlShellCmd">xmlShellCmd</a>			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)
-</pre>
-<pre class="programlisting">int	<a href="#xmlShellDir">xmlShellDir</a>			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)</pre>
-<pre class="programlisting">int	<a href="#xmlShellDu">xmlShellDu</a>			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)</pre>
-<pre class="programlisting">int	<a href="#xmlShellList">xmlShellList</a>			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)</pre>
-<pre class="programlisting">int	<a href="#xmlShellLoad">xmlShellLoad</a>			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * filename, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)</pre>
-<pre class="programlisting">void	<a href="#xmlShellPrintNode">xmlShellPrintNode</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">void	<a href="#xmlShellPrintXPathError">xmlShellPrintXPathError</a>		(int errorType, <br />					 const char * arg)</pre>
-<pre class="programlisting">void	<a href="#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list)</pre>
-<pre class="programlisting">int	<a href="#xmlShellPwd">xmlShellPwd</a>			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * buffer, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)</pre>
-<pre class="programlisting">Function type: <a href="#xmlShellReadlineFunc">xmlShellReadlineFunc</a>
-char *	<a href="#xmlShellReadlineFunc">xmlShellReadlineFunc</a>		(char * prompt)
-</pre>
-<pre class="programlisting">int	<a href="#xmlShellSave">xmlShellSave</a>			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * filename, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)</pre>
-<pre class="programlisting">int	<a href="#xmlShellValidate">xmlShellValidate</a>		(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * dtd, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)</pre>
-<pre class="programlisting">int	<a href="#xmlShellWrite">xmlShellWrite</a>			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * filename, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)</pre>
-<h2>Description</h2>
-<h3><a name="xmlShellCtxt" id="xmlShellCtxt">Structure xmlShellCtxt</a></h3><pre class="programlisting">Structure xmlShellCtxt<br />struct _xmlShellCtxt {
-    char *	filename
-    <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	pctxt
-    int	loaded
-    FILE *	output
-    <a href="libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a>	input
-}</pre><h3><a name="xmlBoolToText" id="xmlBoolToText"></a>Function: xmlBoolToText</h3><pre class="programlisting">const char *	xmlBoolToText		(int boolval)<br />
-</pre><p>Convenient way to turn bool into text</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>boolval</tt></i>:</span></td><td>a bool to turn into text</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to either "True" or "False"</td></tr></tbody></table></div><h3><a name="xmlDebugCheckDocument" id="xmlDebugCheckDocument"></a>Function: xmlDebugCheckDocument</h3><pre class="programlisting">int	xmlDebugCheckDocument		(FILE * output, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Check the document for potential content problems, and output the errors to @output</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of errors found</td></tr></tbody></table></div><h3><a name="xmlDebugDumpAttr" id="xmlDebugDumpAttr"></a>Function: xmlDebugDumpAttr</h3><pre class="programlisting">void	xmlDebugDumpAttr		(FILE * output, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 int depth)<br />
-</pre><p>Dumps debug information for the <a href="libxml-SAX.html#attribute">attribute</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div><h3><a name="xmlDebugDumpAttrList" id="xmlDebugDumpAttrList"></a>Function: xmlDebugDumpAttrList</h3><pre class="programlisting">void	xmlDebugDumpAttrList		(FILE * output, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 int depth)<br />
-</pre><p>Dumps debug information for the <a href="libxml-SAX.html#attribute">attribute</a> list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> list</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div><h3><a name="xmlDebugDumpDTD" id="xmlDebugDumpDTD"></a>Function: xmlDebugDumpDTD</h3><pre class="programlisting">void	xmlDebugDumpDTD			(FILE * output, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br />
-</pre><p>Dumps debug information for the DTD</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>the DTD</td></tr></tbody></table></div><h3><a name="xmlDebugDumpDocument" id="xmlDebugDumpDocument"></a>Function: xmlDebugDumpDocument</h3><pre class="programlisting">void	xmlDebugDumpDocument		(FILE * output, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Dumps debug information for the document, it's recursive</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div><h3><a name="xmlDebugDumpDocumentHead" id="xmlDebugDumpDocumentHead"></a>Function: xmlDebugDumpDocumentHead</h3><pre class="programlisting">void	xmlDebugDumpDocumentHead	(FILE * output, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Dumps debug information concerning the document, not recursive</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div><h3><a name="xmlDebugDumpEntities" id="xmlDebugDumpEntities"></a>Function: xmlDebugDumpEntities</h3><pre class="programlisting">void	xmlDebugDumpEntities		(FILE * output, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Dumps debug information for all the entities in use by the document</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div><h3><a name="xmlDebugDumpNode" id="xmlDebugDumpNode"></a>Function: xmlDebugDumpNode</h3><pre class="programlisting">void	xmlDebugDumpNode		(FILE * output, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int depth)<br />
-</pre><p>Dumps debug information for the element node, it is recursive</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div><h3><a name="xmlDebugDumpNodeList" id="xmlDebugDumpNodeList"></a>Function: xmlDebugDumpNodeList</h3><pre class="programlisting">void	xmlDebugDumpNodeList		(FILE * output, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int depth)<br />
-</pre><p>Dumps debug information for the list of element node, it is recursive</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node list</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div><h3><a name="xmlDebugDumpOneNode" id="xmlDebugDumpOneNode"></a>Function: xmlDebugDumpOneNode</h3><pre class="programlisting">void	xmlDebugDumpOneNode		(FILE * output, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int depth)<br />
-</pre><p>Dumps debug information for the element node, it is not recursive</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div><h3><a name="xmlDebugDumpString" id="xmlDebugDumpString"></a>Function: xmlDebugDumpString</h3><pre class="programlisting">void	xmlDebugDumpString		(FILE * output, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
-</pre><p>Dumps information about the string, shorten it if necessary</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr></tbody></table></div><h3><a name="xmlLsCountNode" id="xmlLsCountNode"></a>Function: xmlLsCountNode</h3><pre class="programlisting">int	xmlLsCountNode			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Count the children of @node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to count</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of children of @node.</td></tr></tbody></table></div><h3><a name="xmlLsOneNode" id="xmlLsOneNode"></a>Function: xmlLsOneNode</h3><pre class="programlisting">void	xmlLsOneNode			(FILE * output, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Dump to @output the type and name of @node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to dump</td></tr></tbody></table></div><h3><a name="xmlShell" id="xmlShell"></a>Function: xmlShell</h3><pre class="programlisting">void	xmlShell			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 char * filename, <br />					 <a href="libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br />					 FILE * output)<br />
-</pre><p>Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the initial document</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the output buffer</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the line reading function</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the output FILE*, defaults to stdout if NULL</td></tr></tbody></table></div><h3><a name="xmlShellBase" id="xmlShellBase"></a>Function: xmlShellBase</h3><pre class="programlisting">int	xmlShellBase			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Implements the XML shell function "base" dumps the current XML base of the node</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div><h3><a name="xmlShellCat" id="xmlShellCat"></a>Function: xmlShellCat</h3><pre class="programlisting">int	xmlShellCat			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Implements the XML shell function "cat" dumps the serialization node content (XML or HTML).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div><h3><a name="xmlShellCmd" id="xmlShellCmd"></a>Function type: xmlShellCmd</h3><pre class="programlisting">Function type: xmlShellCmd
-int	xmlShellCmd			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)
-</pre><p>This is a generic signature for the XML shell functions.</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 shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a string argument</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a first node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>a second node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int, negative returns indicating errors.</td></tr></tbody></table></div><br />
-<h3><a name="xmlShellDir" id="xmlShellDir"></a>Function: xmlShellDir</h3><pre class="programlisting">int	xmlShellDir			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Implements the XML shell function "dir" dumps information about the node (namespace, attributes, 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>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div><h3><a name="xmlShellDu" id="xmlShellDu"></a>Function: xmlShellDu</h3><pre class="programlisting">int	xmlShellDu			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Implements the XML shell function "du" show the structure of the subtree under node @tree If @tree is null, the command works on the current node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>a node defining a subtree</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlShellList" id="xmlShellList"></a>Function: xmlShellList</h3><pre class="programlisting">int	xmlShellList			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * arg, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Implements the XML shell function "ls" Does an Unix like listing of the given node (like a directory)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div><h3><a name="xmlShellLoad" id="xmlShellLoad"></a>Function: xmlShellLoad</h3><pre class="programlisting">int	xmlShellLoad			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * filename, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Implements the XML shell function "load" loads a new document specified by the filename</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 if loading failed</td></tr></tbody></table></div><h3><a name="xmlShellPrintNode" id="xmlShellPrintNode"></a>Function: xmlShellPrintNode</h3><pre class="programlisting">void	xmlShellPrintNode		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Print node to the output FILE</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a non-null node to print to the output FILE</td></tr></tbody></table></div><h3><a name="xmlShellPrintXPathError" id="xmlShellPrintXPathError"></a>Function: xmlShellPrintXPathError</h3><pre class="programlisting">void	xmlShellPrintXPathError		(int errorType, <br />					 const char * arg)<br />
-</pre><p>Print the xpath error to libxml default error channel</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>errorType</tt></i>:</span></td><td>valid xpath error id</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>the argument that cause xpath to fail</td></tr></tbody></table></div><h3><a name="xmlShellPrintXPathResult" id="xmlShellPrintXPathResult"></a>Function: xmlShellPrintXPathResult</h3><pre class="programlisting">void	xmlShellPrintXPathResult	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list)<br />
-</pre><p>Prints result to the output FILE</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>a valid result generated by an xpath evaluation</td></tr></tbody></table></div><h3><a name="xmlShellPwd" id="xmlShellPwd"></a>Function: xmlShellPwd</h3><pre class="programlisting">int	xmlShellPwd			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * buffer, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Implements the XML shell function "pwd" 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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>the output buffer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlShellReadlineFunc" id="xmlShellReadlineFunc"></a>Function type: xmlShellReadlineFunc</h3><pre class="programlisting">Function type: xmlShellReadlineFunc
-char *	xmlShellReadlineFunc		(char * prompt)
-</pre><p>This is a generic signature for the XML shell input function.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>prompt</tt></i>:</span></td><td>a string prompt</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string which will be freed by the Shell.</td></tr></tbody></table></div><br />
-<h3><a name="xmlShellSave" id="xmlShellSave"></a>Function: xmlShellSave</h3><pre class="programlisting">int	xmlShellSave			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * filename, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Implements the XML shell function "save" Write the current document to the filename, or it's original name</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name (optional)</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlShellValidate" id="xmlShellValidate"></a>Function: xmlShellValidate</h3><pre class="programlisting">int	xmlShellValidate		(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * dtd, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Implements the XML shell function "validate" Validate the document, if a DTD path is provided, then the validation is done against the given DTD.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>the DTD URI (optional)</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlShellWrite" id="xmlShellWrite"></a>Function: xmlShellWrite</h3><pre class="programlisting">int	xmlShellWrite			(<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />					 char * filename, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Implements the XML shell function "write" Write the current node to the filename, it saves the serialization of the subtree under the @node specified</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node in the tree</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><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>
diff --git a/doc/html/libxml-dict.html b/doc/html/libxml-dict.html
deleted file mode 100644
index d920322..0000000
--- a/doc/html/libxml-dict.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module dict from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module dict from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-debugXML.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-debugXML.html">debugXML</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-encoding.html">encoding</a></th><td><a accesskey="n" href="libxml-encoding.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlDict">xmlDict</a><br />struct _xmlDict
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-dict.html#xmlDict">xmlDict</a> * <a name="xmlDictPtr" id="xmlDictPtr">xmlDictPtr</a>
-</pre><pre class="programlisting">void	<a href="#xmlDictCleanup">xmlDictCleanup</a>			(void)</pre>
-<pre class="programlisting"><a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	<a href="#xmlDictCreate">xmlDictCreate</a>		(void)</pre>
-<pre class="programlisting"><a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	<a href="#xmlDictCreateSub">xmlDictCreateSub</a>	(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> sub)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictExists">xmlDictExists</a>		(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int len)</pre>
-<pre class="programlisting">void	<a href="#xmlDictFree">xmlDictFree</a>			(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)</pre>
-<pre class="programlisting">size_t	<a href="#xmlDictGetUsage">xmlDictGetUsage</a>			(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictLookup">xmlDictLookup</a>		(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlDictOwns">xmlDictOwns</a>			(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictQLookup">xmlDictQLookup</a>		(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlDictReference">xmlDictReference</a>		(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)</pre>
-<pre class="programlisting">size_t	<a href="#xmlDictSetLimit">xmlDictSetLimit</a>			(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 size_t limit)</pre>
-<pre class="programlisting">int	<a href="#xmlDictSize">xmlDictSize</a>			(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)</pre>
-<pre class="programlisting">int	<a href="#xmlInitializeDict">xmlInitializeDict</a>		(void)</pre>
-<h2>Description</h2>
-<h3><a name="xmlDict" id="xmlDict">Structure xmlDict</a></h3><pre class="programlisting">Structure xmlDict<br />struct _xmlDict {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlDictCleanup" id="xmlDictCleanup"></a>Function: xmlDictCleanup</h3><pre class="programlisting">void	xmlDictCleanup			(void)<br />
-</pre><p>Free the dictionary mutex. Do not call unless sure the library is not in use anymore !</p>
-<h3><a name="xmlDictCreate" id="xmlDictCreate"></a>Function: xmlDictCreate</h3><pre class="programlisting"><a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreate		(void)<br />
-</pre><p>Create a new dictionary</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 created dictionary, or NULL if an error occurred.</td></tr></tbody></table></div><h3><a name="xmlDictCreateSub" id="xmlDictCreateSub"></a>Function: xmlDictCreateSub</h3><pre class="programlisting"><a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreateSub	(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> sub)<br />
-</pre><p>Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>an existing dictionary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionary, or NULL if an error occurred.</td></tr></tbody></table></div><h3><a name="xmlDictExists" id="xmlDictExists"></a>Function: xmlDictExists</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictExists		(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int len)<br />
-</pre><p>Check if the @name exists in the dictionary @dict.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the name, if -1 it is recomputed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal copy of the name or NULL if not found.</td></tr></tbody></table></div><h3><a name="xmlDictFree" id="xmlDictFree"></a>Function: xmlDictFree</h3><pre class="programlisting">void	xmlDictFree			(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br />
-</pre><p>Free the hash @dict and its contents. The userdata is deallocated with @f if provided.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr></tbody></table></div><h3><a name="xmlDictGetUsage" id="xmlDictGetUsage"></a>Function: xmlDictGetUsage</h3><pre class="programlisting">size_t	xmlDictGetUsage			(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br />
-</pre><p>Get how much memory is used by a dictionary for strings Added in 2.9.0</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the amount of strings allocated</td></tr></tbody></table></div><h3><a name="xmlDictLookup" id="xmlDictLookup"></a>Function: xmlDictLookup</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictLookup		(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int len)<br />
-</pre><p>Add the @name to the dictionary @dict if not present.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the name, if -1 it is recomputed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal copy of the name or NULL in case of internal error</td></tr></tbody></table></div><h3><a name="xmlDictOwns" id="xmlDictOwns"></a>Function: xmlDictOwns</h3><pre class="programlisting">int	xmlDictOwns			(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
-</pre><p>check if a string is owned by the dictionary</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 in case of error -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlDictQLookup" id="xmlDictQLookup"></a>Function: xmlDictQLookup</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictQLookup		(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Add the QName @prefix:@name to the hash @dict if not present.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal copy of the QName or NULL in case of internal error</td></tr></tbody></table></div><h3><a name="xmlDictReference" id="xmlDictReference"></a>Function: xmlDictReference</h3><pre class="programlisting">int	xmlDictReference		(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br />
-</pre><p>Increment the <a href="libxml-SAX.html#reference">reference</a> counter of a dictionary</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</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><h3><a name="xmlDictSetLimit" id="xmlDictSetLimit"></a>Function: xmlDictSetLimit</h3><pre class="programlisting">size_t	xmlDictSetLimit			(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 size_t limit)<br />
-</pre><p>Set a size limit for the dictionary Added in 2.9.0</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>limit</tt></i>:</span></td><td>the limit in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous limit of the dictionary or 0</td></tr></tbody></table></div><h3><a name="xmlDictSize" id="xmlDictSize"></a>Function: xmlDictSize</h3><pre class="programlisting">int	xmlDictSize			(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br />
-</pre><p>Query the number of elements installed in the hash @dict.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the dictionary or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlInitializeDict" id="xmlInitializeDict"></a>Function: xmlInitializeDict</h3><pre class="programlisting">int	xmlInitializeDict		(void)<br />
-</pre><p>Do the dictionary mutex initialization. this function is deprecated</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if initialization was already done, and 1 if that call led to the initialization</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>
diff --git a/doc/html/libxml-encoding.html b/doc/html/libxml-encoding.html
deleted file mode 100644
index 5dcae13..0000000
--- a/doc/html/libxml-encoding.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module encoding from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module encoding from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-dict.html">dict</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-entities.html">entities</a></th><td><a accesskey="n" href="libxml-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a></pre><pre class="programlisting">Structure <a href="#uconv_t">uconv_t</a><br />struct _uconv_t
-</pre><pre class="programlisting">Enum <a href="#xmlCharEncoding">xmlCharEncoding</a>
-</pre><pre class="programlisting">Structure <a href="#xmlCharEncodingHandler">xmlCharEncodingHandler</a><br />struct _xmlCharEncodingHandler
-</pre><pre class="programlisting">Typedef <a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * <a name="xmlCharEncodingHandlerPtr" id="xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>
-</pre><pre class="programlisting">int	<a href="#UTF8Toisolat1">UTF8Toisolat1</a>			(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)</pre>
-<pre class="programlisting">int	<a href="#isolat1ToUTF8">isolat1ToUTF8</a>			(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)</pre>
-<pre class="programlisting">int	<a href="#xmlAddEncodingAlias">xmlAddEncodingAlias</a>		(const char * name, <br />					 const char * alias)</pre>
-<pre class="programlisting">int	<a href="#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a>		(<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler)</pre>
-<pre class="programlisting">int	<a href="#xmlCharEncFirstLine">xmlCharEncFirstLine</a>		(<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)</pre>
-<pre class="programlisting">int	<a href="#xmlCharEncInFunc">xmlCharEncInFunc</a>		(<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)</pre>
-<pre class="programlisting">int	<a href="#xmlCharEncOutFunc">xmlCharEncOutFunc</a>		(<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)</pre>
-<pre class="programlisting">Function type: <a href="#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>
-int	<a href="#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>	(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>
-int	<a href="#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>	(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)
-</pre>
-<pre class="programlisting">void	<a href="#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a>	(void)</pre>
-<pre class="programlisting">void	<a href="#xmlCleanupEncodingAliases">xmlCleanupEncodingAliases</a>	(void)</pre>
-<pre class="programlisting">int	<a href="#xmlDelEncodingAlias">xmlDelEncodingAlias</a>		(const char * alias)</pre>
-<pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlDetectCharEncoding">xmlDetectCharEncoding</a>	(const unsigned char * in, <br />					 int len)</pre>
-<pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a>	(const char * name)</pre>
-<pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a>	(<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting">const char *	<a href="#xmlGetCharEncodingName">xmlGetCharEncodingName</a>	(<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting">const char *	<a href="#xmlGetEncodingAlias">xmlGetEncodingAlias</a>	(const char * alias)</pre>
-<pre class="programlisting">void	<a href="#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a>	(void)</pre>
-<pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a>	(const char * name, <br />							 <a href="libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br />							 <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output)</pre>
-<pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlParseCharEncoding">xmlParseCharEncoding</a>	(const char * name)</pre>
-<pre class="programlisting">void	<a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a>	(<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)</pre>
-<h2>Description</h2>
-<h3><a name="ICU_PIVOT_BUF_SIZE" id="ICU_PIVOT_BUF_SIZE"></a>Macro: ICU_PIVOT_BUF_SIZE</h3><pre>#define ICU_PIVOT_BUF_SIZE</pre><p></p>
-<h3><a name="uconv_t" id="uconv_t">Structure uconv_t</a></h3><pre class="programlisting">Structure uconv_t<br />struct _uconv_t {
-    UConverter *	uconv	: for conversion between an encoding and
-    UConverter *	utf8	: for conversion between UTF-8 and UTF-16
-    UCharpivot_buf[ICU_PIVOT_BUF_SIZE]	pivot_buf
-    UChar *	pivot_source
-    UChar *	pivot_target
-}</pre><h3>Enum <a name="xmlCharEncoding" id="xmlCharEncoding">xmlCharEncoding</a></h3><pre class="programlisting">Enum xmlCharEncoding {
-    <a name="XML_CHAR_ENCODING_ERROR" id="XML_CHAR_ENCODING_ERROR">XML_CHAR_ENCODING_ERROR</a> = -1 : No char encoding detected
-    <a name="XML_CHAR_ENCODING_NONE" id="XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> = 0 : No char encoding detected
-    <a name="XML_CHAR_ENCODING_UTF8" id="XML_CHAR_ENCODING_UTF8">XML_CHAR_ENCODING_UTF8</a> = 1 : UTF-8
-    <a name="XML_CHAR_ENCODING_UTF16LE" id="XML_CHAR_ENCODING_UTF16LE">XML_CHAR_ENCODING_UTF16LE</a> = 2 : UTF-16 little endian
-    <a name="XML_CHAR_ENCODING_UTF16BE" id="XML_CHAR_ENCODING_UTF16BE">XML_CHAR_ENCODING_UTF16BE</a> = 3 : UTF-16 big endian
-    <a name="XML_CHAR_ENCODING_UCS4LE" id="XML_CHAR_ENCODING_UCS4LE">XML_CHAR_ENCODING_UCS4LE</a> = 4 : UCS-4 little endian
-    <a name="XML_CHAR_ENCODING_UCS4BE" id="XML_CHAR_ENCODING_UCS4BE">XML_CHAR_ENCODING_UCS4BE</a> = 5 : UCS-4 big endian
-    <a name="XML_CHAR_ENCODING_EBCDIC" id="XML_CHAR_ENCODING_EBCDIC">XML_CHAR_ENCODING_EBCDIC</a> = 6 : EBCDIC uh!
-    <a name="XML_CHAR_ENCODING_UCS4_2143" id="XML_CHAR_ENCODING_UCS4_2143">XML_CHAR_ENCODING_UCS4_2143</a> = 7 : UCS-4 unusual ordering
-    <a name="XML_CHAR_ENCODING_UCS4_3412" id="XML_CHAR_ENCODING_UCS4_3412">XML_CHAR_ENCODING_UCS4_3412</a> = 8 : UCS-4 unusual ordering
-    <a name="XML_CHAR_ENCODING_UCS2" id="XML_CHAR_ENCODING_UCS2">XML_CHAR_ENCODING_UCS2</a> = 9 : UCS-2
-    <a name="XML_CHAR_ENCODING_8859_1" id="XML_CHAR_ENCODING_8859_1">XML_CHAR_ENCODING_8859_1</a> = 10 : ISO-8859-1 ISO Latin 1
-    <a name="XML_CHAR_ENCODING_8859_2" id="XML_CHAR_ENCODING_8859_2">XML_CHAR_ENCODING_8859_2</a> = 11 : ISO-8859-2 ISO Latin 2
-    <a name="XML_CHAR_ENCODING_8859_3" id="XML_CHAR_ENCODING_8859_3">XML_CHAR_ENCODING_8859_3</a> = 12 : ISO-8859-3
-    <a name="XML_CHAR_ENCODING_8859_4" id="XML_CHAR_ENCODING_8859_4">XML_CHAR_ENCODING_8859_4</a> = 13 : ISO-8859-4
-    <a name="XML_CHAR_ENCODING_8859_5" id="XML_CHAR_ENCODING_8859_5">XML_CHAR_ENCODING_8859_5</a> = 14 : ISO-8859-5
-    <a name="XML_CHAR_ENCODING_8859_6" id="XML_CHAR_ENCODING_8859_6">XML_CHAR_ENCODING_8859_6</a> = 15 : ISO-8859-6
-    <a name="XML_CHAR_ENCODING_8859_7" id="XML_CHAR_ENCODING_8859_7">XML_CHAR_ENCODING_8859_7</a> = 16 : ISO-8859-7
-    <a name="XML_CHAR_ENCODING_8859_8" id="XML_CHAR_ENCODING_8859_8">XML_CHAR_ENCODING_8859_8</a> = 17 : ISO-8859-8
-    <a name="XML_CHAR_ENCODING_8859_9" id="XML_CHAR_ENCODING_8859_9">XML_CHAR_ENCODING_8859_9</a> = 18 : ISO-8859-9
-    <a name="XML_CHAR_ENCODING_2022_JP" id="XML_CHAR_ENCODING_2022_JP">XML_CHAR_ENCODING_2022_JP</a> = 19 : ISO-2022-JP
-    <a name="XML_CHAR_ENCODING_SHIFT_JIS" id="XML_CHAR_ENCODING_SHIFT_JIS">XML_CHAR_ENCODING_SHIFT_JIS</a> = 20 : Shift_JIS
-    <a name="XML_CHAR_ENCODING_EUC_JP" id="XML_CHAR_ENCODING_EUC_JP">XML_CHAR_ENCODING_EUC_JP</a> = 21 : EUC-JP
-    <a name="XML_CHAR_ENCODING_ASCII" id="XML_CHAR_ENCODING_ASCII">XML_CHAR_ENCODING_ASCII</a> = 22 : pure ASCII
-}
-</pre><h3><a name="xmlCharEncodingHandler" id="xmlCharEncodingHandler">Structure xmlCharEncodingHandler</a></h3><pre class="programlisting">Structure xmlCharEncodingHandler<br />struct _xmlCharEncodingHandler {
-    char *	name
-    <a href="libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>	input
-    <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>	output
-    iconv_t	iconv_in
-    iconv_t	iconv_out
-    <a href="libxml-encoding.html#uconv_t">uconv_t</a> *	uconv_in
-    <a href="libxml-encoding.html#uconv_t">uconv_t</a> *	uconv_out
-}</pre><h3><a name="UTF8Toisolat1" id="UTF8Toisolat1"></a>Function: UTF8Toisolat1</h3><pre class="programlisting">int	UTF8Toisolat1			(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)<br />
-</pre><p>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td></tr></tbody></table></div><h3><a name="isolat1ToUTF8" id="isolat1ToUTF8"></a>Function: isolat1ToUTF8</h3><pre class="programlisting">int	isolat1ToUTF8			(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)<br />
-</pre><p>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of ISO Latin 1 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td></tr></tbody></table></div><h3><a name="xmlAddEncodingAlias" id="xmlAddEncodingAlias"></a>Function: xmlAddEncodingAlias</h3><pre class="programlisting">int	xmlAddEncodingAlias		(const char * name, <br />					 const char * alias)<br />
-</pre><p>Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.</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 encoding name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlCharEncCloseFunc" id="xmlCharEncCloseFunc"></a>Function: xmlCharEncCloseFunc</h3><pre class="programlisting">int	xmlCharEncCloseFunc		(<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler)<br />
-</pre><p>Generic front-end for encoding handler close function</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlCharEncFirstLine" id="xmlCharEncFirstLine"></a>Function: xmlCharEncFirstLine</h3><pre class="programlisting">int	xmlCharEncFirstLine		(<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br />
-</pre><p>Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself to 45 chars.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div><h3><a name="xmlCharEncInFunc" id="xmlCharEncInFunc"></a>Function: xmlCharEncInFunc</h3><pre class="programlisting">int	xmlCharEncInFunc		(<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br />
-</pre><p>Generic front-end for the encoding handler input function</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div><h3><a name="xmlCharEncOutFunc" id="xmlCharEncOutFunc"></a>Function: xmlCharEncOutFunc</h3><pre class="programlisting">int	xmlCharEncOutFunc		(<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br />
-</pre><p>Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div><h3><a name="xmlCharEncodingInputFunc" id="xmlCharEncodingInputFunc"></a>Function type: xmlCharEncodingInputFunc</h3><pre class="programlisting">Function type: xmlCharEncodingInputFunc
-int	xmlCharEncodingInputFunc	(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)
-</pre><p>Take a block of chars in the original encoding and try to convert it to an UTF-8 block of chars out.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the UTF-8 result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of chars in the original encoding</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets consumed.</td></tr></tbody></table></div><br />
-<h3><a name="xmlCharEncodingOutputFunc" id="xmlCharEncodingOutputFunc"></a>Function type: xmlCharEncodingOutputFunc</h3><pre class="programlisting">Function type: xmlCharEncodingOutputFunc
-int	xmlCharEncodingOutputFunc	(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)
-</pre><p>Take a block of UTF-8 chars in and try to convert it to another encoding. Note: a first call designed to produce heading info is called with in = NULL. If stateful this should also initialize the encoder state.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets produced.</td></tr></tbody></table></div><br />
-<h3><a name="xmlCleanupCharEncodingHandlers" id="xmlCleanupCharEncodingHandlers"></a>Function: xmlCleanupCharEncodingHandlers</h3><pre class="programlisting">void	xmlCleanupCharEncodingHandlers	(void)<br />
-</pre><p>Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases.</p>
-<h3><a name="xmlCleanupEncodingAliases" id="xmlCleanupEncodingAliases"></a>Function: xmlCleanupEncodingAliases</h3><pre class="programlisting">void	xmlCleanupEncodingAliases	(void)<br />
-</pre><p>Unregisters all aliases</p>
-<h3><a name="xmlDelEncodingAlias" id="xmlDelEncodingAlias"></a>Function: xmlDelEncodingAlias</h3><pre class="programlisting">int	xmlDelEncodingAlias		(const char * alias)<br />
-</pre><p>Unregisters an encoding alias @alias</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlDetectCharEncoding" id="xmlDetectCharEncoding"></a>Function: xmlDetectCharEncoding</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlDetectCharEncoding	(const unsigned char * in, <br />					 int len)<br />
-</pre><p>Guess the encoding of the entity using the first bytes of the entity content according to the non-normative appendix F of the XML-1.0 recommendation.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant).</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the length of the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of the XML_CHAR_ENCODING_... values.</td></tr></tbody></table></div><h3><a name="xmlFindCharEncodingHandler" id="xmlFindCharEncodingHandler"></a>Function: xmlFindCharEncodingHandler</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlFindCharEncodingHandler	(const char * name)<br />
-</pre><p>Search in the registered set the handler able to read/write that encoding.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>a string describing the char encoding.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the handler or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlGetCharEncodingHandler" id="xmlGetCharEncodingHandler"></a>Function: xmlGetCharEncodingHandler</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlGetCharEncodingHandler	(<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>Search in the registered set the handler able to read/write that encoding.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> value.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the handler or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlGetCharEncodingName" id="xmlGetCharEncodingName"></a>Function: xmlGetCharEncodingName</h3><pre class="programlisting">const char *	xmlGetCharEncodingName	(<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>The "canonical" name for XML encoding. C.f. http://www.w3.org/TR/REC-xml#charencoding Section 4.3.3 Character Encoding in Entities</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the canonical name for the given encoding</td></tr></tbody></table></div><h3><a name="xmlGetEncodingAlias" id="xmlGetEncodingAlias"></a>Function: xmlGetEncodingAlias</h3><pre class="programlisting">const char *	xmlGetEncodingAlias	(const char * alias)<br />
-</pre><p>Lookup an encoding name for the given alias.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found, otherwise the original name</td></tr></tbody></table></div><h3><a name="xmlInitCharEncodingHandlers" id="xmlInitCharEncodingHandlers"></a>Function: xmlInitCharEncodingHandlers</h3><pre class="programlisting">void	xmlInitCharEncodingHandlers	(void)<br />
-</pre><p>Initialize the char encoding support, it registers the default encoding supported. NOTE: while public, this function usually doesn't need to be called in normal processing.</p>
-<h3><a name="xmlNewCharEncodingHandler" id="xmlNewCharEncodingHandler"></a>Function: xmlNewCharEncodingHandler</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlNewCharEncodingHandler	(const char * name, <br />							 <a href="libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br />							 <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output)<br />
-</pre><p>Create and registers an xmlCharEncodingHandler.</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 encoding name, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the <a href="libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> to read that encoding</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> to write that encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> created (or NULL in case of error).</td></tr></tbody></table></div><h3><a name="xmlParseCharEncoding" id="xmlParseCharEncoding"></a>Function: xmlParseCharEncoding</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlParseCharEncoding	(const char * name)<br />
-</pre><p>Compare the string to the encoding schemes already known. Note that the comparison is case insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities.</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 encoding name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of the XML_CHAR_ENCODING_... values or <a href="libxml-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> if not recognized.</td></tr></tbody></table></div><h3><a name="xmlRegisterCharEncodingHandler" id="xmlRegisterCharEncodingHandler"></a>Function: xmlRegisterCharEncodingHandler</h3><pre class="programlisting">void	xmlRegisterCharEncodingHandler	(<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br />
-</pre><p>Register the char encoding handler, surprising, isn't it ?</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler block</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>
diff --git a/doc/html/libxml-entities.html b/doc/html/libxml-entities.html
deleted file mode 100644
index 929ed21..0000000
--- a/doc/html/libxml-entities.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module entities from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module entities from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-encoding.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-encoding.html">encoding</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-globals.html">globals</a></th><td><a accesskey="n" href="libxml-globals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module provides some of the entity API needed for the parser and applications. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlEntitiesTable">xmlEntitiesTable</a><br />struct _xmlHashTable
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * <a name="xmlEntitiesTablePtr" id="xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlEntityType">xmlEntityType</a>
-</pre><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDocEntity">xmlAddDocEntity</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDtdEntity">xmlAddDtdEntity</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">void	<a href="#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a>	(void)</pre>
-<pre class="programlisting"><a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	<a href="#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a>	(<a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)</pre>
-<pre class="programlisting"><a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	<a href="#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a>	(void)</pre>
-<pre class="programlisting">void	<a href="#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)</pre>
-<pre class="programlisting">void	<a href="#xmlDumpEntityDecl">xmlDumpEntityDecl</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntities">xmlEncodeEntities</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * input)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * input)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a>	(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * input)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a>		(<a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetDocEntity">xmlGetDocEntity</a>		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetDtdEntity">xmlGetDtdEntity</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetParameterEntity">xmlGetParameterEntity</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetPredefinedEntity">xmlGetPredefinedEntity</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void	<a href="#xmlInitializePredefinedEntities">xmlInitializePredefinedEntities</a>	(void)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlNewEntity">xmlNewEntity</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<h2>Description</h2>
-<h3><a name="xmlEntitiesTable" id="xmlEntitiesTable">Structure xmlEntitiesTable</a></h3><pre class="programlisting">Structure xmlEntitiesTable<br />struct _xmlHashTable {
-The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="xmlEntityType" id="xmlEntityType">xmlEntityType</a></h3><pre class="programlisting">Enum xmlEntityType {
-    <a name="XML_INTERNAL_GENERAL_ENTITY" id="XML_INTERNAL_GENERAL_ENTITY">XML_INTERNAL_GENERAL_ENTITY</a> = 1
-    <a name="XML_EXTERNAL_GENERAL_PARSED_ENTITY" id="XML_EXTERNAL_GENERAL_PARSED_ENTITY">XML_EXTERNAL_GENERAL_PARSED_ENTITY</a> = 2
-    <a name="XML_EXTERNAL_GENERAL_UNPARSED_ENTITY" id="XML_EXTERNAL_GENERAL_UNPARSED_ENTITY">XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</a> = 3
-    <a name="XML_INTERNAL_PARAMETER_ENTITY" id="XML_INTERNAL_PARAMETER_ENTITY">XML_INTERNAL_PARAMETER_ENTITY</a> = 4
-    <a name="XML_EXTERNAL_PARAMETER_ENTITY" id="XML_EXTERNAL_PARAMETER_ENTITY">XML_EXTERNAL_PARAMETER_ENTITY</a> = 5
-    <a name="XML_INTERNAL_PREDEFINED_ENTITY" id="XML_INTERNAL_PREDEFINED_ENTITY">XML_INTERNAL_PREDEFINED_ENTITY</a> = 6
-}
-</pre><h3><a name="xmlAddDocEntity" id="xmlAddDocEntity"></a>Function: xmlAddDocEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlAddDocEntity		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Register a new entity for this document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type XML_xxx_yyy_ENTITY</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the entity external ID if available</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the entity system ID if available</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the entity content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the entity or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAddDtdEntity" id="xmlAddDtdEntity"></a>Function: xmlAddDtdEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlAddDtdEntity		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Register a new entity for this document DTD external subset.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type XML_xxx_yyy_ENTITY</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the entity external ID if available</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the entity system ID if available</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the entity content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the entity or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlCleanupPredefinedEntities" id="xmlCleanupPredefinedEntities"></a>Function: xmlCleanupPredefinedEntities</h3><pre class="programlisting">void	xmlCleanupPredefinedEntities	(void)<br />
-</pre><p>Cleanup up the predefined entities table. Deprecated call</p>
-<h3><a name="xmlCopyEntitiesTable" id="xmlCopyEntitiesTable"></a>Function: xmlCopyEntitiesTable</h3><pre class="programlisting"><a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	xmlCopyEntitiesTable	(<a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br />
-</pre><p>Build a copy of an entity table.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An entity table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCreateEntitiesTable" id="xmlCreateEntitiesTable"></a>Function: xmlCreateEntitiesTable</h3><pre class="programlisting"><a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	xmlCreateEntitiesTable	(void)<br />
-</pre><p>create and initialize an empty entities hash table. This really doesn't make sense and should be deprecated</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 <a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> just created or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlDumpEntitiesTable" id="xmlDumpEntitiesTable"></a>Function: xmlDumpEntitiesTable</h3><pre class="programlisting">void	xmlDumpEntitiesTable		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br />
-</pre><p>This will dump the content of the entity table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>An XML buffer.</td></tr><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An entity table</td></tr></tbody></table></div><h3><a name="xmlDumpEntityDecl" id="xmlDumpEntityDecl"></a>Function: xmlDumpEntityDecl</h3><pre class="programlisting">void	xmlDumpEntityDecl		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent)<br />
-</pre><p>This will dump the content of the entity table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>An XML buffer.</td></tr><tr><td><span class="term"><i><tt>ent</tt></i>:</span></td><td>An entity table</td></tr></tbody></table></div><h3><a name="xmlEncodeEntities" id="xmlEncodeEntities"></a>Function: xmlEncodeEntities</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntities	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * input)<br />
-</pre><p>TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary compatibility People must migrate their code to <a href="libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a> ! This routine will issue a warning when encountered.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document containing the string</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>A string to convert to XML.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL</td></tr></tbody></table></div><h3><a name="xmlEncodeEntitiesReentrant" id="xmlEncodeEntitiesReentrant"></a>Function: xmlEncodeEntitiesReentrant</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntitiesReentrant	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * input)<br />
-</pre><p>Do a global encoding of a string, replacing the predefined entities and non ASCII values with their entities and CharRef counterparts. Contrary to xmlEncodeEntities, this routine is reentrant, and result must be deallocated.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document containing the string</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>A string to convert to XML.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>A newly allocated string with the substitution done.</td></tr></tbody></table></div><h3><a name="xmlEncodeSpecialChars" id="xmlEncodeSpecialChars"></a>Function: xmlEncodeSpecialChars</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeSpecialChars	(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * input)<br />
-</pre><p>Do a global encoding of a string, replacing the predefined entities this routine is reentrant, and result must be deallocated.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document containing the string</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>A string to convert to XML.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>A newly allocated string with the substitution done.</td></tr></tbody></table></div><h3><a name="xmlFreeEntitiesTable" id="xmlFreeEntitiesTable"></a>Function: xmlFreeEntitiesTable</h3><pre class="programlisting">void	xmlFreeEntitiesTable		(<a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br />
-</pre><p>Deallocate the memory used by an entities hash table.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An entity table</td></tr></tbody></table></div><h3><a name="xmlGetDocEntity" id="xmlGetDocEntity"></a>Function: xmlGetDocEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetDocEntity		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Do an entity lookup in the document entity hash table and</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document referencing the entity</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the corresponding entity, otherwise a lookup is done in the predefined entities too. Returns A pointer to the entity structure or NULL if not found.</td></tr></tbody></table></div><h3><a name="xmlGetDtdEntity" id="xmlGetDtdEntity"></a>Function: xmlGetDtdEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetDtdEntity		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Do an entity lookup in the DTD entity hash table and</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document referencing the entity</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the corresponding entity, if found. Note: the first argument is the document node, not the DTD node. Returns A pointer to the entity structure or NULL if not found.</td></tr></tbody></table></div><h3><a name="xmlGetParameterEntity" id="xmlGetParameterEntity"></a>Function: xmlGetParameterEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetParameterEntity	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Do an entity lookup in the internal and external subsets and</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document referencing the entity</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the corresponding parameter entity, if found. Returns A pointer to the entity structure or NULL if not found.</td></tr></tbody></table></div><h3><a name="xmlGetPredefinedEntity" id="xmlGetPredefinedEntity"></a>Function: xmlGetPredefinedEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetPredefinedEntity	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Check whether this name is an predefined entity.</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the entity</td></tr></tbody></table></div><h3><a name="xmlInitializePredefinedEntities" id="xmlInitializePredefinedEntities"></a>Function: xmlInitializePredefinedEntities</h3><pre class="programlisting">void	xmlInitializePredefinedEntities	(void)<br />
-</pre><p>Set up the predefined entities. Deprecated call</p>
-<h3><a name="xmlNewEntity" id="xmlNewEntity"></a>Function: xmlNewEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlNewEntity		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsibility of the caller to link it to the document later or free it when not needed anymore.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type XML_xxx_yyy_ENTITY</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the entity external ID if available</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the entity system ID if available</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the entity content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the entity or NULL 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>
diff --git a/doc/html/libxml-globals.html b/doc/html/libxml-globals.html
deleted file mode 100644
index a755037..0000000
--- a/doc/html/libxml-globals.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module globals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module globals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-entities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-entities.html">entities</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-hash.html">hash</a></th><td><a accesskey="n" href="libxml-hash.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>all the global variables and thread handling for those variables is handled by this module.  The bottom of this file is automatically generated by build_glob.py based on the description file global.data </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlGlobalState">xmlGlobalState</a><br />struct _xmlGlobalState
-</pre><pre class="programlisting">Typedef <a href="libxml-globals.html#xmlGlobalState">xmlGlobalState</a> * <a name="xmlGlobalStatePtr" id="xmlGlobalStatePtr">xmlGlobalStatePtr</a>
-</pre><pre class="programlisting">void	<a href="#xmlCleanupGlobals">xmlCleanupGlobals</a>		(void)</pre>
-<pre class="programlisting"><a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	<a href="#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a>	(<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)</pre>
-<pre class="programlisting">Function type: <a href="#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>
-void	<a href="#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)
-</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)
-</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	<a href="#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a>	(<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v)</pre>
-<pre class="programlisting">int	<a href="#xmlThrDefDefaultBufferSize">xmlThrDefDefaultBufferSize</a>	(int v)</pre>
-<pre class="programlisting"><a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	<a href="#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a>	(<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)</pre>
-<pre class="programlisting">int	<a href="#xmlThrDefDoValidityCheckingDefaultValue">xmlThrDefDoValidityCheckingDefaultValue</a>	(int v)</pre>
-<pre class="programlisting">int	<a href="#xmlThrDefGetWarningsDefaultValue">xmlThrDefGetWarningsDefaultValue</a>	(int v)</pre>
-<pre class="programlisting">int	<a href="#xmlThrDefIndentTreeOutput">xmlThrDefIndentTreeOutput</a>	(int v)</pre>
-<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>
-<pre class="programlisting">void	<a href="#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a>	(void * ctx, <br />					 <a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)</pre>
-<pre class="programlisting">void	<a href="#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a>	(void * ctx, <br />					 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)</pre>
-<pre class="programlisting">int	<a href="#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a>	(int v)</pre>
-<pre class="programlisting">const char *	<a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>	(const char * v)</pre>
-<h2>Description</h2>
-<h3><a name="xmlGlobalState" id="xmlGlobalState">Structure xmlGlobalState</a></h3><pre class="programlisting">Structure xmlGlobalState<br />struct _xmlGlobalState {
-    const char *	xmlParserVersion
-    <a href="libxml-tree.html#xmlSAXLocator">xmlSAXLocator</a>	xmlDefaultSAXLocator
-    <a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	xmlDefaultSAXHandler
-    <a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	docbDefaultSAXHandler
-    <a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	htmlDefaultSAXHandler
-    <a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a>	xmlFree
-    <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a>	xmlMalloc
-    <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a>	xmlMemStrdup
-    <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a>	xmlRealloc
-    <a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a>	xmlGenericError
-    <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	xmlStructuredError
-    void *	xmlGenericErrorContext
-    int	oldXMLWDcompatibility
-    <a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlBufferAllocScheme
-    int	xmlDefaultBufferSize
-    int	xmlSubstituteEntitiesDefaultValue
-    int	xmlDoValidityCheckingDefaultValue
-    int	xmlGetWarningsDefaultValue
-    int	xmlKeepBlanksDefaultValue
-    int	xmlLineNumbersDefaultValue
-    int	xmlLoadExtDtdDefaultValue
-    int	xmlParserDebugEntities
-    int	xmlPedanticParserDefaultValue
-    int	xmlSaveNoEmptyTags
-    int	xmlIndentTreeOutput
-    const char *	xmlTreeIndentString
-    <a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlRegisterNodeDefaultValue
-    <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
-    void *	xmlStructuredErrorContext
-}</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 />
-</pre><p>Registers a callback for node destruction</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 DeregisterNodeFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous value of the deregistration function</td></tr></tbody></table></div><h3><a name="xmlDeregisterNodeFunc" id="xmlDeregisterNodeFunc"></a>Function type: xmlDeregisterNodeFunc</h3><pre class="programlisting">Function type: xmlDeregisterNodeFunc
-void	xmlDeregisterNodeFunc		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)
-</pre><p>Signature for the deregistration callback of a discarded node</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr></tbody></table></div><br />
-<h3><a name="xmlInitGlobals" id="xmlInitGlobals"></a>Function: xmlInitGlobals</h3><pre class="programlisting">void	xmlInitGlobals			(void)<br />
-</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="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>Signature for the function doing the lookup for a suitable output method corresponding to an URI.</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 to write to</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>the new <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> in case of success or NULL if no method was found.</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>Signature for the function doing the lookup for a suitable input method corresponding to an URI.</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 to read from</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the requested source encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in case of success or NULL if no method was found.</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)
-</pre><p>Signature for the registration callback of a created node</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr></tbody></table></div><br />
-<h3><a name="xmlThrDefBufferAllocScheme" id="xmlThrDefBufferAllocScheme"></a>Function: xmlThrDefBufferAllocScheme</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlThrDefBufferAllocScheme	(<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> 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="xmlThrDefDefaultBufferSize" id="xmlThrDefDefaultBufferSize"></a>Function: xmlThrDefDefaultBufferSize</h3><pre class="programlisting">int	xmlThrDefDefaultBufferSize	(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="xmlThrDefDeregisterNodeDefault" id="xmlThrDefDeregisterNodeDefault"></a>Function: xmlThrDefDeregisterNodeDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlThrDefDeregisterNodeDefault	(<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</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="xmlThrDefDoValidityCheckingDefaultValue" id="xmlThrDefDoValidityCheckingDefaultValue"></a>Function: xmlThrDefDoValidityCheckingDefaultValue</h3><pre class="programlisting">int	xmlThrDefDoValidityCheckingDefaultValue	(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="xmlThrDefGetWarningsDefaultValue" id="xmlThrDefGetWarningsDefaultValue"></a>Function: xmlThrDefGetWarningsDefaultValue</h3><pre class="programlisting">int	xmlThrDefGetWarningsDefaultValue	(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="xmlThrDefIndentTreeOutput" id="xmlThrDefIndentTreeOutput"></a>Function: xmlThrDefIndentTreeOutput</h3><pre class="programlisting">int	xmlThrDefIndentTreeOutput	(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="xmlThrDefKeepBlanksDefaultValue" id="xmlThrDefKeepBlanksDefaultValue"></a>Function: xmlThrDefKeepBlanksDefaultValue</h3><pre class="programlisting">int	xmlThrDefKeepBlanksDefaultValue	(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="xmlThrDefLineNumbersDefaultValue" id="xmlThrDefLineNumbersDefaultValue"></a>Function: xmlThrDefLineNumbersDefaultValue</h3><pre class="programlisting">int	xmlThrDefLineNumbersDefaultValue	(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="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="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>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 />
-</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="xmlThrDefSetGenericErrorFunc" id="xmlThrDefSetGenericErrorFunc"></a>Function: xmlThrDefSetGenericErrorFunc</h3><pre class="programlisting">void	xmlThrDefSetGenericErrorFunc	(void * ctx, <br />					 <a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br />
-</pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlThrDefSetStructuredErrorFunc" id="xmlThrDefSetStructuredErrorFunc"></a>Function: xmlThrDefSetStructuredErrorFunc</h3><pre class="programlisting">void	xmlThrDefSetStructuredErrorFunc	(void * ctx, <br />					 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br />
-</pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlThrDefSubstituteEntitiesDefaultValue" id="xmlThrDefSubstituteEntitiesDefaultValue"></a>Function: xmlThrDefSubstituteEntitiesDefaultValue</h3><pre class="programlisting">int	xmlThrDefSubstituteEntitiesDefaultValue	(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="xmlThrDefTreeIndentString" id="xmlThrDefTreeIndentString"></a>Function: xmlThrDefTreeIndentString</h3><pre class="programlisting">const char *	xmlThrDefTreeIndentString	(const char * 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><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>
diff --git a/doc/html/libxml-hash.html b/doc/html/libxml-hash.html
deleted file mode 100644
index ac5a000..0000000
--- a/doc/html/libxml-hash.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module hash from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module hash from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-globals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-globals.html">globals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-list.html">list</a></th><td><a accesskey="n" href="libxml-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>This module implements the hash table support used in various places in the library. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a></pre><pre class="programlisting">Structure <a href="#xmlHashTable">xmlHashTable</a><br />struct _xmlHashTable
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-hash.html#xmlHashTable">xmlHashTable</a> * <a name="xmlHashTablePtr" id="xmlHashTablePtr">xmlHashTablePtr</a>
-</pre><pre class="programlisting">int	<a href="#xmlHashAddEntry">xmlHashAddEntry</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 void * userdata)</pre>
-<pre class="programlisting">int	<a href="#xmlHashAddEntry2">xmlHashAddEntry2</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 void * userdata)</pre>
-<pre class="programlisting">int	<a href="#xmlHashAddEntry3">xmlHashAddEntry3</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 void * userdata)</pre>
-<pre class="programlisting">Function type: <a href="#xmlHashCopier">xmlHashCopier</a>
-void *	<a href="#xmlHashCopier">xmlHashCopier</a>			(void * payload, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre>
-<pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCopy">xmlHashCopy</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashCopier">xmlHashCopier</a> f)</pre>
-<pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreate">xmlHashCreate</a>		(int size)</pre>
-<pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreateDict">xmlHashCreateDict</a>	(int size, <br />					 <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)</pre>
-<pre class="programlisting">Function type: <a href="#xmlHashDeallocator">xmlHashDeallocator</a>
-void	<a href="#xmlHashDeallocator">xmlHashDeallocator</a>		(void * payload, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre>
-<pre class="programlisting">void	<a href="#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a>	(void * entry, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void	<a href="#xmlHashFree">xmlHashFree</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)</pre>
-<pre class="programlisting">void *	<a href="#xmlHashLookup">xmlHashLookup</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void *	<a href="#xmlHashLookup2">xmlHashLookup2</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2)</pre>
-<pre class="programlisting">void *	<a href="#xmlHashLookup3">xmlHashLookup3</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3)</pre>
-<pre class="programlisting">void *	<a href="#xmlHashQLookup">xmlHashQLookup</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void *	<a href="#xmlHashQLookup2">xmlHashQLookup2</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2)</pre>
-<pre class="programlisting">void *	<a href="#xmlHashQLookup3">xmlHashQLookup3</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3)</pre>
-<pre class="programlisting">int	<a href="#xmlHashRemoveEntry">xmlHashRemoveEntry</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)</pre>
-<pre class="programlisting">int	<a href="#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)</pre>
-<pre class="programlisting">int	<a href="#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)</pre>
-<pre class="programlisting">void	<a href="#xmlHashScan">xmlHashScan</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br />					 void * data)</pre>
-<pre class="programlisting">void	<a href="#xmlHashScan3">xmlHashScan3</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br />					 void * data)</pre>
-<pre class="programlisting">void	<a href="#xmlHashScanFull">xmlHashScanFull</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br />					 void * data)</pre>
-<pre class="programlisting">void	<a href="#xmlHashScanFull3">xmlHashScanFull3</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br />					 void * data)</pre>
-<pre class="programlisting">Function type: <a href="#xmlHashScanner">xmlHashScanner</a>
-void	<a href="#xmlHashScanner">xmlHashScanner</a>			(void * payload, <br />					 void * data, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlHashScannerFull">xmlHashScannerFull</a>
-void	<a href="#xmlHashScannerFull">xmlHashScannerFull</a>		(void * payload, <br />					 void * data, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3)
-</pre>
-<pre class="programlisting">int	<a href="#xmlHashSize">xmlHashSize</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table)</pre>
-<pre class="programlisting">int	<a href="#xmlHashUpdateEntry">xmlHashUpdateEntry</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 void * userdata, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)</pre>
-<pre class="programlisting">int	<a href="#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 void * userdata, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)</pre>
-<pre class="programlisting">int	<a href="#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 void * userdata, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)</pre>
-<h2>Description</h2>
-<h3><a name="XML_CAST_FPTR" id="XML_CAST_FPTR"></a>Macro: XML_CAST_FPTR</h3><pre>#define XML_CAST_FPTR</pre><p>Macro to do a casting from an object pointer to a function pointer without encountering a warning from gcc #define XML_CAST_FPTR(fptr) (*(void **)(&amp;fptr)) This macro violated ISO C aliasing rules (gcc4 on s390 broke) so it is disabled now</p>
-<h3><a name="xmlHashTable" id="xmlHashTable">Structure xmlHashTable</a></h3><pre class="programlisting">Structure xmlHashTable<br />struct _xmlHashTable {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlHashAddEntry" id="xmlHashAddEntry"></a>Function: xmlHashAddEntry</h3><pre class="programlisting">int	xmlHashAddEntry			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 void * userdata)<br />
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlHashAddEntry2" id="xmlHashAddEntry2"></a>Function: xmlHashAddEntry2</h3><pre class="programlisting">int	xmlHashAddEntry2		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 void * userdata)<br />
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Duplicate tuples generate errors.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlHashAddEntry3" id="xmlHashAddEntry3"></a>Function: xmlHashAddEntry3</h3><pre class="programlisting">int	xmlHashAddEntry3		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 void * userdata)<br />
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlHashCopier" id="xmlHashCopier"></a>Function type: xmlHashCopier</h3><pre class="programlisting">Function type: xmlHashCopier
-void *	xmlHashCopier			(void * payload, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre><p>Callback to copy data from a hash.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the data or NULL in case of error.</td></tr></tbody></table></div><br />
-<h3><a name="xmlHashCopy" id="xmlHashCopy"></a>Function: xmlHashCopy</h3><pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCopy		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashCopier">xmlHashCopier</a> f)<br />
-</pre><p>Scan the hash @table and applied @f to each value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the copier function for items in the hash</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new table or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlHashCreate" id="xmlHashCreate"></a>Function: xmlHashCreate</h3><pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreate		(int size)<br />
-</pre><p>Create a new xmlHashTablePtr.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occurred.</td></tr></tbody></table></div><h3><a name="xmlHashCreateDict" id="xmlHashCreateDict"></a>Function: xmlHashCreateDict</h3><pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreateDict	(int size, <br />					 <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br />
-</pre><p>Create a new <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> which will use @dict as the internal dictionary</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>a dictionary to use for the hash</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occurred.</td></tr></tbody></table></div><h3><a name="xmlHashDeallocator" id="xmlHashDeallocator"></a>Function type: xmlHashDeallocator</h3><pre class="programlisting">Function type: xmlHashDeallocator
-void	xmlHashDeallocator		(void * payload, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre><p>Callback to free data from a hash.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div><br />
-<h3><a name="xmlHashDefaultDeallocator" id="xmlHashDefaultDeallocator"></a>Function: xmlHashDefaultDeallocator</h3><pre class="programlisting">void	xmlHashDefaultDeallocator	(void * entry, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Free a hash table entry with xmlFree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>entry</tt></i>:</span></td><td>the hash table entry</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entry's name</td></tr></tbody></table></div><h3><a name="xmlHashFree" id="xmlHashFree"></a>Function: xmlHashFree</h3><pre class="programlisting">void	xmlHashFree			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br />
-</pre><p>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for items in the hash</td></tr></tbody></table></div><h3><a name="xmlHashLookup" id="xmlHashLookup"></a>Function: xmlHashLookup</h3><pre class="programlisting">void *	xmlHashLookup			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Find the userdata specified by the @name.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the userdata</td></tr></tbody></table></div><h3><a name="xmlHashLookup2" id="xmlHashLookup2"></a>Function: xmlHashLookup2</h3><pre class="programlisting">void *	xmlHashLookup2			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2)<br />
-</pre><p>Find the userdata specified by the (@name, @name2) tuple.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the userdata</td></tr></tbody></table></div><h3><a name="xmlHashLookup3" id="xmlHashLookup3"></a>Function: xmlHashLookup3</h3><pre class="programlisting">void *	xmlHashLookup3			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3)<br />
-</pre><p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the a pointer to the userdata</td></tr></tbody></table></div><h3><a name="xmlHashQLookup" id="xmlHashQLookup"></a>Function: xmlHashQLookup</h3><pre class="programlisting">void *	xmlHashQLookup			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Find the userdata specified by the QName @prefix:@name/@name.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the userdata</td></tr></tbody></table></div><h3><a name="xmlHashQLookup2" id="xmlHashQLookup2"></a>Function: xmlHashQLookup2</h3><pre class="programlisting">void *	xmlHashQLookup2			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2)<br />
-</pre><p>Find the userdata specified by the QNames tuple</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>prefix2</tt></i>:</span></td><td>the second prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the userdata</td></tr></tbody></table></div><h3><a name="xmlHashQLookup3" id="xmlHashQLookup3"></a>Function: xmlHashQLookup3</h3><pre class="programlisting">void *	xmlHashQLookup3			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3)<br />
-</pre><p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>prefix2</tt></i>:</span></td><td>the second prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>prefix3</tt></i>:</span></td><td>the third prefix of the userdata</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the a pointer to the userdata</td></tr></tbody></table></div><h3><a name="xmlHashRemoveEntry" id="xmlHashRemoveEntry"></a>Function: xmlHashRemoveEntry</h3><pre class="programlisting">int	xmlHashRemoveEntry		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br />
-</pre><p>Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for removed item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the removal succeeded and -1 in case of error or not found.</td></tr></tbody></table></div><h3><a name="xmlHashRemoveEntry2" id="xmlHashRemoveEntry2"></a>Function: xmlHashRemoveEntry2</h3><pre class="programlisting">int	xmlHashRemoveEntry2		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br />
-</pre><p>Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for removed item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the removal succeeded and -1 in case of error or not found.</td></tr></tbody></table></div><h3><a name="xmlHashRemoveEntry3" id="xmlHashRemoveEntry3"></a>Function: xmlHashRemoveEntry3</h3><pre class="programlisting">int	xmlHashRemoveEntry3		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br />
-</pre><p>Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for removed item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the removal succeeded and -1 in case of error or not found.</td></tr></tbody></table></div><h3><a name="xmlHashScan" id="xmlHashScan"></a>Function: xmlHashScan</h3><pre class="programlisting">void	xmlHashScan			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br />					 void * data)<br />
-</pre><p>Scan the hash @table and applied @f to each value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to f</td></tr></tbody></table></div><h3><a name="xmlHashScan3" id="xmlHashScan3"></a>Function: xmlHashScan3</h3><pre class="programlisting">void	xmlHashScan3			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br />					 void * data)<br />
-</pre><p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to f</td></tr></tbody></table></div><h3><a name="xmlHashScanFull" id="xmlHashScanFull"></a>Function: xmlHashScanFull</h3><pre class="programlisting">void	xmlHashScanFull			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br />					 void * data)<br />
-</pre><p>Scan the hash @table and applied @f to each value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to f</td></tr></tbody></table></div><h3><a name="xmlHashScanFull3" id="xmlHashScanFull3"></a>Function: xmlHashScanFull3</h3><pre class="programlisting">void	xmlHashScanFull3		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br />					 void * data)<br />
-</pre><p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to f</td></tr></tbody></table></div><h3><a name="xmlHashScanner" id="xmlHashScanner"></a>Function type: xmlHashScanner</h3><pre class="programlisting">Function type: xmlHashScanner
-void	xmlHashScanner			(void * payload, <br />					 void * data, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre><p>Callback when scanning data in a hash with the simple scanner.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scanner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div><br />
-<h3><a name="xmlHashScannerFull" id="xmlHashScannerFull"></a>Function type: xmlHashScannerFull</h3><pre class="programlisting">Function type: xmlHashScannerFull
-void	xmlHashScannerFull		(void * payload, <br />					 void * data, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3)
-</pre><p>Callback when scanning data in a hash with the full scanner.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scanner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>the second name associated</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>the third name associated</td></tr></tbody></table></div><br />
-<h3><a name="xmlHashSize" id="xmlHashSize"></a>Function: xmlHashSize</h3><pre class="programlisting">int	xmlHashSize			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table)<br />
-</pre><p>Query the number of elements installed in the hash @table.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the hash table or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlHashUpdateEntry" id="xmlHashUpdateEntry"></a>Function: xmlHashUpdateEntry</h3><pre class="programlisting">int	xmlHashUpdateEntry		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 void * userdata, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br />
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for this @name will be removed and freed with @f if found.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for replaced item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlHashUpdateEntry2" id="xmlHashUpdateEntry2"></a>Function: xmlHashUpdateEntry2</h3><pre class="programlisting">int	xmlHashUpdateEntry2		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 void * userdata, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br />
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Existing entry for this tuple will be removed and freed with @f if found.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for replaced item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlHashUpdateEntry3" id="xmlHashUpdateEntry3"></a>Function: xmlHashUpdateEntry3</h3><pre class="programlisting">int	xmlHashUpdateEntry3		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 void * userdata, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br />
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Existing entry for this tuple will be removed and freed with @f if found.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for replaced item (if any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded 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>
diff --git a/doc/html/libxml-lib.html b/doc/html/libxml-lib.html
deleted file mode 100644
index 55d2f77..0000000
--- a/doc/html/libxml-lib.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version information</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-list.html b/doc/html/libxml-list.html
deleted file mode 100644
index 042b3dc..0000000
--- a/doc/html/libxml-list.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module list from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module list from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-hash.html">hash</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-nanoftp.html">nanoftp</a></th><td><a accesskey="n" href="libxml-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implement the list support used in various place in the library. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlLink">xmlLink</a><br />struct _xmlLink
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-list.html#xmlLink">xmlLink</a> * <a name="xmlLinkPtr" id="xmlLinkPtr">xmlLinkPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlList">xmlList</a><br />struct _xmlList
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-list.html#xmlList">xmlList</a> * <a name="xmlListPtr" id="xmlListPtr">xmlListPtr</a>
-</pre><pre class="programlisting">void *	<a href="#xmlLinkGetData">xmlLinkGetData</a>			(<a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)</pre>
-<pre class="programlisting">int	<a href="#xmlListAppend">xmlListAppend</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
-<pre class="programlisting">void	<a href="#xmlListClear">xmlListClear</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
-<pre class="programlisting">int	<a href="#xmlListCopy">xmlListCopy</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> cur, <br />					 const <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> old)</pre>
-<pre class="programlisting"><a href="libxml-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListCreate">xmlListCreate</a>		(<a href="libxml-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br />					 <a href="libxml-list.html#xmlListDataCompare">xmlListDataCompare</a> compare)</pre>
-<pre class="programlisting">Function type: <a href="#xmlListDataCompare">xmlListDataCompare</a>
-int	<a href="#xmlListDataCompare">xmlListDataCompare</a>		(const void * data0, <br />					 const void * data1)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlListDeallocator">xmlListDeallocator</a>
-void	<a href="#xmlListDeallocator">xmlListDeallocator</a>		(<a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)
-</pre>
-<pre class="programlisting">void	<a href="#xmlListDelete">xmlListDelete</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
-<pre class="programlisting"><a href="libxml-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListDup">xmlListDup</a>		(const <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> old)</pre>
-<pre class="programlisting">int	<a href="#xmlListEmpty">xmlListEmpty</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
-<pre class="programlisting"><a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListEnd">xmlListEnd</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
-<pre class="programlisting"><a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListFront">xmlListFront</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
-<pre class="programlisting">int	<a href="#xmlListInsert">xmlListInsert</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
-<pre class="programlisting">void	<a href="#xmlListMerge">xmlListMerge</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l1, <br />					 <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l2)</pre>
-<pre class="programlisting">void	<a href="#xmlListPopBack">xmlListPopBack</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
-<pre class="programlisting">void	<a href="#xmlListPopFront">xmlListPopFront</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
-<pre class="programlisting">int	<a href="#xmlListPushBack">xmlListPushBack</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
-<pre class="programlisting">int	<a href="#xmlListPushFront">xmlListPushFront</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
-<pre class="programlisting">int	<a href="#xmlListRemoveAll">xmlListRemoveAll</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
-<pre class="programlisting">int	<a href="#xmlListRemoveFirst">xmlListRemoveFirst</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
-<pre class="programlisting">int	<a href="#xmlListRemoveLast">xmlListRemoveLast</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
-<pre class="programlisting">void	<a href="#xmlListReverse">xmlListReverse</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
-<pre class="programlisting">void *	<a href="#xmlListReverseSearch">xmlListReverseSearch</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
-<pre class="programlisting">void	<a href="#xmlListReverseWalk">xmlListReverseWalk</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 void * user)</pre>
-<pre class="programlisting">void *	<a href="#xmlListSearch">xmlListSearch</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
-<pre class="programlisting">int	<a href="#xmlListSize">xmlListSize</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
-<pre class="programlisting">void	<a href="#xmlListSort">xmlListSort</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
-<pre class="programlisting">void	<a href="#xmlListWalk">xmlListWalk</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 void * user)</pre>
-<pre class="programlisting">Function type: <a href="#xmlListWalker">xmlListWalker</a>
-int	<a href="#xmlListWalker">xmlListWalker</a>			(const void * data, <br />					 void * user)
-</pre>
-<h2>Description</h2>
-<h3><a name="xmlLink" id="xmlLink">Structure xmlLink</a></h3><pre class="programlisting">Structure xmlLink<br />struct _xmlLink {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlList" id="xmlList">Structure xmlList</a></h3><pre class="programlisting">Structure xmlList<br />struct _xmlList {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlLinkGetData" id="xmlLinkGetData"></a>Function: xmlLinkGetData</h3><pre class="programlisting">void *	xmlLinkGetData			(<a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br />
-</pre><p>See Returns.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>lk</tt></i>:</span></td><td>a link</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the data referenced from this link</td></tr></tbody></table></div><h3><a name="xmlListAppend" id="xmlListAppend"></a>Function: xmlListAppend</h3><pre class="programlisting">int	xmlListAppend			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
-</pre><p>Insert data in the ordered list at the end for this value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, 1 in case of failure</td></tr></tbody></table></div><h3><a name="xmlListClear" id="xmlListClear"></a>Function: xmlListClear</h3><pre class="programlisting">void	xmlListClear			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
-</pre><p>Remove the all data in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div><h3><a name="xmlListCopy" id="xmlListCopy"></a>Function: xmlListCopy</h3><pre class="programlisting">int	xmlListCopy			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> cur, <br />					 const <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> old)<br />
-</pre><p>Move all the element from the old list in the new list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the new list</td></tr><tr><td><span class="term"><i><tt>old</tt></i>:</span></td><td>the old list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success 1 in case of error</td></tr></tbody></table></div><h3><a name="xmlListCreate" id="xmlListCreate"></a>Function: xmlListCreate</h3><pre class="programlisting"><a href="libxml-list.html#xmlListPtr">xmlListPtr</a>	xmlListCreate		(<a href="libxml-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br />					 <a href="libxml-list.html#xmlListDataCompare">xmlListDataCompare</a> compare)<br />
-</pre><p>Create a new list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>deallocator</tt></i>:</span></td><td>an optional deallocator function</td></tr><tr><td><span class="term"><i><tt>compare</tt></i>:</span></td><td>an optional comparison function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new list or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlListDataCompare" id="xmlListDataCompare"></a>Function type: xmlListDataCompare</h3><pre class="programlisting">Function type: xmlListDataCompare
-int	xmlListDataCompare		(const void * data0, <br />					 const void * data1)
-</pre><p>Callback function used to compare 2 data.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>data0</tt></i>:</span></td><td>the first data</td></tr><tr><td><span class="term"><i><tt>data1</tt></i>:</span></td><td>the second data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 is equality, -1 or 1 otherwise depending on the ordering.</td></tr></tbody></table></div><br />
-<h3><a name="xmlListDeallocator" id="xmlListDeallocator"></a>Function type: xmlListDeallocator</h3><pre class="programlisting">Function type: xmlListDeallocator
-void	xmlListDeallocator		(<a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)
-</pre><p>Callback function used to free data from a list.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>lk</tt></i>:</span></td><td>the data to deallocate</td></tr></tbody></table></div><br />
-<h3><a name="xmlListDelete" id="xmlListDelete"></a>Function: xmlListDelete</h3><pre class="programlisting">void	xmlListDelete			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
-</pre><p>Deletes the list and its associated data</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div><h3><a name="xmlListDup" id="xmlListDup"></a>Function: xmlListDup</h3><pre class="programlisting"><a href="libxml-list.html#xmlListPtr">xmlListPtr</a>	xmlListDup		(const <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> old)<br />
-</pre><p>Duplicate the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>old</tt></i>:</span></td><td>the list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new copy of the list or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlListEmpty" id="xmlListEmpty"></a>Function: xmlListEmpty</h3><pre class="programlisting">int	xmlListEmpty			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
-</pre><p>Is the list empty ?</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the list is empty, 0 if not empty and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlListEnd" id="xmlListEnd"></a>Function: xmlListEnd</h3><pre class="programlisting"><a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListEnd		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
-</pre><p>Get the last element in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last element in the list, or NULL</td></tr></tbody></table></div><h3><a name="xmlListFront" id="xmlListFront"></a>Function: xmlListFront</h3><pre class="programlisting"><a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListFront		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
-</pre><p>Get the first element in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the first element in the list, or NULL</td></tr></tbody></table></div><h3><a name="xmlListInsert" id="xmlListInsert"></a>Function: xmlListInsert</h3><pre class="programlisting">int	xmlListInsert			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
-</pre><p>Insert data in the ordered list at the beginning for this value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, 1 in case of failure</td></tr></tbody></table></div><h3><a name="xmlListMerge" id="xmlListMerge"></a>Function: xmlListMerge</h3><pre class="programlisting">void	xmlListMerge			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l1, <br />					 <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l2)<br />
-</pre><p>include all the elements of the second list in the first one and clear the second list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l1</tt></i>:</span></td><td>the original list</td></tr><tr><td><span class="term"><i><tt>l2</tt></i>:</span></td><td>the new list</td></tr></tbody></table></div><h3><a name="xmlListPopBack" id="xmlListPopBack"></a>Function: xmlListPopBack</h3><pre class="programlisting">void	xmlListPopBack			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
-</pre><p>Removes the last element in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div><h3><a name="xmlListPopFront" id="xmlListPopFront"></a>Function: xmlListPopFront</h3><pre class="programlisting">void	xmlListPopFront			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
-</pre><p>Removes the first element in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div><h3><a name="xmlListPushBack" id="xmlListPushBack"></a>Function: xmlListPushBack</h3><pre class="programlisting">int	xmlListPushBack			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
-</pre><p>add the new data at the end of the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>new data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if successful, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlListPushFront" id="xmlListPushFront"></a>Function: xmlListPushFront</h3><pre class="programlisting">int	xmlListPushFront		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
-</pre><p>add the new data at the beginning of the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>new data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if successful, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlListRemoveAll" id="xmlListRemoveAll"></a>Function: xmlListRemoveAll</h3><pre class="programlisting">int	xmlListRemoveAll		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
-</pre><p>Remove the all instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of deallocation, or 0 if not found</td></tr></tbody></table></div><h3><a name="xmlListRemoveFirst" id="xmlListRemoveFirst"></a>Function: xmlListRemoveFirst</h3><pre class="programlisting">int	xmlListRemoveFirst		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
-</pre><p>Remove the first instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occurred, or 0 if not found</td></tr></tbody></table></div><h3><a name="xmlListRemoveLast" id="xmlListRemoveLast"></a>Function: xmlListRemoveLast</h3><pre class="programlisting">int	xmlListRemoveLast		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
-</pre><p>Remove the last instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occurred, or 0 if not found</td></tr></tbody></table></div><h3><a name="xmlListReverse" id="xmlListReverse"></a>Function: xmlListReverse</h3><pre class="programlisting">void	xmlListReverse			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
-</pre><p>Reverse the order of the elements in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div><h3><a name="xmlListReverseSearch" id="xmlListReverseSearch"></a>Function: xmlListReverseSearch</h3><pre class="programlisting">void *	xmlListReverseSearch		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
-</pre><p>Search the list in reverse order for an existing value of @data</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlListReverseWalk" id="xmlListReverseWalk"></a>Function: xmlListReverseWalk</h3><pre class="programlisting">void	xmlListReverseWalk		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 void * user)<br />
-</pre><p>Walk all the element of the list in reverse order and apply the walker function to it</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker function</td></tr></tbody></table></div><h3><a name="xmlListSearch" id="xmlListSearch"></a>Function: xmlListSearch</h3><pre class="programlisting">void *	xmlListSearch			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
-</pre><p>Search the list for an existing value of @data</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlListSize" id="xmlListSize"></a>Function: xmlListSize</h3><pre class="programlisting">int	xmlListSize			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
-</pre><p>Get the number of elements in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the list or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlListSort" id="xmlListSort"></a>Function: xmlListSort</h3><pre class="programlisting">void	xmlListSort			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
-</pre><p>Sort all the elements in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div><h3><a name="xmlListWalk" id="xmlListWalk"></a>Function: xmlListWalk</h3><pre class="programlisting">void	xmlListWalk			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 void * user)<br />
-</pre><p>Walk all the element of the first from first to last and apply the walker function to it</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker function</td></tr></tbody></table></div><h3><a name="xmlListWalker" id="xmlListWalker"></a>Function type: xmlListWalker</h3><pre class="programlisting">Function type: xmlListWalker
-int	xmlListWalker			(const void * data, <br />					 void * user)
-</pre><p>Callback function used when walking a list with xmlListWalk().</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data found in the list</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>extra user provided data to the walker</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 to stop walking the list, 1 otherwise.</td></tr></tbody></table></div><br />
-<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-nanoftp.html b/doc/html/libxml-nanoftp.html
deleted file mode 100644
index 8f4171e..0000000
--- a/doc/html/libxml-nanoftp.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module nanoftp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module nanoftp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-list.html">list</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-nanohttp.html">nanohttp</a></th><td><a accesskey="n" href="libxml-nanohttp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>minimal FTP implementation allowing to fetch resources like external subset. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a></pre><pre class="programlisting">#define <a href="#SOCKET">SOCKET</a></pre><pre class="programlisting">Function type: <a href="#ftpDataCallback">ftpDataCallback</a>
-void	<a href="#ftpDataCallback">ftpDataCallback</a>			(void * userData, <br />					 const char * data, <br />					 int len)
-</pre>
-<pre class="programlisting">Function type: <a href="#ftpListCallback">ftpListCallback</a>
-void	<a href="#ftpListCallback">ftpListCallback</a>			(void * userData, <br />					 const char * filename, <br />					 const char * attrib, <br />					 const char * owner, <br />					 const char * group, <br />					 unsigned long size, <br />					 int links, <br />					 int year, <br />					 const char * month, <br />					 int day, <br />					 int hour, <br />					 int minute)
-</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a>		(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>		(void)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPClose">xmlNanoFTPClose</a>			(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a>	(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPConnect">xmlNanoFTPConnect</a>		(void * ctx)</pre>
-<pre class="programlisting">void *	<a href="#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a>		(const char * server, <br />					 int port)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPCwd">xmlNanoFTPCwd</a>			(void * ctx, <br />					 const char * directory)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPDele">xmlNanoFTPDele</a>			(void * ctx, <br />					 const char * file)</pre>
-<pre class="programlisting">void	<a href="#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a>		(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPGet">xmlNanoFTPGet</a>			(void * ctx, <br />					 <a href="libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br />					 void * userData, <br />					 const char * filename)</pre>
-<pre class="programlisting"><a href="libxml-nanoftp.html#SOCKET">SOCKET</a>	<a href="#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a>		(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a>		(void * ctx)</pre>
-<pre class="programlisting"><a href="libxml-nanoftp.html#SOCKET">SOCKET</a>	<a href="#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a>		(void * ctx, <br />					 const char * filename)</pre>
-<pre class="programlisting">void	<a href="#xmlNanoFTPInit">xmlNanoFTPInit</a>			(void)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPList">xmlNanoFTPList</a>			(void * ctx, <br />					 <a href="libxml-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br />					 void * userData, <br />					 const char * filename)</pre>
-<pre class="programlisting">void *	<a href="#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a>		(const char * URL)</pre>
-<pre class="programlisting">void *	<a href="#xmlNanoFTPOpen">xmlNanoFTPOpen</a>			(const char * URL)</pre>
-<pre class="programlisting">void	<a href="#xmlNanoFTPProxy">xmlNanoFTPProxy</a>			(const char * host, <br />					 int port, <br />					 const char * user, <br />					 const char * passwd, <br />					 int type)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPQuit">xmlNanoFTPQuit</a>			(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPRead">xmlNanoFTPRead</a>			(void * ctx, <br />					 void * dest, <br />					 int len)</pre>
-<pre class="programlisting">void	<a href="#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a>		(const char * URL)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a>		(void * ctx, <br />					 const char * URL)</pre>
-<h2>Description</h2>
-<h3><a name="INVALID_SOCKET" id="INVALID_SOCKET"></a>Macro: INVALID_SOCKET</h3><pre>#define INVALID_SOCKET</pre><p>macro used to provide portability of code to windows sockets the value to be used when the socket is not valid</p>
-<h3><a name="SOCKET" id="SOCKET"></a>Macro: SOCKET</h3><pre>#define SOCKET</pre><p>macro used to provide portability of code to windows sockets</p>
-<h3><a name="ftpDataCallback" id="ftpDataCallback"></a>Function type: ftpDataCallback</h3><pre class="programlisting">Function type: ftpDataCallback
-void	ftpDataCallback			(void * userData, <br />					 const char * data, <br />					 int len)
-</pre><p>A callback for the <a href="libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a> command.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>the user provided context</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data received</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>its size in bytes</td></tr></tbody></table></div><br />
-<h3><a name="ftpListCallback" id="ftpListCallback"></a>Function type: ftpListCallback</h3><pre class="programlisting">Function type: ftpListCallback
-void	ftpListCallback			(void * userData, <br />					 const char * filename, <br />					 const char * attrib, <br />					 const char * owner, <br />					 const char * group, <br />					 unsigned long size, <br />					 int links, <br />					 int year, <br />					 const char * month, <br />					 int day, <br />					 int hour, <br />					 int minute)
-</pre><p>A callback for the <a href="libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a> command. Note that only one of year and day:minute are specified.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>user provided data for the callback</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name (including "-&gt;" when links are shown)</td></tr><tr><td><span class="term"><i><tt>attrib</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> string</td></tr><tr><td><span class="term"><i><tt>owner</tt></i>:</span></td><td>the owner string</td></tr><tr><td><span class="term"><i><tt>group</tt></i>:</span></td><td>the group string</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the file size</td></tr><tr><td><span class="term"><i><tt>links</tt></i>:</span></td><td>the link count</td></tr><tr><td><span class="term"><i><tt>year</tt></i>:</span></td><td>the year</td></tr><tr><td><span class="term"><i><tt>month</tt></i>:</span></td><td>the month</td></tr><tr><td><span class="term"><i><tt>day</tt></i>:</span></td><td>the day</td></tr><tr><td><span class="term"><i><tt>hour</tt></i>:</span></td><td>the hour</td></tr><tr><td><span class="term"><i><tt>minute</tt></i>:</span></td><td>the minute</td></tr></tbody></table></div><br />
-<h3><a name="xmlNanoFTPCheckResponse" id="xmlNanoFTPCheckResponse"></a>Function: xmlNanoFTPCheckResponse</h3><pre class="programlisting">int	xmlNanoFTPCheckResponse		(void * ctx)<br />
-</pre><p>Check if there is a response from the FTP server after a command.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the code number, or 0</td></tr></tbody></table></div><h3><a name="xmlNanoFTPCleanup" id="xmlNanoFTPCleanup"></a>Function: xmlNanoFTPCleanup</h3><pre class="programlisting">void	xmlNanoFTPCleanup		(void)<br />
-</pre><p>Cleanup the FTP protocol layer. This cleanup proxy information.</p>
-<h3><a name="xmlNanoFTPClose" id="xmlNanoFTPClose"></a>Function: xmlNanoFTPClose</h3><pre class="programlisting">int	xmlNanoFTPClose			(void * ctx)<br />
-</pre><p>Close the connection and both control and transport</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPCloseConnection" id="xmlNanoFTPCloseConnection"></a>Function: xmlNanoFTPCloseConnection</h3><pre class="programlisting">int	xmlNanoFTPCloseConnection	(void * ctx)<br />
-</pre><p>Close the data connection from the server</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPConnect" id="xmlNanoFTPConnect"></a>Function: xmlNanoFTPConnect</h3><pre class="programlisting">int	xmlNanoFTPConnect		(void * ctx)<br />
-</pre><p>Tries to open a control connection</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPConnectTo" id="xmlNanoFTPConnectTo"></a>Function: xmlNanoFTPConnectTo</h3><pre class="programlisting">void *	xmlNanoFTPConnectTo		(const char * server, <br />					 int port)<br />
-</pre><p>Tries to open a control connection to the given server/port</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>server</tt></i>:</span></td><td>an FTP server name</td></tr><tr><td><span class="term"><i><tt>port</tt></i>:</span></td><td>the port (use 21 if 0)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an fTP context or NULL if it failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPCwd" id="xmlNanoFTPCwd"></a>Function: xmlNanoFTPCwd</h3><pre class="programlisting">int	xmlNanoFTPCwd			(void * ctx, <br />					 const char * directory)<br />
-</pre><p>Tries to change the remote directory</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>directory</tt></i>:</span></td><td>a directory on the server</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if CWD worked, 0 if it failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPDele" id="xmlNanoFTPDele"></a>Function: xmlNanoFTPDele</h3><pre class="programlisting">int	xmlNanoFTPDele			(void * ctx, <br />					 const char * file)<br />
-</pre><p>Tries to delete an item (file or directory) from server</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>a file or directory on the server</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if DELE worked, 0 if it failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPFreeCtxt" id="xmlNanoFTPFreeCtxt"></a>Function: xmlNanoFTPFreeCtxt</h3><pre class="programlisting">void	xmlNanoFTPFreeCtxt		(void * ctx)<br />
-</pre><p>Frees the context after closing the connection.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr></tbody></table></div><h3><a name="xmlNanoFTPGet" id="xmlNanoFTPGet"></a>Function: xmlNanoFTPGet</h3><pre class="programlisting">int	xmlNanoFTPGet			(void * ctx, <br />					 <a href="libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br />					 void * userData, <br />					 const char * filename)<br />
-</pre><p>Fetch the given file from the server. All data are passed back in the callbacks. The last callback has a size of 0 block.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPGetConnection" id="xmlNanoFTPGetConnection"></a>Function: xmlNanoFTPGetConnection</h3><pre class="programlisting"><a href="libxml-nanoftp.html#SOCKET">SOCKET</a>	xmlNanoFTPGetConnection		(void * ctx)<br />
-</pre><p>Try to open a data connection to the server. Currently only passive mode is supported.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPGetResponse" id="xmlNanoFTPGetResponse"></a>Function: xmlNanoFTPGetResponse</h3><pre class="programlisting">int	xmlNanoFTPGetResponse		(void * ctx)<br />
-</pre><p>Get the response from the FTP server after a command.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the code number</td></tr></tbody></table></div><h3><a name="xmlNanoFTPGetSocket" id="xmlNanoFTPGetSocket"></a>Function: xmlNanoFTPGetSocket</h3><pre class="programlisting"><a href="libxml-nanoftp.html#SOCKET">SOCKET</a>	xmlNanoFTPGetSocket		(void * ctx, <br />					 const char * filename)<br />
-</pre><p>Initiate fetch of the given file from the server.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve (or NULL if path is in context).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the socket for the data connection, or &lt;0 in case of error</td></tr></tbody></table></div><h3><a name="xmlNanoFTPInit" id="xmlNanoFTPInit"></a>Function: xmlNanoFTPInit</h3><pre class="programlisting">void	xmlNanoFTPInit			(void)<br />
-</pre><p>Initialize the FTP protocol layer. Currently it just checks for proxy information, and get the hostname</p>
-<h3><a name="xmlNanoFTPList" id="xmlNanoFTPList"></a>Function: xmlNanoFTPList</h3><pre class="programlisting">int	xmlNanoFTPList			(void * ctx, <br />					 <a href="libxml-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br />					 void * userData, <br />					 const char * filename)<br />
-</pre><p>Do a listing on the server. All files info are passed back in the callbacks.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>optional files to list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPNewCtxt" id="xmlNanoFTPNewCtxt"></a>Function: xmlNanoFTPNewCtxt</h3><pre class="programlisting">void *	xmlNanoFTPNewCtxt		(const char * URL)<br />
-</pre><p>Allocate and initialize a new FTP context.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL used to initialize the context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an FTP context or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlNanoFTPOpen" id="xmlNanoFTPOpen"></a>Function: xmlNanoFTPOpen</h3><pre class="programlisting">void *	xmlNanoFTPOpen			(const char * URL)<br />
-</pre><p>Start to fetch the given ftp:// resource</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL to the resource</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an FTP context, or NULL</td></tr></tbody></table></div><h3><a name="xmlNanoFTPProxy" id="xmlNanoFTPProxy"></a>Function: xmlNanoFTPProxy</h3><pre class="programlisting">void	xmlNanoFTPProxy			(const char * host, <br />					 int port, <br />					 const char * user, <br />					 const char * passwd, <br />					 int type)<br />
-</pre><p>Setup the FTP proxy information. This can also be done by using ftp_proxy ftp_proxy_user and ftp_proxy_password environment variables.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>host</tt></i>:</span></td><td>the proxy host name</td></tr><tr><td><span class="term"><i><tt>port</tt></i>:</span></td><td>the proxy port</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>the proxy user name</td></tr><tr><td><span class="term"><i><tt>passwd</tt></i>:</span></td><td>the proxy password</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of proxy 1 for using SITE, 2 for USER a@b</td></tr></tbody></table></div><h3><a name="xmlNanoFTPQuit" id="xmlNanoFTPQuit"></a>Function: xmlNanoFTPQuit</h3><pre class="programlisting">int	xmlNanoFTPQuit			(void * ctx)<br />
-</pre><p>Send a QUIT command to the server</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPRead" id="xmlNanoFTPRead"></a>Function: xmlNanoFTPRead</h3><pre class="programlisting">int	xmlNanoFTPRead			(void * ctx, <br />					 void * dest, <br />					 int len)<br />
-</pre><p>This function tries to read @len bytes from the existing FTP connection and saves them in @dest. This is a blocking call.</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 FTP context</td></tr><tr><td><span class="term"><i><tt>dest</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the buffer length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td></tr></tbody></table></div><h3><a name="xmlNanoFTPScanProxy" id="xmlNanoFTPScanProxy"></a>Function: xmlNanoFTPScanProxy</h3><pre class="programlisting">void	xmlNanoFTPScanProxy		(const char * URL)<br />
-</pre><p>(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 information.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The proxy URL used to initialize the proxy context</td></tr></tbody></table></div><h3><a name="xmlNanoFTPUpdateURL" id="xmlNanoFTPUpdateURL"></a>Function: xmlNanoFTPUpdateURL</h3><pre class="programlisting">int	xmlNanoFTPUpdateURL		(void * ctx, <br />					 const char * URL)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL used to update the context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if Ok, -1 in case of error (other host).</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>
diff --git a/doc/html/libxml-nanohttp.html b/doc/html/libxml-nanohttp.html
deleted file mode 100644
index 72a6fd4..0000000
--- a/doc/html/libxml-nanohttp.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module nanohttp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module nanohttp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-nanoftp.html">nanoftp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-parser.html">parser</a></th><td><a accesskey="n" href="libxml-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>minimal HTTP implementation allowing to fetch resources like external subset. </p><h2>Table of Contents</h2><pre class="programlisting">const char *	<a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a>	(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a>		(void)</pre>
-<pre class="programlisting">void	<a href="#xmlNanoHTTPClose">xmlNanoHTTPClose</a>		(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a>	(void * ctx)</pre>
-<pre class="programlisting">const char *	<a href="#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a>	(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a>		(const char * URL, <br />					 const char * filename, <br />					 char ** contentType)</pre>
-<pre class="programlisting">void	<a href="#xmlNanoHTTPInit">xmlNanoHTTPInit</a>			(void)</pre>
-<pre class="programlisting">void *	<a href="#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a>		(const char * URL, <br />					 const char * method, <br />					 const char * input, <br />					 char ** contentType, <br />					 const char * headers, <br />					 int ilen)</pre>
-<pre class="programlisting">void *	<a href="#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a>		(const char * URL, <br />					 const char * method, <br />					 const char * input, <br />					 char ** contentType, <br />					 char ** redir, <br />					 const char * headers, <br />					 int ilen)</pre>
-<pre class="programlisting">const char *	<a href="#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a>	(void * ctx)</pre>
-<pre class="programlisting">void *	<a href="#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a>			(const char * URL, <br />					 char ** contentType)</pre>
-<pre class="programlisting">void *	<a href="#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a>		(const char * URL, <br />					 char ** contentType, <br />					 char ** redir)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoHTTPRead">xmlNanoHTTPRead</a>			(void * ctx, <br />					 void * dest, <br />					 int len)</pre>
-<pre class="programlisting">const char *	<a href="#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a>	(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a>		(void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoHTTPSave">xmlNanoHTTPSave</a>			(void * ctxt, <br />					 const char * filename)</pre>
-<pre class="programlisting">void	<a href="#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a>		(const char * URL)</pre>
-<h2>Description</h2>
-<h3><a name="xmlNanoHTTPAuthHeader" id="xmlNanoHTTPAuthHeader"></a>Function: xmlNanoHTTPAuthHeader</h3><pre class="programlisting">const char *	xmlNanoHTTPAuthHeader	(void * ctx)<br />
-</pre><p>Get the authentication header of an HTTP context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the stashed value of the WWW-Authenticate or Proxy-Authenticate header.</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPCleanup" id="xmlNanoHTTPCleanup"></a>Function: xmlNanoHTTPCleanup</h3><pre class="programlisting">void	xmlNanoHTTPCleanup		(void)<br />
-</pre><p>Cleanup the HTTP protocol layer.</p>
-<h3><a name="xmlNanoHTTPClose" id="xmlNanoHTTPClose"></a>Function: xmlNanoHTTPClose</h3><pre class="programlisting">void	xmlNanoHTTPClose		(void * ctx)<br />
-</pre><p>This function closes an HTTP context, it ends up the connection and free all data related to it.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPContentLength" id="xmlNanoHTTPContentLength"></a>Function: xmlNanoHTTPContentLength</h3><pre class="programlisting">int	xmlNanoHTTPContentLength	(void * ctx)<br />
-</pre><p>Provides the specified content length from the HTTP header.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified content length from the HTTP header. Note that a value of -1 indicates that the content length element was not included in the response header.</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPEncoding" id="xmlNanoHTTPEncoding"></a>Function: xmlNanoHTTPEncoding</h3><pre class="programlisting">const char *	xmlNanoHTTPEncoding	(void * ctx)<br />
-</pre><p>Provides the specified encoding if specified in the HTTP headers.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified encoding or NULL if not available</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPFetch" id="xmlNanoHTTPFetch"></a>Function: xmlNanoHTTPFetch</h3><pre class="programlisting">int	xmlNanoHTTPFetch		(const char * URL, <br />					 const char * filename, <br />					 char ** contentType)<br />
-</pre><p>This function try to fetch the indicated resource via HTTP GET and save it's content in the file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be saved</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the Content-Type information will be returned at that location</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 in case of success. The contentType, if provided must be freed by the caller</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPInit" id="xmlNanoHTTPInit"></a>Function: xmlNanoHTTPInit</h3><pre class="programlisting">void	xmlNanoHTTPInit			(void)<br />
-</pre><p>Initialize the HTTP protocol layer. Currently it just checks for proxy information</p>
-<h3><a name="xmlNanoHTTPMethod" id="xmlNanoHTTPMethod"></a>Function: xmlNanoHTTPMethod</h3><pre class="programlisting">void *	xmlNanoHTTPMethod		(const char * URL, <br />					 const char * method, <br />					 const char * input, <br />					 char ** contentType, <br />					 const char * headers, <br />					 int ilen)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span class="term"><i><tt>method</tt></i>:</span></td><td>the HTTP method to use</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the input string if any</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>the Content-Type information IN and OUT</td></tr><tr><td><span class="term"><i><tt>headers</tt></i>:</span></td><td>the extra headers</td></tr><tr><td><span class="term"><i><tt>ilen</tt></i>:</span></td><td>input length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPMethodRedir" id="xmlNanoHTTPMethodRedir"></a>Function: xmlNanoHTTPMethodRedir</h3><pre class="programlisting">void *	xmlNanoHTTPMethodRedir		(const char * URL, <br />					 const char * method, <br />					 const char * input, <br />					 char ** contentType, <br />					 char ** redir, <br />					 const char * headers, <br />					 int ilen)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span class="term"><i><tt>method</tt></i>:</span></td><td>the HTTP method to use</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the input string if any</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>the Content-Type information IN and OUT</td></tr><tr><td><span class="term"><i><tt>redir</tt></i>:</span></td><td>the redirected URL OUT</td></tr><tr><td><span class="term"><i><tt>headers</tt></i>:</span></td><td>the extra headers</td></tr><tr><td><span class="term"><i><tt>ilen</tt></i>:</span></td><td>input length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, otherwise a request handler. The contentType, or redir, if provided must be freed by the caller</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPMimeType" id="xmlNanoHTTPMimeType"></a>Function: xmlNanoHTTPMimeType</h3><pre class="programlisting">const char *	xmlNanoHTTPMimeType	(void * ctx)<br />
-</pre><p>Provides the specified Mime-Type if specified in the HTTP headers.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified Mime-Type or NULL if not available</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPOpen" id="xmlNanoHTTPOpen"></a>Function: xmlNanoHTTPOpen</h3><pre class="programlisting">void *	xmlNanoHTTPOpen			(const char * URL, <br />					 char ** contentType)<br />
-</pre><p>This function try to open a connection to the indicated resource via HTTP GET.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the Content-Type information will be returned at that location</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPOpenRedir" id="xmlNanoHTTPOpenRedir"></a>Function: xmlNanoHTTPOpenRedir</h3><pre class="programlisting">void *	xmlNanoHTTPOpenRedir		(const char * URL, <br />					 char ** contentType, <br />					 char ** redir)<br />
-</pre><p>This function try to open a connection to the indicated resource via HTTP GET.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the Content-Type information will be returned at that location</td></tr><tr><td><span class="term"><i><tt>redir</tt></i>:</span></td><td>if available the redirected URL will be returned</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPRead" id="xmlNanoHTTPRead"></a>Function: xmlNanoHTTPRead</h3><pre class="programlisting">int	xmlNanoHTTPRead			(void * ctx, <br />					 void * dest, <br />					 int len)<br />
-</pre><p>This function tries to read @len bytes from the existing HTTP connection and saves them in @dest. This is a blocking call.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>dest</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the buffer length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPRedir" id="xmlNanoHTTPRedir"></a>Function: xmlNanoHTTPRedir</h3><pre class="programlisting">const char *	xmlNanoHTTPRedir	(void * ctx)<br />
-</pre><p>Provides the specified redirection URL if available from the HTTP header.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified redirection URL or NULL if not redirected.</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPReturnCode" id="xmlNanoHTTPReturnCode"></a>Function: xmlNanoHTTPReturnCode</h3><pre class="programlisting">int	xmlNanoHTTPReturnCode		(void * ctx)<br />
-</pre><p>Get the latest HTTP return code received</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the HTTP return code for the request.</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPSave" id="xmlNanoHTTPSave"></a>Function: xmlNanoHTTPSave</h3><pre class="programlisting">int	xmlNanoHTTPSave			(void * ctxt, <br />					 const char * filename)<br />
-</pre><p>This function saves the output of the HTTP transaction to a file It closes and free the context at the end</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be saved</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 in case of success.</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPScanProxy" id="xmlNanoHTTPScanProxy"></a>Function: xmlNanoHTTPScanProxy</h3><pre class="programlisting">void	xmlNanoHTTPScanProxy		(const char * URL)<br />
-</pre><p>(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 information.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The proxy URL used to initialize the proxy context</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>
diff --git a/doc/html/libxml-parser.html b/doc/html/libxml-parser.html
deleted file mode 100644
index 8a9dda9..0000000
--- a/doc/html/libxml-parser.html
+++ /dev/null
@@ -1,563 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module parser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module parser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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="#xmlFeature">xmlFeature</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
-</pre><pre class="programlisting">Typedef <a href="libxml-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * <a name="xmlParserNodeInfoSeqPtr" id="xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlParserOption">xmlParserOption</a>
-</pre><pre class="programlisting">Structure <a href="#xmlSAXHandlerV1">xmlSAXHandlerV1</a><br />struct _xmlSAXHandlerV1
-</pre><pre class="programlisting">Typedef <a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * <a name="xmlSAXHandlerV1Ptr" id="xmlSAXHandlerV1Ptr">xmlSAXHandlerV1Ptr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlStartTag">xmlStartTag</a><br />struct _xmlStartTag
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Function type: <a href="#attributeDeclSAXFunc">attributeDeclSAXFunc</a>
-void	<a href="#attributeDeclSAXFunc">attributeDeclSAXFunc</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 int type, <br />					 int def, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)
-</pre>
-<pre class="programlisting">Function type: <a href="#attributeSAXFunc">attributeSAXFunc</a>
-void	<a href="#attributeSAXFunc">attributeSAXFunc</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)
-</pre>
-<pre class="programlisting">Function type: <a href="#cdataBlockSAXFunc">cdataBlockSAXFunc</a>
-void	<a href="#cdataBlockSAXFunc">cdataBlockSAXFunc</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int len)
-</pre>
-<pre class="programlisting">Function type: <a href="#charactersSAXFunc">charactersSAXFunc</a>
-void	<a href="#charactersSAXFunc">charactersSAXFunc</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)
-</pre>
-<pre class="programlisting">Function type: <a href="#commentSAXFunc">commentSAXFunc</a>
-void	<a href="#commentSAXFunc">commentSAXFunc</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)
-</pre>
-<pre class="programlisting">Function type: <a href="#elementDeclSAXFunc">elementDeclSAXFunc</a>
-void	<a href="#elementDeclSAXFunc">elementDeclSAXFunc</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)
-</pre>
-<pre class="programlisting">Function type: <a href="#endDocumentSAXFunc">endDocumentSAXFunc</a>
-void	<a href="#endDocumentSAXFunc">endDocumentSAXFunc</a>		(void * ctx)
-</pre>
-<pre class="programlisting">Function type: <a href="#endElementNsSAX2Func">endElementNsSAX2Func</a>
-void	<a href="#endElementNsSAX2Func">endElementNsSAX2Func</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)
-</pre>
-<pre class="programlisting">Function type: <a href="#endElementSAXFunc">endElementSAXFunc</a>
-void	<a href="#endElementSAXFunc">endElementSAXFunc</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre>
-<pre class="programlisting">Function type: <a href="#entityDeclSAXFunc">entityDeclSAXFunc</a>
-void	<a href="#entityDeclSAXFunc">entityDeclSAXFunc</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)
-</pre>
-<pre class="programlisting">Function type: <a href="#errorSAXFunc">errorSAXFunc</a>
-void	<a href="#errorSAXFunc">errorSAXFunc</a>			(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre>
-<pre class="programlisting">Function type: <a href="#externalSubsetSAXFunc">externalSubsetSAXFunc</a>
-void	<a href="#externalSubsetSAXFunc">externalSubsetSAXFunc</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)
-</pre>
-<pre class="programlisting">Function type: <a href="#fatalErrorSAXFunc">fatalErrorSAXFunc</a>
-void	<a href="#fatalErrorSAXFunc">fatalErrorSAXFunc</a>		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre>
-<pre class="programlisting">Function type: <a href="#getEntitySAXFunc">getEntitySAXFunc</a>
-<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getEntitySAXFunc">getEntitySAXFunc</a>	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre>
-<pre class="programlisting">Function type: <a href="#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>
-<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	(void * ctx, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre>
-<pre class="programlisting">Function type: <a href="#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>
-int	<a href="#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>	(void * ctx)
-</pre>
-<pre class="programlisting">Function type: <a href="#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>
-int	<a href="#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	(void * ctx)
-</pre>
-<pre class="programlisting">Function type: <a href="#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>
-void	<a href="#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)
-</pre>
-<pre class="programlisting">Function type: <a href="#internalSubsetSAXFunc">internalSubsetSAXFunc</a>
-void	<a href="#internalSubsetSAXFunc">internalSubsetSAXFunc</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)
-</pre>
-<pre class="programlisting">Function type: <a href="#isStandaloneSAXFunc">isStandaloneSAXFunc</a>
-int	<a href="#isStandaloneSAXFunc">isStandaloneSAXFunc</a>		(void * ctx)
-</pre>
-<pre class="programlisting">Function type: <a href="#notationDeclSAXFunc">notationDeclSAXFunc</a>
-void	<a href="#notationDeclSAXFunc">notationDeclSAXFunc</a>		(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)
-</pre>
-<pre class="programlisting">Function type: <a href="#processingInstructionSAXFunc">processingInstructionSAXFunc</a>
-void	<a href="#processingInstructionSAXFunc">processingInstructionSAXFunc</a>	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * data)
-</pre>
-<pre class="programlisting">Function type: <a href="#referenceSAXFunc">referenceSAXFunc</a>
-void	<a href="#referenceSAXFunc">referenceSAXFunc</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre>
-<pre class="programlisting">Function type: <a href="#resolveEntitySAXFunc">resolveEntitySAXFunc</a>
-<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#resolveEntitySAXFunc">resolveEntitySAXFunc</a>	(void * ctx, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId)
-</pre>
-<pre class="programlisting">Function type: <a href="#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>
-void	<a href="#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	(void * ctx, <br />					 <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)
-</pre>
-<pre class="programlisting">Function type: <a href="#startDocumentSAXFunc">startDocumentSAXFunc</a>
-void	<a href="#startDocumentSAXFunc">startDocumentSAXFunc</a>		(void * ctx)
-</pre>
-<pre class="programlisting">Function type: <a href="#startElementNsSAX2Func">startElementNsSAX2Func</a>
-void	<a href="#startElementNsSAX2Func">startElementNsSAX2Func</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 int nb_namespaces, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br />					 int nb_attributes, <br />					 int nb_defaulted, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** attributes)
-</pre>
-<pre class="programlisting">Function type: <a href="#startElementSAXFunc">startElementSAXFunc</a>
-void	<a href="#startElementSAXFunc">startElementSAXFunc</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** atts)
-</pre>
-<pre class="programlisting">Function type: <a href="#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>
-void	<a href="#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	(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)
-</pre>
-<pre class="programlisting">Function type: <a href="#warningSAXFunc">warningSAXFunc</a>
-void	<a href="#warningSAXFunc">warningSAXFunc</a>			(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre>
-<pre class="programlisting">long	<a href="#xmlByteConsumed">xmlByteConsumed</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlCleanupParser">xmlCleanupParser</a>		(void)</pre>
-<pre class="programlisting">void	<a href="#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a>		(<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)</pre>
-<pre class="programlisting">void	<a href="#xmlClearParserCtxt">xmlClearParserCtxt</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a>	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />						 void * user_data, <br />						 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />						 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />						 void * ioctx, <br />						 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a>	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />						 void * user_data, <br />						 const char * chunk, <br />						 int size, <br />						 const char * filename)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadDoc">xmlCtxtReadDoc</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFd">xmlCtxtReadFd</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFile">xmlCtxtReadFile</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * filename, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadIO">xmlCtxtReadIO</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadMemory">xmlCtxtReadMemory</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting">void	<a href="#xmlCtxtReset">xmlCtxtReset</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlCtxtResetPush">xmlCtxtResetPush</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * chunk, <br />					 int size, <br />					 const char * filename, <br />					 const char * encoding)</pre>
-<pre class="programlisting">int	<a href="#xmlCtxtUseOptions">xmlCtxtUseOptions</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 int options)</pre>
-<pre class="programlisting">Function type: <a href="#xmlExternalEntityLoader">xmlExternalEntityLoader</a>
-<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	(const char * URL, <br />						 const char * ID, <br />						 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context)
-</pre>
-<pre class="programlisting">void	<a href="#xmlFreeParserCtxt">xmlFreeParserCtxt</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	<a href="#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a>	(void)</pre>
-<pre class="programlisting">int	<a href="#xmlGetFeature">xmlGetFeature</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * name, <br />					 void * result)</pre>
-<pre class="programlisting">int	<a href="#xmlGetFeaturesList">xmlGetFeaturesList</a>		(int * len, <br />					 const char ** result)</pre>
-<pre class="programlisting">int	<a href="#xmlHasFeature">xmlHasFeature</a>			(<a href="libxml-parser.html#xmlFeature">xmlFeature</a> feature)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlIOParseDTD">xmlIOParseDTD</a>		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting">void	<a href="#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a>		(<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)</pre>
-<pre class="programlisting">void	<a href="#xmlInitParser">xmlInitParser</a>			(void)</pre>
-<pre class="programlisting">int	<a href="#xmlInitParserCtxt">xmlInitParserCtxt</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a>		(int val)</pre>
-<pre class="programlisting">int	<a href="#xmlLineNumbersDefault">xmlLineNumbersDefault</a>		(int val)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlLoadExternalEntity">xmlLoadExternalEntity</a>	(const char * URL, <br />						 const char * ID, <br />						 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewIOInputStream">xmlNewIOInputStream</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />						 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlNewParserCtxt">xmlNewParserCtxt</a>	(void)</pre>
-<pre class="programlisting">int	<a href="#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data, <br />					 int depth, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)</pre>
-<pre class="programlisting">int	<a href="#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />						 void * user_data, <br />						 int depth, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br />						 int recover)</pre>
-<pre class="programlisting">int	<a href="#xmlParseChunk">xmlParseChunk</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * chunk, <br />					 int size, <br />					 int terminate)</pre>
-<pre class="programlisting">int	<a href="#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlParseDTD">xmlParseDTD</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseDoc">xmlParseDoc</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur)</pre>
-<pre class="programlisting">int	<a href="#xmlParseDocument">xmlParseDocument</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseEntity">xmlParseEntity</a>		(const char * filename)</pre>
-<pre class="programlisting">int	<a href="#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlParseExternalEntity">xmlParseExternalEntity</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data, <br />					 int depth, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseFile">xmlParseFile</a>		(const char * filename)</pre>
-<pre class="programlisting"><a href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlParseInNodeContext">xmlParseInNodeContext</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const char * data, <br />					 int datalen, <br />					 int options, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseMemory">xmlParseMemory</a>		(const char * buffer, <br />					 int size)</pre>
-<pre class="programlisting">void	<a href="#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)</pre>
-<pre class="programlisting">const <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	<a href="#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>	(const <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br />							 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">unsigned long	<a href="#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a>	(const <a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br />						 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">Function type: <a href="#xmlParserInputDeallocate">xmlParserInputDeallocate</a>
-void	<a href="#xmlParserInputDeallocate">xmlParserInputDeallocate</a>	(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)
-</pre>
-<pre class="programlisting">int	<a href="#xmlParserInputGrow">xmlParserInputGrow</a>		(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlParserInputRead">xmlParserInputRead</a>		(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlPedanticParserDefault">xmlPedanticParserDefault</a>	(int val)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadDoc">xmlReadDoc</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadFd">xmlReadFd</a>		(int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadFile">xmlReadFile</a>		(const char * filename, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadIO">xmlReadIO</a>		(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadMemory">xmlReadMemory</a>		(const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverDoc">xmlRecoverDoc</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverFile">xmlRecoverFile</a>		(const char * filename)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverMemory">xmlRecoverMemory</a>	(const char * buffer, <br />					 int size)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlSAXParseDTD">xmlSAXParseDTD</a>		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseDoc">xmlSAXParseDoc</a>		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 int recovery)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseEntity">xmlSAXParseEntity</a>	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const char * filename)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseFile">xmlSAXParseFile</a>		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const char * filename, <br />					 int recovery)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a>	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const char * filename, <br />					 int recovery, <br />					 void * data)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseMemory">xmlSAXParseMemory</a>	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const char * buffer, <br />					 int size, <br />					 int recovery)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a>	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />						 const char * buffer, <br />						 int size, <br />						 int recovery, <br />						 void * data)</pre>
-<pre class="programlisting">int	<a href="#xmlSAXUserParseFile">xmlSAXUserParseFile</a>		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data, <br />					 const char * filename)</pre>
-<pre class="programlisting">int	<a href="#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a>		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data, <br />					 const char * buffer, <br />					 int size)</pre>
-<pre class="programlisting">void	<a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>	(<a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f)</pre>
-<pre class="programlisting">int	<a href="#xmlSetFeature">xmlSetFeature</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * name, <br />					 void * value)</pre>
-<pre class="programlisting">void	<a href="#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br />					 const char * filename)</pre>
-<pre class="programlisting">void	<a href="#xmlStopParser">xmlStopParser</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>	(int val)</pre>
-<h2>Description</h2>
-<h3><a name="XML_COMPLETE_ATTRS" id="XML_COMPLETE_ATTRS"></a>Macro: XML_COMPLETE_ATTRS</h3><pre>#define XML_COMPLETE_ATTRS</pre><p>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
-<h3><a name="XML_DEFAULT_VERSION" id="XML_DEFAULT_VERSION"></a>Macro: XML_DEFAULT_VERSION</h3><pre>#define XML_DEFAULT_VERSION</pre><p>The default version of XML used: 1.0</p>
-<h3><a name="XML_DETECT_IDS" id="XML_DETECT_IDS"></a>Macro: XML_DETECT_IDS</h3><pre>#define XML_DETECT_IDS</pre><p>Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
-<h3><a name="XML_SAX2_MAGIC" id="XML_SAX2_MAGIC"></a>Macro: XML_SAX2_MAGIC</h3><pre>#define XML_SAX2_MAGIC</pre><p>Special constant found in SAX2 blocks initialized fields</p>
-<h3><a name="XML_SKIP_IDS" id="XML_SKIP_IDS"></a>Macro: XML_SKIP_IDS</h3><pre>#define XML_SKIP_IDS</pre><p>Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize <a href="libxml-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a> in some special cases.</p>
-<h3>Enum <a name="xmlFeature" id="xmlFeature">xmlFeature</a></h3><pre class="programlisting">Enum xmlFeature {
-    <a name="XML_WITH_THREAD" id="XML_WITH_THREAD">XML_WITH_THREAD</a> = 1
-    <a name="XML_WITH_TREE" id="XML_WITH_TREE">XML_WITH_TREE</a> = 2
-    <a name="XML_WITH_OUTPUT" id="XML_WITH_OUTPUT">XML_WITH_OUTPUT</a> = 3
-    <a name="XML_WITH_PUSH" id="XML_WITH_PUSH">XML_WITH_PUSH</a> = 4
-    <a name="XML_WITH_READER" id="XML_WITH_READER">XML_WITH_READER</a> = 5
-    <a name="XML_WITH_PATTERN" id="XML_WITH_PATTERN">XML_WITH_PATTERN</a> = 6
-    <a name="XML_WITH_WRITER" id="XML_WITH_WRITER">XML_WITH_WRITER</a> = 7
-    <a name="XML_WITH_SAX1" id="XML_WITH_SAX1">XML_WITH_SAX1</a> = 8
-    <a name="XML_WITH_FTP" id="XML_WITH_FTP">XML_WITH_FTP</a> = 9
-    <a name="XML_WITH_HTTP" id="XML_WITH_HTTP">XML_WITH_HTTP</a> = 10
-    <a name="XML_WITH_VALID" id="XML_WITH_VALID">XML_WITH_VALID</a> = 11
-    <a name="XML_WITH_HTML" id="XML_WITH_HTML">XML_WITH_HTML</a> = 12
-    <a name="XML_WITH_LEGACY" id="XML_WITH_LEGACY">XML_WITH_LEGACY</a> = 13
-    <a name="XML_WITH_C14N" id="XML_WITH_C14N">XML_WITH_C14N</a> = 14
-    <a name="XML_WITH_CATALOG" id="XML_WITH_CATALOG">XML_WITH_CATALOG</a> = 15
-    <a name="XML_WITH_XPATH" id="XML_WITH_XPATH">XML_WITH_XPATH</a> = 16
-    <a name="XML_WITH_XPTR" id="XML_WITH_XPTR">XML_WITH_XPTR</a> = 17
-    <a name="XML_WITH_XINCLUDE" id="XML_WITH_XINCLUDE">XML_WITH_XINCLUDE</a> = 18
-    <a name="XML_WITH_ICONV" id="XML_WITH_ICONV">XML_WITH_ICONV</a> = 19
-    <a name="XML_WITH_ISO8859X" id="XML_WITH_ISO8859X">XML_WITH_ISO8859X</a> = 20
-    <a name="XML_WITH_UNICODE" id="XML_WITH_UNICODE">XML_WITH_UNICODE</a> = 21
-    <a name="XML_WITH_REGEXP" id="XML_WITH_REGEXP">XML_WITH_REGEXP</a> = 22
-    <a name="XML_WITH_AUTOMATA" id="XML_WITH_AUTOMATA">XML_WITH_AUTOMATA</a> = 23
-    <a name="XML_WITH_EXPR" id="XML_WITH_EXPR">XML_WITH_EXPR</a> = 24
-    <a name="XML_WITH_SCHEMAS" id="XML_WITH_SCHEMAS">XML_WITH_SCHEMAS</a> = 25
-    <a name="XML_WITH_SCHEMATRON" id="XML_WITH_SCHEMATRON">XML_WITH_SCHEMATRON</a> = 26
-    <a name="XML_WITH_MODULES" id="XML_WITH_MODULES">XML_WITH_MODULES</a> = 27
-    <a name="XML_WITH_DEBUG" id="XML_WITH_DEBUG">XML_WITH_DEBUG</a> = 28
-    <a name="XML_WITH_DEBUG_MEM" id="XML_WITH_DEBUG_MEM">XML_WITH_DEBUG_MEM</a> = 29
-    <a name="XML_WITH_DEBUG_RUN" id="XML_WITH_DEBUG_RUN">XML_WITH_DEBUG_RUN</a> = 30
-    <a name="XML_WITH_ZLIB" id="XML_WITH_ZLIB">XML_WITH_ZLIB</a> = 31
-    <a name="XML_WITH_ICU" id="XML_WITH_ICU">XML_WITH_ICU</a> = 32
-    <a name="XML_WITH_LZMA" id="XML_WITH_LZMA">XML_WITH_LZMA</a> = 33
-    <a name="XML_WITH_NONE" id="XML_WITH_NONE">XML_WITH_NONE</a> = 99999 : just to be sure of allocation size
-}
-</pre><h3>Enum <a name="xmlParserInputState" id="xmlParserInputState">xmlParserInputState</a></h3><pre class="programlisting">Enum xmlParserInputState {
-    <a name="XML_PARSER_EOF" id="XML_PARSER_EOF">XML_PARSER_EOF</a> = -1 : nothing is to be parsed
-    <a name="XML_PARSER_START" id="XML_PARSER_START">XML_PARSER_START</a> = 0 : nothing has been parsed
-    <a name="XML_PARSER_MISC" id="XML_PARSER_MISC">XML_PARSER_MISC</a> = 1 : Misc* before int subset
-    <a name="XML_PARSER_PI" id="XML_PARSER_PI">XML_PARSER_PI</a> = 2 : Within a processing instruction
-    <a name="XML_PARSER_DTD" id="XML_PARSER_DTD">XML_PARSER_DTD</a> = 3 : within some DTD content
-    <a name="XML_PARSER_PROLOG" id="XML_PARSER_PROLOG">XML_PARSER_PROLOG</a> = 4 : Misc* after internal subset
-    <a name="XML_PARSER_COMMENT" id="XML_PARSER_COMMENT">XML_PARSER_COMMENT</a> = 5 : within a <a href="libxml-SAX.html#comment">comment</a>
-    <a name="XML_PARSER_START_TAG" id="XML_PARSER_START_TAG">XML_PARSER_START_TAG</a> = 6 : within a start tag
-    <a name="XML_PARSER_CONTENT" id="XML_PARSER_CONTENT">XML_PARSER_CONTENT</a> = 7 : within the content
-    <a name="XML_PARSER_CDATA_SECTION" id="XML_PARSER_CDATA_SECTION">XML_PARSER_CDATA_SECTION</a> = 8 : within a CDATA section
-    <a name="XML_PARSER_END_TAG" id="XML_PARSER_END_TAG">XML_PARSER_END_TAG</a> = 9 : within a closing tag
-    <a name="XML_PARSER_ENTITY_DECL" id="XML_PARSER_ENTITY_DECL">XML_PARSER_ENTITY_DECL</a> = 10 : within an entity declaration
-    <a name="XML_PARSER_ENTITY_VALUE" id="XML_PARSER_ENTITY_VALUE">XML_PARSER_ENTITY_VALUE</a> = 11 : within an entity value in a decl
-    <a name="XML_PARSER_ATTRIBUTE_VALUE" id="XML_PARSER_ATTRIBUTE_VALUE">XML_PARSER_ATTRIBUTE_VALUE</a> = 12 : within an <a href="libxml-SAX.html#attribute">attribute</a> value
-    <a name="XML_PARSER_SYSTEM_LITERAL" id="XML_PARSER_SYSTEM_LITERAL">XML_PARSER_SYSTEM_LITERAL</a> = 13 : within a SYSTEM value
-    <a name="XML_PARSER_EPILOG" id="XML_PARSER_EPILOG">XML_PARSER_EPILOG</a> = 14 : the Misc* after the last end tag
-    <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
-    unsigned long	begin_line
-    unsigned long	end_pos
-    unsigned long	end_line
-}</pre><h3><a name="xmlParserNodeInfoSeq" id="xmlParserNodeInfoSeq">Structure xmlParserNodeInfoSeq</a></h3><pre class="programlisting">Structure xmlParserNodeInfoSeq<br />struct _xmlParserNodeInfoSeq {
-    unsigned long	maximum
-    unsigned long	length
-    <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	buffer
-}</pre><h3>Enum <a name="xmlParserOption" id="xmlParserOption">xmlParserOption</a></h3><pre class="programlisting">Enum xmlParserOption {
-    <a name="XML_PARSE_RECOVER" id="XML_PARSE_RECOVER">XML_PARSE_RECOVER</a> = 1 : recover on errors
-    <a name="XML_PARSE_NOENT" id="XML_PARSE_NOENT">XML_PARSE_NOENT</a> = 2 : substitute entities
-    <a name="XML_PARSE_DTDLOAD" id="XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a> = 4 : load the external subset
-    <a name="XML_PARSE_DTDATTR" id="XML_PARSE_DTDATTR">XML_PARSE_DTDATTR</a> = 8 : default DTD attributes
-    <a name="XML_PARSE_DTDVALID" id="XML_PARSE_DTDVALID">XML_PARSE_DTDVALID</a> = 16 : validate with the DTD
-    <a name="XML_PARSE_NOERROR" id="XML_PARSE_NOERROR">XML_PARSE_NOERROR</a> = 32 : suppress error reports
-    <a name="XML_PARSE_NOWARNING" id="XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a> = 64 : suppress warning reports
-    <a name="XML_PARSE_PEDANTIC" id="XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a> = 128 : pedantic error reporting
-    <a name="XML_PARSE_NOBLANKS" id="XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a> = 256 : remove blank nodes
-    <a name="XML_PARSE_SAX1" id="XML_PARSE_SAX1">XML_PARSE_SAX1</a> = 512 : use the SAX1 interface internally
-    <a name="XML_PARSE_XINCLUDE" id="XML_PARSE_XINCLUDE">XML_PARSE_XINCLUDE</a> = 1024 : Implement XInclude substitution
-    <a name="XML_PARSE_NONET" id="XML_PARSE_NONET">XML_PARSE_NONET</a> = 2048 : Forbid network access
-    <a name="XML_PARSE_NODICT" id="XML_PARSE_NODICT">XML_PARSE_NODICT</a> = 4096 : Do not reuse the context dictionary
-    <a name="XML_PARSE_NSCLEAN" id="XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> = 8192 : remove redundant namespaces declarations
-    <a name="XML_PARSE_NOCDATA" id="XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a> = 16384 : merge CDATA as text nodes
-    <a name="XML_PARSE_NOXINCNODE" id="XML_PARSE_NOXINCNODE">XML_PARSE_NOXINCNODE</a> = 32768 : do not generate XINCLUDE START/END nodes
-    <a name="XML_PARSE_COMPACT" id="XML_PARSE_COMPACT">XML_PARSE_COMPACT</a> = 65536 : compact small text nodes; no modification of the tree allowed afterwards (will possibly crash if you try to modify the tree)
-    <a name="XML_PARSE_OLD10" id="XML_PARSE_OLD10">XML_PARSE_OLD10</a> = 131072 : parse using XML-1.0 before update 5
-    <a name="XML_PARSE_NOBASEFIX" id="XML_PARSE_NOBASEFIX">XML_PARSE_NOBASEFIX</a> = 262144 : do not fixup XINCLUDE xml:base uris
-    <a name="XML_PARSE_HUGE" id="XML_PARSE_HUGE">XML_PARSE_HUGE</a> = 524288 : relax any hardcoded limit from the parser
-    <a name="XML_PARSE_OLDSAX" id="XML_PARSE_OLDSAX">XML_PARSE_OLDSAX</a> = 1048576 : parse using SAX2 interface before 2.7.0
-    <a name="XML_PARSE_IGNORE_ENC" id="XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a> = 2097152 : ignore internal document encoding hint
-    <a name="XML_PARSE_BIG_LINES" id="XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> = 4194304 : Store big lines numbers in text PSVI field
-}
-</pre><h3><a name="xmlSAXHandlerV1" id="xmlSAXHandlerV1">Structure xmlSAXHandlerV1</a></h3><pre class="programlisting">Structure xmlSAXHandlerV1<br />struct _xmlSAXHandlerV1 {
-    <a href="libxml-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a>	internalSubset
-    <a href="libxml-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a>	isStandalone
-    <a href="libxml-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	hasInternalSubset
-    <a href="libxml-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>	hasExternalSubset
-    <a href="libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a>	resolveEntity
-    <a href="libxml-parser.html#getEntitySAXFunc">getEntitySAXFunc</a>	getEntity
-    <a href="libxml-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a>	entityDecl
-    <a href="libxml-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a>	notationDecl
-    <a href="libxml-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a>	attributeDecl
-    <a href="libxml-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a>	elementDecl
-    <a href="libxml-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	unparsedEntityDecl
-    <a href="libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	setDocumentLocator
-    <a href="libxml-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a>	startDocument
-    <a href="libxml-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a>	endDocument
-    <a href="libxml-parser.html#startElementSAXFunc">startElementSAXFunc</a>	startElement
-    <a href="libxml-parser.html#endElementSAXFunc">endElementSAXFunc</a>	endElement
-    <a href="libxml-parser.html#referenceSAXFunc">referenceSAXFunc</a>	reference
-    <a href="libxml-parser.html#charactersSAXFunc">charactersSAXFunc</a>	characters
-    <a href="libxml-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>	ignorableWhitespace
-    <a href="libxml-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a>	processingInstruction
-    <a href="libxml-parser.html#commentSAXFunc">commentSAXFunc</a>	comment
-    <a href="libxml-parser.html#warningSAXFunc">warningSAXFunc</a>	warning
-    <a href="libxml-parser.html#errorSAXFunc">errorSAXFunc</a>	error
-    <a href="libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a>	fatalError	: unused error() get all the errors
-    <a href="libxml-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	getParameterEntity
-    <a href="libxml-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a>	cdataBlock
-    <a href="libxml-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>	externalSubset
-    unsigned int	initialized
-}</pre><h3><a name="xmlStartTag" id="xmlStartTag">Structure xmlStartTag</a></h3><pre class="programlisting">Structure xmlStartTag<br />struct _xmlStartTag {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="attributeDeclSAXFunc" id="attributeDeclSAXFunc"></a>Function type: attributeDeclSAXFunc</h3><pre class="programlisting">Function type: attributeDeclSAXFunc
-void	attributeDeclSAXFunc		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 int type, <br />					 int def, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)
-</pre><p>An <a href="libxml-SAX.html#attribute">attribute</a> definition has been 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>elem</tt></i>:</span></td><td>the name of the element</td></tr><tr><td><span class="term"><i><tt>fullname</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> type</td></tr><tr><td><span class="term"><i><tt>def</tt></i>:</span></td><td>the type of default value</td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> default value</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the tree of enumerated value set</td></tr></tbody></table></div><br />
-<h3><a name="attributeSAXFunc" id="attributeSAXFunc"></a>Function type: attributeSAXFunc</h3><pre class="programlisting">Function type: attributeSAXFunc
-void	attributeSAXFunc		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)
-</pre><p>Handle an <a href="libxml-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml-tree.html#xmlAttr">xmlAttr</a> element added to the element.</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 <a href="libxml-SAX.html#attribute">attribute</a> name, including namespace prefix</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>The <a href="libxml-SAX.html#attribute">attribute</a> value</td></tr></tbody></table></div><br />
-<h3><a name="cdataBlockSAXFunc" id="cdataBlockSAXFunc"></a>Function type: cdataBlockSAXFunc</h3><pre class="programlisting">Function type: cdataBlockSAXFunc
-void	cdataBlockSAXFunc		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int len)
-</pre><p>Called when a pcdata block has been 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>value</tt></i>:</span></td><td>The pcdata content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the block length</td></tr></tbody></table></div><br />
-<h3><a name="charactersSAXFunc" id="charactersSAXFunc"></a>Function type: charactersSAXFunc</h3><pre class="programlisting">Function type: charactersSAXFunc
-void	charactersSAXFunc		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)
-</pre><p>Receiving some chars from the parser.</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>ch</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div><br />
-<h3><a name="commentSAXFunc" id="commentSAXFunc"></a>Function type: commentSAXFunc</h3><pre class="programlisting">Function type: commentSAXFunc
-void	commentSAXFunc			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)
-</pre><p>A <a href="libxml-SAX.html#comment">comment</a> has been 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>value</tt></i>:</span></td><td>the <a href="libxml-SAX.html#comment">comment</a> content</td></tr></tbody></table></div><br />
-<h3><a name="elementDeclSAXFunc" id="elementDeclSAXFunc"></a>Function type: elementDeclSAXFunc</h3><pre class="programlisting">Function type: elementDeclSAXFunc
-void	elementDeclSAXFunc		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)
-</pre><p>An element definition has been 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 element name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the element value tree</td></tr></tbody></table></div><br />
-<h3><a name="endDocumentSAXFunc" id="endDocumentSAXFunc"></a>Function type: endDocumentSAXFunc</h3><pre class="programlisting">Function type: endDocumentSAXFunc
-void	endDocumentSAXFunc		(void * ctx)
-</pre><p>Called when the document end has been detected.</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></tbody></table></div><br />
-<h3><a name="endElementNsSAX2Func" id="endElementNsSAX2Func"></a>Function type: endElementNsSAX2Func</h3><pre class="programlisting">Function type: endElementNsSAX2Func
-void	endElementNsSAX2Func		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)
-</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</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>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></tbody></table></div><br />
-<h3><a name="endElementSAXFunc" id="endElementSAXFunc"></a>Function type: endElementSAXFunc</h3><pre class="programlisting">Function type: endElementSAXFunc
-void	endElementSAXFunc		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre><p>Called when the end of an element has been detected.</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 element name</td></tr></tbody></table></div><br />
-<h3><a name="entityDeclSAXFunc" id="entityDeclSAXFunc"></a>Function type: entityDeclSAXFunc</h3><pre class="programlisting">Function type: entityDeclSAXFunc
-void	entityDeclSAXFunc		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)
-</pre><p>An entity definition has been 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 entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type</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>content</tt></i>:</span></td><td>the entity value (without processing).</td></tr></tbody></table></div><br />
-<h3><a name="errorSAXFunc" id="errorSAXFunc"></a>Function type: errorSAXFunc</h3><pre class="programlisting">Function type: errorSAXFunc
-void	errorSAXFunc			(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Display and format an error messages, callback.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div><br />
-<h3><a name="externalSubsetSAXFunc" id="externalSubsetSAXFunc"></a>Function type: externalSubsetSAXFunc</h3><pre class="programlisting">Function type: externalSubsetSAXFunc
-void	externalSubsetSAXFunc		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)
-</pre><p>Callback on external subset declaration.</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div><br />
-<h3><a name="fatalErrorSAXFunc" id="fatalErrorSAXFunc"></a>Function type: fatalErrorSAXFunc</h3><pre class="programlisting">Function type: fatalErrorSAXFunc
-void	fatalErrorSAXFunc		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Display and format fatal error messages, callback. Note: so far fatalError() SAX callbacks are not used, error() get all the callbacks for errors.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div><br />
-<h3><a name="getEntitySAXFunc" id="getEntitySAXFunc"></a>Function type: getEntitySAXFunc</h3><pre class="programlisting">Function type: getEntitySAXFunc
-<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getEntitySAXFunc	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre><p>Get an entity by name.</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div><br />
-<h3><a name="getParameterEntitySAXFunc" id="getParameterEntitySAXFunc"></a>Function type: getParameterEntitySAXFunc</h3><pre class="programlisting">Function type: getParameterEntitySAXFunc
-<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getParameterEntitySAXFunc	(void * ctx, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre><p>Get a parameter entity by name.</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 entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div><br />
-<h3><a name="hasExternalSubsetSAXFunc" id="hasExternalSubsetSAXFunc"></a>Function type: hasExternalSubsetSAXFunc</h3><pre class="programlisting">Function type: hasExternalSubsetSAXFunc
-int	hasExternalSubsetSAXFunc	(void * ctx)
-</pre><p>Does this document has an external subset?</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div><br />
-<h3><a name="hasInternalSubsetSAXFunc" id="hasInternalSubsetSAXFunc"></a>Function type: hasInternalSubsetSAXFunc</h3><pre class="programlisting">Function type: hasInternalSubsetSAXFunc
-int	hasInternalSubsetSAXFunc	(void * ctx)
-</pre><p>Does this document has an internal subset.</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div><br />
-<h3><a name="ignorableWhitespaceSAXFunc" id="ignorableWhitespaceSAXFunc"></a>Function type: ignorableWhitespaceSAXFunc</h3><pre class="programlisting">Function type: ignorableWhitespaceSAXFunc
-void	ignorableWhitespaceSAXFunc	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ch, <br />					 int len)
-</pre><p>Receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters.</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>ch</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div><br />
-<h3><a name="internalSubsetSAXFunc" id="internalSubsetSAXFunc"></a>Function type: internalSubsetSAXFunc</h3><pre class="programlisting">Function type: internalSubsetSAXFunc
-void	internalSubsetSAXFunc		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)
-</pre><p>Callback on internal subset declaration.</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 root element name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or URL)</td></tr></tbody></table></div><br />
-<h3><a name="isStandaloneSAXFunc" id="isStandaloneSAXFunc"></a>Function type: isStandaloneSAXFunc</h3><pre class="programlisting">Function type: isStandaloneSAXFunc
-int	isStandaloneSAXFunc		(void * ctx)
-</pre><p>Is this document tagged standalone?</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>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div><br />
-<h3><a name="notationDeclSAXFunc" id="notationDeclSAXFunc"></a>Function type: notationDeclSAXFunc</h3><pre class="programlisting">Function type: notationDeclSAXFunc
-void	notationDeclSAXFunc		(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)
-</pre><p>What to do when a notation declaration has been 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 notation</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></tbody></table></div><br />
-<h3><a name="processingInstructionSAXFunc" id="processingInstructionSAXFunc"></a>Function type: processingInstructionSAXFunc</h3><pre class="programlisting">Function type: processingInstructionSAXFunc
-void	processingInstructionSAXFunc	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * data)
-</pre><p>A processing instruction has been 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>target</tt></i>:</span></td><td>the target name</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the PI data's</td></tr></tbody></table></div><br />
-<h3><a name="referenceSAXFunc" id="referenceSAXFunc"></a>Function type: referenceSAXFunc</h3><pre class="programlisting">Function type: referenceSAXFunc
-void	referenceSAXFunc		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
-</pre><p>Called when an entity <a href="libxml-SAX.html#reference">reference</a> is detected.</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 entity name</td></tr></tbody></table></div><br />
-<h3><a name="resolveEntitySAXFunc" id="resolveEntitySAXFunc"></a>Function type: resolveEntitySAXFunc</h3><pre class="programlisting">Function type: resolveEntitySAXFunc
-<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	resolveEntitySAXFunc	(void * ctx, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId)
-</pre><p>Callback: 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's own entity resolution routine</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>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>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td></tr></tbody></table></div><br />
-<h3><a name="setDocumentLocatorSAXFunc" id="setDocumentLocatorSAXFunc"></a>Function type: setDocumentLocatorSAXFunc</h3><pre class="programlisting">Function type: setDocumentLocatorSAXFunc
-void	setDocumentLocatorSAXFunc	(void * ctx, <br />					 <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)
-</pre><p>Receive the document locator at startup, actually xmlDefaultSAXLocator. Everything is available on the context, so this is useless in our case.</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>loc</tt></i>:</span></td><td>A SAX Locator</td></tr></tbody></table></div><br />
-<h3><a name="startDocumentSAXFunc" id="startDocumentSAXFunc"></a>Function type: startDocumentSAXFunc</h3><pre class="programlisting">Function type: startDocumentSAXFunc
-void	startDocumentSAXFunc		(void * ctx)
-</pre><p>Called when the document start being processed.</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></tbody></table></div><br />
-<h3><a name="startElementNsSAX2Func" id="startElementNsSAX2Func"></a>Function type: startElementNsSAX2Func</h3><pre class="programlisting">Function type: startElementNsSAX2Func
-void	startElementNsSAX2Func		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 int nb_namespaces, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br />					 int nb_attributes, <br />					 int nb_defaulted, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** attributes)
-</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</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>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. The defaulted ones are at the end of the array</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><br />
-<h3><a name="startElementSAXFunc" id="startElementSAXFunc"></a>Function type: startElementSAXFunc</h3><pre class="programlisting">Function type: startElementSAXFunc
-void	startElementSAXFunc		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** atts)
-</pre><p>Called when an opening tag has been processed.</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 element name, including namespace prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array of name/value attributes pairs, NULL terminated</td></tr></tbody></table></div><br />
-<h3><a name="unparsedEntityDeclSAXFunc" id="unparsedEntityDeclSAXFunc"></a>Function type: unparsedEntityDeclSAXFunc</h3><pre class="programlisting">Function type: unparsedEntityDeclSAXFunc
-void	unparsedEntityDeclSAXFunc	(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)
-</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><br />
-<h3><a name="warningSAXFunc" id="warningSAXFunc"></a>Function type: warningSAXFunc</h3><pre class="programlisting">Function type: warningSAXFunc
-void	warningSAXFunc			(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Display and format a warning messages, callback.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div><br />
-<h3><a name="xmlByteConsumed" id="xmlByteConsumed"></a>Function: xmlByteConsumed</h3><pre class="programlisting">long	xmlByteConsumed			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>This function provides the current index of the parser relative to the start of the current entity. This function is computed in bytes from the beginning starting at zero and finishing at the size in byte of the file if parsing a file. The function is of constant cost if the input is UTF-8 but can be costly if run on non-UTF-8 input.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td></tr></tbody></table></div><h3><a name="xmlCleanupParser" id="xmlCleanupParser"></a>Function: xmlCleanupParser</h3><pre class="programlisting">void	xmlCleanupParser		(void)<br />
-</pre><p>This function name is somewhat misleading. It does not clean up parser state, it cleans up memory allocated by the library itself. It is a cleanup function for the XML library. It tries to reclaim all related global memory allocated for the library processing. It doesn't deallocate any document related memory. One should call xmlCleanupParser() only when the process has finished using the library and all XML/HTML documents built with it. See also xmlInitParser() which has the opposite function of preparing the library for operations. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p>
-<h3><a name="xmlClearNodeInfoSeq" id="xmlClearNodeInfoSeq"></a>Function: xmlClearNodeInfoSeq</h3><pre class="programlisting">void	xmlClearNodeInfoSeq		(<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br />
-</pre><p>-- Clear (release memory and reinitialize) node info sequence</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>seq</tt></i>:</span></td><td>a node info sequence pointer</td></tr></tbody></table></div><h3><a name="xmlClearParserCtxt" id="xmlClearParserCtxt"></a>Function: xmlClearParserCtxt</h3><pre class="programlisting">void	xmlClearParserCtxt		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Clear (release owned resources) and reinitialize a parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlCreateDocParserCtxt" id="xmlCreateDocParserCtxt"></a>Function: xmlCreateDocParserCtxt</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateDocParserCtxt	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur)<br />
-</pre><p>Creates a parser context for an XML in-memory document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="xmlCreateIOParserCtxt" id="xmlCreateIOParserCtxt"></a>Function: xmlCreateIOParserCtxt</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateIOParserCtxt	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />						 void * user_data, <br />						 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />						 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />						 void * ioctx, <br />						 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>Create a parser context for using the XML parser with an existing I/O stream</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="xmlCreatePushParserCtxt" id="xmlCreatePushParserCtxt"></a>Function: xmlCreatePushParserCtxt</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreatePushParserCtxt	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />						 void * user_data, <br />						 const char * chunk, <br />						 int size, <br />						 const char * filename)<br />
-</pre><p>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 <a href="libxml-SAX.html#characters">characters</a> will be parsed so they don'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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="xmlCtxtReadDoc" id="xmlCtxtReadDoc"></a>Function: xmlCtxtReadDoc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadDoc		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlCtxtReadFd" id="xmlCtxtReadFd"></a>Function: xmlCtxtReadFd</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadFd		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlCtxtReadFile" id="xmlCtxtReadFile"></a>Function: xmlCtxtReadFile</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadFile		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * filename, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlCtxtReadIO" id="xmlCtxtReadIO"></a>Function: xmlCtxtReadIO</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadIO		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlCtxtReadMemory" id="xmlCtxtReadMemory"></a>Function: xmlCtxtReadMemory</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadMemory	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlCtxtReset" id="xmlCtxtReset"></a>Function: xmlCtxtReset</h3><pre class="programlisting">void	xmlCtxtReset			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Reset a parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlCtxtResetPush" id="xmlCtxtResetPush"></a>Function: xmlCtxtResetPush</h3><pre class="programlisting">int	xmlCtxtResetPush		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * chunk, <br />					 int size, <br />					 const char * filename, <br />					 const char * encoding)<br />
-</pre><p>Reset a push parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or URI</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</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><h3><a name="xmlCtxtUseOptions" id="xmlCtxtUseOptions"></a>Function: xmlCtxtUseOptions</h3><pre class="programlisting">int	xmlCtxtUseOptions		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 int options)<br />
-</pre><p>Applies the options to the parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, the set of unknown or unimplemented options in case of error.</td></tr></tbody></table></div><h3><a name="xmlExternalEntityLoader" id="xmlExternalEntityLoader"></a>Function type: xmlExternalEntityLoader</h3><pre class="programlisting">Function type: xmlExternalEntityLoader
-<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlExternalEntityLoader	(const char * URL, <br />						 const char * ID, <br />						 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context)
-</pre><p>External entity loaders types.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>The System ID of the resource requested</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>The Public ID of the resource requested</td></tr><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the entity input parser.</td></tr></tbody></table></div><br />
-<h3><a name="xmlFreeParserCtxt" id="xmlFreeParserCtxt"></a>Function: xmlFreeParserCtxt</h3><pre class="programlisting">void	xmlFreeParserCtxt		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlGetExternalEntityLoader" id="xmlGetExternalEntityLoader"></a>Function: xmlGetExternalEntityLoader</h3><pre class="programlisting"><a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	xmlGetExternalEntityLoader	(void)<br />
-</pre><p>Get the default external entity resolver function for the application</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 <a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> function pointer</td></tr></tbody></table></div><h3><a name="xmlGetFeature" id="xmlGetFeature"></a>Function: xmlGetFeature</h3><pre class="programlisting">int	xmlGetFeature			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * name, <br />					 void * result)<br />
-</pre><p>Read the current value of one feature of this parser instance</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML/HTML parser context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the feature name</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>location to store the result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case or error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlGetFeaturesList" id="xmlGetFeaturesList"></a>Function: xmlGetFeaturesList</h3><pre class="programlisting">int	xmlGetFeaturesList		(int * len, <br />					 const char ** result)<br />
-</pre><p>Copy at most *@len feature names into the @result array</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the features name array (input/output)</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>an array of string to be filled with the features name.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case or error, or the total number of features, len is updated with the number of strings copied, strings must not be deallocated</td></tr></tbody></table></div><h3><a name="xmlHasFeature" id="xmlHasFeature"></a>Function: xmlHasFeature</h3><pre class="programlisting">int	xmlHasFeature			(<a href="libxml-parser.html#xmlFeature">xmlFeature</a> feature)<br />
-</pre><p>Examines if the library has been compiled with a given feature.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>feature</tt></i>:</span></td><td>the feature to be examined</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a non-zero value if the feature exist, otherwise zero. Returns zero (0) if the feature does not exist or an unknown unknown feature is requested, non-zero otherwise.</td></tr></tbody></table></div><h3><a name="xmlIOParseDTD" id="xmlIOParseDTD"></a>Function: xmlIOParseDTD</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlIOParseDTD		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>Load and parse a DTD</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block or NULL</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an Input Buffer</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error. @input will be freed by the function in any case.</td></tr></tbody></table></div><h3><a name="xmlInitNodeInfoSeq" id="xmlInitNodeInfoSeq"></a>Function: xmlInitNodeInfoSeq</h3><pre class="programlisting">void	xmlInitNodeInfoSeq		(<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br />
-</pre><p>-- Initialize (set to initial state) node info sequence</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>seq</tt></i>:</span></td><td>a node info sequence pointer</td></tr></tbody></table></div><h3><a name="xmlInitParser" id="xmlInitParser"></a>Function: xmlInitParser</h3><pre class="programlisting">void	xmlInitParser			(void)<br />
-</pre><p>Initialization function for the XML parser. This is not reentrant. Call once before processing in case of use in multithreaded programs.</p>
-<h3><a name="xmlInitParserCtxt" id="xmlInitParserCtxt"></a>Function: xmlInitParserCtxt</h3><pre class="programlisting">int	xmlInitParserCtxt		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Initialize a parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</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><h3><a name="xmlKeepBlanksDefault" id="xmlKeepBlanksDefault"></a>Function: xmlKeepBlanksDefault</h3><pre class="programlisting">int	xmlKeepBlanksDefault		(int val)<br />
-</pre><p>Set and return the previous value for default blanks text nodes support. The 1.x version of the parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and ignorableWhitespace() are only generated when running the parser in validating mode and when the current element doesn't allow CDATA or mixed content. This function is provided as a way to force the standard behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X . Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the "empty" nodes generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, indentation is not generated.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for substitution.</td></tr></tbody></table></div><h3><a name="xmlLineNumbersDefault" id="xmlLineNumbersDefault"></a>Function: xmlLineNumbersDefault</h3><pre class="programlisting">int	xmlLineNumbersDefault		(int val)<br />
-</pre><p>Set and return the previous value for enabling line numbers in elements contents. This may break on old application and is turned off by default.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for substitution.</td></tr></tbody></table></div><h3><a name="xmlLoadExternalEntity" id="xmlLoadExternalEntity"></a>Function: xmlLoadExternalEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlLoadExternalEntity	(const char * URL, <br />						 const char * ID, <br />						 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Load an external entity, note that the use of this function for unparsed entities may generate problems</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the Public ID for the entity to load</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context in which the entity is called or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> or NULL</td></tr></tbody></table></div><h3><a name="xmlNewIOInputStream" id="xmlNewIOInputStream"></a>Function: xmlNewIOInputStream</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewIOInputStream	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />						 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>Create a new input stream structure encapsulating the @input into a stream suitable for the parser.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an I/O Input</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream or NULL</td></tr></tbody></table></div><h3><a name="xmlNewParserCtxt" id="xmlNewParserCtxt"></a>Function: xmlNewParserCtxt</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlNewParserCtxt	(void)<br />
-</pre><p>Allocate and initialize a new parser context.</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 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td></tr></tbody></table></div><h3><a name="xmlParseBalancedChunkMemory" id="xmlParseBalancedChunkMemory"></a>Function: xmlParseBalancedChunkMemory</h3><pre class="programlisting">int	xmlParseBalancedChunkMemory	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data, <br />					 int depth, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br />
-</pre><p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to (must not be NULL)</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the input string in UTF8 or ISO-Latin (zero terminated)</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise</td></tr></tbody></table></div><h3><a name="xmlParseBalancedChunkMemoryRecover" id="xmlParseBalancedChunkMemoryRecover"></a>Function: xmlParseBalancedChunkMemoryRecover</h3><pre class="programlisting">int	xmlParseBalancedChunkMemoryRecover	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />						 void * user_data, <br />						 int depth, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br />						 int recover)<br />
-</pre><p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to (must not be NULL)</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the input string in UTF8 or ISO-Latin (zero terminated)</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>recover</tt></i>:</span></td><td>return nodes even if the data is broken (use 0)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise In case recover is set to 1, the nodelist will not be empty even if the parsed chunk is not well balanced, assuming the parsing succeeded to some extent.</td></tr></tbody></table></div><h3><a name="xmlParseChunk" id="xmlParseChunk"></a>Function: xmlParseChunk</h3><pre class="programlisting">int	xmlParseChunk			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * chunk, <br />					 int size, <br />					 int terminate)<br />
-</pre><p>Parse a Chunk of memory</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td></tr></tbody></table></div><h3><a name="xmlParseCtxtExternalEntity" id="xmlParseCtxtExternalEntity"></a>Function: xmlParseCtxtExternalEntity</h3><pre class="programlisting">int	xmlParseCtxtExternalEntity	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br />
-</pre><p>Parse an external general entity within an existing parsing context An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the existing parsing context</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to load</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td></tr></tbody></table></div><h3><a name="xmlParseDTD" id="xmlParseDTD"></a>Function: xmlParseDTD</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlParseDTD		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br />
-</pre><p>Load and parse an external subset.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>a NAME* containing the External ID of the DTD</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>a NAME* containing the URL to the DTD</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlParseDoc" id="xmlParseDoc"></a>Function: xmlParseDoc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseDoc		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur)<br />
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlParseDocument" id="xmlParseDocument"></a>Function: xmlParseDocument</h3><pre class="programlisting">int	xmlParseDocument		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML document (and build a tree if using the standard SAX interface). [1] document ::= prolog element Misc* [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td></tr></tbody></table></div><h3><a name="xmlParseEntity" id="xmlParseEntity"></a>Function: xmlParseEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseEntity		(const char * filename)<br />
-</pre><p>parse an XML external entity out of context and build a tree. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlParseExtParsedEnt" id="xmlParseExtParsedEnt"></a>Function: xmlParseExtParsedEnt</h3><pre class="programlisting">int	xmlParseExtParsedEnt		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse a general parsed entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td></tr></tbody></table></div><h3><a name="xmlParseExternalEntity" id="xmlParseExternalEntity"></a>Function: xmlParseExternalEntity</h3><pre class="programlisting">int	xmlParseExternalEntity		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data, <br />					 int depth, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br />
-</pre><p>Parse an external general entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to load</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td></tr></tbody></table></div><h3><a name="xmlParseFile" id="xmlParseFile"></a>Function: xmlParseFile</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseFile		(const char * filename)<br />
-</pre><p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree if the file was wellformed, NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlParseInNodeContext" id="xmlParseInNodeContext"></a>Function: xmlParseInNodeContext</h3><pre class="programlisting"><a href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlParseInNodeContext	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const char * data, <br />					 int datalen, <br />					 int options, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br />
-</pre><p>Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the given node. The allowed sequence for the data is a Well Balanced Chunk defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the context node</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the input string</td></tr><tr><td><span class="term"><i><tt>datalen</tt></i>:</span></td><td>the input string length in bytes</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td><a href="libxml-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a> if the chunk is well balanced, and the parser error code otherwise</td></tr></tbody></table></div><h3><a name="xmlParseMemory" id="xmlParseMemory"></a>Function: xmlParseMemory</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseMemory		(const char * buffer, <br />					 int size)<br />
-</pre><p>parse an XML in-memory block and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlParserAddNodeInfo" id="xmlParserAddNodeInfo"></a>Function: xmlParserAddNodeInfo</h3><pre class="programlisting">void	xmlParserAddNodeInfo		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)<br />
-</pre><p>Insert node info record into the sorted sequence</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>info</tt></i>:</span></td><td>a node info sequence pointer</td></tr></tbody></table></div><h3><a name="xmlParserFindNodeInfo" id="xmlParserFindNodeInfo"></a>Function: xmlParserFindNodeInfo</h3><pre class="programlisting">const <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	xmlParserFindNodeInfo	(const <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br />							 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Find the parser node info struct for a given node</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>an XML node within the tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> block pointer or NULL</td></tr></tbody></table></div><h3><a name="xmlParserFindNodeInfoIndex" id="xmlParserFindNodeInfoIndex"></a>Function: xmlParserFindNodeInfoIndex</h3><pre class="programlisting">unsigned long	xmlParserFindNodeInfoIndex	(const <a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br />						 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p><a href="libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a> : Find the index that the info record for the given node is or should be at in a sorted sequence</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>seq</tt></i>:</span></td><td>a node info sequence pointer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>an XML node pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a long indicating the position of the record</td></tr></tbody></table></div><h3><a name="xmlParserInputDeallocate" id="xmlParserInputDeallocate"></a>Function type: xmlParserInputDeallocate</h3><pre class="programlisting">Function type: xmlParserInputDeallocate
-void	xmlParserInputDeallocate	(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)
-</pre><p>Callback for freeing some parser input allocations.</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 string to deallocate</td></tr></tbody></table></div><br />
-<h3><a name="xmlParserInputGrow" id="xmlParserInputGrow"></a>Function: xmlParserInputGrow</h3><pre class="programlisting">int	xmlParserInputGrow		(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br />					 int len)<br />
-</pre><p>This function increase the input for the parser. It tries to preserve pointers to the input buffer, and keep already read data</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an XML parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>an indicative size for the lookahead</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the amount of char read, or -1 in case of error, 0 indicate the end of this entity</td></tr></tbody></table></div><h3><a name="xmlParserInputRead" id="xmlParserInputRead"></a>Function: xmlParserInputRead</h3><pre class="programlisting">int	xmlParserInputRead		(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br />					 int len)<br />
-</pre><p>This function was internal and is deprecated.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an XML parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>an indicative size for the lookahead</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 as this is an error to use it.</td></tr></tbody></table></div><h3><a name="xmlPedanticParserDefault" id="xmlPedanticParserDefault"></a>Function: xmlPedanticParserDefault</h3><pre class="programlisting">int	xmlPedanticParserDefault	(int val)<br />
-</pre><p>Set and return the previous value for enabling pedantic warnings.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for substitution.</td></tr></tbody></table></div><h3><a name="xmlReadDoc" id="xmlReadDoc"></a>Function: xmlReadDoc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadDoc		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlReadFd" id="xmlReadFd"></a>Function: xmlReadFd</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadFd		(int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlReadFile" id="xmlReadFile"></a>Function: xmlReadFile</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadFile		(const char * filename, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML file from the filesystem or the network.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlReadIO" id="xmlReadIO"></a>Function: xmlReadIO</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadIO		(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML document from I/O functions and source and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlReadMemory" id="xmlReadMemory"></a>Function: xmlReadMemory</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadMemory		(const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlRecoverDoc" id="xmlRecoverDoc"></a>Function: xmlRecoverDoc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverDoc		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur)<br />
-</pre><p>parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to build a tree is tried anyway</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL in case of failure</td></tr></tbody></table></div><h3><a name="xmlRecoverFile" id="xmlRecoverFile"></a>Function: xmlRecoverFile</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverFile		(const char * filename)<br />
-</pre><p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree anyway</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL in case of failure</td></tr></tbody></table></div><h3><a name="xmlRecoverMemory" id="xmlRecoverMemory"></a>Function: xmlRecoverMemory</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverMemory	(const char * buffer, <br />					 int size)<br />
-</pre><p>parse an XML in-memory block and build a tree. In the case the document is not Well Formed, an attempt to build a tree is tried anyway</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSAXParseDTD" id="xmlSAXParseDTD"></a>Function: xmlSAXParseDTD</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlSAXParseDTD		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br />
-</pre><p>Load and parse an external subset.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>a NAME* containing the External ID of the DTD</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>a NAME* containing the URL to the DTD</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlSAXParseDoc" id="xmlSAXParseDoc"></a>Function: xmlSAXParseDoc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseDoc		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 int recovery)<br />
-</pre><p>parse an XML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well Formed documents</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlSAXParseEntity" id="xmlSAXParseEntity"></a>Function: xmlSAXParseEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseEntity	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const char * filename)<br />
-</pre><p>parse an XML external entity out of context and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlSAXParseFile" id="xmlSAXParseFile"></a>Function: xmlSAXParseFile</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseFile		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const char * filename, <br />					 int recovery)<br />
-</pre><p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well Formed documents</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlSAXParseFileWithData" id="xmlSAXParseFileWithData"></a>Function: xmlSAXParseFileWithData</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseFileWithData	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const char * filename, <br />					 int recovery, <br />					 void * data)<br />
-</pre><p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well Formed documents</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlSAXParseMemory" id="xmlSAXParseMemory"></a>Function: xmlSAXParseMemory</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseMemory	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 const char * buffer, <br />					 int size, <br />					 int recovery)<br />
-</pre><p>parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read not Well Formed documents</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlSAXParseMemoryWithData" id="xmlSAXParseMemoryWithData"></a>Function: xmlSAXParseMemoryWithData</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseMemoryWithData	(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />						 const char * buffer, <br />						 int size, <br />						 int recovery, <br />						 void * data)<br />
-</pre><p>parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well Formed documents</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlSAXUserParseFile" id="xmlSAXUserParseFile"></a>Function: xmlSAXUserParseFile</h3><pre class="programlisting">int	xmlSAXUserParseFile		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data, <br />					 const char * filename)<br />
-</pre><p>parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or a error number otherwise</td></tr></tbody></table></div><h3><a name="xmlSAXUserParseMemory" id="xmlSAXUserParseMemory"></a>Function: xmlSAXUserParseMemory</h3><pre class="programlisting">int	xmlSAXUserParseMemory		(<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data, <br />					 const char * buffer, <br />					 int size)<br />
-</pre><p>A better SAX parsing routine. parse an XML in-memory buffer and call the given SAX handler routines.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an in-memory XML document input</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the length of the XML document in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or a error number otherwise</td></tr></tbody></table></div><h3><a name="xmlSetExternalEntityLoader" id="xmlSetExternalEntityLoader"></a>Function: xmlSetExternalEntityLoader</h3><pre class="programlisting">void	xmlSetExternalEntityLoader	(<a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f)<br />
-</pre><p>Changes the defaultexternal entity resolver function for the application</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the new entity resolver function</td></tr></tbody></table></div><h3><a name="xmlSetFeature" id="xmlSetFeature"></a>Function: xmlSetFeature</h3><pre class="programlisting">int	xmlSetFeature			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * name, <br />					 void * value)<br />
-</pre><p>Change the current value of one feature of this parser instance</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML/HTML parser context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the feature name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>pointer to the location of the new value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case or error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlSetupParserForBuffer" id="xmlSetupParserForBuffer"></a>Function: xmlSetupParserForBuffer</h3><pre class="programlisting">void	xmlSetupParserForBuffer		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br />					 const char * filename)<br />
-</pre><p>Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * buffer</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file name</td></tr></tbody></table></div><h3><a name="xmlStopParser" id="xmlStopParser"></a>Function: xmlStopParser</h3><pre class="programlisting">void	xmlStopParser			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Blocks further parser processing</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlSubstituteEntitiesDefault" id="xmlSubstituteEntitiesDefault"></a>Function: xmlSubstituteEntitiesDefault</h3><pre class="programlisting">int	xmlSubstituteEntitiesDefault	(int val)<br />
-</pre><p>Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for substitution.</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>
diff --git a/doc/html/libxml-parserInternals.html b/doc/html/libxml-parserInternals.html
deleted file mode 100644
index b65cf7e..0000000
--- a/doc/html/libxml-parserInternals.html
+++ /dev/null
@@ -1,322 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module parserInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module parserInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-parser.html">parser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-pattern.html">pattern</a></th><td><a accesskey="n" href="libxml-pattern.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a></pre><pre class="programlisting">#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a></pre><pre class="programlisting">#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a></pre><pre class="programlisting">#define <a href="#IS_BASECHAR">IS_BASECHAR</a></pre><pre class="programlisting">#define <a href="#IS_BLANK">IS_BLANK</a></pre><pre class="programlisting">#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a></pre><pre class="programlisting">#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a></pre><pre class="programlisting">#define <a href="#IS_CHAR">IS_CHAR</a></pre><pre class="programlisting">#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a></pre><pre class="programlisting">#define <a href="#IS_COMBINING">IS_COMBINING</a></pre><pre class="programlisting">#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a></pre><pre class="programlisting">#define <a href="#IS_DIGIT">IS_DIGIT</a></pre><pre class="programlisting">#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a></pre><pre class="programlisting">#define <a href="#IS_EXTENDER">IS_EXTENDER</a></pre><pre class="programlisting">#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a></pre><pre class="programlisting">#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a></pre><pre class="programlisting">#define <a href="#IS_LETTER">IS_LETTER</a></pre><pre class="programlisting">#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a></pre><pre class="programlisting">#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a></pre><pre class="programlisting">#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a></pre><pre class="programlisting">#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a></pre><pre class="programlisting">#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a></pre><pre class="programlisting">#define <a href="#SKIP_EOL">SKIP_EOL</a></pre><pre class="programlisting">#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a></pre><pre class="programlisting">#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a></pre><pre class="programlisting">#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a></pre><pre class="programlisting">#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a></pre><pre class="programlisting">#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a></pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a>	(const char * filename, <br />							 const char * encoding)</pre>
-<pre class="programlisting">void	<a href="#htmlInitAutoClose">htmlInitAutoClose</a>		(void)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#inputPop">inputPop</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#inputPush">inputPush</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#namePop">namePop</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#namePush">namePush</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#nodePop">nodePop</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#nodePush">nodePush</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> value)</pre>
-<pre class="programlisting">int	<a href="#xmlCheckLanguageID">xmlCheckLanguageID</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * lang)</pre>
-<pre class="programlisting">int	<a href="#xmlCopyChar">xmlCopyChar</a>			(int len, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * out, <br />					 int val)</pre>
-<pre class="programlisting">int	<a href="#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a>		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * out, <br />					 int val)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a>	(const char * filename)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a>	(const char * buffer, <br />							 int size)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a>	(const char * filename, <br />						 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlCurrentChar">xmlCurrentChar</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 int * len)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDecodeEntities">xmlDecodeEntities</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 int len, <br />					 int what, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end2, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end3)</pre>
-<pre class="programlisting">Function type: <a href="#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a>
-void	<a href="#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a>		(<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode)
-</pre>
-<pre class="programlisting">void	<a href="#xmlErrMemory">xmlErrMemory</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * extra)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeInputStream">xmlFreeInputStream</a>		(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)</pre>
-<pre class="programlisting">void	<a href="#xmlHandleEntity">xmlHandleEntity</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)</pre>
-<pre class="programlisting">int	<a href="#xmlIsLetter">xmlIsLetter</a>			(int c)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseQName">xmlNamespaceParseQName</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** prefix)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewEntityInputStream">xmlNewEntityInputStream</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputFromFile">xmlNewInputFromFile</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 const char * filename)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputStream">xmlNewInputStream</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewStringInputStream">xmlNewStringInputStream</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * buffer)</pre>
-<pre class="programlisting">void	<a href="#xmlNextChar">xmlNextChar</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseAttValue">xmlParseAttValue</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseAttribute">xmlParseAttribute</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** value)</pre>
-<pre class="programlisting">void	<a href="#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlParseAttributeType">xmlParseAttributeType</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)</pre>
-<pre class="programlisting">void	<a href="#xmlParseCDSect">xmlParseCDSect</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseCharData">xmlParseCharData</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 int cdata)</pre>
-<pre class="programlisting">int	<a href="#xmlParseCharRef">xmlParseCharRef</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseComment">xmlParseComment</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseContent">xmlParseContent</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlParseDefaultDecl">xmlParseDefaultDecl</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** value)</pre>
-<pre class="programlisting">void	<a href="#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseElement">xmlParseElement</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />							 int inputchk)</pre>
-<pre class="programlisting">int	<a href="#xmlParseElementContentDecl">xmlParseElementContentDecl</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result)</pre>
-<pre class="programlisting">int	<a href="#xmlParseElementDecl">xmlParseElementDecl</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />							 int inputchk)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEncName">xmlParseEncName</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEncodingDecl">xmlParseEncodingDecl</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseEndTag">xmlParseEndTag</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseEntityDecl">xmlParseEntityDecl</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlParseEntityRef">xmlParseEntityRef</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEntityValue">xmlParseEntityValue</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** orig)</pre>
-<pre class="programlisting">int	<a href="#xmlParseEnumeratedType">xmlParseEnumeratedType</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlParseEnumerationType">xmlParseEnumerationType</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseExternalID">xmlParseExternalID</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br />					 int strict)</pre>
-<pre class="programlisting">void	<a href="#xmlParseExternalSubset">xmlParseExternalSubset</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)</pre>
-<pre class="programlisting">void	<a href="#xmlParseMarkupDecl">xmlParseMarkupDecl</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseMisc">xmlParseMisc</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseName">xmlParseName</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseNamespace">xmlParseNamespace</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseNmtoken">xmlParseNmtoken</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseNotationDecl">xmlParseNotationDecl</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlParseNotationType">xmlParseNotationType</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParsePEReference">xmlParsePEReference</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParsePI">xmlParsePI</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParsePITarget">xmlParsePITarget</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParsePubidLiteral">xmlParsePubidLiteral</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseQuotedString">xmlParseQuotedString</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseReference">xmlParseReference</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlParseSDDecl">xmlParseSDDecl</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseStartTag">xmlParseStartTag</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseSystemLiteral">xmlParseSystemLiteral</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseTextDecl">xmlParseTextDecl</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseVersionInfo">xmlParseVersionInfo</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseVersionNum">xmlParseVersionNum</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParseXMLDecl">xmlParseXMLDecl</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParserHandlePEReference">xmlParserHandlePEReference</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParserHandleReference">xmlParserHandleReference</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlParserInputShrink">xmlParserInputShrink</a>		(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a>	<a href="#xmlPopInput">xmlPopInput</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlPushInput">xmlPushInput</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlScanName">xmlScanName</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a>	(<a href="libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func)</pre>
-<pre class="programlisting">int	<a href="#xmlSkipBlankChars">xmlSkipBlankChars</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName">xmlSplitQName</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** prefix)</pre>
-<pre class="programlisting">int	<a href="#xmlStringCurrentChar">xmlStringCurrentChar</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 int * len)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStringDecodeEntities">xmlStringDecodeEntities</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int what, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end2, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end3)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />						 int len, <br />						 int what, <br />						 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end, <br />						 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end2, <br />						 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end3)</pre>
-<pre class="programlisting">int	<a href="#xmlSwitchEncoding">xmlSwitchEncoding</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting">int	<a href="#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)</pre>
-<pre class="programlisting">int	<a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)</pre>
-<h2>Description</h2>
-<h3><a name="INPUT_CHUNK" id="INPUT_CHUNK"></a>Macro: INPUT_CHUNK</h3><pre>#define INPUT_CHUNK</pre><p>The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.</p>
-<h3><a name="IS_ASCII_DIGIT" id="IS_ASCII_DIGIT"></a>Macro: IS_ASCII_DIGIT</h3><pre>#define IS_ASCII_DIGIT</pre><p>Macro to check [0-9]</p>
-<h3><a name="IS_ASCII_LETTER" id="IS_ASCII_LETTER"></a>Macro: IS_ASCII_LETTER</h3><pre>#define IS_ASCII_LETTER</pre><p>Macro to check [a-zA-Z]</p>
-<h3><a name="IS_BASECHAR" id="IS_BASECHAR"></a>Macro: IS_BASECHAR</h3><pre>#define IS_BASECHAR</pre><p>Macro to check the following production in the XML spec: [85] BaseChar ::= ... long list see REC ...</p>
-<h3><a name="IS_BLANK" id="IS_BLANK"></a>Macro: IS_BLANK</h3><pre>#define IS_BLANK</pre><p>Macro to check the following production in the XML spec: [3] S ::= (#x20 | #x9 | #xD | #xA)+</p>
-<h3><a name="IS_BLANK_CH" id="IS_BLANK_CH"></a>Macro: IS_BLANK_CH</h3><pre>#define IS_BLANK_CH</pre><p>Behaviour same as <a href="libxml-parserInternals.html#IS_BLANK">IS_BLANK</a></p>
-<h3><a name="IS_BYTE_CHAR" id="IS_BYTE_CHAR"></a>Macro: IS_BYTE_CHAR</h3><pre>#define IS_BYTE_CHAR</pre><p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20...] any byte character in the accepted range</p>
-<h3><a name="IS_CHAR" id="IS_CHAR"></a>Macro: IS_CHAR</h3><pre>#define IS_CHAR</pre><p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.</p>
-<h3><a name="IS_CHAR_CH" id="IS_CHAR_CH"></a>Macro: IS_CHAR_CH</h3><pre>#define IS_CHAR_CH</pre><p>Behaves like <a href="libxml-parserInternals.html#IS_CHAR">IS_CHAR</a> on single-byte value</p>
-<h3><a name="IS_COMBINING" id="IS_COMBINING"></a>Macro: IS_COMBINING</h3><pre>#define IS_COMBINING</pre><p>Macro to check the following production in the XML spec: [87] CombiningChar ::= ... long list see REC ...</p>
-<h3><a name="IS_COMBINING_CH" id="IS_COMBINING_CH"></a>Macro: IS_COMBINING_CH</h3><pre>#define IS_COMBINING_CH</pre><p>Always false (all combining chars &gt; 0xff)</p>
-<h3><a name="IS_DIGIT" id="IS_DIGIT"></a>Macro: IS_DIGIT</h3><pre>#define IS_DIGIT</pre><p>Macro to check the following production in the XML spec: [88] Digit ::= ... long list see REC ...</p>
-<h3><a name="IS_DIGIT_CH" id="IS_DIGIT_CH"></a>Macro: IS_DIGIT_CH</h3><pre>#define IS_DIGIT_CH</pre><p>Behaves like <a href="libxml-parserInternals.html#IS_DIGIT">IS_DIGIT</a> but with a single byte argument</p>
-<h3><a name="IS_EXTENDER" id="IS_EXTENDER"></a>Macro: IS_EXTENDER</h3><pre>#define IS_EXTENDER</pre><p>Macro to check the following production in the XML spec: [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]</p>
-<h3><a name="IS_EXTENDER_CH" id="IS_EXTENDER_CH"></a>Macro: IS_EXTENDER_CH</h3><pre>#define IS_EXTENDER_CH</pre><p>Behaves like <a href="libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a> but with a single-byte argument</p>
-<h3><a name="IS_IDEOGRAPHIC" id="IS_IDEOGRAPHIC"></a>Macro: IS_IDEOGRAPHIC</h3><pre>#define IS_IDEOGRAPHIC</pre><p>Macro to check the following production in the XML spec: [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]</p>
-<h3><a name="IS_LETTER" id="IS_LETTER"></a>Macro: IS_LETTER</h3><pre>#define IS_LETTER</pre><p>Macro to check the following production in the XML spec: [84] Letter ::= BaseChar | Ideographic</p>
-<h3><a name="IS_LETTER_CH" id="IS_LETTER_CH"></a>Macro: IS_LETTER_CH</h3><pre>#define IS_LETTER_CH</pre><p>Macro behaves like IS_LETTER, but only check base chars</p>
-<h3><a name="IS_PUBIDCHAR" id="IS_PUBIDCHAR"></a>Macro: IS_PUBIDCHAR</h3><pre>#define IS_PUBIDCHAR</pre><p>Macro to check the following production in the XML spec: [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</p>
-<h3><a name="IS_PUBIDCHAR_CH" id="IS_PUBIDCHAR_CH"></a>Macro: IS_PUBIDCHAR_CH</h3><pre>#define IS_PUBIDCHAR_CH</pre><p>Same as <a href="libxml-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a> but for single-byte value</p>
-<h3><a name="MOVETO_ENDTAG" id="MOVETO_ENDTAG"></a>Macro: MOVETO_ENDTAG</h3><pre>#define MOVETO_ENDTAG</pre><p>Skips to the next '&gt;' char.</p>
-<h3><a name="MOVETO_STARTTAG" id="MOVETO_STARTTAG"></a>Macro: MOVETO_STARTTAG</h3><pre>#define MOVETO_STARTTAG</pre><p>Skips to the next '&lt;' char.</p>
-<h3><a name="SKIP_EOL" id="SKIP_EOL"></a>Macro: SKIP_EOL</h3><pre>#define SKIP_EOL</pre><p>Skips the end of line chars.</p>
-<h3><a name="XML_MAX_DICTIONARY_LIMIT" id="XML_MAX_DICTIONARY_LIMIT"></a>Macro: XML_MAX_DICTIONARY_LIMIT</h3><pre>#define XML_MAX_DICTIONARY_LIMIT</pre><p>Maximum size allowed by the parser for a dictionary by default This is not a limitation of the parser but a safety boundary feature, use <a href="libxml-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p>
-<h3><a name="XML_MAX_LOOKUP_LIMIT" id="XML_MAX_LOOKUP_LIMIT"></a>Macro: XML_MAX_LOOKUP_LIMIT</h3><pre>#define XML_MAX_LOOKUP_LIMIT</pre><p>Maximum size allowed by the parser for ahead lookup This is an upper boundary enforced by the parser to avoid bad behaviour on "unfriendly' content Introduced in 2.9.0</p>
-<h3><a name="XML_MAX_NAMELEN" id="XML_MAX_NAMELEN"></a>Macro: XML_MAX_NAMELEN</h3><pre>#define XML_MAX_NAMELEN</pre><p>Identifiers can be longer, but this will be more costly at runtime.</p>
-<h3><a name="XML_MAX_NAME_LENGTH" id="XML_MAX_NAME_LENGTH"></a>Macro: XML_MAX_NAME_LENGTH</h3><pre>#define XML_MAX_NAME_LENGTH</pre><p>Maximum size allowed for a markup identifier. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage in face of "unfriendly' content Introduced in 2.9.0</p>
-<h3><a name="XML_MAX_TEXT_LENGTH" id="XML_MAX_TEXT_LENGTH"></a>Macro: XML_MAX_TEXT_LENGTH</h3><pre>#define XML_MAX_TEXT_LENGTH</pre><p>Maximum size allowed for a single text node when building a tree. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p>
-<h3><a name="XML_SUBSTITUTE_BOTH" id="XML_SUBSTITUTE_BOTH"></a>Macro: XML_SUBSTITUTE_BOTH</h3><pre>#define XML_SUBSTITUTE_BOTH</pre><p>Both general and parameter entities need to be substituted.</p>
-<h3><a name="XML_SUBSTITUTE_NONE" id="XML_SUBSTITUTE_NONE"></a>Macro: XML_SUBSTITUTE_NONE</h3><pre>#define XML_SUBSTITUTE_NONE</pre><p>If no entities need to be substituted.</p>
-<h3><a name="XML_SUBSTITUTE_PEREF" id="XML_SUBSTITUTE_PEREF"></a>Macro: XML_SUBSTITUTE_PEREF</h3><pre>#define XML_SUBSTITUTE_PEREF</pre><p>Whether parameter entities need to be substituted.</p>
-<h3><a name="XML_SUBSTITUTE_REF" id="XML_SUBSTITUTE_REF"></a>Macro: XML_SUBSTITUTE_REF</h3><pre>#define XML_SUBSTITUTE_REF</pre><p>Whether general entities need to be substituted.</p>
-<h3><a name="htmlCreateFileParserCtxt" id="htmlCreateFileParserCtxt"></a>Function: htmlCreateFileParserCtxt</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreateFileParserCtxt	(const char * filename, <br />							 const char * encoding)<br />
-</pre><p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="htmlInitAutoClose" id="htmlInitAutoClose"></a>Function: htmlInitAutoClose</h3><pre class="programlisting">void	htmlInitAutoClose		(void)<br />
-</pre><p>This is a no-op now.</p>
-<h3><a name="inputPop" id="inputPop"></a>Function: inputPop</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	inputPop	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Pops the top parser input from the input stack</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the input just removed</td></tr></tbody></table></div><h3><a name="inputPush" id="inputPush"></a>Function: inputPush</h3><pre class="programlisting">int	inputPush			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value)<br />
-</pre><p>Pushes a new parser input on top of the input stack</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the parser input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, the index in the stack otherwise</td></tr></tbody></table></div><h3><a name="namePop" id="namePop"></a>Function: namePop</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	namePop			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Pops the top element name from the name stack</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the name just removed</td></tr></tbody></table></div><h3><a name="namePush" id="namePush"></a>Function: namePush</h3><pre class="programlisting">int	namePush			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Pushes a new element name on top of the name stack</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, the index in the stack otherwise</td></tr></tbody></table></div><h3><a name="nodePop" id="nodePop"></a>Function: nodePop</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	nodePop			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Pops the top element node from the node stack</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node just removed</td></tr></tbody></table></div><h3><a name="nodePush" id="nodePush"></a>Function: nodePush</h3><pre class="programlisting">int	nodePush			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> value)<br />
-</pre><p>Pushes a new element node on top of the node stack</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the element node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, the index in the stack otherwise</td></tr></tbody></table></div><h3><a name="xmlCheckLanguageID" id="xmlCheckLanguageID"></a>Function: xmlCheckLanguageID</h3><pre class="programlisting">int	xmlCheckLanguageID		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * lang)<br />
-</pre><p>Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC <a href="libxml-SAX.html#reference">reference</a> the successors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>lang</tt></i>:</span></td><td>pointer to the string value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if correct 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlCopyChar" id="xmlCopyChar"></a>Function: xmlCopyChar</h3><pre class="programlisting">int	xmlCopyChar			(int len, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * out, <br />					 int val)<br />
-</pre><p>append the char value in the array</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>Ignored, compatibility</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the char value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> written</td></tr></tbody></table></div><h3><a name="xmlCopyCharMultiByte" id="xmlCopyCharMultiByte"></a>Function: xmlCopyCharMultiByte</h3><pre class="programlisting">int	xmlCopyCharMultiByte		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * out, <br />					 int val)<br />
-</pre><p>append the char value in the array</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the char value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> written</td></tr></tbody></table></div><h3><a name="xmlCreateEntityParserCtxt" id="xmlCreateEntityParserCtxt"></a>Function: xmlCreateEntityParserCtxt</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateEntityParserCtxt	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)<br />
-</pre><p>Create a parser context for an external entity Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the entity URL</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the entity PUBLIC ID</td></tr><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>a possible base for the target URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="xmlCreateFileParserCtxt" id="xmlCreateFileParserCtxt"></a>Function: xmlCreateFileParserCtxt</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateFileParserCtxt	(const char * filename)<br />
-</pre><p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="xmlCreateMemoryParserCtxt" id="xmlCreateMemoryParserCtxt"></a>Function: xmlCreateMemoryParserCtxt</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateMemoryParserCtxt	(const char * buffer, <br />							 int size)<br />
-</pre><p>Create a parser context for an XML in-memory document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="xmlCreateURLParserCtxt" id="xmlCreateURLParserCtxt"></a>Function: xmlCreateURLParserCtxt</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateURLParserCtxt	(const char * filename, <br />						 int options)<br />
-</pre><p>Create a parser context for a file or URL content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time and for file accesses</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="xmlCurrentChar" id="xmlCurrentChar"></a>Function: xmlCurrentChar</h3><pre class="programlisting">int	xmlCurrentChar			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 int * len)<br />
-</pre><p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer. Implement the end of line normalization: 2.11 End-of-Line Handling Wherever an external parsed entity or the literal entity value of an internal parsed entity contains either the literal two-character sequence "#xD#xA" or a standalone literal #xD, an XML processor must pass to the application the single character #xA. This behavior can conveniently be produced by normalizing all line breaks to #xA on input, before parsing.)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XML parser context</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the length of the char read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current char value and its length</td></tr></tbody></table></div><h3><a name="xmlDecodeEntities" id="xmlDecodeEntities"></a>Function: xmlDecodeEntities</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlDecodeEntities	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 int len, <br />					 int what, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end2, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end3)<br />
-</pre><p>This function is deprecated, we now always process entities content through <a href="libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a> TODO: remove it in next major release. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len to decode (in bytes !), -1 for no size limit</td></tr><tr><td><span class="term"><i><tt>what</tt></i>:</span></td><td>combination of <a href="libxml-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a></td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end2</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end3</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>A newly allocated string with the substitution done. The caller must deallocate it !</td></tr></tbody></table></div><h3><a name="xmlEntityReferenceFunc" id="xmlEntityReferenceFunc"></a>Function type: xmlEntityReferenceFunc</h3><pre class="programlisting">Function type: xmlEntityReferenceFunc
-void	xmlEntityReferenceFunc		(<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode)
-</pre><p>Callback function used when one needs to be able to track back the provenance of a chunk of nodes inherited from an entity replacement.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ent</tt></i>:</span></td><td>the entity</td></tr><tr><td><span class="term"><i><tt>firstNode</tt></i>:</span></td><td>the fist node in the chunk</td></tr><tr><td><span class="term"><i><tt>lastNode</tt></i>:</span></td><td>the last nod in the chunk</td></tr></tbody></table></div><br />
-<h3><a name="xmlErrMemory" id="xmlErrMemory"></a>Function: xmlErrMemory</h3><pre class="programlisting">void	xmlErrMemory			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const char * extra)<br />
-</pre><p>Handle a redefinition of <a href="libxml-SAX.html#attribute">attribute</a> error</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>extra</tt></i>:</span></td><td>extra information</td></tr></tbody></table></div><h3><a name="xmlFreeInputStream" id="xmlFreeInputStream"></a>Function: xmlFreeInputStream</h3><pre class="programlisting">void	xmlFreeInputStream		(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br />
-</pre><p>Free up an input stream.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a></td></tr></tbody></table></div><h3><a name="xmlHandleEntity" id="xmlHandleEntity"></a>Function: xmlHandleEntity</h3><pre class="programlisting">void	xmlHandleEntity			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br />
-</pre><p>Default handling of defined entities, when should we define a new input stream ? When do we just handle that as a set of chars ? OBSOLETE: to be removed at some point.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>entity</tt></i>:</span></td><td>an XML entity pointer.</td></tr></tbody></table></div><h3><a name="xmlIsLetter" id="xmlIsLetter"></a>Function: xmlIsLetter</h3><pre class="programlisting">int	xmlIsLetter			(int c)<br />
-</pre><p>Check whether the character is allowed by the production [84] Letter ::= BaseChar | Ideographic</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an unicode character (int)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if not, non-zero otherwise</td></tr></tbody></table></div><h3><a name="xmlNamespaceParseNCName" id="xmlNamespaceParseNCName"></a>Function: xmlNamespaceParseNCName</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNCName	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML namespace name. TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace name or NULL</td></tr></tbody></table></div><h3><a name="xmlNamespaceParseNSDef" id="xmlNamespaceParseNSDef"></a>Function: xmlNamespaceParseNSDef</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNSDef	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse a namespace prefix declaration TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 1] NSDef ::= PrefixDef Eq SystemLiteral [NS 2] PrefixDef ::= 'xmlns' (':' NCName)?</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace name</td></tr></tbody></table></div><h3><a name="xmlNamespaceParseQName" id="xmlNamespaceParseQName"></a>Function: xmlNamespaceParseQName</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseQName	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br />
-</pre><p>TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. parse an XML qualified name [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> **</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local part, and prefix is updated to get the Prefix if any.</td></tr></tbody></table></div><h3><a name="xmlNewEntityInputStream" id="xmlNewEntityInputStream"></a>Function: xmlNewEntityInputStream</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewEntityInputStream	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br />
-</pre><p>Create a new input stream based on an <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>entity</tt></i>:</span></td><td>an Entity pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream or NULL</td></tr></tbody></table></div><h3><a name="xmlNewInputFromFile" id="xmlNewInputFromFile"></a>Function: xmlNewInputFromFile</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputFromFile	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 const char * filename)<br />
-</pre><p>Create a new input stream based on a file or an URL.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename to use as entity</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewInputStream" id="xmlNewInputStream"></a>Function: xmlNewInputStream</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputStream	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Create a new input stream structure.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream or NULL</td></tr></tbody></table></div><h3><a name="xmlNewStringInputStream" id="xmlNewStringInputStream"></a>Function: xmlNewStringInputStream</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewStringInputStream	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * buffer)<br />
-</pre><p>Create a new input stream based on a memory buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an memory buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream</td></tr></tbody></table></div><h3><a name="xmlNextChar" id="xmlNextChar"></a>Function: xmlNextChar</h3><pre class="programlisting">void	xmlNextChar			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Skip to the next char input char.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseAttValue" id="xmlParseAttValue"></a>Function: xmlParseAttValue</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttValue	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse a value for an <a href="libxml-SAX.html#attribute">attribute</a> Note: the parser won't do substitution of entities here, this will be handled later in <a href="libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a> [10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' | "'" ([^&lt;&amp;'] | Reference)* "'" 3.3.3 Attribute-Value Normalization: Before the value of an <a href="libxml-SAX.html#attribute">attribute</a> is passed to the application or checked for validity, the XML processor must normalize it as follows: - a character <a href="libxml-SAX.html#reference">reference</a> is processed by appending the referenced character to the <a href="libxml-SAX.html#attribute">attribute</a> value - an entity <a href="libxml-SAX.html#reference">reference</a> is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a "#xD#xA" sequence that is part of an external parsed entity or the literal entity value of an internal parsed entity - other <a href="libxml-SAX.html#characters">characters</a> are processed by appending them to the normalized value If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml-SAX.html#characters">characters</a> by a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the AttValue parsed or NULL. The value has to be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlParseAttribute" id="xmlParseAttribute"></a>Function: xmlParseAttribute</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttribute	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** value)<br />
-</pre><p>parse an <a href="libxml-SAX.html#attribute">attribute</a> [41] Attribute ::= Name Eq AttValue [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities. [ WFC: No &lt; in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an <a href="libxml-SAX.html#attribute">attribute</a> value (other than "&amp;lt;") must not contain a &lt;. [ VC: Attribute Value Type ] The <a href="libxml-SAX.html#attribute">attribute</a> must have been declared; the value must be of the type declared for it. [25] Eq ::= S? '=' S? With namespace: [NS 11] Attribute ::= QName Eq AttValue Also the case QName == xmlns:??? is handled independently as a namespace definition.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** used to store the value of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name, and the value in *value.</td></tr></tbody></table></div><h3><a name="xmlParseAttributeListDecl" id="xmlParseAttributeListDecl"></a>Function: xmlParseAttributeListDecl</h3><pre class="programlisting">void	xmlParseAttributeListDecl	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>: parse the Attribute list def for an element [52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;' [53] AttDef ::= S Name S AttType S DefaultDecl</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseAttributeType" id="xmlParseAttributeType"></a>Function: xmlParseAttributeType</h3><pre class="programlisting">int	xmlParseAttributeType		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br />
-</pre><p>parse the Attribute list def for an element [54] AttType ::= StringType | TokenizedType | EnumeratedType [55] StringType ::= 'CDATA' [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' Validity constraints for <a href="libxml-SAX.html#attribute">attribute</a> values syntax are checked in xmlValidateAttributeValue() [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them. [ VC: One ID per Element Type ] No element type may have more than one ID <a href="libxml-SAX.html#attribute">attribute</a> specified. [ VC: ID Attribute Default ] An ID <a href="libxml-SAX.html#attribute">attribute</a> must have a declared default of #IMPLIED or #REQUIRED. [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID <a href="libxml-SAX.html#attribute">attribute</a> on some element in the XML document; i.e. IDREF values must match the value of some ID attribute. [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD. [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the enumeration tree built while parsing</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> type</td></tr></tbody></table></div><h3><a name="xmlParseCDSect" id="xmlParseCDSect"></a>Function: xmlParseCDSect</h3><pre class="programlisting">void	xmlParseCDSect			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Parse escaped pure raw content. [18] CDSect ::= CDStart CData CDEnd [19] CDStart ::= '&lt;![CDATA[' [20] Data ::= (Char* - (Char* ']]&gt;' Char*)) [21] CDEnd ::= ']]&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseCharData" id="xmlParseCharData"></a>Function: xmlParseCharData</h3><pre class="programlisting">void	xmlParseCharData		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 int cdata)<br />
-</pre><p>parse a CharData section. if we are within a CDATA section ']]&gt;' marks an end of section. The right angle bracket (&gt;) may be represented using the string "&amp;gt;", and must, for compatibility, be escaped using "&amp;gt;" or a character <a href="libxml-SAX.html#reference">reference</a> when it appears in the string "]]&gt;" in content, when that string is not marking the end of a CDATA section. [14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>cdata</tt></i>:</span></td><td>int indicating whether we are within a CDATA section</td></tr></tbody></table></div><h3><a name="xmlParseCharRef" id="xmlParseCharRef"></a>Function: xmlParseCharRef</h3><pre class="programlisting">int	xmlParseCharRef			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' [ WFC: Legal Character ] Characters referred to using character references must match the production for Char.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value parsed (as an int), 0 in case of error</td></tr></tbody></table></div><h3><a name="xmlParseComment" id="xmlParseComment"></a>Function: xmlParseComment</h3><pre class="programlisting">void	xmlParseComment			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Skip an XML (SGML) <a href="libxml-SAX.html#comment">comment</a> &lt;!-- .... --&gt; The spec says that "For compatibility, the string "--" (double-hyphen) must not occur within comments. " [15] Comment ::= '&lt;!--' ((Char - '-') | ('-' (Char - '-')))* '--&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseContent" id="xmlParseContent"></a>Function: xmlParseContent</h3><pre class="programlisting">void	xmlParseContent			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Parse a content sequence. Stops at EOF or '&lt;/'. [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseDefaultDecl" id="xmlParseDefaultDecl"></a>Function: xmlParseDefaultDecl</h3><pre class="programlisting">int	xmlParseDefaultDecl		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** value)<br />
-</pre><p>Parse an <a href="libxml-SAX.html#attribute">attribute</a> default declaration [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the <a href="libxml-SAX.html#attribute">attribute</a> must be specified for all elements of the type in the attribute-list declaration. [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared <a href="libxml-SAX.html#attribute">attribute</a> type c.f. xmlValidateAttributeDecl() [ VC: Fixed Attribute Default ] if an <a href="libxml-SAX.html#attribute">attribute</a> has a default value declared with the #FIXED keyword, instances of that <a href="libxml-SAX.html#attribute">attribute</a> must match the default value. [ WFC: No &lt; in Attribute Values ] handled in xmlParseAttValue()</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>Receive a possible fixed default value for the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, <a href="libxml-tree.html#XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> or XML_ATTRIBUTE_FIXED.</td></tr></tbody></table></div><h3><a name="xmlParseDocTypeDecl" id="xmlParseDocTypeDecl"></a>Function: xmlParseDocTypeDecl</h3><pre class="programlisting">void	xmlParseDocTypeDecl		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse a DOCTYPE declaration [28] doctypedecl ::= '&lt;!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl | PEReference | S)* ']' S?)? '&gt;' [ VC: Root Element Type ] The Name in the document type declaration must match the element type of the root element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseElement" id="xmlParseElement"></a>Function: xmlParseElement</h3><pre class="programlisting">void	xmlParseElement			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML element [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseElementChildrenContentDecl" id="xmlParseElementChildrenContentDecl"></a>Function: xmlParseElementChildrenContentDecl</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlParseElementChildrenContentDecl	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />							 int inputchk)<br />
-</pre><p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [47] children ::= (choice | seq) ('?' | '*' | '+')? [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')? [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity <a href="libxml-SAX.html#reference">reference</a> appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>inputchk</tt></i>:</span></td><td>the input used for the current entity, needed for boundary checks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the tree of <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element hierarchy.</td></tr></tbody></table></div><h3><a name="xmlParseElementContentDecl" id="xmlParseElementContentDecl"></a>Function: xmlParseElementContentDecl</h3><pre class="programlisting">int	xmlParseElementContentDecl	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result)<br />
-</pre><p>parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are handled directly in <a href="libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a> [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the element being defined.</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>the Element Content pointer will be stored here if any</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type of element content XML_ELEMENT_TYPE_xxx</td></tr></tbody></table></div><h3><a name="xmlParseElementDecl" id="xmlParseElementDecl"></a>Function: xmlParseElementDecl</h3><pre class="programlisting">int	xmlParseElementDecl		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an Element declaration. [45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;' [ VC: Unique Element Type Declaration ] No element type may be declared more than once</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type of the element, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlParseElementMixedContentDecl" id="xmlParseElementMixedContentDecl"></a>Function: xmlParseElementMixedContentDecl</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlParseElementMixedContentDecl	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />							 int inputchk)<br />
-</pre><p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' | '(' S? '#PCDATA' S? ')' [ VC: Proper Group/PE Nesting ] applies to [51] too (see [49]) [ VC: No Duplicate Types ] The same name must not appear more than once in a single mixed-content declaration.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>inputchk</tt></i>:</span></td><td>the input used for the current entity, needed for boundary checks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the list of the <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element choices</td></tr></tbody></table></div><h3><a name="xmlParseEncName" id="xmlParseEncName"></a>Function: xmlParseEncName</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEncName		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse the XML encoding name [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the encoding name value or NULL</td></tr></tbody></table></div><h3><a name="xmlParseEncodingDecl" id="xmlParseEncodingDecl"></a>Function: xmlParseEncodingDecl</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEncodingDecl	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse the XML encoding declaration [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'") this setups the conversion filters.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the encoding value or NULL</td></tr></tbody></table></div><h3><a name="xmlParseEndTag" id="xmlParseEndTag"></a>Function: xmlParseEndTag</h3><pre class="programlisting">void	xmlParseEndTag			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an end of tag [42] ETag ::= '&lt;/' Name S? '&gt;' With namespace [NS 9] ETag ::= '&lt;/' QName S? '&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseEntityDecl" id="xmlParseEntityDecl"></a>Function: xmlParseEntityDecl</h3><pre class="programlisting">void	xmlParseEntityDecl		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse &lt;!ENTITY declarations [70] EntityDecl ::= GEDecl | PEDecl [71] GEDecl ::= '&lt;!ENTITY' S Name S EntityDef S? '&gt;' [72] PEDecl ::= '&lt;!ENTITY' S '%' S Name S PEDef S? '&gt;' [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) [74] PEDef ::= EntityValue | ExternalID [76] NDataDecl ::= S 'NDATA' S Name [ VC: Notation Declared ] The Name must match the declared name of a notation.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseEntityRef" id="xmlParseEntityRef"></a>Function: xmlParseEntityRef</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlParseEntityRef	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse ENTITY references declarations [68] EntityRef ::= '&amp;' Name ';' [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", the Name given in the entity <a href="libxml-SAX.html#reference">reference</a> must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. The declaration of a parameter entity must precede any <a href="libxml-SAX.html#reference">reference</a> to it. Similarly, the declaration of a general entity must precede any <a href="libxml-SAX.html#reference">reference</a> to it which appears in a default value in an attribute-list declaration. Note that if entities are declared in the external subset or in external parameter entities, a non-validating processor is not obligated to read and process their declarations; for such documents, the rule that an entity must be declared is a well-formedness constraint only if standalone='yes'. [ WFC: Parsed Entity ] An entity <a href="libxml-SAX.html#reference">reference</a> must not contain the name of an unparsed entity</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found, or NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlParseEntityValue" id="xmlParseEntityValue"></a>Function: xmlParseEntityValue</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEntityValue	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** orig)<br />
-</pre><p>parse a value for ENTITY declarations [9] EntityValue ::= '"' ([^%&amp;"] | PEReference | Reference)* '"' | "'" ([^%&amp;'] | PEReference | Reference)* "'"</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>orig</tt></i>:</span></td><td>if non-NULL store a copy of the original entity value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the EntityValue parsed with <a href="libxml-SAX.html#reference">reference</a> substituted or NULL</td></tr></tbody></table></div><h3><a name="xmlParseEnumeratedType" id="xmlParseEnumeratedType"></a>Function: xmlParseEnumeratedType</h3><pre class="programlisting">int	xmlParseEnumeratedType		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br />
-</pre><p>parse an Enumerated <a href="libxml-SAX.html#attribute">attribute</a> type. [57] EnumeratedType ::= NotationType | Enumeration [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the enumeration tree built while parsing</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td><a href="libxml-tree.html#XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> or <a href="libxml-tree.html#XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a></td></tr></tbody></table></div><h3><a name="xmlParseEnumerationType" id="xmlParseEnumerationType"></a>Function: xmlParseEnumerationType</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseEnumerationType	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an Enumeration <a href="libxml-SAX.html#attribute">attribute</a> type. [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the enumeration <a href="libxml-SAX.html#attribute">attribute</a> tree built while parsing</td></tr></tbody></table></div><h3><a name="xmlParseExternalID" id="xmlParseExternalID"></a>Function: xmlParseExternalID</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseExternalID	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br />					 int strict)<br />
-</pre><p>Parse an External ID or a Public ID NOTE: Productions [75] and [83] interact badly since [75] can generate 'PUBLIC' S PubidLiteral S SystemLiteral [75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral [83] PublicID ::= 'PUBLIC' S PubidLiteral</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>publicID</tt></i>:</span></td><td>a xmlChar** receiving PubidLiteral</td></tr><tr><td><span class="term"><i><tt>strict</tt></i>:</span></td><td>indicate whether we should restrict parsing to only production [75], see NOTE below</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the function returns SystemLiteral and in the second case publicID receives PubidLiteral, is strict is off it is possible to return NULL and have publicID set.</td></tr></tbody></table></div><h3><a name="xmlParseExternalSubset" id="xmlParseExternalSubset"></a>Function: xmlParseExternalSubset</h3><pre class="programlisting">void	xmlParseExternalSubset		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br />
-</pre><p>parse Markup declarations from an external subset [30] extSubset ::= textDecl? extSubsetDecl [31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external identifier</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system identifier (or URL)</td></tr></tbody></table></div><h3><a name="xmlParseMarkupDecl" id="xmlParseMarkupDecl"></a>Function: xmlParseMarkupDecl</h3><pre class="programlisting">void	xmlParseMarkupDecl		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse Markup declarations [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly nested with markup declarations. That is to say, if either the first character or the last character of a markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both must be contained in the same replacement text. [ WFC: PEs in Internal Subset ] In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseMisc" id="xmlParseMisc"></a>Function: xmlParseMisc</h3><pre class="programlisting">void	xmlParseMisc			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseName" id="xmlParseName"></a>Function: xmlParseName</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseName		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (#x20 Name)*</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the Name parsed or NULL</td></tr></tbody></table></div><h3><a name="xmlParseNamespace" id="xmlParseNamespace"></a>Function: xmlParseNamespace</h3><pre class="programlisting">void	xmlParseNamespace		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>xmlParseNamespace: parse specific PI '&lt;?namespace ...' constructs. This is what the older xml-name Working Draft specified, a bunch of other stuff may still rely on it, so support is still here as if it was declared on the root of the Tree:-( TODO: remove from library To be removed at next drop of binary compatibility</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseNmtoken" id="xmlParseNmtoken"></a>Function: xmlParseNmtoken</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseNmtoken		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the Nmtoken parsed or NULL</td></tr></tbody></table></div><h3><a name="xmlParseNotationDecl" id="xmlParseNotationDecl"></a>Function: xmlParseNotationDecl</h3><pre class="programlisting">void	xmlParseNotationDecl		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse a notation declaration [82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID | PublicID) S? '&gt;' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID().</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseNotationType" id="xmlParseNotationType"></a>Function: xmlParseNotationType</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseNotationType	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an Notation <a href="libxml-SAX.html#attribute">attribute</a> type. Note: the leading 'NOTATION' S part has already being parsed... [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the notation <a href="libxml-SAX.html#attribute">attribute</a> tree built while parsing</td></tr></tbody></table></div><h3><a name="xmlParsePEReference" id="xmlParsePEReference"></a>Function: xmlParsePEReference</h3><pre class="programlisting">void	xmlParsePEReference		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse PEReference declarations The entity content is handled directly by pushing it's content as a new input stream. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParsePI" id="xmlParsePI"></a>Function: xmlParsePI</h3><pre class="programlisting">void	xmlParsePI			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML Processing Instruction. [16] PI ::= '&lt;?' PITarget (S (Char* - (Char* '?&gt;' Char*)))? '?&gt;' The processing is transferred to SAX once parsed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParsePITarget" id="xmlParsePITarget"></a>Function: xmlParsePITarget</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParsePITarget	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse the name of a PI [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the PITarget name or NULL</td></tr></tbody></table></div><h3><a name="xmlParsePubidLiteral" id="xmlParsePubidLiteral"></a>Function: xmlParsePubidLiteral</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParsePubidLiteral	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML public literal [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the PubidLiteral parsed or NULL.</td></tr></tbody></table></div><h3><a name="xmlParseQuotedString" id="xmlParseQuotedString"></a>Function: xmlParseQuotedString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseQuotedString	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Parse and return a string between quotes or doublequotes TODO: Deprecated, to be removed at next drop of binary compatibility</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string parser or NULL.</td></tr></tbody></table></div><h3><a name="xmlParseReference" id="xmlParseReference"></a>Function: xmlParseReference</h3><pre class="programlisting">void	xmlParseReference		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse and handle entity references in content, depending on the SAX interface, this may end-up in a call to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the parser was asked to switch to that mode. [67] Reference ::= EntityRef | CharRef</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseSDDecl" id="xmlParseSDDecl"></a>Function: xmlParseSDDecl</h3><pre class="programlisting">int	xmlParseSDDecl			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse the XML standalone declaration [32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"')) [ VC: Standalone Document Declaration ] TODO The standalone document declaration must have the value "no" if any external markup declarations contain declarations of: - attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or - entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or - attributes with values subject to normalization, where the <a href="libxml-SAX.html#attribute">attribute</a> appears in the document with a value which will change as a result of normalization, or - element types with element content, if white space occurs directly within any instance of those types.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if standalone="yes" 0 if standalone="no" -2 if standalone <a href="libxml-SAX.html#attribute">attribute</a> is missing or invalid (A standalone value of -2 means that the XML declaration was found, but no value was specified for the standalone attribute).</td></tr></tbody></table></div><h3><a name="xmlParseStartTag" id="xmlParseStartTag"></a>Function: xmlParseStartTag</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseStartTag	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse a start of tag either for rule element or EmptyElement. In both case we don't parse the tag closing chars. [40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;' [ WFC: Unique Att Spec ] No <a href="libxml-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. [44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;' [ WFC: Unique Att Spec ] No <a href="libxml-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. With namespace: [NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;' [NS 10] EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the element name parsed</td></tr></tbody></table></div><h3><a name="xmlParseSystemLiteral" id="xmlParseSystemLiteral"></a>Function: xmlParseSystemLiteral</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseSystemLiteral	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML Literal [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the SystemLiteral parsed or NULL</td></tr></tbody></table></div><h3><a name="xmlParseTextDecl" id="xmlParseTextDecl"></a>Function: xmlParseTextDecl</h3><pre class="programlisting">void	xmlParseTextDecl		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML declaration header for external entities [77] TextDecl ::= '&lt;?xml' VersionInfo? EncodingDecl S? '?&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseVersionInfo" id="xmlParseVersionInfo"></a>Function: xmlParseVersionInfo</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseVersionInfo	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse the XML version. [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ") [25] Eq ::= S? '=' S?</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the version string, e.g. "1.0"</td></tr></tbody></table></div><h3><a name="xmlParseVersionNum" id="xmlParseVersionNum"></a>Function: xmlParseVersionNum</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseVersionNum	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse the XML version value. [26] VersionNum ::= '1.' [0-9]+ In practice allow [0-9].[0-9]+ at that level</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string giving the XML version number, or NULL</td></tr></tbody></table></div><h3><a name="xmlParseXMLDecl" id="xmlParseXMLDecl"></a>Function: xmlParseXMLDecl</h3><pre class="programlisting">void	xmlParseXMLDecl			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML declaration header [23] XMLDecl ::= '&lt;?xml' VersionInfo EncodingDecl? SDDecl? S? '?&gt;'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParserHandlePEReference" id="xmlParserHandlePEReference"></a>Function: xmlParserHandlePEReference</h3><pre class="programlisting">void	xmlParserHandlePEReference	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>[69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled. A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc i.e. - Included in literal in entity values - Included as Parameter Entity <a href="libxml-SAX.html#reference">reference</a> within DTDs</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr></tbody></table></div><h3><a name="xmlParserHandleReference" id="xmlParserHandleReference"></a>Function: xmlParserHandleReference</h3><pre class="programlisting">void	xmlParserHandleReference	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>TODO: Remove, now deprecated ... the test is done directly in the content parsing routines. [67] Reference ::= EntityRef | CharRef [68] EntityRef ::= '&amp;' Name ';' [ WFC: Entity Declared ] the Name given in the entity <a href="libxml-SAX.html#reference">reference</a> must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. [ WFC: Parsed Entity ] An entity <a href="libxml-SAX.html#reference">reference</a> must not contain the name of an unparsed entity [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr></tbody></table></div><h3><a name="xmlParserInputShrink" id="xmlParserInputShrink"></a>Function: xmlParserInputShrink</h3><pre class="programlisting">void	xmlParserInputShrink		(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in)<br />
-</pre><p>This function removes used input for the parser.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an XML parser input</td></tr></tbody></table></div><h3><a name="xmlPopInput" id="xmlPopInput"></a>Function: xmlPopInput</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a>	xmlPopInput			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>xmlPopInput: the current input pointed by ctxt-&gt;input came to an end pop it and return the next char.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> in the parser context</td></tr></tbody></table></div><h3><a name="xmlPushInput" id="xmlPushInput"></a>Function: xmlPushInput</h3><pre class="programlisting">int	xmlPushInput			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br />
-</pre><p>xmlPushInput: switch to a new input stream which is stacked on top of the previous one(s).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an XML parser input fragment (entity, XML fragment ...).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error or the index in the input stack</td></tr></tbody></table></div><h3><a name="xmlScanName" id="xmlScanName"></a>Function: xmlScanName</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlScanName		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Trickery: parse an XML name but without consuming the input flow Needed for rollback cases. Used only when parsing entities references. TODO: seems deprecated now, only used in the default part of <a href="libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a> [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)*</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the Name parsed or NULL</td></tr></tbody></table></div><h3><a name="xmlSetEntityReferenceFunc" id="xmlSetEntityReferenceFunc"></a>Function: xmlSetEntityReferenceFunc</h3><pre class="programlisting">void	xmlSetEntityReferenceFunc	(<a href="libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func)<br />
-</pre><p>Set the function to call call back when a xml <a href="libxml-SAX.html#reference">reference</a> has been made</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>A valid function</td></tr></tbody></table></div><h3><a name="xmlSkipBlankChars" id="xmlSkipBlankChars"></a>Function: xmlSkipBlankChars</h3><pre class="programlisting">int	xmlSkipBlankChars		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>skip all blanks character found at that point in the input streams. It pops up finished entities in the process if allowable at that point.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of space chars skipped</td></tr></tbody></table></div><h3><a name="xmlSplitQName" id="xmlSplitQName"></a>Function: xmlSplitQName</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br />
-</pre><p>parse an UTF8 encoded XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> **</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local part, and prefix is updated to get the Prefix if any.</td></tr></tbody></table></div><h3><a name="xmlStringCurrentChar" id="xmlStringCurrentChar"></a>Function: xmlStringCurrentChar</h3><pre class="programlisting">int	xmlStringCurrentChar		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 int * len)<br />
-</pre><p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XML parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>pointer to the beginning of the char</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the length of the char read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current char value and its length</td></tr></tbody></table></div><h3><a name="xmlStringDecodeEntities" id="xmlStringDecodeEntities"></a>Function: xmlStringDecodeEntities</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStringDecodeEntities	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int what, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end2, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end3)<br />
-</pre><p>Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the input string</td></tr><tr><td><span class="term"><i><tt>what</tt></i>:</span></td><td>combination of <a href="libxml-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a></td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end2</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end3</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>A newly allocated string with the substitution done. The caller must deallocate it !</td></tr></tbody></table></div><h3><a name="xmlStringLenDecodeEntities" id="xmlStringLenDecodeEntities"></a>Function: xmlStringLenDecodeEntities</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStringLenDecodeEntities	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />						 int len, <br />						 int what, <br />						 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end, <br />						 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end2, <br />						 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> end3)<br />
-</pre><p>Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the input string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the string length</td></tr><tr><td><span class="term"><i><tt>what</tt></i>:</span></td><td>combination of <a href="libxml-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a></td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end2</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>end3</tt></i>:</span></td><td>an end marker xmlChar, 0 if none</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>A newly allocated string with the substitution done. The caller must deallocate it !</td></tr></tbody></table></div><h3><a name="xmlSwitchEncoding" id="xmlSwitchEncoding"></a>Function: xmlSwitchEncoding</h3><pre class="programlisting">int	xmlSwitchEncoding		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>change the input functions when discovering the character encoding of a given entity.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the encoding value (number)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlSwitchInputEncoding" id="xmlSwitchInputEncoding"></a>Function: xmlSwitchInputEncoding</h3><pre class="programlisting">int	xmlSwitchInputEncoding		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br />
-</pre><p>change the input functions when discovering the character encoding of a given entity.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the input stream</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the encoding handler</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlSwitchToEncoding" id="xmlSwitchToEncoding"></a>Function: xmlSwitchToEncoding</h3><pre class="programlisting">int	xmlSwitchToEncoding		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br />
-</pre><p>change the input functions when discovering the character encoding of a given entity.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the parser context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the encoding handler</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 otherwise</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>
diff --git a/doc/html/libxml-pattern.html b/doc/html/libxml-pattern.html
deleted file mode 100644
index f4631a9..0000000
--- a/doc/html/libxml-pattern.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module pattern from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module pattern from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parserInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-parserInternals.html">parserInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="n" href="libxml-relaxng.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlPattern">xmlPattern</a><br />struct _xmlPattern
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Enum <a href="#xmlPatternFlags">xmlPatternFlags</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-pattern.html#xmlPattern">xmlPattern</a> * <a name="xmlPatternPtr" id="xmlPatternPtr">xmlPatternPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlStreamCtxt">xmlStreamCtxt</a><br />struct _xmlStreamCtxt
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a> * <a name="xmlStreamCtxtPtr" id="xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>
-</pre><pre class="programlisting">void	<a href="#xmlFreePattern">xmlFreePattern</a>			(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)</pre>
-<pre class="programlisting">void	<a href="#xmlFreePatternList">xmlFreePatternList</a>		(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a>		(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)</pre>
-<pre class="programlisting">int	<a href="#xmlPatternFromRoot">xmlPatternFromRoot</a>		(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)</pre>
-<pre class="programlisting"><a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>	<a href="#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a>	(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)</pre>
-<pre class="programlisting">int	<a href="#xmlPatternMatch">xmlPatternMatch</a>			(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">int	<a href="#xmlPatternMaxDepth">xmlPatternMaxDepth</a>		(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)</pre>
-<pre class="programlisting">int	<a href="#xmlPatternMinDepth">xmlPatternMinDepth</a>		(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)</pre>
-<pre class="programlisting">int	<a href="#xmlPatternStreamable">xmlPatternStreamable</a>		(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)</pre>
-<pre class="programlisting"><a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a>	<a href="#xmlPatterncompile">xmlPatterncompile</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br />					 <a href="libxml-dict.html#xmlDict">xmlDict</a> * dict, <br />					 int flags, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)</pre>
-<pre class="programlisting">int	<a href="#xmlStreamPop">xmlStreamPop</a>			(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)</pre>
-<pre class="programlisting">int	<a href="#xmlStreamPush">xmlStreamPush</a>			(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br />					 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">int	<a href="#xmlStreamPushAttr">xmlStreamPushAttr</a>		(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br />					 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">int	<a href="#xmlStreamPushNode">xmlStreamPushNode</a>		(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns, <br />					 int nodeType)</pre>
-<pre class="programlisting">int	<a href="#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a>		(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt)</pre>
-<h2>Description</h2>
-<h3><a name="xmlPattern" id="xmlPattern">Structure xmlPattern</a></h3><pre class="programlisting">Structure xmlPattern<br />struct _xmlPattern {
-The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="xmlPatternFlags" id="xmlPatternFlags">xmlPatternFlags</a></h3><pre class="programlisting">Enum xmlPatternFlags {
-    <a name="XML_PATTERN_DEFAULT" id="XML_PATTERN_DEFAULT">XML_PATTERN_DEFAULT</a> = 0 : simple pattern match
-    <a name="XML_PATTERN_XPATH" id="XML_PATTERN_XPATH">XML_PATTERN_XPATH</a> = 1 : standard XPath pattern
-    <a name="XML_PATTERN_XSSEL" id="XML_PATTERN_XSSEL">XML_PATTERN_XSSEL</a> = 2 : XPath subset for schema selector
-    <a name="XML_PATTERN_XSFIELD" id="XML_PATTERN_XSFIELD">XML_PATTERN_XSFIELD</a> = 4 : XPath subset for schema field
-}
-</pre><h3><a name="xmlStreamCtxt" id="xmlStreamCtxt">Structure xmlStreamCtxt</a></h3><pre class="programlisting">Structure xmlStreamCtxt<br />struct _xmlStreamCtxt {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlFreePattern" id="xmlFreePattern"></a>Function: xmlFreePattern</h3><pre class="programlisting">void	xmlFreePattern			(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br />
-</pre><p>Free up the memory allocated by @comp</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>an XSLT comp</td></tr></tbody></table></div><h3><a name="xmlFreePatternList" id="xmlFreePatternList"></a>Function: xmlFreePatternList</h3><pre class="programlisting">void	xmlFreePatternList		(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br />
-</pre><p>Free up the memory allocated by all the elements of @comp</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>an XSLT comp list</td></tr></tbody></table></div><h3><a name="xmlFreeStreamCtxt" id="xmlFreeStreamCtxt"></a>Function: xmlFreeStreamCtxt</h3><pre class="programlisting">void	xmlFreeStreamCtxt		(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br />
-</pre><p>Free the stream context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr></tbody></table></div><h3><a name="xmlPatternFromRoot" id="xmlPatternFromRoot"></a>Function: xmlPatternFromRoot</h3><pre class="programlisting">int	xmlPatternFromRoot		(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br />
-</pre><p>Check if the pattern must be looked at from the root.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlPatternGetStreamCtxt" id="xmlPatternGetStreamCtxt"></a>Function: xmlPatternGetStreamCtxt</h3><pre class="programlisting"><a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>	xmlPatternGetStreamCtxt	(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br />
-</pre><p>Get a streaming context for that pattern Use <a href="libxml-pattern.html#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a> to free the context.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the context or NULL in case of failure</td></tr></tbody></table></div><h3><a name="xmlPatternMatch" id="xmlPatternMatch"></a>Function: xmlPatternMatch</h3><pre class="programlisting">int	xmlPatternMatch			(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Test whether the node matches the pattern</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if it matches, 0 if it doesn't and -1 in case of failure</td></tr></tbody></table></div><h3><a name="xmlPatternMaxDepth" id="xmlPatternMaxDepth"></a>Function: xmlPatternMaxDepth</h3><pre class="programlisting">int	xmlPatternMaxDepth		(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br />
-</pre><p>Check the maximum depth reachable by a pattern</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-2 if no limit (using //), otherwise the depth, and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlPatternMinDepth" id="xmlPatternMinDepth"></a>Function: xmlPatternMinDepth</h3><pre class="programlisting">int	xmlPatternMinDepth		(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br />
-</pre><p>Check the minimum depth reachable by a pattern, 0 mean the / or . are part of the set.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error otherwise the depth,</td></tr></tbody></table></div><h3><a name="xmlPatternStreamable" id="xmlPatternStreamable"></a>Function: xmlPatternStreamable</h3><pre class="programlisting">int	xmlPatternStreamable		(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br />
-</pre><p>Check if the pattern is streamable i.e. xmlPatternGetStreamCtxt() should work.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if streamable, 0 if not and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlPatterncompile" id="xmlPatterncompile"></a>Function: xmlPatterncompile</h3><pre class="programlisting"><a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a>	xmlPatterncompile	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br />					 <a href="libxml-dict.html#xmlDict">xmlDict</a> * dict, <br />					 int flags, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br />
-</pre><p>Compile a pattern.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pattern</tt></i>:</span></td><td>the pattern to compile</td></tr><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>an optional dictionary for interned strings</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>compilation flags, see <a href="libxml-pattern.html#xmlPatternFlags">xmlPatternFlags</a></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>the compiled form of the pattern or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlStreamPop" id="xmlStreamPop"></a>Function: xmlStreamPop</h3><pre class="programlisting">int	xmlStreamPop			(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br />
-</pre><p>push one level from the stream.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise.</td></tr></tbody></table></div><h3><a name="xmlStreamPush" id="xmlStreamPush"></a>Function: xmlStreamPush</h3><pre class="programlisting">int	xmlStreamPush			(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)<br />
-</pre><p>Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an element-node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the current name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td></tr></tbody></table></div><h3><a name="xmlStreamPushAttr" id="xmlStreamPushAttr"></a>Function: xmlStreamPushAttr</h3><pre class="programlisting">int	xmlStreamPushAttr		(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)<br />
-</pre><p>Push new <a href="libxml-SAX.html#attribute">attribute</a> data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an attribute-node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the current name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td></tr></tbody></table></div><h3><a name="xmlStreamPushNode" id="xmlStreamPushNode"></a>Function: xmlStreamPushNode</h3><pre class="programlisting">int	xmlStreamPushNode		(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns, <br />					 int nodeType)<br />
-</pre><p>Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Different from xmlStreamPush() this function can be fed with nodes of type: element-, attribute-, text-, cdata-section-, comment- and processing-instruction-node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the current name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>nodeType</tt></i>:</span></td><td>the type of the node being pushed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td></tr></tbody></table></div><h3><a name="xmlStreamWantsAnyNode" id="xmlStreamWantsAnyNode"></a>Function: xmlStreamWantsAnyNode</h3><pre class="programlisting">int	xmlStreamWantsAnyNode		(<a href="libxml-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt)<br />
-</pre><p>Query if the streaming pattern additionally needs to be fed with text-, cdata-section-, comment- and processing-instruction-nodes. If the result is 0 then only element-nodes and attribute-nodes need to be pushed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>streamCtxt</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of need of nodes of the above described types, 0 otherwise. -1 on API errors.</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>
diff --git a/doc/html/libxml-relaxng.html b/doc/html/libxml-relaxng.html
deleted file mode 100644
index 675f26c..0000000
--- a/doc/html/libxml-relaxng.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module relaxng from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module relaxng from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-pattern.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-pattern.html">pattern</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-schemasInternals.html">schemasInternals</a></th><td><a accesskey="n" href="libxml-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>implementation of the Relax-NG validation </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlRelaxNG">xmlRelaxNG</a><br />struct _xmlRelaxNG
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Structure <a href="#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a><br />struct _xmlRelaxNGParserCtxt
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * <a name="xmlRelaxNGParserCtxtPtr" id="xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * <a name="xmlRelaxNGPtr" id="xmlRelaxNGPtr">xmlRelaxNGPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a><br />struct _xmlRelaxNGValidCtxt
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * <a name="xmlRelaxNGValidCtxtPtr" id="xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a>
-</pre><pre class="programlisting">void	<a href="#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a>		(void)</pre>
-<pre class="programlisting">void	<a href="#xmlRelaxNGDump">xmlRelaxNGDump</a>			(FILE * output, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)</pre>
-<pre class="programlisting">void	<a href="#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a>		(FILE * output, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)</pre>
-<pre class="programlisting">void	<a href="#xmlRelaxNGFree">xmlRelaxNGFree</a>			(<a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)</pre>
-<pre class="programlisting">void	<a href="#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a>	(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a>		(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a>	(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br />					 void ** ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a>	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br />					 void ** ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a>		(void)</pre>
-<pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a>	(const char * buffer, <br />							 int size)</pre>
-<pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a>	(const char * URL)</pre>
-<pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	<a href="#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a>	(<a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)</pre>
-<pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	<a href="#xmlRelaxNGParse">xmlRelaxNGParse</a>		(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a>	(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br />					 void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a>	(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br />						 void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a>	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br />					 void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a>	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br />						 void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a>		(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">int	<a href="#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a>	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
-<pre class="programlisting">int	<a href="#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a>	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
-<pre class="programlisting">int	<a href="#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a>	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * data, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a>	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
-<pre class="programlisting">Function type: <a href="#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a>
-void	<a href="#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a>	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a>
-void	<a href="#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a>	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre>
-<pre class="programlisting">int	<a href="#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a>		(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />					 int flags)</pre>
-<h2>Description</h2>
-<h3><a name="xmlRelaxNG" id="xmlRelaxNG">Structure xmlRelaxNG</a></h3><pre class="programlisting">Structure xmlRelaxNG<br />struct _xmlRelaxNG {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlRelaxNGParserCtxt" id="xmlRelaxNGParserCtxt">Structure xmlRelaxNGParserCtxt</a></h3><pre class="programlisting">Structure xmlRelaxNGParserCtxt<br />struct _xmlRelaxNGParserCtxt {
-The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="xmlRelaxNGParserFlag" id="xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a></h3><pre class="programlisting">Enum xmlRelaxNGParserFlag {
-    <a name="XML_RELAXNGP_NONE" id="XML_RELAXNGP_NONE">XML_RELAXNGP_NONE</a> = 0
-    <a name="XML_RELAXNGP_FREE_DOC" id="XML_RELAXNGP_FREE_DOC">XML_RELAXNGP_FREE_DOC</a> = 1
-    <a name="XML_RELAXNGP_CRNG" id="XML_RELAXNGP_CRNG">XML_RELAXNGP_CRNG</a> = 2
-}
-</pre><h3><a name="xmlRelaxNGValidCtxt" id="xmlRelaxNGValidCtxt">Structure xmlRelaxNGValidCtxt</a></h3><pre class="programlisting">Structure xmlRelaxNGValidCtxt<br />struct _xmlRelaxNGValidCtxt {
-The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="xmlRelaxNGValidErr" id="xmlRelaxNGValidErr">xmlRelaxNGValidErr</a></h3><pre class="programlisting">Enum xmlRelaxNGValidErr {
-    <a name="XML_RELAXNG_OK" id="XML_RELAXNG_OK">XML_RELAXNG_OK</a> = 0
-    <a name="XML_RELAXNG_ERR_MEMORY" id="XML_RELAXNG_ERR_MEMORY">XML_RELAXNG_ERR_MEMORY</a> = 1
-    <a name="XML_RELAXNG_ERR_TYPE" id="XML_RELAXNG_ERR_TYPE">XML_RELAXNG_ERR_TYPE</a> = 2
-    <a name="XML_RELAXNG_ERR_TYPEVAL" id="XML_RELAXNG_ERR_TYPEVAL">XML_RELAXNG_ERR_TYPEVAL</a> = 3
-    <a name="XML_RELAXNG_ERR_DUPID" id="XML_RELAXNG_ERR_DUPID">XML_RELAXNG_ERR_DUPID</a> = 4
-    <a name="XML_RELAXNG_ERR_TYPECMP" id="XML_RELAXNG_ERR_TYPECMP">XML_RELAXNG_ERR_TYPECMP</a> = 5
-    <a name="XML_RELAXNG_ERR_NOSTATE" id="XML_RELAXNG_ERR_NOSTATE">XML_RELAXNG_ERR_NOSTATE</a> = 6
-    <a name="XML_RELAXNG_ERR_NODEFINE" id="XML_RELAXNG_ERR_NODEFINE">XML_RELAXNG_ERR_NODEFINE</a> = 7
-    <a name="XML_RELAXNG_ERR_LISTEXTRA" id="XML_RELAXNG_ERR_LISTEXTRA">XML_RELAXNG_ERR_LISTEXTRA</a> = 8
-    <a name="XML_RELAXNG_ERR_LISTEMPTY" id="XML_RELAXNG_ERR_LISTEMPTY">XML_RELAXNG_ERR_LISTEMPTY</a> = 9
-    <a name="XML_RELAXNG_ERR_INTERNODATA" id="XML_RELAXNG_ERR_INTERNODATA">XML_RELAXNG_ERR_INTERNODATA</a> = 10
-    <a name="XML_RELAXNG_ERR_INTERSEQ" id="XML_RELAXNG_ERR_INTERSEQ">XML_RELAXNG_ERR_INTERSEQ</a> = 11
-    <a name="XML_RELAXNG_ERR_INTEREXTRA" id="XML_RELAXNG_ERR_INTEREXTRA">XML_RELAXNG_ERR_INTEREXTRA</a> = 12
-    <a name="XML_RELAXNG_ERR_ELEMNAME" id="XML_RELAXNG_ERR_ELEMNAME">XML_RELAXNG_ERR_ELEMNAME</a> = 13
-    <a name="XML_RELAXNG_ERR_ATTRNAME" id="XML_RELAXNG_ERR_ATTRNAME">XML_RELAXNG_ERR_ATTRNAME</a> = 14
-    <a name="XML_RELAXNG_ERR_ELEMNONS" id="XML_RELAXNG_ERR_ELEMNONS">XML_RELAXNG_ERR_ELEMNONS</a> = 15
-    <a name="XML_RELAXNG_ERR_ATTRNONS" id="XML_RELAXNG_ERR_ATTRNONS">XML_RELAXNG_ERR_ATTRNONS</a> = 16
-    <a name="XML_RELAXNG_ERR_ELEMWRONGNS" id="XML_RELAXNG_ERR_ELEMWRONGNS">XML_RELAXNG_ERR_ELEMWRONGNS</a> = 17
-    <a name="XML_RELAXNG_ERR_ATTRWRONGNS" id="XML_RELAXNG_ERR_ATTRWRONGNS">XML_RELAXNG_ERR_ATTRWRONGNS</a> = 18
-    <a name="XML_RELAXNG_ERR_ELEMEXTRANS" id="XML_RELAXNG_ERR_ELEMEXTRANS">XML_RELAXNG_ERR_ELEMEXTRANS</a> = 19
-    <a name="XML_RELAXNG_ERR_ATTREXTRANS" id="XML_RELAXNG_ERR_ATTREXTRANS">XML_RELAXNG_ERR_ATTREXTRANS</a> = 20
-    <a name="XML_RELAXNG_ERR_ELEMNOTEMPTY" id="XML_RELAXNG_ERR_ELEMNOTEMPTY">XML_RELAXNG_ERR_ELEMNOTEMPTY</a> = 21
-    <a name="XML_RELAXNG_ERR_NOELEM" id="XML_RELAXNG_ERR_NOELEM">XML_RELAXNG_ERR_NOELEM</a> = 22
-    <a name="XML_RELAXNG_ERR_NOTELEM" id="XML_RELAXNG_ERR_NOTELEM">XML_RELAXNG_ERR_NOTELEM</a> = 23
-    <a name="XML_RELAXNG_ERR_ATTRVALID" id="XML_RELAXNG_ERR_ATTRVALID">XML_RELAXNG_ERR_ATTRVALID</a> = 24
-    <a name="XML_RELAXNG_ERR_CONTENTVALID" id="XML_RELAXNG_ERR_CONTENTVALID">XML_RELAXNG_ERR_CONTENTVALID</a> = 25
-    <a name="XML_RELAXNG_ERR_EXTRACONTENT" id="XML_RELAXNG_ERR_EXTRACONTENT">XML_RELAXNG_ERR_EXTRACONTENT</a> = 26
-    <a name="XML_RELAXNG_ERR_INVALIDATTR" id="XML_RELAXNG_ERR_INVALIDATTR">XML_RELAXNG_ERR_INVALIDATTR</a> = 27
-    <a name="XML_RELAXNG_ERR_DATAELEM" id="XML_RELAXNG_ERR_DATAELEM">XML_RELAXNG_ERR_DATAELEM</a> = 28
-    <a name="XML_RELAXNG_ERR_VALELEM" id="XML_RELAXNG_ERR_VALELEM">XML_RELAXNG_ERR_VALELEM</a> = 29
-    <a name="XML_RELAXNG_ERR_LISTELEM" id="XML_RELAXNG_ERR_LISTELEM">XML_RELAXNG_ERR_LISTELEM</a> = 30
-    <a name="XML_RELAXNG_ERR_DATATYPE" id="XML_RELAXNG_ERR_DATATYPE">XML_RELAXNG_ERR_DATATYPE</a> = 31
-    <a name="XML_RELAXNG_ERR_VALUE" id="XML_RELAXNG_ERR_VALUE">XML_RELAXNG_ERR_VALUE</a> = 32
-    <a name="XML_RELAXNG_ERR_LIST" id="XML_RELAXNG_ERR_LIST">XML_RELAXNG_ERR_LIST</a> = 33
-    <a name="XML_RELAXNG_ERR_NOGRAMMAR" id="XML_RELAXNG_ERR_NOGRAMMAR">XML_RELAXNG_ERR_NOGRAMMAR</a> = 34
-    <a name="XML_RELAXNG_ERR_EXTRADATA" id="XML_RELAXNG_ERR_EXTRADATA">XML_RELAXNG_ERR_EXTRADATA</a> = 35
-    <a name="XML_RELAXNG_ERR_LACKDATA" id="XML_RELAXNG_ERR_LACKDATA">XML_RELAXNG_ERR_LACKDATA</a> = 36
-    <a name="XML_RELAXNG_ERR_INTERNAL" id="XML_RELAXNG_ERR_INTERNAL">XML_RELAXNG_ERR_INTERNAL</a> = 37
-    <a name="XML_RELAXNG_ERR_ELEMWRONG" id="XML_RELAXNG_ERR_ELEMWRONG">XML_RELAXNG_ERR_ELEMWRONG</a> = 38
-    <a name="XML_RELAXNG_ERR_TEXTWRONG" id="XML_RELAXNG_ERR_TEXTWRONG">XML_RELAXNG_ERR_TEXTWRONG</a> = 39
-}
-</pre><h3><a name="xmlRelaxNGCleanupTypes" id="xmlRelaxNGCleanupTypes"></a>Function: xmlRelaxNGCleanupTypes</h3><pre class="programlisting">void	xmlRelaxNGCleanupTypes		(void)<br />
-</pre><p>Cleanup the default Schemas type library associated to RelaxNG</p>
-<h3><a name="xmlRelaxNGDump" id="xmlRelaxNGDump"></a>Function: xmlRelaxNGDump</h3><pre class="programlisting">void	xmlRelaxNGDump			(FILE * output, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br />
-</pre><p>Dump a RelaxNG structure back</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the file output</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div><h3><a name="xmlRelaxNGDumpTree" id="xmlRelaxNGDumpTree"></a>Function: xmlRelaxNGDumpTree</h3><pre class="programlisting">void	xmlRelaxNGDumpTree		(FILE * output, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br />
-</pre><p>Dump the transformed RelaxNG tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the file output</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div><h3><a name="xmlRelaxNGFree" id="xmlRelaxNGFree"></a>Function: xmlRelaxNGFree</h3><pre class="programlisting">void	xmlRelaxNGFree			(<a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br />
-</pre><p>Deallocate a RelaxNG structure.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div><h3><a name="xmlRelaxNGFreeParserCtxt" id="xmlRelaxNGFreeParserCtxt"></a>Function: xmlRelaxNGFreeParserCtxt</h3><pre class="programlisting">void	xmlRelaxNGFreeParserCtxt	(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br />
-</pre><p>Free the resources associated to the schema parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema parser context</td></tr></tbody></table></div><h3><a name="xmlRelaxNGFreeValidCtxt" id="xmlRelaxNGFreeValidCtxt"></a>Function: xmlRelaxNGFreeValidCtxt</h3><pre class="programlisting">void	xmlRelaxNGFreeValidCtxt		(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt)<br />
-</pre><p>Free the resources associated to the schema validation context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr></tbody></table></div><h3><a name="xmlRelaxNGGetParserErrors" id="xmlRelaxNGGetParserErrors"></a>Function: xmlRelaxNGGetParserErrors</h3><pre class="programlisting">int	xmlRelaxNGGetParserErrors	(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br />					 void ** ctx)<br />
-</pre><p>Get the callback information used to handle errors for a validation context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise.</td></tr></tbody></table></div><h3><a name="xmlRelaxNGGetValidErrors" id="xmlRelaxNGGetValidErrors"></a>Function: xmlRelaxNGGetValidErrors</h3><pre class="programlisting">int	xmlRelaxNGGetValidErrors	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br />					 void ** ctx)<br />
-</pre><p>Get the error and warning callback information</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlRelaxNGInitTypes" id="xmlRelaxNGInitTypes"></a>Function: xmlRelaxNGInitTypes</h3><pre class="programlisting">int	xmlRelaxNGInitTypes		(void)<br />
-</pre><p>Initialize the default type libraries.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlRelaxNGNewDocParserCtxt" id="xmlRelaxNGNewDocParserCtxt"></a>Function: xmlRelaxNGNewDocParserCtxt</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewDocParserCtxt	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRelaxNGNewMemParserCtxt" id="xmlRelaxNGNewMemParserCtxt"></a>Function: xmlRelaxNGNewMemParserCtxt</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewMemParserCtxt	(const char * buffer, <br />							 int size)<br />
-</pre><p>Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array containing the schemas</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRelaxNGNewParserCtxt" id="xmlRelaxNGNewParserCtxt"></a>Function: xmlRelaxNGNewParserCtxt</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewParserCtxt	(const char * URL)<br />
-</pre><p>Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRelaxNGNewValidCtxt" id="xmlRelaxNGNewValidCtxt"></a>Function: xmlRelaxNGNewValidCtxt</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	xmlRelaxNGNewValidCtxt	(<a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br />
-</pre><p>Create an XML RelaxNGs validation context based on the given schema</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML RelaxNGs</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRelaxNGParse" id="xmlRelaxNGParse"></a>Function: xmlRelaxNGParse</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	xmlRelaxNGParse		(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML RelaxNG structure built from the resource or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRelaxNGSetParserErrors" id="xmlRelaxNGSetParserErrors"></a>Function: xmlRelaxNGSetParserErrors</h3><pre class="programlisting">void	xmlRelaxNGSetParserErrors	(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br />					 void * ctx)<br />
-</pre><p>Set the callback functions used to handle errors for a validation context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks</td></tr></tbody></table></div><h3><a name="xmlRelaxNGSetParserStructuredErrors" id="xmlRelaxNGSetParserStructuredErrors"></a>Function: xmlRelaxNGSetParserStructuredErrors</h3><pre class="programlisting">void	xmlRelaxNGSetParserStructuredErrors	(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br />						 void * ctx)<br />
-</pre><p>Set the callback functions used to handle errors for a parsing context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG parser context</td></tr><tr><td><span class="term"><i><tt>serror</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks</td></tr></tbody></table></div><h3><a name="xmlRelaxNGSetValidErrors" id="xmlRelaxNGSetValidErrors"></a>Function: xmlRelaxNGSetValidErrors</h3><pre class="programlisting">void	xmlRelaxNGSetValidErrors	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br />					 void * ctx)<br />
-</pre><p>Set the error and warning callback information</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a name="xmlRelaxNGSetValidStructuredErrors" id="xmlRelaxNGSetValidStructuredErrors"></a>Function: xmlRelaxNGSetValidStructuredErrors</h3><pre class="programlisting">void	xmlRelaxNGSetValidStructuredErrors	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br />						 void * ctx)<br />
-</pre><p>Set the structured error callback</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a name="xmlRelaxNGValidateDoc" id="xmlRelaxNGValidateDoc"></a>Function: xmlRelaxNGValidateDoc</h3><pre class="programlisting">int	xmlRelaxNGValidateDoc		(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Validate a document tree in memory.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlRelaxNGValidateFullElement" id="xmlRelaxNGValidateFullElement"></a>Function: xmlRelaxNGValidateFullElement</h3><pre class="programlisting">int	xmlRelaxNGValidateFullElement	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
-</pre><p>Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlRelaxNGValidatePopElement" id="xmlRelaxNGValidatePopElement"></a>Function: xmlRelaxNGValidatePopElement</h3><pre class="programlisting">int	xmlRelaxNGValidatePopElement	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
-</pre><p>Pop the element end from the RelaxNG validation stack.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the RelaxNG validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlRelaxNGValidatePushCData" id="xmlRelaxNGValidatePushCData"></a>Function: xmlRelaxNGValidatePushCData</h3><pre class="programlisting">int	xmlRelaxNGValidatePushCData	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * data, <br />					 int len)<br />
-</pre><p>check the CData parsed for validation in the current stack</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the RelaxNG validation context</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>some character data read</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlRelaxNGValidatePushElement" id="xmlRelaxNGValidatePushElement"></a>Function: xmlRelaxNGValidatePushElement</h3><pre class="programlisting">int	xmlRelaxNGValidatePushElement	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
-</pre><p>Push a new element start on the RelaxNG validation stack.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlRelaxNGValidityErrorFunc" id="xmlRelaxNGValidityErrorFunc"></a>Function type: xmlRelaxNGValidityErrorFunc</h3><pre class="programlisting">Function type: xmlRelaxNGValidityErrorFunc
-void	xmlRelaxNGValidityErrorFunc	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Signature of an error callback from a Relax-NG validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div><br />
-<h3><a name="xmlRelaxNGValidityWarningFunc" id="xmlRelaxNGValidityWarningFunc"></a>Function type: xmlRelaxNGValidityWarningFunc</h3><pre class="programlisting">Function type: xmlRelaxNGValidityWarningFunc
-void	xmlRelaxNGValidityWarningFunc	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Signature of a warning callback from a Relax-NG validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div><br />
-<h3><a name="xmlRelaxParserSetFlag" id="xmlRelaxParserSetFlag"></a>Function: xmlRelaxParserSetFlag</h3><pre class="programlisting">int	xmlRelaxParserSetFlag		(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />					 int flags)<br />
-</pre><p>Semi private function used to pass information to a parser context which are a combination of <a href="libxml-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a RelaxNG parser context</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of flags values</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if 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>
diff --git a/doc/html/libxml-schemasInternals.html b/doc/html/libxml-schemasInternals.html
deleted file mode 100644
index f8683ea..0000000
--- a/doc/html/libxml-schemasInternals.html
+++ /dev/null
@@ -1,373 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schemasInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-schematron.html">schematron</a></th><td><a accesskey="n" href="libxml-schematron.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 The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </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_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</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_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</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_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</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_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</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_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</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 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> group has been defined.</p>
-<h3><a name="XML_SCHEMAS_ATTRGROUP_HAS_REFS" id="XML_SCHEMAS_ATTRGROUP_HAS_REFS"></a>Macro: XML_SCHEMAS_ATTRGROUP_HAS_REFS</h3><pre>#define XML_SCHEMAS_ATTRGROUP_HAS_REFS</pre><p>Whether this attr. group contains attr. group references.</p>
-<h3><a name="XML_SCHEMAS_ATTRGROUP_MARKED" id="XML_SCHEMAS_ATTRGROUP_MARKED"></a>Macro: XML_SCHEMAS_ATTRGROUP_MARKED</h3><pre>#define XML_SCHEMAS_ATTRGROUP_MARKED</pre><p>Marks the attr group as marked; used for circular checks.</p>
-<h3><a name="XML_SCHEMAS_ATTRGROUP_REDEFINED" id="XML_SCHEMAS_ATTRGROUP_REDEFINED"></a>Macro: XML_SCHEMAS_ATTRGROUP_REDEFINED</h3><pre>#define XML_SCHEMAS_ATTRGROUP_REDEFINED</pre><p>The attr group was redefined.</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 built.</p>
-<h3><a name="XML_SCHEMAS_ATTR_FIXED" id="XML_SCHEMAS_ATTR_FIXED"></a>Macro: XML_SCHEMAS_ATTR_FIXED</h3><pre>#define XML_SCHEMAS_ATTR_FIXED</pre><p>the <a href="libxml-SAX.html#attribute">attribute</a> has a fixed value</p>
-<h3><a name="XML_SCHEMAS_ATTR_GLOBAL" id="XML_SCHEMAS_ATTR_GLOBAL"></a>Macro: XML_SCHEMAS_ATTR_GLOBAL</h3><pre>#define XML_SCHEMAS_ATTR_GLOBAL</pre><p>allow elements in no namespace</p>
-<h3><a name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED" id="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED"></a>Macro: XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</h3><pre>#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</pre><p>this is set when the "type" and "ref" references have been resolved.</p>
-<h3><a name="XML_SCHEMAS_ATTR_NSDEFAULT" id="XML_SCHEMAS_ATTR_NSDEFAULT"></a>Macro: XML_SCHEMAS_ATTR_NSDEFAULT</h3><pre>#define XML_SCHEMAS_ATTR_NSDEFAULT</pre><p>allow elements in no namespace</p>
-<h3><a name="XML_SCHEMAS_ATTR_USE_OPTIONAL" id="XML_SCHEMAS_ATTR_USE_OPTIONAL"></a>Macro: XML_SCHEMAS_ATTR_USE_OPTIONAL</h3><pre>#define XML_SCHEMAS_ATTR_USE_OPTIONAL</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> is optional.</p>
-<h3><a name="XML_SCHEMAS_ATTR_USE_PROHIBITED" id="XML_SCHEMAS_ATTR_USE_PROHIBITED"></a>Macro: XML_SCHEMAS_ATTR_USE_PROHIBITED</h3><pre>#define XML_SCHEMAS_ATTR_USE_PROHIBITED</pre><p>Used by wildcards. The <a href="libxml-SAX.html#attribute">attribute</a> is prohibited.</p>
-<h3><a name="XML_SCHEMAS_ATTR_USE_REQUIRED" id="XML_SCHEMAS_ATTR_USE_REQUIRED"></a>Macro: XML_SCHEMAS_ATTR_USE_REQUIRED</h3><pre>#define XML_SCHEMAS_ATTR_USE_REQUIRED</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> is required.</p>
-<h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION" id="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION"></a>Macro: XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</h3><pre>#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</pre><p>the schema has "extension" in the set of blockDefault.</p>
-<h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION" id="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION"></a>Macro: XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</h3><pre>#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</pre><p>the schema has "restriction" in the set of blockDefault.</p>
-<h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION" id="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION"></a>Macro: XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</h3><pre>#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</pre><p>the schema has "substitution" in the set of blockDefault.</p>
-<h3><a name="XML_SCHEMAS_ELEM_ABSTRACT" id="XML_SCHEMAS_ELEM_ABSTRACT"></a>Macro: XML_SCHEMAS_ELEM_ABSTRACT</h3><pre>#define XML_SCHEMAS_ELEM_ABSTRACT</pre><p>the element is abstract</p>
-<h3><a name="XML_SCHEMAS_ELEM_BLOCK_ABSENT" id="XML_SCHEMAS_ELEM_BLOCK_ABSENT"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_ABSENT</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_ABSENT</pre><p>the "block" <a href="libxml-SAX.html#attribute">attribute</a> is absent</p>
-<h3><a name="XML_SCHEMAS_ELEM_BLOCK_EXTENSION" id="XML_SCHEMAS_ELEM_BLOCK_EXTENSION"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_EXTENSION</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION</pre><p>disallowed substitutions are absent</p>
-<h3><a name="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION" id="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</pre><p>disallowed substitutions: "restriction"</p>
-<h3><a name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION" id="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</pre><p>disallowed substitutions: "substitution"</p>
-<h3><a name="XML_SCHEMAS_ELEM_CIRCULAR" id="XML_SCHEMAS_ELEM_CIRCULAR"></a>Macro: XML_SCHEMAS_ELEM_CIRCULAR</h3><pre>#define XML_SCHEMAS_ELEM_CIRCULAR</pre><p>a helper flag for the search of circular references.</p>
-<h3><a name="XML_SCHEMAS_ELEM_DEFAULT" id="XML_SCHEMAS_ELEM_DEFAULT"></a>Macro: XML_SCHEMAS_ELEM_DEFAULT</h3><pre>#define XML_SCHEMAS_ELEM_DEFAULT</pre><p>the element has a default value</p>
-<h3><a name="XML_SCHEMAS_ELEM_FINAL_ABSENT" id="XML_SCHEMAS_ELEM_FINAL_ABSENT"></a>Macro: XML_SCHEMAS_ELEM_FINAL_ABSENT</h3><pre>#define XML_SCHEMAS_ELEM_FINAL_ABSENT</pre><p>substitution group exclusions are absent</p>
-<h3><a name="XML_SCHEMAS_ELEM_FINAL_EXTENSION" id="XML_SCHEMAS_ELEM_FINAL_EXTENSION"></a>Macro: XML_SCHEMAS_ELEM_FINAL_EXTENSION</h3><pre>#define XML_SCHEMAS_ELEM_FINAL_EXTENSION</pre><p>substitution group exclusions: "extension"</p>
-<h3><a name="XML_SCHEMAS_ELEM_FINAL_RESTRICTION" id="XML_SCHEMAS_ELEM_FINAL_RESTRICTION"></a>Macro: XML_SCHEMAS_ELEM_FINAL_RESTRICTION</h3><pre>#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION</pre><p>substitution group exclusions: "restriction"</p>
-<h3><a name="XML_SCHEMAS_ELEM_FIXED" id="XML_SCHEMAS_ELEM_FIXED"></a>Macro: XML_SCHEMAS_ELEM_FIXED</h3><pre>#define XML_SCHEMAS_ELEM_FIXED</pre><p>the element has a fixed value</p>
-<h3><a name="XML_SCHEMAS_ELEM_GLOBAL" id="XML_SCHEMAS_ELEM_GLOBAL"></a>Macro: XML_SCHEMAS_ELEM_GLOBAL</h3><pre>#define XML_SCHEMAS_ELEM_GLOBAL</pre><p>the element is global</p>
-<h3><a name="XML_SCHEMAS_ELEM_INTERNAL_CHECKED" id="XML_SCHEMAS_ELEM_INTERNAL_CHECKED"></a>Macro: XML_SCHEMAS_ELEM_INTERNAL_CHECKED</h3><pre>#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED</pre><p>this is set when the elem decl has been checked against all constraints</p>
-<h3><a name="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED" id="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED"></a>Macro: XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</h3><pre>#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</pre><p>this is set when "type", "ref", "substitutionGroup" references have been resolved.</p>
-<h3><a name="XML_SCHEMAS_ELEM_NILLABLE" id="XML_SCHEMAS_ELEM_NILLABLE"></a>Macro: XML_SCHEMAS_ELEM_NILLABLE</h3><pre>#define XML_SCHEMAS_ELEM_NILLABLE</pre><p>the element is nillable</p>
-<h3><a name="XML_SCHEMAS_ELEM_NSDEFAULT" id="XML_SCHEMAS_ELEM_NSDEFAULT"></a>Macro: XML_SCHEMAS_ELEM_NSDEFAULT</h3><pre>#define XML_SCHEMAS_ELEM_NSDEFAULT</pre><p>allow elements in no namespace Obsolete, not used anymore.</p>
-<h3><a name="XML_SCHEMAS_ELEM_REF" id="XML_SCHEMAS_ELEM_REF"></a>Macro: XML_SCHEMAS_ELEM_REF</h3><pre>#define XML_SCHEMAS_ELEM_REF</pre><p>the element is a <a href="libxml-SAX.html#reference">reference</a> to a type</p>
-<h3><a name="XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD" id="XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD"></a>Macro: XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</h3><pre>#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</pre><p>the declaration is a substitution group head</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 schema has "extension" in the set of finalDefault.</p>
-<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_LIST" id="XML_SCHEMAS_FINAL_DEFAULT_LIST"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_LIST</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_LIST</pre><p>the schema has "list" in the set of finalDefault.</p>
-<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION" id="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</pre><p>the schema has "restriction" in the set of finalDefault.</p>
-<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_UNION" id="XML_SCHEMAS_FINAL_DEFAULT_UNION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_UNION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_UNION</pre><p>the schema has "union" in the set of finalDefault.</p>
-<h3><a name="XML_SCHEMAS_INCLUDING_CONVERT_NS" id="XML_SCHEMAS_INCLUDING_CONVERT_NS"></a>Macro: XML_SCHEMAS_INCLUDING_CONVERT_NS</h3><pre>#define XML_SCHEMAS_INCLUDING_CONVERT_NS</pre><p>the schema is currently including an other schema with no target namespace.</p>
-<h3><a name="XML_SCHEMAS_QUALIF_ATTR" id="XML_SCHEMAS_QUALIF_ATTR"></a>Macro: XML_SCHEMAS_QUALIF_ATTR</h3><pre>#define XML_SCHEMAS_QUALIF_ATTR</pre><p>Reflects attributeFormDefault == qualified in an XML schema document.</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>Reflects elementFormDefault == qualified in an XML schema document.</p>
-<h3><a name="XML_SCHEMAS_TYPE_ABSTRACT" id="XML_SCHEMAS_TYPE_ABSTRACT"></a>Macro: XML_SCHEMAS_TYPE_ABSTRACT</h3><pre>#define XML_SCHEMAS_TYPE_ABSTRACT</pre><p>the simple/complexType is abstract.</p>
-<h3><a name="XML_SCHEMAS_TYPE_BLOCK_DEFAULT" id="XML_SCHEMAS_TYPE_BLOCK_DEFAULT"></a>Macro: XML_SCHEMAS_TYPE_BLOCK_DEFAULT</h3><pre>#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT</pre><p>the complexType did not specify 'block' so use the default of the &lt;schema&gt; item.</p>
-<h3><a name="XML_SCHEMAS_TYPE_BLOCK_EXTENSION" id="XML_SCHEMAS_TYPE_BLOCK_EXTENSION"></a>Macro: XML_SCHEMAS_TYPE_BLOCK_EXTENSION</h3><pre>#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION</pre><p>the complexType has a 'block' of "extension".</p>
-<h3><a name="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION" id="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION"></a>Macro: XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</h3><pre>#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</pre><p>the complexType has a 'block' of "restriction".</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>Marks the item as a builtin primitive.</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_FACETSNEEDVALUE" id="XML_SCHEMAS_TYPE_FACETSNEEDVALUE"></a>Macro: XML_SCHEMAS_TYPE_FACETSNEEDVALUE</h3><pre>#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE</pre><p>indicates if the facets need a computed value</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>the simpleType has a final of "default".</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_FIXUP_1" id="XML_SCHEMAS_TYPE_FIXUP_1"></a>Macro: XML_SCHEMAS_TYPE_FIXUP_1</h3><pre>#define XML_SCHEMAS_TYPE_FIXUP_1</pre><p>First stage of fixup was done.</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_HAS_FACETS" id="XML_SCHEMAS_TYPE_HAS_FACETS"></a>Macro: XML_SCHEMAS_TYPE_HAS_FACETS</h3><pre>#define XML_SCHEMAS_TYPE_HAS_FACETS</pre><p>has facets</p>
-<h3><a name="XML_SCHEMAS_TYPE_INTERNAL_INVALID" id="XML_SCHEMAS_TYPE_INTERNAL_INVALID"></a>Macro: XML_SCHEMAS_TYPE_INTERNAL_INVALID</h3><pre>#define XML_SCHEMAS_TYPE_INTERNAL_INVALID</pre><p>indicates that the type is invalid</p>
-<h3><a name="XML_SCHEMAS_TYPE_INTERNAL_RESOLVED" id="XML_SCHEMAS_TYPE_INTERNAL_RESOLVED"></a>Macro: XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</h3><pre>#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</pre><p>indicates that the type was typefixed</p>
-<h3><a name="XML_SCHEMAS_TYPE_MARKED" id="XML_SCHEMAS_TYPE_MARKED"></a>Macro: XML_SCHEMAS_TYPE_MARKED</h3><pre>#define XML_SCHEMAS_TYPE_MARKED</pre><p>Marks the item as marked; used for circular checks.</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_NORMVALUENEEDED" id="XML_SCHEMAS_TYPE_NORMVALUENEEDED"></a>Macro: XML_SCHEMAS_TYPE_NORMVALUENEEDED</h3><pre>#define XML_SCHEMAS_TYPE_NORMVALUENEEDED</pre><p>indicates if the facets (pattern) need a normalized value</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_REDEFINED" id="XML_SCHEMAS_TYPE_REDEFINED"></a>Macro: XML_SCHEMAS_TYPE_REDEFINED</h3><pre>#define XML_SCHEMAS_TYPE_REDEFINED</pre><p>The type was redefined.</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". TODO: Actually not necessary :-/, since if none of the variety flags occur then it's automatically 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_TYPE_WHITESPACE_COLLAPSE" id="XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE"></a>Macro: XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</h3><pre>#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</pre><p>a whitespace-facet value of "collapse"</p>
-<h3><a name="XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE" id="XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE"></a>Macro: XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</h3><pre>#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</pre><p>a whitespace-facet value of "preserve"</p>
-<h3><a name="XML_SCHEMAS_TYPE_WHITESPACE_REPLACE" id="XML_SCHEMAS_TYPE_WHITESPACE_REPLACE"></a>Macro: XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</h3><pre>#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</pre><p>a whitespace-facet value of "replace"</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
-}</pre><h3><a name="xmlSchemaAttribute" id="xmlSchemaAttribute">Structure xmlSchemaAttribute</a></h3><pre class="programlisting">Structure xmlSchemaAttribute<br />struct _xmlSchemaAttribute {
-    <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type
-    struct _xmlSchemaAttribute *	next	: the next <a href="libxml-SAX.html#attribute">attribute</a> (not used?)
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the declaration
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	typeName	: the local name of the type definition
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	typeNs	: the ns URI of the type definition
-    <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	base	: Deprecated; not used
-    int	occurs	: Deprecated; not used
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	defValue	: The initial value of the value constrai
-    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes	: the type definition
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
-    int	flags
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
-    <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal	: The compiled value constraint
-    <a href="libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	refDecl	: Deprecated; not used
-}</pre><h3><a name="xmlSchemaAttributeGroup" id="xmlSchemaAttributeGroup">Structure xmlSchemaAttributeGroup</a></h3><pre class="programlisting">Structure xmlSchemaAttributeGroup<br />struct _xmlSchemaAttributeGroup {
-    <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
-    struct _xmlSchemaAttribute *	next	: the next <a href="libxml-SAX.html#attribute">attribute</a> if in a group ...
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	id
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
-    <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes	: Deprecated; not used
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    int	flags
-    <a href="libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
-    <a href="libxml-schemasInternals.html#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>	refItem	: Deprecated; not used
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
-    void *	attrUses
-}</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 : Obsolete
-    <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
-}
-</pre><h3><a name="xmlSchemaElement" id="xmlSchemaElement">Structure xmlSchemaElement</a></h3><pre class="programlisting">Structure xmlSchemaElement<br />struct _xmlSchemaElement {
-    <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
-    struct _xmlSchemaType *	next	: Not used?
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
-    <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes	: the type definition
-    <a href="libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    int	minOccurs	: Deprecated; not used
-    int	maxOccurs	: Deprecated; not used
-    int	flags
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	namedType
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	namedTypeNs
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	substGroup
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	substGroupNs
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	scope
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	value	: The original value of the value constra
-    struct _xmlSchemaElement *	refDecl	: This will now be used for the substitut
-    <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: Obsolete for WXS, maybe used for RelaxN
-    <a href="libxml-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
-    <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal	: The compiled value constraint.
-    void *	idcs	: The identity-constraint defs
-}</pre><h3><a name="xmlSchemaFacet" id="xmlSchemaFacet">Structure xmlSchemaFacet</a></h3><pre class="programlisting">Structure xmlSchemaFacet<br />struct _xmlSchemaFacet {
-    <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
-    struct _xmlSchemaFacet *	next	: the next type if in a sequence ...
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	value	: The original value
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	id	: Obsolete
-    <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    int	fixed	: XML_SCHEMAS_FACET_PRESERVE, etc.
-    int	whitespace
-    <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	val	: The compiled value
-    <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	regexp	: The regex for patterns
-}</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
-    <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	identifier
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
-}</pre><h3><a name="xmlSchemaType" id="xmlSchemaType">Structure xmlSchemaType</a></h3><pre class="programlisting">Structure xmlSchemaType<br />struct _xmlSchemaType {
-    <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
-    struct _xmlSchemaType *	next	: the next type if in a sequence ...
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
-    <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes
-    <a href="libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes	: Deprecated; not used
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    int	minOccurs	: Deprecated; not used
-    int	maxOccurs	: Deprecated; not used
-    int	flags
-    <a href="libxml-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	base	: Base type's local name
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	baseNs	: Base type's target namespace
-    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	baseType	: The base type component
-    <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facets	: Local facets
-    struct _xmlSchemaType *	redef	: Deprecated; not used
-    int	recurse	: Obsolete
-    <a href="libxml-schemasInternals.html#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a> *	attributeUses	: Deprecated; not used
-    <a href="libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
-    int	builtInType	: Type of built-in types.
-    <a href="libxml-schemasInternals.html#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>	memberTypes	: member-types if a union type.
-    <a href="libxml-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>	facetSet	: All facets (incl. inherited)
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
-    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	contentTypeDef	: Used for the simple content of complex
-    <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: Holds the automaton of the content mode
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
-    void *	attrUses
-}</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 type
-}</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 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
-    <a name="XML_SCHEMA_TYPE_COMPLEX" id="XML_SCHEMA_TYPE_COMPLEX">XML_SCHEMA_TYPE_COMPLEX</a> = 5
-    <a name="XML_SCHEMA_TYPE_SEQUENCE" id="XML_SCHEMA_TYPE_SEQUENCE">XML_SCHEMA_TYPE_SEQUENCE</a> = 6
-    <a name="XML_SCHEMA_TYPE_CHOICE" id="XML_SCHEMA_TYPE_CHOICE">XML_SCHEMA_TYPE_CHOICE</a> = 7
-    <a name="XML_SCHEMA_TYPE_ALL" id="XML_SCHEMA_TYPE_ALL">XML_SCHEMA_TYPE_ALL</a> = 8
-    <a name="XML_SCHEMA_TYPE_SIMPLE_CONTENT" id="XML_SCHEMA_TYPE_SIMPLE_CONTENT">XML_SCHEMA_TYPE_SIMPLE_CONTENT</a> = 9
-    <a name="XML_SCHEMA_TYPE_COMPLEX_CONTENT" id="XML_SCHEMA_TYPE_COMPLEX_CONTENT">XML_SCHEMA_TYPE_COMPLEX_CONTENT</a> = 10
-    <a name="XML_SCHEMA_TYPE_UR" id="XML_SCHEMA_TYPE_UR">XML_SCHEMA_TYPE_UR</a> = 11
-    <a name="XML_SCHEMA_TYPE_RESTRICTION" id="XML_SCHEMA_TYPE_RESTRICTION">XML_SCHEMA_TYPE_RESTRICTION</a> = 12
-    <a name="XML_SCHEMA_TYPE_EXTENSION" id="XML_SCHEMA_TYPE_EXTENSION">XML_SCHEMA_TYPE_EXTENSION</a> = 13
-    <a name="XML_SCHEMA_TYPE_ELEMENT" id="XML_SCHEMA_TYPE_ELEMENT">XML_SCHEMA_TYPE_ELEMENT</a> = 14
-    <a name="XML_SCHEMA_TYPE_ATTRIBUTE" id="XML_SCHEMA_TYPE_ATTRIBUTE">XML_SCHEMA_TYPE_ATTRIBUTE</a> = 15
-    <a name="XML_SCHEMA_TYPE_ATTRIBUTEGROUP" id="XML_SCHEMA_TYPE_ATTRIBUTEGROUP">XML_SCHEMA_TYPE_ATTRIBUTEGROUP</a> = 16
-    <a name="XML_SCHEMA_TYPE_GROUP" id="XML_SCHEMA_TYPE_GROUP">XML_SCHEMA_TYPE_GROUP</a> = 17
-    <a name="XML_SCHEMA_TYPE_NOTATION" id="XML_SCHEMA_TYPE_NOTATION">XML_SCHEMA_TYPE_NOTATION</a> = 18
-    <a name="XML_SCHEMA_TYPE_LIST" id="XML_SCHEMA_TYPE_LIST">XML_SCHEMA_TYPE_LIST</a> = 19
-    <a name="XML_SCHEMA_TYPE_UNION" id="XML_SCHEMA_TYPE_UNION">XML_SCHEMA_TYPE_UNION</a> = 20
-    <a name="XML_SCHEMA_TYPE_ANY_ATTRIBUTE" id="XML_SCHEMA_TYPE_ANY_ATTRIBUTE">XML_SCHEMA_TYPE_ANY_ATTRIBUTE</a> = 21
-    <a name="XML_SCHEMA_TYPE_IDC_UNIQUE" id="XML_SCHEMA_TYPE_IDC_UNIQUE">XML_SCHEMA_TYPE_IDC_UNIQUE</a> = 22
-    <a name="XML_SCHEMA_TYPE_IDC_KEY" id="XML_SCHEMA_TYPE_IDC_KEY">XML_SCHEMA_TYPE_IDC_KEY</a> = 23
-    <a name="XML_SCHEMA_TYPE_IDC_KEYREF" id="XML_SCHEMA_TYPE_IDC_KEYREF">XML_SCHEMA_TYPE_IDC_KEYREF</a> = 24
-    <a name="XML_SCHEMA_TYPE_PARTICLE" id="XML_SCHEMA_TYPE_PARTICLE">XML_SCHEMA_TYPE_PARTICLE</a> = 25
-    <a name="XML_SCHEMA_TYPE_ATTRIBUTE_USE" id="XML_SCHEMA_TYPE_ATTRIBUTE_USE">XML_SCHEMA_TYPE_ATTRIBUTE_USE</a> = 26
-    <a name="XML_SCHEMA_FACET_MININCLUSIVE" id="XML_SCHEMA_FACET_MININCLUSIVE">XML_SCHEMA_FACET_MININCLUSIVE</a> = 1000
-    <a name="XML_SCHEMA_FACET_MINEXCLUSIVE" id="XML_SCHEMA_FACET_MINEXCLUSIVE">XML_SCHEMA_FACET_MINEXCLUSIVE</a> = 1001
-    <a name="XML_SCHEMA_FACET_MAXINCLUSIVE" id="XML_SCHEMA_FACET_MAXINCLUSIVE">XML_SCHEMA_FACET_MAXINCLUSIVE</a> = 1002
-    <a name="XML_SCHEMA_FACET_MAXEXCLUSIVE" id="XML_SCHEMA_FACET_MAXEXCLUSIVE">XML_SCHEMA_FACET_MAXEXCLUSIVE</a> = 1003
-    <a name="XML_SCHEMA_FACET_TOTALDIGITS" id="XML_SCHEMA_FACET_TOTALDIGITS">XML_SCHEMA_FACET_TOTALDIGITS</a> = 1004
-    <a name="XML_SCHEMA_FACET_FRACTIONDIGITS" id="XML_SCHEMA_FACET_FRACTIONDIGITS">XML_SCHEMA_FACET_FRACTIONDIGITS</a> = 1005
-    <a name="XML_SCHEMA_FACET_PATTERN" id="XML_SCHEMA_FACET_PATTERN">XML_SCHEMA_FACET_PATTERN</a> = 1006
-    <a name="XML_SCHEMA_FACET_ENUMERATION" id="XML_SCHEMA_FACET_ENUMERATION">XML_SCHEMA_FACET_ENUMERATION</a> = 1007
-    <a name="XML_SCHEMA_FACET_WHITESPACE" id="XML_SCHEMA_FACET_WHITESPACE">XML_SCHEMA_FACET_WHITESPACE</a> = 1008
-    <a name="XML_SCHEMA_FACET_LENGTH" id="XML_SCHEMA_FACET_LENGTH">XML_SCHEMA_FACET_LENGTH</a> = 1009
-    <a name="XML_SCHEMA_FACET_MAXLENGTH" id="XML_SCHEMA_FACET_MAXLENGTH">XML_SCHEMA_FACET_MAXLENGTH</a> = 1010
-    <a name="XML_SCHEMA_FACET_MINLENGTH" id="XML_SCHEMA_FACET_MINLENGTH">XML_SCHEMA_FACET_MINLENGTH</a> = 1011
-    <a name="XML_SCHEMA_EXTRA_QNAMEREF" id="XML_SCHEMA_EXTRA_QNAMEREF">XML_SCHEMA_EXTRA_QNAMEREF</a> = 2000
-    <a name="XML_SCHEMA_EXTRA_ATTR_USE_PROHIB" id="XML_SCHEMA_EXTRA_ATTR_USE_PROHIB">XML_SCHEMA_EXTRA_ATTR_USE_PROHIB</a> = 2001
-}
-</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	: Deprecated; not used
-    <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    int	minOccurs	: Deprecated; not used
-    int	maxOccurs	: Deprecated; not used
-    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><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>
diff --git a/doc/html/libxml-schematron.html b/doc/html/libxml-schematron.html
deleted file mode 100644
index 7289ec9..0000000
--- a/doc/html/libxml-schematron.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module schematron from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schematron 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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-schemasInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-schemasInternals.html">schemasInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-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>interface to the XML Schematron validity checking. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSchematron">xmlSchematron</a><br />struct _xmlSchematron
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Structure <a href="#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a><br />struct _xmlSchematronParserCtxt
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a> * <a name="xmlSchematronParserCtxtPtr" id="xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-schematron.html#xmlSchematron">xmlSchematron</a> * <a name="xmlSchematronPtr" id="xmlSchematronPtr">xmlSchematronPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a><br />struct _xmlSchematronValidCtxt
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a> * <a name="xmlSchematronValidCtxtPtr" id="xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlSchematronValidOptions">xmlSchematronValidOptions</a>
-</pre><pre class="programlisting">void	<a href="#xmlSchematronFree">xmlSchematronFree</a>		(<a href="libxml-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema)</pre>
-<pre class="programlisting">void	<a href="#xmlSchematronFreeParserCtxt">xmlSchematronFreeParserCtxt</a>	(<a href="libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlSchematronFreeValidCtxt">xmlSchematronFreeValidCtxt</a>	(<a href="libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a>	(const char * buffer, <br />							 int size)</pre>
-<pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a>	(const char * URL)</pre>
-<pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>	<a href="#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a>	(<a href="libxml-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br />							 int options)</pre>
-<pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>	<a href="#xmlSchematronParse">xmlSchematronParse</a>	(<a href="libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a>	(<a href="libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br />						 void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a>	(<a href="libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> instance)</pre>
-<pre class="programlisting">Function type: <a href="#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a>
-void	<a href="#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a>	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a>
-void	<a href="#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a>	(void * ctx, <br />						 const char * msg, <br />						 ... ...)
-</pre>
-<h2>Description</h2>
-<h3><a name="xmlSchematron" id="xmlSchematron">Structure xmlSchematron</a></h3><pre class="programlisting">Structure xmlSchematron<br />struct _xmlSchematron {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlSchematronParserCtxt" id="xmlSchematronParserCtxt">Structure xmlSchematronParserCtxt</a></h3><pre class="programlisting">Structure xmlSchematronParserCtxt<br />struct _xmlSchematronParserCtxt {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlSchematronValidCtxt" id="xmlSchematronValidCtxt">Structure xmlSchematronValidCtxt</a></h3><pre class="programlisting">Structure xmlSchematronValidCtxt<br />struct _xmlSchematronValidCtxt {
-The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="xmlSchematronValidOptions" id="xmlSchematronValidOptions">xmlSchematronValidOptions</a></h3><pre class="programlisting">Enum xmlSchematronValidOptions {
-    <a name="XML_SCHEMATRON_OUT_QUIET" id="XML_SCHEMATRON_OUT_QUIET">XML_SCHEMATRON_OUT_QUIET</a> = 1 : quiet no report
-    <a name="XML_SCHEMATRON_OUT_TEXT" id="XML_SCHEMATRON_OUT_TEXT">XML_SCHEMATRON_OUT_TEXT</a> = 2 : build a textual report
-    <a name="XML_SCHEMATRON_OUT_XML" id="XML_SCHEMATRON_OUT_XML">XML_SCHEMATRON_OUT_XML</a> = 4 : output SVRL
-    <a name="XML_SCHEMATRON_OUT_ERROR" id="XML_SCHEMATRON_OUT_ERROR">XML_SCHEMATRON_OUT_ERROR</a> = 8 : output via <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>
-    <a name="XML_SCHEMATRON_OUT_FILE" id="XML_SCHEMATRON_OUT_FILE">XML_SCHEMATRON_OUT_FILE</a> = 256 : output to a file descriptor
-    <a name="XML_SCHEMATRON_OUT_BUFFER" id="XML_SCHEMATRON_OUT_BUFFER">XML_SCHEMATRON_OUT_BUFFER</a> = 512 : output to a buffer
-    <a name="XML_SCHEMATRON_OUT_IO" id="XML_SCHEMATRON_OUT_IO">XML_SCHEMATRON_OUT_IO</a> = 1024 : output to I/O mechanism
-}
-</pre><h3><a name="xmlSchematronFree" id="xmlSchematronFree"></a>Function: xmlSchematronFree</h3><pre class="programlisting">void	xmlSchematronFree		(<a href="libxml-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema)<br />
-</pre><p>Deallocate a Schematron structure.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div><h3><a name="xmlSchematronFreeParserCtxt" id="xmlSchematronFreeParserCtxt"></a>Function: xmlSchematronFreeParserCtxt</h3><pre class="programlisting">void	xmlSchematronFreeParserCtxt	(<a href="libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br />
-</pre><p>Free the resources associated to the schema parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema parser context</td></tr></tbody></table></div><h3><a name="xmlSchematronFreeValidCtxt" id="xmlSchematronFreeValidCtxt"></a>Function: xmlSchematronFreeValidCtxt</h3><pre class="programlisting">void	xmlSchematronFreeValidCtxt	(<a href="libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt)<br />
-</pre><p>Free the resources associated to the schema validation context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr></tbody></table></div><h3><a name="xmlSchematronNewDocParserCtxt" id="xmlSchematronNewDocParserCtxt"></a>Function: xmlSchematronNewDocParserCtxt</h3><pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewDocParserCtxt	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Create an XML Schematrons parse context for that document. NB. The document may be modified during the parsing process.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchematronNewMemParserCtxt" id="xmlSchematronNewMemParserCtxt"></a>Function: xmlSchematronNewMemParserCtxt</h3><pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewMemParserCtxt	(const char * buffer, <br />							 int size)<br />
-</pre><p>Create an XML Schematrons parse context for that memory buffer expected to contain an XML Schematrons file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array containing the schemas</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchematronNewParserCtxt" id="xmlSchematronNewParserCtxt"></a>Function: xmlSchematronNewParserCtxt</h3><pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewParserCtxt	(const char * URL)<br />
-</pre><p>Create an XML Schematrons parse context for that file/resource expected to contain an XML Schematrons file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchematronNewValidCtxt" id="xmlSchematronNewValidCtxt"></a>Function: xmlSchematronNewValidCtxt</h3><pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>	xmlSchematronNewValidCtxt	(<a href="libxml-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br />							 int options)<br />
-</pre><p>Create an XML Schematrons validation context based on the given schema.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML Schematrons</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a set of <a href="libxml-schematron.html#xmlSchematronValidOptions">xmlSchematronValidOptions</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchematronParse" id="xmlSchematronParse"></a>Function: xmlSchematronParse</h3><pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>	xmlSchematronParse	(<a href="libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML Schematron structure built from the resource or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchematronSetValidStructuredErrors" id="xmlSchematronSetValidStructuredErrors"></a>Function: xmlSchematronSetValidStructuredErrors</h3><pre class="programlisting">void	xmlSchematronSetValidStructuredErrors	(<a href="libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br />						 void * ctx)<br />
-</pre><p>Set the structured error callback</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 Schematron validation context</td></tr><tr><td><span class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a name="xmlSchematronValidateDoc" id="xmlSchematronValidateDoc"></a>Function: xmlSchematronValidateDoc</h3><pre class="programlisting">int	xmlSchematronValidateDoc	(<a href="libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> instance)<br />
-</pre><p>Validate a tree instance against the schematron</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span class="term"><i><tt>instance</tt></i>:</span></td><td>the document instance tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of internal error and an error count otherwise.</td></tr></tbody></table></div><h3><a name="xmlSchematronValidityErrorFunc" id="xmlSchematronValidityErrorFunc"></a>Function type: xmlSchematronValidityErrorFunc</h3><pre class="programlisting">Function type: xmlSchematronValidityErrorFunc
-void	xmlSchematronValidityErrorFunc	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Signature of an error callback from a Schematron validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div><br />
-<h3><a name="xmlSchematronValidityWarningFunc" id="xmlSchematronValidityWarningFunc"></a>Function type: xmlSchematronValidityWarningFunc</h3><pre class="programlisting">Function type: xmlSchematronValidityWarningFunc
-void	xmlSchematronValidityWarningFunc	(void * ctx, <br />						 const char * msg, <br />						 ... ...)
-</pre><p>Signature of a warning callback from a Schematron validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div><br />
-<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-threads.html b/doc/html/libxml-threads.html
deleted file mode 100644
index 2423f7e..0000000
--- a/doc/html/libxml-threads.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module threads from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module threads from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-schematron.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-schematron.html">schematron</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-tree.html">tree</a></th><td><a accesskey="n" href="libxml-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>set of generic threading related routines should work with pthreads, Windows native or TLS threads </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlMutex">xmlMutex</a><br />struct _xmlMutex
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-threads.html#xmlMutex">xmlMutex</a> * <a name="xmlMutexPtr" id="xmlMutexPtr">xmlMutexPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlRMutex">xmlRMutex</a><br />struct _xmlRMutex
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-threads.html#xmlRMutex">xmlRMutex</a> * <a name="xmlRMutexPtr" id="xmlRMutexPtr">xmlRMutexPtr</a>
-</pre><pre class="programlisting">void	<a href="#xmlCleanupThreads">xmlCleanupThreads</a>		(void)</pre>
-<pre class="programlisting">int	<a href="#xmlDllMain">xmlDllMain</a>			(void * hinstDLL, <br />					 unsigned long fdwReason, <br />					 void * lpvReserved)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeMutex">xmlFreeMutex</a>			(<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeRMutex">xmlFreeRMutex</a>			(<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)</pre>
-<pre class="programlisting"><a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	<a href="#xmlGetGlobalState">xmlGetGlobalState</a>	(void)</pre>
-<pre class="programlisting">int	<a href="#xmlGetThreadId">xmlGetThreadId</a>			(void)</pre>
-<pre class="programlisting">void	<a href="#xmlInitThreads">xmlInitThreads</a>			(void)</pre>
-<pre class="programlisting">int	<a href="#xmlIsMainThread">xmlIsMainThread</a>			(void)</pre>
-<pre class="programlisting">void	<a href="#xmlLockLibrary">xmlLockLibrary</a>			(void)</pre>
-<pre class="programlisting">void	<a href="#xmlMutexLock">xmlMutexLock</a>			(<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)</pre>
-<pre class="programlisting">void	<a href="#xmlMutexUnlock">xmlMutexUnlock</a>			(<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)</pre>
-<pre class="programlisting"><a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a>	<a href="#xmlNewMutex">xmlNewMutex</a>		(void)</pre>
-<pre class="programlisting"><a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>	<a href="#xmlNewRMutex">xmlNewRMutex</a>		(void)</pre>
-<pre class="programlisting">void	<a href="#xmlRMutexLock">xmlRMutexLock</a>			(<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)</pre>
-<pre class="programlisting">void	<a href="#xmlRMutexUnlock">xmlRMutexUnlock</a>			(<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)</pre>
-<pre class="programlisting">void	<a href="#xmlUnlockLibrary">xmlUnlockLibrary</a>		(void)</pre>
-<h2>Description</h2>
-<h3><a name="xmlMutex" id="xmlMutex">Structure xmlMutex</a></h3><pre class="programlisting">Structure xmlMutex<br />struct _xmlMutex {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlRMutex" id="xmlRMutex">Structure xmlRMutex</a></h3><pre class="programlisting">Structure xmlRMutex<br />struct _xmlRMutex {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlCleanupThreads" id="xmlCleanupThreads"></a>Function: xmlCleanupThreads</h3><pre class="programlisting">void	xmlCleanupThreads		(void)<br />
-</pre><p>xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p>
-<h3><a name="xmlDllMain" id="xmlDllMain"></a>Function: xmlDllMain</h3><pre class="programlisting">int	xmlDllMain			(void * hinstDLL, <br />					 unsigned long fdwReason, <br />					 void * lpvReserved)<br />
-</pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>hinstDLL</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>fdwReason</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>lpvReserved</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="xmlFreeMutex" id="xmlFreeMutex"></a>Function: xmlFreeMutex</h3><pre class="programlisting">void	xmlFreeMutex			(<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br />
-</pre><p>xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the simple mutex</td></tr></tbody></table></div><h3><a name="xmlFreeRMutex" id="xmlFreeRMutex"></a>Function: xmlFreeRMutex</h3><pre class="programlisting">void	xmlFreeRMutex			(<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br />
-</pre><p>xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the reentrant mutex</td></tr></tbody></table></div><h3><a name="xmlGetGlobalState" id="xmlGetGlobalState"></a>Function: xmlGetGlobalState</h3><pre class="programlisting"><a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	xmlGetGlobalState	(void)<br />
-</pre><p>xmlGetGlobalState() is called to retrieve the global state for a thread.</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 thread global state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlGetThreadId" id="xmlGetThreadId"></a>Function: xmlGetThreadId</h3><pre class="programlisting">int	xmlGetThreadId			(void)<br />
-</pre><p>xmlGetThreadId() find the current thread ID number Note that this is likely to be broken on some platforms using pthreads as the specification doesn't mandate pthread_t to be an integer type</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 current thread ID number</td></tr></tbody></table></div><h3><a name="xmlInitThreads" id="xmlInitThreads"></a>Function: xmlInitThreads</h3><pre class="programlisting">void	xmlInitThreads			(void)<br />
-</pre><p>xmlInitThreads() is used to to initialize all the thread related data of the libxml2 library.</p>
-<h3><a name="xmlIsMainThread" id="xmlIsMainThread"></a>Function: xmlIsMainThread</h3><pre class="programlisting">int	xmlIsMainThread			(void)<br />
-</pre><p>xmlIsMainThread() check whether the current thread is the main thread.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the current thread is the main thread, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlLockLibrary" id="xmlLockLibrary"></a>Function: xmlLockLibrary</h3><pre class="programlisting">void	xmlLockLibrary			(void)<br />
-</pre><p>xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library.</p>
-<h3><a name="xmlMutexLock" id="xmlMutexLock"></a>Function: xmlMutexLock</h3><pre class="programlisting">void	xmlMutexLock			(<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br />
-</pre><p>xmlMutexLock() is used to lock a libxml2 token.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the simple mutex</td></tr></tbody></table></div><h3><a name="xmlMutexUnlock" id="xmlMutexUnlock"></a>Function: xmlMutexUnlock</h3><pre class="programlisting">void	xmlMutexUnlock			(<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br />
-</pre><p>xmlMutexUnlock() is used to unlock a libxml2 token.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the simple mutex</td></tr></tbody></table></div><h3><a name="xmlNewMutex" id="xmlNewMutex"></a>Function: xmlNewMutex</h3><pre class="programlisting"><a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a>	xmlNewMutex		(void)<br />
-</pre><p>xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to data.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new simple mutex pointer or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewRMutex" id="xmlNewRMutex"></a>Function: xmlNewRMutex</h3><pre class="programlisting"><a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>	xmlNewRMutex		(void)<br />
-</pre><p>xmlRNewMutex() is used to allocate a reentrant mutex for use in synchronizing access to data. token_r is a re-entrant lock and thus useful for synchronizing access to data structures that may be manipulated in a recursive fashion.</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 new reentrant mutex pointer or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRMutexLock" id="xmlRMutexLock"></a>Function: xmlRMutexLock</h3><pre class="programlisting">void	xmlRMutexLock			(<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br />
-</pre><p>xmlRMutexLock() is used to lock a libxml2 token_r.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the reentrant mutex</td></tr></tbody></table></div><h3><a name="xmlRMutexUnlock" id="xmlRMutexUnlock"></a>Function: xmlRMutexUnlock</h3><pre class="programlisting">void	xmlRMutexUnlock			(<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br />
-</pre><p>xmlRMutexUnlock() is used to unlock a libxml2 token_r.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the reentrant mutex</td></tr></tbody></table></div><h3><a name="xmlUnlockLibrary" id="xmlUnlockLibrary"></a>Function: xmlUnlockLibrary</h3><pre class="programlisting">void	xmlUnlockLibrary		(void)<br />
-</pre><p>xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library.</p>
-<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-tree.html b/doc/html/libxml-tree.html
deleted file mode 100644
index 025ca4c..0000000
--- a/doc/html/libxml-tree.html
+++ /dev/null
@@ -1,991 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module tree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module tree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-threads.html">threads</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-uri.html">uri</a></th><td><a accesskey="n" href="libxml-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></pre><pre class="programlisting">#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a></pre><pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a></pre><pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a></pre><pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_XML_ID">XML_XML_ID</a></pre><pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a></pre><pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a></pre><pre class="programlisting">Structure <a href="#xmlAttr">xmlAttr</a><br />struct _xmlAttr
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlAttr">xmlAttr</a> * <a name="xmlAttrPtr" id="xmlAttrPtr">xmlAttrPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlAttribute">xmlAttribute</a><br />struct _xmlAttribute
-</pre><pre class="programlisting">Enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlAttribute">xmlAttribute</a> * <a name="xmlAttributePtr" id="xmlAttributePtr">xmlAttributePtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlAttributeType">xmlAttributeType</a>
-</pre><pre class="programlisting">Structure <a href="#xmlBuf">xmlBuf</a><br />struct _xmlBuf
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlBuf">xmlBuf</a> * <a name="xmlBufPtr" id="xmlBufPtr">xmlBufPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlBuffer">xmlBuffer</a><br />struct _xmlBuffer
-</pre><pre class="programlisting">Enum <a href="#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> * <a name="xmlBufferPtr" id="xmlBufferPtr">xmlBufferPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a><br />struct _xmlDOMWrapCtxt
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a> * <a name="xmlDOMWrapCtxtPtr" id="xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlDoc">xmlDoc</a><br />struct _xmlDoc
-</pre><pre class="programlisting">Enum <a href="#xmlDocProperties">xmlDocProperties</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * <a name="xmlDocPtr" id="xmlDocPtr">xmlDocPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlDtd">xmlDtd</a><br />struct _xmlDtd
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlDtd">xmlDtd</a> * <a name="xmlDtdPtr" id="xmlDtdPtr">xmlDtdPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlElement">xmlElement</a><br />struct _xmlElement
-</pre><pre class="programlisting">Structure <a href="#xmlElementContent">xmlElementContent</a><br />struct _xmlElementContent
-</pre><pre class="programlisting">Enum <a href="#xmlElementContentOccur">xmlElementContentOccur</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlElementContent">xmlElementContent</a> * <a name="xmlElementContentPtr" id="xmlElementContentPtr">xmlElementContentPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlElementContentType">xmlElementContentType</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlElement">xmlElement</a> * <a name="xmlElementPtr" id="xmlElementPtr">xmlElementPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlElementType">xmlElementType</a>
-</pre><pre class="programlisting">Enum <a href="#xmlElementTypeVal">xmlElementTypeVal</a>
-</pre><pre class="programlisting">Structure <a href="#xmlEntity">xmlEntity</a><br />struct _xmlEntity
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlEntity">xmlEntity</a> * <a name="xmlEntityPtr" id="xmlEntityPtr">xmlEntityPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlEnumeration">xmlEnumeration</a><br />struct _xmlEnumeration
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlEnumeration">xmlEnumeration</a> * <a name="xmlEnumerationPtr" id="xmlEnumerationPtr">xmlEnumerationPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlID">xmlID</a><br />struct _xmlID
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlID">xmlID</a> * <a name="xmlIDPtr" id="xmlIDPtr">xmlIDPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlNode">xmlNode</a><br />struct _xmlNode
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlNode">xmlNode</a> * <a name="xmlNodePtr" id="xmlNodePtr">xmlNodePtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlNotation">xmlNotation</a><br />struct _xmlNotation
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlNotation">xmlNotation</a> * <a name="xmlNotationPtr" id="xmlNotationPtr">xmlNotationPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlNs">xmlNs</a><br />struct _xmlNs
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlNs">xmlNs</a> * <a name="xmlNsPtr" id="xmlNsPtr">xmlNsPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlElementType">xmlElementType</a> <a name="xmlNsType" id="xmlNsType">xmlNsType</a>
-</pre><pre class="programlisting">Structure <a href="#xmlOutputBuffer">xmlOutputBuffer</a><br />struct _xmlOutputBuffer
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlOutputBuffer">xmlOutputBuffer</a> * <a name="xmlOutputBufferPtr" id="xmlOutputBufferPtr">xmlOutputBufferPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlParserCtxt">xmlParserCtxt</a><br />struct _xmlParserCtxt
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a> * <a name="xmlParserCtxtPtr" id="xmlParserCtxtPtr">xmlParserCtxtPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlParserInput">xmlParserInput</a><br />struct _xmlParserInput
-</pre><pre class="programlisting">Structure <a href="#xmlParserInputBuffer">xmlParserInputBuffer</a><br />struct _xmlParserInputBuffer
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> * <a name="xmlParserInputBufferPtr" id="xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInput">xmlParserInput</a> * <a name="xmlParserInputPtr" id="xmlParserInputPtr">xmlParserInputPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlRef">xmlRef</a><br />struct _xmlRef
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlRef">xmlRef</a> * <a name="xmlRefPtr" id="xmlRefPtr">xmlRefPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlSAXHandler">xmlSAXHandler</a><br />struct _xmlSAXHandler
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> * <a name="xmlSAXHandlerPtr" id="xmlSAXHandlerPtr">xmlSAXHandlerPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlSAXLocator">xmlSAXLocator</a><br />struct _xmlSAXLocator
-</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlSAXLocator">xmlSAXLocator</a> * <a name="xmlSAXLocatorPtr" id="xmlSAXLocatorPtr">xmlSAXLocatorPtr</a>
-</pre><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddChild">xmlAddChild</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddChildList">xmlAddChildList</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddNextSibling">xmlAddNextSibling</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddPrevSibling">xmlAddPrevSibling</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddSibling">xmlAddSibling</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
-<pre class="programlisting">void	<a href="#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a>	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufContent">xmlBufContent</a>		(const <a href="libxml-tree.html#xmlBuf">xmlBuf</a> * buf)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufEnd">xmlBufEnd</a>		(<a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a> buf)</pre>
-<pre class="programlisting">int	<a href="#xmlBufGetNodeContent">xmlBufGetNodeContent</a>		(<a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)</pre>
-<pre class="programlisting">size_t	<a href="#xmlBufNodeDump">xmlBufNodeDump</a>			(<a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 int level, <br />					 int format)</pre>
-<pre class="programlisting">size_t	<a href="#xmlBufShrink">xmlBufShrink</a>			(<a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br />					 size_t len)</pre>
-<pre class="programlisting">size_t	<a href="#xmlBufUse">xmlBufUse</a>			(const <a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a> buf)</pre>
-<pre class="programlisting">int	<a href="#xmlBufferAdd">xmlBufferAdd</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlBufferAddHead">xmlBufferAddHead</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlBufferCCat">xmlBufferCCat</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const char * str)</pre>
-<pre class="programlisting">int	<a href="#xmlBufferCat">xmlBufferCat</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufferContent">xmlBufferContent</a>	(const <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> * buf)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreate">xmlBufferCreate</a>		(void)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreateSize">xmlBufferCreateSize</a>	(size_t size)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreateStatic">xmlBufferCreateStatic</a>	(void * mem, <br />					 size_t size)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufferDetach">xmlBufferDetach</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)</pre>
-<pre class="programlisting">int	<a href="#xmlBufferDump">xmlBufferDump</a>			(FILE * file, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)</pre>
-<pre class="programlisting">void	<a href="#xmlBufferEmpty">xmlBufferEmpty</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)</pre>
-<pre class="programlisting">void	<a href="#xmlBufferFree">xmlBufferFree</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)</pre>
-<pre class="programlisting">int	<a href="#xmlBufferGrow">xmlBufferGrow</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 unsigned int len)</pre>
-<pre class="programlisting">int	<a href="#xmlBufferLength">xmlBufferLength</a>			(const <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> * buf)</pre>
-<pre class="programlisting">int	<a href="#xmlBufferResize">xmlBufferResize</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 unsigned int size)</pre>
-<pre class="programlisting">void	<a href="#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a>	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)</pre>
-<pre class="programlisting">int	<a href="#xmlBufferShrink">xmlBufferShrink</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 unsigned int len)</pre>
-<pre class="programlisting">void	<a href="#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string)</pre>
-<pre class="programlisting">void	<a href="#xmlBufferWriteChar">xmlBufferWriteChar</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const char * string)</pre>
-<pre class="programlisting">void	<a href="#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a>	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildQName">xmlBuildQName</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * memory, <br />					 int len)</pre>
-<pre class="programlisting">unsigned long	<a href="#xmlChildElementCount">xmlChildElementCount</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCopyDoc">xmlCopyDoc</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int recursive)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlCopyDtd">xmlCopyDtd</a>		(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlCopyNamespace">xmlCopyNamespace</a>	(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlCopyNamespaceList">xmlCopyNamespaceList</a>	(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlCopyNode">xmlCopyNode</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int extended)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlCopyNodeList">xmlCopyNodeList</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlCopyProp">xmlCopyProp</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlCopyPropList">xmlCopyPropList</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlCreateIntSubset">xmlCreateIntSubset</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)</pre>
-<pre class="programlisting">Function type: <a href="#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>
-<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>	(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix)
-</pre>
-<pre class="programlisting">int	<a href="#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a>		(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br />					 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a>		(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * resNode, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br />					 int deep, <br />					 int options)</pre>
-<pre class="programlisting">void	<a href="#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a>		(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>	<a href="#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a>	(void)</pre>
-<pre class="programlisting">int	<a href="#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a>	(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a>		(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNode">xmlDocCopyNode</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int extended)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNodeList">xmlDocCopyNodeList</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">int	<a href="#xmlDocDump">xmlDocDump</a>			(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />					 int * size, <br />					 int format)</pre>
-<pre class="programlisting">void	<a href="#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br />					 int * doc_txt_len, <br />					 const char * txt_encoding, <br />					 int format)</pre>
-<pre class="programlisting">void	<a href="#xmlDocDumpMemory">xmlDocDumpMemory</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />					 int * size)</pre>
-<pre class="programlisting">void	<a href="#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br />					 int * doc_txt_len, <br />					 const char * txt_encoding)</pre>
-<pre class="programlisting">int	<a href="#xmlDocFormatDump">xmlDocFormatDump</a>		(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 int format)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocGetRootElement">xmlDocGetRootElement</a>	(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocSetRootElement">xmlDocSetRootElement</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> root)</pre>
-<pre class="programlisting">void	<a href="#xmlElemDump">xmlElemDump</a>			(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlFirstElementChild">xmlFirstElementChild</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeDoc">xmlFreeDoc</a>			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeDtd">xmlFreeDtd</a>			(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeNode">xmlFreeNode</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeNodeList">xmlFreeNodeList</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeNs">xmlFreeNs</a>			(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeNsList">xmlFreeNsList</a>			(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeProp">xmlFreeProp</a>			(<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#xmlFreePropList">xmlFreePropList</a>			(<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	<a href="#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a>	(void)</pre>
-<pre class="programlisting">int	<a href="#xmlGetCompressMode">xmlGetCompressMode</a>		(void)</pre>
-<pre class="programlisting">int	<a href="#xmlGetDocCompressMode">xmlGetDocCompressMode</a>		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlGetIntSubset">xmlGetIntSubset</a>		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlGetLastChild">xmlGetLastChild</a>		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * parent)</pre>
-<pre class="programlisting">long	<a href="#xmlGetLineNo">xmlGetLineNo</a>			(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNoNsProp">xmlGetNoNsProp</a>		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNodePath">xmlGetNodePath</a>		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> *	<a href="#xmlGetNsList">xmlGetNsList</a>		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNsProp">xmlGetNsProp</a>		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetProp">xmlGetProp</a>		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlHasNsProp">xmlHasNsProp</a>		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlHasProp">xmlHasProp</a>		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlIsBlankNode">xmlIsBlankNode</a>			(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node)</pre>
-<pre class="programlisting">int	<a href="#xmlIsXHTML">xmlIsXHTML</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicID)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlLastElementChild">xmlLastElementChild</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewCDataBlock">xmlNewCDataBlock</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewCharRef">xmlNewCharRef</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewChild">xmlNewChild</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewComment">xmlNewComment</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlNewDoc">xmlNewDoc</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * version)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocComment">xmlNewDocComment</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocFragment">xmlNewDocFragment</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNode">xmlNewDocNode</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocPI">xmlNewDocPI</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewDocProp">xmlNewDocProp</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocRawNode">xmlNewDocRawNode</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocText">xmlNewDocText</a>		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocTextLen">xmlNewDocTextLen</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlNewDtd">xmlNewDtd</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewGlobalNs">xmlNewGlobalNs</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNode">xmlNewNode</a>		(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNodeEatName">xmlNewNodeEatName</a>	(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewNs">xmlNewNs</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewNsProp">xmlNewNsProp</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewNsPropEatName">xmlNewNsPropEatName</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewPI">xmlNewPI</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewProp">xmlNewProp</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewReference">xmlNewReference</a>		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewText">xmlNewText</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewTextChild">xmlNewTextChild</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewTextLen">xmlNewTextLen</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNextElementSibling">xmlNextElementSibling</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">void	<a href="#xmlNodeAddContent">xmlNodeAddContent</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">void	<a href="#xmlNodeAddContentLen">xmlNodeAddContentLen</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlNodeBufGetContent">xmlNodeBufGetContent</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)</pre>
-<pre class="programlisting">int	<a href="#xmlNodeDump">xmlNodeDump</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 int level, <br />					 int format)</pre>
-<pre class="programlisting">void	<a href="#xmlNodeDumpOutput">xmlNodeDumpOutput</a>		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 int level, <br />					 int format, <br />					 const char * encoding)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetBase">xmlNodeGetBase</a>		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetContent">xmlNodeGetContent</a>	(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetLang">xmlNodeGetLang</a>		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)</pre>
-<pre class="programlisting">int	<a href="#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a>		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)</pre>
-<pre class="programlisting">int	<a href="#xmlNodeIsText">xmlNodeIsText</a>			(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeListGetRawString">xmlNodeListGetRawString</a>	(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * list, <br />					 int inLine)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeListGetString">xmlNodeListGetString</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * list, <br />					 int inLine)</pre>
-<pre class="programlisting">void	<a href="#xmlNodeSetBase">xmlNodeSetBase</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * uri)</pre>
-<pre class="programlisting">void	<a href="#xmlNodeSetContent">xmlNodeSetContent</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">void	<a href="#xmlNodeSetContentLen">xmlNodeSetContentLen</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)</pre>
-<pre class="programlisting">void	<a href="#xmlNodeSetLang">xmlNodeSetLang</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * lang)</pre>
-<pre class="programlisting">void	<a href="#xmlNodeSetName">xmlNodeSetName</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void	<a href="#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 int val)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlPreviousElementSibling">xmlPreviousElementSibling</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">int	<a href="#xmlReconciliateNs">xmlReconciliateNs</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree)</pre>
-<pre class="programlisting">int	<a href="#xmlRemoveProp">xmlRemoveProp</a>			(<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlReplaceNode">xmlReplaceNode</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting">int	<a href="#xmlSaveFile">xmlSaveFile</a>			(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)</pre>
-<pre class="programlisting">int	<a href="#xmlSaveFileEnc">xmlSaveFileEnc</a>			(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding)</pre>
-<pre class="programlisting">int	<a href="#xmlSaveFileTo">xmlSaveFileTo</a>			(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding)</pre>
-<pre class="programlisting">int	<a href="#xmlSaveFormatFile">xmlSaveFormatFile</a>		(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 int format)</pre>
-<pre class="programlisting">int	<a href="#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a>		(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)</pre>
-<pre class="programlisting">int	<a href="#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a>		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlSearchNs">xmlSearchNs</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlSearchNsByHref">xmlSearchNsByHref</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href)</pre>
-<pre class="programlisting">void	<a href="#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a>	(<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)</pre>
-<pre class="programlisting">void	<a href="#xmlSetCompressMode">xmlSetCompressMode</a>		(int mode)</pre>
-<pre class="programlisting">void	<a href="#xmlSetDocCompressMode">xmlSetDocCompressMode</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int mode)</pre>
-<pre class="programlisting">void	<a href="#xmlSetListDoc">xmlSetListDoc</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">void	<a href="#xmlSetNs">xmlSetNs</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlSetNsProp">xmlSetNsProp</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlSetProp">xmlSetProp</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">void	<a href="#xmlSetTreeDoc">xmlSetTreeDoc</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName2">xmlSplitQName2</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** prefix)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName3">xmlSplitQName3</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int * len)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlStringGetNodeList">xmlStringGetNodeList</a>	(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a>	(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlTextConcat">xmlTextConcat</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextMerge">xmlTextMerge</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> second)</pre>
-<pre class="programlisting">void	<a href="#xmlUnlinkNode">xmlUnlinkNode</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting">int	<a href="#xmlUnsetNsProp">xmlUnsetNsProp</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlUnsetProp">xmlUnsetProp</a>			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateNCName">xmlValidateNCName</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int space)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateNMToken">xmlValidateNMToken</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int space)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateName">xmlValidateName</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int space)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateQName">xmlValidateQName</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int space)</pre>
-<h2>Description</h2>
-<h3><a name="BASE_BUFFER_SIZE" id="BASE_BUFFER_SIZE"></a>Macro: BASE_BUFFER_SIZE</h3><pre>#define BASE_BUFFER_SIZE</pre><p>default buffer size 4000.</p>
-<h3><a name="LIBXML2_NEW_BUFFER" id="LIBXML2_NEW_BUFFER"></a>Macro: LIBXML2_NEW_BUFFER</h3><pre>#define LIBXML2_NEW_BUFFER</pre><p>Macro used to express that the API use the new buffers for <a href="libxml-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> and xmlOutputBuffer. The change was introduced in 2.9.0.</p>
-<h3><a name="XML_GET_CONTENT" id="XML_GET_CONTENT"></a>Macro: XML_GET_CONTENT</h3><pre>#define XML_GET_CONTENT</pre><p>Macro to extract the content pointer of a node.</p>
-<h3><a name="XML_GET_LINE" id="XML_GET_LINE"></a>Macro: XML_GET_LINE</h3><pre>#define XML_GET_LINE</pre><p>Macro to extract the line number of an element node.</p>
-<h3><a name="XML_LOCAL_NAMESPACE" id="XML_LOCAL_NAMESPACE"></a>Macro: XML_LOCAL_NAMESPACE</h3><pre>#define XML_LOCAL_NAMESPACE</pre><p>A namespace declaration node.</p>
-<h3><a name="XML_XML_ID" id="XML_XML_ID"></a>Macro: XML_XML_ID</h3><pre>#define XML_XML_ID</pre><p>This is the name for the special xml:id <a href="libxml-SAX.html#attribute">attribute</a></p>
-<h3><a name="XML_XML_NAMESPACE" id="XML_XML_NAMESPACE"></a>Macro: XML_XML_NAMESPACE</h3><pre>#define XML_XML_NAMESPACE</pre><p>This is the namespace for the special xml: prefix predefined in the XML Namespace specification.</p>
-<h3><a name="xmlChildrenNode" id="xmlChildrenNode"></a>Macro: xmlChildrenNode</h3><pre>#define xmlChildrenNode</pre><p>Macro for compatibility naming layer with libxml1. Maps to "children."</p>
-<h3><a name="xmlRootNode" id="xmlRootNode"></a>Macro: xmlRootNode</h3><pre>#define xmlRootNode</pre><p>Macro for compatibility naming layer with libxml1. Maps to "children".</p>
-<h3><a name="xmlAttr" id="xmlAttr">Structure xmlAttr</a></h3><pre class="programlisting">Structure xmlAttr<br />struct _xmlAttr {
-    void *	_private	: application data
-    <a href="libxml-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ATTRIBUTE_NODE, must be second !
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the property
-    struct _xmlNode *	children	: the value of the property
-    struct _xmlNode *	last	: NULL
-    struct _xmlNode *	parent	: child-&gt;parent link
-    struct _xmlAttr *	next	: next sibling link
-    struct _xmlAttr *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document
-    <a href="libxml-tree.html#xmlNs">xmlNs</a> *	ns	: pointer to the associated namespace
-    <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a>	atype	: the <a href="libxml-SAX.html#attribute">attribute</a> type if validating
-    void *	psvi	: for type/PSVI information
-}</pre><h3><a name="xmlAttribute" id="xmlAttribute">Structure xmlAttribute</a></h3><pre class="programlisting">Structure xmlAttribute<br />struct _xmlAttribute {
-    void *	_private	: application data
-    <a href="libxml-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ATTRIBUTE_DECL, must be second !
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: Attribute name
-    struct _xmlNode *	children	: NULL
-    struct _xmlNode *	last	: NULL
-    struct _xmlDtd *	parent	: -&gt; DTD
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document
-    struct _xmlAttribute *	nexth	: next in hash table
-    <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a>	atype	: The <a href="libxml-SAX.html#attribute">attribute</a> type
-    <a href="libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a>	def	: the default
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	defaultValue	: or the default value
-    <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	tree	: or the enumeration tree if any
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: the namespace prefix if any
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	elem	: Element holding the <a href="libxml-SAX.html#attribute">attribute</a>
-}</pre><h3>Enum <a name="xmlAttributeDefault" id="xmlAttributeDefault">xmlAttributeDefault</a></h3><pre class="programlisting">Enum xmlAttributeDefault {
-    <a name="XML_ATTRIBUTE_NONE" id="XML_ATTRIBUTE_NONE">XML_ATTRIBUTE_NONE</a> = 1
-    <a name="XML_ATTRIBUTE_REQUIRED" id="XML_ATTRIBUTE_REQUIRED">XML_ATTRIBUTE_REQUIRED</a> = 2
-    <a name="XML_ATTRIBUTE_IMPLIED" id="XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> = 3
-    <a name="XML_ATTRIBUTE_FIXED" id="XML_ATTRIBUTE_FIXED">XML_ATTRIBUTE_FIXED</a> = 4
-}
-</pre><h3>Enum <a name="xmlAttributeType" id="xmlAttributeType">xmlAttributeType</a></h3><pre class="programlisting">Enum xmlAttributeType {
-    <a name="XML_ATTRIBUTE_CDATA" id="XML_ATTRIBUTE_CDATA">XML_ATTRIBUTE_CDATA</a> = 1
-    <a name="XML_ATTRIBUTE_ID" id="XML_ATTRIBUTE_ID">XML_ATTRIBUTE_ID</a> = 2
-    <a name="XML_ATTRIBUTE_IDREF" id="XML_ATTRIBUTE_IDREF">XML_ATTRIBUTE_IDREF</a> = 3
-    <a name="XML_ATTRIBUTE_IDREFS" id="XML_ATTRIBUTE_IDREFS">XML_ATTRIBUTE_IDREFS</a> = 4
-    <a name="XML_ATTRIBUTE_ENTITY" id="XML_ATTRIBUTE_ENTITY">XML_ATTRIBUTE_ENTITY</a> = 5
-    <a name="XML_ATTRIBUTE_ENTITIES" id="XML_ATTRIBUTE_ENTITIES">XML_ATTRIBUTE_ENTITIES</a> = 6
-    <a name="XML_ATTRIBUTE_NMTOKEN" id="XML_ATTRIBUTE_NMTOKEN">XML_ATTRIBUTE_NMTOKEN</a> = 7
-    <a name="XML_ATTRIBUTE_NMTOKENS" id="XML_ATTRIBUTE_NMTOKENS">XML_ATTRIBUTE_NMTOKENS</a> = 8
-    <a name="XML_ATTRIBUTE_ENUMERATION" id="XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> = 9
-    <a name="XML_ATTRIBUTE_NOTATION" id="XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a> = 10
-}
-</pre><h3><a name="xmlBuf" id="xmlBuf">Structure xmlBuf</a></h3><pre class="programlisting">Structure xmlBuf<br />struct _xmlBuf {
-The content of this structure is not made public by the API.
-}</pre>
-      A pointer to a buffer structure, the actual structure internals are not public
-    <h3><a name="xmlBuffer" id="xmlBuffer">Structure xmlBuffer</a></h3><pre class="programlisting">Structure xmlBuffer<br />struct _xmlBuffer {
-    <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	content	: The buffer content UTF8
-    unsigned int	use	: The buffer size used
-    unsigned int	size	: The buffer size
-    <a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	alloc	: The realloc method
-    <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	contentIO	: in IO mode we may have a different base
-}</pre><h3>Enum <a name="xmlBufferAllocationScheme" id="xmlBufferAllocationScheme">xmlBufferAllocationScheme</a></h3><pre class="programlisting">Enum xmlBufferAllocationScheme {
-    <a name="XML_BUFFER_ALLOC_DOUBLEIT" id="XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> = 1 : double each time one need to grow
-    <a name="XML_BUFFER_ALLOC_EXACT" id="XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> = 2 : grow only to the minimal size
-    <a name="XML_BUFFER_ALLOC_IMMUTABLE" id="XML_BUFFER_ALLOC_IMMUTABLE">XML_BUFFER_ALLOC_IMMUTABLE</a> = 3 : immutable buffer
-    <a name="XML_BUFFER_ALLOC_IO" id="XML_BUFFER_ALLOC_IO">XML_BUFFER_ALLOC_IO</a> = 4 : special allocation scheme used for I/O
-    <a name="XML_BUFFER_ALLOC_HYBRID" id="XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> = 5 : exact up to a threshold, and doubleit thereafter
-    <a name="XML_BUFFER_ALLOC_BOUNDED" id="XML_BUFFER_ALLOC_BOUNDED">XML_BUFFER_ALLOC_BOUNDED</a> = 6 : limit the upper size of the buffer
-}
-</pre><h3><a name="xmlDOMWrapCtxt" id="xmlDOMWrapCtxt">Structure xmlDOMWrapCtxt</a></h3><pre class="programlisting">Structure xmlDOMWrapCtxt<br />struct _xmlDOMWrapCtxt {
-    void *	_private	: * The type of this context, just in case
-    int	type	: * Internal namespace map used for variou
-    void *	namespaceMap	: * Use this one to acquire an <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> in
-    <a href="libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>	getNsForNodeFunc
-}</pre><h3><a name="xmlDoc" id="xmlDoc">Structure xmlDoc</a></h3><pre class="programlisting">Structure xmlDoc<br />struct _xmlDoc {
-    void *	_private	: application data
-    <a href="libxml-tree.html#xmlElementType">xmlElementType</a>	type	: XML_DOCUMENT_NODE, must be second !
-    char *	name	: name/filename/URI of the document
-    struct _xmlNode *	children	: the document tree
-    struct _xmlNode *	last	: last child link
-    struct _xmlNode *	parent	: child-&gt;parent link
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: autoreference to itself End of common p
-    int	compression	: level of zlib compression
-    int	standalone	: standalone document (no external refs)
-    struct _xmlDtd *	intSubset	: the document internal subset
-    struct _xmlDtd *	extSubset	: the document external subset
-    struct _xmlNs *	oldNs	: Global namespace, the old way
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	version	: the XML version string
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: external initial encoding, if any
-    void *	ids	: Hash table for ID attributes if any
-    void *	refs	: Hash table for IDREFs attributes if any
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	URL	: The URI for that document
-    int	charset	: Internal flag for charset handling, act
-    struct _xmlDict *	dict	: dict used to allocate names or NULL
-    void *	psvi	: for type/PSVI information
-    int	parseFlags	: set of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used to parse th
-    int	properties	: set of <a href="libxml-tree.html#xmlDocProperties">xmlDocProperties</a> for this docume
-}</pre><h3>Enum <a name="xmlDocProperties" id="xmlDocProperties">xmlDocProperties</a></h3><pre class="programlisting">Enum xmlDocProperties {
-    <a name="XML_DOC_WELLFORMED" id="XML_DOC_WELLFORMED">XML_DOC_WELLFORMED</a> = 1 : document is XML well formed
-    <a name="XML_DOC_NSVALID" id="XML_DOC_NSVALID">XML_DOC_NSVALID</a> = 2 : document is Namespace valid
-    <a name="XML_DOC_OLD10" id="XML_DOC_OLD10">XML_DOC_OLD10</a> = 4 : parsed with old XML-1.0 parser
-    <a name="XML_DOC_DTDVALID" id="XML_DOC_DTDVALID">XML_DOC_DTDVALID</a> = 8 : DTD validation was successful
-    <a name="XML_DOC_XINCLUDE" id="XML_DOC_XINCLUDE">XML_DOC_XINCLUDE</a> = 16 : XInclude substitution was done
-    <a name="XML_DOC_USERBUILT" id="XML_DOC_USERBUILT">XML_DOC_USERBUILT</a> = 32 : Document was built using the API and not by parsing an instance
-    <a name="XML_DOC_INTERNAL" id="XML_DOC_INTERNAL">XML_DOC_INTERNAL</a> = 64 : built for internal processing
-    <a name="XML_DOC_HTML" id="XML_DOC_HTML">XML_DOC_HTML</a> = 128 : parsed or built HTML document
-}
-</pre><h3><a name="xmlDtd" id="xmlDtd">Structure xmlDtd</a></h3><pre class="programlisting">Structure xmlDtd<br />struct _xmlDtd {
-    void *	_private	: application data
-    <a href="libxml-tree.html#xmlElementType">xmlElementType</a>	type	: XML_DTD_NODE, must be second !
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: Name of the DTD
-    struct _xmlNode *	children	: the value of the property link
-    struct _xmlNode *	last	: last child link
-    struct _xmlDoc *	parent	: child-&gt;parent link
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document End of common p
-    void *	notations	: Hash table for notations if any
-    void *	elements	: Hash table for elements if any
-    void *	attributes	: Hash table for attributes if any
-    void *	entities	: Hash table for entities if any
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	ExternalID	: External identifier for PUBLIC DTD
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: URI for a SYSTEM or PUBLIC DTD
-    void *	pentities	: Hash table for param entities if any
-}</pre><h3><a name="xmlElement" id="xmlElement">Structure xmlElement</a></h3><pre class="programlisting">Structure xmlElement<br />struct _xmlElement {
-    void *	_private	: application data
-    <a href="libxml-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ELEMENT_DECL, must be second !
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: Element name
-    struct _xmlNode *	children	: NULL
-    struct _xmlNode *	last	: NULL
-    struct _xmlDtd *	parent	: -&gt; DTD
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document
-    <a href="libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a>	etype	: The type
-    <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	content	: the allowed element content
-    <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a>	attributes	: List of the declared attributes
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: the namespace prefix if any
-    <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: the validating regexp
-    void *	contModel
-}</pre><h3><a name="xmlElementContent" id="xmlElementContent">Structure xmlElementContent</a></h3><pre class="programlisting">Structure xmlElementContent<br />struct _xmlElementContent {
-    <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a>	type	: PCDATA, ELEMENT, SEQ or OR
-    <a href="libxml-tree.html#xmlElementContentOccur">xmlElementContentOccur</a>	ocur	: ONCE, OPT, MULT or PLUS
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: Element name
-    struct _xmlElementContent *	c1	: first child
-    struct _xmlElementContent *	c2	: second child
-    struct _xmlElementContent *	parent	: parent
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: Namespace prefix
-}</pre><h3>Enum <a name="xmlElementContentOccur" id="xmlElementContentOccur">xmlElementContentOccur</a></h3><pre class="programlisting">Enum xmlElementContentOccur {
-    <a name="XML_ELEMENT_CONTENT_ONCE" id="XML_ELEMENT_CONTENT_ONCE">XML_ELEMENT_CONTENT_ONCE</a> = 1
-    <a name="XML_ELEMENT_CONTENT_OPT" id="XML_ELEMENT_CONTENT_OPT">XML_ELEMENT_CONTENT_OPT</a> = 2
-    <a name="XML_ELEMENT_CONTENT_MULT" id="XML_ELEMENT_CONTENT_MULT">XML_ELEMENT_CONTENT_MULT</a> = 3
-    <a name="XML_ELEMENT_CONTENT_PLUS" id="XML_ELEMENT_CONTENT_PLUS">XML_ELEMENT_CONTENT_PLUS</a> = 4
-}
-</pre><h3>Enum <a name="xmlElementContentType" id="xmlElementContentType">xmlElementContentType</a></h3><pre class="programlisting">Enum xmlElementContentType {
-    <a name="XML_ELEMENT_CONTENT_PCDATA" id="XML_ELEMENT_CONTENT_PCDATA">XML_ELEMENT_CONTENT_PCDATA</a> = 1
-    <a name="XML_ELEMENT_CONTENT_ELEMENT" id="XML_ELEMENT_CONTENT_ELEMENT">XML_ELEMENT_CONTENT_ELEMENT</a> = 2
-    <a name="XML_ELEMENT_CONTENT_SEQ" id="XML_ELEMENT_CONTENT_SEQ">XML_ELEMENT_CONTENT_SEQ</a> = 3
-    <a name="XML_ELEMENT_CONTENT_OR" id="XML_ELEMENT_CONTENT_OR">XML_ELEMENT_CONTENT_OR</a> = 4
-}
-</pre><h3>Enum <a name="xmlElementType" id="xmlElementType">xmlElementType</a></h3><pre class="programlisting">Enum xmlElementType {
-    <a name="XML_ELEMENT_NODE" id="XML_ELEMENT_NODE">XML_ELEMENT_NODE</a> = 1
-    <a name="XML_ATTRIBUTE_NODE" id="XML_ATTRIBUTE_NODE">XML_ATTRIBUTE_NODE</a> = 2
-    <a name="XML_TEXT_NODE" id="XML_TEXT_NODE">XML_TEXT_NODE</a> = 3
-    <a name="XML_CDATA_SECTION_NODE" id="XML_CDATA_SECTION_NODE">XML_CDATA_SECTION_NODE</a> = 4
-    <a name="XML_ENTITY_REF_NODE" id="XML_ENTITY_REF_NODE">XML_ENTITY_REF_NODE</a> = 5
-    <a name="XML_ENTITY_NODE" id="XML_ENTITY_NODE">XML_ENTITY_NODE</a> = 6
-    <a name="XML_PI_NODE" id="XML_PI_NODE">XML_PI_NODE</a> = 7
-    <a name="XML_COMMENT_NODE" id="XML_COMMENT_NODE">XML_COMMENT_NODE</a> = 8
-    <a name="XML_DOCUMENT_NODE" id="XML_DOCUMENT_NODE">XML_DOCUMENT_NODE</a> = 9
-    <a name="XML_DOCUMENT_TYPE_NODE" id="XML_DOCUMENT_TYPE_NODE">XML_DOCUMENT_TYPE_NODE</a> = 10
-    <a name="XML_DOCUMENT_FRAG_NODE" id="XML_DOCUMENT_FRAG_NODE">XML_DOCUMENT_FRAG_NODE</a> = 11
-    <a name="XML_NOTATION_NODE" id="XML_NOTATION_NODE">XML_NOTATION_NODE</a> = 12
-    <a name="XML_HTML_DOCUMENT_NODE" id="XML_HTML_DOCUMENT_NODE">XML_HTML_DOCUMENT_NODE</a> = 13
-    <a name="XML_DTD_NODE" id="XML_DTD_NODE">XML_DTD_NODE</a> = 14
-    <a name="XML_ELEMENT_DECL" id="XML_ELEMENT_DECL">XML_ELEMENT_DECL</a> = 15
-    <a name="XML_ATTRIBUTE_DECL" id="XML_ATTRIBUTE_DECL">XML_ATTRIBUTE_DECL</a> = 16
-    <a name="XML_ENTITY_DECL" id="XML_ENTITY_DECL">XML_ENTITY_DECL</a> = 17
-    <a name="XML_NAMESPACE_DECL" id="XML_NAMESPACE_DECL">XML_NAMESPACE_DECL</a> = 18
-    <a name="XML_XINCLUDE_START" id="XML_XINCLUDE_START">XML_XINCLUDE_START</a> = 19
-    <a name="XML_XINCLUDE_END" id="XML_XINCLUDE_END">XML_XINCLUDE_END</a> = 20
-    <a name="XML_DOCB_DOCUMENT_NODE" id="XML_DOCB_DOCUMENT_NODE">XML_DOCB_DOCUMENT_NODE</a> = 21
-}
-</pre><h3>Enum <a name="xmlElementTypeVal" id="xmlElementTypeVal">xmlElementTypeVal</a></h3><pre class="programlisting">Enum xmlElementTypeVal {
-    <a name="XML_ELEMENT_TYPE_UNDEFINED" id="XML_ELEMENT_TYPE_UNDEFINED">XML_ELEMENT_TYPE_UNDEFINED</a> = 0
-    <a name="XML_ELEMENT_TYPE_EMPTY" id="XML_ELEMENT_TYPE_EMPTY">XML_ELEMENT_TYPE_EMPTY</a> = 1
-    <a name="XML_ELEMENT_TYPE_ANY" id="XML_ELEMENT_TYPE_ANY">XML_ELEMENT_TYPE_ANY</a> = 2
-    <a name="XML_ELEMENT_TYPE_MIXED" id="XML_ELEMENT_TYPE_MIXED">XML_ELEMENT_TYPE_MIXED</a> = 3
-    <a name="XML_ELEMENT_TYPE_ELEMENT" id="XML_ELEMENT_TYPE_ELEMENT">XML_ELEMENT_TYPE_ELEMENT</a> = 4
-}
-</pre><h3><a name="xmlEntity" id="xmlEntity">Structure xmlEntity</a></h3><pre class="programlisting">Structure xmlEntity<br />struct _xmlEntity {
-    void *	_private	: application data
-    <a href="libxml-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ENTITY_DECL, must be second !
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: Entity name
-    struct _xmlNode *	children	: First child link
-    struct _xmlNode *	last	: Last child link
-    struct _xmlDtd *	parent	: -&gt; DTD
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document
-    <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	orig	: content without ref substitution
-    <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	content	: content or ndata if unparsed
-    int	length	: the content length
-    <a href="libxml-entities.html#xmlEntityType">xmlEntityType</a>	etype	: The entity type
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	ExternalID	: External identifier for PUBLIC
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: URI for a SYSTEM or PUBLIC Entity
-    struct _xmlEntity *	nexte	: unused
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	URI	: the full URI as computed
-    int	owner	: does the entity own the childrens
-    int	checked	: was the entity content checked this is
-}</pre><h3><a name="xmlEnumeration" id="xmlEnumeration">Structure xmlEnumeration</a></h3><pre class="programlisting">Structure xmlEnumeration<br />struct _xmlEnumeration {
-    struct _xmlEnumeration *	next	: next one
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: Enumeration name
-}</pre><h3><a name="xmlID" id="xmlID">Structure xmlID</a></h3><pre class="programlisting">Structure xmlID<br />struct _xmlID {
-    struct _xmlID *	next	: next ID
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	value	: The ID name
-    <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr	: The <a href="libxml-SAX.html#attribute">attribute</a> holding it
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: The <a href="libxml-SAX.html#attribute">attribute</a> if attr is not available
-    int	lineno	: The line number if attr is not availabl
-    struct _xmlDoc *	doc	: The document holding the ID
-}</pre><h3><a name="xmlNode" id="xmlNode">Structure xmlNode</a></h3><pre class="programlisting">Structure xmlNode<br />struct _xmlNode {
-    void *	_private	: application data
-    <a href="libxml-tree.html#xmlElementType">xmlElementType</a>	type	: type number, must be second !
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the node, or the entity
-    struct _xmlNode *	children	: parent-&gt;childs link
-    struct _xmlNode *	last	: last child link
-    struct _xmlNode *	parent	: child-&gt;parent link
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document End of common p
-    <a href="libxml-tree.html#xmlNs">xmlNs</a> *	ns	: pointer to the associated namespace
-    <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	content	: the content
-    struct _xmlAttr *	properties	: properties list
-    <a href="libxml-tree.html#xmlNs">xmlNs</a> *	nsDef	: namespace definitions on this node
-    void *	psvi	: for type/PSVI information
-    unsigned short	line	: line number
-    unsigned short	extra	: extra data for XPath/XSLT
-}</pre><h3><a name="xmlNotation" id="xmlNotation">Structure xmlNotation</a></h3><pre class="programlisting">Structure xmlNotation<br />struct _xmlNotation {
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: Notation name
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	PublicID	: Public identifier, if any
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: System identifier, if any
-}</pre><h3><a name="xmlNs" id="xmlNs">Structure xmlNs</a></h3><pre class="programlisting">Structure xmlNs<br />struct _xmlNs {
-    struct _xmlNs *	next	: next Ns link for this node
-    <a href="libxml-tree.html#xmlNsType">xmlNsType</a>	type	: global or local
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	href	: URL for the namespace
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: prefix for the namespace
-    void *	_private	: application data
-    struct _xmlDoc *	context	: normally an <a href="libxml-tree.html#xmlDoc">xmlDoc</a>
-}</pre><h3><a name="xmlOutputBuffer" id="xmlOutputBuffer">Structure xmlOutputBuffer</a></h3><pre class="programlisting">Structure xmlOutputBuffer<br />struct _xmlOutputBuffer {
-    void *	context
-    <a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a>	writecallback
-    <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a>	closecallback
-    <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	encoder	: I18N conversions to UTF-8
-    <a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a>	buffer	: Local buffer encoded in UTF-8 or ISOLat
-    <a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a>	conv	: if encoder != NULL buffer for output
-    int	written	: total number of byte written
-    int	error
-}</pre><h3><a name="xmlParserCtxt" id="xmlParserCtxt">Structure xmlParserCtxt</a></h3><pre class="programlisting">Structure xmlParserCtxt<br />struct _xmlParserCtxt {
-    struct _xmlSAXHandler *	sax	: The SAX handler
-    void *	userData	: For SAX interface only, used by DOM bui
-    <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	myDoc	: the document being built
-    int	wellFormed	: is the document well formed
-    int	replaceEntities	: shall we replace entities ?
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	version	: the XML version string
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: the declared encoding, if any
-    int	standalone	: standalone document
-    int	html	: an HTML(1)/Docbook(2) document * 3 is H
-    <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	input	: Current input stream
-    int	inputNr	: Number of current input streams
-    int	inputMax	: Max number of input streams
-    <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> *	inputTab	: stack of inputs Node analysis stack onl
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: Current parsed Node
-    int	nodeNr	: Depth of the parsing stack
-    int	nodeMax	: Max depth of the parsing stack
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes
-    int	record_info	: Whether node info should be kept
-    <a href="libxml-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>	node_seq	: info about each node parsed
-    int	errNo	: error code
-    int	hasExternalSubset	: <a href="libxml-SAX.html#reference">reference</a> and external subset
-    int	hasPErefs	: the internal subset has PE refs
-    int	external	: are we parsing an external entity
-    int	valid	: is the document valid
-    int	validate	: shall we try to validate ?
-    <a href="libxml-valid.html#xmlValidCtxt">xmlValidCtxt</a>	vctxt	: The validity context
-    <a href="libxml-parser.html#xmlParserInputState">xmlParserInputState</a>	instate	: current type of input
-    int	token	: next char look-ahead
-    char *	directory	: the data directory Node name stack
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: Current parsed Node
-    int	nameNr	: Depth of the parsing stack
-    int	nameMax	: Max depth of the parsing stack
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * *	nameTab	: array of nodes
-    long	nbChars	: unused
-    long	checkIndex	: used by progressive parsing lookup
-    int	keepBlanks	: ugly but ...
-    int	disableSAX	: SAX callbacks are disabled
-    int	inSubset	: Parsing is in int 1/ext 2 subset
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	intSubName	: name of subset
-    <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	extSubURI	: URI of external subset
-    <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	extSubSystem	: SYSTEM ID of external subset xml:space
-    int *	space	: Should the parser preserve spaces
-    int	spaceNr	: Depth of the parsing stack
-    int	spaceMax	: Max depth of the parsing stack
-    int *	spaceTab	: array of space infos
-    int	depth	: to prevent entity substitution loops
-    <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	entity	: used to check entities boundaries
-    int	charset	: encoding of the in-memory content actua
-    int	nodelen	: Those two fields are there to
-    int	nodemem	: Speed up large node parsing
-    int	pedantic	: signal pedantic warnings
-    void *	_private	: For user data, libxml won't touch it
-    int	loadsubset	: should the external subset be loaded
-    int	linenumbers	: set line number in element content
-    void *	catalogs	: document's own catalog
-    int	recovery	: run in recovery mode
-    int	progressive	: is this a progressive parsing
-    <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	dict	: dictionary for the parser
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * *	atts	: array for the attributes callbacks
-    int	maxatts	: the size of the array
-    int	docdict	: * pre-interned strings *
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	str_xml
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	str_xmlns
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	str_xml_ns	: * Everything below is used only by the n
-    int	sax2	: operating in the new SAX mode
-    int	nsNr	: the number of inherited namespaces
-    int	nsMax	: the size of the arrays
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * *	nsTab	: the array of prefix/namespace name
-    int *	attallocs	: which <a href="libxml-SAX.html#attribute">attribute</a> were allocated
-    <a href="libxml-parser.html#xmlStartTag">xmlStartTag</a> *	pushTab	: array of data for push
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attsDefault	: defaulted attributes if any
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attsSpecial	: non-CDATA attributes if any
-    int	nsWellFormed	: is the document XML Namespace okay
-    int	options	: * Those fields are needed only for strea
-    int	dictNames	: Use dictionary names for the tree
-    int	freeElemsNr	: number of freed element nodes
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	freeElems	: List of freed element nodes
-    int	freeAttrsNr	: number of freed attributes nodes
-    <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	freeAttrs	: * the complete error information for the
-    <a href="libxml-xmlerror.html#xmlError">xmlError</a>	lastError
-    <a href="libxml-parser.html#xmlParserMode">xmlParserMode</a>	parseMode	: the parser mode
-    unsigned long	nbentities	: number of entities references
-    unsigned long	sizeentities	: size of parsed entities for use by HTML
-    <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	nodeInfo	: Current NodeInfo
-    int	nodeInfoNr	: Depth of the parsing stack
-    int	nodeInfoMax	: Max depth of the parsing stack
-    <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	nodeInfoTab	: array of nodeInfos
-    int	input_id	: we need to label inputs
-    unsigned long	sizeentcopy	: volume of entity copy
-}</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
-    const char *	directory	: the directory/base of the file
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	base	: Base of the array to parse
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	cur	: Current char being parsed
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	end	: end of the array to parse
-    int	length	: length if known
-    int	line	: Current line
-    int	col	: * NOTE: consumed is only tested for equa
-    unsigned long	consumed	: How many xmlChars already consumed
-    <a href="libxml-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a>	free	: function to deallocate the base
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: the encoding string for entity
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	version	: the version string for entity
-    int	standalone	: Was that entity marked standalone
-    int	id	: an unique identifier for the entity
-}</pre><h3><a name="xmlParserInputBuffer" id="xmlParserInputBuffer">Structure xmlParserInputBuffer</a></h3><pre class="programlisting">Structure xmlParserInputBuffer<br />struct _xmlParserInputBuffer {
-    void *	context
-    <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a>	readcallback
-    <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a>	closecallback
-    <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	encoder	: I18N conversions to UTF-8
-    <a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a>	buffer	: Local buffer encoded in UTF-8
-    <a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a>	raw	: if encoder != NULL buffer for raw input
-    int	compressed	: -1=unknown, 0=not compressed, 1=compres
-    int	error
-    unsigned long	rawconsumed	: amount consumed from raw
-}</pre><h3><a name="xmlRef" id="xmlRef">Structure xmlRef</a></h3><pre class="programlisting">Structure xmlRef<br />struct _xmlRef {
-    struct _xmlRef *	next	: next Ref
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	value	: The Ref name
-    <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr	: The <a href="libxml-SAX.html#attribute">attribute</a> holding it
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: The <a href="libxml-SAX.html#attribute">attribute</a> if attr is not available
-    int	lineno	: The line number if attr is not availabl
-}</pre><h3><a name="xmlSAXHandler" id="xmlSAXHandler">Structure xmlSAXHandler</a></h3><pre class="programlisting">Structure xmlSAXHandler<br />struct _xmlSAXHandler {
-    <a href="libxml-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a>	internalSubset
-    <a href="libxml-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a>	isStandalone
-    <a href="libxml-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	hasInternalSubset
-    <a href="libxml-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>	hasExternalSubset
-    <a href="libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a>	resolveEntity
-    <a href="libxml-parser.html#getEntitySAXFunc">getEntitySAXFunc</a>	getEntity
-    <a href="libxml-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a>	entityDecl
-    <a href="libxml-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a>	notationDecl
-    <a href="libxml-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a>	attributeDecl
-    <a href="libxml-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a>	elementDecl
-    <a href="libxml-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	unparsedEntityDecl
-    <a href="libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	setDocumentLocator
-    <a href="libxml-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a>	startDocument
-    <a href="libxml-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a>	endDocument
-    <a href="libxml-parser.html#startElementSAXFunc">startElementSAXFunc</a>	startElement
-    <a href="libxml-parser.html#endElementSAXFunc">endElementSAXFunc</a>	endElement
-    <a href="libxml-parser.html#referenceSAXFunc">referenceSAXFunc</a>	reference
-    <a href="libxml-parser.html#charactersSAXFunc">charactersSAXFunc</a>	characters
-    <a href="libxml-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>	ignorableWhitespace
-    <a href="libxml-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a>	processingInstruction
-    <a href="libxml-parser.html#commentSAXFunc">commentSAXFunc</a>	comment
-    <a href="libxml-parser.html#warningSAXFunc">warningSAXFunc</a>	warning
-    <a href="libxml-parser.html#errorSAXFunc">errorSAXFunc</a>	error
-    <a href="libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a>	fatalError	: unused error() get all the errors
-    <a href="libxml-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	getParameterEntity
-    <a href="libxml-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a>	cdataBlock
-    <a href="libxml-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>	externalSubset
-    unsigned int	initialized	: The following fields are extensions ava
-    void *	_private
-    <a href="libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a>	startElementNs
-    <a href="libxml-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a>	endElementNs
-    <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	serror
-}</pre><h3><a name="xmlSAXLocator" id="xmlSAXLocator">Structure xmlSAXLocator</a></h3><pre class="programlisting">Structure xmlSAXLocator<br />struct _xmlSAXLocator {
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *(*getPublicId)	getPublicId
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *(*getSystemId)	getSystemId
-    int(*getLineNumber)	getLineNumber
-    int(*getColumnNumber)	getColumnNumber
-}</pre><h3><a name="xmlAddChild" id="xmlAddChild"></a>Function: xmlAddChild</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddChild		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml-SAX.html#attribute">attribute</a> with equal name, it is first destroyed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the child node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the child or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlAddChildList" id="xmlAddChildList"></a>Function: xmlAddChildList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddChildList		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be freed)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first node in the list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last child or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlAddNextSibling" id="xmlAddNextSibling"></a>Function: xmlAddNextSibling</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddNextSibling	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
-</pre><p>Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. As a result of text merging @elem may be freed. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml-SAX.html#attribute">attribute</a> with equal name, it is first destroyed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the child node</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the new node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new node or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlAddPrevSibling" id="xmlAddPrevSibling"></a>Function: xmlAddPrevSibling</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddPrevSibling	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
-</pre><p>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 <a href="libxml-SAX.html#attribute">attribute</a> with equal name, it is first destroyed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the child node</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the new node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new node or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlAddSibling" id="xmlAddSibling"></a>Function: xmlAddSibling</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddSibling		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
-</pre><p>Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the child node</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the new node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new element or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlAttrSerializeTxtContent" id="xmlAttrSerializeTxtContent"></a>Function: xmlAttrSerializeTxtContent</h3><pre class="programlisting">void	xmlAttrSerializeTxtContent	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string)<br />
-</pre><p>Serialize text <a href="libxml-SAX.html#attribute">attribute</a> values to an xml simple buffer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> node</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the text content</td></tr></tbody></table></div><h3><a name="xmlBufContent" id="xmlBufContent"></a>Function: xmlBufContent</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufContent		(const <a href="libxml-tree.html#xmlBuf">xmlBuf</a> * buf)<br />
-</pre><p>Function to extract the content of a buffer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal content</td></tr></tbody></table></div><h3><a name="xmlBufEnd" id="xmlBufEnd"></a>Function: xmlBufEnd</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufEnd		(<a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br />
-</pre><p>Function to extract the end of the content of a buffer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the end of the internal content or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlBufGetNodeContent" id="xmlBufGetNodeContent"></a>Function: xmlBufGetNodeContent</h3><pre class="programlisting">int	xmlBufGetNodeContent		(<a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)<br />
-</pre><p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buf with this value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>a buffer <a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a></td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being read</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><h3><a name="xmlBufNodeDump" id="xmlBufNodeDump"></a>Function: xmlBufNodeDump</h3><pre class="programlisting">size_t	xmlBufNodeDump			(<a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 int level, <br />					 int format)<br />
-</pre><p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written to the buffer, in case of error 0 is returned or @buf stores the error</td></tr></tbody></table></div><h3><a name="xmlBufShrink" id="xmlBufShrink"></a>Function: xmlBufShrink</h3><pre class="programlisting">size_t	xmlBufShrink			(<a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br />					 size_t len)<br />
-</pre><p>Remove the beginning of an XML buffer. NOTE that this routine behaviour differs from xmlBufferShrink() as it will return 0 on error instead of -1 due to size_t being used as the return type.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> to remove</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte removed or 0 in case of failure</td></tr></tbody></table></div><h3><a name="xmlBufUse" id="xmlBufUse"></a>Function: xmlBufUse</h3><pre class="programlisting">size_t	xmlBufUse			(const <a href="libxml-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br />
-</pre><p>Function to get the length of a buffer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the length of data in the internal content</td></tr></tbody></table></div><h3><a name="xmlBufferAdd" id="xmlBufferAdd"></a>Function: xmlBufferAdd</h3><pre class="programlisting">int	xmlBufferAdd			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)<br />
-</pre><p>Add a string range to an XML buffer. if len == -1, the length of str is recomputed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of #xmlChar to add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlBufferAddHead" id="xmlBufferAddHead"></a>Function: xmlBufferAddHead</h3><pre class="programlisting">int	xmlBufferAddHead		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)<br />
-</pre><p>Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of #xmlChar to add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlBufferCCat" id="xmlBufferCCat"></a>Function: xmlBufferCCat</h3><pre class="programlisting">int	xmlBufferCCat			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const char * str)<br />
-</pre><p>Append a zero terminated C string to an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the C char string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlBufferCat" id="xmlBufferCat"></a>Function: xmlBufferCat</h3><pre class="programlisting">int	xmlBufferCat			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
-</pre><p>Append a zero terminated string to an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to add to</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlBufferContent" id="xmlBufferContent"></a>Function: xmlBufferContent</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferContent	(const <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br />
-</pre><p>Function to extract the content of a buffer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal content</td></tr></tbody></table></div><h3><a name="xmlBufferCreate" id="xmlBufferCreate"></a>Function: xmlBufferCreate</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreate		(void)<br />
-</pre><p>routine to create an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new structure.</td></tr></tbody></table></div><h3><a name="xmlBufferCreateSize" id="xmlBufferCreateSize"></a>Function: xmlBufferCreateSize</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreateSize	(size_t size)<br />
-</pre><p>routine to create an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>initial size of buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new structure.</td></tr></tbody></table></div><h3><a name="xmlBufferCreateStatic" id="xmlBufferCreateStatic"></a>Function: xmlBufferCreateStatic</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreateStatic	(void * mem, <br />					 size_t size)<br />
-</pre><p>routine to create an XML buffer from an immutable memory area. The area won't be modified nor copied, and is expected to be present until the end of the buffer lifetime.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>the memory area</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new structure.</td></tr></tbody></table></div><h3><a name="xmlBufferDetach" id="xmlBufferDetach"></a>Function: xmlBufferDetach</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferDetach		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br />
-</pre><p>Remove the string contained in a buffer and gie it back to the caller. The buffer is reset to an empty content. This doesn't work with immutable buffers as they can't be reset.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous string contained by the buffer.</td></tr></tbody></table></div><h3><a name="xmlBufferDump" id="xmlBufferDump"></a>Function: xmlBufferDump</h3><pre class="programlisting">int	xmlBufferDump			(FILE * file, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br />
-</pre><p>Dumps an XML buffer to a FILE *.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file output</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of #xmlChar written</td></tr></tbody></table></div><h3><a name="xmlBufferEmpty" id="xmlBufferEmpty"></a>Function: xmlBufferEmpty</h3><pre class="programlisting">void	xmlBufferEmpty			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br />
-</pre><p>empty a buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr></tbody></table></div><h3><a name="xmlBufferFree" id="xmlBufferFree"></a>Function: xmlBufferFree</h3><pre class="programlisting">void	xmlBufferFree			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br />
-</pre><p>Frees an XML buffer. It frees both the content and the structure which encapsulate it.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to free</td></tr></tbody></table></div><h3><a name="xmlBufferGrow" id="xmlBufferGrow"></a>Function: xmlBufferGrow</h3><pre class="programlisting">int	xmlBufferGrow			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 unsigned int len)<br />
-</pre><p>Grow the available space of an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the minimum free size to allocate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new available space or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlBufferLength" id="xmlBufferLength"></a>Function: xmlBufferLength</h3><pre class="programlisting">int	xmlBufferLength			(const <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br />
-</pre><p>Function to get the length of a buffer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the length of data in the internal content</td></tr></tbody></table></div><h3><a name="xmlBufferResize" id="xmlBufferResize"></a>Function: xmlBufferResize</h3><pre class="programlisting">int	xmlBufferResize			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 unsigned int size)<br />
-</pre><p>Resize a buffer to accommodate minimum size of @size.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to resize</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the desired size</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of problems, 1 otherwise</td></tr></tbody></table></div><h3><a name="xmlBufferSetAllocationScheme" id="xmlBufferSetAllocationScheme"></a>Function: xmlBufferSetAllocationScheme</h3><pre class="programlisting">void	xmlBufferSetAllocationScheme	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br />
-</pre><p>Sets the allocation scheme for this buffer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to tune</td></tr><tr><td><span class="term"><i><tt>scheme</tt></i>:</span></td><td>allocation scheme to use</td></tr></tbody></table></div><h3><a name="xmlBufferShrink" id="xmlBufferShrink"></a>Function: xmlBufferShrink</h3><pre class="programlisting">int	xmlBufferShrink			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 unsigned int len)<br />
-</pre><p>Remove the beginning of an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> to remove</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of #xmlChar removed, or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlBufferWriteCHAR" id="xmlBufferWriteCHAR"></a>Function: xmlBufferWriteCHAR</h3><pre class="programlisting">void	xmlBufferWriteCHAR		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string)<br />
-</pre><p>routine which manages and grows an output buffer. This one adds xmlChars at the end of the buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the string to add</td></tr></tbody></table></div><h3><a name="xmlBufferWriteChar" id="xmlBufferWriteChar"></a>Function: xmlBufferWriteChar</h3><pre class="programlisting">void	xmlBufferWriteChar		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const char * string)<br />
-</pre><p>routine which manage and grows an output buffer. This one add C chars at the end of the array.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the string to add</td></tr></tbody></table></div><h3><a name="xmlBufferWriteQuotedString" id="xmlBufferWriteQuotedString"></a>Function: xmlBufferWriteQuotedString</h3><pre class="programlisting">void	xmlBufferWriteQuotedString	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string)<br />
-</pre><p>routine which manage and grows an output buffer. This one writes a quoted or double quoted #xmlChar string, checking first if it holds quote or double-quotes internally</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the string to add</td></tr></tbody></table></div><h3><a name="xmlBuildQName" id="xmlBuildQName"></a>Function: xmlBuildQName</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildQName		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * memory, <br />					 int len)<br />
-</pre><p>Builds the QName @prefix:@ncname in @memory if there is enough space and prefix is not NULL nor empty, otherwise allocate a new string. If prefix is NULL or empty it returns ncname.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ncname</tt></i>:</span></td><td>the Name</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>preallocated memory</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>preallocated memory length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string which must be freed by the caller if different from @memory and @ncname or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlChildElementCount" id="xmlChildElementCount"></a>Function: xmlChildElementCount</h3><pre class="programlisting">unsigned long	xmlChildElementCount	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br />
-</pre><p>Finds the current number of child nodes of that element which are element nodes. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the count of element child or 0 if not available</td></tr></tbody></table></div><h3><a name="xmlCopyDoc" id="xmlCopyDoc"></a>Function: xmlCopyDoc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCopyDoc		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int recursive)<br />
-</pre><p>Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, namespaces and entities.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>recursive</tt></i>:</span></td><td>if not zero do a recursive copy.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlDocPtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyDtd" id="xmlCopyDtd"></a>Function: xmlCopyDtd</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlCopyDtd		(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br />
-</pre><p>Do a copy of the dtd.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>the dtd</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlDtdPtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyNamespace" id="xmlCopyNamespace"></a>Function: xmlCopyNamespace</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlCopyNamespace	(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br />
-</pre><p>Do a copy of the namespace.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNsPtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyNamespaceList" id="xmlCopyNamespaceList"></a>Function: xmlCopyNamespaceList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlCopyNamespaceList	(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br />
-</pre><p>Do a copy of an namespace list.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNsPtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyNode" id="xmlCopyNode"></a>Function: xmlCopyNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNode		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int extended)<br />
-</pre><p>Do a copy of the node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>extended</tt></i>:</span></td><td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyNodeList" id="xmlCopyNodeList"></a>Function: xmlCopyNodeList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNodeList		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Do a recursive copy of the node list. Use xmlDocCopyNodeList() if possible to ensure string interning.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the first node in the list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyProp" id="xmlCopyProp"></a>Function: xmlCopyProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyProp		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br />
-</pre><p>Do a copy of the attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>the element where the <a href="libxml-SAX.html#attribute">attribute</a> will be grafted</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlAttrPtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyPropList" id="xmlCopyPropList"></a>Function: xmlCopyPropList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyPropList		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br />
-</pre><p>Do a copy of an <a href="libxml-SAX.html#attribute">attribute</a> list.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>the element where the attributes will be grafted</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlAttrPtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCreateIntSubset" id="xmlCreateIntSubset"></a>Function: xmlCreateIntSubset</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlCreateIntSubset	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br />
-</pre><p>Create the internal subset of a document</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document pointer</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the DTD name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external (PUBLIC) ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system ID</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new DTD structure</td></tr></tbody></table></div><h3><a name="xmlDOMWrapAcquireNsFunction" id="xmlDOMWrapAcquireNsFunction"></a>Function type: xmlDOMWrapAcquireNsFunction</h3><pre class="programlisting">Function type: xmlDOMWrapAcquireNsFunction
-<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlDOMWrapAcquireNsFunction	(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix)
-</pre><p>A function called to acquire namespaces (xmlNs) from the wrapper.</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 DOM wrapper context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the context node (element or attribute)</td></tr><tr><td><span class="term"><i><tt>nsName</tt></i>:</span></td><td>the requested namespace name</td></tr><tr><td><span class="term"><i><tt>nsPrefix</tt></i>:</span></td><td>the requested namespace prefix</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL in case of an error.</td></tr></tbody></table></div><br />
-<h3><a name="xmlDOMWrapAdoptNode" id="xmlDOMWrapAdoptNode"></a>Function: xmlDOMWrapAdoptNode</h3><pre class="programlisting">int	xmlDOMWrapAdoptNode		(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br />					 int options)<br />
-</pre><p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used This is the case when you have an unlinked node and just want to move it to the context of If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the optional context for custom processing</td></tr><tr><td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td><td>the optional sourceDoc</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to start with</td></tr><tr><td><span class="term"><i><tt>destDoc</tt></i>:</span></td><td>the destination doc</td></tr><tr><td><span class="term"><i><tt>destParent</tt></i>:</span></td><td>the optional new parent of @node in @destDoc</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>option flags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the operation succeeded, 1 if a node of unsupported type was given, 2 if a node of not yet supported type was given and -1 on API/internal errors.</td></tr></tbody></table></div><h3><a name="xmlDOMWrapCloneNode" id="xmlDOMWrapCloneNode"></a>Function: xmlDOMWrapCloneNode</h3><pre class="programlisting">int	xmlDOMWrapCloneNode		(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * resNode, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br />					 int deep, <br />					 int options)<br />
-</pre><p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used. This is the case when you don't know already where the cloned branch will be added to. If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml-SAX.html#attribute">attribute</a> values or element content. TODO: 1) What to do with XInclude? Currently this returns an error for XInclude.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the optional context for custom processing</td></tr><tr><td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td><td>the optional sourceDoc</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to start with</td></tr><tr><td><span class="term"><i><tt>resNode</tt></i>:</span></td><td>the clone of the given @node</td></tr><tr><td><span class="term"><i><tt>destDoc</tt></i>:</span></td><td>the destination doc</td></tr><tr><td><span class="term"><i><tt>destParent</tt></i>:</span></td><td>the optional new parent of @node in @destDoc</td></tr><tr><td><span class="term"><i><tt>deep</tt></i>:</span></td><td>descend into child if set</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>option flags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the operation succeeded, 1 if a node of unsupported (or not yet supported) type was given, -1 on API/internal errors.</td></tr></tbody></table></div><h3><a name="xmlDOMWrapFreeCtxt" id="xmlDOMWrapFreeCtxt"></a>Function: xmlDOMWrapFreeCtxt</h3><pre class="programlisting">void	xmlDOMWrapFreeCtxt		(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt)<br />
-</pre><p>Frees the DOM-wrapper context.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the DOM-wrapper context</td></tr></tbody></table></div><h3><a name="xmlDOMWrapNewCtxt" id="xmlDOMWrapNewCtxt"></a>Function: xmlDOMWrapNewCtxt</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>	xmlDOMWrapNewCtxt	(void)<br />
-</pre><p>Allocates and initializes a new DOM-wrapper context.</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 <a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> or NULL in case of an internal error.</td></tr></tbody></table></div><h3><a name="xmlDOMWrapReconcileNamespaces" id="xmlDOMWrapReconcileNamespaces"></a>Function: xmlDOMWrapReconcileNamespaces</h3><pre class="programlisting">int	xmlDOMWrapReconcileNamespaces	(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 int options)<br />
-</pre><p>Ensures that ns-references point to ns-decls hold on element-nodes. Ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>DOM wrapper context, unused at the moment</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element-node</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>option flags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if succeeded, -1 otherwise and on API/internal errors.</td></tr></tbody></table></div><h3><a name="xmlDOMWrapRemoveNode" id="xmlDOMWrapRemoveNode"></a>Function: xmlDOMWrapRemoveNode</h3><pre class="programlisting">int	xmlDOMWrapRemoveNode		(<a href="libxml-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int options)<br />
-</pre><p>Unlinks the given node from its owner. This will substitute ns-references to node-&gt;nsDef for ns-references to doc-&gt;oldNs, thus ensuring the removed branch to be autark wrt ns-references. NOTE: This function was not intensively tested.</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 DOM wrapper context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the doc</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to be removed.</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>set of options, unused at the moment</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success, 1 if the node is not supported, -1 on API and internal errors.</td></tr></tbody></table></div><h3><a name="xmlDocCopyNode" id="xmlDocCopyNode"></a>Function: xmlDocCopyNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNode		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int extended)<br />
-</pre><p>Do a copy of the node to a given document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>extended</tt></i>:</span></td><td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlDocCopyNodeList" id="xmlDocCopyNodeList"></a>Function: xmlDocCopyNodeList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNodeList	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Do a recursive copy of the node list.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the target document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the first node in the list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlDocDump" id="xmlDocDump"></a>Function: xmlDocDump</h3><pre class="programlisting">int	xmlDocDump			(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br />
-</pre><p>Dump an XML document to an open FILE.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlDocDumpFormatMemory" id="xmlDocDumpFormatMemory"></a>Function: xmlDocDumpFormatMemory</h3><pre class="programlisting">void	xmlDocDumpFormatMemory		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />					 int * size, <br />					 int format)<br />
-</pre><p>Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div><h3><a name="xmlDocDumpFormatMemoryEnc" id="xmlDocDumpFormatMemoryEnc"></a>Function: xmlDocDumpFormatMemoryEnc</h3><pre class="programlisting">void	xmlDocDumpFormatMemoryEnc	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br />					 int * doc_txt_len, <br />					 const char * txt_encoding, <br />					 int format)<br />
-</pre><p>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 <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out_doc</tt></i>:</span></td><td>Document to generate XML text from</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td><td>Memory pointer for allocated XML text</td></tr><tr><td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td><td>Length of the generated XML text</td></tr><tr><td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td><td>Character encoding to use when generating XML text</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div><h3><a name="xmlDocDumpMemory" id="xmlDocDumpMemory"></a>Function: xmlDocDumpMemory</h3><pre class="programlisting">void	xmlDocDumpMemory		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />					 int * size)<br />
-</pre><p>Dump an XML document in memory and return the #xmlChar * and it's size in bytes. It'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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr></tbody></table></div><h3><a name="xmlDocDumpMemoryEnc" id="xmlDocDumpMemoryEnc"></a>Function: xmlDocDumpMemoryEnc</h3><pre class="programlisting">void	xmlDocDumpMemoryEnc		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br />					 int * doc_txt_len, <br />					 const char * txt_encoding)<br />
-</pre><p>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().</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out_doc</tt></i>:</span></td><td>Document to generate XML text from</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td><td>Memory pointer for allocated XML text</td></tr><tr><td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td><td>Length of the generated XML text</td></tr><tr><td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td><td>Character encoding to use when generating XML text</td></tr></tbody></table></div><h3><a name="xmlDocFormatDump" id="xmlDocFormatDump"></a>Function: xmlDocFormatDump</h3><pre class="programlisting">int	xmlDocFormatDump		(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 int format)<br />
-</pre><p>Dump an XML document to an open FILE.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td></tr></tbody></table></div><h3><a name="xmlDocGetRootElement" id="xmlDocGetRootElement"></a>Function: xmlDocGetRootElement</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocGetRootElement	(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc)<br />
-</pre><p>Get the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc ...).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the #xmlNodePtr for the root or NULL</td></tr></tbody></table></div><h3><a name="xmlDocSetRootElement" id="xmlDocSetRootElement"></a>Function: xmlDocSetRootElement</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocSetRootElement	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> root)<br />
-</pre><p>Set the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc ...).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>root</tt></i>:</span></td><td>the new document root element, if root is NULL no action is taken, to remove a node from a document use xmlUnlinkNode(root) instead.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the old root element if any was found, NULL if root was NULL</td></tr></tbody></table></div><h3><a name="xmlElemDump" id="xmlElemDump"></a>Function: xmlElemDump</h3><pre class="programlisting">void	xmlElemDump			(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Dump an XML/HTML node, recursive behaviour, children are printed too.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr></tbody></table></div><h3><a name="xmlFirstElementChild" id="xmlFirstElementChild"></a>Function: xmlFirstElementChild</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlFirstElementChild	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br />
-</pre><p>Finds the first child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the first element child or NULL if not available</td></tr></tbody></table></div><h3><a name="xmlFreeDoc" id="xmlFreeDoc"></a>Function: xmlFreeDoc</h3><pre class="programlisting">void	xmlFreeDoc			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br />
-</pre><p>Free up all the structures used by a document, tree included.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>pointer to the document</td></tr></tbody></table></div><h3><a name="xmlFreeDtd" id="xmlFreeDtd"></a>Function: xmlFreeDtd</h3><pre class="programlisting">void	xmlFreeDtd			(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur)<br />
-</pre><p>Free a DTD structure.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the DTD structure to free up</td></tr></tbody></table></div><h3><a name="xmlFreeNode" id="xmlFreeNode"></a>Function: xmlFreeNode</h3><pre class="programlisting">void	xmlFreeNode			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Free a node, this is a recursive behaviour, all the children are freed too. This doesn't unlink the child from the list, use xmlUnlinkNode() first.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node</td></tr></tbody></table></div><h3><a name="xmlFreeNodeList" id="xmlFreeNodeList"></a>Function: xmlFreeNodeList</h3><pre class="programlisting">void	xmlFreeNodeList			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Free a node and all its siblings, this is a recursive behaviour, all the children are freed too.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first node in the list</td></tr></tbody></table></div><h3><a name="xmlFreeNs" id="xmlFreeNs"></a>Function: xmlFreeNs</h3><pre class="programlisting">void	xmlFreeNs			(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br />
-</pre><p>Free up the structures associated to a namespace</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the namespace pointer</td></tr></tbody></table></div><h3><a name="xmlFreeNsList" id="xmlFreeNsList"></a>Function: xmlFreeNsList</h3><pre class="programlisting">void	xmlFreeNsList			(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br />
-</pre><p>Free up all the structures associated to the chained namespaces.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first namespace pointer</td></tr></tbody></table></div><h3><a name="xmlFreeProp" id="xmlFreeProp"></a>Function: xmlFreeProp</h3><pre class="programlisting">void	xmlFreeProp			(<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br />
-</pre><p>Free one attribute, all the content is freed too</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>an <a href="libxml-SAX.html#attribute">attribute</a></td></tr></tbody></table></div><h3><a name="xmlFreePropList" id="xmlFreePropList"></a>Function: xmlFreePropList</h3><pre class="programlisting">void	xmlFreePropList			(<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br />
-</pre><p>Free a property and all its siblings, all the children are freed too.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first property in the list</td></tr></tbody></table></div><h3><a name="xmlGetBufferAllocationScheme" id="xmlGetBufferAllocationScheme"></a>Function: xmlGetBufferAllocationScheme</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlGetBufferAllocationScheme	(void)<br />
-</pre><p>Types are <a href="libxml-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance <a href="libxml-tree.html#XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> - use exact sizes on small strings to keep memory usage tight in normal usage, and doubleit on large strings to avoid pathological performance.</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 current allocation scheme</td></tr></tbody></table></div><h3><a name="xmlGetCompressMode" id="xmlGetCompressMode"></a>Function: xmlGetCompressMode</h3><pre class="programlisting">int	xmlGetCompressMode		(void)<br />
-</pre><p>get the default compression mode used, ZLIB based.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 (uncompressed) to 9 (max compression)</td></tr></tbody></table></div><h3><a name="xmlGetDocCompressMode" id="xmlGetDocCompressMode"></a>Function: xmlGetDocCompressMode</h3><pre class="programlisting">int	xmlGetDocCompressMode		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc)<br />
-</pre><p>get the compression ratio for a document, ZLIB based</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 (uncompressed) to 9 (max compression)</td></tr></tbody></table></div><h3><a name="xmlGetIntSubset" id="xmlGetIntSubset"></a>Function: xmlGetIntSubset</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlGetIntSubset		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc)<br />
-</pre><p>Get the internal subset of a document</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the DTD structure or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlGetLastChild" id="xmlGetLastChild"></a>Function: xmlGetLastChild</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlGetLastChild		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * parent)<br />
-</pre><p>Search the last child of a node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last child or NULL if none.</td></tr></tbody></table></div><h3><a name="xmlGetLineNo" id="xmlGetLineNo"></a>Function: xmlGetLineNo</h3><pre class="programlisting">long	xmlGetLineNo			(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node)<br />
-</pre><p>Get line number of @node. Try to override the limitation of lines being store in 16 bits ints if <a href="libxml-parser.html#XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> parser option was used</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>valid node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the line number if successful, -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlGetNoNsProp" id="xmlGetNoNsProp"></a>Function: xmlGetNoNsProp</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNoNsProp		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Search and get the value of an <a href="libxml-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. This function is similar to <a href="libxml-tree.html#xmlGetProp">xmlGetProp</a> except it will accept only an <a href="libxml-SAX.html#attribute">attribute</a> in no namespace.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlGetNodePath" id="xmlGetNodePath"></a>Function: xmlGetNodePath</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNodePath		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node)<br />
-</pre><p>Build a structure based Path for the given node</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new path or NULL in case of error. The caller must free the returned string</td></tr></tbody></table></div><h3><a name="xmlGetNsList" id="xmlGetNsList"></a>Function: xmlGetNsList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> *	xmlGetNsList		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node)<br />
-</pre><p>Search all the namespace applying to a given element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an NULL terminated array of all the #xmlNsPtr found that need to be freed by the caller or NULL if no namespace if defined</td></tr></tbody></table></div><h3><a name="xmlGetNsProp" id="xmlGetNsProp"></a>Function: xmlGetNsProp</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNsProp		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br />
-</pre><p>Search and get the value of an <a href="libxml-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the URI of the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlGetProp" id="xmlGetProp"></a>Function: xmlGetProp</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetProp		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Search and get the value of an <a href="libxml-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlHasNsProp" id="xmlHasNsProp"></a>Function: xmlHasNsProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasNsProp		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br />
-</pre><p>Search for an <a href="libxml-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. Note that a namespace of NULL indicates to use the default namespace.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the URI of the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> or the <a href="libxml-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td></tr></tbody></table></div><h3><a name="xmlHasProp" id="xmlHasProp"></a>Function: xmlHasProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasProp		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Search an <a href="libxml-SAX.html#attribute">attribute</a> associated to a node This function also looks in DTD <a href="libxml-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> or the <a href="libxml-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td></tr></tbody></table></div><h3><a name="xmlIsBlankNode" id="xmlIsBlankNode"></a>Function: xmlIsBlankNode</h3><pre class="programlisting">int	xmlIsBlankNode			(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node)<br />
-</pre><p>Checks whether this node is an empty or whitespace only (and possibly ignorable) text-node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 yes, 0 no</td></tr></tbody></table></div><h3><a name="xmlIsXHTML" id="xmlIsXHTML"></a>Function: xmlIsXHTML</h3><pre class="programlisting">int	xmlIsXHTML			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicID)<br />
-</pre><p>Try to find if the document correspond to an XHTML DTD</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>systemID</tt></i>:</span></td><td>the system identifier</td></tr><tr><td><span class="term"><i><tt>publicID</tt></i>:</span></td><td>the public identifier</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if not and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlLastElementChild" id="xmlLastElementChild"></a>Function: xmlLastElementChild</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlLastElementChild	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br />
-</pre><p>Finds the last child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last element child or NULL if not available</td></tr></tbody></table></div><h3><a name="xmlNewCDataBlock" id="xmlNewCDataBlock"></a>Function: xmlNewCDataBlock</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewCDataBlock	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)<br />
-</pre><p>Creation of a new node containing a CDATA block.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the CDATA block content content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the block</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewCharRef" id="xmlNewCharRef"></a>Function: xmlNewCharRef</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewCharRef		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Creation of a new character <a href="libxml-SAX.html#reference">reference</a> node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the char ref string, starting with # or "&amp;# ... ;"</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewChild" id="xmlNewChild"></a>Function: xmlNewChild</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewChild		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child list containing the TEXTs and ENTITY_REFs node will be created. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references. XML special chars must be escaped first by using xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the child</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the XML content of the child if any.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewComment" id="xmlNewComment"></a>Function: xmlNewComment</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewComment		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a new node containing a comment.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the <a href="libxml-SAX.html#comment">comment</a> content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDoc" id="xmlNewDoc"></a>Function: xmlNewDoc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlNewDoc		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * version)<br />
-</pre><p>Creates a new XML document</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>version</tt></i>:</span></td><td><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string giving the version of XML "1.0"</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new document</td></tr></tbody></table></div><h3><a name="xmlNewDocComment" id="xmlNewDocComment"></a>Function: xmlNewDocComment</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocComment	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a new node containing a <a href="libxml-SAX.html#comment">comment</a> within a document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the <a href="libxml-SAX.html#comment">comment</a> content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDocFragment" id="xmlNewDocFragment"></a>Function: xmlNewDocFragment</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocFragment	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Creation of a new Fragment node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document owning the fragment</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDocNode" id="xmlNewDocNode"></a>Function: xmlNewDocNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNode		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the XML text content if any</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDocNodeEatName" id="xmlNewDocNodeEatName"></a>Function: xmlNewDocNodeEatName</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNodeEatName	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the XML text content if any</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDocPI" id="xmlNewDocPI"></a>Function: xmlNewDocPI</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocPI		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a processing instruction element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the target document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the processing instruction name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the PI content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDocProp" id="xmlNewDocProp"></a>Function: xmlNewDocProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewDocProp		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Create a new property carried by a document. NOTE: @value is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewProp() if you don't need entities support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml-SAX.html#attribute">attribute</a></td></tr></tbody></table></div><h3><a name="xmlNewDocRawNode" id="xmlNewDocRawNode"></a>Function: xmlNewDocRawNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocRawNode	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a new node element within a document. @ns and @content are optional (NULL).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content if any</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDocText" id="xmlNewDocText"></a>Function: xmlNewDocText</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocText		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a new text node within a document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDocTextLen" id="xmlNewDocTextLen"></a>Function: xmlNewDocTextLen</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocTextLen	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)<br />
-</pre><p>Creation of a new text node with an extra content length parameter. The text node pertain to a given document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the text len.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDtd" id="xmlNewDtd"></a>Function: xmlNewDtd</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlNewDtd		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br />
-</pre><p>Creation of a new DTD for the external subset. To create an internal subset, use xmlCreateIntSubset().</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document pointer</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the DTD name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system ID</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new DTD structure</td></tr></tbody></table></div><h3><a name="xmlNewGlobalNs" id="xmlNewGlobalNs"></a>Function: xmlNewGlobalNs</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlNewGlobalNs		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br />
-</pre><p>Creation of a Namespace, the old way using PI and without scoping DEPRECATED !!!</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document carrying the namespace</td></tr><tr><td><span class="term"><i><tt>href</tt></i>:</span></td><td>the URI associated</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix for the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL this functionality had been removed</td></tr></tbody></table></div><h3><a name="xmlNewNode" id="xmlNewNode"></a>Function: xmlNewNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewNode		(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Creation of a new node element. @ns is optional (NULL).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object. Uses xmlStrdup() to make copy of @name.</td></tr></tbody></table></div><h3><a name="xmlNewNodeEatName" id="xmlNewNodeEatName"></a>Function: xmlNewNodeEatName</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewNodeEatName	(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Creation of a new node element. @ns is optional (NULL).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object, with pointer @name as new node's name. Use xmlNewNode() if a copy of @name string is is needed as new node's name.</td></tr></tbody></table></div><h3><a name="xmlNewNs" id="xmlNewNs"></a>Function: xmlNewNs</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlNewNs		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br />
-</pre><p>Creation of a new Namespace. This function will refuse to create a namespace with a similar prefix than an existing one present on this node. Note that for a default namespace, @prefix should be NULL. We use href==NULL in the case of an element creation where the namespace was not defined.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the element carrying the namespace</td></tr><tr><td><span class="term"><i><tt>href</tt></i>:</span></td><td>the URI associated</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix for the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new namespace pointer or NULL</td></tr></tbody></table></div><h3><a name="xmlNewNsProp" id="xmlNewNsProp"></a>Function: xmlNewNsProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsProp		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Create a new property tagged with a namespace and carried by a node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the holding node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml-SAX.html#attribute">attribute</a></td></tr></tbody></table></div><h3><a name="xmlNewNsPropEatName" id="xmlNewNsPropEatName"></a>Function: xmlNewNsPropEatName</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsPropEatName	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Create a new property tagged with a namespace and carried by a node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the holding node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml-SAX.html#attribute">attribute</a></td></tr></tbody></table></div><h3><a name="xmlNewPI" id="xmlNewPI"></a>Function: xmlNewPI</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewPI		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a processing instruction element. Use xmlDocNewPI preferably to get string interning</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the processing instruction name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the PI content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewProp" id="xmlNewProp"></a>Function: xmlNewProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewProp		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Create a new property carried by a node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the holding node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml-SAX.html#attribute">attribute</a></td></tr></tbody></table></div><h3><a name="xmlNewReference" id="xmlNewReference"></a>Function: xmlNewReference</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewReference		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Creation of a new <a href="libxml-SAX.html#reference">reference</a> node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#reference">reference</a> name, or the <a href="libxml-SAX.html#reference">reference</a> string with &amp; and ;</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewText" id="xmlNewText"></a>Function: xmlNewText</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewText		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a new text node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewTextChild" id="xmlNewTextChild"></a>Function: xmlNewTextChild</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewTextChild		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child TEXT node will be created containing the string @content. NOTE: Use xmlNewChild() if @content will contain entities that need to be preserved. Use this function, xmlNewTextChild(), if you need to ensure that reserved XML chars that might appear in @content, such as the ampersand, greater-than or less-than signs, are automatically replaced by their XML escaped entity representations.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the child</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content of the child if any.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewTextLen" id="xmlNewTextLen"></a>Function: xmlNewTextLen</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewTextLen		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)<br />
-</pre><p>Creation of a new text node with an extra parameter for the content's length</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the text content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the text len.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNextElementSibling" id="xmlNextElementSibling"></a>Function: xmlNextElementSibling</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNextElementSibling	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Finds the first closest next sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element sibling or NULL if not available</td></tr></tbody></table></div><h3><a name="xmlNodeAddContent" id="xmlNodeAddContent"></a>Function: xmlNodeAddContent</h3><pre class="programlisting">void	xmlNodeAddContent		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContent(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being modified</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>extra content</td></tr></tbody></table></div><h3><a name="xmlNodeAddContentLen" id="xmlNodeAddContentLen"></a>Function: xmlNodeAddContentLen</h3><pre class="programlisting">void	xmlNodeAddContentLen		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)<br />
-</pre><p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContentLen(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being modified</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>extra content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size of @content</td></tr></tbody></table></div><h3><a name="xmlNodeBufGetContent" id="xmlNodeBufGetContent"></a>Function: xmlNodeBufGetContent</h3><pre class="programlisting">int	xmlNodeBufGetContent		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)<br />
-</pre><p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buffer with this value</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>cur</tt></i>:</span></td><td>the node being read</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><h3><a name="xmlNodeDump" id="xmlNodeDump"></a>Function: xmlNodeDump</h3><pre class="programlisting">int	xmlNodeDump			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 int level, <br />					 int format)<br />
-</pre><p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called. Since this is using <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written to the buffer or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlNodeDumpOutput" id="xmlNodeDumpOutput"></a>Function: xmlNodeDumpOutput</h3><pre class="programlisting">void	xmlNodeDumpOutput		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 int level, <br />					 int format, <br />					 const char * encoding)<br />
-</pre><p>Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>an optional encoding string</td></tr></tbody></table></div><h3><a name="xmlNodeGetBase" id="xmlNodeGetBase"></a>Function: xmlNodeGetBase</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetBase		(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)<br />
-</pre><p>Searches for the BASE URL. The code should work on both XML and HTML document even if base mechanisms are completely different. It returns the base as defined in RFC 2396 sections 5.1.1. Base URI within Document Content and 5.1.2. Base URI from the Encapsulating Entity However it does not return the document base (5.1.3), use doc-&gt;URL in this case</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document the node pertains to</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being checked</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the base URL, or NULL if not found It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlNodeGetContent" id="xmlNodeGetContent"></a>Function: xmlNodeGetContent</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetContent	(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)<br />
-</pre><p>Read the value of a node, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlChar * or NULL if no content is available. It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlNodeGetLang" id="xmlNodeGetLang"></a>Function: xmlNodeGetLang</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetLang		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)<br />
-</pre><p>Searches the language of a node, i.e. the values of the xml:lang <a href="libxml-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being checked</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the lang value, or NULL if not found It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlNodeGetSpacePreserve" id="xmlNodeGetSpacePreserve"></a>Function: xmlNodeGetSpacePreserve</h3><pre class="programlisting">int	xmlNodeGetSpacePreserve		(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)<br />
-</pre><p>Searches the space preserving behaviour of a node, i.e. the values of the xml:space <a href="libxml-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being checked</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if xml:space is not inherited, 0 if "default", 1 if "preserve"</td></tr></tbody></table></div><h3><a name="xmlNodeIsText" id="xmlNodeIsText"></a>Function: xmlNodeIsText</h3><pre class="programlisting">int	xmlNodeIsText			(const <a href="libxml-tree.html#xmlNode">xmlNode</a> * node)<br />
-</pre><p>Is this node a Text node ?</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 yes, 0 no</td></tr></tbody></table></div><h3><a name="xmlNodeListGetRawString" id="xmlNodeListGetRawString"></a>Function: xmlNodeListGetRawString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetRawString	(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * list, <br />					 int inLine)<br />
-</pre><p>Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() this function doesn't do any character encoding handling.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>a Node list</td></tr><tr><td><span class="term"><i><tt>inLine</tt></i>:</span></td><td>should we replace entity contents or show their external form</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the string copy, the caller must free it with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlNodeListGetString" id="xmlNodeListGetString"></a>Function: xmlNodeListGetString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetString	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-tree.html#xmlNode">xmlNode</a> * list, <br />					 int inLine)<br />
-</pre><p>Build the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>a Node list</td></tr><tr><td><span class="term"><i><tt>inLine</tt></i>:</span></td><td>should we replace entity contents or show their external form</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the string copy, the caller must free it with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlNodeSetBase" id="xmlNodeSetBase"></a>Function: xmlNodeSetBase</h3><pre class="programlisting">void	xmlNodeSetBase			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * uri)<br />
-</pre><p>Set (or reset) the base URI of a node, i.e. the value of the xml:base attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being changed</td></tr><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>the new base URI</td></tr></tbody></table></div><h3><a name="xmlNodeSetContent" id="xmlNodeSetContent"></a>Function: xmlNodeSetContent</h3><pre class="programlisting">void	xmlNodeSetContent		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being modified</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the new value of the content</td></tr></tbody></table></div><h3><a name="xmlNodeSetContentLen" id="xmlNodeSetContentLen"></a>Function: xmlNodeSetContentLen</h3><pre class="programlisting">void	xmlNodeSetContentLen		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)<br />
-</pre><p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being modified</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the new value of the content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size of @content</td></tr></tbody></table></div><h3><a name="xmlNodeSetLang" id="xmlNodeSetLang"></a>Function: xmlNodeSetLang</h3><pre class="programlisting">void	xmlNodeSetLang			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * lang)<br />
-</pre><p>Set the language of a node, i.e. the values of the xml:lang attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being changed</td></tr><tr><td><span class="term"><i><tt>lang</tt></i>:</span></td><td>the language description</td></tr></tbody></table></div><h3><a name="xmlNodeSetName" id="xmlNodeSetName"></a>Function: xmlNodeSetName</h3><pre class="programlisting">void	xmlNodeSetName			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Set (or reset) the name of a node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being changed</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the new tag name</td></tr></tbody></table></div><h3><a name="xmlNodeSetSpacePreserve" id="xmlNodeSetSpacePreserve"></a>Function: xmlNodeSetSpacePreserve</h3><pre class="programlisting">void	xmlNodeSetSpacePreserve		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 int val)<br />
-</pre><p>Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being changed</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the xml:space value ("0": default, 1: "preserve")</td></tr></tbody></table></div><h3><a name="xmlPreviousElementSibling" id="xmlPreviousElementSibling"></a>Function: xmlPreviousElementSibling</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlPreviousElementSibling	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Finds the first closest previous sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous element sibling or NULL if not available</td></tr></tbody></table></div><h3><a name="xmlReconciliateNs" id="xmlReconciliateNs"></a>Function: xmlReconciliateNs</h3><pre class="programlisting">int	xmlReconciliateNs		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br />
-</pre><p>This function checks that all the namespaces declared within the given tree are properly declared. This is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers to namespace declarations outside the subtree or invalid/masked. As much as possible the function try to reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on @tree at the top of the given subtree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>a node defining the subtree to reconciliate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of namespace declarations created or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlRemoveProp" id="xmlRemoveProp"></a>Function: xmlRemoveProp</h3><pre class="programlisting">int	xmlRemoveProp			(<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br />
-</pre><p>Unlink and free one attribute, all the content is freed too Note this doesn't work for namespace definition attributes</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>an <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlReplaceNode" id="xmlReplaceNode"></a>Function: xmlReplaceNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlReplaceNode		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>old</tt></i>:</span></td><td>the old node</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the @old node</td></tr></tbody></table></div><h3><a name="xmlSaveFile" id="xmlSaveFile"></a>Function: xmlSaveFile</h3><pre class="programlisting">int	xmlSaveFile			(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br />
-</pre><p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFileEnc" id="xmlSaveFileEnc"></a>Function: xmlSaveFileEnc</h3><pre class="programlisting">int	xmlSaveFileEnc			(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding)<br />
-</pre><p>Dump an XML document, converting it to the given encoding</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the name of an encoding (or NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFileTo" id="xmlSaveFileTo"></a>Function: xmlSaveFileTo</h3><pre class="programlisting">int	xmlSaveFileTo			(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding)<br />
-</pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the transcoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFormatFile" id="xmlSaveFormatFile"></a>Function: xmlSaveFormatFile</h3><pre class="programlisting">int	xmlSaveFormatFile		(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 int format)<br />
-</pre><p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFormatFileEnc" id="xmlSaveFormatFileEnc"></a>Function: xmlSaveFormatFileEnc</h3><pre class="programlisting">int	xmlSaveFormatFileEnc		(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)<br />
-</pre><p>Dump an XML document to a file or an URL.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URL to output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document being saved</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the name of the encoding to use or NULL.</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces be added.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td></tr></tbody></table></div><h3><a name="xmlSaveFormatFileTo" id="xmlSaveFormatFileTo"></a>Function: xmlSaveFormatFileTo</h3><pre class="programlisting">int	xmlSaveFormatFileTo		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)<br />
-</pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the transcoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSearchNs" id="xmlSearchNs"></a>Function: xmlSearchNs</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNs		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br />
-</pre><p>Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the namespace prefix</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace pointer or NULL.</td></tr></tbody></table></div><h3><a name="xmlSearchNsByHref" id="xmlSearchNsByHref"></a>Function: xmlSearchNsByHref</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNsByHref	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href)<br />
-</pre><p>Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return NULL otherwise.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>href</tt></i>:</span></td><td>the namespace value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace pointer or NULL.</td></tr></tbody></table></div><h3><a name="xmlSetBufferAllocationScheme" id="xmlSetBufferAllocationScheme"></a>Function: xmlSetBufferAllocationScheme</h3><pre class="programlisting">void	xmlSetBufferAllocationScheme	(<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br />
-</pre><p>Set the buffer allocation method. Types are <a href="libxml-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>scheme</tt></i>:</span></td><td>allocation method to use</td></tr></tbody></table></div><h3><a name="xmlSetCompressMode" id="xmlSetCompressMode"></a>Function: xmlSetCompressMode</h3><pre class="programlisting">void	xmlSetCompressMode		(int mode)<br />
-</pre><p>set the default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the compression ratio</td></tr></tbody></table></div><h3><a name="xmlSetDocCompressMode" id="xmlSetDocCompressMode"></a>Function: xmlSetDocCompressMode</h3><pre class="programlisting">void	xmlSetDocCompressMode		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int mode)<br />
-</pre><p>set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the compression ratio</td></tr></tbody></table></div><h3><a name="xmlSetListDoc" id="xmlSetListDoc"></a>Function: xmlSetListDoc</h3><pre class="programlisting">void	xmlSetListDoc			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>update all nodes in the list to point to the right document</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>the first element</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div><h3><a name="xmlSetNs" id="xmlSetNs"></a>Function: xmlSetNs</h3><pre class="programlisting">void	xmlSetNs			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br />
-</pre><p>Associate a namespace to a node, a posteriori.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node in the document</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a namespace pointer</td></tr></tbody></table></div><h3><a name="xmlSetNsProp" id="xmlSetNsProp"></a>Function: xmlSetNsProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetNsProp		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Set (or reset) an <a href="libxml-SAX.html#attribute">attribute</a> carried by a node. The ns structure must be in scope, this is not checked</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace definition</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> pointer.</td></tr></tbody></table></div><h3><a name="xmlSetProp" id="xmlSetProp"></a>Function: xmlSetProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetProp		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Set (or reset) an <a href="libxml-SAX.html#attribute">attribute</a> carried by a node. If @name has a prefix, then the corresponding namespace-binding will be used, if in scope; it is an error it there's no such ns-binding for the prefix in scope.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name (a QName)</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> pointer.</td></tr></tbody></table></div><h3><a name="xmlSetTreeDoc" id="xmlSetTreeDoc"></a>Function: xmlSetTreeDoc</h3><pre class="programlisting">void	xmlSetTreeDoc			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>update all nodes under the tree to point to the right document</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the top element</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div><h3><a name="xmlSplitQName2" id="xmlSplitQName2"></a>Function: xmlSplitQName2</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName2		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br />
-</pre><p>parse an XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</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 full QName</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> **</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if the name doesn't have a prefix. Otherwise, returns the local part, and prefix is updated to get the Prefix. Both the return value and the prefix must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlSplitQName3" id="xmlSplitQName3"></a>Function: xmlSplitQName3</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName3		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int * len)<br />
-</pre><p>parse an XML qualified name string,i</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 full QName</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>an int *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if it is not a Qualified Name, otherwise, update len with the length in byte of the prefix and return a pointer to the start of the name without the prefix</td></tr></tbody></table></div><h3><a name="xmlStringGetNodeList" id="xmlStringGetNodeList"></a>Function: xmlStringGetNodeList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringGetNodeList	(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the first child</td></tr></tbody></table></div><h3><a name="xmlStringLenGetNodeList" id="xmlStringLenGetNodeList"></a>Function: xmlStringLenGetNodeList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringLenGetNodeList	(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int len)<br />
-</pre><p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the text</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the string value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the first child</td></tr></tbody></table></div><h3><a name="xmlTextConcat" id="xmlTextConcat"></a>Function: xmlTextConcat</h3><pre class="programlisting">int	xmlTextConcat			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)<br />
-</pre><p>Concat the given string at the end of the existing node content</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>@content length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlTextMerge" id="xmlTextMerge"></a>Function: xmlTextMerge</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextMerge		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> second)<br />
-</pre><p>Merge two text nodes into one</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>first</tt></i>:</span></td><td>the first text node</td></tr><tr><td><span class="term"><i><tt>second</tt></i>:</span></td><td>the second text node being merged</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the first text node augmented</td></tr></tbody></table></div><h3><a name="xmlUnlinkNode" id="xmlUnlinkNode"></a>Function: xmlUnlinkNode</h3><pre class="programlisting">void	xmlUnlinkNode			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Unlink a node from it's current context, the node is not freed If one need to free the node, use xmlFreeNode() routine after the unlink to discard it. Note that namespace nodes can't be unlinked as they do not have pointer to their parent.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node</td></tr></tbody></table></div><h3><a name="xmlUnsetNsProp" id="xmlUnsetNsProp"></a>Function: xmlUnsetNsProp</h3><pre class="programlisting">int	xmlUnsetNsProp			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Remove an <a href="libxml-SAX.html#attribute">attribute</a> carried by a node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace definition</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 if not found</td></tr></tbody></table></div><h3><a name="xmlUnsetProp" id="xmlUnsetProp"></a>Function: xmlUnsetProp</h3><pre class="programlisting">int	xmlUnsetProp			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Remove an <a href="libxml-SAX.html#attribute">attribute</a> carried by a node. This handles only attributes in no namespace.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 if not found</td></tr></tbody></table></div><h3><a name="xmlValidateNCName" id="xmlValidateNCName"></a>Function: xmlValidateNCName</h3><pre class="programlisting">int	xmlValidateNCName		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int space)<br />
-</pre><p>Check that a value conforms to the lexical space of NCName</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 check</td></tr><tr><td><span class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the string</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="xmlValidateNMToken" id="xmlValidateNMToken"></a>Function: xmlValidateNMToken</h3><pre class="programlisting">int	xmlValidateNMToken		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int space)<br />
-</pre><p>Check that a value conforms to the lexical space of NMToken</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 check</td></tr><tr><td><span class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the string</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="xmlValidateName" id="xmlValidateName"></a>Function: xmlValidateName</h3><pre class="programlisting">int	xmlValidateName			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int space)<br />
-</pre><p>Check that a value conforms to the lexical space of Name</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 check</td></tr><tr><td><span class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the string</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="xmlValidateQName" id="xmlValidateQName"></a>Function: xmlValidateQName</h3><pre class="programlisting">int	xmlValidateQName		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int space)<br />
-</pre><p>Check that a value conforms to the lexical space of QName</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 check</td></tr><tr><td><span class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the string</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>
diff --git a/doc/html/libxml-uri.html b/doc/html/libxml-uri.html
deleted file mode 100644
index b1ebd4a..0000000
--- a/doc/html/libxml-uri.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module uri from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module uri from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-tree.html">tree</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-valid.html">valid</a></th><td><a accesskey="n" href="libxml-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>library of generic URI related routines Implements RFC 2396 </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlURI">xmlURI</a><br />struct _xmlURI
-</pre><pre class="programlisting">Typedef <a href="libxml-uri.html#xmlURI">xmlURI</a> * <a name="xmlURIPtr" id="xmlURIPtr">xmlURIPtr</a>
-</pre><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildRelativeURI">xmlBuildRelativeURI</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildURI">xmlBuildURI</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)</pre>
-<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>
-<pre class="programlisting">int	<a href="#xmlNormalizeURIPath">xmlNormalizeURIPath</a>		(char * path)</pre>
-<pre class="programlisting"><a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURI">xmlParseURI</a>		(const char * str)</pre>
-<pre class="programlisting"><a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURIRaw">xmlParseURIRaw</a>		(const char * str, <br />					 int raw)</pre>
-<pre class="programlisting">int	<a href="#xmlParseURIReference">xmlParseURIReference</a>		(<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br />					 const char * str)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlPathToURI">xmlPathToURI</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * path)</pre>
-<pre class="programlisting">void	<a href="#xmlPrintURI">xmlPrintURI</a>			(FILE * stream, <br />					 <a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSaveUri">xmlSaveUri</a>		(<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlURIEscape">xmlURIEscape</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlURIEscapeStr">xmlURIEscapeStr</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * list)</pre>
-<pre class="programlisting">char *	<a href="#xmlURIUnescapeString">xmlURIUnescapeString</a>		(const char * str, <br />					 int len, <br />					 char * target)</pre>
-<h2>Description</h2>
-<h3><a name="xmlURI" id="xmlURI">Structure xmlURI</a></h3><pre class="programlisting">Structure xmlURI<br />struct _xmlURI {
-    char *	scheme	: the URI scheme
-    char *	opaque	: opaque part
-    char *	authority	: the authority part
-    char *	server	: the server part
-    char *	user	: the user part
-    int	port	: the port number
-    char *	path	: the path string
-    char *	query	: the query string (deprecated - use with
-    char *	fragment	: the fragment identifier
-    int	cleanup	: parsing potentially unclean URI
-    char *	query_raw	: the query string (as it appears in the
-}</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 weird 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>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>the resource locator in a filesystem notation</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new canonic path, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td></tr></tbody></table></div><h3><a name="xmlCreateURI" id="xmlCreateURI"></a>Function: xmlCreateURI</h3><pre class="programlisting"><a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlCreateURI		(void)<br />
-</pre><p>Simply creates an empty <a href="libxml-uri.html#xmlURI">xmlURI</a></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 new structure or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlFreeURI" id="xmlFreeURI"></a>Function: xmlFreeURI</h3><pre class="programlisting">void	xmlFreeURI			(<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br />
-</pre><p>Free up the <a href="libxml-uri.html#xmlURI">xmlURI</a> struct</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an <a href="libxml-uri.html#xmlURI">xmlURI</a></td></tr></tbody></table></div><h3><a name="xmlNormalizeURIPath" id="xmlNormalizeURIPath"></a>Function: xmlNormalizeURIPath</h3><pre class="programlisting">int	xmlNormalizeURIPath		(char * path)<br />
-</pre><p>Applies the 5 normalization steps to a path string--that is, RFC 2396 Section 5.2, steps 6.c through 6.g. Normalization occurs directly on the string, no new allocation is done</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>pointer to the path string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or an error code</td></tr></tbody></table></div><h3><a name="xmlParseURI" id="xmlParseURI"></a>Function: xmlParseURI</h3><pre class="programlisting"><a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlParseURI		(const char * str)<br />
-</pre><p>Parse an URI based on RFC 3986 URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</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 URI string to analyze</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly built <a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlParseURIRaw" id="xmlParseURIRaw"></a>Function: xmlParseURIRaw</h3><pre class="programlisting"><a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlParseURIRaw		(const char * str, <br />					 int raw)<br />
-</pre><p>Parse an URI but allows to keep intact the original fragments. URI-reference = URI / relative-ref</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 URI string to analyze</td></tr><tr><td><span class="term"><i><tt>raw</tt></i>:</span></td><td>if 1 unescaping of URI pieces are disabled</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly built <a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlParseURIReference" id="xmlParseURIReference"></a>Function: xmlParseURIReference</h3><pre class="programlisting">int	xmlParseURIReference		(<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br />					 const char * str)<br />
-</pre><p>Parse an URI <a href="libxml-SAX.html#reference">reference</a> string based on RFC 3986 and fills in the appropriate fields of the @uri structure URI-reference = URI / relative-ref</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an URI structure</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string to analyze</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or the error code</td></tr></tbody></table></div><h3><a name="xmlPathToURI" id="xmlPathToURI"></a>Function: xmlPathToURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlPathToURI		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * path)<br />
-</pre><p>Constructs an URI expressing the existing path</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>the resource locator in a filesystem notation</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td></tr></tbody></table></div><h3><a name="xmlPrintURI" id="xmlPrintURI"></a>Function: xmlPrintURI</h3><pre class="programlisting">void	xmlPrintURI			(FILE * stream, <br />					 <a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br />
-</pre><p>Prints the URI in the stream @stream.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>a FILE* for the output</td></tr><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an <a href="libxml-uri.html#xmlURI">xmlURI</a></td></tr></tbody></table></div><h3><a name="xmlSaveUri" id="xmlSaveUri"></a>Function: xmlSaveUri</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSaveUri		(<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br />
-</pre><p>Save the URI as an escaped string</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an <a href="libxml-uri.html#xmlURI">xmlURI</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new string (to be deallocated by caller)</td></tr></tbody></table></div><h3><a name="xmlURIEscape" id="xmlURIEscape"></a>Function: xmlURIEscape</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlURIEscape		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
-</pre><p>Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but this is heuristic based it's impossible to be sure.</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 string of the URI to escape</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an copy of the string, but escaped 25 May 2001 Uses <a href="libxml-uri.html#xmlParseURI">xmlParseURI</a> and <a href="libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a> to try to escape correctly according to RFC2396. - Carl Douglas</td></tr></tbody></table></div><h3><a name="xmlURIEscapeStr" id="xmlURIEscapeStr"></a>Function: xmlURIEscapeStr</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlURIEscapeStr		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * list)<br />
-</pre><p>This routine escapes a string to hex, ignoring reserved <a href="libxml-SAX.html#characters">characters</a> (a-z) and the <a href="libxml-SAX.html#characters">characters</a> in the exception list.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>string to escape</td></tr><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>exception list string of chars not to escape</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new escaped string or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlURIUnescapeString" id="xmlURIUnescapeString"></a>Function: xmlURIUnescapeString</h3><pre class="programlisting">char *	xmlURIUnescapeString		(const char * str, <br />					 int len, <br />					 char * target)<br />
-</pre><p>Unescaping routine, but does not check that the string is an URI. The output is a direct unsigned char translation of %XX values (no encoding) Note that the length of the result can only be smaller or same size as the input string.</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 string to unescape</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length in bytes to unescape (or &lt;= 0 to indicate full string)</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>optional destination buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the string, but unescaped, will return NULL only 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>
diff --git a/doc/html/libxml-valid.html b/doc/html/libxml-valid.html
deleted file mode 100644
index 3194d47..0000000
--- a/doc/html/libxml-valid.html
+++ /dev/null
@@ -1,289 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module valid from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module valid from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-uri.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-uri.html">uri</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xinclude.html">xinclude</a></th><td><a accesskey="n" href="libxml-xinclude.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the DTD handling and the validity checking </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a></pre><pre class="programlisting">#define <a href="#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a></pre><pre class="programlisting">Structure <a href="#xmlAttributeTable">xmlAttributeTable</a><br />struct _xmlHashTable
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-valid.html#xmlAttributeTable">xmlAttributeTable</a> * <a name="xmlAttributeTablePtr" id="xmlAttributeTablePtr">xmlAttributeTablePtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlElementTable">xmlElementTable</a><br />struct _xmlHashTable
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-valid.html#xmlElementTable">xmlElementTable</a> * <a name="xmlElementTablePtr" id="xmlElementTablePtr">xmlElementTablePtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlIDTable">xmlIDTable</a><br />struct _xmlHashTable
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-valid.html#xmlIDTable">xmlIDTable</a> * <a name="xmlIDTablePtr" id="xmlIDTablePtr">xmlIDTablePtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlNotationTable">xmlNotationTable</a><br />struct _xmlHashTable
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-valid.html#xmlNotationTable">xmlNotationTable</a> * <a name="xmlNotationTablePtr" id="xmlNotationTablePtr">xmlNotationTablePtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlRefTable">xmlRefTable</a><br />struct _xmlHashTable
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-valid.html#xmlRefTable">xmlRefTable</a> * <a name="xmlRefTablePtr" id="xmlRefTablePtr">xmlRefTablePtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlValidCtxt">xmlValidCtxt</a><br />struct _xmlValidCtxt
-</pre><pre class="programlisting">Typedef <a href="libxml-valid.html#xmlValidCtxt">xmlValidCtxt</a> * <a name="xmlValidCtxtPtr" id="xmlValidCtxtPtr">xmlValidCtxtPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlValidState">xmlValidState</a><br />struct _xmlValidState
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-valid.html#xmlValidState">xmlValidState</a> * <a name="xmlValidStatePtr" id="xmlValidStatePtr">xmlValidStatePtr</a>
-</pre><pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlAddAttributeDecl">xmlAddAttributeDecl</a>	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns, <br />					 <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br />					 <a href="libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlAddElementDecl">xmlAddElementDecl</a>	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlIDPtr">xmlIDPtr</a>	<a href="#xmlAddID">xmlAddID</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a>	<a href="#xmlAddNotationDecl">xmlAddNotationDecl</a>	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <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)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlRefPtr">xmlRefPtr</a>	<a href="#xmlAddRef">xmlAddRef</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)</pre>
-<pre class="programlisting"><a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>	<a href="#xmlCopyAttributeTable">xmlCopyAttributeTable</a>	(<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlCopyDocElementContent">xmlCopyDocElementContent</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />							 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlCopyElementContent">xmlCopyElementContent</a>	(<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>	<a href="#xmlCopyElementTable">xmlCopyElementTable</a>	(<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlCopyEnumeration">xmlCopyEnumeration</a>	(<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>	<a href="#xmlCopyNotationTable">xmlCopyNotationTable</a>	(<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlCreateEnumeration">xmlCreateEnumeration</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void	<a href="#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)</pre>
-<pre class="programlisting">void	<a href="#xmlDumpAttributeTable">xmlDumpAttributeTable</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)</pre>
-<pre class="programlisting">void	<a href="#xmlDumpElementDecl">xmlDumpElementDecl</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem)</pre>
-<pre class="programlisting">void	<a href="#xmlDumpElementTable">xmlDumpElementTable</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)</pre>
-<pre class="programlisting">void	<a href="#xmlDumpNotationDecl">xmlDumpNotationDecl</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)</pre>
-<pre class="programlisting">void	<a href="#xmlDumpNotationTable">xmlDumpNotationTable</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeAttributeTable">xmlFreeAttributeTable</a>		(<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeDocElementContent">xmlFreeDocElementContent</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeElementContent">xmlFreeElementContent</a>		(<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeElementTable">xmlFreeElementTable</a>		(<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeEnumeration">xmlFreeEnumeration</a>		(<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeIDTable">xmlFreeIDTable</a>			(<a href="libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeNotationTable">xmlFreeNotationTable</a>		(<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeRefTable">xmlFreeRefTable</a>			(<a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeValidCtxt">xmlFreeValidCtxt</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a>	(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a>	(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a>	<a href="#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a>	(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a>	(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a>	(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlGetID">xmlGetID</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID)</pre>
-<pre class="programlisting"><a href="libxml-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlGetRefs">xmlGetRefs</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID)</pre>
-<pre class="programlisting">int	<a href="#xmlIsID">xmlIsID</a>			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)</pre>
-<pre class="programlisting">int	<a href="#xmlIsMixedElement">xmlIsMixedElement</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlIsRef">xmlIsRef</a>			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlNewDocElementContent">xmlNewDocElementContent</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a> type)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlNewElementContent">xmlNewElementContent</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a> type)</pre>
-<pre class="programlisting"><a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>	<a href="#xmlNewValidCtxt">xmlNewValidCtxt</a>		(void)</pre>
-<pre class="programlisting">int	<a href="#xmlRemoveID">xmlRemoveID</a>			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)</pre>
-<pre class="programlisting">int	<a href="#xmlRemoveRef">xmlRemoveRef</a>			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)</pre>
-<pre class="programlisting">void	<a href="#xmlSnprintfElementContent">xmlSnprintfElementContent</a>	(char * buf, <br />					 int size, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br />					 int englob)</pre>
-<pre class="programlisting">void	<a href="#xmlSprintfElementContent">xmlSprintfElementContent</a>	(char * buf, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br />					 int englob)</pre>
-<pre class="programlisting">int	<a href="#xmlValidBuildContentModel">xmlValidBuildContentModel</a>	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a>	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />							 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />							 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">int	<a href="#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a>	(<a href="libxml-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** names, <br />					 int * len, <br />					 int max)</pre>
-<pre class="programlisting">int	<a href="#xmlValidGetValidElements">xmlValidGetValidElements</a>	(<a href="libxml-tree.html#xmlNode">xmlNode</a> * prev, <br />					 <a href="libxml-tree.html#xmlNode">xmlNode</a> * next, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** names, <br />					 int max)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a>	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateAttributeValue">xmlValidateAttributeValue</a>	(<a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateDocument">xmlValidateDocument</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a>	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateDtd">xmlValidateDtd</a>			(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateDtdFinal">xmlValidateDtdFinal</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateElement">xmlValidateElement</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateElementDecl">xmlValidateElementDecl</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateNameValue">xmlValidateNameValue</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateNamesValue">xmlValidateNamesValue</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateNotationDecl">xmlValidateNotationDecl</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateNotationUse">xmlValidateNotationUse</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * notationName)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateOneAttribute">xmlValidateOneAttribute</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateOneElement">xmlValidateOneElement</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateOneNamespace">xmlValidateOneNamespace</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">int	<a href="#xmlValidatePopElement">xmlValidatePopElement</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * qname)</pre>
-<pre class="programlisting">int	<a href="#xmlValidatePushCData">xmlValidatePushCData</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * data, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlValidatePushElement">xmlValidatePushElement</a>		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * qname)</pre>
-<pre class="programlisting">int	<a href="#xmlValidateRoot">xmlValidateRoot</a>			(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">Function type: <a href="#xmlValidityErrorFunc">xmlValidityErrorFunc</a>
-void	<a href="#xmlValidityErrorFunc">xmlValidityErrorFunc</a>		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlValidityWarningFunc">xmlValidityWarningFunc</a>
-void	<a href="#xmlValidityWarningFunc">xmlValidityWarningFunc</a>		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre>
-<h2>Description</h2>
-<h3><a name="XML_CTXT_FINISH_DTD_0" id="XML_CTXT_FINISH_DTD_0"></a>Macro: XML_CTXT_FINISH_DTD_0</h3><pre>#define XML_CTXT_FINISH_DTD_0</pre><p>Special value for finishDtd field when embedded in an <a href="libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a></p>
-<h3><a name="XML_CTXT_FINISH_DTD_1" id="XML_CTXT_FINISH_DTD_1"></a>Macro: XML_CTXT_FINISH_DTD_1</h3><pre>#define XML_CTXT_FINISH_DTD_1</pre><p>Special value for finishDtd field when embedded in an <a href="libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a></p>
-<h3><a name="xmlAttributeTable" id="xmlAttributeTable">Structure xmlAttributeTable</a></h3><pre class="programlisting">Structure xmlAttributeTable<br />struct _xmlHashTable {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlElementTable" id="xmlElementTable">Structure xmlElementTable</a></h3><pre class="programlisting">Structure xmlElementTable<br />struct _xmlHashTable {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlIDTable" id="xmlIDTable">Structure xmlIDTable</a></h3><pre class="programlisting">Structure xmlIDTable<br />struct _xmlHashTable {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlNotationTable" id="xmlNotationTable">Structure xmlNotationTable</a></h3><pre class="programlisting">Structure xmlNotationTable<br />struct _xmlHashTable {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlRefTable" id="xmlRefTable">Structure xmlRefTable</a></h3><pre class="programlisting">Structure xmlRefTable<br />struct _xmlHashTable {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlValidCtxt" id="xmlValidCtxt">Structure xmlValidCtxt</a></h3><pre class="programlisting">Structure xmlValidCtxt<br />struct _xmlValidCtxt {
-    void *	userData	: user specific data block
-    <a href="libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a>	error	: the callback in case of errors
-    <a href="libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a>	warning	: the callback in case of warning Node an
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: Current parsed Node
-    int	nodeNr	: Depth of the parsing stack
-    int	nodeMax	: Max depth of the parsing stack
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes
-    unsigned int	finishDtd	: finished validating the Dtd ?
-    <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	doc	: the document
-    int	valid	: temporary validity check result state s
-    <a href="libxml-valid.html#xmlValidState">xmlValidState</a> *	vstate	: current state
-    int	vstateNr	: Depth of the validation stack
-    int	vstateMax	: Max depth of the validation stack
-    <a href="libxml-valid.html#xmlValidState">xmlValidState</a> *	vstateTab	: array of validation states
-    <a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	am	: the automata
-    <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	state	: used to build the automata
-    void *	am
-    void *	state
-}</pre><h3><a name="xmlValidState" id="xmlValidState">Structure xmlValidState</a></h3><pre class="programlisting">Structure xmlValidState<br />struct _xmlValidState {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlAddAttributeDecl" id="xmlAddAttributeDecl"></a>Function: xmlAddAttributeDecl</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlAddAttributeDecl	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns, <br />					 <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br />					 <a href="libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br />
-</pre><p>Register a new <a href="libxml-SAX.html#attribute">attribute</a> declaration Note that @tree becomes the ownership of the DTD</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>pointer to the DTD</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> namespace prefix</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> type</td></tr><tr><td><span class="term"><i><tt>def</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> default type</td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> default value</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>if it's an enumeration, the associated list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not new, otherwise the <a href="libxml-SAX.html#attribute">attribute</a> decl</td></tr></tbody></table></div><h3><a name="xmlAddElementDecl" id="xmlAddElementDecl"></a>Function: xmlAddElementDecl</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlAddElementDecl	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br />
-</pre><p>Register a new element declaration</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>pointer to the DTD</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the element content tree or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the entity</td></tr></tbody></table></div><h3><a name="xmlAddID" id="xmlAddID"></a>Function: xmlAddID</h3><pre class="programlisting"><a href="libxml-tree.html#xmlIDPtr">xmlIDPtr</a>	xmlAddID		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br />
-</pre><p>Register a new id declaration</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value name</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> holding the ID</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the new <a href="libxml-tree.html#xmlIDPtr">xmlIDPtr</a></td></tr></tbody></table></div><h3><a name="xmlAddNotationDecl" id="xmlAddNotationDecl"></a>Function: xmlAddNotationDecl</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a>	xmlAddNotationDecl	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <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 />
-</pre><p>Register a new notation declaration</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>pointer to the DTD</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>PublicID</tt></i>:</span></td><td>the public identifier or NULL</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system identifier or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the entity</td></tr></tbody></table></div><h3><a name="xmlAddRef" id="xmlAddRef"></a>Function: xmlAddRef</h3><pre class="programlisting"><a href="libxml-tree.html#xmlRefPtr">xmlRefPtr</a>	xmlAddRef		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br />
-</pre><p>Register a new ref declaration</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value name</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> holding the Ref</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the new <a href="libxml-tree.html#xmlRefPtr">xmlRefPtr</a></td></tr></tbody></table></div><h3><a name="xmlCopyAttributeTable" id="xmlCopyAttributeTable"></a>Function: xmlCopyAttributeTable</h3><pre class="programlisting"><a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>	xmlCopyAttributeTable	(<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br />
-</pre><p>Build a copy of an <a href="libxml-SAX.html#attribute">attribute</a> table.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An <a href="libxml-SAX.html#attribute">attribute</a> table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyDocElementContent" id="xmlCopyDocElementContent"></a>Function: xmlCopyDocElementContent</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyDocElementContent	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />							 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br />
-</pre><p>Build a copy of an element content description.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document owning the element declaration</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>An element content pointer.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyElementContent" id="xmlCopyElementContent"></a>Function: xmlCopyElementContent</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyElementContent	(<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br />
-</pre><p>Build a copy of an element content description. Deprecated, use <a href="libxml-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>An element content pointer.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyElementTable" id="xmlCopyElementTable"></a>Function: xmlCopyElementTable</h3><pre class="programlisting"><a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>	xmlCopyElementTable	(<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br />
-</pre><p>Build a copy of an element table.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An element table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyEnumeration" id="xmlCopyEnumeration"></a>Function: xmlCopyEnumeration</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCopyEnumeration	(<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br />
-</pre><p>Copy an enumeration <a href="libxml-SAX.html#attribute">attribute</a> node (recursive).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the tree to copy.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyNotationTable" id="xmlCopyNotationTable"></a>Function: xmlCopyNotationTable</h3><pre class="programlisting"><a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>	xmlCopyNotationTable	(<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br />
-</pre><p>Build a copy of a notation table.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>A notation table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCreateEnumeration" id="xmlCreateEnumeration"></a>Function: xmlCreateEnumeration</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCreateEnumeration	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>create and initialize an enumeration <a href="libxml-SAX.html#attribute">attribute</a> node.</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 enumeration name or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlDumpAttributeDecl" id="xmlDumpAttributeDecl"></a>Function: xmlDumpAttributeDecl</h3><pre class="programlisting">void	xmlDumpAttributeDecl		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br />
-</pre><p>This will dump the content of the <a href="libxml-SAX.html#attribute">attribute</a> declaration as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>An <a href="libxml-SAX.html#attribute">attribute</a> declaration</td></tr></tbody></table></div><h3><a name="xmlDumpAttributeTable" id="xmlDumpAttributeTable"></a>Function: xmlDumpAttributeTable</h3><pre class="programlisting">void	xmlDumpAttributeTable		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br />
-</pre><p>This will dump the content of the <a href="libxml-SAX.html#attribute">attribute</a> table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An <a href="libxml-SAX.html#attribute">attribute</a> table</td></tr></tbody></table></div><h3><a name="xmlDumpElementDecl" id="xmlDumpElementDecl"></a>Function: xmlDumpElementDecl</h3><pre class="programlisting">void	xmlDumpElementDecl		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br />
-</pre><p>This will dump the content of the element declaration as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>An element table</td></tr></tbody></table></div><h3><a name="xmlDumpElementTable" id="xmlDumpElementTable"></a>Function: xmlDumpElementTable</h3><pre class="programlisting">void	xmlDumpElementTable		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br />
-</pre><p>This will dump the content of the element table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An element table</td></tr></tbody></table></div><h3><a name="xmlDumpNotationDecl" id="xmlDumpNotationDecl"></a>Function: xmlDumpNotationDecl</h3><pre class="programlisting">void	xmlDumpNotationDecl		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br />
-</pre><p>This will dump the content the notation declaration as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>nota</tt></i>:</span></td><td>A notation declaration</td></tr></tbody></table></div><h3><a name="xmlDumpNotationTable" id="xmlDumpNotationTable"></a>Function: xmlDumpNotationTable</h3><pre class="programlisting">void	xmlDumpNotationTable		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br />
-</pre><p>This will dump the content of the notation table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>A notation table</td></tr></tbody></table></div><h3><a name="xmlFreeAttributeTable" id="xmlFreeAttributeTable"></a>Function: xmlFreeAttributeTable</h3><pre class="programlisting">void	xmlFreeAttributeTable		(<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br />
-</pre><p>Deallocate the memory used by an entities hash table.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An <a href="libxml-SAX.html#attribute">attribute</a> table</td></tr></tbody></table></div><h3><a name="xmlFreeDocElementContent" id="xmlFreeDocElementContent"></a>Function: xmlFreeDocElementContent</h3><pre class="programlisting">void	xmlFreeDocElementContent	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br />
-</pre><p>Free an element content structure. The whole subtree is removed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document owning the element declaration</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the element content tree to free</td></tr></tbody></table></div><h3><a name="xmlFreeElementContent" id="xmlFreeElementContent"></a>Function: xmlFreeElementContent</h3><pre class="programlisting">void	xmlFreeElementContent		(<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br />
-</pre><p>Free an element content structure. The whole subtree is removed. Deprecated, use <a href="libxml-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the element content tree to free</td></tr></tbody></table></div><h3><a name="xmlFreeElementTable" id="xmlFreeElementTable"></a>Function: xmlFreeElementTable</h3><pre class="programlisting">void	xmlFreeElementTable		(<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br />
-</pre><p>Deallocate the memory used by an element hash table.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An element table</td></tr></tbody></table></div><h3><a name="xmlFreeEnumeration" id="xmlFreeEnumeration"></a>Function: xmlFreeEnumeration</h3><pre class="programlisting">void	xmlFreeEnumeration		(<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br />
-</pre><p>free an enumeration <a href="libxml-SAX.html#attribute">attribute</a> node (recursive).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the tree to free.</td></tr></tbody></table></div><h3><a name="xmlFreeIDTable" id="xmlFreeIDTable"></a>Function: xmlFreeIDTable</h3><pre class="programlisting">void	xmlFreeIDTable			(<a href="libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table)<br />
-</pre><p>Deallocate the memory used by an ID hash table.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An id table</td></tr></tbody></table></div><h3><a name="xmlFreeNotationTable" id="xmlFreeNotationTable"></a>Function: xmlFreeNotationTable</h3><pre class="programlisting">void	xmlFreeNotationTable		(<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br />
-</pre><p>Deallocate the memory used by an entities hash table.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An notation table</td></tr></tbody></table></div><h3><a name="xmlFreeRefTable" id="xmlFreeRefTable"></a>Function: xmlFreeRefTable</h3><pre class="programlisting">void	xmlFreeRefTable			(<a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table)<br />
-</pre><p>Deallocate the memory used by an Ref hash table.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>An ref table</td></tr></tbody></table></div><h3><a name="xmlFreeValidCtxt" id="xmlFreeValidCtxt"></a>Function: xmlFreeValidCtxt</h3><pre class="programlisting">void	xmlFreeValidCtxt		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur)<br />
-</pre><p>Free a validation context structure.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the validation context to free</td></tr></tbody></table></div><h3><a name="xmlGetDtdAttrDesc" id="xmlGetDtdAttrDesc"></a>Function: xmlGetDtdAttrDesc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdAttrDesc	(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Search the DTD for the description of this <a href="libxml-SAX.html#attribute">attribute</a> on this element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td></tr></tbody></table></div><h3><a name="xmlGetDtdElementDesc" id="xmlGetDtdElementDesc"></a>Function: xmlGetDtdElementDesc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlGetDtdElementDesc	(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Search the DTD for the description of this element</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td></tr></tbody></table></div><h3><a name="xmlGetDtdNotationDesc" id="xmlGetDtdNotationDesc"></a>Function: xmlGetDtdNotationDesc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a>	xmlGetDtdNotationDesc	(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Search the DTD for the description of this notation</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the notation name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> if found or NULL</td></tr></tbody></table></div><h3><a name="xmlGetDtdQAttrDesc" id="xmlGetDtdQAttrDesc"></a>Function: xmlGetDtdQAttrDesc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdQAttrDesc	(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br />
-</pre><p>Search the DTD for the description of this qualified <a href="libxml-SAX.html#attribute">attribute</a> on this element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> namespace prefix</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td></tr></tbody></table></div><h3><a name="xmlGetDtdQElementDesc" id="xmlGetDtdQElementDesc"></a>Function: xmlGetDtdQElementDesc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlGetDtdQElementDesc	(<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br />
-</pre><p>Search the DTD for the description of this element</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td></tr></tbody></table></div><h3><a name="xmlGetID" id="xmlGetID"></a>Function: xmlGetID</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlGetID		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID)<br />
-</pre><p>Search the <a href="libxml-SAX.html#attribute">attribute</a> declaring the given ID</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the ID value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found, otherwise the <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> defining the ID</td></tr></tbody></table></div><h3><a name="xmlGetRefs" id="xmlGetRefs"></a>Function: xmlGetRefs</h3><pre class="programlisting"><a href="libxml-list.html#xmlListPtr">xmlListPtr</a>	xmlGetRefs		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID)<br />
-</pre><p>Find the set of references for the supplied ID.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the ID value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found, otherwise node set for the ID.</td></tr></tbody></table></div><h3><a name="xmlIsID" id="xmlIsID"></a>Function: xmlIsID</h3><pre class="programlisting">int	xmlIsID			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br />
-</pre><p>Determine whether an <a href="libxml-SAX.html#attribute">attribute</a> is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element carrying the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the lookup result</td></tr></tbody></table></div><h3><a name="xmlIsMixedElement" id="xmlIsMixedElement"></a>Function: xmlIsMixedElement</h3><pre class="programlisting">int	xmlIsMixedElement		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to accept text childs</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no, 1 if yes, and -1 if no element description is available</td></tr></tbody></table></div><h3><a name="xmlIsRef" id="xmlIsRef"></a>Function: xmlIsRef</h3><pre class="programlisting">int	xmlIsRef			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br />
-</pre><p>Determine whether an <a href="libxml-SAX.html#attribute">attribute</a> is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the element carrying the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the lookup result</td></tr></tbody></table></div><h3><a name="xmlNewDocElementContent" id="xmlNewDocElementContent"></a>Function: xmlNewDocElementContent</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewDocElementContent	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br />
-</pre><p>Allocate an element content structure for the document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the subelement name or NULL</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of element content decl</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the new element content structure</td></tr></tbody></table></div><h3><a name="xmlNewElementContent" id="xmlNewElementContent"></a>Function: xmlNewElementContent</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewElementContent	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br />
-</pre><p>Allocate an element content structure. Deprecated in favor of <a href="libxml-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a></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 subelement name or NULL</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of element content decl</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the new element content structure</td></tr></tbody></table></div><h3><a name="xmlNewValidCtxt" id="xmlNewValidCtxt"></a>Function: xmlNewValidCtxt</h3><pre class="programlisting"><a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>	xmlNewValidCtxt		(void)<br />
-</pre><p>Allocate a validation context 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>NULL if not, otherwise the new validation context structure</td></tr></tbody></table></div><h3><a name="xmlRemoveID" id="xmlRemoveID"></a>Function: xmlRemoveID</h3><pre class="programlisting">int	xmlRemoveID			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br />
-</pre><p>Remove the given <a href="libxml-SAX.html#attribute">attribute</a> from the ID table maintained internally.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if the lookup failed and 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlRemoveRef" id="xmlRemoveRef"></a>Function: xmlRemoveRef</h3><pre class="programlisting">int	xmlRemoveRef			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br />
-</pre><p>Remove the given <a href="libxml-SAX.html#attribute">attribute</a> from the Ref table maintained internally.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if the lookup failed and 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlSnprintfElementContent" id="xmlSnprintfElementContent"></a>Function: xmlSnprintfElementContent</h3><pre class="programlisting">void	xmlSnprintfElementContent	(char * buf, <br />					 int size, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br />					 int englob)<br />
-</pre><p>This will dump the content of the element content definition Intended just for the debug routine</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output buffer</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the buffer size</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>An element table</td></tr><tr><td><span class="term"><i><tt>englob</tt></i>:</span></td><td>1 if one must print the englobing parenthesis, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlSprintfElementContent" id="xmlSprintfElementContent"></a>Function: xmlSprintfElementContent</h3><pre class="programlisting">void	xmlSprintfElementContent	(char * buf, <br />					 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br />					 int englob)<br />
-</pre><p>Deprecated, unsafe, use <a href="libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output buffer</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>An element table</td></tr><tr><td><span class="term"><i><tt>englob</tt></i>:</span></td><td>1 if one must print the englobing parenthesis, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidBuildContentModel" id="xmlValidBuildContentModel"></a>Function: xmlValidBuildContentModel</h3><pre class="programlisting">int	xmlValidBuildContentModel	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br />
-</pre><p>(Re)Build the automata associated to the content model of this element</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a validation context</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element declaration node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, 0 in case of error</td></tr></tbody></table></div><h3><a name="xmlValidCtxtNormalizeAttributeValue" id="xmlValidCtxtNormalizeAttributeValue"></a>Function: xmlValidCtxtNormalizeAttributeValue</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidCtxtNormalizeAttributeValue	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />							 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />							 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Does the validation related extra step of the normalization of <a href="libxml-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml-SAX.html#characters">characters</a> by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt-&gt;valid accordingly</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context or NULL</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the parent</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</td></tr></tbody></table></div><h3><a name="xmlValidGetPotentialChildren" id="xmlValidGetPotentialChildren"></a>Function: xmlValidGetPotentialChildren</h3><pre class="programlisting">int	xmlValidGetPotentialChildren	(<a href="libxml-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** names, <br />					 int * len, <br />					 int max)<br />
-</pre><p>Build/extend a list of potential children allowed by the content tree</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctree</tt></i>:</span></td><td>an element content tree</td></tr><tr><td><span class="term"><i><tt>names</tt></i>:</span></td><td>an array to store the list of child names</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to the number of element in the list</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of element in the list, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlValidGetValidElements" id="xmlValidGetValidElements"></a>Function: xmlValidGetValidElements</h3><pre class="programlisting">int	xmlValidGetValidElements	(<a href="libxml-tree.html#xmlNode">xmlNode</a> * prev, <br />					 <a href="libxml-tree.html#xmlNode">xmlNode</a> * next, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** names, <br />					 int max)<br />
-</pre><p>This function returns the list of authorized children to insert within an existing tree while respecting the validity constraints forced by the Dtd. The insertion point is defined using @prev and @next in the following ways: to insert before 'node': xmlValidGetValidElements(node-&gt;prev, node, ... to insert next 'node': xmlValidGetValidElements(node, node-&gt;next, ... to replace 'node': xmlValidGetValidElements(node-&gt;prev, node-&gt;next, ... to prepend a child to 'node': xmlValidGetValidElements(NULL, node-&gt;childs, to append a child to 'node': xmlValidGetValidElements(node-&gt;last, NULL, ... pointers to the element names are inserted at the beginning of the array and do not need to be freed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>prev</tt></i>:</span></td><td>an element to insert after</td></tr><tr><td><span class="term"><i><tt>next</tt></i>:</span></td><td>an element to insert next</td></tr><tr><td><span class="term"><i><tt>names</tt></i>:</span></td><td>an array to store the list of child names</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of element in the list, or -1 in case of error. If the function returns the value @max the caller is invited to grow the receiving array and retry.</td></tr></tbody></table></div><h3><a name="xmlValidNormalizeAttributeValue" id="xmlValidNormalizeAttributeValue"></a>Function: xmlValidNormalizeAttributeValue</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidNormalizeAttributeValue	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Does the validation related extra step of the normalization of <a href="libxml-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml-SAX.html#characters">characters</a> by single space (#x20) character.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the parent</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</td></tr></tbody></table></div><h3><a name="xmlValidateAttributeDecl" id="xmlValidateAttributeDecl"></a>Function: xmlValidateAttributeDecl</h3><pre class="programlisting">int	xmlValidateAttributeDecl	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br />
-</pre><p>Try to validate a single <a href="libxml-SAX.html#attribute">attribute</a> 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</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>an <a href="libxml-SAX.html#attribute">attribute</a> definition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateAttributeValue" id="xmlValidateAttributeValue"></a>Function: xmlValidateAttributeValue</h3><pre class="programlisting">int	xmlValidateAttributeValue	(<a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Validate that the given <a href="libxml-SAX.html#attribute">attribute</a> 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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>an <a href="libxml-SAX.html#attribute">attribute</a> type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>an <a href="libxml-SAX.html#attribute">attribute</a> value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateDocument" id="xmlValidateDocument"></a>Function: xmlValidateDocument</h3><pre class="programlisting">int	xmlValidateDocument		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateDocumentFinal" id="xmlValidateDocumentFinal"></a>Function: xmlValidateDocumentFinal</h3><pre class="programlisting">int	xmlValidateDocumentFinal	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Does the final step for the document validation once all the incremental validation steps have been completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS attributes definition for validity</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateDtd" id="xmlValidateDtd"></a>Function: xmlValidateDtd</h3><pre class="programlisting">int	xmlValidateDtd			(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br />
-</pre><p>Try to validate the document against the dtd instance Basically it does check all the definitions in the DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID or IDREF is present.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a dtd instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateDtdFinal" id="xmlValidateDtdFinal"></a>Function: xmlValidateDtdFinal</h3><pre class="programlisting">int	xmlValidateDtdFinal		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Does the final step for the dtds validation once all the subsets have been parsed basically it does the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or possible values matches one of the defined entities. - check that NOTATION type attributes default or possible values matches one of the defined notations.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 if invalid and -1 if not well-formed</td></tr></tbody></table></div><h3><a name="xmlValidateElement" id="xmlValidateElement"></a>Function: xmlValidateElement</h3><pre class="programlisting">int	xmlValidateElement		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
-</pre><p>Try to validate the subtree under an element</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateElementDecl" id="xmlValidateElementDecl"></a>Function: xmlValidateElementDecl</h3><pre class="programlisting">int	xmlValidateElementDecl		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br />
-</pre><p>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 ]</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element definition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateNameValue" id="xmlValidateNameValue"></a>Function: xmlValidateNameValue</h3><pre class="programlisting">int	xmlValidateNameValue		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Validate that the given value match Name production</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>an Name value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateNamesValue" id="xmlValidateNamesValue"></a>Function: xmlValidateNamesValue</h3><pre class="programlisting">int	xmlValidateNamesValue		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Validate that the given value match Names production</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>an Names value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateNmtokenValue" id="xmlValidateNmtokenValue"></a>Function: xmlValidateNmtokenValue</h3><pre class="programlisting">int	xmlValidateNmtokenValue		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Validate that the given value match Nmtoken production [ VC: Name Token ]</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>an Nmtoken value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateNmtokensValue" id="xmlValidateNmtokensValue"></a>Function: xmlValidateNmtokensValue</h3><pre class="programlisting">int	xmlValidateNmtokensValue	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Validate that the given value match Nmtokens production [ VC: Name Token ]</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>an Nmtokens value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateNotationDecl" id="xmlValidateNotationDecl"></a>Function: xmlValidateNotationDecl</h3><pre class="programlisting">int	xmlValidateNotationDecl		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br />
-</pre><p>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 ...</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>nota</tt></i>:</span></td><td>a notation definition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateNotationUse" id="xmlValidateNotationUse"></a>Function: xmlValidateNotationUse</h3><pre class="programlisting">int	xmlValidateNotationUse		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br />
-</pre><p>Validate that the given name match a notation declaration. - [ VC: Notation Declared ]</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>notationName</tt></i>:</span></td><td>the notation name to check</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateOneAttribute" id="xmlValidateOneAttribute"></a>Function: xmlValidateOneAttribute</h3><pre class="programlisting">int	xmlValidateOneAttribute		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Try to validate a single <a href="libxml-SAX.html#attribute">attribute</a> 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</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>an <a href="libxml-SAX.html#attribute">attribute</a> instance</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> value (without entities processing)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateOneElement" id="xmlValidateOneElement"></a>Function: xmlValidateOneElement</h3><pre class="programlisting">int	xmlValidateOneElement		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
-</pre><p>Try to validate a single element and it'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 <a href="libxml-SAX.html#attribute">attribute</a> present. The ID/IDREF checkings are done separately</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateOneNamespace" id="xmlValidateOneNamespace"></a>Function: xmlValidateOneNamespace</h3><pre class="programlisting">int	xmlValidateOneNamespace		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>an namespace declaration instance</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> value (without entities processing)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidatePopElement" id="xmlValidatePopElement"></a>Function: xmlValidatePopElement</h3><pre class="programlisting">int	xmlValidatePopElement		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * qname)<br />
-</pre><p>Pop the element end from the validation stack.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>qname</tt></i>:</span></td><td>the qualified name as appearing in the serialization</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidatePushCData" id="xmlValidatePushCData"></a>Function: xmlValidatePushCData</h3><pre class="programlisting">int	xmlValidatePushCData		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * data, <br />					 int len)<br />
-</pre><p>check the CData parsed for validation in the current stack</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>some character data read</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidatePushElement" id="xmlValidatePushElement"></a>Function: xmlValidatePushElement</h3><pre class="programlisting">int	xmlValidatePushElement		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * qname)<br />
-</pre><p>Push a new element start on the validation stack.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span class="term"><i><tt>qname</tt></i>:</span></td><td>the qualified name as appearing in the serialization</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateRoot" id="xmlValidateRoot"></a>Function: xmlValidateRoot</h3><pre class="programlisting">int	xmlValidateRoot			(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidityErrorFunc" id="xmlValidityErrorFunc"></a>Function type: xmlValidityErrorFunc</h3><pre class="programlisting">Function type: xmlValidityErrorFunc
-void	xmlValidityErrorFunc		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Callback called when a validity error is found. This is a message oriented function similar to an *printf function.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>usually an <a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the string to format *printf like vararg</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>remaining arguments to the format</td></tr></tbody></table></div><br />
-<h3><a name="xmlValidityWarningFunc" id="xmlValidityWarningFunc"></a>Function type: xmlValidityWarningFunc</h3><pre class="programlisting">Function type: xmlValidityWarningFunc
-void	xmlValidityWarningFunc		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>usually an <a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the string to format *printf like vararg</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>remaining arguments to the format</td></tr></tbody></table></div><br />
-<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xinclude.html b/doc/html/libxml-xinclude.html
deleted file mode 100644
index e058c7d..0000000
--- a/doc/html/libxml-xinclude.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xinclude from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xinclude from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-valid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-valid.html">valid</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xlink.html">xlink</a></th><td><a accesskey="n" href="libxml-xlink.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003</p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a></pre><pre class="programlisting">Structure <a href="#xmlXIncludeCtxt">xmlXIncludeCtxt</a><br />struct _xmlXIncludeCtxt
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * <a name="xmlXIncludeCtxtPtr" id="xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>
-</pre><pre class="programlisting">void	<a href="#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a>		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>	<a href="#xmlXIncludeNewContext">xmlXIncludeNewContext</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">int	<a href="#xmlXIncludeProcess">xmlXIncludeProcess</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">int	<a href="#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int flags)</pre>
-<pre class="programlisting">int	<a href="#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int flags, <br />					 void * data)</pre>
-<pre class="programlisting">int	<a href="#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a>		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">int	<a href="#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree)</pre>
-<pre class="programlisting">int	<a href="#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br />					 int flags)</pre>
-<pre class="programlisting">int	<a href="#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br />					 int flags, <br />					 void * data)</pre>
-<pre class="programlisting">int	<a href="#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a>		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br />					 int flags)</pre>
-<h2>Description</h2>
-<h3><a name="XINCLUDE_FALLBACK" id="XINCLUDE_FALLBACK"></a>Macro: XINCLUDE_FALLBACK</h3><pre>#define XINCLUDE_FALLBACK</pre><p>Macro defining "fallback"</p>
-<h3><a name="XINCLUDE_HREF" id="XINCLUDE_HREF"></a>Macro: XINCLUDE_HREF</h3><pre>#define XINCLUDE_HREF</pre><p>Macro defining "href"</p>
-<h3><a name="XINCLUDE_NODE" id="XINCLUDE_NODE"></a>Macro: XINCLUDE_NODE</h3><pre>#define XINCLUDE_NODE</pre><p>Macro defining "include"</p>
-<h3><a name="XINCLUDE_NS" id="XINCLUDE_NS"></a>Macro: XINCLUDE_NS</h3><pre>#define XINCLUDE_NS</pre><p>Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude</p>
-<h3><a name="XINCLUDE_OLD_NS" id="XINCLUDE_OLD_NS"></a>Macro: XINCLUDE_OLD_NS</h3><pre>#define XINCLUDE_OLD_NS</pre><p>Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude</p>
-<h3><a name="XINCLUDE_PARSE" id="XINCLUDE_PARSE"></a>Macro: XINCLUDE_PARSE</h3><pre>#define XINCLUDE_PARSE</pre><p>Macro defining "parse"</p>
-<h3><a name="XINCLUDE_PARSE_ENCODING" id="XINCLUDE_PARSE_ENCODING"></a>Macro: XINCLUDE_PARSE_ENCODING</h3><pre>#define XINCLUDE_PARSE_ENCODING</pre><p>Macro defining "encoding"</p>
-<h3><a name="XINCLUDE_PARSE_TEXT" id="XINCLUDE_PARSE_TEXT"></a>Macro: XINCLUDE_PARSE_TEXT</h3><pre>#define XINCLUDE_PARSE_TEXT</pre><p>Macro defining "text"</p>
-<h3><a name="XINCLUDE_PARSE_XML" id="XINCLUDE_PARSE_XML"></a>Macro: XINCLUDE_PARSE_XML</h3><pre>#define XINCLUDE_PARSE_XML</pre><p>Macro defining "xml"</p>
-<h3><a name="XINCLUDE_PARSE_XPOINTER" id="XINCLUDE_PARSE_XPOINTER"></a>Macro: XINCLUDE_PARSE_XPOINTER</h3><pre>#define XINCLUDE_PARSE_XPOINTER</pre><p>Macro defining "xpointer"</p>
-<h3><a name="xmlXIncludeCtxt" id="xmlXIncludeCtxt">Structure xmlXIncludeCtxt</a></h3><pre class="programlisting">Structure xmlXIncludeCtxt<br />struct _xmlXIncludeCtxt {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlXIncludeFreeContext" id="xmlXIncludeFreeContext"></a>Function: xmlXIncludeFreeContext</h3><pre class="programlisting">void	xmlXIncludeFreeContext		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt)<br />
-</pre><p>Free an XInclude context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XInclude context</td></tr></tbody></table></div><h3><a name="xmlXIncludeNewContext" id="xmlXIncludeNewContext"></a>Function: xmlXIncludeNewContext</h3><pre class="programlisting"><a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>	xmlXIncludeNewContext	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Creates a new XInclude context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML Document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new set</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcess" id="xmlXIncludeProcess"></a>Function: xmlXIncludeProcess</h3><pre class="programlisting">int	xmlXIncludeProcess		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Implement the XInclude substitution on the XML document @doc</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessFlags" id="xmlXIncludeProcessFlags"></a>Function: xmlXIncludeProcessFlags</h3><pre class="programlisting">int	xmlXIncludeProcessFlags		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int flags)<br />
-</pre><p>Implement the XInclude substitution on the XML document @doc</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessFlagsData" id="xmlXIncludeProcessFlagsData"></a>Function: xmlXIncludeProcessFlagsData</h3><pre class="programlisting">int	xmlXIncludeProcessFlagsData	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int flags, <br />					 void * data)<br />
-</pre><p>Implement the XInclude substitution on the XML document @doc</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>application data that will be passed to the parser context in the _private field of the parser context(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessNode" id="xmlXIncludeProcessNode"></a>Function: xmlXIncludeProcessNode</h3><pre class="programlisting">int	xmlXIncludeProcessNode		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Implement the XInclude substitution for the given subtree reusing the information and data coming from the given context.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an existing XInclude context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessTree" id="xmlXIncludeProcessTree"></a>Function: xmlXIncludeProcessTree</h3><pre class="programlisting">int	xmlXIncludeProcessTree		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br />
-</pre><p>Implement the XInclude substitution for the given subtree</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessTreeFlags" id="xmlXIncludeProcessTreeFlags"></a>Function: xmlXIncludeProcessTreeFlags</h3><pre class="programlisting">int	xmlXIncludeProcessTreeFlags	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br />					 int flags)<br />
-</pre><p>Implement the XInclude substitution for the given subtree</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessTreeFlagsData" id="xmlXIncludeProcessTreeFlagsData"></a>Function: xmlXIncludeProcessTreeFlagsData</h3><pre class="programlisting">int	xmlXIncludeProcessTreeFlagsData	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br />					 int flags, <br />					 void * data)<br />
-</pre><p>Implement the XInclude substitution on the XML node @tree</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>an XML node</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>application data that will be passed to the parser context in the _private field of the parser context(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeSetFlags" id="xmlXIncludeSetFlags"></a>Function: xmlXIncludeSetFlags</h3><pre class="programlisting">int	xmlXIncludeSetFlags		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br />					 int flags)<br />
-</pre><p>Set the flags used for further processing of XML resources.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XInclude processing context</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</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>
diff --git a/doc/html/libxml-xlink.html b/doc/html/libxml-xlink.html
deleted file mode 100644
index 0bf9990..0000000
--- a/doc/html/libxml-xlink.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xlink from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xlink from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xinclude.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xinclude.html">xinclude</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlIO.html">xmlIO</a></th><td><a accesskey="n" href="libxml-xmlIO.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>unfinished XLink detection module </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xlinkActuate">xlinkActuate</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a name="xlinkHRef" id="xlinkHRef">xlinkHRef</a>
-</pre><pre class="programlisting">Structure <a href="#xlinkHandler">xlinkHandler</a><br />struct _xlinkHandler
-</pre><pre class="programlisting">Typedef <a href="libxml-xlink.html#xlinkHandler">xlinkHandler</a> * <a name="xlinkHandlerPtr" id="xlinkHandlerPtr">xlinkHandlerPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a name="xlinkRole" id="xlinkRole">xlinkRole</a>
-</pre><pre class="programlisting">Enum <a href="#xlinkShow">xlinkShow</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a name="xlinkTitle" id="xlinkTitle">xlinkTitle</a>
-</pre><pre class="programlisting">Enum <a href="#xlinkType">xlinkType</a>
-</pre><pre class="programlisting">Function type: <a href="#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>
-void	<a href="#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>		(void * ctx, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int nbLocators, <br />					 const <a href="libxml-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br />					 const <a href="libxml-xlink.html#xlinkRole">xlinkRole</a> * roles, <br />					 int nbArcs, <br />					 const <a href="libxml-xlink.html#xlinkRole">xlinkRole</a> * from, <br />					 const <a href="libxml-xlink.html#xlinkRole">xlinkRole</a> * to, <br />					 <a href="libxml-xlink.html#xlinkShow">xlinkShow</a> * show, <br />					 <a href="libxml-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br />					 int nbTitles, <br />					 const <a href="libxml-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** langs)
-</pre>
-<pre class="programlisting">Function type: <a href="#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>
-void	<a href="#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>	(void * ctx, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int nbLocators, <br />					 const <a href="libxml-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br />					 const <a href="libxml-xlink.html#xlinkRole">xlinkRole</a> * roles, <br />					 int nbTitles, <br />					 const <a href="libxml-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** langs)
-</pre>
-<pre class="programlisting"><a href="libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>	<a href="#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a>	(void)</pre>
-<pre class="programlisting"><a href="libxml-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>	<a href="#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a>	(void)</pre>
-<pre class="programlisting"><a href="libxml-xlink.html#xlinkType">xlinkType</a>	<a href="#xlinkIsLink">xlinkIsLink</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">Function type: <a href="#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>
-void	<a href="#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>		(void * ctx, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)
-</pre>
-<pre class="programlisting">void	<a href="#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a>		(<a href="libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a> func)</pre>
-<pre class="programlisting">void	<a href="#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a>		(<a href="libxml-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> handler)</pre>
-<pre class="programlisting">Function type: <a href="#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>
-void	<a href="#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>		(void * ctx, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xlink.html#xlinkHRef">xlinkHRef</a> href, <br />					 const <a href="libxml-xlink.html#xlinkRole">xlinkRole</a> role, <br />					 const <a href="libxml-xlink.html#xlinkTitle">xlinkTitle</a> title)
-</pre>
-<h2>Description</h2>
-<h3>Enum <a name="xlinkActuate" id="xlinkActuate">xlinkActuate</a></h3><pre class="programlisting">Enum xlinkActuate {
-    <a name="XLINK_ACTUATE_NONE" id="XLINK_ACTUATE_NONE">XLINK_ACTUATE_NONE</a> = 0
-    <a name="XLINK_ACTUATE_AUTO" id="XLINK_ACTUATE_AUTO">XLINK_ACTUATE_AUTO</a> = 1
-    <a name="XLINK_ACTUATE_ONREQUEST" id="XLINK_ACTUATE_ONREQUEST">XLINK_ACTUATE_ONREQUEST</a> = 2
-}
-</pre><h3><a name="xlinkHandler" id="xlinkHandler">Structure xlinkHandler</a></h3><pre class="programlisting">Structure xlinkHandler<br />struct _xlinkHandler {
-    <a href="libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>	simple
-    <a href="libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>	extended
-    <a href="libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>	set
-}</pre><h3>Enum <a name="xlinkShow" id="xlinkShow">xlinkShow</a></h3><pre class="programlisting">Enum xlinkShow {
-    <a name="XLINK_SHOW_NONE" id="XLINK_SHOW_NONE">XLINK_SHOW_NONE</a> = 0
-    <a name="XLINK_SHOW_NEW" id="XLINK_SHOW_NEW">XLINK_SHOW_NEW</a> = 1
-    <a name="XLINK_SHOW_EMBED" id="XLINK_SHOW_EMBED">XLINK_SHOW_EMBED</a> = 2
-    <a name="XLINK_SHOW_REPLACE" id="XLINK_SHOW_REPLACE">XLINK_SHOW_REPLACE</a> = 3
-}
-</pre><h3>Enum <a name="xlinkType" id="xlinkType">xlinkType</a></h3><pre class="programlisting">Enum xlinkType {
-    <a name="XLINK_TYPE_NONE" id="XLINK_TYPE_NONE">XLINK_TYPE_NONE</a> = 0
-    <a name="XLINK_TYPE_SIMPLE" id="XLINK_TYPE_SIMPLE">XLINK_TYPE_SIMPLE</a> = 1
-    <a name="XLINK_TYPE_EXTENDED" id="XLINK_TYPE_EXTENDED">XLINK_TYPE_EXTENDED</a> = 2
-    <a name="XLINK_TYPE_EXTENDED_SET" id="XLINK_TYPE_EXTENDED_SET">XLINK_TYPE_EXTENDED_SET</a> = 3
-}
-</pre><h3><a name="xlinkExtendedLinkFunk" id="xlinkExtendedLinkFunk"></a>Function type: xlinkExtendedLinkFunk</h3><pre class="programlisting">Function type: xlinkExtendedLinkFunk
-void	xlinkExtendedLinkFunk		(void * ctx, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int nbLocators, <br />					 const <a href="libxml-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br />					 const <a href="libxml-xlink.html#xlinkRole">xlinkRole</a> * roles, <br />					 int nbArcs, <br />					 const <a href="libxml-xlink.html#xlinkRole">xlinkRole</a> * from, <br />					 const <a href="libxml-xlink.html#xlinkRole">xlinkRole</a> * to, <br />					 <a href="libxml-xlink.html#xlinkShow">xlinkShow</a> * show, <br />					 <a href="libxml-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br />					 int nbTitles, <br />					 const <a href="libxml-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** langs)
-</pre><p>This is the prototype for a extended link detection callback.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node carrying the link</td></tr><tr><td><span class="term"><i><tt>nbLocators</tt></i>:</span></td><td>the number of locators detected on the link</td></tr><tr><td><span class="term"><i><tt>hrefs</tt></i>:</span></td><td>pointer to the array of locator hrefs</td></tr><tr><td><span class="term"><i><tt>roles</tt></i>:</span></td><td>pointer to the array of locator roles</td></tr><tr><td><span class="term"><i><tt>nbArcs</tt></i>:</span></td><td>the number of arcs detected on the link</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>pointer to the array of source roles found on the arcs</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>pointer to the array of target roles found on the arcs</td></tr><tr><td><span class="term"><i><tt>show</tt></i>:</span></td><td>array of values for the show attributes found on the arcs</td></tr><tr><td><span class="term"><i><tt>actuate</tt></i>:</span></td><td>array of values for the actuate attributes found on the arcs</td></tr><tr><td><span class="term"><i><tt>nbTitles</tt></i>:</span></td><td>the number of titles detected on the link</td></tr><tr><td><span class="term"><i><tt>titles</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>langs</tt></i>:</span></td><td>array of xml:lang values for the titles</td></tr></tbody></table></div><br />
-<h3><a name="xlinkExtendedLinkSetFunk" id="xlinkExtendedLinkSetFunk"></a>Function type: xlinkExtendedLinkSetFunk</h3><pre class="programlisting">Function type: xlinkExtendedLinkSetFunk
-void	xlinkExtendedLinkSetFunk	(void * ctx, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int nbLocators, <br />					 const <a href="libxml-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br />					 const <a href="libxml-xlink.html#xlinkRole">xlinkRole</a> * roles, <br />					 int nbTitles, <br />					 const <a href="libxml-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** langs)
-</pre><p>This is the prototype for a extended link set detection callback.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node carrying the link</td></tr><tr><td><span class="term"><i><tt>nbLocators</tt></i>:</span></td><td>the number of locators detected on the link</td></tr><tr><td><span class="term"><i><tt>hrefs</tt></i>:</span></td><td>pointer to the array of locator hrefs</td></tr><tr><td><span class="term"><i><tt>roles</tt></i>:</span></td><td>pointer to the array of locator roles</td></tr><tr><td><span class="term"><i><tt>nbTitles</tt></i>:</span></td><td>the number of titles detected on the link</td></tr><tr><td><span class="term"><i><tt>titles</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>langs</tt></i>:</span></td><td>array of xml:lang values for the titles</td></tr></tbody></table></div><br />
-<h3><a name="xlinkGetDefaultDetect" id="xlinkGetDefaultDetect"></a>Function: xlinkGetDefaultDetect</h3><pre class="programlisting"><a href="libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>	xlinkGetDefaultDetect	(void)<br />
-</pre><p>Get the default xlink detection routine</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 current function or NULL;</td></tr></tbody></table></div><h3><a name="xlinkGetDefaultHandler" id="xlinkGetDefaultHandler"></a>Function: xlinkGetDefaultHandler</h3><pre class="programlisting"><a href="libxml-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>	xlinkGetDefaultHandler	(void)<br />
-</pre><p>Get the default xlink handler.</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 current <a href="libxml-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> value.</td></tr></tbody></table></div><h3><a name="xlinkIsLink" id="xlinkIsLink"></a>Function: xlinkIsLink</h3><pre class="programlisting"><a href="libxml-xlink.html#xlinkType">xlinkType</a>	xlinkIsLink		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Check whether the given node carries the attributes needed to be a link element (or is one of the linking elements issued from the (X)HTML DtDs). This routine don't try to do full checking of the link validity but tries to detect and return the appropriate link type.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document containing the node</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node pointer itself</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xlink.html#xlinkType">xlinkType</a> of the node (XLINK_TYPE_NONE if there is no link detected.</td></tr></tbody></table></div><h3><a name="xlinkNodeDetectFunc" id="xlinkNodeDetectFunc"></a>Function type: xlinkNodeDetectFunc</h3><pre class="programlisting">Function type: xlinkNodeDetectFunc
-void	xlinkNodeDetectFunc		(void * ctx, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)
-</pre><p>This is the prototype for the link detection routine. It calls the default link detection callbacks upon link detection.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to check</td></tr></tbody></table></div><br />
-<h3><a name="xlinkSetDefaultDetect" id="xlinkSetDefaultDetect"></a>Function: xlinkSetDefaultDetect</h3><pre class="programlisting">void	xlinkSetDefaultDetect		(<a href="libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a> func)<br />
-</pre><p>Set the default xlink detection routine</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>pointer to the new detection routine.</td></tr></tbody></table></div><h3><a name="xlinkSetDefaultHandler" id="xlinkSetDefaultHandler"></a>Function: xlinkSetDefaultHandler</h3><pre class="programlisting">void	xlinkSetDefaultHandler		(<a href="libxml-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> handler)<br />
-</pre><p>Set the default xlink handlers</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new value for the xlink handler block</td></tr></tbody></table></div><h3><a name="xlinkSimpleLinkFunk" id="xlinkSimpleLinkFunk"></a>Function type: xlinkSimpleLinkFunk</h3><pre class="programlisting">Function type: xlinkSimpleLinkFunk
-void	xlinkSimpleLinkFunk		(void * ctx, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xlink.html#xlinkHRef">xlinkHRef</a> href, <br />					 const <a href="libxml-xlink.html#xlinkRole">xlinkRole</a> role, <br />					 const <a href="libxml-xlink.html#xlinkTitle">xlinkTitle</a> title)
-</pre><p>This is the prototype for a simple link detection callback.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node carrying the link</td></tr><tr><td><span class="term"><i><tt>href</tt></i>:</span></td><td>the target of the link</td></tr><tr><td><span class="term"><i><tt>role</tt></i>:</span></td><td>the role string</td></tr><tr><td><span class="term"><i><tt>title</tt></i>:</span></td><td>the link title</td></tr></tbody></table></div><br />
-<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlIO.html b/doc/html/libxml-xmlIO.html
deleted file mode 100644
index 489c987..0000000
--- a/doc/html/libxml-xmlIO.html
+++ /dev/null
@@ -1,215 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlIO from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlIO from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xlink.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xlink.html">xlink</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlautomata.html">xmlautomata</a></th><td><a accesskey="n" href="libxml-xmlautomata.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the I/O interfaces used by the parser </p><h2>Table of Contents</h2><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a>	(<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a>	(<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting">int	<a href="#xmlCheckFilename">xmlCheckFilename</a>		(const char * path)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlCheckHTTPInput">xmlCheckHTTPInput</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret)</pre>
-<pre class="programlisting">void	<a href="#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a>	(void)</pre>
-<pre class="programlisting">void	<a href="#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a>	(void)</pre>
-<pre class="programlisting">int	<a href="#xmlFileClose">xmlFileClose</a>			(void * context)</pre>
-<pre class="programlisting">int	<a href="#xmlFileMatch">xmlFileMatch</a>			(const char * filename)</pre>
-<pre class="programlisting">void *	<a href="#xmlFileOpen">xmlFileOpen</a>			(const char * filename)</pre>
-<pre class="programlisting">int	<a href="#xmlFileRead">xmlFileRead</a>			(void * context, <br />					 char * buffer, <br />					 int len)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a>	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in)</pre>
-<pre class="programlisting">int	<a href="#xmlIOFTPClose">xmlIOFTPClose</a>			(void * context)</pre>
-<pre class="programlisting">int	<a href="#xmlIOFTPMatch">xmlIOFTPMatch</a>			(const char * filename)</pre>
-<pre class="programlisting">void *	<a href="#xmlIOFTPOpen">xmlIOFTPOpen</a>			(const char * filename)</pre>
-<pre class="programlisting">int	<a href="#xmlIOFTPRead">xmlIOFTPRead</a>			(void * context, <br />					 char * buffer, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlIOHTTPClose">xmlIOHTTPClose</a>			(void * context)</pre>
-<pre class="programlisting">int	<a href="#xmlIOHTTPMatch">xmlIOHTTPMatch</a>			(const char * filename)</pre>
-<pre class="programlisting">void *	<a href="#xmlIOHTTPOpen">xmlIOHTTPOpen</a>			(const char * filename)</pre>
-<pre class="programlisting">void *	<a href="#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a>			(const char * post_uri, <br />					 int compression)</pre>
-<pre class="programlisting">int	<a href="#xmlIOHTTPRead">xmlIOHTTPRead</a>			(void * context, <br />					 char * buffer, <br />					 int len)</pre>
-<pre class="programlisting">Function type: <a href="#xmlInputCloseCallback">xmlInputCloseCallback</a>
-int	<a href="#xmlInputCloseCallback">xmlInputCloseCallback</a>		(void * context)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlInputMatchCallback">xmlInputMatchCallback</a>
-int	<a href="#xmlInputMatchCallback">xmlInputMatchCallback</a>		(char const * filename)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlInputOpenCallback">xmlInputOpenCallback</a>
-void *	<a href="#xmlInputOpenCallback">xmlInputOpenCallback</a>		(char const * filename)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlInputReadCallback">xmlInputReadCallback</a>
-int	<a href="#xmlInputReadCallback">xmlInputReadCallback</a>		(void * context, <br />					 char * buffer, <br />					 int len)
-</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a>	(const char * URL, <br />							 const char * ID, <br />							 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * path)</pre>
-<pre class="programlisting">int	<a href="#xmlOutputBufferClose">xmlOutputBufferClose</a>		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</a>	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a>	(int fd, <br />						 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a>	(FILE * file, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a>	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br />							 int compression)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a>	(<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br />						 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br />						 void * ioctx, <br />						 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre>
-<pre class="programlisting">int	<a href="#xmlOutputBufferFlush">xmlOutputBufferFlush</a>		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a>	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)</pre>
-<pre class="programlisting">size_t	<a href="#xmlOutputBufferGetSize">xmlOutputBufferGetSize</a>		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)</pre>
-<pre class="programlisting">int	<a href="#xmlOutputBufferWrite">xmlOutputBufferWrite</a>		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br />					 int len, <br />					 const char * buf)</pre>
-<pre class="programlisting">int	<a href="#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a>	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping)</pre>
-<pre class="programlisting">int	<a href="#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a>	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br />					 const char * str)</pre>
-<pre class="programlisting">Function type: <a href="#xmlOutputCloseCallback">xmlOutputCloseCallback</a>
-int	<a href="#xmlOutputCloseCallback">xmlOutputCloseCallback</a>		(void * context)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlOutputMatchCallback">xmlOutputMatchCallback</a>
-int	<a href="#xmlOutputMatchCallback">xmlOutputMatchCallback</a>		(char const * filename)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlOutputOpenCallback">xmlOutputOpenCallback</a>
-void *	<a href="#xmlOutputOpenCallback">xmlOutputOpenCallback</a>		(char const * filename)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlOutputWriteCallback">xmlOutputWriteCallback</a>
-int	<a href="#xmlOutputWriteCallback">xmlOutputWriteCallback</a>		(void * context, <br />					 const char * buffer, <br />					 int len)
-</pre>
-<pre class="programlisting">char *	<a href="#xmlParserGetDirectory">xmlParserGetDirectory</a>		(const char * filename)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a>	(int fd, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a>	(FILE * file, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a>	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a>	(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />							 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />							 void * ioctx, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a>	(const char * mem, <br />							 int size, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a>	(const char * mem, <br />							 int size, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting">int	<a href="#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a>	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlParserInputBufferPush">xmlParserInputBufferPush</a>	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br />					 int len, <br />					 const char * buf)</pre>
-<pre class="programlisting">int	<a href="#xmlParserInputBufferRead">xmlParserInputBufferRead</a>	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlPopInputCallbacks">xmlPopInputCallbacks</a>		(void)</pre>
-<pre class="programlisting">int	<a href="#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a>		(void)</pre>
-<pre class="programlisting">void	<a href="#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a>	(void)</pre>
-<pre class="programlisting">void	<a href="#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a>	(void)</pre>
-<pre class="programlisting">void	<a href="#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a>	(void)</pre>
-<pre class="programlisting">int	<a href="#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a>	(<a href="libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br />					 <a href="libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br />					 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc)</pre>
-<pre class="programlisting">int	<a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a>	(<a href="libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br />					 <a href="libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br />					 <a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br />					 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc)</pre>
-<h2>Description</h2>
-<h3><a name="xmlAllocOutputBuffer" id="xmlAllocOutputBuffer"></a>Function: xmlAllocOutputBuffer</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlAllocOutputBuffer	(<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br />
-</pre><p>Create a buffered parser output</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div><h3><a name="xmlAllocParserInputBuffer" id="xmlAllocParserInputBuffer"></a>Function: xmlAllocParserInputBuffer</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlAllocParserInputBuffer	(<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>Create a buffered parser input for progressive parsing</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div><h3><a name="xmlCheckFilename" id="xmlCheckFilename"></a>Function: xmlCheckFilename</h3><pre class="programlisting">int	xmlCheckFilename		(const char * path)<br />
-</pre><p>function checks to see if @path is a valid source (file, socket...) for XML. if stat is not available on the target machine,</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>the path to check</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1. if stat fails, returns 0 (if calling stat on the filename fails, it can't be right). if stat succeeds and the file is a directory, returns 2. otherwise returns 1.</td></tr></tbody></table></div><h3><a name="xmlCheckHTTPInput" id="xmlCheckHTTPInput"></a>Function: xmlCheckHTTPInput</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlCheckHTTPInput	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret)<br />
-</pre><p>Check an input in case it was created from an HTTP stream, in that case it will handle encoding and update of the base URL in case of redirection. It also checks for HTTP errors in which case the input is cleanly freed up and an appropriate error is raised in context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>ret</tt></i>:</span></td><td>an XML parser input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the input or NULL in case of HTTP error.</td></tr></tbody></table></div><h3><a name="xmlCleanupInputCallbacks" id="xmlCleanupInputCallbacks"></a>Function: xmlCleanupInputCallbacks</h3><pre class="programlisting">void	xmlCleanupInputCallbacks	(void)<br />
-</pre><p>clears the entire input callback table. this includes the compiled-in I/O.</p>
-<h3><a name="xmlCleanupOutputCallbacks" id="xmlCleanupOutputCallbacks"></a>Function: xmlCleanupOutputCallbacks</h3><pre class="programlisting">void	xmlCleanupOutputCallbacks	(void)<br />
-</pre><p>clears the entire output callback table. this includes the compiled-in I/O callbacks.</p>
-<h3><a name="xmlFileClose" id="xmlFileClose"></a>Function: xmlFileClose</h3><pre class="programlisting">int	xmlFileClose			(void * context)<br />
-</pre><p>Close an I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlFileMatch" id="xmlFileMatch"></a>Function: xmlFileMatch</h3><pre class="programlisting">int	xmlFileMatch			(const char * filename)<br />
-</pre><p>input from FILE *</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if matches, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlFileOpen" id="xmlFileOpen"></a>Function: xmlFileOpen</h3><pre class="programlisting">void *	xmlFileOpen			(const char * filename)<br />
-</pre><p>Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails fallback to @filename</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a handler or NULL in case or failure</td></tr></tbody></table></div><h3><a name="xmlFileRead" id="xmlFileRead"></a>Function: xmlFileRead</h3><pre class="programlisting">int	xmlFileRead			(void * context, <br />					 char * buffer, <br />					 int len)<br />
-</pre><p>Read @len bytes to @buffer from the I/O channel.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>where to drop data</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>number of bytes to write</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or &lt; 0 in case of failure</td></tr></tbody></table></div><h3><a name="xmlFreeParserInputBuffer" id="xmlFreeParserInputBuffer"></a>Function: xmlFreeParserInputBuffer</h3><pre class="programlisting">void	xmlFreeParserInputBuffer	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in)<br />
-</pre><p>Free up the memory used by a buffered parser input</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr></tbody></table></div><h3><a name="xmlIOFTPClose" id="xmlIOFTPClose"></a>Function: xmlIOFTPClose</h3><pre class="programlisting">int	xmlIOFTPClose			(void * context)<br />
-</pre><p>Close an FTP I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div><h3><a name="xmlIOFTPMatch" id="xmlIOFTPMatch"></a>Function: xmlIOFTPMatch</h3><pre class="programlisting">int	xmlIOFTPMatch			(const char * filename)<br />
-</pre><p>check if the URI matches an FTP one</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if matches, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlIOFTPOpen" id="xmlIOFTPOpen"></a>Function: xmlIOFTPOpen</h3><pre class="programlisting">void *	xmlIOFTPOpen			(const char * filename)<br />
-</pre><p>open an FTP I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an I/O context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlIOFTPRead" id="xmlIOFTPRead"></a>Function: xmlIOFTPRead</h3><pre class="programlisting">int	xmlIOFTPRead			(void * context, <br />					 char * buffer, <br />					 int len)<br />
-</pre><p>Read @len bytes to @buffer from the I/O channel.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>where to drop data</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>number of bytes to write</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written</td></tr></tbody></table></div><h3><a name="xmlIOHTTPClose" id="xmlIOHTTPClose"></a>Function: xmlIOHTTPClose</h3><pre class="programlisting">int	xmlIOHTTPClose			(void * context)<br />
-</pre><p>Close an HTTP I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div><h3><a name="xmlIOHTTPMatch" id="xmlIOHTTPMatch"></a>Function: xmlIOHTTPMatch</h3><pre class="programlisting">int	xmlIOHTTPMatch			(const char * filename)<br />
-</pre><p>check if the URI matches an HTTP one</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if matches, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlIOHTTPOpen" id="xmlIOHTTPOpen"></a>Function: xmlIOHTTPOpen</h3><pre class="programlisting">void *	xmlIOHTTPOpen			(const char * filename)<br />
-</pre><p>open an HTTP I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an I/O context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlIOHTTPOpenW" id="xmlIOHTTPOpenW"></a>Function: xmlIOHTTPOpenW</h3><pre class="programlisting">void *	xmlIOHTTPOpenW			(const char * post_uri, <br />					 int compression)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>post_uri</tt></i>:</span></td><td>The destination URI for the document</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>The compression desired for the document.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an I/O context or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlIOHTTPRead" id="xmlIOHTTPRead"></a>Function: xmlIOHTTPRead</h3><pre class="programlisting">int	xmlIOHTTPRead			(void * context, <br />					 char * buffer, <br />					 int len)<br />
-</pre><p>Read @len bytes to @buffer from the I/O channel.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>where to drop data</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>number of bytes to write</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written</td></tr></tbody></table></div><h3><a name="xmlInputCloseCallback" id="xmlInputCloseCallback"></a>Function type: xmlInputCloseCallback</h3><pre class="programlisting">Function type: xmlInputCloseCallback
-int	xmlInputCloseCallback		(void * context)
-</pre><p>Callback used in the I/O Input API to close the resource</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Input context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><br />
-<h3><a name="xmlInputMatchCallback" id="xmlInputMatchCallback"></a>Function type: xmlInputMatchCallback</h3><pre class="programlisting">Function type: xmlInputMatchCallback
-int	xmlInputMatchCallback		(char const * filename)
-</pre><p>Callback used in the I/O Input API to detect if the current handler can provide input functionality for this resource.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Input module should be used</td></tr></tbody></table></div><br />
-<h3><a name="xmlInputOpenCallback" id="xmlInputOpenCallback"></a>Function type: xmlInputOpenCallback</h3><pre class="programlisting">Function type: xmlInputOpenCallback
-void *	xmlInputOpenCallback		(char const * filename)
-</pre><p>Callback used in the I/O Input API to open the resource</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an Input context or NULL in case or error</td></tr></tbody></table></div><br />
-<h3><a name="xmlInputReadCallback" id="xmlInputReadCallback"></a>Function type: xmlInputReadCallback</h3><pre class="programlisting">Function type: xmlInputReadCallback
-int	xmlInputReadCallback		(void * context, <br />					 char * buffer, <br />					 int len)
-</pre><p>Callback used in the I/O Input API to read the resource</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Input context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>the buffer to store data read</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the buffer in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes read or -1 in case of error</td></tr></tbody></table></div><br />
-<h3><a name="xmlNoNetExternalEntityLoader" id="xmlNoNetExternalEntityLoader"></a>Function: xmlNoNetExternalEntityLoader</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNoNetExternalEntityLoader	(const char * URL, <br />							 const char * ID, <br />							 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>A specific entity loader disabling network accesses, though still allowing local catalog accesses for resolution.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to load</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context in which the entity is called or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new allocated xmlParserInputPtr, or NULL.</td></tr></tbody></table></div><h3><a name="xmlNormalizeWindowsPath" id="xmlNormalizeWindowsPath"></a>Function: xmlNormalizeWindowsPath</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlNormalizeWindowsPath	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * path)<br />
-</pre><p>This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>the input file path</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a canonicalized version of the path</td></tr></tbody></table></div><h3><a name="xmlOutputBufferClose" id="xmlOutputBufferClose"></a>Function: xmlOutputBufferClose</h3><pre class="programlisting">int	xmlOutputBufferClose		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br />
-</pre><p>flushes and close the output I/O channel and free up all the associated resources</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateBuffer" id="xmlOutputBufferCreateBuffer"></a>Function: xmlOutputBufferCreateBuffer</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateBuffer	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br />
-</pre><p>Create a buffered output for the progressive saving to a <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a></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 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateFd" id="xmlOutputBufferCreateFd"></a>Function: xmlOutputBufferCreateFd</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFd	(int fd, <br />						 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br />
-</pre><p>Create a buffered output for the progressive saving to a file descriptor</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>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateFile" id="xmlOutputBufferCreateFile"></a>Function: xmlOutputBufferCreateFile</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFile	(FILE * file, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br />
-</pre><p>Create a buffered output for the progressive saving to a FILE * buffered C I/O</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>a FILE*</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateFilename" id="xmlOutputBufferCreateFilename"></a>Function: xmlOutputBufferCreateFilename</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilename	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br />							 int compression)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or filename</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression ration (0 none, 9 max).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new output or NULL</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateIO" id="xmlOutputBufferCreateIO"></a>Function: xmlOutputBufferCreateIO</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateIO	(<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br />						 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br />						 void * ioctx, <br />						 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br />
-</pre><p>Create a buffered output for the progressive saving to an I/O handler</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>iowrite</tt></i>:</span></td><td>an I/O write function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div><h3><a name="xmlOutputBufferFlush" id="xmlOutputBufferFlush"></a>Function: xmlOutputBufferFlush</h3><pre class="programlisting">int	xmlOutputBufferFlush		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br />
-</pre><p>flushes the output I/O channel</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlOutputBufferGetContent" id="xmlOutputBufferGetContent"></a>Function: xmlOutputBufferGetContent</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlOutputBufferGetContent	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br />
-</pre><p>Gives a pointer to the data currently held in the output buffer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the data or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlOutputBufferGetSize" id="xmlOutputBufferGetSize"></a>Function: xmlOutputBufferGetSize</h3><pre class="programlisting">size_t	xmlOutputBufferGetSize		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br />
-</pre><p>Gives the length of the data currently held in the output buffer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case or error or no data is held, the size otherwise</td></tr></tbody></table></div><h3><a name="xmlOutputBufferWrite" id="xmlOutputBufferWrite"></a>Function: xmlOutputBufferWrite</h3><pre class="programlisting">int	xmlOutputBufferWrite		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br />					 int len, <br />					 const char * buf)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size in bytes of the array.</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlOutputBufferWriteEscape" id="xmlOutputBufferWriteEscape"></a>Function: xmlOutputBufferWriteEscape</h3><pre class="programlisting">int	xmlOutputBufferWriteEscape	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping)<br />
-</pre><p>Write the content of the string in the output I/O buffer This routine escapes the <a href="libxml-SAX.html#characters">characters</a> 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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated UTF-8 string</td></tr><tr><td><span class="term"><i><tt>escaping</tt></i>:</span></td><td>an optional escaping function (or NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlOutputBufferWriteString" id="xmlOutputBufferWriteString"></a>Function: xmlOutputBufferWriteString</h3><pre class="programlisting">int	xmlOutputBufferWriteString	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br />					 const char * str)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated C string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlOutputCloseCallback" id="xmlOutputCloseCallback"></a>Function type: xmlOutputCloseCallback</h3><pre class="programlisting">Function type: xmlOutputCloseCallback
-int	xmlOutputCloseCallback		(void * context)
-</pre><p>Callback used in the I/O Output API to close the resource</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Output context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><br />
-<h3><a name="xmlOutputMatchCallback" id="xmlOutputMatchCallback"></a>Function type: xmlOutputMatchCallback</h3><pre class="programlisting">Function type: xmlOutputMatchCallback
-int	xmlOutputMatchCallback		(char const * filename)
-</pre><p>Callback used in the I/O Output API to detect if the current handler can provide output functionality for this resource.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Output module should be used</td></tr></tbody></table></div><br />
-<h3><a name="xmlOutputOpenCallback" id="xmlOutputOpenCallback"></a>Function type: xmlOutputOpenCallback</h3><pre class="programlisting">Function type: xmlOutputOpenCallback
-void *	xmlOutputOpenCallback		(char const * filename)
-</pre><p>Callback used in the I/O Output API to open the resource</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an Output context or NULL in case or error</td></tr></tbody></table></div><br />
-<h3><a name="xmlOutputWriteCallback" id="xmlOutputWriteCallback"></a>Function type: xmlOutputWriteCallback</h3><pre class="programlisting">Function type: xmlOutputWriteCallback
-int	xmlOutputWriteCallback		(void * context, <br />					 const char * buffer, <br />					 int len)
-</pre><p>Callback used in the I/O Output API to write to the resource</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Output context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>the buffer of data to write</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the buffer in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of error</td></tr></tbody></table></div><br />
-<h3><a name="xmlParserGetDirectory" id="xmlParserGetDirectory"></a>Function: xmlParserGetDirectory</h3><pre class="programlisting">char *	xmlParserGetDirectory		(const char * filename)<br />
-</pre><p>lookup the directory for that file</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the path to a file</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new allocated string containing the directory, or NULL.</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateFd" id="xmlParserInputBufferCreateFd"></a>Function: xmlParserInputBufferCreateFd</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFd	(int fd, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>Create a buffered parser input for the progressive parsing for the input from a file descriptor</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>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateFile" id="xmlParserInputBufferCreateFile"></a>Function: xmlParserInputBufferCreateFile</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFile	(FILE * file, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>a FILE*</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateFilename" id="xmlParserInputBufferCreateFilename"></a>Function: xmlParserInputBufferCreateFilename</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilename	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>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 == <a href="libxml-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or filename</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateIO" id="xmlParserInputBufferCreateIO"></a>Function: xmlParserInputBufferCreateIO</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateIO	(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />							 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />							 void * ioctx, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>Create a buffered parser input for the progressive parsing for the input from an I/O handler</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateMem" id="xmlParserInputBufferCreateMem"></a>Function: xmlParserInputBufferCreateMem</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateMem	(const char * mem, <br />							 int size, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>Create a buffered parser input for the progressive parsing for the input from a memory area.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>the memory input</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the length of the memory block</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateStatic" id="xmlParserInputBufferCreateStatic"></a>Function: xmlParserInputBufferCreateStatic</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateStatic	(const char * mem, <br />							 int size, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
-</pre><p>Create a buffered parser input for the progressive parsing for the input from an immutable memory area. This will not copy the memory area to the buffer, but the memory is expected to be available until the end of the parsing, this is useful for example when using mmap'ed file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>the memory input</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the length of the memory block</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferGrow" id="xmlParserInputBufferGrow"></a>Function: xmlParserInputBufferGrow</h3><pre class="programlisting">int	xmlParserInputBufferGrow	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br />					 int len)<br />
-</pre><p>Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode TODO: one should be able to remove one extra copy by copying directly onto in-&gt;buffer or in-&gt;raw</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>indicative value of the amount of chars to read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferPush" id="xmlParserInputBufferPush"></a>Function: xmlParserInputBufferPush</h3><pre class="programlisting">int	xmlParserInputBufferPush	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br />					 int len, <br />					 const char * buf)<br />
-</pre><p>Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size in bytes of the array.</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferRead" id="xmlParserInputBufferRead"></a>Function: xmlParserInputBufferRead</h3><pre class="programlisting">int	xmlParserInputBufferRead	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br />					 int len)<br />
-</pre><p>Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>indicative value of the amount of chars to read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlPopInputCallbacks" id="xmlPopInputCallbacks"></a>Function: xmlPopInputCallbacks</h3><pre class="programlisting">int	xmlPopInputCallbacks		(void)<br />
-</pre><p>Clear the top input callback from the input stack. this includes the compiled-in I/O.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of input callback registered or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlPopOutputCallbacks" id="xmlPopOutputCallbacks"></a>Function: xmlPopOutputCallbacks</h3><pre class="programlisting">int	xmlPopOutputCallbacks		(void)<br />
-</pre><p>Remove the top output callbacks from the output stack. This includes the compiled-in I/O.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of output callback registered or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlRegisterDefaultInputCallbacks" id="xmlRegisterDefaultInputCallbacks"></a>Function: xmlRegisterDefaultInputCallbacks</h3><pre class="programlisting">void	xmlRegisterDefaultInputCallbacks	(void)<br />
-</pre><p>Registers the default compiled-in I/O handlers.</p>
-<h3><a name="xmlRegisterDefaultOutputCallbacks" id="xmlRegisterDefaultOutputCallbacks"></a>Function: xmlRegisterDefaultOutputCallbacks</h3><pre class="programlisting">void	xmlRegisterDefaultOutputCallbacks	(void)<br />
-</pre><p>Registers the default compiled-in I/O handlers.</p>
-<h3><a name="xmlRegisterHTTPPostCallbacks" id="xmlRegisterHTTPPostCallbacks"></a>Function: xmlRegisterHTTPPostCallbacks</h3><pre class="programlisting">void	xmlRegisterHTTPPostCallbacks	(void)<br />
-</pre><p>By default, libxml submits HTTP output requests using the "PUT" method. Calling this method changes the HTTP output method to use the "POST" method instead.</p>
-<h3><a name="xmlRegisterInputCallbacks" id="xmlRegisterInputCallbacks"></a>Function: xmlRegisterInputCallbacks</h3><pre class="programlisting">int	xmlRegisterInputCallbacks	(<a href="libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br />					 <a href="libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br />					 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc)<br />
-</pre><p>Register a new set of I/O callback for handling parser input.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>matchFunc</tt></i>:</span></td><td>the <a href="libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a></td></tr><tr><td><span class="term"><i><tt>openFunc</tt></i>:</span></td><td>the <a href="libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a></td></tr><tr><td><span class="term"><i><tt>readFunc</tt></i>:</span></td><td>the <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a></td></tr><tr><td><span class="term"><i><tt>closeFunc</tt></i>:</span></td><td>the <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the registered handler number or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlRegisterOutputCallbacks" id="xmlRegisterOutputCallbacks"></a>Function: xmlRegisterOutputCallbacks</h3><pre class="programlisting">int	xmlRegisterOutputCallbacks	(<a href="libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br />					 <a href="libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br />					 <a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br />					 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc)<br />
-</pre><p>Register a new set of I/O callback for handling output.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>matchFunc</tt></i>:</span></td><td>the <a href="libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a></td></tr><tr><td><span class="term"><i><tt>openFunc</tt></i>:</span></td><td>the <a href="libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a></td></tr><tr><td><span class="term"><i><tt>writeFunc</tt></i>:</span></td><td>the <a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a></td></tr><tr><td><span class="term"><i><tt>closeFunc</tt></i>:</span></td><td>the <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the registered handler number or -1 in case of error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlautomata.html b/doc/html/libxml-xmlautomata.html
deleted file mode 100644
index 4fd34c2..0000000
--- a/doc/html/libxml-xmlautomata.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlautomata from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlautomata from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlIO.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlIO.html">xmlIO</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="n" href="libxml-xmlerror.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the API to build regexp automata </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlAutomata">xmlAutomata</a><br />struct _xmlAutomata
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlautomata.html#xmlAutomata">xmlAutomata</a> * <a name="xmlAutomataPtr" id="xmlAutomataPtr">xmlAutomataPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlAutomataState">xmlAutomataState</a><br />struct _xmlAutomataState
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * <a name="xmlAutomataStatePtr" id="xmlAutomataStatePtr">xmlAutomataStatePtr</a>
-</pre><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	<a href="#xmlAutomataCompile">xmlAutomataCompile</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataGetInitState">xmlAutomataGetInitState</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)</pre>
-<pre class="programlisting">int	<a href="#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 int lax)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 int min, <br />							 int max, <br />							 void * data)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)</pre>
-<pre class="programlisting">int	<a href="#xmlAutomataNewCounter">xmlAutomataNewCounter</a>		(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />					 int min, <br />					 int max)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />						 void * data)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />						 int min, <br />						 int max, <br />						 void * data)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewState">xmlAutomataNewState</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition">xmlAutomataNewTransition</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 void * data)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 void * data)</pre>
-<pre class="programlisting">int	<a href="#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />					 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state)</pre>
-<pre class="programlisting">void	<a href="#xmlFreeAutomata">xmlFreeAutomata</a>			(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)</pre>
-<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	<a href="#xmlNewAutomata">xmlNewAutomata</a>		(void)</pre>
-<h2>Description</h2>
-<h3><a name="xmlAutomata" id="xmlAutomata">Structure xmlAutomata</a></h3><pre class="programlisting">Structure xmlAutomata<br />struct _xmlAutomata {
-The content of this structure is not made public by the API.
-}</pre>
-      A libxml automata description, It can be compiled into a regexp
-    <h3><a name="xmlAutomataState" id="xmlAutomataState">Structure xmlAutomataState</a></h3><pre class="programlisting">Structure xmlAutomataState<br />struct _xmlAutomataState {
-The content of this structure is not made public by the API.
-}</pre>
-      A state int the automata description,
-    <h3><a name="xmlAutomataCompile" id="xmlAutomataCompile"></a>Function: xmlAutomataCompile</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	xmlAutomataCompile	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br />
-</pre><p>Compile the automata into a Reg Exp ready for being executed. The automata should be free after this point.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the compiled regexp or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataGetInitState" id="xmlAutomataGetInitState"></a>Function: xmlAutomataGetInitState</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataGetInitState	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br />
-</pre><p>Initial state lookup</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the initial state of the automata</td></tr></tbody></table></div><h3><a name="xmlAutomataIsDeterminist" id="xmlAutomataIsDeterminist"></a>Function: xmlAutomataIsDeterminist</h3><pre class="programlisting">int	xmlAutomataIsDeterminist	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br />
-</pre><p>Checks if an automata is determinist.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if not, and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewAllTrans" id="xmlAutomataNewAllTrans"></a>Function: xmlAutomataNewAllTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewAllTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 int lax)<br />
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>lax</tt></i>:</span></td><td>allow to transition if not all all transitions have been activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountTrans" id="xmlAutomataNewCountTrans"></a>Function: xmlAutomataNewCountTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 int min, <br />							 int max, <br />							 void * data)<br />
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountTrans2" id="xmlAutomataNewCountTrans2"></a>Function: xmlAutomataNewCountTrans2</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans2	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)<br />
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountedTrans" id="xmlAutomataNewCountedTrans"></a>Function: xmlAutomataNewCountedTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountedTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)<br />
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>counter</tt></i>:</span></td><td>the counter associated to that transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCounter" id="xmlAutomataNewCounter"></a>Function: xmlAutomataNewCounter</h3><pre class="programlisting">int	xmlAutomataNewCounter		(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />					 int min, <br />					 int max)<br />
-</pre><p>Create a new counter</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimal value on the counter</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximal value on the counter</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the counter number or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCounterTrans" id="xmlAutomataNewCounterTrans"></a>Function: xmlAutomataNewCounterTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCounterTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)<br />
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will be allowed only if the counter is within the right range.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>counter</tt></i>:</span></td><td>the counter associated to that transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewEpsilon" id="xmlAutomataNewEpsilon"></a>Function: xmlAutomataNewEpsilon</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewEpsilon	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to)<br />
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewNegTrans" id="xmlAutomataNewNegTrans"></a>Function: xmlAutomataNewNegTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewNegTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />						 void * data)<br />
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by any value except (@token,@token2) Note that if @token2 is not NULL, then (X, NULL) won't match to follow # the semantic of XSD ##other</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the first input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data passed to the callback function if the transition is activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewOnceTrans" id="xmlAutomataNewOnceTrans"></a>Function: xmlAutomataNewOnceTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />						 int min, <br />						 int max, <br />						 void * data)<br />
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewOnceTrans2" id="xmlAutomataNewOnceTrans2"></a>Function: xmlAutomataNewOnceTrans2</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans2	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)<br />
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewState" id="xmlAutomataNewState"></a>Function: xmlAutomataNewState</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewState	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br />
-</pre><p>Create a new disconnected state in the automata</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewTransition" id="xmlAutomataNewTransition"></a>Function: xmlAutomataNewTransition</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 void * data)<br />
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data passed to the callback function if the transition is activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewTransition2" id="xmlAutomataNewTransition2"></a>Function: xmlAutomataNewTransition2</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition2	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 void * data)<br />
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the first input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data passed to the callback function if the transition is activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataSetFinalState" id="xmlAutomataSetFinalState"></a>Function: xmlAutomataSetFinalState</h3><pre class="programlisting">int	xmlAutomataSetFinalState	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />					 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state)<br />
-</pre><p>Makes that state a final state</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>state</tt></i>:</span></td><td>a state in this automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlFreeAutomata" id="xmlFreeAutomata"></a>Function: xmlFreeAutomata</h3><pre class="programlisting">void	xmlFreeAutomata			(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br />
-</pre><p>Free an automata</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr></tbody></table></div><h3><a name="xmlNewAutomata" id="xmlNewAutomata"></a>Function: xmlNewAutomata</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	xmlNewAutomata		(void)<br />
-</pre><p>Create a new automata</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 new object or NULL in case of failure</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>
diff --git a/doc/html/libxml-xmlerror.html b/doc/html/libxml-xmlerror.html
deleted file mode 100644
index cdd3346..0000000
--- a/doc/html/libxml-xmlerror.html
+++ /dev/null
@@ -1,865 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlerror from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlerror from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlautomata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlautomata.html">xmlautomata</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlexports.html">xmlexports</a></th><td><a accesskey="n" href="libxml-xmlexports.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the API used to report errors </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlError">xmlError</a><br />struct _xmlError
-</pre><pre class="programlisting">Enum <a href="#xmlErrorDomain">xmlErrorDomain</a>
-</pre><pre class="programlisting">Enum <a href="#xmlErrorLevel">xmlErrorLevel</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlerror.html#xmlError">xmlError</a> * <a name="xmlErrorPtr" id="xmlErrorPtr">xmlErrorPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlParserErrors">xmlParserErrors</a>
-</pre><pre class="programlisting">void	<a href="#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a>	(<a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler)</pre>
-<pre class="programlisting">int	<a href="#xmlCopyError">xmlCopyError</a>			(<a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br />					 <a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to)</pre>
-<pre class="programlisting"><a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	<a href="#xmlCtxtGetLastError">xmlCtxtGetLastError</a>	(void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlCtxtResetLastError">xmlCtxtResetLastError</a>		(void * ctx)</pre>
-<pre class="programlisting">Function type: <a href="#xmlGenericErrorFunc">xmlGenericErrorFunc</a>
-void	<a href="#xmlGenericErrorFunc">xmlGenericErrorFunc</a>		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre>
-<pre class="programlisting"><a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	<a href="#xmlGetLastError">xmlGetLastError</a>		(void)</pre>
-<pre class="programlisting">void	<a href="#xmlParserError">xmlParserError</a>			(void * ctx, <br />					 const char * msg, <br />					 ... ...)</pre>
-<pre class="programlisting">void	<a href="#xmlParserPrintFileContext">xmlParserPrintFileContext</a>	(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)</pre>
-<pre class="programlisting">void	<a href="#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a>		(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)</pre>
-<pre class="programlisting">void	<a href="#xmlParserValidityError">xmlParserValidityError</a>		(void * ctx, <br />					 const char * msg, <br />					 ... ...)</pre>
-<pre class="programlisting">void	<a href="#xmlParserValidityWarning">xmlParserValidityWarning</a>	(void * ctx, <br />					 const char * msg, <br />					 ... ...)</pre>
-<pre class="programlisting">void	<a href="#xmlParserWarning">xmlParserWarning</a>		(void * ctx, <br />					 const char * msg, <br />					 ... ...)</pre>
-<pre class="programlisting">void	<a href="#xmlResetError">xmlResetError</a>			(<a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err)</pre>
-<pre class="programlisting">void	<a href="#xmlResetLastError">xmlResetLastError</a>		(void)</pre>
-<pre class="programlisting">void	<a href="#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a>		(void * ctx, <br />					 <a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)</pre>
-<pre class="programlisting">void	<a href="#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a>	(void * ctx, <br />					 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)</pre>
-<pre class="programlisting">Function type: <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>
-void	<a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>		(void * userData, <br />					 <a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error)
-</pre>
-<h2>Description</h2>
-<h3><a name="xmlError" id="xmlError">Structure xmlError</a></h3><pre class="programlisting">Structure xmlError<br />struct _xmlError {
-    int	domain	: What part of the library raised this er
-    int	code	: The error code, e.g. an <a href="libxml-xmlerror.html#xmlParserError">xmlParserError</a>
-    char *	message	: human-readable informative error messag
-    <a href="libxml-xmlerror.html#xmlErrorLevel">xmlErrorLevel</a>	level	: how consequent is the error
-    char *	file	: the filename
-    int	line	: the line number if available
-    char *	str1	: extra string information
-    char *	str2	: extra string information
-    char *	str3	: extra string information
-    int	int1	: extra number information
-    int	int2	: error column # or 0 if N/A (todo: renam
-    void *	ctxt	: the parser context if available
-    void *	node	: the node in the tree
-}</pre><h3>Enum <a name="xmlErrorDomain" id="xmlErrorDomain">xmlErrorDomain</a></h3><pre class="programlisting">Enum xmlErrorDomain {
-    <a name="XML_FROM_NONE" id="XML_FROM_NONE">XML_FROM_NONE</a> = 0
-    <a name="XML_FROM_PARSER" id="XML_FROM_PARSER">XML_FROM_PARSER</a> = 1 : The XML parser
-    <a name="XML_FROM_TREE" id="XML_FROM_TREE">XML_FROM_TREE</a> = 2 : The tree module
-    <a name="XML_FROM_NAMESPACE" id="XML_FROM_NAMESPACE">XML_FROM_NAMESPACE</a> = 3 : The XML Namespace module
-    <a name="XML_FROM_DTD" id="XML_FROM_DTD">XML_FROM_DTD</a> = 4 : The XML DTD validation with parser contex
-    <a name="XML_FROM_HTML" id="XML_FROM_HTML">XML_FROM_HTML</a> = 5 : The HTML parser
-    <a name="XML_FROM_MEMORY" id="XML_FROM_MEMORY">XML_FROM_MEMORY</a> = 6 : The memory allocator
-    <a name="XML_FROM_OUTPUT" id="XML_FROM_OUTPUT">XML_FROM_OUTPUT</a> = 7 : The serialization code
-    <a name="XML_FROM_IO" id="XML_FROM_IO">XML_FROM_IO</a> = 8 : The Input/Output stack
-    <a name="XML_FROM_FTP" id="XML_FROM_FTP">XML_FROM_FTP</a> = 9 : The FTP module
-    <a name="XML_FROM_HTTP" id="XML_FROM_HTTP">XML_FROM_HTTP</a> = 10 : The HTTP module
-    <a name="XML_FROM_XINCLUDE" id="XML_FROM_XINCLUDE">XML_FROM_XINCLUDE</a> = 11 : The XInclude processing
-    <a name="XML_FROM_XPATH" id="XML_FROM_XPATH">XML_FROM_XPATH</a> = 12 : The XPath module
-    <a name="XML_FROM_XPOINTER" id="XML_FROM_XPOINTER">XML_FROM_XPOINTER</a> = 13 : The XPointer module
-    <a name="XML_FROM_REGEXP" id="XML_FROM_REGEXP">XML_FROM_REGEXP</a> = 14 : The regular expressions module
-    <a name="XML_FROM_DATATYPE" id="XML_FROM_DATATYPE">XML_FROM_DATATYPE</a> = 15 : The W3C XML Schemas Datatype module
-    <a name="XML_FROM_SCHEMASP" id="XML_FROM_SCHEMASP">XML_FROM_SCHEMASP</a> = 16 : The W3C XML Schemas parser module
-    <a name="XML_FROM_SCHEMASV" id="XML_FROM_SCHEMASV">XML_FROM_SCHEMASV</a> = 17 : The W3C XML Schemas validation module
-    <a name="XML_FROM_RELAXNGP" id="XML_FROM_RELAXNGP">XML_FROM_RELAXNGP</a> = 18 : The Relax-NG parser module
-    <a name="XML_FROM_RELAXNGV" id="XML_FROM_RELAXNGV">XML_FROM_RELAXNGV</a> = 19 : The Relax-NG validator module
-    <a name="XML_FROM_CATALOG" id="XML_FROM_CATALOG">XML_FROM_CATALOG</a> = 20 : The Catalog module
-    <a name="XML_FROM_C14N" id="XML_FROM_C14N">XML_FROM_C14N</a> = 21 : The Canonicalization module
-    <a name="XML_FROM_XSLT" id="XML_FROM_XSLT">XML_FROM_XSLT</a> = 22 : The XSLT engine from libxslt
-    <a name="XML_FROM_VALID" id="XML_FROM_VALID">XML_FROM_VALID</a> = 23 : The XML DTD validation with valid context
-    <a name="XML_FROM_CHECK" id="XML_FROM_CHECK">XML_FROM_CHECK</a> = 24 : The error checking module
-    <a name="XML_FROM_WRITER" id="XML_FROM_WRITER">XML_FROM_WRITER</a> = 25 : The xmlwriter module
-    <a name="XML_FROM_MODULE" id="XML_FROM_MODULE">XML_FROM_MODULE</a> = 26 : The dynamically loaded module modul
-    <a name="XML_FROM_I18N" id="XML_FROM_I18N">XML_FROM_I18N</a> = 27 : The module handling character conversion
-    <a name="XML_FROM_SCHEMATRONV" id="XML_FROM_SCHEMATRONV">XML_FROM_SCHEMATRONV</a> = 28 : The Schematron validator module
-    <a name="XML_FROM_BUFFER" id="XML_FROM_BUFFER">XML_FROM_BUFFER</a> = 29 : The buffers module
-    <a name="XML_FROM_URI" id="XML_FROM_URI">XML_FROM_URI</a> = 30 : The URI module
-}
-</pre><h3>Enum <a name="xmlErrorLevel" id="xmlErrorLevel">xmlErrorLevel</a></h3><pre class="programlisting">Enum xmlErrorLevel {
-    <a name="XML_ERR_NONE" id="XML_ERR_NONE">XML_ERR_NONE</a> = 0
-    <a name="XML_ERR_WARNING" id="XML_ERR_WARNING">XML_ERR_WARNING</a> = 1 : A simple warning
-    <a name="XML_ERR_ERROR" id="XML_ERR_ERROR">XML_ERR_ERROR</a> = 2 : A recoverable error
-    <a name="XML_ERR_FATAL" id="XML_ERR_FATAL">XML_ERR_FATAL</a> = 3 : A fatal error
-}
-</pre><h3>Enum <a name="xmlParserErrors" id="xmlParserErrors">xmlParserErrors</a></h3><pre class="programlisting">Enum xmlParserErrors {
-    <a name="XML_ERR_OK" id="XML_ERR_OK">XML_ERR_OK</a> = 0
-    <a name="XML_ERR_INTERNAL_ERROR" id="XML_ERR_INTERNAL_ERROR">XML_ERR_INTERNAL_ERROR</a> = 1 : 1
-    <a name="XML_ERR_NO_MEMORY" id="XML_ERR_NO_MEMORY">XML_ERR_NO_MEMORY</a> = 2 : 2
-    <a name="XML_ERR_DOCUMENT_START" id="XML_ERR_DOCUMENT_START">XML_ERR_DOCUMENT_START</a> = 3 : 3
-    <a name="XML_ERR_DOCUMENT_EMPTY" id="XML_ERR_DOCUMENT_EMPTY">XML_ERR_DOCUMENT_EMPTY</a> = 4 : 4
-    <a name="XML_ERR_DOCUMENT_END" id="XML_ERR_DOCUMENT_END">XML_ERR_DOCUMENT_END</a> = 5 : 5
-    <a name="XML_ERR_INVALID_HEX_CHARREF" id="XML_ERR_INVALID_HEX_CHARREF">XML_ERR_INVALID_HEX_CHARREF</a> = 6 : 6
-    <a name="XML_ERR_INVALID_DEC_CHARREF" id="XML_ERR_INVALID_DEC_CHARREF">XML_ERR_INVALID_DEC_CHARREF</a> = 7 : 7
-    <a name="XML_ERR_INVALID_CHARREF" id="XML_ERR_INVALID_CHARREF">XML_ERR_INVALID_CHARREF</a> = 8 : 8
-    <a name="XML_ERR_INVALID_CHAR" id="XML_ERR_INVALID_CHAR">XML_ERR_INVALID_CHAR</a> = 9 : 9
-    <a name="XML_ERR_CHARREF_AT_EOF" id="XML_ERR_CHARREF_AT_EOF">XML_ERR_CHARREF_AT_EOF</a> = 10 : 10
-    <a name="XML_ERR_CHARREF_IN_PROLOG" id="XML_ERR_CHARREF_IN_PROLOG">XML_ERR_CHARREF_IN_PROLOG</a> = 11 : 11
-    <a name="XML_ERR_CHARREF_IN_EPILOG" id="XML_ERR_CHARREF_IN_EPILOG">XML_ERR_CHARREF_IN_EPILOG</a> = 12 : 12
-    <a name="XML_ERR_CHARREF_IN_DTD" id="XML_ERR_CHARREF_IN_DTD">XML_ERR_CHARREF_IN_DTD</a> = 13 : 13
-    <a name="XML_ERR_ENTITYREF_AT_EOF" id="XML_ERR_ENTITYREF_AT_EOF">XML_ERR_ENTITYREF_AT_EOF</a> = 14 : 14
-    <a name="XML_ERR_ENTITYREF_IN_PROLOG" id="XML_ERR_ENTITYREF_IN_PROLOG">XML_ERR_ENTITYREF_IN_PROLOG</a> = 15 : 15
-    <a name="XML_ERR_ENTITYREF_IN_EPILOG" id="XML_ERR_ENTITYREF_IN_EPILOG">XML_ERR_ENTITYREF_IN_EPILOG</a> = 16 : 16
-    <a name="XML_ERR_ENTITYREF_IN_DTD" id="XML_ERR_ENTITYREF_IN_DTD">XML_ERR_ENTITYREF_IN_DTD</a> = 17 : 17
-    <a name="XML_ERR_PEREF_AT_EOF" id="XML_ERR_PEREF_AT_EOF">XML_ERR_PEREF_AT_EOF</a> = 18 : 18
-    <a name="XML_ERR_PEREF_IN_PROLOG" id="XML_ERR_PEREF_IN_PROLOG">XML_ERR_PEREF_IN_PROLOG</a> = 19 : 19
-    <a name="XML_ERR_PEREF_IN_EPILOG" id="XML_ERR_PEREF_IN_EPILOG">XML_ERR_PEREF_IN_EPILOG</a> = 20 : 20
-    <a name="XML_ERR_PEREF_IN_INT_SUBSET" id="XML_ERR_PEREF_IN_INT_SUBSET">XML_ERR_PEREF_IN_INT_SUBSET</a> = 21 : 21
-    <a name="XML_ERR_ENTITYREF_NO_NAME" id="XML_ERR_ENTITYREF_NO_NAME">XML_ERR_ENTITYREF_NO_NAME</a> = 22 : 22
-    <a name="XML_ERR_ENTITYREF_SEMICOL_MISSING" id="XML_ERR_ENTITYREF_SEMICOL_MISSING">XML_ERR_ENTITYREF_SEMICOL_MISSING</a> = 23 : 23
-    <a name="XML_ERR_PEREF_NO_NAME" id="XML_ERR_PEREF_NO_NAME">XML_ERR_PEREF_NO_NAME</a> = 24 : 24
-    <a name="XML_ERR_PEREF_SEMICOL_MISSING" id="XML_ERR_PEREF_SEMICOL_MISSING">XML_ERR_PEREF_SEMICOL_MISSING</a> = 25 : 25
-    <a name="XML_ERR_UNDECLARED_ENTITY" id="XML_ERR_UNDECLARED_ENTITY">XML_ERR_UNDECLARED_ENTITY</a> = 26 : 26
-    <a name="XML_WAR_UNDECLARED_ENTITY" id="XML_WAR_UNDECLARED_ENTITY">XML_WAR_UNDECLARED_ENTITY</a> = 27 : 27
-    <a name="XML_ERR_UNPARSED_ENTITY" id="XML_ERR_UNPARSED_ENTITY">XML_ERR_UNPARSED_ENTITY</a> = 28 : 28
-    <a name="XML_ERR_ENTITY_IS_EXTERNAL" id="XML_ERR_ENTITY_IS_EXTERNAL">XML_ERR_ENTITY_IS_EXTERNAL</a> = 29 : 29
-    <a name="XML_ERR_ENTITY_IS_PARAMETER" id="XML_ERR_ENTITY_IS_PARAMETER">XML_ERR_ENTITY_IS_PARAMETER</a> = 30 : 30
-    <a name="XML_ERR_UNKNOWN_ENCODING" id="XML_ERR_UNKNOWN_ENCODING">XML_ERR_UNKNOWN_ENCODING</a> = 31 : 31
-    <a name="XML_ERR_UNSUPPORTED_ENCODING" id="XML_ERR_UNSUPPORTED_ENCODING">XML_ERR_UNSUPPORTED_ENCODING</a> = 32 : 32
-    <a name="XML_ERR_STRING_NOT_STARTED" id="XML_ERR_STRING_NOT_STARTED">XML_ERR_STRING_NOT_STARTED</a> = 33 : 33
-    <a name="XML_ERR_STRING_NOT_CLOSED" id="XML_ERR_STRING_NOT_CLOSED">XML_ERR_STRING_NOT_CLOSED</a> = 34 : 34
-    <a name="XML_ERR_NS_DECL_ERROR" id="XML_ERR_NS_DECL_ERROR">XML_ERR_NS_DECL_ERROR</a> = 35 : 35
-    <a name="XML_ERR_ENTITY_NOT_STARTED" id="XML_ERR_ENTITY_NOT_STARTED">XML_ERR_ENTITY_NOT_STARTED</a> = 36 : 36
-    <a name="XML_ERR_ENTITY_NOT_FINISHED" id="XML_ERR_ENTITY_NOT_FINISHED">XML_ERR_ENTITY_NOT_FINISHED</a> = 37 : 37
-    <a name="XML_ERR_LT_IN_ATTRIBUTE" id="XML_ERR_LT_IN_ATTRIBUTE">XML_ERR_LT_IN_ATTRIBUTE</a> = 38 : 38
-    <a name="XML_ERR_ATTRIBUTE_NOT_STARTED" id="XML_ERR_ATTRIBUTE_NOT_STARTED">XML_ERR_ATTRIBUTE_NOT_STARTED</a> = 39 : 39
-    <a name="XML_ERR_ATTRIBUTE_NOT_FINISHED" id="XML_ERR_ATTRIBUTE_NOT_FINISHED">XML_ERR_ATTRIBUTE_NOT_FINISHED</a> = 40 : 40
-    <a name="XML_ERR_ATTRIBUTE_WITHOUT_VALUE" id="XML_ERR_ATTRIBUTE_WITHOUT_VALUE">XML_ERR_ATTRIBUTE_WITHOUT_VALUE</a> = 41 : 41
-    <a name="XML_ERR_ATTRIBUTE_REDEFINED" id="XML_ERR_ATTRIBUTE_REDEFINED">XML_ERR_ATTRIBUTE_REDEFINED</a> = 42 : 42
-    <a name="XML_ERR_LITERAL_NOT_STARTED" id="XML_ERR_LITERAL_NOT_STARTED">XML_ERR_LITERAL_NOT_STARTED</a> = 43 : 43
-    <a name="XML_ERR_LITERAL_NOT_FINISHED" id="XML_ERR_LITERAL_NOT_FINISHED">XML_ERR_LITERAL_NOT_FINISHED</a> = 44 : 44
-    <a name="XML_ERR_COMMENT_NOT_FINISHED" id="XML_ERR_COMMENT_NOT_FINISHED">XML_ERR_COMMENT_NOT_FINISHED</a> = 45 : 45
-    <a name="XML_ERR_PI_NOT_STARTED" id="XML_ERR_PI_NOT_STARTED">XML_ERR_PI_NOT_STARTED</a> = 46 : 46
-    <a name="XML_ERR_PI_NOT_FINISHED" id="XML_ERR_PI_NOT_FINISHED">XML_ERR_PI_NOT_FINISHED</a> = 47 : 47
-    <a name="XML_ERR_NOTATION_NOT_STARTED" id="XML_ERR_NOTATION_NOT_STARTED">XML_ERR_NOTATION_NOT_STARTED</a> = 48 : 48
-    <a name="XML_ERR_NOTATION_NOT_FINISHED" id="XML_ERR_NOTATION_NOT_FINISHED">XML_ERR_NOTATION_NOT_FINISHED</a> = 49 : 49
-    <a name="XML_ERR_ATTLIST_NOT_STARTED" id="XML_ERR_ATTLIST_NOT_STARTED">XML_ERR_ATTLIST_NOT_STARTED</a> = 50 : 50
-    <a name="XML_ERR_ATTLIST_NOT_FINISHED" id="XML_ERR_ATTLIST_NOT_FINISHED">XML_ERR_ATTLIST_NOT_FINISHED</a> = 51 : 51
-    <a name="XML_ERR_MIXED_NOT_STARTED" id="XML_ERR_MIXED_NOT_STARTED">XML_ERR_MIXED_NOT_STARTED</a> = 52 : 52
-    <a name="XML_ERR_MIXED_NOT_FINISHED" id="XML_ERR_MIXED_NOT_FINISHED">XML_ERR_MIXED_NOT_FINISHED</a> = 53 : 53
-    <a name="XML_ERR_ELEMCONTENT_NOT_STARTED" id="XML_ERR_ELEMCONTENT_NOT_STARTED">XML_ERR_ELEMCONTENT_NOT_STARTED</a> = 54 : 54
-    <a name="XML_ERR_ELEMCONTENT_NOT_FINISHED" id="XML_ERR_ELEMCONTENT_NOT_FINISHED">XML_ERR_ELEMCONTENT_NOT_FINISHED</a> = 55 : 55
-    <a name="XML_ERR_XMLDECL_NOT_STARTED" id="XML_ERR_XMLDECL_NOT_STARTED">XML_ERR_XMLDECL_NOT_STARTED</a> = 56 : 56
-    <a name="XML_ERR_XMLDECL_NOT_FINISHED" id="XML_ERR_XMLDECL_NOT_FINISHED">XML_ERR_XMLDECL_NOT_FINISHED</a> = 57 : 57
-    <a name="XML_ERR_CONDSEC_NOT_STARTED" id="XML_ERR_CONDSEC_NOT_STARTED">XML_ERR_CONDSEC_NOT_STARTED</a> = 58 : 58
-    <a name="XML_ERR_CONDSEC_NOT_FINISHED" id="XML_ERR_CONDSEC_NOT_FINISHED">XML_ERR_CONDSEC_NOT_FINISHED</a> = 59 : 59
-    <a name="XML_ERR_EXT_SUBSET_NOT_FINISHED" id="XML_ERR_EXT_SUBSET_NOT_FINISHED">XML_ERR_EXT_SUBSET_NOT_FINISHED</a> = 60 : 60
-    <a name="XML_ERR_DOCTYPE_NOT_FINISHED" id="XML_ERR_DOCTYPE_NOT_FINISHED">XML_ERR_DOCTYPE_NOT_FINISHED</a> = 61 : 61
-    <a name="XML_ERR_MISPLACED_CDATA_END" id="XML_ERR_MISPLACED_CDATA_END">XML_ERR_MISPLACED_CDATA_END</a> = 62 : 62
-    <a name="XML_ERR_CDATA_NOT_FINISHED" id="XML_ERR_CDATA_NOT_FINISHED">XML_ERR_CDATA_NOT_FINISHED</a> = 63 : 63
-    <a name="XML_ERR_RESERVED_XML_NAME" id="XML_ERR_RESERVED_XML_NAME">XML_ERR_RESERVED_XML_NAME</a> = 64 : 64
-    <a name="XML_ERR_SPACE_REQUIRED" id="XML_ERR_SPACE_REQUIRED">XML_ERR_SPACE_REQUIRED</a> = 65 : 65
-    <a name="XML_ERR_SEPARATOR_REQUIRED" id="XML_ERR_SEPARATOR_REQUIRED">XML_ERR_SEPARATOR_REQUIRED</a> = 66 : 66
-    <a name="XML_ERR_NMTOKEN_REQUIRED" id="XML_ERR_NMTOKEN_REQUIRED">XML_ERR_NMTOKEN_REQUIRED</a> = 67 : 67
-    <a name="XML_ERR_NAME_REQUIRED" id="XML_ERR_NAME_REQUIRED">XML_ERR_NAME_REQUIRED</a> = 68 : 68
-    <a name="XML_ERR_PCDATA_REQUIRED" id="XML_ERR_PCDATA_REQUIRED">XML_ERR_PCDATA_REQUIRED</a> = 69 : 69
-    <a name="XML_ERR_URI_REQUIRED" id="XML_ERR_URI_REQUIRED">XML_ERR_URI_REQUIRED</a> = 70 : 70
-    <a name="XML_ERR_PUBID_REQUIRED" id="XML_ERR_PUBID_REQUIRED">XML_ERR_PUBID_REQUIRED</a> = 71 : 71
-    <a name="XML_ERR_LT_REQUIRED" id="XML_ERR_LT_REQUIRED">XML_ERR_LT_REQUIRED</a> = 72 : 72
-    <a name="XML_ERR_GT_REQUIRED" id="XML_ERR_GT_REQUIRED">XML_ERR_GT_REQUIRED</a> = 73 : 73
-    <a name="XML_ERR_LTSLASH_REQUIRED" id="XML_ERR_LTSLASH_REQUIRED">XML_ERR_LTSLASH_REQUIRED</a> = 74 : 74
-    <a name="XML_ERR_EQUAL_REQUIRED" id="XML_ERR_EQUAL_REQUIRED">XML_ERR_EQUAL_REQUIRED</a> = 75 : 75
-    <a name="XML_ERR_TAG_NAME_MISMATCH" id="XML_ERR_TAG_NAME_MISMATCH">XML_ERR_TAG_NAME_MISMATCH</a> = 76 : 76
-    <a name="XML_ERR_TAG_NOT_FINISHED" id="XML_ERR_TAG_NOT_FINISHED">XML_ERR_TAG_NOT_FINISHED</a> = 77 : 77
-    <a name="XML_ERR_STANDALONE_VALUE" id="XML_ERR_STANDALONE_VALUE">XML_ERR_STANDALONE_VALUE</a> = 78 : 78
-    <a name="XML_ERR_ENCODING_NAME" id="XML_ERR_ENCODING_NAME">XML_ERR_ENCODING_NAME</a> = 79 : 79
-    <a name="XML_ERR_HYPHEN_IN_COMMENT" id="XML_ERR_HYPHEN_IN_COMMENT">XML_ERR_HYPHEN_IN_COMMENT</a> = 80 : 80
-    <a name="XML_ERR_INVALID_ENCODING" id="XML_ERR_INVALID_ENCODING">XML_ERR_INVALID_ENCODING</a> = 81 : 81
-    <a name="XML_ERR_EXT_ENTITY_STANDALONE" id="XML_ERR_EXT_ENTITY_STANDALONE">XML_ERR_EXT_ENTITY_STANDALONE</a> = 82 : 82
-    <a name="XML_ERR_CONDSEC_INVALID" id="XML_ERR_CONDSEC_INVALID">XML_ERR_CONDSEC_INVALID</a> = 83 : 83
-    <a name="XML_ERR_VALUE_REQUIRED" id="XML_ERR_VALUE_REQUIRED">XML_ERR_VALUE_REQUIRED</a> = 84 : 84
-    <a name="XML_ERR_NOT_WELL_BALANCED" id="XML_ERR_NOT_WELL_BALANCED">XML_ERR_NOT_WELL_BALANCED</a> = 85 : 85
-    <a name="XML_ERR_EXTRA_CONTENT" id="XML_ERR_EXTRA_CONTENT">XML_ERR_EXTRA_CONTENT</a> = 86 : 86
-    <a name="XML_ERR_ENTITY_CHAR_ERROR" id="XML_ERR_ENTITY_CHAR_ERROR">XML_ERR_ENTITY_CHAR_ERROR</a> = 87 : 87
-    <a name="XML_ERR_ENTITY_PE_INTERNAL" id="XML_ERR_ENTITY_PE_INTERNAL">XML_ERR_ENTITY_PE_INTERNAL</a> = 88 : 88
-    <a name="XML_ERR_ENTITY_LOOP" id="XML_ERR_ENTITY_LOOP">XML_ERR_ENTITY_LOOP</a> = 89 : 89
-    <a name="XML_ERR_ENTITY_BOUNDARY" id="XML_ERR_ENTITY_BOUNDARY">XML_ERR_ENTITY_BOUNDARY</a> = 90 : 90
-    <a name="XML_ERR_INVALID_URI" id="XML_ERR_INVALID_URI">XML_ERR_INVALID_URI</a> = 91 : 91
-    <a name="XML_ERR_URI_FRAGMENT" id="XML_ERR_URI_FRAGMENT">XML_ERR_URI_FRAGMENT</a> = 92 : 92
-    <a name="XML_WAR_CATALOG_PI" id="XML_WAR_CATALOG_PI">XML_WAR_CATALOG_PI</a> = 93 : 93
-    <a name="XML_ERR_NO_DTD" id="XML_ERR_NO_DTD">XML_ERR_NO_DTD</a> = 94 : 94
-    <a name="XML_ERR_CONDSEC_INVALID_KEYWORD" id="XML_ERR_CONDSEC_INVALID_KEYWORD">XML_ERR_CONDSEC_INVALID_KEYWORD</a> = 95 : 95
-    <a name="XML_ERR_VERSION_MISSING" id="XML_ERR_VERSION_MISSING">XML_ERR_VERSION_MISSING</a> = 96 : 96
-    <a name="XML_WAR_UNKNOWN_VERSION" id="XML_WAR_UNKNOWN_VERSION">XML_WAR_UNKNOWN_VERSION</a> = 97 : 97
-    <a name="XML_WAR_LANG_VALUE" id="XML_WAR_LANG_VALUE">XML_WAR_LANG_VALUE</a> = 98 : 98
-    <a name="XML_WAR_NS_URI" id="XML_WAR_NS_URI">XML_WAR_NS_URI</a> = 99 : 99
-    <a name="XML_WAR_NS_URI_RELATIVE" id="XML_WAR_NS_URI_RELATIVE">XML_WAR_NS_URI_RELATIVE</a> = 100 : 100
-    <a name="XML_ERR_MISSING_ENCODING" id="XML_ERR_MISSING_ENCODING">XML_ERR_MISSING_ENCODING</a> = 101 : 101
-    <a name="XML_WAR_SPACE_VALUE" id="XML_WAR_SPACE_VALUE">XML_WAR_SPACE_VALUE</a> = 102 : 102
-    <a name="XML_ERR_NOT_STANDALONE" id="XML_ERR_NOT_STANDALONE">XML_ERR_NOT_STANDALONE</a> = 103 : 103
-    <a name="XML_ERR_ENTITY_PROCESSING" id="XML_ERR_ENTITY_PROCESSING">XML_ERR_ENTITY_PROCESSING</a> = 104 : 104
-    <a name="XML_ERR_NOTATION_PROCESSING" id="XML_ERR_NOTATION_PROCESSING">XML_ERR_NOTATION_PROCESSING</a> = 105 : 105
-    <a name="XML_WAR_NS_COLUMN" id="XML_WAR_NS_COLUMN">XML_WAR_NS_COLUMN</a> = 106 : 106
-    <a name="XML_WAR_ENTITY_REDEFINED" id="XML_WAR_ENTITY_REDEFINED">XML_WAR_ENTITY_REDEFINED</a> = 107 : 107
-    <a name="XML_ERR_UNKNOWN_VERSION" id="XML_ERR_UNKNOWN_VERSION">XML_ERR_UNKNOWN_VERSION</a> = 108 : 108
-    <a name="XML_ERR_VERSION_MISMATCH" id="XML_ERR_VERSION_MISMATCH">XML_ERR_VERSION_MISMATCH</a> = 109 : 109
-    <a name="XML_ERR_NAME_TOO_LONG" id="XML_ERR_NAME_TOO_LONG">XML_ERR_NAME_TOO_LONG</a> = 110 : 110
-    <a name="XML_ERR_USER_STOP" id="XML_ERR_USER_STOP">XML_ERR_USER_STOP</a> = 111 : 111
-    <a name="XML_NS_ERR_XML_NAMESPACE" id="XML_NS_ERR_XML_NAMESPACE">XML_NS_ERR_XML_NAMESPACE</a> = 200
-    <a name="XML_NS_ERR_UNDEFINED_NAMESPACE" id="XML_NS_ERR_UNDEFINED_NAMESPACE">XML_NS_ERR_UNDEFINED_NAMESPACE</a> = 201 : 201
-    <a name="XML_NS_ERR_QNAME" id="XML_NS_ERR_QNAME">XML_NS_ERR_QNAME</a> = 202 : 202
-    <a name="XML_NS_ERR_ATTRIBUTE_REDEFINED" id="XML_NS_ERR_ATTRIBUTE_REDEFINED">XML_NS_ERR_ATTRIBUTE_REDEFINED</a> = 203 : 203
-    <a name="XML_NS_ERR_EMPTY" id="XML_NS_ERR_EMPTY">XML_NS_ERR_EMPTY</a> = 204 : 204
-    <a name="XML_NS_ERR_COLON" id="XML_NS_ERR_COLON">XML_NS_ERR_COLON</a> = 205 : 205
-    <a name="XML_DTD_ATTRIBUTE_DEFAULT" id="XML_DTD_ATTRIBUTE_DEFAULT">XML_DTD_ATTRIBUTE_DEFAULT</a> = 500
-    <a name="XML_DTD_ATTRIBUTE_REDEFINED" id="XML_DTD_ATTRIBUTE_REDEFINED">XML_DTD_ATTRIBUTE_REDEFINED</a> = 501 : 501
-    <a name="XML_DTD_ATTRIBUTE_VALUE" id="XML_DTD_ATTRIBUTE_VALUE">XML_DTD_ATTRIBUTE_VALUE</a> = 502 : 502
-    <a name="XML_DTD_CONTENT_ERROR" id="XML_DTD_CONTENT_ERROR">XML_DTD_CONTENT_ERROR</a> = 503 : 503
-    <a name="XML_DTD_CONTENT_MODEL" id="XML_DTD_CONTENT_MODEL">XML_DTD_CONTENT_MODEL</a> = 504 : 504
-    <a name="XML_DTD_CONTENT_NOT_DETERMINIST" id="XML_DTD_CONTENT_NOT_DETERMINIST">XML_DTD_CONTENT_NOT_DETERMINIST</a> = 505 : 505
-    <a name="XML_DTD_DIFFERENT_PREFIX" id="XML_DTD_DIFFERENT_PREFIX">XML_DTD_DIFFERENT_PREFIX</a> = 506 : 506
-    <a name="XML_DTD_ELEM_DEFAULT_NAMESPACE" id="XML_DTD_ELEM_DEFAULT_NAMESPACE">XML_DTD_ELEM_DEFAULT_NAMESPACE</a> = 507 : 507
-    <a name="XML_DTD_ELEM_NAMESPACE" id="XML_DTD_ELEM_NAMESPACE">XML_DTD_ELEM_NAMESPACE</a> = 508 : 508
-    <a name="XML_DTD_ELEM_REDEFINED" id="XML_DTD_ELEM_REDEFINED">XML_DTD_ELEM_REDEFINED</a> = 509 : 509
-    <a name="XML_DTD_EMPTY_NOTATION" id="XML_DTD_EMPTY_NOTATION">XML_DTD_EMPTY_NOTATION</a> = 510 : 510
-    <a name="XML_DTD_ENTITY_TYPE" id="XML_DTD_ENTITY_TYPE">XML_DTD_ENTITY_TYPE</a> = 511 : 511
-    <a name="XML_DTD_ID_FIXED" id="XML_DTD_ID_FIXED">XML_DTD_ID_FIXED</a> = 512 : 512
-    <a name="XML_DTD_ID_REDEFINED" id="XML_DTD_ID_REDEFINED">XML_DTD_ID_REDEFINED</a> = 513 : 513
-    <a name="XML_DTD_ID_SUBSET" id="XML_DTD_ID_SUBSET">XML_DTD_ID_SUBSET</a> = 514 : 514
-    <a name="XML_DTD_INVALID_CHILD" id="XML_DTD_INVALID_CHILD">XML_DTD_INVALID_CHILD</a> = 515 : 515
-    <a name="XML_DTD_INVALID_DEFAULT" id="XML_DTD_INVALID_DEFAULT">XML_DTD_INVALID_DEFAULT</a> = 516 : 516
-    <a name="XML_DTD_LOAD_ERROR" id="XML_DTD_LOAD_ERROR">XML_DTD_LOAD_ERROR</a> = 517 : 517
-    <a name="XML_DTD_MISSING_ATTRIBUTE" id="XML_DTD_MISSING_ATTRIBUTE">XML_DTD_MISSING_ATTRIBUTE</a> = 518 : 518
-    <a name="XML_DTD_MIXED_CORRUPT" id="XML_DTD_MIXED_CORRUPT">XML_DTD_MIXED_CORRUPT</a> = 519 : 519
-    <a name="XML_DTD_MULTIPLE_ID" id="XML_DTD_MULTIPLE_ID">XML_DTD_MULTIPLE_ID</a> = 520 : 520
-    <a name="XML_DTD_NO_DOC" id="XML_DTD_NO_DOC">XML_DTD_NO_DOC</a> = 521 : 521
-    <a name="XML_DTD_NO_DTD" id="XML_DTD_NO_DTD">XML_DTD_NO_DTD</a> = 522 : 522
-    <a name="XML_DTD_NO_ELEM_NAME" id="XML_DTD_NO_ELEM_NAME">XML_DTD_NO_ELEM_NAME</a> = 523 : 523
-    <a name="XML_DTD_NO_PREFIX" id="XML_DTD_NO_PREFIX">XML_DTD_NO_PREFIX</a> = 524 : 524
-    <a name="XML_DTD_NO_ROOT" id="XML_DTD_NO_ROOT">XML_DTD_NO_ROOT</a> = 525 : 525
-    <a name="XML_DTD_NOTATION_REDEFINED" id="XML_DTD_NOTATION_REDEFINED">XML_DTD_NOTATION_REDEFINED</a> = 526 : 526
-    <a name="XML_DTD_NOTATION_VALUE" id="XML_DTD_NOTATION_VALUE">XML_DTD_NOTATION_VALUE</a> = 527 : 527
-    <a name="XML_DTD_NOT_EMPTY" id="XML_DTD_NOT_EMPTY">XML_DTD_NOT_EMPTY</a> = 528 : 528
-    <a name="XML_DTD_NOT_PCDATA" id="XML_DTD_NOT_PCDATA">XML_DTD_NOT_PCDATA</a> = 529 : 529
-    <a name="XML_DTD_NOT_STANDALONE" id="XML_DTD_NOT_STANDALONE">XML_DTD_NOT_STANDALONE</a> = 530 : 530
-    <a name="XML_DTD_ROOT_NAME" id="XML_DTD_ROOT_NAME">XML_DTD_ROOT_NAME</a> = 531 : 531
-    <a name="XML_DTD_STANDALONE_WHITE_SPACE" id="XML_DTD_STANDALONE_WHITE_SPACE">XML_DTD_STANDALONE_WHITE_SPACE</a> = 532 : 532
-    <a name="XML_DTD_UNKNOWN_ATTRIBUTE" id="XML_DTD_UNKNOWN_ATTRIBUTE">XML_DTD_UNKNOWN_ATTRIBUTE</a> = 533 : 533
-    <a name="XML_DTD_UNKNOWN_ELEM" id="XML_DTD_UNKNOWN_ELEM">XML_DTD_UNKNOWN_ELEM</a> = 534 : 534
-    <a name="XML_DTD_UNKNOWN_ENTITY" id="XML_DTD_UNKNOWN_ENTITY">XML_DTD_UNKNOWN_ENTITY</a> = 535 : 535
-    <a name="XML_DTD_UNKNOWN_ID" id="XML_DTD_UNKNOWN_ID">XML_DTD_UNKNOWN_ID</a> = 536 : 536
-    <a name="XML_DTD_UNKNOWN_NOTATION" id="XML_DTD_UNKNOWN_NOTATION">XML_DTD_UNKNOWN_NOTATION</a> = 537 : 537
-    <a name="XML_DTD_STANDALONE_DEFAULTED" id="XML_DTD_STANDALONE_DEFAULTED">XML_DTD_STANDALONE_DEFAULTED</a> = 538 : 538
-    <a name="XML_DTD_XMLID_VALUE" id="XML_DTD_XMLID_VALUE">XML_DTD_XMLID_VALUE</a> = 539 : 539
-    <a name="XML_DTD_XMLID_TYPE" id="XML_DTD_XMLID_TYPE">XML_DTD_XMLID_TYPE</a> = 540 : 540
-    <a name="XML_DTD_DUP_TOKEN" id="XML_DTD_DUP_TOKEN">XML_DTD_DUP_TOKEN</a> = 541 : 541
-    <a name="XML_HTML_STRUCURE_ERROR" id="XML_HTML_STRUCURE_ERROR">XML_HTML_STRUCURE_ERROR</a> = 800
-    <a name="XML_HTML_UNKNOWN_TAG" id="XML_HTML_UNKNOWN_TAG">XML_HTML_UNKNOWN_TAG</a> = 801 : 801
-    <a name="XML_RNGP_ANYNAME_ATTR_ANCESTOR" id="XML_RNGP_ANYNAME_ATTR_ANCESTOR">XML_RNGP_ANYNAME_ATTR_ANCESTOR</a> = 1000
-    <a name="XML_RNGP_ATTR_CONFLICT" id="XML_RNGP_ATTR_CONFLICT">XML_RNGP_ATTR_CONFLICT</a> = 1001 : 1001
-    <a name="XML_RNGP_ATTRIBUTE_CHILDREN" id="XML_RNGP_ATTRIBUTE_CHILDREN">XML_RNGP_ATTRIBUTE_CHILDREN</a> = 1002 : 1002
-    <a name="XML_RNGP_ATTRIBUTE_CONTENT" id="XML_RNGP_ATTRIBUTE_CONTENT">XML_RNGP_ATTRIBUTE_CONTENT</a> = 1003 : 1003
-    <a name="XML_RNGP_ATTRIBUTE_EMPTY" id="XML_RNGP_ATTRIBUTE_EMPTY">XML_RNGP_ATTRIBUTE_EMPTY</a> = 1004 : 1004
-    <a name="XML_RNGP_ATTRIBUTE_NOOP" id="XML_RNGP_ATTRIBUTE_NOOP">XML_RNGP_ATTRIBUTE_NOOP</a> = 1005 : 1005
-    <a name="XML_RNGP_CHOICE_CONTENT" id="XML_RNGP_CHOICE_CONTENT">XML_RNGP_CHOICE_CONTENT</a> = 1006 : 1006
-    <a name="XML_RNGP_CHOICE_EMPTY" id="XML_RNGP_CHOICE_EMPTY">XML_RNGP_CHOICE_EMPTY</a> = 1007 : 1007
-    <a name="XML_RNGP_CREATE_FAILURE" id="XML_RNGP_CREATE_FAILURE">XML_RNGP_CREATE_FAILURE</a> = 1008 : 1008
-    <a name="XML_RNGP_DATA_CONTENT" id="XML_RNGP_DATA_CONTENT">XML_RNGP_DATA_CONTENT</a> = 1009 : 1009
-    <a name="XML_RNGP_DEF_CHOICE_AND_INTERLEAVE" id="XML_RNGP_DEF_CHOICE_AND_INTERLEAVE">XML_RNGP_DEF_CHOICE_AND_INTERLEAVE</a> = 1010 : 1010
-    <a name="XML_RNGP_DEFINE_CREATE_FAILED" id="XML_RNGP_DEFINE_CREATE_FAILED">XML_RNGP_DEFINE_CREATE_FAILED</a> = 1011 : 1011
-    <a name="XML_RNGP_DEFINE_EMPTY" id="XML_RNGP_DEFINE_EMPTY">XML_RNGP_DEFINE_EMPTY</a> = 1012 : 1012
-    <a name="XML_RNGP_DEFINE_MISSING" id="XML_RNGP_DEFINE_MISSING">XML_RNGP_DEFINE_MISSING</a> = 1013 : 1013
-    <a name="XML_RNGP_DEFINE_NAME_MISSING" id="XML_RNGP_DEFINE_NAME_MISSING">XML_RNGP_DEFINE_NAME_MISSING</a> = 1014 : 1014
-    <a name="XML_RNGP_ELEM_CONTENT_EMPTY" id="XML_RNGP_ELEM_CONTENT_EMPTY">XML_RNGP_ELEM_CONTENT_EMPTY</a> = 1015 : 1015
-    <a name="XML_RNGP_ELEM_CONTENT_ERROR" id="XML_RNGP_ELEM_CONTENT_ERROR">XML_RNGP_ELEM_CONTENT_ERROR</a> = 1016 : 1016
-    <a name="XML_RNGP_ELEMENT_EMPTY" id="XML_RNGP_ELEMENT_EMPTY">XML_RNGP_ELEMENT_EMPTY</a> = 1017 : 1017
-    <a name="XML_RNGP_ELEMENT_CONTENT" id="XML_RNGP_ELEMENT_CONTENT">XML_RNGP_ELEMENT_CONTENT</a> = 1018 : 1018
-    <a name="XML_RNGP_ELEMENT_NAME" id="XML_RNGP_ELEMENT_NAME">XML_RNGP_ELEMENT_NAME</a> = 1019 : 1019
-    <a name="XML_RNGP_ELEMENT_NO_CONTENT" id="XML_RNGP_ELEMENT_NO_CONTENT">XML_RNGP_ELEMENT_NO_CONTENT</a> = 1020 : 1020
-    <a name="XML_RNGP_ELEM_TEXT_CONFLICT" id="XML_RNGP_ELEM_TEXT_CONFLICT">XML_RNGP_ELEM_TEXT_CONFLICT</a> = 1021 : 1021
-    <a name="XML_RNGP_EMPTY" id="XML_RNGP_EMPTY">XML_RNGP_EMPTY</a> = 1022 : 1022
-    <a name="XML_RNGP_EMPTY_CONSTRUCT" id="XML_RNGP_EMPTY_CONSTRUCT">XML_RNGP_EMPTY_CONSTRUCT</a> = 1023 : 1023
-    <a name="XML_RNGP_EMPTY_CONTENT" id="XML_RNGP_EMPTY_CONTENT">XML_RNGP_EMPTY_CONTENT</a> = 1024 : 1024
-    <a name="XML_RNGP_EMPTY_NOT_EMPTY" id="XML_RNGP_EMPTY_NOT_EMPTY">XML_RNGP_EMPTY_NOT_EMPTY</a> = 1025 : 1025
-    <a name="XML_RNGP_ERROR_TYPE_LIB" id="XML_RNGP_ERROR_TYPE_LIB">XML_RNGP_ERROR_TYPE_LIB</a> = 1026 : 1026
-    <a name="XML_RNGP_EXCEPT_EMPTY" id="XML_RNGP_EXCEPT_EMPTY">XML_RNGP_EXCEPT_EMPTY</a> = 1027 : 1027
-    <a name="XML_RNGP_EXCEPT_MISSING" id="XML_RNGP_EXCEPT_MISSING">XML_RNGP_EXCEPT_MISSING</a> = 1028 : 1028
-    <a name="XML_RNGP_EXCEPT_MULTIPLE" id="XML_RNGP_EXCEPT_MULTIPLE">XML_RNGP_EXCEPT_MULTIPLE</a> = 1029 : 1029
-    <a name="XML_RNGP_EXCEPT_NO_CONTENT" id="XML_RNGP_EXCEPT_NO_CONTENT">XML_RNGP_EXCEPT_NO_CONTENT</a> = 1030 : 1030
-    <a name="XML_RNGP_EXTERNALREF_EMTPY" id="XML_RNGP_EXTERNALREF_EMTPY">XML_RNGP_EXTERNALREF_EMTPY</a> = 1031 : 1031
-    <a name="XML_RNGP_EXTERNAL_REF_FAILURE" id="XML_RNGP_EXTERNAL_REF_FAILURE">XML_RNGP_EXTERNAL_REF_FAILURE</a> = 1032 : 1032
-    <a name="XML_RNGP_EXTERNALREF_RECURSE" id="XML_RNGP_EXTERNALREF_RECURSE">XML_RNGP_EXTERNALREF_RECURSE</a> = 1033 : 1033
-    <a name="XML_RNGP_FORBIDDEN_ATTRIBUTE" id="XML_RNGP_FORBIDDEN_ATTRIBUTE">XML_RNGP_FORBIDDEN_ATTRIBUTE</a> = 1034 : 1034
-    <a name="XML_RNGP_FOREIGN_ELEMENT" id="XML_RNGP_FOREIGN_ELEMENT">XML_RNGP_FOREIGN_ELEMENT</a> = 1035 : 1035
-    <a name="XML_RNGP_GRAMMAR_CONTENT" id="XML_RNGP_GRAMMAR_CONTENT">XML_RNGP_GRAMMAR_CONTENT</a> = 1036 : 1036
-    <a name="XML_RNGP_GRAMMAR_EMPTY" id="XML_RNGP_GRAMMAR_EMPTY">XML_RNGP_GRAMMAR_EMPTY</a> = 1037 : 1037
-    <a name="XML_RNGP_GRAMMAR_MISSING" id="XML_RNGP_GRAMMAR_MISSING">XML_RNGP_GRAMMAR_MISSING</a> = 1038 : 1038
-    <a name="XML_RNGP_GRAMMAR_NO_START" id="XML_RNGP_GRAMMAR_NO_START">XML_RNGP_GRAMMAR_NO_START</a> = 1039 : 1039
-    <a name="XML_RNGP_GROUP_ATTR_CONFLICT" id="XML_RNGP_GROUP_ATTR_CONFLICT">XML_RNGP_GROUP_ATTR_CONFLICT</a> = 1040 : 1040
-    <a name="XML_RNGP_HREF_ERROR" id="XML_RNGP_HREF_ERROR">XML_RNGP_HREF_ERROR</a> = 1041 : 1041
-    <a name="XML_RNGP_INCLUDE_EMPTY" id="XML_RNGP_INCLUDE_EMPTY">XML_RNGP_INCLUDE_EMPTY</a> = 1042 : 1042
-    <a name="XML_RNGP_INCLUDE_FAILURE" id="XML_RNGP_INCLUDE_FAILURE">XML_RNGP_INCLUDE_FAILURE</a> = 1043 : 1043
-    <a name="XML_RNGP_INCLUDE_RECURSE" id="XML_RNGP_INCLUDE_RECURSE">XML_RNGP_INCLUDE_RECURSE</a> = 1044 : 1044
-    <a name="XML_RNGP_INTERLEAVE_ADD" id="XML_RNGP_INTERLEAVE_ADD">XML_RNGP_INTERLEAVE_ADD</a> = 1045 : 1045
-    <a name="XML_RNGP_INTERLEAVE_CREATE_FAILED" id="XML_RNGP_INTERLEAVE_CREATE_FAILED">XML_RNGP_INTERLEAVE_CREATE_FAILED</a> = 1046 : 1046
-    <a name="XML_RNGP_INTERLEAVE_EMPTY" id="XML_RNGP_INTERLEAVE_EMPTY">XML_RNGP_INTERLEAVE_EMPTY</a> = 1047 : 1047
-    <a name="XML_RNGP_INTERLEAVE_NO_CONTENT" id="XML_RNGP_INTERLEAVE_NO_CONTENT">XML_RNGP_INTERLEAVE_NO_CONTENT</a> = 1048 : 1048
-    <a name="XML_RNGP_INVALID_DEFINE_NAME" id="XML_RNGP_INVALID_DEFINE_NAME">XML_RNGP_INVALID_DEFINE_NAME</a> = 1049 : 1049
-    <a name="XML_RNGP_INVALID_URI" id="XML_RNGP_INVALID_URI">XML_RNGP_INVALID_URI</a> = 1050 : 1050
-    <a name="XML_RNGP_INVALID_VALUE" id="XML_RNGP_INVALID_VALUE">XML_RNGP_INVALID_VALUE</a> = 1051 : 1051
-    <a name="XML_RNGP_MISSING_HREF" id="XML_RNGP_MISSING_HREF">XML_RNGP_MISSING_HREF</a> = 1052 : 1052
-    <a name="XML_RNGP_NAME_MISSING" id="XML_RNGP_NAME_MISSING">XML_RNGP_NAME_MISSING</a> = 1053 : 1053
-    <a name="XML_RNGP_NEED_COMBINE" id="XML_RNGP_NEED_COMBINE">XML_RNGP_NEED_COMBINE</a> = 1054 : 1054
-    <a name="XML_RNGP_NOTALLOWED_NOT_EMPTY" id="XML_RNGP_NOTALLOWED_NOT_EMPTY">XML_RNGP_NOTALLOWED_NOT_EMPTY</a> = 1055 : 1055
-    <a name="XML_RNGP_NSNAME_ATTR_ANCESTOR" id="XML_RNGP_NSNAME_ATTR_ANCESTOR">XML_RNGP_NSNAME_ATTR_ANCESTOR</a> = 1056 : 1056
-    <a name="XML_RNGP_NSNAME_NO_NS" id="XML_RNGP_NSNAME_NO_NS">XML_RNGP_NSNAME_NO_NS</a> = 1057 : 1057
-    <a name="XML_RNGP_PARAM_FORBIDDEN" id="XML_RNGP_PARAM_FORBIDDEN">XML_RNGP_PARAM_FORBIDDEN</a> = 1058 : 1058
-    <a name="XML_RNGP_PARAM_NAME_MISSING" id="XML_RNGP_PARAM_NAME_MISSING">XML_RNGP_PARAM_NAME_MISSING</a> = 1059 : 1059
-    <a name="XML_RNGP_PARENTREF_CREATE_FAILED" id="XML_RNGP_PARENTREF_CREATE_FAILED">XML_RNGP_PARENTREF_CREATE_FAILED</a> = 1060 : 1060
-    <a name="XML_RNGP_PARENTREF_NAME_INVALID" id="XML_RNGP_PARENTREF_NAME_INVALID">XML_RNGP_PARENTREF_NAME_INVALID</a> = 1061 : 1061
-    <a name="XML_RNGP_PARENTREF_NO_NAME" id="XML_RNGP_PARENTREF_NO_NAME">XML_RNGP_PARENTREF_NO_NAME</a> = 1062 : 1062
-    <a name="XML_RNGP_PARENTREF_NO_PARENT" id="XML_RNGP_PARENTREF_NO_PARENT">XML_RNGP_PARENTREF_NO_PARENT</a> = 1063 : 1063
-    <a name="XML_RNGP_PARENTREF_NOT_EMPTY" id="XML_RNGP_PARENTREF_NOT_EMPTY">XML_RNGP_PARENTREF_NOT_EMPTY</a> = 1064 : 1064
-    <a name="XML_RNGP_PARSE_ERROR" id="XML_RNGP_PARSE_ERROR">XML_RNGP_PARSE_ERROR</a> = 1065 : 1065
-    <a name="XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME" id="XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME">XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME</a> = 1066 : 1066
-    <a name="XML_RNGP_PAT_ATTR_ATTR" id="XML_RNGP_PAT_ATTR_ATTR">XML_RNGP_PAT_ATTR_ATTR</a> = 1067 : 1067
-    <a name="XML_RNGP_PAT_ATTR_ELEM" id="XML_RNGP_PAT_ATTR_ELEM">XML_RNGP_PAT_ATTR_ELEM</a> = 1068 : 1068
-    <a name="XML_RNGP_PAT_DATA_EXCEPT_ATTR" id="XML_RNGP_PAT_DATA_EXCEPT_ATTR">XML_RNGP_PAT_DATA_EXCEPT_ATTR</a> = 1069 : 1069
-    <a name="XML_RNGP_PAT_DATA_EXCEPT_ELEM" id="XML_RNGP_PAT_DATA_EXCEPT_ELEM">XML_RNGP_PAT_DATA_EXCEPT_ELEM</a> = 1070 : 1070
-    <a name="XML_RNGP_PAT_DATA_EXCEPT_EMPTY" id="XML_RNGP_PAT_DATA_EXCEPT_EMPTY">XML_RNGP_PAT_DATA_EXCEPT_EMPTY</a> = 1071 : 1071
-    <a name="XML_RNGP_PAT_DATA_EXCEPT_GROUP" id="XML_RNGP_PAT_DATA_EXCEPT_GROUP">XML_RNGP_PAT_DATA_EXCEPT_GROUP</a> = 1072 : 1072
-    <a name="XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE" id="XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE">XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE</a> = 1073 : 1073
-    <a name="XML_RNGP_PAT_DATA_EXCEPT_LIST" id="XML_RNGP_PAT_DATA_EXCEPT_LIST">XML_RNGP_PAT_DATA_EXCEPT_LIST</a> = 1074 : 1074
-    <a name="XML_RNGP_PAT_DATA_EXCEPT_ONEMORE" id="XML_RNGP_PAT_DATA_EXCEPT_ONEMORE">XML_RNGP_PAT_DATA_EXCEPT_ONEMORE</a> = 1075 : 1075
-    <a name="XML_RNGP_PAT_DATA_EXCEPT_REF" id="XML_RNGP_PAT_DATA_EXCEPT_REF">XML_RNGP_PAT_DATA_EXCEPT_REF</a> = 1076 : 1076
-    <a name="XML_RNGP_PAT_DATA_EXCEPT_TEXT" id="XML_RNGP_PAT_DATA_EXCEPT_TEXT">XML_RNGP_PAT_DATA_EXCEPT_TEXT</a> = 1077 : 1077
-    <a name="XML_RNGP_PAT_LIST_ATTR" id="XML_RNGP_PAT_LIST_ATTR">XML_RNGP_PAT_LIST_ATTR</a> = 1078 : 1078
-    <a name="XML_RNGP_PAT_LIST_ELEM" id="XML_RNGP_PAT_LIST_ELEM">XML_RNGP_PAT_LIST_ELEM</a> = 1079 : 1079
-    <a name="XML_RNGP_PAT_LIST_INTERLEAVE" id="XML_RNGP_PAT_LIST_INTERLEAVE">XML_RNGP_PAT_LIST_INTERLEAVE</a> = 1080 : 1080
-    <a name="XML_RNGP_PAT_LIST_LIST" id="XML_RNGP_PAT_LIST_LIST">XML_RNGP_PAT_LIST_LIST</a> = 1081 : 1081
-    <a name="XML_RNGP_PAT_LIST_REF" id="XML_RNGP_PAT_LIST_REF">XML_RNGP_PAT_LIST_REF</a> = 1082 : 1082
-    <a name="XML_RNGP_PAT_LIST_TEXT" id="XML_RNGP_PAT_LIST_TEXT">XML_RNGP_PAT_LIST_TEXT</a> = 1083 : 1083
-    <a name="XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME" id="XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME">XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME</a> = 1084 : 1084
-    <a name="XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME" id="XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME">XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME</a> = 1085 : 1085
-    <a name="XML_RNGP_PAT_ONEMORE_GROUP_ATTR" id="XML_RNGP_PAT_ONEMORE_GROUP_ATTR">XML_RNGP_PAT_ONEMORE_GROUP_ATTR</a> = 1086 : 1086
-    <a name="XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR" id="XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR">XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR</a> = 1087 : 1087
-    <a name="XML_RNGP_PAT_START_ATTR" id="XML_RNGP_PAT_START_ATTR">XML_RNGP_PAT_START_ATTR</a> = 1088 : 1088
-    <a name="XML_RNGP_PAT_START_DATA" id="XML_RNGP_PAT_START_DATA">XML_RNGP_PAT_START_DATA</a> = 1089 : 1089
-    <a name="XML_RNGP_PAT_START_EMPTY" id="XML_RNGP_PAT_START_EMPTY">XML_RNGP_PAT_START_EMPTY</a> = 1090 : 1090
-    <a name="XML_RNGP_PAT_START_GROUP" id="XML_RNGP_PAT_START_GROUP">XML_RNGP_PAT_START_GROUP</a> = 1091 : 1091
-    <a name="XML_RNGP_PAT_START_INTERLEAVE" id="XML_RNGP_PAT_START_INTERLEAVE">XML_RNGP_PAT_START_INTERLEAVE</a> = 1092 : 1092
-    <a name="XML_RNGP_PAT_START_LIST" id="XML_RNGP_PAT_START_LIST">XML_RNGP_PAT_START_LIST</a> = 1093 : 1093
-    <a name="XML_RNGP_PAT_START_ONEMORE" id="XML_RNGP_PAT_START_ONEMORE">XML_RNGP_PAT_START_ONEMORE</a> = 1094 : 1094
-    <a name="XML_RNGP_PAT_START_TEXT" id="XML_RNGP_PAT_START_TEXT">XML_RNGP_PAT_START_TEXT</a> = 1095 : 1095
-    <a name="XML_RNGP_PAT_START_VALUE" id="XML_RNGP_PAT_START_VALUE">XML_RNGP_PAT_START_VALUE</a> = 1096 : 1096
-    <a name="XML_RNGP_PREFIX_UNDEFINED" id="XML_RNGP_PREFIX_UNDEFINED">XML_RNGP_PREFIX_UNDEFINED</a> = 1097 : 1097
-    <a name="XML_RNGP_REF_CREATE_FAILED" id="XML_RNGP_REF_CREATE_FAILED">XML_RNGP_REF_CREATE_FAILED</a> = 1098 : 1098
-    <a name="XML_RNGP_REF_CYCLE" id="XML_RNGP_REF_CYCLE">XML_RNGP_REF_CYCLE</a> = 1099 : 1099
-    <a name="XML_RNGP_REF_NAME_INVALID" id="XML_RNGP_REF_NAME_INVALID">XML_RNGP_REF_NAME_INVALID</a> = 1100 : 1100
-    <a name="XML_RNGP_REF_NO_DEF" id="XML_RNGP_REF_NO_DEF">XML_RNGP_REF_NO_DEF</a> = 1101 : 1101
-    <a name="XML_RNGP_REF_NO_NAME" id="XML_RNGP_REF_NO_NAME">XML_RNGP_REF_NO_NAME</a> = 1102 : 1102
-    <a name="XML_RNGP_REF_NOT_EMPTY" id="XML_RNGP_REF_NOT_EMPTY">XML_RNGP_REF_NOT_EMPTY</a> = 1103 : 1103
-    <a name="XML_RNGP_START_CHOICE_AND_INTERLEAVE" id="XML_RNGP_START_CHOICE_AND_INTERLEAVE">XML_RNGP_START_CHOICE_AND_INTERLEAVE</a> = 1104 : 1104
-    <a name="XML_RNGP_START_CONTENT" id="XML_RNGP_START_CONTENT">XML_RNGP_START_CONTENT</a> = 1105 : 1105
-    <a name="XML_RNGP_START_EMPTY" id="XML_RNGP_START_EMPTY">XML_RNGP_START_EMPTY</a> = 1106 : 1106
-    <a name="XML_RNGP_START_MISSING" id="XML_RNGP_START_MISSING">XML_RNGP_START_MISSING</a> = 1107 : 1107
-    <a name="XML_RNGP_TEXT_EXPECTED" id="XML_RNGP_TEXT_EXPECTED">XML_RNGP_TEXT_EXPECTED</a> = 1108 : 1108
-    <a name="XML_RNGP_TEXT_HAS_CHILD" id="XML_RNGP_TEXT_HAS_CHILD">XML_RNGP_TEXT_HAS_CHILD</a> = 1109 : 1109
-    <a name="XML_RNGP_TYPE_MISSING" id="XML_RNGP_TYPE_MISSING">XML_RNGP_TYPE_MISSING</a> = 1110 : 1110
-    <a name="XML_RNGP_TYPE_NOT_FOUND" id="XML_RNGP_TYPE_NOT_FOUND">XML_RNGP_TYPE_NOT_FOUND</a> = 1111 : 1111
-    <a name="XML_RNGP_TYPE_VALUE" id="XML_RNGP_TYPE_VALUE">XML_RNGP_TYPE_VALUE</a> = 1112 : 1112
-    <a name="XML_RNGP_UNKNOWN_ATTRIBUTE" id="XML_RNGP_UNKNOWN_ATTRIBUTE">XML_RNGP_UNKNOWN_ATTRIBUTE</a> = 1113 : 1113
-    <a name="XML_RNGP_UNKNOWN_COMBINE" id="XML_RNGP_UNKNOWN_COMBINE">XML_RNGP_UNKNOWN_COMBINE</a> = 1114 : 1114
-    <a name="XML_RNGP_UNKNOWN_CONSTRUCT" id="XML_RNGP_UNKNOWN_CONSTRUCT">XML_RNGP_UNKNOWN_CONSTRUCT</a> = 1115 : 1115
-    <a name="XML_RNGP_UNKNOWN_TYPE_LIB" id="XML_RNGP_UNKNOWN_TYPE_LIB">XML_RNGP_UNKNOWN_TYPE_LIB</a> = 1116 : 1116
-    <a name="XML_RNGP_URI_FRAGMENT" id="XML_RNGP_URI_FRAGMENT">XML_RNGP_URI_FRAGMENT</a> = 1117 : 1117
-    <a name="XML_RNGP_URI_NOT_ABSOLUTE" id="XML_RNGP_URI_NOT_ABSOLUTE">XML_RNGP_URI_NOT_ABSOLUTE</a> = 1118 : 1118
-    <a name="XML_RNGP_VALUE_EMPTY" id="XML_RNGP_VALUE_EMPTY">XML_RNGP_VALUE_EMPTY</a> = 1119 : 1119
-    <a name="XML_RNGP_VALUE_NO_CONTENT" id="XML_RNGP_VALUE_NO_CONTENT">XML_RNGP_VALUE_NO_CONTENT</a> = 1120 : 1120
-    <a name="XML_RNGP_XMLNS_NAME" id="XML_RNGP_XMLNS_NAME">XML_RNGP_XMLNS_NAME</a> = 1121 : 1121
-    <a name="XML_RNGP_XML_NS" id="XML_RNGP_XML_NS">XML_RNGP_XML_NS</a> = 1122 : 1122
-    <a name="XML_XPATH_EXPRESSION_OK" id="XML_XPATH_EXPRESSION_OK">XML_XPATH_EXPRESSION_OK</a> = 1200
-    <a name="XML_XPATH_NUMBER_ERROR" id="XML_XPATH_NUMBER_ERROR">XML_XPATH_NUMBER_ERROR</a> = 1201 : 1201
-    <a name="XML_XPATH_UNFINISHED_LITERAL_ERROR" id="XML_XPATH_UNFINISHED_LITERAL_ERROR">XML_XPATH_UNFINISHED_LITERAL_ERROR</a> = 1202 : 1202
-    <a name="XML_XPATH_START_LITERAL_ERROR" id="XML_XPATH_START_LITERAL_ERROR">XML_XPATH_START_LITERAL_ERROR</a> = 1203 : 1203
-    <a name="XML_XPATH_VARIABLE_REF_ERROR" id="XML_XPATH_VARIABLE_REF_ERROR">XML_XPATH_VARIABLE_REF_ERROR</a> = 1204 : 1204
-    <a name="XML_XPATH_UNDEF_VARIABLE_ERROR" id="XML_XPATH_UNDEF_VARIABLE_ERROR">XML_XPATH_UNDEF_VARIABLE_ERROR</a> = 1205 : 1205
-    <a name="XML_XPATH_INVALID_PREDICATE_ERROR" id="XML_XPATH_INVALID_PREDICATE_ERROR">XML_XPATH_INVALID_PREDICATE_ERROR</a> = 1206 : 1206
-    <a name="XML_XPATH_EXPR_ERROR" id="XML_XPATH_EXPR_ERROR">XML_XPATH_EXPR_ERROR</a> = 1207 : 1207
-    <a name="XML_XPATH_UNCLOSED_ERROR" id="XML_XPATH_UNCLOSED_ERROR">XML_XPATH_UNCLOSED_ERROR</a> = 1208 : 1208
-    <a name="XML_XPATH_UNKNOWN_FUNC_ERROR" id="XML_XPATH_UNKNOWN_FUNC_ERROR">XML_XPATH_UNKNOWN_FUNC_ERROR</a> = 1209 : 1209
-    <a name="XML_XPATH_INVALID_OPERAND" id="XML_XPATH_INVALID_OPERAND">XML_XPATH_INVALID_OPERAND</a> = 1210 : 1210
-    <a name="XML_XPATH_INVALID_TYPE" id="XML_XPATH_INVALID_TYPE">XML_XPATH_INVALID_TYPE</a> = 1211 : 1211
-    <a name="XML_XPATH_INVALID_ARITY" id="XML_XPATH_INVALID_ARITY">XML_XPATH_INVALID_ARITY</a> = 1212 : 1212
-    <a name="XML_XPATH_INVALID_CTXT_SIZE" id="XML_XPATH_INVALID_CTXT_SIZE">XML_XPATH_INVALID_CTXT_SIZE</a> = 1213 : 1213
-    <a name="XML_XPATH_INVALID_CTXT_POSITION" id="XML_XPATH_INVALID_CTXT_POSITION">XML_XPATH_INVALID_CTXT_POSITION</a> = 1214 : 1214
-    <a name="XML_XPATH_MEMORY_ERROR" id="XML_XPATH_MEMORY_ERROR">XML_XPATH_MEMORY_ERROR</a> = 1215 : 1215
-    <a name="XML_XPTR_SYNTAX_ERROR" id="XML_XPTR_SYNTAX_ERROR">XML_XPTR_SYNTAX_ERROR</a> = 1216 : 1216
-    <a name="XML_XPTR_RESOURCE_ERROR" id="XML_XPTR_RESOURCE_ERROR">XML_XPTR_RESOURCE_ERROR</a> = 1217 : 1217
-    <a name="XML_XPTR_SUB_RESOURCE_ERROR" id="XML_XPTR_SUB_RESOURCE_ERROR">XML_XPTR_SUB_RESOURCE_ERROR</a> = 1218 : 1218
-    <a name="XML_XPATH_UNDEF_PREFIX_ERROR" id="XML_XPATH_UNDEF_PREFIX_ERROR">XML_XPATH_UNDEF_PREFIX_ERROR</a> = 1219 : 1219
-    <a name="XML_XPATH_ENCODING_ERROR" id="XML_XPATH_ENCODING_ERROR">XML_XPATH_ENCODING_ERROR</a> = 1220 : 1220
-    <a name="XML_XPATH_INVALID_CHAR_ERROR" id="XML_XPATH_INVALID_CHAR_ERROR">XML_XPATH_INVALID_CHAR_ERROR</a> = 1221 : 1221
-    <a name="XML_TREE_INVALID_HEX" id="XML_TREE_INVALID_HEX">XML_TREE_INVALID_HEX</a> = 1300
-    <a name="XML_TREE_INVALID_DEC" id="XML_TREE_INVALID_DEC">XML_TREE_INVALID_DEC</a> = 1301 : 1301
-    <a name="XML_TREE_UNTERMINATED_ENTITY" id="XML_TREE_UNTERMINATED_ENTITY">XML_TREE_UNTERMINATED_ENTITY</a> = 1302 : 1302
-    <a name="XML_TREE_NOT_UTF8" id="XML_TREE_NOT_UTF8">XML_TREE_NOT_UTF8</a> = 1303 : 1303
-    <a name="XML_SAVE_NOT_UTF8" id="XML_SAVE_NOT_UTF8">XML_SAVE_NOT_UTF8</a> = 1400
-    <a name="XML_SAVE_CHAR_INVALID" id="XML_SAVE_CHAR_INVALID">XML_SAVE_CHAR_INVALID</a> = 1401 : 1401
-    <a name="XML_SAVE_NO_DOCTYPE" id="XML_SAVE_NO_DOCTYPE">XML_SAVE_NO_DOCTYPE</a> = 1402 : 1402
-    <a name="XML_SAVE_UNKNOWN_ENCODING" id="XML_SAVE_UNKNOWN_ENCODING">XML_SAVE_UNKNOWN_ENCODING</a> = 1403 : 1403
-    <a name="XML_REGEXP_COMPILE_ERROR" id="XML_REGEXP_COMPILE_ERROR">XML_REGEXP_COMPILE_ERROR</a> = 1450
-    <a name="XML_IO_UNKNOWN" id="XML_IO_UNKNOWN">XML_IO_UNKNOWN</a> = 1500
-    <a name="XML_IO_EACCES" id="XML_IO_EACCES">XML_IO_EACCES</a> = 1501 : 1501
-    <a name="XML_IO_EAGAIN" id="XML_IO_EAGAIN">XML_IO_EAGAIN</a> = 1502 : 1502
-    <a name="XML_IO_EBADF" id="XML_IO_EBADF">XML_IO_EBADF</a> = 1503 : 1503
-    <a name="XML_IO_EBADMSG" id="XML_IO_EBADMSG">XML_IO_EBADMSG</a> = 1504 : 1504
-    <a name="XML_IO_EBUSY" id="XML_IO_EBUSY">XML_IO_EBUSY</a> = 1505 : 1505
-    <a name="XML_IO_ECANCELED" id="XML_IO_ECANCELED">XML_IO_ECANCELED</a> = 1506 : 1506
-    <a name="XML_IO_ECHILD" id="XML_IO_ECHILD">XML_IO_ECHILD</a> = 1507 : 1507
-    <a name="XML_IO_EDEADLK" id="XML_IO_EDEADLK">XML_IO_EDEADLK</a> = 1508 : 1508
-    <a name="XML_IO_EDOM" id="XML_IO_EDOM">XML_IO_EDOM</a> = 1509 : 1509
-    <a name="XML_IO_EEXIST" id="XML_IO_EEXIST">XML_IO_EEXIST</a> = 1510 : 1510
-    <a name="XML_IO_EFAULT" id="XML_IO_EFAULT">XML_IO_EFAULT</a> = 1511 : 1511
-    <a name="XML_IO_EFBIG" id="XML_IO_EFBIG">XML_IO_EFBIG</a> = 1512 : 1512
-    <a name="XML_IO_EINPROGRESS" id="XML_IO_EINPROGRESS">XML_IO_EINPROGRESS</a> = 1513 : 1513
-    <a name="XML_IO_EINTR" id="XML_IO_EINTR">XML_IO_EINTR</a> = 1514 : 1514
-    <a name="XML_IO_EINVAL" id="XML_IO_EINVAL">XML_IO_EINVAL</a> = 1515 : 1515
-    <a name="XML_IO_EIO" id="XML_IO_EIO">XML_IO_EIO</a> = 1516 : 1516
-    <a name="XML_IO_EISDIR" id="XML_IO_EISDIR">XML_IO_EISDIR</a> = 1517 : 1517
-    <a name="XML_IO_EMFILE" id="XML_IO_EMFILE">XML_IO_EMFILE</a> = 1518 : 1518
-    <a name="XML_IO_EMLINK" id="XML_IO_EMLINK">XML_IO_EMLINK</a> = 1519 : 1519
-    <a name="XML_IO_EMSGSIZE" id="XML_IO_EMSGSIZE">XML_IO_EMSGSIZE</a> = 1520 : 1520
-    <a name="XML_IO_ENAMETOOLONG" id="XML_IO_ENAMETOOLONG">XML_IO_ENAMETOOLONG</a> = 1521 : 1521
-    <a name="XML_IO_ENFILE" id="XML_IO_ENFILE">XML_IO_ENFILE</a> = 1522 : 1522
-    <a name="XML_IO_ENODEV" id="XML_IO_ENODEV">XML_IO_ENODEV</a> = 1523 : 1523
-    <a name="XML_IO_ENOENT" id="XML_IO_ENOENT">XML_IO_ENOENT</a> = 1524 : 1524
-    <a name="XML_IO_ENOEXEC" id="XML_IO_ENOEXEC">XML_IO_ENOEXEC</a> = 1525 : 1525
-    <a name="XML_IO_ENOLCK" id="XML_IO_ENOLCK">XML_IO_ENOLCK</a> = 1526 : 1526
-    <a name="XML_IO_ENOMEM" id="XML_IO_ENOMEM">XML_IO_ENOMEM</a> = 1527 : 1527
-    <a name="XML_IO_ENOSPC" id="XML_IO_ENOSPC">XML_IO_ENOSPC</a> = 1528 : 1528
-    <a name="XML_IO_ENOSYS" id="XML_IO_ENOSYS">XML_IO_ENOSYS</a> = 1529 : 1529
-    <a name="XML_IO_ENOTDIR" id="XML_IO_ENOTDIR">XML_IO_ENOTDIR</a> = 1530 : 1530
-    <a name="XML_IO_ENOTEMPTY" id="XML_IO_ENOTEMPTY">XML_IO_ENOTEMPTY</a> = 1531 : 1531
-    <a name="XML_IO_ENOTSUP" id="XML_IO_ENOTSUP">XML_IO_ENOTSUP</a> = 1532 : 1532
-    <a name="XML_IO_ENOTTY" id="XML_IO_ENOTTY">XML_IO_ENOTTY</a> = 1533 : 1533
-    <a name="XML_IO_ENXIO" id="XML_IO_ENXIO">XML_IO_ENXIO</a> = 1534 : 1534
-    <a name="XML_IO_EPERM" id="XML_IO_EPERM">XML_IO_EPERM</a> = 1535 : 1535
-    <a name="XML_IO_EPIPE" id="XML_IO_EPIPE">XML_IO_EPIPE</a> = 1536 : 1536
-    <a name="XML_IO_ERANGE" id="XML_IO_ERANGE">XML_IO_ERANGE</a> = 1537 : 1537
-    <a name="XML_IO_EROFS" id="XML_IO_EROFS">XML_IO_EROFS</a> = 1538 : 1538
-    <a name="XML_IO_ESPIPE" id="XML_IO_ESPIPE">XML_IO_ESPIPE</a> = 1539 : 1539
-    <a name="XML_IO_ESRCH" id="XML_IO_ESRCH">XML_IO_ESRCH</a> = 1540 : 1540
-    <a name="XML_IO_ETIMEDOUT" id="XML_IO_ETIMEDOUT">XML_IO_ETIMEDOUT</a> = 1541 : 1541
-    <a name="XML_IO_EXDEV" id="XML_IO_EXDEV">XML_IO_EXDEV</a> = 1542 : 1542
-    <a name="XML_IO_NETWORK_ATTEMPT" id="XML_IO_NETWORK_ATTEMPT">XML_IO_NETWORK_ATTEMPT</a> = 1543 : 1543
-    <a name="XML_IO_ENCODER" id="XML_IO_ENCODER">XML_IO_ENCODER</a> = 1544 : 1544
-    <a name="XML_IO_FLUSH" id="XML_IO_FLUSH">XML_IO_FLUSH</a> = 1545 : 1545
-    <a name="XML_IO_WRITE" id="XML_IO_WRITE">XML_IO_WRITE</a> = 1546 : 1546
-    <a name="XML_IO_NO_INPUT" id="XML_IO_NO_INPUT">XML_IO_NO_INPUT</a> = 1547 : 1547
-    <a name="XML_IO_BUFFER_FULL" id="XML_IO_BUFFER_FULL">XML_IO_BUFFER_FULL</a> = 1548 : 1548
-    <a name="XML_IO_LOAD_ERROR" id="XML_IO_LOAD_ERROR">XML_IO_LOAD_ERROR</a> = 1549 : 1549
-    <a name="XML_IO_ENOTSOCK" id="XML_IO_ENOTSOCK">XML_IO_ENOTSOCK</a> = 1550 : 1550
-    <a name="XML_IO_EISCONN" id="XML_IO_EISCONN">XML_IO_EISCONN</a> = 1551 : 1551
-    <a name="XML_IO_ECONNREFUSED" id="XML_IO_ECONNREFUSED">XML_IO_ECONNREFUSED</a> = 1552 : 1552
-    <a name="XML_IO_ENETUNREACH" id="XML_IO_ENETUNREACH">XML_IO_ENETUNREACH</a> = 1553 : 1553
-    <a name="XML_IO_EADDRINUSE" id="XML_IO_EADDRINUSE">XML_IO_EADDRINUSE</a> = 1554 : 1554
-    <a name="XML_IO_EALREADY" id="XML_IO_EALREADY">XML_IO_EALREADY</a> = 1555 : 1555
-    <a name="XML_IO_EAFNOSUPPORT" id="XML_IO_EAFNOSUPPORT">XML_IO_EAFNOSUPPORT</a> = 1556 : 1556
-    <a name="XML_XINCLUDE_RECURSION" id="XML_XINCLUDE_RECURSION">XML_XINCLUDE_RECURSION</a> = 1600
-    <a name="XML_XINCLUDE_PARSE_VALUE" id="XML_XINCLUDE_PARSE_VALUE">XML_XINCLUDE_PARSE_VALUE</a> = 1601 : 1601
-    <a name="XML_XINCLUDE_ENTITY_DEF_MISMATCH" id="XML_XINCLUDE_ENTITY_DEF_MISMATCH">XML_XINCLUDE_ENTITY_DEF_MISMATCH</a> = 1602 : 1602
-    <a name="XML_XINCLUDE_NO_HREF" id="XML_XINCLUDE_NO_HREF">XML_XINCLUDE_NO_HREF</a> = 1603 : 1603
-    <a name="XML_XINCLUDE_NO_FALLBACK" id="XML_XINCLUDE_NO_FALLBACK">XML_XINCLUDE_NO_FALLBACK</a> = 1604 : 1604
-    <a name="XML_XINCLUDE_HREF_URI" id="XML_XINCLUDE_HREF_URI">XML_XINCLUDE_HREF_URI</a> = 1605 : 1605
-    <a name="XML_XINCLUDE_TEXT_FRAGMENT" id="XML_XINCLUDE_TEXT_FRAGMENT">XML_XINCLUDE_TEXT_FRAGMENT</a> = 1606 : 1606
-    <a name="XML_XINCLUDE_TEXT_DOCUMENT" id="XML_XINCLUDE_TEXT_DOCUMENT">XML_XINCLUDE_TEXT_DOCUMENT</a> = 1607 : 1607
-    <a name="XML_XINCLUDE_INVALID_CHAR" id="XML_XINCLUDE_INVALID_CHAR">XML_XINCLUDE_INVALID_CHAR</a> = 1608 : 1608
-    <a name="XML_XINCLUDE_BUILD_FAILED" id="XML_XINCLUDE_BUILD_FAILED">XML_XINCLUDE_BUILD_FAILED</a> = 1609 : 1609
-    <a name="XML_XINCLUDE_UNKNOWN_ENCODING" id="XML_XINCLUDE_UNKNOWN_ENCODING">XML_XINCLUDE_UNKNOWN_ENCODING</a> = 1610 : 1610
-    <a name="XML_XINCLUDE_MULTIPLE_ROOT" id="XML_XINCLUDE_MULTIPLE_ROOT">XML_XINCLUDE_MULTIPLE_ROOT</a> = 1611 : 1611
-    <a name="XML_XINCLUDE_XPTR_FAILED" id="XML_XINCLUDE_XPTR_FAILED">XML_XINCLUDE_XPTR_FAILED</a> = 1612 : 1612
-    <a name="XML_XINCLUDE_XPTR_RESULT" id="XML_XINCLUDE_XPTR_RESULT">XML_XINCLUDE_XPTR_RESULT</a> = 1613 : 1613
-    <a name="XML_XINCLUDE_INCLUDE_IN_INCLUDE" id="XML_XINCLUDE_INCLUDE_IN_INCLUDE">XML_XINCLUDE_INCLUDE_IN_INCLUDE</a> = 1614 : 1614
-    <a name="XML_XINCLUDE_FALLBACKS_IN_INCLUDE" id="XML_XINCLUDE_FALLBACKS_IN_INCLUDE">XML_XINCLUDE_FALLBACKS_IN_INCLUDE</a> = 1615 : 1615
-    <a name="XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE" id="XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE">XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE</a> = 1616 : 1616
-    <a name="XML_XINCLUDE_DEPRECATED_NS" id="XML_XINCLUDE_DEPRECATED_NS">XML_XINCLUDE_DEPRECATED_NS</a> = 1617 : 1617
-    <a name="XML_XINCLUDE_FRAGMENT_ID" id="XML_XINCLUDE_FRAGMENT_ID">XML_XINCLUDE_FRAGMENT_ID</a> = 1618 : 1618
-    <a name="XML_CATALOG_MISSING_ATTR" id="XML_CATALOG_MISSING_ATTR">XML_CATALOG_MISSING_ATTR</a> = 1650
-    <a name="XML_CATALOG_ENTRY_BROKEN" id="XML_CATALOG_ENTRY_BROKEN">XML_CATALOG_ENTRY_BROKEN</a> = 1651 : 1651
-    <a name="XML_CATALOG_PREFER_VALUE" id="XML_CATALOG_PREFER_VALUE">XML_CATALOG_PREFER_VALUE</a> = 1652 : 1652
-    <a name="XML_CATALOG_NOT_CATALOG" id="XML_CATALOG_NOT_CATALOG">XML_CATALOG_NOT_CATALOG</a> = 1653 : 1653
-    <a name="XML_CATALOG_RECURSION" id="XML_CATALOG_RECURSION">XML_CATALOG_RECURSION</a> = 1654 : 1654
-    <a name="XML_SCHEMAP_PREFIX_UNDEFINED" id="XML_SCHEMAP_PREFIX_UNDEFINED">XML_SCHEMAP_PREFIX_UNDEFINED</a> = 1700
-    <a name="XML_SCHEMAP_ATTRFORMDEFAULT_VALUE" id="XML_SCHEMAP_ATTRFORMDEFAULT_VALUE">XML_SCHEMAP_ATTRFORMDEFAULT_VALUE</a> = 1701 : 1701
-    <a name="XML_SCHEMAP_ATTRGRP_NONAME_NOREF" id="XML_SCHEMAP_ATTRGRP_NONAME_NOREF">XML_SCHEMAP_ATTRGRP_NONAME_NOREF</a> = 1702 : 1702
-    <a name="XML_SCHEMAP_ATTR_NONAME_NOREF" id="XML_SCHEMAP_ATTR_NONAME_NOREF">XML_SCHEMAP_ATTR_NONAME_NOREF</a> = 1703 : 1703
-    <a name="XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF" id="XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF">XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF</a> = 1704 : 1704
-    <a name="XML_SCHEMAP_ELEMFORMDEFAULT_VALUE" id="XML_SCHEMAP_ELEMFORMDEFAULT_VALUE">XML_SCHEMAP_ELEMFORMDEFAULT_VALUE</a> = 1705 : 1705
-    <a name="XML_SCHEMAP_ELEM_NONAME_NOREF" id="XML_SCHEMAP_ELEM_NONAME_NOREF">XML_SCHEMAP_ELEM_NONAME_NOREF</a> = 1706 : 1706
-    <a name="XML_SCHEMAP_EXTENSION_NO_BASE" id="XML_SCHEMAP_EXTENSION_NO_BASE">XML_SCHEMAP_EXTENSION_NO_BASE</a> = 1707 : 1707
-    <a name="XML_SCHEMAP_FACET_NO_VALUE" id="XML_SCHEMAP_FACET_NO_VALUE">XML_SCHEMAP_FACET_NO_VALUE</a> = 1708 : 1708
-    <a name="XML_SCHEMAP_FAILED_BUILD_IMPORT" id="XML_SCHEMAP_FAILED_BUILD_IMPORT">XML_SCHEMAP_FAILED_BUILD_IMPORT</a> = 1709 : 1709
-    <a name="XML_SCHEMAP_GROUP_NONAME_NOREF" id="XML_SCHEMAP_GROUP_NONAME_NOREF">XML_SCHEMAP_GROUP_NONAME_NOREF</a> = 1710 : 1710
-    <a name="XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI" id="XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI">XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI</a> = 1711 : 1711
-    <a name="XML_SCHEMAP_IMPORT_REDEFINE_NSNAME" id="XML_SCHEMAP_IMPORT_REDEFINE_NSNAME">XML_SCHEMAP_IMPORT_REDEFINE_NSNAME</a> = 1712 : 1712
-    <a name="XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI" id="XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI">XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI</a> = 1713 : 1713
-    <a name="XML_SCHEMAP_INVALID_BOOLEAN" id="XML_SCHEMAP_INVALID_BOOLEAN">XML_SCHEMAP_INVALID_BOOLEAN</a> = 1714 : 1714
-    <a name="XML_SCHEMAP_INVALID_ENUM" id="XML_SCHEMAP_INVALID_ENUM">XML_SCHEMAP_INVALID_ENUM</a> = 1715 : 1715
-    <a name="XML_SCHEMAP_INVALID_FACET" id="XML_SCHEMAP_INVALID_FACET">XML_SCHEMAP_INVALID_FACET</a> = 1716 : 1716
-    <a name="XML_SCHEMAP_INVALID_FACET_VALUE" id="XML_SCHEMAP_INVALID_FACET_VALUE">XML_SCHEMAP_INVALID_FACET_VALUE</a> = 1717 : 1717
-    <a name="XML_SCHEMAP_INVALID_MAXOCCURS" id="XML_SCHEMAP_INVALID_MAXOCCURS">XML_SCHEMAP_INVALID_MAXOCCURS</a> = 1718 : 1718
-    <a name="XML_SCHEMAP_INVALID_MINOCCURS" id="XML_SCHEMAP_INVALID_MINOCCURS">XML_SCHEMAP_INVALID_MINOCCURS</a> = 1719 : 1719
-    <a name="XML_SCHEMAP_INVALID_REF_AND_SUBTYPE" id="XML_SCHEMAP_INVALID_REF_AND_SUBTYPE">XML_SCHEMAP_INVALID_REF_AND_SUBTYPE</a> = 1720 : 1720
-    <a name="XML_SCHEMAP_INVALID_WHITE_SPACE" id="XML_SCHEMAP_INVALID_WHITE_SPACE">XML_SCHEMAP_INVALID_WHITE_SPACE</a> = 1721 : 1721
-    <a name="XML_SCHEMAP_NOATTR_NOREF" id="XML_SCHEMAP_NOATTR_NOREF">XML_SCHEMAP_NOATTR_NOREF</a> = 1722 : 1722
-    <a name="XML_SCHEMAP_NOTATION_NO_NAME" id="XML_SCHEMAP_NOTATION_NO_NAME">XML_SCHEMAP_NOTATION_NO_NAME</a> = 1723 : 1723
-    <a name="XML_SCHEMAP_NOTYPE_NOREF" id="XML_SCHEMAP_NOTYPE_NOREF">XML_SCHEMAP_NOTYPE_NOREF</a> = 1724 : 1724
-    <a name="XML_SCHEMAP_REF_AND_SUBTYPE" id="XML_SCHEMAP_REF_AND_SUBTYPE">XML_SCHEMAP_REF_AND_SUBTYPE</a> = 1725 : 1725
-    <a name="XML_SCHEMAP_RESTRICTION_NONAME_NOREF" id="XML_SCHEMAP_RESTRICTION_NONAME_NOREF">XML_SCHEMAP_RESTRICTION_NONAME_NOREF</a> = 1726 : 1726
-    <a name="XML_SCHEMAP_SIMPLETYPE_NONAME" id="XML_SCHEMAP_SIMPLETYPE_NONAME">XML_SCHEMAP_SIMPLETYPE_NONAME</a> = 1727 : 1727
-    <a name="XML_SCHEMAP_TYPE_AND_SUBTYPE" id="XML_SCHEMAP_TYPE_AND_SUBTYPE">XML_SCHEMAP_TYPE_AND_SUBTYPE</a> = 1728 : 1728
-    <a name="XML_SCHEMAP_UNKNOWN_ALL_CHILD" id="XML_SCHEMAP_UNKNOWN_ALL_CHILD">XML_SCHEMAP_UNKNOWN_ALL_CHILD</a> = 1729 : 1729
-    <a name="XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD" id="XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD">XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD</a> = 1730 : 1730
-    <a name="XML_SCHEMAP_UNKNOWN_ATTR_CHILD" id="XML_SCHEMAP_UNKNOWN_ATTR_CHILD">XML_SCHEMAP_UNKNOWN_ATTR_CHILD</a> = 1731 : 1731
-    <a name="XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD" id="XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD">XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD</a> = 1732 : 1732
-    <a name="XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP" id="XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP">XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP</a> = 1733 : 1733
-    <a name="XML_SCHEMAP_UNKNOWN_BASE_TYPE" id="XML_SCHEMAP_UNKNOWN_BASE_TYPE">XML_SCHEMAP_UNKNOWN_BASE_TYPE</a> = 1734 : 1734
-    <a name="XML_SCHEMAP_UNKNOWN_CHOICE_CHILD" id="XML_SCHEMAP_UNKNOWN_CHOICE_CHILD">XML_SCHEMAP_UNKNOWN_CHOICE_CHILD</a> = 1735 : 1735
-    <a name="XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD" id="XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD</a> = 1736 : 1736
-    <a name="XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD" id="XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD">XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD</a> = 1737 : 1737
-    <a name="XML_SCHEMAP_UNKNOWN_ELEM_CHILD" id="XML_SCHEMAP_UNKNOWN_ELEM_CHILD">XML_SCHEMAP_UNKNOWN_ELEM_CHILD</a> = 1738 : 1738
-    <a name="XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD" id="XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD">XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD</a> = 1739 : 1739
-    <a name="XML_SCHEMAP_UNKNOWN_FACET_CHILD" id="XML_SCHEMAP_UNKNOWN_FACET_CHILD">XML_SCHEMAP_UNKNOWN_FACET_CHILD</a> = 1740 : 1740
-    <a name="XML_SCHEMAP_UNKNOWN_FACET_TYPE" id="XML_SCHEMAP_UNKNOWN_FACET_TYPE">XML_SCHEMAP_UNKNOWN_FACET_TYPE</a> = 1741 : 1741
-    <a name="XML_SCHEMAP_UNKNOWN_GROUP_CHILD" id="XML_SCHEMAP_UNKNOWN_GROUP_CHILD">XML_SCHEMAP_UNKNOWN_GROUP_CHILD</a> = 1742 : 1742
-    <a name="XML_SCHEMAP_UNKNOWN_IMPORT_CHILD" id="XML_SCHEMAP_UNKNOWN_IMPORT_CHILD">XML_SCHEMAP_UNKNOWN_IMPORT_CHILD</a> = 1743 : 1743
-    <a name="XML_SCHEMAP_UNKNOWN_LIST_CHILD" id="XML_SCHEMAP_UNKNOWN_LIST_CHILD">XML_SCHEMAP_UNKNOWN_LIST_CHILD</a> = 1744 : 1744
-    <a name="XML_SCHEMAP_UNKNOWN_NOTATION_CHILD" id="XML_SCHEMAP_UNKNOWN_NOTATION_CHILD">XML_SCHEMAP_UNKNOWN_NOTATION_CHILD</a> = 1745 : 1745
-    <a name="XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD" id="XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD</a> = 1746 : 1746
-    <a name="XML_SCHEMAP_UNKNOWN_REF" id="XML_SCHEMAP_UNKNOWN_REF">XML_SCHEMAP_UNKNOWN_REF</a> = 1747 : 1747
-    <a name="XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD" id="XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD">XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD</a> = 1748 : 1748
-    <a name="XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD" id="XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD">XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD</a> = 1749 : 1749
-    <a name="XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD" id="XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD">XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD</a> = 1750 : 1750
-    <a name="XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD" id="XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD">XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD</a> = 1751 : 1751
-    <a name="XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD" id="XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD">XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD</a> = 1752 : 1752
-    <a name="XML_SCHEMAP_UNKNOWN_TYPE" id="XML_SCHEMAP_UNKNOWN_TYPE">XML_SCHEMAP_UNKNOWN_TYPE</a> = 1753 : 1753
-    <a name="XML_SCHEMAP_UNKNOWN_UNION_CHILD" id="XML_SCHEMAP_UNKNOWN_UNION_CHILD">XML_SCHEMAP_UNKNOWN_UNION_CHILD</a> = 1754 : 1754
-    <a name="XML_SCHEMAP_ELEM_DEFAULT_FIXED" id="XML_SCHEMAP_ELEM_DEFAULT_FIXED">XML_SCHEMAP_ELEM_DEFAULT_FIXED</a> = 1755 : 1755
-    <a name="XML_SCHEMAP_REGEXP_INVALID" id="XML_SCHEMAP_REGEXP_INVALID">XML_SCHEMAP_REGEXP_INVALID</a> = 1756 : 1756
-    <a name="XML_SCHEMAP_FAILED_LOAD" id="XML_SCHEMAP_FAILED_LOAD">XML_SCHEMAP_FAILED_LOAD</a> = 1757 : 1757
-    <a name="XML_SCHEMAP_NOTHING_TO_PARSE" id="XML_SCHEMAP_NOTHING_TO_PARSE">XML_SCHEMAP_NOTHING_TO_PARSE</a> = 1758 : 1758
-    <a name="XML_SCHEMAP_NOROOT" id="XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a> = 1759 : 1759
-    <a name="XML_SCHEMAP_REDEFINED_GROUP" id="XML_SCHEMAP_REDEFINED_GROUP">XML_SCHEMAP_REDEFINED_GROUP</a> = 1760 : 1760
-    <a name="XML_SCHEMAP_REDEFINED_TYPE" id="XML_SCHEMAP_REDEFINED_TYPE">XML_SCHEMAP_REDEFINED_TYPE</a> = 1761 : 1761
-    <a name="XML_SCHEMAP_REDEFINED_ELEMENT" id="XML_SCHEMAP_REDEFINED_ELEMENT">XML_SCHEMAP_REDEFINED_ELEMENT</a> = 1762 : 1762
-    <a name="XML_SCHEMAP_REDEFINED_ATTRGROUP" id="XML_SCHEMAP_REDEFINED_ATTRGROUP">XML_SCHEMAP_REDEFINED_ATTRGROUP</a> = 1763 : 1763
-    <a name="XML_SCHEMAP_REDEFINED_ATTR" id="XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a> = 1764 : 1764
-    <a name="XML_SCHEMAP_REDEFINED_NOTATION" id="XML_SCHEMAP_REDEFINED_NOTATION">XML_SCHEMAP_REDEFINED_NOTATION</a> = 1765 : 1765
-    <a name="XML_SCHEMAP_FAILED_PARSE" id="XML_SCHEMAP_FAILED_PARSE">XML_SCHEMAP_FAILED_PARSE</a> = 1766 : 1766
-    <a name="XML_SCHEMAP_UNKNOWN_PREFIX" id="XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a> = 1767 : 1767
-    <a name="XML_SCHEMAP_DEF_AND_PREFIX" id="XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a> = 1768 : 1768
-    <a name="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD" id="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a> = 1769 : 1769
-    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a> = 1770 : 1770
-    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a> = 1771 : 1771
-    <a name="XML_SCHEMAP_NOT_SCHEMA" id="XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a> = 1772 : 1772
-    <a name="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE" id="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a> = 1773 : 1773
-    <a name="XML_SCHEMAP_INVALID_ATTR_USE" id="XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a> = 1774 : 1774
-    <a name="XML_SCHEMAP_RECURSIVE" id="XML_SCHEMAP_RECURSIVE">XML_SCHEMAP_RECURSIVE</a> = 1775 : 1775
-    <a name="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE" id="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE">XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE</a> = 1776 : 1776
-    <a name="XML_SCHEMAP_INVALID_ATTR_COMBINATION" id="XML_SCHEMAP_INVALID_ATTR_COMBINATION">XML_SCHEMAP_INVALID_ATTR_COMBINATION</a> = 1777 : 1777
-    <a name="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION" id="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION">XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION</a> = 1778 : 1778
-    <a name="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD" id="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a> = 1779 : 1779
-    <a name="XML_SCHEMAP_INVALID_ATTR_NAME" id="XML_SCHEMAP_INVALID_ATTR_NAME">XML_SCHEMAP_INVALID_ATTR_NAME</a> = 1780 : 1780
-    <a name="XML_SCHEMAP_REF_AND_CONTENT" id="XML_SCHEMAP_REF_AND_CONTENT">XML_SCHEMAP_REF_AND_CONTENT</a> = 1781 : 1781
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_1" id="XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a> = 1782 : 1782
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_2" id="XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a> = 1783 : 1783
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_3" id="XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a> = 1784 : 1784
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_4" id="XML_SCHEMAP_CT_PROPS_CORRECT_4">XML_SCHEMAP_CT_PROPS_CORRECT_4</a> = 1785 : 1785
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_5" id="XML_SCHEMAP_CT_PROPS_CORRECT_5">XML_SCHEMAP_CT_PROPS_CORRECT_5</a> = 1786 : 1786
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a> = 1787 : 1787
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a> = 1788 : 1788
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a> = 1789 : 1789
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a> = 1790 : 1790
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a> = 1791 : 1791
-    <a name="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER" id="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER">XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER</a> = 1792 : 1792
-    <a name="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE" id="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE">XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE</a> = 1793 : 1793
-    <a name="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE" id="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE">XML_SCHEMAP_UNION_NOT_EXPRESSIBLE</a> = 1794 : 1794
-    <a name="XML_SCHEMAP_SRC_IMPORT_3_1" id="XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a> = 1795 : 1795
-    <a name="XML_SCHEMAP_SRC_IMPORT_3_2" id="XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a> = 1796 : 1796
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a> = 1797 : 1797
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2</a> = 1798 : 1798
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3</a> = 1799 : 1799
-    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_3" id="XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a> = 1800 : 1800
-    <a name="XML_SCHEMAV_NOROOT" id="XML_SCHEMAV_NOROOT">XML_SCHEMAV_NOROOT</a> = 1801
-    <a name="XML_SCHEMAV_UNDECLAREDELEM" id="XML_SCHEMAV_UNDECLAREDELEM">XML_SCHEMAV_UNDECLAREDELEM</a> = 1802 : 1802
-    <a name="XML_SCHEMAV_NOTTOPLEVEL" id="XML_SCHEMAV_NOTTOPLEVEL">XML_SCHEMAV_NOTTOPLEVEL</a> = 1803 : 1803
-    <a name="XML_SCHEMAV_MISSING" id="XML_SCHEMAV_MISSING">XML_SCHEMAV_MISSING</a> = 1804 : 1804
-    <a name="XML_SCHEMAV_WRONGELEM" id="XML_SCHEMAV_WRONGELEM">XML_SCHEMAV_WRONGELEM</a> = 1805 : 1805
-    <a name="XML_SCHEMAV_NOTYPE" id="XML_SCHEMAV_NOTYPE">XML_SCHEMAV_NOTYPE</a> = 1806 : 1806
-    <a name="XML_SCHEMAV_NOROLLBACK" id="XML_SCHEMAV_NOROLLBACK">XML_SCHEMAV_NOROLLBACK</a> = 1807 : 1807
-    <a name="XML_SCHEMAV_ISABSTRACT" id="XML_SCHEMAV_ISABSTRACT">XML_SCHEMAV_ISABSTRACT</a> = 1808 : 1808
-    <a name="XML_SCHEMAV_NOTEMPTY" id="XML_SCHEMAV_NOTEMPTY">XML_SCHEMAV_NOTEMPTY</a> = 1809 : 1809
-    <a name="XML_SCHEMAV_ELEMCONT" id="XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a> = 1810 : 1810
-    <a name="XML_SCHEMAV_HAVEDEFAULT" id="XML_SCHEMAV_HAVEDEFAULT">XML_SCHEMAV_HAVEDEFAULT</a> = 1811 : 1811
-    <a name="XML_SCHEMAV_NOTNILLABLE" id="XML_SCHEMAV_NOTNILLABLE">XML_SCHEMAV_NOTNILLABLE</a> = 1812 : 1812
-    <a name="XML_SCHEMAV_EXTRACONTENT" id="XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a> = 1813 : 1813
-    <a name="XML_SCHEMAV_INVALIDATTR" id="XML_SCHEMAV_INVALIDATTR">XML_SCHEMAV_INVALIDATTR</a> = 1814 : 1814
-    <a name="XML_SCHEMAV_INVALIDELEM" id="XML_SCHEMAV_INVALIDELEM">XML_SCHEMAV_INVALIDELEM</a> = 1815 : 1815
-    <a name="XML_SCHEMAV_NOTDETERMINIST" id="XML_SCHEMAV_NOTDETERMINIST">XML_SCHEMAV_NOTDETERMINIST</a> = 1816 : 1816
-    <a name="XML_SCHEMAV_CONSTRUCT" id="XML_SCHEMAV_CONSTRUCT">XML_SCHEMAV_CONSTRUCT</a> = 1817 : 1817
-    <a name="XML_SCHEMAV_INTERNAL" id="XML_SCHEMAV_INTERNAL">XML_SCHEMAV_INTERNAL</a> = 1818 : 1818
-    <a name="XML_SCHEMAV_NOTSIMPLE" id="XML_SCHEMAV_NOTSIMPLE">XML_SCHEMAV_NOTSIMPLE</a> = 1819 : 1819
-    <a name="XML_SCHEMAV_ATTRUNKNOWN" id="XML_SCHEMAV_ATTRUNKNOWN">XML_SCHEMAV_ATTRUNKNOWN</a> = 1820 : 1820
-    <a name="XML_SCHEMAV_ATTRINVALID" id="XML_SCHEMAV_ATTRINVALID">XML_SCHEMAV_ATTRINVALID</a> = 1821 : 1821
-    <a name="XML_SCHEMAV_VALUE" id="XML_SCHEMAV_VALUE">XML_SCHEMAV_VALUE</a> = 1822 : 1822
-    <a name="XML_SCHEMAV_FACET" id="XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a> = 1823 : 1823
-    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a> = 1824 : 1824
-    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a> = 1825 : 1825
-    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a> = 1826 : 1826
-    <a name="XML_SCHEMAV_CVC_TYPE_3_1_1" id="XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a> = 1827 : 1827
-    <a name="XML_SCHEMAV_CVC_TYPE_3_1_2" id="XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a> = 1828 : 1828
-    <a name="XML_SCHEMAV_CVC_FACET_VALID" id="XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a> = 1829 : 1829
-    <a name="XML_SCHEMAV_CVC_LENGTH_VALID" id="XML_SCHEMAV_CVC_LENGTH_VALID">XML_SCHEMAV_CVC_LENGTH_VALID</a> = 1830 : 1830
-    <a name="XML_SCHEMAV_CVC_MINLENGTH_VALID" id="XML_SCHEMAV_CVC_MINLENGTH_VALID">XML_SCHEMAV_CVC_MINLENGTH_VALID</a> = 1831 : 1831
-    <a name="XML_SCHEMAV_CVC_MAXLENGTH_VALID" id="XML_SCHEMAV_CVC_MAXLENGTH_VALID">XML_SCHEMAV_CVC_MAXLENGTH_VALID</a> = 1832 : 1832
-    <a name="XML_SCHEMAV_CVC_MININCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MININCLUSIVE_VALID">XML_SCHEMAV_CVC_MININCLUSIVE_VALID</a> = 1833 : 1833
-    <a name="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID</a> = 1834 : 1834
-    <a name="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID</a> = 1835 : 1835
-    <a name="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID</a> = 1836 : 1836
-    <a name="XML_SCHEMAV_CVC_TOTALDIGITS_VALID" id="XML_SCHEMAV_CVC_TOTALDIGITS_VALID">XML_SCHEMAV_CVC_TOTALDIGITS_VALID</a> = 1837 : 1837
-    <a name="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID" id="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a> = 1838 : 1838
-    <a name="XML_SCHEMAV_CVC_PATTERN_VALID" id="XML_SCHEMAV_CVC_PATTERN_VALID">XML_SCHEMAV_CVC_PATTERN_VALID</a> = 1839 : 1839
-    <a name="XML_SCHEMAV_CVC_ENUMERATION_VALID" id="XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a> = 1840 : 1840
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a> = 1841 : 1841
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a> = 1842 : 1842
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a> = 1843 : 1843
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a> = 1844 : 1844
-    <a name="XML_SCHEMAV_CVC_ELT_1" id="XML_SCHEMAV_CVC_ELT_1">XML_SCHEMAV_CVC_ELT_1</a> = 1845 : 1845
-    <a name="XML_SCHEMAV_CVC_ELT_2" id="XML_SCHEMAV_CVC_ELT_2">XML_SCHEMAV_CVC_ELT_2</a> = 1846 : 1846
-    <a name="XML_SCHEMAV_CVC_ELT_3_1" id="XML_SCHEMAV_CVC_ELT_3_1">XML_SCHEMAV_CVC_ELT_3_1</a> = 1847 : 1847
-    <a name="XML_SCHEMAV_CVC_ELT_3_2_1" id="XML_SCHEMAV_CVC_ELT_3_2_1">XML_SCHEMAV_CVC_ELT_3_2_1</a> = 1848 : 1848
-    <a name="XML_SCHEMAV_CVC_ELT_3_2_2" id="XML_SCHEMAV_CVC_ELT_3_2_2">XML_SCHEMAV_CVC_ELT_3_2_2</a> = 1849 : 1849
-    <a name="XML_SCHEMAV_CVC_ELT_4_1" id="XML_SCHEMAV_CVC_ELT_4_1">XML_SCHEMAV_CVC_ELT_4_1</a> = 1850 : 1850
-    <a name="XML_SCHEMAV_CVC_ELT_4_2" id="XML_SCHEMAV_CVC_ELT_4_2">XML_SCHEMAV_CVC_ELT_4_2</a> = 1851 : 1851
-    <a name="XML_SCHEMAV_CVC_ELT_4_3" id="XML_SCHEMAV_CVC_ELT_4_3">XML_SCHEMAV_CVC_ELT_4_3</a> = 1852 : 1852
-    <a name="XML_SCHEMAV_CVC_ELT_5_1_1" id="XML_SCHEMAV_CVC_ELT_5_1_1">XML_SCHEMAV_CVC_ELT_5_1_1</a> = 1853 : 1853
-    <a name="XML_SCHEMAV_CVC_ELT_5_1_2" id="XML_SCHEMAV_CVC_ELT_5_1_2">XML_SCHEMAV_CVC_ELT_5_1_2</a> = 1854 : 1854
-    <a name="XML_SCHEMAV_CVC_ELT_5_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_1">XML_SCHEMAV_CVC_ELT_5_2_1</a> = 1855 : 1855
-    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_1</a> = 1856 : 1856
-    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_2_1</a> = 1857 : 1857
-    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_2" id="XML_SCHEMAV_CVC_ELT_5_2_2_2_2">XML_SCHEMAV_CVC_ELT_5_2_2_2_2</a> = 1858 : 1858
-    <a name="XML_SCHEMAV_CVC_ELT_6" id="XML_SCHEMAV_CVC_ELT_6">XML_SCHEMAV_CVC_ELT_6</a> = 1859 : 1859
-    <a name="XML_SCHEMAV_CVC_ELT_7" id="XML_SCHEMAV_CVC_ELT_7">XML_SCHEMAV_CVC_ELT_7</a> = 1860 : 1860
-    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_1" id="XML_SCHEMAV_CVC_ATTRIBUTE_1">XML_SCHEMAV_CVC_ATTRIBUTE_1</a> = 1861 : 1861
-    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_2" id="XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a> = 1862 : 1862
-    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_3" id="XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a> = 1863 : 1863
-    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_4" id="XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a> = 1864 : 1864
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1</a> = 1865 : 1865
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1</a> = 1866 : 1866
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2</a> = 1867 : 1867
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_4" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_4</a> = 1868 : 1868
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1</a> = 1869 : 1869
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2</a> = 1870 : 1870
-    <a name="XML_SCHEMAV_ELEMENT_CONTENT" id="XML_SCHEMAV_ELEMENT_CONTENT">XML_SCHEMAV_ELEMENT_CONTENT</a> = 1871 : 1871
-    <a name="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING" id="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a> = 1872 : 1872
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_1</a> = 1873 : 1873
-    <a name="XML_SCHEMAV_CVC_AU" id="XML_SCHEMAV_CVC_AU">XML_SCHEMAV_CVC_AU</a> = 1874 : 1874
-    <a name="XML_SCHEMAV_CVC_TYPE_1" id="XML_SCHEMAV_CVC_TYPE_1">XML_SCHEMAV_CVC_TYPE_1</a> = 1875 : 1875
-    <a name="XML_SCHEMAV_CVC_TYPE_2" id="XML_SCHEMAV_CVC_TYPE_2">XML_SCHEMAV_CVC_TYPE_2</a> = 1876 : 1876
-    <a name="XML_SCHEMAV_CVC_IDC" id="XML_SCHEMAV_CVC_IDC">XML_SCHEMAV_CVC_IDC</a> = 1877 : 1877
-    <a name="XML_SCHEMAV_CVC_WILDCARD" id="XML_SCHEMAV_CVC_WILDCARD">XML_SCHEMAV_CVC_WILDCARD</a> = 1878 : 1878
-    <a name="XML_SCHEMAV_MISC" id="XML_SCHEMAV_MISC">XML_SCHEMAV_MISC</a> = 1879 : 1879
-    <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
-    <a name="XML_XPTR_EXTRA_OBJECTS" id="XML_XPTR_EXTRA_OBJECTS">XML_XPTR_EXTRA_OBJECTS</a> = 1903 : 1903
-    <a name="XML_C14N_CREATE_CTXT" id="XML_C14N_CREATE_CTXT">XML_C14N_CREATE_CTXT</a> = 1950
-    <a name="XML_C14N_REQUIRES_UTF8" id="XML_C14N_REQUIRES_UTF8">XML_C14N_REQUIRES_UTF8</a> = 1951 : 1951
-    <a name="XML_C14N_CREATE_STACK" id="XML_C14N_CREATE_STACK">XML_C14N_CREATE_STACK</a> = 1952 : 1952
-    <a name="XML_C14N_INVALID_NODE" id="XML_C14N_INVALID_NODE">XML_C14N_INVALID_NODE</a> = 1953 : 1953
-    <a name="XML_C14N_UNKNOW_NODE" id="XML_C14N_UNKNOW_NODE">XML_C14N_UNKNOW_NODE</a> = 1954 : 1954
-    <a name="XML_C14N_RELATIVE_NAMESPACE" id="XML_C14N_RELATIVE_NAMESPACE">XML_C14N_RELATIVE_NAMESPACE</a> = 1955 : 1955
-    <a name="XML_FTP_PASV_ANSWER" id="XML_FTP_PASV_ANSWER">XML_FTP_PASV_ANSWER</a> = 2000
-    <a name="XML_FTP_EPSV_ANSWER" id="XML_FTP_EPSV_ANSWER">XML_FTP_EPSV_ANSWER</a> = 2001 : 2001
-    <a name="XML_FTP_ACCNT" id="XML_FTP_ACCNT">XML_FTP_ACCNT</a> = 2002 : 2002
-    <a name="XML_FTP_URL_SYNTAX" id="XML_FTP_URL_SYNTAX">XML_FTP_URL_SYNTAX</a> = 2003 : 2003
-    <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 : 3005
-    <a name="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE" id="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a> = 3006 : 3006
-    <a name="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES" id="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES">XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES</a> = 3007 : 3007
-    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_1" id="XML_SCHEMAP_ST_PROPS_CORRECT_1">XML_SCHEMAP_ST_PROPS_CORRECT_1</a> = 3008 : 3008
-    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_2" id="XML_SCHEMAP_ST_PROPS_CORRECT_2">XML_SCHEMAP_ST_PROPS_CORRECT_2</a> = 3009 : 3009
-    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_3" id="XML_SCHEMAP_ST_PROPS_CORRECT_3">XML_SCHEMAP_ST_PROPS_CORRECT_3</a> = 3010 : 3010
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_1</a> = 3011 : 3011
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_2</a> = 3012 : 3012
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1</a> = 3013 : 3013
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2</a> = 3014 : 3014
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_1</a> = 3015 : 3015
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1</a> = 3016 : 3016
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2</a> = 3017 : 3017
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1</a> = 3018 : 3018
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2</a> = 3019 : 3019
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3</a> = 3020 : 3020
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4</a> = 3021 : 3021
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5</a> = 3022 : 3022
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_1</a> = 3023 : 3023
-    <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
-    <a name="XML_SCHEMAP_S4S_ATTR_INVALID_VALUE" id="XML_SCHEMAP_S4S_ATTR_INVALID_VALUE">XML_SCHEMAP_S4S_ATTR_INVALID_VALUE</a> = 3037 : 3037
-    <a name="XML_SCHEMAP_SRC_ELEMENT_1" id="XML_SCHEMAP_SRC_ELEMENT_1">XML_SCHEMAP_SRC_ELEMENT_1</a> = 3038 : 3038
-    <a name="XML_SCHEMAP_SRC_ELEMENT_2_1" id="XML_SCHEMAP_SRC_ELEMENT_2_1">XML_SCHEMAP_SRC_ELEMENT_2_1</a> = 3039 : 3039
-    <a name="XML_SCHEMAP_SRC_ELEMENT_2_2" id="XML_SCHEMAP_SRC_ELEMENT_2_2">XML_SCHEMAP_SRC_ELEMENT_2_2</a> = 3040 : 3040
-    <a name="XML_SCHEMAP_SRC_ELEMENT_3" id="XML_SCHEMAP_SRC_ELEMENT_3">XML_SCHEMAP_SRC_ELEMENT_3</a> = 3041 : 3041
-    <a name="XML_SCHEMAP_P_PROPS_CORRECT_1" id="XML_SCHEMAP_P_PROPS_CORRECT_1">XML_SCHEMAP_P_PROPS_CORRECT_1</a> = 3042 : 3042
-    <a name="XML_SCHEMAP_P_PROPS_CORRECT_2_1" id="XML_SCHEMAP_P_PROPS_CORRECT_2_1">XML_SCHEMAP_P_PROPS_CORRECT_2_1</a> = 3043 : 3043
-    <a name="XML_SCHEMAP_P_PROPS_CORRECT_2_2" id="XML_SCHEMAP_P_PROPS_CORRECT_2_2">XML_SCHEMAP_P_PROPS_CORRECT_2_2</a> = 3044 : 3044
-    <a name="XML_SCHEMAP_E_PROPS_CORRECT_2" id="XML_SCHEMAP_E_PROPS_CORRECT_2">XML_SCHEMAP_E_PROPS_CORRECT_2</a> = 3045 : 3045
-    <a name="XML_SCHEMAP_E_PROPS_CORRECT_3" id="XML_SCHEMAP_E_PROPS_CORRECT_3">XML_SCHEMAP_E_PROPS_CORRECT_3</a> = 3046 : 3046
-    <a name="XML_SCHEMAP_E_PROPS_CORRECT_4" id="XML_SCHEMAP_E_PROPS_CORRECT_4">XML_SCHEMAP_E_PROPS_CORRECT_4</a> = 3047 : 3047
-    <a name="XML_SCHEMAP_E_PROPS_CORRECT_5" id="XML_SCHEMAP_E_PROPS_CORRECT_5">XML_SCHEMAP_E_PROPS_CORRECT_5</a> = 3048 : 3048
-    <a name="XML_SCHEMAP_E_PROPS_CORRECT_6" id="XML_SCHEMAP_E_PROPS_CORRECT_6">XML_SCHEMAP_E_PROPS_CORRECT_6</a> = 3049 : 3049
-    <a name="XML_SCHEMAP_SRC_INCLUDE" id="XML_SCHEMAP_SRC_INCLUDE">XML_SCHEMAP_SRC_INCLUDE</a> = 3050 : 3050
-    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_1" id="XML_SCHEMAP_SRC_ATTRIBUTE_1">XML_SCHEMAP_SRC_ATTRIBUTE_1</a> = 3051 : 3051
-    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_2" id="XML_SCHEMAP_SRC_ATTRIBUTE_2">XML_SCHEMAP_SRC_ATTRIBUTE_2</a> = 3052 : 3052
-    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_3_1" id="XML_SCHEMAP_SRC_ATTRIBUTE_3_1">XML_SCHEMAP_SRC_ATTRIBUTE_3_1</a> = 3053 : 3053
-    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_3_2" id="XML_SCHEMAP_SRC_ATTRIBUTE_3_2">XML_SCHEMAP_SRC_ATTRIBUTE_3_2</a> = 3054 : 3054
-    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_4" id="XML_SCHEMAP_SRC_ATTRIBUTE_4">XML_SCHEMAP_SRC_ATTRIBUTE_4</a> = 3055 : 3055
-    <a name="XML_SCHEMAP_NO_XMLNS" id="XML_SCHEMAP_NO_XMLNS">XML_SCHEMAP_NO_XMLNS</a> = 3056 : 3056
-    <a name="XML_SCHEMAP_NO_XSI" id="XML_SCHEMAP_NO_XSI">XML_SCHEMAP_NO_XSI</a> = 3057 : 3057
-    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_1">XML_SCHEMAP_COS_VALID_DEFAULT_1</a> = 3058 : 3058
-    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_1</a> = 3059 : 3059
-    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1</a> = 3060 : 3060
-    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2</a> = 3061 : 3061
-    <a name="XML_SCHEMAP_CVC_SIMPLE_TYPE" id="XML_SCHEMAP_CVC_SIMPLE_TYPE">XML_SCHEMAP_CVC_SIMPLE_TYPE</a> = 3062 : 3062
-    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_1" id="XML_SCHEMAP_COS_CT_EXTENDS_1_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a> = 3063 : 3063
-    <a name="XML_SCHEMAP_SRC_IMPORT_1_1" id="XML_SCHEMAP_SRC_IMPORT_1_1">XML_SCHEMAP_SRC_IMPORT_1_1</a> = 3064 : 3064
-    <a name="XML_SCHEMAP_SRC_IMPORT_1_2" id="XML_SCHEMAP_SRC_IMPORT_1_2">XML_SCHEMAP_SRC_IMPORT_1_2</a> = 3065 : 3065
-    <a name="XML_SCHEMAP_SRC_IMPORT_2" id="XML_SCHEMAP_SRC_IMPORT_2">XML_SCHEMAP_SRC_IMPORT_2</a> = 3066 : 3066
-    <a name="XML_SCHEMAP_SRC_IMPORT_2_1" id="XML_SCHEMAP_SRC_IMPORT_2_1">XML_SCHEMAP_SRC_IMPORT_2_1</a> = 3067 : 3067
-    <a name="XML_SCHEMAP_SRC_IMPORT_2_2" id="XML_SCHEMAP_SRC_IMPORT_2_2">XML_SCHEMAP_SRC_IMPORT_2_2</a> = 3068 : 3068
-    <a name="XML_SCHEMAP_INTERNAL" id="XML_SCHEMAP_INTERNAL">XML_SCHEMAP_INTERNAL</a> = 3069 : 3069 non-W3C
-    <a name="XML_SCHEMAP_NOT_DETERMINISTIC" id="XML_SCHEMAP_NOT_DETERMINISTIC">XML_SCHEMAP_NOT_DETERMINISTIC</a> = 3070 : 3070 non-W3C
-    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1" id="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1</a> = 3071 : 3071
-    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2" id="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2</a> = 3072 : 3072
-    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3" id="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3</a> = 3073 : 3073
-    <a name="XML_SCHEMAP_MG_PROPS_CORRECT_1" id="XML_SCHEMAP_MG_PROPS_CORRECT_1">XML_SCHEMAP_MG_PROPS_CORRECT_1</a> = 3074 : 3074
-    <a name="XML_SCHEMAP_MG_PROPS_CORRECT_2" id="XML_SCHEMAP_MG_PROPS_CORRECT_2">XML_SCHEMAP_MG_PROPS_CORRECT_2</a> = 3075 : 3075
-    <a name="XML_SCHEMAP_SRC_CT_1" id="XML_SCHEMAP_SRC_CT_1">XML_SCHEMAP_SRC_CT_1</a> = 3076 : 3076
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3</a> = 3077 : 3077
-    <a name="XML_SCHEMAP_AU_PROPS_CORRECT_2" id="XML_SCHEMAP_AU_PROPS_CORRECT_2">XML_SCHEMAP_AU_PROPS_CORRECT_2</a> = 3078 : 3078
-    <a name="XML_SCHEMAP_A_PROPS_CORRECT_2" id="XML_SCHEMAP_A_PROPS_CORRECT_2">XML_SCHEMAP_A_PROPS_CORRECT_2</a> = 3079 : 3079
-    <a name="XML_SCHEMAP_C_PROPS_CORRECT" id="XML_SCHEMAP_C_PROPS_CORRECT">XML_SCHEMAP_C_PROPS_CORRECT</a> = 3080 : 3080
-    <a name="XML_SCHEMAP_SRC_REDEFINE" id="XML_SCHEMAP_SRC_REDEFINE">XML_SCHEMAP_SRC_REDEFINE</a> = 3081 : 3081
-    <a name="XML_SCHEMAP_SRC_IMPORT" id="XML_SCHEMAP_SRC_IMPORT">XML_SCHEMAP_SRC_IMPORT</a> = 3082 : 3082
-    <a name="XML_SCHEMAP_WARN_SKIP_SCHEMA" id="XML_SCHEMAP_WARN_SKIP_SCHEMA">XML_SCHEMAP_WARN_SKIP_SCHEMA</a> = 3083 : 3083
-    <a name="XML_SCHEMAP_WARN_UNLOCATED_SCHEMA" id="XML_SCHEMAP_WARN_UNLOCATED_SCHEMA">XML_SCHEMAP_WARN_UNLOCATED_SCHEMA</a> = 3084 : 3084
-    <a name="XML_SCHEMAP_WARN_ATTR_REDECL_PROH" id="XML_SCHEMAP_WARN_ATTR_REDECL_PROH">XML_SCHEMAP_WARN_ATTR_REDECL_PROH</a> = 3085 : 3085
-    <a name="XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH" id="XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH">XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH</a> = 3086 : 3085
-    <a name="XML_SCHEMAP_AG_PROPS_CORRECT" id="XML_SCHEMAP_AG_PROPS_CORRECT">XML_SCHEMAP_AG_PROPS_CORRECT</a> = 3087 : 3086
-    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_2" id="XML_SCHEMAP_COS_CT_EXTENDS_1_2">XML_SCHEMAP_COS_CT_EXTENDS_1_2</a> = 3088 : 3087
-    <a name="XML_SCHEMAP_AU_PROPS_CORRECT" id="XML_SCHEMAP_AU_PROPS_CORRECT">XML_SCHEMAP_AU_PROPS_CORRECT</a> = 3089 : 3088
-    <a name="XML_SCHEMAP_A_PROPS_CORRECT_3" id="XML_SCHEMAP_A_PROPS_CORRECT_3">XML_SCHEMAP_A_PROPS_CORRECT_3</a> = 3090 : 3089
-    <a name="XML_SCHEMAP_COS_ALL_LIMITED" id="XML_SCHEMAP_COS_ALL_LIMITED">XML_SCHEMAP_COS_ALL_LIMITED</a> = 3091 : 3090
-    <a name="XML_SCHEMATRONV_ASSERT" id="XML_SCHEMATRONV_ASSERT">XML_SCHEMATRONV_ASSERT</a> = 4000 : 4000
-    <a name="XML_SCHEMATRONV_REPORT" id="XML_SCHEMATRONV_REPORT">XML_SCHEMATRONV_REPORT</a> = 4001
-    <a name="XML_MODULE_OPEN" id="XML_MODULE_OPEN">XML_MODULE_OPEN</a> = 4900 : 4900
-    <a name="XML_MODULE_CLOSE" id="XML_MODULE_CLOSE">XML_MODULE_CLOSE</a> = 4901 : 4901
-    <a name="XML_CHECK_FOUND_ELEMENT" id="XML_CHECK_FOUND_ELEMENT">XML_CHECK_FOUND_ELEMENT</a> = 5000
-    <a name="XML_CHECK_FOUND_ATTRIBUTE" id="XML_CHECK_FOUND_ATTRIBUTE">XML_CHECK_FOUND_ATTRIBUTE</a> = 5001 : 5001
-    <a name="XML_CHECK_FOUND_TEXT" id="XML_CHECK_FOUND_TEXT">XML_CHECK_FOUND_TEXT</a> = 5002 : 5002
-    <a name="XML_CHECK_FOUND_CDATA" id="XML_CHECK_FOUND_CDATA">XML_CHECK_FOUND_CDATA</a> = 5003 : 5003
-    <a name="XML_CHECK_FOUND_ENTITYREF" id="XML_CHECK_FOUND_ENTITYREF">XML_CHECK_FOUND_ENTITYREF</a> = 5004 : 5004
-    <a name="XML_CHECK_FOUND_ENTITY" id="XML_CHECK_FOUND_ENTITY">XML_CHECK_FOUND_ENTITY</a> = 5005 : 5005
-    <a name="XML_CHECK_FOUND_PI" id="XML_CHECK_FOUND_PI">XML_CHECK_FOUND_PI</a> = 5006 : 5006
-    <a name="XML_CHECK_FOUND_COMMENT" id="XML_CHECK_FOUND_COMMENT">XML_CHECK_FOUND_COMMENT</a> = 5007 : 5007
-    <a name="XML_CHECK_FOUND_DOCTYPE" id="XML_CHECK_FOUND_DOCTYPE">XML_CHECK_FOUND_DOCTYPE</a> = 5008 : 5008
-    <a name="XML_CHECK_FOUND_FRAGMENT" id="XML_CHECK_FOUND_FRAGMENT">XML_CHECK_FOUND_FRAGMENT</a> = 5009 : 5009
-    <a name="XML_CHECK_FOUND_NOTATION" id="XML_CHECK_FOUND_NOTATION">XML_CHECK_FOUND_NOTATION</a> = 5010 : 5010
-    <a name="XML_CHECK_UNKNOWN_NODE" id="XML_CHECK_UNKNOWN_NODE">XML_CHECK_UNKNOWN_NODE</a> = 5011 : 5011
-    <a name="XML_CHECK_ENTITY_TYPE" id="XML_CHECK_ENTITY_TYPE">XML_CHECK_ENTITY_TYPE</a> = 5012 : 5012
-    <a name="XML_CHECK_NO_PARENT" id="XML_CHECK_NO_PARENT">XML_CHECK_NO_PARENT</a> = 5013 : 5013
-    <a name="XML_CHECK_NO_DOC" id="XML_CHECK_NO_DOC">XML_CHECK_NO_DOC</a> = 5014 : 5014
-    <a name="XML_CHECK_NO_NAME" id="XML_CHECK_NO_NAME">XML_CHECK_NO_NAME</a> = 5015 : 5015
-    <a name="XML_CHECK_NO_ELEM" id="XML_CHECK_NO_ELEM">XML_CHECK_NO_ELEM</a> = 5016 : 5016
-    <a name="XML_CHECK_WRONG_DOC" id="XML_CHECK_WRONG_DOC">XML_CHECK_WRONG_DOC</a> = 5017 : 5017
-    <a name="XML_CHECK_NO_PREV" id="XML_CHECK_NO_PREV">XML_CHECK_NO_PREV</a> = 5018 : 5018
-    <a name="XML_CHECK_WRONG_PREV" id="XML_CHECK_WRONG_PREV">XML_CHECK_WRONG_PREV</a> = 5019 : 5019
-    <a name="XML_CHECK_NO_NEXT" id="XML_CHECK_NO_NEXT">XML_CHECK_NO_NEXT</a> = 5020 : 5020
-    <a name="XML_CHECK_WRONG_NEXT" id="XML_CHECK_WRONG_NEXT">XML_CHECK_WRONG_NEXT</a> = 5021 : 5021
-    <a name="XML_CHECK_NOT_DTD" id="XML_CHECK_NOT_DTD">XML_CHECK_NOT_DTD</a> = 5022 : 5022
-    <a name="XML_CHECK_NOT_ATTR" id="XML_CHECK_NOT_ATTR">XML_CHECK_NOT_ATTR</a> = 5023 : 5023
-    <a name="XML_CHECK_NOT_ATTR_DECL" id="XML_CHECK_NOT_ATTR_DECL">XML_CHECK_NOT_ATTR_DECL</a> = 5024 : 5024
-    <a name="XML_CHECK_NOT_ELEM_DECL" id="XML_CHECK_NOT_ELEM_DECL">XML_CHECK_NOT_ELEM_DECL</a> = 5025 : 5025
-    <a name="XML_CHECK_NOT_ENTITY_DECL" id="XML_CHECK_NOT_ENTITY_DECL">XML_CHECK_NOT_ENTITY_DECL</a> = 5026 : 5026
-    <a name="XML_CHECK_NOT_NS_DECL" id="XML_CHECK_NOT_NS_DECL">XML_CHECK_NOT_NS_DECL</a> = 5027 : 5027
-    <a name="XML_CHECK_NO_HREF" id="XML_CHECK_NO_HREF">XML_CHECK_NO_HREF</a> = 5028 : 5028
-    <a name="XML_CHECK_WRONG_PARENT" id="XML_CHECK_WRONG_PARENT">XML_CHECK_WRONG_PARENT</a> = 5029 : 5029
-    <a name="XML_CHECK_NS_SCOPE" id="XML_CHECK_NS_SCOPE">XML_CHECK_NS_SCOPE</a> = 5030 : 5030
-    <a name="XML_CHECK_NS_ANCESTOR" id="XML_CHECK_NS_ANCESTOR">XML_CHECK_NS_ANCESTOR</a> = 5031 : 5031
-    <a name="XML_CHECK_NOT_UTF8" id="XML_CHECK_NOT_UTF8">XML_CHECK_NOT_UTF8</a> = 5032 : 5032
-    <a name="XML_CHECK_NO_DICT" id="XML_CHECK_NO_DICT">XML_CHECK_NO_DICT</a> = 5033 : 5033
-    <a name="XML_CHECK_NOT_NCNAME" id="XML_CHECK_NOT_NCNAME">XML_CHECK_NOT_NCNAME</a> = 5034 : 5034
-    <a name="XML_CHECK_OUTSIDE_DICT" id="XML_CHECK_OUTSIDE_DICT">XML_CHECK_OUTSIDE_DICT</a> = 5035 : 5035
-    <a name="XML_CHECK_WRONG_NAME" id="XML_CHECK_WRONG_NAME">XML_CHECK_WRONG_NAME</a> = 5036 : 5036
-    <a name="XML_CHECK_NAME_NOT_NULL" id="XML_CHECK_NAME_NOT_NULL">XML_CHECK_NAME_NOT_NULL</a> = 5037 : 5037
-    <a name="XML_I18N_NO_NAME" id="XML_I18N_NO_NAME">XML_I18N_NO_NAME</a> = 6000
-    <a name="XML_I18N_NO_HANDLER" id="XML_I18N_NO_HANDLER">XML_I18N_NO_HANDLER</a> = 6001 : 6001
-    <a name="XML_I18N_EXCESS_HANDLER" id="XML_I18N_EXCESS_HANDLER">XML_I18N_EXCESS_HANDLER</a> = 6002 : 6002
-    <a name="XML_I18N_CONV_FAILED" id="XML_I18N_CONV_FAILED">XML_I18N_CONV_FAILED</a> = 6003 : 6003
-    <a name="XML_I18N_NO_OUTPUT" id="XML_I18N_NO_OUTPUT">XML_I18N_NO_OUTPUT</a> = 6004 : 6004
-    <a name="XML_BUF_OVERFLOW" id="XML_BUF_OVERFLOW">XML_BUF_OVERFLOW</a> = 7000
-}
-</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>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the handler</td></tr></tbody></table></div><h3><a name="xmlCopyError" id="xmlCopyError"></a>Function: xmlCopyError</h3><pre class="programlisting">int	xmlCopyError			(<a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br />					 <a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to)<br />
-</pre><p>Save the original error to the new place.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>a source error</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>a target error</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><h3><a name="xmlCtxtGetLastError" id="xmlCtxtGetLastError"></a>Function: xmlCtxtGetLastError</h3><pre class="programlisting"><a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlCtxtGetLastError	(void * ctx)<br />
-</pre><p>Get the last parsing error registered.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occurred or a pointer to the error</td></tr></tbody></table></div><h3><a name="xmlCtxtResetLastError" id="xmlCtxtResetLastError"></a>Function: xmlCtxtResetLastError</h3><pre class="programlisting">void	xmlCtxtResetLastError		(void * ctx)<br />
-</pre><p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlGenericErrorFunc" id="xmlGenericErrorFunc"></a>Function type: xmlGenericErrorFunc</h3><pre class="programlisting">Function type: xmlGenericErrorFunc
-void	xmlGenericErrorFunc		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Signature of the function to use when there is an error and no parsing or validity context available .</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>a parsing context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>the extra arguments of the varargs to format the message</td></tr></tbody></table></div><br />
-<h3><a name="xmlGetLastError" id="xmlGetLastError"></a>Function: xmlGetLastError</h3><pre class="programlisting"><a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlGetLastError		(void)<br />
-</pre><p>Get the last global error registered. This is per thread if compiled with thread support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occurred or a pointer to the error</td></tr></tbody></table></div><h3><a name="xmlParserError" id="xmlParserError"></a>Function: xmlParserError</h3><pre class="programlisting">void	xmlParserError			(void * ctx, <br />					 const char * msg, <br />					 ... ...)<br />
-</pre><p>Display and format an error messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div><h3><a name="xmlParserPrintFileContext" id="xmlParserPrintFileContext"></a>Function: xmlParserPrintFileContext</h3><pre class="programlisting">void	xmlParserPrintFileContext	(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br />
-</pre><p>Displays current context within the input content for error tracking</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td></tr></tbody></table></div><h3><a name="xmlParserPrintFileInfo" id="xmlParserPrintFileInfo"></a>Function: xmlParserPrintFileInfo</h3><pre class="programlisting">void	xmlParserPrintFileInfo		(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br />
-</pre><p>Displays the associated file and line information for the current input</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td></tr></tbody></table></div><h3><a name="xmlParserValidityError" id="xmlParserValidityError"></a>Function: xmlParserValidityError</h3><pre class="programlisting">void	xmlParserValidityError		(void * ctx, <br />					 const char * msg, <br />					 ... ...)<br />
-</pre><p>Display and format an validity error messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div><h3><a name="xmlParserValidityWarning" id="xmlParserValidityWarning"></a>Function: xmlParserValidityWarning</h3><pre class="programlisting">void	xmlParserValidityWarning	(void * ctx, <br />					 const char * msg, <br />					 ... ...)<br />
-</pre><p>Display and format a validity warning messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div><h3><a name="xmlParserWarning" id="xmlParserWarning"></a>Function: xmlParserWarning</h3><pre class="programlisting">void	xmlParserWarning		(void * ctx, <br />					 const char * msg, <br />					 ... ...)<br />
-</pre><p>Display and format a warning messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div><h3><a name="xmlResetError" id="xmlResetError"></a>Function: xmlResetError</h3><pre class="programlisting">void	xmlResetError			(<a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err)<br />
-</pre><p>Cleanup the error.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>pointer to the error.</td></tr></tbody></table></div><h3><a name="xmlResetLastError" id="xmlResetLastError"></a>Function: xmlResetLastError</h3><pre class="programlisting">void	xmlResetLastError		(void)<br />
-</pre><p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
-<h3><a name="xmlSetGenericErrorFunc" id="xmlSetGenericErrorFunc"></a>Function: xmlSetGenericErrorFunc</h3><pre class="programlisting">void	xmlSetGenericErrorFunc		(void * ctx, <br />					 <a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br />
-</pre><p>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL. For multi-threaded applications, this must be set separately for each thread.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the new error handling context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler function</td></tr></tbody></table></div><h3><a name="xmlSetStructuredErrorFunc" id="xmlSetStructuredErrorFunc"></a>Function: xmlSetStructuredErrorFunc</h3><pre class="programlisting">void	xmlSetStructuredErrorFunc	(void * ctx, <br />					 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br />
-</pre><p>Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler For multi-threaded applications, this must be set separately for each thread.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the new error handling context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler function</td></tr></tbody></table></div><h3><a name="xmlStructuredErrorFunc" id="xmlStructuredErrorFunc"></a>Function type: xmlStructuredErrorFunc</h3><pre class="programlisting">Function type: xmlStructuredErrorFunc
-void	xmlStructuredErrorFunc		(void * userData, <br />					 <a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error)
-</pre><p>Signature of the function to use when there is an error and the module handles the new error reporting mechanism.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>user provided data for the error callback</td></tr><tr><td><span class="term"><i><tt>error</tt></i>:</span></td><td>the error being raised.</td></tr></tbody></table></div><br />
-<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>
diff --git a/doc/html/libxml-xmlexports.html b/doc/html/libxml-xmlexports.html
deleted file mode 100644
index 30ed089..0000000
--- a/doc/html/libxml-xmlexports.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlexports from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlexports from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlerror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlmemory.html">xmlmemory</a></th><td><a accesskey="n" href="libxml-xmlmemory.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>macros for marking symbols as exportable/importable. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a></pre><pre class="programlisting">#define <a href="#XMLCALL">XMLCALL</a></pre><pre class="programlisting">#define <a href="#XMLCDECL">XMLCDECL</a></pre><pre class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a></pre><pre class="programlisting">#define <a href="#XMLPUBLIC">XMLPUBLIC</a></pre><pre class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a></pre><h2>Description</h2>
-<h3><a name="LIBXML_DLL_IMPORT" id="LIBXML_DLL_IMPORT"></a>Macro: LIBXML_DLL_IMPORT</h3><pre>#define LIBXML_DLL_IMPORT</pre><p></p>
-<h3><a name="XMLCALL" id="XMLCALL"></a>Macro: XMLCALL</h3><pre>#define XMLCALL</pre><p>Macro which declares the calling convention for exported functions</p>
-<h3><a name="XMLCDECL" id="XMLCDECL"></a>Macro: XMLCDECL</h3><pre>#define XMLCDECL</pre><p>Macro which declares the calling convention for exported functions that use '...'.</p>
-<h3><a name="XMLPUBFUN" id="XMLPUBFUN"></a>Macro: XMLPUBFUN</h3><pre>#define XMLPUBFUN</pre><p>Macro which declares an exportable function</p>
-<h3><a name="XMLPUBLIC" id="XMLPUBLIC"></a>Macro: XMLPUBLIC</h3><pre>#define XMLPUBLIC</pre><p>Macro which declares a public symbol</p>
-<h3><a name="XMLPUBVAR" id="XMLPUBVAR"></a>Macro: XMLPUBVAR</h3><pre>#define XMLPUBVAR</pre><p>Macro which declares an exportable variable</p>
-<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlmemory.html b/doc/html/libxml-xmlmemory.html
deleted file mode 100644
index 86328e4..0000000
--- a/doc/html/libxml-xmlmemory.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlmemory from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlmemory from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlexports.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlexports.html">xmlexports</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlmodule.html">xmlmodule</a></th><td><a accesskey="n" href="libxml-xmlmodule.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>provides interfaces for the memory allocator, including debugging capabilities. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a></pre><pre class="programlisting">Variable <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> <a name="xmlMalloc" id="xmlMalloc"></a>xmlMalloc
-
-</pre><pre class="programlisting">Variable <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> <a name="xmlMallocAtomic" id="xmlMallocAtomic"></a>xmlMallocAtomic
-
-</pre><pre class="programlisting">Variable <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> <a name="xmlMemStrdup" id="xmlMemStrdup"></a>xmlMemStrdup
-
-</pre><pre class="programlisting">Variable <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> <a name="xmlRealloc" id="xmlRealloc"></a>xmlRealloc
-
-</pre><pre class="programlisting">void	<a href="#xmlCleanupMemory">xmlCleanupMemory</a>		(void)</pre>
-<pre class="programlisting">Function type: <a href="#xmlFreeFunc">xmlFreeFunc</a>
-void	<a href="#xmlFreeFunc">xmlFreeFunc</a>			(void * mem)
-</pre>
-<pre class="programlisting">int	<a href="#xmlGcMemGet">xmlGcMemGet</a>			(<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br />					 <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <br />					 <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)</pre>
-<pre class="programlisting">int	<a href="#xmlGcMemSetup">xmlGcMemSetup</a>			(<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br />					 <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <br />					 <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc)</pre>
-<pre class="programlisting">int	<a href="#xmlInitMemory">xmlInitMemory</a>			(void)</pre>
-<pre class="programlisting">void *	<a href="#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a>		(size_t size, <br />					 const char * file, <br />					 int line)</pre>
-<pre class="programlisting">Function type: <a href="#xmlMallocFunc">xmlMallocFunc</a>
-void *	<a href="#xmlMallocFunc">xmlMallocFunc</a>			(size_t size)
-</pre>
-<pre class="programlisting">void *	<a href="#xmlMallocLoc">xmlMallocLoc</a>			(size_t size, <br />					 const char * file, <br />					 int line)</pre>
-<pre class="programlisting">int	<a href="#xmlMemBlocks">xmlMemBlocks</a>			(void)</pre>
-<pre class="programlisting">void	<a href="#xmlMemDisplay">xmlMemDisplay</a>			(FILE * fp)</pre>
-<pre class="programlisting">void	<a href="#xmlMemDisplayLast">xmlMemDisplayLast</a>		(FILE * fp, <br />					 long nbBytes)</pre>
-<pre class="programlisting">void	<a href="#xmlMemFree">xmlMemFree</a>			(void * ptr)</pre>
-<pre class="programlisting">int	<a href="#xmlMemGet">xmlMemGet</a>			(<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br />					 <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)</pre>
-<pre class="programlisting">void *	<a href="#xmlMemMalloc">xmlMemMalloc</a>			(size_t size)</pre>
-<pre class="programlisting">void *	<a href="#xmlMemRealloc">xmlMemRealloc</a>			(void * ptr, <br />					 size_t size)</pre>
-<pre class="programlisting">int	<a href="#xmlMemSetup">xmlMemSetup</a>			(<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br />					 <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc)</pre>
-<pre class="programlisting">void	<a href="#xmlMemShow">xmlMemShow</a>			(FILE * fp, <br />					 int nr)</pre>
-<pre class="programlisting">char *	<a href="#xmlMemStrdupLoc">xmlMemStrdupLoc</a>			(const char * str, <br />					 const char * file, <br />					 int line)</pre>
-<pre class="programlisting">int	<a href="#xmlMemUsed">xmlMemUsed</a>			(void)</pre>
-<pre class="programlisting">void	<a href="#xmlMemoryDump">xmlMemoryDump</a>			(void)</pre>
-<pre class="programlisting">char *	<a href="#xmlMemoryStrdup">xmlMemoryStrdup</a>			(const char * str)</pre>
-<pre class="programlisting">Function type: <a href="#xmlReallocFunc">xmlReallocFunc</a>
-void *	<a href="#xmlReallocFunc">xmlReallocFunc</a>			(void * mem, <br />					 size_t size)
-</pre>
-<pre class="programlisting">void *	<a href="#xmlReallocLoc">xmlReallocLoc</a>			(void * ptr, <br />					 size_t size, <br />					 const char * file, <br />					 int line)</pre>
-<pre class="programlisting">Function type: <a href="#xmlStrdupFunc">xmlStrdupFunc</a>
-char *	<a href="#xmlStrdupFunc">xmlStrdupFunc</a>			(const char * str)
-</pre>
-<h2>Description</h2>
-<h3><a name="DEBUG_MEMORY" id="DEBUG_MEMORY"></a>Macro: DEBUG_MEMORY</h3><pre>#define DEBUG_MEMORY</pre><p><a href="libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> replaces the allocator with a collect and debug shell to the libc allocator. <a href="libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define DEBUG_MEMORY_FREED #define <a href="libxml-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></p>
-<h3><a name="xmlCleanupMemory" id="xmlCleanupMemory"></a>Function: xmlCleanupMemory</h3><pre class="programlisting">void	xmlCleanupMemory		(void)<br />
-</pre><p>Free up all the memory allocated by the library for its own use. This should not be called by user level code.</p>
-<h3><a name="xmlFreeFunc" id="xmlFreeFunc"></a>Function type: xmlFreeFunc</h3><pre class="programlisting">Function type: xmlFreeFunc
-void	xmlFreeFunc			(void * mem)
-</pre><p>Signature for a free() 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></tbody></table></div><br />
-<h3><a name="xmlGcMemGet" id="xmlGcMemGet"></a>Function: xmlGcMemGet</h3><pre class="programlisting">int	xmlGcMemGet			(<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#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <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 The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators</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>mallocAtomicFunc</tt></i>:</span></td><td>place to save the atomic 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="xmlGcMemSetup" id="xmlGcMemSetup"></a>Function: xmlGcMemSetup</h3><pre class="programlisting">int	xmlGcMemSetup			(<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#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <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 ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators 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>mallocAtomicFunc</tt></i>:</span></td><td>the malloc() function to use for atomic allocations</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="xmlInitMemory" id="xmlInitMemory"></a>Function: xmlInitMemory</h3><pre class="programlisting">int	xmlInitMemory			(void)<br />
-</pre><p>Initialize the memory layer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success</td></tr></tbody></table></div><h3><a name="xmlMallocAtomicLoc" id="xmlMallocAtomicLoc"></a>Function: xmlMallocAtomicLoc</h3><pre class="programlisting">void *	xmlMallocAtomicLoc		(size_t size, <br />					 const char * file, <br />					 int line)<br />
-</pre><p>a malloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>an unsigned 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="xmlMallocFunc" id="xmlMallocFunc"></a>Function type: xmlMallocFunc</h3><pre class="programlisting">Function type: xmlMallocFunc
-void *	xmlMallocFunc			(size_t size)
-</pre><p>Signature for a malloc() implementation.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size requested in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the newly allocated block or NULL in case of error.</td></tr></tbody></table></div><br />
-<h3><a name="xmlMallocLoc" id="xmlMallocLoc"></a>Function: xmlMallocLoc</h3><pre class="programlisting">void *	xmlMallocLoc			(size_t size, <br />					 const char * file, <br />					 int line)<br />
-</pre><p>a malloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>an int specifying the size in byte to allocate.</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file name or NULL</td></tr><tr><td><span class="term"><i><tt>line</tt></i>:</span></td><td>the line number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the allocated area or NULL in case of lack of memory.</td></tr></tbody></table></div><h3><a name="xmlMemBlocks" id="xmlMemBlocks"></a>Function: xmlMemBlocks</h3><pre class="programlisting">int	xmlMemBlocks			(void)<br />
-</pre><p>Provides the number of memory areas currently allocated</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int representing the number of blocks</td></tr></tbody></table></div><h3><a name="xmlMemDisplay" id="xmlMemDisplay"></a>Function: xmlMemDisplay</h3><pre class="programlisting">void	xmlMemDisplay			(FILE * fp)<br />
-</pre><p>show in-extenso the memory blocks allocated</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>fp</tt></i>:</span></td><td>a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist</td></tr></tbody></table></div><h3><a name="xmlMemDisplayLast" id="xmlMemDisplayLast"></a>Function: xmlMemDisplayLast</h3><pre class="programlisting">void	xmlMemDisplayLast		(FILE * fp, <br />					 long nbBytes)<br />
-</pre><p>the last nbBytes of memory allocated and not freed, useful for dumping the memory left allocated between two places at runtime.</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><tr><td><span class="term"><i><tt>nbBytes</tt></i>:</span></td><td>the amount of memory to dump</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>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>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>
-<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</td></tr><tr><td><span class="term"><i><tt>nr</tt></i>:</span></td><td>number of entries to dump</td></tr></tbody></table></div><h3><a name="xmlMemStrdupLoc" id="xmlMemStrdupLoc"></a>Function: xmlMemStrdupLoc</h3><pre class="programlisting">char *	xmlMemStrdupLoc			(const char * str, <br />					 const char * file, <br />					 int line)<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>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 new string or NULL if allocation error occurred.</td></tr></tbody></table></div><h3><a name="xmlMemUsed" id="xmlMemUsed"></a>Function: xmlMemUsed</h3><pre class="programlisting">int	xmlMemUsed			(void)<br />
-</pre><p>Provides the amount of memory currently allocated</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int representing the 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
-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 />
-</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>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="xmlStrdupFunc" id="xmlStrdupFunc"></a>Function type: xmlStrdupFunc</h3><pre class="programlisting">Function type: xmlStrdupFunc
-char *	xmlStrdupFunc			(const char * str)
-</pre><p>Signature for an strdup() implementation.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the copy of the string or NULL in case of error.</td></tr></tbody></table></div><br />
-<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlmodule.html b/doc/html/libxml-xmlmodule.html
deleted file mode 100644
index df15af3..0000000
--- a/doc/html/libxml-xmlmodule.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlmodule from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlmodule 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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlmemory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlmemory.html">xmlmemory</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlreader.html">xmlreader</a></th><td><a accesskey="n" href="libxml-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>basic API for dynamic module loading, used by libexslt added in 2.6.17 </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlModule">xmlModule</a><br />struct _xmlModule
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Enum <a href="#xmlModuleOption">xmlModuleOption</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlmodule.html#xmlModule">xmlModule</a> * <a name="xmlModulePtr" id="xmlModulePtr">xmlModulePtr</a>
-</pre><pre class="programlisting">int	<a href="#xmlModuleClose">xmlModuleClose</a>			(<a href="libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)</pre>
-<pre class="programlisting">int	<a href="#xmlModuleFree">xmlModuleFree</a>			(<a href="libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)</pre>
-<pre class="programlisting"><a href="libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>	<a href="#xmlModuleOpen">xmlModuleOpen</a>		(const char * name, <br />					 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlModuleSymbol">xmlModuleSymbol</a>			(<a href="libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br />					 const char * name, <br />					 void ** symbol)</pre>
-<h2>Description</h2>
-<h3><a name="xmlModule" id="xmlModule">Structure xmlModule</a></h3><pre class="programlisting">Structure xmlModule<br />struct _xmlModule {
-The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="xmlModuleOption" id="xmlModuleOption">xmlModuleOption</a></h3><pre class="programlisting">Enum xmlModuleOption {
-    <a name="XML_MODULE_LAZY" id="XML_MODULE_LAZY">XML_MODULE_LAZY</a> = 1 : lazy binding
-    <a name="XML_MODULE_LOCAL" id="XML_MODULE_LOCAL">XML_MODULE_LOCAL</a> = 2 : local binding
-}
-</pre>
-      A handle to a dynamically loaded module
-    <h3><a name="xmlModuleClose" id="xmlModuleClose"></a>Function: xmlModuleClose</h3><pre class="programlisting">int	xmlModuleClose			(<a href="libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br />
-</pre><p>The close operations unload the associated module and free the data associated to the module.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>module</tt></i>:</span></td><td>the module handle</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of argument error and -2 if the module could not be closed/unloaded.</td></tr></tbody></table></div><h3><a name="xmlModuleFree" id="xmlModuleFree"></a>Function: xmlModuleFree</h3><pre class="programlisting">int	xmlModuleFree			(<a href="libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br />
-</pre><p>The free operations free the data associated to the module but does not unload the associated shared library which may still be in use.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>module</tt></i>:</span></td><td>the module handle</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of argument error</td></tr></tbody></table></div><h3><a name="xmlModuleOpen" id="xmlModuleOpen"></a>Function: xmlModuleOpen</h3><pre class="programlisting"><a href="libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>	xmlModuleOpen		(const char * name, <br />					 int options)<br />
-</pre><p>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * . TODO: options are not yet implemented.</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 module name</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a set of <a href="libxml-xmlmodule.html#xmlModuleOption">xmlModuleOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a handle for the module or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlModuleSymbol" id="xmlModuleSymbol"></a>Function: xmlModuleSymbol</h3><pre class="programlisting">int	xmlModuleSymbol			(<a href="libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br />					 const char * name, <br />					 void ** symbol)<br />
-</pre><p>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * .</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>module</tt></i>:</span></td><td>the module</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the symbol</td></tr><tr><td><span class="term"><i><tt>symbol</tt></i>:</span></td><td>the resulting symbol address</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the symbol was found, or -1 in case of error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlreader.html b/doc/html/libxml-xmlreader.html
deleted file mode 100644
index 6d620f9..0000000
--- a/doc/html/libxml-xmlreader.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlreader from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlreader from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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-xmlmodule.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlmodule.html">xmlmodule</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlregexp.html">xmlregexp</a></th><td><a accesskey="n" href="libxml-xmlregexp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API of the XML streaming API based on C# interfaces. </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlParserProperties">xmlParserProperties</a>
-</pre><pre class="programlisting">Enum <a href="#xmlParserSeverities">xmlParserSeverities</a>
-</pre><pre class="programlisting">Enum <a href="#xmlReaderTypes">xmlReaderTypes</a>
-</pre><pre class="programlisting">Structure <a href="#xmlTextReader">xmlTextReader</a><br />struct _xmlTextReader
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef void * <a name="xmlTextReaderLocatorPtr" id="xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlreader.html#xmlTextReader">xmlTextReader</a> * <a name="xmlTextReaderPtr" id="xmlTextReaderPtr">xmlTextReaderPtr</a>
-</pre><pre class="programlisting">void	<a href="#xmlFreeTextReader">xmlFreeTextReader</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlNewTextReader">xmlNewTextReader</a>	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />						 const char * URI)</pre>
-<pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a>	(const char * URI)</pre>
-<pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForDoc">xmlReaderForDoc</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForFd">xmlReaderForFd</a>	(int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForFile">xmlReaderForFile</a>	(const char * filename, <br />						 const char * encoding, <br />						 int options)</pre>
-<pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForIO">xmlReaderForIO</a>	(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForMemory">xmlReaderForMemory</a>	(const char * buffer, <br />						 int size, <br />						 const char * URL, <br />						 const char * encoding, <br />						 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlReaderNewDoc">xmlReaderNewDoc</a>			(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlReaderNewFd">xmlReaderNewFd</a>			(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlReaderNewFile">xmlReaderNewFile</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const char * filename, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlReaderNewIO">xmlReaderNewIO</a>			(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlReaderNewMemory">xmlReaderNewMemory</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlReaderNewWalker">xmlReaderNewWalker</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderWalker">xmlReaderWalker</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">long	<a href="#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderClose">xmlTextReaderClose</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstName">xmlTextReaderConstName</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstString">xmlTextReaderConstString</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstValue">xmlTextReaderConstValue</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderDepth">xmlTextReaderDepth</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">Function type: <a href="#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a>
-void	<a href="#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a>		(void * arg, <br />					 const char * msg, <br />					 <a href="libxml-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br />					 <a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)
-</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderExpand">xmlTextReaderExpand</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 int no)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localName, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)</pre>
-<pre class="programlisting">void	<a href="#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br />					 void ** arg)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderGetParserColumnNumber">xmlTextReaderGetParserColumnNumber</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderGetParserLineNumber">xmlTextReaderGetParserLineNumber</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 int prop)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderHasAttributes">xmlTextReaderHasAttributes</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderHasValue">xmlTextReaderHasValue</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderIsValid">xmlTextReaderIsValid</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLocalName">xmlTextReaderLocalName</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a>	(<a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a>	(<a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 int no)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localName, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderMoveToFirstAttribute">xmlTextReaderMoveToFirstAttribute</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderMoveToNextAttribute">xmlTextReaderMoveToNextAttribute</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderName">xmlTextReaderName</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderNamespaceUri">xmlTextReaderNamespaceUri</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderNext">xmlTextReaderNext</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderNodeType">xmlTextReaderNodeType</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderNormalization">xmlTextReaderNormalization</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderPrefix">xmlTextReaderPrefix</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderPreserve">xmlTextReaderPreserve</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a>	(<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)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderRead">xmlTextReaderRead</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadInnerXml">xmlTextReaderReadInnerXml</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderReadState">xmlTextReaderReadState</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadString">xmlTextReaderReadString</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const char * rng)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 <a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />						 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const char * xsd)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 int options)</pre>
-<pre class="programlisting">void	<a href="#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br />					 void * arg)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 int prop, <br />					 int value)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)</pre>
-<pre class="programlisting">void	<a href="#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br />						 void * arg)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderSetup">xmlTextReaderSetup</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlTextReaderStandalone">xmlTextReaderStandalone</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderValue">xmlTextReaderValue</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
-<h2>Description</h2>
-<h3>Enum <a name="xmlParserProperties" id="xmlParserProperties">xmlParserProperties</a></h3><pre class="programlisting">Enum xmlParserProperties {
-    <a name="XML_PARSER_LOADDTD" id="XML_PARSER_LOADDTD">XML_PARSER_LOADDTD</a> = 1
-    <a name="XML_PARSER_DEFAULTATTRS" id="XML_PARSER_DEFAULTATTRS">XML_PARSER_DEFAULTATTRS</a> = 2
-    <a name="XML_PARSER_VALIDATE" id="XML_PARSER_VALIDATE">XML_PARSER_VALIDATE</a> = 3
-    <a name="XML_PARSER_SUBST_ENTITIES" id="XML_PARSER_SUBST_ENTITIES">XML_PARSER_SUBST_ENTITIES</a> = 4
-}
-</pre><h3>Enum <a name="xmlParserSeverities" id="xmlParserSeverities">xmlParserSeverities</a></h3><pre class="programlisting">Enum xmlParserSeverities {
-    <a name="XML_PARSER_SEVERITY_VALIDITY_WARNING" id="XML_PARSER_SEVERITY_VALIDITY_WARNING">XML_PARSER_SEVERITY_VALIDITY_WARNING</a> = 1
-    <a name="XML_PARSER_SEVERITY_VALIDITY_ERROR" id="XML_PARSER_SEVERITY_VALIDITY_ERROR">XML_PARSER_SEVERITY_VALIDITY_ERROR</a> = 2
-    <a name="XML_PARSER_SEVERITY_WARNING" id="XML_PARSER_SEVERITY_WARNING">XML_PARSER_SEVERITY_WARNING</a> = 3
-    <a name="XML_PARSER_SEVERITY_ERROR" id="XML_PARSER_SEVERITY_ERROR">XML_PARSER_SEVERITY_ERROR</a> = 4
-}
-</pre><h3>Enum <a name="xmlReaderTypes" id="xmlReaderTypes">xmlReaderTypes</a></h3><pre class="programlisting">Enum xmlReaderTypes {
-    <a name="XML_READER_TYPE_NONE" id="XML_READER_TYPE_NONE">XML_READER_TYPE_NONE</a> = 0
-    <a name="XML_READER_TYPE_ELEMENT" id="XML_READER_TYPE_ELEMENT">XML_READER_TYPE_ELEMENT</a> = 1
-    <a name="XML_READER_TYPE_ATTRIBUTE" id="XML_READER_TYPE_ATTRIBUTE">XML_READER_TYPE_ATTRIBUTE</a> = 2
-    <a name="XML_READER_TYPE_TEXT" id="XML_READER_TYPE_TEXT">XML_READER_TYPE_TEXT</a> = 3
-    <a name="XML_READER_TYPE_CDATA" id="XML_READER_TYPE_CDATA">XML_READER_TYPE_CDATA</a> = 4
-    <a name="XML_READER_TYPE_ENTITY_REFERENCE" id="XML_READER_TYPE_ENTITY_REFERENCE">XML_READER_TYPE_ENTITY_REFERENCE</a> = 5
-    <a name="XML_READER_TYPE_ENTITY" id="XML_READER_TYPE_ENTITY">XML_READER_TYPE_ENTITY</a> = 6
-    <a name="XML_READER_TYPE_PROCESSING_INSTRUCTION" id="XML_READER_TYPE_PROCESSING_INSTRUCTION">XML_READER_TYPE_PROCESSING_INSTRUCTION</a> = 7
-    <a name="XML_READER_TYPE_COMMENT" id="XML_READER_TYPE_COMMENT">XML_READER_TYPE_COMMENT</a> = 8
-    <a name="XML_READER_TYPE_DOCUMENT" id="XML_READER_TYPE_DOCUMENT">XML_READER_TYPE_DOCUMENT</a> = 9
-    <a name="XML_READER_TYPE_DOCUMENT_TYPE" id="XML_READER_TYPE_DOCUMENT_TYPE">XML_READER_TYPE_DOCUMENT_TYPE</a> = 10
-    <a name="XML_READER_TYPE_DOCUMENT_FRAGMENT" id="XML_READER_TYPE_DOCUMENT_FRAGMENT">XML_READER_TYPE_DOCUMENT_FRAGMENT</a> = 11
-    <a name="XML_READER_TYPE_NOTATION" id="XML_READER_TYPE_NOTATION">XML_READER_TYPE_NOTATION</a> = 12
-    <a name="XML_READER_TYPE_WHITESPACE" id="XML_READER_TYPE_WHITESPACE">XML_READER_TYPE_WHITESPACE</a> = 13
-    <a name="XML_READER_TYPE_SIGNIFICANT_WHITESPACE" id="XML_READER_TYPE_SIGNIFICANT_WHITESPACE">XML_READER_TYPE_SIGNIFICANT_WHITESPACE</a> = 14
-    <a name="XML_READER_TYPE_END_ELEMENT" id="XML_READER_TYPE_END_ELEMENT">XML_READER_TYPE_END_ELEMENT</a> = 15
-    <a name="XML_READER_TYPE_END_ENTITY" id="XML_READER_TYPE_END_ENTITY">XML_READER_TYPE_END_ENTITY</a> = 16
-    <a name="XML_READER_TYPE_XML_DECLARATION" id="XML_READER_TYPE_XML_DECLARATION">XML_READER_TYPE_XML_DECLARATION</a> = 17
-}
-</pre><h3><a name="xmlTextReader" id="xmlTextReader">Structure xmlTextReader</a></h3><pre class="programlisting">Structure xmlTextReader<br />struct _xmlTextReader {
-The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="xmlTextReaderMode" id="xmlTextReaderMode">xmlTextReaderMode</a></h3><pre class="programlisting">Enum xmlTextReaderMode {
-    <a name="XML_TEXTREADER_MODE_INITIAL" id="XML_TEXTREADER_MODE_INITIAL">XML_TEXTREADER_MODE_INITIAL</a> = 0
-    <a name="XML_TEXTREADER_MODE_INTERACTIVE" id="XML_TEXTREADER_MODE_INTERACTIVE">XML_TEXTREADER_MODE_INTERACTIVE</a> = 1
-    <a name="XML_TEXTREADER_MODE_ERROR" id="XML_TEXTREADER_MODE_ERROR">XML_TEXTREADER_MODE_ERROR</a> = 2
-    <a name="XML_TEXTREADER_MODE_EOF" id="XML_TEXTREADER_MODE_EOF">XML_TEXTREADER_MODE_EOF</a> = 3
-    <a name="XML_TEXTREADER_MODE_CLOSED" id="XML_TEXTREADER_MODE_CLOSED">XML_TEXTREADER_MODE_CLOSED</a> = 4
-    <a name="XML_TEXTREADER_MODE_READING" id="XML_TEXTREADER_MODE_READING">XML_TEXTREADER_MODE_READING</a> = 5
-}
-</pre>
-      Pointer to an xmlReader context.
-    <h3><a name="xmlFreeTextReader" id="xmlFreeTextReader"></a>Function: xmlFreeTextReader</h3><pre class="programlisting">void	xmlFreeTextReader		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Deallocate all the resources associated to the reader</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></td></tr></tbody></table></div><h3><a name="xmlNewTextReader" id="xmlNewTextReader"></a>Function: xmlNewTextReader</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlNewTextReader	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />						 const char * URI)<br />
-</pre><p>Create an <a href="libxml-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with @input</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to read data</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI information for the source if available</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewTextReaderFilename" id="xmlNewTextReaderFilename"></a>Function: xmlNewTextReaderFilename</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlNewTextReaderFilename	(const char * URI)<br />
-</pre><p>Create an <a href="libxml-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with the resource at @URI</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 of the resource to process</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlReaderForDoc" id="xmlReaderForDoc"></a>Function: xmlReaderForDoc</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForDoc	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlReaderForFd" id="xmlReaderForFd"></a>Function: xmlReaderForFd</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForFd	(int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlReaderForFile" id="xmlReaderForFile"></a>Function: xmlReaderForFile</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForFile	(const char * filename, <br />						 const char * encoding, <br />						 int options)<br />
-</pre><p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlReaderForIO" id="xmlReaderForIO"></a>Function: xmlReaderForIO</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForIO	(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlReaderForMemory" id="xmlReaderForMemory"></a>Function: xmlReaderForMemory</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForMemory	(const char * buffer, <br />						 int size, <br />						 const char * URL, <br />						 const char * encoding, <br />						 int options)<br />
-</pre><p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlReaderNewDoc" id="xmlReaderNewDoc"></a>Function: xmlReaderNewDoc</h3><pre class="programlisting">int	xmlReaderNewDoc			(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlReaderNewFd" id="xmlReaderNewFd"></a>Function: xmlReaderNewFd</h3><pre class="programlisting">int	xmlReaderNewFd			(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 int fd, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlReaderNewFile" id="xmlReaderNewFile"></a>Function: xmlReaderNewFile</h3><pre class="programlisting">int	xmlReaderNewFile		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const char * filename, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlReaderNewIO" id="xmlReaderNewIO"></a>Function: xmlReaderNewIO</h3><pre class="programlisting">int	xmlReaderNewIO			(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlReaderNewMemory" id="xmlReaderNewMemory"></a>Function: xmlReaderNewMemory</h3><pre class="programlisting">int	xmlReaderNewMemory		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlReaderNewWalker" id="xmlReaderNewWalker"></a>Function: xmlReaderNewWalker</h3><pre class="programlisting">int	xmlReaderNewWalker		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader xmlTextReader.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document</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><h3><a name="xmlReaderWalker" id="xmlReaderWalker"></a>Function: xmlReaderWalker</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderWalker	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Create an xmltextReader for a preparsed document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderAttributeCount" id="xmlTextReaderAttributeCount"></a>Function: xmlTextReaderAttributeCount</h3><pre class="programlisting">int	xmlTextReaderAttributeCount	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Provides the number of attributes of the current 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>0 i no attributes, -1 in case of error or the <a href="libxml-SAX.html#attribute">attribute</a> count</td></tr></tbody></table></div><h3><a name="xmlTextReaderBaseUri" id="xmlTextReaderBaseUri"></a>Function: xmlTextReaderBaseUri</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderBaseUri	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The base URI of the node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the base URI or NULL if not available, if non NULL it need to be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderByteConsumed" id="xmlTextReaderByteConsumed"></a>Function: xmlTextReaderByteConsumed</h3><pre class="programlisting">long	xmlTextReaderByteConsumed	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>This function provides the current index of the parser used by the reader, relative to the start of the current entity. This function actually just wraps a call to xmlBytesConsumed() for the parser context associated with the reader. See xmlBytesConsumed() for more information.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td></tr></tbody></table></div><h3><a name="xmlTextReaderClose" id="xmlTextReaderClose"></a>Function: xmlTextReaderClose</h3><pre class="programlisting">int	xmlTextReaderClose		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>This method releases any resources allocated by the current instance changes the state to Closed and close any underlying input.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstBaseUri" id="xmlTextReaderConstBaseUri"></a>Function: xmlTextReaderConstBaseUri</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstBaseUri	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The base URI of the node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the base URI or NULL if not available, the string will be deallocated with the reader</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstEncoding" id="xmlTextReaderConstEncoding"></a>Function: xmlTextReaderConstEncoding</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstEncoding	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Determine the encoding of the document being read.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the encoding of the document or NULL in case of error. The string is deallocated with the reader.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstLocalName" id="xmlTextReaderConstLocalName"></a>Function: xmlTextReaderConstLocalName</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstLocalName	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The local name of the node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, the string will be deallocated with the reader.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstName" id="xmlTextReaderConstName"></a>Function: xmlTextReaderConstName</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstName	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The qualified name of the node, equal to Prefix :LocalName.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, the string is deallocated with the reader.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstNamespaceUri" id="xmlTextReaderConstNamespaceUri"></a>Function: xmlTextReaderConstNamespaceUri</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstNamespaceUri	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The URI defining 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 namespace URI or NULL if not available, the string will be deallocated with the reader</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstPrefix" id="xmlTextReaderConstPrefix"></a>Function: xmlTextReaderConstPrefix</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstPrefix	(<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, the string is deallocated with the reader.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstString" id="xmlTextReaderConstString"></a>Function: xmlTextReaderConstString</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstString	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
-</pre><p>Get an interned string from the reader, allows for example to speedup string name comparisons</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>str</tt></i>:</span></td><td>the string to intern.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an interned copy of the string or NULL in case of error. The string will be deallocated with the reader.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstValue" id="xmlTextReaderConstValue"></a>Function: xmlTextReaderConstValue</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstValue	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Provides the text value of the node if present</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string or NULL if not available. The result will be deallocated on the next Read() operation.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstXmlLang" id="xmlTextReaderConstXmlLang"></a>Function: xmlTextReaderConstXmlLang</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlLang	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The xml:lang scope within which the node resides.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xml:lang value or NULL if none exists.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstXmlVersion" id="xmlTextReaderConstXmlVersion"></a>Function: xmlTextReaderConstXmlVersion</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlVersion	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Determine the XML version of the document being read.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the XML version of the document or NULL in case of error. The string is deallocated with the reader.</td></tr></tbody></table></div><h3><a name="xmlTextReaderCurrentDoc" id="xmlTextReaderCurrentDoc"></a>Function: xmlTextReaderCurrentDoc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlTextReaderCurrentDoc	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Hacking interface allowing to get the <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> corresponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderCurrentNode" id="xmlTextReaderCurrentNode"></a>Function: xmlTextReaderCurrentNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderCurrentNode	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Hacking interface allowing to get the <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> corresponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</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="xmlTextReaderDepth" id="xmlTextReaderDepth"></a>Function: xmlTextReaderDepth</h3><pre class="programlisting">int	xmlTextReaderDepth		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The depth of the node in the tree.</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 depth or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderErrorFunc" id="xmlTextReaderErrorFunc"></a>Function type: xmlTextReaderErrorFunc</h3><pre class="programlisting">Function type: xmlTextReaderErrorFunc
-void	xmlTextReaderErrorFunc		(void * arg, <br />					 const char * msg, <br />					 <a href="libxml-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br />					 <a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)
-</pre><p>Signature of an error callback from a reader parser</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>the user argument</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>severity</tt></i>:</span></td><td>the severity of the error</td></tr><tr><td><span class="term"><i><tt>locator</tt></i>:</span></td><td>a locator indicating where the error occurred</td></tr></tbody></table></div><br />
-<h3><a name="xmlTextReaderExpand" id="xmlTextReaderExpand"></a>Function: xmlTextReaderExpand</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderExpand	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Reads the contents of the current node and the full subtree. It then makes the subtree available until the next xmlTextReaderRead() call</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a node pointer valid until the next xmlTextReaderRead() call or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderGetAttribute" id="xmlTextReaderGetAttribute"></a>Function: xmlTextReaderGetAttribute</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttribute	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Provides the value of the <a href="libxml-SAX.html#attribute">attribute</a> with the specified qualified name.</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>name</tt></i>:</span></td><td>the qualified name of the attribute.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderGetAttributeNo" id="xmlTextReaderGetAttributeNo"></a>Function: xmlTextReaderGetAttributeNo</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNo	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 int no)<br />
-</pre><p>Provides the value of the <a href="libxml-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</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>no</tt></i>:</span></td><td>the zero-based index of the <a href="libxml-SAX.html#attribute">attribute</a> relative to the containing element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderGetAttributeNs" id="xmlTextReaderGetAttributeNs"></a>Function: xmlTextReaderGetAttributeNs</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNs	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localName, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br />
-</pre><p>Provides the value of the specified <a href="libxml-SAX.html#attribute">attribute</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>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>localName</tt></i>:</span></td><td>the local name of the attribute.</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>the namespace URI of the attribute.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderGetErrorHandler" id="xmlTextReaderGetErrorHandler"></a>Function: xmlTextReaderGetErrorHandler</h3><pre class="programlisting">void	xmlTextReaderGetErrorHandler	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br />					 void ** arg)<br />
-</pre><p>Retrieve the error callback function and user argument.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the callback function or NULL is no callback has been registered</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument</td></tr></tbody></table></div><h3><a name="xmlTextReaderGetParserColumnNumber" id="xmlTextReaderGetParserColumnNumber"></a>Function: xmlTextReaderGetParserColumnNumber</h3><pre class="programlisting">int	xmlTextReaderGetParserColumnNumber	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Provide the column number of the current parsing point.</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 user data (XML reader context)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int or 0 if not available</td></tr></tbody></table></div><h3><a name="xmlTextReaderGetParserLineNumber" id="xmlTextReaderGetParserLineNumber"></a>Function: xmlTextReaderGetParserLineNumber</h3><pre class="programlisting">int	xmlTextReaderGetParserLineNumber	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Provide the line number of the current parsing point.</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 user data (XML reader context)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int or 0 if not available</td></tr></tbody></table></div><h3><a name="xmlTextReaderGetParserProp" id="xmlTextReaderGetParserProp"></a>Function: xmlTextReaderGetParserProp</h3><pre class="programlisting">int	xmlTextReaderGetParserProp	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 int prop)<br />
-</pre><p>Read the parser internal property.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>prop</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to get</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value, usually 0 or 1, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderGetRemainder" id="xmlTextReaderGetRemainder"></a>Function: xmlTextReaderGetRemainder</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlTextReaderGetRemainder	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>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 progressed past what's left in reader-&gt;input, and there is an allocation problem. Best would be to rewrite it differently.</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#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> attached to the XML or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderHasAttributes" id="xmlTextReaderHasAttributes"></a>Function: xmlTextReaderHasAttributes</h3><pre class="programlisting">int	xmlTextReaderHasAttributes	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Whether the node has attributes.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false, and -1 in case or error</td></tr></tbody></table></div><h3><a name="xmlTextReaderHasValue" id="xmlTextReaderHasValue"></a>Function: xmlTextReaderHasValue</h3><pre class="programlisting">int	xmlTextReaderHasValue		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Whether the node can have a text value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false, and -1 in case or error</td></tr></tbody></table></div><h3><a name="xmlTextReaderIsDefault" id="xmlTextReaderIsDefault"></a>Function: xmlTextReaderIsDefault</h3><pre class="programlisting">int	xmlTextReaderIsDefault		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Whether an Attribute node was generated from the default value defined in the DTD or schema.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if not defaulted, 1 if defaulted, and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderIsEmptyElement" id="xmlTextReaderIsEmptyElement"></a>Function: xmlTextReaderIsEmptyElement</h3><pre class="programlisting">int	xmlTextReaderIsEmptyElement	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Check if the current node is empty</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if empty, 0 if not and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderIsNamespaceDecl" id="xmlTextReaderIsNamespaceDecl"></a>Function: xmlTextReaderIsNamespaceDecl</h3><pre class="programlisting">int	xmlTextReaderIsNamespaceDecl	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Determine whether the current node is a namespace declaration rather than a regular attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the current node is a namespace declaration, 0 if it is a regular <a href="libxml-SAX.html#attribute">attribute</a> or other type of node, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderIsValid" id="xmlTextReaderIsValid"></a>Function: xmlTextReaderIsValid</h3><pre class="programlisting">int	xmlTextReaderIsValid		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Retrieve the validity status from the parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the flag value 1 if valid, 0 if no, and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderLocalName" id="xmlTextReaderLocalName"></a>Function: xmlTextReaderLocalName</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLocalName	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The local name of the node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderLocatorBaseURI" id="xmlTextReaderLocatorBaseURI"></a>Function: xmlTextReaderLocatorBaseURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLocatorBaseURI	(<a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br />
-</pre><p>Obtain the base URI for the given locator.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>locator</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the base URI or NULL in case of error, if non NULL it need to be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderLocatorLineNumber" id="xmlTextReaderLocatorLineNumber"></a>Function: xmlTextReaderLocatorLineNumber</h3><pre class="programlisting">int	xmlTextReaderLocatorLineNumber	(<a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br />
-</pre><p>Obtain the line number for the given locator.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>locator</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the line number or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderLookupNamespace" id="xmlTextReaderLookupNamespace"></a>Function: xmlTextReaderLookupNamespace</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLookupNamespace	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br />
-</pre><p>Resolves a namespace prefix in the scope of the current element.</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>prefix</tt></i>:</span></td><td>the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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.</td></tr></tbody></table></div><h3><a name="xmlTextReaderMoveToAttribute" id="xmlTextReaderMoveToAttribute"></a>Function: xmlTextReaderMoveToAttribute</h3><pre class="programlisting">int	xmlTextReaderMoveToAttribute	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Moves the position of the current instance to the <a href="libxml-SAX.html#attribute">attribute</a> with the specified qualified name.</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>name</tt></i>:</span></td><td>the qualified name of the attribute.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not found</td></tr></tbody></table></div><h3><a name="xmlTextReaderMoveToAttributeNo" id="xmlTextReaderMoveToAttributeNo"></a>Function: xmlTextReaderMoveToAttributeNo</h3><pre class="programlisting">int	xmlTextReaderMoveToAttributeNo	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 int no)<br />
-</pre><p>Moves the position of the current instance to the <a href="libxml-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</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>no</tt></i>:</span></td><td>the zero-based index of the <a href="libxml-SAX.html#attribute">attribute</a> relative to the containing element.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not found</td></tr></tbody></table></div><h3><a name="xmlTextReaderMoveToAttributeNs" id="xmlTextReaderMoveToAttributeNs"></a>Function: xmlTextReaderMoveToAttributeNs</h3><pre class="programlisting">int	xmlTextReaderMoveToAttributeNs	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localName, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br />
-</pre><p>Moves the position of the current instance to the <a href="libxml-SAX.html#attribute">attribute</a> with the specified local name and namespace URI.</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>localName</tt></i>:</span></td><td>the local name of the attribute.</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>the namespace URI of the attribute.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not found</td></tr></tbody></table></div><h3><a name="xmlTextReaderMoveToElement" id="xmlTextReaderMoveToElement"></a>Function: xmlTextReaderMoveToElement</h3><pre class="programlisting">int	xmlTextReaderMoveToElement	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Moves the position of the current instance to the node that contains the current Attribute 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>1 in case of success, -1 in case of error, 0 if not moved</td></tr></tbody></table></div><h3><a name="xmlTextReaderMoveToFirstAttribute" id="xmlTextReaderMoveToFirstAttribute"></a>Function: xmlTextReaderMoveToFirstAttribute</h3><pre class="programlisting">int	xmlTextReaderMoveToFirstAttribute	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Moves the position of the current instance to the first <a href="libxml-SAX.html#attribute">attribute</a> associated with the current 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>1 in case of success, -1 in case of error, 0 if not found</td></tr></tbody></table></div><h3><a name="xmlTextReaderMoveToNextAttribute" id="xmlTextReaderMoveToNextAttribute"></a>Function: xmlTextReaderMoveToNextAttribute</h3><pre class="programlisting">int	xmlTextReaderMoveToNextAttribute	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Moves the position of the current instance to the next <a href="libxml-SAX.html#attribute">attribute</a> associated with the current 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>1 in case of success, -1 in case of error, 0 if not found</td></tr></tbody></table></div><h3><a name="xmlTextReaderName" id="xmlTextReaderName"></a>Function: xmlTextReaderName</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderName	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The qualified name of the node, equal to Prefix :LocalName.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderNamespaceUri" id="xmlTextReaderNamespaceUri"></a>Function: xmlTextReaderNamespaceUri</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderNamespaceUri	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The URI defining 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 namespace URI or NULL if not available, if non NULL it need to be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderNext" id="xmlTextReaderNext"></a>Function: xmlTextReaderNext</h3><pre class="programlisting">int	xmlTextReaderNext		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Skip to the node following the current one in document order while avoiding the subtree if any.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderNextSibling" id="xmlTextReaderNextSibling"></a>Function: xmlTextReaderNextSibling</h3><pre class="programlisting">int	xmlTextReaderNextSibling	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderNodeType" id="xmlTextReaderNodeType"></a>Function: xmlTextReaderNodeType</h3><pre class="programlisting">int	xmlTextReaderNodeType		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Get the node type of the current node Reference: http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html</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-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a> of the current node or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderNormalization" id="xmlTextReaderNormalization"></a>Function: xmlTextReaderNormalization</h3><pre class="programlisting">int	xmlTextReaderNormalization	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The value indicating whether to normalize white space and <a href="libxml-SAX.html#attribute">attribute</a> values. Since <a href="libxml-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken behaviour of accepting out of range character entities like &amp;#0; is of course not supported either.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 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, if non NULL it need to be freed by the caller.</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>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 non-negative 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 />
-</pre><p>The quotation mark character used to enclose the value of an attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>" or ' and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderRead" id="xmlTextReaderRead"></a>Function: xmlTextReaderRead</h3><pre class="programlisting">int	xmlTextReaderRead		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Moves the position of the current instance to the next node in the stream, exposing its properties.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderReadAttributeValue" id="xmlTextReaderReadAttributeValue"></a>Function: xmlTextReaderReadAttributeValue</h3><pre class="programlisting">int	xmlTextReaderReadAttributeValue	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Parses an <a href="libxml-SAX.html#attribute">attribute</a> value into one or more Text and EntityReference nodes.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, 0 if the reader was not positioned on an <a href="libxml-SAX.html#attribute">attribute</a> node or all the <a href="libxml-SAX.html#attribute">attribute</a> values have been read, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderReadInnerXml" id="xmlTextReaderReadInnerXml"></a>Function: xmlTextReaderReadInnerXml</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadInnerXml	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Reads the contents of the current node, including child nodes and markup.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the XML 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.</td></tr></tbody></table></div><h3><a name="xmlTextReaderReadOuterXml" id="xmlTextReaderReadOuterXml"></a>Function: xmlTextReaderReadOuterXml</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadOuterXml	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Reads the contents of the current node, including child nodes and markup.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the node and any XML content, or NULL if the current node cannot be serialized. The string must be deallocated by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderReadState" id="xmlTextReaderReadState"></a>Function: xmlTextReaderReadState</h3><pre class="programlisting">int	xmlTextReaderReadState		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Gets the read state of the reader.</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 state value, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderReadString" id="xmlTextReaderReadString"></a>Function: xmlTextReaderReadString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadString	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Reads the contents of an element or a text node as a string.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the 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.</td></tr></tbody></table></div><h3><a name="xmlTextReaderRelaxNGSetSchema" id="xmlTextReaderRelaxNGSetSchema"></a>Function: xmlTextReaderRelaxNGSetSchema</h3><pre class="programlisting">int	xmlTextReaderRelaxNGSetSchema	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br />
-</pre><p>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 deactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</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>schema</tt></i>:</span></td><td>a precompiled RelaxNG schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the RelaxNG validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderRelaxNGValidate" id="xmlTextReaderRelaxNGValidate"></a>Function: xmlTextReaderRelaxNGValidate</h3><pre class="programlisting">int	xmlTextReaderRelaxNGValidate	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const char * rng)<br />
-</pre><p>Use RelaxNG schema to validate the document as it is processed. Activation is only possible before the first Read(). If @rng is NULL, then RelaxNG schema validation is deactivated.</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>rng</tt></i>:</span></td><td>the path to a RelaxNG schema or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderRelaxNGValidateCtxt" id="xmlTextReaderRelaxNGValidateCtxt"></a>Function: xmlTextReaderRelaxNGValidateCtxt</h3><pre class="programlisting">int	xmlTextReaderRelaxNGValidateCtxt	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 <a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />						 int options)<br />
-</pre><p>Use RelaxNG schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then RelaxNG schema validation is deactivated.</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>ctxt</tt></i>:</span></td><td>the RelaxNG schema validation context or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (not used yet)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderSchemaValidate" id="xmlTextReaderSchemaValidate"></a>Function: xmlTextReaderSchemaValidate</h3><pre class="programlisting">int	xmlTextReaderSchemaValidate	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const char * xsd)<br />
-</pre><p>Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first Read(). If @xsd is NULL, then XML Schema validation is deactivated.</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>xsd</tt></i>:</span></td><td>the path to a W3C XSD schema or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderSchemaValidateCtxt" id="xmlTextReaderSchemaValidateCtxt"></a>Function: xmlTextReaderSchemaValidateCtxt</h3><pre class="programlisting">int	xmlTextReaderSchemaValidateCtxt	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 int options)<br />
-</pre><p>Use W3C XSD schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then XML Schema validation is deactivated.</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>ctxt</tt></i>:</span></td><td>the XML Schema validation context or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (not used yet)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderSetErrorHandler" id="xmlTextReaderSetErrorHandler"></a>Function: xmlTextReaderSetErrorHandler</h3><pre class="programlisting">void	xmlTextReaderSetErrorHandler	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br />					 void * arg)<br />
-</pre><p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the callback function to call on error and warnings</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument to pass to the callback function</td></tr></tbody></table></div><h3><a name="xmlTextReaderSetParserProp" id="xmlTextReaderSetParserProp"></a>Function: xmlTextReaderSetParserProp</h3><pre class="programlisting">int	xmlTextReaderSetParserProp	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 int prop, <br />					 int value)<br />
-</pre><p>Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>prop</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to set</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>usually 0 or 1 to (de)activate it</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the call was successful, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderSetSchema" id="xmlTextReaderSetSchema"></a>Function: xmlTextReaderSetSchema</h3><pre class="programlisting">int	xmlTextReaderSetSchema		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br />
-</pre><p>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is deactivated. The @schema should not be freed until the reader is deallocated or its use has been deactivated.</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>schema</tt></i>:</span></td><td>a precompiled Schema schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the Schema validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderSetStructuredErrorHandler" id="xmlTextReaderSetStructuredErrorHandler"></a>Function: xmlTextReaderSetStructuredErrorHandler</h3><pre class="programlisting">void	xmlTextReaderSetStructuredErrorHandler	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br />						 void * arg)<br />
-</pre><p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the callback function to call on error and warnings</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument to pass to the callback function</td></tr></tbody></table></div><h3><a name="xmlTextReaderSetup" id="xmlTextReaderSetup"></a>Function: xmlTextReaderSetup</h3><pre class="programlisting">int	xmlTextReaderSetup		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>Setup an XML reader with new options</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to feed the reader, will be destroyed with it.</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderStandalone" id="xmlTextReaderStandalone"></a>Function: xmlTextReaderStandalone</h3><pre class="programlisting">int	xmlTextReaderStandalone		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Determine the standalone status of the document being read.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the document was declared to be standalone, 0 if it was declared to be not standalone, or -1 if the document did not specify its standalone status or in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderValue" id="xmlTextReaderValue"></a>Function: xmlTextReaderValue</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderValue	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>Provides the text value of the node if present</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string or NULL if not available. The result must be deallocated with xmlFree()</td></tr></tbody></table></div><h3><a name="xmlTextReaderXmlLang" id="xmlTextReaderXmlLang"></a>Function: xmlTextReaderXmlLang</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderXmlLang	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>The xml:lang scope within which the node resides.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xml:lang value or NULL if none exists., if non NULL it need to be freed by the caller.</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>
diff --git a/doc/html/libxml-xmlregexp.html b/doc/html/libxml-xmlregexp.html
deleted file mode 100644
index 98aa436..0000000
--- a/doc/html/libxml-xmlregexp.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlregexp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlregexp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlreader.html">xmlreader</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlsave.html">xmlsave</a></th><td><a accesskey="n" href="libxml-xmlsave.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlExpCtxt">xmlExpCtxt</a><br />struct _xmlExpCtxt
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * <a name="xmlExpCtxtPtr" id="xmlExpCtxtPtr">xmlExpCtxtPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlExpNode">xmlExpNode</a><br />struct _xmlExpNode
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlregexp.html#xmlExpNode">xmlExpNode</a> * <a name="xmlExpNodePtr" id="xmlExpNodePtr">xmlExpNodePtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlExpNodeType">xmlExpNodeType</a>
-</pre><pre class="programlisting">Structure <a href="#xmlRegExecCtxt">xmlRegExecCtxt</a><br />struct _xmlRegExecCtxt
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * <a name="xmlRegExecCtxtPtr" id="xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlRegexp">xmlRegexp</a><br />struct _xmlRegexp
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlregexp.html#xmlRegexp">xmlRegexp</a> * <a name="xmlRegexpPtr" id="xmlRegexpPtr">xmlRegexpPtr</a>
-</pre><pre class="programlisting">int	<a href="#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a>		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</a>		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlExpDump">xmlExpDump</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)</pre>
-<pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpExpDerive">xmlExpExpDerive</a>		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)</pre>
-<pre class="programlisting">void	<a href="#xmlExpFree">xmlExpFree</a>			(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)</pre>
-<pre class="programlisting">void	<a href="#xmlExpFreeCtxt">xmlExpFreeCtxt</a>			(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlExpGetLanguage">xmlExpGetLanguage</a>		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlExpGetStart">xmlExpGetStart</a>			(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlExpIsNillable">xmlExpIsNillable</a>		(<a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)</pre>
-<pre class="programlisting">int	<a href="#xmlExpMaxToken">xmlExpMaxToken</a>			(<a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)</pre>
-<pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewAtom">xmlExpNewAtom</a>		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int len)</pre>
-<pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	<a href="#xmlExpNewCtxt">xmlExpNewCtxt</a>		(int maxNodes, <br />					 <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)</pre>
-<pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewOr">xmlExpNewOr</a>		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)</pre>
-<pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewRange">xmlExpNewRange</a>		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br />					 int min, <br />					 int max)</pre>
-<pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewSeq">xmlExpNewSeq</a>		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)</pre>
-<pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpParse">xmlExpParse</a>		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 const char * expr)</pre>
-<pre class="programlisting">void	<a href="#xmlExpRef">xmlExpRef</a>			(<a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)</pre>
-<pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpStringDerive">xmlExpStringDerive</a>	(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlExpSubsume">xmlExpSubsume</a>			(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)</pre>
-<pre class="programlisting">Function type: <a href="#xmlRegExecCallbacks">xmlRegExecCallbacks</a>
-void	<a href="#xmlRegExecCallbacks">xmlRegExecCallbacks</a>		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />					 void * transdata, <br />					 void * inputdata)
-</pre>
-<pre class="programlisting">int	<a href="#xmlRegExecErrInfo">xmlRegExecErrInfo</a>		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** string, <br />					 int * nbval, <br />					 int * nbneg, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** values, <br />					 int * terminal)</pre>
-<pre class="programlisting">int	<a href="#xmlRegExecNextValues">xmlRegExecNextValues</a>		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />					 int * nbval, <br />					 int * nbneg, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** values, <br />					 int * terminal)</pre>
-<pre class="programlisting">int	<a href="#xmlRegExecPushString">xmlRegExecPushString</a>		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 void * data)</pre>
-<pre class="programlisting">int	<a href="#xmlRegExecPushString2">xmlRegExecPushString2</a>		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value2, <br />					 void * data)</pre>
-<pre class="programlisting">void	<a href="#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a>		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec)</pre>
-<pre class="programlisting">void	<a href="#xmlRegFreeRegexp">xmlRegFreeRegexp</a>		(<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)</pre>
-<pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	<a href="#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a>	(<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br />						 <a href="libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br />						 void * data)</pre>
-<pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	<a href="#xmlRegexpCompile">xmlRegexpCompile</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * regexp)</pre>
-<pre class="programlisting">int	<a href="#xmlRegexpExec">xmlRegexpExec</a>			(<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a>		(<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp)</pre>
-<pre class="programlisting">void	<a href="#xmlRegexpPrint">xmlRegexpPrint</a>			(FILE * output, <br />					 <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)</pre>
-<h2>Description</h2>
-<h3><a name="xmlExpCtxt" id="xmlExpCtxt">Structure xmlExpCtxt</a></h3><pre class="programlisting">Structure xmlExpCtxt<br />struct _xmlExpCtxt {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlExpNode" id="xmlExpNode">Structure xmlExpNode</a></h3><pre class="programlisting">Structure xmlExpNode<br />struct _xmlExpNode {
-The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="xmlExpNodeType" id="xmlExpNodeType">xmlExpNodeType</a></h3><pre class="programlisting">Enum xmlExpNodeType {
-    <a name="XML_EXP_EMPTY" id="XML_EXP_EMPTY">XML_EXP_EMPTY</a> = 0
-    <a name="XML_EXP_FORBID" id="XML_EXP_FORBID">XML_EXP_FORBID</a> = 1
-    <a name="XML_EXP_ATOM" id="XML_EXP_ATOM">XML_EXP_ATOM</a> = 2
-    <a name="XML_EXP_SEQ" id="XML_EXP_SEQ">XML_EXP_SEQ</a> = 3
-    <a name="XML_EXP_OR" id="XML_EXP_OR">XML_EXP_OR</a> = 4
-    <a name="XML_EXP_COUNT" id="XML_EXP_COUNT">XML_EXP_COUNT</a> = 5
-}
-</pre><h3><a name="xmlRegExecCtxt" id="xmlRegExecCtxt">Structure xmlRegExecCtxt</a></h3><pre class="programlisting">Structure xmlRegExecCtxt<br />struct _xmlRegExecCtxt {
-The content of this structure is not made public by the API.
-}</pre>
-      A libxml progressive regular expression evaluation context
-    <h3><a name="xmlRegexp" id="xmlRegexp">Structure xmlRegexp</a></h3><pre class="programlisting">Structure xmlRegexp<br />struct _xmlRegexp {
-The content of this structure is not made public by the API.
-}</pre>
-      A libxml regular expression, they can actually be far more complex thank the POSIX regex expressions.
-    <h3><a name="xmlExpCtxtNbCons" id="xmlExpCtxtNbCons"></a>Function: xmlExpCtxtNbCons</h3><pre class="programlisting">int	xmlExpCtxtNbCons		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br />
-</pre><p>Debugging facility provides the number of allocated nodes over lifetime</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an expression context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of nodes ever allocated or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlExpCtxtNbNodes" id="xmlExpCtxtNbNodes"></a>Function: xmlExpCtxtNbNodes</h3><pre class="programlisting">int	xmlExpCtxtNbNodes		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br />
-</pre><p>Debugging facility provides the number of allocated nodes at a that point</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an expression context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of nodes in use or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlExpDump" id="xmlExpDump"></a>Function: xmlExpDump</h3><pre class="programlisting">void	xmlExpDump			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br />
-</pre><p>Serialize the expression as compiled to the buffer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>a buffer to receive the output</td></tr><tr><td><span class="term"><i><tt>expr</tt></i>:</span></td><td>the compiled expression</td></tr></tbody></table></div><h3><a name="xmlExpExpDerive" id="xmlExpExpDerive"></a>Function: xmlExpExpDerive</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpExpDerive		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br />
-</pre><p>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually takes less than linear time and can handle expressions generating infinite languages.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expressions context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the englobing expression</td></tr><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>the subexpression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting expression or NULL in case of internal error, the result must be freed</td></tr></tbody></table></div><h3><a name="xmlExpFree" id="xmlExpFree"></a>Function: xmlExpFree</h3><pre class="programlisting">void	xmlExpFree			(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br />
-</pre><p>Dereference the expression</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr></tbody></table></div><h3><a name="xmlExpFreeCtxt" id="xmlExpFreeCtxt"></a>Function: xmlExpFreeCtxt</h3><pre class="programlisting">void	xmlExpFreeCtxt			(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br />
-</pre><p>Free an expression context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an expression context</td></tr></tbody></table></div><h3><a name="xmlExpGetLanguage" id="xmlExpGetLanguage"></a>Function: xmlExpGetLanguage</h3><pre class="programlisting">int	xmlExpGetLanguage		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br />					 int len)<br />
-</pre><p>Find all the strings used in @exp and store them in @list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>langList</tt></i>:</span></td><td>where to store the tokens</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the allocated length of @list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td></tr></tbody></table></div><h3><a name="xmlExpGetStart" id="xmlExpGetStart"></a>Function: xmlExpGetStart</h3><pre class="programlisting">int	xmlExpGetStart			(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br />					 int len)<br />
-</pre><p>Find all the strings that appears at the start of the languages accepted by @exp and store them in @list. E.g. for (a, b) | c it will return the list [a, c]</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>tokList</tt></i>:</span></td><td>where to store the tokens</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the allocated length of @list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td></tr></tbody></table></div><h3><a name="xmlExpIsNillable" id="xmlExpIsNillable"></a>Function: xmlExpIsNillable</h3><pre class="programlisting">int	xmlExpIsNillable		(<a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br />
-</pre><p>Finds if the expression is nillable, i.e. if it accepts the empty sequence</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if nillable, 0 if not and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlExpMaxToken" id="xmlExpMaxToken"></a>Function: xmlExpMaxToken</h3><pre class="programlisting">int	xmlExpMaxToken			(<a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br />
-</pre><p>Indicate the maximum number of input a expression can accept</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>expr</tt></i>:</span></td><td>a compiled expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the maximum length or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlExpNewAtom" id="xmlExpNewAtom"></a>Function: xmlExpNewAtom</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewAtom		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int len)<br />
-</pre><p>Get the atom associated to this name from that context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the atom name</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the atom name length in byte (or -1);</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlExpNewCtxt" id="xmlExpNewCtxt"></a>Function: xmlExpNewCtxt</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	xmlExpNewCtxt		(int maxNodes, <br />					 <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br />
-</pre><p>Creates a new context for manipulating expressions</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>maxNodes</tt></i>:</span></td><td>the maximum number of nodes</td></tr><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>optional dictionary to use internally</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlExpNewOr" id="xmlExpNewOr"></a>Function: xmlExpNewOr</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewOr		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br />
-</pre><p>Get the atom associated to the choice @left | @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>left</tt></i>:</span></td><td>left expression</td></tr><tr><td><span class="term"><i><tt>right</tt></i>:</span></td><td>right expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlExpNewRange" id="xmlExpNewRange"></a>Function: xmlExpNewRange</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewRange		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br />					 int min, <br />					 int max)<br />
-</pre><p>Get the atom associated to the range (@subset){@min, @max} Note that @subset is consumed in the operation, to keep an handle on it use xmlExpRef() and use xmlExpFree() to release it, this is true even in case of failure (unless ctxt == NULL).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>subset</tt></i>:</span></td><td>the expression to be repeated</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the lower bound for the repetition</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the upper bound for the repetition, -1 means infinite</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlExpNewSeq" id="xmlExpNewSeq"></a>Function: xmlExpNewSeq</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewSeq		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br />
-</pre><p>Get the atom associated to the sequence @left , @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>left</tt></i>:</span></td><td>left expression</td></tr><tr><td><span class="term"><i><tt>right</tt></i>:</span></td><td>right expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlExpParse" id="xmlExpParse"></a>Function: xmlExpParse</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpParse		(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 const char * expr)<br />
-</pre><p>Minimal parser for regexps, it understand the following constructs - string terminals - choice operator | - sequence operator , - subexpressions (...) - usual cardinality operators + * and ? - finite sequences { min, max } - infinite sequences { min, * } There is minimal checkings made especially no checking on strings values</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expressions context</td></tr><tr><td><span class="term"><i><tt>expr</tt></i>:</span></td><td>the 0 terminated string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new expression or NULL in case of failure</td></tr></tbody></table></div><h3><a name="xmlExpRef" id="xmlExpRef"></a>Function: xmlExpRef</h3><pre class="programlisting">void	xmlExpRef			(<a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br />
-</pre><p>Increase the <a href="libxml-SAX.html#reference">reference</a> count of the expression</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr></tbody></table></div><h3><a name="xmlExpStringDerive" id="xmlExpStringDerive"></a>Function: xmlExpStringDerive</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpStringDerive	(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)<br />
-</pre><p>Do one step of Brzozowski derivation of the expression @exp with respect to the input string</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the string len in bytes if available</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting expression or NULL in case of internal error</td></tr></tbody></table></div><h3><a name="xmlExpSubsume" id="xmlExpSubsume"></a>Function: xmlExpSubsume</h3><pre class="programlisting">int	xmlExpSubsume			(<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br />					 <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br />
-</pre><p>Check whether @exp accepts all the languages accepted by @sub the input being a subexpression.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expressions context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the englobing expression</td></tr><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>the subexpression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 if false and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlRegExecCallbacks" id="xmlRegExecCallbacks"></a>Function type: xmlRegExecCallbacks</h3><pre class="programlisting">Function type: xmlRegExecCallbacks
-void	xmlRegExecCallbacks		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />					 void * transdata, <br />					 void * inputdata)
-</pre><p>Callback function when doing a transition in the automata</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>the regular expression context</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the current token string</td></tr><tr><td><span class="term"><i><tt>transdata</tt></i>:</span></td><td>transition data</td></tr><tr><td><span class="term"><i><tt>inputdata</tt></i>:</span></td><td>input data</td></tr></tbody></table></div><br />
-<h3><a name="xmlRegExecErrInfo" id="xmlRegExecErrInfo"></a>Function: xmlRegExecErrInfo</h3><pre class="programlisting">int	xmlRegExecErrInfo		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** string, <br />					 int * nbval, <br />					 int * nbneg, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** values, <br />					 int * terminal)<br />
-</pre><p>Extract error information from the regexp execution, the parameter @string will be updated with the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context generating an error</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>return value for the error string</td></tr><tr><td><span class="term"><i><tt>nbval</tt></i>:</span></td><td>pointer to the number of accepted values IN/OUT</td></tr><tr><td><span class="term"><i><tt>nbneg</tt></i>:</span></td><td>return number of negative transitions</td></tr><tr><td><span class="term"><i><tt>values</tt></i>:</span></td><td>pointer to the array of acceptable values</td></tr><tr><td><span class="term"><i><tt>terminal</tt></i>:</span></td><td>return value if this was a terminal state</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlRegExecNextValues" id="xmlRegExecNextValues"></a>Function: xmlRegExecNextValues</h3><pre class="programlisting">int	xmlRegExecNextValues		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />					 int * nbval, <br />					 int * nbneg, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** values, <br />					 int * terminal)<br />
-</pre><p>Extract information from the regexp execution, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context</td></tr><tr><td><span class="term"><i><tt>nbval</tt></i>:</span></td><td>pointer to the number of accepted values IN/OUT</td></tr><tr><td><span class="term"><i><tt>nbneg</tt></i>:</span></td><td>return number of negative transitions</td></tr><tr><td><span class="term"><i><tt>values</tt></i>:</span></td><td>pointer to the array of acceptable values</td></tr><tr><td><span class="term"><i><tt>terminal</tt></i>:</span></td><td>return value if this was a terminal state</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlRegExecPushString" id="xmlRegExecPushString"></a>Function: xmlRegExecPushString</h3><pre class="programlisting">int	xmlRegExecPushString		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 void * data)<br />
-</pre><p>Push one input token in the execution context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context or NULL to indicate the end</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a string token input</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the token to reuse in callbacks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td></tr></tbody></table></div><h3><a name="xmlRegExecPushString2" id="xmlRegExecPushString2"></a>Function: xmlRegExecPushString2</h3><pre class="programlisting">int	xmlRegExecPushString2		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value2, <br />					 void * data)<br />
-</pre><p>Push one input token in the execution context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context or NULL to indicate the end</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the first string token input</td></tr><tr><td><span class="term"><i><tt>value2</tt></i>:</span></td><td>the second string token input</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the token to reuse in callbacks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td></tr></tbody></table></div><h3><a name="xmlRegFreeExecCtxt" id="xmlRegFreeExecCtxt"></a>Function: xmlRegFreeExecCtxt</h3><pre class="programlisting">void	xmlRegFreeExecCtxt		(<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec)<br />
-</pre><p>Free the structures associated to a regular expression evaluation context.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regular expression evaluation context</td></tr></tbody></table></div><h3><a name="xmlRegFreeRegexp" id="xmlRegFreeRegexp"></a>Function: xmlRegFreeRegexp</h3><pre class="programlisting">void	xmlRegFreeRegexp		(<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br />
-</pre><p>Free a regexp</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>regexp</tt></i>:</span></td><td>the regexp</td></tr></tbody></table></div><h3><a name="xmlRegNewExecCtxt" id="xmlRegNewExecCtxt"></a>Function: xmlRegNewExecCtxt</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	xmlRegNewExecCtxt	(<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br />						 <a href="libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br />						 void * data)<br />
-</pre><p>Build a context used for progressive evaluation of a regexp.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>a precompiled regular expression</td></tr><tr><td><span class="term"><i><tt>callback</tt></i>:</span></td><td>a callback function used for handling progresses in the automata matching phase</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the context data associated to the callback in this context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new context</td></tr></tbody></table></div><h3><a name="xmlRegexpCompile" id="xmlRegexpCompile"></a>Function: xmlRegexpCompile</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	xmlRegexpCompile	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * regexp)<br />
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>regexp</tt></i>:</span></td><td>a regular expression string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the compiled expression or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRegexpExec" id="xmlRegexpExec"></a>Function: xmlRegexpExec</h3><pre class="programlisting">int	xmlRegexpExec			(<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Check if the regular expression generates the value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled regular expression</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the value to check against the regular expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if it matches, 0 if not and a negative value in case of error</td></tr></tbody></table></div><h3><a name="xmlRegexpIsDeterminist" id="xmlRegexpIsDeterminist"></a>Function: xmlRegexpIsDeterminist</h3><pre class="programlisting">int	xmlRegexpIsDeterminist		(<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp)<br />
-</pre><p>Check if the regular expression is determinist</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled regular expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if it yes, 0 if not and a negative value in case of error</td></tr></tbody></table></div><h3><a name="xmlRegexpPrint" id="xmlRegexpPrint"></a>Function: xmlRegexpPrint</h3><pre class="programlisting">void	xmlRegexpPrint			(FILE * output, <br />					 <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br />
-</pre><p>Print the content of the compiled regular expression</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the file for the output debug</td></tr><tr><td><span class="term"><i><tt>regexp</tt></i>:</span></td><td>the compiled regexp</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>
diff --git a/doc/html/libxml-xmlsave.html b/doc/html/libxml-xmlsave.html
deleted file mode 100644
index 0b9bf88..0000000
--- a/doc/html/libxml-xmlsave.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlsave from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlsave from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlregexp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlregexp.html">xmlregexp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlschemas.html">xmlschemas</a></th><td><a accesskey="n" href="libxml-xmlschemas.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API to save document or subtree of document </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSaveCtxt">xmlSaveCtxt</a><br />struct _xmlSaveCtxt
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * <a name="xmlSaveCtxtPtr" id="xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlSaveOption">xmlSaveOption</a>
-</pre><pre class="programlisting">int	<a href="#xmlSaveClose">xmlSaveClose</a>			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">long	<a href="#xmlSaveDoc">xmlSaveDoc</a>			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<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>
-<pre class="programlisting">long	<a href="#xmlSaveTree">xmlSaveTree</a>			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<h2>Description</h2>
-<h3><a name="xmlSaveCtxt" id="xmlSaveCtxt">Structure xmlSaveCtxt</a></h3><pre class="programlisting">Structure xmlSaveCtxt<br />struct _xmlSaveCtxt {
-The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="xmlSaveOption" id="xmlSaveOption">xmlSaveOption</a></h3><pre class="programlisting">Enum xmlSaveOption {
-    <a name="XML_SAVE_FORMAT" id="XML_SAVE_FORMAT">XML_SAVE_FORMAT</a> = 1 : format save output
-    <a name="XML_SAVE_NO_DECL" id="XML_SAVE_NO_DECL">XML_SAVE_NO_DECL</a> = 2 : drop the xml declaration
-    <a name="XML_SAVE_NO_EMPTY" id="XML_SAVE_NO_EMPTY">XML_SAVE_NO_EMPTY</a> = 4 : no empty tags
-    <a name="XML_SAVE_NO_XHTML" id="XML_SAVE_NO_XHTML">XML_SAVE_NO_XHTML</a> = 8 : disable XHTML1 specific rules
-    <a name="XML_SAVE_XHTML" id="XML_SAVE_XHTML">XML_SAVE_XHTML</a> = 16 : force XHTML1 specific rules
-    <a name="XML_SAVE_AS_XML" id="XML_SAVE_AS_XML">XML_SAVE_AS_XML</a> = 32 : force XML serialization on HTML doc
-    <a name="XML_SAVE_AS_HTML" id="XML_SAVE_AS_HTML">XML_SAVE_AS_HTML</a> = 64 : force HTML serialization on XML doc
-    <a name="XML_SAVE_WSNONSIG" id="XML_SAVE_WSNONSIG">XML_SAVE_WSNONSIG</a> = 128 : format with non-significant whitespace
-}
-</pre><h3><a name="xmlSaveClose" id="xmlSaveClose"></a>Function: xmlSaveClose</h3><pre class="programlisting">int	xmlSaveClose			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br />
-</pre><p>Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.</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>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlSaveDoc" id="xmlSaveDoc"></a>Function: xmlSaveDoc</h3><pre class="programlisting">long	xmlSaveDoc			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>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</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>doc</tt></i>:</span></td><td>a document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlSaveFlush" id="xmlSaveFlush"></a>Function: xmlSaveFlush</h3><pre class="programlisting">int	xmlSaveFlush			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br />
-</pre><p>Flush a document saving context, i.e. make sure that all bytes have been output.</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>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlSaveSetAttrEscape" id="xmlSaveSetAttrEscape"></a>Function: xmlSaveSetAttrEscape</h3><pre class="programlisting">int	xmlSaveSetAttrEscape		(<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 <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 />
-</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>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file name or an URL</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="xmlSaveToIO" id="xmlSaveToIO"></a>Function: xmlSaveToIO</h3><pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToIO		(<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)<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>iowrite</tt></i>:</span></td><td>an I/O write function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</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="xmlSaveTree" id="xmlSaveTree"></a>Function: xmlSaveTree</h3><pre class="programlisting">long	xmlSaveTree			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>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</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>cur</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlschemas.html b/doc/html/libxml-xmlschemas.html
deleted file mode 100644
index 33ba29f..0000000
--- a/doc/html/libxml-xmlschemas.html
+++ /dev/null
@@ -1,185 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlschemas from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlschemas from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlsave.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlsave.html">xmlsave</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlschemastypes.html">xmlschemastypes</a></th><td><a accesskey="n" href="libxml-xmlschemastypes.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSchema">xmlSchema</a><br />struct _xmlSchema
-</pre><pre class="programlisting">Structure <a href="#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a><br />struct _xmlSchemaParserCtxt
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * <a name="xmlSchemaParserCtxtPtr" id="xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlschemas.html#xmlSchema">xmlSchema</a> * <a name="xmlSchemaPtr" id="xmlSchemaPtr">xmlSchemaPtr</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a> * <a name="xmlSchemaSAXPlugPtr" id="xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a><br />struct _xmlSchemaSAXPlug
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Structure <a href="#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a><br />struct _xmlSchemaValidCtxt
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * <a name="xmlSchemaValidCtxtPtr" id="xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a>
-</pre><pre class="programlisting">Enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a>
-</pre><pre class="programlisting">void	<a href="#xmlSchemaDump">xmlSchemaDump</a>			(FILE * output, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)</pre>
-<pre class="programlisting">void	<a href="#xmlSchemaFree">xmlSchemaFree</a>			(<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)</pre>
-<pre class="programlisting">void	<a href="#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a>		(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a>	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />					 void ** ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />					 void ** ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaIsValid">xmlSchemaIsValid</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a>	(const char * buffer, <br />							 int size)</pre>
-<pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a>	(const char * URL)</pre>
-<pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>	<a href="#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a>	(<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)</pre>
-<pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	<a href="#xmlSchemaParse">xmlSchemaParse</a>		(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>	<a href="#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br />						 void ** user_data)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a>		(<a href="libxml-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug)</pre>
-<pre class="programlisting">void	<a href="#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a>	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />					 void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a>	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br />						 void * ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />					 void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 int options)</pre>
-<pre class="programlisting">void	<a href="#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br />						 void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValidateFile">xmlSchemaValidateFile</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 const char * filename, <br />					 int options)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
-<pre class="programlisting">void	<a href="#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br />					 const char * filename)</pre>
-<pre class="programlisting">void	<a href="#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br />					 void * ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValidateStream">xmlSchemaValidateStream</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data)</pre>
-<pre class="programlisting">Function type: <a href="#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a>
-void	<a href="#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a>	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a>
-int	<a href="#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a>	(void * ctx, <br />					 const char ** file, <br />					 unsigned long * line)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a>
-void	<a href="#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a>	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre>
-<h2>Description</h2>
-<h3><a name="xmlSchema" id="xmlSchema">Structure xmlSchema</a></h3><pre class="programlisting">Structure xmlSchema<br />struct _xmlSchema {
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: schema name
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace	: the target namespace
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	version
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	id	: Obsolete
-    <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
-    <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    int	flags
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	typeDecl
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attrDecl
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attrgrpDecl
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	elemDecl
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	notaDecl
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	schemasImports
-    void *	_private	: unused by the library for users or bind
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	groupDecl
-    <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	dict
-    void *	includes	: the includes, this is opaque for now
-    int	preserve	: whether to free the document
-    int	counter	: used to give anonymous components uniqu
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	idcDef	: All identity-constraint defs.
-    void *	volatiles	: Obsolete
-}</pre><h3><a name="xmlSchemaParserCtxt" id="xmlSchemaParserCtxt">Structure xmlSchemaParserCtxt</a></h3><pre class="programlisting">Structure xmlSchemaParserCtxt<br />struct _xmlSchemaParserCtxt {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlSchemaSAXPlugStruct" id="xmlSchemaSAXPlugStruct">Structure xmlSchemaSAXPlugStruct</a></h3><pre class="programlisting">Structure xmlSchemaSAXPlugStruct<br />struct _xmlSchemaSAXPlug {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlSchemaValidCtxt" id="xmlSchemaValidCtxt">Structure xmlSchemaValidCtxt</a></h3><pre class="programlisting">Structure xmlSchemaValidCtxt<br />struct _xmlSchemaValidCtxt {
-The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="xmlSchemaValidError" id="xmlSchemaValidError">xmlSchemaValidError</a></h3><pre class="programlisting">Enum xmlSchemaValidError {
-    <a name="XML_SCHEMAS_ERR_OK" id="XML_SCHEMAS_ERR_OK">XML_SCHEMAS_ERR_OK</a> = 0
-    <a name="XML_SCHEMAS_ERR_NOROOT" id="XML_SCHEMAS_ERR_NOROOT">XML_SCHEMAS_ERR_NOROOT</a> = 1
-    <a name="XML_SCHEMAS_ERR_UNDECLAREDELEM" id="XML_SCHEMAS_ERR_UNDECLAREDELEM">XML_SCHEMAS_ERR_UNDECLAREDELEM</a> = 2
-    <a name="XML_SCHEMAS_ERR_NOTTOPLEVEL" id="XML_SCHEMAS_ERR_NOTTOPLEVEL">XML_SCHEMAS_ERR_NOTTOPLEVEL</a> = 3
-    <a name="XML_SCHEMAS_ERR_MISSING" id="XML_SCHEMAS_ERR_MISSING">XML_SCHEMAS_ERR_MISSING</a> = 4
-    <a name="XML_SCHEMAS_ERR_WRONGELEM" id="XML_SCHEMAS_ERR_WRONGELEM">XML_SCHEMAS_ERR_WRONGELEM</a> = 5
-    <a name="XML_SCHEMAS_ERR_NOTYPE" id="XML_SCHEMAS_ERR_NOTYPE">XML_SCHEMAS_ERR_NOTYPE</a> = 6
-    <a name="XML_SCHEMAS_ERR_NOROLLBACK" id="XML_SCHEMAS_ERR_NOROLLBACK">XML_SCHEMAS_ERR_NOROLLBACK</a> = 7
-    <a name="XML_SCHEMAS_ERR_ISABSTRACT" id="XML_SCHEMAS_ERR_ISABSTRACT">XML_SCHEMAS_ERR_ISABSTRACT</a> = 8
-    <a name="XML_SCHEMAS_ERR_NOTEMPTY" id="XML_SCHEMAS_ERR_NOTEMPTY">XML_SCHEMAS_ERR_NOTEMPTY</a> = 9
-    <a name="XML_SCHEMAS_ERR_ELEMCONT" id="XML_SCHEMAS_ERR_ELEMCONT">XML_SCHEMAS_ERR_ELEMCONT</a> = 10
-    <a name="XML_SCHEMAS_ERR_HAVEDEFAULT" id="XML_SCHEMAS_ERR_HAVEDEFAULT">XML_SCHEMAS_ERR_HAVEDEFAULT</a> = 11
-    <a name="XML_SCHEMAS_ERR_NOTNILLABLE" id="XML_SCHEMAS_ERR_NOTNILLABLE">XML_SCHEMAS_ERR_NOTNILLABLE</a> = 12
-    <a name="XML_SCHEMAS_ERR_EXTRACONTENT" id="XML_SCHEMAS_ERR_EXTRACONTENT">XML_SCHEMAS_ERR_EXTRACONTENT</a> = 13
-    <a name="XML_SCHEMAS_ERR_INVALIDATTR" id="XML_SCHEMAS_ERR_INVALIDATTR">XML_SCHEMAS_ERR_INVALIDATTR</a> = 14
-    <a name="XML_SCHEMAS_ERR_INVALIDELEM" id="XML_SCHEMAS_ERR_INVALIDELEM">XML_SCHEMAS_ERR_INVALIDELEM</a> = 15
-    <a name="XML_SCHEMAS_ERR_NOTDETERMINIST" id="XML_SCHEMAS_ERR_NOTDETERMINIST">XML_SCHEMAS_ERR_NOTDETERMINIST</a> = 16
-    <a name="XML_SCHEMAS_ERR_CONSTRUCT" id="XML_SCHEMAS_ERR_CONSTRUCT">XML_SCHEMAS_ERR_CONSTRUCT</a> = 17
-    <a name="XML_SCHEMAS_ERR_INTERNAL" id="XML_SCHEMAS_ERR_INTERNAL">XML_SCHEMAS_ERR_INTERNAL</a> = 18
-    <a name="XML_SCHEMAS_ERR_NOTSIMPLE" id="XML_SCHEMAS_ERR_NOTSIMPLE">XML_SCHEMAS_ERR_NOTSIMPLE</a> = 19
-    <a name="XML_SCHEMAS_ERR_ATTRUNKNOWN" id="XML_SCHEMAS_ERR_ATTRUNKNOWN">XML_SCHEMAS_ERR_ATTRUNKNOWN</a> = 20
-    <a name="XML_SCHEMAS_ERR_ATTRINVALID" id="XML_SCHEMAS_ERR_ATTRINVALID">XML_SCHEMAS_ERR_ATTRINVALID</a> = 21
-    <a name="XML_SCHEMAS_ERR_VALUE" id="XML_SCHEMAS_ERR_VALUE">XML_SCHEMAS_ERR_VALUE</a> = 22
-    <a name="XML_SCHEMAS_ERR_FACET" id="XML_SCHEMAS_ERR_FACET">XML_SCHEMAS_ERR_FACET</a> = 23
-    <a name="XML_SCHEMAS_ERR_" id="XML_SCHEMAS_ERR_">XML_SCHEMAS_ERR_</a> = 24
-    <a name="XML_SCHEMAS_ERR_XXX" id="XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX</a> = 25
-}
-</pre><h3>Enum <a name="xmlSchemaValidOption" id="xmlSchemaValidOption">xmlSchemaValidOption</a></h3><pre class="programlisting">Enum xmlSchemaValidOption {
-    <a name="XML_SCHEMA_VAL_VC_I_CREATE" id="XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a> = 1 : Default/fixed: create an <a href="libxml-SAX.html#attribute">attribute</a> node * or an element's text node on the instance. *
-}
-</pre><h3><a name="xmlSchemaDump" id="xmlSchemaDump"></a>Function: xmlSchemaDump</h3><pre class="programlisting">void	xmlSchemaDump			(FILE * output, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br />
-</pre><p>Dump a Schema structure.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the file output</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div><h3><a name="xmlSchemaFree" id="xmlSchemaFree"></a>Function: xmlSchemaFree</h3><pre class="programlisting">void	xmlSchemaFree			(<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br />
-</pre><p>Deallocate a Schema structure.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeParserCtxt" id="xmlSchemaFreeParserCtxt"></a>Function: xmlSchemaFreeParserCtxt</h3><pre class="programlisting">void	xmlSchemaFreeParserCtxt		(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br />
-</pre><p>Free the resources associated to the schema parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema parser context</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeValidCtxt" id="xmlSchemaFreeValidCtxt"></a>Function: xmlSchemaFreeValidCtxt</h3><pre class="programlisting">void	xmlSchemaFreeValidCtxt		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br />
-</pre><p>Free the resources associated to the schema validation context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr></tbody></table></div><h3><a name="xmlSchemaGetParserErrors" id="xmlSchemaGetParserErrors"></a>Function: xmlSchemaGetParserErrors</h3><pre class="programlisting">int	xmlSchemaGetParserErrors	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />					 void ** ctx)<br />
-</pre><p>Get the callback information used to handle errors for a parser context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XMl-Schema parser context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaGetValidErrors" id="xmlSchemaGetValidErrors"></a>Function: xmlSchemaGetValidErrors</h3><pre class="programlisting">int	xmlSchemaGetValidErrors		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />					 void ** ctx)<br />
-</pre><p>Get the error and warning callback information</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XML-Schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaIsValid" id="xmlSchemaIsValid"></a>Function: xmlSchemaIsValid</h3><pre class="programlisting">int	xmlSchemaIsValid		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br />
-</pre><p>Check if any error was detected during validation.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid so far, 0 if errors were detected, and -1 in case of internal error.</td></tr></tbody></table></div><h3><a name="xmlSchemaNewDocParserCtxt" id="xmlSchemaNewDocParserCtxt"></a>Function: xmlSchemaNewDocParserCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewDocParserCtxt	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewMemParserCtxt" id="xmlSchemaNewMemParserCtxt"></a>Function: xmlSchemaNewMemParserCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewMemParserCtxt	(const char * buffer, <br />							 int size)<br />
-</pre><p>Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array containing the schemas</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewParserCtxt" id="xmlSchemaNewParserCtxt"></a>Function: xmlSchemaNewParserCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewParserCtxt	(const char * URL)<br />
-</pre><p>Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewValidCtxt" id="xmlSchemaNewValidCtxt"></a>Function: xmlSchemaNewValidCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>	xmlSchemaNewValidCtxt	(<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br />
-</pre><p>Create an XML Schemas validation context based on the given schema.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML Schemas</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaParse" id="xmlSchemaParse"></a>Function: xmlSchemaParse</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	xmlSchemaParse		(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML Schema structure built from the resource or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaSAXPlug" id="xmlSchemaSAXPlug"></a>Function: xmlSchemaSAXPlug</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>	xmlSchemaSAXPlug	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br />						 void ** user_data)<br />
-</pre><p>Plug a SAX based validation layer in a SAX parsing event flow. The original @saxptr and @dataptr data are replaced by new pointers but the calls to the original will be maintained.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a pointer to the original <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a></td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>a pointer to the original SAX user data pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to a data structure needed to unplug the validation layer or NULL in case of errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaSAXUnplug" id="xmlSchemaSAXUnplug"></a>Function: xmlSchemaSAXUnplug</h3><pre class="programlisting">int	xmlSchemaSAXUnplug		(<a href="libxml-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug)<br />
-</pre><p>Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the call are restored.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>plug</tt></i>:</span></td><td>a data structure returned by <a href="libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a></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 failure.</td></tr></tbody></table></div><h3><a name="xmlSchemaSetParserErrors" id="xmlSchemaSetParserErrors"></a>Function: xmlSchemaSetParserErrors</h3><pre class="programlisting">void	xmlSchemaSetParserErrors	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />					 void * ctx)<br />
-</pre><p>Set the callback functions used to handle errors for a validation context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks</td></tr></tbody></table></div><h3><a name="xmlSchemaSetParserStructuredErrors" id="xmlSchemaSetParserStructuredErrors"></a>Function: xmlSchemaSetParserStructuredErrors</h3><pre class="programlisting">void	xmlSchemaSetParserStructuredErrors	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br />						 void * ctx)<br />
-</pre><p>Set the structured error callback</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema parser context</td></tr><tr><td><span class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a name="xmlSchemaSetValidErrors" id="xmlSchemaSetValidErrors"></a>Function: xmlSchemaSetValidErrors</h3><pre class="programlisting">void	xmlSchemaSetValidErrors		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />					 void * ctx)<br />
-</pre><p>Set the error and warning callback information</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a name="xmlSchemaSetValidOptions" id="xmlSchemaSetValidOptions"></a>Function: xmlSchemaSetValidOptions</h3><pre class="programlisting">int	xmlSchemaSetValidOptions	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 int options)<br />
-</pre><p>Sets the options to be used during the validation.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of an API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaSetValidStructuredErrors" id="xmlSchemaSetValidStructuredErrors"></a>Function: xmlSchemaSetValidStructuredErrors</h3><pre class="programlisting">void	xmlSchemaSetValidStructuredErrors	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br />						 void * ctx)<br />
-</pre><p>Set the structured error callback</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a name="xmlSchemaValidCtxtGetOptions" id="xmlSchemaValidCtxtGetOptions"></a>Function: xmlSchemaValidCtxtGetOptions</h3><pre class="programlisting">int	xmlSchemaValidCtxtGetOptions	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br />
-</pre><p>Get the validation context options.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the option combination or -1 on error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidCtxtGetParserCtxt" id="xmlSchemaValidCtxtGetParserCtxt"></a>Function: xmlSchemaValidCtxtGetParserCtxt</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlSchemaValidCtxtGetParserCtxt	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br />
-</pre><p>allow access to the parser context of the schema validation context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context of the schema validation context or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateDoc" id="xmlSchemaValidateDoc"></a>Function: xmlSchemaValidateDoc</h3><pre class="programlisting">int	xmlSchemaValidateDoc		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Validate a document tree in memory.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateFile" id="xmlSchemaValidateFile"></a>Function: xmlSchemaValidateFile</h3><pre class="programlisting">int	xmlSchemaValidateFile		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 const char * filename, <br />					 int options)<br />
-</pre><p>Do a schemas validation of the given resource, it will use the SAX streamable validation internally.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI of the instance</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a future set of options, currently unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateOneElement" id="xmlSchemaValidateOneElement"></a>Function: xmlSchemaValidateOneElement</h3><pre class="programlisting">int	xmlSchemaValidateOneElement	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
-</pre><p>Validate a branch of a tree, starting with the given @elem.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateSetFilename" id="xmlSchemaValidateSetFilename"></a>Function: xmlSchemaValidateSetFilename</h3><pre class="programlisting">void	xmlSchemaValidateSetFilename	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br />					 const char * filename)<br />
-</pre><p>Workaround to provide file error reporting information when this is not provided by current APIs</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>vctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateSetLocator" id="xmlSchemaValidateSetLocator"></a>Function: xmlSchemaValidateSetLocator</h3><pre class="programlisting">void	xmlSchemaValidateSetLocator	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br />					 void * ctxt)<br />
-</pre><p>Allows to set a locator function to the validation context, which will be used to provide file and line information since those are not provided as part of the SAX validation flow Setting @f to NULL disable the locator.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>vctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the locator function pointer</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the locator context</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateStream" id="xmlSchemaValidateStream"></a>Function: xmlSchemaValidateStream</h3><pre class="programlisting">int	xmlSchemaValidateStream		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data)<br />
-</pre><p>Validate an input based on a flow of SAX event from the parser and forward the events to the @sax handler with the provided @user_data the user provided @sax handler must be a SAX2 one.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the input to use for reading the data</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional encoding information</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler for the resulting events</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>the context to provide to the SAX handler.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidityErrorFunc" id="xmlSchemaValidityErrorFunc"></a>Function type: xmlSchemaValidityErrorFunc</h3><pre class="programlisting">Function type: xmlSchemaValidityErrorFunc
-void	xmlSchemaValidityErrorFunc	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Signature of an error callback from an XSD validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div><br />
-<h3><a name="xmlSchemaValidityLocatorFunc" id="xmlSchemaValidityLocatorFunc"></a>Function type: xmlSchemaValidityLocatorFunc</h3><pre class="programlisting">Function type: xmlSchemaValidityLocatorFunc
-int	xmlSchemaValidityLocatorFunc	(void * ctx, <br />					 const char ** file, <br />					 unsigned long * line)
-</pre><p>A schemas validation locator, a callback called by the validator. This is used when file or node information are not available to find out what file and line number are affected</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>user provided context</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>returned file information</td></tr><tr><td><span class="term"><i><tt>line</tt></i>:</span></td><td>returned line information</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><br />
-<h3><a name="xmlSchemaValidityWarningFunc" id="xmlSchemaValidityWarningFunc"></a>Function type: xmlSchemaValidityWarningFunc</h3><pre class="programlisting">Function type: xmlSchemaValidityWarningFunc
-void	xmlSchemaValidityWarningFunc	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Signature of a warning callback from an XSD validation</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 validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div><br />
-<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlschemastypes.html b/doc/html/libxml-xmlschemastypes.html
deleted file mode 100644
index cb04ce4..0000000
--- a/doc/html/libxml-xmlschemastypes.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlschemastypes from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlschemastypes from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">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">Enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a>
-</pre><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> pctxt, <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">int	<a href="#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a>	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br />					 <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br />					 <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws)</pre>
-<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaCopyValue">xmlSchemaCopyValue</a>	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</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">int	<a href="#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a>		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** retValue)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a>	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br />					 <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)</pre>
-<pre class="programlisting">unsigned long	<a href="#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a>	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)</pre>
-<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)</pre>
-<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>	<a href="#xmlSchemaGetValType">xmlSchemaGetValType</a>	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</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"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</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"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localName)</pre>
-<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a>	(<a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a>		(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a>	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <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-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br />					 unsigned long * length)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a>	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />						 <a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br />						 unsigned long * length, <br />						 <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)</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>
-<pre class="programlisting">int	<a href="#xmlSchemaValueAppend">xmlSchemaValueAppend</a>		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a>	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a>	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</pre>
-<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a>	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
-<h2>Description</h2>
-<h3>Enum <a name="xmlSchemaWhitespaceValueType" id="xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a></h3><pre class="programlisting">Enum xmlSchemaWhitespaceValueType {
-    <a name="XML_SCHEMA_WHITESPACE_UNKNOWN" id="XML_SCHEMA_WHITESPACE_UNKNOWN">XML_SCHEMA_WHITESPACE_UNKNOWN</a> = 0
-    <a name="XML_SCHEMA_WHITESPACE_PRESERVE" id="XML_SCHEMA_WHITESPACE_PRESERVE">XML_SCHEMA_WHITESPACE_PRESERVE</a> = 1
-    <a name="XML_SCHEMA_WHITESPACE_REPLACE" id="XML_SCHEMA_WHITESPACE_REPLACE">XML_SCHEMA_WHITESPACE_REPLACE</a> = 2
-    <a name="XML_SCHEMA_WHITESPACE_COLLAPSE" id="XML_SCHEMA_WHITESPACE_COLLAPSE">XML_SCHEMA_WHITESPACE_COLLAPSE</a> = 3
-}
-</pre><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> pctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Checks and computes the values of 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>pctxt</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>the optional name of the type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if valid, a positive error code if not valid and -1 in case of an internal or API 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="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="xmlSchemaCompareValuesWhtsp" id="xmlSchemaCompareValuesWhtsp"></a>Function: xmlSchemaCompareValuesWhtsp</h3><pre class="programlisting">int	xmlSchemaCompareValuesWhtsp	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br />					 <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br />					 <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws)<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>xws</tt></i>:</span></td><td>the whitespace value of x</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>yws</tt></i>:</span></td><td>the whitespace value of y</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="xmlSchemaCopyValue" id="xmlSchemaCopyValue"></a>Function: xmlSchemaCopyValue</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaCopyValue	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br />
-</pre><p>Copies the precomputed value. This duplicates any string within.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value to be copied</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the copy or NULL if a copy for a data-type is not implemented.</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="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>Lookup function</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in simple type.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetBuiltInType" id="xmlSchemaGetBuiltInType"></a>Function: xmlSchemaGetBuiltInType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInType	(<a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type)<br />
-</pre><p>Gives you the type struct for a built-in type by its type id.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of the built in type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type if found, NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetCanonValue" id="xmlSchemaGetCanonValue"></a>Function: xmlSchemaGetCanonValue</h3><pre class="programlisting">int	xmlSchemaGetCanonValue		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** retValue)<br />
-</pre><p>Get the canonical lexical representation of the value. The caller has to FREE the returned retValue. WARNING: Some value types are not supported yet, resulting in a @retValue of "???". TODO: XML Schema 1.0 does not define canonical representations for: duration, gYearMonth, gYear, gMonthDay, gMonth, gDay, anyURI, QName, NOTATION. This will be fixed in XML Schema 1.1.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>retValue</tt></i>:</span></td><td>the returned value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetCanonValueWhtsp" id="xmlSchemaGetCanonValueWhtsp"></a>Function: xmlSchemaGetCanonValueWhtsp</h3><pre class="programlisting">int	xmlSchemaGetCanonValueWhtsp	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br />					 <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br />
-</pre><p>Get the canonical representation of the value. The caller has to free the returned @retValue.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>retValue</tt></i>:</span></td><td>the returned value</td></tr><tr><td><span class="term"><i><tt>ws</tt></i>:</span></td><td>the whitespace type of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetFacetValueAsULong" id="xmlSchemaGetFacetValueAsULong"></a>Function: xmlSchemaGetFacetValueAsULong</h3><pre class="programlisting">unsigned long	xmlSchemaGetFacetValueAsULong	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br />
-</pre><p>Extract the value of a facet</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>an schemas type facet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value as a long</td></tr></tbody></table></div><h3><a name="xmlSchemaGetPredefinedType" id="xmlSchemaGetPredefinedType"></a>Function: xmlSchemaGetPredefinedType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetPredefinedType	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)<br />
-</pre><p>Lookup a type in the default XML Schemas type library</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the type name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the URI of the namespace usually "http://www.w3.org/2001/XMLSchema"</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type if found, NULL otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaGetValType" id="xmlSchemaGetValType"></a>Function: xmlSchemaGetValType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>	xmlSchemaGetValType	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br />
-</pre><p>Accessor for the type of a value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a schemas value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> of the value</td></tr></tbody></table></div><h3><a name="xmlSchemaInitTypes" id="xmlSchemaInitTypes"></a>Function: xmlSchemaInitTypes</h3><pre class="programlisting">void	xmlSchemaInitTypes		(void)<br />
-</pre><p>Initialize the default XML Schemas type library</p>
-<h3><a name="xmlSchemaIsBuiltInTypeFacet" id="xmlSchemaIsBuiltInTypeFacet"></a>Function: xmlSchemaIsBuiltInTypeFacet</h3><pre class="programlisting">int	xmlSchemaIsBuiltInTypeFacet	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 int facetType)<br />
-</pre><p>Evaluates if a specific facet can be used in conjunction with a type.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span class="term"><i><tt>facetType</tt></i>:</span></td><td>the facet type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the facet can be used with the given built-in type, 0 otherwise and -1 in case the type is not a built-in type.</td></tr></tbody></table></div><h3><a name="xmlSchemaNewFacet" id="xmlSchemaNewFacet"></a>Function: xmlSchemaNewFacet</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	xmlSchemaNewFacet	(void)<br />
-</pre><p>Allocate a new Facet structure.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly allocated structure or NULL in case or error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewNOTATIONValue" id="xmlSchemaNewNOTATIONValue"></a>Function: xmlSchemaNewNOTATIONValue</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewNOTATIONValue	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)<br />
-</pre><p>Allocate a new NOTATION value. The given values are consumed and freed with the struct.</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 notation name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the notation namespace name or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewQNameValue" id="xmlSchemaNewQNameValue"></a>Function: xmlSchemaNewQNameValue</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewQNameValue	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localName)<br />
-</pre><p>Allocate a new QName value. The given values are consumed and freed with the struct.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>namespaceName</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>localName</tt></i>:</span></td><td>the local name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of an error.</td></tr></tbody></table></div><h3><a name="xmlSchemaNewStringValue" id="xmlSchemaNewStringValue"></a>Function: xmlSchemaNewStringValue</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewStringValue	(<a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Allocate a new simple type value. The type can be of XML_SCHEMAS_STRING. WARNING: This one is intended to be expanded for other string based types. We need this for anySimpleType as well. The given value is consumed and freed with the struct.</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 value type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaValPredefTypeNode" id="xmlSchemaValPredefTypeNode"></a>Function: xmlSchemaValPredefTypeNode</h3><pre class="programlisting">int	xmlSchemaValPredefTypeNode	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node containing the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValPredefTypeNodeNoNorm" id="xmlSchemaValPredefTypeNodeNoNorm"></a>Function: xmlSchemaValPredefTypeNodeNoNorm</h3><pre class="programlisting">int	xmlSchemaValPredefTypeNodeNoNorm	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. This one does apply any normalization to the value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node containing the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateFacet" id="xmlSchemaValidateFacet"></a>Function: xmlSchemaValidateFacet</h3><pre class="programlisting">int	xmlSchemaValidateFacet		(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br />
-</pre><p>Check a value against a facet condition</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base type</td></tr><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to validate</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateFacetWhtsp" id="xmlSchemaValidateFacetWhtsp"></a>Function: xmlSchemaValidateFacetWhtsp</h3><pre class="programlisting">int	xmlSchemaValidateFacetWhtsp	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <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-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br />
-</pre><p>Check a value against a facet condition. This takes value normalization according to the specified whitespace types into account. Note that @value needs to be the *normalized* value if the facet is of type "pattern".</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>fws</tt></i>:</span></td><td>the whitespace type of the facet's value</td></tr><tr><td><span class="term"><i><tt>valType</tt></i>:</span></td><td>the built-in type of the value</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical (or normalized for pattern) 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>ws</tt></i>:</span></td><td>the whitespace type of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateLengthFacet" id="xmlSchemaValidateLengthFacet"></a>Function: xmlSchemaValidateLengthFacet</h3><pre class="programlisting">int	xmlSchemaValidateLengthFacet	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br />					 unsigned long * length)<br />
-</pre><p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr. of the value to be validated</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>length</tt></i>:</span></td><td>the actual length of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateLengthFacetWhtsp" id="xmlSchemaValidateLengthFacetWhtsp"></a>Function: xmlSchemaValidateLengthFacetWhtsp</h3><pre class="programlisting">int	xmlSchemaValidateLengthFacetWhtsp	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />						 <a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br />						 unsigned long * length, <br />						 <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br />
-</pre><p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>valType</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr. of the value to be validated</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>length</tt></i>:</span></td><td>the actual length of the value</td></tr><tr><td><span class="term"><i><tt>ws</tt></i>:</span></td><td>the whitespace type of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateListSimpleTypeFacet" id="xmlSchemaValidateListSimpleTypeFacet"></a>Function: xmlSchemaValidateListSimpleTypeFacet</h3><pre class="programlisting">int	xmlSchemaValidateListSimpleTypeFacet	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 unsigned long actualLen, <br />						 unsigned long * expectedLen)<br />
-</pre><p>Checks the value of a list simple type against a facet.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to validate</td></tr><tr><td><span class="term"><i><tt>actualLen</tt></i>:</span></td><td>the number of list items</td></tr><tr><td><span class="term"><i><tt>expectedLen</tt></i>:</span></td><td>the resulting expected number of list items</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidatePredefinedType" id="xmlSchemaValidatePredefinedType"></a>Function: xmlSchemaValidatePredefinedType</h3><pre class="programlisting">int	xmlSchemaValidatePredefinedType	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)<br />
-</pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p>
-<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><h3><a name="xmlSchemaValueAppend" id="xmlSchemaValueAppend"></a>Function: xmlSchemaValueAppend</h3><pre class="programlisting">int	xmlSchemaValueAppend		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br />
-</pre><p>Appends a next sibling to a list of computed values.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>prev</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the value to be appended</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if succeeded and -1 on API errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaValueGetAsBoolean" id="xmlSchemaValueGetAsBoolean"></a>Function: xmlSchemaValueGetAsBoolean</h3><pre class="programlisting">int	xmlSchemaValueGetAsBoolean	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br />
-</pre><p>Accessor for the boolean value of a computed value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true and 0 if false, or in case of an error. Hmm.</td></tr></tbody></table></div><h3><a name="xmlSchemaValueGetAsString" id="xmlSchemaValueGetAsString"></a>Function: xmlSchemaValueGetAsString</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaValueGetAsString	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br />
-</pre><p>Accessor for the string value of a computed value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string value or NULL if there was none, or on API errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaValueGetNext" id="xmlSchemaValueGetNext"></a>Function: xmlSchemaValueGetNext</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaValueGetNext	(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br />
-</pre><p>Accessor for the next sibling of a list of computed values.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next value or NULL if there was none, or on API errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaWhiteSpaceReplace" id="xmlSchemaWhiteSpaceReplace"></a>Function: xmlSchemaWhiteSpaceReplace</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaWhiteSpaceReplace	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Replaces 0xd, 0x9 and 0xa with a space.</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><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>
diff --git a/doc/html/libxml-xmlstring.html b/doc/html/libxml-xmlstring.html
deleted file mode 100644
index 45ff335..0000000
--- a/doc/html/libxml-xmlstring.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlstring from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlstring from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemastypes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlschemastypes.html">xmlschemastypes</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="n" href="libxml-xmlunicode.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>type and interfaces needed for the internal string handling of the library, especially UTF8 processing. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BAD_CAST">BAD_CAST</a></pre><pre class="programlisting">Typedef unsigned char <a name="xmlChar" id="xmlChar">xmlChar</a>
-</pre><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCharStrdup">xmlCharStrdup</a>		(const char * cur)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCharStrndup">xmlCharStrndup</a>		(const char * cur, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlCheckUTF8">xmlCheckUTF8</a>			(const unsigned char * utf)</pre>
-<pre class="programlisting">int	<a href="#xmlGetUTF8Char">xmlGetUTF8Char</a>			(const unsigned char * utf, <br />					 int * len)</pre>
-<pre class="programlisting">int	<a href="#xmlStrEqual">xmlStrEqual</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2)</pre>
-<pre class="programlisting">int	<a href="#xmlStrPrintf">xmlStrPrintf</a>			(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * buf, <br />					 int len, <br />					 const char * msg, <br />					 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlStrQEqual">xmlStrQEqual</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pref, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
-<pre class="programlisting">int	<a href="#xmlStrVPrintf">xmlStrVPrintf</a>			(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * buf, <br />					 int len, <br />					 const char * msg, <br />					 va_list ap)</pre>
-<pre class="programlisting">int	<a href="#xmlStrcasecmp">xmlStrcasecmp</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrcasestr">xmlStrcasestr</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrcat">xmlStrcat</a>		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * add)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrchr">xmlStrchr</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> val)</pre>
-<pre class="programlisting">int	<a href="#xmlStrcmp">xmlStrcmp</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrdup">xmlStrdup</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur)</pre>
-<pre class="programlisting">int	<a href="#xmlStrlen">xmlStrlen</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
-<pre class="programlisting">int	<a href="#xmlStrncasecmp">xmlStrncasecmp</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2, <br />					 int len)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrncat">xmlStrncat</a>		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * add, <br />					 int len)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrncatNew">xmlStrncatNew</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlStrncmp">xmlStrncmp</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2, <br />					 int len)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrndup">xmlStrndup</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 int len)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrstr">xmlStrstr</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrsub">xmlStrsub</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int start, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlUTF8Charcmp">xmlUTF8Charcmp</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf2)</pre>
-<pre class="programlisting">int	<a href="#xmlUTF8Size">xmlUTF8Size</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf)</pre>
-<pre class="programlisting">int	<a href="#xmlUTF8Strlen">xmlUTF8Strlen</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf)</pre>
-<pre class="programlisting">int	<a href="#xmlUTF8Strloc">xmlUTF8Strloc</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utfchar)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strndup">xmlUTF8Strndup</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int len)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strpos">xmlUTF8Strpos</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int pos)</pre>
-<pre class="programlisting">int	<a href="#xmlUTF8Strsize">xmlUTF8Strsize</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int len)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strsub">xmlUTF8Strsub</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int start, <br />					 int len)</pre>
-<h2>Description</h2>
-<h3><a name="BAD_CAST" id="BAD_CAST"></a>Macro: BAD_CAST</h3><pre>#define BAD_CAST</pre><p>Macro to cast a string to an <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * when one know its safe.</p>
-
-      This is a basic byte in an UTF-8 encoded string. It's unsigned allowing to pinpoint case where char * are assigned to xmlChar * (possibly making serialization back impossible).
-    <h3><a name="xmlCharStrdup" id="xmlCharStrdup"></a>Function: xmlCharStrdup</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlCharStrdup		(const char * cur)<br />
-</pre><p>a strdup for char's to xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input char *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div><h3><a name="xmlCharStrndup" id="xmlCharStrndup"></a>Function: xmlCharStrndup</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlCharStrndup		(const char * cur, <br />					 int len)<br />
-</pre><p>a strndup for char's to xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input char *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @cur</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div><h3><a name="xmlCheckUTF8" id="xmlCheckUTF8"></a>Function: xmlCheckUTF8</h3><pre class="programlisting">int	xmlCheckUTF8			(const unsigned char * utf)<br />
-</pre><p>Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>Pointer to putative UTF-8 encoded string.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>value: true if @utf is valid.</td></tr></tbody></table></div><h3><a name="xmlGetUTF8Char" id="xmlGetUTF8Char"></a>Function: xmlGetUTF8Char</h3><pre class="programlisting">int	xmlGetUTF8Char			(const unsigned char * utf, <br />					 int * len)<br />
-</pre><p>Read the first UTF8 character from @utf</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to the minimum number of bytes present in the sequence. This is used to assure the next character is completely contained within the sequence.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error)</td></tr></tbody></table></div><h3><a name="xmlStrEqual" id="xmlStrEqual"></a>Function: xmlStrEqual</h3><pre class="programlisting">int	xmlStrEqual			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2)<br />
-</pre><p>Check if both strings are equal of have same content. Should be a bit more readable and faster than xmlStrcmp()</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if they are equal, 0 if they are different</td></tr></tbody></table></div><h3><a name="xmlStrPrintf" id="xmlStrPrintf"></a>Function: xmlStrPrintf</h3><pre class="programlisting">int	xmlStrPrintf			(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * buf, <br />					 int len, <br />					 const char * msg, <br />					 ... ...)<br />
-</pre><p>Formats @msg and places result into @buf.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the result buffer.</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the result buffer length.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message with printf formatting.</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td></tr></tbody></table></div><h3><a name="xmlStrQEqual" id="xmlStrQEqual"></a>Function: xmlStrQEqual</h3><pre class="programlisting">int	xmlStrQEqual			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pref, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
-</pre><p>Check if a QName is Equal to a given string</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pref</tt></i>:</span></td><td>the prefix of the QName</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the localname of the QName</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the second <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if they are equal, 0 if they are different</td></tr></tbody></table></div><h3><a name="xmlStrVPrintf" id="xmlStrVPrintf"></a>Function: xmlStrVPrintf</h3><pre class="programlisting">int	xmlStrVPrintf			(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * buf, <br />					 int len, <br />					 const char * msg, <br />					 va_list ap)<br />
-</pre><p>Formats @msg and places result into @buf.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the result buffer.</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the result buffer length.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message with printf formatting.</td></tr><tr><td><span class="term"><i><tt>ap</tt></i>:</span></td><td>extra parameters for the message.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td></tr></tbody></table></div><h3><a name="xmlStrcasecmp" id="xmlStrcasecmp"></a>Function: xmlStrcasecmp</h3><pre class="programlisting">int	xmlStrcasecmp			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2)<br />
-</pre><p>a strcasecmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the comparison</td></tr></tbody></table></div><h3><a name="xmlStrcasestr" id="xmlStrcasestr"></a>Function: xmlStrcasestr</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcasestr		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)<br />
-</pre><p>a case-ignoring strstr for xmlChar's</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 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td></tr></tbody></table></div><h3><a name="xmlStrcat" id="xmlStrcat"></a>Function: xmlStrcat</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcat		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * add)<br />
-</pre><p>a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * containing the concatenated string. The original @cur is reallocated and should not be freed.</td></tr></tbody></table></div><h3><a name="xmlStrchr" id="xmlStrchr"></a>Function: xmlStrchr</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrchr		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> val)<br />
-</pre><p>a strchr for xmlChar's</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 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> to search</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td></tr></tbody></table></div><h3><a name="xmlStrcmp" id="xmlStrcmp"></a>Function: xmlStrcmp</h3><pre class="programlisting">int	xmlStrcmp			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2)<br />
-</pre><p>a strcmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the comparison</td></tr></tbody></table></div><h3><a name="xmlStrdup" id="xmlStrdup"></a>Function: xmlStrdup</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrdup		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur)<br />
-</pre><p>a strdup for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div><h3><a name="xmlStrlen" id="xmlStrlen"></a>Function: xmlStrlen</h3><pre class="programlisting">int	xmlStrlen			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
-</pre><p>length of a xmlChar's string</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 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> contained in the ARRAY.</td></tr></tbody></table></div><h3><a name="xmlStrncasecmp" id="xmlStrncasecmp"></a>Function: xmlStrncasecmp</h3><pre class="programlisting">int	xmlStrncasecmp			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2, <br />					 int len)<br />
-</pre><p>a strncasecmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the max comparison length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the comparison</td></tr></tbody></table></div><h3><a name="xmlStrncat" id="xmlStrncat"></a>Function: xmlStrncat</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncat		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * add, <br />					 int len)<br />
-</pre><p>a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add. Note that if @len &lt; 0 then this is an API error and NULL will be returned.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of @add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *, the original @cur is reallocated and should not be freed.</td></tr></tbody></table></div><h3><a name="xmlStrncatNew" id="xmlStrncatNew"></a>Function: xmlStrncatNew</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncatNew		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2, <br />					 int len)<br />
-</pre><p>same as xmlStrncat, but creates a new string. The original two strings are not freed. If @len is &lt; 0 then the length will be calculated automatically.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>first <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>second <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @str2 or &lt; 0</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div><h3><a name="xmlStrncmp" id="xmlStrncmp"></a>Function: xmlStrncmp</h3><pre class="programlisting">int	xmlStrncmp			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2, <br />					 int len)<br />
-</pre><p>a strncmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the max comparison length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the comparison</td></tr></tbody></table></div><h3><a name="xmlStrndup" id="xmlStrndup"></a>Function: xmlStrndup</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrndup		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 int len)<br />
-</pre><p>a strndup for array of xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @cur</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div><h3><a name="xmlStrstr" id="xmlStrstr"></a>Function: xmlStrstr</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrstr		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)<br />
-</pre><p>a strstr for xmlChar's</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 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td></tr></tbody></table></div><h3><a name="xmlStrsub" id="xmlStrsub"></a>Function: xmlStrsub</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrsub		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int start, <br />					 int len)<br />
-</pre><p>Extract a substring of a given string</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 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the index of the first char (zero based)</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the substring</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td></tr></tbody></table></div><h3><a name="xmlUTF8Charcmp" id="xmlUTF8Charcmp"></a>Function: xmlUTF8Charcmp</h3><pre class="programlisting">int	xmlUTF8Charcmp			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf2)<br />
-</pre><p>compares the two UCS4 values</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf1</tt></i>:</span></td><td>pointer to first UTF8 char</td></tr><tr><td><span class="term"><i><tt>utf2</tt></i>:</span></td><td>pointer to second UTF8 char</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>result of the compare as with <a href="libxml-xmlstring.html#xmlStrncmp">xmlStrncmp</a></td></tr></tbody></table></div><h3><a name="xmlUTF8Size" id="xmlUTF8Size"></a>Function: xmlUTF8Size</h3><pre class="programlisting">int	xmlUTF8Size			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf)<br />
-</pre><p>calculates the internal size of a UTF8 character</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>pointer to the UTF8 character</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the numbers of bytes in the character, -1 on format error</td></tr></tbody></table></div><h3><a name="xmlUTF8Strlen" id="xmlUTF8Strlen"></a>Function: xmlUTF8Strlen</h3><pre class="programlisting">int	xmlUTF8Strlen			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf)<br />
-</pre><p>compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the string.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml-SAX.html#characters">characters</a> in the string or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlUTF8Strloc" id="xmlUTF8Strloc"></a>Function: xmlUTF8Strloc</h3><pre class="programlisting">int	xmlUTF8Strloc			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utfchar)<br />
-</pre><p>a function to provide the relative location of a UTF8 char</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>utfchar</tt></i>:</span></td><td>the UTF8 character to be found</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the relative character position of the desired char or -1 if not found</td></tr></tbody></table></div><h3><a name="xmlUTF8Strndup" id="xmlUTF8Strndup"></a>Function: xmlUTF8Strndup</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strndup		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int len)<br />
-</pre><p>a strndup for array of UTF8's</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @utf (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new UTF8 * or NULL</td></tr></tbody></table></div><h3><a name="xmlUTF8Strpos" id="xmlUTF8Strpos"></a>Function: xmlUTF8Strpos</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strpos		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int pos)<br />
-</pre><p>a function to provide the equivalent of fetching a character from a string array</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>pos</tt></i>:</span></td><td>the position of the desired UTF8 char (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the UTF8 character or NULL</td></tr></tbody></table></div><h3><a name="xmlUTF8Strsize" id="xmlUTF8Strsize"></a>Function: xmlUTF8Strsize</h3><pre class="programlisting">int	xmlUTF8Strsize			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int len)<br />
-</pre><p>storage size of an UTF8 string the behaviour is not guaranteed if the input string is not UTF-8</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-SAX.html#characters">characters</a> in the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the storage size of the first 'len' <a href="libxml-SAX.html#characters">characters</a> of ARRAY</td></tr></tbody></table></div><h3><a name="xmlUTF8Strsub" id="xmlUTF8Strsub"></a>Function: xmlUTF8Strsub</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strsub		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int start, <br />					 int len)<br />
-</pre><p>Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>relative pos of first char</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>total number to copy</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to a newly created string or NULL if any problem</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlunicode.html b/doc/html/libxml-xmlunicode.html
deleted file mode 100644
index 060f03e..0000000
--- a/doc/html/libxml-xmlunicode.html
+++ /dev/null
@@ -1,512 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlunicode from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlunicode from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlstring.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlstring.html">xmlstring</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlversion.html">xmlversion</a></th><td><a accesskey="n" href="libxml-xmlversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the Unicode character APIs  This file is automatically generated from the UCS description files of the Unicode Character Database</p><h2>Table of Contents</h2><pre class="programlisting">int	<a href="#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsAlphabeticPresentationForms">xmlUCSIsAlphabeticPresentationForms</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsArabic">xmlUCSIsArabic</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsArabicPresentationFormsA">xmlUCSIsArabicPresentationFormsA</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsArabicPresentationFormsB">xmlUCSIsArabicPresentationFormsB</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsArmenian">xmlUCSIsArmenian</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsArrows">xmlUCSIsArrows</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsBasicLatin">xmlUCSIsBasicLatin</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsBengali">xmlUCSIsBengali</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsBlock">xmlUCSIsBlock</a>			(int code, <br />					 const char * block)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsBlockElements">xmlUCSIsBlockElements</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsBopomofo">xmlUCSIsBopomofo</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsBopomofoExtended">xmlUCSIsBopomofoExtended</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsBoxDrawing">xmlUCSIsBoxDrawing</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsBraillePatterns">xmlUCSIsBraillePatterns</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsBuhid">xmlUCSIsBuhid</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsByzantineMusicalSymbols">xmlUCSIsByzantineMusicalSymbols</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCJKCompatibility">xmlUCSIsCJKCompatibility</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCJKCompatibilityForms">xmlUCSIsCJKCompatibilityForms</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCJKCompatibilityIdeographs">xmlUCSIsCJKCompatibilityIdeographs</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCJKCompatibilityIdeographsSupplement">xmlUCSIsCJKCompatibilityIdeographsSupplement</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCJKRadicalsSupplement">xmlUCSIsCJKRadicalsSupplement</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCJKSymbolsandPunctuation">xmlUCSIsCJKSymbolsandPunctuation</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCJKUnifiedIdeographs">xmlUCSIsCJKUnifiedIdeographs</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCJKUnifiedIdeographsExtensionA">xmlUCSIsCJKUnifiedIdeographsExtensionA</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCJKUnifiedIdeographsExtensionB">xmlUCSIsCJKUnifiedIdeographsExtensionB</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCat">xmlUCSIsCat</a>			(int code, <br />					 const char * cat)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatC">xmlUCSIsCatC</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatCc">xmlUCSIsCatCc</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatCf">xmlUCSIsCatCf</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatCo">xmlUCSIsCatCo</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatCs">xmlUCSIsCatCs</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatL">xmlUCSIsCatL</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatLl">xmlUCSIsCatLl</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatLm">xmlUCSIsCatLm</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatLo">xmlUCSIsCatLo</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatLt">xmlUCSIsCatLt</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatLu">xmlUCSIsCatLu</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatM">xmlUCSIsCatM</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatMc">xmlUCSIsCatMc</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatMe">xmlUCSIsCatMe</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatMn">xmlUCSIsCatMn</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatN">xmlUCSIsCatN</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatNd">xmlUCSIsCatNd</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatNl">xmlUCSIsCatNl</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatNo">xmlUCSIsCatNo</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatP">xmlUCSIsCatP</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatPc">xmlUCSIsCatPc</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatPd">xmlUCSIsCatPd</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatPe">xmlUCSIsCatPe</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatPf">xmlUCSIsCatPf</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatPi">xmlUCSIsCatPi</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatPo">xmlUCSIsCatPo</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatPs">xmlUCSIsCatPs</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatS">xmlUCSIsCatS</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatSc">xmlUCSIsCatSc</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatSk">xmlUCSIsCatSk</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatSm">xmlUCSIsCatSm</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatSo">xmlUCSIsCatSo</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatZ">xmlUCSIsCatZ</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatZl">xmlUCSIsCatZl</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatZp">xmlUCSIsCatZp</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCatZs">xmlUCSIsCatZs</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCherokee">xmlUCSIsCherokee</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCombiningDiacriticalMarks">xmlUCSIsCombiningDiacriticalMarks</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCombiningDiacriticalMarksforSymbols">xmlUCSIsCombiningDiacriticalMarksforSymbols</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCombiningHalfMarks">xmlUCSIsCombiningHalfMarks</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCombiningMarksforSymbols">xmlUCSIsCombiningMarksforSymbols</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsControlPictures">xmlUCSIsControlPictures</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCurrencySymbols">xmlUCSIsCurrencySymbols</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCypriotSyllabary">xmlUCSIsCypriotSyllabary</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCyrillic">xmlUCSIsCyrillic</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsCyrillicSupplement">xmlUCSIsCyrillicSupplement</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsDeseret">xmlUCSIsDeseret</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsDevanagari">xmlUCSIsDevanagari</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsDingbats">xmlUCSIsDingbats</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsEnclosedAlphanumerics">xmlUCSIsEnclosedAlphanumerics</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsEnclosedCJKLettersandMonths">xmlUCSIsEnclosedCJKLettersandMonths</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsEthiopic">xmlUCSIsEthiopic</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsGeneralPunctuation">xmlUCSIsGeneralPunctuation</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsGeometricShapes">xmlUCSIsGeometricShapes</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsGeorgian">xmlUCSIsGeorgian</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsGothic">xmlUCSIsGothic</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsGreek">xmlUCSIsGreek</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsGreekExtended">xmlUCSIsGreekExtended</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsGreekandCoptic">xmlUCSIsGreekandCoptic</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsGujarati">xmlUCSIsGujarati</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsGurmukhi">xmlUCSIsGurmukhi</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsHalfwidthandFullwidthForms">xmlUCSIsHalfwidthandFullwidthForms</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsHangulCompatibilityJamo">xmlUCSIsHangulCompatibilityJamo</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsHangulJamo">xmlUCSIsHangulJamo</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsHangulSyllables">xmlUCSIsHangulSyllables</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsHanunoo">xmlUCSIsHanunoo</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsHebrew">xmlUCSIsHebrew</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsHighPrivateUseSurrogates">xmlUCSIsHighPrivateUseSurrogates</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsHighSurrogates">xmlUCSIsHighSurrogates</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsHiragana">xmlUCSIsHiragana</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsIPAExtensions">xmlUCSIsIPAExtensions</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsIdeographicDescriptionCharacters">xmlUCSIsIdeographicDescriptionCharacters</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsKanbun">xmlUCSIsKanbun</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsKangxiRadicals">xmlUCSIsKangxiRadicals</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsKannada">xmlUCSIsKannada</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsKatakana">xmlUCSIsKatakana</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsKatakanaPhoneticExtensions">xmlUCSIsKatakanaPhoneticExtensions</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsKhmer">xmlUCSIsKhmer</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsKhmerSymbols">xmlUCSIsKhmerSymbols</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsLao">xmlUCSIsLao</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsLatin1Supplement">xmlUCSIsLatin1Supplement</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsLatinExtendedA">xmlUCSIsLatinExtendedA</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsLatinExtendedAdditional">xmlUCSIsLatinExtendedAdditional</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsLatinExtendedB">xmlUCSIsLatinExtendedB</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsLetterlikeSymbols">xmlUCSIsLetterlikeSymbols</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsLimbu">xmlUCSIsLimbu</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsLinearBIdeograms">xmlUCSIsLinearBIdeograms</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsLinearBSyllabary">xmlUCSIsLinearBSyllabary</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsLowSurrogates">xmlUCSIsLowSurrogates</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsMalayalam">xmlUCSIsMalayalam</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsMathematicalAlphanumericSymbols">xmlUCSIsMathematicalAlphanumericSymbols</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsMathematicalOperators">xmlUCSIsMathematicalOperators</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsMiscellaneousMathematicalSymbolsA">xmlUCSIsMiscellaneousMathematicalSymbolsA</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsMiscellaneousMathematicalSymbolsB">xmlUCSIsMiscellaneousMathematicalSymbolsB</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsMiscellaneousSymbols">xmlUCSIsMiscellaneousSymbols</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsMiscellaneousSymbolsandArrows">xmlUCSIsMiscellaneousSymbolsandArrows</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsMiscellaneousTechnical">xmlUCSIsMiscellaneousTechnical</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsMongolian">xmlUCSIsMongolian</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsMusicalSymbols">xmlUCSIsMusicalSymbols</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsMyanmar">xmlUCSIsMyanmar</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsNumberForms">xmlUCSIsNumberForms</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsOgham">xmlUCSIsOgham</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsOldItalic">xmlUCSIsOldItalic</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsOpticalCharacterRecognition">xmlUCSIsOpticalCharacterRecognition</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsOriya">xmlUCSIsOriya</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsOsmanya">xmlUCSIsOsmanya</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsPhoneticExtensions">xmlUCSIsPhoneticExtensions</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsPrivateUse">xmlUCSIsPrivateUse</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsPrivateUseArea">xmlUCSIsPrivateUseArea</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsRunic">xmlUCSIsRunic</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsShavian">xmlUCSIsShavian</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsSinhala">xmlUCSIsSinhala</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsSmallFormVariants">xmlUCSIsSmallFormVariants</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsSpacingModifierLetters">xmlUCSIsSpacingModifierLetters</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsSpecials">xmlUCSIsSpecials</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsSuperscriptsandSubscripts">xmlUCSIsSuperscriptsandSubscripts</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsSupplementalArrowsA">xmlUCSIsSupplementalArrowsA</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsSupplementalArrowsB">xmlUCSIsSupplementalArrowsB</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsSupplementalMathematicalOperators">xmlUCSIsSupplementalMathematicalOperators</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsSupplementaryPrivateUseAreaA">xmlUCSIsSupplementaryPrivateUseAreaA</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsSupplementaryPrivateUseAreaB">xmlUCSIsSupplementaryPrivateUseAreaB</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsSyriac">xmlUCSIsSyriac</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsTagalog">xmlUCSIsTagalog</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsTagbanwa">xmlUCSIsTagbanwa</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsTags">xmlUCSIsTags</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsTaiLe">xmlUCSIsTaiLe</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsTaiXuanJingSymbols">xmlUCSIsTaiXuanJingSymbols</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsTamil">xmlUCSIsTamil</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsTelugu">xmlUCSIsTelugu</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsThaana">xmlUCSIsThaana</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsThai">xmlUCSIsThai</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsTibetan">xmlUCSIsTibetan</a>			(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsUgaritic">xmlUCSIsUgaritic</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsUnifiedCanadianAboriginalSyllabics">xmlUCSIsUnifiedCanadianAboriginalSyllabics</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsVariationSelectors">xmlUCSIsVariationSelectors</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsVariationSelectorsSupplement">xmlUCSIsVariationSelectorsSupplement</a>	(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsYiRadicals">xmlUCSIsYiRadicals</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsYiSyllables">xmlUCSIsYiSyllables</a>		(int code)</pre>
-<pre class="programlisting">int	<a href="#xmlUCSIsYijingHexagramSymbols">xmlUCSIsYijingHexagramSymbols</a>	(int code)</pre>
-<h2>Description</h2>
-<h3><a name="xmlUCSIsAegeanNumbers" id="xmlUCSIsAegeanNumbers"></a>Function: xmlUCSIsAegeanNumbers</h3><pre class="programlisting">int	xmlUCSIsAegeanNumbers		(int code)<br />
-</pre><p>Check whether the character is part of AegeanNumbers UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsAlphabeticPresentationForms" id="xmlUCSIsAlphabeticPresentationForms"></a>Function: xmlUCSIsAlphabeticPresentationForms</h3><pre class="programlisting">int	xmlUCSIsAlphabeticPresentationForms	(int code)<br />
-</pre><p>Check whether the character is part of AlphabeticPresentationForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsArabic" id="xmlUCSIsArabic"></a>Function: xmlUCSIsArabic</h3><pre class="programlisting">int	xmlUCSIsArabic			(int code)<br />
-</pre><p>Check whether the character is part of Arabic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsArabicPresentationFormsA" id="xmlUCSIsArabicPresentationFormsA"></a>Function: xmlUCSIsArabicPresentationFormsA</h3><pre class="programlisting">int	xmlUCSIsArabicPresentationFormsA	(int code)<br />
-</pre><p>Check whether the character is part of ArabicPresentationForms-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsArabicPresentationFormsB" id="xmlUCSIsArabicPresentationFormsB"></a>Function: xmlUCSIsArabicPresentationFormsB</h3><pre class="programlisting">int	xmlUCSIsArabicPresentationFormsB	(int code)<br />
-</pre><p>Check whether the character is part of ArabicPresentationForms-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsArmenian" id="xmlUCSIsArmenian"></a>Function: xmlUCSIsArmenian</h3><pre class="programlisting">int	xmlUCSIsArmenian		(int code)<br />
-</pre><p>Check whether the character is part of Armenian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsArrows" id="xmlUCSIsArrows"></a>Function: xmlUCSIsArrows</h3><pre class="programlisting">int	xmlUCSIsArrows			(int code)<br />
-</pre><p>Check whether the character is part of Arrows UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsBasicLatin" id="xmlUCSIsBasicLatin"></a>Function: xmlUCSIsBasicLatin</h3><pre class="programlisting">int	xmlUCSIsBasicLatin		(int code)<br />
-</pre><p>Check whether the character is part of BasicLatin UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsBengali" id="xmlUCSIsBengali"></a>Function: xmlUCSIsBengali</h3><pre class="programlisting">int	xmlUCSIsBengali			(int code)<br />
-</pre><p>Check whether the character is part of Bengali UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsBlock" id="xmlUCSIsBlock"></a>Function: xmlUCSIsBlock</h3><pre class="programlisting">int	xmlUCSIsBlock			(int code, <br />					 const char * block)<br />
-</pre><p>Check whether the character is part of the UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>block</tt></i>:</span></td><td>UCS block name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 on unknown block</td></tr></tbody></table></div><h3><a name="xmlUCSIsBlockElements" id="xmlUCSIsBlockElements"></a>Function: xmlUCSIsBlockElements</h3><pre class="programlisting">int	xmlUCSIsBlockElements		(int code)<br />
-</pre><p>Check whether the character is part of BlockElements UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsBopomofo" id="xmlUCSIsBopomofo"></a>Function: xmlUCSIsBopomofo</h3><pre class="programlisting">int	xmlUCSIsBopomofo		(int code)<br />
-</pre><p>Check whether the character is part of Bopomofo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsBopomofoExtended" id="xmlUCSIsBopomofoExtended"></a>Function: xmlUCSIsBopomofoExtended</h3><pre class="programlisting">int	xmlUCSIsBopomofoExtended	(int code)<br />
-</pre><p>Check whether the character is part of BopomofoExtended UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsBoxDrawing" id="xmlUCSIsBoxDrawing"></a>Function: xmlUCSIsBoxDrawing</h3><pre class="programlisting">int	xmlUCSIsBoxDrawing		(int code)<br />
-</pre><p>Check whether the character is part of BoxDrawing UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsBraillePatterns" id="xmlUCSIsBraillePatterns"></a>Function: xmlUCSIsBraillePatterns</h3><pre class="programlisting">int	xmlUCSIsBraillePatterns		(int code)<br />
-</pre><p>Check whether the character is part of BraillePatterns UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsBuhid" id="xmlUCSIsBuhid"></a>Function: xmlUCSIsBuhid</h3><pre class="programlisting">int	xmlUCSIsBuhid			(int code)<br />
-</pre><p>Check whether the character is part of Buhid UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsByzantineMusicalSymbols" id="xmlUCSIsByzantineMusicalSymbols"></a>Function: xmlUCSIsByzantineMusicalSymbols</h3><pre class="programlisting">int	xmlUCSIsByzantineMusicalSymbols	(int code)<br />
-</pre><p>Check whether the character is part of ByzantineMusicalSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCJKCompatibility" id="xmlUCSIsCJKCompatibility"></a>Function: xmlUCSIsCJKCompatibility</h3><pre class="programlisting">int	xmlUCSIsCJKCompatibility	(int code)<br />
-</pre><p>Check whether the character is part of CJKCompatibility UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCJKCompatibilityForms" id="xmlUCSIsCJKCompatibilityForms"></a>Function: xmlUCSIsCJKCompatibilityForms</h3><pre class="programlisting">int	xmlUCSIsCJKCompatibilityForms	(int code)<br />
-</pre><p>Check whether the character is part of CJKCompatibilityForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCJKCompatibilityIdeographs" id="xmlUCSIsCJKCompatibilityIdeographs"></a>Function: xmlUCSIsCJKCompatibilityIdeographs</h3><pre class="programlisting">int	xmlUCSIsCJKCompatibilityIdeographs	(int code)<br />
-</pre><p>Check whether the character is part of CJKCompatibilityIdeographs UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCJKCompatibilityIdeographsSupplement" id="xmlUCSIsCJKCompatibilityIdeographsSupplement"></a>Function: xmlUCSIsCJKCompatibilityIdeographsSupplement</h3><pre class="programlisting">int	xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code)<br />
-</pre><p>Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCJKRadicalsSupplement" id="xmlUCSIsCJKRadicalsSupplement"></a>Function: xmlUCSIsCJKRadicalsSupplement</h3><pre class="programlisting">int	xmlUCSIsCJKRadicalsSupplement	(int code)<br />
-</pre><p>Check whether the character is part of CJKRadicalsSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCJKSymbolsandPunctuation" id="xmlUCSIsCJKSymbolsandPunctuation"></a>Function: xmlUCSIsCJKSymbolsandPunctuation</h3><pre class="programlisting">int	xmlUCSIsCJKSymbolsandPunctuation	(int code)<br />
-</pre><p>Check whether the character is part of CJKSymbolsandPunctuation UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCJKUnifiedIdeographs" id="xmlUCSIsCJKUnifiedIdeographs"></a>Function: xmlUCSIsCJKUnifiedIdeographs</h3><pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographs	(int code)<br />
-</pre><p>Check whether the character is part of CJKUnifiedIdeographs UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCJKUnifiedIdeographsExtensionA" id="xmlUCSIsCJKUnifiedIdeographsExtensionA"></a>Function: xmlUCSIsCJKUnifiedIdeographsExtensionA</h3><pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code)<br />
-</pre><p>Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCJKUnifiedIdeographsExtensionB" id="xmlUCSIsCJKUnifiedIdeographsExtensionB"></a>Function: xmlUCSIsCJKUnifiedIdeographsExtensionB</h3><pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code)<br />
-</pre><p>Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCat" id="xmlUCSIsCat"></a>Function: xmlUCSIsCat</h3><pre class="programlisting">int	xmlUCSIsCat			(int code, <br />					 const char * cat)<br />
-</pre><p>Check whether the character is part of the UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>cat</tt></i>:</span></td><td>UCS Category name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 on unknown category</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatC" id="xmlUCSIsCatC"></a>Function: xmlUCSIsCatC</h3><pre class="programlisting">int	xmlUCSIsCatC			(int code)<br />
-</pre><p>Check whether the character is part of C UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatCc" id="xmlUCSIsCatCc"></a>Function: xmlUCSIsCatCc</h3><pre class="programlisting">int	xmlUCSIsCatCc			(int code)<br />
-</pre><p>Check whether the character is part of Cc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatCf" id="xmlUCSIsCatCf"></a>Function: xmlUCSIsCatCf</h3><pre class="programlisting">int	xmlUCSIsCatCf			(int code)<br />
-</pre><p>Check whether the character is part of Cf UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatCo" id="xmlUCSIsCatCo"></a>Function: xmlUCSIsCatCo</h3><pre class="programlisting">int	xmlUCSIsCatCo			(int code)<br />
-</pre><p>Check whether the character is part of Co UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatCs" id="xmlUCSIsCatCs"></a>Function: xmlUCSIsCatCs</h3><pre class="programlisting">int	xmlUCSIsCatCs			(int code)<br />
-</pre><p>Check whether the character is part of Cs UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatL" id="xmlUCSIsCatL"></a>Function: xmlUCSIsCatL</h3><pre class="programlisting">int	xmlUCSIsCatL			(int code)<br />
-</pre><p>Check whether the character is part of L UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatLl" id="xmlUCSIsCatLl"></a>Function: xmlUCSIsCatLl</h3><pre class="programlisting">int	xmlUCSIsCatLl			(int code)<br />
-</pre><p>Check whether the character is part of Ll UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatLm" id="xmlUCSIsCatLm"></a>Function: xmlUCSIsCatLm</h3><pre class="programlisting">int	xmlUCSIsCatLm			(int code)<br />
-</pre><p>Check whether the character is part of Lm UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatLo" id="xmlUCSIsCatLo"></a>Function: xmlUCSIsCatLo</h3><pre class="programlisting">int	xmlUCSIsCatLo			(int code)<br />
-</pre><p>Check whether the character is part of Lo UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatLt" id="xmlUCSIsCatLt"></a>Function: xmlUCSIsCatLt</h3><pre class="programlisting">int	xmlUCSIsCatLt			(int code)<br />
-</pre><p>Check whether the character is part of Lt UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatLu" id="xmlUCSIsCatLu"></a>Function: xmlUCSIsCatLu</h3><pre class="programlisting">int	xmlUCSIsCatLu			(int code)<br />
-</pre><p>Check whether the character is part of Lu UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatM" id="xmlUCSIsCatM"></a>Function: xmlUCSIsCatM</h3><pre class="programlisting">int	xmlUCSIsCatM			(int code)<br />
-</pre><p>Check whether the character is part of M UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatMc" id="xmlUCSIsCatMc"></a>Function: xmlUCSIsCatMc</h3><pre class="programlisting">int	xmlUCSIsCatMc			(int code)<br />
-</pre><p>Check whether the character is part of Mc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatMe" id="xmlUCSIsCatMe"></a>Function: xmlUCSIsCatMe</h3><pre class="programlisting">int	xmlUCSIsCatMe			(int code)<br />
-</pre><p>Check whether the character is part of Me UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatMn" id="xmlUCSIsCatMn"></a>Function: xmlUCSIsCatMn</h3><pre class="programlisting">int	xmlUCSIsCatMn			(int code)<br />
-</pre><p>Check whether the character is part of Mn UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatN" id="xmlUCSIsCatN"></a>Function: xmlUCSIsCatN</h3><pre class="programlisting">int	xmlUCSIsCatN			(int code)<br />
-</pre><p>Check whether the character is part of N UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatNd" id="xmlUCSIsCatNd"></a>Function: xmlUCSIsCatNd</h3><pre class="programlisting">int	xmlUCSIsCatNd			(int code)<br />
-</pre><p>Check whether the character is part of Nd UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatNl" id="xmlUCSIsCatNl"></a>Function: xmlUCSIsCatNl</h3><pre class="programlisting">int	xmlUCSIsCatNl			(int code)<br />
-</pre><p>Check whether the character is part of Nl UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatNo" id="xmlUCSIsCatNo"></a>Function: xmlUCSIsCatNo</h3><pre class="programlisting">int	xmlUCSIsCatNo			(int code)<br />
-</pre><p>Check whether the character is part of No UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatP" id="xmlUCSIsCatP"></a>Function: xmlUCSIsCatP</h3><pre class="programlisting">int	xmlUCSIsCatP			(int code)<br />
-</pre><p>Check whether the character is part of P UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatPc" id="xmlUCSIsCatPc"></a>Function: xmlUCSIsCatPc</h3><pre class="programlisting">int	xmlUCSIsCatPc			(int code)<br />
-</pre><p>Check whether the character is part of Pc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatPd" id="xmlUCSIsCatPd"></a>Function: xmlUCSIsCatPd</h3><pre class="programlisting">int	xmlUCSIsCatPd			(int code)<br />
-</pre><p>Check whether the character is part of Pd UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatPe" id="xmlUCSIsCatPe"></a>Function: xmlUCSIsCatPe</h3><pre class="programlisting">int	xmlUCSIsCatPe			(int code)<br />
-</pre><p>Check whether the character is part of Pe UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatPf" id="xmlUCSIsCatPf"></a>Function: xmlUCSIsCatPf</h3><pre class="programlisting">int	xmlUCSIsCatPf			(int code)<br />
-</pre><p>Check whether the character is part of Pf UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatPi" id="xmlUCSIsCatPi"></a>Function: xmlUCSIsCatPi</h3><pre class="programlisting">int	xmlUCSIsCatPi			(int code)<br />
-</pre><p>Check whether the character is part of Pi UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatPo" id="xmlUCSIsCatPo"></a>Function: xmlUCSIsCatPo</h3><pre class="programlisting">int	xmlUCSIsCatPo			(int code)<br />
-</pre><p>Check whether the character is part of Po UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatPs" id="xmlUCSIsCatPs"></a>Function: xmlUCSIsCatPs</h3><pre class="programlisting">int	xmlUCSIsCatPs			(int code)<br />
-</pre><p>Check whether the character is part of Ps UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatS" id="xmlUCSIsCatS"></a>Function: xmlUCSIsCatS</h3><pre class="programlisting">int	xmlUCSIsCatS			(int code)<br />
-</pre><p>Check whether the character is part of S UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatSc" id="xmlUCSIsCatSc"></a>Function: xmlUCSIsCatSc</h3><pre class="programlisting">int	xmlUCSIsCatSc			(int code)<br />
-</pre><p>Check whether the character is part of Sc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatSk" id="xmlUCSIsCatSk"></a>Function: xmlUCSIsCatSk</h3><pre class="programlisting">int	xmlUCSIsCatSk			(int code)<br />
-</pre><p>Check whether the character is part of Sk UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatSm" id="xmlUCSIsCatSm"></a>Function: xmlUCSIsCatSm</h3><pre class="programlisting">int	xmlUCSIsCatSm			(int code)<br />
-</pre><p>Check whether the character is part of Sm UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatSo" id="xmlUCSIsCatSo"></a>Function: xmlUCSIsCatSo</h3><pre class="programlisting">int	xmlUCSIsCatSo			(int code)<br />
-</pre><p>Check whether the character is part of So UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatZ" id="xmlUCSIsCatZ"></a>Function: xmlUCSIsCatZ</h3><pre class="programlisting">int	xmlUCSIsCatZ			(int code)<br />
-</pre><p>Check whether the character is part of Z UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatZl" id="xmlUCSIsCatZl"></a>Function: xmlUCSIsCatZl</h3><pre class="programlisting">int	xmlUCSIsCatZl			(int code)<br />
-</pre><p>Check whether the character is part of Zl UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatZp" id="xmlUCSIsCatZp"></a>Function: xmlUCSIsCatZp</h3><pre class="programlisting">int	xmlUCSIsCatZp			(int code)<br />
-</pre><p>Check whether the character is part of Zp UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCatZs" id="xmlUCSIsCatZs"></a>Function: xmlUCSIsCatZs</h3><pre class="programlisting">int	xmlUCSIsCatZs			(int code)<br />
-</pre><p>Check whether the character is part of Zs UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCherokee" id="xmlUCSIsCherokee"></a>Function: xmlUCSIsCherokee</h3><pre class="programlisting">int	xmlUCSIsCherokee		(int code)<br />
-</pre><p>Check whether the character is part of Cherokee UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCombiningDiacriticalMarks" id="xmlUCSIsCombiningDiacriticalMarks"></a>Function: xmlUCSIsCombiningDiacriticalMarks</h3><pre class="programlisting">int	xmlUCSIsCombiningDiacriticalMarks	(int code)<br />
-</pre><p>Check whether the character is part of CombiningDiacriticalMarks UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCombiningDiacriticalMarksforSymbols" id="xmlUCSIsCombiningDiacriticalMarksforSymbols"></a>Function: xmlUCSIsCombiningDiacriticalMarksforSymbols</h3><pre class="programlisting">int	xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code)<br />
-</pre><p>Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCombiningHalfMarks" id="xmlUCSIsCombiningHalfMarks"></a>Function: xmlUCSIsCombiningHalfMarks</h3><pre class="programlisting">int	xmlUCSIsCombiningHalfMarks	(int code)<br />
-</pre><p>Check whether the character is part of CombiningHalfMarks UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCombiningMarksforSymbols" id="xmlUCSIsCombiningMarksforSymbols"></a>Function: xmlUCSIsCombiningMarksforSymbols</h3><pre class="programlisting">int	xmlUCSIsCombiningMarksforSymbols	(int code)<br />
-</pre><p>Check whether the character is part of CombiningMarksforSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsControlPictures" id="xmlUCSIsControlPictures"></a>Function: xmlUCSIsControlPictures</h3><pre class="programlisting">int	xmlUCSIsControlPictures		(int code)<br />
-</pre><p>Check whether the character is part of ControlPictures UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCurrencySymbols" id="xmlUCSIsCurrencySymbols"></a>Function: xmlUCSIsCurrencySymbols</h3><pre class="programlisting">int	xmlUCSIsCurrencySymbols		(int code)<br />
-</pre><p>Check whether the character is part of CurrencySymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCypriotSyllabary" id="xmlUCSIsCypriotSyllabary"></a>Function: xmlUCSIsCypriotSyllabary</h3><pre class="programlisting">int	xmlUCSIsCypriotSyllabary	(int code)<br />
-</pre><p>Check whether the character is part of CypriotSyllabary UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCyrillic" id="xmlUCSIsCyrillic"></a>Function: xmlUCSIsCyrillic</h3><pre class="programlisting">int	xmlUCSIsCyrillic		(int code)<br />
-</pre><p>Check whether the character is part of Cyrillic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsCyrillicSupplement" id="xmlUCSIsCyrillicSupplement"></a>Function: xmlUCSIsCyrillicSupplement</h3><pre class="programlisting">int	xmlUCSIsCyrillicSupplement	(int code)<br />
-</pre><p>Check whether the character is part of CyrillicSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsDeseret" id="xmlUCSIsDeseret"></a>Function: xmlUCSIsDeseret</h3><pre class="programlisting">int	xmlUCSIsDeseret			(int code)<br />
-</pre><p>Check whether the character is part of Deseret UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsDevanagari" id="xmlUCSIsDevanagari"></a>Function: xmlUCSIsDevanagari</h3><pre class="programlisting">int	xmlUCSIsDevanagari		(int code)<br />
-</pre><p>Check whether the character is part of Devanagari UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsDingbats" id="xmlUCSIsDingbats"></a>Function: xmlUCSIsDingbats</h3><pre class="programlisting">int	xmlUCSIsDingbats		(int code)<br />
-</pre><p>Check whether the character is part of Dingbats UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsEnclosedAlphanumerics" id="xmlUCSIsEnclosedAlphanumerics"></a>Function: xmlUCSIsEnclosedAlphanumerics</h3><pre class="programlisting">int	xmlUCSIsEnclosedAlphanumerics	(int code)<br />
-</pre><p>Check whether the character is part of EnclosedAlphanumerics UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsEnclosedCJKLettersandMonths" id="xmlUCSIsEnclosedCJKLettersandMonths"></a>Function: xmlUCSIsEnclosedCJKLettersandMonths</h3><pre class="programlisting">int	xmlUCSIsEnclosedCJKLettersandMonths	(int code)<br />
-</pre><p>Check whether the character is part of EnclosedCJKLettersandMonths UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsEthiopic" id="xmlUCSIsEthiopic"></a>Function: xmlUCSIsEthiopic</h3><pre class="programlisting">int	xmlUCSIsEthiopic		(int code)<br />
-</pre><p>Check whether the character is part of Ethiopic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsGeneralPunctuation" id="xmlUCSIsGeneralPunctuation"></a>Function: xmlUCSIsGeneralPunctuation</h3><pre class="programlisting">int	xmlUCSIsGeneralPunctuation	(int code)<br />
-</pre><p>Check whether the character is part of GeneralPunctuation UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsGeometricShapes" id="xmlUCSIsGeometricShapes"></a>Function: xmlUCSIsGeometricShapes</h3><pre class="programlisting">int	xmlUCSIsGeometricShapes		(int code)<br />
-</pre><p>Check whether the character is part of GeometricShapes UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsGeorgian" id="xmlUCSIsGeorgian"></a>Function: xmlUCSIsGeorgian</h3><pre class="programlisting">int	xmlUCSIsGeorgian		(int code)<br />
-</pre><p>Check whether the character is part of Georgian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsGothic" id="xmlUCSIsGothic"></a>Function: xmlUCSIsGothic</h3><pre class="programlisting">int	xmlUCSIsGothic			(int code)<br />
-</pre><p>Check whether the character is part of Gothic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsGreek" id="xmlUCSIsGreek"></a>Function: xmlUCSIsGreek</h3><pre class="programlisting">int	xmlUCSIsGreek			(int code)<br />
-</pre><p>Check whether the character is part of Greek UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsGreekExtended" id="xmlUCSIsGreekExtended"></a>Function: xmlUCSIsGreekExtended</h3><pre class="programlisting">int	xmlUCSIsGreekExtended		(int code)<br />
-</pre><p>Check whether the character is part of GreekExtended UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsGreekandCoptic" id="xmlUCSIsGreekandCoptic"></a>Function: xmlUCSIsGreekandCoptic</h3><pre class="programlisting">int	xmlUCSIsGreekandCoptic		(int code)<br />
-</pre><p>Check whether the character is part of GreekandCoptic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsGujarati" id="xmlUCSIsGujarati"></a>Function: xmlUCSIsGujarati</h3><pre class="programlisting">int	xmlUCSIsGujarati		(int code)<br />
-</pre><p>Check whether the character is part of Gujarati UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsGurmukhi" id="xmlUCSIsGurmukhi"></a>Function: xmlUCSIsGurmukhi</h3><pre class="programlisting">int	xmlUCSIsGurmukhi		(int code)<br />
-</pre><p>Check whether the character is part of Gurmukhi UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsHalfwidthandFullwidthForms" id="xmlUCSIsHalfwidthandFullwidthForms"></a>Function: xmlUCSIsHalfwidthandFullwidthForms</h3><pre class="programlisting">int	xmlUCSIsHalfwidthandFullwidthForms	(int code)<br />
-</pre><p>Check whether the character is part of HalfwidthandFullwidthForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsHangulCompatibilityJamo" id="xmlUCSIsHangulCompatibilityJamo"></a>Function: xmlUCSIsHangulCompatibilityJamo</h3><pre class="programlisting">int	xmlUCSIsHangulCompatibilityJamo	(int code)<br />
-</pre><p>Check whether the character is part of HangulCompatibilityJamo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsHangulJamo" id="xmlUCSIsHangulJamo"></a>Function: xmlUCSIsHangulJamo</h3><pre class="programlisting">int	xmlUCSIsHangulJamo		(int code)<br />
-</pre><p>Check whether the character is part of HangulJamo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsHangulSyllables" id="xmlUCSIsHangulSyllables"></a>Function: xmlUCSIsHangulSyllables</h3><pre class="programlisting">int	xmlUCSIsHangulSyllables		(int code)<br />
-</pre><p>Check whether the character is part of HangulSyllables UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsHanunoo" id="xmlUCSIsHanunoo"></a>Function: xmlUCSIsHanunoo</h3><pre class="programlisting">int	xmlUCSIsHanunoo			(int code)<br />
-</pre><p>Check whether the character is part of Hanunoo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsHebrew" id="xmlUCSIsHebrew"></a>Function: xmlUCSIsHebrew</h3><pre class="programlisting">int	xmlUCSIsHebrew			(int code)<br />
-</pre><p>Check whether the character is part of Hebrew UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsHighPrivateUseSurrogates" id="xmlUCSIsHighPrivateUseSurrogates"></a>Function: xmlUCSIsHighPrivateUseSurrogates</h3><pre class="programlisting">int	xmlUCSIsHighPrivateUseSurrogates	(int code)<br />
-</pre><p>Check whether the character is part of HighPrivateUseSurrogates UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsHighSurrogates" id="xmlUCSIsHighSurrogates"></a>Function: xmlUCSIsHighSurrogates</h3><pre class="programlisting">int	xmlUCSIsHighSurrogates		(int code)<br />
-</pre><p>Check whether the character is part of HighSurrogates UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsHiragana" id="xmlUCSIsHiragana"></a>Function: xmlUCSIsHiragana</h3><pre class="programlisting">int	xmlUCSIsHiragana		(int code)<br />
-</pre><p>Check whether the character is part of Hiragana UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsIPAExtensions" id="xmlUCSIsIPAExtensions"></a>Function: xmlUCSIsIPAExtensions</h3><pre class="programlisting">int	xmlUCSIsIPAExtensions		(int code)<br />
-</pre><p>Check whether the character is part of IPAExtensions UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsIdeographicDescriptionCharacters" id="xmlUCSIsIdeographicDescriptionCharacters"></a>Function: xmlUCSIsIdeographicDescriptionCharacters</h3><pre class="programlisting">int	xmlUCSIsIdeographicDescriptionCharacters	(int code)<br />
-</pre><p>Check whether the character is part of IdeographicDescriptionCharacters UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsKanbun" id="xmlUCSIsKanbun"></a>Function: xmlUCSIsKanbun</h3><pre class="programlisting">int	xmlUCSIsKanbun			(int code)<br />
-</pre><p>Check whether the character is part of Kanbun UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsKangxiRadicals" id="xmlUCSIsKangxiRadicals"></a>Function: xmlUCSIsKangxiRadicals</h3><pre class="programlisting">int	xmlUCSIsKangxiRadicals		(int code)<br />
-</pre><p>Check whether the character is part of KangxiRadicals UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsKannada" id="xmlUCSIsKannada"></a>Function: xmlUCSIsKannada</h3><pre class="programlisting">int	xmlUCSIsKannada			(int code)<br />
-</pre><p>Check whether the character is part of Kannada UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsKatakana" id="xmlUCSIsKatakana"></a>Function: xmlUCSIsKatakana</h3><pre class="programlisting">int	xmlUCSIsKatakana		(int code)<br />
-</pre><p>Check whether the character is part of Katakana UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsKatakanaPhoneticExtensions" id="xmlUCSIsKatakanaPhoneticExtensions"></a>Function: xmlUCSIsKatakanaPhoneticExtensions</h3><pre class="programlisting">int	xmlUCSIsKatakanaPhoneticExtensions	(int code)<br />
-</pre><p>Check whether the character is part of KatakanaPhoneticExtensions UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsKhmer" id="xmlUCSIsKhmer"></a>Function: xmlUCSIsKhmer</h3><pre class="programlisting">int	xmlUCSIsKhmer			(int code)<br />
-</pre><p>Check whether the character is part of Khmer UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsKhmerSymbols" id="xmlUCSIsKhmerSymbols"></a>Function: xmlUCSIsKhmerSymbols</h3><pre class="programlisting">int	xmlUCSIsKhmerSymbols		(int code)<br />
-</pre><p>Check whether the character is part of KhmerSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsLao" id="xmlUCSIsLao"></a>Function: xmlUCSIsLao</h3><pre class="programlisting">int	xmlUCSIsLao			(int code)<br />
-</pre><p>Check whether the character is part of Lao UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsLatin1Supplement" id="xmlUCSIsLatin1Supplement"></a>Function: xmlUCSIsLatin1Supplement</h3><pre class="programlisting">int	xmlUCSIsLatin1Supplement	(int code)<br />
-</pre><p>Check whether the character is part of Latin-1Supplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsLatinExtendedA" id="xmlUCSIsLatinExtendedA"></a>Function: xmlUCSIsLatinExtendedA</h3><pre class="programlisting">int	xmlUCSIsLatinExtendedA		(int code)<br />
-</pre><p>Check whether the character is part of LatinExtended-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsLatinExtendedAdditional" id="xmlUCSIsLatinExtendedAdditional"></a>Function: xmlUCSIsLatinExtendedAdditional</h3><pre class="programlisting">int	xmlUCSIsLatinExtendedAdditional	(int code)<br />
-</pre><p>Check whether the character is part of LatinExtendedAdditional UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsLatinExtendedB" id="xmlUCSIsLatinExtendedB"></a>Function: xmlUCSIsLatinExtendedB</h3><pre class="programlisting">int	xmlUCSIsLatinExtendedB		(int code)<br />
-</pre><p>Check whether the character is part of LatinExtended-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsLetterlikeSymbols" id="xmlUCSIsLetterlikeSymbols"></a>Function: xmlUCSIsLetterlikeSymbols</h3><pre class="programlisting">int	xmlUCSIsLetterlikeSymbols	(int code)<br />
-</pre><p>Check whether the character is part of LetterlikeSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsLimbu" id="xmlUCSIsLimbu"></a>Function: xmlUCSIsLimbu</h3><pre class="programlisting">int	xmlUCSIsLimbu			(int code)<br />
-</pre><p>Check whether the character is part of Limbu UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsLinearBIdeograms" id="xmlUCSIsLinearBIdeograms"></a>Function: xmlUCSIsLinearBIdeograms</h3><pre class="programlisting">int	xmlUCSIsLinearBIdeograms	(int code)<br />
-</pre><p>Check whether the character is part of LinearBIdeograms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsLinearBSyllabary" id="xmlUCSIsLinearBSyllabary"></a>Function: xmlUCSIsLinearBSyllabary</h3><pre class="programlisting">int	xmlUCSIsLinearBSyllabary	(int code)<br />
-</pre><p>Check whether the character is part of LinearBSyllabary UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsLowSurrogates" id="xmlUCSIsLowSurrogates"></a>Function: xmlUCSIsLowSurrogates</h3><pre class="programlisting">int	xmlUCSIsLowSurrogates		(int code)<br />
-</pre><p>Check whether the character is part of LowSurrogates UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsMalayalam" id="xmlUCSIsMalayalam"></a>Function: xmlUCSIsMalayalam</h3><pre class="programlisting">int	xmlUCSIsMalayalam		(int code)<br />
-</pre><p>Check whether the character is part of Malayalam UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsMathematicalAlphanumericSymbols" id="xmlUCSIsMathematicalAlphanumericSymbols"></a>Function: xmlUCSIsMathematicalAlphanumericSymbols</h3><pre class="programlisting">int	xmlUCSIsMathematicalAlphanumericSymbols	(int code)<br />
-</pre><p>Check whether the character is part of MathematicalAlphanumericSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsMathematicalOperators" id="xmlUCSIsMathematicalOperators"></a>Function: xmlUCSIsMathematicalOperators</h3><pre class="programlisting">int	xmlUCSIsMathematicalOperators	(int code)<br />
-</pre><p>Check whether the character is part of MathematicalOperators UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsMiscellaneousMathematicalSymbolsA" id="xmlUCSIsMiscellaneousMathematicalSymbolsA"></a>Function: xmlUCSIsMiscellaneousMathematicalSymbolsA</h3><pre class="programlisting">int	xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code)<br />
-</pre><p>Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsMiscellaneousMathematicalSymbolsB" id="xmlUCSIsMiscellaneousMathematicalSymbolsB"></a>Function: xmlUCSIsMiscellaneousMathematicalSymbolsB</h3><pre class="programlisting">int	xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code)<br />
-</pre><p>Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsMiscellaneousSymbols" id="xmlUCSIsMiscellaneousSymbols"></a>Function: xmlUCSIsMiscellaneousSymbols</h3><pre class="programlisting">int	xmlUCSIsMiscellaneousSymbols	(int code)<br />
-</pre><p>Check whether the character is part of MiscellaneousSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsMiscellaneousSymbolsandArrows" id="xmlUCSIsMiscellaneousSymbolsandArrows"></a>Function: xmlUCSIsMiscellaneousSymbolsandArrows</h3><pre class="programlisting">int	xmlUCSIsMiscellaneousSymbolsandArrows	(int code)<br />
-</pre><p>Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsMiscellaneousTechnical" id="xmlUCSIsMiscellaneousTechnical"></a>Function: xmlUCSIsMiscellaneousTechnical</h3><pre class="programlisting">int	xmlUCSIsMiscellaneousTechnical	(int code)<br />
-</pre><p>Check whether the character is part of MiscellaneousTechnical UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsMongolian" id="xmlUCSIsMongolian"></a>Function: xmlUCSIsMongolian</h3><pre class="programlisting">int	xmlUCSIsMongolian		(int code)<br />
-</pre><p>Check whether the character is part of Mongolian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsMusicalSymbols" id="xmlUCSIsMusicalSymbols"></a>Function: xmlUCSIsMusicalSymbols</h3><pre class="programlisting">int	xmlUCSIsMusicalSymbols		(int code)<br />
-</pre><p>Check whether the character is part of MusicalSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsMyanmar" id="xmlUCSIsMyanmar"></a>Function: xmlUCSIsMyanmar</h3><pre class="programlisting">int	xmlUCSIsMyanmar			(int code)<br />
-</pre><p>Check whether the character is part of Myanmar UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsNumberForms" id="xmlUCSIsNumberForms"></a>Function: xmlUCSIsNumberForms</h3><pre class="programlisting">int	xmlUCSIsNumberForms		(int code)<br />
-</pre><p>Check whether the character is part of NumberForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsOgham" id="xmlUCSIsOgham"></a>Function: xmlUCSIsOgham</h3><pre class="programlisting">int	xmlUCSIsOgham			(int code)<br />
-</pre><p>Check whether the character is part of Ogham UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsOldItalic" id="xmlUCSIsOldItalic"></a>Function: xmlUCSIsOldItalic</h3><pre class="programlisting">int	xmlUCSIsOldItalic		(int code)<br />
-</pre><p>Check whether the character is part of OldItalic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsOpticalCharacterRecognition" id="xmlUCSIsOpticalCharacterRecognition"></a>Function: xmlUCSIsOpticalCharacterRecognition</h3><pre class="programlisting">int	xmlUCSIsOpticalCharacterRecognition	(int code)<br />
-</pre><p>Check whether the character is part of OpticalCharacterRecognition UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsOriya" id="xmlUCSIsOriya"></a>Function: xmlUCSIsOriya</h3><pre class="programlisting">int	xmlUCSIsOriya			(int code)<br />
-</pre><p>Check whether the character is part of Oriya UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsOsmanya" id="xmlUCSIsOsmanya"></a>Function: xmlUCSIsOsmanya</h3><pre class="programlisting">int	xmlUCSIsOsmanya			(int code)<br />
-</pre><p>Check whether the character is part of Osmanya UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsPhoneticExtensions" id="xmlUCSIsPhoneticExtensions"></a>Function: xmlUCSIsPhoneticExtensions</h3><pre class="programlisting">int	xmlUCSIsPhoneticExtensions	(int code)<br />
-</pre><p>Check whether the character is part of PhoneticExtensions UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsPrivateUse" id="xmlUCSIsPrivateUse"></a>Function: xmlUCSIsPrivateUse</h3><pre class="programlisting">int	xmlUCSIsPrivateUse		(int code)<br />
-</pre><p>Check whether the character is part of PrivateUse UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsPrivateUseArea" id="xmlUCSIsPrivateUseArea"></a>Function: xmlUCSIsPrivateUseArea</h3><pre class="programlisting">int	xmlUCSIsPrivateUseArea		(int code)<br />
-</pre><p>Check whether the character is part of PrivateUseArea UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsRunic" id="xmlUCSIsRunic"></a>Function: xmlUCSIsRunic</h3><pre class="programlisting">int	xmlUCSIsRunic			(int code)<br />
-</pre><p>Check whether the character is part of Runic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsShavian" id="xmlUCSIsShavian"></a>Function: xmlUCSIsShavian</h3><pre class="programlisting">int	xmlUCSIsShavian			(int code)<br />
-</pre><p>Check whether the character is part of Shavian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsSinhala" id="xmlUCSIsSinhala"></a>Function: xmlUCSIsSinhala</h3><pre class="programlisting">int	xmlUCSIsSinhala			(int code)<br />
-</pre><p>Check whether the character is part of Sinhala UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsSmallFormVariants" id="xmlUCSIsSmallFormVariants"></a>Function: xmlUCSIsSmallFormVariants</h3><pre class="programlisting">int	xmlUCSIsSmallFormVariants	(int code)<br />
-</pre><p>Check whether the character is part of SmallFormVariants UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsSpacingModifierLetters" id="xmlUCSIsSpacingModifierLetters"></a>Function: xmlUCSIsSpacingModifierLetters</h3><pre class="programlisting">int	xmlUCSIsSpacingModifierLetters	(int code)<br />
-</pre><p>Check whether the character is part of SpacingModifierLetters UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsSpecials" id="xmlUCSIsSpecials"></a>Function: xmlUCSIsSpecials</h3><pre class="programlisting">int	xmlUCSIsSpecials		(int code)<br />
-</pre><p>Check whether the character is part of Specials UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsSuperscriptsandSubscripts" id="xmlUCSIsSuperscriptsandSubscripts"></a>Function: xmlUCSIsSuperscriptsandSubscripts</h3><pre class="programlisting">int	xmlUCSIsSuperscriptsandSubscripts	(int code)<br />
-</pre><p>Check whether the character is part of SuperscriptsandSubscripts UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsSupplementalArrowsA" id="xmlUCSIsSupplementalArrowsA"></a>Function: xmlUCSIsSupplementalArrowsA</h3><pre class="programlisting">int	xmlUCSIsSupplementalArrowsA	(int code)<br />
-</pre><p>Check whether the character is part of SupplementalArrows-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsSupplementalArrowsB" id="xmlUCSIsSupplementalArrowsB"></a>Function: xmlUCSIsSupplementalArrowsB</h3><pre class="programlisting">int	xmlUCSIsSupplementalArrowsB	(int code)<br />
-</pre><p>Check whether the character is part of SupplementalArrows-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsSupplementalMathematicalOperators" id="xmlUCSIsSupplementalMathematicalOperators"></a>Function: xmlUCSIsSupplementalMathematicalOperators</h3><pre class="programlisting">int	xmlUCSIsSupplementalMathematicalOperators	(int code)<br />
-</pre><p>Check whether the character is part of SupplementalMathematicalOperators UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsSupplementaryPrivateUseAreaA" id="xmlUCSIsSupplementaryPrivateUseAreaA"></a>Function: xmlUCSIsSupplementaryPrivateUseAreaA</h3><pre class="programlisting">int	xmlUCSIsSupplementaryPrivateUseAreaA	(int code)<br />
-</pre><p>Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsSupplementaryPrivateUseAreaB" id="xmlUCSIsSupplementaryPrivateUseAreaB"></a>Function: xmlUCSIsSupplementaryPrivateUseAreaB</h3><pre class="programlisting">int	xmlUCSIsSupplementaryPrivateUseAreaB	(int code)<br />
-</pre><p>Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsSyriac" id="xmlUCSIsSyriac"></a>Function: xmlUCSIsSyriac</h3><pre class="programlisting">int	xmlUCSIsSyriac			(int code)<br />
-</pre><p>Check whether the character is part of Syriac UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsTagalog" id="xmlUCSIsTagalog"></a>Function: xmlUCSIsTagalog</h3><pre class="programlisting">int	xmlUCSIsTagalog			(int code)<br />
-</pre><p>Check whether the character is part of Tagalog UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsTagbanwa" id="xmlUCSIsTagbanwa"></a>Function: xmlUCSIsTagbanwa</h3><pre class="programlisting">int	xmlUCSIsTagbanwa		(int code)<br />
-</pre><p>Check whether the character is part of Tagbanwa UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsTags" id="xmlUCSIsTags"></a>Function: xmlUCSIsTags</h3><pre class="programlisting">int	xmlUCSIsTags			(int code)<br />
-</pre><p>Check whether the character is part of Tags UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsTaiLe" id="xmlUCSIsTaiLe"></a>Function: xmlUCSIsTaiLe</h3><pre class="programlisting">int	xmlUCSIsTaiLe			(int code)<br />
-</pre><p>Check whether the character is part of TaiLe UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsTaiXuanJingSymbols" id="xmlUCSIsTaiXuanJingSymbols"></a>Function: xmlUCSIsTaiXuanJingSymbols</h3><pre class="programlisting">int	xmlUCSIsTaiXuanJingSymbols	(int code)<br />
-</pre><p>Check whether the character is part of TaiXuanJingSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsTamil" id="xmlUCSIsTamil"></a>Function: xmlUCSIsTamil</h3><pre class="programlisting">int	xmlUCSIsTamil			(int code)<br />
-</pre><p>Check whether the character is part of Tamil UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsTelugu" id="xmlUCSIsTelugu"></a>Function: xmlUCSIsTelugu</h3><pre class="programlisting">int	xmlUCSIsTelugu			(int code)<br />
-</pre><p>Check whether the character is part of Telugu UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsThaana" id="xmlUCSIsThaana"></a>Function: xmlUCSIsThaana</h3><pre class="programlisting">int	xmlUCSIsThaana			(int code)<br />
-</pre><p>Check whether the character is part of Thaana UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsThai" id="xmlUCSIsThai"></a>Function: xmlUCSIsThai</h3><pre class="programlisting">int	xmlUCSIsThai			(int code)<br />
-</pre><p>Check whether the character is part of Thai UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsTibetan" id="xmlUCSIsTibetan"></a>Function: xmlUCSIsTibetan</h3><pre class="programlisting">int	xmlUCSIsTibetan			(int code)<br />
-</pre><p>Check whether the character is part of Tibetan UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsUgaritic" id="xmlUCSIsUgaritic"></a>Function: xmlUCSIsUgaritic</h3><pre class="programlisting">int	xmlUCSIsUgaritic		(int code)<br />
-</pre><p>Check whether the character is part of Ugaritic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsUnifiedCanadianAboriginalSyllabics" id="xmlUCSIsUnifiedCanadianAboriginalSyllabics"></a>Function: xmlUCSIsUnifiedCanadianAboriginalSyllabics</h3><pre class="programlisting">int	xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code)<br />
-</pre><p>Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsVariationSelectors" id="xmlUCSIsVariationSelectors"></a>Function: xmlUCSIsVariationSelectors</h3><pre class="programlisting">int	xmlUCSIsVariationSelectors	(int code)<br />
-</pre><p>Check whether the character is part of VariationSelectors UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsVariationSelectorsSupplement" id="xmlUCSIsVariationSelectorsSupplement"></a>Function: xmlUCSIsVariationSelectorsSupplement</h3><pre class="programlisting">int	xmlUCSIsVariationSelectorsSupplement	(int code)<br />
-</pre><p>Check whether the character is part of VariationSelectorsSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsYiRadicals" id="xmlUCSIsYiRadicals"></a>Function: xmlUCSIsYiRadicals</h3><pre class="programlisting">int	xmlUCSIsYiRadicals		(int code)<br />
-</pre><p>Check whether the character is part of YiRadicals UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsYiSyllables" id="xmlUCSIsYiSyllables"></a>Function: xmlUCSIsYiSyllables</h3><pre class="programlisting">int	xmlUCSIsYiSyllables		(int code)<br />
-</pre><p>Check whether the character is part of YiSyllables UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlUCSIsYijingHexagramSymbols" id="xmlUCSIsYijingHexagramSymbols"></a>Function: xmlUCSIsYijingHexagramSymbols</h3><pre class="programlisting">int	xmlUCSIsYijingHexagramSymbols	(int code)<br />
-</pre><p>Check whether the character is part of YijingHexagramSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</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>
diff --git a/doc/html/libxml-xmlversion.html b/doc/html/libxml-xmlversion.html
deleted file mode 100644
index 92a0416..0000000
--- a/doc/html/libxml-xmlversion.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlversion from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlversion from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlunicode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlwriter.html">xmlwriter</a></th><td><a accesskey="n" href="libxml-xmlwriter.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>compile-time version information for the XML library </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a></pre><pre class="programlisting">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></pre><pre class="programlisting">#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a></pre><pre class="programlisting">#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a></pre><pre class="programlisting">#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a></pre><pre class="programlisting">#define <a href="#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a></pre><pre class="programlisting">#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a></pre><pre class="programlisting">#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a></pre><pre class="programlisting">#define <a href="#WITH_TRIO">WITH_TRIO</a></pre><pre class="programlisting">void	<a href="#xmlCheckVersion">xmlCheckVersion</a>			(int version)</pre>
-<h2>Description</h2>
-<h3><a name="ATTRIBUTE_UNUSED" id="ATTRIBUTE_UNUSED"></a>Macro: ATTRIBUTE_UNUSED</h3><pre>#define ATTRIBUTE_UNUSED</pre><p>Macro used to signal to GCC unused function parameters</p>
-<h3><a name="DEBUG_MEMORY_LOCATION" id="DEBUG_MEMORY_LOCATION"></a>Macro: DEBUG_MEMORY_LOCATION</h3><pre>#define DEBUG_MEMORY_LOCATION</pre><p>Whether the memory debugging is configured in</p>
-<h3><a name="LIBXML_ATTR_ALLOC_SIZE" id="LIBXML_ATTR_ALLOC_SIZE"></a>Macro: LIBXML_ATTR_ALLOC_SIZE</h3><pre>#define LIBXML_ATTR_ALLOC_SIZE</pre><p>Macro used to indicate to GCC this is an allocator function</p>
-<h3><a name="LIBXML_ATTR_FORMAT" id="LIBXML_ATTR_FORMAT"></a>Macro: LIBXML_ATTR_FORMAT</h3><pre>#define LIBXML_ATTR_FORMAT</pre><p>Macro used to indicate to GCC the parameter are printf like</p>
-<h3><a name="LIBXML_AUTOMATA_ENABLED" id="LIBXML_AUTOMATA_ENABLED"></a>Macro: LIBXML_AUTOMATA_ENABLED</h3><pre>#define LIBXML_AUTOMATA_ENABLED</pre><p>Whether the automata interfaces are compiled in</p>
-<h3><a name="LIBXML_C14N_ENABLED" id="LIBXML_C14N_ENABLED"></a>Macro: LIBXML_C14N_ENABLED</h3><pre>#define LIBXML_C14N_ENABLED</pre><p>Whether the Canonicalization support is configured in</p>
-<h3><a name="LIBXML_CATALOG_ENABLED" id="LIBXML_CATALOG_ENABLED"></a>Macro: LIBXML_CATALOG_ENABLED</h3><pre>#define LIBXML_CATALOG_ENABLED</pre><p>Whether the Catalog support is configured in</p>
-<h3><a name="LIBXML_DEBUG_ENABLED" id="LIBXML_DEBUG_ENABLED"></a>Macro: LIBXML_DEBUG_ENABLED</h3><pre>#define LIBXML_DEBUG_ENABLED</pre><p>Whether Debugging module is configured in</p>
-<h3><a name="LIBXML_DEBUG_RUNTIME" id="LIBXML_DEBUG_RUNTIME"></a>Macro: LIBXML_DEBUG_RUNTIME</h3><pre>#define LIBXML_DEBUG_RUNTIME</pre><p>Whether the runtime debugging is configured in</p>
-<h3><a name="LIBXML_DOCB_ENABLED" id="LIBXML_DOCB_ENABLED"></a>Macro: LIBXML_DOCB_ENABLED</h3><pre>#define LIBXML_DOCB_ENABLED</pre><p>Whether the SGML Docbook support is configured in</p>
-<h3><a name="LIBXML_DOTTED_VERSION" id="LIBXML_DOTTED_VERSION"></a>Macro: LIBXML_DOTTED_VERSION</h3><pre>#define LIBXML_DOTTED_VERSION</pre><p>the version string like "1.2.3"</p>
-<h3><a name="LIBXML_EXPR_ENABLED" id="LIBXML_EXPR_ENABLED"></a>Macro: LIBXML_EXPR_ENABLED</h3><pre>#define LIBXML_EXPR_ENABLED</pre><p>Whether the formal expressions interfaces are compiled in This code is unused and disabled unconditionally for now.</p>
-<h3><a name="LIBXML_FTP_ENABLED" id="LIBXML_FTP_ENABLED"></a>Macro: LIBXML_FTP_ENABLED</h3><pre>#define LIBXML_FTP_ENABLED</pre><p>Whether the FTP support is configured in</p>
-<h3><a name="LIBXML_HTML_ENABLED" id="LIBXML_HTML_ENABLED"></a>Macro: LIBXML_HTML_ENABLED</h3><pre>#define LIBXML_HTML_ENABLED</pre><p>Whether the HTML support is configured in</p>
-<h3><a name="LIBXML_HTTP_ENABLED" id="LIBXML_HTTP_ENABLED"></a>Macro: LIBXML_HTTP_ENABLED</h3><pre>#define LIBXML_HTTP_ENABLED</pre><p>Whether the HTTP support is configured in</p>
-<h3><a name="LIBXML_ICONV_ENABLED" id="LIBXML_ICONV_ENABLED"></a>Macro: LIBXML_ICONV_ENABLED</h3><pre>#define LIBXML_ICONV_ENABLED</pre><p>Whether iconv support is available</p>
-<h3><a name="LIBXML_ICU_ENABLED" id="LIBXML_ICU_ENABLED"></a>Macro: LIBXML_ICU_ENABLED</h3><pre>#define LIBXML_ICU_ENABLED</pre><p>Whether icu support is available</p>
-<h3><a name="LIBXML_ISO8859X_ENABLED" id="LIBXML_ISO8859X_ENABLED"></a>Macro: LIBXML_ISO8859X_ENABLED</h3><pre>#define LIBXML_ISO8859X_ENABLED</pre><p>Whether ISO-8859-* support is made available in case iconv is not</p>
-<h3><a name="LIBXML_LEGACY_ENABLED" id="LIBXML_LEGACY_ENABLED"></a>Macro: LIBXML_LEGACY_ENABLED</h3><pre>#define LIBXML_LEGACY_ENABLED</pre><p>Whether the deprecated APIs are compiled in for compatibility</p>
-<h3><a name="LIBXML_LZMA_ENABLED" id="LIBXML_LZMA_ENABLED"></a>Macro: LIBXML_LZMA_ENABLED</h3><pre>#define LIBXML_LZMA_ENABLED</pre><p>Whether the Lzma support is compiled in</p>
-<h3><a name="LIBXML_MODULES_ENABLED" id="LIBXML_MODULES_ENABLED"></a>Macro: LIBXML_MODULES_ENABLED</h3><pre>#define LIBXML_MODULES_ENABLED</pre><p>Whether the module interfaces are compiled in</p>
-<h3><a name="LIBXML_MODULE_EXTENSION" id="LIBXML_MODULE_EXTENSION"></a>Macro: LIBXML_MODULE_EXTENSION</h3><pre>#define LIBXML_MODULE_EXTENSION</pre><p>the string suffix used by dynamic modules (usually shared libraries)</p>
-<h3><a name="LIBXML_OUTPUT_ENABLED" id="LIBXML_OUTPUT_ENABLED"></a>Macro: LIBXML_OUTPUT_ENABLED</h3><pre>#define LIBXML_OUTPUT_ENABLED</pre><p>Whether the serialization/saving support is configured in</p>
-<h3><a name="LIBXML_PATTERN_ENABLED" id="LIBXML_PATTERN_ENABLED"></a>Macro: LIBXML_PATTERN_ENABLED</h3><pre>#define LIBXML_PATTERN_ENABLED</pre><p>Whether the <a href="libxml-pattern.html#xmlPattern">xmlPattern</a> node selection interface is configured in</p>
-<h3><a name="LIBXML_PUSH_ENABLED" id="LIBXML_PUSH_ENABLED"></a>Macro: LIBXML_PUSH_ENABLED</h3><pre>#define LIBXML_PUSH_ENABLED</pre><p>Whether the push parsing interfaces are configured in</p>
-<h3><a name="LIBXML_READER_ENABLED" id="LIBXML_READER_ENABLED"></a>Macro: LIBXML_READER_ENABLED</h3><pre>#define LIBXML_READER_ENABLED</pre><p>Whether the xmlReader parsing interface is configured in</p>
-<h3><a name="LIBXML_REGEXP_ENABLED" id="LIBXML_REGEXP_ENABLED"></a>Macro: LIBXML_REGEXP_ENABLED</h3><pre>#define LIBXML_REGEXP_ENABLED</pre><p>Whether the regular expressions interfaces are compiled in</p>
-<h3><a name="LIBXML_SAX1_ENABLED" id="LIBXML_SAX1_ENABLED"></a>Macro: LIBXML_SAX1_ENABLED</h3><pre>#define LIBXML_SAX1_ENABLED</pre><p>Whether the older SAX1 interface is configured in</p>
-<h3><a name="LIBXML_SCHEMAS_ENABLED" id="LIBXML_SCHEMAS_ENABLED"></a>Macro: LIBXML_SCHEMAS_ENABLED</h3><pre>#define LIBXML_SCHEMAS_ENABLED</pre><p>Whether the Schemas validation interfaces are compiled in</p>
-<h3><a name="LIBXML_SCHEMATRON_ENABLED" id="LIBXML_SCHEMATRON_ENABLED"></a>Macro: LIBXML_SCHEMATRON_ENABLED</h3><pre>#define LIBXML_SCHEMATRON_ENABLED</pre><p>Whether the Schematron validation interfaces are compiled in</p>
-<h3><a name="LIBXML_TEST_VERSION" id="LIBXML_TEST_VERSION"></a>Macro: LIBXML_TEST_VERSION</h3><pre>#define LIBXML_TEST_VERSION</pre><p>Macro to check that the libxml version in use is compatible with the version the software has been compiled against</p>
-<h3><a name="LIBXML_THREAD_ALLOC_ENABLED" id="LIBXML_THREAD_ALLOC_ENABLED"></a>Macro: LIBXML_THREAD_ALLOC_ENABLED</h3><pre>#define LIBXML_THREAD_ALLOC_ENABLED</pre><p>Whether the allocation hooks are per-thread</p>
-<h3><a name="LIBXML_THREAD_ENABLED" id="LIBXML_THREAD_ENABLED"></a>Macro: LIBXML_THREAD_ENABLED</h3><pre>#define LIBXML_THREAD_ENABLED</pre><p>Whether the thread support is configured in</p>
-<h3><a name="LIBXML_TREE_ENABLED" id="LIBXML_TREE_ENABLED"></a>Macro: LIBXML_TREE_ENABLED</h3><pre>#define LIBXML_TREE_ENABLED</pre><p>Whether the DOM like tree manipulation API support is configured in</p>
-<h3><a name="LIBXML_UNICODE_ENABLED" id="LIBXML_UNICODE_ENABLED"></a>Macro: LIBXML_UNICODE_ENABLED</h3><pre>#define LIBXML_UNICODE_ENABLED</pre><p>Whether the Unicode related interfaces are compiled in</p>
-<h3><a name="LIBXML_VALID_ENABLED" id="LIBXML_VALID_ENABLED"></a>Macro: LIBXML_VALID_ENABLED</h3><pre>#define LIBXML_VALID_ENABLED</pre><p>Whether the DTD validation support is configured in</p>
-<h3><a name="LIBXML_VERSION" id="LIBXML_VERSION"></a>Macro: LIBXML_VERSION</h3><pre>#define LIBXML_VERSION</pre><p>the version number: 1.2.3 value is 10203</p>
-<h3><a name="LIBXML_VERSION_EXTRA" id="LIBXML_VERSION_EXTRA"></a>Macro: LIBXML_VERSION_EXTRA</h3><pre>#define LIBXML_VERSION_EXTRA</pre><p>extra version information, used to show a git commit description</p>
-<h3><a name="LIBXML_VERSION_STRING" id="LIBXML_VERSION_STRING"></a>Macro: LIBXML_VERSION_STRING</h3><pre>#define LIBXML_VERSION_STRING</pre><p>the version number string, 1.2.3 value is "10203"</p>
-<h3><a name="LIBXML_WRITER_ENABLED" id="LIBXML_WRITER_ENABLED"></a>Macro: LIBXML_WRITER_ENABLED</h3><pre>#define LIBXML_WRITER_ENABLED</pre><p>Whether the xmlWriter saving interface is configured in</p>
-<h3><a name="LIBXML_XINCLUDE_ENABLED" id="LIBXML_XINCLUDE_ENABLED"></a>Macro: LIBXML_XINCLUDE_ENABLED</h3><pre>#define LIBXML_XINCLUDE_ENABLED</pre><p>Whether XInclude is configured in</p>
-<h3><a name="LIBXML_XPATH_ENABLED" id="LIBXML_XPATH_ENABLED"></a>Macro: LIBXML_XPATH_ENABLED</h3><pre>#define LIBXML_XPATH_ENABLED</pre><p>Whether XPath is configured in</p>
-<h3><a name="LIBXML_XPTR_ENABLED" id="LIBXML_XPTR_ENABLED"></a>Macro: LIBXML_XPTR_ENABLED</h3><pre>#define LIBXML_XPTR_ENABLED</pre><p>Whether XPointer is configured in</p>
-<h3><a name="LIBXML_ZLIB_ENABLED" id="LIBXML_ZLIB_ENABLED"></a>Macro: LIBXML_ZLIB_ENABLED</h3><pre>#define LIBXML_ZLIB_ENABLED</pre><p>Whether the Zlib support is compiled in</p>
-<h3><a name="WITHOUT_TRIO" id="WITHOUT_TRIO"></a>Macro: WITHOUT_TRIO</h3><pre>#define WITHOUT_TRIO</pre><p>defined if the trio support should not be configured in</p>
-<h3><a name="WITH_TRIO" id="WITH_TRIO"></a>Macro: WITH_TRIO</h3><pre>#define WITH_TRIO</pre><p>defined if the trio support need to be configured in</p>
-<h3><a name="xmlCheckVersion" id="xmlCheckVersion"></a>Function: xmlCheckVersion</h3><pre class="programlisting">void	xmlCheckVersion			(int version)<br />
-</pre><p>check the compiled lib version against the include one. This can warn or immediately kill the application</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 include version number</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>
diff --git a/doc/html/libxml-xmlwriter.html b/doc/html/libxml-xmlwriter.html
deleted file mode 100644
index e6113c0..0000000
--- a/doc/html/libxml-xmlwriter.html
+++ /dev/null
@@ -1,261 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlwriter from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlwriter from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlversion.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlversion.html">xmlversion</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpath.html">xpath</a></th><td><a accesskey="n" href="libxml-xpath.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>text writing API for XML </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a></pre><pre class="programlisting">#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a></pre><pre class="programlisting">Structure <a href="#xmlTextWriter">xmlTextWriter</a><br />struct _xmlTextWriter
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * <a name="xmlTextWriterPtr" id="xmlTextWriterPtr">xmlTextWriterPtr</a>
-</pre><pre class="programlisting">void	<a href="#xmlFreeTextWriter">xmlFreeTextWriter</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriter">xmlNewTextWriter</a>	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)</pre>
-<pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br />						 int compression)</pre>
-<pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a>	(const char * uri, <br />							 int compression)</pre>
-<pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a>	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />						 int compression)</pre>
-<pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />							 int compression)</pre>
-<pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterTree">xmlNewTextWriterTree</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />						 int compression)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterEndAttribute">xmlTextWriterEndAttribute</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterEndComment">xmlTextWriterEndComment</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterEndDTD">xmlTextWriterEndDTD</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterEndDTDAttlist">xmlTextWriterEndDTDAttlist</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterEndDTDElement">xmlTextWriterEndDTDElement</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterEndDTDEntity">xmlTextWriterEndDTDEntity</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterEndElement">xmlTextWriterEndElement</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterEndPI">xmlTextWriterEndPI</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterFlush">xmlTextWriterFlush</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 int indent)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> quotechar)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartComment">xmlTextWriterStartComment</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 int pe, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * version, <br />					 const char * encoding, <br />					 const char * standalone)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartElement">xmlTextWriterStartElement</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterStartPI">xmlTextWriterStartPI</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * data, <br />					 int start, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * data, <br />					 int start, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * subset)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 int pe, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 int pe, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ndataid)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ndataid)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 int pe, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />					 const char * format, <br />					 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />							 int pe, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const char * format, <br />							 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const char * format, <br />					 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const char * format, <br />					 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWritePI">xmlTextWriterWritePI</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteString">xmlTextWriterWriteString</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const char * format, <br />						 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />					 const char * format, <br />					 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />							 int pe, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const char * format, <br />							 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const char * format, <br />					 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 va_list argptr)</pre>
-<pre class="programlisting">int	<a href="#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a>	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 va_list argptr)</pre>
-<h2>Description</h2>
-<h3><a name="xmlTextWriterWriteDocType" id="xmlTextWriterWriteDocType"></a>Macro: xmlTextWriterWriteDocType</h3><pre>#define xmlTextWriterWriteDocType</pre><p>this macro maps to <a href="libxml-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a></p>
-<h3><a name="xmlTextWriterWriteProcessingInstruction" id="xmlTextWriterWriteProcessingInstruction"></a>Macro: xmlTextWriterWriteProcessingInstruction</h3><pre>#define xmlTextWriterWriteProcessingInstruction</pre><p>This macro maps to <a href="libxml-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a></p>
-<h3><a name="xmlTextWriter" id="xmlTextWriter">Structure xmlTextWriter</a></h3><pre class="programlisting">Structure xmlTextWriter<br />struct _xmlTextWriter {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlFreeTextWriter" id="xmlFreeTextWriter"></a>Function: xmlFreeTextWriter</h3><pre class="programlisting">void	xmlFreeTextWriter		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>Deallocate all the resources associated to the writer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr></tbody></table></div><h3><a name="xmlNewTextWriter" id="xmlNewTextWriter"></a>Function: xmlNewTextWriter</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriter	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br />
-</pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure using an <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> NOTE: the @out parameter will be deallocated when the writer is closed (if the call succeed.)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewTextWriterDoc" id="xmlNewTextWriterDoc"></a>Function: xmlNewTextWriterDoc</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterDoc	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br />						 int compression)<br />
-</pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @*doc as output</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>address of a <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> to hold the new XML document tree</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewTextWriterFilename" id="xmlNewTextWriterFilename"></a>Function: xmlNewTextWriterFilename</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterFilename	(const char * uri, <br />							 int compression)<br />
-</pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @uri as output</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 of the resource for the output</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewTextWriterMemory" id="xmlNewTextWriterMemory"></a>Function: xmlNewTextWriterMemory</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterMemory	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />						 int compression)<br />
-</pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @buf as output TODO: handle compression</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewTextWriterPushParser" id="xmlNewTextWriterPushParser"></a>Function: xmlNewTextWriterPushParser</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterPushParser	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />							 int compression)<br />
-</pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @ctxt as output NOTE: the @ctxt context will be freed with the resulting writer (if the call succeeds). TODO: handle compression</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> to hold the new XML document tree</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewTextWriterTree" id="xmlNewTextWriterTree"></a>Function: xmlNewTextWriterTree</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterTree	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />						 int compression)<br />
-</pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @doc as output starting at @node</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a></td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL for doc-&gt;children</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndAttribute" id="xmlTextWriterEndAttribute"></a>Function: xmlTextWriterEndAttribute</h3><pre class="programlisting">int	xmlTextWriterEndAttribute	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>End the current xml element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndCDATA" id="xmlTextWriterEndCDATA"></a>Function: xmlTextWriterEndCDATA</h3><pre class="programlisting">int	xmlTextWriterEndCDATA		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>End an xml CDATA section.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndComment" id="xmlTextWriterEndComment"></a>Function: xmlTextWriterEndComment</h3><pre class="programlisting">int	xmlTextWriterEndComment		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>End the current xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndDTD" id="xmlTextWriterEndDTD"></a>Function: xmlTextWriterEndDTD</h3><pre class="programlisting">int	xmlTextWriterEndDTD		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>End an xml DTD.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndDTDAttlist" id="xmlTextWriterEndDTDAttlist"></a>Function: xmlTextWriterEndDTDAttlist</h3><pre class="programlisting">int	xmlTextWriterEndDTDAttlist	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>End an xml DTD <a href="libxml-SAX.html#attribute">attribute</a> list.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndDTDElement" id="xmlTextWriterEndDTDElement"></a>Function: xmlTextWriterEndDTDElement</h3><pre class="programlisting">int	xmlTextWriterEndDTDElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>End an xml DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndDTDEntity" id="xmlTextWriterEndDTDEntity"></a>Function: xmlTextWriterEndDTDEntity</h3><pre class="programlisting">int	xmlTextWriterEndDTDEntity	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>End an xml DTD entity.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndDocument" id="xmlTextWriterEndDocument"></a>Function: xmlTextWriterEndDocument</h3><pre class="programlisting">int	xmlTextWriterEndDocument	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>End an xml document. All open elements are closed, and the content is flushed to the output.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndElement" id="xmlTextWriterEndElement"></a>Function: xmlTextWriterEndElement</h3><pre class="programlisting">int	xmlTextWriterEndElement		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>End the current xml element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndPI" id="xmlTextWriterEndPI"></a>Function: xmlTextWriterEndPI</h3><pre class="programlisting">int	xmlTextWriterEndPI		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>End the current xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterFlush" id="xmlTextWriterFlush"></a>Function: xmlTextWriterFlush</h3><pre class="programlisting">int	xmlTextWriterFlush		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>Flush the output buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterFullEndElement" id="xmlTextWriterFullEndElement"></a>Function: xmlTextWriterFullEndElement</h3><pre class="programlisting">int	xmlTextWriterFullEndElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>End the current xml element. Writes an end tag even if the element is empty</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterSetIndent" id="xmlTextWriterSetIndent"></a>Function: xmlTextWriterSetIndent</h3><pre class="programlisting">int	xmlTextWriterSetIndent		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 int indent)<br />
-</pre><p>Set indentation output. indent = 0 do not indentation. indent &gt; 0 do indentation.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>indent</tt></i>:</span></td><td>do indentation?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 on error or 0 otherwise.</td></tr></tbody></table></div><h3><a name="xmlTextWriterSetIndentString" id="xmlTextWriterSetIndentString"></a>Function: xmlTextWriterSetIndentString</h3><pre class="programlisting">int	xmlTextWriterSetIndentString	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
-</pre><p>Set string indentation.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 on error or 0 otherwise.</td></tr></tbody></table></div><h3><a name="xmlTextWriterSetQuoteChar" id="xmlTextWriterSetQuoteChar"></a>Function: xmlTextWriterSetQuoteChar</h3><pre class="programlisting">int	xmlTextWriterSetQuoteChar	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> quotechar)<br />
-</pre><p>Set the character used for quoting attributes.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>quotechar</tt></i>:</span></td><td>the quote character</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 on error or 0 otherwise.</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartAttribute" id="xmlTextWriterStartAttribute"></a>Function: xmlTextWriterStartAttribute</h3><pre class="programlisting">int	xmlTextWriterStartAttribute	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Start an xml attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartAttributeNS" id="xmlTextWriterStartAttributeNS"></a>Function: xmlTextWriterStartAttributeNS</h3><pre class="programlisting">int	xmlTextWriterStartAttributeNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br />
-</pre><p>Start an xml <a href="libxml-SAX.html#attribute">attribute</a> with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix or NULL</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartCDATA" id="xmlTextWriterStartCDATA"></a>Function: xmlTextWriterStartCDATA</h3><pre class="programlisting">int	xmlTextWriterStartCDATA		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>Start an xml CDATA section.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartComment" id="xmlTextWriterStartComment"></a>Function: xmlTextWriterStartComment</h3><pre class="programlisting">int	xmlTextWriterStartComment	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
-</pre><p>Start an xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartDTD" id="xmlTextWriterStartDTD"></a>Function: xmlTextWriterStartDTD</h3><pre class="programlisting">int	xmlTextWriterStartDTD		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br />
-</pre><p>Start an xml DTD.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartDTDAttlist" id="xmlTextWriterStartDTDAttlist"></a>Function: xmlTextWriterStartDTDAttlist</h3><pre class="programlisting">int	xmlTextWriterStartDTDAttlist	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Start an xml DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartDTDElement" id="xmlTextWriterStartDTDElement"></a>Function: xmlTextWriterStartDTDElement</h3><pre class="programlisting">int	xmlTextWriterStartDTDElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Start an xml DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartDTDEntity" id="xmlTextWriterStartDTDEntity"></a>Function: xmlTextWriterStartDTDEntity</h3><pre class="programlisting">int	xmlTextWriterStartDTDEntity	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 int pe, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Start an xml DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartDocument" id="xmlTextWriterStartDocument"></a>Function: xmlTextWriterStartDocument</h3><pre class="programlisting">int	xmlTextWriterStartDocument	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * version, <br />					 const char * encoding, <br />					 const char * standalone)<br />
-</pre><p>Start a new xml document</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>version</tt></i>:</span></td><td>the xml version ("1.0") or NULL for default ("1.0")</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding or NULL for default</td></tr><tr><td><span class="term"><i><tt>standalone</tt></i>:</span></td><td>"yes" or "no" or NULL for default</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartElement" id="xmlTextWriterStartElement"></a>Function: xmlTextWriterStartElement</h3><pre class="programlisting">int	xmlTextWriterStartElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Start an xml element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartElementNS" id="xmlTextWriterStartElementNS"></a>Function: xmlTextWriterStartElementNS</h3><pre class="programlisting">int	xmlTextWriterStartElementNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br />
-</pre><p>Start an xml element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix or NULL</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterStartPI" id="xmlTextWriterStartPI"></a>Function: xmlTextWriterStartPI</h3><pre class="programlisting">int	xmlTextWriterStartPI		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target)<br />
-</pre><p>Start an xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteAttribute" id="xmlTextWriterWriteAttribute"></a>Function: xmlTextWriterWriteAttribute</h3><pre class="programlisting">int	xmlTextWriterWriteAttribute	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write an xml attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteAttributeNS" id="xmlTextWriterWriteAttributeNS"></a>Function: xmlTextWriterWriteAttributeNS</h3><pre class="programlisting">int	xmlTextWriterWriteAttributeNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write an xml attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteBase64" id="xmlTextWriterWriteBase64"></a>Function: xmlTextWriterWriteBase64</h3><pre class="programlisting">int	xmlTextWriterWriteBase64	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * data, <br />					 int start, <br />					 int len)<br />
-</pre><p>Write an base64 encoded xml text.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>binary data</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the position within the data of the first byte to encode</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of bytes to encode</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteBinHex" id="xmlTextWriterWriteBinHex"></a>Function: xmlTextWriterWriteBinHex</h3><pre class="programlisting">int	xmlTextWriterWriteBinHex	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * data, <br />					 int start, <br />					 int len)<br />
-</pre><p>Write a BinHex encoded xml text.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>binary data</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the position within the data of the first byte to encode</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of bytes to encode</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteCDATA" id="xmlTextWriterWriteCDATA"></a>Function: xmlTextWriterWriteCDATA</h3><pre class="programlisting">int	xmlTextWriterWriteCDATA		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write an xml CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>CDATA content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteComment" id="xmlTextWriterWriteComment"></a>Function: xmlTextWriterWriteComment</h3><pre class="programlisting">int	xmlTextWriterWriteComment	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write an xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td><a href="libxml-SAX.html#comment">comment</a> string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteDTD" id="xmlTextWriterWriteDTD"></a>Function: xmlTextWriterWriteDTD</h3><pre class="programlisting">int	xmlTextWriterWriteDTD		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * subset)<br />
-</pre><p>Write a DTD.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>subset</tt></i>:</span></td><td>string content of the DTD</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteDTDAttlist" id="xmlTextWriterWriteDTDAttlist"></a>Function: xmlTextWriterWriteDTDAttlist</h3><pre class="programlisting">int	xmlTextWriterWriteDTDAttlist	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write a DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>content of the ATTLIST</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteDTDElement" id="xmlTextWriterWriteDTDElement"></a>Function: xmlTextWriterWriteDTDElement</h3><pre class="programlisting">int	xmlTextWriterWriteDTDElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write a DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>content of the element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteDTDEntity" id="xmlTextWriterWriteDTDEntity"></a>Function: xmlTextWriterWriteDTDEntity</h3><pre class="programlisting">int	xmlTextWriterWriteDTDEntity	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 int pe, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write a DTD entity.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>ndataid</tt></i>:</span></td><td>the xml notation name.</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>content of the entity</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteDTDExternalEntity" id="xmlTextWriterWriteDTDExternalEntity"></a>Function: xmlTextWriterWriteDTDExternalEntity</h3><pre class="programlisting">int	xmlTextWriterWriteDTDExternalEntity	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 int pe, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br />
-</pre><p>Write a DTD external entity. The entity must have been started with <a href="libxml-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>ndataid</tt></i>:</span></td><td>the xml notation name.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteDTDExternalEntityContents" id="xmlTextWriterWriteDTDExternalEntityContents"></a>Function: xmlTextWriterWriteDTDExternalEntityContents</h3><pre class="programlisting">int	xmlTextWriterWriteDTDExternalEntityContents	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br />
-</pre><p>Write the contents of a DTD external entity.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>ndataid</tt></i>:</span></td><td>the xml notation name.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteDTDInternalEntity" id="xmlTextWriterWriteDTDInternalEntity"></a>Function: xmlTextWriterWriteDTDInternalEntity</h3><pre class="programlisting">int	xmlTextWriterWriteDTDInternalEntity	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 int pe, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write a DTD internal entity.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>content of the entity</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteDTDNotation" id="xmlTextWriterWriteDTDNotation"></a>Function: xmlTextWriterWriteDTDNotation</h3><pre class="programlisting">int	xmlTextWriterWriteDTDNotation	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br />
-</pre><p>Write a DTD entity.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the xml notation</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteElement" id="xmlTextWriterWriteElement"></a>Function: xmlTextWriterWriteElement</h3><pre class="programlisting">int	xmlTextWriterWriteElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write an xml element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>element content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteElementNS" id="xmlTextWriterWriteElementNS"></a>Function: xmlTextWriterWriteElementNS</h3><pre class="programlisting">int	xmlTextWriterWriteElementNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write an xml element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>element content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatAttribute" id="xmlTextWriterWriteFormatAttribute"></a>Function: xmlTextWriterWriteFormatAttribute</h3><pre class="programlisting">int	xmlTextWriterWriteFormatAttribute	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 ... ...)<br />
-</pre><p>Write a formatted xml attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatAttributeNS" id="xmlTextWriterWriteFormatAttributeNS"></a>Function: xmlTextWriterWriteFormatAttributeNS</h3><pre class="programlisting">int	xmlTextWriterWriteFormatAttributeNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 ... ...)<br />
-</pre><p>Write a formatted xml attribute.with namespace support</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatCDATA" id="xmlTextWriterWriteFormatCDATA"></a>Function: xmlTextWriterWriteFormatCDATA</h3><pre class="programlisting">int	xmlTextWriterWriteFormatCDATA	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
-</pre><p>Write a formatted xml CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatComment" id="xmlTextWriterWriteFormatComment"></a>Function: xmlTextWriterWriteFormatComment</h3><pre class="programlisting">int	xmlTextWriterWriteFormatComment	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
-</pre><p>Write an xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTD" id="xmlTextWriterWriteFormatDTD"></a>Function: xmlTextWriterWriteFormatDTD</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTD	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />					 const char * format, <br />					 ... ...)<br />
-</pre><p>Write a DTD with a formatted markup declarations part.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTDAttlist" id="xmlTextWriterWriteFormatDTDAttlist"></a>Function: xmlTextWriterWriteFormatDTDAttlist</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDAttlist	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 ... ...)<br />
-</pre><p>Write a formatted DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTDElement" id="xmlTextWriterWriteFormatDTDElement"></a>Function: xmlTextWriterWriteFormatDTDElement</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 ... ...)<br />
-</pre><p>Write a formatted DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTDInternalEntity" id="xmlTextWriterWriteFormatDTDInternalEntity"></a>Function: xmlTextWriterWriteFormatDTDInternalEntity</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDInternalEntity	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />							 int pe, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const char * format, <br />							 ... ...)<br />
-</pre><p>Write a formatted DTD internal entity.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatElement" id="xmlTextWriterWriteFormatElement"></a>Function: xmlTextWriterWriteFormatElement</h3><pre class="programlisting">int	xmlTextWriterWriteFormatElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const char * format, <br />					 ... ...)<br />
-</pre><p>Write a formatted xml element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatElementNS" id="xmlTextWriterWriteFormatElementNS"></a>Function: xmlTextWriterWriteFormatElementNS</h3><pre class="programlisting">int	xmlTextWriterWriteFormatElementNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 ... ...)<br />
-</pre><p>Write a formatted xml element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatPI" id="xmlTextWriterWriteFormatPI"></a>Function: xmlTextWriterWriteFormatPI</h3><pre class="programlisting">int	xmlTextWriterWriteFormatPI	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const char * format, <br />					 ... ...)<br />
-</pre><p>Write a formatted PI.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatRaw" id="xmlTextWriterWriteFormatRaw"></a>Function: xmlTextWriterWriteFormatRaw</h3><pre class="programlisting">int	xmlTextWriterWriteFormatRaw	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
-</pre><p>Write a formatted raw xml text.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatString" id="xmlTextWriterWriteFormatString"></a>Function: xmlTextWriterWriteFormatString</h3><pre class="programlisting">int	xmlTextWriterWriteFormatString	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
-</pre><p>Write a formatted xml text.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWritePI" id="xmlTextWriterWritePI"></a>Function: xmlTextWriterWritePI</h3><pre class="programlisting">int	xmlTextWriterWritePI		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write an xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>PI content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteRaw" id="xmlTextWriterWriteRaw"></a>Function: xmlTextWriterWriteRaw</h3><pre class="programlisting">int	xmlTextWriterWriteRaw		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write a raw xml text.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>text string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteRawLen" id="xmlTextWriterWriteRawLen"></a>Function: xmlTextWriterWriteRawLen</h3><pre class="programlisting">int	xmlTextWriterWriteRawLen	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content, <br />					 int len)<br />
-</pre><p>Write an xml text. TODO: what about entities and special chars??</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>text string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>length of the text string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteString" id="xmlTextWriterWriteString"></a>Function: xmlTextWriterWriteString</h3><pre class="programlisting">int	xmlTextWriterWriteString	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Write an xml text.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>text string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatAttribute" id="xmlTextWriterWriteVFormatAttribute"></a>Function: xmlTextWriterWriteVFormatAttribute</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatAttribute	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 va_list argptr)<br />
-</pre><p>Write a formatted xml attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatAttributeNS" id="xmlTextWriterWriteVFormatAttributeNS"></a>Function: xmlTextWriterWriteVFormatAttributeNS</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatAttributeNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 va_list argptr)<br />
-</pre><p>Write a formatted xml attribute.with namespace support</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatCDATA" id="xmlTextWriterWriteVFormatCDATA"></a>Function: xmlTextWriterWriteVFormatCDATA</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatCDATA	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 va_list argptr)<br />
-</pre><p>Write a formatted xml CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatComment" id="xmlTextWriterWriteVFormatComment"></a>Function: xmlTextWriterWriteVFormatComment</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatComment	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const char * format, <br />						 va_list argptr)<br />
-</pre><p>Write an xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatDTD" id="xmlTextWriterWriteVFormatDTD"></a>Function: xmlTextWriterWriteVFormatDTD</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatDTD	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br />					 const char * format, <br />					 va_list argptr)<br />
-</pre><p>Write a DTD with a formatted markup declarations part.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatDTDAttlist" id="xmlTextWriterWriteVFormatDTDAttlist"></a>Function: xmlTextWriterWriteVFormatDTDAttlist</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatDTDAttlist	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 va_list argptr)<br />
-</pre><p>Write a formatted DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatDTDElement" id="xmlTextWriterWriteVFormatDTDElement"></a>Function: xmlTextWriterWriteVFormatDTDElement</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatDTDElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 va_list argptr)<br />
-</pre><p>Write a formatted DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatDTDInternalEntity" id="xmlTextWriterWriteVFormatDTDInternalEntity"></a>Function: xmlTextWriterWriteVFormatDTDInternalEntity</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatDTDInternalEntity	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />							 int pe, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const char * format, <br />							 va_list argptr)<br />
-</pre><p>Write a formatted DTD internal entity.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatElement" id="xmlTextWriterWriteVFormatElement"></a>Function: xmlTextWriterWriteVFormatElement</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 va_list argptr)<br />
-</pre><p>Write a formatted xml element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatElementNS" id="xmlTextWriterWriteVFormatElementNS"></a>Function: xmlTextWriterWriteVFormatElementNS</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatElementNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 va_list argptr)<br />
-</pre><p>Write a formatted xml element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatPI" id="xmlTextWriterWriteVFormatPI"></a>Function: xmlTextWriterWriteVFormatPI</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatPI	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * target, <br />					 const char * format, <br />					 va_list argptr)<br />
-</pre><p>Write a formatted xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatRaw" id="xmlTextWriterWriteVFormatRaw"></a>Function: xmlTextWriterWriteVFormatRaw</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatRaw	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 va_list argptr)<br />
-</pre><p>Write a formatted raw xml text.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteVFormatString" id="xmlTextWriterWriteVFormatString"></a>Function: xmlTextWriterWriteVFormatString</h3><pre class="programlisting">int	xmlTextWriterWriteVFormatString	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 va_list argptr)<br />
-</pre><p>Write a formatted xml text.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xpath.html b/doc/html/libxml-xpath.html
deleted file mode 100644
index 43d9b93..0000000
--- a/doc/html/libxml-xpath.html
+++ /dev/null
@@ -1,321 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xpath from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpath from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlwriter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlwriter.html">xmlwriter</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpathInternals.html">xpathInternals</a></th><td><a accesskey="n" href="libxml-xpathInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the XML Path Language implementation  XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer</p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a></pre><pre class="programlisting">#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a></pre><pre class="programlisting">Structure <a href="#xmlNodeSet">xmlNodeSet</a><br />struct _xmlNodeSet
-</pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlNodeSet">xmlNodeSet</a> * <a name="xmlNodeSetPtr" id="xmlNodeSetPtr">xmlNodeSetPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlXPathAxis">xmlXPathAxis</a><br />struct _xmlXPathAxis
-</pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * <a name="xmlXPathAxisPtr" id="xmlXPathAxisPtr">xmlXPathAxisPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlXPathCompExpr">xmlXPathCompExpr</a><br />struct _xmlXPathCompExpr
-The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a> * <a name="xmlXPathCompExprPtr" id="xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlXPathContext">xmlXPathContext</a><br />struct _xmlXPathContext
-</pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlXPathContext">xmlXPathContext</a> * <a name="xmlXPathContextPtr" id="xmlXPathContextPtr">xmlXPathContextPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlXPathError">xmlXPathError</a>
-</pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlXPathFunct">xmlXPathFunct</a> * <a name="xmlXPathFuncPtr" id="xmlXPathFuncPtr">xmlXPathFuncPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlXPathFunct">xmlXPathFunct</a><br />struct _xmlXPathFunct
-</pre><pre class="programlisting">Structure <a href="#xmlXPathObject">xmlXPathObject</a><br />struct _xmlXPathObject
-</pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlXPathObject">xmlXPathObject</a> * <a name="xmlXPathObjectPtr" id="xmlXPathObjectPtr">xmlXPathObjectPtr</a>
-</pre><pre class="programlisting">Enum <a href="#xmlXPathObjectType">xmlXPathObjectType</a>
-</pre><pre class="programlisting">Structure <a href="#xmlXPathParserContext">xmlXPathParserContext</a><br />struct _xmlXPathParserContext
-</pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> * <a name="xmlXPathParserContextPtr" id="xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlXPathType">xmlXPathType</a><br />struct _xmlXPathType
-</pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlXPathType">xmlXPathType</a> * <a name="xmlXPathTypePtr" id="xmlXPathTypePtr">xmlXPathTypePtr</a>
-</pre><pre class="programlisting">Structure <a href="#xmlXPathVariable">xmlXPathVariable</a><br />struct _xmlXPathVariable
-</pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * <a name="xmlXPathVariablePtr" id="xmlXPathVariablePtr">xmlXPathVariablePtr</a>
-</pre><pre class="programlisting">Function type: <a href="#xmlXPathAxisFunc">xmlXPathAxisFunc</a>
-<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathAxisFunc">xmlXPathAxisFunc</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />						 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur)
-</pre>
-<pre class="programlisting">double	<a href="#xmlXPathCastBooleanToNumber">xmlXPathCastBooleanToNumber</a>	(int val)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a>	(int val)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)</pre>
-<pre class="programlisting">double	<a href="#xmlXPathCastNodeSetToNumber">xmlXPathCastNodeSetToNumber</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)</pre>
-<pre class="programlisting">double	<a href="#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a>	(double val)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a>	(double val)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathCastStringToBoolean">xmlXPathCastStringToBoolean</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)</pre>
-<pre class="programlisting">double	<a href="#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a>		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)</pre>
-<pre class="programlisting">double	<a href="#xmlXPathCastToNumber">xmlXPathCastToNumber</a>		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastToString">xmlXPathCastToString</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathCmpNodes">xmlXPathCmpNodes</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	<a href="#xmlXPathCompile">xmlXPathCompile</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathCompiledEval">xmlXPathCompiledEval</a>	(<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br />						 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a>	(<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br />					 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathContextSetCache">xmlXPathContextSetCache</a>		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 int active, <br />					 int value, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)</pre>
-<pre class="programlisting">Function type: <a href="#xmlXPathConvertFunc">xmlXPathConvertFunc</a>
-int	<a href="#xmlXPathConvertFunc">xmlXPathConvertFunc</a>		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br />					 int type)
-</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertNumber">xmlXPathConvertNumber</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertString">xmlXPathConvertString</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	<a href="#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathEval">xmlXPathEval</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathEvalExpression">xmlXPathEvalExpression</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />						 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)</pre>
-<pre class="programlisting">Function type: <a href="#xmlXPathEvalFunc">xmlXPathEvalFunc</a>
-void	<a href="#xmlXPathEvalFunc">xmlXPathEvalFunc</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)
-</pre>
-<pre class="programlisting">int	<a href="#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a>		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a>		(<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathFreeContext">xmlXPathFreeContext</a>		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a>		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a>		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathFreeObject">xmlXPathFreeObject</a>		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)</pre>
-<pre class="programlisting">Function type: <a href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>
-<a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	(void * ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
-</pre>
-<pre class="programlisting">Function type: <a href="#xmlXPathFunction">xmlXPathFunction</a>
-void	<a href="#xmlXPathFunction">xmlXPathFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)
-</pre>
-<pre class="programlisting">void	<a href="#xmlXPathInit">xmlXPathInit</a>			(void)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathIsInf">xmlXPathIsInf</a>			(double val)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathIsNaN">xmlXPathIsNaN</a>			(double val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	<a href="#xmlXPathNewContext">xmlXPathNewContext</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNodeEval">xmlXPathNodeEval</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />						 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathObjectCopy">xmlXPathObjectCopy</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)</pre>
-<pre class="programlisting">long	<a href="#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathSetContextNode">xmlXPathSetContextNode</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)</pre>
-<pre class="programlisting">Function type: <a href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>
-<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	(void * ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
-</pre>
-<h2>Description</h2>
-<h3><a name="XML_XPATH_CHECKNS" id="XML_XPATH_CHECKNS"></a>Macro: XML_XPATH_CHECKNS</h3><pre>#define XML_XPATH_CHECKNS</pre><p>check namespaces at compilation</p>
-<h3><a name="XML_XPATH_NOVAR" id="XML_XPATH_NOVAR"></a>Macro: XML_XPATH_NOVAR</h3><pre>#define XML_XPATH_NOVAR</pre><p>forbid variables in expression</p>
-<h3><a name="xmlXPathNodeSetGetLength" id="xmlXPathNodeSetGetLength"></a>Macro: xmlXPathNodeSetGetLength</h3><pre>#define xmlXPathNodeSetGetLength</pre><p>Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the node-set.</p>
-<h3><a name="xmlXPathNodeSetIsEmpty" id="xmlXPathNodeSetIsEmpty"></a>Macro: xmlXPathNodeSetIsEmpty</h3><pre>#define xmlXPathNodeSetIsEmpty</pre><p>Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.</p>
-<h3><a name="xmlXPathNodeSetItem" id="xmlXPathNodeSetItem"></a>Macro: xmlXPathNodeSetItem</h3><pre>#define xmlXPathNodeSetItem</pre><p>Implements a functionality similar to the DOM NodeList.item(). Returns the <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> at the given @index in @ns or NULL if @index is out of range (0 to length-1)</p>
-<h3><a name="xmlNodeSet" id="xmlNodeSet">Structure xmlNodeSet</a></h3><pre class="programlisting">Structure xmlNodeSet<br />struct _xmlNodeSet {
-    int	nodeNr	: number of nodes in the set
-    int	nodeMax	: size of the array as allocated
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes in no particular order @
-}</pre><h3><a name="xmlXPathAxis" id="xmlXPathAxis">Structure xmlXPathAxis</a></h3><pre class="programlisting">Structure xmlXPathAxis<br />struct _xmlXPathAxis {
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: the axis name
-    <a href="libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a>	func	: the search function
-}</pre><h3><a name="xmlXPathCompExpr" id="xmlXPathCompExpr">Structure xmlXPathCompExpr</a></h3><pre class="programlisting">Structure xmlXPathCompExpr<br />struct _xmlXPathCompExpr {
-The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlXPathContext" id="xmlXPathContext">Structure xmlXPathContext</a></h3><pre class="programlisting">Structure xmlXPathContext<br />struct _xmlXPathContext {
-    <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	doc	: The current document
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: The current node
-    int	nb_variables_unused	: unused (hash table)
-    int	max_variables_unused	: unused (hash table)
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	varHash	: Hash table of defined variables
-    int	nb_types	: number of defined types
-    int	max_types	: max number of types
-    <a href="libxml-xpath.html#xmlXPathTypePtr">xmlXPathTypePtr</a>	types	: Array of defined types
-    int	nb_funcs_unused	: unused (hash table)
-    int	max_funcs_unused	: unused (hash table)
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	funcHash	: Hash table of defined funcs
-    int	nb_axis	: number of defined axis
-    int	max_axis	: max number of axis
-    <a href="libxml-xpath.html#xmlXPathAxisPtr">xmlXPathAxisPtr</a>	axis	: Array of defined axis the namespace nod
-    <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> *	namespaces	: Array of namespaces
-    int	nsNr	: number of namespace in scope
-    void *	user	: function to free extra variables
-    int	contextSize	: the context size
-    int	proximityPosition	: the proximity position extra stuff for
-    int	xptr	: is this an XPointer context?
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	here	: for here()
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	origin	: for origin() the set of namespace decla
-    <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	nsHash	: The namespaces hash table
-    <a href="libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	varLookupFunc	: variable lookup func
-    void *	varLookupData	: variable lookup data Possibility to lin
-    void *	extra	: needed for XSLT The function name and U
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	function
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	functionURI	: function lookup function and data
-    <a href="libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	funcLookupFunc	: function lookup func
-    void *	funcLookupData	: function lookup data temporary namespac
-    <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> *	tmpNsList	: Array of namespaces
-    int	tmpNsNr	: number of namespaces in scope error rep
-    void *	userData	: user specific data block
-    <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	error	: the callback in case of errors
-    <a href="libxml-xmlerror.html#xmlError">xmlError</a>	lastError	: the last error
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	debugNode	: the source node XSLT dictionary
-    <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	dict	: dictionary if any
-    int	flags	: flags to control compilation Cache for
-    void *	cache	: Resource limits
-    unsigned long	opLimit
-    unsigned long	opCount
-    int	depth
-}</pre><h3>Enum <a name="xmlXPathError" id="xmlXPathError">xmlXPathError</a></h3><pre class="programlisting">Enum xmlXPathError {
-    <a name="XPATH_EXPRESSION_OK" id="XPATH_EXPRESSION_OK">XPATH_EXPRESSION_OK</a> = 0
-    <a name="XPATH_NUMBER_ERROR" id="XPATH_NUMBER_ERROR">XPATH_NUMBER_ERROR</a> = 1
-    <a name="XPATH_UNFINISHED_LITERAL_ERROR" id="XPATH_UNFINISHED_LITERAL_ERROR">XPATH_UNFINISHED_LITERAL_ERROR</a> = 2
-    <a name="XPATH_START_LITERAL_ERROR" id="XPATH_START_LITERAL_ERROR">XPATH_START_LITERAL_ERROR</a> = 3
-    <a name="XPATH_VARIABLE_REF_ERROR" id="XPATH_VARIABLE_REF_ERROR">XPATH_VARIABLE_REF_ERROR</a> = 4
-    <a name="XPATH_UNDEF_VARIABLE_ERROR" id="XPATH_UNDEF_VARIABLE_ERROR">XPATH_UNDEF_VARIABLE_ERROR</a> = 5
-    <a name="XPATH_INVALID_PREDICATE_ERROR" id="XPATH_INVALID_PREDICATE_ERROR">XPATH_INVALID_PREDICATE_ERROR</a> = 6
-    <a name="XPATH_EXPR_ERROR" id="XPATH_EXPR_ERROR">XPATH_EXPR_ERROR</a> = 7
-    <a name="XPATH_UNCLOSED_ERROR" id="XPATH_UNCLOSED_ERROR">XPATH_UNCLOSED_ERROR</a> = 8
-    <a name="XPATH_UNKNOWN_FUNC_ERROR" id="XPATH_UNKNOWN_FUNC_ERROR">XPATH_UNKNOWN_FUNC_ERROR</a> = 9
-    <a name="XPATH_INVALID_OPERAND" id="XPATH_INVALID_OPERAND">XPATH_INVALID_OPERAND</a> = 10
-    <a name="XPATH_INVALID_TYPE" id="XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a> = 11
-    <a name="XPATH_INVALID_ARITY" id="XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a> = 12
-    <a name="XPATH_INVALID_CTXT_SIZE" id="XPATH_INVALID_CTXT_SIZE">XPATH_INVALID_CTXT_SIZE</a> = 13
-    <a name="XPATH_INVALID_CTXT_POSITION" id="XPATH_INVALID_CTXT_POSITION">XPATH_INVALID_CTXT_POSITION</a> = 14
-    <a name="XPATH_MEMORY_ERROR" id="XPATH_MEMORY_ERROR">XPATH_MEMORY_ERROR</a> = 15
-    <a name="XPTR_SYNTAX_ERROR" id="XPTR_SYNTAX_ERROR">XPTR_SYNTAX_ERROR</a> = 16
-    <a name="XPTR_RESOURCE_ERROR" id="XPTR_RESOURCE_ERROR">XPTR_RESOURCE_ERROR</a> = 17
-    <a name="XPTR_SUB_RESOURCE_ERROR" id="XPTR_SUB_RESOURCE_ERROR">XPTR_SUB_RESOURCE_ERROR</a> = 18
-    <a name="XPATH_UNDEF_PREFIX_ERROR" id="XPATH_UNDEF_PREFIX_ERROR">XPATH_UNDEF_PREFIX_ERROR</a> = 19
-    <a name="XPATH_ENCODING_ERROR" id="XPATH_ENCODING_ERROR">XPATH_ENCODING_ERROR</a> = 20
-    <a name="XPATH_INVALID_CHAR_ERROR" id="XPATH_INVALID_CHAR_ERROR">XPATH_INVALID_CHAR_ERROR</a> = 21
-    <a name="XPATH_INVALID_CTXT" id="XPATH_INVALID_CTXT">XPATH_INVALID_CTXT</a> = 22
-    <a name="XPATH_STACK_ERROR" id="XPATH_STACK_ERROR">XPATH_STACK_ERROR</a> = 23
-    <a name="XPATH_FORBID_VARIABLE_ERROR" id="XPATH_FORBID_VARIABLE_ERROR">XPATH_FORBID_VARIABLE_ERROR</a> = 24
-    <a name="XPATH_OP_LIMIT_EXCEEDED" id="XPATH_OP_LIMIT_EXCEEDED">XPATH_OP_LIMIT_EXCEEDED</a> = 25
-    <a name="XPATH_RECURSION_LIMIT_EXCEEDED" id="XPATH_RECURSION_LIMIT_EXCEEDED">XPATH_RECURSION_LIMIT_EXCEEDED</a> = 26
-}
-</pre><h3><a name="xmlXPathFunct" id="xmlXPathFunct">Structure xmlXPathFunct</a></h3><pre class="programlisting">Structure xmlXPathFunct<br />struct _xmlXPathFunct {
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: the function name
-    <a href="libxml-xpath.html#xmlXPathEvalFunc">xmlXPathEvalFunc</a>	func	: the evaluation function
-}</pre><h3><a name="xmlXPathObject" id="xmlXPathObject">Structure xmlXPathObject</a></h3><pre class="programlisting">Structure xmlXPathObject<br />struct _xmlXPathObject {
-    <a href="libxml-xpath.html#xmlXPathObjectType">xmlXPathObjectType</a>	type
-    <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	nodesetval
-    int	boolval
-    double	floatval
-    <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	stringval
-    void *	user
-    int	index
-    void *	user2
-    int	index2
-}</pre><h3>Enum <a name="xmlXPathObjectType" id="xmlXPathObjectType">xmlXPathObjectType</a></h3><pre class="programlisting">Enum xmlXPathObjectType {
-    <a name="XPATH_UNDEFINED" id="XPATH_UNDEFINED">XPATH_UNDEFINED</a> = 0
-    <a name="XPATH_NODESET" id="XPATH_NODESET">XPATH_NODESET</a> = 1
-    <a name="XPATH_BOOLEAN" id="XPATH_BOOLEAN">XPATH_BOOLEAN</a> = 2
-    <a name="XPATH_NUMBER" id="XPATH_NUMBER">XPATH_NUMBER</a> = 3
-    <a name="XPATH_STRING" id="XPATH_STRING">XPATH_STRING</a> = 4
-    <a name="XPATH_POINT" id="XPATH_POINT">XPATH_POINT</a> = 5
-    <a name="XPATH_RANGE" id="XPATH_RANGE">XPATH_RANGE</a> = 6
-    <a name="XPATH_LOCATIONSET" id="XPATH_LOCATIONSET">XPATH_LOCATIONSET</a> = 7
-    <a name="XPATH_USERS" id="XPATH_USERS">XPATH_USERS</a> = 8
-    <a name="XPATH_XSLT_TREE" id="XPATH_XSLT_TREE">XPATH_XSLT_TREE</a> = 9 : An XSLT value tree, non modifiable
-}
-</pre><h3><a name="xmlXPathParserContext" id="xmlXPathParserContext">Structure xmlXPathParserContext</a></h3><pre class="programlisting">Structure xmlXPathParserContext<br />struct _xmlXPathParserContext {
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	cur	: the current char being parsed
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	base	: the full expression
-    int	error	: error code
-    <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	context	: the evaluation context
-    <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	value	: the current value
-    int	valueNr	: number of values stacked
-    int	valueMax	: max number of values stacked
-    <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> *	valueTab	: stack of values
-    <a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	comp	: the precompiled expression
-    int	xptr	: it this an XPointer expression
-    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	ancestor	: used for walking preceding axis
-    int	valueFrame	: used to limit Pop on the stack
-}</pre><h3><a name="xmlXPathType" id="xmlXPathType">Structure xmlXPathType</a></h3><pre class="programlisting">Structure xmlXPathType<br />struct _xmlXPathType {
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: the type name
-    <a href="libxml-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a>	func	: the conversion function
-}</pre><h3><a name="xmlXPathVariable" id="xmlXPathVariable">Structure xmlXPathVariable</a></h3><pre class="programlisting">Structure xmlXPathVariable<br />struct _xmlXPathVariable {
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: the variable name
-    <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	value	: the value
-}</pre><h3><a name="xmlXPathAxisFunc" id="xmlXPathAxisFunc"></a>Function type: xmlXPathAxisFunc</h3><pre class="programlisting">Function type: xmlXPathAxisFunc
-<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathAxisFunc	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />						 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur)
-</pre><p>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.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath interpreter context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the previous node being explored on that axis</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next node in that axis or NULL if at the end of the axis.</td></tr></tbody></table></div><br />
-<h3><a name="xmlXPathCastBooleanToNumber" id="xmlXPathCastBooleanToNumber"></a>Function: xmlXPathCastBooleanToNumber</h3><pre class="programlisting">double	xmlXPathCastBooleanToNumber	(int val)<br />
-</pre><p>Converts a boolean to its number value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a boolean</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div><h3><a name="xmlXPathCastBooleanToString" id="xmlXPathCastBooleanToString"></a>Function: xmlXPathCastBooleanToString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastBooleanToString	(int val)<br />
-</pre><p>Converts a boolean to its string value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a boolean</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated string.</td></tr></tbody></table></div><h3><a name="xmlXPathCastNodeSetToBoolean" id="xmlXPathCastNodeSetToBoolean"></a>Function: xmlXPathCastNodeSetToBoolean</h3><pre class="programlisting">int	xmlXPathCastNodeSetToBoolean	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br />
-</pre><p>Converts a node-set to its boolean value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div><h3><a name="xmlXPathCastNodeSetToNumber" id="xmlXPathCastNodeSetToNumber"></a>Function: xmlXPathCastNodeSetToNumber</h3><pre class="programlisting">double	xmlXPathCastNodeSetToNumber	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br />
-</pre><p>Converts a node-set to its number value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div><h3><a name="xmlXPathCastNodeSetToString" id="xmlXPathCastNodeSetToString"></a>Function: xmlXPathCastNodeSetToString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNodeSetToString	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br />
-</pre><p>Converts a node-set to its string value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated string.</td></tr></tbody></table></div><h3><a name="xmlXPathCastNodeToNumber" id="xmlXPathCastNodeToNumber"></a>Function: xmlXPathCastNodeToNumber</h3><pre class="programlisting">double	xmlXPathCastNodeToNumber	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Converts a node to its number value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div><h3><a name="xmlXPathCastNodeToString" id="xmlXPathCastNodeToString"></a>Function: xmlXPathCastNodeToString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNodeToString	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Converts a node to its string value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated string.</td></tr></tbody></table></div><h3><a name="xmlXPathCastNumberToBoolean" id="xmlXPathCastNumberToBoolean"></a>Function: xmlXPathCastNumberToBoolean</h3><pre class="programlisting">int	xmlXPathCastNumberToBoolean	(double val)<br />
-</pre><p>Converts a number to its boolean value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div><h3><a name="xmlXPathCastNumberToString" id="xmlXPathCastNumberToString"></a>Function: xmlXPathCastNumberToString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNumberToString	(double val)<br />
-</pre><p>Converts a number to its string value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated string.</td></tr></tbody></table></div><h3><a name="xmlXPathCastStringToBoolean" id="xmlXPathCastStringToBoolean"></a>Function: xmlXPathCastStringToBoolean</h3><pre class="programlisting">int	xmlXPathCastStringToBoolean	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)<br />
-</pre><p>Converts a string to its boolean value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div><h3><a name="xmlXPathCastStringToNumber" id="xmlXPathCastStringToNumber"></a>Function: xmlXPathCastStringToNumber</h3><pre class="programlisting">double	xmlXPathCastStringToNumber	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)<br />
-</pre><p>Converts a string to its number value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div><h3><a name="xmlXPathCastToBoolean" id="xmlXPathCastToBoolean"></a>Function: xmlXPathCastToBoolean</h3><pre class="programlisting">int	xmlXPathCastToBoolean		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br />
-</pre><p>Converts an XPath object to its boolean value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div><h3><a name="xmlXPathCastToNumber" id="xmlXPathCastToNumber"></a>Function: xmlXPathCastToNumber</h3><pre class="programlisting">double	xmlXPathCastToNumber		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br />
-</pre><p>Converts an XPath object to its number value</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div><h3><a name="xmlXPathCastToString" id="xmlXPathCastToString"></a>Function: xmlXPathCastToString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastToString	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br />
-</pre><p>Converts an existing object to its string() equivalent</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the allocated string value of the object, NULL in case of error. It's up to the caller to free the string memory with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlXPathCmpNodes" id="xmlXPathCmpNodes"></a>Function: xmlXPathCmpNodes</h3><pre class="programlisting">int	xmlXPathCmpNodes		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Compare two nodes w.r.t document order</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node1</tt></i>:</span></td><td>the first node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>the second node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-2 in case of error 1 if first point &lt; second point, 0 if it's the same node, -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathCompile" id="xmlXPathCompile"></a>Function: xmlXPathCompile</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	xmlXPathCompile	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
-</pre><p>Compile an XPath expression</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 XPath expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. the caller has to free the object.</td></tr></tbody></table></div><h3><a name="xmlXPathCompiledEval" id="xmlXPathCompiledEval"></a>Function: xmlXPathCompiledEval</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathCompiledEval	(<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br />						 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br />
-</pre><p>Evaluate the Precompiled XPath expression in the given context.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled XPath expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div><h3><a name="xmlXPathCompiledEvalToBoolean" id="xmlXPathCompiledEvalToBoolean"></a>Function: xmlXPathCompiledEvalToBoolean</h3><pre class="programlisting">int	xmlXPathCompiledEvalToBoolean	(<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br />					 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br />
-</pre><p>Applies the XPath boolean() function on the result of the given compiled expression.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled XPath expression</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the expression evaluated to true, 0 if to false and -1 in API and internal errors.</td></tr></tbody></table></div><h3><a name="xmlXPathContextSetCache" id="xmlXPathContextSetCache"></a>Function: xmlXPathContextSetCache</h3><pre class="programlisting">int	xmlXPathContextSetCache		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 int active, <br />					 int value, <br />					 int options)<br />
-</pre><p>Creates/frees an object cache on the XPath context. If activates XPath objects (xmlXPathObject) will be cached internally to be reused. @options: 0: This will set the XPath object caching: @value: This will set the maximum number of XPath objects to be cached per slot There are 5 slots for: node-set, string, number, boolean, and misc objects. Use &lt;0 for the default number (100). Other values for @options have currently no effect.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>active</tt></i>:</span></td><td>enables/disables (creates/frees) the cache</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a value with semantics dependent on @options</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (currently only the value 0 is used)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the setting succeeded, and -1 on API or internal errors.</td></tr></tbody></table></div><h3><a name="xmlXPathConvertBoolean" id="xmlXPathConvertBoolean"></a>Function: xmlXPathConvertBoolean</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertBoolean	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br />
-</pre><p>Converts an existing object to its boolean() equivalent</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new object, the old one is freed (or the operation is done directly on @val)</td></tr></tbody></table></div><h3><a name="xmlXPathConvertFunc" id="xmlXPathConvertFunc"></a>Function type: xmlXPathConvertFunc</h3><pre class="programlisting">Function type: xmlXPathConvertFunc
-int	xmlXPathConvertFunc		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br />					 int type)
-</pre><p>A conversion function is associated to a type and used to cast the new type to primitive values.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the number of the target type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div><br />
-<h3><a name="xmlXPathConvertNumber" id="xmlXPathConvertNumber"></a>Function: xmlXPathConvertNumber</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertNumber	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br />
-</pre><p>Converts an existing object to its number() equivalent</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new object, the old one is freed (or the operation is done directly on @val)</td></tr></tbody></table></div><h3><a name="xmlXPathConvertString" id="xmlXPathConvertString"></a>Function: xmlXPathConvertString</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertString	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br />
-</pre><p>Converts an existing object to its string() equivalent</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new object, the old one is freed (or the operation is done directly on @val)</td></tr></tbody></table></div><h3><a name="xmlXPathCtxtCompile" id="xmlXPathCtxtCompile"></a>Function: xmlXPathCtxtCompile</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	xmlXPathCtxtCompile	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
-</pre><p>Compile an XPath expression</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. the caller has to free the object.</td></tr></tbody></table></div><h3><a name="xmlXPathEval" id="xmlXPathEval"></a>Function: xmlXPathEval</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEval	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br />
-</pre><p>Evaluate the XPath Location Path in the given context.</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 XPath expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div><h3><a name="xmlXPathEvalExpression" id="xmlXPathEvalExpression"></a>Function: xmlXPathEvalExpression</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEvalExpression	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />						 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br />
-</pre><p>Alias for xmlXPathEval().</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 XPath expression</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div><h3><a name="xmlXPathEvalFunc" id="xmlXPathEvalFunc"></a>Function type: xmlXPathEvalFunc</h3><pre class="programlisting">Function type: xmlXPathEvalFunc
-void	xmlXPathEvalFunc		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)
-</pre><p>An XPath evaluation function, the parameters are on the XPath context stack.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments passed to the function</td></tr></tbody></table></div><br />
-<h3><a name="xmlXPathEvalPredicate" id="xmlXPathEvalPredicate"></a>Function: xmlXPathEvalPredicate</h3><pre class="programlisting">int	xmlXPathEvalPredicate		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>res</tt></i>:</span></td><td>the Predicate Expression evaluation result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if predicate is true, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathFreeCompExpr" id="xmlXPathFreeCompExpr"></a>Function: xmlXPathFreeCompExpr</h3><pre class="programlisting">void	xmlXPathFreeCompExpr		(<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp)<br />
-</pre><p>Free up the memory allocated by @comp</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>an XPATH comp</td></tr></tbody></table></div><h3><a name="xmlXPathFreeContext" id="xmlXPathFreeContext"></a>Function: xmlXPathFreeContext</h3><pre class="programlisting">void	xmlXPathFreeContext		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br />
-</pre><p>Free up an <a href="libxml-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context to free</td></tr></tbody></table></div><h3><a name="xmlXPathFreeNodeSet" id="xmlXPathFreeNodeSet"></a>Function: xmlXPathFreeNodeSet</h3><pre class="programlisting">void	xmlXPathFreeNodeSet		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj)<br />
-</pre><p>Free the NodeSet compound (not the actual nodes !).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> to free</td></tr></tbody></table></div><h3><a name="xmlXPathFreeNodeSetList" id="xmlXPathFreeNodeSetList"></a>Function: xmlXPathFreeNodeSetList</h3><pre class="programlisting">void	xmlXPathFreeNodeSetList		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br />
-</pre><p>Free up the <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> @obj but don't deallocate the objects in the list contrary to xmlXPathFreeObject().</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>an existing NodeSetList object</td></tr></tbody></table></div><h3><a name="xmlXPathFreeObject" id="xmlXPathFreeObject"></a>Function: xmlXPathFreeObject</h3><pre class="programlisting">void	xmlXPathFreeObject		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br />
-</pre><p>Free up an <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> object.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the object to free</td></tr></tbody></table></div><h3><a name="xmlXPathFuncLookupFunc" id="xmlXPathFuncLookupFunc"></a>Function type: xmlXPathFuncLookupFunc</h3><pre class="programlisting">Function type: xmlXPathFuncLookupFunc
-<a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFuncLookupFunc	(void * ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
-</pre><p>Prototype for callbacks used to plug function lookup in the XPath engine.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name of the function</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name hosting this function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath function or NULL if not found.</td></tr></tbody></table></div><br />
-<h3><a name="xmlXPathFunction" id="xmlXPathFunction"></a>Function type: xmlXPathFunction</h3><pre class="programlisting">Function type: xmlXPathFunction
-void	xmlXPathFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)
-</pre><p>An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath interprestation context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><br />
-<h3><a name="xmlXPathInit" id="xmlXPathInit"></a>Function: xmlXPathInit</h3><pre class="programlisting">void	xmlXPathInit			(void)<br />
-</pre><p>Initialize the XPath environment</p>
-<h3><a name="xmlXPathIsInf" id="xmlXPathIsInf"></a>Function: xmlXPathIsInf</h3><pre class="programlisting">int	xmlXPathIsInf			(double val)<br />
-</pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the value is +Infinite, -1 if -Infinite, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathIsNaN" id="xmlXPathIsNaN"></a>Function: xmlXPathIsNaN</h3><pre class="programlisting">int	xmlXPathIsNaN			(double val)<br />
-</pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the value is a NaN, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathNewContext" id="xmlXPathNewContext"></a>Function: xmlXPathNewContext</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPathNewContext	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated. The caller will need to free it.</td></tr></tbody></table></div><h3><a name="xmlXPathNodeEval" id="xmlXPathNodeEval"></a>Function: xmlXPathNodeEval</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNodeEval	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />						 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br />
-</pre><p>Evaluate the XPath Location Path in the given context. The node 'node' is set as the context node. The context node is not restored.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to to use as the context node</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div><h3><a name="xmlXPathNodeSetCreate" id="xmlXPathNodeSetCreate"></a>Function: xmlXPathNodeSetCreate</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeSetCreate	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> of type double and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an initial xmlNodePtr, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathObjectCopy" id="xmlXPathObjectCopy"></a>Function: xmlXPathObjectCopy</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathObjectCopy	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br />
-</pre><p>allocate a new copy of a given object</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the original object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathOrderDocElems" id="xmlXPathOrderDocElems"></a>Function: xmlXPathOrderDocElems</h3><pre class="programlisting">long	xmlXPathOrderDocElems		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Call this routine to speed up XPath computation on static documents. This stamps all the element nodes with the document order Like for line information, the order is kept in the element-&gt;content field, the value stored is actually - the node number (starting at -1) to be able to differentiate from line numbers.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an input document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements found in the document or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlXPathSetContextNode" id="xmlXPathSetContextNode"></a>Function: xmlXPathSetContextNode</h3><pre class="programlisting">int	xmlXPathSetContextNode		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br />
-</pre><p>Sets 'node' as the context node. The node must be in the same document as that associated with the context.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to to use as the context node</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error or 0 if successful</td></tr></tbody></table></div><h3><a name="xmlXPathVariableLookupFunc" id="xmlXPathVariableLookupFunc"></a>Function type: xmlXPathVariableLookupFunc</h3><pre class="programlisting">Function type: xmlXPathVariableLookupFunc
-<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupFunc	(void * ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
-</pre><p>Prototype for callbacks used to plug variable lookup in the XPath engine.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name of the variable</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name hosting this variable</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object value or NULL if not found.</td></tr></tbody></table></div><br />
-<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xpathInternals.html b/doc/html/libxml-xpathInternals.html
deleted file mode 100644
index 8daacab..0000000
--- a/doc/html/libxml-xpathInternals.html
+++ /dev/null
@@ -1,394 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xpathInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpathInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpath.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xpath.html">xpath</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpointer.html">xpointer</a></th><td><a accesskey="n" href="libxml-xpointer.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a></pre><pre class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a></pre><pre class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a></pre><pre class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a></pre><pre class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a></pre><pre class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a></pre><pre class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a></pre><pre class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a></pre><pre class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a></pre><pre class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a></pre><pre class="programlisting">#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a></pre><pre class="programlisting">#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a></pre><pre class="programlisting">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a></pre><pre class="programlisting">#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a></pre><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#valuePop">valuePop</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#valuePush">valuePush</a>			(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathAddValues">xmlXPathAddValues</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathCompareValues">xmlXPathCompareValues</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int inf, <br />					 int strict)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathConcatFunction">xmlXPathConcatFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathContainsFunction">xmlXPathContainsFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathCountFunction">xmlXPathCountFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a>	(FILE * output, <br />					 <a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br />					 int depth)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a>		(FILE * output, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br />					 int depth)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDifference">xmlXPathDifference</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDistinct">xmlXPathDistinct</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathDivValues">xmlXPathDivValues</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathEqualValues">xmlXPathEqualValues</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathErr">xmlXPathErr</a>			(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int error)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathEvalExpr">xmlXPathEvalExpr</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathFalseFunction">xmlXPathFalseFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathFloorFunction">xmlXPathFloorFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a>		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathIdFunction">xmlXPathIdFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathIntersection">xmlXPathIntersection</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathIsNodeType">xmlXPathIsNodeType</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathLangFunction">xmlXPathLangFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathLastFunction">xmlXPathLastFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathLeading">xmlXPathLeading</a>		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathModValues">xmlXPathModValues</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathMultValues">xmlXPathMultValues</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewBoolean">xmlXPathNewBoolean</a>	(int val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewCString">xmlXPathNewCString</a>	(const char * val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewFloat">xmlXPathNewFloat</a>	(double val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>	<a href="#xmlXPathNewParserContext">xmlXPathNewParserContext</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />							 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewString">xmlXPathNewString</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewValueTree">xmlXPathNewValueTree</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAncestor">xmlXPathNextAncestor</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAttribute">xmlXPathNextAttribute</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextChild">xmlXPathNextChild</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextDescendant">xmlXPathNextDescendant</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextFollowing">xmlXPathNextFollowing</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextNamespace">xmlXPathNextNamespace</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextParent">xmlXPathNextParent</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextPreceding">xmlXPathNextPreceding</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextSelf">xmlXPathNextSelf</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeLeading">xmlXPathNodeLeading</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a>		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a>		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a>		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a>		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a>		(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a>		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 int val)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a>		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathNotFunction">xmlXPathNotFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathNsLookup">xmlXPathNsLookup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathNumberFunction">xmlXPathNumberFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathParseNCName">xmlXPathParseNCName</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathParseName">xmlXPathParseName</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathPopBoolean">xmlXPathPopBoolean</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void *	<a href="#xmlXPathPopExternal">xmlXPathPopExternal</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">double	<a href="#xmlXPathPopNumber">xmlXPathPopNumber</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathPopString">xmlXPathPopString</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathPositionFunction">xmlXPathPositionFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a>		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br />					 void * funcCtxt)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a>		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br />					 <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathRegisterNs">xmlXPathRegisterNs</a>		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br />					 void * data)</pre>
-<pre class="programlisting">int	<a href="#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathRoot">xmlXPathRoot</a>			(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathRoundFunction">xmlXPathRoundFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">double	<a href="#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathStringFunction">xmlXPathStringFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathSubValues">xmlXPathSubValues</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathSumFunction">xmlXPathSumFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathTrailing">xmlXPathTrailing</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathTrueFunction">xmlXPathTrueFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookup">xmlXPathVariableLookup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapCString">xmlXPathWrapCString</a>	(char * val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapExternal">xmlXPathWrapExternal</a>	(void * val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapString">xmlXPathWrapString</a>	(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)</pre>
-<pre class="programlisting">void	<a href="#xmlXPatherror">xmlXPatherror</a>			(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 const char * file, <br />					 int line, <br />					 int no)</pre>
-<h2>Description</h2>
-<h3><a name="CAST_TO_BOOLEAN" id="CAST_TO_BOOLEAN"></a>Macro: CAST_TO_BOOLEAN</h3><pre>#define CAST_TO_BOOLEAN</pre><p>Macro to try to cast the value on the top of the XPath stack to a boolean.</p>
-<h3><a name="CAST_TO_NUMBER" id="CAST_TO_NUMBER"></a>Macro: CAST_TO_NUMBER</h3><pre>#define CAST_TO_NUMBER</pre><p>Macro to try to cast the value on the top of the XPath stack to a number.</p>
-<h3><a name="CAST_TO_STRING" id="CAST_TO_STRING"></a>Macro: CAST_TO_STRING</h3><pre>#define CAST_TO_STRING</pre><p>Macro to try to cast the value on the top of the XPath stack to a string.</p>
-<h3><a name="CHECK_ARITY" id="CHECK_ARITY"></a>Macro: CHECK_ARITY</h3><pre>#define CHECK_ARITY</pre><p>Macro to check that the number of args passed to an XPath function matches.</p>
-<h3><a name="CHECK_ERROR" id="CHECK_ERROR"></a>Macro: CHECK_ERROR</h3><pre>#define CHECK_ERROR</pre><p>Macro to return from the function if an XPath error was detected.</p>
-<h3><a name="CHECK_ERROR0" id="CHECK_ERROR0"></a>Macro: CHECK_ERROR0</h3><pre>#define CHECK_ERROR0</pre><p>Macro to return 0 from the function if an XPath error was detected.</p>
-<h3><a name="CHECK_TYPE" id="CHECK_TYPE"></a>Macro: CHECK_TYPE</h3><pre>#define CHECK_TYPE</pre><p>Macro to check that the value on top of the XPath stack is of a given type.</p>
-<h3><a name="CHECK_TYPE0" id="CHECK_TYPE0"></a>Macro: CHECK_TYPE0</h3><pre>#define CHECK_TYPE0</pre><p>Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of failure</p>
-<h3><a name="XP_ERROR" id="XP_ERROR"></a>Macro: XP_ERROR</h3><pre>#define XP_ERROR</pre><p>Macro to raise an XPath error and return.</p>
-<h3><a name="XP_ERROR0" id="XP_ERROR0"></a>Macro: XP_ERROR0</h3><pre>#define XP_ERROR0</pre><p>Macro to raise an XPath error and return 0.</p>
-<h3><a name="xmlXPathCheckError" id="xmlXPathCheckError"></a>Macro: xmlXPathCheckError</h3><pre>#define xmlXPathCheckError</pre><p>Check if an XPath error was raised. Returns true if an error has been raised, false otherwise.</p>
-<h3><a name="xmlXPathEmptyNodeSet" id="xmlXPathEmptyNodeSet"></a>Macro: xmlXPathEmptyNodeSet</h3><pre>#define xmlXPathEmptyNodeSet</pre><p>Empties a node-set.</p>
-<h3><a name="xmlXPathGetContextNode" id="xmlXPathGetContextNode"></a>Macro: xmlXPathGetContextNode</h3><pre>#define xmlXPathGetContextNode</pre><p>Get the context node of an XPath context. Returns the context node.</p>
-<h3><a name="xmlXPathGetDocument" id="xmlXPathGetDocument"></a>Macro: xmlXPathGetDocument</h3><pre>#define xmlXPathGetDocument</pre><p>Get the document of an XPath context. Returns the context document.</p>
-<h3><a name="xmlXPathGetError" id="xmlXPathGetError"></a>Macro: xmlXPathGetError</h3><pre>#define xmlXPathGetError</pre><p>Get the error code of an XPath context. Returns the context error.</p>
-<h3><a name="xmlXPathReturnBoolean" id="xmlXPathReturnBoolean"></a>Macro: xmlXPathReturnBoolean</h3><pre>#define xmlXPathReturnBoolean</pre><p>Pushes the boolean @val on the context stack.</p>
-<h3><a name="xmlXPathReturnEmptyNodeSet" id="xmlXPathReturnEmptyNodeSet"></a>Macro: xmlXPathReturnEmptyNodeSet</h3><pre>#define xmlXPathReturnEmptyNodeSet</pre><p>Pushes an empty node-set on the context stack.</p>
-<h3><a name="xmlXPathReturnEmptyString" id="xmlXPathReturnEmptyString"></a>Macro: xmlXPathReturnEmptyString</h3><pre>#define xmlXPathReturnEmptyString</pre><p>Pushes an empty string on the stack.</p>
-<h3><a name="xmlXPathReturnExternal" id="xmlXPathReturnExternal"></a>Macro: xmlXPathReturnExternal</h3><pre>#define xmlXPathReturnExternal</pre><p>Pushes user data on the context stack.</p>
-<h3><a name="xmlXPathReturnFalse" id="xmlXPathReturnFalse"></a>Macro: xmlXPathReturnFalse</h3><pre>#define xmlXPathReturnFalse</pre><p>Pushes false on the context stack.</p>
-<h3><a name="xmlXPathReturnNodeSet" id="xmlXPathReturnNodeSet"></a>Macro: xmlXPathReturnNodeSet</h3><pre>#define xmlXPathReturnNodeSet</pre><p>Pushes the node-set @ns on the context stack.</p>
-<h3><a name="xmlXPathReturnNumber" id="xmlXPathReturnNumber"></a>Macro: xmlXPathReturnNumber</h3><pre>#define xmlXPathReturnNumber</pre><p>Pushes the double @val on the context stack.</p>
-<h3><a name="xmlXPathReturnString" id="xmlXPathReturnString"></a>Macro: xmlXPathReturnString</h3><pre>#define xmlXPathReturnString</pre><p>Pushes the string @str on the context stack.</p>
-<h3><a name="xmlXPathReturnTrue" id="xmlXPathReturnTrue"></a>Macro: xmlXPathReturnTrue</h3><pre>#define xmlXPathReturnTrue</pre><p>Pushes true on the context stack.</p>
-<h3><a name="xmlXPathSetArityError" id="xmlXPathSetArityError"></a>Macro: xmlXPathSetArityError</h3><pre>#define xmlXPathSetArityError</pre><p>Raises an <a href="libxml-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a> error.</p>
-<h3><a name="xmlXPathSetError" id="xmlXPathSetError"></a>Macro: xmlXPathSetError</h3><pre>#define xmlXPathSetError</pre><p>Raises an error.</p>
-<h3><a name="xmlXPathSetTypeError" id="xmlXPathSetTypeError"></a>Macro: xmlXPathSetTypeError</h3><pre>#define xmlXPathSetTypeError</pre><p>Raises an <a href="libxml-xpath.html#XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a> error.</p>
-<h3><a name="xmlXPathStackIsExternal" id="xmlXPathStackIsExternal"></a>Macro: xmlXPathStackIsExternal</h3><pre>#define xmlXPathStackIsExternal</pre><p>Checks if the current value on the XPath stack is an external object. Returns true if the current object on the stack is an external object.</p>
-<h3><a name="xmlXPathStackIsNodeSet" id="xmlXPathStackIsNodeSet"></a>Macro: xmlXPathStackIsNodeSet</h3><pre>#define xmlXPathStackIsNodeSet</pre><p>Check if the current value on the XPath stack is a node set or an XSLT value tree. Returns true if the current object on the stack is a node-set.</p>
-<h3><a name="valuePop" id="valuePop"></a>Function: valuePop</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	valuePop	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Pops the top XPath object from the value stack</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object just removed</td></tr></tbody></table></div><h3><a name="valuePush" id="valuePush"></a>Function: valuePush</h3><pre class="programlisting">int	valuePush			(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br />
-</pre><p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded in the parser context.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of items on the value stack, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlXPathAddValues" id="xmlXPathAddValues"></a>Function: xmlXPathAddValues</h3><pre class="programlisting">void	xmlXPathAddValues		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div><h3><a name="xmlXPathBooleanFunction" id="xmlXPathBooleanFunction"></a>Function: xmlXPathBooleanFunction</h3><pre class="programlisting">void	xmlXPathBooleanFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathCeilingFunction" id="xmlXPathCeilingFunction"></a>Function: xmlXPathCeilingFunction</h3><pre class="programlisting">void	xmlXPathCeilingFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathCompareValues" id="xmlXPathCompareValues"></a>Function: xmlXPathCompareValues</h3><pre class="programlisting">int	xmlXPathCompareValues		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int inf, <br />					 int strict)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>inf</tt></i>:</span></td><td>less than (1) or greater than (0)</td></tr><tr><td><span class="term"><i><tt>strict</tt></i>:</span></td><td>is the comparison strict</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the comparison succeeded, 0 if it failed</td></tr></tbody></table></div><h3><a name="xmlXPathConcatFunction" id="xmlXPathConcatFunction"></a>Function: xmlXPathConcatFunction</h3><pre class="programlisting">void	xmlXPathConcatFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the concat() XPath function string concat(string, string, string*) The concat function returns the concatenation of its arguments.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathContainsFunction" id="xmlXPathContainsFunction"></a>Function: xmlXPathContainsFunction</h3><pre class="programlisting">void	xmlXPathContainsFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathCountFunction" id="xmlXPathCountFunction"></a>Function: xmlXPathCountFunction</h3><pre class="programlisting">void	xmlXPathCountFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the count() XPath function number count(node-set)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathDebugDumpCompExpr" id="xmlXPathDebugDumpCompExpr"></a>Function: xmlXPathDebugDumpCompExpr</h3><pre class="programlisting">void	xmlXPathDebugDumpCompExpr	(FILE * output, <br />					 <a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br />					 int depth)<br />
-</pre><p>Dumps the tree of the compiled XPath expression.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled XPath expression</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div><h3><a name="xmlXPathDebugDumpObject" id="xmlXPathDebugDumpObject"></a>Function: xmlXPathDebugDumpObject</h3><pre class="programlisting">void	xmlXPathDebugDumpObject		(FILE * output, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br />					 int depth)<br />
-</pre><p>Dump the content of the object for debugging purposes</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * to dump the output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the object to inspect</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>indentation level</td></tr></tbody></table></div><h3><a name="xmlXPathDifference" id="xmlXPathDifference"></a>Function: xmlXPathDifference</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDifference	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br />
-</pre><p>Implements the EXSLT - Sets difference() function: node-set set:difference (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the difference between the two node sets, or nodes1 if nodes2 is empty</td></tr></tbody></table></div><h3><a name="xmlXPathDistinct" id="xmlXPathDistinct"></a>Function: xmlXPathDistinct</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDistinct	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br />
-</pre><p>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</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td></tr></tbody></table></div><h3><a name="xmlXPathDistinctSorted" id="xmlXPathDistinctSorted"></a>Function: xmlXPathDistinctSorted</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDistinctSorted	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br />
-</pre><p>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td></tr></tbody></table></div><h3><a name="xmlXPathDivValues" id="xmlXPathDivValues"></a>Function: xmlXPathDivValues</h3><pre class="programlisting">void	xmlXPathDivValues		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Implement the div operation on XPath objects @arg1 / @arg2: The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div><h3><a name="xmlXPathEqualValues" id="xmlXPathEqualValues"></a>Function: xmlXPathEqualValues</h3><pre class="programlisting">int	xmlXPathEqualValues		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Implement the equal operation on XPath objects content: @arg1 == @arg2</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the results of the test.</td></tr></tbody></table></div><h3><a name="xmlXPathErr" id="xmlXPathErr"></a>Function: xmlXPathErr</h3><pre class="programlisting">void	xmlXPathErr			(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int error)<br />
-</pre><p>Handle an XPath error</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 XPath parser context</td></tr><tr><td><span class="term"><i><tt>error</tt></i>:</span></td><td>the error code</td></tr></tbody></table></div><h3><a name="xmlXPathEvalExpr" id="xmlXPathEvalExpr"></a>Function: xmlXPathEvalExpr</h3><pre class="programlisting">void	xmlXPathEvalExpr		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Parse and evaluate an XPath expression in the given context, then push the result on the context stack</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div><h3><a name="xmlXPathEvaluatePredicateResult" id="xmlXPathEvaluatePredicateResult"></a>Function: xmlXPathEvaluatePredicateResult</h3><pre class="programlisting">int	xmlXPathEvaluatePredicateResult	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>res</tt></i>:</span></td><td>the Predicate Expression evaluation result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if predicate is true, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathFalseFunction" id="xmlXPathFalseFunction"></a>Function: xmlXPathFalseFunction</h3><pre class="programlisting">void	xmlXPathFalseFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the false() XPath function boolean false()</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathFloorFunction" id="xmlXPathFloorFunction"></a>Function: xmlXPathFloorFunction</h3><pre class="programlisting">void	xmlXPathFloorFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the floor() XPath function number floor(number) The floor function returns the largest (closest to positive infinity) number that is not greater than the argument and that is an integer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathFreeParserContext" id="xmlXPathFreeParserContext"></a>Function: xmlXPathFreeParserContext</h3><pre class="programlisting">void	xmlXPathFreeParserContext	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Free up an <a href="libxml-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context to free</td></tr></tbody></table></div><h3><a name="xmlXPathFunctionLookup" id="xmlXPathFunctionLookup"></a>Function: xmlXPathFunctionLookup</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Search in the Function array of the context for the given function.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlXPathFunctionLookupNS" id="xmlXPathFunctionLookupNS"></a>Function: xmlXPathFunctionLookupNS</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookupNS	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br />
-</pre><p>Search in the Function array of the context for the given function.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the function namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlXPathHasSameNodes" id="xmlXPathHasSameNodes"></a>Function: xmlXPathHasSameNodes</h3><pre class="programlisting">int	xmlXPathHasSameNodes		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br />
-</pre><p>Implements the EXSLT - Sets has-same-nodes function: boolean set:has-same-node(node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true (1) if @nodes1 shares any node with @nodes2, false (0) otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathIdFunction" id="xmlXPathIdFunction"></a>Function: xmlXPathIdFunction</h3><pre class="programlisting">void	xmlXPathIdFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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 <a href="libxml-SAX.html#characters">characters</a> 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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathIntersection" id="xmlXPathIntersection"></a>Function: xmlXPathIntersection</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathIntersection	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br />
-</pre><p>Implements the EXSLT - Sets intersection() function: node-set set:intersection (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a node set comprising the nodes that are within both the node sets passed as arguments</td></tr></tbody></table></div><h3><a name="xmlXPathIsNodeType" id="xmlXPathIsNodeType"></a>Function: xmlXPathIsNodeType</h3><pre class="programlisting">int	xmlXPathIsNodeType		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Is the name given a NodeType one. [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 'node'</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>a name string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathLangFunction" id="xmlXPathLangFunction"></a>Function: xmlXPathLangFunction</h3><pre class="programlisting">void	xmlXPathLangFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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 <a href="libxml-SAX.html#attribute">attribute</a> on the context node, or, if the context node has no xml:lang attribute, by the value of the xml:lang <a href="libxml-SAX.html#attribute">attribute</a> on the nearest ancestor of the context node that has an xml:lang attribute. If there is no such attribute, then lang</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathLastFunction" id="xmlXPathLastFunction"></a>Function: xmlXPathLastFunction</h3><pre class="programlisting">void	xmlXPathLastFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the last() XPath function number last() The last function returns the number of nodes in the context node list.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathLeading" id="xmlXPathLeading"></a>Function: xmlXPathLeading</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathLeading		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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't contain @nodes2</td></tr></tbody></table></div><h3><a name="xmlXPathLeadingSorted" id="xmlXPathLeadingSorted"></a>Function: xmlXPathLeadingSorted</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathLeadingSorted	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br />
-</pre><p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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't contain @nodes2</td></tr></tbody></table></div><h3><a name="xmlXPathLocalNameFunction" id="xmlXPathLocalNameFunction"></a>Function: xmlXPathLocalNameFunction</h3><pre class="programlisting">void	xmlXPathLocalNameFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathModValues" id="xmlXPathModValues"></a>Function: xmlXPathModValues</h3><pre class="programlisting">void	xmlXPathModValues		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Implement the mod operation on XPath objects: @arg1 / @arg2 The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div><h3><a name="xmlXPathMultValues" id="xmlXPathMultValues"></a>Function: xmlXPathMultValues</h3><pre class="programlisting">void	xmlXPathMultValues		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Implement the multiply operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div><h3><a name="xmlXPathNamespaceURIFunction" id="xmlXPathNamespaceURIFunction"></a>Function: xmlXPathNamespaceURIFunction</h3><pre class="programlisting">void	xmlXPathNamespaceURIFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathNewBoolean" id="xmlXPathNewBoolean"></a>Function: xmlXPathNewBoolean</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewBoolean	(int val)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type boolean and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the boolean value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathNewCString" id="xmlXPathNewCString"></a>Function: xmlXPathNewCString</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewCString	(const char * val)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the char * value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathNewFloat" id="xmlXPathNewFloat"></a>Function: xmlXPathNewFloat</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewFloat	(double val)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type double and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathNewNodeSet" id="xmlXPathNewNodeSet"></a>Function: xmlXPathNewNodeSet</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewNodeSet	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and initialize it with the single Node @val</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the NodePtr value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathNewNodeSetList" id="xmlXPathNewNodeSetList"></a>Function: xmlXPathNewNodeSetList</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewNodeSetList	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and initialize it with the Nodeset @val</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an existing NodeSet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathNewParserContext" id="xmlXPathNewParserContext"></a>Function: xmlXPathNewParserContext</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>	xmlXPathNewParserContext	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />							 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> just allocated.</td></tr></tbody></table></div><h3><a name="xmlXPathNewString" id="xmlXPathNewString"></a>Function: xmlXPathNewString</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewString	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathNewValueTree" id="xmlXPathNewValueTree"></a>Function: xmlXPathNewValueTree</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewValueTree	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type Value Tree (XSLT) and initialize it with the tree root @val</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the NodePtr value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathNextAncestor" id="xmlXPathNextAncestor"></a>Function: xmlXPathNextAncestor</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAncestor	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "ancestor" 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'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's parent is the second node on the axis</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextAncestorOrSelf" id="xmlXPathNextAncestorOrSelf"></a>Function: xmlXPathNextAncestorOrSelf</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAncestorOrSelf	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "ancestor-or-self" 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's parent the second; parent here is defined the same as with the parent axis.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextAttribute" id="xmlXPathNextAttribute"></a>Function: xmlXPathNextAttribute</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAttribute	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "attribute" direction TODO: support DTD inherited default attributes</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current <a href="libxml-SAX.html#attribute">attribute</a> in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextChild" id="xmlXPathNextChild"></a>Function: xmlXPathNextChild</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextChild	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "child" direction The child axis contains the children of the context node in document order.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextDescendant" id="xmlXPathNextDescendant"></a>Function: xmlXPathNextDescendant</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextDescendant	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "descendant" 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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextDescendantOrSelf" id="xmlXPathNextDescendantOrSelf"></a>Function: xmlXPathNextDescendantOrSelf</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextDescendantOrSelf	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "descendant-or-self" 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</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextFollowing" id="xmlXPathNextFollowing"></a>Function: xmlXPathNextFollowing</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextFollowing	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "following" 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 <a href="libxml-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in document order</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextFollowingSibling" id="xmlXPathNextFollowingSibling"></a>Function: xmlXPathNextFollowingSibling</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextFollowingSibling	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "following-sibling" direction The following-sibling axis contains the following siblings of the context node in document order.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextNamespace" id="xmlXPathNextNamespace"></a>Function: xmlXPathNextNamespace</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextNamespace	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "namespace" 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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current <a href="libxml-SAX.html#attribute">attribute</a> in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextParent" id="xmlXPathNextParent"></a>Function: xmlXPathNextParent</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextParent	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "parent" direction The parent axis contains the parent of the context node, if there is one.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextPreceding" id="xmlXPathNextPreceding"></a>Function: xmlXPathNextPreceding</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextPreceding	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "preceding" 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 <a href="libxml-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in reverse document order</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextPrecedingSibling" id="xmlXPathNextPrecedingSibling"></a>Function: xmlXPathNextPrecedingSibling</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextPrecedingSibling	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "preceding-sibling" 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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNextSelf" id="xmlXPathNextSelf"></a>Function: xmlXPathNextSelf</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextSelf	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
-</pre><p>Traversal function for the "self" direction The self axis contains just the context node itself</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that axis</td></tr></tbody></table></div><h3><a name="xmlXPathNodeLeading" id="xmlXPathNodeLeading"></a>Function: xmlXPathNodeLeading</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeLeading	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes is sorted by document order, then #exslSetsNodeLeadingSorted is called.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td></tr></tbody></table></div><h3><a name="xmlXPathNodeLeadingSorted" id="xmlXPathNodeLeadingSorted"></a>Function: xmlXPathNodeLeadingSorted</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeLeadingSorted	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td></tr></tbody></table></div><h3><a name="xmlXPathNodeSetAdd" id="xmlXPathNodeSetAdd"></a>Function: xmlXPathNodeSetAdd</h3><pre class="programlisting">int	xmlXPathNodeSetAdd		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br />
-</pre><p>add a new <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial node set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a new <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a></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><h3><a name="xmlXPathNodeSetAddNs" id="xmlXPathNodeSetAddNs"></a>Function: xmlXPathNodeSetAddNs</h3><pre class="programlisting">int	xmlXPathNodeSetAddNs		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br />
-</pre><p>add a new namespace node to an existing NodeSet</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial node set</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the hosting node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a the namespace node</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><h3><a name="xmlXPathNodeSetAddUnique" id="xmlXPathNodeSetAddUnique"></a>Function: xmlXPathNodeSetAddUnique</h3><pre class="programlisting">int	xmlXPathNodeSetAddUnique	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br />
-</pre><p>add a new <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet, optimized version when we are sure the node is not already in the set.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial node set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a new <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a></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 failure</td></tr></tbody></table></div><h3><a name="xmlXPathNodeSetContains" id="xmlXPathNodeSetContains"></a>Function: xmlXPathNodeSetContains</h3><pre class="programlisting">int	xmlXPathNodeSetContains		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br />
-</pre><p>checks whether @cur contains @val</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node-set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true (1) if @cur contains @val, false (0) otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathNodeSetDel" id="xmlXPathNodeSetDel"></a>Function: xmlXPathNodeSetDel</h3><pre class="programlisting">void	xmlXPathNodeSetDel		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br />
-</pre><p>Removes an <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from an existing NodeSet</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial node set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a></td></tr></tbody></table></div><h3><a name="xmlXPathNodeSetFreeNs" id="xmlXPathNodeSetFreeNs"></a>Function: xmlXPathNodeSetFreeNs</h3><pre class="programlisting">void	xmlXPathNodeSetFreeNs		(<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br />
-</pre><p>Namespace nodes in libxml don'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</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the XPath namespace node found in a nodeset.</td></tr></tbody></table></div><h3><a name="xmlXPathNodeSetMerge" id="xmlXPathNodeSetMerge"></a>Function: xmlXPathNodeSetMerge</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeSetMerge	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2)<br />
-</pre><p>Merges two nodesets, all nodes from @val2 are added to @val1 if @val1 is NULL, a new set is created and copied from @val2</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val1</tt></i>:</span></td><td>the first NodeSet or NULL</td></tr><tr><td><span class="term"><i><tt>val2</tt></i>:</span></td><td>the second NodeSet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>@val1 once extended or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlXPathNodeSetRemove" id="xmlXPathNodeSetRemove"></a>Function: xmlXPathNodeSetRemove</h3><pre class="programlisting">void	xmlXPathNodeSetRemove		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br />					 int val)<br />
-</pre><p>Removes an entry from an existing NodeSet list.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial node set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the index to remove</td></tr></tbody></table></div><h3><a name="xmlXPathNodeSetSort" id="xmlXPathNodeSetSort"></a>Function: xmlXPathNodeSetSort</h3><pre class="programlisting">void	xmlXPathNodeSetSort		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br />
-</pre><p>Sort the node set in document order</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>set</tt></i>:</span></td><td>the node set</td></tr></tbody></table></div><h3><a name="xmlXPathNodeTrailing" id="xmlXPathNodeTrailing"></a>Function: xmlXPathNodeTrailing</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeTrailing	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes is sorted by document order, then #xmlXPathNodeTrailingSorted is called.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td></tr></tbody></table></div><h3><a name="xmlXPathNodeTrailingSorted" id="xmlXPathNodeTrailingSorted"></a>Function: xmlXPathNodeTrailingSorted</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeTrailingSorted	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td></tr></tbody></table></div><h3><a name="xmlXPathNormalizeFunction" id="xmlXPathNormalizeFunction"></a>Function: xmlXPathNormalizeFunction</h3><pre class="programlisting">void	xmlXPathNormalizeFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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 <a href="libxml-SAX.html#characters">characters</a> by a single space. Whitespace <a href="libxml-SAX.html#characters">characters</a> 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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathNotEqualValues" id="xmlXPathNotEqualValues"></a>Function: xmlXPathNotEqualValues</h3><pre class="programlisting">int	xmlXPathNotEqualValues		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Implement the equal operation on XPath objects content: @arg1 == @arg2</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the results of the test.</td></tr></tbody></table></div><h3><a name="xmlXPathNotFunction" id="xmlXPathNotFunction"></a>Function: xmlXPathNotFunction</h3><pre class="programlisting">void	xmlXPathNotFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the not() XPath function boolean not(boolean) The not function returns true if its argument is false, and false otherwise.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathNsLookup" id="xmlXPathNsLookup"></a>Function: xmlXPathNsLookup</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathNsLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br />
-</pre><p>Search in the namespace declaration array of the context for the given namespace name associated to the given prefix</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlXPathNumberFunction" id="xmlXPathNumberFunction"></a>Function: xmlXPathNumberFunction</h3><pre class="programlisting">void	xmlXPathNumberFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the number() XPath function number number(object?)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathParseNCName" id="xmlXPathParseNCName"></a>Function: xmlXPathParseNCName</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathParseNCName	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>parse an XML namespace non qualified name. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace name or NULL</td></tr></tbody></table></div><h3><a name="xmlXPathParseName" id="xmlXPathParseName"></a>Function: xmlXPathParseName</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathParseName	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>parse an XML name [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)*</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace name or NULL</td></tr></tbody></table></div><h3><a name="xmlXPathPopBoolean" id="xmlXPathPopBoolean"></a>Function: xmlXPathPopBoolean</h3><pre class="programlisting">int	xmlXPathPopBoolean		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Pops a boolean from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean</td></tr></tbody></table></div><h3><a name="xmlXPathPopExternal" id="xmlXPathPopExternal"></a>Function: xmlXPathPopExternal</h3><pre class="programlisting">void *	xmlXPathPopExternal		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Pops an external object from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the object</td></tr></tbody></table></div><h3><a name="xmlXPathPopNodeSet" id="xmlXPathPopNodeSet"></a>Function: xmlXPathPopNodeSet</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathPopNodeSet	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Pops a node-set from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node-set</td></tr></tbody></table></div><h3><a name="xmlXPathPopNumber" id="xmlXPathPopNumber"></a>Function: xmlXPathPopNumber</h3><pre class="programlisting">double	xmlXPathPopNumber		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Pops a number from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number</td></tr></tbody></table></div><h3><a name="xmlXPathPopString" id="xmlXPathPopString"></a>Function: xmlXPathPopString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathPopString	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Pops a string from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string</td></tr></tbody></table></div><h3><a name="xmlXPathPositionFunction" id="xmlXPathPositionFunction"></a>Function: xmlXPathPositionFunction</h3><pre class="programlisting">void	xmlXPathPositionFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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().</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterAllFunctions" id="xmlXPathRegisterAllFunctions"></a>Function: xmlXPathRegisterAllFunctions</h3><pre class="programlisting">void	xmlXPathRegisterAllFunctions	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br />
-</pre><p>Registers all default XPath functions in this context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterFunc" id="xmlXPathRegisterFunc"></a>Function: xmlXPathRegisterFunc</h3><pre class="programlisting">int	xmlXPathRegisterFunc		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br />
-</pre><p>Register a new function. If @f is NULL it unregisters the function</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the function implementation or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterFuncLookup" id="xmlXPathRegisterFuncLookup"></a>Function: xmlXPathRegisterFuncLookup</h3><pre class="programlisting">void	xmlXPathRegisterFuncLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br />					 void * funcCtxt)<br />
-</pre><p>Registers an external mechanism to do function lookup.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the lookup function</td></tr><tr><td><span class="term"><i><tt>funcCtxt</tt></i>:</span></td><td>the lookup data</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterFuncNS" id="xmlXPathRegisterFuncNS"></a>Function: xmlXPathRegisterFuncNS</h3><pre class="programlisting">int	xmlXPathRegisterFuncNS		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br />					 <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br />
-</pre><p>Register a new function. If @f is NULL it unregisters the function</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the function namespace URI</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the function implementation or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterNs" id="xmlXPathRegisterNs"></a>Function: xmlXPathRegisterNs</h3><pre class="programlisting">int	xmlXPathRegisterNs		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br />
-</pre><p>Register a new namespace. If @ns_uri is NULL it unregisters the namespace</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix cannot be NULL or empty string</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterVariable" id="xmlXPathRegisterVariable"></a>Function: xmlXPathRegisterVariable</h3><pre class="programlisting">int	xmlXPathRegisterVariable	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br />
-</pre><p>Register a new variable value. If @value is NULL it unregisters the variable</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the variable value or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterVariableLookup" id="xmlXPathRegisterVariableLookup"></a>Function: xmlXPathRegisterVariableLookup</h3><pre class="programlisting">void	xmlXPathRegisterVariableLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br />					 void * data)<br />
-</pre><p>register an external mechanism to do variable lookup</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the lookup function</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the lookup data</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterVariableNS" id="xmlXPathRegisterVariableNS"></a>Function: xmlXPathRegisterVariableNS</h3><pre class="programlisting">int	xmlXPathRegisterVariableNS	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br />
-</pre><p>Register a new variable value. If @value is NULL it unregisters the variable</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the variable namespace URI</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the variable value or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlXPathRegisteredFuncsCleanup" id="xmlXPathRegisteredFuncsCleanup"></a>Function: xmlXPathRegisteredFuncsCleanup</h3><pre class="programlisting">void	xmlXPathRegisteredFuncsCleanup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br />
-</pre><p>Cleanup the XPath context data associated to registered functions</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div><h3><a name="xmlXPathRegisteredNsCleanup" id="xmlXPathRegisteredNsCleanup"></a>Function: xmlXPathRegisteredNsCleanup</h3><pre class="programlisting">void	xmlXPathRegisteredNsCleanup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br />
-</pre><p>Cleanup the XPath context data associated to registered variables</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div><h3><a name="xmlXPathRegisteredVariablesCleanup" id="xmlXPathRegisteredVariablesCleanup"></a>Function: xmlXPathRegisteredVariablesCleanup</h3><pre class="programlisting">void	xmlXPathRegisteredVariablesCleanup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br />
-</pre><p>Cleanup the XPath context data associated to registered variables</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div><h3><a name="xmlXPathRoot" id="xmlXPathRoot"></a>Function: xmlXPathRoot</h3><pre class="programlisting">void	xmlXPathRoot			(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Initialize the context to the root of the document</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div><h3><a name="xmlXPathRoundFunction" id="xmlXPathRoundFunction"></a>Function: xmlXPathRoundFunction</h3><pre class="programlisting">void	xmlXPathRoundFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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 closest to positive infinity is returned.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathStartsWithFunction" id="xmlXPathStartsWithFunction"></a>Function: xmlXPathStartsWithFunction</h3><pre class="programlisting">void	xmlXPathStartsWithFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathStringEvalNumber" id="xmlXPathStringEvalNumber"></a>Function: xmlXPathStringEvalNumber</h3><pre class="programlisting">double	xmlXPathStringEvalNumber	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
-</pre><p>[30a] Float ::= Number ('e' Digits?)? [30] Number ::= Digits ('.' Digits?)? | '.' Digits [31] Digits ::= [0-9]+ Compile a Number in the string In complement of the Number expression, this function also handles negative values : '-' Number.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>A string to scan</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the double value.</td></tr></tbody></table></div><h3><a name="xmlXPathStringFunction" id="xmlXPathStringFunction"></a>Function: xmlXPathStringFunction</h3><pre class="programlisting">void	xmlXPathStringFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathStringLengthFunction" id="xmlXPathStringLengthFunction"></a>Function: xmlXPathStringLengthFunction</h3><pre class="programlisting">void	xmlXPathStringLengthFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the string-length() XPath function number string-length(string?) The string-length returns the number of <a href="libxml-SAX.html#characters">characters</a> 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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathSubValues" id="xmlXPathSubValues"></a>Function: xmlXPathSubValues</h3><pre class="programlisting">void	xmlXPathSubValues		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Implement the subtraction operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div><h3><a name="xmlXPathSubstringAfterFunction" id="xmlXPathSubstringAfterFunction"></a>Function: xmlXPathSubstringAfterFunction</h3><pre class="programlisting">void	xmlXPathSubstringAfterFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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("1999/04/01","/") returns 04/01, and substring-after("1999/04/01","19") returns 99/04/01.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathSubstringBeforeFunction" id="xmlXPathSubstringBeforeFunction"></a>Function: xmlXPathSubstringBeforeFunction</h3><pre class="programlisting">void	xmlXPathSubstringBeforeFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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("1999/04/01","/") returns 1999.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathSubstringFunction" id="xmlXPathSubstringFunction"></a>Function: xmlXPathSubstringFunction</h3><pre class="programlisting">void	xmlXPathSubstringFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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("12345",2,3) returns "234". 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("12345",2) returns "2345". 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 <a href="libxml-SAX.html#characters">characters</a> 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("12345", 1.5, 2.6) returns "234" - substring("12345", 0, 3) returns "12" - substring("12345", 0 div 0, 3) returns "" - substring("12345", 1, 0 div 0) returns "" - substring("12345", -42, 1 div 0) returns "12345" - substring("12345", -1 div 0, 1 div 0) returns ""</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathSumFunction" id="xmlXPathSumFunction"></a>Function: xmlXPathSumFunction</h3><pre class="programlisting">void	xmlXPathSumFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathTrailing" id="xmlXPathTrailing"></a>Function: xmlXPathTrailing</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathTrailing	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br />
-</pre><p>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.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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't contain @nodes2</td></tr></tbody></table></div><h3><a name="xmlXPathTrailingSorted" id="xmlXPathTrailingSorted"></a>Function: xmlXPathTrailingSorted</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathTrailingSorted	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br />
-</pre><p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set, sorted by document order</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>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't contain @nodes2</td></tr></tbody></table></div><h3><a name="xmlXPathTranslateFunction" id="xmlXPathTranslateFunction"></a>Function: xmlXPathTranslateFunction</h3><pre class="programlisting">void	xmlXPathTranslateFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the translate() XPath function string translate(string, string, string) The translate function returns the first argument string with occurrences of <a href="libxml-SAX.html#characters">characters</a> in the second argument string replaced by the character at the corresponding position in the third argument string. For example, translate("bar","abc","ABC") 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("--aaa--","abc-","ABC")</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathTrueFunction" id="xmlXPathTrueFunction"></a>Function: xmlXPathTrueFunction</h3><pre class="programlisting">void	xmlXPathTrueFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the true() XPath function boolean true()</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathValueFlipSign" id="xmlXPathValueFlipSign"></a>Function: xmlXPathValueFlipSign</h3><pre class="programlisting">void	xmlXPathValueFlipSign		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>Implement the unary - operation on an XPath object The numeric operators convert their operands to numbers as if by calling the number function.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div><h3><a name="xmlXPathVariableLookup" id="xmlXPathVariableLookup"></a>Function: xmlXPathVariableLookup</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
-</pre><p>Search in the Variable array of the context for the given variable value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the value or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlXPathVariableLookupNS" id="xmlXPathVariableLookupNS"></a>Function: xmlXPathVariableLookupNS</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupNS	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br />
-</pre><p>Search in the Variable array of the context for the given variable value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the variable namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the a copy of the value or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlXPathWrapCString" id="xmlXPathWrapCString"></a>Function: xmlXPathWrapCString</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapCString	(char * val)<br />
-</pre><p>Wraps a string into an XPath object.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the char * value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathWrapExternal" id="xmlXPathWrapExternal"></a>Function: xmlXPathWrapExternal</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapExternal	(void * val)<br />
-</pre><p>Wraps the @val data into an XPath object.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the user data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathWrapNodeSet" id="xmlXPathWrapNodeSet"></a>Function: xmlXPathWrapNodeSet</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapNodeSet	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br />
-</pre><p>Wrap the Nodeset @val in a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the NodePtr value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathWrapString" id="xmlXPathWrapString"></a>Function: xmlXPathWrapString</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapString	(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * val)<br />
-</pre><p>Wraps the @val string into an XPath object.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPatherror" id="xmlXPatherror"></a>Function: xmlXPatherror</h3><pre class="programlisting">void	xmlXPatherror			(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 const char * file, <br />					 int line, <br />					 int no)<br />
-</pre><p>Formats an error message.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file name</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>no</tt></i>:</span></td><td>the error number</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>
diff --git a/doc/html/libxml-xpointer.html b/doc/html/libxml-xpointer.html
deleted file mode 100644
index d38b409..0000000
--- a/doc/html/libxml-xpointer.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xpointer from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpointer from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpathInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xpathInternals.html">xpathInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th></tr></table><p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000</p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlLocationSet">xmlLocationSet</a><br />struct _xmlLocationSet
-</pre><pre class="programlisting">Typedef <a href="libxml-xpointer.html#xmlLocationSet">xmlLocationSet</a> * <a name="xmlLocationSetPtr" id="xmlLocationSetPtr">xmlLocationSetPtr</a>
-</pre><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrEval">xmlXPtrEval</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)</pre>
-<pre class="programlisting">void	<a href="#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">void	<a href="#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a>		(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj)</pre>
-<pre class="programlisting">void	<a href="#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a>		(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)</pre>
-<pre class="programlisting"><a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)</pre>
-<pre class="programlisting">void	<a href="#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a>		(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)</pre>
-<pre class="programlisting"><a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a>	(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br />						 <a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2)</pre>
-<pre class="programlisting">void	<a href="#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a>	(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br />					 int val)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	<a href="#xmlXPtrNewContext">xmlXPtrNewContext</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> origin)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a>	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br />							 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRange">xmlXPtrNewRange</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br />					 int startindex, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br />					 int endindex)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br />							 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br />							 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br />							 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br />						 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)</pre>
-<pre class="programlisting">void	<a href="#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
-<pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a>	(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val)</pre>
-<h2>Description</h2>
-<h3><a name="xmlLocationSet" id="xmlLocationSet">Structure xmlLocationSet</a></h3><pre class="programlisting">Structure xmlLocationSet<br />struct _xmlLocationSet {
-    int	locNr	: number of locations in the set
-    int	locMax	: size of the array as allocated
-    <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> *	locTab	: array of locations
-}</pre><h3><a name="xmlXPtrBuildNodeList" id="xmlXPtrBuildNodeList"></a>Function: xmlXPtrBuildNodeList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPtrBuildNodeList	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br />
-</pre><p>Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the XPointer result from the evaluation.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list or NULL. the caller has to free the node tree.</td></tr></tbody></table></div><h3><a name="xmlXPtrEval" id="xmlXPtrEval"></a>Function: xmlXPtrEval</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrEval	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br />
-</pre><p>Evaluate the XPath Location Path in the given context.</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 XPointer expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPointer context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div><h3><a name="xmlXPtrEvalRangePredicate" id="xmlXPtrEvalRangePredicate"></a>Function: xmlXPtrEvalRangePredicate</h3><pre class="programlisting">void	xmlXPtrEvalRangePredicate	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
-</pre><p>[8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPointer Parser context</td></tr></tbody></table></div><h3><a name="xmlXPtrFreeLocationSet" id="xmlXPtrFreeLocationSet"></a>Function: xmlXPtrFreeLocationSet</h3><pre class="programlisting">void	xmlXPtrFreeLocationSet		(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj)<br />
-</pre><p>Free the LocationSet compound (not the actual ranges !).</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the <a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> to free</td></tr></tbody></table></div><h3><a name="xmlXPtrLocationSetAdd" id="xmlXPtrLocationSetAdd"></a>Function: xmlXPtrLocationSetAdd</h3><pre class="programlisting">void	xmlXPtrLocationSetAdd		(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br />
-</pre><p>add a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> to an existing LocationSet If the location already exist in the set @val is freed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial range set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></td></tr></tbody></table></div><h3><a name="xmlXPtrLocationSetCreate" id="xmlXPtrLocationSetCreate"></a>Function: xmlXPtrLocationSetCreate</h3><pre class="programlisting"><a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetCreate	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br />
-</pre><p>Create a new <a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> of type double and of value @val</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an initial xmlXPathObjectPtr, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrLocationSetDel" id="xmlXPtrLocationSetDel"></a>Function: xmlXPtrLocationSetDel</h3><pre class="programlisting">void	xmlXPtrLocationSetDel		(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br />
-</pre><p>Removes an <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from an existing LocationSet</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial range set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></td></tr></tbody></table></div><h3><a name="xmlXPtrLocationSetMerge" id="xmlXPtrLocationSetMerge"></a>Function: xmlXPtrLocationSetMerge</h3><pre class="programlisting"><a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetMerge	(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br />						 <a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2)<br />
-</pre><p>Merges two rangesets, all ranges from @val2 are added to @val1</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val1</tt></i>:</span></td><td>the first LocationSet</td></tr><tr><td><span class="term"><i><tt>val2</tt></i>:</span></td><td>the second LocationSet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>val1 once extended or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlXPtrLocationSetRemove" id="xmlXPtrLocationSetRemove"></a>Function: xmlXPtrLocationSetRemove</h3><pre class="programlisting">void	xmlXPtrLocationSetRemove	(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br />					 int val)<br />
-</pre><p>Removes an entry from an existing LocationSet list.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the initial range set</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the index to remove</td></tr></tbody></table></div><h3><a name="xmlXPtrNewCollapsedRange" id="xmlXPtrNewCollapsedRange"></a>Function: xmlXPtrNewCollapsedRange</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewCollapsedRange	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using a single nodes</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting and ending node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrNewContext" id="xmlXPtrNewContext"></a>Function: xmlXPtrNewContext</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPtrNewContext	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> origin)<br />
-</pre><p>Create a new XPointer context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document</td></tr><tr><td><span class="term"><i><tt>here</tt></i>:</span></td><td>the node that directly contains the XPointer being evaluated or NULL</td></tr><tr><td><span class="term"><i><tt>origin</tt></i>:</span></td><td>the element from which a user or program initiated traversal of the link, or NULL.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated.</td></tr></tbody></table></div><h3><a name="xmlXPtrNewLocationSetNodeSet" id="xmlXPtrNewLocationSetNodeSet"></a>Function: xmlXPtrNewLocationSetNodeSet</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodeSet	(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with all the nodes from @set</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>set</tt></i>:</span></td><td>a node set</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrNewLocationSetNodes" id="xmlXPtrNewLocationSetNodes"></a>Function: xmlXPtrNewLocationSetNodes</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodes	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br />							 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with the single range made of the two nodes @start and @end</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the start NodePtr value</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the end NodePtr value or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrNewRange" id="xmlXPtrNewRange"></a>Function: xmlXPtrNewRange</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRange	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br />					 int startindex, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br />					 int endindex)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting node</td></tr><tr><td><span class="term"><i><tt>startindex</tt></i>:</span></td><td>the start index</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending point</td></tr><tr><td><span class="term"><i><tt>endindex</tt></i>:</span></td><td>the ending index</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrNewRangeNodeObject" id="xmlXPtrNewRangeNodeObject"></a>Function: xmlXPtrNewRangeNodeObject</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodeObject	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br />							 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a not to an object</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting node</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrNewRangeNodePoint" id="xmlXPtrNewRangeNodePoint"></a>Function: xmlXPtrNewRangeNodePoint</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodePoint	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br />							 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a node to a point</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting node</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrNewRangeNodes" id="xmlXPtrNewRangeNodes"></a>Function: xmlXPtrNewRangeNodes</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodes	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 nodes</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting node</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrNewRangePointNode" id="xmlXPtrNewRangePointNode"></a>Function: xmlXPtrNewRangePointNode</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePointNode	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br />							 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a point to a node</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting point</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrNewRangePoints" id="xmlXPtrNewRangePoints"></a>Function: xmlXPtrNewRangePoints</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePoints	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br />						 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br />
-</pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 Points</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting point</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrRangeToFunction" id="xmlXPtrRangeToFunction"></a>Function: xmlXPtrRangeToFunction</h3><pre class="programlisting">void	xmlXPtrRangeToFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the range-to() XPointer function Obsolete. range-to is not a real function but a special type of location step which is handled in xpath.c.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPointer Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of args</td></tr></tbody></table></div><h3><a name="xmlXPtrWrapLocationSet" id="xmlXPtrWrapLocationSet"></a>Function: xmlXPtrWrapLocationSet</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrWrapLocationSet	(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val)<br />
-</pre><p>Wrap the LocationSet @val in a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the LocationSet value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</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>
diff --git a/doc/html/libxml.devhelp b/doc/html/libxml.devhelp
deleted file mode 100644
index d26d4d8..0000000
--- a/doc/html/libxml.devhelp
+++ /dev/null
@@ -1,618 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<book xmlns="http://www.devhelp.net/book" title="Gnome XML Library Reference Manual " link="index.html" version="2" author="" name="libxml">
-  <chapters>
-    <sub name="Libxml Programming Notes" link="ch01.html">
-      <sub name="testOOMlib" link="libxml-testOOMlib.html"/>
-      <sub name="wincecompat" link="libxml-wincecompat.html"/>
-      <sub name="wsockcompat" link="libxml-wsockcompat.html"/>
-      <sub name="encoding" link="libxml-encoding.html"/>
-      <sub name="xmlregexp" link="libxml-xmlregexp.html"/>
-      <sub name="xmlmemory" link="libxml-xmlmemory.html"/>
-      <sub name="xmlIO" link="libxml-xmlIO.html"/>
-      <sub name="xpath" link="libxml-xpath.html"/>
-      <sub name="chvalid" link="libxml-chvalid.html"/>
-      <sub name="uri" link="libxml-uri.html"/>
-      <sub name="nanoftp" link="libxml-nanoftp.html"/>
-      <sub name="schemasInternals" link="libxml-schemasInternals.html"/>
-      <sub name="threads" link="libxml-threads.html"/>
-      <sub name="parser" link="libxml-parser.html"/>
-      <sub name="c14n" link="libxml-c14n.html"/>
-      <sub name="xmlerror" link="libxml-xmlerror.html"/>
-      <sub name="xmlwin32version" link="libxml-xmlwin32version.html"/>
-      <sub name="DOCBparser" link="libxml-DOCBparser.html"/>
-      <sub name="dict" link="libxml-dict.html"/>
-      <sub name="xmlautomata" link="libxml-xmlautomata.html"/>
-      <sub name="xpointer" link="libxml-xpointer.html"/>
-      <sub name="hash" link="libxml-hash.html"/>
-      <sub name="relaxng" link="libxml-relaxng.html"/>
-      <sub name="xpathInternals" link="libxml-xpathInternals.html"/>
-      <sub name="xmlversion" link="libxml-xmlversion.html"/>
-      <sub name="list" link="libxml-list.html"/>
-      <sub name="HTMLtree" link="libxml-HTMLtree.html"/>
-      <sub name="parserInternals" link="libxml-parserInternals.html"/>
-      <sub name="entities" link="libxml-entities.html"/>
-      <sub name="HTMLparser" link="libxml-HTMLparser.html"/>
-      <sub name="valid" link="libxml-valid.html"/>
-      <sub name="catalog" link="libxml-catalog.html"/>
-      <sub name="tree" link="libxml-tree.html"/>
-      <sub name="globals" link="libxml-globals.html"/>
-      <sub name="xmlexports" link="libxml-xmlexports.html"/>
-      <sub name="xinclude" link="libxml-xinclude.html"/>
-      <sub name="xmlreader" link="libxml-xmlreader.html"/>
-      <sub name="debugXML" link="libxml-debugXML.html"/>
-      <sub name="xmlwriter" link="libxml-xmlwriter.html"/>
-      <sub name="xmlschemas" link="libxml-xmlschemas.html"/>
-    </sub>
-  </chapters>
-  <functions>
-    <function name="test_malloc ()" link="libxml-testOOMlib.html#test-malloc"/>
-    <function name="test_realloc ()" link="libxml-testOOMlib.html#test-realloc"/>
-    <function name="test_free ()" link="libxml-testOOMlib.html#test-free"/>
-    <function name="test_strdup ()" link="libxml-testOOMlib.html#test-strdup"/>
-    <function name="TestMemoryFunction ()" link="libxml-testOOMlib.html#TestMemoryFunction"/>
-    <function name="test_oom_handling ()" link="libxml-testOOMlib.html#test-oom-handling"/>
-    <function name="test_get_malloc_blocks_outstanding ()" link="libxml-testOOMlib.html#test-get-malloc-blocks-outstanding"/>
-    <function name="MAX_STRERROR" link="libxml-wincecompat.html#MAX-STRERROR-CAPS"/>
-    <function name="O_RDONLY" link="libxml-wincecompat.html#O-RDONLY-CAPS"/>
-    <function name="O_WRONLY" link="libxml-wincecompat.html#O-WRONLY-CAPS"/>
-    <function name="O_RDWR" link="libxml-wincecompat.html#O-RDWR-CAPS"/>
-    <function name="O_APPEND" link="libxml-wincecompat.html#O-APPEND-CAPS"/>
-    <function name="O_CREAT" link="libxml-wincecompat.html#O-CREAT-CAPS"/>
-    <function name="O_TRUNC" link="libxml-wincecompat.html#O-TRUNC-CAPS"/>
-    <function name="O_EXCL" link="libxml-wincecompat.html#O-EXCL-CAPS"/>
-    <function name="errno" link="libxml-wincecompat.html#errno"/>
-    <function name="read ()" link="libxml-wincecompat.html#read"/>
-    <function name="write ()" link="libxml-wincecompat.html#write"/>
-    <function name="open ()" link="libxml-wincecompat.html#open"/>
-    <function name="close ()" link="libxml-wincecompat.html#close"/>
-    <function name="getenv ()" link="libxml-wincecompat.html#getenv"/>
-    <function name="strerror ()" link="libxml-wincecompat.html#strerror"/>
-    <function name="snprintf" link="libxml-wincecompat.html#snprintf"/>
-    <function name="vsnprintf()" link="libxml-wincecompat.html#vsnprintf"/>
-    <function name="perror()" link="libxml-wincecompat.html#perror"/>
-    <function name="SOCKLEN_T" link="libxml-wsockcompat.html#SOCKLEN-T-CAPS"/>
-    <function name="EWOULDBLOCK" link="libxml-wsockcompat.html#EWOULDBLOCK-CAPS"/>
-    <function name="EINPROGRESS" link="libxml-wsockcompat.html#EINPROGRESS-CAPS"/>
-    <function name="EALREADY" link="libxml-wsockcompat.html#EALREADY-CAPS"/>
-    <function name="ENOTSOCK" link="libxml-wsockcompat.html#ENOTSOCK-CAPS"/>
-    <function name="EDESTADDRREQ" link="libxml-wsockcompat.html#EDESTADDRREQ-CAPS"/>
-    <function name="EMSGSIZE" link="libxml-wsockcompat.html#EMSGSIZE-CAPS"/>
-    <function name="EPROTOTYPE" link="libxml-wsockcompat.html#EPROTOTYPE-CAPS"/>
-    <function name="ENOPROTOOPT" link="libxml-wsockcompat.html#ENOPROTOOPT-CAPS"/>
-    <function name="EPROTONOSUPPORT" link="libxml-wsockcompat.html#EPROTONOSUPPORT-CAPS"/>
-    <function name="ESOCKTNOSUPPORT" link="libxml-wsockcompat.html#ESOCKTNOSUPPORT-CAPS"/>
-    <function name="EOPNOTSUPP" link="libxml-wsockcompat.html#EOPNOTSUPP-CAPS"/>
-    <function name="EPFNOSUPPORT" link="libxml-wsockcompat.html#EPFNOSUPPORT-CAPS"/>
-    <function name="EAFNOSUPPORT" link="libxml-wsockcompat.html#EAFNOSUPPORT-CAPS"/>
-    <function name="EADDRINUSE" link="libxml-wsockcompat.html#EADDRINUSE-CAPS"/>
-    <function name="EADDRNOTAVAIL" link="libxml-wsockcompat.html#EADDRNOTAVAIL-CAPS"/>
-    <function name="ENETDOWN" link="libxml-wsockcompat.html#ENETDOWN-CAPS"/>
-    <function name="ENETUNREACH" link="libxml-wsockcompat.html#ENETUNREACH-CAPS"/>
-    <function name="ENETRESET" link="libxml-wsockcompat.html#ENETRESET-CAPS"/>
-    <function name="ECONNABORTED" link="libxml-wsockcompat.html#ECONNABORTED-CAPS"/>
-    <function name="ECONNRESET" link="libxml-wsockcompat.html#ECONNRESET-CAPS"/>
-    <function name="ENOBUFS" link="libxml-wsockcompat.html#ENOBUFS-CAPS"/>
-    <function name="EISCONN" link="libxml-wsockcompat.html#EISCONN-CAPS"/>
-    <function name="ENOTCONN" link="libxml-wsockcompat.html#ENOTCONN-CAPS"/>
-    <function name="ESHUTDOWN" link="libxml-wsockcompat.html#ESHUTDOWN-CAPS"/>
-    <function name="ETOOMANYREFS" link="libxml-wsockcompat.html#ETOOMANYREFS-CAPS"/>
-    <function name="ETIMEDOUT" link="libxml-wsockcompat.html#ETIMEDOUT-CAPS"/>
-    <function name="ECONNREFUSED" link="libxml-wsockcompat.html#ECONNREFUSED-CAPS"/>
-    <function name="ELOOP" link="libxml-wsockcompat.html#ELOOP-CAPS"/>
-    <function name="EHOSTDOWN" link="libxml-wsockcompat.html#EHOSTDOWN-CAPS"/>
-    <function name="EHOSTUNREACH" link="libxml-wsockcompat.html#EHOSTUNREACH-CAPS"/>
-    <function name="EPROCLIM" link="libxml-wsockcompat.html#EPROCLIM-CAPS"/>
-    <function name="EUSERS" link="libxml-wsockcompat.html#EUSERS-CAPS"/>
-    <function name="EDQUOT" link="libxml-wsockcompat.html#EDQUOT-CAPS"/>
-    <function name="ESTALE" link="libxml-wsockcompat.html#ESTALE-CAPS"/>
-    <function name="EREMOTE" link="libxml-wsockcompat.html#EREMOTE-CAPS"/>
-    <function name="enum xmlCharEncoding" link="libxml-encoding.html#xmlCharEncoding"/>
-    <function name="xmlCharEncodingInputFunc ()" link="libxml-encoding.html#xmlCharEncodingInputFunc"/>
-    <function name="xmlCharEncodingOutputFunc ()" link="libxml-encoding.html#xmlCharEncodingOutputFunc"/>
-    <function name="struct xmlCharEncodingHandler" link="libxml-encoding.html#xmlCharEncodingHandler"/>
-    <function name="xmlCharEncodingHandlerPtr" link="libxml-encoding.html#xmlCharEncodingHandlerPtr"/>
-    <function name="struct xmlRegexp" link="libxml-xmlregexp.html#xmlRegexp"/>
-    <function name="xmlRegexpPtr" link="libxml-xmlregexp.html#xmlRegexpPtr"/>
-    <function name="struct xmlRegExecCtxt" link="libxml-xmlregexp.html#xmlRegExecCtxt"/>
-    <function name="xmlRegExecCtxtPtr" link="libxml-xmlregexp.html#xmlRegExecCtxtPtr"/>
-    <function name="xmlRegExecCallbacks ()" link="libxml-xmlregexp.html#xmlRegExecCallbacks"/>
-    <function name="DEBUG_MEMORY" link="libxml-xmlmemory.html#DEBUG-MEMORY-CAPS"/>
-    <function name="xmlFreeFunc ()" link="libxml-xmlmemory.html#xmlFreeFunc"/>
-    <function name="xmlMallocFunc ()" link="libxml-xmlmemory.html#xmlMallocFunc"/>
-    <function name="xmlReallocFunc ()" link="libxml-xmlmemory.html#xmlReallocFunc"/>
-    <function name="xmlStrdupFunc ()" link="libxml-xmlmemory.html#xmlStrdupFunc"/>
-    <function name="xmlMalloc()" link="libxml-xmlmemory.html#xmlMalloc"/>
-    <function name="xmlMallocAtomic()" link="libxml-xmlmemory.html#xmlMallocAtomic"/>
-    <function name="xmlRealloc()" link="libxml-xmlmemory.html#xmlRealloc"/>
-    <function name="xmlMemStrdup()" link="libxml-xmlmemory.html#xmlMemStrdup"/>
-    <function name="xmlInputMatchCallback ()" link="libxml-xmlIO.html#xmlInputMatchCallback"/>
-    <function name="xmlInputOpenCallback ()" link="libxml-xmlIO.html#xmlInputOpenCallback"/>
-    <function name="xmlInputReadCallback ()" link="libxml-xmlIO.html#xmlInputReadCallback"/>
-    <function name="xmlInputCloseCallback ()" link="libxml-xmlIO.html#xmlInputCloseCallback"/>
-    <function name="xmlOutputMatchCallback ()" link="libxml-xmlIO.html#xmlOutputMatchCallback"/>
-    <function name="xmlOutputOpenCallback ()" link="libxml-xmlIO.html#xmlOutputOpenCallback"/>
-    <function name="xmlOutputWriteCallback ()" link="libxml-xmlIO.html#xmlOutputWriteCallback"/>
-    <function name="xmlOutputCloseCallback ()" link="libxml-xmlIO.html#xmlOutputCloseCallback"/>
-    <function name="struct xmlParserInputBuffer" link="libxml-xmlIO.html#xmlParserInputBuffer"/>
-    <function name="struct xmlOutputBuffer" link="libxml-xmlIO.html#xmlOutputBuffer"/>
-    <function name="struct xmlXPathContext" link="libxml-xpath.html#xmlXPathContext"/>
-    <function name="xmlXPathContextPtr" link="libxml-xpath.html#xmlXPathContextPtr"/>
-    <function name="struct xmlXPathParserContext" link="libxml-xpath.html#xmlXPathParserContext"/>
-    <function name="xmlXPathParserContextPtr" link="libxml-xpath.html#xmlXPathParserContextPtr"/>
-    <function name="enum xmlXPathError" link="libxml-xpath.html#xmlXPathError"/>
-    <function name="struct xmlNodeSet" link="libxml-xpath.html#xmlNodeSet"/>
-    <function name="xmlNodeSetPtr" link="libxml-xpath.html#xmlNodeSetPtr"/>
-    <function name="enum xmlXPathObjectType" link="libxml-xpath.html#xmlXPathObjectType"/>
-    <function name="struct xmlXPathObject" link="libxml-xpath.html#xmlXPathObject"/>
-    <function name="xmlXPathObjectPtr" link="libxml-xpath.html#xmlXPathObjectPtr"/>
-    <function name="xmlXPathConvertFunc ()" link="libxml-xpath.html#xmlXPathConvertFunc"/>
-    <function name="struct xmlXPathType" link="libxml-xpath.html#xmlXPathType"/>
-    <function name="xmlXPathTypePtr" link="libxml-xpath.html#xmlXPathTypePtr"/>
-    <function name="struct xmlXPathVariable" link="libxml-xpath.html#xmlXPathVariable"/>
-    <function name="xmlXPathVariablePtr" link="libxml-xpath.html#xmlXPathVariablePtr"/>
-    <function name="xmlXPathEvalFunc ()" link="libxml-xpath.html#xmlXPathEvalFunc"/>
-    <function name="struct xmlXPathFunct" link="libxml-xpath.html#xmlXPathFunct"/>
-    <function name="xmlXPathFuncPtr" link="libxml-xpath.html#xmlXPathFuncPtr"/>
-    <function name="xmlXPathAxisFunc ()" link="libxml-xpath.html#xmlXPathAxisFunc"/>
-    <function name="struct xmlXPathAxis" link="libxml-xpath.html#xmlXPathAxis"/>
-    <function name="xmlXPathAxisPtr" link="libxml-xpath.html#xmlXPathAxisPtr"/>
-    <function name="struct xmlXPathCompExpr" link="libxml-xpath.html#xmlXPathCompExpr"/>
-    <function name="xmlXPathCompExprPtr" link="libxml-xpath.html#xmlXPathCompExprPtr"/>
-    <function name="xmlXPathFunction ()" link="libxml-xpath.html#xmlXPathFunction"/>
-    <function name="xmlXPathNAN" link="libxml-xpath.html#xmlXPathNAN"/>
-    <function name="xmlXPathPINF" link="libxml-xpath.html#xmlXPathPINF"/>
-    <function name="xmlXPathNINF" link="libxml-xpath.html#xmlXPathNINF"/>
-    <function name="xmlXPathNodeSetGetLength()" link="libxml-xpath.html#xmlXPathNodeSetGetLength"/>
-    <function name="xmlXPathNodeSetItem()" link="libxml-xpath.html#xmlXPathNodeSetItem"/>
-    <function name="xmlXPathNodeSetIsEmpty()" link="libxml-xpath.html#xmlXPathNodeSetIsEmpty"/>
-    <function name="struct xmlChSRange" link="libxml-chvalid.html#xmlChSRange"/>
-    <function name="xmlChSRangePtr" link="libxml-chvalid.html#xmlChSRangePtr"/>
-    <function name="struct xmlChLRange" link="libxml-chvalid.html#xmlChLRange"/>
-    <function name="xmlChLRangePtr" link="libxml-chvalid.html#xmlChLRangePtr"/>
-    <function name="struct xmlChRangeGroup" link="libxml-chvalid.html#xmlChRangeGroup"/>
-    <function name="xmlChRangeGroupPtr" link="libxml-chvalid.html#xmlChRangeGroupPtr"/>
-    <function name="xmlIsBaseChar_ch()" link="libxml-chvalid.html#xmlIsBaseChar-ch"/>
-    <function name="xmlIsBaseCharQ()" link="libxml-chvalid.html#xmlIsBaseCharQ"/>
-    <function name="xmlIsBaseCharGroup" link="libxml-chvalid.html#xmlIsBaseCharGroup"/>
-    <function name="xmlIsBlank_ch()" link="libxml-chvalid.html#xmlIsBlank-ch"/>
-    <function name="xmlIsBlankQ()" link="libxml-chvalid.html#xmlIsBlankQ"/>
-    <function name="xmlIsChar_ch()" link="libxml-chvalid.html#xmlIsChar-ch"/>
-    <function name="xmlIsCharQ()" link="libxml-chvalid.html#xmlIsCharQ"/>
-    <function name="xmlIsCharGroup" link="libxml-chvalid.html#xmlIsCharGroup"/>
-    <function name="xmlIsCombiningQ()" link="libxml-chvalid.html#xmlIsCombiningQ"/>
-    <function name="xmlIsCombiningGroup" link="libxml-chvalid.html#xmlIsCombiningGroup"/>
-    <function name="xmlIsDigit_ch()" link="libxml-chvalid.html#xmlIsDigit-ch"/>
-    <function name="xmlIsDigitQ()" link="libxml-chvalid.html#xmlIsDigitQ"/>
-    <function name="xmlIsDigitGroup" link="libxml-chvalid.html#xmlIsDigitGroup"/>
-    <function name="xmlIsExtender_ch()" link="libxml-chvalid.html#xmlIsExtender-ch"/>
-    <function name="xmlIsExtenderQ()" link="libxml-chvalid.html#xmlIsExtenderQ"/>
-    <function name="xmlIsExtenderGroup" link="libxml-chvalid.html#xmlIsExtenderGroup"/>
-    <function name="xmlIsIdeographicQ()" link="libxml-chvalid.html#xmlIsIdeographicQ"/>
-    <function name="xmlIsIdeographicGroup" link="libxml-chvalid.html#xmlIsIdeographicGroup"/>
-    <function name="xmlIsPubidChar_ch()" link="libxml-chvalid.html#xmlIsPubidChar-ch"/>
-    <function name="xmlIsPubidCharQ()" link="libxml-chvalid.html#xmlIsPubidCharQ"/>
-    <function name="struct xmlURI" link="libxml-uri.html#xmlURI"/>
-    <function name="xmlURIPtr" link="libxml-uri.html#xmlURIPtr"/>
-    <function name="ftpListCallback ()" link="libxml-nanoftp.html#ftpListCallback"/>
-    <function name="ftpDataCallback ()" link="libxml-nanoftp.html#ftpDataCallback"/>
-    <function name="enum xmlSchemaTypeType" link="libxml-schemasInternals.html#xmlSchemaTypeType"/>
-    <function name="enum xmlSchemaContentType" link="libxml-schemasInternals.html#xmlSchemaContentType"/>
-    <function name="struct xmlSchemaVal" link="libxml-schemasInternals.html#xmlSchemaVal"/>
-    <function name="xmlSchemaValPtr" link="libxml-schemasInternals.html#xmlSchemaValPtr"/>
-    <function name="struct xmlSchemaType" link="libxml-schemasInternals.html#xmlSchemaType"/>
-    <function name="xmlSchemaTypePtr" link="libxml-schemasInternals.html#xmlSchemaTypePtr"/>
-    <function name="struct xmlSchemaFacet" link="libxml-schemasInternals.html#xmlSchemaFacet"/>
-    <function name="xmlSchemaFacetPtr" link="libxml-schemasInternals.html#xmlSchemaFacetPtr"/>
-    <function name="struct xmlSchemaAnnot" link="libxml-schemasInternals.html#xmlSchemaAnnot"/>
-    <function name="xmlSchemaAnnotPtr" link="libxml-schemasInternals.html#xmlSchemaAnnotPtr"/>
-    <function name="XML_SCHEMAS_ANYATTR_SKIP" link="libxml-schemasInternals.html#XML-SCHEMAS-ANYATTR-SKIP-CAPS"/>
-    <function name="XML_SCHEMAS_ANYATTR_LAX" link="libxml-schemasInternals.html#XML-SCHEMAS-ANYATTR-LAX-CAPS"/>
-    <function name="XML_SCHEMAS_ANYATTR_STRICT" link="libxml-schemasInternals.html#XML-SCHEMAS-ANYATTR-STRICT-CAPS"/>
-    <function name="struct xmlSchemaAttribute" link="libxml-schemasInternals.html#xmlSchemaAttribute"/>
-    <function name="xmlSchemaAttributePtr" link="libxml-schemasInternals.html#xmlSchemaAttributePtr"/>
-    <function name="struct xmlSchemaAttributeGroup" link="libxml-schemasInternals.html#xmlSchemaAttributeGroup"/>
-    <function name="xmlSchemaAttributeGroupPtr" link="libxml-schemasInternals.html#xmlSchemaAttributeGroupPtr"/>
-    <function name="XML_SCHEMAS_TYPE_MIXED" link="libxml-schemasInternals.html#XML-SCHEMAS-TYPE-MIXED-CAPS"/>
-    <function name="XML_SCHEMAS_ELEM_NILLABLE" link="libxml-schemasInternals.html#XML-SCHEMAS-ELEM-NILLABLE-CAPS"/>
-    <function name="XML_SCHEMAS_ELEM_GLOBAL" link="libxml-schemasInternals.html#XML-SCHEMAS-ELEM-GLOBAL-CAPS"/>
-    <function name="XML_SCHEMAS_ELEM_DEFAULT" link="libxml-schemasInternals.html#XML-SCHEMAS-ELEM-DEFAULT-CAPS"/>
-    <function name="XML_SCHEMAS_ELEM_FIXED" link="libxml-schemasInternals.html#XML-SCHEMAS-ELEM-FIXED-CAPS"/>
-    <function name="XML_SCHEMAS_ELEM_ABSTRACT" link="libxml-schemasInternals.html#XML-SCHEMAS-ELEM-ABSTRACT-CAPS"/>
-    <function name="XML_SCHEMAS_ELEM_TOPLEVEL" link="libxml-schemasInternals.html#XML-SCHEMAS-ELEM-TOPLEVEL-CAPS"/>
-    <function name="XML_SCHEMAS_ELEM_REF" link="libxml-schemasInternals.html#XML-SCHEMAS-ELEM-REF-CAPS"/>
-    <function name="struct xmlSchemaElement" link="libxml-schemasInternals.html#xmlSchemaElement"/>
-    <function name="xmlSchemaElementPtr" link="libxml-schemasInternals.html#xmlSchemaElementPtr"/>
-    <function name="XML_SCHEMAS_FACET_UNKNOWN" link="libxml-schemasInternals.html#XML-SCHEMAS-FACET-UNKNOWN-CAPS"/>
-    <function name="XML_SCHEMAS_FACET_PRESERVE" link="libxml-schemasInternals.html#XML-SCHEMAS-FACET-PRESERVE-CAPS"/>
-    <function name="XML_SCHEMAS_FACET_REPLACE" link="libxml-schemasInternals.html#XML-SCHEMAS-FACET-REPLACE-CAPS"/>
-    <function name="XML_SCHEMAS_FACET_COLLAPSE" link="libxml-schemasInternals.html#XML-SCHEMAS-FACET-COLLAPSE-CAPS"/>
-    <function name="struct xmlSchemaNotation" link="libxml-schemasInternals.html#xmlSchemaNotation"/>
-    <function name="xmlSchemaNotationPtr" link="libxml-schemasInternals.html#xmlSchemaNotationPtr"/>
-    <function name="XML_SCHEMAS_QUALIF_ELEM" link="libxml-schemasInternals.html#XML-SCHEMAS-QUALIF-ELEM-CAPS"/>
-    <function name="XML_SCHEMAS_QUALIF_ATTR" link="libxml-schemasInternals.html#XML-SCHEMAS-QUALIF-ATTR-CAPS"/>
-    <function name="struct xmlSchema" link="libxml-schemasInternals.html#xmlSchema"/>
-    <function name="struct xmlMutex" link="libxml-threads.html#xmlMutex"/>
-    <function name="xmlMutexPtr" link="libxml-threads.html#xmlMutexPtr"/>
-    <function name="struct xmlRMutex" link="libxml-threads.html#xmlRMutex"/>
-    <function name="xmlRMutexPtr" link="libxml-threads.html#xmlRMutexPtr"/>
-    <function name="XML_DEFAULT_VERSION" link="libxml-parser.html#XML-DEFAULT-VERSION-CAPS"/>
-    <function name="xmlParserInputDeallocate ()" link="libxml-parser.html#xmlParserInputDeallocate"/>
-    <function name="struct xmlParserInput" link="libxml-parser.html#xmlParserInput"/>
-    <function name="struct xmlParserNodeInfo" link="libxml-parser.html#xmlParserNodeInfo"/>
-    <function name="xmlParserNodeInfoPtr" link="libxml-parser.html#xmlParserNodeInfoPtr"/>
-    <function name="struct xmlParserNodeInfoSeq" link="libxml-parser.html#xmlParserNodeInfoSeq"/>
-    <function name="xmlParserNodeInfoSeqPtr" link="libxml-parser.html#xmlParserNodeInfoSeqPtr"/>
-    <function name="enum xmlParserInputState" link="libxml-parser.html#xmlParserInputState"/>
-    <function name="XML_DETECT_IDS" link="libxml-parser.html#XML-DETECT-IDS-CAPS"/>
-    <function name="XML_COMPLETE_ATTRS" link="libxml-parser.html#XML-COMPLETE-ATTRS-CAPS"/>
-    <function name="XML_SKIP_IDS" link="libxml-parser.html#XML-SKIP-IDS-CAPS"/>
-    <function name="struct xmlParserCtxt" link="libxml-parser.html#xmlParserCtxt"/>
-    <function name="struct xmlSAXLocator" link="libxml-parser.html#xmlSAXLocator"/>
-    <function name="resolveEntitySAXFunc ()" link="libxml-parser.html#resolveEntitySAXFunc"/>
-    <function name="internalSubsetSAXFunc ()" link="libxml-parser.html#internalSubsetSAXFunc"/>
-    <function name="externalSubsetSAXFunc ()" link="libxml-parser.html#externalSubsetSAXFunc"/>
-    <function name="getEntitySAXFunc ()" link="libxml-parser.html#getEntitySAXFunc"/>
-    <function name="getParameterEntitySAXFunc ()" link="libxml-parser.html#getParameterEntitySAXFunc"/>
-    <function name="entityDeclSAXFunc ()" link="libxml-parser.html#entityDeclSAXFunc"/>
-    <function name="notationDeclSAXFunc ()" link="libxml-parser.html#notationDeclSAXFunc"/>
-    <function name="attributeDeclSAXFunc ()" link="libxml-parser.html#attributeDeclSAXFunc"/>
-    <function name="elementDeclSAXFunc ()" link="libxml-parser.html#elementDeclSAXFunc"/>
-    <function name="unparsedEntityDeclSAXFunc ()" link="libxml-parser.html#unparsedEntityDeclSAXFunc"/>
-    <function name="setDocumentLocatorSAXFunc ()" link="libxml-parser.html#setDocumentLocatorSAXFunc"/>
-    <function name="startDocumentSAXFunc ()" link="libxml-parser.html#startDocumentSAXFunc"/>
-    <function name="endDocumentSAXFunc ()" link="libxml-parser.html#endDocumentSAXFunc"/>
-    <function name="startElementSAXFunc ()" link="libxml-parser.html#startElementSAXFunc"/>
-    <function name="endElementSAXFunc ()" link="libxml-parser.html#endElementSAXFunc"/>
-    <function name="attributeSAXFunc ()" link="libxml-parser.html#attributeSAXFunc"/>
-    <function name="referenceSAXFunc ()" link="libxml-parser.html#referenceSAXFunc"/>
-    <function name="charactersSAXFunc ()" link="libxml-parser.html#charactersSAXFunc"/>
-    <function name="ignorableWhitespaceSAXFunc ()" link="libxml-parser.html#ignorableWhitespaceSAXFunc"/>
-    <function name="processingInstructionSAXFunc ()" link="libxml-parser.html#processingInstructionSAXFunc"/>
-    <function name="commentSAXFunc ()" link="libxml-parser.html#commentSAXFunc"/>
-    <function name="cdataBlockSAXFunc ()" link="libxml-parser.html#cdataBlockSAXFunc"/>
-    <function name="warningSAXFunc ()" link="libxml-parser.html#warningSAXFunc"/>
-    <function name="errorSAXFunc ()" link="libxml-parser.html#errorSAXFunc"/>
-    <function name="fatalErrorSAXFunc ()" link="libxml-parser.html#fatalErrorSAXFunc"/>
-    <function name="isStandaloneSAXFunc ()" link="libxml-parser.html#isStandaloneSAXFunc"/>
-    <function name="hasInternalSubsetSAXFunc ()" link="libxml-parser.html#hasInternalSubsetSAXFunc"/>
-    <function name="hasExternalSubsetSAXFunc ()" link="libxml-parser.html#hasExternalSubsetSAXFunc"/>
-    <function name="XML_SAX2_MAGIC" link="libxml-parser.html#XML-SAX2-MAGIC-CAPS"/>
-    <function name="startElementNsSAX2Func ()" link="libxml-parser.html#startElementNsSAX2Func"/>
-    <function name="endElementNsSAX2Func ()" link="libxml-parser.html#endElementNsSAX2Func"/>
-    <function name="struct xmlSAXHandler" link="libxml-parser.html#xmlSAXHandler"/>
-    <function name="struct xmlSAXHandlerV1" link="libxml-parser.html#xmlSAXHandlerV1"/>
-    <function name="xmlSAXHandlerV1Ptr" link="libxml-parser.html#xmlSAXHandlerV1Ptr"/>
-    <function name="xmlExternalEntityLoader ()" link="libxml-parser.html#xmlExternalEntityLoader"/>
-    <function name="enum xmlParserOption" link="libxml-parser.html#xmlParserOption"/>
-    <function name="xmlC14NIsVisibleCallback ()" link="libxml-c14n.html#xmlC14NIsVisibleCallback"/>
-    <function name="enum xmlErrorLevel" link="libxml-xmlerror.html#xmlErrorLevel"/>
-    <function name="enum xmlErrorDomain" link="libxml-xmlerror.html#xmlErrorDomain"/>
-    <function name="struct xmlError" link="libxml-xmlerror.html#xmlError"/>
-    <function name="xmlErrorPtr" link="libxml-xmlerror.html#xmlErrorPtr"/>
-    <function name="enum xmlParserErrors" link="libxml-xmlerror.html#xmlParserErrors"/>
-    <function name="xmlGenericErrorFunc ()" link="libxml-xmlerror.html#xmlGenericErrorFunc"/>
-    <function name="xmlStructuredErrorFunc ()" link="libxml-xmlerror.html#xmlStructuredErrorFunc"/>
-    <function name="xmlCheckVersion ()" link="libxml-xmlwin32version.html#xmlCheckVersion"/>
-    <function name="LIBXML_DOTTED_VERSION" link="libxml-xmlwin32version.html#LIBXML-DOTTED-VERSION-CAPS"/>
-    <function name="LIBXML_VERSION" link="libxml-xmlwin32version.html#LIBXML-VERSION-CAPS"/>
-    <function name="LIBXML_VERSION_STRING" link="libxml-xmlwin32version.html#LIBXML-VERSION-STRING-CAPS"/>
-    <function name="LIBXML_TEST_VERSION" link="libxml-xmlwin32version.html#LIBXML-TEST-VERSION-CAPS"/>
-    <function name="WITH_TRIO" link="libxml-xmlwin32version.html#WITH-TRIO-CAPS"/>
-    <function name="WITHOUT_TRIO" link="libxml-xmlwin32version.html#WITHOUT-TRIO-CAPS"/>
-    <function name="LIBXML_THREAD_ENABLED" link="libxml-xmlwin32version.html#LIBXML-THREAD-ENABLED-CAPS"/>
-    <function name="LIBXML_FTP_ENABLED" link="libxml-xmlwin32version.html#LIBXML-FTP-ENABLED-CAPS"/>
-    <function name="LIBXML_HTTP_ENABLED" link="libxml-xmlwin32version.html#LIBXML-HTTP-ENABLED-CAPS"/>
-    <function name="LIBXML_HTML_ENABLED" link="libxml-xmlwin32version.html#LIBXML-HTML-ENABLED-CAPS"/>
-    <function name="LIBXML_CATALOG_ENABLED" link="libxml-xmlwin32version.html#LIBXML-CATALOG-ENABLED-CAPS"/>
-    <function name="LIBXML_DOCB_ENABLED" link="libxml-xmlwin32version.html#LIBXML-DOCB-ENABLED-CAPS"/>
-    <function name="LIBXML_XPATH_ENABLED" link="libxml-xmlwin32version.html#LIBXML-XPATH-ENABLED-CAPS"/>
-    <function name="LIBXML_XPTR_ENABLED" link="libxml-xmlwin32version.html#LIBXML-XPTR-ENABLED-CAPS"/>
-    <function name="LIBXML_C14N_ENABLED" link="libxml-xmlwin32version.html#LIBXML-C14N-ENABLED-CAPS"/>
-    <function name="LIBXML_XINCLUDE_ENABLED" link="libxml-xmlwin32version.html#LIBXML-XINCLUDE-ENABLED-CAPS"/>
-    <function name="LIBXML_ICONV_ENABLED" link="libxml-xmlwin32version.html#LIBXML-ICONV-ENABLED-CAPS"/>
-    <function name="LIBXML_DEBUG_ENABLED" link="libxml-xmlwin32version.html#LIBXML-DEBUG-ENABLED-CAPS"/>
-    <function name="DEBUG_MEMORY_LOCATION" link="libxml-xmlwin32version.html#DEBUG-MEMORY-LOCATION-CAPS"/>
-    <function name="LIBXML_DLL_IMPORT" link="libxml-xmlwin32version.html#LIBXML-DLL-IMPORT-CAPS"/>
-    <function name="ATTRIBUTE_UNUSED" link="libxml-xmlwin32version.html#ATTRIBUTE-UNUSED-CAPS"/>
-    <function name="docbParserCtxt" link="libxml-DOCBparser.html#docbParserCtxt"/>
-    <function name="docbParserCtxtPtr" link="libxml-DOCBparser.html#docbParserCtxtPtr"/>
-    <function name="docbSAXHandler" link="libxml-DOCBparser.html#docbSAXHandler"/>
-    <function name="docbSAXHandlerPtr" link="libxml-DOCBparser.html#docbSAXHandlerPtr"/>
-    <function name="docbParserInput" link="libxml-DOCBparser.html#docbParserInput"/>
-    <function name="docbParserInputPtr" link="libxml-DOCBparser.html#docbParserInputPtr"/>
-    <function name="docbDocPtr" link="libxml-DOCBparser.html#docbDocPtr"/>
-    <function name="struct xmlDict" link="libxml-dict.html#xmlDict"/>
-    <function name="xmlDictPtr" link="libxml-dict.html#xmlDictPtr"/>
-    <function name="struct xmlAutomata" link="libxml-xmlautomata.html#xmlAutomata"/>
-    <function name="xmlAutomataPtr" link="libxml-xmlautomata.html#xmlAutomataPtr"/>
-    <function name="struct xmlAutomataState" link="libxml-xmlautomata.html#xmlAutomataState"/>
-    <function name="xmlAutomataStatePtr" link="libxml-xmlautomata.html#xmlAutomataStatePtr"/>
-    <function name="struct xmlLocationSet" link="libxml-xpointer.html#xmlLocationSet"/>
-    <function name="xmlLocationSetPtr" link="libxml-xpointer.html#xmlLocationSetPtr"/>
-    <function name="struct xmlHashTable" link="libxml-hash.html#xmlHashTable"/>
-    <function name="xmlHashTablePtr" link="libxml-hash.html#xmlHashTablePtr"/>
-    <function name="xmlHashDeallocator ()" link="libxml-hash.html#xmlHashDeallocator"/>
-    <function name="xmlHashCopier ()" link="libxml-hash.html#xmlHashCopier"/>
-    <function name="xmlHashScanner ()" link="libxml-hash.html#xmlHashScanner"/>
-    <function name="xmlHashScannerFull ()" link="libxml-hash.html#xmlHashScannerFull"/>
-    <function name="struct xmlRelaxNG" link="libxml-relaxng.html#xmlRelaxNG"/>
-    <function name="xmlRelaxNGPtr" link="libxml-relaxng.html#xmlRelaxNGPtr"/>
-    <function name="xmlRelaxNGValidityErrorFunc ()" link="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc"/>
-    <function name="xmlRelaxNGValidityWarningFunc ()" link="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc"/>
-    <function name="struct xmlRelaxNGParserCtxt" link="libxml-relaxng.html#xmlRelaxNGParserCtxt"/>
-    <function name="xmlRelaxNGParserCtxtPtr" link="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr"/>
-    <function name="struct xmlRelaxNGValidCtxt" link="libxml-relaxng.html#xmlRelaxNGValidCtxt"/>
-    <function name="xmlRelaxNGValidCtxtPtr" link="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr"/>
-    <function name="enum xmlRelaxNGValidErr" link="libxml-relaxng.html#xmlRelaxNGValidErr"/>
-    <function name="xmlXPathSetError()" link="libxml-xpathInternals.html#xmlXPathSetError"/>
-    <function name="xmlXPathSetArityError()" link="libxml-xpathInternals.html#xmlXPathSetArityError"/>
-    <function name="xmlXPathSetTypeError()" link="libxml-xpathInternals.html#xmlXPathSetTypeError"/>
-    <function name="xmlXPathGetError()" link="libxml-xpathInternals.html#xmlXPathGetError"/>
-    <function name="xmlXPathCheckError()" link="libxml-xpathInternals.html#xmlXPathCheckError"/>
-    <function name="xmlXPathGetDocument()" link="libxml-xpathInternals.html#xmlXPathGetDocument"/>
-    <function name="xmlXPathGetContextNode()" link="libxml-xpathInternals.html#xmlXPathGetContextNode"/>
-    <function name="xmlXPathReturnBoolean()" link="libxml-xpathInternals.html#xmlXPathReturnBoolean"/>
-    <function name="xmlXPathReturnTrue()" link="libxml-xpathInternals.html#xmlXPathReturnTrue"/>
-    <function name="xmlXPathReturnFalse()" link="libxml-xpathInternals.html#xmlXPathReturnFalse"/>
-    <function name="xmlXPathReturnNumber()" link="libxml-xpathInternals.html#xmlXPathReturnNumber"/>
-    <function name="xmlXPathReturnString()" link="libxml-xpathInternals.html#xmlXPathReturnString"/>
-    <function name="xmlXPathReturnEmptyString()" link="libxml-xpathInternals.html#xmlXPathReturnEmptyString"/>
-    <function name="xmlXPathReturnNodeSet()" link="libxml-xpathInternals.html#xmlXPathReturnNodeSet"/>
-    <function name="xmlXPathReturnEmptyNodeSet()" link="libxml-xpathInternals.html#xmlXPathReturnEmptyNodeSet"/>
-    <function name="xmlXPathReturnExternal()" link="libxml-xpathInternals.html#xmlXPathReturnExternal"/>
-    <function name="xmlXPathStackIsNodeSet()" link="libxml-xpathInternals.html#xmlXPathStackIsNodeSet"/>
-    <function name="xmlXPathStackIsExternal()" link="libxml-xpathInternals.html#xmlXPathStackIsExternal"/>
-    <function name="xmlXPathEmptyNodeSet()" link="libxml-xpathInternals.html#xmlXPathEmptyNodeSet"/>
-    <function name="CHECK_ERROR" link="libxml-xpathInternals.html#CHECK-ERROR-CAPS"/>
-    <function name="CHECK_ERROR0" link="libxml-xpathInternals.html#CHECK-ERROR0-CAPS"/>
-    <function name="XP_ERROR()" link="libxml-xpathInternals.html#XP-ERROR-CAPS"/>
-    <function name="XP_ERROR0()" link="libxml-xpathInternals.html#XP-ERROR0-CAPS"/>
-    <function name="CHECK_TYPE()" link="libxml-xpathInternals.html#CHECK-TYPE-CAPS"/>
-    <function name="CHECK_TYPE0()" link="libxml-xpathInternals.html#CHECK-TYPE0-CAPS"/>
-    <function name="CHECK_ARITY()" link="libxml-xpathInternals.html#CHECK-ARITY-CAPS"/>
-    <function name="CAST_TO_STRING" link="libxml-xpathInternals.html#CAST-TO-STRING-CAPS"/>
-    <function name="CAST_TO_NUMBER" link="libxml-xpathInternals.html#CAST-TO-NUMBER-CAPS"/>
-    <function name="CAST_TO_BOOLEAN" link="libxml-xpathInternals.html#CAST-TO-BOOLEAN-CAPS"/>
-    <function name="xmlXPathVariableLookupFunc ()" link="libxml-xpathInternals.html#xmlXPathVariableLookupFunc"/>
-    <function name="xmlXPathFuncLookupFunc ()" link="libxml-xpathInternals.html#xmlXPathFuncLookupFunc"/>
-    <function name="LIBXML_DOTTED_VERSION" link="libxml-xmlversion.html#LIBXML-DOTTED-VERSION-CAPS"/>
-    <function name="LIBXML_VERSION" link="libxml-xmlversion.html#LIBXML-VERSION-CAPS"/>
-    <function name="LIBXML_VERSION_STRING" link="libxml-xmlversion.html#LIBXML-VERSION-STRING-CAPS"/>
-    <function name="LIBXML_TEST_VERSION" link="libxml-xmlversion.html#LIBXML-TEST-VERSION-CAPS"/>
-    <function name="WITH_TRIO" link="libxml-xmlversion.html#WITH-TRIO-CAPS"/>
-    <function name="WITHOUT_TRIO" link="libxml-xmlversion.html#WITHOUT-TRIO-CAPS"/>
-    <function name="LIBXML_THREAD_ENABLED" link="libxml-xmlversion.html#LIBXML-THREAD-ENABLED-CAPS"/>
-    <function name="LIBXML_TREE_ENABLED" link="libxml-xmlversion.html#LIBXML-TREE-ENABLED-CAPS"/>
-    <function name="LIBXML_OUTPUT_ENABLED" link="libxml-xmlversion.html#LIBXML-OUTPUT-ENABLED-CAPS"/>
-    <function name="LIBXML_PUSH_ENABLED" link="libxml-xmlversion.html#LIBXML-PUSH-ENABLED-CAPS"/>
-    <function name="LIBXML_READER_ENABLED" link="libxml-xmlversion.html#LIBXML-READER-ENABLED-CAPS"/>
-    <function name="LIBXML_WRITER_ENABLED" link="libxml-xmlversion.html#LIBXML-WRITER-ENABLED-CAPS"/>
-    <function name="LIBXML_SAX1_ENABLED" link="libxml-xmlversion.html#LIBXML-SAX1-ENABLED-CAPS"/>
-    <function name="LIBXML_FTP_ENABLED" link="libxml-xmlversion.html#LIBXML-FTP-ENABLED-CAPS"/>
-    <function name="LIBXML_HTTP_ENABLED" link="libxml-xmlversion.html#LIBXML-HTTP-ENABLED-CAPS"/>
-    <function name="LIBXML_VALID_ENABLED" link="libxml-xmlversion.html#LIBXML-VALID-ENABLED-CAPS"/>
-    <function name="LIBXML_HTML_ENABLED" link="libxml-xmlversion.html#LIBXML-HTML-ENABLED-CAPS"/>
-    <function name="LIBXML_LEGACY_ENABLED" link="libxml-xmlversion.html#LIBXML-LEGACY-ENABLED-CAPS"/>
-    <function name="LIBXML_C14N_ENABLED" link="libxml-xmlversion.html#LIBXML-C14N-ENABLED-CAPS"/>
-    <function name="LIBXML_CATALOG_ENABLED" link="libxml-xmlversion.html#LIBXML-CATALOG-ENABLED-CAPS"/>
-    <function name="LIBXML_DOCB_ENABLED" link="libxml-xmlversion.html#LIBXML-DOCB-ENABLED-CAPS"/>
-    <function name="LIBXML_XPATH_ENABLED" link="libxml-xmlversion.html#LIBXML-XPATH-ENABLED-CAPS"/>
-    <function name="LIBXML_XPTR_ENABLED" link="libxml-xmlversion.html#LIBXML-XPTR-ENABLED-CAPS"/>
-    <function name="LIBXML_XINCLUDE_ENABLED" link="libxml-xmlversion.html#LIBXML-XINCLUDE-ENABLED-CAPS"/>
-    <function name="LIBXML_ICONV_ENABLED" link="libxml-xmlversion.html#LIBXML-ICONV-ENABLED-CAPS"/>
-    <function name="LIBXML_ISO8859X_ENABLED" link="libxml-xmlversion.html#LIBXML-ISO8859X-ENABLED-CAPS"/>
-    <function name="LIBXML_DEBUG_ENABLED" link="libxml-xmlversion.html#LIBXML-DEBUG-ENABLED-CAPS"/>
-    <function name="DEBUG_MEMORY_LOCATION" link="libxml-xmlversion.html#DEBUG-MEMORY-LOCATION-CAPS"/>
-    <function name="LIBXML_UNICODE_ENABLED" link="libxml-xmlversion.html#LIBXML-UNICODE-ENABLED-CAPS"/>
-    <function name="LIBXML_REGEXP_ENABLED" link="libxml-xmlversion.html#LIBXML-REGEXP-ENABLED-CAPS"/>
-    <function name="LIBXML_AUTOMATA_ENABLED" link="libxml-xmlversion.html#LIBXML-AUTOMATA-ENABLED-CAPS"/>
-    <function name="LIBXML_SCHEMAS_ENABLED" link="libxml-xmlversion.html#LIBXML-SCHEMAS-ENABLED-CAPS"/>
-    <function name="ATTRIBUTE_UNUSED" link="libxml-xmlversion.html#ATTRIBUTE-UNUSED-CAPS"/>
-    <function name="struct xmlLink" link="libxml-list.html#xmlLink"/>
-    <function name="xmlLinkPtr" link="libxml-list.html#xmlLinkPtr"/>
-    <function name="struct xmlList" link="libxml-list.html#xmlList"/>
-    <function name="xmlListPtr" link="libxml-list.html#xmlListPtr"/>
-    <function name="xmlListDeallocator ()" link="libxml-list.html#xmlListDeallocator"/>
-    <function name="xmlListDataCompare ()" link="libxml-list.html#xmlListDataCompare"/>
-    <function name="xmlListWalker ()" link="libxml-list.html#xmlListWalker"/>
-    <function name="HTML_TEXT_NODE" link="libxml-HTMLtree.html#HTML-TEXT-NODE-CAPS"/>
-    <function name="HTML_ENTITY_REF_NODE" link="libxml-HTMLtree.html#HTML-ENTITY-REF-NODE-CAPS"/>
-    <function name="HTML_COMMENT_NODE" link="libxml-HTMLtree.html#HTML-COMMENT-NODE-CAPS"/>
-    <function name="HTML_PRESERVE_NODE" link="libxml-HTMLtree.html#HTML-PRESERVE-NODE-CAPS"/>
-    <function name="HTML_PI_NODE" link="libxml-HTMLtree.html#HTML-PI-NODE-CAPS"/>
-    <function name="xmlParserMaxDepth" link="libxml-parserInternals.html#xmlParserMaxDepth"/>
-    <function name="XML_MAX_NAMELEN" link="libxml-parserInternals.html#XML-MAX-NAMELEN-CAPS"/>
-    <function name="INPUT_CHUNK" link="libxml-parserInternals.html#INPUT-CHUNK-CAPS"/>
-    <function name="IS_BYTE_CHAR()" link="libxml-parserInternals.html#IS-BYTE-CHAR-CAPS"/>
-    <function name="IS_CHAR()" link="libxml-parserInternals.html#IS-CHAR-CAPS"/>
-    <function name="IS_CHAR_CH()" link="libxml-parserInternals.html#IS-CHAR-CH-CAPS"/>
-    <function name="IS_BLANK()" link="libxml-parserInternals.html#IS-BLANK-CAPS"/>
-    <function name="IS_BLANK_CH()" link="libxml-parserInternals.html#IS-BLANK-CH-CAPS"/>
-    <function name="IS_BASECHAR()" link="libxml-parserInternals.html#IS-BASECHAR-CAPS"/>
-    <function name="IS_DIGIT()" link="libxml-parserInternals.html#IS-DIGIT-CAPS"/>
-    <function name="IS_DIGIT_CH()" link="libxml-parserInternals.html#IS-DIGIT-CH-CAPS"/>
-    <function name="IS_COMBINING()" link="libxml-parserInternals.html#IS-COMBINING-CAPS"/>
-    <function name="IS_COMBINING_CH()" link="libxml-parserInternals.html#IS-COMBINING-CH-CAPS"/>
-    <function name="IS_EXTENDER()" link="libxml-parserInternals.html#IS-EXTENDER-CAPS"/>
-    <function name="IS_EXTENDER_CH()" link="libxml-parserInternals.html#IS-EXTENDER-CH-CAPS"/>
-    <function name="IS_IDEOGRAPHIC()" link="libxml-parserInternals.html#IS-IDEOGRAPHIC-CAPS"/>
-    <function name="IS_LETTER()" link="libxml-parserInternals.html#IS-LETTER-CAPS"/>
-    <function name="IS_LETTER_CH()" link="libxml-parserInternals.html#IS-LETTER-CH-CAPS"/>
-    <function name="IS_PUBIDCHAR()" link="libxml-parserInternals.html#IS-PUBIDCHAR-CAPS"/>
-    <function name="IS_PUBIDCHAR_CH()" link="libxml-parserInternals.html#IS-PUBIDCHAR-CH-CAPS"/>
-    <function name="SKIP_EOL()" link="libxml-parserInternals.html#SKIP-EOL-CAPS"/>
-    <function name="MOVETO_ENDTAG()" link="libxml-parserInternals.html#MOVETO-ENDTAG-CAPS"/>
-    <function name="MOVETO_STARTTAG()" link="libxml-parserInternals.html#MOVETO-STARTTAG-CAPS"/>
-    <function name="XML_SUBSTITUTE_NONE" link="libxml-parserInternals.html#XML-SUBSTITUTE-NONE-CAPS"/>
-    <function name="XML_SUBSTITUTE_REF" link="libxml-parserInternals.html#XML-SUBSTITUTE-REF-CAPS"/>
-    <function name="XML_SUBSTITUTE_PEREF" link="libxml-parserInternals.html#XML-SUBSTITUTE-PEREF-CAPS"/>
-    <function name="XML_SUBSTITUTE_BOTH" link="libxml-parserInternals.html#XML-SUBSTITUTE-BOTH-CAPS"/>
-    <function name="xmlEntityReferenceFunc ()" link="libxml-parserInternals.html#xmlEntityReferenceFunc"/>
-    <function name="enum xmlEntityType" link="libxml-entities.html#xmlEntityType"/>
-    <function name="struct xmlEntity" link="libxml-entities.html#xmlEntity"/>
-    <function name="xmlEntitiesTablePtr" link="libxml-entities.html#xmlEntitiesTablePtr"/>
-    <function name="htmlParserCtxt" link="libxml-HTMLparser.html#htmlParserCtxt"/>
-    <function name="htmlParserCtxtPtr" link="libxml-HTMLparser.html#htmlParserCtxtPtr"/>
-    <function name="htmlParserNodeInfo" link="libxml-HTMLparser.html#htmlParserNodeInfo"/>
-    <function name="htmlSAXHandler" link="libxml-HTMLparser.html#htmlSAXHandler"/>
-    <function name="htmlSAXHandlerPtr" link="libxml-HTMLparser.html#htmlSAXHandlerPtr"/>
-    <function name="htmlParserInput" link="libxml-HTMLparser.html#htmlParserInput"/>
-    <function name="htmlParserInputPtr" link="libxml-HTMLparser.html#htmlParserInputPtr"/>
-    <function name="htmlDocPtr" link="libxml-HTMLparser.html#htmlDocPtr"/>
-    <function name="htmlNodePtr" link="libxml-HTMLparser.html#htmlNodePtr"/>
-    <function name="struct htmlElemDesc" link="libxml-HTMLparser.html#htmlElemDesc"/>
-    <function name="htmlElemDescPtr" link="libxml-HTMLparser.html#htmlElemDescPtr"/>
-    <function name="struct htmlEntityDesc" link="libxml-HTMLparser.html#htmlEntityDesc"/>
-    <function name="htmlEntityDescPtr" link="libxml-HTMLparser.html#htmlEntityDescPtr"/>
-    <function name="enum htmlParserOption" link="libxml-HTMLparser.html#htmlParserOption"/>
-    <function name="struct xmlValidState" link="libxml-valid.html#xmlValidState"/>
-    <function name="xmlValidStatePtr" link="libxml-valid.html#xmlValidStatePtr"/>
-    <function name="xmlValidityErrorFunc ()" link="libxml-valid.html#xmlValidityErrorFunc"/>
-    <function name="xmlValidityWarningFunc ()" link="libxml-valid.html#xmlValidityWarningFunc"/>
-    <function name="struct xmlValidCtxt" link="libxml-valid.html#xmlValidCtxt"/>
-    <function name="xmlValidCtxtPtr" link="libxml-valid.html#xmlValidCtxtPtr"/>
-    <function name="xmlNotationTablePtr" link="libxml-valid.html#xmlNotationTablePtr"/>
-    <function name="xmlElementTablePtr" link="libxml-valid.html#xmlElementTablePtr"/>
-    <function name="xmlAttributeTablePtr" link="libxml-valid.html#xmlAttributeTablePtr"/>
-    <function name="xmlIDTablePtr" link="libxml-valid.html#xmlIDTablePtr"/>
-    <function name="xmlRefTablePtr" link="libxml-valid.html#xmlRefTablePtr"/>
-    <function name="XML_CATALOGS_NAMESPACE" link="libxml-catalog.html#XML-CATALOGS-NAMESPACE-CAPS"/>
-    <function name="XML_CATALOG_PI" link="libxml-catalog.html#XML-CATALOG-PI-CAPS"/>
-    <function name="enum xmlCatalogPrefer" link="libxml-catalog.html#xmlCatalogPrefer"/>
-    <function name="enum xmlCatalogAllow" link="libxml-catalog.html#xmlCatalogAllow"/>
-    <function name="struct xmlCatalog" link="libxml-catalog.html#xmlCatalog"/>
-    <function name="xmlCatalogPtr" link="libxml-catalog.html#xmlCatalogPtr"/>
-    <function name="struct xmlParserInputBuffer" link="libxml-tree.html#xmlParserInputBuffer"/>
-    <function name="xmlParserInputBufferPtr" link="libxml-tree.html#xmlParserInputBufferPtr"/>
-    <function name="struct xmlOutputBuffer" link="libxml-tree.html#xmlOutputBuffer"/>
-    <function name="xmlOutputBufferPtr" link="libxml-tree.html#xmlOutputBufferPtr"/>
-    <function name="struct xmlParserInput" link="libxml-tree.html#xmlParserInput"/>
-    <function name="xmlParserInputPtr" link="libxml-tree.html#xmlParserInputPtr"/>
-    <function name="struct xmlParserCtxt" link="libxml-tree.html#xmlParserCtxt"/>
-    <function name="xmlParserCtxtPtr" link="libxml-tree.html#xmlParserCtxtPtr"/>
-    <function name="struct xmlSAXLocator" link="libxml-tree.html#xmlSAXLocator"/>
-    <function name="xmlSAXLocatorPtr" link="libxml-tree.html#xmlSAXLocatorPtr"/>
-    <function name="struct xmlSAXHandler" link="libxml-tree.html#xmlSAXHandler"/>
-    <function name="xmlSAXHandlerPtr" link="libxml-tree.html#xmlSAXHandlerPtr"/>
-    <function name="struct xmlEntity" link="libxml-tree.html#xmlEntity"/>
-    <function name="xmlEntityPtr" link="libxml-tree.html#xmlEntityPtr"/>
-    <function name="BASE_BUFFER_SIZE" link="libxml-tree.html#BASE-BUFFER-SIZE-CAPS"/>
-    <function name="XML_XML_NAMESPACE" link="libxml-tree.html#XML-XML-NAMESPACE-CAPS"/>
-    <function name="enum xmlElementType" link="libxml-tree.html#xmlElementType"/>
-    <function name="xmlChar" link="libxml-tree.html#xmlChar"/>
-    <function name="BAD_CAST" link="libxml-tree.html#BAD-CAST-CAPS"/>
-    <function name="struct xmlNotation" link="libxml-tree.html#xmlNotation"/>
-    <function name="xmlNotationPtr" link="libxml-tree.html#xmlNotationPtr"/>
-    <function name="enum xmlAttributeType" link="libxml-tree.html#xmlAttributeType"/>
-    <function name="enum xmlAttributeDefault" link="libxml-tree.html#xmlAttributeDefault"/>
-    <function name="struct xmlEnumeration" link="libxml-tree.html#xmlEnumeration"/>
-    <function name="xmlEnumerationPtr" link="libxml-tree.html#xmlEnumerationPtr"/>
-    <function name="struct xmlAttribute" link="libxml-tree.html#xmlAttribute"/>
-    <function name="xmlAttributePtr" link="libxml-tree.html#xmlAttributePtr"/>
-    <function name="enum xmlElementContentType" link="libxml-tree.html#xmlElementContentType"/>
-    <function name="enum xmlElementContentOccur" link="libxml-tree.html#xmlElementContentOccur"/>
-    <function name="struct xmlElementContent" link="libxml-tree.html#xmlElementContent"/>
-    <function name="xmlElementContentPtr" link="libxml-tree.html#xmlElementContentPtr"/>
-    <function name="enum xmlElementTypeVal" link="libxml-tree.html#xmlElementTypeVal"/>
-    <function name="struct xmlElement" link="libxml-tree.html#xmlElement"/>
-    <function name="xmlElementPtr" link="libxml-tree.html#xmlElementPtr"/>
-    <function name="XML_LOCAL_NAMESPACE" link="libxml-tree.html#XML-LOCAL-NAMESPACE-CAPS"/>
-    <function name="xmlNsType" link="libxml-tree.html#xmlNsType"/>
-    <function name="struct xmlNs" link="libxml-tree.html#xmlNs"/>
-    <function name="xmlNsPtr" link="libxml-tree.html#xmlNsPtr"/>
-    <function name="struct xmlDtd" link="libxml-tree.html#xmlDtd"/>
-    <function name="xmlDtdPtr" link="libxml-tree.html#xmlDtdPtr"/>
-    <function name="struct xmlAttr" link="libxml-tree.html#xmlAttr"/>
-    <function name="xmlAttrPtr" link="libxml-tree.html#xmlAttrPtr"/>
-    <function name="struct xmlID" link="libxml-tree.html#xmlID"/>
-    <function name="xmlIDPtr" link="libxml-tree.html#xmlIDPtr"/>
-    <function name="struct xmlRef" link="libxml-tree.html#xmlRef"/>
-    <function name="xmlRefPtr" link="libxml-tree.html#xmlRefPtr"/>
-    <function name="enum xmlBufferAllocationScheme" link="libxml-tree.html#xmlBufferAllocationScheme"/>
-    <function name="struct xmlBuffer" link="libxml-tree.html#xmlBuffer"/>
-    <function name="xmlBufferPtr" link="libxml-tree.html#xmlBufferPtr"/>
-    <function name="struct xmlNode" link="libxml-tree.html#xmlNode"/>
-    <function name="xmlNodePtr" link="libxml-tree.html#xmlNodePtr"/>
-    <function name="XML_GET_CONTENT()" link="libxml-tree.html#XML-GET-CONTENT-CAPS"/>
-    <function name="XML_GET_LINE()" link="libxml-tree.html#XML-GET-LINE-CAPS"/>
-    <function name="struct xmlDoc" link="libxml-tree.html#xmlDoc"/>
-    <function name="xmlDocPtr" link="libxml-tree.html#xmlDocPtr"/>
-    <function name="xmlChildrenNode" link="libxml-tree.html#xmlChildrenNode"/>
-    <function name="xmlRootNode" link="libxml-tree.html#xmlRootNode"/>
-    <function name="xmlRegisterNodeFunc ()" link="libxml-globals.html#xmlRegisterNodeFunc"/>
-    <function name="xmlDeregisterNodeFunc ()" link="libxml-globals.html#xmlDeregisterNodeFunc"/>
-    <function name="struct xmlGlobalState" link="libxml-globals.html#xmlGlobalState"/>
-    <function name="xmlGlobalStatePtr" link="libxml-globals.html#xmlGlobalStatePtr"/>
-    <function name="xmlMalloc()" link="libxml-globals.html#xmlMalloc"/>
-    <function name="xmlMallocAtomic()" link="libxml-globals.html#xmlMallocAtomic"/>
-    <function name="xmlRealloc()" link="libxml-globals.html#xmlRealloc"/>
-    <function name="xmlFree" link="libxml-globals.html#xmlFree"/>
-    <function name="xmlMemStrdup()" link="libxml-globals.html#xmlMemStrdup"/>
-    <function name="docbDefaultSAXHandler" link="libxml-globals.html#docbDefaultSAXHandler"/>
-    <function name="htmlDefaultSAXHandler" link="libxml-globals.html#htmlDefaultSAXHandler"/>
-    <function name="xmlLastError" link="libxml-globals.html#xmlLastError"/>
-    <function name="oldXMLWDcompatibility" link="libxml-globals.html#oldXMLWDcompatibility"/>
-    <function name="xmlBufferAllocScheme" link="libxml-globals.html#xmlBufferAllocScheme"/>
-    <function name="xmlDefaultBufferSize" link="libxml-globals.html#xmlDefaultBufferSize"/>
-    <function name="xmlDefaultSAXHandler" link="libxml-globals.html#xmlDefaultSAXHandler"/>
-    <function name="xmlDefaultSAXLocator" link="libxml-globals.html#xmlDefaultSAXLocator"/>
-    <function name="xmlDoValidityCheckingDefaultValue" link="libxml-globals.html#xmlDoValidityCheckingDefaultValue"/>
-    <function name="xmlGenericError" link="libxml-globals.html#xmlGenericError"/>
-    <function name="xmlStructuredError" link="libxml-globals.html#xmlStructuredError"/>
-    <function name="xmlGenericErrorContext" link="libxml-globals.html#xmlGenericErrorContext"/>
-    <function name="xmlGetWarningsDefaultValue" link="libxml-globals.html#xmlGetWarningsDefaultValue"/>
-    <function name="xmlIndentTreeOutput" link="libxml-globals.html#xmlIndentTreeOutput"/>
-    <function name="xmlTreeIndentString" link="libxml-globals.html#xmlTreeIndentString"/>
-    <function name="xmlKeepBlanksDefaultValue" link="libxml-globals.html#xmlKeepBlanksDefaultValue"/>
-    <function name="xmlLineNumbersDefaultValue" link="libxml-globals.html#xmlLineNumbersDefaultValue"/>
-    <function name="xmlLoadExtDtdDefaultValue" link="libxml-globals.html#xmlLoadExtDtdDefaultValue"/>
-    <function name="xmlParserDebugEntities" link="libxml-globals.html#xmlParserDebugEntities"/>
-    <function name="xmlParserVersion" link="libxml-globals.html#xmlParserVersion"/>
-    <function name="xmlPedanticParserDefaultValue" link="libxml-globals.html#xmlPedanticParserDefaultValue"/>
-    <function name="xmlSaveNoEmptyTags" link="libxml-globals.html#xmlSaveNoEmptyTags"/>
-    <function name="xmlSubstituteEntitiesDefaultValue" link="libxml-globals.html#xmlSubstituteEntitiesDefaultValue"/>
-    <function name="xmlRegisterNodeDefaultValue" link="libxml-globals.html#xmlRegisterNodeDefaultValue"/>
-    <function name="xmlDeregisterNodeDefaultValue" link="libxml-globals.html#xmlDeregisterNodeDefaultValue"/>
-    <function name="XMLPUBFUN" link="libxml-xmlexports.html#XMLPUBFUN-CAPS"/>
-    <function name="XMLPUBVAR" link="libxml-xmlexports.html#XMLPUBVAR-CAPS"/>
-    <function name="XMLCALL" link="libxml-xmlexports.html#XMLCALL-CAPS"/>
-    <function name="LIBXML_DLL_IMPORT" link="libxml-xmlexports.html#LIBXML-DLL-IMPORT-CAPS"/>
-    <function name="XINCLUDE_NS" link="libxml-xinclude.html#XINCLUDE-NS-CAPS"/>
-    <function name="XINCLUDE_NODE" link="libxml-xinclude.html#XINCLUDE-NODE-CAPS"/>
-    <function name="XINCLUDE_FALLBACK" link="libxml-xinclude.html#XINCLUDE-FALLBACK-CAPS"/>
-    <function name="XINCLUDE_HREF" link="libxml-xinclude.html#XINCLUDE-HREF-CAPS"/>
-    <function name="XINCLUDE_PARSE" link="libxml-xinclude.html#XINCLUDE-PARSE-CAPS"/>
-    <function name="XINCLUDE_PARSE_XML" link="libxml-xinclude.html#XINCLUDE-PARSE-XML-CAPS"/>
-    <function name="XINCLUDE_PARSE_TEXT" link="libxml-xinclude.html#XINCLUDE-PARSE-TEXT-CAPS"/>
-    <function name="XINCLUDE_PARSE_ENCODING" link="libxml-xinclude.html#XINCLUDE-PARSE-ENCODING-CAPS"/>
-    <function name="struct xmlXIncludeCtxt" link="libxml-xinclude.html#xmlXIncludeCtxt"/>
-    <function name="xmlXIncludeCtxtPtr" link="libxml-xinclude.html#xmlXIncludeCtxtPtr"/>
-    <function name="enum xmlParserProperties" link="libxml-xmlreader.html#xmlParserProperties"/>
-    <function name="enum xmlParserSeverities" link="libxml-xmlreader.html#xmlParserSeverities"/>
-    <function name="enum xmlReaderTypes" link="libxml-xmlreader.html#xmlReaderTypes"/>
-    <function name="struct xmlTextReader" link="libxml-xmlreader.html#xmlTextReader"/>
-    <function name="xmlTextReaderPtr" link="libxml-xmlreader.html#xmlTextReaderPtr"/>
-    <function name="xmlTextReaderLocatorPtr" link="libxml-xmlreader.html#xmlTextReaderLocatorPtr"/>
-    <function name="xmlTextReaderErrorFunc ()" link="libxml-xmlreader.html#xmlTextReaderErrorFunc"/>
-    <function name="xmlShellReadlineFunc ()" link="libxml-debugXML.html#xmlShellReadlineFunc"/>
-    <function name="struct xmlShellCtxt" link="libxml-debugXML.html#xmlShellCtxt"/>
-    <function name="xmlShellCtxtPtr" link="libxml-debugXML.html#xmlShellCtxtPtr"/>
-    <function name="xmlShellCmd ()" link="libxml-debugXML.html#xmlShellCmd"/>
-    <function name="struct xmlTextWriter" link="libxml-xmlwriter.html#xmlTextWriter"/>
-    <function name="xmlTextWriterPtr" link="libxml-xmlwriter.html#xmlTextWriterPtr"/>
-    <function name="xmlTextWriterWriteProcessingInstruction" link="libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction"/>
-    <function name="xmlTextWriterWriteDocType" link="libxml-xmlwriter.html#xmlTextWriterWriteDocType"/>
-    <function name="xmlTextWriterEndDTDElement" link="libxml-xmlwriter.html#xmlTextWriterEndDTDElement"/>
-    <function name="xmlTextWriterEndDTDAttlist" link="libxml-xmlwriter.html#xmlTextWriterEndDTDAttlist"/>
-    <function name="xmlTextWriterEndDTDEntity" link="libxml-xmlwriter.html#xmlTextWriterEndDTDEntity"/>
-    <function name="enum xmlSchemaValidError" link="libxml-xmlschemas.html#xmlSchemaValidError"/>
-    <function name="struct xmlSchema" link="libxml-xmlschemas.html#xmlSchema"/>
-    <function name="xmlSchemaPtr" link="libxml-xmlschemas.html#xmlSchemaPtr"/>
-    <function name="xmlSchemaValidityErrorFunc ()" link="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc"/>
-    <function name="xmlSchemaValidityWarningFunc ()" link="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc"/>
-    <function name="struct xmlSchemaParserCtxt" link="libxml-xmlschemas.html#xmlSchemaParserCtxt"/>
-    <function name="xmlSchemaParserCtxtPtr" link="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr"/>
-    <function name="struct xmlSchemaValidCtxt" link="libxml-xmlschemas.html#xmlSchemaValidCtxt"/>
-    <function name="xmlSchemaValidCtxtPtr" link="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr"/>
-  </functions>
-</book>
diff --git a/doc/html/right.png b/doc/html/right.png
deleted file mode 100644
index 92832e3..0000000
--- a/doc/html/right.png
+++ /dev/null
Binary files differ
diff --git a/doc/html/up.png b/doc/html/up.png
deleted file mode 100644
index 85b3e2a..0000000
--- a/doc/html/up.png
+++ /dev/null
Binary files differ
diff --git a/doc/index.html b/doc/index.html
deleted file mode 100644
index 0743099..0000000
--- a/doc/index.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style>
-  <title>The XML C parser and toolkit of Gnome</title>
-  
-</head>
-<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>libxml</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p></p><p style="text-align: right; font-style: italic; font-size: 10pt">"Programming
-with libxml2 is like the thrilling embrace of an exotic stranger." <a href="http://diveintomark.org/archives/2004/02/18/libxml2">Mark
-Pilgrim</a></p><p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
-(but usable outside of the Gnome platform), it is free software available
-under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
-License</a>. XML itself is a metalanguage to design markup languages, i.e.
-text language where semantic and structure are added to the content using
-extra "markup" information enclosed between angle brackets. HTML is the most
-well-known markup language. Though the library is written in C <a href="python.html">a variety of language bindings</a> make it available in
-other environments.</p><p>Libxml2 is known to be very portable, the library should build and work
-without serious troubles on a variety of systems (Linux, Unix, Windows,
-CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, VxWorks, ...)</p><p>Libxml2 implements a number of existing standards related to markup
-languages:</p><ul>
-  <li>the XML standard: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></li>
-  <li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a></li>
-  <li>XML Base: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a></li>
-  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
-    Uniform Resource Identifiers <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a></li>
-  <li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a></li>
-  <li>HTML4 parser: <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a></li>
-  <li>XML Pointer Language (XPointer) Version 1.0: <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a></li>
-  <li>XML Inclusions (XInclude) Version 1.0: <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a></li>
-  <li>ISO-8859-x encodings, as well as <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
-    and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>
-    [UTF-16] Unicode encodings, and more if using iconv support</li>
-  <li>part of SGML Open Technical Resolution TR9401:1997</li>
-  <li>XML Catalogs Working Draft 06 August 2001: <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a></li>
-  <li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
-    and the Exclusive XML Canonicalization CR draft <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a></li>
-  <li>Relax NG, ISO/IEC 19757-2:2003, <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a></li>
-  <li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
-    2001</a></li>
-  <li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7
-    April 2004</li>
-</ul><p>In most cases libxml2 tries to implement the specifications in a
-relatively strictly compliant way. As of release 2.4.16, libxml2 passed all
-1800+ tests from the <a href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
-Suite</a>.</p><p>To some extent libxml2 provides support for the following additional
-specifications but doesn't claim to implement them completely:</p><ul>
-  <li>Document Object Model (DOM) <a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>
-    the document model, but it doesn't implement the API itself, gdome2 does
-    this on top of libxml2</li>
-  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc959.txt">RFC 959</a> :
-    libxml2 implements a basic FTP client code</li>
-  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc1945.txt">RFC 1945</a> :
-    HTTP/1.0, again a basic HTTP client code</li>
-  <li>SAX: a SAX2 like interface and a minimal SAX1 implementation compatible
-    with early expat versions</li>
-</ul><p>A partial implementation of <a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part
-1: Structure</a> is being worked on but it would be far too early to make any
-conformance statement about it at the moment.</p><p>Separate documents:</p><ul>
-  <li><a href="http://xmlsoft.org/XSLT/">the libxslt page</a> providing an
-    implementation of XSLT 1.0 and common extensions like EXSLT for
-  libxml2</li>
-  <li><a href="http://gdome2.cs.unibo.it/">the gdome2 page</a>
-    : a standard DOM2 implementation for libxml2</li>
-  <li><a href="http://www.aleksey.com/xmlsec/">the XMLSec page</a>: an
-    implementation of <a href="http://www.w3.org/TR/xmldsig-core/">W3C XML
-    Digital Signature</a> for libxml2</li>
-  <li>also check the related links section for more related and active
-    projects.</li>
-</ul><p> Hosting sponsored by <a href="http://www.aoemedia.de/opensource-cms.html">Open Source CMS services</a> from AOE media.</p><p>Logo designed by <a href="mailto:liyanage@access.ch">Marc Liyanage</a>.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body>
-</html>
diff --git a/doc/index.py b/doc/index.py
deleted file mode 100755
index e254dc4..0000000
--- a/doc/index.py
+++ /dev/null
@@ -1,1258 +0,0 @@
-#!/usr/bin/python -u
-#
-# imports the API description and fills up a database with
-# name relevance to modules, functions or web pages
-#
-# Operation needed:
-# =================
-#
-# install mysqld, the python wrappers for mysql and libxml2, start mysqld
-# Change the root passwd of mysql:
-#    mysqladmin -u root password new_password
-# Create the new database xmlsoft
-#    mysqladmin -p create xmlsoft
-# Create a database user 'veillard' and give him passord access
-# change veillard and abcde with the right user name and passwd
-#    mysql -p
-#    password:
-#    mysql> GRANT ALL PRIVILEGES ON xmlsoft TO veillard@localhost
-#           IDENTIFIED BY 'abcde' WITH GRANT OPTION;
-#
-# As the user check the access:
-#    mysql -p xmlsoft
-#    Enter password:
-#    Welcome to the MySQL monitor....
-#    mysql> use xmlsoft
-#    Database changed
-#    mysql> quit
-#    Bye
-#
-# Then run the script in the doc subdir, it will create the symbols and
-# word tables and populate them with information extracted from 
-# the libxml2-api.xml API description, and make them accessible read-only
-# by nobody@loaclhost the user expected to be Apache's one
-#
-# On the Apache configuration, make sure you have php support enabled
-#
-
-import MySQLdb
-import libxml2
-import sys
-import string
-import os
-
-#
-# We are not interested in parsing errors here
-#
-def callback(ctx, str):
-    return
-libxml2.registerErrorHandler(callback, None)
-
-#
-# The dictionary of tables required and the SQL command needed
-# to create them
-#
-TABLES={
-  "symbols" : """CREATE TABLE symbols (
-           name varchar(255) BINARY NOT NULL,
-	   module varchar(255) BINARY NOT NULL,
-           type varchar(25) NOT NULL,
-	   descr varchar(255),
-	   UNIQUE KEY name (name),
-	   KEY module (module))""",
-  "words" : """CREATE TABLE words (
-           name varchar(50) BINARY NOT NULL,
-	   symbol varchar(255) BINARY NOT NULL,
-           relevance int,
-	   KEY name (name),
-	   KEY symbol (symbol),
-	   UNIQUE KEY ID (name, symbol))""",
-  "wordsHTML" : """CREATE TABLE wordsHTML (
-           name varchar(50) BINARY NOT NULL,
-	   resource varchar(255) BINARY NOT NULL,
-	   section varchar(255),
-	   id varchar(50),
-           relevance int,
-	   KEY name (name),
-	   KEY resource (resource),
-	   UNIQUE KEY ref (name, resource))""",
-  "wordsArchive" : """CREATE TABLE wordsArchive (
-           name varchar(50) BINARY NOT NULL,
-	   ID int(11) NOT NULL,
-           relevance int,
-	   KEY name (name),
-	   UNIQUE KEY ref (name, ID))""",
-  "pages" : """CREATE TABLE pages (
-           resource varchar(255) BINARY NOT NULL,
-	   title varchar(255) BINARY NOT NULL,
-	   UNIQUE KEY name (resource))""",
-  "archives" : """CREATE TABLE archives (
-           ID int(11) NOT NULL auto_increment,
-           resource varchar(255) BINARY NOT NULL,
-	   title varchar(255) BINARY NOT NULL,
-	   UNIQUE KEY id (ID,resource(255)),
-	   INDEX (ID),
-	   INDEX (resource))""",
-  "Queries" : """CREATE TABLE Queries (
-           ID int(11) NOT NULL auto_increment,
-	   Value varchar(50) NOT NULL,
-	   Count int(11) NOT NULL,
-	   UNIQUE KEY id (ID,Value(35)),
-	   INDEX (ID))""",
-  "AllQueries" : """CREATE TABLE AllQueries (
-           ID int(11) NOT NULL auto_increment,
-	   Value varchar(50) NOT NULL,
-	   Count int(11) NOT NULL,
-	   UNIQUE KEY id (ID,Value(35)),
-	   INDEX (ID))""",
-}
-
-#
-# The XML API description file to parse
-#
-API="libxml2-api.xml"
-DB=None
-
-#########################################################################
-#									#
-#                  MySQL database interfaces				#
-#									#
-#########################################################################
-def createTable(db, name):
-    global TABLES
-
-    if db == None:
-        return -1
-    if name == None:
-        return -1
-    c = db.cursor()
-
-    ret = c.execute("DROP TABLE IF EXISTS %s" % (name))
-    if ret == 1:
-        print "Removed table %s" % (name)
-    print "Creating table %s" % (name)
-    try:
-        ret = c.execute(TABLES[name])
-    except:
-        print "Failed to create table %s" % (name)
-	return -1
-    return ret
-
-def checkTables(db, verbose = 1):
-    global TABLES
-
-    if db == None:
-        return -1
-    c = db.cursor()
-    nbtables = c.execute("show tables")
-    if verbose:
-	print "Found %d tables" % (nbtables)
-    tables = {}
-    i = 0
-    while i < nbtables:
-        l = c.fetchone()
-	name = l[0]
-	tables[name] = {}
-        i = i + 1
-
-    for table in TABLES.keys():
-        if not tables.has_key(table):
-	    print "table %s missing" % (table)
-	    createTable(db, table)
-	try:
-	    ret = c.execute("SELECT count(*) from %s" % table);
-	    row = c.fetchone()
-	    if verbose:
-		print "Table %s contains %d records" % (table, row[0])
-	except:
-	    print "Troubles with table %s : repairing" % (table)
-	    ret = c.execute("repair table %s" % table);
-	    print "repairing returned %d" % (ret)
-	    ret = c.execute("SELECT count(*) from %s" % table);
-	    row = c.fetchone()
-	    print "Table %s contains %d records" % (table, row[0])
-    if verbose:
-	print "checkTables finished"
-
-    # make sure apache can access the tables read-only
-    try:
-	ret = c.execute("GRANT SELECT ON xmlsoft.* TO nobody@localhost")
-	ret = c.execute("GRANT INSERT,SELECT,UPDATE  ON xmlsoft.Queries TO nobody@localhost")
-    except:
-        pass
-    return 0
-    
-def openMySQL(db="xmlsoft", passwd=None, verbose = 1):
-    global DB
-
-    if passwd == None:
-        try:
-	    passwd = os.environ["MySQL_PASS"]
-	except:
-	    print "No password available, set environment MySQL_PASS"
-	    sys.exit(1)
-
-    DB = MySQLdb.connect(passwd=passwd, db=db)
-    if DB == None:
-        return -1
-    ret = checkTables(DB, verbose)
-    return ret
-
-def updateWord(name, symbol, relevance):
-    global DB
-
-    if DB == None:
-        openMySQL()
-    if DB == None:
-        return -1
-    if name == None:
-        return -1
-    if symbol == None:
-        return -1
-
-    c = DB.cursor()
-    try:
-	ret = c.execute(
-"""INSERT INTO words (name, symbol, relevance) VALUES ('%s','%s', %d)""" %
-		(name, symbol, relevance))
-    except:
-        try:
-	    ret = c.execute(
-    """UPDATE words SET relevance = %d where name = '%s' and symbol = '%s'""" %
-		    (relevance, name, symbol))
-	except:
-	    print "Update word (%s, %s, %s) failed command" % (name, symbol, relevance)
-	    print "UPDATE words SET relevance = %d where name = '%s' and symbol = '%s'" % (relevance, name, symbol)
-	    print sys.exc_type, sys.exc_value
-	    return -1
-	     
-    return ret
-
-def updateSymbol(name, module, type, desc):
-    global DB
-
-    updateWord(name, name, 50)
-    if DB == None:
-        openMySQL()
-    if DB == None:
-        return -1
-    if name == None:
-        return -1
-    if module == None:
-        return -1
-    if type == None:
-        return -1
-
-    try:
-	desc = string.replace(desc, "'", " ")
-	l = string.split(desc, ".")
-	desc = l[0]
-	desc = desc[0:99]
-    except:
-        desc = ""
-
-    c = DB.cursor()
-    try:
-	ret = c.execute(
-"""INSERT INTO symbols (name, module, type, descr) VALUES ('%s','%s', '%s', '%s')""" %
-                    (name, module, type, desc))
-    except:
-        try:
-	    ret = c.execute(
-"""UPDATE symbols SET module='%s', type='%s', descr='%s' where name='%s'""" %
-                    (module, type, desc, name))
-        except:
-	    print "Update symbol (%s, %s, %s) failed command" % (name, module, type)
-	    print """UPDATE symbols SET module='%s', type='%s', descr='%s' where name='%s'""" % (module, type, desc, name)
-	    print sys.exc_type, sys.exc_value
-	    return -1
-	     
-    return ret
-        
-def addFunction(name, module, desc = ""):
-    return updateSymbol(name, module, 'function', desc)
-
-def addMacro(name, module, desc = ""):
-    return updateSymbol(name, module, 'macro', desc)
-
-def addEnum(name, module, desc = ""):
-    return updateSymbol(name, module, 'enum', desc)
-
-def addStruct(name, module, desc = ""):
-    return updateSymbol(name, module, 'struct', desc)
-
-def addConst(name, module, desc = ""):
-    return updateSymbol(name, module, 'const', desc)
-
-def addType(name, module, desc = ""):
-    return updateSymbol(name, module, 'type', desc)
-
-def addFunctype(name, module, desc = ""):
-    return updateSymbol(name, module, 'functype', desc)
-
-def addPage(resource, title):
-    global DB
-
-    if DB == None:
-        openMySQL()
-    if DB == None:
-        return -1
-    if resource == None:
-        return -1
-
-    c = DB.cursor()
-    try:
-	ret = c.execute(
-	    """INSERT INTO pages (resource, title) VALUES ('%s','%s')""" %
-                    (resource, title))
-    except:
-        try:
-	    ret = c.execute(
-		"""UPDATE pages SET title='%s' WHERE resource='%s'""" %
-                    (title, resource))
-        except:
-	    print "Update symbol (%s, %s, %s) failed command" % (name, module, type)
-	    print """UPDATE pages SET title='%s' WHERE resource='%s'""" % (title, resource)
-	    print sys.exc_type, sys.exc_value
-	    return -1
-	     
-    return ret
-
-def updateWordHTML(name, resource, desc, id, relevance):
-    global DB
-
-    if DB == None:
-        openMySQL()
-    if DB == None:
-        return -1
-    if name == None:
-        return -1
-    if resource == None:
-        return -1
-    if id == None:
-        id = ""
-    if desc == None:
-        desc = ""
-    else:
-	try:
-	    desc = string.replace(desc, "'", " ")
-	    desc = desc[0:99]
-	except:
-	    desc = ""
-
-    c = DB.cursor()
-    try:
-	ret = c.execute(
-"""INSERT INTO wordsHTML (name, resource, section, id, relevance) VALUES ('%s','%s', '%s', '%s', '%d')""" %
-                    (name, resource, desc, id, relevance))
-    except:
-        try:
-	    ret = c.execute(
-"""UPDATE wordsHTML SET section='%s', id='%s', relevance='%d' where name='%s' and resource='%s'""" %
-                    (desc, id, relevance, name, resource))
-        except:
-	    print "Update symbol (%s, %s, %d) failed command" % (name, resource, relevance)
-	    print """UPDATE wordsHTML SET section='%s', id='%s', relevance='%d' where name='%s' and resource='%s'""" % (desc, id, relevance, name, resource)
-	    print sys.exc_type, sys.exc_value
-	    return -1
-	     
-    return ret
-
-def checkXMLMsgArchive(url):
-    global DB
-
-    if DB == None:
-        openMySQL()
-    if DB == None:
-        return -1
-    if url == None:
-        return -1
-
-    c = DB.cursor()
-    try:
-	ret = c.execute(
-	    """SELECT ID FROM archives WHERE resource='%s'""" % (url))
-	row = c.fetchone()
-	if row == None:
-	    return -1
-    except:
-	return -1
-	     
-    return row[0]
-    
-def addXMLMsgArchive(url, title):
-    global DB
-
-    if DB == None:
-        openMySQL()
-    if DB == None:
-        return -1
-    if url == None:
-        return -1
-    if title == None:
-        title = ""
-    else:
-	title = string.replace(title, "'", " ")
-	title = title[0:99]
-
-    c = DB.cursor()
-    try:
-        cmd = """INSERT INTO archives (resource, title) VALUES ('%s','%s')""" % (url, title)
-        ret = c.execute(cmd)
-	cmd = """SELECT ID FROM archives WHERE resource='%s'""" % (url)
-        ret = c.execute(cmd)
-	row = c.fetchone()
-	if row == None:
-	    print "addXMLMsgArchive failed to get the ID: %s" % (url)
-	    return -1
-    except:
-        print "addXMLMsgArchive failed command: %s" % (cmd)
-	return -1
-	     
-    return((int)(row[0]))
-
-def updateWordArchive(name, id, relevance):
-    global DB
-
-    if DB == None:
-        openMySQL()
-    if DB == None:
-        return -1
-    if name == None:
-        return -1
-    if id == None:
-        return -1
-
-    c = DB.cursor()
-    try:
-	ret = c.execute(
-"""INSERT INTO wordsArchive (name, id, relevance) VALUES ('%s', '%d', '%d')""" %
-                    (name, id, relevance))
-    except:
-        try:
-	    ret = c.execute(
-"""UPDATE wordsArchive SET relevance='%d' where name='%s' and ID='%d'""" %
-                    (relevance, name, id))
-        except:
-	    print "Update word archive (%s, %d, %d) failed command" % (name, id, relevance)
-	    print """UPDATE wordsArchive SET relevance='%d' where name='%s' and ID='%d'""" % (relevance, name, id)
-	    print sys.exc_type, sys.exc_value
-	    return -1
-
-    return ret
-
-#########################################################################
-#									#
-#                  Word dictionary and analysis routines		#
-#									#
-#########################################################################
-
-#
-# top 100 english word without the one len < 3 + own set
-#
-dropWords = {
-    'the':0, 'this':0, 'can':0, 'man':0, 'had':0, 'him':0, 'only':0,
-    'and':0, 'not':0, 'been':0, 'other':0, 'even':0, 'are':0, 'was':0,
-    'new':0, 'most':0, 'but':0, 'when':0, 'some':0, 'made':0, 'from':0,
-    'who':0, 'could':0, 'after':0, 'that':0, 'will':0, 'time':0, 'also':0,
-    'have':0, 'more':0, 'these':0, 'did':0, 'was':0, 'two':0, 'many':0,
-    'they':0, 'may':0, 'before':0, 'for':0, 'which':0, 'out':0, 'then':0,
-    'must':0, 'one':0, 'through':0, 'with':0, 'you':0, 'said':0,
-    'first':0, 'back':0, 'were':0, 'what':0, 'any':0, 'years':0, 'his':0,
-    'her':0, 'where':0, 'all':0, 'its':0, 'now':0, 'much':0, 'she':0,
-    'about':0, 'such':0, 'your':0, 'there':0, 'into':0, 'like':0, 'may':0,
-    'would':0, 'than':0, 'our':0, 'well':0, 'their':0, 'them':0, 'over':0,
-    'down':0,
-    'net':0, 'www':0, 'bad':0, 'Okay':0, 'bin':0, 'cur':0,
-}
-
-wordsDict = {}
-wordsDictHTML = {}
-wordsDictArchive = {}
-
-def cleanupWordsString(str):
-    str = string.replace(str, ".", " ")
-    str = string.replace(str, "!", " ")
-    str = string.replace(str, "?", " ")
-    str = string.replace(str, ",", " ")
-    str = string.replace(str, "'", " ")
-    str = string.replace(str, '"', " ")
-    str = string.replace(str, ";", " ")
-    str = string.replace(str, "(", " ")
-    str = string.replace(str, ")", " ")
-    str = string.replace(str, "{", " ")
-    str = string.replace(str, "}", " ")
-    str = string.replace(str, "<", " ")
-    str = string.replace(str, ">", " ")
-    str = string.replace(str, "=", " ")
-    str = string.replace(str, "/", " ")
-    str = string.replace(str, "*", " ")
-    str = string.replace(str, ":", " ")
-    str = string.replace(str, "#", " ")
-    str = string.replace(str, "\\", " ")
-    str = string.replace(str, "\n", " ")
-    str = string.replace(str, "\r", " ")
-    str = string.replace(str, "\xc2", " ")
-    str = string.replace(str, "\xa0", " ")
-    return str
-    
-def cleanupDescrString(str):
-    str = string.replace(str, "'", " ")
-    str = string.replace(str, "\n", " ")
-    str = string.replace(str, "\r", " ")
-    str = string.replace(str, "\xc2", " ")
-    str = string.replace(str, "\xa0", " ")
-    l = string.split(str)
-    str = string.join(str)
-    return str
-
-def splitIdentifier(str):
-    ret = []
-    while str != "":
-        cur = string.lower(str[0])
-	str = str[1:]
-	if ((cur < 'a') or (cur > 'z')):
-	    continue
-	while (str != "") and (str[0] >= 'A') and (str[0] <= 'Z'):
-	    cur = cur + string.lower(str[0])
-	    str = str[1:]
-	while (str != "") and (str[0] >= 'a') and (str[0] <= 'z'):
-	    cur = cur + str[0]
-	    str = str[1:]
-	while (str != "") and (str[0] >= '0') and (str[0] <= '9'):
-	    str = str[1:]
-	ret.append(cur)
-    return ret
-
-def addWord(word, module, symbol, relevance):
-    global wordsDict
-
-    if word == None or len(word) < 3:
-        return -1
-    if module == None or symbol == None:
-        return -1
-    if dropWords.has_key(word):
-        return 0
-    if ord(word[0]) > 0x80:
-        return 0
-
-    if wordsDict.has_key(word):
-        d = wordsDict[word]
-	if d == None:
-	    return 0
-	if len(d) > 500:
-	    wordsDict[word] = None
-	    return 0
-	try:
-	    relevance = relevance + d[(module, symbol)]
-	except:
-	    pass
-    else:
-        wordsDict[word] = {}
-    wordsDict[word][(module, symbol)] = relevance
-    return relevance
-    
-def addString(str, module, symbol, relevance):
-    if str == None or len(str) < 3:
-        return -1
-    ret = 0
-    str = cleanupWordsString(str)
-    l = string.split(str)
-    for word in l:
-	if len(word) > 2:
-	    ret = ret + addWord(word, module, symbol, 5)
-
-    return ret
-
-def addWordHTML(word, resource, id, section, relevance):
-    global wordsDictHTML
-
-    if word == None or len(word) < 3:
-        return -1
-    if resource == None or section == None:
-        return -1
-    if dropWords.has_key(word):
-        return 0
-    if ord(word[0]) > 0x80:
-        return 0
-
-    section = cleanupDescrString(section)
-
-    if wordsDictHTML.has_key(word):
-        d = wordsDictHTML[word]
-	if d == None:
-	    print "skipped %s" % (word)
-	    return 0
-	try:
-	    (r,i,s) = d[resource]
-	    if i != None:
-	        id = i
-	    if s != None:
-	        section = s
-	    relevance = relevance + r
-	except:
-	    pass
-    else:
-        wordsDictHTML[word] = {}
-    d = wordsDictHTML[word];
-    d[resource] = (relevance, id, section)
-    return relevance
-    
-def addStringHTML(str, resource, id, section, relevance):
-    if str == None or len(str) < 3:
-        return -1
-    ret = 0
-    str = cleanupWordsString(str)
-    l = string.split(str)
-    for word in l:
-	if len(word) > 2:
-	    try:
-		r = addWordHTML(word, resource, id, section, relevance)
-		if r < 0:
-		    print "addWordHTML failed: %s %s" % (word, resource)
-		ret = ret + r
-	    except:
-		print "addWordHTML failed: %s %s %d" % (word, resource, relevance)
-		print sys.exc_type, sys.exc_value
-
-    return ret
-
-def addWordArchive(word, id, relevance):
-    global wordsDictArchive
-
-    if word == None or len(word) < 3:
-        return -1
-    if id == None or id == -1:
-        return -1
-    if dropWords.has_key(word):
-        return 0
-    if ord(word[0]) > 0x80:
-        return 0
-
-    if wordsDictArchive.has_key(word):
-        d = wordsDictArchive[word]
-	if d == None:
-	    print "skipped %s" % (word)
-	    return 0
-	try:
-	    r = d[id]
-	    relevance = relevance + r
-	except:
-	    pass
-    else:
-        wordsDictArchive[word] = {}
-    d = wordsDictArchive[word];
-    d[id] = relevance
-    return relevance
-    
-def addStringArchive(str, id, relevance):
-    if str == None or len(str) < 3:
-        return -1
-    ret = 0
-    str = cleanupWordsString(str)
-    l = string.split(str)
-    for word in l:
-        i = len(word)
-	if i > 2:
-	    try:
-		r = addWordArchive(word, id, relevance)
-		if r < 0:
-		    print "addWordArchive failed: %s %s" % (word, id)
-		else:
-		    ret = ret + r
-	    except:
-		print "addWordArchive failed: %s %s %d" % (word, id, relevance)
-		print sys.exc_type, sys.exc_value
-    return ret
-
-#########################################################################
-#									#
-#                  XML API description analysis				#
-#									#
-#########################################################################
-
-def loadAPI(filename):
-    doc = libxml2.parseFile(filename)
-    print "loaded %s" % (filename)
-    return doc
-
-def foundExport(file, symbol):
-    if file == None:
-        return 0
-    if symbol == None:
-        return 0
-    addFunction(symbol, file)
-    l = splitIdentifier(symbol)
-    for word in l:
-	addWord(word, file, symbol, 10)
-    return 1
-     
-def analyzeAPIFile(top):
-    count = 0
-    name = top.prop("name")
-    cur = top.children
-    while cur != None:
-        if cur.type == 'text':
-	    cur = cur.next
-	    continue
-	if cur.name == "exports":
-	    count = count + foundExport(name, cur.prop("symbol"))
-	else:
-	    print "unexpected element %s in API doc <file name='%s'>" % (name)
-        cur = cur.next
-    return count
-
-def analyzeAPIFiles(top):
-    count = 0
-    cur = top.children
-        
-    while cur != None:
-        if cur.type == 'text':
-	    cur = cur.next
-	    continue
-	if cur.name == "file":
-	    count = count + analyzeAPIFile(cur)
-	else:
-	    print "unexpected element %s in API doc <files>" % (cur.name)
-        cur = cur.next
-    return count
-
-def analyzeAPIEnum(top):
-    file = top.prop("file")
-    if file == None:
-        return 0
-    symbol = top.prop("name")
-    if symbol == None:
-        return 0
-
-    addEnum(symbol, file)
-    l = splitIdentifier(symbol)
-    for word in l:
-	addWord(word, file, symbol, 10)
-
-    return 1
-
-def analyzeAPIConst(top):
-    file = top.prop("file")
-    if file == None:
-        return 0
-    symbol = top.prop("name")
-    if symbol == None:
-        return 0
-
-    addConst(symbol, file)
-    l = splitIdentifier(symbol)
-    for word in l:
-	addWord(word, file, symbol, 10)
-
-    return 1
-
-def analyzeAPIType(top):
-    file = top.prop("file")
-    if file == None:
-        return 0
-    symbol = top.prop("name")
-    if symbol == None:
-        return 0
-
-    addType(symbol, file)
-    l = splitIdentifier(symbol)
-    for word in l:
-	addWord(word, file, symbol, 10)
-    return 1
-
-def analyzeAPIFunctype(top):
-    file = top.prop("file")
-    if file == None:
-        return 0
-    symbol = top.prop("name")
-    if symbol == None:
-        return 0
-
-    addFunctype(symbol, file)
-    l = splitIdentifier(symbol)
-    for word in l:
-	addWord(word, file, symbol, 10)
-    return 1
-
-def analyzeAPIStruct(top):
-    file = top.prop("file")
-    if file == None:
-        return 0
-    symbol = top.prop("name")
-    if symbol == None:
-        return 0
-
-    addStruct(symbol, file)
-    l = splitIdentifier(symbol)
-    for word in l:
-	addWord(word, file, symbol, 10)
-
-    info = top.prop("info")
-    if info != None:
-	info = string.replace(info, "'", " ")
-	info = string.strip(info)
-	l = string.split(info)
-	for word in l:
-	    if len(word) > 2:
-		addWord(word, file, symbol, 5)
-    return 1
-
-def analyzeAPIMacro(top):
-    file = top.prop("file")
-    if file == None:
-        return 0
-    symbol = top.prop("name")
-    if symbol == None:
-        return 0
-    symbol = string.replace(symbol, "'", " ")
-    symbol = string.strip(symbol)
-
-    info = None
-    cur = top.children
-    while cur != None:
-        if cur.type == 'text':
-	    cur = cur.next
-	    continue
-	if cur.name == "info":
-	    info = cur.content
-	    break
-        cur = cur.next
-
-    l = splitIdentifier(symbol)
-    for word in l:
-	addWord(word, file, symbol, 10)
-
-    if info == None:
-	addMacro(symbol, file)
-        print "Macro %s description has no <info>" % (symbol)
-        return 0
-
-    info = string.replace(info, "'", " ")
-    info = string.strip(info)
-    addMacro(symbol, file, info)
-    l = string.split(info)
-    for word in l:
-	if len(word) > 2:
-	    addWord(word, file, symbol, 5)
-    return 1
-
-def analyzeAPIFunction(top):
-    file = top.prop("file")
-    if file == None:
-        return 0
-    symbol = top.prop("name")
-    if symbol == None:
-        return 0
-
-    symbol = string.replace(symbol, "'", " ")
-    symbol = string.strip(symbol)
-    info = None
-    cur = top.children
-    while cur != None:
-        if cur.type == 'text':
-	    cur = cur.next
-	    continue
-	if cur.name == "info":
-	    info = cur.content
-	elif cur.name == "return":
-	    rinfo = cur.prop("info")
-	    if rinfo != None:
-		rinfo = string.replace(rinfo, "'", " ")
-		rinfo = string.strip(rinfo)
-	        addString(rinfo, file, symbol, 7)
-	elif cur.name == "arg":
-	    ainfo = cur.prop("info")
-	    if ainfo != None:
-		ainfo = string.replace(ainfo, "'", " ")
-		ainfo = string.strip(ainfo)
-	        addString(ainfo, file, symbol, 5)
-	    name = cur.prop("name")
-	    if name != None:
-		name = string.replace(name, "'", " ")
-		name = string.strip(name)
-	        addWord(name, file, symbol, 7)
-        cur = cur.next
-    if info == None:
-        print "Function %s description has no <info>" % (symbol)
-	addFunction(symbol, file, "")
-    else:
-        info = string.replace(info, "'", " ")
-	info = string.strip(info)
-	addFunction(symbol, file, info)
-        addString(info, file, symbol, 5)
-
-    l = splitIdentifier(symbol)
-    for word in l:
-	addWord(word, file, symbol, 10)
-
-    return 1
-
-def analyzeAPISymbols(top):
-    count = 0
-    cur = top.children
-        
-    while cur != None:
-        if cur.type == 'text':
-	    cur = cur.next
-	    continue
-	if cur.name == "macro":
-	    count = count + analyzeAPIMacro(cur)
-	elif cur.name == "function":
-	    count = count + analyzeAPIFunction(cur)
-	elif cur.name == "const":
-	    count = count + analyzeAPIConst(cur)
-	elif cur.name == "typedef":
-	    count = count + analyzeAPIType(cur)
-	elif cur.name == "struct":
-	    count = count + analyzeAPIStruct(cur)
-	elif cur.name == "enum":
-	    count = count + analyzeAPIEnum(cur)
-	elif cur.name == "functype":
-	    count = count + analyzeAPIFunctype(cur)
-	else:
-	    print "unexpected element %s in API doc <files>" % (cur.name)
-        cur = cur.next
-    return count
-
-def analyzeAPI(doc):
-    count = 0
-    if doc == None:
-        return -1
-    root = doc.getRootElement()
-    if root.name != "api":
-        print "Unexpected root name"
-        return -1
-    cur = root.children
-    while cur != None:
-        if cur.type == 'text':
-	    cur = cur.next
-	    continue
-	if cur.name == "files":
-	    pass
-#	    count = count + analyzeAPIFiles(cur)
-	elif cur.name == "symbols":
-	    count = count + analyzeAPISymbols(cur)
-	else:
-	    print "unexpected element %s in API doc" % (cur.name)
-        cur = cur.next
-    return count
-
-#########################################################################
-#									#
-#                  Web pages parsing and analysis			#
-#									#
-#########################################################################
-
-import glob
-
-def analyzeHTMLText(doc, resource, p, section, id):
-    words = 0
-    try:
-	content = p.content
-	words = words + addStringHTML(content, resource, id, section, 5)
-    except:
-        return -1
-    return words
-
-def analyzeHTMLPara(doc, resource, p, section, id):
-    words = 0
-    try:
-	content = p.content
-	words = words + addStringHTML(content, resource, id, section, 5)
-    except:
-        return -1
-    return words
-
-def analyzeHTMLPre(doc, resource, p, section, id):
-    words = 0
-    try:
-	content = p.content
-	words = words + addStringHTML(content, resource, id, section, 5)
-    except:
-        return -1
-    return words
-
-def analyzeHTML(doc, resource, p, section, id):
-    words = 0
-    try:
-	content = p.content
-	words = words + addStringHTML(content, resource, id, section, 5)
-    except:
-        return -1
-    return words
-
-def analyzeHTML(doc, resource):
-    para = 0;
-    ctxt = doc.xpathNewContext()
-    try:
-	res = ctxt.xpathEval("//head/title")
-	title = res[0].content
-    except:
-        title = "Page %s" % (resource)
-    addPage(resource, title)
-    try:
-	items = ctxt.xpathEval("//h1 | //h2 | //h3 | //text()")
-	section = title
-	id = ""
-	for item in items:
-	    if item.name == 'h1' or item.name == 'h2' or item.name == 'h3':
-	        section = item.content
-		if item.prop("id"):
-		    id = item.prop("id")
-		elif item.prop("name"):
-		    id = item.prop("name")
-	    elif item.type == 'text':
-	        analyzeHTMLText(doc, resource, item, section, id)
-		para = para + 1
-	    elif item.name == 'p':
-	        analyzeHTMLPara(doc, resource, item, section, id)
-		para = para + 1
-	    elif item.name == 'pre':
-	        analyzeHTMLPre(doc, resource, item, section, id)
-		para = para + 1
-	    else:
-	        print "Page %s, unexpected %s element" % (resource, item.name)
-    except:
-        print "Page %s: problem analyzing" % (resource)
-	print sys.exc_type, sys.exc_value
-
-    return para
-
-def analyzeHTMLPages():
-    ret = 0
-    HTMLfiles = glob.glob("*.html") + glob.glob("tutorial/*.html")
-    for html in HTMLfiles:
-	if html[0:3] == "API":
-	    continue
-	if html == "xml.html":
-	    continue
-	try:
-	    doc = libxml2.parseFile(html)
-	except:
-	    doc = libxml2.htmlParseFile(html, None)
-	try:
-	    res = analyzeHTML(doc, html)
-	    print "Parsed %s : %d paragraphs" % (html, res)
-	    ret = ret + 1
-	except:
-	    print "could not parse %s" % (html)
-    return ret
-
-#########################################################################
-#									#
-#                  Mail archives parsing and analysis			#
-#									#
-#########################################################################
-
-import time
-
-def getXMLDateArchive(t = None):
-    if t == None:
-	t = time.time()
-    T = time.gmtime(t)
-    month = time.strftime("%B", T)
-    year = T[0]
-    url = "http://mail.gnome.org/archives/xml/%d-%s/date.html" % (year, month)
-    return url
-
-def scanXMLMsgArchive(url, title, force = 0):
-    if url == None or title == None:
-        return 0
-
-    ID = checkXMLMsgArchive(url)
-    if force == 0 and ID != -1:
-        return 0
-
-    if ID == -1:
-	ID = addXMLMsgArchive(url, title)
-	if ID == -1:
-	    return 0
-
-    try:
-        print "Loading %s" % (url)
-        doc = libxml2.htmlParseFile(url, None);
-    except:
-        doc = None
-    if doc == None:
-        print "Failed to parse %s" % (url)
-	return 0
-
-    addStringArchive(title, ID, 20)
-    ctxt = doc.xpathNewContext()
-    texts = ctxt.xpathEval("//pre//text()")
-    for text in texts:
-        addStringArchive(text.content, ID, 5)
-
-    return 1
-
-def scanXMLDateArchive(t = None, force = 0):
-    global wordsDictArchive
-
-    wordsDictArchive = {}
-
-    url = getXMLDateArchive(t)
-    print "loading %s" % (url)
-    try:
-	doc = libxml2.htmlParseFile(url, None);
-    except:
-        doc = None
-    if doc == None:
-        print "Failed to parse %s" % (url)
-	return -1
-    ctxt = doc.xpathNewContext()
-    anchors = ctxt.xpathEval("//a[@href]")
-    links = 0
-    newmsg = 0
-    for anchor in anchors:
-	href = anchor.prop("href")
-	if href == None or href[0:3] != "msg":
-	    continue
-        try:
-	    links = links + 1
-
-	    msg = libxml2.buildURI(href, url)
-	    title = anchor.content
-	    if title != None and title[0:4] == 'Re: ':
-	        title = title[4:]
-	    if title != None and title[0:6] == '[xml] ':
-	        title = title[6:]
-	    newmsg = newmsg + scanXMLMsgArchive(msg, title, force)
-
-	except:
-	    pass
-
-    return newmsg
-    
-
-#########################################################################
-#									#
-#          Main code: open the DB, the API XML and analyze it		#
-#									#
-#########################################################################
-def analyzeArchives(t = None, force = 0):
-    global wordsDictArchive
-
-    ret = scanXMLDateArchive(t, force)
-    print "Indexed %d words in %d archive pages" % (len(wordsDictArchive), ret)
-
-    i = 0
-    skipped = 0
-    for word in wordsDictArchive.keys():
-	refs = wordsDictArchive[word]
-	if refs  == None:
-	    skipped = skipped + 1
-	    continue;
-	for id in refs.keys():
-	    relevance = refs[id]
-	    updateWordArchive(word, id, relevance)
-	    i = i + 1
-
-    print "Found %d associations in HTML pages" % (i)
-
-def analyzeHTMLTop():
-    global wordsDictHTML
-
-    ret = analyzeHTMLPages()
-    print "Indexed %d words in %d HTML pages" % (len(wordsDictHTML), ret)
-
-    i = 0
-    skipped = 0
-    for word in wordsDictHTML.keys():
-	refs = wordsDictHTML[word]
-	if refs  == None:
-	    skipped = skipped + 1
-	    continue;
-	for resource in refs.keys():
-	    (relevance, id, section) = refs[resource]
-	    updateWordHTML(word, resource, section, id, relevance)
-	    i = i + 1
-
-    print "Found %d associations in HTML pages" % (i)
-
-def analyzeAPITop():
-    global wordsDict
-    global API
-
-    try:
-	doc = loadAPI(API)
-	ret = analyzeAPI(doc)
-	print "Analyzed %d blocks" % (ret)
-	doc.freeDoc()
-    except:
-	print "Failed to parse and analyze %s" % (API)
-	print sys.exc_type, sys.exc_value
-	sys.exit(1)
-
-    print "Indexed %d words" % (len(wordsDict))
-    i = 0
-    skipped = 0
-    for word in wordsDict.keys():
-	refs = wordsDict[word]
-	if refs  == None:
-	    skipped = skipped + 1
-	    continue;
-	for (module, symbol) in refs.keys():
-	    updateWord(word, symbol, refs[(module, symbol)])
-	    i = i + 1
-
-    print "Found %d associations, skipped %d words" % (i, skipped)
-
-def usage():
-    print "Usage index.py [--force] [--archive]  [--archive-year year] [--archive-month month] [--API] [--docs]"
-    sys.exit(1)
-
-def main():
-    try:
-	openMySQL()
-    except:
-	print "Failed to open the database"
-	print sys.exc_type, sys.exc_value
-	sys.exit(1)
-
-    args = sys.argv[1:]
-    force = 0
-    if args:
-        i = 0
-	while i < len(args):
-	    if args[i] == '--force':
-	        force = 1
-	    elif args[i] == '--archive':
-	        analyzeArchives(None, force)
-	    elif args[i] == '--archive-year':
-	        i = i + 1;
-		year = args[i]
-		months = ["January" , "February", "March", "April", "May",
-			  "June", "July", "August", "September", "October",
-			  "November", "December"];
-	        for month in months:
-		    try:
-		        str = "%s-%s" % (year, month)
-			T = time.strptime(str, "%Y-%B")
-			t = time.mktime(T) + 3600 * 24 * 10;
-			analyzeArchives(t, force)
-		    except:
-			print "Failed to index month archive:"
-			print sys.exc_type, sys.exc_value
-	    elif args[i] == '--archive-month':
-	        i = i + 1;
-		month = args[i]
-		try:
-		    T = time.strptime(month, "%Y-%B")
-		    t = time.mktime(T) + 3600 * 24 * 10;
-		    analyzeArchives(t, force)
-		except:
-		    print "Failed to index month archive:"
-		    print sys.exc_type, sys.exc_value
-	    elif args[i] == '--API':
-	        analyzeAPITop()
-	    elif args[i] == '--docs':
-	        analyzeHTMLTop()
-	    else:
-	        usage()
-	    i = i + 1
-    else:
-        usage()
-
-if __name__ == "__main__":
-    main()
diff --git a/doc/interface.html b/doc/interface.html
deleted file mode 100644
index f174c8e..0000000
--- a/doc/interface.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>The SAX interface</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The SAX interface</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Sometimes the DOM tree output is just too large to fit reasonably into
-memory. In that case (and if you don't expect to save back the XML document
-loaded using libxml), it's better to use the SAX interface of libxml. SAX is
-a <strong>callback-based interface</strong> to the parser. Before parsing,
-the application layer registers a customized set of callbacks which are
-called by the library as it progresses through the XML input.</p><p>To get more detailed step-by-step guidance on using the SAX interface of
-libxml, see the <a href="http://www.jamesh.id.au/articles/libxml-sax/libxml-sax.html">nice
-documentation</a>.written by <a href="mailto:james@daa.com.au">James
-Henstridge</a>.</p><p>You can debug the SAX behaviour by using the <strong>testSAX</strong>
-program located in the gnome-xml module (it's usually not shipped in the
-binary packages of libxml, but you can find it in the tar source
-distribution). Here is the sequence of callbacks that would be reported by
-testSAX when parsing the example XML document shown earlier:</p><pre>SAX.setDocumentLocator()
-SAX.startDocument()
-SAX.getEntity(amp)
-SAX.startElement(EXAMPLE, prop1='gnome is great', prop2='&amp;amp; linux too')
-SAX.characters(   , 3)
-SAX.startElement(head)
-SAX.characters(    , 4)
-SAX.startElement(title)
-SAX.characters(Welcome to Gnome, 16)
-SAX.endElement(title)
-SAX.characters(   , 3)
-SAX.endElement(head)
-SAX.characters(   , 3)
-SAX.startElement(chapter)
-SAX.characters(    , 4)
-SAX.startElement(title)
-SAX.characters(The Linux adventure, 19)
-SAX.endElement(title)
-SAX.characters(    , 4)
-SAX.startElement(p)
-SAX.characters(bla bla bla ..., 15)
-SAX.endElement(p)
-SAX.characters(    , 4)
-SAX.startElement(image, href='linus.gif')
-SAX.endElement(image)
-SAX.characters(    , 4)
-SAX.startElement(p)
-SAX.characters(..., 3)
-SAX.endElement(p)
-SAX.characters(   , 3)
-SAX.endElement(chapter)
-SAX.characters( , 1)
-SAX.endElement(EXAMPLE)
-SAX.endDocument()</pre><p>Most of the other interfaces of libxml2 are based on the DOM tree-building
-facility, so nearly everything up to the end of this document presupposes the
-use of the standard DOM tree build. Note that the DOM tree itself is built by
-a set of registered default callbacks, without internal specific
-interface.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/intro.html b/doc/intro.html
deleted file mode 100644
index 31e6b6a..0000000
--- a/doc/intro.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Introduction</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Introduction</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>This document describes libxml, the <a href="http://www.w3.org/XML/">XML</a> C parser and toolkit developed for the
-<a href="http://www.gnome.org/">Gnome</a> project. <a href="http://www.w3.org/XML/">XML is a standard</a> for building tag-based
-structured documents/data.</p><p>Here are some key points about libxml:</p><ul>
-  <li>Libxml2 exports Push (progressive) and Pull (blocking) type parser
-    interfaces for both XML and HTML.</li>
-  <li>Libxml2 can do DTD validation at parse time, using a parsed document
-    instance, or with an arbitrary DTD.</li>
-  <li>Libxml2 includes complete <a href="http://www.w3.org/TR/xpath">XPath</a>, <a href="http://www.w3.org/TR/xptr">XPointer</a> and <a href="http://www.w3.org/TR/xinclude">XInclude</a> implementations.</li>
-  <li>It is written in plain C, making as few assumptions as possible, and
-    sticking closely to ANSI C/POSIX for easy embedding. Works on
-    Linux/Unix/Windows, ported to a number of other platforms.</li>
-  <li>Basic support for HTTP and FTP client allowing applications to fetch
-    remote resources.</li>
-  <li>The design is modular, most of the extensions can be compiled out.</li>
-  <li>The internal document representation is as close as possible to the <a href="http://www.w3.org/DOM/">DOM</a> interfaces.</li>
-  <li>Libxml2 also has a <a href="http://www.megginson.com/SAX/index.html">SAX like interface</a>;
-    the interface is designed to be compatible with <a href="http://www.jclark.com/xml/expat.html">Expat</a>.</li>
-  <li>This library is released under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
-    License</a>. See the Copyright file in the distribution for the precise
-    wording.</li>
-</ul><p>Warning: unless you are forced to because your application links with a
-Gnome-1.X library requiring it,  <strong><span style="background-color: #FF0000">Do Not Use libxml1</span></strong>, use
-libxml2</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/library.html b/doc/library.html
deleted file mode 100644
index 421ac94..0000000
--- a/doc/library.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>The parser interfaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The parser interfaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>This section is directly intended to help programmers getting bootstrapped
-using the XML tollkit from the C language. It is not intended to be
-extensive. I hope the automatically generated documents will provide the
-completeness required, but as a separate set of documents. The interfaces of
-the XML parser are by principle low level, Those interested in a higher level
-API should <a href="#DOM">look at DOM</a>.</p><p>The <a href="html/libxml-parser.html">parser interfaces for XML</a> are
-separated from the <a href="html/libxml-htmlparser.html">HTML parser
-interfaces</a>.  Let's have a look at how the XML parser can be called:</p><h3><a name="Invoking" id="Invoking">Invoking the parser : the pull method</a></h3><p>Usually, the first thing to do is to read an XML input. The parser accepts
-documents either from in-memory strings or from files.  The functions are
-defined in "parser.h":</p><dl>
-  <dt><code>xmlDocPtr xmlParseMemory(char *buffer, int size);</code></dt>
-    <dd><p>Parse a null-terminated string containing the document.</p>
-    </dd>
-</dl><dl>
-  <dt><code>xmlDocPtr xmlParseFile(const char *filename);</code></dt>
-    <dd><p>Parse an XML document contained in a (possibly compressed)
-      file.</p>
-    </dd>
-</dl><p>The parser returns a pointer to the document structure (or NULL in case of
-failure).</p><h3 id="Invoking1">Invoking the parser: the push method</h3><p>In order for the application to keep the control when the document is
-being fetched (which is common for GUI based programs) libxml2 provides a
-push interface, too, as of version 1.8.3. Here are the interface
-functions:</p><pre>xmlParserCtxtPtr xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
-                                         void *user_data,
-                                         const char *chunk,
-                                         int size,
-                                         const char *filename);
-int              xmlParseChunk          (xmlParserCtxtPtr ctxt,
-                                         const char *chunk,
-                                         int size,
-                                         int terminate);</pre><p>and here is a simple example showing how to use the interface:</p><pre>            FILE *f;
-
-            f = fopen(filename, "r");
-            if (f != NULL) {
-                int res, size = 1024;
-                char chars[1024];
-                xmlParserCtxtPtr ctxt;
-
-                res = fread(chars, 1, 4, f);
-                if (res &gt; 0) {
-                    ctxt = xmlCreatePushParserCtxt(NULL, NULL,
-                                chars, res, filename);
-                    while ((res = fread(chars, 1, size, f)) &gt; 0) {
-                        xmlParseChunk(ctxt, chars, res, 0);
-                    }
-                    xmlParseChunk(ctxt, chars, 0, 1);
-                    doc = ctxt-&gt;myDoc;
-                    xmlFreeParserCtxt(ctxt);
-                }
-            }</pre><p>The HTML parser embedded into libxml2 also has a push interface; the
-functions are just prefixed by "html" rather than "xml".</p><h3 id="Invoking2">Invoking the parser: the SAX interface</h3><p>The tree-building interface makes the parser memory-hungry, first loading
-the document in memory and then building the tree itself. Reading a document
-without building the tree is possible using the SAX interfaces (see SAX.h and
-<a href="http://www.daa.com.au/~james/gnome/xml-sax/xml-sax.html">James
-Henstridge's documentation</a>). Note also that the push interface can be
-limited to SAX: just use the two first arguments of
-<code>xmlCreatePushParserCtxt()</code>.</p><h3><a name="Building" id="Building">Building a tree from scratch</a></h3><p>The other way to get an XML tree in memory is by building it. Basically
-there is a set of functions dedicated to building new elements. (These are
-also described in &lt;libxml/tree.h&gt;.) For example, here is a piece of
-code that produces the XML document used in the previous examples:</p><pre>    #include &lt;libxml/tree.h&gt;
-    xmlDocPtr doc;
-    xmlNodePtr tree, subtree;
-
-    doc = xmlNewDoc("1.0");
-    doc-&gt;children = xmlNewDocNode(doc, NULL, "EXAMPLE", NULL);
-    xmlSetProp(doc-&gt;children, "prop1", "gnome is great");
-    xmlSetProp(doc-&gt;children, "prop2", "&amp; linux too");
-    tree = xmlNewChild(doc-&gt;children, NULL, "head", NULL);
-    subtree = xmlNewChild(tree, NULL, "title", "Welcome to Gnome");
-    tree = xmlNewChild(doc-&gt;children, NULL, "chapter", NULL);
-    subtree = xmlNewChild(tree, NULL, "title", "The Linux adventure");
-    subtree = xmlNewChild(tree, NULL, "p", "bla bla bla ...");
-    subtree = xmlNewChild(tree, NULL, "image", NULL);
-    xmlSetProp(subtree, "href", "linus.gif");</pre><p>Not really rocket science ...</p><h3><a name="Traversing" id="Traversing">Traversing the tree</a></h3><p>Basically by <a href="html/libxml-tree.html">including "tree.h"</a> your
-code has access to the internal structure of all the elements of the tree.
-The names should be somewhat simple like <strong>parent</strong>,
-<strong>children</strong>, <strong>next</strong>, <strong>prev</strong>,
-<strong>properties</strong>, etc... For example, still with the previous
-example:</p><pre><code>doc-&gt;children-&gt;children-&gt;children</code></pre><p>points to the title element,</p><pre>doc-&gt;children-&gt;children-&gt;next-&gt;children-&gt;children</pre><p>points to the text node containing the chapter title "The Linux
-adventure".</p><p><strong>NOTE</strong>: XML allows <em>PI</em>s and <em>comments</em> to be
-present before the document root, so <code>doc-&gt;children</code> may point
-to an element which is not the document Root Element; a function
-<code>xmlDocGetRootElement()</code> was added for this purpose.</p><h3><a name="Modifying" id="Modifying">Modifying the tree</a></h3><p>Functions are provided for reading and writing the document content. Here
-is an excerpt from the <a href="html/libxml-tree.html">tree API</a>:</p><dl>
-  <dt><code>xmlAttrPtr xmlSetProp(xmlNodePtr node, const xmlChar *name, const
-  xmlChar *value);</code></dt>
-    <dd><p>This sets (or changes) an attribute carried by an ELEMENT node.
-      The value can be NULL.</p>
-    </dd>
-</dl><dl>
-  <dt><code>const xmlChar *xmlGetProp(xmlNodePtr node, const xmlChar
-  *name);</code></dt>
-    <dd><p>This function returns a pointer to new copy of the property
-      content. Note that the user must deallocate the result.</p>
-    </dd>
-</dl><p>Two functions are provided for reading and writing the text associated
-with elements:</p><dl>
-  <dt><code>xmlNodePtr xmlStringGetNodeList(xmlDocPtr doc, const xmlChar
-  *value);</code></dt>
-    <dd><p>This function takes an "external" string and converts it to one
-      text node or possibly to a list of entity and text nodes. All
-      non-predefined entity references like &amp;Gnome; will be stored
-      internally as entity nodes, hence the result of the function may not be
-      a single node.</p>
-    </dd>
-</dl><dl>
-  <dt><code>xmlChar *xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int
-  inLine);</code></dt>
-    <dd><p>This function is the inverse of
-      <code>xmlStringGetNodeList()</code>. It generates a new string
-      containing the content of the text and entity nodes. Note the extra
-      argument inLine. If this argument is set to 1, the function will expand
-      entity references.  For example, instead of returning the &amp;Gnome;
-      XML encoding in the string, it will substitute it with its value (say,
-      "GNU Network Object Model Environment").</p>
-    </dd>
-</dl><h3><a name="Saving" id="Saving">Saving a tree</a></h3><p>Basically 3 options are possible:</p><dl>
-  <dt><code>void xmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int
-  *size);</code></dt>
-    <dd><p>Returns a buffer into which the document has been saved.</p>
-    </dd>
-</dl><dl>
-  <dt><code>extern void xmlDocDump(FILE *f, xmlDocPtr doc);</code></dt>
-    <dd><p>Dumps a document to an open file descriptor.</p>
-    </dd>
-</dl><dl>
-  <dt><code>int xmlSaveFile(const char *filename, xmlDocPtr cur);</code></dt>
-    <dd><p>Saves the document to a file. In this case, the compression
-      interface is triggered if it has been turned on.</p>
-    </dd>
-</dl><h3><a name="Compressio" id="Compressio">Compression</a></h3><p>The library transparently handles compression when doing file-based
-accesses. The level of compression on saves can be turned on either globally
-or individually for one file:</p><dl>
-  <dt><code>int  xmlGetDocCompressMode (xmlDocPtr doc);</code></dt>
-    <dd><p>Gets the document compression ratio (0-9).</p>
-    </dd>
-</dl><dl>
-  <dt><code>void xmlSetDocCompressMode (xmlDocPtr doc, int mode);</code></dt>
-    <dd><p>Sets the document compression ratio.</p>
-    </dd>
-</dl><dl>
-  <dt><code>int  xmlGetCompressMode(void);</code></dt>
-    <dd><p>Gets the default compression ratio.</p>
-    </dd>
-</dl><dl>
-  <dt><code>void xmlSetCompressMode(int mode);</code></dt>
-    <dd><p>Sets the default compression ratio.</p>
-    </dd>
-</dl><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>
diff --git a/doc/libxml-doc.el b/doc/libxml-doc.el
deleted file mode 100644
index 43d9688..0000000
--- a/doc/libxml-doc.el
+++ /dev/null
@@ -1,222 +0,0 @@
-;;; libxml-doc.el - look up libxml-symbols and start browser on documentation
-
-;; Author: Felix Natter <fnatter@gmx.net>, Geert Kloosterman <geertk@ai.rug.nl>
-;; Created: Jun 21 2000
-;; Keywords: libxml documentation
-
-;; 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- ;;; Commentary / README
-
-;; these functions allow you to browse the libxml documentation
-;; (using lynx within emacs by default)
-;;
-;; ----- Installing
-;; 1. add the following to ~/.emacs (adapt path and remove comments !)
-;; (autoload 'libxmldoc-lookup-symbol "~/elisp/libxml-doc" 
-;;  "Look up libxml-symbols and start browser on documentation." t)
-;; or put this file in load-path and use this:
-;; (autoload 'libxmldoc-lookup-symbol "libxml-doc"
-;;  "Look up libxml-symbols and start browser on documentation." t)
-;;
-;; 2. adapt libxmldoc-root:
-;; i.e. (setq libxmldoc-root "~/libxml2-2.0.0/doc/html")
-;;
-;; 3. change the filter-regex: by default, cpp-defines, callbacks and
-;; html-functions are excluded (C-h v libxmldoc-filter-regexp)
-;;
-;; 4. consider customizing libxmldoc-browse-url (lynx by default);
-;; cannot use Emacs/W3 4.0pre46 because it has problems with the html
-;;
-;; ----- Using
-;; call M-x libxmldoc-lookup-symbol: this will prompt with completion and
-;; then open the browser showing the documentation. If the word around the
-;; point matches a symbol, that is used instead.  You can also call
-;; libxmldoc-lookup-symbol noninteractively and pass the symbol.
-
-;; Note:
-;; an alternative to libxml-doc is emacs tags:
-;; $ cd libxml2-2.3.8
-;; $ make TAGS
-;; $ emacs
-;; M-. (M-x find-tag) ...  or
-;; M-x tags-search ... RET M-, M-, ...
-;; (for more information: info emacs RET m Tags RET)
-
-
- ;;; ChangeLog:
-;; Wed Jun 21 01:07:12 2000: initial release
-;; Wed Jun 21 01:45:29 2000: added libxmldoc-lookup-symbol-at-point
-;; Wed Jun 21 23:37:58 2000: libxmldoc-lookup-symbol now uses
-;; (thing-at-point 'word) if it matches a symbol
-;; Thu Jun 22 02:37:46 2000: filtering is only done for completion
-;; Thu Jun 22 21:03:41 2000: libxmldoc-browse-url can be customized
-;; Thu May 31 2001 (Geert): 
-;;       - Changed the `gnome-xml-' html file prefix into `libxml-'.
-;;       - Changed the 'word match from thing-at-point into 'symbol.
-;;         With 'word, identifiers with an underscore (e.g. BAD_CAST)
-;;         don't get matched.
-;; Fri Jun  8 16:29:18 2001, Sat Jun 23 16:19:47 2001:
-;; complete rewrite of libxmldoc-lookup-symbol
-;; by Felix Natter <fnatter@gmx.net>, Geert Kloosterman <geertk@ai.rug.nl>:
-;;       - Now keeps the list of symbols between calls to speed things up.
-;;       - filtering is only used when no symbol is passed and
-;;       thing-at-point does not match a symbol and "*" + thing-at-point
-;;       does not match a symbol (this is used to catch callbacks) and
-;;       libxmldoc-filter-regexp is non-nil.
-;; Sat Jun 23 16:20:34 2001: update the docstrings
-;; Sat Jun 23 16:22:54 2001 (Geert Kloosterman <geertk@ai.rug.nl>):
-;; update README: use autoload instead of load+c-mode-hook
-;; Sat Jul 7 19:00:31 2001: fixed a problem with XEmacs: the
-;; string-match of XEmacs when used in completing-read used the
-;; minibuffer's value of case-fold-search, and not the one in the
-;; c-mode buffer that we had set => so there's a new *-string-match-cs
-;; (case sensitive) function which binds case-fold-search and runs string-match
-;; Wed Sep 1 20:26:29 2004: adapted for libxml2-2.6.9: handle
-;; document-relative (#XXX) links
-
-;;; TODO:
-;; - use command-execute for libxmldoc-browse-url
-;; - keep (match-string 1) in a variable (libxmldoc-get-list-of-symbols)
-;;   (only if it improves performance)
-;; - check the (require ..)-statements
-
- ;;; Code:
-
-(require 'browse-url)
-(require 'term)
-
-(defvar libxmldoc-root "~/src/libxml2-2.3.8/doc/html"
-  "The root-directory of the libxml2-documentation (~ will be expanded).")
-(defvar libxmldoc-filter-regexp "^html\\|^\\*\\|^[A-Z_]+"
-  "Symbols that match this regular expression will be excluded when doing
-completion and no symbol is specified.
- For example:
-   callbacks:     \"^\\\\*\" 
-   cpp-defines:   \"[A-Z_]+\"
-   xml-functions  \"^xml\"
-   html-functions \"^html\"
-   sax-functions  \".*SAX\"
-By default, callbacks, cpp-defines and html* are excluded.
-Set this to nil if you don't want filtering.")
-(defvar libxmldoc-browse-url 'browse-url-lynx-emacs
-  "Browser used for browsing documentation. Emacs/W3 4.0pre46 cannot handle
-the html (and would be too slow), so lynx-emacs is used by default.")
-(defvar libxmldoc-symbol-history nil
-  "History for looking up libxml-symbols.")
-(defvar libxmldoc-symbols nil 
-  "The list of libxml-symbols.")
-
- ;;;; public functions
-
-(defun libxmldoc-lookup-symbol(&optional symbol)
-  "Look up xml-symbol." (interactive)
-  ;; setting case-fold-search is now done in libxmldoc-string-match-cs
-
-  ;; Build up a symbol list if necessary
-  (if (null libxmldoc-symbols)
-      (setq libxmldoc-symbols (libxmldoc-get-list-of-symbols)))
-    
-  (cond
-   (symbol ;; symbol is specified as argument
-    (if (not (assoc symbol libxmldoc-symbols))
-        (setq symbol nil)))
-   ((assoc (thing-at-point 'symbol) libxmldoc-symbols)
-    (setq symbol (thing-at-point 'symbol)))
-   ;; this is needed to catch callbacks
-   ;; note: this could be rewritten to use (thing-at-point 'word)
-   ((assoc (concat "*" (thing-at-point 'symbol)) libxmldoc-symbols)
-    (setq symbol (concat "*" (thing-at-point 'symbol))))
-   )
-
-  ;; omit "" t) from call to completing-read for the sake of xemacs
-  (setq symbol (completing-read 
-                "Libxml: " libxmldoc-symbols
-                (if (or symbol (null libxmldoc-filter-regexp))
-                    nil
-                  '(lambda(key,value)
-                     (not (libxmldoc-string-match-cs libxmldoc-filter-regexp
-                                                     (car key,value)))))
-                t symbol
-                'libxmldoc-symbol-history))
-    
-    
-  ;; start browser
-  (apply libxmldoc-browse-url 
-         (list (cdr (assoc symbol libxmldoc-symbols)))))
-
-;; (if (or symbol
-;;         (null libxmldoc-filter-regexp))
-;;     libxmldoc-symbols
-;;   (mapcar
-;;    '(lambda(key,value)
-;;       (if (null (string-match 
-;;                  libxmldoc-filter-regexp
-;;                  (car key,value)))
-;;           key,value))
-;;    libxmldoc-symbols))
-
-
-;;;; internal
-
-(defun libxmldoc-string-match-cs(regexp str)
-  "This is needed because string-match in XEmacs uses the current-
-buffer's value of case-fold-search (different from GNU Emacs)."
-  (let ((case-fold-search nil))
-    (string-match regexp str)))
-
-(defun libxmldoc-get-list-of-symbols()
-  "Get the list of html-links in the libxml-documentation."
-  (let ((files
-         (directory-files
-          libxmldoc-root t
-          (concat "^" (if (file-exists-p (concat libxmldoc-root
-                                                 "/libxml-parser.html"))
-                          "libxml-"
-                        "gnome-xml-")
-                  ".*\\.html$") t))
-        (symbols ())
-        (case-fold-search t)
-        (uri))
-    (message "collecting libxml-symbols...")
-    (while (car files)
-      (message "processing %s" (car files))
-      (with-temp-buffer
-        (insert-file-contents (car files))
-        (goto-char (point-min))
-        (while (re-search-forward
-                "<a[^>]*href[ \t\n]*=[ \t\n]*\"\\([^=>]*\\)\"[^>]*>" nil t nil)
-          ;; is it a relative link (#XXX)?
-          (if (char-equal (elt (match-string 1) 0) ?#)
-              (setq uri (concat "file://" (car files) (match-string 1)))
-            (setq uri (concat "file://" (expand-file-name libxmldoc-root)
-                              "/" (match-string 1))))
-          (if (not (re-search-forward "\\([^<]*\\)<" nil t nil))
-              (error "regexp error while getting libxml-symbols.."))
-          ;; this needs add-to-list because i.e. xmlChar appears often
-          (if (not (string-equal "" (match-string 1)))
-              (add-to-list 'symbols (cons (match-string 1) uri))))
-        ;;  (setq symbols (cons (cons (match-string 1) uri) symbols)))
-        )
-      (setq files (cdr files)))
-    symbols))
-
-(provide 'libxmldoc)
-
-;;; libxml-doc.el ends here
-
-;;; Local Variables:
-;;; indent-tabs-mode: nil
-;;; End:
diff --git a/doc/libxml.fig b/doc/libxml.fig
deleted file mode 100644
index e721dd2..0000000
--- a/doc/libxml.fig
+++ /dev/null
@@ -1,72 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter  
-100.00
-Single
--2
-1200 2
-2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 7
-	 4050 2925 3225 2925 3225 3750 2250 3750 2250 2325 4050 2325
-	 4050 2925
-2 3 0 1 0 11 50 0 20 0.000 0 0 7 0 0 7
-	 3300 3000 3300 3750 6075 3750 6075 4200 8625 4200 8625 3000
-	 3300 3000
-2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
-	 975 3825 6000 3825 6000 4200 975 4200 975 3825
-2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
-	 975 4275 4125 4275 4125 5100 975 5100 975 4275
-2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
-	 4125 4275 6000 4275 6000 5100 4125 5100 4125 4275
-2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
-	 6000 4275 8100 4275 8100 5100 6000 5100 6000 4275
-2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
-	 1725 5175 6450 5175 6450 5775 1725 5775 1725 5175
-2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
-	 2625 5850 6450 5850 6450 6300 2625 6300 2625 5850
-2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
-	 6525 5175 8100 5175 8100 5925 6525 5925 6525 5175
-2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
-	 4275 2325 7050 2325 7050 2925 4275 2925 4275 2325
-2 2 0 1 0 16 50 0 -1 0.000 0 0 -1 0 0 5
-	 6525 1125 7650 1125 7650 1575 6525 1575 6525 1125
-2 2 0 1 0 11 50 0 33 0.000 0 0 7 0 0 5
-	 8835 3975 10335 3975 10335 4425 8835 4425 8835 3975
-2 1 0 2 0 16 50 0 20 0.000 0 0 -1 1 0 2
-	1 1 2.00 120.00 240.00
-	 8880 4245 3630 4245
-2 2 0 1 0 16 50 0 -1 0.000 0 0 -1 0 0 5
-	 7575 2340 8880 2340 8880 2925 7575 2925 7575 2340
-2 2 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 5
-	 4860 6435 6255 6435 6255 6825 4860 6825 4860 6435
-2 2 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 5
-	 6630 6060 8025 6060 8025 6450 6630 6450 6630 6060
-2 2 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 5
-	 3750 1650 5025 1650 5025 2175 3750 2175 3750 1650
-2 2 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 5
-	 5400 1125 6375 1125 6375 1575 5400 1575 5400 1125
-2 2 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 5
-	 5100 1650 6450 1650 6450 2175 5100 2175 5100 1650
-2 3 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 7
-	 6525 2175 6525 1650 7500 1650 7500 2925 7200 2925 7200 2175
-	 6525 2175
-4 0 0 50 0 0 18 0.0000 4 255 1335 1800 4800 XML parser\001
-4 0 0 50 0 0 18 0.0000 4 255 1530 4275 4800 HTML parser\001
-4 0 0 50 0 0 18 0.0000 4 195 555 3600 4125 SAX\001
-4 0 0 50 0 0 18 0.0000 4 255 765 6525 4800 Export\001
-4 0 0 50 0 0 18 0.0000 4 195 525 5700 3525 Tree\001
-4 0 0 50 0 0 18 0.0000 4 195 1155 2550 2700 GtkHtml2\001
-4 0 0 50 0 0 18 0.0000 4 195 555 3750 5550 I18N\001
-4 0 0 50 0 0 18 0.0000 4 255 2775 3300 6150 I/O layer (FTP/HTTP/...)\001
-4 0 0 50 0 0 18 0.0000 4 195 465 7050 5625 URI\001
-4 0 0 50 0 0 18 0.0000 4 195 690 5025 2700 XPath\001
-4 0 0 50 0 0 18 0.0000 4 195 1005 3900 2025 XPointer\001
-4 0 0 50 0 0 18 0.0000 4 195 645 6675 2025 C14N\001
-4 0 0 50 0 0 18 0.0000 4 195 675 5325 2025 XSLT\001
-4 0 0 50 0 0 18 0.0000 4 195 840 5475 1425 EXSLT\001
-4 0 0 50 0 0 18 0.0000 4 255 930 6600 1425 XMLSig\001
-4 0 0 50 0 0 18 0.0000 4 195 990 9015 4275 Schemas\001
-4 0 0 50 0 0 18 0.0000 4 195 960 7680 2730 Gdome2\001
-4 0 0 50 0 0 18 0.0000 4 195 915 5130 6720 Threads\001
-4 0 0 50 0 0 18 0.0000 4 255 945 6825 6300 Catalogs\001
diff --git a/doc/libxml.gif b/doc/libxml.gif
deleted file mode 100644
index e24adf8..0000000
--- a/doc/libxml.gif
+++ /dev/null
Binary files differ
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index 3032bee..b36fea5 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -1,29 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <api name='libxml2'>
   <files>
-    <file name='DOCBparser'>
-     <summary>old DocBook SGML parser</summary>
-     <description>interface for a DocBook SGML non-verifying parser This code is DEPRECATED, and should not be used anymore. </description>
-     <author>Daniel Veillard </author>
-     <deprecated/>
-     <exports symbol='docbParserInputPtr' type='typedef'/>
-     <exports symbol='docbParserCtxt' type='typedef'/>
-     <exports symbol='docbParserCtxtPtr' type='typedef'/>
-     <exports symbol='docbParserInput' type='typedef'/>
-     <exports symbol='docbDocPtr' type='typedef'/>
-     <exports symbol='docbSAXHandler' type='typedef'/>
-     <exports symbol='docbSAXHandlerPtr' type='typedef'/>
-     <exports symbol='docbFreeParserCtxt' type='function'/>
-     <exports symbol='docbParseDoc' type='function'/>
-     <exports symbol='docbCreateFileParserCtxt' type='function'/>
-     <exports symbol='docbSAXParseFile' type='function'/>
-     <exports symbol='docbSAXParseDoc' type='function'/>
-     <exports symbol='docbCreatePushParserCtxt' type='function'/>
-     <exports symbol='docbEncodeEntities' type='function'/>
-     <exports symbol='docbParseFile' type='function'/>
-     <exports symbol='docbParseDocument' type='function'/>
-     <exports symbol='docbParseChunk' type='function'/>
-    </file>
     <file name='HTMLparser'>
      <summary>interface for an HTML 4.0 non-verifying parser</summary>
      <description>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse &quot;real world&quot; HTML, even if severely broken from a specification point of view. </description>
@@ -31,302 +8,302 @@
      <exports symbol='htmlDefaultSubelement' type='macro'/>
      <exports symbol='htmlElementAllowedHereDesc' type='macro'/>
      <exports symbol='htmlRequiredAttrs' type='macro'/>
-     <exports symbol='HTML_REQUIRED' type='enum'/>
+     <exports symbol='HTML_DEPRECATED' type='enum'/>
      <exports symbol='HTML_INVALID' type='enum'/>
-     <exports symbol='HTML_PARSE_NONET' type='enum'/>
      <exports symbol='HTML_NA' type='enum'/>
      <exports symbol='HTML_PARSE_COMPACT' type='enum'/>
-     <exports symbol='HTML_VALID' type='enum'/>
+     <exports symbol='HTML_PARSE_IGNORE_ENC' type='enum'/>
      <exports symbol='HTML_PARSE_NOBLANKS' type='enum'/>
      <exports symbol='HTML_PARSE_NODEFDTD' type='enum'/>
-     <exports symbol='HTML_PARSE_RECOVER' type='enum'/>
-     <exports symbol='HTML_DEPRECATED' type='enum'/>
      <exports symbol='HTML_PARSE_NOERROR' type='enum'/>
-     <exports symbol='HTML_PARSE_PEDANTIC' type='enum'/>
-     <exports symbol='HTML_PARSE_IGNORE_ENC' type='enum'/>
      <exports symbol='HTML_PARSE_NOIMPLIED' type='enum'/>
+     <exports symbol='HTML_PARSE_NONET' type='enum'/>
      <exports symbol='HTML_PARSE_NOWARNING' type='enum'/>
-     <exports symbol='htmlParserNodeInfo' type='typedef'/>
-     <exports symbol='htmlParserInput' type='typedef'/>
-     <exports symbol='htmlParserCtxtPtr' type='typedef'/>
-     <exports symbol='htmlEntityDesc' type='typedef'/>
+     <exports symbol='HTML_PARSE_PEDANTIC' type='enum'/>
+     <exports symbol='HTML_PARSE_RECOVER' type='enum'/>
+     <exports symbol='HTML_REQUIRED' type='enum'/>
+     <exports symbol='HTML_VALID' type='enum'/>
      <exports symbol='htmlDocPtr' type='typedef'/>
+     <exports symbol='htmlElemDesc' type='typedef'/>
+     <exports symbol='htmlElemDescPtr' type='typedef'/>
+     <exports symbol='htmlEntityDesc' type='typedef'/>
+     <exports symbol='htmlEntityDescPtr' type='typedef'/>
+     <exports symbol='htmlNodePtr' type='typedef'/>
+     <exports symbol='htmlParserCtxt' type='typedef'/>
+     <exports symbol='htmlParserCtxtPtr' type='typedef'/>
+     <exports symbol='htmlParserInput' type='typedef'/>
+     <exports symbol='htmlParserInputPtr' type='typedef'/>
+     <exports symbol='htmlParserNodeInfo' type='typedef'/>
+     <exports symbol='htmlParserOption' type='typedef'/>
+     <exports symbol='htmlSAXHandler' type='typedef'/>
      <exports symbol='htmlSAXHandlerPtr' type='typedef'/>
      <exports symbol='htmlStatus' type='typedef'/>
-     <exports symbol='htmlNodePtr' type='typedef'/>
-     <exports symbol='htmlElemDescPtr' type='typedef'/>
-     <exports symbol='htmlElemDesc' type='typedef'/>
-     <exports symbol='htmlSAXHandler' type='typedef'/>
-     <exports symbol='htmlParserInputPtr' type='typedef'/>
-     <exports symbol='htmlParserOption' type='typedef'/>
-     <exports symbol='htmlEntityDescPtr' type='typedef'/>
-     <exports symbol='htmlParserCtxt' type='typedef'/>
-     <exports symbol='_htmlEntityDesc' type='struct'/>
      <exports symbol='_htmlElemDesc' type='struct'/>
-     <exports symbol='htmlIsScriptAttribute' type='function'/>
-     <exports symbol='htmlHandleOmittedElem' type='function'/>
-     <exports symbol='htmlReadFd' type='function'/>
-     <exports symbol='htmlReadIO' type='function'/>
-     <exports symbol='htmlParseFile' type='function'/>
-     <exports symbol='htmlCtxtReadDoc' type='function'/>
-     <exports symbol='htmlAutoCloseTag' type='function'/>
-     <exports symbol='htmlParseChunk' type='function'/>
-     <exports symbol='htmlTagLookup' type='function'/>
-     <exports symbol='htmlCreateMemoryParserCtxt' type='function'/>
-     <exports symbol='htmlCtxtReset' type='function'/>
-     <exports symbol='htmlElementAllowedHere' type='function'/>
-     <exports symbol='htmlCtxtReadIO' type='function'/>
-     <exports symbol='htmlCreatePushParserCtxt' type='function'/>
-     <exports symbol='htmlReadMemory' type='function'/>
-     <exports symbol='htmlIsAutoClosed' type='function'/>
-     <exports symbol='htmlParseCharRef' type='function'/>
-     <exports symbol='htmlReadDoc' type='function'/>
-     <exports symbol='htmlEncodeEntities' type='function'/>
-     <exports symbol='htmlNodeStatus' type='function'/>
-     <exports symbol='htmlAttrAllowed' type='function'/>
-     <exports symbol='htmlSAXParseFile' type='function'/>
-     <exports symbol='htmlParseEntityRef' type='function'/>
-     <exports symbol='htmlElementStatusHere' type='function'/>
-     <exports symbol='htmlEntityValueLookup' type='function'/>
-     <exports symbol='htmlParseElement' type='function'/>
+     <exports symbol='_htmlEntityDesc' type='struct'/>
      <exports symbol='UTF8ToHtml' type='function'/>
-     <exports symbol='htmlEntityLookup' type='function'/>
-     <exports symbol='htmlFreeParserCtxt' type='function'/>
-     <exports symbol='htmlCtxtReadMemory' type='function'/>
+     <exports symbol='htmlAttrAllowed' type='function'/>
+     <exports symbol='htmlAutoCloseTag' type='function'/>
+     <exports symbol='htmlCreateFileParserCtxt' type='function'/>
+     <exports symbol='htmlCreateMemoryParserCtxt' type='function'/>
+     <exports symbol='htmlCreatePushParserCtxt' type='function'/>
+     <exports symbol='htmlCtxtReadDoc' type='function'/>
      <exports symbol='htmlCtxtReadFd' type='function'/>
-     <exports symbol='htmlReadFile' type='function'/>
      <exports symbol='htmlCtxtReadFile' type='function'/>
-     <exports symbol='htmlParseDocument' type='function'/>
-     <exports symbol='htmlNewParserCtxt' type='function'/>
-     <exports symbol='htmlSAXParseDoc' type='function'/>
+     <exports symbol='htmlCtxtReadIO' type='function'/>
+     <exports symbol='htmlCtxtReadMemory' type='function'/>
+     <exports symbol='htmlCtxtReset' type='function'/>
      <exports symbol='htmlCtxtUseOptions' type='function'/>
+     <exports symbol='htmlElementAllowedHere' type='function'/>
+     <exports symbol='htmlElementStatusHere' type='function'/>
+     <exports symbol='htmlEncodeEntities' type='function'/>
+     <exports symbol='htmlEntityLookup' type='function'/>
+     <exports symbol='htmlEntityValueLookup' type='function'/>
+     <exports symbol='htmlFreeParserCtxt' type='function'/>
+     <exports symbol='htmlHandleOmittedElem' type='function'/>
+     <exports symbol='htmlInitAutoClose' type='function'/>
+     <exports symbol='htmlIsAutoClosed' type='function'/>
+     <exports symbol='htmlIsScriptAttribute' type='function'/>
+     <exports symbol='htmlNewParserCtxt' type='function'/>
+     <exports symbol='htmlNewSAXParserCtxt' type='function'/>
+     <exports symbol='htmlNodeStatus' type='function'/>
+     <exports symbol='htmlParseCharRef' type='function'/>
+     <exports symbol='htmlParseChunk' type='function'/>
      <exports symbol='htmlParseDoc' type='function'/>
+     <exports symbol='htmlParseDocument' type='function'/>
+     <exports symbol='htmlParseElement' type='function'/>
+     <exports symbol='htmlParseEntityRef' type='function'/>
+     <exports symbol='htmlParseFile' type='function'/>
+     <exports symbol='htmlReadDoc' type='function'/>
+     <exports symbol='htmlReadFd' type='function'/>
+     <exports symbol='htmlReadFile' type='function'/>
+     <exports symbol='htmlReadIO' type='function'/>
+     <exports symbol='htmlReadMemory' type='function'/>
+     <exports symbol='htmlSAXParseDoc' type='function'/>
+     <exports symbol='htmlSAXParseFile' type='function'/>
+     <exports symbol='htmlTagLookup' type='function'/>
     </file>
     <file name='HTMLtree'>
      <summary>specific APIs to process HTML tree, especially serialization</summary>
      <description>this module implements a few function needed to process tree in an HTML specific way. </description>
      <author>Daniel Veillard </author>
-     <exports symbol='HTML_ENTITY_REF_NODE' type='macro'/>
      <exports symbol='HTML_COMMENT_NODE' type='macro'/>
+     <exports symbol='HTML_ENTITY_REF_NODE' type='macro'/>
+     <exports symbol='HTML_PI_NODE' type='macro'/>
      <exports symbol='HTML_PRESERVE_NODE' type='macro'/>
      <exports symbol='HTML_TEXT_NODE' type='macro'/>
-     <exports symbol='HTML_PI_NODE' type='macro'/>
-     <exports symbol='htmlNodeDumpFileFormat' type='function'/>
-     <exports symbol='htmlDocDumpMemory' type='function'/>
-     <exports symbol='htmlSaveFile' type='function'/>
-     <exports symbol='htmlDocDump' type='function'/>
-     <exports symbol='htmlDocDumpMemoryFormat' type='function'/>
-     <exports symbol='htmlIsBooleanAttr' type='function'/>
-     <exports symbol='htmlSaveFileFormat' type='function'/>
-     <exports symbol='htmlNodeDumpFormatOutput' type='function'/>
-     <exports symbol='htmlSetMetaEncoding' type='function'/>
-     <exports symbol='htmlSaveFileEnc' type='function'/>
-     <exports symbol='htmlNodeDumpOutput' type='function'/>
-     <exports symbol='htmlNodeDump' type='function'/>
-     <exports symbol='htmlNewDoc' type='function'/>
-     <exports symbol='htmlGetMetaEncoding' type='function'/>
-     <exports symbol='htmlNodeDumpFile' type='function'/>
      <exports symbol='htmlDocContentDumpFormatOutput' type='function'/>
-     <exports symbol='htmlNewDocNoDtD' type='function'/>
      <exports symbol='htmlDocContentDumpOutput' type='function'/>
+     <exports symbol='htmlDocDump' type='function'/>
+     <exports symbol='htmlDocDumpMemory' type='function'/>
+     <exports symbol='htmlDocDumpMemoryFormat' type='function'/>
+     <exports symbol='htmlGetMetaEncoding' type='function'/>
+     <exports symbol='htmlIsBooleanAttr' type='function'/>
+     <exports symbol='htmlNewDoc' type='function'/>
+     <exports symbol='htmlNewDocNoDtD' type='function'/>
+     <exports symbol='htmlNodeDump' type='function'/>
+     <exports symbol='htmlNodeDumpFile' type='function'/>
+     <exports symbol='htmlNodeDumpFileFormat' type='function'/>
+     <exports symbol='htmlNodeDumpFormatOutput' type='function'/>
+     <exports symbol='htmlNodeDumpOutput' type='function'/>
+     <exports symbol='htmlSaveFile' type='function'/>
+     <exports symbol='htmlSaveFileEnc' type='function'/>
+     <exports symbol='htmlSaveFileFormat' type='function'/>
+     <exports symbol='htmlSetMetaEncoding' type='function'/>
     </file>
     <file name='SAX'>
      <summary>Old SAX version 1 handler, deprecated</summary>
      <description>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </description>
      <author>Daniel Veillard </author>
      <deprecated/>
-     <exports symbol='comment' type='function'/>
-     <exports symbol='checkNamespace' type='function'/>
-     <exports symbol='getColumnNumber' type='function'/>
-     <exports symbol='entityDecl' type='function'/>
      <exports symbol='attribute' type='function'/>
-     <exports symbol='getNamespace' type='function'/>
-     <exports symbol='setDocumentLocator' type='function'/>
-     <exports symbol='initxmlDefaultSAXHandler' type='function'/>
-     <exports symbol='ignorableWhitespace' type='function'/>
-     <exports symbol='hasExternalSubset' type='function'/>
-     <exports symbol='unparsedEntityDecl' type='function'/>
-     <exports symbol='globalNamespace' type='function'/>
-     <exports symbol='hasInternalSubset' type='function'/>
-     <exports symbol='reference' type='function'/>
-     <exports symbol='notationDecl' type='function'/>
-     <exports symbol='getSystemId' type='function'/>
-     <exports symbol='externalSubset' type='function'/>
-     <exports symbol='resolveEntity' type='function'/>
-     <exports symbol='startDocument' type='function'/>
-     <exports symbol='setNamespace' type='function'/>
-     <exports symbol='cdataBlock' type='function'/>
-     <exports symbol='getPublicId' type='function'/>
-     <exports symbol='inithtmlDefaultSAXHandler' type='function'/>
-     <exports symbol='processingInstruction' type='function'/>
-     <exports symbol='endElement' type='function'/>
-     <exports symbol='namespaceDecl' type='function'/>
-     <exports symbol='initdocbDefaultSAXHandler' type='function'/>
-     <exports symbol='getEntity' type='function'/>
-     <exports symbol='characters' type='function'/>
-     <exports symbol='elementDecl' type='function'/>
-     <exports symbol='startElement' type='function'/>
-     <exports symbol='getParameterEntity' type='function'/>
      <exports symbol='attributeDecl' type='function'/>
-     <exports symbol='isStandalone' type='function'/>
-     <exports symbol='internalSubset' type='function'/>
+     <exports symbol='cdataBlock' type='function'/>
+     <exports symbol='characters' type='function'/>
+     <exports symbol='checkNamespace' type='function'/>
+     <exports symbol='comment' type='function'/>
+     <exports symbol='elementDecl' type='function'/>
      <exports symbol='endDocument' type='function'/>
+     <exports symbol='endElement' type='function'/>
+     <exports symbol='entityDecl' type='function'/>
+     <exports symbol='externalSubset' type='function'/>
+     <exports symbol='getColumnNumber' type='function'/>
+     <exports symbol='getEntity' type='function'/>
      <exports symbol='getLineNumber' type='function'/>
+     <exports symbol='getNamespace' type='function'/>
+     <exports symbol='getParameterEntity' type='function'/>
+     <exports symbol='getPublicId' type='function'/>
+     <exports symbol='getSystemId' type='function'/>
+     <exports symbol='globalNamespace' type='function'/>
+     <exports symbol='hasExternalSubset' type='function'/>
+     <exports symbol='hasInternalSubset' type='function'/>
+     <exports symbol='ignorableWhitespace' type='function'/>
+     <exports symbol='inithtmlDefaultSAXHandler' type='function'/>
+     <exports symbol='initxmlDefaultSAXHandler' type='function'/>
+     <exports symbol='internalSubset' type='function'/>
+     <exports symbol='isStandalone' type='function'/>
+     <exports symbol='namespaceDecl' type='function'/>
+     <exports symbol='notationDecl' type='function'/>
+     <exports symbol='processingInstruction' type='function'/>
+     <exports symbol='reference' type='function'/>
+     <exports symbol='resolveEntity' type='function'/>
+     <exports symbol='setDocumentLocator' type='function'/>
+     <exports symbol='setNamespace' type='function'/>
+     <exports symbol='startDocument' type='function'/>
+     <exports symbol='startElement' type='function'/>
+     <exports symbol='unparsedEntityDecl' type='function'/>
     </file>
     <file name='SAX2'>
      <summary>SAX2 parser interface used to build the DOM tree</summary>
      <description>those are the default SAX2 interfaces used by the library when building DOM tree. </description>
      <author>Daniel Veillard </author>
-     <exports symbol='xmlSAX2EndElementNs' type='function'/>
-     <exports symbol='xmlSAX2Reference' type='function'/>
-     <exports symbol='xmlSAX2ElementDecl' type='function'/>
+     <exports symbol='htmlDefaultSAXHandlerInit' type='function'/>
+     <exports symbol='xmlDefaultSAXHandlerInit' type='function'/>
      <exports symbol='xmlSAX2AttributeDecl' type='function'/>
+     <exports symbol='xmlSAX2CDataBlock' type='function'/>
+     <exports symbol='xmlSAX2Characters' type='function'/>
      <exports symbol='xmlSAX2Comment' type='function'/>
+     <exports symbol='xmlSAX2ElementDecl' type='function'/>
+     <exports symbol='xmlSAX2EndDocument' type='function'/>
+     <exports symbol='xmlSAX2EndElement' type='function'/>
+     <exports symbol='xmlSAX2EndElementNs' type='function'/>
+     <exports symbol='xmlSAX2EntityDecl' type='function'/>
+     <exports symbol='xmlSAX2ExternalSubset' type='function'/>
      <exports symbol='xmlSAX2GetColumnNumber' type='function'/>
      <exports symbol='xmlSAX2GetEntity' type='function'/>
-     <exports symbol='xmlSAX2UnparsedEntityDecl' type='function'/>
-     <exports symbol='xmlSAX2InitDocbDefaultSAXHandler' type='function'/>
-     <exports symbol='xmlSAXVersion' type='function'/>
-     <exports symbol='xmlSAX2IgnorableWhitespace' type='function'/>
-     <exports symbol='xmlSAX2NotationDecl' type='function'/>
-     <exports symbol='xmlSAX2StartDocument' type='function'/>
-     <exports symbol='xmlSAX2EndElement' type='function'/>
-     <exports symbol='xmlSAX2ResolveEntity' type='function'/>
-     <exports symbol='xmlSAX2ExternalSubset' type='function'/>
-     <exports symbol='xmlSAX2GetPublicId' type='function'/>
-     <exports symbol='xmlSAX2IsStandalone' type='function'/>
-     <exports symbol='xmlSAX2EndDocument' type='function'/>
-     <exports symbol='xmlSAX2ProcessingInstruction' type='function'/>
-     <exports symbol='xmlSAX2InternalSubset' type='function'/>
-     <exports symbol='xmlSAX2Characters' type='function'/>
-     <exports symbol='xmlSAXDefaultVersion' type='function'/>
-     <exports symbol='xmlSAX2StartElement' type='function'/>
-     <exports symbol='xmlSAX2SetDocumentLocator' type='function'/>
-     <exports symbol='xmlSAX2CDataBlock' type='function'/>
-     <exports symbol='xmlSAX2StartElementNs' type='function'/>
-     <exports symbol='xmlSAX2HasExternalSubset' type='function'/>
-     <exports symbol='htmlDefaultSAXHandlerInit' type='function'/>
      <exports symbol='xmlSAX2GetLineNumber' type='function'/>
-     <exports symbol='xmlSAX2HasInternalSubset' type='function'/>
-     <exports symbol='xmlSAX2InitHtmlDefaultSAXHandler' type='function'/>
-     <exports symbol='docbDefaultSAXHandlerInit' type='function'/>
-     <exports symbol='xmlDefaultSAXHandlerInit' type='function'/>
-     <exports symbol='xmlSAX2InitDefaultSAXHandler' type='function'/>
      <exports symbol='xmlSAX2GetParameterEntity' type='function'/>
+     <exports symbol='xmlSAX2GetPublicId' type='function'/>
      <exports symbol='xmlSAX2GetSystemId' type='function'/>
-     <exports symbol='xmlSAX2EntityDecl' type='function'/>
+     <exports symbol='xmlSAX2HasExternalSubset' type='function'/>
+     <exports symbol='xmlSAX2HasInternalSubset' type='function'/>
+     <exports symbol='xmlSAX2IgnorableWhitespace' type='function'/>
+     <exports symbol='xmlSAX2InitDefaultSAXHandler' type='function'/>
+     <exports symbol='xmlSAX2InitHtmlDefaultSAXHandler' type='function'/>
+     <exports symbol='xmlSAX2InternalSubset' type='function'/>
+     <exports symbol='xmlSAX2IsStandalone' type='function'/>
+     <exports symbol='xmlSAX2NotationDecl' type='function'/>
+     <exports symbol='xmlSAX2ProcessingInstruction' type='function'/>
+     <exports symbol='xmlSAX2Reference' type='function'/>
+     <exports symbol='xmlSAX2ResolveEntity' type='function'/>
+     <exports symbol='xmlSAX2SetDocumentLocator' type='function'/>
+     <exports symbol='xmlSAX2StartDocument' type='function'/>
+     <exports symbol='xmlSAX2StartElement' type='function'/>
+     <exports symbol='xmlSAX2StartElementNs' type='function'/>
+     <exports symbol='xmlSAX2UnparsedEntityDecl' type='function'/>
+     <exports symbol='xmlSAXDefaultVersion' type='function'/>
+     <exports symbol='xmlSAXVersion' type='function'/>
     </file>
     <file name='c14n'>
      <summary>Provide Canonical XML and Exclusive XML Canonicalization</summary>
      <description>the c14n modules provides a  &quot;Canonical XML&quot; implementation</description>
      <author>Aleksey Sanin &lt;aleksey@aleksey.com&gt; </author>
-     <exports symbol='XML_C14N_1_1' type='enum'/>
      <exports symbol='XML_C14N_1_0' type='enum'/>
+     <exports symbol='XML_C14N_1_1' type='enum'/>
      <exports symbol='XML_C14N_EXCLUSIVE_1_0' type='enum'/>
      <exports symbol='xmlC14NMode' type='typedef'/>
-     <exports symbol='xmlC14NExecute' type='function'/>
-     <exports symbol='xmlC14NDocSaveTo' type='function'/>
-     <exports symbol='xmlC14NIsVisibleCallback' type='function'/>
-     <exports symbol='xmlC14NDocSave' type='function'/>
      <exports symbol='xmlC14NDocDumpMemory' type='function'/>
+     <exports symbol='xmlC14NDocSave' type='function'/>
+     <exports symbol='xmlC14NDocSaveTo' type='function'/>
+     <exports symbol='xmlC14NExecute' type='function'/>
+     <exports symbol='xmlC14NIsVisibleCallback' type='function'/>
     </file>
     <file name='catalog'>
      <summary>interfaces to the Catalog handling system</summary>
      <description>the catalog module implements the support for XML Catalogs and SGML catalogs </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_CATALOG_PI' type='macro'/>
      <exports symbol='XML_CATALOGS_NAMESPACE' type='macro'/>
+     <exports symbol='XML_CATALOG_PI' type='macro'/>
+     <exports symbol='XML_CATA_ALLOW_ALL' type='enum'/>
+     <exports symbol='XML_CATA_ALLOW_DOCUMENT' type='enum'/>
+     <exports symbol='XML_CATA_ALLOW_GLOBAL' type='enum'/>
      <exports symbol='XML_CATA_ALLOW_NONE' type='enum'/>
      <exports symbol='XML_CATA_PREFER_NONE' type='enum'/>
-     <exports symbol='XML_CATA_ALLOW_GLOBAL' type='enum'/>
      <exports symbol='XML_CATA_PREFER_PUBLIC' type='enum'/>
-     <exports symbol='XML_CATA_ALLOW_DOCUMENT' type='enum'/>
-     <exports symbol='XML_CATA_ALLOW_ALL' type='enum'/>
      <exports symbol='XML_CATA_PREFER_SYSTEM' type='enum'/>
+     <exports symbol='xmlCatalog' type='typedef'/>
      <exports symbol='xmlCatalogAllow' type='typedef'/>
      <exports symbol='xmlCatalogPrefer' type='typedef'/>
-     <exports symbol='xmlCatalog' type='typedef'/>
      <exports symbol='xmlCatalogPtr' type='typedef'/>
-     <exports symbol='xmlFreeCatalog' type='function'/>
-     <exports symbol='xmlLoadCatalogs' type='function'/>
-     <exports symbol='xmlCatalogLocalResolve' type='function'/>
      <exports symbol='xmlACatalogAdd' type='function'/>
-     <exports symbol='xmlACatalogResolvePublic' type='function'/>
-     <exports symbol='xmlCatalogGetDefaults' type='function'/>
+     <exports symbol='xmlACatalogDump' type='function'/>
      <exports symbol='xmlACatalogRemove' type='function'/>
-     <exports symbol='xmlCatalogSetDefaultPrefer' type='function'/>
+     <exports symbol='xmlACatalogResolve' type='function'/>
+     <exports symbol='xmlACatalogResolvePublic' type='function'/>
+     <exports symbol='xmlACatalogResolveSystem' type='function'/>
      <exports symbol='xmlACatalogResolveURI' type='function'/>
      <exports symbol='xmlCatalogAdd' type='function'/>
-     <exports symbol='xmlCatalogResolvePublic' type='function'/>
-     <exports symbol='xmlCatalogGetSystem' type='function'/>
-     <exports symbol='xmlInitializeCatalog' type='function'/>
-     <exports symbol='xmlLoadCatalog' type='function'/>
-     <exports symbol='xmlCatalogRemove' type='function'/>
-     <exports symbol='xmlCatalogIsEmpty' type='function'/>
-     <exports symbol='xmlACatalogDump' type='function'/>
-     <exports symbol='xmlCatalogFreeLocal' type='function'/>
-     <exports symbol='xmlACatalogResolve' type='function'/>
-     <exports symbol='xmlCatalogResolveSystem' type='function'/>
-     <exports symbol='xmlLoadSGMLSuperCatalog' type='function'/>
-     <exports symbol='xmlCatalogConvert' type='function'/>
-     <exports symbol='xmlCatalogGetPublic' type='function'/>
-     <exports symbol='xmlLoadACatalog' type='function'/>
-     <exports symbol='xmlACatalogResolveSystem' type='function'/>
-     <exports symbol='xmlCatalogLocalResolveURI' type='function'/>
-     <exports symbol='xmlConvertSGMLCatalog' type='function'/>
      <exports symbol='xmlCatalogAddLocal' type='function'/>
+     <exports symbol='xmlCatalogCleanup' type='function'/>
+     <exports symbol='xmlCatalogConvert' type='function'/>
+     <exports symbol='xmlCatalogDump' type='function'/>
+     <exports symbol='xmlCatalogFreeLocal' type='function'/>
+     <exports symbol='xmlCatalogGetDefaults' type='function'/>
+     <exports symbol='xmlCatalogGetPublic' type='function'/>
+     <exports symbol='xmlCatalogGetSystem' type='function'/>
+     <exports symbol='xmlCatalogIsEmpty' type='function'/>
+     <exports symbol='xmlCatalogLocalResolve' type='function'/>
+     <exports symbol='xmlCatalogLocalResolveURI' type='function'/>
+     <exports symbol='xmlCatalogRemove' type='function'/>
+     <exports symbol='xmlCatalogResolve' type='function'/>
+     <exports symbol='xmlCatalogResolvePublic' type='function'/>
+     <exports symbol='xmlCatalogResolveSystem' type='function'/>
+     <exports symbol='xmlCatalogResolveURI' type='function'/>
+     <exports symbol='xmlCatalogSetDebug' type='function'/>
+     <exports symbol='xmlCatalogSetDefaultPrefer' type='function'/>
+     <exports symbol='xmlCatalogSetDefaults' type='function'/>
+     <exports symbol='xmlConvertSGMLCatalog' type='function'/>
+     <exports symbol='xmlFreeCatalog' type='function'/>
+     <exports symbol='xmlInitializeCatalog' type='function'/>
+     <exports symbol='xmlLoadACatalog' type='function'/>
+     <exports symbol='xmlLoadCatalog' type='function'/>
+     <exports symbol='xmlLoadCatalogs' type='function'/>
+     <exports symbol='xmlLoadSGMLSuperCatalog' type='function'/>
      <exports symbol='xmlNewCatalog' type='function'/>
      <exports symbol='xmlParseCatalogFile' type='function'/>
-     <exports symbol='xmlCatalogSetDebug' type='function'/>
-     <exports symbol='xmlCatalogResolve' type='function'/>
-     <exports symbol='xmlCatalogSetDefaults' type='function'/>
-     <exports symbol='xmlCatalogDump' type='function'/>
-     <exports symbol='xmlCatalogCleanup' type='function'/>
-     <exports symbol='xmlCatalogResolveURI' type='function'/>
     </file>
     <file name='chvalid'>
      <summary>Unicode character range checking</summary>
      <description>this module exports interfaces for the character range validation APIs  This file is automatically generated from the cvs source definition files using the genChRanges.py Python script </description>
      <author>William Brack &lt;wbrack@mmm.com.hk&gt; </author>
-     <exports symbol='xmlIsExtender_ch' type='macro'/>
-     <exports symbol='xmlIsPubidCharQ' type='macro'/>
-     <exports symbol='xmlIsPubidChar_ch' type='macro'/>
-     <exports symbol='xmlIsIdeographicQ' type='macro'/>
-     <exports symbol='xmlIsExtenderQ' type='macro'/>
+     <exports symbol='xmlIsBaseCharQ' type='macro'/>
+     <exports symbol='xmlIsBaseChar_ch' type='macro'/>
+     <exports symbol='xmlIsBlankQ' type='macro'/>
+     <exports symbol='xmlIsBlank_ch' type='macro'/>
+     <exports symbol='xmlIsCharQ' type='macro'/>
      <exports symbol='xmlIsChar_ch' type='macro'/>
+     <exports symbol='xmlIsCombiningQ' type='macro'/>
      <exports symbol='xmlIsDigitQ' type='macro'/>
      <exports symbol='xmlIsDigit_ch' type='macro'/>
-     <exports symbol='xmlIsBaseChar_ch' type='macro'/>
-     <exports symbol='xmlIsCombiningQ' type='macro'/>
-     <exports symbol='xmlIsBlankQ' type='macro'/>
-     <exports symbol='xmlIsCharQ' type='macro'/>
-     <exports symbol='xmlIsBaseCharQ' type='macro'/>
-     <exports symbol='xmlIsBlank_ch' type='macro'/>
+     <exports symbol='xmlIsExtenderQ' type='macro'/>
+     <exports symbol='xmlIsExtender_ch' type='macro'/>
+     <exports symbol='xmlIsIdeographicQ' type='macro'/>
+     <exports symbol='xmlIsPubidCharQ' type='macro'/>
+     <exports symbol='xmlIsPubidChar_ch' type='macro'/>
      <exports symbol='xmlChLRange' type='typedef'/>
-     <exports symbol='xmlChSRangePtr' type='typedef'/>
      <exports symbol='xmlChLRangePtr' type='typedef'/>
+     <exports symbol='xmlChRangeGroup' type='typedef'/>
      <exports symbol='xmlChRangeGroupPtr' type='typedef'/>
      <exports symbol='xmlChSRange' type='typedef'/>
-     <exports symbol='xmlChRangeGroup' type='typedef'/>
-     <exports symbol='_xmlChSRange' type='struct'/>
+     <exports symbol='xmlChSRangePtr' type='typedef'/>
      <exports symbol='_xmlChLRange' type='struct'/>
      <exports symbol='_xmlChRangeGroup' type='struct'/>
+     <exports symbol='_xmlChSRange' type='struct'/>
      <exports symbol='xmlIsBaseCharGroup' type='variable'/>
-     <exports symbol='xmlIsIdeographicGroup' type='variable'/>
-     <exports symbol='xmlIsDigitGroup' type='variable'/>
-     <exports symbol='xmlIsExtenderGroup' type='variable'/>
-     <exports symbol='xmlIsPubidChar_tab' type='variable'/>
      <exports symbol='xmlIsCharGroup' type='variable'/>
      <exports symbol='xmlIsCombiningGroup' type='variable'/>
-     <exports symbol='xmlIsChar' type='function'/>
-     <exports symbol='xmlIsDigit' type='function'/>
-     <exports symbol='xmlIsBlank' type='function'/>
-     <exports symbol='xmlIsIdeographic' type='function'/>
+     <exports symbol='xmlIsDigitGroup' type='variable'/>
+     <exports symbol='xmlIsExtenderGroup' type='variable'/>
+     <exports symbol='xmlIsIdeographicGroup' type='variable'/>
+     <exports symbol='xmlIsPubidChar_tab' type='variable'/>
      <exports symbol='xmlCharInRange' type='function'/>
-     <exports symbol='xmlIsPubidChar' type='function'/>
-     <exports symbol='xmlIsCombining' type='function'/>
      <exports symbol='xmlIsBaseChar' type='function'/>
+     <exports symbol='xmlIsBlank' type='function'/>
+     <exports symbol='xmlIsChar' type='function'/>
+     <exports symbol='xmlIsCombining' type='function'/>
+     <exports symbol='xmlIsDigit' type='function'/>
      <exports symbol='xmlIsExtender' type='function'/>
+     <exports symbol='xmlIsIdeographic' type='function'/>
+     <exports symbol='xmlIsPubidChar' type='function'/>
     </file>
     <file name='debugXML'>
      <summary>Tree debugging APIs</summary>
@@ -335,36 +312,36 @@
      <exports symbol='xmlShellCtxt' type='typedef'/>
      <exports symbol='xmlShellCtxtPtr' type='typedef'/>
      <exports symbol='_xmlShellCtxt' type='struct'/>
-     <exports symbol='xmlDebugDumpAttrList' type='function'/>
-     <exports symbol='xmlLsOneNode' type='function'/>
-     <exports symbol='xmlShellReadlineFunc' type='function'/>
-     <exports symbol='xmlShellSave' type='function'/>
      <exports symbol='xmlBoolToText' type='function'/>
-     <exports symbol='xmlShellWrite' type='function'/>
-     <exports symbol='xmlShellDu' type='function'/>
-     <exports symbol='xmlShellValidate' type='function'/>
      <exports symbol='xmlDebugCheckDocument' type='function'/>
-     <exports symbol='xmlShellPrintXPathResult' type='function'/>
-     <exports symbol='xmlShellCmd' type='function'/>
-     <exports symbol='xmlShellLoad' type='function'/>
+     <exports symbol='xmlDebugDumpAttr' type='function'/>
+     <exports symbol='xmlDebugDumpAttrList' type='function'/>
+     <exports symbol='xmlDebugDumpDTD' type='function'/>
+     <exports symbol='xmlDebugDumpDocument' type='function'/>
+     <exports symbol='xmlDebugDumpDocumentHead' type='function'/>
+     <exports symbol='xmlDebugDumpEntities' type='function'/>
+     <exports symbol='xmlDebugDumpNode' type='function'/>
+     <exports symbol='xmlDebugDumpNodeList' type='function'/>
+     <exports symbol='xmlDebugDumpOneNode' type='function'/>
      <exports symbol='xmlDebugDumpString' type='function'/>
+     <exports symbol='xmlLsCountNode' type='function'/>
+     <exports symbol='xmlLsOneNode' type='function'/>
+     <exports symbol='xmlShell' type='function'/>
      <exports symbol='xmlShellBase' type='function'/>
      <exports symbol='xmlShellCat' type='function'/>
-     <exports symbol='xmlDebugDumpDTD' type='function'/>
-     <exports symbol='xmlDebugDumpNode' type='function'/>
-     <exports symbol='xmlDebugDumpEntities' type='function'/>
-     <exports symbol='xmlShellPrintNode' type='function'/>
-     <exports symbol='xmlShellPwd' type='function'/>
-     <exports symbol='xmlDebugDumpNodeList' type='function'/>
-     <exports symbol='xmlDebugDumpAttr' type='function'/>
-     <exports symbol='xmlDebugDumpDocument' type='function'/>
-     <exports symbol='xmlLsCountNode' type='function'/>
-     <exports symbol='xmlShellPrintXPathError' type='function'/>
+     <exports symbol='xmlShellCmd' type='function'/>
      <exports symbol='xmlShellDir' type='function'/>
-     <exports symbol='xmlDebugDumpOneNode' type='function'/>
+     <exports symbol='xmlShellDu' type='function'/>
      <exports symbol='xmlShellList' type='function'/>
-     <exports symbol='xmlDebugDumpDocumentHead' type='function'/>
-     <exports symbol='xmlShell' type='function'/>
+     <exports symbol='xmlShellLoad' type='function'/>
+     <exports symbol='xmlShellPrintNode' type='function'/>
+     <exports symbol='xmlShellPrintXPathError' type='function'/>
+     <exports symbol='xmlShellPrintXPathResult' type='function'/>
+     <exports symbol='xmlShellPwd' type='function'/>
+     <exports symbol='xmlShellReadlineFunc' type='function'/>
+     <exports symbol='xmlShellSave' type='function'/>
+     <exports symbol='xmlShellValidate' type='function'/>
+     <exports symbol='xmlShellWrite' type='function'/>
     </file>
     <file name='dict'>
      <summary>string dictionary</summary>
@@ -372,76 +349,73 @@
      <author>Daniel Veillard </author>
      <exports symbol='xmlDict' type='typedef'/>
      <exports symbol='xmlDictPtr' type='typedef'/>
-     <exports symbol='xmlDictGetUsage' type='function'/>
-     <exports symbol='xmlDictReference' type='function'/>
      <exports symbol='xmlDictCleanup' type='function'/>
-     <exports symbol='xmlDictSize' type='function'/>
+     <exports symbol='xmlDictCreate' type='function'/>
+     <exports symbol='xmlDictCreateSub' type='function'/>
      <exports symbol='xmlDictExists' type='function'/>
-     <exports symbol='xmlDictSetLimit' type='function'/>
+     <exports symbol='xmlDictFree' type='function'/>
+     <exports symbol='xmlDictGetUsage' type='function'/>
+     <exports symbol='xmlDictLookup' type='function'/>
      <exports symbol='xmlDictOwns' type='function'/>
      <exports symbol='xmlDictQLookup' type='function'/>
+     <exports symbol='xmlDictReference' type='function'/>
+     <exports symbol='xmlDictSetLimit' type='function'/>
+     <exports symbol='xmlDictSize' type='function'/>
      <exports symbol='xmlInitializeDict' type='function'/>
-     <exports symbol='xmlDictCreateSub' type='function'/>
-     <exports symbol='xmlDictFree' type='function'/>
-     <exports symbol='xmlDictLookup' type='function'/>
-     <exports symbol='xmlDictCreate' type='function'/>
     </file>
     <file name='encoding'>
      <summary>interface for the encoding conversion functions</summary>
      <description>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, &quot;The Unicode Standard -- Worldwide Character Encoding -- Version 1.0&quot;, Addison- Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </description>
      <author>Daniel Veillard </author>
-     <exports symbol='ICU_PIVOT_BUF_SIZE' type='macro'/>
-     <exports symbol='XML_CHAR_ENCODING_UCS4LE' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_ERROR' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_8859_5' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_EBCDIC' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_ASCII' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_UCS4_2143' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_NONE' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_UTF16BE' type='enum'/>
      <exports symbol='XML_CHAR_ENCODING_2022_JP' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_SHIFT_JIS' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_UCS4BE' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_UTF16LE' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_UCS4_3412' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_8859_8' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_8859_9' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_8859_6' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_8859_7' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_8859_4' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_EUC_JP' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_8859_1' type='enum'/>
      <exports symbol='XML_CHAR_ENCODING_8859_2' type='enum'/>
      <exports symbol='XML_CHAR_ENCODING_8859_3' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_8859_1' type='enum'/>
-     <exports symbol='XML_CHAR_ENCODING_UTF8' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_8859_4' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_8859_5' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_8859_6' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_8859_7' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_8859_8' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_8859_9' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_ASCII' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_EBCDIC' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_ERROR' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_EUC_JP' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_NONE' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_SHIFT_JIS' type='enum'/>
      <exports symbol='XML_CHAR_ENCODING_UCS2' type='enum'/>
-     <exports symbol='uconv_t' type='typedef'/>
+     <exports symbol='XML_CHAR_ENCODING_UCS4BE' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_UCS4LE' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_UCS4_2143' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_UCS4_3412' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_UTF16BE' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_UTF16LE' type='enum'/>
+     <exports symbol='XML_CHAR_ENCODING_UTF8' type='enum'/>
      <exports symbol='xmlCharEncoding' type='typedef'/>
      <exports symbol='xmlCharEncodingHandler' type='typedef'/>
      <exports symbol='xmlCharEncodingHandlerPtr' type='typedef'/>
      <exports symbol='_xmlCharEncodingHandler' type='struct'/>
-     <exports symbol='_uconv_t' type='struct'/>
-     <exports symbol='xmlDelEncodingAlias' type='function'/>
-     <exports symbol='xmlGetEncodingAlias' type='function'/>
-     <exports symbol='xmlRegisterCharEncodingHandler' type='function'/>
      <exports symbol='UTF8Toisolat1' type='function'/>
-     <exports symbol='xmlInitCharEncodingHandlers' type='function'/>
-     <exports symbol='xmlAddEncodingAlias' type='function'/>
-     <exports symbol='xmlCleanupEncodingAliases' type='function'/>
-     <exports symbol='xmlCharEncOutFunc' type='function'/>
-     <exports symbol='xmlParseCharEncoding' type='function'/>
-     <exports symbol='xmlCharEncodingInputFunc' type='function'/>
-     <exports symbol='xmlCleanupCharEncodingHandlers' type='function'/>
-     <exports symbol='xmlNewCharEncodingHandler' type='function'/>
-     <exports symbol='xmlCharEncodingOutputFunc' type='function'/>
      <exports symbol='isolat1ToUTF8' type='function'/>
-     <exports symbol='xmlFindCharEncodingHandler' type='function'/>
-     <exports symbol='xmlCharEncInFunc' type='function'/>
-     <exports symbol='xmlGetCharEncodingHandler' type='function'/>
-     <exports symbol='xmlCharEncFirstLine' type='function'/>
-     <exports symbol='xmlDetectCharEncoding' type='function'/>
+     <exports symbol='xmlAddEncodingAlias' type='function'/>
      <exports symbol='xmlCharEncCloseFunc' type='function'/>
+     <exports symbol='xmlCharEncFirstLine' type='function'/>
+     <exports symbol='xmlCharEncInFunc' type='function'/>
+     <exports symbol='xmlCharEncOutFunc' type='function'/>
+     <exports symbol='xmlCharEncodingInputFunc' type='function'/>
+     <exports symbol='xmlCharEncodingOutputFunc' type='function'/>
+     <exports symbol='xmlCleanupCharEncodingHandlers' type='function'/>
+     <exports symbol='xmlCleanupEncodingAliases' type='function'/>
+     <exports symbol='xmlDelEncodingAlias' type='function'/>
+     <exports symbol='xmlDetectCharEncoding' type='function'/>
+     <exports symbol='xmlFindCharEncodingHandler' type='function'/>
+     <exports symbol='xmlGetCharEncodingHandler' type='function'/>
      <exports symbol='xmlGetCharEncodingName' type='function'/>
+     <exports symbol='xmlGetEncodingAlias' type='function'/>
+     <exports symbol='xmlInitCharEncodingHandlers' type='function'/>
+     <exports symbol='xmlNewCharEncodingHandler' type='function'/>
+     <exports symbol='xmlParseCharEncoding' type='function'/>
+     <exports symbol='xmlRegisterCharEncodingHandler' type='function'/>
     </file>
     <file name='entities'>
      <summary>interface for the XML entities handling</summary>
@@ -449,101 +423,100 @@
      <author>Daniel Veillard </author>
      <exports symbol='XML_EXTERNAL_GENERAL_PARSED_ENTITY' type='enum'/>
      <exports symbol='XML_EXTERNAL_GENERAL_UNPARSED_ENTITY' type='enum'/>
-     <exports symbol='XML_INTERNAL_PREDEFINED_ENTITY' type='enum'/>
      <exports symbol='XML_EXTERNAL_PARAMETER_ENTITY' type='enum'/>
-     <exports symbol='XML_INTERNAL_PARAMETER_ENTITY' type='enum'/>
      <exports symbol='XML_INTERNAL_GENERAL_ENTITY' type='enum'/>
-     <exports symbol='xmlEntityType' type='typedef'/>
+     <exports symbol='XML_INTERNAL_PARAMETER_ENTITY' type='enum'/>
+     <exports symbol='XML_INTERNAL_PREDEFINED_ENTITY' type='enum'/>
      <exports symbol='xmlEntitiesTable' type='typedef'/>
      <exports symbol='xmlEntitiesTablePtr' type='typedef'/>
+     <exports symbol='xmlEntityType' type='typedef'/>
      <exports symbol='_xmlEntity' type='struct'/>
      <exports symbol='xmlAddDocEntity' type='function'/>
-     <exports symbol='xmlNewEntity' type='function'/>
-     <exports symbol='xmlEncodeEntitiesReentrant' type='function'/>
-     <exports symbol='xmlGetDocEntity' type='function'/>
-     <exports symbol='xmlGetDtdEntity' type='function'/>
      <exports symbol='xmlAddDtdEntity' type='function'/>
+     <exports symbol='xmlCleanupPredefinedEntities' type='function'/>
      <exports symbol='xmlCopyEntitiesTable' type='function'/>
-     <exports symbol='xmlFreeEntitiesTable' type='function'/>
-     <exports symbol='xmlGetParameterEntity' type='function'/>
+     <exports symbol='xmlCreateEntitiesTable' type='function'/>
      <exports symbol='xmlDumpEntitiesTable' type='function'/>
      <exports symbol='xmlDumpEntityDecl' type='function'/>
-     <exports symbol='xmlCleanupPredefinedEntities' type='function'/>
-     <exports symbol='xmlCreateEntitiesTable' type='function'/>
      <exports symbol='xmlEncodeEntities' type='function'/>
+     <exports symbol='xmlEncodeEntitiesReentrant' type='function'/>
      <exports symbol='xmlEncodeSpecialChars' type='function'/>
+     <exports symbol='xmlFreeEntitiesTable' type='function'/>
+     <exports symbol='xmlGetDocEntity' type='function'/>
+     <exports symbol='xmlGetDtdEntity' type='function'/>
+     <exports symbol='xmlGetParameterEntity' type='function'/>
      <exports symbol='xmlGetPredefinedEntity' type='function'/>
      <exports symbol='xmlInitializePredefinedEntities' type='function'/>
+     <exports symbol='xmlNewEntity' type='function'/>
     </file>
     <file name='globals'>
      <summary>interface for all global variables of the library</summary>
      <description>all the global variables and thread handling for those variables is handled by this module.  The bottom of this file is automatically generated by build_glob.py based on the description file global.data </description>
      <author>Gary Pennington &lt;Gary.Pennington@uk.sun.com&gt;, Daniel Veillard </author>
-     <exports symbol='xmlGlobalStatePtr' type='typedef'/>
      <exports symbol='xmlGlobalState' type='typedef'/>
+     <exports symbol='xmlGlobalStatePtr' type='typedef'/>
      <exports symbol='_xmlGlobalState' type='struct'/>
-     <exports symbol='xmlTreeIndentString' type='variable'/>
-     <exports symbol='xmlIndentTreeOutput' type='variable'/>
-     <exports symbol='xmlDefaultBufferSize' type='variable'/>
-     <exports symbol='xmlRegisterNodeDefaultValue' type='variable'/>
-     <exports symbol='xmlGetWarningsDefaultValue' type='variable'/>
-     <exports symbol='docbDefaultSAXHandler' type='variable'/>
-     <exports symbol='xmlGenericErrorContext' type='variable'/>
-     <exports symbol='xmlDeregisterNodeDefaultValue' type='variable'/>
-     <exports symbol='xmlGenericError' type='variable'/>
-     <exports symbol='xmlMalloc' type='variable'/>
-     <exports symbol='xmlParserVersion' type='variable'/>
-     <exports symbol='xmlStructuredError' type='variable'/>
-     <exports symbol='xmlStructuredErrorContext' type='variable'/>
-     <exports symbol='xmlDoValidityCheckingDefaultValue' type='variable'/>
-     <exports symbol='xmlOutputBufferCreateFilenameValue' type='variable'/>
-     <exports symbol='xmlPedanticParserDefaultValue' type='variable'/>
-     <exports symbol='oldXMLWDcompatibility' type='variable'/>
-     <exports symbol='xmlRealloc' type='variable'/>
-     <exports symbol='xmlMemStrdup' type='variable'/>
      <exports symbol='htmlDefaultSAXHandler' type='variable'/>
-     <exports symbol='xmlSaveNoEmptyTags' type='variable'/>
-     <exports symbol='xmlParserInputBufferCreateFilenameValue' type='variable'/>
-     <exports symbol='xmlKeepBlanksDefaultValue' type='variable'/>
-     <exports symbol='xmlSubstituteEntitiesDefaultValue' type='variable'/>
-     <exports symbol='xmlMallocAtomic' type='variable'/>
+     <exports symbol='oldXMLWDcompatibility' type='variable'/>
      <exports symbol='xmlBufferAllocScheme' type='variable'/>
-     <exports symbol='xmlParserDebugEntities' type='variable'/>
-     <exports symbol='xmlFree' type='variable'/>
-     <exports symbol='xmlLoadExtDtdDefaultValue' type='variable'/>
-     <exports symbol='xmlLastError' type='variable'/>
-     <exports symbol='xmlLineNumbersDefaultValue' type='variable'/>
+     <exports symbol='xmlDefaultBufferSize' type='variable'/>
      <exports symbol='xmlDefaultSAXHandler' type='variable'/>
      <exports symbol='xmlDefaultSAXLocator' type='variable'/>
-     <exports symbol='xmlThrDefSetStructuredErrorFunc' type='function'/>
-     <exports symbol='xmlInitializeGlobalState' type='function'/>
-     <exports symbol='xmlThrDefBufferAllocScheme' type='function'/>
-     <exports symbol='xmlThrDefPedanticParserDefaultValue' type='function'/>
-     <exports symbol='xmlRegisterNodeDefault' type='function'/>
-     <exports symbol='xmlParserInputBufferCreateFilenameFunc' type='function'/>
-     <exports symbol='xmlThrDefOutputBufferCreateFilenameDefault' type='function'/>
+     <exports symbol='xmlDeregisterNodeDefaultValue' type='variable'/>
+     <exports symbol='xmlDoValidityCheckingDefaultValue' type='variable'/>
+     <exports symbol='xmlFree' type='variable'/>
+     <exports symbol='xmlGenericError' type='variable'/>
+     <exports symbol='xmlGenericErrorContext' type='variable'/>
+     <exports symbol='xmlGetWarningsDefaultValue' type='variable'/>
+     <exports symbol='xmlIndentTreeOutput' type='variable'/>
+     <exports symbol='xmlKeepBlanksDefaultValue' type='variable'/>
+     <exports symbol='xmlLastError' type='variable'/>
+     <exports symbol='xmlLineNumbersDefaultValue' type='variable'/>
+     <exports symbol='xmlLoadExtDtdDefaultValue' type='variable'/>
+     <exports symbol='xmlMalloc' type='variable'/>
+     <exports symbol='xmlMallocAtomic' type='variable'/>
+     <exports symbol='xmlMemStrdup' type='variable'/>
+     <exports symbol='xmlOutputBufferCreateFilenameValue' type='variable'/>
+     <exports symbol='xmlParserDebugEntities' type='variable'/>
+     <exports symbol='xmlParserInputBufferCreateFilenameValue' type='variable'/>
+     <exports symbol='xmlParserVersion' type='variable'/>
+     <exports symbol='xmlPedanticParserDefaultValue' type='variable'/>
+     <exports symbol='xmlRealloc' type='variable'/>
+     <exports symbol='xmlRegisterNodeDefaultValue' type='variable'/>
+     <exports symbol='xmlSaveNoEmptyTags' type='variable'/>
+     <exports symbol='xmlStructuredError' type='variable'/>
+     <exports symbol='xmlStructuredErrorContext' type='variable'/>
+     <exports symbol='xmlSubstituteEntitiesDefaultValue' type='variable'/>
+     <exports symbol='xmlTreeIndentString' type='variable'/>
+     <exports symbol='xmlCleanupGlobals' type='function'/>
      <exports symbol='xmlDeregisterNodeDefault' type='function'/>
-     <exports symbol='xmlThrDefDefaultBufferSize' type='function'/>
-     <exports symbol='xmlOutputBufferCreateFilenameDefault' type='function'/>
-     <exports symbol='xmlThrDefLoadExtDtdDefaultValue' type='function'/>
-     <exports symbol='xmlThrDefRegisterNodeDefault' type='function'/>
-     <exports symbol='xmlThrDefKeepBlanksDefaultValue' type='function'/>
      <exports symbol='xmlDeregisterNodeFunc' type='function'/>
+     <exports symbol='xmlInitGlobals' type='function'/>
+     <exports symbol='xmlInitializeGlobalState' type='function'/>
+     <exports symbol='xmlOutputBufferCreateFilenameDefault' type='function'/>
+     <exports symbol='xmlOutputBufferCreateFilenameFunc' type='function'/>
+     <exports symbol='xmlParserInputBufferCreateFilenameDefault' type='function'/>
+     <exports symbol='xmlParserInputBufferCreateFilenameFunc' type='function'/>
+     <exports symbol='xmlRegisterNodeDefault' type='function'/>
+     <exports symbol='xmlRegisterNodeFunc' type='function'/>
+     <exports symbol='xmlThrDefBufferAllocScheme' type='function'/>
+     <exports symbol='xmlThrDefDefaultBufferSize' type='function'/>
+     <exports symbol='xmlThrDefDeregisterNodeDefault' type='function'/>
+     <exports symbol='xmlThrDefDoValidityCheckingDefaultValue' type='function'/>
+     <exports symbol='xmlThrDefGetWarningsDefaultValue' type='function'/>
+     <exports symbol='xmlThrDefIndentTreeOutput' type='function'/>
+     <exports symbol='xmlThrDefKeepBlanksDefaultValue' type='function'/>
+     <exports symbol='xmlThrDefLineNumbersDefaultValue' type='function'/>
+     <exports symbol='xmlThrDefLoadExtDtdDefaultValue' type='function'/>
+     <exports symbol='xmlThrDefOutputBufferCreateFilenameDefault' type='function'/>
      <exports symbol='xmlThrDefParserDebugEntities' type='function'/>
      <exports symbol='xmlThrDefParserInputBufferCreateFilenameDefault' type='function'/>
-     <exports symbol='xmlThrDefSetGenericErrorFunc' type='function'/>
-     <exports symbol='xmlParserInputBufferCreateFilenameDefault' type='function'/>
-     <exports symbol='xmlThrDefDoValidityCheckingDefaultValue' type='function'/>
-     <exports symbol='xmlCleanupGlobals' type='function'/>
-     <exports symbol='xmlThrDefGetWarningsDefaultValue' type='function'/>
-     <exports symbol='xmlThrDefDeregisterNodeDefault' type='function'/>
-     <exports symbol='xmlThrDefSubstituteEntitiesDefaultValue' type='function'/>
-     <exports symbol='xmlRegisterNodeFunc' type='function'/>
+     <exports symbol='xmlThrDefPedanticParserDefaultValue' type='function'/>
+     <exports symbol='xmlThrDefRegisterNodeDefault' type='function'/>
      <exports symbol='xmlThrDefSaveNoEmptyTags' type='function'/>
-     <exports symbol='xmlThrDefIndentTreeOutput' type='function'/>
-     <exports symbol='xmlOutputBufferCreateFilenameFunc' type='function'/>
-     <exports symbol='xmlInitGlobals' type='function'/>
-     <exports symbol='xmlThrDefLineNumbersDefaultValue' type='function'/>
+     <exports symbol='xmlThrDefSetGenericErrorFunc' type='function'/>
+     <exports symbol='xmlThrDefSetStructuredErrorFunc' type='function'/>
+     <exports symbol='xmlThrDefSubstituteEntitiesDefaultValue' type='function'/>
      <exports symbol='xmlThrDefTreeIndentString' type='function'/>
     </file>
     <file name='hash'>
@@ -553,35 +526,35 @@
      <exports symbol='XML_CAST_FPTR' type='macro'/>
      <exports symbol='xmlHashTable' type='typedef'/>
      <exports symbol='xmlHashTablePtr' type='typedef'/>
-     <exports symbol='xmlHashScanFull' type='function'/>
-     <exports symbol='xmlHashScan' type='function'/>
-     <exports symbol='xmlHashScannerFull' type='function'/>
-     <exports symbol='xmlHashCreateDict' type='function'/>
      <exports symbol='xmlHashAddEntry' type='function'/>
-     <exports symbol='xmlHashUpdateEntry' type='function'/>
-     <exports symbol='xmlHashQLookup3' type='function'/>
-     <exports symbol='xmlHashQLookup2' type='function'/>
-     <exports symbol='xmlHashScan3' type='function'/>
-     <exports symbol='xmlHashScanner' type='function'/>
-     <exports symbol='xmlHashDeallocator' type='function'/>
-     <exports symbol='xmlHashCreate' type='function'/>
-     <exports symbol='xmlHashFree' type='function'/>
-     <exports symbol='xmlHashLookup' type='function'/>
-     <exports symbol='xmlHashQLookup' type='function'/>
-     <exports symbol='xmlHashUpdateEntry2' type='function'/>
-     <exports symbol='xmlHashRemoveEntry2' type='function'/>
-     <exports symbol='xmlHashRemoveEntry3' type='function'/>
-     <exports symbol='xmlHashCopy' type='function'/>
-     <exports symbol='xmlHashScanFull3' type='function'/>
-     <exports symbol='xmlHashUpdateEntry3' type='function'/>
-     <exports symbol='xmlHashDefaultDeallocator' type='function'/>
-     <exports symbol='xmlHashLookup3' type='function'/>
-     <exports symbol='xmlHashLookup2' type='function'/>
-     <exports symbol='xmlHashRemoveEntry' type='function'/>
-     <exports symbol='xmlHashCopier' type='function'/>
      <exports symbol='xmlHashAddEntry2' type='function'/>
      <exports symbol='xmlHashAddEntry3' type='function'/>
+     <exports symbol='xmlHashCopier' type='function'/>
+     <exports symbol='xmlHashCopy' type='function'/>
+     <exports symbol='xmlHashCreate' type='function'/>
+     <exports symbol='xmlHashCreateDict' type='function'/>
+     <exports symbol='xmlHashDeallocator' type='function'/>
+     <exports symbol='xmlHashDefaultDeallocator' type='function'/>
+     <exports symbol='xmlHashFree' type='function'/>
+     <exports symbol='xmlHashLookup' type='function'/>
+     <exports symbol='xmlHashLookup2' type='function'/>
+     <exports symbol='xmlHashLookup3' type='function'/>
+     <exports symbol='xmlHashQLookup' type='function'/>
+     <exports symbol='xmlHashQLookup2' type='function'/>
+     <exports symbol='xmlHashQLookup3' type='function'/>
+     <exports symbol='xmlHashRemoveEntry' type='function'/>
+     <exports symbol='xmlHashRemoveEntry2' type='function'/>
+     <exports symbol='xmlHashRemoveEntry3' type='function'/>
+     <exports symbol='xmlHashScan' type='function'/>
+     <exports symbol='xmlHashScan3' type='function'/>
+     <exports symbol='xmlHashScanFull' type='function'/>
+     <exports symbol='xmlHashScanFull3' type='function'/>
+     <exports symbol='xmlHashScanner' type='function'/>
+     <exports symbol='xmlHashScannerFull' type='function'/>
      <exports symbol='xmlHashSize' type='function'/>
+     <exports symbol='xmlHashUpdateEntry' type='function'/>
+     <exports symbol='xmlHashUpdateEntry2' type='function'/>
+     <exports symbol='xmlHashUpdateEntry3' type='function'/>
     </file>
     <file name='list'>
      <summary>lists interfaces</summary>
@@ -591,1132 +564,1126 @@
      <exports symbol='xmlLinkPtr' type='typedef'/>
      <exports symbol='xmlList' type='typedef'/>
      <exports symbol='xmlListPtr' type='typedef'/>
-     <exports symbol='xmlListInsert' type='function'/>
-     <exports symbol='xmlListEmpty' type='function'/>
-     <exports symbol='xmlListSort' type='function'/>
-     <exports symbol='xmlListDeallocator' type='function'/>
-     <exports symbol='xmlListMerge' type='function'/>
-     <exports symbol='xmlListCreate' type='function'/>
-     <exports symbol='xmlListDup' type='function'/>
-     <exports symbol='xmlListRemoveLast' type='function'/>
-     <exports symbol='xmlListWalk' type='function'/>
-     <exports symbol='xmlListRemoveAll' type='function'/>
-     <exports symbol='xmlListCopy' type='function'/>
-     <exports symbol='xmlListPopFront' type='function'/>
-     <exports symbol='xmlListSearch' type='function'/>
-     <exports symbol='xmlListWalker' type='function'/>
-     <exports symbol='xmlListRemoveFirst' type='function'/>
-     <exports symbol='xmlListReverseWalk' type='function'/>
      <exports symbol='xmlLinkGetData' type='function'/>
-     <exports symbol='xmlListClear' type='function'/>
      <exports symbol='xmlListAppend' type='function'/>
-     <exports symbol='xmlListReverse' type='function'/>
+     <exports symbol='xmlListClear' type='function'/>
+     <exports symbol='xmlListCopy' type='function'/>
+     <exports symbol='xmlListCreate' type='function'/>
      <exports symbol='xmlListDataCompare' type='function'/>
-     <exports symbol='xmlListSize' type='function'/>
-     <exports symbol='xmlListPushFront' type='function'/>
-     <exports symbol='xmlListEnd' type='function'/>
-     <exports symbol='xmlListPopBack' type='function'/>
-     <exports symbol='xmlListReverseSearch' type='function'/>
-     <exports symbol='xmlListPushBack' type='function'/>
-     <exports symbol='xmlListFront' type='function'/>
+     <exports symbol='xmlListDeallocator' type='function'/>
      <exports symbol='xmlListDelete' type='function'/>
+     <exports symbol='xmlListDup' type='function'/>
+     <exports symbol='xmlListEmpty' type='function'/>
+     <exports symbol='xmlListEnd' type='function'/>
+     <exports symbol='xmlListFront' type='function'/>
+     <exports symbol='xmlListInsert' type='function'/>
+     <exports symbol='xmlListMerge' type='function'/>
+     <exports symbol='xmlListPopBack' type='function'/>
+     <exports symbol='xmlListPopFront' type='function'/>
+     <exports symbol='xmlListPushBack' type='function'/>
+     <exports symbol='xmlListPushFront' type='function'/>
+     <exports symbol='xmlListRemoveAll' type='function'/>
+     <exports symbol='xmlListRemoveFirst' type='function'/>
+     <exports symbol='xmlListRemoveLast' type='function'/>
+     <exports symbol='xmlListReverse' type='function'/>
+     <exports symbol='xmlListReverseSearch' type='function'/>
+     <exports symbol='xmlListReverseWalk' type='function'/>
+     <exports symbol='xmlListSearch' type='function'/>
+     <exports symbol='xmlListSize' type='function'/>
+     <exports symbol='xmlListSort' type='function'/>
+     <exports symbol='xmlListWalk' type='function'/>
+     <exports symbol='xmlListWalker' type='function'/>
     </file>
     <file name='nanoftp'>
      <summary>minimal FTP implementation</summary>
-     <description>minimal FTP implementation allowing to fetch resources like external subset. </description>
+     <description>minimal FTP implementation allowing to fetch resources like external subset. This module is DEPRECATED, do not use any of its functions. </description>
      <author>Daniel Veillard </author>
+     <deprecated/>
      <exports symbol='INVALID_SOCKET' type='macro'/>
      <exports symbol='SOCKET' type='macro'/>
-     <exports symbol='xmlNanoFTPQuit' type='function'/>
-     <exports symbol='xmlNanoFTPClose' type='function'/>
-     <exports symbol='ftpListCallback' type='function'/>
-     <exports symbol='xmlNanoFTPCloseConnection' type='function'/>
-     <exports symbol='xmlNanoFTPProxy' type='function'/>
-     <exports symbol='xmlNanoFTPUpdateURL' type='function'/>
-     <exports symbol='xmlNanoFTPGetConnection' type='function'/>
-     <exports symbol='xmlNanoFTPDele' type='function'/>
-     <exports symbol='xmlNanoFTPNewCtxt' type='function'/>
-     <exports symbol='xmlNanoFTPCheckResponse' type='function'/>
-     <exports symbol='xmlNanoFTPScanProxy' type='function'/>
      <exports symbol='ftpDataCallback' type='function'/>
-     <exports symbol='xmlNanoFTPGetResponse' type='function'/>
-     <exports symbol='xmlNanoFTPCwd' type='function'/>
-     <exports symbol='xmlNanoFTPInit' type='function'/>
-     <exports symbol='xmlNanoFTPConnectTo' type='function'/>
-     <exports symbol='xmlNanoFTPList' type='function'/>
-     <exports symbol='xmlNanoFTPOpen' type='function'/>
-     <exports symbol='xmlNanoFTPConnect' type='function'/>
-     <exports symbol='xmlNanoFTPGetSocket' type='function'/>
-     <exports symbol='xmlNanoFTPGet' type='function'/>
-     <exports symbol='xmlNanoFTPRead' type='function'/>
-     <exports symbol='xmlNanoFTPFreeCtxt' type='function'/>
+     <exports symbol='ftpListCallback' type='function'/>
+     <exports symbol='xmlNanoFTPCheckResponse' type='function'/>
      <exports symbol='xmlNanoFTPCleanup' type='function'/>
+     <exports symbol='xmlNanoFTPClose' type='function'/>
+     <exports symbol='xmlNanoFTPCloseConnection' type='function'/>
+     <exports symbol='xmlNanoFTPConnect' type='function'/>
+     <exports symbol='xmlNanoFTPConnectTo' type='function'/>
+     <exports symbol='xmlNanoFTPCwd' type='function'/>
+     <exports symbol='xmlNanoFTPDele' type='function'/>
+     <exports symbol='xmlNanoFTPFreeCtxt' type='function'/>
+     <exports symbol='xmlNanoFTPGet' type='function'/>
+     <exports symbol='xmlNanoFTPGetConnection' type='function'/>
+     <exports symbol='xmlNanoFTPGetResponse' type='function'/>
+     <exports symbol='xmlNanoFTPGetSocket' type='function'/>
+     <exports symbol='xmlNanoFTPInit' type='function'/>
+     <exports symbol='xmlNanoFTPList' type='function'/>
+     <exports symbol='xmlNanoFTPNewCtxt' type='function'/>
+     <exports symbol='xmlNanoFTPOpen' type='function'/>
+     <exports symbol='xmlNanoFTPProxy' type='function'/>
+     <exports symbol='xmlNanoFTPQuit' type='function'/>
+     <exports symbol='xmlNanoFTPRead' type='function'/>
+     <exports symbol='xmlNanoFTPScanProxy' type='function'/>
+     <exports symbol='xmlNanoFTPUpdateURL' type='function'/>
     </file>
     <file name='nanohttp'>
      <summary>minimal HTTP implementation</summary>
      <description>minimal HTTP implementation allowing to fetch resources like external subset. </description>
      <author>Daniel Veillard </author>
-     <exports symbol='xmlNanoHTTPRead' type='function'/>
-     <exports symbol='xmlNanoHTTPSave' type='function'/>
-     <exports symbol='xmlNanoHTTPRedir' type='function'/>
      <exports symbol='xmlNanoHTTPAuthHeader' type='function'/>
-     <exports symbol='xmlNanoHTTPFetch' type='function'/>
-     <exports symbol='xmlNanoHTTPContentLength' type='function'/>
-     <exports symbol='xmlNanoHTTPMimeType' type='function'/>
-     <exports symbol='xmlNanoHTTPClose' type='function'/>
      <exports symbol='xmlNanoHTTPCleanup' type='function'/>
-     <exports symbol='xmlNanoHTTPMethod' type='function'/>
+     <exports symbol='xmlNanoHTTPClose' type='function'/>
+     <exports symbol='xmlNanoHTTPContentLength' type='function'/>
+     <exports symbol='xmlNanoHTTPEncoding' type='function'/>
+     <exports symbol='xmlNanoHTTPFetch' type='function'/>
      <exports symbol='xmlNanoHTTPInit' type='function'/>
+     <exports symbol='xmlNanoHTTPMethod' type='function'/>
+     <exports symbol='xmlNanoHTTPMethodRedir' type='function'/>
+     <exports symbol='xmlNanoHTTPMimeType' type='function'/>
      <exports symbol='xmlNanoHTTPOpen' type='function'/>
      <exports symbol='xmlNanoHTTPOpenRedir' type='function'/>
-     <exports symbol='xmlNanoHTTPMethodRedir' type='function'/>
-     <exports symbol='xmlNanoHTTPScanProxy' type='function'/>
-     <exports symbol='xmlNanoHTTPEncoding' type='function'/>
+     <exports symbol='xmlNanoHTTPRead' type='function'/>
+     <exports symbol='xmlNanoHTTPRedir' type='function'/>
      <exports symbol='xmlNanoHTTPReturnCode' type='function'/>
+     <exports symbol='xmlNanoHTTPSave' type='function'/>
+     <exports symbol='xmlNanoHTTPScanProxy' type='function'/>
     </file>
     <file name='parser'>
      <summary>the core parser module</summary>
      <description>Interfaces, constants and types related to the XML parser </description>
      <author>Daniel Veillard </author>
      <exports symbol='XML_COMPLETE_ATTRS' type='macro'/>
-     <exports symbol='XML_SKIP_IDS' type='macro'/>
-     <exports symbol='XML_SAX2_MAGIC' type='macro'/>
-     <exports symbol='XML_DETECT_IDS' type='macro'/>
      <exports symbol='XML_DEFAULT_VERSION' type='macro'/>
-     <exports symbol='XML_WITH_NONE' type='enum'/>
-     <exports symbol='XML_WITH_SCHEMATRON' type='enum'/>
-     <exports symbol='XML_PARSER_ENTITY_DECL' type='enum'/>
-     <exports symbol='XML_PARSER_CONTENT' type='enum'/>
-     <exports symbol='XML_PARSE_NOBLANKS' type='enum'/>
-     <exports symbol='XML_WITH_PATTERN' type='enum'/>
-     <exports symbol='XML_PARSE_NODICT' type='enum'/>
-     <exports symbol='XML_PARSER_SYSTEM_LITERAL' type='enum'/>
-     <exports symbol='XML_WITH_REGEXP' type='enum'/>
-     <exports symbol='XML_PARSER_PI' type='enum'/>
-     <exports symbol='XML_PARSE_UNKNOWN' type='enum'/>
-     <exports symbol='XML_WITH_XPATH' type='enum'/>
-     <exports symbol='XML_WITH_HTML' type='enum'/>
-     <exports symbol='XML_PARSE_OLDSAX' type='enum'/>
-     <exports symbol='XML_WITH_LZMA' type='enum'/>
-     <exports symbol='XML_WITH_ICU' type='enum'/>
-     <exports symbol='XML_WITH_C14N' 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_WITH_HTTP' type='enum'/>
-     <exports symbol='XML_PARSER_EPILOG' type='enum'/>
-     <exports symbol='XML_PARSER_END_TAG' type='enum'/>
-     <exports symbol='XML_WITH_DEBUG' type='enum'/>
-     <exports symbol='XML_WITH_READER' type='enum'/>
-     <exports symbol='XML_PARSE_DTDVALID' type='enum'/>
-     <exports symbol='XML_PARSE_DOM' type='enum'/>
+     <exports symbol='XML_DETECT_IDS' type='macro'/>
+     <exports symbol='XML_SAX2_MAGIC' type='macro'/>
+     <exports symbol='XML_SKIP_IDS' type='macro'/>
      <exports symbol='XML_PARSER_ATTRIBUTE_VALUE' type='enum'/>
-     <exports symbol='XML_PARSE_PUSH_SAX' type='enum'/>
-     <exports symbol='XML_WITH_TREE' type='enum'/>
-     <exports symbol='XML_PARSE_RECOVER' type='enum'/>
-     <exports symbol='XML_WITH_SCHEMAS' type='enum'/>
-     <exports symbol='XML_PARSE_PEDANTIC' type='enum'/>
-     <exports symbol='XML_PARSER_EOF' type='enum'/>
      <exports symbol='XML_PARSER_CDATA_SECTION' type='enum'/>
-     <exports symbol='XML_WITH_LEGACY' type='enum'/>
-     <exports symbol='XML_WITH_OUTPUT' type='enum'/>
-     <exports symbol='XML_PARSE_XINCLUDE' type='enum'/>
-     <exports symbol='XML_PARSE_NOCDATA' type='enum'/>
-     <exports symbol='XML_PARSE_NOBASEFIX' type='enum'/>
-     <exports symbol='XML_PARSE_BIG_LINES' type='enum'/>
-     <exports symbol='XML_WITH_XINCLUDE' type='enum'/>
-     <exports symbol='XML_WITH_PUSH' type='enum'/>
-     <exports symbol='XML_PARSE_READER' type='enum'/>
-     <exports symbol='XML_WITH_THREAD' type='enum'/>
-     <exports symbol='XML_PARSE_SAX' type='enum'/>
-     <exports symbol='XML_PARSE_NOENT' type='enum'/>
-     <exports symbol='XML_PARSER_ENTITY_VALUE' type='enum'/>
-     <exports symbol='XML_PARSE_DTDLOAD' type='enum'/>
-     <exports symbol='XML_PARSE_DTDATTR' type='enum'/>
-     <exports symbol='XML_PARSE_NOWARNING' type='enum'/>
-     <exports symbol='XML_PARSE_OLD10' type='enum'/>
-     <exports symbol='XML_PARSE_NOERROR' type='enum'/>
-     <exports symbol='XML_WITH_ISO8859X' type='enum'/>
-     <exports symbol='XML_WITH_EXPR' type='enum'/>
-     <exports symbol='XML_PARSE_NSCLEAN' type='enum'/>
-     <exports symbol='XML_WITH_UNICODE' type='enum'/>
-     <exports symbol='XML_WITH_CATALOG' type='enum'/>
-     <exports symbol='XML_WITH_MODULES' type='enum'/>
-     <exports symbol='XML_WITH_XPTR' type='enum'/>
-     <exports symbol='XML_PARSE_IGNORE_ENC' type='enum'/>
-     <exports symbol='XML_PARSE_COMPACT' type='enum'/>
-     <exports symbol='XML_PARSE_SAX1' type='enum'/>
-     <exports symbol='XML_WITH_ZLIB' type='enum'/>
-     <exports symbol='XML_PARSE_NOXINCNODE' type='enum'/>
-     <exports symbol='XML_PARSER_DTD' type='enum'/>
-     <exports symbol='XML_PARSER_MISC' type='enum'/>
-     <exports symbol='XML_PARSER_START' type='enum'/>
-     <exports symbol='XML_WITH_DEBUG_MEM' type='enum'/>
-     <exports symbol='XML_PARSE_HUGE' type='enum'/>
-     <exports symbol='XML_WITH_FTP' type='enum'/>
-     <exports symbol='XML_PARSER_START_TAG' type='enum'/>
-     <exports symbol='XML_PARSER_IGNORE' type='enum'/>
      <exports symbol='XML_PARSER_COMMENT' type='enum'/>
+     <exports symbol='XML_PARSER_CONTENT' type='enum'/>
+     <exports symbol='XML_PARSER_DTD' type='enum'/>
+     <exports symbol='XML_PARSER_END_TAG' type='enum'/>
+     <exports symbol='XML_PARSER_ENTITY_DECL' type='enum'/>
+     <exports symbol='XML_PARSER_ENTITY_VALUE' type='enum'/>
+     <exports symbol='XML_PARSER_EOF' type='enum'/>
+     <exports symbol='XML_PARSER_EPILOG' type='enum'/>
+     <exports symbol='XML_PARSER_IGNORE' type='enum'/>
+     <exports symbol='XML_PARSER_MISC' type='enum'/>
+     <exports symbol='XML_PARSER_PI' type='enum'/>
+     <exports symbol='XML_PARSER_PROLOG' type='enum'/>
      <exports symbol='XML_PARSER_PUBLIC_LITERAL' type='enum'/>
-     <exports symbol='XML_WITH_ICONV' type='enum'/>
-     <exports symbol='XML_WITH_WRITER' type='enum'/>
+     <exports symbol='XML_PARSER_START' type='enum'/>
+     <exports symbol='XML_PARSER_START_TAG' type='enum'/>
+     <exports symbol='XML_PARSER_SYSTEM_LITERAL' type='enum'/>
+     <exports symbol='XML_PARSE_BIG_LINES' type='enum'/>
+     <exports symbol='XML_PARSE_COMPACT' type='enum'/>
+     <exports symbol='XML_PARSE_DOM' type='enum'/>
+     <exports symbol='XML_PARSE_DTDATTR' type='enum'/>
+     <exports symbol='XML_PARSE_DTDLOAD' type='enum'/>
+     <exports symbol='XML_PARSE_DTDVALID' type='enum'/>
+     <exports symbol='XML_PARSE_HUGE' type='enum'/>
+     <exports symbol='XML_PARSE_IGNORE_ENC' type='enum'/>
+     <exports symbol='XML_PARSE_NOBASEFIX' type='enum'/>
+     <exports symbol='XML_PARSE_NOBLANKS' type='enum'/>
+     <exports symbol='XML_PARSE_NOCDATA' type='enum'/>
+     <exports symbol='XML_PARSE_NODICT' type='enum'/>
+     <exports symbol='XML_PARSE_NOENT' type='enum'/>
+     <exports symbol='XML_PARSE_NOERROR' type='enum'/>
+     <exports symbol='XML_PARSE_NONET' type='enum'/>
+     <exports symbol='XML_PARSE_NOWARNING' type='enum'/>
+     <exports symbol='XML_PARSE_NOXINCNODE' type='enum'/>
+     <exports symbol='XML_PARSE_NSCLEAN' type='enum'/>
+     <exports symbol='XML_PARSE_OLD10' type='enum'/>
+     <exports symbol='XML_PARSE_OLDSAX' type='enum'/>
+     <exports symbol='XML_PARSE_PEDANTIC' type='enum'/>
+     <exports symbol='XML_PARSE_PUSH_DOM' type='enum'/>
+     <exports symbol='XML_PARSE_PUSH_SAX' type='enum'/>
+     <exports symbol='XML_PARSE_READER' type='enum'/>
+     <exports symbol='XML_PARSE_RECOVER' type='enum'/>
+     <exports symbol='XML_PARSE_SAX' type='enum'/>
+     <exports symbol='XML_PARSE_SAX1' type='enum'/>
+     <exports symbol='XML_PARSE_UNKNOWN' type='enum'/>
+     <exports symbol='XML_PARSE_XINCLUDE' type='enum'/>
      <exports symbol='XML_WITH_AUTOMATA' type='enum'/>
+     <exports symbol='XML_WITH_C14N' type='enum'/>
+     <exports symbol='XML_WITH_CATALOG' type='enum'/>
+     <exports symbol='XML_WITH_DEBUG' type='enum'/>
+     <exports symbol='XML_WITH_DEBUG_MEM' type='enum'/>
      <exports symbol='XML_WITH_DEBUG_RUN' type='enum'/>
+     <exports symbol='XML_WITH_EXPR' type='enum'/>
+     <exports symbol='XML_WITH_FTP' type='enum'/>
+     <exports symbol='XML_WITH_HTML' type='enum'/>
+     <exports symbol='XML_WITH_HTTP' type='enum'/>
+     <exports symbol='XML_WITH_ICONV' type='enum'/>
+     <exports symbol='XML_WITH_ICU' type='enum'/>
+     <exports symbol='XML_WITH_ISO8859X' type='enum'/>
+     <exports symbol='XML_WITH_LEGACY' type='enum'/>
+     <exports symbol='XML_WITH_LZMA' type='enum'/>
+     <exports symbol='XML_WITH_MODULES' type='enum'/>
+     <exports symbol='XML_WITH_NONE' type='enum'/>
+     <exports symbol='XML_WITH_OUTPUT' type='enum'/>
+     <exports symbol='XML_WITH_PATTERN' type='enum'/>
+     <exports symbol='XML_WITH_PUSH' type='enum'/>
+     <exports symbol='XML_WITH_READER' type='enum'/>
+     <exports symbol='XML_WITH_REGEXP' type='enum'/>
      <exports symbol='XML_WITH_SAX1' type='enum'/>
+     <exports symbol='XML_WITH_SCHEMAS' type='enum'/>
+     <exports symbol='XML_WITH_SCHEMATRON' type='enum'/>
+     <exports symbol='XML_WITH_THREAD' type='enum'/>
+     <exports symbol='XML_WITH_TREE' type='enum'/>
+     <exports symbol='XML_WITH_UNICODE' type='enum'/>
      <exports symbol='XML_WITH_VALID' type='enum'/>
-     <exports symbol='xmlParserNodeInfoSeqPtr' type='typedef'/>
-     <exports symbol='xmlSAXHandlerV1' type='typedef'/>
+     <exports symbol='XML_WITH_WRITER' type='enum'/>
+     <exports symbol='XML_WITH_XINCLUDE' type='enum'/>
+     <exports symbol='XML_WITH_XPATH' type='enum'/>
+     <exports symbol='XML_WITH_XPTR' type='enum'/>
+     <exports symbol='XML_WITH_ZLIB' type='enum'/>
+     <exports symbol='xmlFeature' type='typedef'/>
      <exports symbol='xmlParserInputState' type='typedef'/>
+     <exports symbol='xmlParserMode' type='typedef'/>
+     <exports symbol='xmlParserNodeInfo' type='typedef'/>
      <exports symbol='xmlParserNodeInfoPtr' type='typedef'/>
      <exports symbol='xmlParserNodeInfoSeq' type='typedef'/>
-     <exports symbol='xmlFeature' type='typedef'/>
-     <exports symbol='xmlParserMode' type='typedef'/>
-     <exports symbol='xmlStartTag' type='typedef'/>
+     <exports symbol='xmlParserNodeInfoSeqPtr' type='typedef'/>
      <exports symbol='xmlParserOption' type='typedef'/>
+     <exports symbol='xmlSAXHandlerV1' type='typedef'/>
      <exports symbol='xmlSAXHandlerV1Ptr' type='typedef'/>
-     <exports symbol='xmlParserNodeInfo' type='typedef'/>
-     <exports symbol='_xmlParserNodeInfo' type='struct'/>
+     <exports symbol='xmlStartTag' type='typedef'/>
      <exports symbol='_xmlParserCtxt' type='struct'/>
-     <exports symbol='_xmlSAXHandlerV1' type='struct'/>
      <exports symbol='_xmlParserInput' type='struct'/>
-     <exports symbol='_xmlSAXHandler' type='struct'/>
+     <exports symbol='_xmlParserNodeInfo' type='struct'/>
      <exports symbol='_xmlParserNodeInfoSeq' type='struct'/>
+     <exports symbol='_xmlSAXHandler' type='struct'/>
+     <exports symbol='_xmlSAXHandlerV1' type='struct'/>
      <exports symbol='_xmlSAXLocator' type='struct'/>
-     <exports symbol='xmlSetupParserForBuffer' type='function'/>
-     <exports symbol='xmlCtxtReadFile' type='function'/>
-     <exports symbol='xmlParseCtxtExternalEntity' type='function'/>
      <exports symbol='attributeDeclSAXFunc' type='function'/>
-     <exports symbol='getEntitySAXFunc' type='function'/>
-     <exports symbol='startElementSAXFunc' type='function'/>
-     <exports symbol='charactersSAXFunc' type='function'/>
-     <exports symbol='xmlClearNodeInfoSeq' type='function'/>
-     <exports symbol='xmlParseChunk' type='function'/>
-     <exports symbol='xmlParseEntity' type='function'/>
-     <exports symbol='xmlRecoverFile' type='function'/>
-     <exports symbol='xmlCtxtReadDoc' type='function'/>
-     <exports symbol='startElementNsSAX2Func' type='function'/>
-     <exports symbol='xmlCreateIOParserCtxt' type='function'/>
-     <exports symbol='xmlParseInNodeContext' type='function'/>
-     <exports symbol='referenceSAXFunc' type='function'/>
-     <exports symbol='hasExternalSubsetSAXFunc' type='function'/>
-     <exports symbol='xmlSAXParseDoc' type='function'/>
-     <exports symbol='xmlReadMemory' type='function'/>
-     <exports symbol='xmlParseMemory' type='function'/>
-     <exports symbol='xmlNewIOInputStream' type='function'/>
-     <exports symbol='processingInstructionSAXFunc' type='function'/>
-     <exports symbol='xmlParseBalancedChunkMemoryRecover' type='function'/>
-     <exports symbol='xmlInitParser' type='function'/>
-     <exports symbol='xmlCreateDocParserCtxt' type='function'/>
-     <exports symbol='errorSAXFunc' type='function'/>
-     <exports symbol='xmlSAXParseMemory' type='function'/>
-     <exports symbol='xmlRecoverMemory' type='function'/>
-     <exports symbol='xmlExternalEntityLoader' type='function'/>
-     <exports symbol='hasInternalSubsetSAXFunc' type='function'/>
-     <exports symbol='cdataBlockSAXFunc' type='function'/>
-     <exports symbol='xmlSAXParseFile' type='function'/>
-     <exports symbol='xmlParserInputDeallocate' type='function'/>
-     <exports symbol='xmlCtxtReadIO' type='function'/>
-     <exports symbol='xmlSAXParseMemoryWithData' type='function'/>
-     <exports symbol='xmlGetFeature' type='function'/>
-     <exports symbol='xmlIOParseDTD' type='function'/>
-     <exports symbol='xmlFreeParserCtxt' type='function'/>
-     <exports symbol='xmlParseDTD' type='function'/>
-     <exports symbol='xmlRecoverDoc' type='function'/>
-     <exports symbol='commentSAXFunc' type='function'/>
-     <exports symbol='xmlInitParserCtxt' type='function'/>
      <exports symbol='attributeSAXFunc' type='function'/>
-     <exports symbol='xmlParserInputGrow' type='function'/>
-     <exports symbol='xmlCtxtReadMemory' type='function'/>
-     <exports symbol='externalSubsetSAXFunc' type='function'/>
-     <exports symbol='resolveEntitySAXFunc' type='function'/>
-     <exports symbol='xmlPedanticParserDefault' type='function'/>
-     <exports symbol='xmlSAXParseEntity' type='function'/>
-     <exports symbol='xmlParseDoc' type='function'/>
-     <exports symbol='xmlSAXParseFileWithData' type='function'/>
-     <exports symbol='xmlLineNumbersDefault' type='function'/>
-     <exports symbol='xmlGetExternalEntityLoader' type='function'/>
+     <exports symbol='cdataBlockSAXFunc' type='function'/>
+     <exports symbol='charactersSAXFunc' type='function'/>
+     <exports symbol='commentSAXFunc' type='function'/>
      <exports symbol='elementDeclSAXFunc' type='function'/>
-     <exports symbol='xmlCtxtUseOptions' type='function'/>
-     <exports symbol='xmlCreatePushParserCtxt' type='function'/>
-     <exports symbol='xmlParserAddNodeInfo' type='function'/>
-     <exports symbol='xmlCtxtReadFd' type='function'/>
-     <exports symbol='internalSubsetSAXFunc' type='function'/>
-     <exports symbol='xmlNewParserCtxt' type='function'/>
      <exports symbol='endDocumentSAXFunc' type='function'/>
-     <exports symbol='xmlParseFile' type='function'/>
-     <exports symbol='xmlParseDocument' type='function'/>
-     <exports symbol='setDocumentLocatorSAXFunc' type='function'/>
-     <exports symbol='getParameterEntitySAXFunc' type='function'/>
-     <exports symbol='ignorableWhitespaceSAXFunc' type='function'/>
-     <exports symbol='xmlInitNodeInfoSeq' type='function'/>
-     <exports symbol='xmlSubstituteEntitiesDefault' type='function'/>
+     <exports symbol='endElementNsSAX2Func' type='function'/>
      <exports symbol='endElementSAXFunc' type='function'/>
-     <exports symbol='xmlParserFindNodeInfoIndex' type='function'/>
+     <exports symbol='entityDeclSAXFunc' type='function'/>
+     <exports symbol='errorSAXFunc' type='function'/>
+     <exports symbol='externalSubsetSAXFunc' type='function'/>
+     <exports symbol='fatalErrorSAXFunc' type='function'/>
+     <exports symbol='getEntitySAXFunc' type='function'/>
+     <exports symbol='getParameterEntitySAXFunc' type='function'/>
+     <exports symbol='hasExternalSubsetSAXFunc' type='function'/>
+     <exports symbol='hasInternalSubsetSAXFunc' type='function'/>
+     <exports symbol='ignorableWhitespaceSAXFunc' type='function'/>
+     <exports symbol='internalSubsetSAXFunc' type='function'/>
+     <exports symbol='isStandaloneSAXFunc' type='function'/>
+     <exports symbol='notationDeclSAXFunc' type='function'/>
+     <exports symbol='processingInstructionSAXFunc' type='function'/>
+     <exports symbol='referenceSAXFunc' type='function'/>
+     <exports symbol='resolveEntitySAXFunc' type='function'/>
+     <exports symbol='setDocumentLocatorSAXFunc' type='function'/>
+     <exports symbol='startDocumentSAXFunc' type='function'/>
+     <exports symbol='startElementNsSAX2Func' type='function'/>
+     <exports symbol='startElementSAXFunc' type='function'/>
+     <exports symbol='unparsedEntityDeclSAXFunc' type='function'/>
+     <exports symbol='warningSAXFunc' type='function'/>
      <exports symbol='xmlByteConsumed' type='function'/>
+     <exports symbol='xmlCleanupParser' type='function'/>
+     <exports symbol='xmlClearNodeInfoSeq' type='function'/>
+     <exports symbol='xmlClearParserCtxt' type='function'/>
+     <exports symbol='xmlCreateDocParserCtxt' type='function'/>
+     <exports symbol='xmlCreateIOParserCtxt' type='function'/>
+     <exports symbol='xmlCreatePushParserCtxt' type='function'/>
+     <exports symbol='xmlCtxtReadDoc' type='function'/>
+     <exports symbol='xmlCtxtReadFd' type='function'/>
+     <exports symbol='xmlCtxtReadFile' type='function'/>
+     <exports symbol='xmlCtxtReadIO' type='function'/>
+     <exports symbol='xmlCtxtReadMemory' type='function'/>
      <exports symbol='xmlCtxtReset' type='function'/>
-     <exports symbol='xmlSetFeature' type='function'/>
-     <exports symbol='xmlKeepBlanksDefault' type='function'/>
-     <exports symbol='xmlParserInputRead' type='function'/>
-     <exports symbol='xmlReadFile' type='function'/>
+     <exports symbol='xmlCtxtResetPush' type='function'/>
+     <exports symbol='xmlCtxtUseOptions' type='function'/>
+     <exports symbol='xmlExternalEntityLoader' type='function'/>
+     <exports symbol='xmlFreeParserCtxt' type='function'/>
+     <exports symbol='xmlGetExternalEntityLoader' type='function'/>
+     <exports symbol='xmlGetFeature' type='function'/>
      <exports symbol='xmlGetFeaturesList' type='function'/>
      <exports symbol='xmlHasFeature' type='function'/>
-     <exports symbol='unparsedEntityDeclSAXFunc' type='function'/>
-     <exports symbol='xmlSAXUserParseFile' type='function'/>
-     <exports symbol='fatalErrorSAXFunc' type='function'/>
-     <exports symbol='xmlSAXParseDTD' type='function'/>
-     <exports symbol='xmlParserFindNodeInfo' type='function'/>
-     <exports symbol='entityDeclSAXFunc' type='function'/>
+     <exports symbol='xmlIOParseDTD' type='function'/>
+     <exports symbol='xmlInitNodeInfoSeq' type='function'/>
+     <exports symbol='xmlInitParser' type='function'/>
+     <exports symbol='xmlInitParserCtxt' type='function'/>
+     <exports symbol='xmlKeepBlanksDefault' type='function'/>
+     <exports symbol='xmlLineNumbersDefault' type='function'/>
      <exports symbol='xmlLoadExternalEntity' type='function'/>
-     <exports symbol='xmlStopParser' type='function'/>
-     <exports symbol='xmlReadFd' type='function'/>
-     <exports symbol='xmlParseExtParsedEnt' type='function'/>
-     <exports symbol='xmlReadIO' type='function'/>
-     <exports symbol='xmlReadDoc' type='function'/>
-     <exports symbol='xmlSAXUserParseMemory' type='function'/>
+     <exports symbol='xmlNewIOInputStream' type='function'/>
+     <exports symbol='xmlNewParserCtxt' type='function'/>
+     <exports symbol='xmlNewSAXParserCtxt' type='function'/>
      <exports symbol='xmlParseBalancedChunkMemory' type='function'/>
-     <exports symbol='endElementNsSAX2Func' type='function'/>
-     <exports symbol='xmlCleanupParser' type='function'/>
-     <exports symbol='xmlCtxtResetPush' type='function'/>
-     <exports symbol='isStandaloneSAXFunc' type='function'/>
-     <exports symbol='startDocumentSAXFunc' type='function'/>
-     <exports symbol='xmlClearParserCtxt' type='function'/>
+     <exports symbol='xmlParseBalancedChunkMemoryRecover' type='function'/>
+     <exports symbol='xmlParseChunk' type='function'/>
+     <exports symbol='xmlParseCtxtExternalEntity' type='function'/>
+     <exports symbol='xmlParseDTD' type='function'/>
+     <exports symbol='xmlParseDoc' type='function'/>
+     <exports symbol='xmlParseDocument' type='function'/>
+     <exports symbol='xmlParseEntity' type='function'/>
+     <exports symbol='xmlParseExtParsedEnt' type='function'/>
      <exports symbol='xmlParseExternalEntity' type='function'/>
-     <exports symbol='notationDeclSAXFunc' type='function'/>
-     <exports symbol='warningSAXFunc' type='function'/>
+     <exports symbol='xmlParseFile' type='function'/>
+     <exports symbol='xmlParseInNodeContext' type='function'/>
+     <exports symbol='xmlParseMemory' type='function'/>
+     <exports symbol='xmlParserAddNodeInfo' type='function'/>
+     <exports symbol='xmlParserFindNodeInfo' type='function'/>
+     <exports symbol='xmlParserFindNodeInfoIndex' type='function'/>
+     <exports symbol='xmlParserInputDeallocate' type='function'/>
+     <exports symbol='xmlParserInputGrow' type='function'/>
+     <exports symbol='xmlParserInputRead' type='function'/>
+     <exports symbol='xmlPedanticParserDefault' type='function'/>
+     <exports symbol='xmlReadDoc' type='function'/>
+     <exports symbol='xmlReadFd' type='function'/>
+     <exports symbol='xmlReadFile' type='function'/>
+     <exports symbol='xmlReadIO' type='function'/>
+     <exports symbol='xmlReadMemory' type='function'/>
+     <exports symbol='xmlRecoverDoc' type='function'/>
+     <exports symbol='xmlRecoverFile' type='function'/>
+     <exports symbol='xmlRecoverMemory' type='function'/>
+     <exports symbol='xmlSAXParseDTD' type='function'/>
+     <exports symbol='xmlSAXParseDoc' type='function'/>
+     <exports symbol='xmlSAXParseEntity' type='function'/>
+     <exports symbol='xmlSAXParseFile' type='function'/>
+     <exports symbol='xmlSAXParseFileWithData' type='function'/>
+     <exports symbol='xmlSAXParseMemory' type='function'/>
+     <exports symbol='xmlSAXParseMemoryWithData' type='function'/>
+     <exports symbol='xmlSAXUserParseFile' type='function'/>
+     <exports symbol='xmlSAXUserParseMemory' type='function'/>
      <exports symbol='xmlSetExternalEntityLoader' type='function'/>
+     <exports symbol='xmlSetFeature' type='function'/>
+     <exports symbol='xmlSetupParserForBuffer' type='function'/>
+     <exports symbol='xmlStopParser' type='function'/>
+     <exports symbol='xmlSubstituteEntitiesDefault' type='function'/>
     </file>
     <file name='parserInternals'>
      <summary>internals routines and limits exported by the parser.</summary>
      <description>this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing. </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_SUBSTITUTE_REF' type='macro'/>
+     <exports symbol='INPUT_CHUNK' type='macro'/>
+     <exports symbol='IS_ASCII_DIGIT' type='macro'/>
+     <exports symbol='IS_ASCII_LETTER' type='macro'/>
+     <exports symbol='IS_BASECHAR' type='macro'/>
      <exports symbol='IS_BLANK' type='macro'/>
+     <exports symbol='IS_BLANK_CH' type='macro'/>
      <exports symbol='IS_BYTE_CHAR' type='macro'/>
-     <exports symbol='IS_PUBIDCHAR' type='macro'/>
+     <exports symbol='IS_CHAR' type='macro'/>
+     <exports symbol='IS_CHAR_CH' type='macro'/>
+     <exports symbol='IS_COMBINING' type='macro'/>
+     <exports symbol='IS_COMBINING_CH' type='macro'/>
+     <exports symbol='IS_DIGIT' type='macro'/>
      <exports symbol='IS_DIGIT_CH' type='macro'/>
      <exports symbol='IS_EXTENDER' type='macro'/>
-     <exports symbol='IS_ASCII_DIGIT' type='macro'/>
-     <exports symbol='IS_COMBINING_CH' type='macro'/>
-     <exports symbol='IS_CHAR' type='macro'/>
-     <exports symbol='IS_LETTER' type='macro'/>
-     <exports symbol='IS_IDEOGRAPHIC' type='macro'/>
-     <exports symbol='MOVETO_STARTTAG' type='macro'/>
-     <exports symbol='XML_MAX_NAME_LENGTH' type='macro'/>
-     <exports symbol='IS_ASCII_LETTER' type='macro'/>
-     <exports symbol='IS_DIGIT' type='macro'/>
-     <exports symbol='XML_MAX_DICTIONARY_LIMIT' type='macro'/>
-     <exports symbol='XML_SUBSTITUTE_PEREF' type='macro'/>
-     <exports symbol='MOVETO_ENDTAG' type='macro'/>
-     <exports symbol='SKIP_EOL' type='macro'/>
      <exports symbol='IS_EXTENDER_CH' type='macro'/>
-     <exports symbol='IS_BLANK_CH' type='macro'/>
+     <exports symbol='IS_IDEOGRAPHIC' type='macro'/>
+     <exports symbol='IS_LETTER' type='macro'/>
      <exports symbol='IS_LETTER_CH' type='macro'/>
-     <exports symbol='XML_MAX_LOOKUP_LIMIT' type='macro'/>
-     <exports symbol='XML_MAX_TEXT_LENGTH' type='macro'/>
-     <exports symbol='XML_SUBSTITUTE_NONE' type='macro'/>
-     <exports symbol='IS_COMBINING' type='macro'/>
-     <exports symbol='XML_MAX_NAMELEN' type='macro'/>
-     <exports symbol='IS_BASECHAR' type='macro'/>
-     <exports symbol='INPUT_CHUNK' type='macro'/>
+     <exports symbol='IS_PUBIDCHAR' type='macro'/>
      <exports symbol='IS_PUBIDCHAR_CH' type='macro'/>
-     <exports symbol='IS_CHAR_CH' type='macro'/>
+     <exports symbol='XML_MAX_DICTIONARY_LIMIT' type='macro'/>
+     <exports symbol='XML_MAX_LOOKUP_LIMIT' type='macro'/>
+     <exports symbol='XML_MAX_NAMELEN' type='macro'/>
+     <exports symbol='XML_MAX_NAME_LENGTH' type='macro'/>
+     <exports symbol='XML_MAX_TEXT_LENGTH' type='macro'/>
      <exports symbol='XML_SUBSTITUTE_BOTH' type='macro'/>
-     <exports symbol='xmlStringTextNoenc' type='variable'/>
+     <exports symbol='XML_SUBSTITUTE_NONE' type='macro'/>
+     <exports symbol='XML_SUBSTITUTE_PEREF' type='macro'/>
+     <exports symbol='XML_SUBSTITUTE_REF' type='macro'/>
+     <exports symbol='xmlParserMaxDepth' type='variable'/>
      <exports symbol='xmlStringComment' type='variable'/>
      <exports symbol='xmlStringText' type='variable'/>
-     <exports symbol='xmlParserMaxDepth' type='variable'/>
-     <exports symbol='nodePop' type='function'/>
-     <exports symbol='xmlParseNotationDecl' type='function'/>
-     <exports symbol='xmlParseExternalSubset' type='function'/>
-     <exports symbol='xmlParseMisc' type='function'/>
-     <exports symbol='xmlSwitchInputEncoding' type='function'/>
-     <exports symbol='xmlNewStringInputStream' type='function'/>
-     <exports symbol='xmlParseExternalID' type='function'/>
-     <exports symbol='xmlScanName' type='function'/>
-     <exports symbol='xmlParseElementDecl' type='function'/>
-     <exports symbol='xmlParseMarkupDecl' type='function'/>
-     <exports symbol='htmlCreateFileParserCtxt' type='function'/>
-     <exports symbol='inputPush' type='function'/>
-     <exports symbol='xmlStringLenDecodeEntities' type='function'/>
-     <exports symbol='namePop' type='function'/>
-     <exports symbol='xmlParseContent' type='function'/>
-     <exports symbol='xmlNewInputStream' type='function'/>
-     <exports symbol='xmlNamespaceParseQName' type='function'/>
-     <exports symbol='xmlNewInputFromFile' type='function'/>
-     <exports symbol='xmlParserHandlePEReference' type='function'/>
-     <exports symbol='xmlStringDecodeEntities' type='function'/>
-     <exports symbol='xmlCreateFileParserCtxt' type='function'/>
-     <exports symbol='xmlParseCharRef' type='function'/>
-     <exports symbol='xmlParseElement' type='function'/>
-     <exports symbol='xmlParseTextDecl' type='function'/>
-     <exports symbol='xmlNewEntityInputStream' type='function'/>
-     <exports symbol='xmlCopyCharMultiByte' type='function'/>
-     <exports symbol='xmlParseElementChildrenContentDecl' type='function'/>
-     <exports symbol='xmlParseCharData' type='function'/>
-     <exports symbol='xmlParseVersionInfo' type='function'/>
-     <exports symbol='xmlParseSDDecl' type='function'/>
-     <exports symbol='xmlParseEnumeratedType' type='function'/>
-     <exports symbol='xmlHandleEntity' type='function'/>
-     <exports symbol='xmlCurrentChar' type='function'/>
-     <exports symbol='xmlSkipBlankChars' type='function'/>
-     <exports symbol='xmlParseNotationType' type='function'/>
-     <exports symbol='xmlParserInputShrink' type='function'/>
-     <exports symbol='xmlSetEntityReferenceFunc' type='function'/>
-     <exports symbol='xmlFreeInputStream' type='function'/>
-     <exports symbol='xmlParsePEReference' type='function'/>
-     <exports symbol='xmlCreateURLParserCtxt' type='function'/>
-     <exports symbol='xmlIsLetter' type='function'/>
-     <exports symbol='xmlCheckLanguageID' type='function'/>
-     <exports symbol='xmlNextChar' type='function'/>
-     <exports symbol='xmlParseEnumerationType' type='function'/>
-     <exports symbol='xmlParseAttributeType' type='function'/>
-     <exports symbol='xmlParseDefaultDecl' type='function'/>
-     <exports symbol='xmlParseSystemLiteral' type='function'/>
-     <exports symbol='xmlParseAttValue' type='function'/>
-     <exports symbol='xmlCreateMemoryParserCtxt' type='function'/>
-     <exports symbol='xmlParseAttributeListDecl' type='function'/>
-     <exports symbol='xmlParseName' type='function'/>
-     <exports symbol='xmlParseEncName' type='function'/>
-     <exports symbol='nodePush' type='function'/>
-     <exports symbol='xmlSwitchEncoding' type='function'/>
-     <exports symbol='xmlSwitchToEncoding' type='function'/>
-     <exports symbol='xmlParseEntityRef' type='function'/>
-     <exports symbol='xmlParseAttribute' type='function'/>
-     <exports symbol='xmlParseEndTag' type='function'/>
-     <exports symbol='xmlParseEncodingDecl' type='function'/>
-     <exports symbol='htmlInitAutoClose' type='function'/>
-     <exports symbol='xmlCreateEntityParserCtxt' type='function'/>
-     <exports symbol='xmlSplitQName' type='function'/>
-     <exports symbol='xmlParserHandleReference' type='function'/>
-     <exports symbol='xmlParsePITarget' type='function'/>
-     <exports symbol='xmlParseElementContentDecl' type='function'/>
+     <exports symbol='xmlStringTextNoenc' type='variable'/>
      <exports symbol='inputPop' type='function'/>
-     <exports symbol='xmlPopInput' type='function'/>
-     <exports symbol='xmlParsePubidLiteral' type='function'/>
-     <exports symbol='xmlPushInput' type='function'/>
-     <exports symbol='xmlParseEntityValue' type='function'/>
+     <exports symbol='inputPush' type='function'/>
+     <exports symbol='namePop' type='function'/>
+     <exports symbol='namePush' type='function'/>
+     <exports symbol='nodePop' type='function'/>
+     <exports symbol='nodePush' type='function'/>
+     <exports symbol='xmlCheckLanguageID' type='function'/>
+     <exports symbol='xmlCopyChar' type='function'/>
+     <exports symbol='xmlCopyCharMultiByte' type='function'/>
+     <exports symbol='xmlCreateEntityParserCtxt' type='function'/>
+     <exports symbol='xmlCreateFileParserCtxt' type='function'/>
+     <exports symbol='xmlCreateMemoryParserCtxt' type='function'/>
+     <exports symbol='xmlCreateURLParserCtxt' type='function'/>
+     <exports symbol='xmlCurrentChar' type='function'/>
      <exports symbol='xmlDecodeEntities' type='function'/>
+     <exports symbol='xmlEntityReferenceFunc' type='function'/>
+     <exports symbol='xmlFreeInputStream' type='function'/>
+     <exports symbol='xmlHandleEntity' type='function'/>
+     <exports symbol='xmlIsLetter' type='function'/>
+     <exports symbol='xmlNamespaceParseNCName' type='function'/>
+     <exports symbol='xmlNamespaceParseNSDef' type='function'/>
+     <exports symbol='xmlNamespaceParseQName' type='function'/>
+     <exports symbol='xmlNewEntityInputStream' type='function'/>
+     <exports symbol='xmlNewInputFromFile' type='function'/>
+     <exports symbol='xmlNewInputStream' type='function'/>
+     <exports symbol='xmlNewStringInputStream' type='function'/>
+     <exports symbol='xmlNextChar' type='function'/>
+     <exports symbol='xmlParseAttValue' type='function'/>
+     <exports symbol='xmlParseAttribute' type='function'/>
+     <exports symbol='xmlParseAttributeListDecl' type='function'/>
+     <exports symbol='xmlParseAttributeType' type='function'/>
+     <exports symbol='xmlParseCDSect' type='function'/>
+     <exports symbol='xmlParseCharData' type='function'/>
+     <exports symbol='xmlParseCharRef' type='function'/>
+     <exports symbol='xmlParseComment' type='function'/>
+     <exports symbol='xmlParseContent' type='function'/>
+     <exports symbol='xmlParseDefaultDecl' type='function'/>
+     <exports symbol='xmlParseDocTypeDecl' type='function'/>
+     <exports symbol='xmlParseElement' type='function'/>
+     <exports symbol='xmlParseElementChildrenContentDecl' type='function'/>
+     <exports symbol='xmlParseElementContentDecl' type='function'/>
+     <exports symbol='xmlParseElementDecl' type='function'/>
+     <exports symbol='xmlParseElementMixedContentDecl' type='function'/>
+     <exports symbol='xmlParseEncName' type='function'/>
+     <exports symbol='xmlParseEncodingDecl' type='function'/>
+     <exports symbol='xmlParseEndTag' type='function'/>
+     <exports symbol='xmlParseEntityDecl' type='function'/>
+     <exports symbol='xmlParseEntityRef' type='function'/>
+     <exports symbol='xmlParseEntityValue' type='function'/>
+     <exports symbol='xmlParseEnumeratedType' type='function'/>
+     <exports symbol='xmlParseEnumerationType' type='function'/>
+     <exports symbol='xmlParseExternalID' type='function'/>
+     <exports symbol='xmlParseExternalSubset' type='function'/>
+     <exports symbol='xmlParseMarkupDecl' type='function'/>
+     <exports symbol='xmlParseMisc' type='function'/>
+     <exports symbol='xmlParseName' type='function'/>
+     <exports symbol='xmlParseNamespace' type='function'/>
+     <exports symbol='xmlParseNmtoken' type='function'/>
+     <exports symbol='xmlParseNotationDecl' type='function'/>
+     <exports symbol='xmlParseNotationType' type='function'/>
+     <exports symbol='xmlParsePEReference' type='function'/>
+     <exports symbol='xmlParsePI' type='function'/>
+     <exports symbol='xmlParsePITarget' type='function'/>
+     <exports symbol='xmlParsePubidLiteral' type='function'/>
+     <exports symbol='xmlParseQuotedString' type='function'/>
+     <exports symbol='xmlParseReference' type='function'/>
+     <exports symbol='xmlParseSDDecl' type='function'/>
+     <exports symbol='xmlParseStartTag' type='function'/>
+     <exports symbol='xmlParseSystemLiteral' type='function'/>
+     <exports symbol='xmlParseTextDecl' type='function'/>
+     <exports symbol='xmlParseVersionInfo' type='function'/>
      <exports symbol='xmlParseVersionNum' type='function'/>
      <exports symbol='xmlParseXMLDecl' type='function'/>
-     <exports symbol='xmlEntityReferenceFunc' type='function'/>
-     <exports symbol='xmlParseElementMixedContentDecl' type='function'/>
-     <exports symbol='xmlParseQuotedString' type='function'/>
-     <exports symbol='xmlNamespaceParseNSDef' type='function'/>
-     <exports symbol='xmlParseCDSect' type='function'/>
+     <exports symbol='xmlParserHandlePEReference' type='function'/>
+     <exports symbol='xmlParserHandleReference' type='function'/>
+     <exports symbol='xmlParserInputShrink' type='function'/>
+     <exports symbol='xmlPopInput' type='function'/>
+     <exports symbol='xmlPushInput' type='function'/>
+     <exports symbol='xmlScanName' type='function'/>
+     <exports symbol='xmlSetEntityReferenceFunc' type='function'/>
+     <exports symbol='xmlSkipBlankChars' type='function'/>
+     <exports symbol='xmlSplitQName' type='function'/>
      <exports symbol='xmlStringCurrentChar' type='function'/>
-     <exports symbol='xmlParseComment' type='function'/>
-     <exports symbol='xmlErrMemory' type='function'/>
-     <exports symbol='xmlNamespaceParseNCName' type='function'/>
-     <exports symbol='xmlParseNmtoken' type='function'/>
-     <exports symbol='xmlParseReference' type='function'/>
-     <exports symbol='namePush' type='function'/>
-     <exports symbol='xmlParseNamespace' type='function'/>
-     <exports symbol='xmlCopyChar' type='function'/>
-     <exports symbol='xmlParsePI' type='function'/>
-     <exports symbol='xmlParseDocTypeDecl' type='function'/>
-     <exports symbol='xmlParseStartTag' type='function'/>
-     <exports symbol='xmlParseEntityDecl' type='function'/>
+     <exports symbol='xmlStringDecodeEntities' type='function'/>
+     <exports symbol='xmlStringLenDecodeEntities' type='function'/>
+     <exports symbol='xmlSwitchEncoding' type='function'/>
+     <exports symbol='xmlSwitchInputEncoding' type='function'/>
+     <exports symbol='xmlSwitchToEncoding' type='function'/>
     </file>
     <file name='pattern'>
      <summary>pattern expression handling</summary>
      <description>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </description>
      <author>Daniel Veillard </author>
      <exports symbol='XML_PATTERN_DEFAULT' type='enum'/>
+     <exports symbol='XML_PATTERN_XPATH' type='enum'/>
      <exports symbol='XML_PATTERN_XSFIELD' type='enum'/>
      <exports symbol='XML_PATTERN_XSSEL' type='enum'/>
-     <exports symbol='XML_PATTERN_XPATH' type='enum'/>
-     <exports symbol='xmlStreamCtxtPtr' type='typedef'/>
-     <exports symbol='xmlPatternFlags' type='typedef'/>
-     <exports symbol='xmlStreamCtxt' type='typedef'/>
      <exports symbol='xmlPattern' type='typedef'/>
+     <exports symbol='xmlPatternFlags' type='typedef'/>
      <exports symbol='xmlPatternPtr' type='typedef'/>
-     <exports symbol='xmlPatternMinDepth' type='function'/>
-     <exports symbol='xmlPatternGetStreamCtxt' type='function'/>
-     <exports symbol='xmlPatternFromRoot' type='function'/>
-     <exports symbol='xmlFreePatternList' type='function'/>
-     <exports symbol='xmlPatternStreamable' type='function'/>
-     <exports symbol='xmlStreamPushAttr' type='function'/>
-     <exports symbol='xmlPatternMatch' type='function'/>
-     <exports symbol='xmlStreamWantsAnyNode' type='function'/>
-     <exports symbol='xmlStreamPop' type='function'/>
+     <exports symbol='xmlStreamCtxt' type='typedef'/>
+     <exports symbol='xmlStreamCtxtPtr' type='typedef'/>
      <exports symbol='xmlFreePattern' type='function'/>
-     <exports symbol='xmlStreamPush' type='function'/>
-     <exports symbol='xmlPatternMaxDepth' type='function'/>
-     <exports symbol='xmlPatterncompile' type='function'/>
-     <exports symbol='xmlStreamPushNode' type='function'/>
+     <exports symbol='xmlFreePatternList' type='function'/>
      <exports symbol='xmlFreeStreamCtxt' type='function'/>
+     <exports symbol='xmlPatternFromRoot' type='function'/>
+     <exports symbol='xmlPatternGetStreamCtxt' type='function'/>
+     <exports symbol='xmlPatternMatch' type='function'/>
+     <exports symbol='xmlPatternMaxDepth' type='function'/>
+     <exports symbol='xmlPatternMinDepth' type='function'/>
+     <exports symbol='xmlPatternStreamable' type='function'/>
+     <exports symbol='xmlPatterncompile' type='function'/>
+     <exports symbol='xmlStreamPop' type='function'/>
+     <exports symbol='xmlStreamPush' type='function'/>
+     <exports symbol='xmlStreamPushAttr' type='function'/>
+     <exports symbol='xmlStreamPushNode' type='function'/>
+     <exports symbol='xmlStreamWantsAnyNode' type='function'/>
     </file>
     <file name='relaxng'>
      <summary>implementation of the Relax-NG validation</summary>
      <description>implementation of the Relax-NG validation </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_RELAXNG_ERR_DUPID' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_VALELEM' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_ATTRVALID' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_LISTELEM' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_LISTEXTRA' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_ATTRNONS' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_EXTRADATA' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_ELEMNONS' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_ELEMEXTRANS' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_DATATYPE' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_TYPECMP' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_VALUE' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_NOGRAMMAR' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_INTERSEQ' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_LACKDATA' type='enum'/>
-     <exports symbol='XML_RELAXNGP_FREE_DOC' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_ATTRNAME' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_ELEMNOTEMPTY' type='enum'/>
-     <exports symbol='XML_RELAXNG_OK' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_INTERNODATA' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_ATTRWRONGNS' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_EXTRACONTENT' type='enum'/>
-     <exports symbol='XML_RELAXNGP_NONE' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_ELEMWRONG' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_LISTEMPTY' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_ATTREXTRANS' type='enum'/>
      <exports symbol='XML_RELAXNGP_CRNG' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_TEXTWRONG' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_INVALIDATTR' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_ELEMWRONGNS' type='enum'/>
+     <exports symbol='XML_RELAXNGP_FREE_DOC' type='enum'/>
+     <exports symbol='XML_RELAXNGP_NONE' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_ATTREXTRANS' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_ATTRNAME' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_ATTRNONS' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_ATTRVALID' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_ATTRWRONGNS' type='enum'/>
      <exports symbol='XML_RELAXNG_ERR_CONTENTVALID' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_TYPEVAL' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_LIST' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_TYPE' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_NOELEM' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_MEMORY' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_ELEMNAME' type='enum'/>
      <exports symbol='XML_RELAXNG_ERR_DATAELEM' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_NODEFINE' type='enum'/>
-     <exports symbol='XML_RELAXNG_ERR_NOSTATE' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_DATATYPE' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_DUPID' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_ELEMEXTRANS' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_ELEMNAME' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_ELEMNONS' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_ELEMNOTEMPTY' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_ELEMWRONG' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_ELEMWRONGNS' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_EXTRACONTENT' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_EXTRADATA' type='enum'/>
      <exports symbol='XML_RELAXNG_ERR_INTEREXTRA' type='enum'/>
      <exports symbol='XML_RELAXNG_ERR_INTERNAL' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_INTERNODATA' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_INTERSEQ' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_INVALIDATTR' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_LACKDATA' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_LIST' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_LISTELEM' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_LISTEMPTY' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_LISTEXTRA' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_MEMORY' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_NODEFINE' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_NOELEM' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_NOGRAMMAR' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_NOSTATE' type='enum'/>
      <exports symbol='XML_RELAXNG_ERR_NOTELEM' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_TEXTWRONG' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_TYPE' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_TYPECMP' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_TYPEVAL' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_VALELEM' type='enum'/>
+     <exports symbol='XML_RELAXNG_ERR_VALUE' type='enum'/>
+     <exports symbol='XML_RELAXNG_OK' type='enum'/>
      <exports symbol='xmlRelaxNG' type='typedef'/>
-     <exports symbol='xmlRelaxNGPtr' type='typedef'/>
-     <exports symbol='xmlRelaxNGValidErr' type='typedef'/>
      <exports symbol='xmlRelaxNGParserCtxt' type='typedef'/>
      <exports symbol='xmlRelaxNGParserCtxtPtr' type='typedef'/>
      <exports symbol='xmlRelaxNGParserFlag' type='typedef'/>
+     <exports symbol='xmlRelaxNGPtr' type='typedef'/>
      <exports symbol='xmlRelaxNGValidCtxt' type='typedef'/>
      <exports symbol='xmlRelaxNGValidCtxtPtr' type='typedef'/>
-     <exports symbol='xmlRelaxNGFreeValidCtxt' type='function'/>
-     <exports symbol='xmlRelaxNGNewDocParserCtxt' type='function'/>
-     <exports symbol='xmlRelaxNGSetValidErrors' type='function'/>
-     <exports symbol='xmlRelaxNGNewParserCtxt' type='function'/>
-     <exports symbol='xmlRelaxNGGetParserErrors' type='function'/>
-     <exports symbol='xmlRelaxNGValidatePopElement' type='function'/>
-     <exports symbol='xmlRelaxNGNewValidCtxt' type='function'/>
-     <exports symbol='xmlRelaxNGNewMemParserCtxt' type='function'/>
+     <exports symbol='xmlRelaxNGValidErr' type='typedef'/>
+     <exports symbol='xmlRelaxNGCleanupTypes' type='function'/>
      <exports symbol='xmlRelaxNGDump' type='function'/>
-     <exports symbol='xmlRelaxNGSetParserErrors' type='function'/>
-     <exports symbol='xmlRelaxNGParse' type='function'/>
-     <exports symbol='xmlRelaxNGSetParserStructuredErrors' type='function'/>
-     <exports symbol='xmlRelaxNGValidateFullElement' type='function'/>
-     <exports symbol='xmlRelaxNGValidityErrorFunc' type='function'/>
-     <exports symbol='xmlRelaxNGValidatePushElement' type='function'/>
+     <exports symbol='xmlRelaxNGDumpTree' type='function'/>
      <exports symbol='xmlRelaxNGFree' type='function'/>
-     <exports symbol='xmlRelaxNGValidateDoc' type='function'/>
-     <exports symbol='xmlRelaxNGSetValidStructuredErrors' type='function'/>
      <exports symbol='xmlRelaxNGFreeParserCtxt' type='function'/>
+     <exports symbol='xmlRelaxNGFreeValidCtxt' type='function'/>
+     <exports symbol='xmlRelaxNGGetParserErrors' type='function'/>
      <exports symbol='xmlRelaxNGGetValidErrors' type='function'/>
      <exports symbol='xmlRelaxNGInitTypes' type='function'/>
-     <exports symbol='xmlRelaxNGDumpTree' type='function'/>
-     <exports symbol='xmlRelaxNGCleanupTypes' type='function'/>
+     <exports symbol='xmlRelaxNGNewDocParserCtxt' type='function'/>
+     <exports symbol='xmlRelaxNGNewMemParserCtxt' type='function'/>
+     <exports symbol='xmlRelaxNGNewParserCtxt' type='function'/>
+     <exports symbol='xmlRelaxNGNewValidCtxt' type='function'/>
+     <exports symbol='xmlRelaxNGParse' type='function'/>
+     <exports symbol='xmlRelaxNGSetParserErrors' type='function'/>
+     <exports symbol='xmlRelaxNGSetParserStructuredErrors' type='function'/>
+     <exports symbol='xmlRelaxNGSetValidErrors' type='function'/>
+     <exports symbol='xmlRelaxNGSetValidStructuredErrors' type='function'/>
+     <exports symbol='xmlRelaxNGValidateDoc' type='function'/>
+     <exports symbol='xmlRelaxNGValidateFullElement' type='function'/>
+     <exports symbol='xmlRelaxNGValidatePopElement' type='function'/>
      <exports symbol='xmlRelaxNGValidatePushCData' type='function'/>
-     <exports symbol='xmlRelaxParserSetFlag' type='function'/>
+     <exports symbol='xmlRelaxNGValidatePushElement' type='function'/>
+     <exports symbol='xmlRelaxNGValidityErrorFunc' type='function'/>
      <exports symbol='xmlRelaxNGValidityWarningFunc' type='function'/>
+     <exports symbol='xmlRelaxParserSetFlag' type='function'/>
     </file>
     <file name='schemasInternals'>
      <summary>internal interfaces for XML Schemas</summary>
      <description>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_FIXUP_1' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_CIRCULAR' type='macro'/>
-     <exports symbol='XML_SCHEMAS_QUALIF_ATTR' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_USE_REQUIRED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_COLLAPSE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_UNION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ANY_STRICT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_INTERNAL_RESOLVED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_QUALIF_ELEM' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_LIST' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_INTERNAL_CHECKED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_INCLUDING_CONVERT_NS' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_INTERNAL_RESOLVED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_USE_PROHIBITED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_NILLABLE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTRGROUP_REDEFINED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_DEFAULT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_FINAL_EXTENSION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_REDEFINED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_FIXED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_ATOMIC' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_FINAL_LIST' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_USE_OPTIONAL' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_NSDEFAULT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_WHITESPACE_REPLACE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_RESTRICTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ANYATTR_STRICT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_UNKNOWN' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTRGROUP_MARKED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_PRESERVE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_EXTENSION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_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_TYPE_ABSTRACT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_MIXED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_FIXED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_INTERNAL_RESOLVED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ANY_SKIP' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_LIST' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_ABSENT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_FINAL_RESTRICTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_WILDCARD_COMPLETE' 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_ANYATTR_SKIP' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ANYATTR_STRICT' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANY_LAX' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_FINAL_RESTRICTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_HAS_FACETS' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_FINAL_EXTENSION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_NORMVALUENEEDED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_FINAL_ABSENT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_EXTENSION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_INTERNAL_INVALID' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTRGROUP_HAS_REFS' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_ABSTRACT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_FINAL_UNION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_FINAL_DEFAULT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_FACETSNEEDVALUE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_UNION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_REPLACE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_DEFAULT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_MARKED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_ABSENT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ANY_SKIP' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ANY_STRICT' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTRGROUP_GLOBAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTRGROUP_HAS_REFS' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTRGROUP_MARKED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTRGROUP_REDEFINED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_FIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_GLOBAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_INTERNAL_RESOLVED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_NSDEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_USE_OPTIONAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_USE_PROHIBITED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_USE_REQUIRED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_ABSTRACT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_ABSENT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_CIRCULAR' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_FINAL_ABSENT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_FINAL_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_FINAL_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_FIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_GLOBAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_INTERNAL_CHECKED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_INTERNAL_RESOLVED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_NILLABLE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_NSDEFAULT' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_REF' type='macro'/>
-     <exports symbol='XML_SCHEMA_EXTRA_QNAMEREF' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_EXTENSION' 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_HEXBINARY' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_UNION' type='enum'/>
-     <exports symbol='XML_SCHEMAS_UNKNOWN' type='enum'/>
-     <exports symbol='XML_SCHEMAS_UINT' type='enum'/>
-     <exports symbol='XML_SCHEMAS_NPINTEGER' type='enum'/>
-     <exports symbol='XML_SCHEMAS_GMONTHDAY' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_MAXEXCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ULONG' type='enum'/>
-     <exports symbol='XML_SCHEMAS_PINTEGER' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_CHOICE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_DECIMAL' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_UR' type='enum'/>
-     <exports symbol='XML_SCHEMAS_DOUBLE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_NINTEGER' type='enum'/>
-     <exports symbol='XML_SCHEMAS_NORMSTRING' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_PARTICLE' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_SIMPLE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_NCNAME' type='enum'/>
-     <exports symbol='XML_SCHEMAS_LONG' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ANY_ATTRIBUTE' 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_SCHEMAS_GYEARMONTH' type='enum'/>
-     <exports symbol='XML_SCHEMAS_BASE64BINARY' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_FRACTIONDIGITS' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_WHITESPACE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_IDREF' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTE' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_TOTALDIGITS' type='enum'/>
-     <exports symbol='XML_SCHEMAS_QNAME' type='enum'/>
-     <exports symbol='XML_SCHEMAS_TOKEN' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_BASIC' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_ENUMERATION' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_UNKNOWN' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_MININCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_GMONTH' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_ELEMENTS' type='enum'/>
-     <exports symbol='XML_SCHEMAS_GYEAR' type='enum'/>
-     <exports symbol='XML_SCHEMA_EXTRA_ATTR_USE_PROHIB' type='enum'/>
-     <exports symbol='XML_SCHEMAS_BYTE' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ALL' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_IDC_KEYREF' type='enum'/>
-     <exports symbol='XML_SCHEMAS_NOTATION' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_MAXINCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_NAME' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_LIST' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTE_USE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_GDAY' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ANY' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ANYURI' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_COMPLEX' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTEGROUP' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_BASIC' type='enum'/>
-     <exports symbol='XML_SCHEMAS_IDREFS' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_IDC_UNIQUE' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_LENGTH' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_SIMPLE' 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_ELEM_SUBST_GROUP_HEAD' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_TOPLEVEL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FACET_COLLAPSE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FACET_PRESERVE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FACET_REPLACE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FACET_UNKNOWN' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_LIST' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_UNION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_INCLUDING_CONVERT_NS' type='macro'/>
+     <exports symbol='XML_SCHEMAS_QUALIF_ATTR' type='macro'/>
+     <exports symbol='XML_SCHEMAS_QUALIF_ELEM' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_ABSTRACT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FACETSNEEDVALUE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_LIST' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_UNION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FIXUP_1' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_GLOBAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_HAS_FACETS' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_INTERNAL_INVALID' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_INTERNAL_RESOLVED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_MARKED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_MIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_NORMVALUENEEDED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_REDEFINED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_ABSENT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_ATOMIC' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_LIST' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_UNION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_WHITESPACE_REPLACE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_WILDCARD_COMPLETE' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANYSIMPLETYPE' 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_SCHEMAS_USHORT' type='enum'/>
-     <exports symbol='XML_SCHEMAS_INTEGER' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_COMPLEX_CONTENT' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_MINEXCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_IDC_KEY' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_SIMPLE_CONTENT' type='enum'/>
-     <exports symbol='XML_SCHEMAS_FLOAT' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ENTITIES' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ANYURI' type='enum'/>
+     <exports symbol='XML_SCHEMAS_BASE64BINARY' type='enum'/>
+     <exports symbol='XML_SCHEMAS_BOOLEAN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_BYTE' type='enum'/>
      <exports symbol='XML_SCHEMAS_DATE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_STRING' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DATETIME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DECIMAL' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DOUBLE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DURATION' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ENTITIES' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ENTITY' type='enum'/>
+     <exports symbol='XML_SCHEMAS_FLOAT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GDAY' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GMONTH' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GMONTHDAY' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GYEAR' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GYEARMONTH' type='enum'/>
+     <exports symbol='XML_SCHEMAS_HEXBINARY' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ID' type='enum'/>
+     <exports symbol='XML_SCHEMAS_IDREF' type='enum'/>
+     <exports symbol='XML_SCHEMAS_IDREFS' type='enum'/>
      <exports symbol='XML_SCHEMAS_INT' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_NOTATION' type='enum'/>
+     <exports symbol='XML_SCHEMAS_INTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_LANGUAGE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_LONG' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NAME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NCNAME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NINTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NMTOKEN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NMTOKENS' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NNINTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NORMSTRING' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NOTATION' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NPINTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_PINTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_QNAME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_SHORT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_STRING' type='enum'/>
+     <exports symbol='XML_SCHEMAS_TIME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_TOKEN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_UBYTE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_UINT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ULONG' type='enum'/>
+     <exports symbol='XML_SCHEMAS_UNKNOWN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_USHORT' type='enum'/>
      <exports symbol='XML_SCHEMA_CONTENT_ANY' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_BASIC' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_ELEMENTS' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_MIXED' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_SIMPLE' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_UNKNOWN' type='enum'/>
+     <exports symbol='XML_SCHEMA_EXTRA_ATTR_USE_PROHIB' type='enum'/>
+     <exports symbol='XML_SCHEMA_EXTRA_QNAMEREF' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_ENUMERATION' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_FRACTIONDIGITS' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_LENGTH' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_MAXEXCLUSIVE' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_MAXINCLUSIVE' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_MAXLENGTH' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_MINEXCLUSIVE' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_MININCLUSIVE' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_MINLENGTH' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_PATTERN' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_TOTALDIGITS' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_WHITESPACE' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ALL' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ANY' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ANY_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTEGROUP' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTE_USE' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_BASIC' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_CHOICE' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_COMPLEX' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_COMPLEX_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ELEMENT' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_EXTENSION' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_FACET' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_GROUP' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_IDC_KEY' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_IDC_KEYREF' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_IDC_UNIQUE' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_LIST' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_NOTATION' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_PARTICLE' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_RESTRICTION' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_SEQUENCE' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ELEMENT' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_MAXLENGTH' type='enum'/>
-     <exports symbol='xmlSchemaAttributeGroupPtr' type='typedef'/>
-     <exports symbol='xmlSchemaElementPtr' type='typedef'/>
-     <exports symbol='xmlSchemaFacetLinkPtr' type='typedef'/>
-     <exports symbol='xmlSchemaVal' type='typedef'/>
-     <exports symbol='xmlSchemaAttributeLinkPtr' type='typedef'/>
-     <exports symbol='xmlSchemaType' type='typedef'/>
+     <exports symbol='XML_SCHEMA_TYPE_SIMPLE' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_SIMPLE_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_UNION' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_UR' type='enum'/>
      <exports symbol='xmlSchemaAnnot' type='typedef'/>
      <exports symbol='xmlSchemaAnnotPtr' type='typedef'/>
-     <exports symbol='xmlSchemaElement' type='typedef'/>
-     <exports symbol='xmlSchemaWildcard' type='typedef'/>
-     <exports symbol='xmlSchemaWildcardPtr' type='typedef'/>
-     <exports symbol='xmlSchemaFacetPtr' type='typedef'/>
-     <exports symbol='xmlSchemaTypeLink' type='typedef'/>
-     <exports symbol='xmlSchemaAttributeLink' type='typedef'/>
-     <exports symbol='xmlSchemaValPtr' type='typedef'/>
-     <exports symbol='xmlSchemaFacetLink' type='typedef'/>
-     <exports symbol='xmlSchemaWildcardNsPtr' type='typedef'/>
-     <exports symbol='xmlSchemaAttributeGroup' type='typedef'/>
-     <exports symbol='xmlSchemaTypeLinkPtr' type='typedef'/>
-     <exports symbol='xmlSchemaWildcardNs' type='typedef'/>
-     <exports symbol='xmlSchemaAttributePtr' type='typedef'/>
-     <exports symbol='xmlSchemaNotationPtr' type='typedef'/>
-     <exports symbol='xmlSchemaValType' type='typedef'/>
-     <exports symbol='xmlSchemaTypePtr' type='typedef'/>
-     <exports symbol='xmlSchemaNotation' type='typedef'/>
-     <exports symbol='xmlSchemaFacet' type='typedef'/>
-     <exports symbol='xmlSchemaContentType' type='typedef'/>
-     <exports symbol='xmlSchemaTypeType' type='typedef'/>
      <exports symbol='xmlSchemaAttribute' type='typedef'/>
-     <exports symbol='_xmlSchemaWildcardNs' type='struct'/>
-     <exports symbol='_xmlSchemaNotation' type='struct'/>
-     <exports symbol='_xmlSchemaAttribute' type='struct'/>
-     <exports symbol='_xmlSchemaType' type='struct'/>
-     <exports symbol='_xmlSchemaAttributeGroup' type='struct'/>
-     <exports symbol='_xmlSchemaFacetLink' type='struct'/>
-     <exports symbol='_xmlSchemaElement' type='struct'/>
+     <exports symbol='xmlSchemaAttributeGroup' type='typedef'/>
+     <exports symbol='xmlSchemaAttributeGroupPtr' type='typedef'/>
+     <exports symbol='xmlSchemaAttributeLink' type='typedef'/>
+     <exports symbol='xmlSchemaAttributeLinkPtr' type='typedef'/>
+     <exports symbol='xmlSchemaAttributePtr' type='typedef'/>
+     <exports symbol='xmlSchemaContentType' type='typedef'/>
+     <exports symbol='xmlSchemaElement' type='typedef'/>
+     <exports symbol='xmlSchemaElementPtr' type='typedef'/>
+     <exports symbol='xmlSchemaFacet' type='typedef'/>
+     <exports symbol='xmlSchemaFacetLink' type='typedef'/>
+     <exports symbol='xmlSchemaFacetLinkPtr' type='typedef'/>
+     <exports symbol='xmlSchemaFacetPtr' type='typedef'/>
+     <exports symbol='xmlSchemaNotation' type='typedef'/>
+     <exports symbol='xmlSchemaNotationPtr' type='typedef'/>
+     <exports symbol='xmlSchemaType' type='typedef'/>
+     <exports symbol='xmlSchemaTypeLink' type='typedef'/>
+     <exports symbol='xmlSchemaTypeLinkPtr' type='typedef'/>
+     <exports symbol='xmlSchemaTypePtr' type='typedef'/>
+     <exports symbol='xmlSchemaTypeType' type='typedef'/>
+     <exports symbol='xmlSchemaVal' type='typedef'/>
+     <exports symbol='xmlSchemaValPtr' type='typedef'/>
+     <exports symbol='xmlSchemaValType' type='typedef'/>
+     <exports symbol='xmlSchemaWildcard' type='typedef'/>
+     <exports symbol='xmlSchemaWildcardNs' type='typedef'/>
+     <exports symbol='xmlSchemaWildcardNsPtr' type='typedef'/>
+     <exports symbol='xmlSchemaWildcardPtr' type='typedef'/>
      <exports symbol='_xmlSchema' type='struct'/>
-     <exports symbol='_xmlSchemaAttributeLink' type='struct'/>
-     <exports symbol='_xmlSchemaFacet' type='struct'/>
-     <exports symbol='_xmlSchemaWildcard' type='struct'/>
-     <exports symbol='_xmlSchemaTypeLink' type='struct'/>
      <exports symbol='_xmlSchemaAnnot' type='struct'/>
+     <exports symbol='_xmlSchemaAttribute' type='struct'/>
+     <exports symbol='_xmlSchemaAttributeGroup' type='struct'/>
+     <exports symbol='_xmlSchemaAttributeLink' type='struct'/>
+     <exports symbol='_xmlSchemaElement' type='struct'/>
+     <exports symbol='_xmlSchemaFacet' type='struct'/>
+     <exports symbol='_xmlSchemaFacetLink' type='struct'/>
+     <exports symbol='_xmlSchemaNotation' type='struct'/>
+     <exports symbol='_xmlSchemaType' type='struct'/>
+     <exports symbol='_xmlSchemaTypeLink' type='struct'/>
+     <exports symbol='_xmlSchemaWildcard' type='struct'/>
+     <exports symbol='_xmlSchemaWildcardNs' type='struct'/>
      <exports symbol='xmlSchemaFreeType' type='function'/>
      <exports symbol='xmlSchemaFreeWildcard' type='function'/>
     </file>
     <file name='schematron'>
-     <summary>XML Schemastron implementation</summary>
+     <summary>XML Schematron implementation</summary>
      <description>interface to the XML Schematron validity checking. </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_SCHEMATRON_OUT_IO' type='enum'/>
-     <exports symbol='XML_SCHEMATRON_OUT_ERROR' type='enum'/>
      <exports symbol='XML_SCHEMATRON_OUT_BUFFER' type='enum'/>
+     <exports symbol='XML_SCHEMATRON_OUT_ERROR' type='enum'/>
      <exports symbol='XML_SCHEMATRON_OUT_FILE' type='enum'/>
-     <exports symbol='XML_SCHEMATRON_OUT_XML' type='enum'/>
-     <exports symbol='XML_SCHEMATRON_OUT_TEXT' type='enum'/>
+     <exports symbol='XML_SCHEMATRON_OUT_IO' type='enum'/>
      <exports symbol='XML_SCHEMATRON_OUT_QUIET' type='enum'/>
-     <exports symbol='xmlSchematronValidCtxt' type='typedef'/>
-     <exports symbol='xmlSchematronValidOptions' type='typedef'/>
-     <exports symbol='xmlSchematronPtr' type='typedef'/>
-     <exports symbol='xmlSchematronParserCtxt' type='typedef'/>
+     <exports symbol='XML_SCHEMATRON_OUT_TEXT' type='enum'/>
+     <exports symbol='XML_SCHEMATRON_OUT_XML' type='enum'/>
      <exports symbol='xmlSchematron' type='typedef'/>
-     <exports symbol='xmlSchematronValidCtxtPtr' type='typedef'/>
+     <exports symbol='xmlSchematronParserCtxt' type='typedef'/>
      <exports symbol='xmlSchematronParserCtxtPtr' type='typedef'/>
-     <exports symbol='xmlSchematronValidateDoc' type='function'/>
-     <exports symbol='xmlSchematronFreeParserCtxt' type='function'/>
-     <exports symbol='xmlSchematronNewMemParserCtxt' type='function'/>
-     <exports symbol='xmlSchematronValidityErrorFunc' type='function'/>
-     <exports symbol='xmlSchematronNewParserCtxt' type='function'/>
-     <exports symbol='xmlSchematronValidityWarningFunc' type='function'/>
+     <exports symbol='xmlSchematronPtr' type='typedef'/>
+     <exports symbol='xmlSchematronValidCtxt' type='typedef'/>
+     <exports symbol='xmlSchematronValidCtxtPtr' type='typedef'/>
+     <exports symbol='xmlSchematronValidOptions' type='typedef'/>
      <exports symbol='xmlSchematronFree' type='function'/>
-     <exports symbol='xmlSchematronSetValidStructuredErrors' type='function'/>
+     <exports symbol='xmlSchematronFreeParserCtxt' type='function'/>
      <exports symbol='xmlSchematronFreeValidCtxt' type='function'/>
-     <exports symbol='xmlSchematronParse' type='function'/>
      <exports symbol='xmlSchematronNewDocParserCtxt' type='function'/>
+     <exports symbol='xmlSchematronNewMemParserCtxt' type='function'/>
+     <exports symbol='xmlSchematronNewParserCtxt' type='function'/>
      <exports symbol='xmlSchematronNewValidCtxt' type='function'/>
+     <exports symbol='xmlSchematronParse' type='function'/>
+     <exports symbol='xmlSchematronSetValidStructuredErrors' type='function'/>
+     <exports symbol='xmlSchematronValidateDoc' type='function'/>
+     <exports symbol='xmlSchematronValidityErrorFunc' type='function'/>
+     <exports symbol='xmlSchematronValidityWarningFunc' type='function'/>
     </file>
     <file name='threads'>
      <summary>interfaces for thread handling</summary>
      <description>set of generic threading related routines should work with pthreads, Windows native or TLS threads </description>
      <author>Daniel Veillard </author>
      <exports symbol='xmlMutex' type='typedef'/>
+     <exports symbol='xmlMutexPtr' type='typedef'/>
      <exports symbol='xmlRMutex' type='typedef'/>
      <exports symbol='xmlRMutexPtr' type='typedef'/>
-     <exports symbol='xmlMutexPtr' type='typedef'/>
-     <exports symbol='xmlFreeRMutex' type='function'/>
-     <exports symbol='xmlGetThreadId' type='function'/>
-     <exports symbol='xmlMutexUnlock' type='function'/>
      <exports symbol='xmlCleanupThreads' type='function'/>
-     <exports symbol='xmlLockLibrary' type='function'/>
-     <exports symbol='xmlNewRMutex' type='function'/>
-     <exports symbol='xmlMutexLock' type='function'/>
-     <exports symbol='xmlIsMainThread' type='function'/>
-     <exports symbol='xmlRMutexUnlock' type='function'/>
-     <exports symbol='xmlGetGlobalState' type='function'/>
-     <exports symbol='xmlNewMutex' type='function'/>
-     <exports symbol='xmlDllMain' type='function'/>
      <exports symbol='xmlFreeMutex' type='function'/>
-     <exports symbol='xmlUnlockLibrary' type='function'/>
+     <exports symbol='xmlFreeRMutex' type='function'/>
+     <exports symbol='xmlGetGlobalState' type='function'/>
+     <exports symbol='xmlGetThreadId' type='function'/>
      <exports symbol='xmlInitThreads' type='function'/>
+     <exports symbol='xmlIsMainThread' type='function'/>
+     <exports symbol='xmlLockLibrary' type='function'/>
+     <exports symbol='xmlMutexLock' type='function'/>
+     <exports symbol='xmlMutexUnlock' type='function'/>
+     <exports symbol='xmlNewMutex' type='function'/>
+     <exports symbol='xmlNewRMutex' type='function'/>
      <exports symbol='xmlRMutexLock' type='function'/>
+     <exports symbol='xmlRMutexUnlock' type='function'/>
+     <exports symbol='xmlUnlockLibrary' type='function'/>
     </file>
     <file name='tree'>
      <summary>interfaces for tree manipulation</summary>
      <description>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_LOCAL_NAMESPACE' type='macro'/>
      <exports symbol='BASE_BUFFER_SIZE' type='macro'/>
-     <exports symbol='XML_XML_ID' type='macro'/>
-     <exports symbol='xmlRootNode' type='macro'/>
-     <exports symbol='XML_GET_LINE' type='macro'/>
-     <exports symbol='XML_GET_CONTENT' type='macro'/>
-     <exports symbol='xmlChildrenNode' type='macro'/>
-     <exports symbol='XML_XML_NAMESPACE' type='macro'/>
      <exports symbol='LIBXML2_NEW_BUFFER' type='macro'/>
-     <exports symbol='XML_ATTRIBUTE_IMPLIED' type='enum'/>
-     <exports symbol='XML_ELEMENT_CONTENT_ELEMENT' type='enum'/>
-     <exports symbol='XML_ENTITY_REF_NODE' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_IDREFS' type='enum'/>
-     <exports symbol='XML_BUFFER_ALLOC_DOUBLEIT' type='enum'/>
-     <exports symbol='XML_XINCLUDE_END' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_NODE' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_NMTOKENS' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_IDREF' type='enum'/>
-     <exports symbol='XML_ELEMENT_TYPE_ELEMENT' type='enum'/>
-     <exports symbol='XML_TEXT_NODE' type='enum'/>
-     <exports symbol='XML_CDATA_SECTION_NODE' type='enum'/>
-     <exports symbol='XML_ELEMENT_NODE' type='enum'/>
-     <exports symbol='XML_ELEMENT_DECL' type='enum'/>
-     <exports symbol='XML_DOC_USERBUILT' type='enum'/>
-     <exports symbol='XML_DOC_INTERNAL' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_REQUIRED' type='enum'/>
-     <exports symbol='XML_DOCUMENT_FRAG_NODE' type='enum'/>
-     <exports symbol='XML_DOC_DTDVALID' type='enum'/>
-     <exports symbol='XML_ELEMENT_TYPE_ANY' type='enum'/>
-     <exports symbol='XML_DOC_NSVALID' type='enum'/>
-     <exports symbol='XML_BUFFER_ALLOC_BOUNDED' type='enum'/>
-     <exports symbol='XML_ELEMENT_CONTENT_PCDATA' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_FIXED' type='enum'/>
-     <exports symbol='XML_DOCUMENT_TYPE_NODE' type='enum'/>
-     <exports symbol='XML_DOC_HTML' type='enum'/>
-     <exports symbol='XML_ELEMENT_CONTENT_ONCE' type='enum'/>
-     <exports symbol='XML_NAMESPACE_DECL' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_NOTATION' type='enum'/>
-     <exports symbol='XML_ELEMENT_TYPE_MIXED' type='enum'/>
-     <exports symbol='XML_XINCLUDE_START' type='enum'/>
-     <exports symbol='XML_BUFFER_ALLOC_HYBRID' type='enum'/>
-     <exports symbol='XML_DOC_XINCLUDE' type='enum'/>
-     <exports symbol='XML_BUFFER_ALLOC_EXACT' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_ENTITIES' type='enum'/>
-     <exports symbol='XML_BUFFER_ALLOC_IMMUTABLE' type='enum'/>
-     <exports symbol='XML_NOTATION_NODE' type='enum'/>
-     <exports symbol='XML_ELEMENT_CONTENT_SEQ' type='enum'/>
-     <exports symbol='XML_ELEMENT_TYPE_EMPTY' type='enum'/>
-     <exports symbol='XML_ELEMENT_CONTENT_OPT' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_ENUMERATION' type='enum'/>
-     <exports symbol='XML_DOC_OLD10' type='enum'/>
-     <exports symbol='XML_HTML_DOCUMENT_NODE' type='enum'/>
-     <exports symbol='XML_ELEMENT_TYPE_UNDEFINED' type='enum'/>
-     <exports symbol='XML_DOCUMENT_NODE' type='enum'/>
-     <exports symbol='XML_DOCB_DOCUMENT_NODE' type='enum'/>
-     <exports symbol='XML_COMMENT_NODE' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_NONE' type='enum'/>
-     <exports symbol='XML_DTD_NODE' type='enum'/>
-     <exports symbol='XML_ELEMENT_CONTENT_OR' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_NMTOKEN' type='enum'/>
-     <exports symbol='XML_PI_NODE' type='enum'/>
-     <exports symbol='XML_BUFFER_ALLOC_IO' type='enum'/>
-     <exports symbol='XML_ENTITY_NODE' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_ENTITY' type='enum'/>
-     <exports symbol='XML_DOC_WELLFORMED' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_DECL' type='enum'/>
-     <exports symbol='XML_ENTITY_DECL' type='enum'/>
-     <exports symbol='XML_ATTRIBUTE_ID' type='enum'/>
+     <exports symbol='XML_GET_CONTENT' type='macro'/>
+     <exports symbol='XML_GET_LINE' type='macro'/>
+     <exports symbol='XML_LOCAL_NAMESPACE' type='macro'/>
+     <exports symbol='XML_XML_ID' type='macro'/>
+     <exports symbol='XML_XML_NAMESPACE' type='macro'/>
+     <exports symbol='xmlChildrenNode' type='macro'/>
+     <exports symbol='xmlRootNode' type='macro'/>
      <exports symbol='XML_ATTRIBUTE_CDATA' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_DECL' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_ENTITIES' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_ENTITY' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_ENUMERATION' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_FIXED' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_ID' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_IDREF' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_IDREFS' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_IMPLIED' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_NMTOKEN' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_NMTOKENS' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_NODE' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_NONE' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_NOTATION' type='enum'/>
+     <exports symbol='XML_ATTRIBUTE_REQUIRED' type='enum'/>
+     <exports symbol='XML_BUFFER_ALLOC_BOUNDED' type='enum'/>
+     <exports symbol='XML_BUFFER_ALLOC_DOUBLEIT' type='enum'/>
+     <exports symbol='XML_BUFFER_ALLOC_EXACT' type='enum'/>
+     <exports symbol='XML_BUFFER_ALLOC_HYBRID' type='enum'/>
+     <exports symbol='XML_BUFFER_ALLOC_IMMUTABLE' type='enum'/>
+     <exports symbol='XML_BUFFER_ALLOC_IO' type='enum'/>
+     <exports symbol='XML_CDATA_SECTION_NODE' type='enum'/>
+     <exports symbol='XML_COMMENT_NODE' type='enum'/>
+     <exports symbol='XML_DOCUMENT_FRAG_NODE' type='enum'/>
+     <exports symbol='XML_DOCUMENT_NODE' type='enum'/>
+     <exports symbol='XML_DOCUMENT_TYPE_NODE' type='enum'/>
+     <exports symbol='XML_DOC_DTDVALID' type='enum'/>
+     <exports symbol='XML_DOC_HTML' type='enum'/>
+     <exports symbol='XML_DOC_INTERNAL' type='enum'/>
+     <exports symbol='XML_DOC_NSVALID' type='enum'/>
+     <exports symbol='XML_DOC_OLD10' type='enum'/>
+     <exports symbol='XML_DOC_USERBUILT' type='enum'/>
+     <exports symbol='XML_DOC_WELLFORMED' type='enum'/>
+     <exports symbol='XML_DOC_XINCLUDE' type='enum'/>
+     <exports symbol='XML_DTD_NODE' type='enum'/>
+     <exports symbol='XML_ELEMENT_CONTENT_ELEMENT' type='enum'/>
      <exports symbol='XML_ELEMENT_CONTENT_MULT' type='enum'/>
+     <exports symbol='XML_ELEMENT_CONTENT_ONCE' type='enum'/>
+     <exports symbol='XML_ELEMENT_CONTENT_OPT' type='enum'/>
+     <exports symbol='XML_ELEMENT_CONTENT_OR' type='enum'/>
+     <exports symbol='XML_ELEMENT_CONTENT_PCDATA' type='enum'/>
      <exports symbol='XML_ELEMENT_CONTENT_PLUS' type='enum'/>
-     <exports symbol='xmlNs' type='typedef'/>
-     <exports symbol='xmlElementContent' type='typedef'/>
-     <exports symbol='xmlEnumerationPtr' type='typedef'/>
-     <exports symbol='xmlBuffer' type='typedef'/>
-     <exports symbol='xmlParserInputPtr' type='typedef'/>
-     <exports symbol='xmlSAXLocatorPtr' type='typedef'/>
-     <exports symbol='xmlParserInput' type='typedef'/>
-     <exports symbol='xmlElement' type='typedef'/>
-     <exports symbol='xmlNsType' type='typedef'/>
-     <exports symbol='xmlBufferAllocationScheme' type='typedef'/>
-     <exports symbol='xmlNode' type='typedef'/>
-     <exports symbol='xmlDocPtr' type='typedef'/>
-     <exports symbol='xmlBufferPtr' type='typedef'/>
-     <exports symbol='xmlDOMWrapCtxtPtr' type='typedef'/>
-     <exports symbol='xmlRefPtr' type='typedef'/>
-     <exports symbol='xmlParserInputBuffer' type='typedef'/>
-     <exports symbol='xmlRef' type='typedef'/>
-     <exports symbol='xmlDOMWrapCtxt' type='typedef'/>
-     <exports symbol='xmlNodePtr' type='typedef'/>
-     <exports symbol='xmlParserCtxt' type='typedef'/>
-     <exports symbol='xmlDtdPtr' type='typedef'/>
-     <exports symbol='xmlAttributeDefault' type='typedef'/>
-     <exports symbol='xmlBuf' type='typedef'/>
-     <exports symbol='xmlNotation' type='typedef'/>
-     <exports symbol='xmlElementType' type='typedef'/>
-     <exports symbol='xmlEntity' type='typedef'/>
+     <exports symbol='XML_ELEMENT_CONTENT_SEQ' type='enum'/>
+     <exports symbol='XML_ELEMENT_DECL' type='enum'/>
+     <exports symbol='XML_ELEMENT_NODE' type='enum'/>
+     <exports symbol='XML_ELEMENT_TYPE_ANY' type='enum'/>
+     <exports symbol='XML_ELEMENT_TYPE_ELEMENT' type='enum'/>
+     <exports symbol='XML_ELEMENT_TYPE_EMPTY' type='enum'/>
+     <exports symbol='XML_ELEMENT_TYPE_MIXED' type='enum'/>
+     <exports symbol='XML_ELEMENT_TYPE_UNDEFINED' type='enum'/>
+     <exports symbol='XML_ENTITY_DECL' type='enum'/>
+     <exports symbol='XML_ENTITY_NODE' type='enum'/>
+     <exports symbol='XML_ENTITY_REF_NODE' type='enum'/>
+     <exports symbol='XML_HTML_DOCUMENT_NODE' type='enum'/>
+     <exports symbol='XML_NAMESPACE_DECL' type='enum'/>
+     <exports symbol='XML_NOTATION_NODE' type='enum'/>
+     <exports symbol='XML_PI_NODE' type='enum'/>
+     <exports symbol='XML_TEXT_NODE' type='enum'/>
+     <exports symbol='XML_XINCLUDE_END' type='enum'/>
+     <exports symbol='XML_XINCLUDE_START' type='enum'/>
      <exports symbol='xmlAttr' type='typedef'/>
-     <exports symbol='xmlAttributePtr' type='typedef'/>
-     <exports symbol='xmlElementTypeVal' type='typedef'/>
-     <exports symbol='xmlNotationPtr' type='typedef'/>
-     <exports symbol='xmlElementPtr' type='typedef'/>
-     <exports symbol='xmlBufPtr' type='typedef'/>
-     <exports symbol='xmlElementContentOccur' type='typedef'/>
      <exports symbol='xmlAttrPtr' type='typedef'/>
-     <exports symbol='xmlDoc' type='typedef'/>
-     <exports symbol='xmlID' type='typedef'/>
-     <exports symbol='xmlParserCtxtPtr' type='typedef'/>
-     <exports symbol='xmlEntityPtr' type='typedef'/>
-     <exports symbol='xmlEnumeration' type='typedef'/>
+     <exports symbol='xmlAttribute' type='typedef'/>
+     <exports symbol='xmlAttributeDefault' type='typedef'/>
+     <exports symbol='xmlAttributePtr' type='typedef'/>
      <exports symbol='xmlAttributeType' type='typedef'/>
-     <exports symbol='xmlNsPtr' type='typedef'/>
-     <exports symbol='xmlParserInputBufferPtr' type='typedef'/>
-     <exports symbol='xmlSAXHandler' type='typedef'/>
-     <exports symbol='xmlOutputBuffer' type='typedef'/>
-     <exports symbol='xmlSAXLocator' type='typedef'/>
+     <exports symbol='xmlBuf' type='typedef'/>
+     <exports symbol='xmlBufPtr' type='typedef'/>
+     <exports symbol='xmlBuffer' type='typedef'/>
+     <exports symbol='xmlBufferAllocationScheme' type='typedef'/>
+     <exports symbol='xmlBufferPtr' type='typedef'/>
+     <exports symbol='xmlDOMWrapCtxt' type='typedef'/>
+     <exports symbol='xmlDOMWrapCtxtPtr' type='typedef'/>
+     <exports symbol='xmlDoc' type='typedef'/>
+     <exports symbol='xmlDocProperties' type='typedef'/>
+     <exports symbol='xmlDocPtr' type='typedef'/>
+     <exports symbol='xmlDtd' type='typedef'/>
+     <exports symbol='xmlDtdPtr' type='typedef'/>
+     <exports symbol='xmlElement' type='typedef'/>
+     <exports symbol='xmlElementContent' type='typedef'/>
+     <exports symbol='xmlElementContentOccur' type='typedef'/>
      <exports symbol='xmlElementContentPtr' type='typedef'/>
      <exports symbol='xmlElementContentType' type='typedef'/>
-     <exports symbol='xmlDocProperties' type='typedef'/>
+     <exports symbol='xmlElementPtr' type='typedef'/>
+     <exports symbol='xmlElementType' type='typedef'/>
+     <exports symbol='xmlElementTypeVal' type='typedef'/>
+     <exports symbol='xmlEntity' type='typedef'/>
+     <exports symbol='xmlEntityPtr' type='typedef'/>
+     <exports symbol='xmlEnumeration' type='typedef'/>
+     <exports symbol='xmlEnumerationPtr' type='typedef'/>
+     <exports symbol='xmlID' type='typedef'/>
      <exports symbol='xmlIDPtr' type='typedef'/>
-     <exports symbol='xmlDtd' type='typedef'/>
-     <exports symbol='xmlAttribute' type='typedef'/>
+     <exports symbol='xmlNode' type='typedef'/>
+     <exports symbol='xmlNodePtr' type='typedef'/>
+     <exports symbol='xmlNotation' type='typedef'/>
+     <exports symbol='xmlNotationPtr' type='typedef'/>
+     <exports symbol='xmlNs' type='typedef'/>
+     <exports symbol='xmlNsPtr' type='typedef'/>
+     <exports symbol='xmlNsType' type='typedef'/>
+     <exports symbol='xmlOutputBuffer' type='typedef'/>
      <exports symbol='xmlOutputBufferPtr' type='typedef'/>
+     <exports symbol='xmlParserCtxt' type='typedef'/>
+     <exports symbol='xmlParserCtxtPtr' type='typedef'/>
+     <exports symbol='xmlParserInput' type='typedef'/>
+     <exports symbol='xmlParserInputBuffer' type='typedef'/>
+     <exports symbol='xmlParserInputBufferPtr' type='typedef'/>
+     <exports symbol='xmlParserInputPtr' type='typedef'/>
+     <exports symbol='xmlRef' type='typedef'/>
+     <exports symbol='xmlRefPtr' type='typedef'/>
+     <exports symbol='xmlSAXHandler' type='typedef'/>
      <exports symbol='xmlSAXHandlerPtr' type='typedef'/>
-     <exports symbol='_xmlBuffer' type='struct'/>
-     <exports symbol='_xmlAttribute' type='struct'/>
-     <exports symbol='_xmlEnumeration' type='struct'/>
-     <exports symbol='_xmlNs' type='struct'/>
-     <exports symbol='_xmlNode' type='struct'/>
-     <exports symbol='_xmlDoc' type='struct'/>
-     <exports symbol='_xmlElement' type='struct'/>
-     <exports symbol='_xmlID' type='struct'/>
-     <exports symbol='_xmlNotation' type='struct'/>
-     <exports symbol='_xmlDtd' type='struct'/>
-     <exports symbol='_xmlRef' type='struct'/>
+     <exports symbol='xmlSAXLocator' type='typedef'/>
+     <exports symbol='xmlSAXLocatorPtr' type='typedef'/>
      <exports symbol='_xmlAttr' type='struct'/>
+     <exports symbol='_xmlAttribute' type='struct'/>
+     <exports symbol='_xmlBuffer' type='struct'/>
      <exports symbol='_xmlDOMWrapCtxt' type='struct'/>
+     <exports symbol='_xmlDoc' type='struct'/>
+     <exports symbol='_xmlDtd' type='struct'/>
+     <exports symbol='_xmlElement' type='struct'/>
      <exports symbol='_xmlElementContent' type='struct'/>
-     <exports symbol='xmlDocCopyNode' type='function'/>
-     <exports symbol='xmlNewDocRawNode' type='function'/>
-     <exports symbol='xmlBufContent' type='function'/>
-     <exports symbol='xmlNewNsPropEatName' type='function'/>
-     <exports symbol='xmlStringGetNodeList' type='function'/>
-     <exports symbol='xmlNewCDataBlock' type='function'/>
-     <exports symbol='xmlBufferWriteCHAR' type='function'/>
-     <exports symbol='xmlNodeGetBase' type='function'/>
-     <exports symbol='xmlBufferEmpty' type='function'/>
-     <exports symbol='xmlBuildQName' type='function'/>
-     <exports symbol='xmlValidateNMToken' type='function'/>
-     <exports symbol='xmlSaveFormatFileEnc' type='function'/>
-     <exports symbol='xmlAddSibling' type='function'/>
-     <exports symbol='xmlBufferCreate' type='function'/>
-     <exports symbol='xmlNewDocFragment' type='function'/>
-     <exports symbol='xmlDocGetRootElement' type='function'/>
-     <exports symbol='xmlGetProp' type='function'/>
-     <exports symbol='xmlValidateName' type='function'/>
-     <exports symbol='xmlBufEnd' type='function'/>
-     <exports symbol='xmlValidateQName' type='function'/>
-     <exports symbol='xmlHasNsProp' type='function'/>
-     <exports symbol='xmlAddPrevSibling' type='function'/>
-     <exports symbol='xmlBufferAddHead' type='function'/>
-     <exports symbol='xmlNewPI' type='function'/>
-     <exports symbol='xmlDocDumpFormatMemoryEnc' type='function'/>
-     <exports symbol='xmlSetProp' type='function'/>
-     <exports symbol='xmlChildElementCount' type='function'/>
-     <exports symbol='xmlElemDump' type='function'/>
-     <exports symbol='xmlSaveFormatFileTo' type='function'/>
-     <exports symbol='xmlGetIntSubset' type='function'/>
-     <exports symbol='xmlNodeBufGetContent' type='function'/>
-     <exports symbol='xmlNextElementSibling' type='function'/>
-     <exports symbol='xmlBufferWriteChar' type='function'/>
-     <exports symbol='xmlBufferFree' type='function'/>
-     <exports symbol='xmlDOMWrapCloneNode' type='function'/>
-     <exports symbol='xmlNewNode' type='function'/>
-     <exports symbol='xmlSaveFileTo' type='function'/>
-     <exports symbol='xmlNewTextLen' type='function'/>
-     <exports symbol='xmlNewTextChild' type='function'/>
-     <exports symbol='xmlNodeSetContent' type='function'/>
-     <exports symbol='xmlBufferAdd' type='function'/>
-     <exports symbol='xmlNodeDumpOutput' type='function'/>
-     <exports symbol='xmlCopyNamespace' type='function'/>
-     <exports symbol='xmlSearchNsByHref' type='function'/>
+     <exports symbol='_xmlEnumeration' type='struct'/>
+     <exports symbol='_xmlID' type='struct'/>
+     <exports symbol='_xmlNode' type='struct'/>
+     <exports symbol='_xmlNotation' type='struct'/>
+     <exports symbol='_xmlNs' type='struct'/>
+     <exports symbol='_xmlRef' type='struct'/>
      <exports symbol='xmlAddChild' type='function'/>
-     <exports symbol='xmlReconciliateNs' type='function'/>
-     <exports symbol='xmlValidateNCName' type='function'/>
-     <exports symbol='xmlNewDocComment' type='function'/>
-     <exports symbol='xmlGetCompressMode' type='function'/>
-     <exports symbol='xmlNodeDump' type='function'/>
-     <exports symbol='xmlBufferCreateSize' type='function'/>
-     <exports symbol='xmlNodeListGetString' type='function'/>
-     <exports symbol='xmlSetCompressMode' type='function'/>
-     <exports symbol='xmlSetTreeDoc' type='function'/>
-     <exports symbol='xmlDOMWrapAdoptNode' type='function'/>
-     <exports symbol='xmlCopyNodeList' type='function'/>
-     <exports symbol='xmlNewDocNodeEatName' type='function'/>
      <exports symbol='xmlAddChildList' type='function'/>
-     <exports symbol='xmlGetNodePath' type='function'/>
-     <exports symbol='xmlFreePropList' type='function'/>
-     <exports symbol='xmlNodeAddContent' type='function'/>
-     <exports symbol='xmlUnsetNsProp' type='function'/>
-     <exports symbol='xmlFirstElementChild' type='function'/>
      <exports symbol='xmlAddNextSibling' type='function'/>
-     <exports symbol='xmlIsBlankNode' type='function'/>
-     <exports symbol='xmlNewGlobalNs' type='function'/>
-     <exports symbol='xmlBufferDump' type='function'/>
-     <exports symbol='xmlNodeGetContent' type='function'/>
-     <exports symbol='xmlCopyDoc' type='function'/>
-     <exports symbol='xmlDOMWrapNewCtxt' type='function'/>
-     <exports symbol='xmlDocDumpMemoryEnc' type='function'/>
-     <exports symbol='xmlBufGetNodeContent' type='function'/>
-     <exports symbol='xmlTextMerge' type='function'/>
-     <exports symbol='xmlDocDumpMemory' type='function'/>
-     <exports symbol='xmlNewDocPI' type='function'/>
-     <exports symbol='xmlFreeNs' type='function'/>
-     <exports symbol='xmlDocDump' type='function'/>
-     <exports symbol='xmlFreeProp' type='function'/>
-     <exports symbol='xmlGetNoNsProp' type='function'/>
-     <exports symbol='xmlSplitQName2' type='function'/>
-     <exports symbol='xmlNewProp' type='function'/>
-     <exports symbol='xmlTextConcat' type='function'/>
-     <exports symbol='xmlNodeGetSpacePreserve' type='function'/>
-     <exports symbol='xmlBufferShrink' type='function'/>
-     <exports symbol='xmlPreviousElementSibling' type='function'/>
-     <exports symbol='xmlNodeSetContentLen' type='function'/>
-     <exports symbol='xmlNodeAddContentLen' type='function'/>
-     <exports symbol='xmlBufferWriteQuotedString' type='function'/>
-     <exports symbol='xmlCopyProp' type='function'/>
-     <exports symbol='xmlReplaceNode' type='function'/>
-     <exports symbol='xmlSetDocCompressMode' type='function'/>
-     <exports symbol='xmlCopyNode' type='function'/>
-     <exports symbol='xmlUnlinkNode' type='function'/>
-     <exports symbol='xmlSplitQName3' type='function'/>
-     <exports symbol='xmlDOMWrapAcquireNsFunction' type='function'/>
-     <exports symbol='xmlBufUse' type='function'/>
-     <exports symbol='xmlDocSetRootElement' type='function'/>
-     <exports symbol='xmlGetLineNo' type='function'/>
-     <exports symbol='xmlBufferContent' type='function'/>
-     <exports symbol='xmlRemoveProp' type='function'/>
-     <exports symbol='xmlLastElementChild' type='function'/>
-     <exports symbol='xmlNodeGetLang' type='function'/>
-     <exports symbol='xmlGetDocCompressMode' type='function'/>
-     <exports symbol='xmlBufNodeDump' type='function'/>
-     <exports symbol='xmlGetNsProp' type='function'/>
-     <exports symbol='xmlNewDocProp' type='function'/>
-     <exports symbol='xmlFreeNode' type='function'/>
-     <exports symbol='xmlNewNsProp' type='function'/>
-     <exports symbol='xmlDOMWrapFreeCtxt' type='function'/>
-     <exports symbol='xmlBufferDetach' type='function'/>
-     <exports symbol='xmlBufferSetAllocationScheme' type='function'/>
-     <exports symbol='xmlNewChild' type='function'/>
-     <exports symbol='xmlSearchNs' type='function'/>
-     <exports symbol='xmlStringLenGetNodeList' type='function'/>
-     <exports symbol='xmlSaveFormatFile' type='function'/>
-     <exports symbol='xmlCopyPropList' type='function'/>
-     <exports symbol='xmlDocFormatDump' type='function'/>
-     <exports symbol='xmlNodeSetSpacePreserve' type='function'/>
-     <exports symbol='xmlHasProp' type='function'/>
-     <exports symbol='xmlBufferCat' type='function'/>
-     <exports symbol='xmlCreateIntSubset' type='function'/>
-     <exports symbol='xmlNewDoc' type='function'/>
-     <exports symbol='xmlNewCharRef' type='function'/>
-     <exports symbol='xmlCopyNamespaceList' type='function'/>
-     <exports symbol='xmlNewNodeEatName' type='function'/>
-     <exports symbol='xmlBufferResize' type='function'/>
-     <exports symbol='xmlNodeSetBase' type='function'/>
-     <exports symbol='xmlNewComment' type='function'/>
-     <exports symbol='xmlBufferLength' type='function'/>
-     <exports symbol='xmlNewText' type='function'/>
-     <exports symbol='xmlUnsetProp' type='function'/>
-     <exports symbol='xmlGetBufferAllocationScheme' type='function'/>
-     <exports symbol='xmlSaveFile' type='function'/>
-     <exports symbol='xmlDocCopyNodeList' type='function'/>
-     <exports symbol='xmlSetNs' type='function'/>
-     <exports symbol='xmlNewNs' type='function'/>
-     <exports symbol='xmlDOMWrapRemoveNode' type='function'/>
+     <exports symbol='xmlAddPrevSibling' type='function'/>
+     <exports symbol='xmlAddSibling' type='function'/>
      <exports symbol='xmlAttrSerializeTxtContent' type='function'/>
-     <exports symbol='xmlCopyDtd' type='function'/>
-     <exports symbol='xmlNewDocText' type='function'/>
-     <exports symbol='xmlNodeListGetRawString' type='function'/>
-     <exports symbol='xmlBufferCreateStatic' type='function'/>
-     <exports symbol='xmlNewReference' type='function'/>
-     <exports symbol='xmlDOMWrapReconcileNamespaces' type='function'/>
-     <exports symbol='xmlBufferCCat' type='function'/>
-     <exports symbol='xmlGetNsList' type='function'/>
-     <exports symbol='xmlBufferGrow' type='function'/>
-     <exports symbol='xmlNodeIsText' type='function'/>
-     <exports symbol='xmlSetBufferAllocationScheme' type='function'/>
-     <exports symbol='xmlIsXHTML' type='function'/>
-     <exports symbol='xmlNodeSetLang' type='function'/>
-     <exports symbol='xmlFreeDtd' type='function'/>
-     <exports symbol='xmlFreeNodeList' type='function'/>
-     <exports symbol='xmlFreeDoc' type='function'/>
+     <exports symbol='xmlBufContent' type='function'/>
+     <exports symbol='xmlBufEnd' type='function'/>
+     <exports symbol='xmlBufGetNodeContent' type='function'/>
+     <exports symbol='xmlBufNodeDump' type='function'/>
      <exports symbol='xmlBufShrink' type='function'/>
-     <exports symbol='xmlNewDocNode' type='function'/>
-     <exports symbol='xmlSaveFileEnc' type='function'/>
-     <exports symbol='xmlSetNsProp' type='function'/>
+     <exports symbol='xmlBufUse' type='function'/>
+     <exports symbol='xmlBufferAdd' type='function'/>
+     <exports symbol='xmlBufferAddHead' type='function'/>
+     <exports symbol='xmlBufferCCat' type='function'/>
+     <exports symbol='xmlBufferCat' type='function'/>
+     <exports symbol='xmlBufferContent' type='function'/>
+     <exports symbol='xmlBufferCreate' type='function'/>
+     <exports symbol='xmlBufferCreateSize' type='function'/>
+     <exports symbol='xmlBufferCreateStatic' type='function'/>
+     <exports symbol='xmlBufferDetach' type='function'/>
+     <exports symbol='xmlBufferDump' type='function'/>
+     <exports symbol='xmlBufferEmpty' type='function'/>
+     <exports symbol='xmlBufferFree' type='function'/>
+     <exports symbol='xmlBufferGrow' type='function'/>
+     <exports symbol='xmlBufferLength' type='function'/>
+     <exports symbol='xmlBufferResize' type='function'/>
+     <exports symbol='xmlBufferSetAllocationScheme' type='function'/>
+     <exports symbol='xmlBufferShrink' type='function'/>
+     <exports symbol='xmlBufferWriteCHAR' type='function'/>
+     <exports symbol='xmlBufferWriteChar' type='function'/>
+     <exports symbol='xmlBufferWriteQuotedString' type='function'/>
+     <exports symbol='xmlBuildQName' type='function'/>
+     <exports symbol='xmlChildElementCount' type='function'/>
+     <exports symbol='xmlCopyDoc' type='function'/>
+     <exports symbol='xmlCopyDtd' type='function'/>
+     <exports symbol='xmlCopyNamespace' type='function'/>
+     <exports symbol='xmlCopyNamespaceList' type='function'/>
+     <exports symbol='xmlCopyNode' type='function'/>
+     <exports symbol='xmlCopyNodeList' type='function'/>
+     <exports symbol='xmlCopyProp' type='function'/>
+     <exports symbol='xmlCopyPropList' type='function'/>
+     <exports symbol='xmlCreateIntSubset' type='function'/>
+     <exports symbol='xmlDOMWrapAcquireNsFunction' type='function'/>
+     <exports symbol='xmlDOMWrapAdoptNode' type='function'/>
+     <exports symbol='xmlDOMWrapCloneNode' type='function'/>
+     <exports symbol='xmlDOMWrapFreeCtxt' type='function'/>
+     <exports symbol='xmlDOMWrapNewCtxt' type='function'/>
+     <exports symbol='xmlDOMWrapReconcileNamespaces' type='function'/>
+     <exports symbol='xmlDOMWrapRemoveNode' type='function'/>
+     <exports symbol='xmlDocCopyNode' type='function'/>
+     <exports symbol='xmlDocCopyNodeList' type='function'/>
+     <exports symbol='xmlDocDump' type='function'/>
      <exports symbol='xmlDocDumpFormatMemory' type='function'/>
-     <exports symbol='xmlSetListDoc' type='function'/>
-     <exports symbol='xmlNodeSetName' type='function'/>
+     <exports symbol='xmlDocDumpFormatMemoryEnc' type='function'/>
+     <exports symbol='xmlDocDumpMemory' type='function'/>
+     <exports symbol='xmlDocDumpMemoryEnc' type='function'/>
+     <exports symbol='xmlDocFormatDump' type='function'/>
+     <exports symbol='xmlDocGetRootElement' type='function'/>
+     <exports symbol='xmlDocSetRootElement' type='function'/>
+     <exports symbol='xmlElemDump' type='function'/>
+     <exports symbol='xmlFirstElementChild' type='function'/>
+     <exports symbol='xmlFreeDoc' type='function'/>
+     <exports symbol='xmlFreeDtd' type='function'/>
+     <exports symbol='xmlFreeNode' type='function'/>
+     <exports symbol='xmlFreeNodeList' type='function'/>
+     <exports symbol='xmlFreeNs' type='function'/>
+     <exports symbol='xmlFreeNsList' type='function'/>
+     <exports symbol='xmlFreeProp' type='function'/>
+     <exports symbol='xmlFreePropList' type='function'/>
+     <exports symbol='xmlGetBufferAllocationScheme' type='function'/>
+     <exports symbol='xmlGetCompressMode' type='function'/>
+     <exports symbol='xmlGetDocCompressMode' type='function'/>
+     <exports symbol='xmlGetIntSubset' type='function'/>
+     <exports symbol='xmlGetLastChild' type='function'/>
+     <exports symbol='xmlGetLineNo' type='function'/>
+     <exports symbol='xmlGetNoNsProp' type='function'/>
+     <exports symbol='xmlGetNodePath' type='function'/>
+     <exports symbol='xmlGetNsList' type='function'/>
+     <exports symbol='xmlGetNsProp' type='function'/>
+     <exports symbol='xmlGetProp' type='function'/>
+     <exports symbol='xmlHasNsProp' type='function'/>
+     <exports symbol='xmlHasProp' type='function'/>
+     <exports symbol='xmlIsBlankNode' type='function'/>
+     <exports symbol='xmlIsXHTML' type='function'/>
+     <exports symbol='xmlLastElementChild' type='function'/>
+     <exports symbol='xmlNewCDataBlock' type='function'/>
+     <exports symbol='xmlNewCharRef' type='function'/>
+     <exports symbol='xmlNewChild' type='function'/>
+     <exports symbol='xmlNewComment' type='function'/>
+     <exports symbol='xmlNewDoc' type='function'/>
+     <exports symbol='xmlNewDocComment' type='function'/>
+     <exports symbol='xmlNewDocFragment' type='function'/>
+     <exports symbol='xmlNewDocNode' type='function'/>
+     <exports symbol='xmlNewDocNodeEatName' type='function'/>
+     <exports symbol='xmlNewDocPI' type='function'/>
+     <exports symbol='xmlNewDocProp' type='function'/>
+     <exports symbol='xmlNewDocRawNode' type='function'/>
+     <exports symbol='xmlNewDocText' type='function'/>
      <exports symbol='xmlNewDocTextLen' type='function'/>
      <exports symbol='xmlNewDtd' type='function'/>
-     <exports symbol='xmlFreeNsList' type='function'/>
-     <exports symbol='xmlGetLastChild' type='function'/>
+     <exports symbol='xmlNewGlobalNs' type='function'/>
+     <exports symbol='xmlNewNode' type='function'/>
+     <exports symbol='xmlNewNodeEatName' type='function'/>
+     <exports symbol='xmlNewNs' type='function'/>
+     <exports symbol='xmlNewNsProp' type='function'/>
+     <exports symbol='xmlNewNsPropEatName' type='function'/>
+     <exports symbol='xmlNewPI' type='function'/>
+     <exports symbol='xmlNewProp' type='function'/>
+     <exports symbol='xmlNewReference' type='function'/>
+     <exports symbol='xmlNewText' type='function'/>
+     <exports symbol='xmlNewTextChild' type='function'/>
+     <exports symbol='xmlNewTextLen' type='function'/>
+     <exports symbol='xmlNextElementSibling' type='function'/>
+     <exports symbol='xmlNodeAddContent' type='function'/>
+     <exports symbol='xmlNodeAddContentLen' type='function'/>
+     <exports symbol='xmlNodeBufGetContent' type='function'/>
+     <exports symbol='xmlNodeDump' type='function'/>
+     <exports symbol='xmlNodeDumpOutput' type='function'/>
+     <exports symbol='xmlNodeGetBase' type='function'/>
+     <exports symbol='xmlNodeGetContent' type='function'/>
+     <exports symbol='xmlNodeGetLang' type='function'/>
+     <exports symbol='xmlNodeGetSpacePreserve' type='function'/>
+     <exports symbol='xmlNodeIsText' type='function'/>
+     <exports symbol='xmlNodeListGetRawString' type='function'/>
+     <exports symbol='xmlNodeListGetString' type='function'/>
+     <exports symbol='xmlNodeSetBase' type='function'/>
+     <exports symbol='xmlNodeSetContent' type='function'/>
+     <exports symbol='xmlNodeSetContentLen' type='function'/>
+     <exports symbol='xmlNodeSetLang' type='function'/>
+     <exports symbol='xmlNodeSetName' type='function'/>
+     <exports symbol='xmlNodeSetSpacePreserve' type='function'/>
+     <exports symbol='xmlPreviousElementSibling' type='function'/>
+     <exports symbol='xmlReconciliateNs' type='function'/>
+     <exports symbol='xmlRemoveProp' type='function'/>
+     <exports symbol='xmlReplaceNode' type='function'/>
+     <exports symbol='xmlSaveFile' type='function'/>
+     <exports symbol='xmlSaveFileEnc' type='function'/>
+     <exports symbol='xmlSaveFileTo' type='function'/>
+     <exports symbol='xmlSaveFormatFile' type='function'/>
+     <exports symbol='xmlSaveFormatFileEnc' type='function'/>
+     <exports symbol='xmlSaveFormatFileTo' type='function'/>
+     <exports symbol='xmlSearchNs' type='function'/>
+     <exports symbol='xmlSearchNsByHref' type='function'/>
+     <exports symbol='xmlSetBufferAllocationScheme' type='function'/>
+     <exports symbol='xmlSetCompressMode' type='function'/>
+     <exports symbol='xmlSetDocCompressMode' type='function'/>
+     <exports symbol='xmlSetListDoc' type='function'/>
+     <exports symbol='xmlSetNs' type='function'/>
+     <exports symbol='xmlSetNsProp' type='function'/>
+     <exports symbol='xmlSetProp' type='function'/>
+     <exports symbol='xmlSetTreeDoc' type='function'/>
+     <exports symbol='xmlSplitQName2' type='function'/>
+     <exports symbol='xmlSplitQName3' type='function'/>
+     <exports symbol='xmlStringGetNodeList' type='function'/>
+     <exports symbol='xmlStringLenGetNodeList' type='function'/>
+     <exports symbol='xmlTextConcat' type='function'/>
+     <exports symbol='xmlTextMerge' type='function'/>
+     <exports symbol='xmlUnlinkNode' type='function'/>
+     <exports symbol='xmlUnsetNsProp' type='function'/>
+     <exports symbol='xmlUnsetProp' type='function'/>
+     <exports symbol='xmlValidateNCName' type='function'/>
+     <exports symbol='xmlValidateNMToken' type='function'/>
+     <exports symbol='xmlValidateName' type='function'/>
+     <exports symbol='xmlValidateQName' type='function'/>
     </file>
     <file name='uri'>
      <summary>library of generic URI related routines</summary>
@@ -1725,1111 +1692,1107 @@
      <exports symbol='xmlURI' type='typedef'/>
      <exports symbol='xmlURIPtr' type='typedef'/>
      <exports symbol='_xmlURI' type='struct'/>
-     <exports symbol='xmlNormalizeURIPath' type='function'/>
-     <exports symbol='xmlPrintURI' type='function'/>
-     <exports symbol='xmlParseURIRaw' type='function'/>
-     <exports symbol='xmlURIUnescapeString' type='function'/>
-     <exports symbol='xmlParseURI' type='function'/>
-     <exports symbol='xmlCreateURI' type='function'/>
-     <exports symbol='xmlURIEscapeStr' type='function'/>
-     <exports symbol='xmlPathToURI' type='function'/>
-     <exports symbol='xmlCanonicPath' type='function'/>
-     <exports symbol='xmlFreeURI' type='function'/>
-     <exports symbol='xmlParseURIReference' type='function'/>
      <exports symbol='xmlBuildRelativeURI' type='function'/>
+     <exports symbol='xmlBuildURI' type='function'/>
+     <exports symbol='xmlCanonicPath' type='function'/>
+     <exports symbol='xmlCreateURI' type='function'/>
+     <exports symbol='xmlFreeURI' type='function'/>
+     <exports symbol='xmlNormalizeURIPath' type='function'/>
+     <exports symbol='xmlParseURI' type='function'/>
+     <exports symbol='xmlParseURIRaw' type='function'/>
+     <exports symbol='xmlParseURIReference' type='function'/>
+     <exports symbol='xmlPathToURI' type='function'/>
+     <exports symbol='xmlPrintURI' type='function'/>
      <exports symbol='xmlSaveUri' type='function'/>
      <exports symbol='xmlURIEscape' type='function'/>
-     <exports symbol='xmlBuildURI' type='function'/>
+     <exports symbol='xmlURIEscapeStr' type='function'/>
+     <exports symbol='xmlURIUnescapeString' type='function'/>
     </file>
     <file name='valid'>
      <summary>The DTD validation</summary>
      <description>API for the DTD handling and the validity checking </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_CTXT_FINISH_DTD_0' type='macro'/>
-     <exports symbol='XML_CTXT_FINISH_DTD_1' type='macro'/>
-     <exports symbol='xmlElementTable' type='typedef'/>
-     <exports symbol='xmlValidStatePtr' type='typedef'/>
-     <exports symbol='xmlIDTablePtr' type='typedef'/>
-     <exports symbol='xmlNotationTablePtr' type='typedef'/>
-     <exports symbol='xmlValidCtxt' type='typedef'/>
-     <exports symbol='xmlElementTablePtr' type='typedef'/>
-     <exports symbol='xmlRefTablePtr' type='typedef'/>
-     <exports symbol='xmlNotationTable' type='typedef'/>
-     <exports symbol='xmlRefTable' type='typedef'/>
-     <exports symbol='xmlValidState' type='typedef'/>
      <exports symbol='xmlAttributeTable' type='typedef'/>
      <exports symbol='xmlAttributeTablePtr' type='typedef'/>
+     <exports symbol='xmlElementTable' type='typedef'/>
+     <exports symbol='xmlElementTablePtr' type='typedef'/>
      <exports symbol='xmlIDTable' type='typedef'/>
+     <exports symbol='xmlIDTablePtr' type='typedef'/>
+     <exports symbol='xmlNotationTable' type='typedef'/>
+     <exports symbol='xmlNotationTablePtr' type='typedef'/>
+     <exports symbol='xmlRefTable' type='typedef'/>
+     <exports symbol='xmlRefTablePtr' type='typedef'/>
+     <exports symbol='xmlValidCtxt' type='typedef'/>
      <exports symbol='xmlValidCtxtPtr' type='typedef'/>
+     <exports symbol='xmlValidState' type='typedef'/>
+     <exports symbol='xmlValidStatePtr' type='typedef'/>
      <exports symbol='_xmlValidCtxt' type='struct'/>
-     <exports symbol='xmlFreeNotationTable' type='function'/>
-     <exports symbol='xmlValidateNameValue' type='function'/>
-     <exports symbol='xmlSnprintfElementContent' type='function'/>
-     <exports symbol='xmlAddRef' type='function'/>
-     <exports symbol='xmlDumpAttributeDecl' type='function'/>
-     <exports symbol='xmlValidateDocumentFinal' type='function'/>
-     <exports symbol='xmlValidateDtdFinal' type='function'/>
-     <exports symbol='xmlDumpAttributeTable' type='function'/>
-     <exports symbol='xmlCreateEnumeration' type='function'/>
-     <exports symbol='xmlValidateOneAttribute' type='function'/>
-     <exports symbol='xmlValidGetValidElements' type='function'/>
-     <exports symbol='xmlIsMixedElement' type='function'/>
-     <exports symbol='xmlDumpNotationDecl' type='function'/>
-     <exports symbol='xmlIsID' type='function'/>
-     <exports symbol='xmlGetDtdQAttrDesc' type='function'/>
-     <exports symbol='xmlNewDocElementContent' type='function'/>
-     <exports symbol='xmlFreeAttributeTable' type='function'/>
-     <exports symbol='xmlValidityErrorFunc' type='function'/>
-     <exports symbol='xmlValidateAttributeDecl' type='function'/>
-     <exports symbol='xmlGetDtdQElementDesc' type='function'/>
-     <exports symbol='xmlCopyNotationTable' type='function'/>
-     <exports symbol='xmlValidateDocument' type='function'/>
-     <exports symbol='xmlValidGetPotentialChildren' type='function'/>
-     <exports symbol='xmlAddNotationDecl' type='function'/>
-     <exports symbol='xmlValidateElementDecl' type='function'/>
      <exports symbol='xmlAddAttributeDecl' type='function'/>
-     <exports symbol='xmlGetID' type='function'/>
-     <exports symbol='xmlCopyElementTable' type='function'/>
-     <exports symbol='xmlGetRefs' type='function'/>
-     <exports symbol='xmlSprintfElementContent' type='function'/>
-     <exports symbol='xmlValidateOneElement' type='function'/>
-     <exports symbol='xmlValidateNmtokenValue' type='function'/>
-     <exports symbol='xmlDumpElementTable' type='function'/>
-     <exports symbol='xmlValidCtxtNormalizeAttributeValue' type='function'/>
-     <exports symbol='xmlDumpElementDecl' type='function'/>
-     <exports symbol='xmlFreeElementContent' type='function'/>
-     <exports symbol='xmlValidateOneNamespace' type='function'/>
-     <exports symbol='xmlValidatePushElement' type='function'/>
-     <exports symbol='xmlIsRef' type='function'/>
-     <exports symbol='xmlCopyDocElementContent' type='function'/>
-     <exports symbol='xmlAddID' type='function'/>
-     <exports symbol='xmlFreeRefTable' type='function'/>
-     <exports symbol='xmlValidateNamesValue' type='function'/>
-     <exports symbol='xmlRemoveID' type='function'/>
-     <exports symbol='xmlFreeElementTable' type='function'/>
-     <exports symbol='xmlFreeIDTable' type='function'/>
-     <exports symbol='xmlFreeValidCtxt' type='function'/>
-     <exports symbol='xmlCopyAttributeTable' type='function'/>
-     <exports symbol='xmlCopyElementContent' type='function'/>
-     <exports symbol='xmlValidateAttributeValue' type='function'/>
-     <exports symbol='xmlRemoveRef' type='function'/>
-     <exports symbol='xmlValidityWarningFunc' type='function'/>
-     <exports symbol='xmlValidatePopElement' type='function'/>
-     <exports symbol='xmlFreeEnumeration' type='function'/>
-     <exports symbol='xmlCopyEnumeration' type='function'/>
-     <exports symbol='xmlGetDtdAttrDesc' type='function'/>
-     <exports symbol='xmlValidateDtd' type='function'/>
-     <exports symbol='xmlNewValidCtxt' type='function'/>
-     <exports symbol='xmlDumpNotationTable' type='function'/>
      <exports symbol='xmlAddElementDecl' type='function'/>
-     <exports symbol='xmlValidNormalizeAttributeValue' type='function'/>
-     <exports symbol='xmlValidBuildContentModel' type='function'/>
-     <exports symbol='xmlValidateElement' type='function'/>
-     <exports symbol='xmlValidateNotationUse' type='function'/>
-     <exports symbol='xmlValidateRoot' type='function'/>
-     <exports symbol='xmlValidateNotationDecl' type='function'/>
-     <exports symbol='xmlNewElementContent' type='function'/>
+     <exports symbol='xmlAddID' type='function'/>
+     <exports symbol='xmlAddNotationDecl' type='function'/>
+     <exports symbol='xmlAddRef' type='function'/>
+     <exports symbol='xmlCopyAttributeTable' type='function'/>
+     <exports symbol='xmlCopyDocElementContent' type='function'/>
+     <exports symbol='xmlCopyElementContent' type='function'/>
+     <exports symbol='xmlCopyElementTable' type='function'/>
+     <exports symbol='xmlCopyEnumeration' type='function'/>
+     <exports symbol='xmlCopyNotationTable' type='function'/>
+     <exports symbol='xmlCreateEnumeration' type='function'/>
+     <exports symbol='xmlDumpAttributeDecl' type='function'/>
+     <exports symbol='xmlDumpAttributeTable' type='function'/>
+     <exports symbol='xmlDumpElementDecl' type='function'/>
+     <exports symbol='xmlDumpElementTable' type='function'/>
+     <exports symbol='xmlDumpNotationDecl' type='function'/>
+     <exports symbol='xmlDumpNotationTable' type='function'/>
+     <exports symbol='xmlFreeAttributeTable' type='function'/>
+     <exports symbol='xmlFreeDocElementContent' type='function'/>
+     <exports symbol='xmlFreeElementContent' type='function'/>
+     <exports symbol='xmlFreeElementTable' type='function'/>
+     <exports symbol='xmlFreeEnumeration' type='function'/>
+     <exports symbol='xmlFreeIDTable' type='function'/>
+     <exports symbol='xmlFreeNotationTable' type='function'/>
+     <exports symbol='xmlFreeRefTable' type='function'/>
+     <exports symbol='xmlFreeValidCtxt' type='function'/>
+     <exports symbol='xmlGetDtdAttrDesc' type='function'/>
      <exports symbol='xmlGetDtdElementDesc' type='function'/>
      <exports symbol='xmlGetDtdNotationDesc' type='function'/>
-     <exports symbol='xmlValidatePushCData' type='function'/>
+     <exports symbol='xmlGetDtdQAttrDesc' type='function'/>
+     <exports symbol='xmlGetDtdQElementDesc' type='function'/>
+     <exports symbol='xmlGetID' type='function'/>
+     <exports symbol='xmlGetRefs' type='function'/>
+     <exports symbol='xmlIsID' type='function'/>
+     <exports symbol='xmlIsMixedElement' type='function'/>
+     <exports symbol='xmlIsRef' type='function'/>
+     <exports symbol='xmlNewDocElementContent' type='function'/>
+     <exports symbol='xmlNewElementContent' type='function'/>
+     <exports symbol='xmlNewValidCtxt' type='function'/>
+     <exports symbol='xmlRemoveID' type='function'/>
+     <exports symbol='xmlRemoveRef' type='function'/>
+     <exports symbol='xmlSnprintfElementContent' type='function'/>
+     <exports symbol='xmlSprintfElementContent' type='function'/>
+     <exports symbol='xmlValidBuildContentModel' type='function'/>
+     <exports symbol='xmlValidCtxtNormalizeAttributeValue' type='function'/>
+     <exports symbol='xmlValidGetPotentialChildren' type='function'/>
+     <exports symbol='xmlValidGetValidElements' type='function'/>
+     <exports symbol='xmlValidNormalizeAttributeValue' type='function'/>
+     <exports symbol='xmlValidateAttributeDecl' type='function'/>
+     <exports symbol='xmlValidateAttributeValue' type='function'/>
+     <exports symbol='xmlValidateDocument' type='function'/>
+     <exports symbol='xmlValidateDocumentFinal' type='function'/>
+     <exports symbol='xmlValidateDtd' type='function'/>
+     <exports symbol='xmlValidateDtdFinal' type='function'/>
+     <exports symbol='xmlValidateElement' type='function'/>
+     <exports symbol='xmlValidateElementDecl' type='function'/>
+     <exports symbol='xmlValidateNameValue' type='function'/>
+     <exports symbol='xmlValidateNamesValue' type='function'/>
+     <exports symbol='xmlValidateNmtokenValue' type='function'/>
      <exports symbol='xmlValidateNmtokensValue' type='function'/>
-     <exports symbol='xmlFreeDocElementContent' type='function'/>
+     <exports symbol='xmlValidateNotationDecl' type='function'/>
+     <exports symbol='xmlValidateNotationUse' type='function'/>
+     <exports symbol='xmlValidateOneAttribute' type='function'/>
+     <exports symbol='xmlValidateOneElement' type='function'/>
+     <exports symbol='xmlValidateOneNamespace' type='function'/>
+     <exports symbol='xmlValidatePopElement' type='function'/>
+     <exports symbol='xmlValidatePushCData' type='function'/>
+     <exports symbol='xmlValidatePushElement' type='function'/>
+     <exports symbol='xmlValidateRoot' type='function'/>
+     <exports symbol='xmlValidityErrorFunc' type='function'/>
+     <exports symbol='xmlValidityWarningFunc' type='function'/>
     </file>
     <file name='xinclude'>
      <summary>implementation of XInclude</summary>
      <description>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003</description>
      <author>Daniel Veillard </author>
-     <exports symbol='XINCLUDE_PARSE_TEXT' type='macro'/>
-     <exports symbol='XINCLUDE_PARSE_XPOINTER' type='macro'/>
-     <exports symbol='XINCLUDE_HREF' type='macro'/>
      <exports symbol='XINCLUDE_FALLBACK' type='macro'/>
-     <exports symbol='XINCLUDE_NS' type='macro'/>
-     <exports symbol='XINCLUDE_PARSE' type='macro'/>
+     <exports symbol='XINCLUDE_HREF' type='macro'/>
      <exports symbol='XINCLUDE_NODE' type='macro'/>
-     <exports symbol='XINCLUDE_PARSE_XML' type='macro'/>
-     <exports symbol='XINCLUDE_PARSE_ENCODING' type='macro'/>
+     <exports symbol='XINCLUDE_NS' type='macro'/>
      <exports symbol='XINCLUDE_OLD_NS' type='macro'/>
+     <exports symbol='XINCLUDE_PARSE' type='macro'/>
+     <exports symbol='XINCLUDE_PARSE_ENCODING' type='macro'/>
+     <exports symbol='XINCLUDE_PARSE_TEXT' type='macro'/>
+     <exports symbol='XINCLUDE_PARSE_XML' type='macro'/>
+     <exports symbol='XINCLUDE_PARSE_XPOINTER' type='macro'/>
      <exports symbol='xmlXIncludeCtxt' type='typedef'/>
      <exports symbol='xmlXIncludeCtxtPtr' type='typedef'/>
-     <exports symbol='xmlXIncludeProcessTreeFlagsData' type='function'/>
-     <exports symbol='xmlXIncludeProcessFlagsData' type='function'/>
-     <exports symbol='xmlXIncludeProcessFlags' type='function'/>
-     <exports symbol='xmlXIncludeProcessTree' type='function'/>
-     <exports symbol='xmlXIncludeProcessNode' type='function'/>
      <exports symbol='xmlXIncludeFreeContext' type='function'/>
-     <exports symbol='xmlXIncludeSetFlags' type='function'/>
-     <exports symbol='xmlXIncludeProcess' type='function'/>
      <exports symbol='xmlXIncludeNewContext' type='function'/>
+     <exports symbol='xmlXIncludeProcess' type='function'/>
+     <exports symbol='xmlXIncludeProcessFlags' type='function'/>
+     <exports symbol='xmlXIncludeProcessFlagsData' type='function'/>
+     <exports symbol='xmlXIncludeProcessNode' type='function'/>
+     <exports symbol='xmlXIncludeProcessTree' type='function'/>
      <exports symbol='xmlXIncludeProcessTreeFlags' type='function'/>
+     <exports symbol='xmlXIncludeProcessTreeFlagsData' type='function'/>
+     <exports symbol='xmlXIncludeSetFlags' type='function'/>
     </file>
     <file name='xlink'>
      <summary>unfinished XLink detection module</summary>
      <description>unfinished XLink detection module </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XLINK_ACTUATE_NONE' type='enum'/>
-     <exports symbol='XLINK_SHOW_NEW' type='enum'/>
      <exports symbol='XLINK_ACTUATE_AUTO' type='enum'/>
-     <exports symbol='XLINK_TYPE_NONE' type='enum'/>
-     <exports symbol='XLINK_SHOW_REPLACE' type='enum'/>
+     <exports symbol='XLINK_ACTUATE_NONE' type='enum'/>
      <exports symbol='XLINK_ACTUATE_ONREQUEST' type='enum'/>
+     <exports symbol='XLINK_SHOW_EMBED' type='enum'/>
+     <exports symbol='XLINK_SHOW_NEW' type='enum'/>
+     <exports symbol='XLINK_SHOW_NONE' type='enum'/>
+     <exports symbol='XLINK_SHOW_REPLACE' type='enum'/>
      <exports symbol='XLINK_TYPE_EXTENDED' type='enum'/>
      <exports symbol='XLINK_TYPE_EXTENDED_SET' type='enum'/>
-     <exports symbol='XLINK_SHOW_NONE' type='enum'/>
-     <exports symbol='XLINK_SHOW_EMBED' type='enum'/>
+     <exports symbol='XLINK_TYPE_NONE' type='enum'/>
      <exports symbol='XLINK_TYPE_SIMPLE' type='enum'/>
-     <exports symbol='xlinkTitle' type='typedef'/>
-     <exports symbol='xlinkShow' type='typedef'/>
-     <exports symbol='xlinkHRef' type='typedef'/>
      <exports symbol='xlinkActuate' type='typedef'/>
+     <exports symbol='xlinkHRef' type='typedef'/>
      <exports symbol='xlinkHandler' type='typedef'/>
-     <exports symbol='xlinkRole' type='typedef'/>
      <exports symbol='xlinkHandlerPtr' type='typedef'/>
+     <exports symbol='xlinkRole' type='typedef'/>
+     <exports symbol='xlinkShow' type='typedef'/>
+     <exports symbol='xlinkTitle' type='typedef'/>
      <exports symbol='xlinkType' type='typedef'/>
      <exports symbol='_xlinkHandler' type='struct'/>
-     <exports symbol='xlinkSetDefaultDetect' type='function'/>
-     <exports symbol='xlinkSetDefaultHandler' type='function'/>
      <exports symbol='xlinkExtendedLinkFunk' type='function'/>
      <exports symbol='xlinkExtendedLinkSetFunk' type='function'/>
-     <exports symbol='xlinkSimpleLinkFunk' type='function'/>
-     <exports symbol='xlinkNodeDetectFunc' type='function'/>
+     <exports symbol='xlinkGetDefaultDetect' type='function'/>
      <exports symbol='xlinkGetDefaultHandler' type='function'/>
      <exports symbol='xlinkIsLink' type='function'/>
-     <exports symbol='xlinkGetDefaultDetect' type='function'/>
+     <exports symbol='xlinkNodeDetectFunc' type='function'/>
+     <exports symbol='xlinkSetDefaultDetect' type='function'/>
+     <exports symbol='xlinkSetDefaultHandler' type='function'/>
+     <exports symbol='xlinkSimpleLinkFunk' type='function'/>
     </file>
     <file name='xmlIO'>
      <summary>interface for the I/O interfaces used by the parser</summary>
      <description>interface for the I/O interfaces used by the parser </description>
      <author>Daniel Veillard </author>
-     <exports symbol='_xmlParserInputBuffer' type='struct'/>
      <exports symbol='_xmlOutputBuffer' type='struct'/>
-     <exports symbol='xmlIOHTTPRead' type='function'/>
-     <exports symbol='xmlInputMatchCallback' type='function'/>
-     <exports symbol='xmlRegisterDefaultOutputCallbacks' type='function'/>
-     <exports symbol='xmlFileClose' type='function'/>
-     <exports symbol='xmlPopOutputCallbacks' type='function'/>
-     <exports symbol='xmlOutputMatchCallback' type='function'/>
-     <exports symbol='xmlParserInputBufferPush' type='function'/>
-     <exports symbol='xmlIOFTPRead' type='function'/>
-     <exports symbol='xmlRegisterHTTPPostCallbacks' type='function'/>
-     <exports symbol='xmlIOFTPOpen' type='function'/>
-     <exports symbol='xmlIOFTPClose' type='function'/>
-     <exports symbol='xmlFileOpen' type='function'/>
-     <exports symbol='xmlOutputBufferCreateFile' type='function'/>
-     <exports symbol='xmlCheckFilename' type='function'/>
-     <exports symbol='xmlOutputOpenCallback' type='function'/>
-     <exports symbol='xmlParserInputBufferCreateFilename' type='function'/>
-     <exports symbol='xmlOutputBufferClose' type='function'/>
-     <exports symbol='xmlAllocParserInputBuffer' type='function'/>
-     <exports symbol='xmlOutputBufferCreateIO' type='function'/>
-     <exports symbol='xmlOutputWriteCallback' type='function'/>
-     <exports symbol='xmlOutputBufferFlush' type='function'/>
-     <exports symbol='xmlCheckHTTPInput' type='function'/>
-     <exports symbol='xmlRegisterOutputCallbacks' type='function'/>
-     <exports symbol='xmlParserInputBufferCreateMem' type='function'/>
-     <exports symbol='xmlIOFTPMatch' type='function'/>
-     <exports symbol='xmlRegisterInputCallbacks' type='function'/>
-     <exports symbol='xmlFreeParserInputBuffer' type='function'/>
-     <exports symbol='xmlRegisterDefaultInputCallbacks' type='function'/>
-     <exports symbol='xmlParserInputBufferGrow' type='function'/>
-     <exports symbol='xmlOutputCloseCallback' type='function'/>
+     <exports symbol='_xmlParserInputBuffer' type='struct'/>
      <exports symbol='xmlAllocOutputBuffer' type='function'/>
-     <exports symbol='xmlNoNetExternalEntityLoader' type='function'/>
-     <exports symbol='xmlOutputBufferCreateBuffer' type='function'/>
+     <exports symbol='xmlAllocParserInputBuffer' type='function'/>
+     <exports symbol='xmlCheckFilename' type='function'/>
+     <exports symbol='xmlCheckHTTPInput' type='function'/>
+     <exports symbol='xmlCleanupInputCallbacks' type='function'/>
+     <exports symbol='xmlCleanupOutputCallbacks' type='function'/>
+     <exports symbol='xmlFileClose' type='function'/>
+     <exports symbol='xmlFileMatch' type='function'/>
+     <exports symbol='xmlFileOpen' type='function'/>
+     <exports symbol='xmlFileRead' type='function'/>
+     <exports symbol='xmlFreeParserInputBuffer' type='function'/>
+     <exports symbol='xmlIOFTPClose' type='function'/>
+     <exports symbol='xmlIOFTPMatch' type='function'/>
+     <exports symbol='xmlIOFTPOpen' type='function'/>
+     <exports symbol='xmlIOFTPRead' type='function'/>
+     <exports symbol='xmlIOHTTPClose' type='function'/>
      <exports symbol='xmlIOHTTPMatch' type='function'/>
      <exports symbol='xmlIOHTTPOpen' type='function'/>
-     <exports symbol='xmlParserInputBufferCreateIO' type='function'/>
-     <exports symbol='xmlOutputBufferCreateFd' type='function'/>
-     <exports symbol='xmlNormalizeWindowsPath' type='function'/>
-     <exports symbol='xmlInputReadCallback' type='function'/>
-     <exports symbol='xmlParserInputBufferCreateStatic' type='function'/>
-     <exports symbol='xmlOutputBufferGetContent' type='function'/>
-     <exports symbol='xmlIOHTTPClose' type='function'/>
-     <exports symbol='xmlOutputBufferWriteEscape' type='function'/>
-     <exports symbol='xmlOutputBufferCreateFilename' type='function'/>
-     <exports symbol='xmlOutputBufferGetSize' type='function'/>
-     <exports symbol='xmlCleanupOutputCallbacks' type='function'/>
-     <exports symbol='xmlInputOpenCallback' type='function'/>
-     <exports symbol='xmlParserInputBufferRead' type='function'/>
-     <exports symbol='xmlOutputBufferWriteString' type='function'/>
-     <exports symbol='xmlFileMatch' type='function'/>
-     <exports symbol='xmlPopInputCallbacks' type='function'/>
-     <exports symbol='xmlFileRead' type='function'/>
-     <exports symbol='xmlParserInputBufferCreateFile' type='function'/>
-     <exports symbol='xmlParserGetDirectory' type='function'/>
-     <exports symbol='xmlOutputBufferWrite' type='function'/>
-     <exports symbol='xmlCleanupInputCallbacks' type='function'/>
-     <exports symbol='xmlInputCloseCallback' type='function'/>
      <exports symbol='xmlIOHTTPOpenW' type='function'/>
+     <exports symbol='xmlIOHTTPRead' type='function'/>
+     <exports symbol='xmlInputCloseCallback' type='function'/>
+     <exports symbol='xmlInputMatchCallback' type='function'/>
+     <exports symbol='xmlInputOpenCallback' type='function'/>
+     <exports symbol='xmlInputReadCallback' type='function'/>
+     <exports symbol='xmlNoNetExternalEntityLoader' type='function'/>
+     <exports symbol='xmlNormalizeWindowsPath' type='function'/>
+     <exports symbol='xmlOutputBufferClose' type='function'/>
+     <exports symbol='xmlOutputBufferCreateBuffer' type='function'/>
+     <exports symbol='xmlOutputBufferCreateFd' type='function'/>
+     <exports symbol='xmlOutputBufferCreateFile' type='function'/>
+     <exports symbol='xmlOutputBufferCreateFilename' type='function'/>
+     <exports symbol='xmlOutputBufferCreateIO' type='function'/>
+     <exports symbol='xmlOutputBufferFlush' type='function'/>
+     <exports symbol='xmlOutputBufferGetContent' type='function'/>
+     <exports symbol='xmlOutputBufferGetSize' type='function'/>
+     <exports symbol='xmlOutputBufferWrite' type='function'/>
+     <exports symbol='xmlOutputBufferWriteEscape' type='function'/>
+     <exports symbol='xmlOutputBufferWriteString' type='function'/>
+     <exports symbol='xmlOutputCloseCallback' type='function'/>
+     <exports symbol='xmlOutputMatchCallback' type='function'/>
+     <exports symbol='xmlOutputOpenCallback' type='function'/>
+     <exports symbol='xmlOutputWriteCallback' type='function'/>
+     <exports symbol='xmlParserGetDirectory' type='function'/>
      <exports symbol='xmlParserInputBufferCreateFd' type='function'/>
+     <exports symbol='xmlParserInputBufferCreateFile' type='function'/>
+     <exports symbol='xmlParserInputBufferCreateFilename' type='function'/>
+     <exports symbol='xmlParserInputBufferCreateIO' type='function'/>
+     <exports symbol='xmlParserInputBufferCreateMem' type='function'/>
+     <exports symbol='xmlParserInputBufferCreateStatic' type='function'/>
+     <exports symbol='xmlParserInputBufferGrow' type='function'/>
+     <exports symbol='xmlParserInputBufferPush' type='function'/>
+     <exports symbol='xmlParserInputBufferRead' type='function'/>
+     <exports symbol='xmlPopInputCallbacks' type='function'/>
+     <exports symbol='xmlPopOutputCallbacks' type='function'/>
+     <exports symbol='xmlRegisterDefaultInputCallbacks' type='function'/>
+     <exports symbol='xmlRegisterDefaultOutputCallbacks' type='function'/>
+     <exports symbol='xmlRegisterHTTPPostCallbacks' type='function'/>
+     <exports symbol='xmlRegisterInputCallbacks' type='function'/>
+     <exports symbol='xmlRegisterOutputCallbacks' type='function'/>
     </file>
     <file name='xmlautomata'>
      <summary>API to build regexp automata</summary>
      <description>the API to build regexp automata </description>
      <author>Daniel Veillard </author>
-     <exports symbol='xmlAutomataStatePtr' type='typedef'/>
      <exports symbol='xmlAutomata' type='typedef'/>
      <exports symbol='xmlAutomataPtr' type='typedef'/>
      <exports symbol='xmlAutomataState' type='typedef'/>
-     <exports symbol='xmlFreeAutomata' type='function'/>
-     <exports symbol='xmlAutomataNewCounter' type='function'/>
-     <exports symbol='xmlAutomataGetInitState' type='function'/>
-     <exports symbol='xmlAutomataNewTransition2' type='function'/>
-     <exports symbol='xmlAutomataNewState' type='function'/>
-     <exports symbol='xmlAutomataNewCountTrans' type='function'/>
-     <exports symbol='xmlAutomataNewOnceTrans2' type='function'/>
-     <exports symbol='xmlAutomataNewAllTrans' type='function'/>
-     <exports symbol='xmlAutomataNewCountedTrans' type='function'/>
-     <exports symbol='xmlAutomataNewCounterTrans' type='function'/>
+     <exports symbol='xmlAutomataStatePtr' type='typedef'/>
      <exports symbol='xmlAutomataCompile' type='function'/>
-     <exports symbol='xmlAutomataNewNegTrans' type='function'/>
-     <exports symbol='xmlAutomataNewEpsilon' type='function'/>
-     <exports symbol='xmlAutomataNewCountTrans2' type='function'/>
-     <exports symbol='xmlNewAutomata' type='function'/>
-     <exports symbol='xmlAutomataSetFinalState' type='function'/>
-     <exports symbol='xmlAutomataNewOnceTrans' type='function'/>
-     <exports symbol='xmlAutomataNewTransition' type='function'/>
+     <exports symbol='xmlAutomataGetInitState' type='function'/>
      <exports symbol='xmlAutomataIsDeterminist' type='function'/>
+     <exports symbol='xmlAutomataNewAllTrans' type='function'/>
+     <exports symbol='xmlAutomataNewCountTrans' type='function'/>
+     <exports symbol='xmlAutomataNewCountTrans2' type='function'/>
+     <exports symbol='xmlAutomataNewCountedTrans' type='function'/>
+     <exports symbol='xmlAutomataNewCounter' type='function'/>
+     <exports symbol='xmlAutomataNewCounterTrans' type='function'/>
+     <exports symbol='xmlAutomataNewEpsilon' type='function'/>
+     <exports symbol='xmlAutomataNewNegTrans' type='function'/>
+     <exports symbol='xmlAutomataNewOnceTrans' type='function'/>
+     <exports symbol='xmlAutomataNewOnceTrans2' type='function'/>
+     <exports symbol='xmlAutomataNewState' type='function'/>
+     <exports symbol='xmlAutomataNewTransition' type='function'/>
+     <exports symbol='xmlAutomataNewTransition2' type='function'/>
+     <exports symbol='xmlAutomataSetFinalState' type='function'/>
+     <exports symbol='xmlFreeAutomata' type='function'/>
+     <exports symbol='xmlNewAutomata' type='function'/>
     </file>
     <file name='xmlerror'>
      <summary>error handling</summary>
      <description>the API used to report errors </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_DTD_ATTRIBUTE_VALUE' type='enum'/>
-     <exports symbol='XML_RNGP_PARAM_NAME_MISSING' type='enum'/>
-     <exports symbol='XML_RNGP_PARENTREF_NO_PARENT' type='enum'/>
-     <exports symbol='XML_IO_EISCONN' type='enum'/>
-     <exports symbol='XML_RNGP_VALUE_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ELEM_NONAME_NOREF' type='enum'/>
-     <exports symbol='XML_CHECK_NOT_DTD' type='enum'/>
-     <exports symbol='XML_SCHEMAP_S4S_ATTR_MISSING' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_IMPORT' type='enum'/>
-     <exports symbol='XML_SCHEMAV_VALUE' type='enum'/>
-     <exports symbol='XML_XPATH_UNKNOWN_FUNC_ERROR' type='enum'/>
-     <exports symbol='XML_ERR_DOCUMENT_START' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_TEXT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_AG_PROPS_CORRECT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_IMPORT_2_1' type='enum'/>
-     <exports symbol='XML_DTD_NOT_STANDALONE' type='enum'/>
-     <exports symbol='XML_HTTP_USE_IP' type='enum'/>
-     <exports symbol='XML_ERR_XMLDECL_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING' type='enum'/>
-     <exports symbol='XML_SCHEMAV_ELEMENT_CONTENT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_IMPORT_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD' type='enum'/>
-     <exports symbol='XML_ERR_LT_IN_ATTRIBUTE' type='enum'/>
-     <exports symbol='XML_XINCLUDE_ENTITY_DEF_MISMATCH' type='enum'/>
-     <exports symbol='XML_SAVE_NOT_UTF8' type='enum'/>
-     <exports symbol='XML_ERR_GT_REQUIRED' type='enum'/>
-     <exports symbol='XML_XPTR_EXTRA_OBJECTS' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_ATTR_USE' type='enum'/>
-     <exports symbol='XML_IO_UNKNOWN' type='enum'/>
-     <exports symbol='XML_RNGP_INTERLEAVE_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION' type='enum'/>
-     <exports symbol='XML_IO_ECHILD' type='enum'/>
-     <exports symbol='XML_RNGP_NAME_MISSING' type='enum'/>
-     <exports symbol='XML_ERR_CONDSEC_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_2' type='enum'/>
-     <exports symbol='XML_IO_EINTR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_1' type='enum'/>
-     <exports symbol='XML_RNGP_XMLNS_NAME' type='enum'/>
-     <exports symbol='XML_RNGP_ATTRIBUTE_NOOP' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_GROUP' type='enum'/>
-     <exports symbol='XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI' type='enum'/>
-     <exports symbol='XML_ERR_CHARREF_IN_EPILOG' type='enum'/>
-     <exports symbol='XML_DTD_ID_SUBSET' type='enum'/>
-     <exports symbol='XML_SCHEMAP_FAILED_BUILD_IMPORT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD' type='enum'/>
-     <exports symbol='XML_XPTR_CHILDSEQ_START' type='enum'/>
-     <exports symbol='XML_ERR_EXT_SUBSET_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_FROM_DTD' type='enum'/>
-     <exports symbol='XML_CHECK_NOT_ATTR' type='enum'/>
-     <exports symbol='XML_DTD_ATTRIBUTE_DEFAULT' type='enum'/>
-     <exports symbol='XML_FROM_MODULE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_EXTRACONTENT' type='enum'/>
-     <exports symbol='XML_RNGP_ELEM_CONTENT_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAP_WARN_UNLOCATED_SCHEMA' type='enum'/>
-     <exports symbol='XML_IO_EMLINK' type='enum'/>
-     <exports symbol='XML_ERR_NMTOKEN_REQUIRED' type='enum'/>
-     <exports symbol='XML_RNGP_ANYNAME_ATTR_ANCESTOR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_3_1' type='enum'/>
-     <exports symbol='XML_ERR_PI_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_RNGP_START_CONTENT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_3_2' type='enum'/>
-     <exports symbol='XML_RNGP_GROUP_ATTR_CONFLICT' type='enum'/>
-     <exports symbol='XML_RNGP_EMPTY' type='enum'/>
-     <exports symbol='XML_ERR_DOCUMENT_EMPTY' type='enum'/>
-     <exports symbol='XML_XINCLUDE_RECURSION' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_RESOLVE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_FACET_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAP_RESTRICTION_NONAME_NOREF' type='enum'/>
-     <exports symbol='XML_I18N_NO_OUTPUT' type='enum'/>
-     <exports symbol='XML_CHECK_FOUND_ATTRIBUTE' type='enum'/>
-     <exports symbol='XML_ERR_STANDALONE_VALUE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_ATTR' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_LOOP' type='enum'/>
-     <exports symbol='XML_IO_EINPROGRESS' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_NOTATION' type='enum'/>
-     <exports symbol='XML_HTML_STRUCURE_ERROR' type='enum'/>
-     <exports symbol='XML_DTD_INVALID_DEFAULT' type='enum'/>
-     <exports symbol='XML_FROM_SCHEMATRONV' 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_SCHEMAP_INCLUDE_SCHEMA_NOT_URI' type='enum'/>
-     <exports symbol='XML_RNGP_INVALID_VALUE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_2' 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_ERR_PEREF_AT_EOF' type='enum'/>
-     <exports symbol='XML_DTD_NOT_EMPTY' 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_SCHEMAP_AU_PROPS_CORRECT_2' type='enum'/>
-     <exports symbol='XML_ERR_ATTLIST_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_ERR_PCDATA_REQUIRED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_INTERNAL' type='enum'/>
-     <exports symbol='XML_ERR_STRING_NOT_CLOSED' type='enum'/>
-     <exports symbol='XML_ERR_ENTITYREF_IN_DTD' type='enum'/>
-     <exports symbol='XML_XPATH_VARIABLE_REF_ERROR' 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_SCHEMAV_CVC_DATATYPE_VALID_1_2_3' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOTSIMPLE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID' type='enum'/>
-     <exports symbol='XML_IO_EADDRINUSE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_LIST_CHILD' type='enum'/>
-     <exports symbol='XML_DTD_UNKNOWN_ID' type='enum'/>
-     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3' type='enum'/>
-     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1' type='enum'/>
-     <exports symbol='XML_IO_EDOM' type='enum'/>
-     <exports symbol='XML_CHECK_NOT_ELEM_DECL' type='enum'/>
-     <exports symbol='XML_RNGP_DEFINE_CREATE_FAILED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_2_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_2_1' type='enum'/>
-     <exports symbol='XML_RNGP_INVALID_URI' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_LIST' type='enum'/>
-     <exports symbol='XML_RNGP_EXCEPT_NO_CONTENT' type='enum'/>
-     <exports symbol='XML_RNGP_EXTERNALREF_EMTPY' type='enum'/>
-     <exports symbol='XML_ERR_SPACE_REQUIRED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_MAXLENGTH_VALID' type='enum'/>
-     <exports symbol='XML_DTD_DIFFERENT_PREFIX' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOTDETERMINIST' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAV_MISSING' type='enum'/>
-     <exports symbol='XML_IO_EFAULT' type='enum'/>
-     <exports symbol='XML_XINCLUDE_XPTR_FAILED' type='enum'/>
-     <exports symbol='XML_FROM_FTP' type='enum'/>
-     <exports symbol='XML_RNGP_PARENTREF_CREATE_FAILED' type='enum'/>
-     <exports symbol='XML_ERR_RESERVED_XML_NAME' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_IMPORT_3_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_IMPORT_3_1' type='enum'/>
-     <exports symbol='XML_IO_EBADMSG' type='enum'/>
-     <exports symbol='XML_XPTR_RESOURCE_ERROR' type='enum'/>
-     <exports symbol='XML_RNGP_ATTR_CONFLICT' type='enum'/>
-     <exports symbol='XML_DTD_ELEM_REDEFINED' type='enum'/>
-     <exports symbol='XML_XINCLUDE_UNKNOWN_ENCODING' type='enum'/>
-     <exports symbol='XML_CATALOG_PREFER_VALUE' type='enum'/>
-     <exports symbol='XML_ERR_PEREF_SEMICOL_MISSING' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_IMPORT_1_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_IMPORT_1_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_TYPE_AND_SUBTYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NO_XMLNS' type='enum'/>
-     <exports symbol='XML_IO_ENOTDIR' type='enum'/>
-     <exports symbol='XML_SAVE_CHAR_INVALID' type='enum'/>
-     <exports symbol='XML_ERR_ENTITYREF_NO_NAME' type='enum'/>
-     <exports symbol='XML_DTD_ID_FIXED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_A_PROPS_CORRECT_3' type='enum'/>
-     <exports symbol='XML_SCHEMAP_A_PROPS_CORRECT_2' type='enum'/>
-     <exports symbol='XML_WAR_NS_COLUMN' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_2_1' type='enum'/>
-     <exports symbol='XML_ERR_EXTRA_CONTENT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_GROUP' type='enum'/>
-     <exports symbol='XML_ERR_LITERAL_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_REF_AND_SUBTYPE' type='enum'/>
-     <exports symbol='XML_RNGP_ELEM_TEXT_CONFLICT' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_TYPE_1' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_CHAR_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3' type='enum'/>
-     <exports symbol='XML_CHECK_NO_DICT' type='enum'/>
-     <exports symbol='XML_XINCLUDE_XPTR_RESULT' type='enum'/>
-     <exports symbol='XML_IO_ENXIO' type='enum'/>
-     <exports symbol='XML_XINCLUDE_FRAGMENT_ID' type='enum'/>
-     <exports symbol='XML_FROM_HTTP' type='enum'/>
-     <exports symbol='XML_DTD_NOTATION_REDEFINED' type='enum'/>
-     <exports symbol='XML_WAR_LANG_VALUE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_AU_PROPS_CORRECT' type='enum'/>
-     <exports symbol='XML_ERR_SEPARATOR_REQUIRED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED' type='enum'/>
-     <exports symbol='XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE' type='enum'/>
-     <exports symbol='XML_RNGP_ATTRIBUTE_CONTENT' type='enum'/>
-     <exports symbol='XML_DTD_XMLID_TYPE' type='enum'/>
-     <exports symbol='XML_RNGP_INTERLEAVE_ADD' type='enum'/>
-     <exports symbol='XML_DTD_ATTRIBUTE_REDEFINED' type='enum'/>
-     <exports symbol='XML_RNGP_UNKNOWN_ATTRIBUTE' type='enum'/>
-     <exports symbol='XML_ERR_UNDECLARED_ENTITY' type='enum'/>
-     <exports symbol='XML_ERR_PUBID_REQUIRED' type='enum'/>
-     <exports symbol='XML_IO_ENOTSOCK' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_GROUP' type='enum'/>
-     <exports symbol='XML_RNGP_NOTALLOWED_NOT_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_4' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_3' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_2' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_PREFIX_UNDEFINED' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_ATTR_ELEM' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_4_3' type='enum'/>
-     <exports symbol='XML_FTP_ACCNT' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_4_1' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_DATA' type='enum'/>
-     <exports symbol='XML_IO_ENOENT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2' type='enum'/>
-     <exports symbol='XML_FROM_C14N' type='enum'/>
-     <exports symbol='XML_IO_EIO' type='enum'/>
-     <exports symbol='XML_DTD_NOT_PCDATA' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_ATTR_COMBINATION' type='enum'/>
-     <exports symbol='XML_RNGP_PARAM_FORBIDDEN' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD' type='enum'/>
-     <exports symbol='XML_FROM_WRITER' type='enum'/>
-     <exports symbol='XML_ERR_UNSUPPORTED_ENCODING' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME' type='enum'/>
-     <exports symbol='XML_ERR_ENTITYREF_IN_PROLOG' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_IDC' type='enum'/>
-     <exports symbol='XML_IO_ENOTTY' type='enum'/>
-     <exports symbol='XML_SCHEMAP_WARN_SKIP_SCHEMA' type='enum'/>
-     <exports symbol='XML_DTD_UNKNOWN_NOTATION' type='enum'/>
-     <exports symbol='XML_FROM_DATATYPE' type='enum'/>
-     <exports symbol='XML_ERR_WARNING' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE' type='enum'/>
-     <exports symbol='XML_IO_EISDIR' type='enum'/>
-     <exports symbol='XML_XINCLUDE_MULTIPLE_ROOT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_UNION_CHILD' type='enum'/>
-     <exports symbol='XML_XPATH_MEMORY_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOROOT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_WARN_ATTR_REDECL_PROH' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_3_2_1' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_3_2_2' type='enum'/>
-     <exports symbol='XML_XPATH_UNCLOSED_ERROR' type='enum'/>
-     <exports symbol='XML_CHECK_FOUND_NOTATION' type='enum'/>
-     <exports symbol='XML_CHECK_NO_NEXT' type='enum'/>
-     <exports symbol='XML_CHECK_NOT_ATTR_DECL' type='enum'/>
-     <exports symbol='XML_CHECK_NO_PARENT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_TOTALDIGITS_VALID' type='enum'/>
-     <exports symbol='XML_IO_ENOLCK' type='enum'/>
-     <exports symbol='XML_XINCLUDE_DEPRECATED_NS' type='enum'/>
-     <exports symbol='XML_RNGP_CHOICE_EMPTY' type='enum'/>
-     <exports symbol='XML_ERR_LITERAL_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_ERR_ENTITYREF_SEMICOL_MISSING' type='enum'/>
-     <exports symbol='XML_DTD_MULTIPLE_ID' type='enum'/>
-     <exports symbol='XML_FROM_XPATH' type='enum'/>
-     <exports symbol='XML_TREE_INVALID_DEC' type='enum'/>
-     <exports symbol='XML_SCHEMAP_EXTENSION_NO_BASE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_5' type='enum'/>
-     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_4' type='enum'/>
-     <exports symbol='XML_CHECK_FOUND_DOCTYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_3' type='enum'/>
-     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NO_XSI' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_3' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_1' type='enum'/>
-     <exports symbol='XML_CHECK_NO_NAME' type='enum'/>
-     <exports symbol='XML_ERR_CONDSEC_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_CHECK_FOUND_PI' type='enum'/>
-     <exports symbol='XML_ERR_EQUAL_REQUIRED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_WHITE_SPACE' type='enum'/>
-     <exports symbol='XML_DTD_UNKNOWN_ATTRIBUTE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_5_1_2' type='enum'/>
-     <exports symbol='XML_RNGP_INTERLEAVE_CREATE_FAILED' type='enum'/>
-     <exports symbol='XML_IO_EAGAIN' type='enum'/>
-     <exports symbol='XML_ERR_NOTATION_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_DTD_ENTITY_TYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_4' type='enum'/>
-     <exports symbol='XML_RNGP_GRAMMAR_CONTENT' type='enum'/>
-     <exports symbol='XML_FTP_URL_SYNTAX' type='enum'/>
-     <exports symbol='XML_ERR_NONE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD' type='enum'/>
-     <exports symbol='XML_XPATH_NUMBER_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_FACET_TYPE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_ONEMORE' type='enum'/>
-     <exports symbol='XML_ERR_CONDSEC_INVALID' type='enum'/>
-     <exports symbol='XML_XINCLUDE_INCLUDE_IN_INCLUDE' type='enum'/>
-     <exports symbol='XML_ERR_ENTITYREF_IN_EPILOG' type='enum'/>
-     <exports symbol='XML_RNGP_GRAMMAR_MISSING' type='enum'/>
-     <exports symbol='XML_RNGP_GRAMMAR_NO_START' type='enum'/>
-     <exports symbol='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_LIST_INTERLEAVE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_3' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_REF' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_EMPTY' type='enum'/>
-     <exports symbol='XML_FROM_I18N' type='enum'/>
-     <exports symbol='XML_DTD_MISSING_ATTRIBUTE' type='enum'/>
-     <exports symbol='XML_IO_EMFILE' type='enum'/>
-     <exports symbol='XML_RNGP_EMPTY_NOT_EMPTY' type='enum'/>
-     <exports symbol='XML_ERR_VERSION_MISSING' type='enum'/>
-     <exports symbol='XML_IO_NO_INPUT' type='enum'/>
-     <exports symbol='XML_NS_ERR_UNDEFINED_NAMESPACE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_MINLENGTH_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_WILDCARD' type='enum'/>
-     <exports symbol='XML_IO_WRITE' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_PE_INTERNAL' type='enum'/>
-     <exports symbol='XML_DTD_XMLID_VALUE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1' type='enum'/>
-     <exports symbol='XML_CHECK_NOT_NS_DECL' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ELEM' type='enum'/>
-     <exports symbol='XML_IO_NETWORK_ATTEMPT' type='enum'/>
-     <exports symbol='XML_MODULE_CLOSE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_EMPTY' type='enum'/>
-     <exports symbol='XML_ERR_ATTLIST_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_XINCLUDE_TEXT_FRAGMENT' type='enum'/>
-     <exports symbol='XML_C14N_RELATIVE_NAMESPACE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_FAILED_LOAD' type='enum'/>
-     <exports symbol='XML_ERR_ATTRIBUTE_WITHOUT_VALUE' type='enum'/>
-     <exports symbol='XML_ERR_NAME_TOO_LONG' type='enum'/>
-     <exports symbol='XML_XPTR_SYNTAX_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_TYPE' type='enum'/>
-     <exports symbol='XML_CHECK_WRONG_DOC' type='enum'/>
-     <exports symbol='XML_NS_ERR_XML_NAMESPACE' type='enum'/>
-     <exports symbol='XML_ERR_DOCTYPE_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_XINCLUDE_PARSE_VALUE' type='enum'/>
-     <exports symbol='XML_RNGP_NSNAME_NO_NS' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_IMPORT_2_2' type='enum'/>
-     <exports symbol='XML_CHECK_FOUND_ELEMENT' type='enum'/>
-     <exports symbol='XML_RNGP_PARENTREF_NAME_INVALID' type='enum'/>
-     <exports symbol='XML_NS_ERR_QNAME' type='enum'/>
-     <exports symbol='XML_DTD_NOTATION_VALUE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_3' type='enum'/>
-     <exports symbol='XML_I18N_NO_NAME' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_1' type='enum'/>
-     <exports symbol='XML_RNGP_EXCEPT_MISSING' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_CT_EXTENDS_1_2' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ALL_CHILD' type='enum'/>
-     <exports symbol='XML_DTD_MIXED_CORRUPT' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_BOUNDARY' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ELEMFORMDEFAULT_VALUE' type='enum'/>
-     <exports symbol='XML_I18N_EXCESS_HANDLER' type='enum'/>
-     <exports symbol='XML_RNGP_DATA_CONTENT' type='enum'/>
-     <exports symbol='XML_ERR_STRING_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_RNGP_EXCEPT_MULTIPLE' type='enum'/>
-     <exports symbol='XML_IO_EDEADLK' type='enum'/>
-     <exports symbol='XML_ERR_ATTRIBUTE_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE' type='enum'/>
-     <exports symbol='XML_IO_EINVAL' type='enum'/>
-     <exports symbol='XML_IO_ENAMETOOLONG' type='enum'/>
-     <exports symbol='XML_RNGP_EXTERNAL_REF_FAILURE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_TEXT' type='enum'/>
-     <exports symbol='XML_CHECK_NO_DOC' type='enum'/>
-     <exports symbol='XML_DTD_INVALID_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_PATTERN_VALID' type='enum'/>
-     <exports symbol='XML_RNGP_TYPE_MISSING' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1' type='enum'/>
-     <exports symbol='XML_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_SCHEMAV_MISC' type='enum'/>
-     <exports symbol='XML_IO_ECONNREFUSED' type='enum'/>
-     <exports symbol='XML_ERR_XMLDECL_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_P_PROPS_CORRECT_1' type='enum'/>
-     <exports symbol='XML_CHECK_FOUND_ENTITYREF' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_2_1' type='enum'/>
-     <exports symbol='XML_XINCLUDE_BUILD_FAILED' type='enum'/>
-     <exports symbol='XML_ERR_PEREF_NO_NAME' type='enum'/>
-     <exports symbol='XML_ERR_ENTITYREF_AT_EOF' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOATTR_NOREF' type='enum'/>
-     <exports symbol='XML_RNGP_ATTRIBUTE_CHILDREN' type='enum'/>
-     <exports symbol='XML_XPATH_UNDEF_PREFIX_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_1' type='enum'/>
-     <exports symbol='XML_SAVE_NO_DOCTYPE' type='enum'/>
-     <exports symbol='XML_ERR_PEREF_IN_EPILOG' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_4' type='enum'/>
-     <exports symbol='XML_SCHEMAP_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_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_SCHEMAV_CVC_ELT_3_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_1' type='enum'/>
-     <exports symbol='XML_ERR_MIXED_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_DTD_STANDALONE_WHITE_SPACE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_FACET' type='enum'/>
-     <exports symbol='XML_IO_ENOTEMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAV_WRONGELEM' type='enum'/>
-     <exports symbol='XML_RNGP_TYPE_NOT_FOUND' type='enum'/>
-     <exports symbol='XML_IO_BUFFER_FULL' type='enum'/>
-     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_6' 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_ELT_6' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_TYPE' type='enum'/>
-     <exports symbol='XML_ERR_CDATA_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_TYPE_3_1_2' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_TYPE_3_1_1' type='enum'/>
-     <exports symbol='XML_CHECK_NS_ANCESTOR' type='enum'/>
-     <exports symbol='XML_ERR_DOCUMENT_END' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ENUMERATION_VALID' type='enum'/>
-     <exports symbol='XML_ERR_CHARREF_IN_PROLOG' type='enum'/>
-     <exports symbol='XML_RNGP_INVALID_DEFINE_NAME' type='enum'/>
-     <exports symbol='XML_SAVE_UNKNOWN_ENCODING' type='enum'/>
-     <exports symbol='XML_ERR_CONDSEC_INVALID_KEYWORD' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_7' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOTYPE' type='enum'/>
-     <exports symbol='XML_ERR_NO_MEMORY' type='enum'/>
-     <exports symbol='XML_FROM_IO' type='enum'/>
-     <exports symbol='XML_HTML_UNKNOWN_TAG' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_ATTR_NAME' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_ATTR' type='enum'/>
-     <exports symbol='XML_CHECK_WRONG_NAME' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOTEMPTY' type='enum'/>
-     <exports symbol='XML_IO_EROFS' type='enum'/>
-     <exports symbol='XML_IO_EXDEV' type='enum'/>
-     <exports symbol='XML_XINCLUDE_NO_FALLBACK' type='enum'/>
-     <exports symbol='XML_RNGP_URI_FRAGMENT' type='enum'/>
-     <exports symbol='XML_FROM_MEMORY' type='enum'/>
-     <exports symbol='XML_ERR_MISSING_ENCODING' type='enum'/>
-     <exports symbol='XML_RNGP_ELEMENT_CONTENT' type='enum'/>
-     <exports symbol='XML_RNGP_UNKNOWN_TYPE_LIB' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOT_DETERMINISTIC' type='enum'/>
-     <exports symbol='XML_XPATH_EXPRESSION_OK' type='enum'/>
-     <exports symbol='XML_HTTP_UNKNOWN_HOST' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_DTD_NO_DTD' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_ONEMORE_GROUP_ATTR' type='enum'/>
-     <exports symbol='XML_ERR_VALUE_REQUIRED' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_LIST_TEXT' type='enum'/>
-     <exports symbol='XML_RNGP_URI_NOT_ABSOLUTE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ATTR' type='enum'/>
-     <exports symbol='XML_FTP_PASV_ANSWER' type='enum'/>
-     <exports symbol='XML_ERR_VERSION_MISMATCH' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_BOOLEAN' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_4_2' type='enum'/>
-     <exports symbol='XML_DTD_ELEM_DEFAULT_NAMESPACE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_4' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REGEXP_INVALID' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_1' type='enum'/>
-     <exports symbol='XML_C14N_CREATE_STACK' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_1' type='enum'/>
-     <exports symbol='XML_FROM_RELAXNGV' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME' type='enum'/>
-     <exports symbol='XML_CHECK_ENTITY_TYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CONSTRUCT' type='enum'/>
-     <exports symbol='XML_RNGP_EXTERNALREF_RECURSE' type='enum'/>
-     <exports symbol='XML_RNGP_CHOICE_CONTENT' type='enum'/>
-     <exports symbol='XML_RNGP_UNKNOWN_COMBINE' type='enum'/>
-     <exports symbol='XML_RNGP_START_EMPTY' type='enum'/>
-     <exports symbol='XML_IO_ENCODER' type='enum'/>
-     <exports symbol='XML_WAR_NS_URI' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ATTRGRP_NONAME_NOREF' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_IS_EXTERNAL' type='enum'/>
-     <exports symbol='XML_WAR_UNDECLARED_ENTITY' type='enum'/>
-     <exports symbol='XML_SCHEMAV_ATTRUNKNOWN' type='enum'/>
-     <exports symbol='XML_IO_ENODEV' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_REF' type='enum'/>
-     <exports symbol='XML_FROM_PARSER' type='enum'/>
-     <exports symbol='XML_C14N_CREATE_CTXT' type='enum'/>
-     <exports symbol='XML_XINCLUDE_TEXT_DOCUMENT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_PREFIX' type='enum'/>
-     <exports symbol='XML_XINCLUDE_FALLBACKS_IN_INCLUDE' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_TYPE' type='enum'/>
-     <exports symbol='XML_CHECK_NS_SCOPE' type='enum'/>
-     <exports symbol='XML_IO_FLUSH' type='enum'/>
-     <exports symbol='XML_CATALOG_ENTRY_BROKEN' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_CTXT_POSITION' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_LENGTH_VALID' type='enum'/>
-     <exports symbol='XML_DTD_STANDALONE_DEFAULTED' type='enum'/>
-     <exports symbol='XML_DTD_UNKNOWN_ELEM' type='enum'/>
-     <exports symbol='XML_WAR_SPACE_VALUE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_FACET_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOTATION_NO_NAME' type='enum'/>
-     <exports symbol='XML_XPATH_START_LITERAL_ERROR' type='enum'/>
-     <exports symbol='XML_ERR_ELEMCONTENT_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_RNGP_INCLUDE_FAILURE' type='enum'/>
-     <exports symbol='XML_ERR_COMMENT_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2' type='enum'/>
      <exports symbol='XML_BUF_OVERFLOW' type='enum'/>
-     <exports symbol='XML_IO_EMSGSIZE' type='enum'/>
-     <exports symbol='XML_FROM_CATALOG' type='enum'/>
-     <exports symbol='XML_SCHEMAV_ATTRINVALID' type='enum'/>
-     <exports symbol='XML_NS_ERR_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_2' type='enum'/>
-     <exports symbol='XML_FROM_HTML' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_MAXOCCURS' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD' type='enum'/>
-     <exports symbol='XML_RNGP_ELEMENT_NAME' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_VALUE' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_ARITY' type='enum'/>
-     <exports symbol='XML_RNGP_ERROR_TYPE_LIB' type='enum'/>
-     <exports symbol='XML_XPTR_EVAL_FAILED' type='enum'/>
-     <exports symbol='XML_DTD_NO_ROOT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_IMPORT_REDEFINE_NSNAME' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ATTR_CHILD' type='enum'/>
-     <exports symbol='XML_ERR_UNKNOWN_ENCODING' type='enum'/>
-     <exports symbol='XML_RNGP_REF_NO_NAME' type='enum'/>
-     <exports symbol='XML_C14N_UNKNOW_NODE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REF_AND_SUBTYPE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR' type='enum'/>
+     <exports symbol='XML_C14N_CREATE_CTXT' type='enum'/>
+     <exports symbol='XML_C14N_CREATE_STACK' type='enum'/>
      <exports symbol='XML_C14N_INVALID_NODE' type='enum'/>
-     <exports symbol='XML_RNGP_TEXT_EXPECTED' type='enum'/>
-     <exports symbol='XML_XPATH_UNDEF_VARIABLE_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOROLLBACK' type='enum'/>
-     <exports symbol='XML_SCHEMAV_FACET' type='enum'/>
-     <exports symbol='XML_ERR_INVALID_DEC_CHARREF' type='enum'/>
-     <exports symbol='XML_RNGP_NEED_COMBINE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOTTOPLEVEL' type='enum'/>
+     <exports symbol='XML_C14N_RELATIVE_NAMESPACE' type='enum'/>
+     <exports symbol='XML_C14N_REQUIRES_UTF8' type='enum'/>
+     <exports symbol='XML_C14N_UNKNOW_NODE' type='enum'/>
+     <exports symbol='XML_CATALOG_ENTRY_BROKEN' type='enum'/>
      <exports symbol='XML_CATALOG_MISSING_ATTR' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_LIST_LIST' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_TYPE_2' type='enum'/>
-     <exports symbol='XML_RNGP_EXCEPT_EMPTY' type='enum'/>
-     <exports symbol='XML_XPATH_UNFINISHED_LITERAL_ERROR' type='enum'/>
-     <exports symbol='XML_RNGP_INTERLEAVE_NO_CONTENT' type='enum'/>
-     <exports symbol='XML_ERR_INVALID_HEX_CHARREF' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF' type='enum'/>
-     <exports symbol='XML_ERR_CHARREF_IN_DTD' type='enum'/>
-     <exports symbol='XML_IO_ENFILE' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_IS_PARAMETER' type='enum'/>
-     <exports symbol='XML_I18N_CONV_FAILED' type='enum'/>
+     <exports symbol='XML_CATALOG_NOT_CATALOG' type='enum'/>
+     <exports symbol='XML_CATALOG_PREFER_VALUE' type='enum'/>
+     <exports symbol='XML_CATALOG_RECURSION' type='enum'/>
+     <exports symbol='XML_CHECK_ENTITY_TYPE' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_CDATA' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_COMMENT' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_DOCTYPE' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_ELEMENT' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_ENTITY' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_ENTITYREF' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_FRAGMENT' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_NOTATION' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_PI' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_TEXT' type='enum'/>
+     <exports symbol='XML_CHECK_NAME_NOT_NULL' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_ATTR' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_ATTR_DECL' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_DTD' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_ELEM_DECL' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_ENTITY_DECL' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_NCNAME' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_NS_DECL' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_UTF8' type='enum'/>
+     <exports symbol='XML_CHECK_NO_DICT' type='enum'/>
+     <exports symbol='XML_CHECK_NO_DOC' type='enum'/>
+     <exports symbol='XML_CHECK_NO_ELEM' type='enum'/>
+     <exports symbol='XML_CHECK_NO_HREF' type='enum'/>
+     <exports symbol='XML_CHECK_NO_NAME' type='enum'/>
+     <exports symbol='XML_CHECK_NO_NEXT' type='enum'/>
+     <exports symbol='XML_CHECK_NO_PARENT' type='enum'/>
+     <exports symbol='XML_CHECK_NO_PREV' type='enum'/>
+     <exports symbol='XML_CHECK_NS_ANCESTOR' type='enum'/>
+     <exports symbol='XML_CHECK_NS_SCOPE' type='enum'/>
+     <exports symbol='XML_CHECK_OUTSIDE_DICT' type='enum'/>
+     <exports symbol='XML_CHECK_UNKNOWN_NODE' type='enum'/>
+     <exports symbol='XML_CHECK_WRONG_DOC' type='enum'/>
+     <exports symbol='XML_CHECK_WRONG_NAME' type='enum'/>
+     <exports symbol='XML_CHECK_WRONG_NEXT' type='enum'/>
      <exports symbol='XML_CHECK_WRONG_PARENT' type='enum'/>
-     <exports symbol='XML_RNGP_PARENTREF_NO_NAME' type='enum'/>
-     <exports symbol='XML_IO_EPERM' type='enum'/>
-     <exports symbol='XML_IO_ENETUNREACH' type='enum'/>
+     <exports symbol='XML_CHECK_WRONG_PREV' type='enum'/>
+     <exports symbol='XML_DTD_ATTRIBUTE_DEFAULT' type='enum'/>
+     <exports symbol='XML_DTD_ATTRIBUTE_REDEFINED' type='enum'/>
+     <exports symbol='XML_DTD_ATTRIBUTE_VALUE' type='enum'/>
+     <exports symbol='XML_DTD_CONTENT_ERROR' type='enum'/>
+     <exports symbol='XML_DTD_CONTENT_MODEL' type='enum'/>
+     <exports symbol='XML_DTD_CONTENT_NOT_DETERMINIST' type='enum'/>
+     <exports symbol='XML_DTD_DIFFERENT_PREFIX' type='enum'/>
+     <exports symbol='XML_DTD_DUP_TOKEN' type='enum'/>
+     <exports symbol='XML_DTD_ELEM_DEFAULT_NAMESPACE' type='enum'/>
+     <exports symbol='XML_DTD_ELEM_NAMESPACE' type='enum'/>
+     <exports symbol='XML_DTD_ELEM_REDEFINED' type='enum'/>
+     <exports symbol='XML_DTD_EMPTY_NOTATION' type='enum'/>
+     <exports symbol='XML_DTD_ENTITY_TYPE' type='enum'/>
+     <exports symbol='XML_DTD_ID_FIXED' type='enum'/>
+     <exports symbol='XML_DTD_ID_REDEFINED' type='enum'/>
+     <exports symbol='XML_DTD_ID_SUBSET' type='enum'/>
+     <exports symbol='XML_DTD_INVALID_CHILD' type='enum'/>
+     <exports symbol='XML_DTD_INVALID_DEFAULT' type='enum'/>
+     <exports symbol='XML_DTD_LOAD_ERROR' type='enum'/>
+     <exports symbol='XML_DTD_MISSING_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_DTD_MIXED_CORRUPT' type='enum'/>
+     <exports symbol='XML_DTD_MULTIPLE_ID' type='enum'/>
+     <exports symbol='XML_DTD_NOTATION_REDEFINED' type='enum'/>
+     <exports symbol='XML_DTD_NOTATION_VALUE' type='enum'/>
+     <exports symbol='XML_DTD_NOT_EMPTY' type='enum'/>
+     <exports symbol='XML_DTD_NOT_PCDATA' type='enum'/>
+     <exports symbol='XML_DTD_NOT_STANDALONE' type='enum'/>
+     <exports symbol='XML_DTD_NO_DOC' type='enum'/>
+     <exports symbol='XML_DTD_NO_DTD' type='enum'/>
+     <exports symbol='XML_DTD_NO_ELEM_NAME' type='enum'/>
+     <exports symbol='XML_DTD_NO_PREFIX' type='enum'/>
+     <exports symbol='XML_DTD_NO_ROOT' type='enum'/>
+     <exports symbol='XML_DTD_ROOT_NAME' type='enum'/>
+     <exports symbol='XML_DTD_STANDALONE_DEFAULTED' type='enum'/>
+     <exports symbol='XML_DTD_STANDALONE_WHITE_SPACE' type='enum'/>
+     <exports symbol='XML_DTD_UNKNOWN_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_DTD_UNKNOWN_ELEM' type='enum'/>
+     <exports symbol='XML_DTD_UNKNOWN_ENTITY' type='enum'/>
+     <exports symbol='XML_DTD_UNKNOWN_ID' type='enum'/>
+     <exports symbol='XML_DTD_UNKNOWN_NOTATION' type='enum'/>
+     <exports symbol='XML_DTD_XMLID_TYPE' type='enum'/>
+     <exports symbol='XML_DTD_XMLID_VALUE' type='enum'/>
+     <exports symbol='XML_ERR_ATTLIST_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_ATTLIST_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_ERR_ATTRIBUTE_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_ATTRIBUTE_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_ERR_ATTRIBUTE_REDEFINED' type='enum'/>
+     <exports symbol='XML_ERR_ATTRIBUTE_WITHOUT_VALUE' type='enum'/>
+     <exports symbol='XML_ERR_CDATA_NOT_FINISHED' type='enum'/>
      <exports symbol='XML_ERR_CHARREF_AT_EOF' type='enum'/>
+     <exports symbol='XML_ERR_CHARREF_IN_DTD' type='enum'/>
+     <exports symbol='XML_ERR_CHARREF_IN_EPILOG' type='enum'/>
+     <exports symbol='XML_ERR_CHARREF_IN_PROLOG' type='enum'/>
+     <exports symbol='XML_ERR_COMMENT_ABRUPTLY_ENDED' type='enum'/>
+     <exports symbol='XML_ERR_COMMENT_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_CONDSEC_INVALID' type='enum'/>
+     <exports symbol='XML_ERR_CONDSEC_INVALID_KEYWORD' type='enum'/>
+     <exports symbol='XML_ERR_CONDSEC_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_CONDSEC_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_ERR_DOCTYPE_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_DOCUMENT_EMPTY' type='enum'/>
+     <exports symbol='XML_ERR_DOCUMENT_END' type='enum'/>
+     <exports symbol='XML_ERR_DOCUMENT_START' type='enum'/>
+     <exports symbol='XML_ERR_ELEMCONTENT_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_ELEMCONTENT_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_ERR_ENCODING_NAME' type='enum'/>
+     <exports symbol='XML_ERR_ENTITYREF_AT_EOF' type='enum'/>
+     <exports symbol='XML_ERR_ENTITYREF_IN_DTD' type='enum'/>
+     <exports symbol='XML_ERR_ENTITYREF_IN_EPILOG' type='enum'/>
+     <exports symbol='XML_ERR_ENTITYREF_IN_PROLOG' type='enum'/>
+     <exports symbol='XML_ERR_ENTITYREF_NO_NAME' type='enum'/>
+     <exports symbol='XML_ERR_ENTITYREF_SEMICOL_MISSING' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_BOUNDARY' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_CHAR_ERROR' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_IS_EXTERNAL' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_IS_PARAMETER' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_LOOP' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_PE_INTERNAL' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_PROCESSING' type='enum'/>
+     <exports symbol='XML_ERR_EQUAL_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_ERROR' type='enum'/>
+     <exports symbol='XML_ERR_EXTRA_CONTENT' type='enum'/>
+     <exports symbol='XML_ERR_EXT_ENTITY_STANDALONE' type='enum'/>
+     <exports symbol='XML_ERR_EXT_SUBSET_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_FATAL' type='enum'/>
+     <exports symbol='XML_ERR_GT_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_HYPHEN_IN_COMMENT' type='enum'/>
+     <exports symbol='XML_ERR_INTERNAL_ERROR' type='enum'/>
+     <exports symbol='XML_ERR_INVALID_CHAR' type='enum'/>
+     <exports symbol='XML_ERR_INVALID_CHARREF' type='enum'/>
+     <exports symbol='XML_ERR_INVALID_DEC_CHARREF' type='enum'/>
+     <exports symbol='XML_ERR_INVALID_ENCODING' type='enum'/>
+     <exports symbol='XML_ERR_INVALID_HEX_CHARREF' type='enum'/>
+     <exports symbol='XML_ERR_INVALID_URI' type='enum'/>
+     <exports symbol='XML_ERR_LITERAL_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_LITERAL_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_ERR_LTSLASH_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_LT_IN_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_ERR_LT_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_MISPLACED_CDATA_END' type='enum'/>
+     <exports symbol='XML_ERR_MISSING_ENCODING' type='enum'/>
+     <exports symbol='XML_ERR_MIXED_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_MIXED_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_ERR_NAME_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_NAME_TOO_LONG' type='enum'/>
+     <exports symbol='XML_ERR_NMTOKEN_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_NONE' type='enum'/>
+     <exports symbol='XML_ERR_NOTATION_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_NOTATION_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_ERR_NOTATION_PROCESSING' type='enum'/>
+     <exports symbol='XML_ERR_NOT_STANDALONE' type='enum'/>
+     <exports symbol='XML_ERR_NOT_WELL_BALANCED' type='enum'/>
+     <exports symbol='XML_ERR_NO_DTD' type='enum'/>
+     <exports symbol='XML_ERR_NO_MEMORY' type='enum'/>
+     <exports symbol='XML_ERR_NS_DECL_ERROR' type='enum'/>
+     <exports symbol='XML_ERR_OK' type='enum'/>
+     <exports symbol='XML_ERR_PCDATA_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_PEREF_AT_EOF' type='enum'/>
+     <exports symbol='XML_ERR_PEREF_IN_EPILOG' type='enum'/>
+     <exports symbol='XML_ERR_PEREF_IN_INT_SUBSET' type='enum'/>
+     <exports symbol='XML_ERR_PEREF_IN_PROLOG' type='enum'/>
+     <exports symbol='XML_ERR_PEREF_NO_NAME' type='enum'/>
+     <exports symbol='XML_ERR_PEREF_SEMICOL_MISSING' type='enum'/>
+     <exports symbol='XML_ERR_PI_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_PI_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_ERR_PUBID_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_RESERVED_XML_NAME' type='enum'/>
+     <exports symbol='XML_ERR_SEPARATOR_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_SPACE_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_STANDALONE_VALUE' type='enum'/>
+     <exports symbol='XML_ERR_STRING_NOT_CLOSED' type='enum'/>
+     <exports symbol='XML_ERR_STRING_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_ERR_TAG_NAME_MISMATCH' type='enum'/>
+     <exports symbol='XML_ERR_TAG_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_UNDECLARED_ENTITY' type='enum'/>
+     <exports symbol='XML_ERR_UNKNOWN_ENCODING' type='enum'/>
+     <exports symbol='XML_ERR_UNKNOWN_VERSION' type='enum'/>
+     <exports symbol='XML_ERR_UNPARSED_ENTITY' type='enum'/>
+     <exports symbol='XML_ERR_UNSUPPORTED_ENCODING' type='enum'/>
+     <exports symbol='XML_ERR_URI_FRAGMENT' type='enum'/>
+     <exports symbol='XML_ERR_URI_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_USER_STOP' type='enum'/>
+     <exports symbol='XML_ERR_VALUE_REQUIRED' type='enum'/>
+     <exports symbol='XML_ERR_VERSION_MISMATCH' type='enum'/>
+     <exports symbol='XML_ERR_VERSION_MISSING' type='enum'/>
+     <exports symbol='XML_ERR_WARNING' type='enum'/>
+     <exports symbol='XML_ERR_XMLDECL_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_XMLDECL_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_FROM_BUFFER' type='enum'/>
+     <exports symbol='XML_FROM_C14N' type='enum'/>
+     <exports symbol='XML_FROM_CATALOG' type='enum'/>
+     <exports symbol='XML_FROM_CHECK' type='enum'/>
+     <exports symbol='XML_FROM_DATATYPE' type='enum'/>
+     <exports symbol='XML_FROM_DTD' type='enum'/>
+     <exports symbol='XML_FROM_FTP' type='enum'/>
+     <exports symbol='XML_FROM_HTML' type='enum'/>
+     <exports symbol='XML_FROM_HTTP' type='enum'/>
+     <exports symbol='XML_FROM_I18N' type='enum'/>
+     <exports symbol='XML_FROM_IO' type='enum'/>
+     <exports symbol='XML_FROM_MEMORY' type='enum'/>
+     <exports symbol='XML_FROM_MODULE' type='enum'/>
+     <exports symbol='XML_FROM_NAMESPACE' type='enum'/>
+     <exports symbol='XML_FROM_NONE' type='enum'/>
+     <exports symbol='XML_FROM_OUTPUT' type='enum'/>
+     <exports symbol='XML_FROM_PARSER' type='enum'/>
+     <exports symbol='XML_FROM_REGEXP' type='enum'/>
+     <exports symbol='XML_FROM_RELAXNGP' type='enum'/>
+     <exports symbol='XML_FROM_RELAXNGV' type='enum'/>
+     <exports symbol='XML_FROM_SCHEMASP' type='enum'/>
+     <exports symbol='XML_FROM_SCHEMASV' type='enum'/>
+     <exports symbol='XML_FROM_SCHEMATRONV' type='enum'/>
+     <exports symbol='XML_FROM_TREE' type='enum'/>
+     <exports symbol='XML_FROM_URI' type='enum'/>
+     <exports symbol='XML_FROM_VALID' type='enum'/>
+     <exports symbol='XML_FROM_WRITER' type='enum'/>
+     <exports symbol='XML_FROM_XINCLUDE' type='enum'/>
+     <exports symbol='XML_FROM_XPATH' type='enum'/>
+     <exports symbol='XML_FROM_XPOINTER' type='enum'/>
+     <exports symbol='XML_FROM_XSLT' type='enum'/>
+     <exports symbol='XML_FTP_ACCNT' type='enum'/>
+     <exports symbol='XML_FTP_EPSV_ANSWER' type='enum'/>
+     <exports symbol='XML_FTP_PASV_ANSWER' type='enum'/>
+     <exports symbol='XML_FTP_URL_SYNTAX' type='enum'/>
+     <exports symbol='XML_HTML_INCORRECTLY_OPENED_COMMENT' type='enum'/>
+     <exports symbol='XML_HTML_STRUCURE_ERROR' type='enum'/>
+     <exports symbol='XML_HTML_UNKNOWN_TAG' type='enum'/>
+     <exports symbol='XML_HTTP_UNKNOWN_HOST' type='enum'/>
+     <exports symbol='XML_HTTP_URL_SYNTAX' type='enum'/>
+     <exports symbol='XML_HTTP_USE_IP' type='enum'/>
+     <exports symbol='XML_I18N_CONV_FAILED' type='enum'/>
+     <exports symbol='XML_I18N_EXCESS_HANDLER' type='enum'/>
+     <exports symbol='XML_I18N_NO_HANDLER' type='enum'/>
+     <exports symbol='XML_I18N_NO_NAME' type='enum'/>
+     <exports symbol='XML_I18N_NO_OUTPUT' type='enum'/>
+     <exports symbol='XML_IO_BUFFER_FULL' type='enum'/>
+     <exports symbol='XML_IO_EACCES' type='enum'/>
+     <exports symbol='XML_IO_EADDRINUSE' type='enum'/>
+     <exports symbol='XML_IO_EAFNOSUPPORT' type='enum'/>
+     <exports symbol='XML_IO_EAGAIN' type='enum'/>
+     <exports symbol='XML_IO_EALREADY' type='enum'/>
+     <exports symbol='XML_IO_EBADF' type='enum'/>
+     <exports symbol='XML_IO_EBADMSG' type='enum'/>
+     <exports symbol='XML_IO_EBUSY' type='enum'/>
+     <exports symbol='XML_IO_ECANCELED' type='enum'/>
+     <exports symbol='XML_IO_ECHILD' type='enum'/>
+     <exports symbol='XML_IO_ECONNREFUSED' type='enum'/>
+     <exports symbol='XML_IO_EDEADLK' type='enum'/>
+     <exports symbol='XML_IO_EDOM' type='enum'/>
+     <exports symbol='XML_IO_EEXIST' type='enum'/>
+     <exports symbol='XML_IO_EFAULT' type='enum'/>
+     <exports symbol='XML_IO_EFBIG' type='enum'/>
+     <exports symbol='XML_IO_EINPROGRESS' type='enum'/>
+     <exports symbol='XML_IO_EINTR' type='enum'/>
+     <exports symbol='XML_IO_EINVAL' type='enum'/>
+     <exports symbol='XML_IO_EIO' type='enum'/>
+     <exports symbol='XML_IO_EISCONN' type='enum'/>
+     <exports symbol='XML_IO_EISDIR' type='enum'/>
+     <exports symbol='XML_IO_EMFILE' type='enum'/>
+     <exports symbol='XML_IO_EMLINK' type='enum'/>
+     <exports symbol='XML_IO_EMSGSIZE' type='enum'/>
+     <exports symbol='XML_IO_ENAMETOOLONG' type='enum'/>
+     <exports symbol='XML_IO_ENCODER' type='enum'/>
+     <exports symbol='XML_IO_ENETUNREACH' type='enum'/>
+     <exports symbol='XML_IO_ENFILE' type='enum'/>
+     <exports symbol='XML_IO_ENODEV' type='enum'/>
+     <exports symbol='XML_IO_ENOENT' type='enum'/>
+     <exports symbol='XML_IO_ENOEXEC' type='enum'/>
+     <exports symbol='XML_IO_ENOLCK' type='enum'/>
      <exports symbol='XML_IO_ENOMEM' type='enum'/>
      <exports symbol='XML_IO_ENOSPC' type='enum'/>
-     <exports symbol='XML_FROM_NONE' type='enum'/>
-     <exports symbol='XML_RNGP_TYPE_VALUE' type='enum'/>
-     <exports symbol='XML_FROM_REGEXP' type='enum'/>
-     <exports symbol='XML_RNGP_DEF_CHOICE_AND_INTERLEAVE' type='enum'/>
-     <exports symbol='XML_TREE_UNTERMINATED_ENTITY' type='enum'/>
-     <exports symbol='XML_ERR_URI_REQUIRED' type='enum'/>
-     <exports symbol='XML_FROM_TREE' type='enum'/>
-     <exports symbol='XML_ERR_EXT_ENTITY_STANDALONE' type='enum'/>
-     <exports symbol='XML_TREE_INVALID_HEX' type='enum'/>
-     <exports symbol='XML_C14N_REQUIRES_UTF8' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_PROCESSING' type='enum'/>
-     <exports symbol='XML_FROM_XINCLUDE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_CVC_SIMPLE_TYPE' type='enum'/>
-     <exports symbol='XML_RNGP_GRAMMAR_EMPTY' type='enum'/>
-     <exports symbol='XML_CHECK_NOT_NCNAME' type='enum'/>
-     <exports symbol='XML_RNGP_ELEMENT_NO_CONTENT' type='enum'/>
-     <exports symbol='XML_XINCLUDE_NO_HREF' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_OPERAND' type='enum'/>
-     <exports symbol='XML_IO_ENOEXEC' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_LIST_REF' type='enum'/>
-     <exports symbol='XML_XINCLUDE_HREF_URI' type='enum'/>
-     <exports symbol='XML_SCHEMAP_FAILED_PARSE' type='enum'/>
-     <exports symbol='XML_RNGP_HREF_ERROR' type='enum'/>
-     <exports symbol='XML_ERR_ATTRIBUTE_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ATTR_NONAME_NOREF' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE' type='enum'/>
-     <exports symbol='XML_MODULE_OPEN' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_CHAR_ERROR' type='enum'/>
-     <exports symbol='XML_DTD_UNKNOWN_ENTITY' type='enum'/>
-     <exports symbol='XML_RNGP_PARSE_ERROR' type='enum'/>
-     <exports symbol='XML_ERR_NOTATION_PROCESSING' type='enum'/>
-     <exports symbol='XML_RNGP_XML_NS' type='enum'/>
-     <exports symbol='XML_ERR_MISPLACED_CDATA_END' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ONEMORE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_CT_EXTENDS_1_1' type='enum'/>
-     <exports symbol='XML_RNGP_REF_CREATE_FAILED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_CT_EXTENDS_1_3' type='enum'/>
-     <exports symbol='XML_DTD_ROOT_NAME' type='enum'/>
-     <exports symbol='XML_RNGP_REF_NOT_EMPTY' type='enum'/>
-     <exports symbol='XML_CHECK_NO_HREF' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_CHOICE_CHILD' type='enum'/>
-     <exports symbol='XML_RNGP_ELEM_CONTENT_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAV_HAVEDEFAULT' type='enum'/>
-     <exports symbol='XML_I18N_NO_HANDLER' type='enum'/>
-     <exports symbol='XML_RNGP_MISSING_HREF' type='enum'/>
-     <exports symbol='XML_ERR_PI_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_ERR_UNKNOWN_VERSION' type='enum'/>
-     <exports symbol='XML_FROM_RELAXNGP' type='enum'/>
-     <exports symbol='XML_FROM_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAP_S4S_ATTR_INVALID_VALUE' type='enum'/>
-     <exports symbol='XML_CHECK_FOUND_TEXT' type='enum'/>
-     <exports symbol='XML_ERR_NO_DTD' type='enum'/>
-     <exports symbol='XML_RNGP_START_CHOICE_AND_INTERLEAVE' type='enum'/>
-     <exports symbol='XML_FROM_XSLT' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_LIST_ATTR' type='enum'/>
-     <exports symbol='XML_IO_EACCES' type='enum'/>
-     <exports symbol='XML_ERR_NOTATION_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMATRONV_ASSERT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2' type='enum'/>
-     <exports symbol='XML_SCHEMAV_INVALIDATTR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_RECURSIVE' type='enum'/>
-     <exports symbol='XML_HTTP_URL_SYNTAX' type='enum'/>
-     <exports symbol='XML_SCHEMAP_GROUP_NONAME_NOREF' type='enum'/>
-     <exports symbol='XML_DTD_DUP_TOKEN' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4' type='enum'/>
-     <exports symbol='XML_SCHEMAP_S4S_ELEM_MISSING' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_5_1_1' type='enum'/>
-     <exports symbol='XML_CHECK_FOUND_FRAGMENT' type='enum'/>
-     <exports symbol='XML_DTD_LOAD_ERROR' type='enum'/>
-     <exports symbol='XML_CHECK_UNKNOWN_NODE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAP_C_PROPS_CORRECT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_CT_1' type='enum'/>
-     <exports symbol='XML_RNGP_EMPTY_CONTENT' type='enum'/>
-     <exports symbol='XML_IO_EALREADY' type='enum'/>
-     <exports symbol='XML_IO_ERANGE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1' type='enum'/>
      <exports symbol='XML_IO_ENOSYS' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOTHING_TO_PARSE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_CTXT_SIZE' type='enum'/>
-     <exports symbol='XML_CHECK_NO_ELEM' type='enum'/>
-     <exports symbol='XML_XPATH_EXPR_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI' type='enum'/>
-     <exports symbol='XML_RNGP_DEFINE_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2' type='enum'/>
-     <exports symbol='XML_CHECK_FOUND_ENTITY' type='enum'/>
-     <exports symbol='XML_CHECK_NAME_NOT_NULL' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_MINOCCURS' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ALL_LIMITED' type='enum'/>
-     <exports symbol='XML_SCHEMATRONV_REPORT' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' type='enum'/>
+     <exports symbol='XML_IO_ENOTDIR' type='enum'/>
+     <exports symbol='XML_IO_ENOTEMPTY' type='enum'/>
+     <exports symbol='XML_IO_ENOTSOCK' type='enum'/>
+     <exports symbol='XML_IO_ENOTSUP' type='enum'/>
+     <exports symbol='XML_IO_ENOTTY' type='enum'/>
+     <exports symbol='XML_IO_ENXIO' type='enum'/>
+     <exports symbol='XML_IO_EPERM' type='enum'/>
      <exports symbol='XML_IO_EPIPE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOTYPE_NOREF' type='enum'/>
-     <exports symbol='XML_RNGP_ATTRIBUTE_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3' type='enum'/>
-     <exports symbol='XML_IO_LOAD_ERROR' type='enum'/>
-     <exports symbol='XML_CHECK_NOT_ENTITY_DECL' type='enum'/>
-     <exports symbol='XML_RNGP_CREATE_FAILURE' type='enum'/>
-     <exports symbol='XML_IO_EBADF' type='enum'/>
-     <exports symbol='XML_RNGP_PREFIX_UNDEFINED' type='enum'/>
-     <exports symbol='XML_ERR_HYPHEN_IN_COMMENT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE' type='enum'/>
-     <exports symbol='XML_RNGP_INCLUDE_EMPTY' type='enum'/>
-     <exports symbol='XML_RNGP_PARENTREF_NOT_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAP_FACET_NO_VALUE' type='enum'/>
-     <exports symbol='XML_XPTR_SUB_RESOURCE_ERROR' type='enum'/>
-     <exports symbol='XML_ERR_NOT_STANDALONE' type='enum'/>
-     <exports symbol='XML_RNGP_START_MISSING' type='enum'/>
-     <exports symbol='XML_DTD_NO_PREFIX' type='enum'/>
-     <exports symbol='XML_CATALOG_RECURSION' type='enum'/>
-     <exports symbol='XML_RNGP_UNKNOWN_CONSTRUCT' type='enum'/>
-     <exports symbol='XML_ERR_UNPARSED_ENTITY' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD' type='enum'/>
-     <exports symbol='XML_FTP_EPSV_ANSWER' type='enum'/>
-     <exports symbol='XML_CHECK_NOT_UTF8' type='enum'/>
-     <exports symbol='XML_ERR_FATAL' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_1' type='enum'/>
-     <exports symbol='XML_DTD_ID_REDEFINED' type='enum'/>
-     <exports symbol='XML_XPATH_ENCODING_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_INCLUDE' type='enum'/>
-     <exports symbol='XML_RNGP_NSNAME_ATTR_ANCESTOR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_REDEFINE' type='enum'/>
-     <exports symbol='XML_RNGP_REF_CYCLE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_ATTR_ATTR' type='enum'/>
-     <exports symbol='XML_XPTR_UNKNOWN_SCHEME' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_FACET_VALUE' type='enum'/>
-     <exports symbol='XML_FROM_CHECK' type='enum'/>
-     <exports symbol='XML_SCHEMAV_ELEMCONT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REF_AND_CONTENT' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_INTERLEAVE' type='enum'/>
-     <exports symbol='XML_DTD_CONTENT_NOT_DETERMINIST' type='enum'/>
-     <exports symbol='XML_DTD_NO_ELEM_NAME' type='enum'/>
-     <exports symbol='XML_CHECK_NO_PREV' type='enum'/>
-     <exports symbol='XML_RNGP_VALUE_NO_CONTENT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD' type='enum'/>
-     <exports symbol='XML_TREE_NOT_UTF8' type='enum'/>
-     <exports symbol='XML_IO_EAFNOSUPPORT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1' type='enum'/>
-     <exports symbol='XML_CATALOG_NOT_CATALOG' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4' type='enum'/>
-     <exports symbol='XML_IO_EFBIG' type='enum'/>
-     <exports symbol='XML_CHECK_FOUND_COMMENT' type='enum'/>
-     <exports symbol='XML_RNGP_REF_NAME_INVALID' type='enum'/>
-     <exports symbol='XML_ERR_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1' type='enum'/>
-     <exports symbol='XML_DTD_ELEM_NAMESPACE' type='enum'/>
-     <exports symbol='XML_CHECK_OUTSIDE_DICT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_P_PROPS_CORRECT_2_1' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_2_2_2' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_2_2_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_P_PROPS_CORRECT_2_2' type='enum'/>
-     <exports symbol='XML_WAR_CATALOG_PI' type='enum'/>
-     <exports symbol='XML_REGEXP_COMPILE_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_MININCLUSIVE_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAV_ISABSTRACT' type='enum'/>
-     <exports symbol='XML_RNGP_DEFINE_MISSING' type='enum'/>
-     <exports symbol='XML_ERR_NS_DECL_ERROR' 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_ERR_ELEMCONTENT_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_FROM_NAMESPACE' type='enum'/>
-     <exports symbol='XML_IO_EBUSY' type='enum'/>
-     <exports symbol='XML_RNGP_INCLUDE_RECURSE' type='enum'/>
-     <exports symbol='XML_ERR_INVALID_URI' type='enum'/>
+     <exports symbol='XML_IO_ERANGE' type='enum'/>
+     <exports symbol='XML_IO_EROFS' type='enum'/>
+     <exports symbol='XML_IO_ESPIPE' type='enum'/>
      <exports symbol='XML_IO_ESRCH' type='enum'/>
-     <exports symbol='XML_FROM_XPOINTER' type='enum'/>
-     <exports symbol='XML_FROM_BUFFER' type='enum'/>
-     <exports symbol='XML_ERR_PEREF_IN_PROLOG' type='enum'/>
-     <exports symbol='XML_RNGP_TEXT_HAS_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOTNILLABLE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ELEM_DEFAULT_FIXED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_ELEMENT' type='enum'/>
-     <exports symbol='XML_RNGP_REF_NO_DEF' type='enum'/>
-     <exports symbol='XML_ERR_NOT_WELL_BALANCED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_5' type='enum'/>
-     <exports symbol='XML_ERR_INVALID_CHARREF' type='enum'/>
-     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_2' type='enum'/>
-     <exports symbol='XML_ERR_INVALID_CHAR' type='enum'/>
+     <exports symbol='XML_IO_ETIMEDOUT' type='enum'/>
+     <exports symbol='XML_IO_EXDEV' type='enum'/>
+     <exports symbol='XML_IO_FLUSH' type='enum'/>
+     <exports symbol='XML_IO_LOAD_ERROR' type='enum'/>
+     <exports symbol='XML_IO_NETWORK_ATTEMPT' type='enum'/>
+     <exports symbol='XML_IO_NO_INPUT' type='enum'/>
+     <exports symbol='XML_IO_UNKNOWN' type='enum'/>
+     <exports symbol='XML_IO_WRITE' type='enum'/>
+     <exports symbol='XML_MODULE_CLOSE' type='enum'/>
+     <exports symbol='XML_MODULE_OPEN' type='enum'/>
+     <exports symbol='XML_NS_ERR_ATTRIBUTE_REDEFINED' type='enum'/>
+     <exports symbol='XML_NS_ERR_COLON' type='enum'/>
+     <exports symbol='XML_NS_ERR_EMPTY' type='enum'/>
+     <exports symbol='XML_NS_ERR_QNAME' type='enum'/>
+     <exports symbol='XML_NS_ERR_UNDEFINED_NAMESPACE' type='enum'/>
+     <exports symbol='XML_NS_ERR_XML_NAMESPACE' type='enum'/>
+     <exports symbol='XML_REGEXP_COMPILE_ERROR' type='enum'/>
+     <exports symbol='XML_RNGP_ANYNAME_ATTR_ANCESTOR' type='enum'/>
+     <exports symbol='XML_RNGP_ATTRIBUTE_CHILDREN' type='enum'/>
+     <exports symbol='XML_RNGP_ATTRIBUTE_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_ATTRIBUTE_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_ATTRIBUTE_NOOP' type='enum'/>
+     <exports symbol='XML_RNGP_ATTR_CONFLICT' type='enum'/>
+     <exports symbol='XML_RNGP_CHOICE_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_CHOICE_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_CREATE_FAILURE' type='enum'/>
+     <exports symbol='XML_RNGP_DATA_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_DEFINE_CREATE_FAILED' type='enum'/>
+     <exports symbol='XML_RNGP_DEFINE_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_DEFINE_MISSING' type='enum'/>
+     <exports symbol='XML_RNGP_DEFINE_NAME_MISSING' type='enum'/>
+     <exports symbol='XML_RNGP_DEF_CHOICE_AND_INTERLEAVE' type='enum'/>
+     <exports symbol='XML_RNGP_ELEMENT_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_ELEMENT_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_ELEMENT_NAME' type='enum'/>
+     <exports symbol='XML_RNGP_ELEMENT_NO_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_ELEM_CONTENT_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_ELEM_CONTENT_ERROR' type='enum'/>
+     <exports symbol='XML_RNGP_ELEM_TEXT_CONFLICT' type='enum'/>
+     <exports symbol='XML_RNGP_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_EMPTY_CONSTRUCT' type='enum'/>
+     <exports symbol='XML_RNGP_EMPTY_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_EMPTY_NOT_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_ERROR_TYPE_LIB' type='enum'/>
+     <exports symbol='XML_RNGP_EXCEPT_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_EXCEPT_MISSING' type='enum'/>
+     <exports symbol='XML_RNGP_EXCEPT_MULTIPLE' type='enum'/>
+     <exports symbol='XML_RNGP_EXCEPT_NO_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_EXTERNALREF_EMTPY' type='enum'/>
+     <exports symbol='XML_RNGP_EXTERNALREF_RECURSE' type='enum'/>
+     <exports symbol='XML_RNGP_EXTERNAL_REF_FAILURE' type='enum'/>
+     <exports symbol='XML_RNGP_FORBIDDEN_ATTRIBUTE' type='enum'/>
      <exports symbol='XML_RNGP_FOREIGN_ELEMENT' type='enum'/>
+     <exports symbol='XML_RNGP_GRAMMAR_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_GRAMMAR_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_GRAMMAR_MISSING' type='enum'/>
+     <exports symbol='XML_RNGP_GRAMMAR_NO_START' type='enum'/>
+     <exports symbol='XML_RNGP_GROUP_ATTR_CONFLICT' type='enum'/>
+     <exports symbol='XML_RNGP_HREF_ERROR' type='enum'/>
+     <exports symbol='XML_RNGP_INCLUDE_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_INCLUDE_FAILURE' type='enum'/>
+     <exports symbol='XML_RNGP_INCLUDE_RECURSE' type='enum'/>
+     <exports symbol='XML_RNGP_INTERLEAVE_ADD' type='enum'/>
+     <exports symbol='XML_RNGP_INTERLEAVE_CREATE_FAILED' type='enum'/>
+     <exports symbol='XML_RNGP_INTERLEAVE_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_INTERLEAVE_NO_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_INVALID_DEFINE_NAME' type='enum'/>
+     <exports symbol='XML_RNGP_INVALID_URI' type='enum'/>
+     <exports symbol='XML_RNGP_INVALID_VALUE' type='enum'/>
+     <exports symbol='XML_RNGP_MISSING_HREF' type='enum'/>
+     <exports symbol='XML_RNGP_NAME_MISSING' type='enum'/>
+     <exports symbol='XML_RNGP_NEED_COMBINE' type='enum'/>
+     <exports symbol='XML_RNGP_NOTALLOWED_NOT_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_NSNAME_ATTR_ANCESTOR' type='enum'/>
+     <exports symbol='XML_RNGP_NSNAME_NO_NS' type='enum'/>
+     <exports symbol='XML_RNGP_PARAM_FORBIDDEN' type='enum'/>
+     <exports symbol='XML_RNGP_PARAM_NAME_MISSING' type='enum'/>
+     <exports symbol='XML_RNGP_PARENTREF_CREATE_FAILED' type='enum'/>
+     <exports symbol='XML_RNGP_PARENTREF_NAME_INVALID' type='enum'/>
+     <exports symbol='XML_RNGP_PARENTREF_NOT_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_PARENTREF_NO_NAME' type='enum'/>
+     <exports symbol='XML_RNGP_PARENTREF_NO_PARENT' type='enum'/>
+     <exports symbol='XML_RNGP_PARSE_ERROR' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_ATTR_ATTR' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_ATTR_ELEM' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ATTR' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ELEM' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_GROUP' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_LIST' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ONEMORE' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_REF' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_TEXT' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_LIST_ATTR' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_LIST_ELEM' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_LIST_INTERLEAVE' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_LIST_LIST' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_LIST_REF' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_LIST_TEXT' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_ONEMORE_GROUP_ATTR' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_ATTR' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_DATA' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_GROUP' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_INTERLEAVE' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_LIST' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_ONEMORE' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_TEXT' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_VALUE' type='enum'/>
+     <exports symbol='XML_RNGP_PREFIX_UNDEFINED' type='enum'/>
+     <exports symbol='XML_RNGP_REF_CREATE_FAILED' type='enum'/>
+     <exports symbol='XML_RNGP_REF_CYCLE' type='enum'/>
+     <exports symbol='XML_RNGP_REF_NAME_INVALID' type='enum'/>
+     <exports symbol='XML_RNGP_REF_NOT_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_REF_NO_DEF' type='enum'/>
+     <exports symbol='XML_RNGP_REF_NO_NAME' type='enum'/>
+     <exports symbol='XML_RNGP_START_CHOICE_AND_INTERLEAVE' type='enum'/>
+     <exports symbol='XML_RNGP_START_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_START_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_START_MISSING' type='enum'/>
+     <exports symbol='XML_RNGP_TEXT_EXPECTED' type='enum'/>
+     <exports symbol='XML_RNGP_TEXT_HAS_CHILD' type='enum'/>
+     <exports symbol='XML_RNGP_TYPE_MISSING' type='enum'/>
+     <exports symbol='XML_RNGP_TYPE_NOT_FOUND' type='enum'/>
+     <exports symbol='XML_RNGP_TYPE_VALUE' type='enum'/>
+     <exports symbol='XML_RNGP_UNKNOWN_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_RNGP_UNKNOWN_COMBINE' type='enum'/>
+     <exports symbol='XML_RNGP_UNKNOWN_CONSTRUCT' type='enum'/>
+     <exports symbol='XML_RNGP_UNKNOWN_TYPE_LIB' type='enum'/>
+     <exports symbol='XML_RNGP_URI_FRAGMENT' type='enum'/>
+     <exports symbol='XML_RNGP_URI_NOT_ABSOLUTE' type='enum'/>
+     <exports symbol='XML_RNGP_VALUE_EMPTY' type='enum'/>
+     <exports symbol='XML_RNGP_VALUE_NO_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_XMLNS_NAME' type='enum'/>
+     <exports symbol='XML_RNGP_XML_NS' type='enum'/>
+     <exports symbol='XML_SAVE_CHAR_INVALID' type='enum'/>
+     <exports symbol='XML_SAVE_NOT_UTF8' type='enum'/>
+     <exports symbol='XML_SAVE_NO_DOCTYPE' type='enum'/>
+     <exports symbol='XML_SAVE_UNKNOWN_ENCODING' type='enum'/>
+     <exports symbol='XML_SCHEMAP_AG_PROPS_CORRECT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ATTRGRP_NONAME_NOREF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ATTR_NONAME_NOREF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_AU_PROPS_CORRECT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_AU_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_A_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_A_PROPS_CORRECT_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ALL_LIMITED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_CT_EXTENDS_1_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_CT_EXTENDS_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_CT_EXTENDS_1_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_5' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CVC_SIMPLE_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_C_PROPS_CORRECT' type='enum'/>
      <exports symbol='XML_SCHEMAP_DEF_AND_PREFIX' type='enum'/>
-     <exports symbol='XML_ERR_MIXED_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_ERR_USER_STOP' type='enum'/>
-     <exports symbol='XML_CHECK_FOUND_CDATA' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INTERNAL' type='enum'/>
-     <exports symbol='XML_SCHEMAV_INVALIDELEM' type='enum'/>
-     <exports symbol='XML_ERR_INVALID_ENCODING' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_AU' type='enum'/>
-     <exports symbol='XML_CHECK_WRONG_NEXT' type='enum'/>
-     <exports symbol='XML_ERR_TAG_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_ERR_LTSLASH_REQUIRED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_ATTRGROUP' type='enum'/>
-     <exports symbol='XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH' type='enum'/>
-     <exports symbol='XML_ERR_PEREF_IN_INT_SUBSET' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3' type='enum'/>
-     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_BASE_TYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ELEM_CHILD' type='enum'/>
-     <exports symbol='XML_WAR_UNKNOWN_VERSION' type='enum'/>
-     <exports symbol='XML_DTD_CONTENT_MODEL' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1' type='enum'/>
-     <exports symbol='XML_ERR_OK' type='enum'/>
-     <exports symbol='XML_NS_ERR_COLON' type='enum'/>
-     <exports symbol='XML_WAR_ENTITY_REDEFINED' type='enum'/>
-     <exports symbol='XML_ERR_ATTRIBUTE_REDEFINED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SIMPLETYPE_NONAME' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_GROUP_CHILD' type='enum'/>
-     <exports symbol='XML_IO_ENOTSUP' type='enum'/>
-     <exports symbol='XML_WAR_NS_URI_RELATIVE' type='enum'/>
-     <exports symbol='XML_NS_ERR_ATTRIBUTE_REDEFINED' type='enum'/>
-     <exports symbol='XML_ERR_NAME_REQUIRED' type='enum'/>
-     <exports symbol='XML_IO_ETIMEDOUT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ELEMFORMDEFAULT_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ELEM_DEFAULT_FIXED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ELEM_NONAME_NOREF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_EXTENSION_NO_BASE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_5' type='enum'/>
+     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_6' type='enum'/>
+     <exports symbol='XML_SCHEMAP_FACET_NO_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_FAILED_BUILD_IMPORT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_FAILED_LOAD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_FAILED_PARSE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_GROUP_NONAME_NOREF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI' type='enum'/>
+     <exports symbol='XML_SCHEMAP_IMPORT_REDEFINE_NSNAME' type='enum'/>
+     <exports symbol='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INTERNAL' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_ATTR_COMBINATION' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_ATTR_NAME' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_ATTR_USE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_BOOLEAN' type='enum'/>
      <exports symbol='XML_SCHEMAP_INVALID_ENUM' type='enum'/>
-     <exports symbol='XML_RNGP_DEFINE_NAME_MISSING' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2' type='enum'/>
-     <exports symbol='XML_RNGP_EMPTY_CONSTRUCT' type='enum'/>
-     <exports symbol='XML_RNGP_FORBIDDEN_ATTRIBUTE' type='enum'/>
-     <exports symbol='XML_FROM_OUTPUT' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1' type='enum'/>
-     <exports symbol='XML_CHECK_WRONG_PREV' type='enum'/>
-     <exports symbol='XML_IO_EEXIST' type='enum'/>
-     <exports symbol='XML_SCHEMAP_MG_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_FACET' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_FACET_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_MAXOCCURS' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_MINOCCURS' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_REF_AND_SUBTYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_WHITE_SPACE' type='enum'/>
      <exports symbol='XML_SCHEMAP_MG_PROPS_CORRECT_1' type='enum'/>
-     <exports symbol='XML_FROM_URI' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_LIST_ELEM' type='enum'/>
-     <exports symbol='XML_SCHEMAV_UNDECLAREDELEM' type='enum'/>
+     <exports symbol='XML_SCHEMAP_MG_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOATTR_NOREF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOROOT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOTATION_NO_NAME' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOTHING_TO_PARSE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOTYPE_NOREF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOT_DETERMINISTIC' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOT_SCHEMA' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NO_XMLNS' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NO_XSI' type='enum'/>
+     <exports symbol='XML_SCHEMAP_PREFIX_UNDEFINED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_P_PROPS_CORRECT_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_P_PROPS_CORRECT_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_P_PROPS_CORRECT_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_RECURSIVE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_ATTR' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_ATTRGROUP' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_ELEMENT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_GROUP' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_NOTATION' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REF_AND_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REF_AND_SUBTYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REGEXP_INVALID' type='enum'/>
+     <exports symbol='XML_SCHEMAP_RESTRICTION_NONAME_NOREF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ATTR_INVALID_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ATTR_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ELEM_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SIMPLETYPE_NONAME' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_3_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_3_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_CT_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_1_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_3_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_3_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_INCLUDE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_REDEFINE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_RESOLVE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_TYPE_AND_SUBTYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ALL_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ATTR_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_BASE_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_CHOICE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ELEM_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_FACET_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_FACET_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_GROUP_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_LIST_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_PREFIX' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_REF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_UNION_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH' type='enum'/>
+     <exports symbol='XML_SCHEMAP_WARN_ATTR_REDECL_PROH' type='enum'/>
+     <exports symbol='XML_SCHEMAP_WARN_SKIP_SCHEMA' type='enum'/>
+     <exports symbol='XML_SCHEMAP_WARN_UNLOCATED_SCHEMA' type='enum'/>
+     <exports symbol='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER' type='enum'/>
+     <exports symbol='XML_SCHEMATRONV_ASSERT' type='enum'/>
+     <exports symbol='XML_SCHEMATRONV_REPORT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_ATTRINVALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_ATTRUNKNOWN' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CONSTRUCT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_3' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_4' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_AU' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1' type='enum'/>
      <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2' type='enum'/>
      <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3' type='enum'/>
-     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_3' type='enum'/>
-     <exports symbol='XML_XINCLUDE_INVALID_CHAR' type='enum'/>
      <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_4' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_3_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_3_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_3_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_4_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_4_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_4_3' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_1_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_2_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_2_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_6' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_7' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ENUMERATION_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_FACET_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_IDC' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_LENGTH_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MAXLENGTH_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MININCLUSIVE_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MINLENGTH_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_PATTERN_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TOTALDIGITS_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_3_1_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_3_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_WILDCARD' type='enum'/>
+     <exports symbol='XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAV_ELEMCONT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_ELEMENT_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_EXTRACONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_FACET' type='enum'/>
+     <exports symbol='XML_SCHEMAV_HAVEDEFAULT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_INTERNAL' type='enum'/>
+     <exports symbol='XML_SCHEMAV_INVALIDATTR' type='enum'/>
+     <exports symbol='XML_SCHEMAV_INVALIDELEM' type='enum'/>
+     <exports symbol='XML_SCHEMAV_ISABSTRACT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_MISC' type='enum'/>
+     <exports symbol='XML_SCHEMAV_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOROLLBACK' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOROOT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOTDETERMINIST' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOTEMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOTNILLABLE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOTSIMPLE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOTTOPLEVEL' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOTYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_UNDECLAREDELEM' type='enum'/>
+     <exports symbol='XML_SCHEMAV_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_WRONGELEM' type='enum'/>
+     <exports symbol='XML_TREE_INVALID_DEC' type='enum'/>
+     <exports symbol='XML_TREE_INVALID_HEX' type='enum'/>
+     <exports symbol='XML_TREE_NOT_UTF8' type='enum'/>
+     <exports symbol='XML_TREE_UNTERMINATED_ENTITY' type='enum'/>
+     <exports symbol='XML_WAR_CATALOG_PI' type='enum'/>
+     <exports symbol='XML_WAR_ENTITY_REDEFINED' type='enum'/>
+     <exports symbol='XML_WAR_LANG_VALUE' type='enum'/>
+     <exports symbol='XML_WAR_NS_COLUMN' type='enum'/>
+     <exports symbol='XML_WAR_NS_URI' type='enum'/>
+     <exports symbol='XML_WAR_NS_URI_RELATIVE' type='enum'/>
+     <exports symbol='XML_WAR_SPACE_VALUE' type='enum'/>
+     <exports symbol='XML_WAR_UNDECLARED_ENTITY' type='enum'/>
+     <exports symbol='XML_WAR_UNKNOWN_VERSION' type='enum'/>
+     <exports symbol='XML_XINCLUDE_BUILD_FAILED' type='enum'/>
+     <exports symbol='XML_XINCLUDE_DEPRECATED_NS' type='enum'/>
+     <exports symbol='XML_XINCLUDE_ENTITY_DEF_MISMATCH' type='enum'/>
+     <exports symbol='XML_XINCLUDE_FALLBACKS_IN_INCLUDE' type='enum'/>
+     <exports symbol='XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE' type='enum'/>
+     <exports symbol='XML_XINCLUDE_FRAGMENT_ID' type='enum'/>
+     <exports symbol='XML_XINCLUDE_HREF_URI' type='enum'/>
+     <exports symbol='XML_XINCLUDE_INCLUDE_IN_INCLUDE' type='enum'/>
+     <exports symbol='XML_XINCLUDE_INVALID_CHAR' type='enum'/>
+     <exports symbol='XML_XINCLUDE_MULTIPLE_ROOT' type='enum'/>
+     <exports symbol='XML_XINCLUDE_NO_FALLBACK' type='enum'/>
+     <exports symbol='XML_XINCLUDE_NO_HREF' type='enum'/>
+     <exports symbol='XML_XINCLUDE_PARSE_VALUE' type='enum'/>
+     <exports symbol='XML_XINCLUDE_RECURSION' type='enum'/>
+     <exports symbol='XML_XINCLUDE_TEXT_DOCUMENT' type='enum'/>
+     <exports symbol='XML_XINCLUDE_TEXT_FRAGMENT' type='enum'/>
+     <exports symbol='XML_XINCLUDE_UNKNOWN_ENCODING' type='enum'/>
+     <exports symbol='XML_XINCLUDE_XPTR_FAILED' type='enum'/>
+     <exports symbol='XML_XINCLUDE_XPTR_RESULT' type='enum'/>
+     <exports symbol='XML_XPATH_ENCODING_ERROR' type='enum'/>
+     <exports symbol='XML_XPATH_EXPRESSION_OK' type='enum'/>
+     <exports symbol='XML_XPATH_EXPR_ERROR' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_ARITY' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_CHAR_ERROR' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_CTXT_POSITION' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_CTXT_SIZE' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_OPERAND' type='enum'/>
      <exports symbol='XML_XPATH_INVALID_PREDICATE_ERROR' type='enum'/>
-     <exports symbol='xmlErrorPtr' type='typedef'/>
-     <exports symbol='xmlErrorLevel' type='typedef'/>
-     <exports symbol='xmlParserErrors' type='typedef'/>
-     <exports symbol='xmlErrorDomain' type='typedef'/>
+     <exports symbol='XML_XPATH_INVALID_TYPE' type='enum'/>
+     <exports symbol='XML_XPATH_MEMORY_ERROR' type='enum'/>
+     <exports symbol='XML_XPATH_NUMBER_ERROR' type='enum'/>
+     <exports symbol='XML_XPATH_START_LITERAL_ERROR' type='enum'/>
+     <exports symbol='XML_XPATH_UNCLOSED_ERROR' type='enum'/>
+     <exports symbol='XML_XPATH_UNDEF_PREFIX_ERROR' type='enum'/>
+     <exports symbol='XML_XPATH_UNDEF_VARIABLE_ERROR' type='enum'/>
+     <exports symbol='XML_XPATH_UNFINISHED_LITERAL_ERROR' type='enum'/>
+     <exports symbol='XML_XPATH_UNKNOWN_FUNC_ERROR' type='enum'/>
+     <exports symbol='XML_XPATH_VARIABLE_REF_ERROR' type='enum'/>
+     <exports symbol='XML_XPTR_CHILDSEQ_START' type='enum'/>
+     <exports symbol='XML_XPTR_EVAL_FAILED' type='enum'/>
+     <exports symbol='XML_XPTR_EXTRA_OBJECTS' type='enum'/>
+     <exports symbol='XML_XPTR_RESOURCE_ERROR' type='enum'/>
+     <exports symbol='XML_XPTR_SUB_RESOURCE_ERROR' type='enum'/>
+     <exports symbol='XML_XPTR_SYNTAX_ERROR' type='enum'/>
+     <exports symbol='XML_XPTR_UNKNOWN_SCHEME' type='enum'/>
      <exports symbol='xmlError' type='typedef'/>
+     <exports symbol='xmlErrorDomain' type='typedef'/>
+     <exports symbol='xmlErrorLevel' type='typedef'/>
+     <exports symbol='xmlErrorPtr' type='typedef'/>
+     <exports symbol='xmlParserErrors' type='typedef'/>
      <exports symbol='_xmlError' type='struct'/>
-     <exports symbol='xmlParserValidityError' type='function'/>
-     <exports symbol='xmlGenericErrorFunc' type='function'/>
-     <exports symbol='xmlSetGenericErrorFunc' type='function'/>
-     <exports symbol='xmlParserPrintFileInfo' type='function'/>
-     <exports symbol='xmlCtxtResetLastError' type='function'/>
-     <exports symbol='xmlResetLastError' type='function'/>
      <exports symbol='initGenericErrorDefaultFunc' type='function'/>
      <exports symbol='xmlCopyError' type='function'/>
-     <exports symbol='xmlParserValidityWarning' type='function'/>
-     <exports symbol='xmlParserPrintFileContext' type='function'/>
-     <exports symbol='xmlParserError' type='function'/>
-     <exports symbol='xmlParserWarning' type='function'/>
-     <exports symbol='xmlStructuredErrorFunc' type='function'/>
-     <exports symbol='xmlSetStructuredErrorFunc' type='function'/>
-     <exports symbol='xmlResetError' type='function'/>
-     <exports symbol='xmlGetLastError' type='function'/>
      <exports symbol='xmlCtxtGetLastError' type='function'/>
+     <exports symbol='xmlCtxtResetLastError' type='function'/>
+     <exports symbol='xmlGenericErrorFunc' type='function'/>
+     <exports symbol='xmlGetLastError' type='function'/>
+     <exports symbol='xmlParserError' type='function'/>
+     <exports symbol='xmlParserPrintFileContext' type='function'/>
+     <exports symbol='xmlParserPrintFileInfo' type='function'/>
+     <exports symbol='xmlParserValidityError' type='function'/>
+     <exports symbol='xmlParserValidityWarning' type='function'/>
+     <exports symbol='xmlParserWarning' type='function'/>
+     <exports symbol='xmlResetError' type='function'/>
+     <exports symbol='xmlResetLastError' type='function'/>
+     <exports symbol='xmlSetGenericErrorFunc' type='function'/>
+     <exports symbol='xmlSetStructuredErrorFunc' type='function'/>
+     <exports symbol='xmlStructuredErrorFunc' type='function'/>
     </file>
     <file name='xmlexports'>
      <summary>macros for marking symbols as exportable/importable.</summary>
      <description>macros for marking symbols as exportable/importable. </description>
-     <exports symbol='XMLCDECL' type='macro'/>
-     <exports symbol='XMLPUBLIC' type='macro'/>
-     <exports symbol='XMLPUBVAR' type='macro'/>
-     <exports symbol='LIBXML_DLL_IMPORT' type='macro'/>
-     <exports symbol='XMLCALL' type='macro'/>
      <exports symbol='XMLPUBFUN' type='macro'/>
+     <exports symbol='XMLPUBVAR' type='macro'/>
     </file>
     <file name='xmlmemory'>
      <summary>interface for the memory allocator</summary>
      <description>provides interfaces for the memory allocator, including debugging capabilities. </description>
      <author>Daniel Veillard </author>
-     <exports symbol='xmlRealloc' type='macro'/>
+     <exports symbol='DEBUG_MEMORY' type='macro'/>
      <exports symbol='xmlMalloc' type='macro'/>
      <exports symbol='xmlMallocAtomic' type='macro'/>
-     <exports symbol='DEBUG_MEMORY' type='macro'/>
      <exports symbol='xmlMemStrdup' type='macro'/>
-     <exports symbol='xmlMemRealloc' type='function'/>
-     <exports symbol='xmlInitMemory' type='function'/>
-     <exports symbol='xmlMemFree' type='function'/>
-     <exports symbol='xmlMemMalloc' type='function'/>
-     <exports symbol='xmlMemDisplayLast' type='function'/>
-     <exports symbol='xmlMemGet' type='function'/>
-     <exports symbol='xmlMemoryDump' type='function'/>
-     <exports symbol='xmlMallocLoc' type='function'/>
-     <exports symbol='xmlMemDisplay' type='function'/>
-     <exports symbol='xmlMemBlocks' type='function'/>
-     <exports symbol='xmlGcMemGet' type='function'/>
-     <exports symbol='xmlStrdupFunc' type='function'/>
-     <exports symbol='xmlFreeFunc' type='function'/>
-     <exports symbol='xmlMemShow' type='function'/>
-     <exports symbol='xmlMallocAtomicLoc' type='function'/>
-     <exports symbol='xmlReallocLoc' type='function'/>
+     <exports symbol='xmlRealloc' type='macro'/>
      <exports symbol='xmlCleanupMemory' type='function'/>
-     <exports symbol='xmlMemUsed' type='function'/>
-     <exports symbol='xmlMemSetup' type='function'/>
-     <exports symbol='xmlReallocFunc' type='function'/>
-     <exports symbol='xmlMallocFunc' type='function'/>
+     <exports symbol='xmlFreeFunc' type='function'/>
+     <exports symbol='xmlGcMemGet' type='function'/>
      <exports symbol='xmlGcMemSetup' type='function'/>
-     <exports symbol='xmlMemoryStrdup' type='function'/>
+     <exports symbol='xmlInitMemory' type='function'/>
+     <exports symbol='xmlMallocAtomicLoc' type='function'/>
+     <exports symbol='xmlMallocFunc' type='function'/>
+     <exports symbol='xmlMallocLoc' type='function'/>
+     <exports symbol='xmlMemBlocks' type='function'/>
+     <exports symbol='xmlMemDisplay' type='function'/>
+     <exports symbol='xmlMemDisplayLast' type='function'/>
+     <exports symbol='xmlMemFree' type='function'/>
+     <exports symbol='xmlMemGet' type='function'/>
+     <exports symbol='xmlMemMalloc' type='function'/>
+     <exports symbol='xmlMemRealloc' type='function'/>
+     <exports symbol='xmlMemSetup' type='function'/>
+     <exports symbol='xmlMemShow' type='function'/>
      <exports symbol='xmlMemStrdupLoc' type='function'/>
+     <exports symbol='xmlMemUsed' type='function'/>
+     <exports symbol='xmlMemoryDump' type='function'/>
+     <exports symbol='xmlMemoryStrdup' type='function'/>
+     <exports symbol='xmlReallocFunc' type='function'/>
+     <exports symbol='xmlReallocLoc' type='function'/>
+     <exports symbol='xmlStrdupFunc' type='function'/>
     </file>
     <file name='xmlmodule'>
      <summary>dynamic module loading</summary>
@@ -2838,338 +2801,338 @@
      <exports symbol='XML_MODULE_LAZY' type='enum'/>
      <exports symbol='XML_MODULE_LOCAL' type='enum'/>
      <exports symbol='xmlModule' type='typedef'/>
-     <exports symbol='xmlModulePtr' type='typedef'/>
      <exports symbol='xmlModuleOption' type='typedef'/>
-     <exports symbol='xmlModuleFree' type='function'/>
-     <exports symbol='xmlModuleSymbol' type='function'/>
-     <exports symbol='xmlModuleOpen' type='function'/>
+     <exports symbol='xmlModulePtr' type='typedef'/>
      <exports symbol='xmlModuleClose' type='function'/>
+     <exports symbol='xmlModuleFree' type='function'/>
+     <exports symbol='xmlModuleOpen' type='function'/>
+     <exports symbol='xmlModuleSymbol' type='function'/>
     </file>
     <file name='xmlreader'>
      <summary>the XMLReader implementation</summary>
      <description>API of the XML streaming API based on C# interfaces. </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_READER_TYPE_DOCUMENT_FRAGMENT' type='enum'/>
-     <exports symbol='XML_PARSER_SEVERITY_ERROR' type='enum'/>
-     <exports symbol='XML_READER_TYPE_ELEMENT' type='enum'/>
-     <exports symbol='XML_READER_TYPE_TEXT' type='enum'/>
-     <exports symbol='XML_READER_TYPE_XML_DECLARATION' type='enum'/>
-     <exports symbol='XML_READER_TYPE_NONE' type='enum'/>
-     <exports symbol='XML_PARSER_SEVERITY_VALIDITY_ERROR' type='enum'/>
-     <exports symbol='XML_READER_TYPE_PROCESSING_INSTRUCTION' type='enum'/>
-     <exports symbol='XML_TEXTREADER_MODE_ERROR' type='enum'/>
-     <exports symbol='XML_READER_TYPE_ATTRIBUTE' type='enum'/>
-     <exports symbol='XML_PARSER_SEVERITY_WARNING' type='enum'/>
-     <exports symbol='XML_READER_TYPE_DOCUMENT' type='enum'/>
-     <exports symbol='XML_READER_TYPE_DOCUMENT_TYPE' type='enum'/>
-     <exports symbol='XML_READER_TYPE_END_ELEMENT' type='enum'/>
-     <exports symbol='XML_READER_TYPE_WHITESPACE' type='enum'/>
-     <exports symbol='XML_READER_TYPE_NOTATION' type='enum'/>
-     <exports symbol='XML_PARSER_SUBST_ENTITIES' type='enum'/>
-     <exports symbol='XML_READER_TYPE_ENTITY_REFERENCE' type='enum'/>
-     <exports symbol='XML_TEXTREADER_MODE_INITIAL' type='enum'/>
-     <exports symbol='XML_READER_TYPE_COMMENT' type='enum'/>
-     <exports symbol='XML_TEXTREADER_MODE_CLOSED' type='enum'/>
      <exports symbol='XML_PARSER_DEFAULTATTRS' type='enum'/>
-     <exports symbol='XML_READER_TYPE_ENTITY' type='enum'/>
-     <exports symbol='XML_READER_TYPE_SIGNIFICANT_WHITESPACE' type='enum'/>
-     <exports symbol='XML_READER_TYPE_END_ENTITY' type='enum'/>
-     <exports symbol='XML_PARSER_VALIDATE' type='enum'/>
-     <exports symbol='XML_PARSER_SEVERITY_VALIDITY_WARNING' type='enum'/>
-     <exports symbol='XML_TEXTREADER_MODE_READING' type='enum'/>
-     <exports symbol='XML_TEXTREADER_MODE_EOF' type='enum'/>
-     <exports symbol='XML_READER_TYPE_CDATA' type='enum'/>
      <exports symbol='XML_PARSER_LOADDTD' type='enum'/>
+     <exports symbol='XML_PARSER_SEVERITY_ERROR' type='enum'/>
+     <exports symbol='XML_PARSER_SEVERITY_VALIDITY_ERROR' type='enum'/>
+     <exports symbol='XML_PARSER_SEVERITY_VALIDITY_WARNING' type='enum'/>
+     <exports symbol='XML_PARSER_SEVERITY_WARNING' type='enum'/>
+     <exports symbol='XML_PARSER_SUBST_ENTITIES' type='enum'/>
+     <exports symbol='XML_PARSER_VALIDATE' type='enum'/>
+     <exports symbol='XML_READER_TYPE_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_READER_TYPE_CDATA' type='enum'/>
+     <exports symbol='XML_READER_TYPE_COMMENT' type='enum'/>
+     <exports symbol='XML_READER_TYPE_DOCUMENT' type='enum'/>
+     <exports symbol='XML_READER_TYPE_DOCUMENT_FRAGMENT' type='enum'/>
+     <exports symbol='XML_READER_TYPE_DOCUMENT_TYPE' type='enum'/>
+     <exports symbol='XML_READER_TYPE_ELEMENT' type='enum'/>
+     <exports symbol='XML_READER_TYPE_END_ELEMENT' type='enum'/>
+     <exports symbol='XML_READER_TYPE_END_ENTITY' type='enum'/>
+     <exports symbol='XML_READER_TYPE_ENTITY' type='enum'/>
+     <exports symbol='XML_READER_TYPE_ENTITY_REFERENCE' type='enum'/>
+     <exports symbol='XML_READER_TYPE_NONE' type='enum'/>
+     <exports symbol='XML_READER_TYPE_NOTATION' type='enum'/>
+     <exports symbol='XML_READER_TYPE_PROCESSING_INSTRUCTION' type='enum'/>
+     <exports symbol='XML_READER_TYPE_SIGNIFICANT_WHITESPACE' type='enum'/>
+     <exports symbol='XML_READER_TYPE_TEXT' type='enum'/>
+     <exports symbol='XML_READER_TYPE_WHITESPACE' type='enum'/>
+     <exports symbol='XML_READER_TYPE_XML_DECLARATION' type='enum'/>
+     <exports symbol='XML_TEXTREADER_MODE_CLOSED' type='enum'/>
+     <exports symbol='XML_TEXTREADER_MODE_EOF' type='enum'/>
+     <exports symbol='XML_TEXTREADER_MODE_ERROR' type='enum'/>
+     <exports symbol='XML_TEXTREADER_MODE_INITIAL' type='enum'/>
      <exports symbol='XML_TEXTREADER_MODE_INTERACTIVE' type='enum'/>
-     <exports symbol='xmlTextReaderPtr' type='typedef'/>
-     <exports symbol='xmlParserSeverities' type='typedef'/>
+     <exports symbol='XML_TEXTREADER_MODE_READING' type='enum'/>
      <exports symbol='xmlParserProperties' type='typedef'/>
-     <exports symbol='xmlTextReaderMode' type='typedef'/>
+     <exports symbol='xmlParserSeverities' type='typedef'/>
+     <exports symbol='xmlReaderTypes' type='typedef'/>
      <exports symbol='xmlTextReader' type='typedef'/>
      <exports symbol='xmlTextReaderLocatorPtr' type='typedef'/>
-     <exports symbol='xmlReaderTypes' type='typedef'/>
-     <exports symbol='xmlNewTextReaderFilename' type='function'/>
-     <exports symbol='xmlTextReaderHasAttributes' type='function'/>
-     <exports symbol='xmlTextReaderReadState' type='function'/>
-     <exports symbol='xmlReaderForFile' type='function'/>
-     <exports symbol='xmlTextReaderConstNamespaceUri' type='function'/>
-     <exports symbol='xmlTextReaderCurrentDoc' type='function'/>
-     <exports symbol='xmlTextReaderGetParserLineNumber' type='function'/>
-     <exports symbol='xmlTextReaderExpand' type='function'/>
-     <exports symbol='xmlTextReaderXmlLang' type='function'/>
-     <exports symbol='xmlReaderForDoc' type='function'/>
-     <exports symbol='xmlReaderNewIO' type='function'/>
-     <exports symbol='xmlTextReaderClose' type='function'/>
-     <exports symbol='xmlTextReaderReadInnerXml' type='function'/>
-     <exports symbol='xmlTextReaderConstEncoding' type='function'/>
-     <exports symbol='xmlTextReaderNormalization' type='function'/>
-     <exports symbol='xmlTextReaderGetParserProp' type='function'/>
-     <exports symbol='xmlTextReaderMoveToAttribute' type='function'/>
-     <exports symbol='xmlTextReaderQuoteChar' type='function'/>
-     <exports symbol='xmlTextReaderSetSchema' type='function'/>
-     <exports symbol='xmlTextReaderValue' type='function'/>
-     <exports symbol='xmlTextReaderIsValid' type='function'/>
-     <exports symbol='xmlTextReaderMoveToFirstAttribute' type='function'/>
-     <exports symbol='xmlTextReaderGetParserColumnNumber' type='function'/>
-     <exports symbol='xmlTextReaderConstValue' type='function'/>
+     <exports symbol='xmlTextReaderMode' type='typedef'/>
+     <exports symbol='xmlTextReaderPtr' type='typedef'/>
+     <exports symbol='xmlFreeTextReader' type='function'/>
      <exports symbol='xmlNewTextReader' type='function'/>
+     <exports symbol='xmlNewTextReaderFilename' type='function'/>
+     <exports symbol='xmlReaderForDoc' type='function'/>
+     <exports symbol='xmlReaderForFd' type='function'/>
+     <exports symbol='xmlReaderForFile' type='function'/>
+     <exports symbol='xmlReaderForIO' type='function'/>
+     <exports symbol='xmlReaderForMemory' type='function'/>
+     <exports symbol='xmlReaderNewDoc' type='function'/>
+     <exports symbol='xmlReaderNewFd' type='function'/>
+     <exports symbol='xmlReaderNewFile' type='function'/>
+     <exports symbol='xmlReaderNewIO' type='function'/>
+     <exports symbol='xmlReaderNewMemory' type='function'/>
+     <exports symbol='xmlReaderNewWalker' type='function'/>
+     <exports symbol='xmlReaderWalker' type='function'/>
+     <exports symbol='xmlTextReaderAttributeCount' type='function'/>
+     <exports symbol='xmlTextReaderBaseUri' type='function'/>
+     <exports symbol='xmlTextReaderByteConsumed' type='function'/>
+     <exports symbol='xmlTextReaderClose' type='function'/>
+     <exports symbol='xmlTextReaderConstBaseUri' type='function'/>
+     <exports symbol='xmlTextReaderConstEncoding' type='function'/>
+     <exports symbol='xmlTextReaderConstLocalName' type='function'/>
+     <exports symbol='xmlTextReaderConstName' type='function'/>
+     <exports symbol='xmlTextReaderConstNamespaceUri' type='function'/>
+     <exports symbol='xmlTextReaderConstPrefix' type='function'/>
+     <exports symbol='xmlTextReaderConstString' type='function'/>
+     <exports symbol='xmlTextReaderConstValue' type='function'/>
+     <exports symbol='xmlTextReaderConstXmlLang' type='function'/>
+     <exports symbol='xmlTextReaderConstXmlVersion' type='function'/>
+     <exports symbol='xmlTextReaderCurrentDoc' type='function'/>
+     <exports symbol='xmlTextReaderCurrentNode' type='function'/>
+     <exports symbol='xmlTextReaderDepth' type='function'/>
+     <exports symbol='xmlTextReaderErrorFunc' type='function'/>
+     <exports symbol='xmlTextReaderExpand' type='function'/>
+     <exports symbol='xmlTextReaderGetAttribute' type='function'/>
      <exports symbol='xmlTextReaderGetAttributeNo' type='function'/>
      <exports symbol='xmlTextReaderGetAttributeNs' type='function'/>
-     <exports symbol='xmlTextReaderConstName' type='function'/>
-     <exports symbol='xmlTextReaderConstString' type='function'/>
-     <exports symbol='xmlTextReaderConstXmlVersion' type='function'/>
-     <exports symbol='xmlTextReaderDepth' type='function'/>
-     <exports symbol='xmlTextReaderReadString' type='function'/>
-     <exports symbol='xmlTextReaderIsDefault' type='function'/>
-     <exports symbol='xmlTextReaderMoveToNextAttribute' type='function'/>
-     <exports symbol='xmlReaderNewWalker' type='function'/>
-     <exports symbol='xmlTextReaderConstPrefix' type='function'/>
-     <exports symbol='xmlReaderWalker' type='function'/>
-     <exports symbol='xmlTextReaderConstLocalName' type='function'/>
-     <exports symbol='xmlTextReaderNodeType' type='function'/>
-     <exports symbol='xmlFreeTextReader' type='function'/>
-     <exports symbol='xmlTextReaderName' type='function'/>
-     <exports symbol='xmlTextReaderRead' type='function'/>
-     <exports symbol='xmlTextReaderIsEmptyElement' type='function'/>
-     <exports symbol='xmlReaderNewMemory' type='function'/>
-     <exports symbol='xmlTextReaderSchemaValidateCtxt' type='function'/>
-     <exports symbol='xmlTextReaderHasValue' type='function'/>
-     <exports symbol='xmlTextReaderConstBaseUri' type='function'/>
-     <exports symbol='xmlTextReaderBaseUri' type='function'/>
-     <exports symbol='xmlTextReaderMoveToAttributeNo' type='function'/>
-     <exports symbol='xmlTextReaderLocatorLineNumber' type='function'/>
-     <exports symbol='xmlTextReaderMoveToAttributeNs' type='function'/>
-     <exports symbol='xmlTextReaderNext' type='function'/>
-     <exports symbol='xmlTextReaderAttributeCount' type='function'/>
-     <exports symbol='xmlTextReaderLookupNamespace' type='function'/>
-     <exports symbol='xmlTextReaderMoveToElement' type='function'/>
-     <exports symbol='xmlReaderForIO' type='function'/>
-     <exports symbol='xmlTextReaderReadOuterXml' type='function'/>
-     <exports symbol='xmlTextReaderRelaxNGValidateCtxt' type='function'/>
-     <exports symbol='xmlTextReaderPrefix' type='function'/>
-     <exports symbol='xmlTextReaderReadAttributeValue' type='function'/>
-     <exports symbol='xmlTextReaderNextSibling' type='function'/>
-     <exports symbol='xmlTextReaderErrorFunc' type='function'/>
-     <exports symbol='xmlReaderForFd' type='function'/>
-     <exports symbol='xmlTextReaderGetAttribute' type='function'/>
-     <exports symbol='xmlTextReaderLocalName' type='function'/>
-     <exports symbol='xmlTextReaderPreserve' type='function'/>
-     <exports symbol='xmlTextReaderCurrentNode' type='function'/>
-     <exports symbol='xmlTextReaderSetParserProp' type='function'/>
-     <exports symbol='xmlTextReaderGetRemainder' type='function'/>
-     <exports symbol='xmlTextReaderSetErrorHandler' type='function'/>
-     <exports symbol='xmlTextReaderIsNamespaceDecl' type='function'/>
-     <exports symbol='xmlReaderNewDoc' type='function'/>
-     <exports symbol='xmlTextReaderPreservePattern' type='function'/>
-     <exports symbol='xmlTextReaderConstXmlLang' type='function'/>
      <exports symbol='xmlTextReaderGetErrorHandler' type='function'/>
-     <exports symbol='xmlTextReaderSetStructuredErrorHandler' type='function'/>
-     <exports symbol='xmlReaderNewFile' type='function'/>
-     <exports symbol='xmlTextReaderRelaxNGSetSchema' type='function'/>
-     <exports symbol='xmlReaderNewFd' type='function'/>
-     <exports symbol='xmlTextReaderRelaxNGValidate' type='function'/>
-     <exports symbol='xmlReaderForMemory' type='function'/>
-     <exports symbol='xmlTextReaderSetup' type='function'/>
-     <exports symbol='xmlTextReaderByteConsumed' type='function'/>
+     <exports symbol='xmlTextReaderGetParserColumnNumber' type='function'/>
+     <exports symbol='xmlTextReaderGetParserLineNumber' type='function'/>
+     <exports symbol='xmlTextReaderGetParserProp' type='function'/>
+     <exports symbol='xmlTextReaderGetRemainder' type='function'/>
+     <exports symbol='xmlTextReaderHasAttributes' type='function'/>
+     <exports symbol='xmlTextReaderHasValue' type='function'/>
+     <exports symbol='xmlTextReaderIsDefault' type='function'/>
+     <exports symbol='xmlTextReaderIsEmptyElement' type='function'/>
+     <exports symbol='xmlTextReaderIsNamespaceDecl' type='function'/>
+     <exports symbol='xmlTextReaderIsValid' type='function'/>
+     <exports symbol='xmlTextReaderLocalName' type='function'/>
      <exports symbol='xmlTextReaderLocatorBaseURI' type='function'/>
+     <exports symbol='xmlTextReaderLocatorLineNumber' type='function'/>
+     <exports symbol='xmlTextReaderLookupNamespace' type='function'/>
+     <exports symbol='xmlTextReaderMoveToAttribute' type='function'/>
+     <exports symbol='xmlTextReaderMoveToAttributeNo' type='function'/>
+     <exports symbol='xmlTextReaderMoveToAttributeNs' type='function'/>
+     <exports symbol='xmlTextReaderMoveToElement' type='function'/>
+     <exports symbol='xmlTextReaderMoveToFirstAttribute' type='function'/>
+     <exports symbol='xmlTextReaderMoveToNextAttribute' type='function'/>
+     <exports symbol='xmlTextReaderName' type='function'/>
      <exports symbol='xmlTextReaderNamespaceUri' type='function'/>
+     <exports symbol='xmlTextReaderNext' type='function'/>
+     <exports symbol='xmlTextReaderNextSibling' type='function'/>
+     <exports symbol='xmlTextReaderNodeType' type='function'/>
+     <exports symbol='xmlTextReaderNormalization' type='function'/>
+     <exports symbol='xmlTextReaderPrefix' type='function'/>
+     <exports symbol='xmlTextReaderPreserve' type='function'/>
+     <exports symbol='xmlTextReaderPreservePattern' type='function'/>
+     <exports symbol='xmlTextReaderQuoteChar' type='function'/>
+     <exports symbol='xmlTextReaderRead' type='function'/>
+     <exports symbol='xmlTextReaderReadAttributeValue' type='function'/>
+     <exports symbol='xmlTextReaderReadInnerXml' type='function'/>
+     <exports symbol='xmlTextReaderReadOuterXml' type='function'/>
+     <exports symbol='xmlTextReaderReadState' type='function'/>
+     <exports symbol='xmlTextReaderReadString' type='function'/>
+     <exports symbol='xmlTextReaderRelaxNGSetSchema' type='function'/>
+     <exports symbol='xmlTextReaderRelaxNGValidate' type='function'/>
+     <exports symbol='xmlTextReaderRelaxNGValidateCtxt' type='function'/>
      <exports symbol='xmlTextReaderSchemaValidate' type='function'/>
+     <exports symbol='xmlTextReaderSchemaValidateCtxt' type='function'/>
+     <exports symbol='xmlTextReaderSetErrorHandler' type='function'/>
+     <exports symbol='xmlTextReaderSetParserProp' type='function'/>
+     <exports symbol='xmlTextReaderSetSchema' type='function'/>
+     <exports symbol='xmlTextReaderSetStructuredErrorHandler' type='function'/>
+     <exports symbol='xmlTextReaderSetup' type='function'/>
      <exports symbol='xmlTextReaderStandalone' type='function'/>
+     <exports symbol='xmlTextReaderValue' type='function'/>
+     <exports symbol='xmlTextReaderXmlLang' type='function'/>
     </file>
     <file name='xmlregexp'>
      <summary>regular expressions handling</summary>
      <description>basic API for libxml regular expressions handling used for XML Schemas and validation. </description>
      <author>Daniel Veillard </author>
+     <exports symbol='XML_EXP_ATOM' type='enum'/>
      <exports symbol='XML_EXP_COUNT' type='enum'/>
      <exports symbol='XML_EXP_EMPTY' type='enum'/>
-     <exports symbol='XML_EXP_SEQ' type='enum'/>
-     <exports symbol='XML_EXP_ATOM' type='enum'/>
-     <exports symbol='XML_EXP_OR' type='enum'/>
      <exports symbol='XML_EXP_FORBID' type='enum'/>
-     <exports symbol='xmlRegExecCtxtPtr' type='typedef'/>
+     <exports symbol='XML_EXP_OR' type='enum'/>
+     <exports symbol='XML_EXP_SEQ' type='enum'/>
      <exports symbol='xmlExpCtxt' type='typedef'/>
-     <exports symbol='xmlExpNodePtr' type='typedef'/>
      <exports symbol='xmlExpCtxtPtr' type='typedef'/>
+     <exports symbol='xmlExpNode' type='typedef'/>
+     <exports symbol='xmlExpNodePtr' type='typedef'/>
      <exports symbol='xmlExpNodeType' type='typedef'/>
      <exports symbol='xmlRegExecCtxt' type='typedef'/>
-     <exports symbol='xmlExpNode' type='typedef'/>
+     <exports symbol='xmlRegExecCtxtPtr' type='typedef'/>
      <exports symbol='xmlRegexp' type='typedef'/>
      <exports symbol='xmlRegexpPtr' type='typedef'/>
-     <exports symbol='forbiddenExp' type='variable'/>
      <exports symbol='emptyExp' type='variable'/>
-     <exports symbol='xmlRegExecCallbacks' type='function'/>
-     <exports symbol='xmlRegNewExecCtxt' type='function'/>
-     <exports symbol='xmlExpNewOr' type='function'/>
-     <exports symbol='xmlRegFreeRegexp' type='function'/>
-     <exports symbol='xmlExpRef' type='function'/>
-     <exports symbol='xmlRegexpIsDeterminist' type='function'/>
-     <exports symbol='xmlRegExecErrInfo' type='function'/>
-     <exports symbol='xmlRegFreeExecCtxt' type='function'/>
+     <exports symbol='forbiddenExp' type='variable'/>
      <exports symbol='xmlExpCtxtNbCons' type='function'/>
-     <exports symbol='xmlExpSubsume' type='function'/>
-     <exports symbol='xmlRegExecPushString2' type='function'/>
-     <exports symbol='xmlRegExecNextValues' type='function'/>
-     <exports symbol='xmlExpExpDerive' type='function'/>
-     <exports symbol='xmlExpIsNillable' type='function'/>
-     <exports symbol='xmlExpFreeCtxt' type='function'/>
-     <exports symbol='xmlExpDump' type='function'/>
-     <exports symbol='xmlExpNewSeq' type='function'/>
-     <exports symbol='xmlExpFree' type='function'/>
-     <exports symbol='xmlExpNewRange' type='function'/>
-     <exports symbol='xmlRegexpCompile' type='function'/>
-     <exports symbol='xmlExpNewAtom' type='function'/>
-     <exports symbol='xmlRegexpExec' type='function'/>
-     <exports symbol='xmlRegExecPushString' type='function'/>
-     <exports symbol='xmlExpGetStart' type='function'/>
-     <exports symbol='xmlExpParse' type='function'/>
-     <exports symbol='xmlExpNewCtxt' type='function'/>
-     <exports symbol='xmlExpGetLanguage' type='function'/>
-     <exports symbol='xmlExpStringDerive' type='function'/>
      <exports symbol='xmlExpCtxtNbNodes' type='function'/>
+     <exports symbol='xmlExpDump' type='function'/>
+     <exports symbol='xmlExpExpDerive' type='function'/>
+     <exports symbol='xmlExpFree' type='function'/>
+     <exports symbol='xmlExpFreeCtxt' type='function'/>
+     <exports symbol='xmlExpGetLanguage' type='function'/>
+     <exports symbol='xmlExpGetStart' type='function'/>
+     <exports symbol='xmlExpIsNillable' type='function'/>
      <exports symbol='xmlExpMaxToken' type='function'/>
+     <exports symbol='xmlExpNewAtom' type='function'/>
+     <exports symbol='xmlExpNewCtxt' type='function'/>
+     <exports symbol='xmlExpNewOr' type='function'/>
+     <exports symbol='xmlExpNewRange' type='function'/>
+     <exports symbol='xmlExpNewSeq' type='function'/>
+     <exports symbol='xmlExpParse' type='function'/>
+     <exports symbol='xmlExpRef' type='function'/>
+     <exports symbol='xmlExpStringDerive' type='function'/>
+     <exports symbol='xmlExpSubsume' type='function'/>
+     <exports symbol='xmlRegExecCallbacks' type='function'/>
+     <exports symbol='xmlRegExecErrInfo' type='function'/>
+     <exports symbol='xmlRegExecNextValues' type='function'/>
+     <exports symbol='xmlRegExecPushString' type='function'/>
+     <exports symbol='xmlRegExecPushString2' type='function'/>
+     <exports symbol='xmlRegFreeExecCtxt' type='function'/>
+     <exports symbol='xmlRegFreeRegexp' type='function'/>
+     <exports symbol='xmlRegNewExecCtxt' type='function'/>
+     <exports symbol='xmlRegexpCompile' type='function'/>
+     <exports symbol='xmlRegexpExec' type='function'/>
+     <exports symbol='xmlRegexpIsDeterminist' type='function'/>
      <exports symbol='xmlRegexpPrint' type='function'/>
     </file>
     <file name='xmlsave'>
      <summary>the XML document serializer</summary>
      <description>API to save document or subtree of document </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_SAVE_XHTML' type='enum'/>
+     <exports symbol='XML_SAVE_AS_HTML' type='enum'/>
      <exports symbol='XML_SAVE_AS_XML' type='enum'/>
+     <exports symbol='XML_SAVE_FORMAT' type='enum'/>
+     <exports symbol='XML_SAVE_NO_DECL' type='enum'/>
      <exports symbol='XML_SAVE_NO_EMPTY' type='enum'/>
      <exports symbol='XML_SAVE_NO_XHTML' type='enum'/>
-     <exports symbol='XML_SAVE_NO_DECL' type='enum'/>
-     <exports symbol='XML_SAVE_AS_HTML' type='enum'/>
-     <exports symbol='XML_SAVE_FORMAT' type='enum'/>
      <exports symbol='XML_SAVE_WSNONSIG' type='enum'/>
-     <exports symbol='xmlSaveOption' type='typedef'/>
+     <exports symbol='XML_SAVE_XHTML' type='enum'/>
      <exports symbol='xmlSaveCtxt' type='typedef'/>
      <exports symbol='xmlSaveCtxtPtr' type='typedef'/>
-     <exports symbol='xmlSaveToIO' type='function'/>
-     <exports symbol='xmlSaveToFd' type='function'/>
+     <exports symbol='xmlSaveOption' type='typedef'/>
      <exports symbol='xmlSaveClose' type='function'/>
-     <exports symbol='xmlSaveSetAttrEscape' type='function'/>
-     <exports symbol='xmlSaveToBuffer' type='function'/>
-     <exports symbol='xmlSaveToFilename' type='function'/>
-     <exports symbol='xmlSaveFlush' type='function'/>
      <exports symbol='xmlSaveDoc' type='function'/>
+     <exports symbol='xmlSaveFlush' type='function'/>
+     <exports symbol='xmlSaveSetAttrEscape' type='function'/>
      <exports symbol='xmlSaveSetEscape' type='function'/>
+     <exports symbol='xmlSaveToBuffer' type='function'/>
+     <exports symbol='xmlSaveToFd' type='function'/>
+     <exports symbol='xmlSaveToFilename' type='function'/>
+     <exports symbol='xmlSaveToIO' type='function'/>
      <exports symbol='xmlSaveTree' type='function'/>
     </file>
     <file name='xmlschemas'>
      <summary>incomplete XML Schemas structure implementation</summary>
      <description>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_SCHEMAS_ERR_NOTNILLABLE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_OK' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_ATTRINVALID' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_ATTRUNKNOWN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_CONSTRUCT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_ELEMCONT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_EXTRACONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_FACET' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_HAVEDEFAULT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_INTERNAL' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_INVALIDATTR' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_INVALIDELEM' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_ISABSTRACT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_NOROLLBACK' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_NOROOT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_NOTDETERMINIST' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_NOTEMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_NOTNILLABLE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_NOTSIMPLE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_NOTTOPLEVEL' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_NOTYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_OK' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_UNDECLAREDELEM' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ERR_WRONGELEM' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_XXX' type='enum'/>
      <exports symbol='XML_SCHEMA_VAL_VC_I_CREATE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_ISABSTRACT' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_ATTRUNKNOWN' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_WRONGELEM' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_NOTDETERMINIST' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_INTERNAL' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_MISSING' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_INVALIDATTR' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_CONSTRUCT' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_FACET' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_NOTYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_VALUE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_NOROLLBACK' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_NOTTOPLEVEL' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_NOTEMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_INVALIDELEM' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_ATTRINVALID' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_EXTRACONTENT' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_NOTSIMPLE' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_UNDECLAREDELEM' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_HAVEDEFAULT' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_ELEMCONT' type='enum'/>
-     <exports symbol='XML_SCHEMAS_ERR_' type='enum'/>
-     <exports symbol='xmlSchemaPtr' type='typedef'/>
+     <exports symbol='xmlSchema' type='typedef'/>
      <exports symbol='xmlSchemaParserCtxt' type='typedef'/>
-     <exports symbol='xmlSchemaValidOption' type='typedef'/>
+     <exports symbol='xmlSchemaParserCtxtPtr' type='typedef'/>
+     <exports symbol='xmlSchemaPtr' type='typedef'/>
      <exports symbol='xmlSchemaSAXPlugPtr' type='typedef'/>
      <exports symbol='xmlSchemaSAXPlugStruct' type='typedef'/>
-     <exports symbol='xmlSchemaValidCtxtPtr' type='typedef'/>
-     <exports symbol='xmlSchemaParserCtxtPtr' type='typedef'/>
-     <exports symbol='xmlSchema' type='typedef'/>
-     <exports symbol='xmlSchemaValidError' type='typedef'/>
      <exports symbol='xmlSchemaValidCtxt' type='typedef'/>
-     <exports symbol='xmlSchemaNewDocParserCtxt' type='function'/>
-     <exports symbol='xmlSchemaSAXUnplug' type='function'/>
-     <exports symbol='xmlSchemaParse' type='function'/>
-     <exports symbol='xmlSchemaFreeParserCtxt' type='function'/>
-     <exports symbol='xmlSchemaValidateSetFilename' type='function'/>
-     <exports symbol='xmlSchemaNewParserCtxt' type='function'/>
-     <exports symbol='xmlSchemaIsValid' type='function'/>
-     <exports symbol='xmlSchemaValidityErrorFunc' type='function'/>
-     <exports symbol='xmlSchemaSAXPlug' type='function'/>
-     <exports symbol='xmlSchemaValidateStream' type='function'/>
-     <exports symbol='xmlSchemaGetParserErrors' type='function'/>
-     <exports symbol='xmlSchemaValidateSetLocator' type='function'/>
-     <exports symbol='xmlSchemaValidateOneElement' type='function'/>
-     <exports symbol='xmlSchemaSetValidStructuredErrors' type='function'/>
-     <exports symbol='xmlSchemaSetValidErrors' type='function'/>
-     <exports symbol='xmlSchemaValidCtxtGetOptions' type='function'/>
-     <exports symbol='xmlSchemaValidateFile' type='function'/>
-     <exports symbol='xmlSchemaValidateDoc' type='function'/>
-     <exports symbol='xmlSchemaFree' type='function'/>
-     <exports symbol='xmlSchemaNewMemParserCtxt' type='function'/>
-     <exports symbol='xmlSchemaValidityLocatorFunc' type='function'/>
-     <exports symbol='xmlSchemaGetValidErrors' type='function'/>
-     <exports symbol='xmlSchemaSetValidOptions' type='function'/>
-     <exports symbol='xmlSchemaSetParserErrors' type='function'/>
-     <exports symbol='xmlSchemaValidityWarningFunc' type='function'/>
+     <exports symbol='xmlSchemaValidCtxtPtr' type='typedef'/>
+     <exports symbol='xmlSchemaValidError' type='typedef'/>
+     <exports symbol='xmlSchemaValidOption' type='typedef'/>
      <exports symbol='xmlSchemaDump' type='function'/>
+     <exports symbol='xmlSchemaFree' type='function'/>
+     <exports symbol='xmlSchemaFreeParserCtxt' type='function'/>
      <exports symbol='xmlSchemaFreeValidCtxt' type='function'/>
-     <exports symbol='xmlSchemaValidCtxtGetParserCtxt' type='function'/>
-     <exports symbol='xmlSchemaSetParserStructuredErrors' type='function'/>
+     <exports symbol='xmlSchemaGetParserErrors' type='function'/>
+     <exports symbol='xmlSchemaGetValidErrors' type='function'/>
+     <exports symbol='xmlSchemaIsValid' type='function'/>
+     <exports symbol='xmlSchemaNewDocParserCtxt' type='function'/>
+     <exports symbol='xmlSchemaNewMemParserCtxt' type='function'/>
+     <exports symbol='xmlSchemaNewParserCtxt' type='function'/>
      <exports symbol='xmlSchemaNewValidCtxt' type='function'/>
+     <exports symbol='xmlSchemaParse' type='function'/>
+     <exports symbol='xmlSchemaSAXPlug' type='function'/>
+     <exports symbol='xmlSchemaSAXUnplug' type='function'/>
+     <exports symbol='xmlSchemaSetParserErrors' type='function'/>
+     <exports symbol='xmlSchemaSetParserStructuredErrors' type='function'/>
+     <exports symbol='xmlSchemaSetValidErrors' type='function'/>
+     <exports symbol='xmlSchemaSetValidOptions' type='function'/>
+     <exports symbol='xmlSchemaSetValidStructuredErrors' type='function'/>
+     <exports symbol='xmlSchemaValidCtxtGetOptions' type='function'/>
+     <exports symbol='xmlSchemaValidCtxtGetParserCtxt' type='function'/>
+     <exports symbol='xmlSchemaValidateDoc' type='function'/>
+     <exports symbol='xmlSchemaValidateFile' type='function'/>
+     <exports symbol='xmlSchemaValidateOneElement' type='function'/>
+     <exports symbol='xmlSchemaValidateSetFilename' type='function'/>
+     <exports symbol='xmlSchemaValidateSetLocator' type='function'/>
+     <exports symbol='xmlSchemaValidateStream' type='function'/>
+     <exports symbol='xmlSchemaValidityErrorFunc' type='function'/>
+     <exports symbol='xmlSchemaValidityLocatorFunc' type='function'/>
+     <exports symbol='xmlSchemaValidityWarningFunc' type='function'/>
     </file>
     <file name='xmlschemastypes'>
      <summary>implementation of XML Schema Datatypes</summary>
      <description>module providing the XML Schema Datatypes implementation both definition and validity checking </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_SCHEMA_WHITESPACE_UNKNOWN' type='enum'/>
      <exports symbol='XML_SCHEMA_WHITESPACE_COLLAPSE' type='enum'/>
-     <exports symbol='XML_SCHEMA_WHITESPACE_REPLACE' type='enum'/>
      <exports symbol='XML_SCHEMA_WHITESPACE_PRESERVE' type='enum'/>
+     <exports symbol='XML_SCHEMA_WHITESPACE_REPLACE' type='enum'/>
+     <exports symbol='XML_SCHEMA_WHITESPACE_UNKNOWN' type='enum'/>
      <exports symbol='xmlSchemaWhitespaceValueType' type='typedef'/>
-     <exports symbol='xmlSchemaValPredefTypeNode' type='function'/>
-     <exports symbol='xmlSchemaGetCanonValueWhtsp' type='function'/>
-     <exports symbol='xmlSchemaValidateLengthFacetWhtsp' type='function'/>
-     <exports symbol='xmlSchemaIsBuiltInTypeFacet' type='function'/>
-     <exports symbol='xmlSchemaGetCanonValue' type='function'/>
-     <exports symbol='xmlSchemaGetBuiltInListSimpleTypeItemType' type='function'/>
-     <exports symbol='xmlSchemaCompareValuesWhtsp' type='function'/>
-     <exports symbol='xmlSchemaValueGetAsBoolean' type='function'/>
+     <exports symbol='xmlSchemaCheckFacet' type='function'/>
+     <exports symbol='xmlSchemaCleanupTypes' type='function'/>
      <exports symbol='xmlSchemaCollapseString' type='function'/>
-     <exports symbol='xmlSchemaValPredefTypeNodeNoNorm' type='function'/>
-     <exports symbol='xmlSchemaValidateFacet' type='function'/>
-     <exports symbol='xmlSchemaNewFacet' type='function'/>
-     <exports symbol='xmlSchemaValueAppend' type='function'/>
      <exports symbol='xmlSchemaCompareValues' type='function'/>
-     <exports symbol='xmlSchemaValidateLengthFacet' type='function'/>
-     <exports symbol='xmlSchemaGetValType' type='function'/>
-     <exports symbol='xmlSchemaGetPredefinedType' type='function'/>
-     <exports symbol='xmlSchemaValidatePredefinedType' type='function'/>
-     <exports symbol='xmlSchemaFreeFacet' type='function'/>
-     <exports symbol='xmlSchemaValidateListSimpleTypeFacet' type='function'/>
-     <exports symbol='xmlSchemaGetFacetValueAsULong' type='function'/>
-     <exports symbol='xmlSchemaFreeValue' type='function'/>
-     <exports symbol='xmlSchemaValueGetNext' type='function'/>
-     <exports symbol='xmlSchemaValueGetAsString' type='function'/>
+     <exports symbol='xmlSchemaCompareValuesWhtsp' type='function'/>
      <exports symbol='xmlSchemaCopyValue' type='function'/>
+     <exports symbol='xmlSchemaFreeFacet' type='function'/>
+     <exports symbol='xmlSchemaFreeValue' type='function'/>
+     <exports symbol='xmlSchemaGetBuiltInListSimpleTypeItemType' type='function'/>
+     <exports symbol='xmlSchemaGetBuiltInType' type='function'/>
+     <exports symbol='xmlSchemaGetCanonValue' type='function'/>
+     <exports symbol='xmlSchemaGetCanonValueWhtsp' type='function'/>
+     <exports symbol='xmlSchemaGetFacetValueAsULong' type='function'/>
+     <exports symbol='xmlSchemaGetPredefinedType' type='function'/>
+     <exports symbol='xmlSchemaGetValType' type='function'/>
+     <exports symbol='xmlSchemaInitTypes' type='function'/>
+     <exports symbol='xmlSchemaIsBuiltInTypeFacet' type='function'/>
+     <exports symbol='xmlSchemaNewFacet' type='function'/>
      <exports symbol='xmlSchemaNewNOTATIONValue' type='function'/>
      <exports symbol='xmlSchemaNewQNameValue' type='function'/>
-     <exports symbol='xmlSchemaCleanupTypes' type='function'/>
-     <exports symbol='xmlSchemaWhiteSpaceReplace' type='function'/>
      <exports symbol='xmlSchemaNewStringValue' type='function'/>
-     <exports symbol='xmlSchemaGetBuiltInType' type='function'/>
-     <exports symbol='xmlSchemaInitTypes' type='function'/>
+     <exports symbol='xmlSchemaValPredefTypeNode' type='function'/>
+     <exports symbol='xmlSchemaValPredefTypeNodeNoNorm' type='function'/>
+     <exports symbol='xmlSchemaValidateFacet' type='function'/>
      <exports symbol='xmlSchemaValidateFacetWhtsp' type='function'/>
-     <exports symbol='xmlSchemaCheckFacet' type='function'/>
+     <exports symbol='xmlSchemaValidateLengthFacet' type='function'/>
+     <exports symbol='xmlSchemaValidateLengthFacetWhtsp' type='function'/>
+     <exports symbol='xmlSchemaValidateListSimpleTypeFacet' type='function'/>
+     <exports symbol='xmlSchemaValidatePredefinedType' type='function'/>
+     <exports symbol='xmlSchemaValueAppend' type='function'/>
+     <exports symbol='xmlSchemaValueGetAsBoolean' type='function'/>
+     <exports symbol='xmlSchemaValueGetAsString' type='function'/>
+     <exports symbol='xmlSchemaValueGetNext' type='function'/>
+     <exports symbol='xmlSchemaWhiteSpaceReplace' type='function'/>
     </file>
     <file name='xmlstring'>
      <summary>set of routines to process strings</summary>
@@ -3177,623 +3140,623 @@
      <author>Daniel Veillard </author>
      <exports symbol='BAD_CAST' type='macro'/>
      <exports symbol='xmlChar' type='typedef'/>
-     <exports symbol='xmlStrcmp' type='function'/>
+     <exports symbol='xmlCharStrdup' type='function'/>
      <exports symbol='xmlCharStrndup' type='function'/>
+     <exports symbol='xmlCheckUTF8' type='function'/>
+     <exports symbol='xmlGetUTF8Char' type='function'/>
+     <exports symbol='xmlStrEqual' type='function'/>
+     <exports symbol='xmlStrPrintf' type='function'/>
+     <exports symbol='xmlStrQEqual' type='function'/>
+     <exports symbol='xmlStrVPrintf' type='function'/>
+     <exports symbol='xmlStrcasecmp' type='function'/>
      <exports symbol='xmlStrcasestr' type='function'/>
      <exports symbol='xmlStrcat' type='function'/>
-     <exports symbol='xmlStrPrintf' type='function'/>
-     <exports symbol='xmlStrstr' type='function'/>
-     <exports symbol='xmlUTF8Size' type='function'/>
-     <exports symbol='xmlStrQEqual' type='function'/>
-     <exports symbol='xmlStrncatNew' type='function'/>
-     <exports symbol='xmlUTF8Strpos' type='function'/>
-     <exports symbol='xmlStrdup' type='function'/>
-     <exports symbol='xmlCharStrdup' type='function'/>
      <exports symbol='xmlStrchr' type='function'/>
+     <exports symbol='xmlStrcmp' type='function'/>
+     <exports symbol='xmlStrdup' type='function'/>
      <exports symbol='xmlStrlen' type='function'/>
-     <exports symbol='xmlStrncmp' type='function'/>
-     <exports symbol='xmlStrsub' type='function'/>
-     <exports symbol='xmlStrncat' type='function'/>
-     <exports symbol='xmlGetUTF8Char' type='function'/>
-     <exports symbol='xmlStrcasecmp' type='function'/>
-     <exports symbol='xmlStrndup' type='function'/>
-     <exports symbol='xmlStrVPrintf' type='function'/>
-     <exports symbol='xmlUTF8Strsize' type='function'/>
-     <exports symbol='xmlCheckUTF8' type='function'/>
      <exports symbol='xmlStrncasecmp' type='function'/>
-     <exports symbol='xmlUTF8Strlen' type='function'/>
-     <exports symbol='xmlUTF8Strsub' type='function'/>
-     <exports symbol='xmlStrEqual' type='function'/>
+     <exports symbol='xmlStrncat' type='function'/>
+     <exports symbol='xmlStrncatNew' type='function'/>
+     <exports symbol='xmlStrncmp' type='function'/>
+     <exports symbol='xmlStrndup' type='function'/>
+     <exports symbol='xmlStrstr' type='function'/>
+     <exports symbol='xmlStrsub' type='function'/>
      <exports symbol='xmlUTF8Charcmp' type='function'/>
-     <exports symbol='xmlUTF8Strndup' type='function'/>
+     <exports symbol='xmlUTF8Size' type='function'/>
+     <exports symbol='xmlUTF8Strlen' type='function'/>
      <exports symbol='xmlUTF8Strloc' type='function'/>
+     <exports symbol='xmlUTF8Strndup' type='function'/>
+     <exports symbol='xmlUTF8Strpos' type='function'/>
+     <exports symbol='xmlUTF8Strsize' type='function'/>
+     <exports symbol='xmlUTF8Strsub' type='function'/>
     </file>
     <file name='xmlunicode'>
      <summary>Unicode character APIs</summary>
      <description>API for the Unicode character APIs  This file is automatically generated from the UCS description files of the Unicode Character Database</description>
      <author>Daniel Veillard </author>
+     <exports symbol='xmlUCSIsAegeanNumbers' type='function'/>
+     <exports symbol='xmlUCSIsAlphabeticPresentationForms' type='function'/>
+     <exports symbol='xmlUCSIsArabic' type='function'/>
+     <exports symbol='xmlUCSIsArabicPresentationFormsA' type='function'/>
+     <exports symbol='xmlUCSIsArabicPresentationFormsB' type='function'/>
+     <exports symbol='xmlUCSIsArmenian' type='function'/>
+     <exports symbol='xmlUCSIsArrows' type='function'/>
+     <exports symbol='xmlUCSIsBasicLatin' type='function'/>
+     <exports symbol='xmlUCSIsBengali' type='function'/>
+     <exports symbol='xmlUCSIsBlock' type='function'/>
      <exports symbol='xmlUCSIsBlockElements' type='function'/>
      <exports symbol='xmlUCSIsBopomofo' type='function'/>
-     <exports symbol='xmlUCSIsDingbats' type='function'/>
-     <exports symbol='xmlUCSIsSuperscriptsandSubscripts' type='function'/>
-     <exports symbol='xmlUCSIsCombiningHalfMarks' type='function'/>
-     <exports symbol='xmlUCSIsTibetan' type='function'/>
-     <exports symbol='xmlUCSIsYiRadicals' type='function'/>
-     <exports symbol='xmlUCSIsCombiningMarksforSymbols' type='function'/>
-     <exports symbol='xmlUCSIsHangulSyllables' type='function'/>
-     <exports symbol='xmlUCSIsBasicLatin' type='function'/>
-     <exports symbol='xmlUCSIsCatSc' type='function'/>
-     <exports symbol='xmlUCSIsCatSo' type='function'/>
-     <exports symbol='xmlUCSIsLimbu' type='function'/>
-     <exports symbol='xmlUCSIsCatSm' type='function'/>
-     <exports symbol='xmlUCSIsCatSk' type='function'/>
-     <exports symbol='xmlUCSIsKhmerSymbols' type='function'/>
-     <exports symbol='xmlUCSIsMongolian' type='function'/>
-     <exports symbol='xmlUCSIsMalayalam' type='function'/>
-     <exports symbol='xmlUCSIsMathematicalAlphanumericSymbols' type='function'/>
-     <exports symbol='xmlUCSIsThaana' type='function'/>
-     <exports symbol='xmlUCSIsMyanmar' type='function'/>
-     <exports symbol='xmlUCSIsTags' type='function'/>
-     <exports symbol='xmlUCSIsCJKCompatibilityIdeographs' type='function'/>
-     <exports symbol='xmlUCSIsTelugu' type='function'/>
-     <exports symbol='xmlUCSIsLowSurrogates' type='function'/>
-     <exports symbol='xmlUCSIsOsmanya' type='function'/>
-     <exports symbol='xmlUCSIsSyriac' type='function'/>
-     <exports symbol='xmlUCSIsEthiopic' type='function'/>
-     <exports symbol='xmlUCSIsBoxDrawing' type='function'/>
-     <exports symbol='xmlUCSIsGreekExtended' type='function'/>
-     <exports symbol='xmlUCSIsGreekandCoptic' type='function'/>
-     <exports symbol='xmlUCSIsKannada' type='function'/>
-     <exports symbol='xmlUCSIsByzantineMusicalSymbols' type='function'/>
-     <exports symbol='xmlUCSIsEnclosedCJKLettersandMonths' type='function'/>
-     <exports symbol='xmlUCSIsCJKCompatibilityForms' type='function'/>
-     <exports symbol='xmlUCSIsCatCs' type='function'/>
-     <exports symbol='xmlUCSIsCJKRadicalsSupplement' type='function'/>
-     <exports symbol='xmlUCSIsCatCf' type='function'/>
-     <exports symbol='xmlUCSIsSmallFormVariants' type='function'/>
-     <exports symbol='xmlUCSIsHangulCompatibilityJamo' type='function'/>
-     <exports symbol='xmlUCSIsCatCc' type='function'/>
-     <exports symbol='xmlUCSIsCatCo' type='function'/>
-     <exports symbol='xmlUCSIsCherokee' type='function'/>
-     <exports symbol='xmlUCSIsGothic' type='function'/>
-     <exports symbol='xmlUCSIsKhmer' type='function'/>
-     <exports symbol='xmlUCSIsCombiningDiacriticalMarksforSymbols' type='function'/>
-     <exports symbol='xmlUCSIsOgham' type='function'/>
-     <exports symbol='xmlUCSIsOriya' type='function'/>
-     <exports symbol='xmlUCSIsLinearBIdeograms' type='function'/>
-     <exports symbol='xmlUCSIsBlock' type='function'/>
      <exports symbol='xmlUCSIsBopomofoExtended' type='function'/>
-     <exports symbol='xmlUCSIsHangulJamo' type='function'/>
-     <exports symbol='xmlUCSIsTagbanwa' type='function'/>
-     <exports symbol='xmlUCSIsGeneralPunctuation' type='function'/>
-     <exports symbol='xmlUCSIsCyrillic' type='function'/>
-     <exports symbol='xmlUCSIsArrows' type='function'/>
-     <exports symbol='xmlUCSIsControlPictures' type='function'/>
-     <exports symbol='xmlUCSIsCJKUnifiedIdeographs' type='function'/>
-     <exports symbol='xmlUCSIsCatNl' type='function'/>
-     <exports symbol='xmlUCSIsCatNo' type='function'/>
-     <exports symbol='xmlUCSIsYijingHexagramSymbols' type='function'/>
-     <exports symbol='xmlUCSIsVariationSelectorsSupplement' type='function'/>
-     <exports symbol='xmlUCSIsBengali' type='function'/>
-     <exports symbol='xmlUCSIsPrivateUse' type='function'/>
-     <exports symbol='xmlUCSIsMusicalSymbols' type='function'/>
-     <exports symbol='xmlUCSIsMiscellaneousSymbols' type='function'/>
-     <exports symbol='xmlUCSIsCJKCompatibility' type='function'/>
-     <exports symbol='xmlUCSIsAegeanNumbers' type='function'/>
-     <exports symbol='xmlUCSIsDevanagari' type='function'/>
-     <exports symbol='xmlUCSIsSupplementalArrowsA' type='function'/>
-     <exports symbol='xmlUCSIsSupplementalArrowsB' type='function'/>
-     <exports symbol='xmlUCSIsNumberForms' type='function'/>
-     <exports symbol='xmlUCSIsSpacingModifierLetters' type='function'/>
-     <exports symbol='xmlUCSIsOpticalCharacterRecognition' type='function'/>
-     <exports symbol='xmlUCSIsCatPc' type='function'/>
-     <exports symbol='xmlUCSIsCatPf' type='function'/>
-     <exports symbol='xmlUCSIsCyrillicSupplement' type='function'/>
-     <exports symbol='xmlUCSIsCatPd' type='function'/>
-     <exports symbol='xmlUCSIsCatPi' type='function'/>
-     <exports symbol='xmlUCSIsCatPo' type='function'/>
-     <exports symbol='xmlUCSIsHighPrivateUseSurrogates' type='function'/>
-     <exports symbol='xmlUCSIsLatinExtendedAdditional' type='function'/>
-     <exports symbol='xmlUCSIsCatPs' type='function'/>
-     <exports symbol='xmlUCSIsHighSurrogates' type='function'/>
-     <exports symbol='xmlUCSIsLao' type='function'/>
+     <exports symbol='xmlUCSIsBoxDrawing' type='function'/>
      <exports symbol='xmlUCSIsBraillePatterns' type='function'/>
-     <exports symbol='xmlUCSIsDeseret' type='function'/>
-     <exports symbol='xmlUCSIsEnclosedAlphanumerics' type='function'/>
-     <exports symbol='xmlUCSIsCombiningDiacriticalMarks' type='function'/>
-     <exports symbol='xmlUCSIsIdeographicDescriptionCharacters' type='function'/>
-     <exports symbol='xmlUCSIsPrivateUseArea' type='function'/>
-     <exports symbol='xmlUCSIsCat' type='function'/>
-     <exports symbol='xmlUCSIsCatLu' type='function'/>
-     <exports symbol='xmlUCSIsCatLt' type='function'/>
-     <exports symbol='xmlUCSIsYiSyllables' type='function'/>
-     <exports symbol='xmlUCSIsShavian' type='function'/>
-     <exports symbol='xmlUCSIsCatLo' type='function'/>
-     <exports symbol='xmlUCSIsCatLm' type='function'/>
-     <exports symbol='xmlUCSIsCatLl' type='function'/>
-     <exports symbol='xmlUCSIsMiscellaneousTechnical' type='function'/>
-     <exports symbol='xmlUCSIsUgaritic' type='function'/>
-     <exports symbol='xmlUCSIsCJKCompatibilityIdeographsSupplement' type='function'/>
-     <exports symbol='xmlUCSIsCypriotSyllabary' type='function'/>
-     <exports symbol='xmlUCSIsTamil' type='function'/>
-     <exports symbol='xmlUCSIsCatC' type='function'/>
-     <exports symbol='xmlUCSIsCatN' type='function'/>
-     <exports symbol='xmlUCSIsCatL' type='function'/>
-     <exports symbol='xmlUCSIsCatM' type='function'/>
-     <exports symbol='xmlUCSIsUnifiedCanadianAboriginalSyllabics' type='function'/>
-     <exports symbol='xmlUCSIsCatS' type='function'/>
-     <exports symbol='xmlUCSIsCatP' type='function'/>
-     <exports symbol='xmlUCSIsSinhala' type='function'/>
-     <exports symbol='xmlUCSIsGeorgian' type='function'/>
-     <exports symbol='xmlUCSIsCatZ' type='function'/>
-     <exports symbol='xmlUCSIsIPAExtensions' type='function'/>
-     <exports symbol='xmlUCSIsKangxiRadicals' type='function'/>
-     <exports symbol='xmlUCSIsGreek' type='function'/>
-     <exports symbol='xmlUCSIsCatPe' type='function'/>
-     <exports symbol='xmlUCSIsHanunoo' type='function'/>
-     <exports symbol='xmlUCSIsArmenian' type='function'/>
-     <exports symbol='xmlUCSIsSupplementaryPrivateUseAreaB' type='function'/>
-     <exports symbol='xmlUCSIsSupplementaryPrivateUseAreaA' type='function'/>
-     <exports symbol='xmlUCSIsKatakanaPhoneticExtensions' type='function'/>
-     <exports symbol='xmlUCSIsLetterlikeSymbols' type='function'/>
-     <exports symbol='xmlUCSIsPhoneticExtensions' type='function'/>
-     <exports symbol='xmlUCSIsArabic' type='function'/>
-     <exports symbol='xmlUCSIsHebrew' type='function'/>
-     <exports symbol='xmlUCSIsOldItalic' type='function'/>
-     <exports symbol='xmlUCSIsArabicPresentationFormsA' type='function'/>
-     <exports symbol='xmlUCSIsCatZp' type='function'/>
-     <exports symbol='xmlUCSIsCatZs' type='function'/>
-     <exports symbol='xmlUCSIsArabicPresentationFormsB' type='function'/>
-     <exports symbol='xmlUCSIsGeometricShapes' type='function'/>
-     <exports symbol='xmlUCSIsCatZl' type='function'/>
-     <exports symbol='xmlUCSIsTagalog' type='function'/>
-     <exports symbol='xmlUCSIsSpecials' type='function'/>
-     <exports symbol='xmlUCSIsGujarati' type='function'/>
-     <exports symbol='xmlUCSIsKatakana' type='function'/>
-     <exports symbol='xmlUCSIsHalfwidthandFullwidthForms' type='function'/>
-     <exports symbol='xmlUCSIsLatinExtendedB' type='function'/>
-     <exports symbol='xmlUCSIsLatinExtendedA' type='function'/>
      <exports symbol='xmlUCSIsBuhid' type='function'/>
-     <exports symbol='xmlUCSIsMiscellaneousSymbolsandArrows' type='function'/>
-     <exports symbol='xmlUCSIsTaiLe' type='function'/>
+     <exports symbol='xmlUCSIsByzantineMusicalSymbols' type='function'/>
+     <exports symbol='xmlUCSIsCJKCompatibility' type='function'/>
+     <exports symbol='xmlUCSIsCJKCompatibilityForms' type='function'/>
+     <exports symbol='xmlUCSIsCJKCompatibilityIdeographs' type='function'/>
+     <exports symbol='xmlUCSIsCJKCompatibilityIdeographsSupplement' type='function'/>
+     <exports symbol='xmlUCSIsCJKRadicalsSupplement' type='function'/>
      <exports symbol='xmlUCSIsCJKSymbolsandPunctuation' type='function'/>
-     <exports symbol='xmlUCSIsTaiXuanJingSymbols' type='function'/>
-     <exports symbol='xmlUCSIsGurmukhi' type='function'/>
-     <exports symbol='xmlUCSIsMathematicalOperators' type='function'/>
-     <exports symbol='xmlUCSIsAlphabeticPresentationForms' type='function'/>
-     <exports symbol='xmlUCSIsCurrencySymbols' type='function'/>
-     <exports symbol='xmlUCSIsSupplementalMathematicalOperators' type='function'/>
+     <exports symbol='xmlUCSIsCJKUnifiedIdeographs' type='function'/>
      <exports symbol='xmlUCSIsCJKUnifiedIdeographsExtensionA' type='function'/>
-     <exports symbol='xmlUCSIsKanbun' type='function'/>
      <exports symbol='xmlUCSIsCJKUnifiedIdeographsExtensionB' type='function'/>
-     <exports symbol='xmlUCSIsThai' type='function'/>
-     <exports symbol='xmlUCSIsRunic' type='function'/>
-     <exports symbol='xmlUCSIsCatNd' type='function'/>
-     <exports symbol='xmlUCSIsLatin1Supplement' type='function'/>
-     <exports symbol='xmlUCSIsLinearBSyllabary' type='function'/>
-     <exports symbol='xmlUCSIsHiragana' type='function'/>
-     <exports symbol='xmlUCSIsMiscellaneousMathematicalSymbolsB' type='function'/>
-     <exports symbol='xmlUCSIsMiscellaneousMathematicalSymbolsA' type='function'/>
-     <exports symbol='xmlUCSIsCatMn' type='function'/>
-     <exports symbol='xmlUCSIsVariationSelectors' type='function'/>
+     <exports symbol='xmlUCSIsCat' type='function'/>
+     <exports symbol='xmlUCSIsCatC' type='function'/>
+     <exports symbol='xmlUCSIsCatCc' type='function'/>
+     <exports symbol='xmlUCSIsCatCf' type='function'/>
+     <exports symbol='xmlUCSIsCatCo' type='function'/>
+     <exports symbol='xmlUCSIsCatCs' type='function'/>
+     <exports symbol='xmlUCSIsCatL' type='function'/>
+     <exports symbol='xmlUCSIsCatLl' type='function'/>
+     <exports symbol='xmlUCSIsCatLm' type='function'/>
+     <exports symbol='xmlUCSIsCatLo' type='function'/>
+     <exports symbol='xmlUCSIsCatLt' type='function'/>
+     <exports symbol='xmlUCSIsCatLu' type='function'/>
+     <exports symbol='xmlUCSIsCatM' type='function'/>
      <exports symbol='xmlUCSIsCatMc' type='function'/>
      <exports symbol='xmlUCSIsCatMe' type='function'/>
+     <exports symbol='xmlUCSIsCatMn' type='function'/>
+     <exports symbol='xmlUCSIsCatN' type='function'/>
+     <exports symbol='xmlUCSIsCatNd' type='function'/>
+     <exports symbol='xmlUCSIsCatNl' type='function'/>
+     <exports symbol='xmlUCSIsCatNo' type='function'/>
+     <exports symbol='xmlUCSIsCatP' type='function'/>
+     <exports symbol='xmlUCSIsCatPc' type='function'/>
+     <exports symbol='xmlUCSIsCatPd' type='function'/>
+     <exports symbol='xmlUCSIsCatPe' type='function'/>
+     <exports symbol='xmlUCSIsCatPf' type='function'/>
+     <exports symbol='xmlUCSIsCatPi' type='function'/>
+     <exports symbol='xmlUCSIsCatPo' type='function'/>
+     <exports symbol='xmlUCSIsCatPs' type='function'/>
+     <exports symbol='xmlUCSIsCatS' type='function'/>
+     <exports symbol='xmlUCSIsCatSc' type='function'/>
+     <exports symbol='xmlUCSIsCatSk' type='function'/>
+     <exports symbol='xmlUCSIsCatSm' type='function'/>
+     <exports symbol='xmlUCSIsCatSo' type='function'/>
+     <exports symbol='xmlUCSIsCatZ' type='function'/>
+     <exports symbol='xmlUCSIsCatZl' type='function'/>
+     <exports symbol='xmlUCSIsCatZp' type='function'/>
+     <exports symbol='xmlUCSIsCatZs' type='function'/>
+     <exports symbol='xmlUCSIsCherokee' type='function'/>
+     <exports symbol='xmlUCSIsCombiningDiacriticalMarks' type='function'/>
+     <exports symbol='xmlUCSIsCombiningDiacriticalMarksforSymbols' type='function'/>
+     <exports symbol='xmlUCSIsCombiningHalfMarks' type='function'/>
+     <exports symbol='xmlUCSIsCombiningMarksforSymbols' type='function'/>
+     <exports symbol='xmlUCSIsControlPictures' type='function'/>
+     <exports symbol='xmlUCSIsCurrencySymbols' type='function'/>
+     <exports symbol='xmlUCSIsCypriotSyllabary' type='function'/>
+     <exports symbol='xmlUCSIsCyrillic' type='function'/>
+     <exports symbol='xmlUCSIsCyrillicSupplement' type='function'/>
+     <exports symbol='xmlUCSIsDeseret' type='function'/>
+     <exports symbol='xmlUCSIsDevanagari' type='function'/>
+     <exports symbol='xmlUCSIsDingbats' type='function'/>
+     <exports symbol='xmlUCSIsEnclosedAlphanumerics' type='function'/>
+     <exports symbol='xmlUCSIsEnclosedCJKLettersandMonths' type='function'/>
+     <exports symbol='xmlUCSIsEthiopic' type='function'/>
+     <exports symbol='xmlUCSIsGeneralPunctuation' type='function'/>
+     <exports symbol='xmlUCSIsGeometricShapes' type='function'/>
+     <exports symbol='xmlUCSIsGeorgian' type='function'/>
+     <exports symbol='xmlUCSIsGothic' type='function'/>
+     <exports symbol='xmlUCSIsGreek' type='function'/>
+     <exports symbol='xmlUCSIsGreekExtended' type='function'/>
+     <exports symbol='xmlUCSIsGreekandCoptic' type='function'/>
+     <exports symbol='xmlUCSIsGujarati' type='function'/>
+     <exports symbol='xmlUCSIsGurmukhi' type='function'/>
+     <exports symbol='xmlUCSIsHalfwidthandFullwidthForms' type='function'/>
+     <exports symbol='xmlUCSIsHangulCompatibilityJamo' type='function'/>
+     <exports symbol='xmlUCSIsHangulJamo' type='function'/>
+     <exports symbol='xmlUCSIsHangulSyllables' type='function'/>
+     <exports symbol='xmlUCSIsHanunoo' type='function'/>
+     <exports symbol='xmlUCSIsHebrew' type='function'/>
+     <exports symbol='xmlUCSIsHighPrivateUseSurrogates' type='function'/>
+     <exports symbol='xmlUCSIsHighSurrogates' type='function'/>
+     <exports symbol='xmlUCSIsHiragana' type='function'/>
+     <exports symbol='xmlUCSIsIPAExtensions' type='function'/>
+     <exports symbol='xmlUCSIsIdeographicDescriptionCharacters' type='function'/>
+     <exports symbol='xmlUCSIsKanbun' type='function'/>
+     <exports symbol='xmlUCSIsKangxiRadicals' type='function'/>
+     <exports symbol='xmlUCSIsKannada' type='function'/>
+     <exports symbol='xmlUCSIsKatakana' type='function'/>
+     <exports symbol='xmlUCSIsKatakanaPhoneticExtensions' type='function'/>
+     <exports symbol='xmlUCSIsKhmer' type='function'/>
+     <exports symbol='xmlUCSIsKhmerSymbols' type='function'/>
+     <exports symbol='xmlUCSIsLao' type='function'/>
+     <exports symbol='xmlUCSIsLatin1Supplement' type='function'/>
+     <exports symbol='xmlUCSIsLatinExtendedA' type='function'/>
+     <exports symbol='xmlUCSIsLatinExtendedAdditional' type='function'/>
+     <exports symbol='xmlUCSIsLatinExtendedB' type='function'/>
+     <exports symbol='xmlUCSIsLetterlikeSymbols' type='function'/>
+     <exports symbol='xmlUCSIsLimbu' type='function'/>
+     <exports symbol='xmlUCSIsLinearBIdeograms' type='function'/>
+     <exports symbol='xmlUCSIsLinearBSyllabary' type='function'/>
+     <exports symbol='xmlUCSIsLowSurrogates' type='function'/>
+     <exports symbol='xmlUCSIsMalayalam' type='function'/>
+     <exports symbol='xmlUCSIsMathematicalAlphanumericSymbols' type='function'/>
+     <exports symbol='xmlUCSIsMathematicalOperators' type='function'/>
+     <exports symbol='xmlUCSIsMiscellaneousMathematicalSymbolsA' type='function'/>
+     <exports symbol='xmlUCSIsMiscellaneousMathematicalSymbolsB' type='function'/>
+     <exports symbol='xmlUCSIsMiscellaneousSymbols' type='function'/>
+     <exports symbol='xmlUCSIsMiscellaneousSymbolsandArrows' type='function'/>
+     <exports symbol='xmlUCSIsMiscellaneousTechnical' type='function'/>
+     <exports symbol='xmlUCSIsMongolian' type='function'/>
+     <exports symbol='xmlUCSIsMusicalSymbols' type='function'/>
+     <exports symbol='xmlUCSIsMyanmar' type='function'/>
+     <exports symbol='xmlUCSIsNumberForms' type='function'/>
+     <exports symbol='xmlUCSIsOgham' type='function'/>
+     <exports symbol='xmlUCSIsOldItalic' type='function'/>
+     <exports symbol='xmlUCSIsOpticalCharacterRecognition' type='function'/>
+     <exports symbol='xmlUCSIsOriya' type='function'/>
+     <exports symbol='xmlUCSIsOsmanya' type='function'/>
+     <exports symbol='xmlUCSIsPhoneticExtensions' type='function'/>
+     <exports symbol='xmlUCSIsPrivateUse' type='function'/>
+     <exports symbol='xmlUCSIsPrivateUseArea' type='function'/>
+     <exports symbol='xmlUCSIsRunic' type='function'/>
+     <exports symbol='xmlUCSIsShavian' type='function'/>
+     <exports symbol='xmlUCSIsSinhala' type='function'/>
+     <exports symbol='xmlUCSIsSmallFormVariants' type='function'/>
+     <exports symbol='xmlUCSIsSpacingModifierLetters' type='function'/>
+     <exports symbol='xmlUCSIsSpecials' type='function'/>
+     <exports symbol='xmlUCSIsSuperscriptsandSubscripts' type='function'/>
+     <exports symbol='xmlUCSIsSupplementalArrowsA' type='function'/>
+     <exports symbol='xmlUCSIsSupplementalArrowsB' type='function'/>
+     <exports symbol='xmlUCSIsSupplementalMathematicalOperators' type='function'/>
+     <exports symbol='xmlUCSIsSupplementaryPrivateUseAreaA' type='function'/>
+     <exports symbol='xmlUCSIsSupplementaryPrivateUseAreaB' type='function'/>
+     <exports symbol='xmlUCSIsSyriac' type='function'/>
+     <exports symbol='xmlUCSIsTagalog' type='function'/>
+     <exports symbol='xmlUCSIsTagbanwa' type='function'/>
+     <exports symbol='xmlUCSIsTags' type='function'/>
+     <exports symbol='xmlUCSIsTaiLe' type='function'/>
+     <exports symbol='xmlUCSIsTaiXuanJingSymbols' type='function'/>
+     <exports symbol='xmlUCSIsTamil' type='function'/>
+     <exports symbol='xmlUCSIsTelugu' type='function'/>
+     <exports symbol='xmlUCSIsThaana' type='function'/>
+     <exports symbol='xmlUCSIsThai' type='function'/>
+     <exports symbol='xmlUCSIsTibetan' type='function'/>
+     <exports symbol='xmlUCSIsUgaritic' type='function'/>
+     <exports symbol='xmlUCSIsUnifiedCanadianAboriginalSyllabics' type='function'/>
+     <exports symbol='xmlUCSIsVariationSelectors' type='function'/>
+     <exports symbol='xmlUCSIsVariationSelectorsSupplement' type='function'/>
+     <exports symbol='xmlUCSIsYiRadicals' type='function'/>
+     <exports symbol='xmlUCSIsYiSyllables' type='function'/>
+     <exports symbol='xmlUCSIsYijingHexagramSymbols' type='function'/>
     </file>
     <file name='xmlversion'>
      <summary>compile-time version information</summary>
      <description>compile-time version information for the XML library </description>
      <author>Daniel Veillard </author>
-     <exports symbol='LIBXML_VERSION_EXTRA' type='macro'/>
-     <exports symbol='LIBXML_MODULES_ENABLED' type='macro'/>
+     <exports symbol='ATTRIBUTE_UNUSED' type='macro'/>
+     <exports symbol='DEBUG_MEMORY_LOCATION' type='macro'/>
+     <exports symbol='LIBXML_ATTR_ALLOC_SIZE' type='macro'/>
+     <exports symbol='LIBXML_ATTR_FORMAT' type='macro'/>
+     <exports symbol='LIBXML_AUTOMATA_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_C14N_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_CATALOG_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_DEBUG_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_DEBUG_RUNTIME' type='macro'/>
+     <exports symbol='LIBXML_DOTTED_VERSION' type='macro'/>
+     <exports symbol='LIBXML_EXPR_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_FTP_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_HTML_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_HTTP_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_ICONV_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_ICU_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_ISO8859X_ENABLED' type='macro'/>
      <exports symbol='LIBXML_LEGACY_ENABLED' type='macro'/>
      <exports symbol='LIBXML_LZMA_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_READER_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_THREAD_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_DOTTED_VERSION' type='macro'/>
-     <exports symbol='LIBXML_ISO8859X_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_DEBUG_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_XINCLUDE_ENABLED' type='macro'/>
-     <exports symbol='ATTRIBUTE_UNUSED' type='macro'/>
-     <exports symbol='LIBXML_DOCB_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_PUSH_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_SAX1_ENABLED' type='macro'/>
-     <exports symbol='WITHOUT_TRIO' type='macro'/>
-     <exports symbol='LIBXML_SCHEMATRON_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_HTTP_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_OUTPUT_ENABLED' type='macro'/>
-     <exports symbol='WITH_TRIO' type='macro'/>
-     <exports symbol='LIBXML_DEBUG_RUNTIME' type='macro'/>
-     <exports symbol='LIBXML_VERSION' type='macro'/>
-     <exports symbol='LIBXML_XPTR_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_VERSION_STRING' type='macro'/>
-     <exports symbol='LIBXML_CATALOG_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_ATTR_ALLOC_SIZE' type='macro'/>
-     <exports symbol='LIBXML_REGEXP_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_ICU_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_MODULES_ENABLED' type='macro'/>
      <exports symbol='LIBXML_MODULE_EXTENSION' type='macro'/>
-     <exports symbol='LIBXML_ICONV_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_HTML_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_UNICODE_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_FTP_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_AUTOMATA_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_ZLIB_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_WRITER_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_C14N_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_OUTPUT_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_PATTERN_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_PUSH_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_READER_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_REGEXP_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_SAX1_ENABLED' type='macro'/>
      <exports symbol='LIBXML_SCHEMAS_ENABLED' type='macro'/>
-     <exports symbol='DEBUG_MEMORY_LOCATION' type='macro'/>
-     <exports symbol='LIBXML_ATTR_FORMAT' type='macro'/>
+     <exports symbol='LIBXML_SCHEMATRON_ENABLED' type='macro'/>
      <exports symbol='LIBXML_TEST_VERSION' type='macro'/>
      <exports symbol='LIBXML_THREAD_ALLOC_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_XPATH_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_PATTERN_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_VALID_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_THREAD_ENABLED' type='macro'/>
      <exports symbol='LIBXML_TREE_ENABLED' type='macro'/>
-     <exports symbol='LIBXML_EXPR_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_UNICODE_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_VALID_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_VERSION' type='macro'/>
+     <exports symbol='LIBXML_VERSION_EXTRA' type='macro'/>
+     <exports symbol='LIBXML_VERSION_STRING' type='macro'/>
+     <exports symbol='LIBXML_WRITER_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_XINCLUDE_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_XPATH_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_XPTR_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_XPTR_LOCS_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_ZLIB_ENABLED' type='macro'/>
+     <exports symbol='WITHOUT_TRIO' type='macro'/>
+     <exports symbol='WITH_TRIO' type='macro'/>
      <exports symbol='xmlCheckVersion' type='function'/>
     </file>
     <file name='xmlwriter'>
      <summary>text writing API for XML</summary>
      <description>text writing API for XML </description>
      <author>Alfred Mickautsch &lt;alfred@mickautsch.de&gt; </author>
-     <exports symbol='xmlTextWriterWriteProcessingInstruction' type='macro'/>
      <exports symbol='xmlTextWriterWriteDocType' type='macro'/>
+     <exports symbol='xmlTextWriterWriteProcessingInstruction' type='macro'/>
      <exports symbol='xmlTextWriter' type='typedef'/>
      <exports symbol='xmlTextWriterPtr' type='typedef'/>
-     <exports symbol='xmlTextWriterStartDocument' type='function'/>
-     <exports symbol='xmlTextWriterEndPI' type='function'/>
-     <exports symbol='xmlTextWriterWriteBase64' type='function'/>
-     <exports symbol='xmlTextWriterSetIndentString' type='function'/>
-     <exports symbol='xmlTextWriterStartAttribute' type='function'/>
-     <exports symbol='xmlTextWriterEndComment' type='function'/>
-     <exports symbol='xmlTextWriterWriteRawLen' type='function'/>
-     <exports symbol='xmlTextWriterWriteDTDExternalEntityContents' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatCDATA' type='function'/>
-     <exports symbol='xmlTextWriterStartAttributeNS' type='function'/>
-     <exports symbol='xmlNewTextWriterPushParser' type='function'/>
-     <exports symbol='xmlTextWriterWriteFormatAttributeNS' type='function'/>
-     <exports symbol='xmlTextWriterWriteDTDEntity' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatPI' type='function'/>
-     <exports symbol='xmlTextWriterWriteBinHex' type='function'/>
-     <exports symbol='xmlTextWriterEndAttribute' type='function'/>
-     <exports symbol='xmlTextWriterSetIndent' type='function'/>
-     <exports symbol='xmlTextWriterWriteFormatPI' type='function'/>
-     <exports symbol='xmlTextWriterEndDocument' type='function'/>
-     <exports symbol='xmlTextWriterWriteDTDAttlist' type='function'/>
-     <exports symbol='xmlTextWriterStartComment' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatDTD' type='function'/>
-     <exports symbol='xmlTextWriterEndCDATA' type='function'/>
-     <exports symbol='xmlTextWriterStartElementNS' type='function'/>
-     <exports symbol='xmlTextWriterEndDTDEntity' type='function'/>
-     <exports symbol='xmlNewTextWriter' type='function'/>
      <exports symbol='xmlFreeTextWriter' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatDTDAttlist' type='function'/>
-     <exports symbol='xmlTextWriterStartPI' type='function'/>
-     <exports symbol='xmlTextWriterStartElement' type='function'/>
-     <exports symbol='xmlTextWriterWriteDTDExternalEntity' type='function'/>
-     <exports symbol='xmlTextWriterWriteFormatRaw' type='function'/>
-     <exports symbol='xmlTextWriterWriteCDATA' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatDTDInternalEntity' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatAttribute' type='function'/>
-     <exports symbol='xmlTextWriterEndDTDElement' type='function'/>
-     <exports symbol='xmlTextWriterEndDTD' type='function'/>
-     <exports symbol='xmlTextWriterWriteElement' type='function'/>
-     <exports symbol='xmlTextWriterEndElement' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatComment' type='function'/>
-     <exports symbol='xmlTextWriterStartCDATA' type='function'/>
-     <exports symbol='xmlNewTextWriterFilename' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatElement' type='function'/>
-     <exports symbol='xmlTextWriterWriteFormatComment' type='function'/>
-     <exports symbol='xmlTextWriterWriteAttributeNS' type='function'/>
-     <exports symbol='xmlTextWriterWritePI' type='function'/>
-     <exports symbol='xmlTextWriterWriteFormatDTDInternalEntity' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatString' type='function'/>
-     <exports symbol='xmlTextWriterWriteDTDInternalEntity' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatElementNS' type='function'/>
-     <exports symbol='xmlTextWriterWriteDTDNotation' type='function'/>
-     <exports symbol='xmlTextWriterWriteFormatElement' type='function'/>
-     <exports symbol='xmlTextWriterSetQuoteChar' type='function'/>
-     <exports symbol='xmlTextWriterWriteString' type='function'/>
-     <exports symbol='xmlTextWriterWriteElementNS' type='function'/>
-     <exports symbol='xmlTextWriterFullEndElement' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatAttributeNS' type='function'/>
-     <exports symbol='xmlTextWriterFlush' type='function'/>
-     <exports symbol='xmlTextWriterStartDTD' type='function'/>
-     <exports symbol='xmlTextWriterWriteAttribute' type='function'/>
+     <exports symbol='xmlNewTextWriter' type='function'/>
      <exports symbol='xmlNewTextWriterDoc' type='function'/>
-     <exports symbol='xmlTextWriterWriteFormatDTDElement' type='function'/>
-     <exports symbol='xmlTextWriterEndDTDAttlist' type='function'/>
-     <exports symbol='xmlNewTextWriterTree' type='function'/>
+     <exports symbol='xmlNewTextWriterFilename' type='function'/>
      <exports symbol='xmlNewTextWriterMemory' type='function'/>
-     <exports symbol='xmlTextWriterWriteFormatCDATA' type='function'/>
+     <exports symbol='xmlNewTextWriterPushParser' type='function'/>
+     <exports symbol='xmlNewTextWriterTree' type='function'/>
+     <exports symbol='xmlTextWriterEndAttribute' type='function'/>
+     <exports symbol='xmlTextWriterEndCDATA' type='function'/>
+     <exports symbol='xmlTextWriterEndComment' type='function'/>
+     <exports symbol='xmlTextWriterEndDTD' type='function'/>
+     <exports symbol='xmlTextWriterEndDTDAttlist' type='function'/>
+     <exports symbol='xmlTextWriterEndDTDElement' type='function'/>
+     <exports symbol='xmlTextWriterEndDTDEntity' type='function'/>
+     <exports symbol='xmlTextWriterEndDocument' type='function'/>
+     <exports symbol='xmlTextWriterEndElement' type='function'/>
+     <exports symbol='xmlTextWriterEndPI' type='function'/>
+     <exports symbol='xmlTextWriterFlush' type='function'/>
+     <exports symbol='xmlTextWriterFullEndElement' type='function'/>
+     <exports symbol='xmlTextWriterSetIndent' type='function'/>
+     <exports symbol='xmlTextWriterSetIndentString' type='function'/>
+     <exports symbol='xmlTextWriterSetQuoteChar' type='function'/>
+     <exports symbol='xmlTextWriterStartAttribute' type='function'/>
+     <exports symbol='xmlTextWriterStartAttributeNS' type='function'/>
+     <exports symbol='xmlTextWriterStartCDATA' type='function'/>
+     <exports symbol='xmlTextWriterStartComment' type='function'/>
+     <exports symbol='xmlTextWriterStartDTD' type='function'/>
      <exports symbol='xmlTextWriterStartDTDAttlist' type='function'/>
-     <exports symbol='xmlTextWriterWriteFormatString' type='function'/>
+     <exports symbol='xmlTextWriterStartDTDElement' type='function'/>
+     <exports symbol='xmlTextWriterStartDTDEntity' type='function'/>
+     <exports symbol='xmlTextWriterStartDocument' type='function'/>
+     <exports symbol='xmlTextWriterStartElement' type='function'/>
+     <exports symbol='xmlTextWriterStartElementNS' type='function'/>
+     <exports symbol='xmlTextWriterStartPI' type='function'/>
+     <exports symbol='xmlTextWriterWriteAttribute' type='function'/>
+     <exports symbol='xmlTextWriterWriteAttributeNS' type='function'/>
+     <exports symbol='xmlTextWriterWriteBase64' type='function'/>
+     <exports symbol='xmlTextWriterWriteBinHex' type='function'/>
+     <exports symbol='xmlTextWriterWriteCDATA' type='function'/>
      <exports symbol='xmlTextWriterWriteComment' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatRaw' type='function'/>
+     <exports symbol='xmlTextWriterWriteDTD' type='function'/>
+     <exports symbol='xmlTextWriterWriteDTDAttlist' type='function'/>
+     <exports symbol='xmlTextWriterWriteDTDElement' type='function'/>
+     <exports symbol='xmlTextWriterWriteDTDEntity' type='function'/>
+     <exports symbol='xmlTextWriterWriteDTDExternalEntity' type='function'/>
+     <exports symbol='xmlTextWriterWriteDTDExternalEntityContents' type='function'/>
+     <exports symbol='xmlTextWriterWriteDTDInternalEntity' type='function'/>
+     <exports symbol='xmlTextWriterWriteDTDNotation' type='function'/>
+     <exports symbol='xmlTextWriterWriteElement' type='function'/>
+     <exports symbol='xmlTextWriterWriteElementNS' type='function'/>
+     <exports symbol='xmlTextWriterWriteFormatAttribute' type='function'/>
+     <exports symbol='xmlTextWriterWriteFormatAttributeNS' type='function'/>
+     <exports symbol='xmlTextWriterWriteFormatCDATA' type='function'/>
+     <exports symbol='xmlTextWriterWriteFormatComment' type='function'/>
      <exports symbol='xmlTextWriterWriteFormatDTD' type='function'/>
      <exports symbol='xmlTextWriterWriteFormatDTDAttlist' type='function'/>
-     <exports symbol='xmlTextWriterWriteRaw' type='function'/>
-     <exports symbol='xmlTextWriterWriteDTDElement' type='function'/>
-     <exports symbol='xmlTextWriterWriteDTD' type='function'/>
-     <exports symbol='xmlTextWriterWriteFormatAttribute' type='function'/>
-     <exports symbol='xmlTextWriterStartDTDEntity' type='function'/>
-     <exports symbol='xmlTextWriterWriteVFormatDTDElement' type='function'/>
-     <exports symbol='xmlTextWriterStartDTDElement' type='function'/>
+     <exports symbol='xmlTextWriterWriteFormatDTDElement' type='function'/>
+     <exports symbol='xmlTextWriterWriteFormatDTDInternalEntity' type='function'/>
+     <exports symbol='xmlTextWriterWriteFormatElement' type='function'/>
      <exports symbol='xmlTextWriterWriteFormatElementNS' type='function'/>
+     <exports symbol='xmlTextWriterWriteFormatPI' type='function'/>
+     <exports symbol='xmlTextWriterWriteFormatRaw' type='function'/>
+     <exports symbol='xmlTextWriterWriteFormatString' type='function'/>
+     <exports symbol='xmlTextWriterWritePI' type='function'/>
+     <exports symbol='xmlTextWriterWriteRaw' type='function'/>
+     <exports symbol='xmlTextWriterWriteRawLen' type='function'/>
+     <exports symbol='xmlTextWriterWriteString' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatAttribute' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatAttributeNS' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatCDATA' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatComment' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatDTD' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatDTDAttlist' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatDTDElement' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatDTDInternalEntity' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatElement' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatElementNS' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatPI' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatRaw' type='function'/>
+     <exports symbol='xmlTextWriterWriteVFormatString' type='function'/>
     </file>
     <file name='xpath'>
      <summary>XML Path Language implementation</summary>
      <description>API for the XML Path Language implementation  XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer</description>
      <author>Daniel Veillard </author>
-     <exports symbol='xmlXPathNodeSetGetLength' type='macro'/>
      <exports symbol='XML_XPATH_CHECKNS' type='macro'/>
      <exports symbol='XML_XPATH_NOVAR' type='macro'/>
-     <exports symbol='xmlXPathNodeSetItem' type='macro'/>
+     <exports symbol='xmlXPathNodeSetGetLength' type='macro'/>
      <exports symbol='xmlXPathNodeSetIsEmpty' type='macro'/>
-     <exports symbol='XPATH_NUMBER_ERROR' type='enum'/>
+     <exports symbol='xmlXPathNodeSetItem' type='macro'/>
      <exports symbol='XPATH_BOOLEAN' type='enum'/>
-     <exports symbol='XPATH_START_LITERAL_ERROR' type='enum'/>
-     <exports symbol='XPATH_UNCLOSED_ERROR' type='enum'/>
-     <exports symbol='XPATH_INVALID_CHAR_ERROR' type='enum'/>
-     <exports symbol='XPATH_UNDEF_VARIABLE_ERROR' type='enum'/>
-     <exports symbol='XPATH_EXPRESSION_OK' type='enum'/>
-     <exports symbol='XPATH_NODESET' type='enum'/>
-     <exports symbol='XPATH_OP_LIMIT_EXCEEDED' type='enum'/>
-     <exports symbol='XPATH_VARIABLE_REF_ERROR' type='enum'/>
      <exports symbol='XPATH_ENCODING_ERROR' type='enum'/>
-     <exports symbol='XPTR_RESOURCE_ERROR' type='enum'/>
-     <exports symbol='XPATH_NUMBER' type='enum'/>
-     <exports symbol='XPATH_POINT' type='enum'/>
-     <exports symbol='XPATH_USERS' type='enum'/>
-     <exports symbol='XPATH_UNDEF_PREFIX_ERROR' type='enum'/>
-     <exports symbol='XPATH_UNKNOWN_FUNC_ERROR' type='enum'/>
-     <exports symbol='XPATH_INVALID_CTXT_SIZE' type='enum'/>
-     <exports symbol='XPATH_RANGE' type='enum'/>
-     <exports symbol='XPTR_SYNTAX_ERROR' type='enum'/>
-     <exports symbol='XPATH_LOCATIONSET' type='enum'/>
-     <exports symbol='XPATH_INVALID_CTXT' type='enum'/>
-     <exports symbol='XPATH_INVALID_ARITY' type='enum'/>
-     <exports symbol='XPTR_SUB_RESOURCE_ERROR' type='enum'/>
-     <exports symbol='XPATH_STRING' type='enum'/>
-     <exports symbol='XPATH_INVALID_PREDICATE_ERROR' type='enum'/>
-     <exports symbol='XPATH_RECURSION_LIMIT_EXCEEDED' type='enum'/>
-     <exports symbol='XPATH_XSLT_TREE' type='enum'/>
+     <exports symbol='XPATH_EXPRESSION_OK' type='enum'/>
      <exports symbol='XPATH_EXPR_ERROR' type='enum'/>
      <exports symbol='XPATH_FORBID_VARIABLE_ERROR' type='enum'/>
-     <exports symbol='XPATH_INVALID_TYPE' type='enum'/>
+     <exports symbol='XPATH_INVALID_ARITY' type='enum'/>
+     <exports symbol='XPATH_INVALID_CHAR_ERROR' type='enum'/>
+     <exports symbol='XPATH_INVALID_CTXT' type='enum'/>
      <exports symbol='XPATH_INVALID_CTXT_POSITION' type='enum'/>
-     <exports symbol='XPATH_UNDEFINED' type='enum'/>
-     <exports symbol='XPATH_MEMORY_ERROR' type='enum'/>
-     <exports symbol='XPATH_UNFINISHED_LITERAL_ERROR' type='enum'/>
-     <exports symbol='XPATH_STACK_ERROR' type='enum'/>
+     <exports symbol='XPATH_INVALID_CTXT_SIZE' type='enum'/>
      <exports symbol='XPATH_INVALID_OPERAND' type='enum'/>
-     <exports symbol='xmlXPathObjectType' type='typedef'/>
-     <exports symbol='xmlXPathVariablePtr' type='typedef'/>
-     <exports symbol='xmlXPathContext' type='typedef'/>
-     <exports symbol='xmlXPathError' type='typedef'/>
-     <exports symbol='xmlXPathFunct' type='typedef'/>
-     <exports symbol='xmlXPathTypePtr' type='typedef'/>
-     <exports symbol='xmlXPathType' type='typedef'/>
-     <exports symbol='xmlNodeSetPtr' type='typedef'/>
-     <exports symbol='xmlXPathFuncPtr' type='typedef'/>
-     <exports symbol='xmlXPathCompExprPtr' type='typedef'/>
-     <exports symbol='xmlXPathObject' type='typedef'/>
-     <exports symbol='xmlXPathCompExpr' type='typedef'/>
-     <exports symbol='xmlXPathContextPtr' type='typedef'/>
-     <exports symbol='xmlXPathParserContextPtr' type='typedef'/>
+     <exports symbol='XPATH_INVALID_PREDICATE_ERROR' type='enum'/>
+     <exports symbol='XPATH_INVALID_TYPE' type='enum'/>
+     <exports symbol='XPATH_LOCATIONSET' type='enum'/>
+     <exports symbol='XPATH_MEMORY_ERROR' type='enum'/>
+     <exports symbol='XPATH_NODESET' type='enum'/>
+     <exports symbol='XPATH_NUMBER' type='enum'/>
+     <exports symbol='XPATH_NUMBER_ERROR' type='enum'/>
+     <exports symbol='XPATH_OP_LIMIT_EXCEEDED' type='enum'/>
+     <exports symbol='XPATH_POINT' type='enum'/>
+     <exports symbol='XPATH_RANGE' type='enum'/>
+     <exports symbol='XPATH_RECURSION_LIMIT_EXCEEDED' type='enum'/>
+     <exports symbol='XPATH_STACK_ERROR' type='enum'/>
+     <exports symbol='XPATH_START_LITERAL_ERROR' type='enum'/>
+     <exports symbol='XPATH_STRING' type='enum'/>
+     <exports symbol='XPATH_UNCLOSED_ERROR' type='enum'/>
+     <exports symbol='XPATH_UNDEFINED' type='enum'/>
+     <exports symbol='XPATH_UNDEF_PREFIX_ERROR' type='enum'/>
+     <exports symbol='XPATH_UNDEF_VARIABLE_ERROR' type='enum'/>
+     <exports symbol='XPATH_UNFINISHED_LITERAL_ERROR' type='enum'/>
+     <exports symbol='XPATH_UNKNOWN_FUNC_ERROR' type='enum'/>
+     <exports symbol='XPATH_USERS' type='enum'/>
+     <exports symbol='XPATH_VARIABLE_REF_ERROR' type='enum'/>
+     <exports symbol='XPATH_XSLT_TREE' type='enum'/>
+     <exports symbol='XPTR_RESOURCE_ERROR' type='enum'/>
+     <exports symbol='XPTR_SUB_RESOURCE_ERROR' type='enum'/>
+     <exports symbol='XPTR_SYNTAX_ERROR' type='enum'/>
      <exports symbol='xmlNodeSet' type='typedef'/>
-     <exports symbol='xmlXPathVariable' type='typedef'/>
-     <exports symbol='xmlXPathObjectPtr' type='typedef'/>
+     <exports symbol='xmlNodeSetPtr' type='typedef'/>
      <exports symbol='xmlXPathAxis' type='typedef'/>
      <exports symbol='xmlXPathAxisPtr' type='typedef'/>
+     <exports symbol='xmlXPathCompExpr' type='typedef'/>
+     <exports symbol='xmlXPathCompExprPtr' type='typedef'/>
+     <exports symbol='xmlXPathContext' type='typedef'/>
+     <exports symbol='xmlXPathContextPtr' type='typedef'/>
+     <exports symbol='xmlXPathError' type='typedef'/>
+     <exports symbol='xmlXPathFuncPtr' type='typedef'/>
+     <exports symbol='xmlXPathFunct' type='typedef'/>
+     <exports symbol='xmlXPathObject' type='typedef'/>
+     <exports symbol='xmlXPathObjectPtr' type='typedef'/>
+     <exports symbol='xmlXPathObjectType' type='typedef'/>
      <exports symbol='xmlXPathParserContext' type='typedef'/>
+     <exports symbol='xmlXPathParserContextPtr' type='typedef'/>
+     <exports symbol='xmlXPathType' type='typedef'/>
+     <exports symbol='xmlXPathTypePtr' type='typedef'/>
+     <exports symbol='xmlXPathVariable' type='typedef'/>
+     <exports symbol='xmlXPathVariablePtr' type='typedef'/>
+     <exports symbol='_xmlNodeSet' type='struct'/>
+     <exports symbol='_xmlXPathAxis' type='struct'/>
+     <exports symbol='_xmlXPathContext' type='struct'/>
      <exports symbol='_xmlXPathFunct' type='struct'/>
-     <exports symbol='_xmlXPathVariable' type='struct'/>
+     <exports symbol='_xmlXPathObject' type='struct'/>
      <exports symbol='_xmlXPathParserContext' type='struct'/>
      <exports symbol='_xmlXPathType' type='struct'/>
-     <exports symbol='_xmlXPathObject' type='struct'/>
-     <exports symbol='_xmlXPathContext' type='struct'/>
-     <exports symbol='_xmlXPathAxis' type='struct'/>
-     <exports symbol='_xmlNodeSet' type='struct'/>
+     <exports symbol='_xmlXPathVariable' type='struct'/>
      <exports symbol='xmlXPathNAN' type='variable'/>
-     <exports symbol='xmlXPathPINF' type='variable'/>
      <exports symbol='xmlXPathNINF' type='variable'/>
-     <exports symbol='xmlXPathCastNodeSetToBoolean' type='function'/>
-     <exports symbol='xmlXPathFuncLookupFunc' type='function'/>
-     <exports symbol='xmlXPathNodeEval' type='function'/>
-     <exports symbol='xmlXPathCastNodeToString' type='function'/>
-     <exports symbol='xmlXPathIsNaN' type='function'/>
-     <exports symbol='xmlXPathContextSetCache' type='function'/>
-     <exports symbol='xmlXPathConvertString' type='function'/>
-     <exports symbol='xmlXPathCompiledEvalToBoolean' type='function'/>
-     <exports symbol='xmlXPathIsInf' type='function'/>
-     <exports symbol='xmlXPathOrderDocElems' type='function'/>
-     <exports symbol='xmlXPathNodeSetCreate' type='function'/>
-     <exports symbol='xmlXPathCastBooleanToNumber' type='function'/>
-     <exports symbol='xmlXPathCastNodeToNumber' type='function'/>
-     <exports symbol='xmlXPathCastStringToNumber' type='function'/>
+     <exports symbol='xmlXPathPINF' type='variable'/>
      <exports symbol='xmlXPathAxisFunc' type='function'/>
-     <exports symbol='xmlXPathCastToNumber' type='function'/>
-     <exports symbol='xmlXPathCastStringToBoolean' type='function'/>
-     <exports symbol='xmlXPathCastNumberToString' type='function'/>
-     <exports symbol='xmlXPathVariableLookupFunc' type='function'/>
-     <exports symbol='xmlXPathFreeObject' type='function'/>
-     <exports symbol='xmlXPathEvalPredicate' type='function'/>
-     <exports symbol='xmlXPathFreeContext' type='function'/>
-     <exports symbol='xmlXPathObjectCopy' type='function'/>
-     <exports symbol='xmlXPathFreeNodeSetList' type='function'/>
-     <exports symbol='xmlXPathEval' type='function'/>
+     <exports symbol='xmlXPathCastBooleanToNumber' type='function'/>
+     <exports symbol='xmlXPathCastBooleanToString' type='function'/>
+     <exports symbol='xmlXPathCastNodeSetToBoolean' type='function'/>
+     <exports symbol='xmlXPathCastNodeSetToNumber' type='function'/>
      <exports symbol='xmlXPathCastNodeSetToString' type='function'/>
+     <exports symbol='xmlXPathCastNodeToNumber' type='function'/>
+     <exports symbol='xmlXPathCastNodeToString' type='function'/>
+     <exports symbol='xmlXPathCastNumberToBoolean' type='function'/>
+     <exports symbol='xmlXPathCastNumberToString' type='function'/>
+     <exports symbol='xmlXPathCastStringToBoolean' type='function'/>
+     <exports symbol='xmlXPathCastStringToNumber' type='function'/>
+     <exports symbol='xmlXPathCastToBoolean' type='function'/>
+     <exports symbol='xmlXPathCastToNumber' type='function'/>
+     <exports symbol='xmlXPathCastToString' type='function'/>
+     <exports symbol='xmlXPathCmpNodes' type='function'/>
+     <exports symbol='xmlXPathCompile' type='function'/>
      <exports symbol='xmlXPathCompiledEval' type='function'/>
-     <exports symbol='xmlXPathEvalExpression' type='function'/>
-     <exports symbol='xmlXPathInit' type='function'/>
+     <exports symbol='xmlXPathCompiledEvalToBoolean' type='function'/>
+     <exports symbol='xmlXPathContextSetCache' type='function'/>
      <exports symbol='xmlXPathConvertBoolean' type='function'/>
      <exports symbol='xmlXPathConvertFunc' type='function'/>
-     <exports symbol='xmlXPathFunction' type='function'/>
-     <exports symbol='xmlXPathCmpNodes' type='function'/>
-     <exports symbol='xmlXPathCastToString' type='function'/>
-     <exports symbol='xmlXPathCtxtCompile' type='function'/>
-     <exports symbol='xmlXPathEvalFunc' type='function'/>
-     <exports symbol='xmlXPathCastBooleanToString' type='function'/>
-     <exports symbol='xmlXPathSetContextNode' type='function'/>
-     <exports symbol='xmlXPathCastNumberToBoolean' type='function'/>
-     <exports symbol='xmlXPathFreeNodeSet' type='function'/>
-     <exports symbol='xmlXPathFreeCompExpr' type='function'/>
-     <exports symbol='xmlXPathNewContext' type='function'/>
      <exports symbol='xmlXPathConvertNumber' type='function'/>
-     <exports symbol='xmlXPathCompile' type='function'/>
-     <exports symbol='xmlXPathCastNodeSetToNumber' type='function'/>
-     <exports symbol='xmlXPathCastToBoolean' type='function'/>
+     <exports symbol='xmlXPathConvertString' type='function'/>
+     <exports symbol='xmlXPathCtxtCompile' type='function'/>
+     <exports symbol='xmlXPathEval' type='function'/>
+     <exports symbol='xmlXPathEvalExpression' type='function'/>
+     <exports symbol='xmlXPathEvalFunc' type='function'/>
+     <exports symbol='xmlXPathEvalPredicate' type='function'/>
+     <exports symbol='xmlXPathFreeCompExpr' type='function'/>
+     <exports symbol='xmlXPathFreeContext' type='function'/>
+     <exports symbol='xmlXPathFreeNodeSet' type='function'/>
+     <exports symbol='xmlXPathFreeNodeSetList' type='function'/>
+     <exports symbol='xmlXPathFreeObject' type='function'/>
+     <exports symbol='xmlXPathFuncLookupFunc' type='function'/>
+     <exports symbol='xmlXPathFunction' type='function'/>
+     <exports symbol='xmlXPathInit' type='function'/>
+     <exports symbol='xmlXPathIsInf' type='function'/>
+     <exports symbol='xmlXPathIsNaN' type='function'/>
+     <exports symbol='xmlXPathNewContext' type='function'/>
+     <exports symbol='xmlXPathNodeEval' type='function'/>
+     <exports symbol='xmlXPathNodeSetCreate' type='function'/>
+     <exports symbol='xmlXPathObjectCopy' type='function'/>
+     <exports symbol='xmlXPathOrderDocElems' type='function'/>
+     <exports symbol='xmlXPathSetContextNode' type='function'/>
+     <exports symbol='xmlXPathVariableLookupFunc' type='function'/>
     </file>
     <file name='xpathInternals'>
      <summary>internal interfaces for XML Path Language implementation</summary>
      <description>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT </description>
      <author>Daniel Veillard </author>
-     <exports symbol='xmlXPathStackIsExternal' type='macro'/>
-     <exports symbol='xmlXPathReturnEmptyString' type='macro'/>
-     <exports symbol='XP_ERROR0' type='macro'/>
-     <exports symbol='xmlXPathSetTypeError' type='macro'/>
-     <exports symbol='xmlXPathReturnEmptyNodeSet' type='macro'/>
-     <exports symbol='xmlXPathReturnTrue' type='macro'/>
-     <exports symbol='xmlXPathReturnBoolean' type='macro'/>
-     <exports symbol='xmlXPathGetContextNode' type='macro'/>
-     <exports symbol='CAST_TO_NUMBER' type='macro'/>
-     <exports symbol='CHECK_ARITY' type='macro'/>
-     <exports symbol='CHECK_TYPE0' type='macro'/>
-     <exports symbol='CAST_TO_STRING' type='macro'/>
-     <exports symbol='xmlXPathReturnExternal' type='macro'/>
-     <exports symbol='xmlXPathStackIsNodeSet' type='macro'/>
-     <exports symbol='xmlXPathCheckError' type='macro'/>
-     <exports symbol='xmlXPathSetError' type='macro'/>
-     <exports symbol='CHECK_ERROR' type='macro'/>
-     <exports symbol='xmlXPathReturnString' type='macro'/>
      <exports symbol='CAST_TO_BOOLEAN' type='macro'/>
-     <exports symbol='xmlXPathSetArityError' type='macro'/>
-     <exports symbol='CHECK_TYPE' type='macro'/>
-     <exports symbol='xmlXPathReturnFalse' type='macro'/>
-     <exports symbol='xmlXPathReturnNumber' type='macro'/>
+     <exports symbol='CAST_TO_NUMBER' type='macro'/>
+     <exports symbol='CAST_TO_STRING' type='macro'/>
+     <exports symbol='CHECK_ARITY' type='macro'/>
+     <exports symbol='CHECK_ERROR' type='macro'/>
      <exports symbol='CHECK_ERROR0' type='macro'/>
+     <exports symbol='CHECK_TYPE' type='macro'/>
+     <exports symbol='CHECK_TYPE0' type='macro'/>
+     <exports symbol='XP_ERROR' type='macro'/>
+     <exports symbol='XP_ERROR0' type='macro'/>
+     <exports symbol='xmlXPathCheckError' type='macro'/>
+     <exports symbol='xmlXPathEmptyNodeSet' type='macro'/>
+     <exports symbol='xmlXPathGetContextNode' type='macro'/>
      <exports symbol='xmlXPathGetDocument' type='macro'/>
      <exports symbol='xmlXPathGetError' type='macro'/>
-     <exports symbol='XP_ERROR' type='macro'/>
-     <exports symbol='xmlXPathEmptyNodeSet' type='macro'/>
+     <exports symbol='xmlXPathReturnBoolean' type='macro'/>
+     <exports symbol='xmlXPathReturnEmptyNodeSet' type='macro'/>
+     <exports symbol='xmlXPathReturnEmptyString' type='macro'/>
+     <exports symbol='xmlXPathReturnExternal' type='macro'/>
+     <exports symbol='xmlXPathReturnFalse' type='macro'/>
      <exports symbol='xmlXPathReturnNodeSet' type='macro'/>
-     <exports symbol='xmlXPathNodeSetMerge' type='function'/>
-     <exports symbol='xmlXPathNumberFunction' type='function'/>
-     <exports symbol='xmlXPathNsLookup' type='function'/>
-     <exports symbol='xmlXPathNewNodeSet' type='function'/>
-     <exports symbol='xmlXPathNextAncestorOrSelf' type='function'/>
-     <exports symbol='xmlXPathNodeSetRemove' type='function'/>
-     <exports symbol='xmlXPathNewNodeSetList' type='function'/>
-     <exports symbol='xmlXPathPopBoolean' type='function'/>
-     <exports symbol='xmlXPathNewString' type='function'/>
-     <exports symbol='xmlXPathNodeLeadingSorted' type='function'/>
-     <exports symbol='xmlXPathNextChild' type='function'/>
-     <exports symbol='xmlXPathNextFollowingSibling' type='function'/>
-     <exports symbol='xmlXPathPopString' type='function'/>
-     <exports symbol='xmlXPathNamespaceURIFunction' type='function'/>
+     <exports symbol='xmlXPathReturnNumber' type='macro'/>
+     <exports symbol='xmlXPathReturnString' type='macro'/>
+     <exports symbol='xmlXPathReturnTrue' type='macro'/>
+     <exports symbol='xmlXPathSetArityError' type='macro'/>
+     <exports symbol='xmlXPathSetError' type='macro'/>
+     <exports symbol='xmlXPathSetTypeError' type='macro'/>
+     <exports symbol='xmlXPathStackIsExternal' type='macro'/>
+     <exports symbol='xmlXPathStackIsNodeSet' type='macro'/>
+     <exports symbol='valuePop' type='function'/>
+     <exports symbol='valuePush' type='function'/>
+     <exports symbol='xmlXPathAddValues' type='function'/>
+     <exports symbol='xmlXPathBooleanFunction' type='function'/>
+     <exports symbol='xmlXPathCeilingFunction' type='function'/>
      <exports symbol='xmlXPathCompareValues' type='function'/>
      <exports symbol='xmlXPathConcatFunction' type='function'/>
-     <exports symbol='xmlXPathNodeSetContains' type='function'/>
-     <exports symbol='xmlXPatherror' type='function'/>
-     <exports symbol='xmlXPathNextAncestor' type='function'/>
-     <exports symbol='xmlXPathBooleanFunction' type='function'/>
-     <exports symbol='xmlXPathRoot' type='function'/>
-     <exports symbol='xmlXPathRegisteredNsCleanup' type='function'/>
-     <exports symbol='xmlXPathIsNodeType' type='function'/>
-     <exports symbol='xmlXPathNextFollowing' type='function'/>
-     <exports symbol='xmlXPathAddValues' type='function'/>
-     <exports symbol='xmlXPathRegisterVariable' type='function'/>
-     <exports symbol='valuePop' type='function'/>
-     <exports symbol='xmlXPathCeilingFunction' type='function'/>
-     <exports symbol='xmlXPathIntersection' type='function'/>
      <exports symbol='xmlXPathContainsFunction' type='function'/>
-     <exports symbol='xmlXPathNodeSetSort' type='function'/>
-     <exports symbol='xmlXPathStartsWithFunction' type='function'/>
-     <exports symbol='xmlXPathNodeLeading' type='function'/>
-     <exports symbol='xmlXPathSumFunction' type='function'/>
-     <exports symbol='xmlXPathNotEqualValues' type='function'/>
-     <exports symbol='xmlXPathEvaluatePredicateResult' type='function'/>
-     <exports symbol='xmlXPathErr' type='function'/>
-     <exports symbol='xmlXPathNextPreceding' type='function'/>
-     <exports symbol='xmlXPathFunctionLookupNS' type='function'/>
-     <exports symbol='xmlXPathRegisteredFuncsCleanup' type='function'/>
-     <exports symbol='xmlXPathRegisterAllFunctions' type='function'/>
-     <exports symbol='xmlXPathFunctionLookup' type='function'/>
-     <exports symbol='xmlXPathPositionFunction' type='function'/>
-     <exports symbol='xmlXPathSubstringBeforeFunction' type='function'/>
-     <exports symbol='xmlXPathRegisteredVariablesCleanup' type='function'/>
-     <exports symbol='xmlXPathNewFloat' type='function'/>
-     <exports symbol='xmlXPathRegisterNs' type='function'/>
-     <exports symbol='xmlXPathNextParent' type='function'/>
-     <exports symbol='xmlXPathNodeSetFreeNs' type='function'/>
-     <exports symbol='xmlXPathHasSameNodes' type='function'/>
-     <exports symbol='xmlXPathDistinctSorted' type='function'/>
-     <exports symbol='valuePush' type='function'/>
-     <exports symbol='xmlXPathSubstringFunction' type='function'/>
-     <exports symbol='xmlXPathStringFunction' type='function'/>
-     <exports symbol='xmlXPathFloorFunction' type='function'/>
-     <exports symbol='xmlXPathIdFunction' type='function'/>
-     <exports symbol='xmlXPathLastFunction' type='function'/>
-     <exports symbol='xmlXPathStringLengthFunction' type='function'/>
-     <exports symbol='xmlXPathNextSelf' type='function'/>
-     <exports symbol='xmlXPathDebugDumpCompExpr' type='function'/>
-     <exports symbol='xmlXPathFalseFunction' type='function'/>
-     <exports symbol='xmlXPathValueFlipSign' type='function'/>
-     <exports symbol='xmlXPathTranslateFunction' type='function'/>
-     <exports symbol='xmlXPathRegisterFuncLookup' type='function'/>
-     <exports symbol='xmlXPathPopNumber' type='function'/>
-     <exports symbol='xmlXPathRoundFunction' type='function'/>
-     <exports symbol='xmlXPathPopNodeSet' type='function'/>
      <exports symbol='xmlXPathCountFunction' type='function'/>
-     <exports symbol='xmlXPathParseNCName' type='function'/>
-     <exports symbol='xmlXPathTrueFunction' type='function'/>
-     <exports symbol='xmlXPathNewBoolean' type='function'/>
-     <exports symbol='xmlXPathSubValues' type='function'/>
+     <exports symbol='xmlXPathDebugDumpCompExpr' type='function'/>
+     <exports symbol='xmlXPathDebugDumpObject' type='function'/>
+     <exports symbol='xmlXPathDifference' type='function'/>
+     <exports symbol='xmlXPathDistinct' type='function'/>
+     <exports symbol='xmlXPathDistinctSorted' type='function'/>
+     <exports symbol='xmlXPathDivValues' type='function'/>
      <exports symbol='xmlXPathEqualValues' type='function'/>
-     <exports symbol='xmlXPathTrailingSorted' type='function'/>
-     <exports symbol='xmlXPathMultValues' type='function'/>
+     <exports symbol='xmlXPathErr' type='function'/>
+     <exports symbol='xmlXPathEvalExpr' type='function'/>
+     <exports symbol='xmlXPathEvaluatePredicateResult' type='function'/>
+     <exports symbol='xmlXPathFalseFunction' type='function'/>
+     <exports symbol='xmlXPathFloorFunction' type='function'/>
+     <exports symbol='xmlXPathFreeParserContext' type='function'/>
+     <exports symbol='xmlXPathFunctionLookup' type='function'/>
+     <exports symbol='xmlXPathFunctionLookupNS' type='function'/>
+     <exports symbol='xmlXPathHasSameNodes' type='function'/>
+     <exports symbol='xmlXPathIdFunction' type='function'/>
+     <exports symbol='xmlXPathIntersection' type='function'/>
+     <exports symbol='xmlXPathIsNodeType' type='function'/>
+     <exports symbol='xmlXPathLangFunction' type='function'/>
+     <exports symbol='xmlXPathLastFunction' type='function'/>
+     <exports symbol='xmlXPathLeading' type='function'/>
+     <exports symbol='xmlXPathLeadingSorted' type='function'/>
+     <exports symbol='xmlXPathLocalNameFunction' type='function'/>
      <exports symbol='xmlXPathModValues' type='function'/>
+     <exports symbol='xmlXPathMultValues' type='function'/>
+     <exports symbol='xmlXPathNamespaceURIFunction' type='function'/>
+     <exports symbol='xmlXPathNewBoolean' type='function'/>
+     <exports symbol='xmlXPathNewCString' type='function'/>
+     <exports symbol='xmlXPathNewFloat' type='function'/>
+     <exports symbol='xmlXPathNewNodeSet' type='function'/>
+     <exports symbol='xmlXPathNewNodeSetList' type='function'/>
      <exports symbol='xmlXPathNewParserContext' type='function'/>
+     <exports symbol='xmlXPathNewString' type='function'/>
+     <exports symbol='xmlXPathNewValueTree' type='function'/>
+     <exports symbol='xmlXPathNextAncestor' type='function'/>
+     <exports symbol='xmlXPathNextAncestorOrSelf' type='function'/>
+     <exports symbol='xmlXPathNextAttribute' type='function'/>
+     <exports symbol='xmlXPathNextChild' type='function'/>
+     <exports symbol='xmlXPathNextDescendant' type='function'/>
+     <exports symbol='xmlXPathNextDescendantOrSelf' type='function'/>
+     <exports symbol='xmlXPathNextFollowing' type='function'/>
+     <exports symbol='xmlXPathNextFollowingSibling' type='function'/>
+     <exports symbol='xmlXPathNextNamespace' type='function'/>
+     <exports symbol='xmlXPathNextParent' type='function'/>
+     <exports symbol='xmlXPathNextPreceding' type='function'/>
+     <exports symbol='xmlXPathNextPrecedingSibling' type='function'/>
+     <exports symbol='xmlXPathNextSelf' type='function'/>
+     <exports symbol='xmlXPathNodeLeading' type='function'/>
+     <exports symbol='xmlXPathNodeLeadingSorted' type='function'/>
+     <exports symbol='xmlXPathNodeSetAdd' type='function'/>
+     <exports symbol='xmlXPathNodeSetAddNs' type='function'/>
+     <exports symbol='xmlXPathNodeSetAddUnique' type='function'/>
+     <exports symbol='xmlXPathNodeSetContains' type='function'/>
+     <exports symbol='xmlXPathNodeSetDel' type='function'/>
+     <exports symbol='xmlXPathNodeSetFreeNs' type='function'/>
+     <exports symbol='xmlXPathNodeSetMerge' type='function'/>
+     <exports symbol='xmlXPathNodeSetRemove' type='function'/>
+     <exports symbol='xmlXPathNodeSetSort' type='function'/>
+     <exports symbol='xmlXPathNodeTrailing' type='function'/>
+     <exports symbol='xmlXPathNodeTrailingSorted' type='function'/>
+     <exports symbol='xmlXPathNormalizeFunction' type='function'/>
+     <exports symbol='xmlXPathNotEqualValues' type='function'/>
+     <exports symbol='xmlXPathNotFunction' type='function'/>
+     <exports symbol='xmlXPathNsLookup' type='function'/>
+     <exports symbol='xmlXPathNumberFunction' type='function'/>
+     <exports symbol='xmlXPathParseNCName' type='function'/>
+     <exports symbol='xmlXPathParseName' type='function'/>
+     <exports symbol='xmlXPathPopBoolean' type='function'/>
+     <exports symbol='xmlXPathPopExternal' type='function'/>
+     <exports symbol='xmlXPathPopNodeSet' type='function'/>
+     <exports symbol='xmlXPathPopNumber' type='function'/>
+     <exports symbol='xmlXPathPopString' type='function'/>
+     <exports symbol='xmlXPathPositionFunction' type='function'/>
+     <exports symbol='xmlXPathRegisterAllFunctions' type='function'/>
+     <exports symbol='xmlXPathRegisterFunc' type='function'/>
+     <exports symbol='xmlXPathRegisterFuncLookup' type='function'/>
+     <exports symbol='xmlXPathRegisterFuncNS' type='function'/>
+     <exports symbol='xmlXPathRegisterNs' type='function'/>
+     <exports symbol='xmlXPathRegisterVariable' type='function'/>
+     <exports symbol='xmlXPathRegisterVariableLookup' type='function'/>
+     <exports symbol='xmlXPathRegisterVariableNS' type='function'/>
+     <exports symbol='xmlXPathRegisteredFuncsCleanup' type='function'/>
+     <exports symbol='xmlXPathRegisteredNsCleanup' type='function'/>
+     <exports symbol='xmlXPathRegisteredVariablesCleanup' type='function'/>
+     <exports symbol='xmlXPathRoot' type='function'/>
+     <exports symbol='xmlXPathRoundFunction' type='function'/>
+     <exports symbol='xmlXPathStartsWithFunction' type='function'/>
+     <exports symbol='xmlXPathStringEvalNumber' type='function'/>
+     <exports symbol='xmlXPathStringFunction' type='function'/>
+     <exports symbol='xmlXPathStringLengthFunction' type='function'/>
+     <exports symbol='xmlXPathSubValues' type='function'/>
+     <exports symbol='xmlXPathSubstringAfterFunction' type='function'/>
+     <exports symbol='xmlXPathSubstringBeforeFunction' type='function'/>
+     <exports symbol='xmlXPathSubstringFunction' type='function'/>
+     <exports symbol='xmlXPathSumFunction' type='function'/>
+     <exports symbol='xmlXPathTrailing' type='function'/>
+     <exports symbol='xmlXPathTrailingSorted' type='function'/>
+     <exports symbol='xmlXPathTranslateFunction' type='function'/>
+     <exports symbol='xmlXPathTrueFunction' type='function'/>
+     <exports symbol='xmlXPathValueFlipSign' type='function'/>
+     <exports symbol='xmlXPathVariableLookup' type='function'/>
+     <exports symbol='xmlXPathVariableLookupNS' type='function'/>
+     <exports symbol='xmlXPathWrapCString' type='function'/>
+     <exports symbol='xmlXPathWrapExternal' type='function'/>
      <exports symbol='xmlXPathWrapNodeSet' type='function'/>
      <exports symbol='xmlXPathWrapString' type='function'/>
-     <exports symbol='xmlXPathLangFunction' type='function'/>
-     <exports symbol='xmlXPathRegisterFuncNS' type='function'/>
-     <exports symbol='xmlXPathNodeSetAddNs' type='function'/>
-     <exports symbol='xmlXPathLocalNameFunction' type='function'/>
-     <exports symbol='xmlXPathDifference' type='function'/>
-     <exports symbol='xmlXPathLeadingSorted' type='function'/>
-     <exports symbol='xmlXPathNextPrecedingSibling' type='function'/>
-     <exports symbol='xmlXPathPopExternal' type='function'/>
-     <exports symbol='xmlXPathNormalizeFunction' type='function'/>
-     <exports symbol='xmlXPathRegisterVariableLookup' type='function'/>
-     <exports symbol='xmlXPathNodeSetDel' type='function'/>
-     <exports symbol='xmlXPathNodeTrailingSorted' type='function'/>
-     <exports symbol='xmlXPathNewCString' type='function'/>
-     <exports symbol='xmlXPathRegisterFunc' type='function'/>
-     <exports symbol='xmlXPathSubstringAfterFunction' type='function'/>
-     <exports symbol='xmlXPathNextDescendant' type='function'/>
-     <exports symbol='xmlXPathNextNamespace' type='function'/>
-     <exports symbol='xmlXPathWrapCString' type='function'/>
-     <exports symbol='xmlXPathFreeParserContext' type='function'/>
-     <exports symbol='xmlXPathNodeTrailing' type='function'/>
-     <exports symbol='xmlXPathNodeSetAdd' type='function'/>
-     <exports symbol='xmlXPathNodeSetAddUnique' type='function'/>
-     <exports symbol='xmlXPathNewValueTree' type='function'/>
-     <exports symbol='xmlXPathDistinct' type='function'/>
-     <exports symbol='xmlXPathVariableLookup' type='function'/>
-     <exports symbol='xmlXPathNotFunction' type='function'/>
-     <exports symbol='xmlXPathStringEvalNumber' type='function'/>
-     <exports symbol='xmlXPathNextDescendantOrSelf' type='function'/>
-     <exports symbol='xmlXPathWrapExternal' type='function'/>
-     <exports symbol='xmlXPathNextAttribute' type='function'/>
-     <exports symbol='xmlXPathDivValues' type='function'/>
-     <exports symbol='xmlXPathVariableLookupNS' type='function'/>
-     <exports symbol='xmlXPathRegisterVariableNS' type='function'/>
-     <exports symbol='xmlXPathTrailing' type='function'/>
-     <exports symbol='xmlXPathEvalExpr' type='function'/>
-     <exports symbol='xmlXPathDebugDumpObject' type='function'/>
-     <exports symbol='xmlXPathLeading' type='function'/>
-     <exports symbol='xmlXPathParseName' type='function'/>
+     <exports symbol='xmlXPatherror' type='function'/>
     </file>
     <file name='xpointer'>
      <summary>API to handle XML Pointers</summary>
@@ -3802,27 +3765,27 @@
      <exports symbol='xmlLocationSet' type='typedef'/>
      <exports symbol='xmlLocationSetPtr' type='typedef'/>
      <exports symbol='_xmlLocationSet' type='struct'/>
-     <exports symbol='xmlXPtrNewRange' type='function'/>
-     <exports symbol='xmlXPtrFreeLocationSet' type='function'/>
-     <exports symbol='xmlXPtrWrapLocationSet' type='function'/>
      <exports symbol='xmlXPtrBuildNodeList' type='function'/>
      <exports symbol='xmlXPtrEval' type='function'/>
-     <exports symbol='xmlXPtrNewRangeNodes' type='function'/>
+     <exports symbol='xmlXPtrEvalRangePredicate' type='function'/>
+     <exports symbol='xmlXPtrFreeLocationSet' type='function'/>
      <exports symbol='xmlXPtrLocationSetAdd' type='function'/>
-     <exports symbol='xmlXPtrRangeToFunction' type='function'/>
-     <exports symbol='xmlXPtrNewCollapsedRange' type='function'/>
-     <exports symbol='xmlXPtrNewRangePoints' type='function'/>
-     <exports symbol='xmlXPtrNewLocationSetNodeSet' type='function'/>
-     <exports symbol='xmlXPtrNewRangePointNode' type='function'/>
      <exports symbol='xmlXPtrLocationSetCreate' type='function'/>
-     <exports symbol='xmlXPtrNewRangeNodeObject' type='function'/>
-     <exports symbol='xmlXPtrNewContext' type='function'/>
-     <exports symbol='xmlXPtrLocationSetRemove' type='function'/>
-     <exports symbol='xmlXPtrNewRangeNodePoint' type='function'/>
      <exports symbol='xmlXPtrLocationSetDel' type='function'/>
      <exports symbol='xmlXPtrLocationSetMerge' type='function'/>
-     <exports symbol='xmlXPtrEvalRangePredicate' type='function'/>
+     <exports symbol='xmlXPtrLocationSetRemove' type='function'/>
+     <exports symbol='xmlXPtrNewCollapsedRange' type='function'/>
+     <exports symbol='xmlXPtrNewContext' type='function'/>
+     <exports symbol='xmlXPtrNewLocationSetNodeSet' type='function'/>
      <exports symbol='xmlXPtrNewLocationSetNodes' type='function'/>
+     <exports symbol='xmlXPtrNewRange' type='function'/>
+     <exports symbol='xmlXPtrNewRangeNodeObject' type='function'/>
+     <exports symbol='xmlXPtrNewRangeNodePoint' type='function'/>
+     <exports symbol='xmlXPtrNewRangeNodes' type='function'/>
+     <exports symbol='xmlXPtrNewRangePointNode' type='function'/>
+     <exports symbol='xmlXPtrNewRangePoints' type='function'/>
+     <exports symbol='xmlXPtrRangeToFunction' type='function'/>
+     <exports symbol='xmlXPtrWrapLocationSet' type='function'/>
     </file>
   </files>
   <symbols>
@@ -3883,8 +3846,6 @@
     <macro name='HTML_TEXT_NODE' file='HTMLtree'>
       <info>Macro. A text node in a HTML document is really implemented the same way as a text node in an XML document.</info>
     </macro>
-    <macro name='ICU_PIVOT_BUF_SIZE' file='encoding'>
-    </macro>
     <macro name='INPUT_CHUNK' file='parserInternals'>
       <info>The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.</info>
     </macro>
@@ -3989,12 +3950,7 @@
       <info>Whether Debugging module is configured in</info>
     </macro>
     <macro name='LIBXML_DEBUG_RUNTIME' file='xmlversion'>
-      <info>Whether the runtime debugging is configured in</info>
-    </macro>
-    <macro name='LIBXML_DLL_IMPORT' file='xmlexports'>
-    </macro>
-    <macro name='LIBXML_DOCB_ENABLED' file='xmlversion'>
-      <info>Whether the SGML Docbook support is configured in</info>
+      <info>Removed</info>
     </macro>
     <macro name='LIBXML_DOTTED_VERSION' file='xmlversion'>
       <info>the version string like &quot;1.2.3&quot;</info>
@@ -4095,21 +4051,12 @@
     <macro name='LIBXML_XPTR_ENABLED' file='xmlversion'>
       <info>Whether XPointer is configured in</info>
     </macro>
+    <macro name='LIBXML_XPTR_LOCS_ENABLED' file='xmlversion'>
+      <info>Whether support for XPointer locations is configured in</info>
+    </macro>
     <macro name='LIBXML_ZLIB_ENABLED' file='xmlversion'>
       <info>Whether the Zlib support is compiled in</info>
     </macro>
-    <macro name='MOVETO_ENDTAG' file='parserInternals'>
-      <info>Skips to the next &apos;&gt;&apos; char.</info>
-      <arg name='p' info='and UTF8 string pointer'/>
-    </macro>
-    <macro name='MOVETO_STARTTAG' file='parserInternals'>
-      <info>Skips to the next &apos;&lt;&apos; char.</info>
-      <arg name='p' info='and UTF8 string pointer'/>
-    </macro>
-    <macro name='SKIP_EOL' file='parserInternals'>
-      <info>Skips the end of line chars.</info>
-      <arg name='p' info='and UTF8 string pointer'/>
-    </macro>
     <macro name='SOCKET' file='nanoftp'>
       <info>macro used to provide portability of code to windows sockets</info>
     </macro>
@@ -4149,18 +4096,9 @@
     <macro name='XINCLUDE_PARSE_XPOINTER' file='xinclude'>
       <info>Macro defining &quot;xpointer&quot;</info>
     </macro>
-    <macro name='XMLCALL' file='xmlexports'>
-      <info>Macro which declares the calling convention for exported functions</info>
-    </macro>
-    <macro name='XMLCDECL' file='xmlexports'>
-      <info>Macro which declares the calling convention for exported functions that use &apos;...&apos;.</info>
-    </macro>
     <macro name='XMLPUBFUN' file='xmlexports'>
       <info>Macro which declares an exportable function</info>
     </macro>
-    <macro name='XMLPUBLIC' file='xmlexports'>
-      <info>Macro which declares a public symbol</info>
-    </macro>
     <macro name='XMLPUBVAR' file='xmlexports'>
       <info>Macro which declares an exportable variable</info>
     </macro>
@@ -4177,12 +4115,6 @@
     <macro name='XML_COMPLETE_ATTRS' file='parser'>
       <info>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.</info>
     </macro>
-    <macro name='XML_CTXT_FINISH_DTD_0' file='valid'>
-      <info>Special value for finishDtd field when embedded in an xmlParserCtxt</info>
-    </macro>
-    <macro name='XML_CTXT_FINISH_DTD_1' file='valid'>
-      <info>Special value for finishDtd field when embedded in an xmlParserCtxt</info>
-    </macro>
     <macro name='XML_DEFAULT_VERSION' file='parser'>
       <info>The default version of XML used: 1.0</info>
     </macro>
@@ -4719,7 +4651,7 @@
     <enum name='XML_BUFFER_ALLOC_DOUBLEIT' file='tree' value='1' type='xmlBufferAllocationScheme' info='double each time one need to grow'/>
     <enum name='XML_BUFFER_ALLOC_EXACT' file='tree' value='2' type='xmlBufferAllocationScheme' info='grow only to the minimal size'/>
     <enum name='XML_BUFFER_ALLOC_HYBRID' file='tree' value='5' type='xmlBufferAllocationScheme' info='exact up to a threshold, and doubleit thereafter'/>
-    <enum name='XML_BUFFER_ALLOC_IMMUTABLE' file='tree' value='3' type='xmlBufferAllocationScheme' info='immutable buffer'/>
+    <enum name='XML_BUFFER_ALLOC_IMMUTABLE' file='tree' value='3' type='xmlBufferAllocationScheme' info='immutable buffer, deprecated'/>
     <enum name='XML_BUFFER_ALLOC_IO' file='tree' value='4' type='xmlBufferAllocationScheme' info='special allocation scheme used for I/O'/>
     <enum name='XML_BUF_OVERFLOW' file='xmlerror' value='7000' type='xmlParserErrors'/>
     <enum name='XML_C14N_1_0' file='c14n' value='0' type='xmlC14NMode' info='Original C14N 1.0 spec'/>
@@ -4807,7 +4739,6 @@
     <enum name='XML_CHECK_WRONG_PARENT' file='xmlerror' value='5029' type='xmlParserErrors' info='5029'/>
     <enum name='XML_CHECK_WRONG_PREV' file='xmlerror' value='5019' type='xmlParserErrors' info='5019'/>
     <enum name='XML_COMMENT_NODE' file='tree' value='8' type='xmlElementType'/>
-    <enum name='XML_DOCB_DOCUMENT_NODE' file='tree' value='21' type='xmlElementType'/>
     <enum name='XML_DOCUMENT_FRAG_NODE' file='tree' value='11' type='xmlElementType'/>
     <enum name='XML_DOCUMENT_NODE' file='tree' value='9' type='xmlElementType'/>
     <enum name='XML_DOCUMENT_TYPE_NODE' file='tree' value='10' type='xmlElementType'/>
@@ -4892,6 +4823,7 @@
     <enum name='XML_ERR_CHARREF_IN_DTD' file='xmlerror' value='13' type='xmlParserErrors' info='13'/>
     <enum name='XML_ERR_CHARREF_IN_EPILOG' file='xmlerror' value='12' type='xmlParserErrors' info='12'/>
     <enum name='XML_ERR_CHARREF_IN_PROLOG' file='xmlerror' value='11' type='xmlParserErrors' info='11'/>
+    <enum name='XML_ERR_COMMENT_ABRUPTLY_ENDED' file='xmlerror' value='112' type='xmlParserErrors' info='112'/>
     <enum name='XML_ERR_COMMENT_NOT_FINISHED' file='xmlerror' value='45' type='xmlParserErrors' info='45'/>
     <enum name='XML_ERR_CONDSEC_INVALID' file='xmlerror' value='83' type='xmlParserErrors' info='83'/>
     <enum name='XML_ERR_CONDSEC_INVALID_KEYWORD' file='xmlerror' value='95' type='xmlParserErrors' info='95'/>
@@ -5033,6 +4965,7 @@
     <enum name='XML_FTP_PASV_ANSWER' file='xmlerror' value='2000' type='xmlParserErrors'/>
     <enum name='XML_FTP_URL_SYNTAX' file='xmlerror' value='2003' type='xmlParserErrors' info='2003'/>
     <enum name='XML_HTML_DOCUMENT_NODE' file='tree' value='13' type='xmlElementType'/>
+    <enum name='XML_HTML_INCORRECTLY_OPENED_COMMENT' file='xmlerror' value='802' type='xmlParserErrors' info='802'/>
     <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'/>
@@ -5839,7 +5772,7 @@
     <enum name='XML_WITH_ZLIB' file='parser' value='31' type='xmlFeature'/>
     <enum name='XML_XINCLUDE_BUILD_FAILED' file='xmlerror' value='1609' type='xmlParserErrors' info='1609'/>
     <enum name='XML_XINCLUDE_DEPRECATED_NS' file='xmlerror' value='1617' type='xmlParserErrors' info='1617'/>
-    <enum name='XML_XINCLUDE_END' file='tree' value='20' type='xmlElementType'/>
+    <enum name='XML_XINCLUDE_END' file='tree' value='20' type='xmlElementType' info=' XML_DOCB_DOCUMENT_NODE=	21 removed'/>
     <enum name='XML_XINCLUDE_ENTITY_DEF_MISMATCH' file='xmlerror' value='1602' type='xmlParserErrors' info='1602'/>
     <enum name='XML_XINCLUDE_FALLBACKS_IN_INCLUDE' file='xmlerror' value='1615' type='xmlParserErrors' info='1615'/>
     <enum name='XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE' file='xmlerror' value='1616' type='xmlParserErrors' info='1616'/>
@@ -5921,13 +5854,6 @@
     <enum name='XPTR_RESOURCE_ERROR' file='xpath' value='17' type='xmlXPathError'/>
     <enum name='XPTR_SUB_RESOURCE_ERROR' file='xpath' value='18' type='xmlXPathError'/>
     <enum name='XPTR_SYNTAX_ERROR' file='xpath' value='16' type='xmlXPathError'/>
-    <typedef name='docbDocPtr' file='DOCBparser' type='xmlDocPtr'/>
-    <typedef name='docbParserCtxt' file='DOCBparser' type='xmlParserCtxt'/>
-    <typedef name='docbParserCtxtPtr' file='DOCBparser' type='xmlParserCtxtPtr'/>
-    <typedef name='docbParserInput' file='DOCBparser' type='xmlParserInput'/>
-    <typedef name='docbParserInputPtr' file='DOCBparser' type='xmlParserInputPtr'/>
-    <typedef name='docbSAXHandler' file='DOCBparser' type='xmlSAXHandler'/>
-    <typedef name='docbSAXHandlerPtr' file='DOCBparser' type='xmlSAXHandlerPtr'/>
     <typedef name='htmlDocPtr' file='HTMLparser' type='xmlDocPtr'/>
     <struct name='htmlElemDesc' file='HTMLparser' type='struct _htmlElemDesc'>
       <field name='name' type='const char *' info=' The tag name'/>
@@ -5972,13 +5898,6 @@
     <typedef name='htmlSAXHandler' file='HTMLparser' type='xmlSAXHandler'/>
     <typedef name='htmlSAXHandlerPtr' file='HTMLparser' type='xmlSAXHandlerPtr'/>
     <typedef name='htmlStatus' file='HTMLparser' type='enum'/>
-    <struct name='uconv_t' file='encoding' type='struct _uconv_t'>
-      <field name='uconv' type='UConverter *' info=' for conversion between an encoding and UTF-16'/>
-      <field name='utf8' type='UConverter *' info=' for conversion between UTF-8 and UTF-16'/>
-      <field name='pivot_buf' type='UCharpivot_buf[ICU_PIVOT_BUF_SIZE]' info=''/>
-      <field name='pivot_source' type='UChar *' info=''/>
-      <field name='pivot_target' type='UChar *' info=''/>
-    </struct>
     <typedef name='xlinkActuate' file='xlink' type='enum'/>
     <typedef name='xlinkHRef' file='xlink' type='xmlChar *'/>
     <struct name='xlinkHandler' file='xlink' type='struct _xlinkHandler'>
@@ -6082,8 +6001,8 @@
       <field name='output' type='xmlCharEncodingOutputFunc' info=''/>
       <field name='iconv_in' type='iconv_t' info=''/>
       <field name='iconv_out' type='iconv_t' info=''/>
-      <field name='uconv_in' type='uconv_t *' info=''/>
-      <field name='uconv_out' type='uconv_t *' info=''/>
+      <field name='uconv_in' type='struct _uconv_t *' info=''/>
+      <field name='uconv_out' type='struct _uconv_t *' info=''/>
     </struct>
     <typedef name='xmlCharEncodingHandlerPtr' file='encoding' type='xmlCharEncodingHandler *'/>
     <struct name='xmlDOMWrapCtxt' file='tree' type='struct _xmlDOMWrapCtxt'>
@@ -6249,7 +6168,7 @@
       <field name='xmlParserVersion' type='const char *' info=''/>
       <field name='xmlDefaultSAXLocator' type='xmlSAXLocator' info=''/>
       <field name='xmlDefaultSAXHandler' type='xmlSAXHandlerV1' info=''/>
-      <field name='docbDefaultSAXHandler' type='xmlSAXHandlerV1' info=''/>
+      <field name='docbDefaultSAXHandler' type='xmlSAXHandlerV1' info=' unused'/>
       <field name='htmlDefaultSAXHandler' type='xmlSAXHandlerV1' info=''/>
       <field name='xmlFree' type='xmlFreeFunc' info=''/>
       <field name='xmlMalloc' type='xmlMallocFunc' info=''/>
@@ -6374,7 +6293,7 @@
       <field name='version' type='const xmlChar *' info=' the XML version string'/>
       <field name='encoding' type='const xmlChar *' info=' the declared encoding, if any'/>
       <field name='standalone' type='int' info=' standalone document'/>
-      <field name='html' type='int' info=' an HTML(1)/Docbook(2) document
+      <field name='html' type='int' info=' an HTML(1) document
 * 3 is HTML after &lt;head&gt;
 * 10 is HTML after &lt;body&gt;
 * Input stream stack'/>
@@ -6463,6 +6382,7 @@
       <field name='nodeInfoTab' type='xmlParserNodeInfo *' info=' array of nodeInfos'/>
       <field name='input_id' type='int' info=' we need to label inputs'/>
       <field name='sizeentcopy' type='unsigned long' info=' volume of entity copy'/>
+      <field name='endCheckState' type='int' info=' quote state for push parser'/>
     </struct>
     <typedef name='xmlParserCtxtPtr' file='tree' type='xmlParserCtxt *'/>
     <typedef name='xmlParserErrors' file='xmlerror' type='enum'/>
@@ -6878,7 +6798,7 @@
       <field name='nodeNr' type='int' info=' Depth of the parsing stack'/>
       <field name='nodeMax' type='int' info=' Max depth of the parsing stack'/>
       <field name='nodeTab' type='xmlNodePtr *' info=' array of nodes'/>
-      <field name='finishDtd' type='unsigned int' info=' finished validating the Dtd ?'/>
+      <field name='flags' type='unsigned int' info=' internal flags'/>
       <field name='doc' type='xmlDocPtr' info=' the document'/>
       <field name='valid' type='int' info=' temporary validity check result state state used for non-determinist content validation'/>
       <field name='vstate' type='xmlValidState *' info=' current state'/>
@@ -6991,22 +6911,47 @@
       <field name='value' type='xmlXPathObjectPtr' info=' the value'/>
     </struct>
     <typedef name='xmlXPathVariablePtr' file='xpath' type='xmlXPathVariable *'/>
-    <variable name='docbDefaultSAXHandler' file='globals' type='xmlSAXHandlerV1'/>
     <variable name='emptyExp' file='xmlregexp' type='xmlExpNodePtr'/>
     <variable name='forbiddenExp' file='xmlregexp' type='xmlExpNodePtr'/>
-    <variable name='htmlDefaultSAXHandler' file='globals' type='xmlSAXHandlerV1'/>
-    <variable name='oldXMLWDcompatibility' file='globals' type='int'/>
-    <variable name='xmlBufferAllocScheme' file='globals' type='xmlBufferAllocationScheme'/>
-    <variable name='xmlDefaultBufferSize' file='globals' type='int'/>
-    <variable name='xmlDefaultSAXHandler' file='globals' type='xmlSAXHandlerV1'/>
-    <variable name='xmlDefaultSAXLocator' file='globals' type='xmlSAXLocator'/>
-    <variable name='xmlDeregisterNodeDefaultValue' file='globals' type='xmlDeregisterNodeFunc'/>
-    <variable name='xmlDoValidityCheckingDefaultValue' file='globals' type='int'/>
-    <variable name='xmlFree' file='globals' type='xmlFreeFunc'/>
-    <variable name='xmlGenericError' file='globals' type='xmlGenericErrorFunc'/>
-    <variable name='xmlGenericErrorContext' file='globals' type='void *'/>
-    <variable name='xmlGetWarningsDefaultValue' file='globals' type='int'/>
-    <variable name='xmlIndentTreeOutput' file='globals' type='int'/>
+    <variable name='htmlDefaultSAXHandler' file='globals' type='xmlSAXHandlerV1'>
+      <info>DEPRECATED: This handler is unused and will be removed from future versions.  Default old SAX v1 handler for HTML, builds the DOM tree</info>
+    </variable>
+    <variable name='oldXMLWDcompatibility' file='globals' type='int'>
+      <info>Global setting, DEPRECATED.</info>
+    </variable>
+    <variable name='xmlBufferAllocScheme' file='globals' type='xmlBufferAllocationScheme'>
+      <info>DEPRECATED: Don&apos;t use.  Global setting, default allocation policy for buffers, default is XML_BUFFER_ALLOC_EXACT</info>
+    </variable>
+    <variable name='xmlDefaultBufferSize' file='globals' type='int'>
+      <info>DEPRECATED: Don&apos;t use.  Global setting, default buffer size. Default value is BASE_BUFFER_SIZE</info>
+    </variable>
+    <variable name='xmlDefaultSAXHandler' file='globals' type='xmlSAXHandlerV1'>
+      <info>DEPRECATED: This handler is unused and will be removed from future versions.  Default SAX version1 handler for XML, builds the DOM tree</info>
+    </variable>
+    <variable name='xmlDefaultSAXLocator' file='globals' type='xmlSAXLocator'>
+      <info>DEPRECATED: Don&apos;t use  The default SAX Locator { getPublicId, getSystemId, getLineNumber, getColumnNumber}</info>
+    </variable>
+    <variable name='xmlDeregisterNodeDefaultValue' file='globals' type='xmlDeregisterNodeFunc'>
+      <info>DEPRECATED: Don&apos;t use</info>
+    </variable>
+    <variable name='xmlDoValidityCheckingDefaultValue' file='globals' type='int'>
+      <info>DEPRECATED: Use the modern options API with XML_PARSE_DTDVALID.  Global setting, indicate that the parser should work in validating mode. Disabled by default.</info>
+    </variable>
+    <variable name='xmlFree' file='globals' type='xmlFreeFunc'>
+      <info>@mem: an already allocated block of memory  The variable holding the libxml free() implementation</info>
+    </variable>
+    <variable name='xmlGenericError' file='globals' type='xmlGenericErrorFunc'>
+      <info>Global setting: function used for generic error callbacks</info>
+    </variable>
+    <variable name='xmlGenericErrorContext' file='globals' type='void *'>
+      <info>Global setting passed to generic error callbacks</info>
+    </variable>
+    <variable name='xmlGetWarningsDefaultValue' file='globals' type='int'>
+      <info>DEPRECATED: Don&apos;t use  Global setting, indicate that the DTD validation should provide warnings. Activated by default.</info>
+    </variable>
+    <variable name='xmlIndentTreeOutput' file='globals' type='int'>
+      <info>Global setting, asking the serializer to indent the output tree by default Enabled by default</info>
+    </variable>
     <variable name='xmlIsBaseCharGroup' file='chvalid' type='const xmlChRangeGroup'/>
     <variable name='xmlIsCharGroup' file='chvalid' type='const xmlChRangeGroup'/>
     <variable name='xmlIsCombiningGroup' file='chvalid' type='const xmlChRangeGroup'/>
@@ -7014,29 +6959,67 @@
     <variable name='xmlIsExtenderGroup' file='chvalid' type='const xmlChRangeGroup'/>
     <variable name='xmlIsIdeographicGroup' file='chvalid' type='const xmlChRangeGroup'/>
     <variable name='xmlIsPubidChar_tab' file='chvalid' type='const unsigned charxmlIsPubidChar_tab[256]'/>
-    <variable name='xmlKeepBlanksDefaultValue' file='globals' type='int'/>
+    <variable name='xmlKeepBlanksDefaultValue' file='globals' type='int'>
+      <info>DEPRECATED: Use the modern options API with XML_PARSE_NOBLANKS.  Global setting, indicate that the parser should keep all blanks nodes found in the content Activated by default, this is actually needed to have the parser conformant to the XML Recommendation, however the option is kept for some applications since this was libxml1 default behaviour.</info>
+    </variable>
     <variable name='xmlLastError' file='globals' type='xmlError'/>
-    <variable name='xmlLineNumbersDefaultValue' file='globals' type='int'/>
-    <variable name='xmlLoadExtDtdDefaultValue' file='globals' type='int'/>
-    <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'/>
-    <variable name='xmlRealloc' file='globals' type='xmlReallocFunc'/>
-    <variable name='xmlRegisterNodeDefaultValue' file='globals' type='xmlRegisterNodeFunc'/>
-    <variable name='xmlSaveNoEmptyTags' file='globals' type='int'/>
+    <variable name='xmlLineNumbersDefaultValue' file='globals' type='int'>
+      <info>DEPRECATED: The modern options API always enables line numbers.  Global setting, indicate that the parser should store the line number in the content field of elements in the DOM tree. Disabled by default since this may not be safe for old classes of application.</info>
+    </variable>
+    <variable name='xmlLoadExtDtdDefaultValue' file='globals' type='int'>
+      <info>DEPRECATED: Use the modern options API with XML_PARSE_DTDLOAD.  Global setting, indicate that the parser should load DTD while not validating. Disabled by default.</info>
+    </variable>
+    <variable name='xmlMalloc' file='globals' type='xmlMallocFunc'>
+      <info>@size:  the size requested in bytes  The variable holding the libxml malloc() implementation  Returns a pointer to the newly allocated block or NULL in case of error</info>
+    </variable>
+    <variable name='xmlMallocAtomic' file='globals' type='xmlMallocFunc'>
+      <info>@size:  the size requested in bytes  The variable holding the libxml malloc() implementation for atomic data (i.e. blocks not containing pointers), useful when using a garbage collecting allocator.  Returns a pointer to the newly allocated block or NULL in case of error</info>
+    </variable>
+    <variable name='xmlMemStrdup' file='globals' type='xmlStrdupFunc'>
+      <info>@str: a zero terminated string  The variable holding the libxml strdup() implementation  Returns the copy of the string or NULL in case of error</info>
+    </variable>
+    <variable name='xmlOutputBufferCreateFilenameValue' file='globals' type='xmlOutputBufferCreateFilenameFunc'>
+      <info>DEPRECATED: Don&apos;t use</info>
+    </variable>
+    <variable name='xmlParserDebugEntities' file='globals' type='int'>
+      <info>DEPRECATED: Don&apos;t use  Global setting, asking the parser to print out debugging information. while handling entities. Disabled by default</info>
+    </variable>
+    <variable name='xmlParserInputBufferCreateFilenameValue' file='globals' type='xmlParserInputBufferCreateFilenameFunc'>
+      <info>DEPRECATED: Don&apos;t use</info>
+    </variable>
+    <variable name='xmlParserMaxDepth' file='parserInternals' type='unsigned int'>
+      <info>arbitrary depth limit for the XML documents that we allow to process. This is not a limitation of the parser but a safety boundary feature. It can be disabled with the XML_PARSE_HUGE parser option.</info>
+    </variable>
+    <variable name='xmlParserVersion' file='globals' type='const char *'>
+      <info>Constant string describing the internal version of the library</info>
+    </variable>
+    <variable name='xmlPedanticParserDefaultValue' file='globals' type='int'>
+      <info>DEPRECATED: Use the modern options API with XML_PARSE_PEDANTIC.  Global setting, indicate that the parser be pedantic Disabled by default.</info>
+    </variable>
+    <variable name='xmlRealloc' file='globals' type='xmlReallocFunc'>
+      <info>@mem: an already allocated block of memory @size:  the new size requested in bytes  The variable holding the libxml realloc() implementation  Returns a pointer to the newly reallocated block or NULL in case of error</info>
+    </variable>
+    <variable name='xmlRegisterNodeDefaultValue' file='globals' type='xmlRegisterNodeFunc'>
+      <info>DEPRECATED: Don&apos;t use</info>
+    </variable>
+    <variable name='xmlSaveNoEmptyTags' file='globals' type='int'>
+      <info>Global setting, asking the serializer to not output empty tags as &lt;empty/&gt; but &lt;empty&gt;&lt;/empty&gt;. those two forms are indistinguishable once parsed. Disabled by default</info>
+    </variable>
     <variable name='xmlStringComment' file='parserInternals' type='const xmlCharxmlStringComment[]'/>
     <variable name='xmlStringText' file='parserInternals' type='const xmlCharxmlStringText[]'/>
     <variable name='xmlStringTextNoenc' file='parserInternals' type='const xmlCharxmlStringTextNoenc[]'/>
-    <variable name='xmlStructuredError' file='globals' type='xmlStructuredErrorFunc'/>
-    <variable name='xmlStructuredErrorContext' file='globals' type='void *'/>
-    <variable name='xmlSubstituteEntitiesDefaultValue' file='globals' type='int'/>
-    <variable name='xmlTreeIndentString' file='globals' type='const char *'/>
+    <variable name='xmlStructuredError' file='globals' type='xmlStructuredErrorFunc'>
+      <info>Global setting: function used for structured error callbacks</info>
+    </variable>
+    <variable name='xmlStructuredErrorContext' file='globals' type='void *'>
+      <info>Global setting passed to structured error callbacks</info>
+    </variable>
+    <variable name='xmlSubstituteEntitiesDefaultValue' file='globals' type='int'>
+      <info>DEPRECATED: Use the modern options API with XML_PARSE_NOENT.  Global setting, indicate that the parser should not generate entity references but replace them with the actual content of the entity Disabled by default, this should be activated when using XPath since the XPath data model requires entities replacement and the XPath engine does not handle entities references transparently.</info>
+    </variable>
+    <variable name='xmlTreeIndentString' file='globals' type='const char *'>
+      <info>The string used to do one-level indent. By default is equal to &quot;  &quot; (two spaces)</info>
+    </variable>
     <variable name='xmlXPathNAN' file='xpath' type='double'/>
     <variable name='xmlXPathNINF' file='xpath' type='double'/>
     <variable name='xmlXPathPINF' file='xpath' type='double'/>
@@ -7146,92 +7129,6 @@
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
       <arg name='value' type='const xmlChar *' info='the comment content'/>
     </functype>
-    <function name='docbCreateFileParserCtxt' file='DOCBparser' module='DOCBparser'>
-      <cond>defined(LIBXML_DOCB_ENABLED)</cond>
-      <info>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</info>
-      <return type='docbParserCtxtPtr' info='the new parser context or NULL'/>
-      <arg name='filename' type='const char *' info='the filename'/>
-      <arg name='encoding' type='const char *' info='the SGML document encoding, or NULL'/>
-    </function>
-    <function name='docbCreatePushParserCtxt' file='DOCBparser' module='DOCBparser'>
-      <cond>defined(LIBXML_DOCB_ENABLED)</cond>
-      <info>Create a parser context for using the DocBook SGML parser in push mode To allow content encoding detection, @size should be &gt;= 4 The value of @filename is used for fetching external entities and error/warning reports.</info>
-      <return type='docbParserCtxtPtr' info='the new parser context or NULL'/>
-      <arg name='sax' type='docbSAXHandlerPtr' info='a SAX handler'/>
-      <arg name='user_data' type='void *' info='The user data returned on SAX callbacks'/>
-      <arg name='chunk' type='const char *' info='a pointer to an array of chars'/>
-      <arg name='size' type='int' info='number of chars in the array'/>
-      <arg name='filename' type='const char *' info='an optional file name or URI'/>
-      <arg name='enc' type='xmlCharEncoding' info='an optional encoding'/>
-    </function>
-    <function name='docbDefaultSAXHandlerInit' file='SAX2' module='SAX2'>
-      <cond>defined(LIBXML_DOCB_ENABLED)</cond>
-      <info>Initialize the default SAX handler</info>
-      <return type='void'/>
-    </function>
-    <function name='docbEncodeEntities' file='DOCBparser' module='DOCBparser'>
-      <cond>defined(LIBXML_DOCB_ENABLED)</cond>
-      <info>Take a block of UTF-8 chars in and try to convert it to an ASCII plus SGML entities block of chars out.</info>
-      <return type='int' info='0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.'/>
-      <arg name='out' type='unsigned char *' info='a pointer to an array of bytes to store the result'/>
-      <arg name='outlen' type='int *' info='the length of @out'/>
-      <arg name='in' type='const unsigned char *' info='a pointer to an array of UTF-8 chars'/>
-      <arg name='inlen' type='int *' info='the length of @in'/>
-      <arg name='quoteChar' type='int' info='the quote character to escape (&apos; or &quot;) or zero.'/>
-    </function>
-    <function name='docbFreeParserCtxt' file='DOCBparser' module='DOCBparser'>
-      <cond>defined(LIBXML_DOCB_ENABLED)</cond>
-      <info>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</info>
-      <return type='void'/>
-      <arg name='ctxt' type='docbParserCtxtPtr' info='an SGML parser context'/>
-    </function>
-    <function name='docbParseChunk' file='DOCBparser' module='DOCBparser'>
-      <cond>defined(LIBXML_DOCB_ENABLED)</cond>
-      <info>Parse a Chunk of memory</info>
-      <return type='int' info='zero if no error, the xmlParserErrors otherwise.'/>
-      <arg name='ctxt' type='docbParserCtxtPtr' info='an XML parser context'/>
-      <arg name='chunk' type='const char *' info='an char array'/>
-      <arg name='size' type='int' info='the size in byte of the chunk'/>
-      <arg name='terminate' type='int' info='last chunk indicator'/>
-    </function>
-    <function name='docbParseDoc' file='DOCBparser' module='DOCBparser'>
-      <cond>defined(LIBXML_DOCB_ENABLED)</cond>
-      <info>parse an SGML in-memory document and build a tree.</info>
-      <return type='docbDocPtr' info='the resulting document tree'/>
-      <arg name='cur' type='xmlChar *' info='a pointer to an array of xmlChar'/>
-      <arg name='encoding' type='const char *' info='a free form C string describing the SGML document encoding, or NULL'/>
-    </function>
-    <function name='docbParseDocument' file='DOCBparser' module='DOCBparser'>
-      <cond>defined(LIBXML_DOCB_ENABLED)</cond>
-      <info>parse an SGML document (and build a tree if using the standard SAX interface).</info>
-      <return type='int' info='0, -1 in case of error. the parser context is augmented as a result of the parsing.'/>
-      <arg name='ctxt' type='docbParserCtxtPtr' info='an SGML parser context'/>
-    </function>
-    <function name='docbParseFile' file='DOCBparser' module='DOCBparser'>
-      <cond>defined(LIBXML_DOCB_ENABLED)</cond>
-      <info>parse a Docbook SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</info>
-      <return type='docbDocPtr' info='the resulting document tree'/>
-      <arg name='filename' type='const char *' info='the filename'/>
-      <arg name='encoding' type='const char *' info='a free form C string describing document encoding, or NULL'/>
-    </function>
-    <function name='docbSAXParseDoc' file='DOCBparser' module='DOCBparser'>
-      <cond>defined(LIBXML_DOCB_ENABLED)</cond>
-      <info>parse an SGML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</info>
-      <return type='docbDocPtr' info='the resulting document tree'/>
-      <arg name='cur' type='xmlChar *' info='a pointer to an array of xmlChar'/>
-      <arg name='encoding' type='const char *' info='a free form C string describing the SGML document encoding, or NULL'/>
-      <arg name='sax' type='docbSAXHandlerPtr' info='the SAX handler block'/>
-      <arg name='userData' type='void *' info='if using SAX, this pointer will be provided on callbacks.'/>
-    </function>
-    <function name='docbSAXParseFile' file='DOCBparser' module='DOCBparser'>
-      <cond>defined(LIBXML_DOCB_ENABLED)</cond>
-      <info>parse an SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</info>
-      <return type='docbDocPtr' info='the resulting document tree'/>
-      <arg name='filename' type='const char *' info='the filename'/>
-      <arg name='encoding' type='const char *' info='a free form C string describing the SGML document encoding, or NULL'/>
-      <arg name='sax' type='docbSAXHandlerPtr' info='the SAX handler block'/>
-      <arg name='userData' type='void *' info='if using SAX, this pointer will be provided on callbacks.'/>
-    </function>
     <function name='elementDecl' file='SAX' module='legacy'>
       <cond>defined(LIBXML_LEGACY_ENABLED)</cond>
       <info>An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()</info>
@@ -7460,7 +7357,7 @@
       <arg name='name' type='const xmlChar *' info='The tag name'/>
       <arg name='elem' type='htmlNodePtr' info='the HTML element'/>
     </function>
-    <function name='htmlCreateFileParserCtxt' file='parserInternals' module='HTMLparser'>
+    <function name='htmlCreateFileParserCtxt' file='HTMLparser' module='HTMLparser'>
       <cond>defined(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'/>
@@ -7552,7 +7449,7 @@
     </function>
     <function name='htmlDefaultSAXHandlerInit' file='SAX2' module='SAX2'>
       <cond>defined(LIBXML_HTML_ENABLED)</cond>
-      <info>Initialize the default SAX handler</info>
+      <info>DEPRECATED: This function is a no-op. Call xmlInitParser to initialize the library.</info>
       <return type='void'/>
     </function>
     <function name='htmlDocContentDumpFormatOutput' file='HTMLtree' module='HTMLtree'>
@@ -7650,9 +7547,9 @@
       <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' module='HTMLparser'>
+    <function name='htmlInitAutoClose' file='HTMLparser' module='HTMLparser'>
       <cond>defined(LIBXML_HTML_ENABLED)</cond>
-      <info>This is a no-op now.</info>
+      <info>DEPRECATED: This is a no-op.</info>
       <return type='void'/>
     </function>
     <function name='htmlIsAutoClosed' file='HTMLparser' module='HTMLparser'>
@@ -7693,6 +7590,13 @@
       <info>Allocate and initialize a new parser context.</info>
       <return type='htmlParserCtxtPtr' info='the htmlParserCtxtPtr or NULL in case of allocation error'/>
     </function>
+    <function name='htmlNewSAXParserCtxt' file='HTMLparser' module='HTMLparser'>
+      <cond>defined(LIBXML_HTML_ENABLED)</cond>
+      <info>Allocate and initialize a new SAX parser context. If userData is NULL, the parser context will be passed as user data.</info>
+      <return type='htmlParserCtxtPtr' info='the htmlParserCtxtPtr or NULL in case of allocation error'/>
+      <arg name='sax' type='const htmlSAXHandler *' info='SAX handler'/>
+      <arg name='userData' type='void *' info='user data'/>
+    </function>
     <function name='htmlNodeDump' file='HTMLtree' module='HTMLtree'>
       <cond>defined(LIBXML_HTML_ENABLED) &amp;&amp; defined(LIBXML_OUTPUT_ENABLED)</cond>
       <info>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</info>
@@ -7747,7 +7651,7 @@
     </function>
     <function name='htmlParseCharRef' file='HTMLparser' module='HTMLparser'>
       <cond>defined(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>
+      <info>DEPRECATED: Internal function, don&apos;t use.  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>
@@ -7775,13 +7679,13 @@
     </function>
     <function name='htmlParseElement' file='HTMLparser' module='HTMLparser'>
       <cond>defined(LIBXML_HTML_ENABLED)</cond>
-      <info>parse an HTML element, this is highly recursive this is kept for compatibility with previous code versions  [39] element ::= EmptyElemTag | STag content ETag  [41] Attribute ::= Name Eq AttValue</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an HTML element, this is highly recursive this is kept for compatibility with previous code versions  [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' module='HTMLparser'>
       <cond>defined(LIBXML_HTML_ENABLED)</cond>
-      <info>parse an HTML ENTITY references  [68] EntityRef ::= &apos;&amp;&apos; Name &apos;;&apos;</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  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'/>
@@ -7842,7 +7746,7 @@
     </function>
     <function name='htmlSAXParseDoc' file='HTMLparser' module='HTMLparser'>
       <cond>defined(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>
+      <info>DEPRECATED: Use htmlNewSAXParserCtxt and htmlCtxtReadDoc.  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='const 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'/>
@@ -7851,7 +7755,7 @@
     </function>
     <function name='htmlSAXParseFile' file='HTMLparser' module='HTMLparser'>
       <cond>defined(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>
+      <info>DEPRECATED: Use htmlNewSAXParserCtxt and htmlCtxtReadFile.  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'/>
       <arg name='encoding' type='const char *' info='a free form C string describing the HTML document encoding, or NULL'/>
@@ -7911,16 +7815,10 @@
       <arg name='len' type='int' info='the number of xmlChar'/>
     </functype>
     <function name='initGenericErrorDefaultFunc' file='xmlerror' module='error'>
-      <info>Set or reset (if NULL) the default handler for generic errors to the builtin error function.</info>
+      <info>DEPRECATED: Use xmlSetGenericErrorFunc.  Set or reset (if NULL) the default handler for generic errors to the builtin error function.</info>
       <return type='void'/>
       <arg name='handler' type='xmlGenericErrorFunc *' info='the handler'/>
     </function>
-    <function name='initdocbDefaultSAXHandler' file='SAX' module='SAX'>
-      <cond>defined(LIBXML_LEGACY_ENABLED) &amp;&amp; defined(LIBXML_SAX1_ENABLED) &amp;&amp; defined(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' module='SAX'>
       <cond>defined(LIBXML_LEGACY_ENABLED) &amp;&amp; defined(LIBXML_SAX1_ENABLED) &amp;&amp; defined(LIBXML_HTML_ENABLED)</cond>
       <info>Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks</info>
@@ -8312,13 +8210,13 @@
       <arg name='tree' type='xmlEnumerationPtr' info='if it&apos;s an enumeration, the associated list'/>
     </function>
     <function name='xmlAddChild' file='tree' module='tree'>
-      <info>Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) 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>
+      <info>Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) 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.  All tree manipulation functions can safely move nodes within a document. But when moving nodes from one document to another, references to namespaces in element or attribute nodes are NOT fixed. In this case, you MUST call xmlReconciliateNs after the move operation to avoid memory errors.</info>
       <return type='xmlNodePtr' info='the child or NULL in case of error.'/>
       <arg name='parent' type='xmlNodePtr' info='the parent node'/>
       <arg name='cur' type='xmlNodePtr' info='the child node'/>
     </function>
     <function name='xmlAddChildList' file='tree' module='tree'>
-      <info>Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be freed)</info>
+      <info>Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be freed)  See the note regarding namespaces in xmlAddChild.</info>
       <return type='xmlNodePtr' info='the last child or NULL in case of error.'/>
       <arg name='parent' type='xmlNodePtr' info='the parent node'/>
       <arg name='cur' type='xmlNodePtr' info='the first node in the list'/>
@@ -8367,7 +8265,7 @@
       <arg name='attr' type='xmlAttrPtr' info='the attribute holding the ID'/>
     </function>
     <function name='xmlAddNextSibling' file='tree' module='tree'>
-      <info>Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. As a result of text merging @elem may be freed. 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>
+      <info>Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. As a result of text merging @elem may be freed. 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.  See the note regarding namespaces in xmlAddChild.</info>
       <return type='xmlNodePtr' info='the new node or NULL in case of error.'/>
       <arg name='cur' type='xmlNodePtr' info='the child node'/>
       <arg name='elem' type='xmlNodePtr' info='the new node'/>
@@ -8383,13 +8281,13 @@
     </function>
     <function name='xmlAddPrevSibling' file='tree' module='tree'>
       <cond>defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_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>
+      <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.  See the note regarding namespaces in xmlAddChild.</info>
       <return type='xmlNodePtr' info='the new node or NULL in case of error.'/>
       <arg name='cur' type='xmlNodePtr' info='the child node'/>
       <arg name='elem' type='xmlNodePtr' info='the new node'/>
     </function>
     <function name='xmlAddRef' file='valid' module='valid'>
-      <info>Register a new ref declaration</info>
+      <info>DEPRECATED, do not use. This function will be removed from the public API.  Register a new ref declaration</info>
       <return type='xmlRefPtr' info='NULL if not, otherwise the new xmlRefPtr'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
       <arg name='doc' type='xmlDocPtr' info='pointer to the document'/>
@@ -8397,7 +8295,7 @@
       <arg name='attr' type='xmlAttrPtr' info='the attribute holding the Ref'/>
     </function>
     <function name='xmlAddSibling' file='tree' module='tree'>
-      <info>Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context.</info>
+      <info>Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context.  See the note regarding namespaces in xmlAddChild.</info>
       <return type='xmlNodePtr' info='the new element or NULL in case of error.'/>
       <arg name='cur' type='xmlNodePtr' info='the child node'/>
       <arg name='elem' type='xmlNodePtr' info='the new node'/>
@@ -8662,8 +8560,8 @@
       <arg name='size' type='size_t' info='initial size of buffer'/>
     </function>
     <function name='xmlBufferCreateStatic' file='tree' module='tree'>
-      <info>routine to create an XML buffer from an immutable memory area. The area won&apos;t be modified nor copied, and is expected to be present until the end of the buffer lifetime.</info>
-      <return type='xmlBufferPtr' info='the new structure.'/>
+      <info>Create an XML buffer initialized with bytes.</info>
+      <return type='xmlBufferPtr' info=''/>
       <arg name='mem' type='void *' info='the memory area'/>
       <arg name='size' type='size_t' info='the size in byte'/>
     </function>
@@ -9035,7 +8933,7 @@
       <arg name='parent' type='xmlNodePtr' info='the parent node'/>
     </function>
     <function name='xmlCleanupCharEncodingHandlers' file='encoding' module='encoding'>
-      <info>Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases.</info>
+      <info>DEPRECATED: This function will be made private. Call xmlCleanupParser to free global state but see the warnings there. xmlCleanupParser should be only called once at program exit. In most cases, you don&apos;t have call cleanup functions at all.  Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases.</info>
       <return type='void'/>
     </function>
     <function name='xmlCleanupEncodingAliases' file='encoding' module='encoding'>
@@ -9043,7 +8941,7 @@
       <return type='void'/>
     </function>
     <function name='xmlCleanupGlobals' file='globals' module='globals'>
-      <info>Additional cleanup for multi-threading</info>
+      <info>DEPRECATED: This function is a no-op. Call xmlCleanupParser to free global state but see the warnings there. xmlCleanupParser should be only called once at program exit. In most cases, you don&apos;t have call cleanup functions at all.</info>
       <return type='void'/>
     </function>
     <function name='xmlCleanupInputCallbacks' file='xmlIO' module='xmlIO'>
@@ -9051,7 +8949,7 @@
       <return type='void'/>
     </function>
     <function name='xmlCleanupMemory' file='xmlmemory' module='xmlmemory'>
-      <info>Free up all the memory allocated by the library for its own use. This should not be called by user level code.</info>
+      <info>DEPRECATED: This function is a no-op. Call xmlCleanupParser to free global state but see the warnings there. xmlCleanupParser should be only called once at program exit. In most cases, you don&apos;t have call cleanup functions at all.</info>
       <return type='void'/>
     </function>
     <function name='xmlCleanupOutputCallbacks' file='xmlIO' module='xmlIO'>
@@ -9069,11 +8967,11 @@
       <return type='void'/>
     </function>
     <function name='xmlCleanupThreads' file='threads' module='threads'>
-      <info>xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended.  WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It&apos;s sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</info>
+      <info>DEPRECATED: This function is a no-op. Call xmlCleanupParser to free global state but see the warnings there. xmlCleanupParser should be only called once at program exit. In most cases, you don&apos;t have call cleanup functions at all.</info>
       <return type='void'/>
     </function>
     <function name='xmlClearNodeInfoSeq' file='parser' module='parserInternals'>
-      <info>-- Clear (release memory and reinitialize) node info sequence</info>
+      <info>DEPRECATED: Don&apos;t use.  -- Clear (release memory and reinitialize) node info sequence</info>
       <return type='void'/>
       <arg name='seq' type='xmlParserNodeInfoSeqPtr' info='a node info sequence pointer'/>
     </function>
@@ -9495,7 +9393,7 @@
       <arg name='end3' type='xmlChar' info='an end marker xmlChar, 0 if none'/>
     </function>
     <function name='xmlDefaultSAXHandlerInit' file='SAX2' module='SAX2'>
-      <info>Initialize the default SAX2 handler</info>
+      <info>DEPRECATED: This function is a no-op. Call xmlInitParser to initialize the library.  Initialize the default SAX2 handler</info>
       <return type='void'/>
     </function>
     <function name='xmlDelEncodingAlias' file='encoding' module='encoding'>
@@ -9520,7 +9418,7 @@
       <arg name='len' type='int' info='pointer to the length of the buffer'/>
     </function>
     <function name='xmlDictCleanup' file='dict' module='dict'>
-      <info>Free the dictionary mutex. Do not call unless sure the library is not in use anymore !</info>
+      <info>DEPRECATED: This function is a no-op. Call xmlCleanupParser to free global state but see the warnings there. xmlCleanupParser should be only called once at program exit. In most cases, you don&apos;t have call cleanup functions at all.</info>
       <return type='void'/>
     </function>
     <function name='xmlDictCreate' file='dict' module='dict'>
@@ -9585,13 +9483,6 @@
       <return type='int' info='the number of elements in the dictionary or -1 in case of error'/>
       <arg name='dict' type='xmlDictPtr' info='the dictionary'/>
     </function>
-    <function name='xmlDllMain' file='threads' module='threads'>
-      <info></info>
-      <return type='int' info=''/>
-      <arg name='hinstDLL' type='void *' info=''/>
-      <arg name='fdwReason' type='unsigned long' info=''/>
-      <arg name='lpvReserved' type='void *' info=''/>
-    </function>
     <function name='xmlDocCopyNode' file='tree' module='tree'>
       <info>Do a copy of the node to a given document.</info>
       <return type='xmlNodePtr' info='a new #xmlNodePtr, or NULL in case of error.'/>
@@ -9759,12 +9650,6 @@
       <arg name='firstNode' type='xmlNodePtr' info='the fist node in the chunk'/>
       <arg name='lastNode' type='xmlNodePtr' info='the last nod in the chunk'/>
     </functype>
-    <function name='xmlErrMemory' file='parserInternals' module='parserInternals'>
-      <info>Handle a redefinition of attribute error</info>
-      <return type='void'/>
-      <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
-      <arg name='extra' type='const char *' info='extra information'/>
-    </function>
     <function name='xmlExpCtxtNbCons' file='xmlregexp' module='xmlregexp'>
       <cond>defined(LIBXML_REGEXP_ENABLED) &amp;&amp; defined(LIBXML_EXPR_ENABLED)</cond>
       <info>Debugging facility provides the number of allocated nodes over lifetime</info>
@@ -9935,7 +9820,7 @@
       <arg name='len' type='int' info='number of bytes to write'/>
     </function>
     <function name='xmlFindCharEncodingHandler' file='encoding' module='encoding'>
-      <info>Search in the registered set the handler able to read/write that encoding.</info>
+      <info>Search in the registered set the handler able to read/write that encoding or create a new one.</info>
       <return type='xmlCharEncodingHandlerPtr' info='the handler or NULL if not found'/>
       <arg name='name' type='const char *' info='a string describing the char encoding.'/>
     </function>
@@ -10014,7 +9899,7 @@
       <arg name='input' type='xmlParserInputPtr' info='an xmlParserInputPtr'/>
     </function>
     <function name='xmlFreeMutex' file='threads' module='threads'>
-      <info>xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.</info>
+      <info>Free a mutex.</info>
       <return type='void'/>
       <arg name='tok' type='xmlMutexPtr' info='the simple mutex'/>
     </function>
@@ -10081,7 +9966,7 @@
       <arg name='tok' type='xmlRMutexPtr' info='the reentrant mutex'/>
     </function>
     <function name='xmlFreeRefTable' file='valid' module='valid'>
-      <info>Deallocate the memory used by an Ref hash table.</info>
+      <info>DEPRECATED, do not use. This function will be removed from the public API.  Deallocate the memory used by an Ref hash table.</info>
       <return type='void'/>
       <arg name='table' type='xmlRefTablePtr' info='An ref table'/>
     </function>
@@ -10233,7 +10118,7 @@
       <arg name='result' type='const char **' info='an array of string to be filled with the features name.'/>
     </function>
     <function name='xmlGetGlobalState' file='threads' module='threads'>
-      <info>xmlGetGlobalState() is called to retrieve the global state for a thread.</info>
+      <info>DEPRECATED: Internal function, do not use.  xmlGetGlobalState() is called to retrieve the global state for a thread.</info>
       <return type='xmlGlobalStatePtr' info='the thread global state or NULL in case of error'/>
     </function>
     <function name='xmlGetID' file='valid' module='valid'>
@@ -10305,13 +10190,13 @@
       <arg name='name' type='const xmlChar *' info='the attribute name'/>
     </function>
     <function name='xmlGetRefs' file='valid' module='valid'>
-      <info>Find the set of references for the supplied ID.</info>
+      <info>DEPRECATED, do not use. This function will be removed from the public API.  Find the set of references for the supplied ID.</info>
       <return type='xmlListPtr' info='NULL if not found, otherwise node set for the ID.'/>
       <arg name='doc' type='xmlDocPtr' info='pointer to the document'/>
       <arg name='ID' type='const xmlChar *' info='the ID value'/>
     </function>
     <function name='xmlGetThreadId' file='threads' module='threads'>
-      <info>xmlGetThreadId() find the current thread ID number Note that this is likely to be broken on some platforms using pthreads as the specification doesn&apos;t mandate pthread_t to be an integer type</info>
+      <info>DEPRECATED: Internal function, do not use.  xmlGetThreadId() find the current thread ID number Note that this is likely to be broken on some platforms using pthreads as the specification doesn&apos;t mandate pthread_t to be an integer type</info>
       <return type='int' info='the current thread ID number'/>
     </function>
     <function name='xmlGetUTF8Char' file='xmlstring' module='xmlstring'>
@@ -10632,19 +10517,19 @@
       <arg name='enc' type='xmlCharEncoding' info='the charset encoding if known'/>
     </function>
     <function name='xmlInitCharEncodingHandlers' file='encoding' module='encoding'>
-      <info>Initialize the char encoding support, it registers the default encoding supported. NOTE: while public, this function usually doesn&apos;t need to be called in normal processing.</info>
+      <info>DEPRECATED: Alias for xmlInitParser.</info>
       <return type='void'/>
     </function>
     <function name='xmlInitGlobals' file='globals' module='globals'>
-      <info>Additional initialisation for multi-threading</info>
+      <info>DEPRECATED: Alias for xmlInitParser.</info>
       <return type='void'/>
     </function>
     <function name='xmlInitMemory' file='xmlmemory' module='xmlmemory'>
-      <info>Initialize the memory layer.</info>
-      <return type='int' info='0 on success'/>
+      <info>DEPRECATED: Alias for xmlInitParser.</info>
+      <return type='int' info=''/>
     </function>
     <function name='xmlInitNodeInfoSeq' file='parser' module='parserInternals'>
-      <info>-- Initialize (set to initial state) node info sequence</info>
+      <info>DEPRECATED: Don&apos;t use.  -- Initialize (set to initial state) node info sequence</info>
       <return type='void'/>
       <arg name='seq' type='xmlParserNodeInfoSeqPtr' info='a node info sequence pointer'/>
     </function>
@@ -10653,12 +10538,12 @@
       <return type='void'/>
     </function>
     <function name='xmlInitParserCtxt' file='parser' module='parserInternals'>
-      <info>Initialize a parser context</info>
+      <info>DEPRECATED: Internal function which will be made private in a future version.  Initialize a parser context</info>
       <return type='int' info='0 in case of success and -1 in case of error'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlInitThreads' file='threads' module='threads'>
-      <info>xmlInitThreads() is used to to initialize all the thread related data of the libxml2 library.</info>
+      <info>DEPRECATED: Alias for xmlInitParser.</info>
       <return type='void'/>
     </function>
     <function name='xmlInitializeCatalog' file='catalog' module='catalog'>
@@ -10667,8 +10552,8 @@
       <return type='void'/>
     </function>
     <function name='xmlInitializeDict' file='dict' module='dict'>
-      <info>Do the dictionary mutex initialization. this function is deprecated</info>
-      <return type='int' info='0 if initialization was already done, and 1 if that call led to the initialization'/>
+      <info>DEPRECATED: Alias for xmlInitParser.</info>
+      <return type='int' info=''/>
     </function>
     <function name='xmlInitializeGlobalState' file='globals' module='globals'>
       <info>xmlInitializeGlobalState() initialize a global state with all the default values of the library.</info>
@@ -10755,7 +10640,7 @@
       <arg name='c' type='int' info='an unicode character (int)'/>
     </function>
     <function name='xmlIsMainThread' file='threads' module='threads'>
-      <info>xmlIsMainThread() check whether the current thread is the main thread.</info>
+      <info>DEPRECATED: Internal function, do not use.  xmlIsMainThread() check whether the current thread is the main thread.</info>
       <return type='int' info='1 if the current thread is the main thread, 0 otherwise'/>
     </function>
     <function name='xmlIsMixedElement' file='valid' module='valid'>
@@ -10770,20 +10655,20 @@
       <arg name='ch' type='unsigned int' info='character to validate'/>
     </function>
     <function name='xmlIsRef' file='valid' module='valid'>
-      <info>Determine whether an attribute is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).</info>
+      <info>DEPRECATED, do not use. This function will be removed from the public API.  Determine whether an attribute is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).</info>
       <return type='int' info='0 or 1 depending on the lookup result'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
       <arg name='elem' type='xmlNodePtr' info='the element carrying the attribute'/>
       <arg name='attr' type='xmlAttrPtr' info='the attribute'/>
     </function>
-    <function name='xmlIsXHTML' file='tree' module='xmlsave'>
+    <function name='xmlIsXHTML' file='tree' module='tree'>
       <info>Try to find if the document correspond to an XHTML DTD</info>
       <return type='int' info='1 if true, 0 if not and -1 in case of error'/>
       <arg name='systemID' type='const xmlChar *' info='the system identifier'/>
       <arg name='publicID' type='const xmlChar *' info='the public identifier'/>
     </function>
     <function name='xmlKeepBlanksDefault' file='parser' module='parserInternals'>
-      <info>Set and return the previous value for default blanks text nodes support. The 1.x version of the parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and ignorableWhitespace() are only generated when running the parser in validating mode and when the current element doesn&apos;t allow CDATA or mixed content. This function is provided as a way to force the standard behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X . Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the &quot;empty&quot; nodes generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, indentation is not generated.</info>
+      <info>DEPRECATED: Use the modern options API with XML_PARSE_NOBLANKS.  Set and return the previous value for default blanks text nodes support. The 1.x version of the parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and ignorableWhitespace() are only generated when running the parser in validating mode and when the current element doesn&apos;t allow CDATA or mixed content. This function is provided as a way to force the standard behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X . Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the &quot;empty&quot; nodes generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, indentation is not generated.</info>
       <return type='int' info='the last value for 0 for no substitution, 1 for substitution.'/>
       <arg name='val' type='int' info='int 0 or 1'/>
     </function>
@@ -10794,7 +10679,7 @@
       <arg name='parent' type='xmlNodePtr' info='the parent node'/>
     </function>
     <function name='xmlLineNumbersDefault' file='parser' module='parserInternals'>
-      <info>Set and return the previous value for enabling line numbers in elements contents. This may break on old application and is turned off by default.</info>
+      <info>DEPRECATED: The modern options API always enables line numbers.  Set and return the previous value for enabling line numbers in elements contents. This may break on old application and is turned off by default.</info>
       <return type='int' info='the last value for 0 for no substitution, 1 for substitution.'/>
       <arg name='val' type='int' info='int 0 or 1'/>
     </function>
@@ -11464,7 +11349,7 @@
       <arg name='content' type='const xmlChar *' info='the XML content of the child if any.'/>
     </function>
     <function name='xmlNewComment' file='tree' module='tree'>
-      <info>Creation of a new node containing a comment.</info>
+      <info>Use of this function is DISCOURAGED in favor of xmlNewDocComment.  Creation of a new node containing a comment.</info>
       <return type='xmlNodePtr' info='a pointer to the new node object.'/>
       <arg name='content' type='const xmlChar *' info='the comment content'/>
     </function>
@@ -11605,13 +11490,13 @@
       <return type='xmlMutexPtr' info='a new simple mutex pointer or NULL in case of error'/>
     </function>
     <function name='xmlNewNode' file='tree' module='tree'>
-      <info>Creation of a new node element. @ns is optional (NULL).</info>
+      <info>Creation of a new node element. @ns is optional (NULL).  Use of this function is DISCOURAGED in favor of xmlNewDocNode.</info>
       <return type='xmlNodePtr' info='a pointer to the new node object. Uses xmlStrdup() to make copy of @name.'/>
       <arg name='ns' type='xmlNsPtr' info='namespace if any'/>
       <arg name='name' type='const xmlChar *' info='the node name'/>
     </function>
     <function name='xmlNewNodeEatName' file='tree' module='tree'>
-      <info>Creation of a new node element. @ns is optional (NULL).</info>
+      <info>Creation of a new node element. @ns is optional (NULL).  Use of this function is DISCOURAGED in favor of xmlNewDocNodeEatName.</info>
       <return type='xmlNodePtr' info='a pointer to the new node object, with pointer @name as new node&apos;s name. Use xmlNewNode() if a copy of @name string is is needed as new node&apos;s name.'/>
       <arg name='ns' type='xmlNsPtr' info='namespace if any'/>
       <arg name='name' type='xmlChar *' info='the node name'/>
@@ -11640,7 +11525,7 @@
       <arg name='value' type='const xmlChar *' info='the value of the attribute'/>
     </function>
     <function name='xmlNewPI' file='tree' module='tree'>
-      <info>Creation of a processing instruction element. Use xmlDocNewPI preferably to get string interning</info>
+      <info>Creation of a processing instruction element.  Use of this function is DISCOURAGED in favor of xmlNewDocPI.</info>
       <return type='xmlNodePtr' info='a pointer to the new node object.'/>
       <arg name='name' type='const xmlChar *' info='the processing instruction name'/>
       <arg name='content' type='const xmlChar *' info='the PI content'/>
@@ -11667,6 +11552,12 @@
       <arg name='doc' type='const xmlDoc *' info='the document'/>
       <arg name='name' type='const xmlChar *' info='the reference name, or the reference string with &amp; and ;'/>
     </function>
+    <function name='xmlNewSAXParserCtxt' file='parser' module='parserInternals'>
+      <info>Allocate and initialize a new SAX parser context. If userData is NULL, the parser context will be passed as user data.</info>
+      <return type='xmlParserCtxtPtr' info='the xmlParserCtxtPtr or NULL if memory allocation failed.'/>
+      <arg name='sax' type='const xmlSAXHandler *' info='SAX handler'/>
+      <arg name='userData' type='void *' info='user data'/>
+    </function>
     <function name='xmlNewStringInputStream' file='parserInternals' module='parserInternals'>
       <info>Create a new input stream based on a memory buffer.</info>
       <return type='xmlParserInputPtr' info='the new input stream'/>
@@ -11674,7 +11565,7 @@
       <arg name='buffer' type='const xmlChar *' info='an memory buffer'/>
     </function>
     <function name='xmlNewText' file='tree' module='tree'>
-      <info>Creation of a new text node.</info>
+      <info>Creation of a new text node.  Use of this function is DISCOURAGED in favor of xmlNewDocText.</info>
       <return type='xmlNodePtr' info='a pointer to the new node object.'/>
       <arg name='content' type='const xmlChar *' info='the text content'/>
     </function>
@@ -11688,7 +11579,7 @@
       <arg name='content' type='const xmlChar *' info='the text content of the child if any.'/>
     </function>
     <function name='xmlNewTextLen' file='tree' module='tree'>
-      <info>Creation of a new text node with an extra parameter for the content&apos;s length</info>
+      <info>Use of this function is DISCOURAGED in favor of xmlNewDocTextLen.  Creation of a new text node with an extra parameter for the content&apos;s length</info>
       <return type='xmlNodePtr' info='a pointer to the new node object.'/>
       <arg name='content' type='const xmlChar *' info='the text content'/>
       <arg name='len' type='int' info='the text len.'/>
@@ -12028,24 +11919,24 @@
       <arg name='len' type='int' info='the length of the buffer in bytes'/>
     </functype>
     <function name='xmlParseAttValue' file='parserInternals' module='parser'>
-      <info>parse a value for an attribute Note: the parser won&apos;t do substitution of entities here, this will be handled later in xmlStringGetNodeList  [10] AttValue ::= &apos;&quot;&apos; ([^&lt;&amp;&quot;] | Reference)* &apos;&quot;&apos; | &quot;&apos;&quot; ([^&lt;&amp;&apos;] | Reference)* &quot;&apos;&quot;  3.3.3 Attribute-Value Normalization: Before the value of an attribute is passed to the application or checked for validity, the XML processor must normalize it as follows: - a character reference is processed by appending the referenced character to the attribute value - an entity reference is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a &quot;#xD#xA&quot; sequence that is part of an external parsed entity or the literal entity value of an internal parsed entity - other characters are processed by appending them to the normalized value 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 a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse a value for an attribute Note: the parser won&apos;t do substitution of entities here, this will be handled later in xmlStringGetNodeList  [10] AttValue ::= &apos;&quot;&apos; ([^&lt;&amp;&quot;] | Reference)* &apos;&quot;&apos; | &quot;&apos;&quot; ([^&lt;&amp;&apos;] | Reference)* &quot;&apos;&quot;  3.3.3 Attribute-Value Normalization: Before the value of an attribute is passed to the application or checked for validity, the XML processor must normalize it as follows: - a character reference is processed by appending the referenced character to the attribute value - an entity reference is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a &quot;#xD#xA&quot; sequence that is part of an external parsed entity or the literal entity value of an internal parsed entity - other characters are processed by appending them to the normalized value 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 a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA.</info>
       <return type='xmlChar *' info='the AttValue parsed or NULL. The value has to be freed by the caller.'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseAttribute' file='parserInternals' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an attribute  [41] Attribute ::= Name Eq AttValue  [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities.  [ WFC: No &lt; in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an attribute value (other than &quot;&amp;lt;&quot;) must not contain a &lt;.  [ VC: Attribute Value Type ] The attribute must have been declared; the value must be of the type declared for it.  [25] Eq ::= S? &apos;=&apos; S?  With namespace:  [NS 11] Attribute ::= QName Eq AttValue  Also the case QName == xmlns:??? is handled independently as a namespace definition.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an attribute  [41] Attribute ::= Name Eq AttValue  [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities.  [ WFC: No &lt; in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an attribute value (other than &quot;&amp;lt;&quot;) must not contain a &lt;.  [ VC: Attribute Value Type ] The attribute must have been declared; the value must be of the type declared for it.  [25] Eq ::= S? &apos;=&apos; S?  With namespace:  [NS 11] Attribute ::= QName Eq AttValue  Also the case QName == xmlns:??? is handled independently as a namespace definition.</info>
       <return type='const xmlChar *' info='the attribute name, and the value in *value.'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='value' type='xmlChar **' info='a xmlChar ** used to store the value of the attribute'/>
     </function>
     <function name='xmlParseAttributeListDecl' file='parserInternals' module='parser'>
-      <info>: parse the Attribute list def for an element  [52] AttlistDecl ::= &apos;&lt;!ATTLIST&apos; S Name AttDef* S? &apos;&gt;&apos;  [53] AttDef ::= S Name S AttType S DefaultDecl</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse an attribute list declaration for an element. Always consumes &apos;&lt;!&apos;.  [52] AttlistDecl ::= &apos;&lt;!ATTLIST&apos; S Name AttDef* S? &apos;&gt;&apos;  [53] AttDef ::= S Name S AttType S DefaultDecl</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseAttributeType' file='parserInternals' module='parser'>
-      <info>parse the Attribute list def for an element  [54] AttType ::= StringType | TokenizedType | EnumeratedType  [55] StringType ::= &apos;CDATA&apos;  [56] TokenizedType ::= &apos;ID&apos; | &apos;IDREF&apos; | &apos;IDREFS&apos; | &apos;ENTITY&apos; | &apos;ENTITIES&apos; | &apos;NMTOKEN&apos; | &apos;NMTOKENS&apos;  Validity constraints for attribute values syntax are checked in xmlValidateAttributeValue()  [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them.  [ VC: One ID per Element Type ] No element type may have more than one ID attribute specified.  [ VC: ID Attribute Default ] An ID attribute must have a declared default of #IMPLIED or #REQUIRED.  [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID attribute on some element in the XML document; i.e. IDREF values must match the value of some ID attribute.  [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD.  [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse the Attribute list def for an element  [54] AttType ::= StringType | TokenizedType | EnumeratedType  [55] StringType ::= &apos;CDATA&apos;  [56] TokenizedType ::= &apos;ID&apos; | &apos;IDREF&apos; | &apos;IDREFS&apos; | &apos;ENTITY&apos; | &apos;ENTITIES&apos; | &apos;NMTOKEN&apos; | &apos;NMTOKENS&apos;  Validity constraints for attribute values syntax are checked in xmlValidateAttributeValue()  [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them.  [ VC: One ID per Element Type ] No element type may have more than one ID attribute specified.  [ VC: ID Attribute Default ] An ID attribute must have a declared default of #IMPLIED or #REQUIRED.  [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID attribute on some element in the XML document; i.e. IDREF values must match the value of some ID attribute.  [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD.  [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</info>
       <return type='int' info='the attribute type'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='tree' type='xmlEnumerationPtr *' info='the enumeration tree built while parsing'/>
@@ -12074,7 +11965,7 @@
       <arg name='recover' type='int' info='return nodes even if the data is broken (use 0)'/>
     </function>
     <function name='xmlParseCDSect' file='parserInternals' module='parser'>
-      <info>Parse escaped pure raw content.  [18] CDSect ::= CDStart CData CDEnd  [19] CDStart ::= &apos;&lt;![CDATA[&apos;  [20] Data ::= (Char* - (Char* &apos;]]&gt;&apos; Char*))  [21] CDEnd ::= &apos;]]&gt;&apos;</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse escaped pure raw content. Always consumes &apos;&lt;![&apos;.  [18] CDSect ::= CDStart CData CDEnd  [19] CDStart ::= &apos;&lt;![CDATA[&apos;  [20] Data ::= (Char* - (Char* &apos;]]&gt;&apos; Char*))  [21] CDEnd ::= &apos;]]&gt;&apos;</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12085,10 +11976,10 @@
       <arg name='filename' type='const char *' info='the filename'/>
     </function>
     <function name='xmlParseCharData' file='parserInternals' module='parser'>
-      <info>parse a CharData section. if we are within a CDATA section &apos;]]&gt;&apos; marks an end of section.  The right angle bracket (&gt;) may be represented using the string &quot;&amp;gt;&quot;, and must, for compatibility, be escaped using &quot;&amp;gt;&quot; or a character reference when it appears in the string &quot;]]&gt;&quot; in content, when that string is not marking the end of a CDATA section.  [14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* &apos;]]&gt;&apos; [^&lt;&amp;]*)</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse character data. Always makes progress if the first char isn&apos;t &apos;&lt;&apos; or &apos;&amp;&apos;.  if we are within a CDATA section &apos;]]&gt;&apos; marks an end of section.  The right angle bracket (&gt;) may be represented using the string &quot;&amp;gt;&quot;, and must, for compatibility, be escaped using &quot;&amp;gt;&quot; or a character reference when it appears in the string &quot;]]&gt;&quot; in content, when that string is not marking the end of a CDATA section.  [14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* &apos;]]&gt;&apos; [^&lt;&amp;]*)</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
-      <arg name='cdata' type='int' info='int indicating whether we are within a CDATA section'/>
+      <arg name='cdata' type='int' info='unused'/>
     </function>
     <function name='xmlParseCharEncoding' file='encoding' module='encoding'>
       <info>Compare the string to the encoding schemes already known. Note that the comparison is case insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities.</info>
@@ -12096,7 +11987,7 @@
       <arg name='name' type='const char *' info='the encoding name as parsed, in UTF-8 format (ASCII actually)'/>
     </function>
     <function name='xmlParseCharRef' file='parserInternals' module='parser'>
-      <info>parse Reference declarations  [66] CharRef ::= &apos;&amp;#&apos; [0-9]+ &apos;;&apos; | &apos;&amp;#x&apos; [0-9a-fA-F]+ &apos;;&apos;  [ WFC: Legal Character ] Characters referred to using character references must match the production for Char.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse a numeric character reference. Always consumes &apos;&amp;&apos;.  [66] CharRef ::= &apos;&amp;#&apos; [0-9]+ &apos;;&apos; | &apos;&amp;#x&apos; [0-9a-fA-F]+ &apos;;&apos;  [ WFC: Legal Character ] Characters referred to using character references must match the production for Char.</info>
       <return type='int' info='the value parsed (as an int), 0 in case of error'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12110,7 +12001,7 @@
       <arg name='terminate' type='int' info='last chunk indicator'/>
     </function>
     <function name='xmlParseComment' file='parserInternals' module='parser'>
-      <info>Skip an XML (SGML) comment &lt;!-- .... --&gt; The spec says that &quot;For compatibility, the string &quot;--&quot; (double-hyphen) must not occur within comments. &quot;  [15] Comment ::= &apos;&lt;!--&apos; ((Char - &apos;-&apos;) | (&apos;-&apos; (Char - &apos;-&apos;)))* &apos;--&gt;&apos;</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse an XML (SGML) comment. Always consumes &apos;&lt;!&apos;.  The spec says that &quot;For compatibility, the string &quot;--&quot; (double-hyphen) must not occur within comments. &quot;  [15] Comment ::= &apos;&lt;!--&apos; ((Char - &apos;-&apos;) | (&apos;-&apos; (Char - &apos;-&apos;)))* &apos;--&gt;&apos;</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12135,19 +12026,19 @@
       <arg name='SystemID' type='const xmlChar *' info='a NAME* containing the URL to the DTD'/>
     </function>
     <function name='xmlParseDefaultDecl' file='parserInternals' module='parser'>
-      <info>Parse an attribute default declaration  [60] DefaultDecl ::= &apos;#REQUIRED&apos; | &apos;#IMPLIED&apos; | ((&apos;#FIXED&apos; S)? AttValue)  [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the attribute must be specified for all elements of the type in the attribute-list declaration.  [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared attribute type c.f. xmlValidateAttributeDecl()  [ VC: Fixed Attribute Default ] if an attribute has a default value declared with the #FIXED keyword, instances of that attribute must match the default value.  [ WFC: No &lt; in Attribute Values ] handled in xmlParseAttValue()</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse an attribute default declaration  [60] DefaultDecl ::= &apos;#REQUIRED&apos; | &apos;#IMPLIED&apos; | ((&apos;#FIXED&apos; S)? AttValue)  [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the attribute must be specified for all elements of the type in the attribute-list declaration.  [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared attribute type c.f. xmlValidateAttributeDecl()  [ VC: Fixed Attribute Default ] if an attribute has a default value declared with the #FIXED keyword, instances of that attribute must match the default value.  [ WFC: No &lt; in Attribute Values ] handled in xmlParseAttValue()</info>
       <return type='int' info='XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED or XML_ATTRIBUTE_FIXED.'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='value' type='xmlChar **' info='Receive a possible fixed default value for the attribute'/>
     </function>
     <function name='xmlParseDoc' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML in-memory document and build a tree.</info>
+      <info>DEPRECATED: Use xmlReadDoc.  parse an XML in-memory document and build a tree.</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='cur' type='const xmlChar *' info='a pointer to an array of xmlChar'/>
     </function>
     <function name='xmlParseDocTypeDecl' file='parserInternals' module='parser'>
-      <info>parse a DOCTYPE declaration  [28] doctypedecl ::= &apos;&lt;!DOCTYPE&apos; S Name (S ExternalID)? S? (&apos;[&apos; (markupdecl | PEReference | S)* &apos;]&apos; S?)? &apos;&gt;&apos;  [ VC: Root Element Type ] The Name in the document type declaration must match the element type of the root element.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse a DOCTYPE declaration  [28] doctypedecl ::= &apos;&lt;!DOCTYPE&apos; S Name (S ExternalID)? S? (&apos;[&apos; (markupdecl | PEReference | S)* &apos;]&apos; S?)? &apos;&gt;&apos;  [ VC: Root Element Type ] The Name in the document type declaration must match the element type of the root element.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12157,47 +12048,47 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseElement' file='parserInternals' module='parser'>
-      <info>parse an XML element  [39] element ::= EmptyElemTag | STag content ETag  [ WFC: Element Type Match ] The Name in an element&apos;s end-tag must match the element type in the start-tag.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an XML element  [39] element ::= EmptyElemTag | STag content ETag  [ WFC: Element Type Match ] The Name in an element&apos;s end-tag must match the element type in the start-tag.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseElementChildrenContentDecl' file='parserInternals' module='parser'>
-      <info>parse the declaration for a Mixed Element content The leading &apos;(&apos; and spaces have been skipped in xmlParseElementContentDecl  [47] children ::= (choice | seq) (&apos;?&apos; | &apos;*&apos; | &apos;+&apos;)?  [48] cp ::= (Name | choice | seq) (&apos;?&apos; | &apos;*&apos; | &apos;+&apos;)?  [49] choice ::= &apos;(&apos; S? cp ( S? &apos;|&apos; S? cp )* S? &apos;)&apos;  [50] seq ::= &apos;(&apos; S? cp ( S? &apos;,&apos; S? cp )* S? &apos;)&apos;  [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity reference appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse the declaration for a Mixed Element content The leading &apos;(&apos; and spaces have been skipped in xmlParseElementContentDecl  [47] children ::= (choice | seq) (&apos;?&apos; | &apos;*&apos; | &apos;+&apos;)?  [48] cp ::= (Name | choice | seq) (&apos;?&apos; | &apos;*&apos; | &apos;+&apos;)?  [49] choice ::= &apos;(&apos; S? cp ( S? &apos;|&apos; S? cp )* S? &apos;)&apos;  [50] seq ::= &apos;(&apos; S? cp ( S? &apos;,&apos; S? cp )* S? &apos;)&apos;  [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity reference appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).</info>
       <return type='xmlElementContentPtr' info='the tree of xmlElementContentPtr describing the element hierarchy.'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='inputchk' type='int' info='the input used for the current entity, needed for boundary checks'/>
     </function>
     <function name='xmlParseElementContentDecl' file='parserInternals' module='parser'>
-      <info>parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are handled directly in xmlParseElementDecl  [46] contentspec ::= &apos;EMPTY&apos; | &apos;ANY&apos; | Mixed | children</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are handled directly in xmlParseElementDecl  [46] contentspec ::= &apos;EMPTY&apos; | &apos;ANY&apos; | Mixed | children</info>
       <return type='int' info='the type of element content XML_ELEMENT_TYPE_xxx'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='name' type='const xmlChar *' info='the name of the element being defined.'/>
       <arg name='result' type='xmlElementContentPtr *' info='the Element Content pointer will be stored here if any'/>
     </function>
     <function name='xmlParseElementDecl' file='parserInternals' module='parser'>
-      <info>parse an Element declaration.  [45] elementdecl ::= &apos;&lt;!ELEMENT&apos; S Name S contentspec S? &apos;&gt;&apos;  [ VC: Unique Element Type Declaration ] No element type may be declared more than once</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse an element declaration. Always consumes &apos;&lt;!&apos;.  [45] elementdecl ::= &apos;&lt;!ELEMENT&apos; S Name S contentspec S? &apos;&gt;&apos;  [ VC: Unique Element Type Declaration ] No element type may be declared more than once</info>
       <return type='int' info='the type of the element, or -1 in case of error'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseElementMixedContentDecl' file='parserInternals' module='parser'>
-      <info>parse the declaration for a Mixed Element content The leading &apos;(&apos; and spaces have been skipped in xmlParseElementContentDecl  [51] Mixed ::= &apos;(&apos; S? &apos;#PCDATA&apos; (S? &apos;|&apos; S? Name)* S? &apos;)*&apos; | &apos;(&apos; S? &apos;#PCDATA&apos; S? &apos;)&apos;  [ VC: Proper Group/PE Nesting ] applies to [51] too (see [49])  [ VC: No Duplicate Types ] The same name must not appear more than once in a single mixed-content declaration.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse the declaration for a Mixed Element content The leading &apos;(&apos; and spaces have been skipped in xmlParseElementContentDecl  [51] Mixed ::= &apos;(&apos; S? &apos;#PCDATA&apos; (S? &apos;|&apos; S? Name)* S? &apos;)*&apos; | &apos;(&apos; S? &apos;#PCDATA&apos; S? &apos;)&apos;  [ VC: Proper Group/PE Nesting ] applies to [51] too (see [49])  [ VC: No Duplicate Types ] The same name must not appear more than once in a single mixed-content declaration.</info>
       <return type='xmlElementContentPtr' info='the list of the xmlElementContentPtr describing the element choices'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='inputchk' type='int' info='the input used for the current entity, needed for boundary checks'/>
     </function>
     <function name='xmlParseEncName' file='parserInternals' module='parser'>
-      <info>parse the XML encoding name  [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | &apos;-&apos;)*</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse the XML encoding name  [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | &apos;-&apos;)*</info>
       <return type='xmlChar *' info='the encoding name value or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseEncodingDecl' file='parserInternals' module='parser'>
-      <info>parse the XML encoding declaration  [80] EncodingDecl ::= S &apos;encoding&apos; Eq (&apos;&quot;&apos; EncName &apos;&quot;&apos; |  &quot;&apos;&quot; EncName &quot;&apos;&quot;)  this setups the conversion filters.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse the XML encoding declaration  [80] EncodingDecl ::= S &apos;encoding&apos; Eq (&apos;&quot;&apos; EncName &apos;&quot;&apos; |  &quot;&apos;&quot; EncName &quot;&apos;&quot;)  this setups the conversion filters.</info>
       <return type='const xmlChar *' info='the encoding value or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseEndTag' file='parserInternals' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an end of tag  [42] ETag ::= &apos;&lt;/&apos; Name S? &apos;&gt;&apos;  With namespace  [NS 9] ETag ::= &apos;&lt;/&apos; QName S? &apos;&gt;&apos;</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an end of tag  [42] ETag ::= &apos;&lt;/&apos; Name S? &apos;&gt;&apos;  With namespace  [NS 9] ETag ::= &apos;&lt;/&apos; QName S? &apos;&gt;&apos;</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12208,29 +12099,29 @@
       <arg name='filename' type='const char *' info='the filename'/>
     </function>
     <function name='xmlParseEntityDecl' file='parserInternals' module='parser'>
-      <info>parse &lt;!ENTITY declarations  [70] EntityDecl ::= GEDecl | PEDecl  [71] GEDecl ::= &apos;&lt;!ENTITY&apos; S Name S EntityDef S? &apos;&gt;&apos;  [72] PEDecl ::= &apos;&lt;!ENTITY&apos; S &apos;%&apos; S Name S PEDef S? &apos;&gt;&apos;  [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?)  [74] PEDef ::= EntityValue | ExternalID  [76] NDataDecl ::= S &apos;NDATA&apos; S Name  [ VC: Notation Declared ] The Name must match the declared name of a notation.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse an entity declaration. Always consumes &apos;&lt;!&apos;.  [70] EntityDecl ::= GEDecl | PEDecl  [71] GEDecl ::= &apos;&lt;!ENTITY&apos; S Name S EntityDef S? &apos;&gt;&apos;  [72] PEDecl ::= &apos;&lt;!ENTITY&apos; S &apos;%&apos; S Name S PEDef S? &apos;&gt;&apos;  [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?)  [74] PEDef ::= EntityValue | ExternalID  [76] NDataDecl ::= S &apos;NDATA&apos; S Name  [ VC: Notation Declared ] The Name must match the declared name of a notation.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseEntityRef' file='parserInternals' module='parser'>
-      <info>parse ENTITY references declarations  [68] EntityRef ::= &apos;&amp;&apos; Name &apos;;&apos;  [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with &quot;standalone=&apos;yes&apos;&quot;, the Name given in the entity reference must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot.  The declaration of a parameter entity must precede any reference to it.  Similarly, the declaration of a general entity must precede any reference to it which appears in a default value in an attribute-list declaration. Note that if entities are declared in the external subset or in external parameter entities, a non-validating processor is not obligated to read and process their declarations; for such documents, the rule that an entity must be declared is a well-formedness constraint only if standalone=&apos;yes&apos;.  [ WFC: Parsed Entity ] An entity reference must not contain the name of an unparsed entity</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse an entitiy reference. Always consumes &apos;&amp;&apos;.  [68] EntityRef ::= &apos;&amp;&apos; Name &apos;;&apos;  [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with &quot;standalone=&apos;yes&apos;&quot;, the Name given in the entity reference must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot.  The declaration of a parameter entity must precede any reference to it.  Similarly, the declaration of a general entity must precede any reference to it which appears in a default value in an attribute-list declaration. Note that if entities are declared in the external subset or in external parameter entities, a non-validating processor is not obligated to read and process their declarations; for such documents, the rule that an entity must be declared is a well-formedness constraint only if standalone=&apos;yes&apos;.  [ WFC: Parsed Entity ] An entity reference must not contain the name of an unparsed entity</info>
       <return type='xmlEntityPtr' info='the xmlEntityPtr if found, or NULL otherwise.'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseEntityValue' file='parserInternals' module='parser'>
-      <info>parse a value for ENTITY declarations  [9] EntityValue ::= &apos;&quot;&apos; ([^%&amp;&quot;] | PEReference | Reference)* &apos;&quot;&apos; | &quot;&apos;&quot; ([^%&amp;&apos;] | PEReference | Reference)* &quot;&apos;&quot;</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse a value for ENTITY declarations  [9] EntityValue ::= &apos;&quot;&apos; ([^%&amp;&quot;] | PEReference | Reference)* &apos;&quot;&apos; | &quot;&apos;&quot; ([^%&amp;&apos;] | PEReference | Reference)* &quot;&apos;&quot;</info>
       <return type='xmlChar *' info='the EntityValue parsed with reference substituted or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='orig' type='xmlChar **' info='if non-NULL store a copy of the original entity value'/>
     </function>
     <function name='xmlParseEnumeratedType' file='parserInternals' module='parser'>
-      <info>parse an Enumerated attribute type.  [57] EnumeratedType ::= NotationType | Enumeration  [58] NotationType ::= &apos;NOTATION&apos; S &apos;(&apos; S? Name (S? &apos;|&apos; S? Name)* S? &apos;)&apos;</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an Enumerated attribute type.  [57] EnumeratedType ::= NotationType | Enumeration  [58] NotationType ::= &apos;NOTATION&apos; S &apos;(&apos; S? Name (S? &apos;|&apos; S? Name)* S? &apos;)&apos;</info>
       <return type='int' info='XML_ATTRIBUTE_ENUMERATION or XML_ATTRIBUTE_NOTATION'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='tree' type='xmlEnumerationPtr *' info='the enumeration tree built while parsing'/>
     </function>
     <function name='xmlParseEnumerationType' file='parserInternals' module='parser'>
-      <info>parse an Enumeration attribute type.  [59] Enumeration ::= &apos;(&apos; S? Nmtoken (S? &apos;|&apos; S? Nmtoken)* S? &apos;)&apos;  [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an Enumeration attribute type.  [59] Enumeration ::= &apos;(&apos; S? Nmtoken (S? &apos;|&apos; S? Nmtoken)* S? &apos;)&apos;  [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration</info>
       <return type='xmlEnumerationPtr' info='the enumeration attribute tree built while parsing'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12252,7 +12143,7 @@
       <arg name='lst' type='xmlNodePtr *' info='the return value for the set of parsed nodes'/>
     </function>
     <function name='xmlParseExternalID' file='parserInternals' module='parser'>
-      <info>Parse an External ID or a Public ID  NOTE: Productions [75] and [83] interact badly since [75] can generate &apos;PUBLIC&apos; S PubidLiteral S SystemLiteral  [75] ExternalID ::= &apos;SYSTEM&apos; S SystemLiteral | &apos;PUBLIC&apos; S PubidLiteral S SystemLiteral  [83] PublicID ::= &apos;PUBLIC&apos; S PubidLiteral</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse an External ID or a Public ID  NOTE: Productions [75] and [83] interact badly since [75] can generate &apos;PUBLIC&apos; S PubidLiteral S SystemLiteral  [75] ExternalID ::= &apos;SYSTEM&apos; S SystemLiteral | &apos;PUBLIC&apos; S PubidLiteral S SystemLiteral  [83] PublicID ::= &apos;PUBLIC&apos; S PubidLiteral</info>
       <return type='xmlChar *' info='the function returns SystemLiteral and in the second case publicID receives PubidLiteral, is strict is off it is possible to return NULL and have publicID set.'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='publicID' type='xmlChar **' info='a xmlChar** receiving PubidLiteral'/>
@@ -12267,7 +12158,7 @@
     </function>
     <function name='xmlParseFile' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</info>
+      <info>DEPRECATED: Use xmlReadFile.  parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</info>
       <return type='xmlDocPtr' info='the resulting document tree if the file was wellformed, NULL otherwise.'/>
       <arg name='filename' type='const char *' info='the filename'/>
     </function>
@@ -12281,24 +12172,24 @@
       <arg name='lst' type='xmlNodePtr *' info='the return value for the set of parsed nodes'/>
     </function>
     <function name='xmlParseMarkupDecl' file='parserInternals' module='parser'>
-      <info>parse Markup declarations  [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment  [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly nested with markup declarations. That is to say, if either the first character or the last character of a markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both must be contained in the same replacement text.  [ WFC: PEs in Internal Subset ] In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.)</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse markup declarations. Always consumes &apos;&lt;!&apos; or &apos;&lt;?&apos;.  [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment  [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly nested with markup declarations. That is to say, if either the first character or the last character of a markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both must be contained in the same replacement text.  [ WFC: PEs in Internal Subset ] In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.)</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseMemory' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML in-memory block and build a tree.</info>
+      <info>DEPRECATED: Use xmlReadMemory.  parse an XML in-memory block and build a tree.</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='buffer' type='const char *' info='an pointer to a char array'/>
       <arg name='size' type='int' info='the size of the array'/>
     </function>
     <function name='xmlParseMisc' file='parserInternals' module='parser'>
-      <info>parse an XML Misc* optional field.  [27] Misc ::= Comment | PI |  S</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an XML Misc* optional field.  [27] Misc ::= Comment | PI |  S</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseName' file='parserInternals' module='parser'>
-      <info>parse an XML name.  [4] NameChar ::= Letter | Digit | &apos;.&apos; | &apos;-&apos; | &apos;_&apos; | &apos;:&apos; | CombiningChar | Extender  [5] Name ::= (Letter | &apos;_&apos; | &apos;:&apos;) (NameChar)*  [6] Names ::= Name (#x20 Name)*</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an XML name.  [4] NameChar ::= Letter | Digit | &apos;.&apos; | &apos;-&apos; | &apos;_&apos; | &apos;:&apos; | CombiningChar | Extender  [5] Name ::= (Letter | &apos;_&apos; | &apos;:&apos;) (NameChar)*  [6] Names ::= Name (#x20 Name)*</info>
       <return type='const xmlChar *' info='the Name parsed or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12309,37 +12200,37 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseNmtoken' file='parserInternals' module='parser'>
-      <info>parse an XML Nmtoken.  [7] Nmtoken ::= (NameChar)+  [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an XML Nmtoken.  [7] Nmtoken ::= (NameChar)+  [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</info>
       <return type='xmlChar *' info='the Nmtoken parsed or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseNotationDecl' file='parserInternals' module='parser'>
-      <info>parse a notation declaration  [82] NotationDecl ::= &apos;&lt;!NOTATION&apos; S Name S (ExternalID |  PublicID) S? &apos;&gt;&apos;  Hence there is actually 3 choices: &apos;PUBLIC&apos; S PubidLiteral &apos;PUBLIC&apos; S PubidLiteral S SystemLiteral and &apos;SYSTEM&apos; S SystemLiteral  See the NOTE on xmlParseExternalID().</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse a notation declaration. Always consumes &apos;&lt;!&apos;.  [82] NotationDecl ::= &apos;&lt;!NOTATION&apos; S Name S (ExternalID |  PublicID) S? &apos;&gt;&apos;  Hence there is actually 3 choices: &apos;PUBLIC&apos; S PubidLiteral &apos;PUBLIC&apos; S PubidLiteral S SystemLiteral and &apos;SYSTEM&apos; S SystemLiteral  See the NOTE on xmlParseExternalID().</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseNotationType' file='parserInternals' module='parser'>
-      <info>parse an Notation attribute type.  Note: the leading &apos;NOTATION&apos; S part has already being parsed...  [58] NotationType ::= &apos;NOTATION&apos; S &apos;(&apos; S? Name (S? &apos;|&apos; S? Name)* S? &apos;)&apos;  [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an Notation attribute type.  Note: the leading &apos;NOTATION&apos; S part has already being parsed...  [58] NotationType ::= &apos;NOTATION&apos; S &apos;(&apos; S? Name (S? &apos;|&apos; S? Name)* S? &apos;)&apos;  [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared.</info>
       <return type='xmlEnumerationPtr' info='the notation attribute tree built while parsing'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParsePEReference' file='parserInternals' module='parser'>
-      <info>parse PEReference declarations The entity content is handled directly by pushing it&apos;s content as a new input stream.  [69] PEReference ::= &apos;%&apos; Name &apos;;&apos;  [ WFC: No Recursion ] A parsed entity must not contain a recursive reference to itself, either directly or indirectly.  [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with &quot;standalone=&apos;yes&apos;&quot;, ...  ... The declaration of a parameter entity must precede any reference to it...  [ VC: Entity Declared ] In a document with an external subset or external parameter entities with &quot;standalone=&apos;no&apos;&quot;, ...  ... The declaration of a parameter entity must precede any reference to it...  [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse a parameter entity reference. Always consumes &apos;%&apos;.  The entity content is handled directly by pushing it&apos;s content as a new input stream.  [69] PEReference ::= &apos;%&apos; Name &apos;;&apos;  [ WFC: No Recursion ] A parsed entity must not contain a recursive reference to itself, either directly or indirectly.  [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with &quot;standalone=&apos;yes&apos;&quot;, ...  ... The declaration of a parameter entity must precede any reference to it...  [ VC: Entity Declared ] In a document with an external subset or external parameter entities with &quot;standalone=&apos;no&apos;&quot;, ...  ... The declaration of a parameter entity must precede any reference to it...  [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParsePI' file='parserInternals' module='parser'>
-      <info>parse an XML Processing Instruction.  [16] PI ::= &apos;&lt;?&apos; PITarget (S (Char* - (Char* &apos;?&gt;&apos; Char*)))? &apos;?&gt;&apos;  The processing is transferred to SAX once parsed.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an XML Processing Instruction.  [16] PI ::= &apos;&lt;?&apos; PITarget (S (Char* - (Char* &apos;?&gt;&apos; Char*)))? &apos;?&gt;&apos;  The processing is transferred to SAX once parsed.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParsePITarget' file='parserInternals' module='parser'>
-      <info>parse the name of a PI  [17] PITarget ::= Name - ((&apos;X&apos; | &apos;x&apos;) (&apos;M&apos; | &apos;m&apos;) (&apos;L&apos; | &apos;l&apos;))</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse the name of a PI  [17] PITarget ::= Name - ((&apos;X&apos; | &apos;x&apos;) (&apos;M&apos; | &apos;m&apos;) (&apos;L&apos; | &apos;l&apos;))</info>
       <return type='const xmlChar *' info='the PITarget name or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParsePubidLiteral' file='parserInternals' module='parser'>
-      <info>parse an XML public literal  [12] PubidLiteral ::= &apos;&quot;&apos; PubidChar* &apos;&quot;&apos; | &quot;&apos;&quot; (PubidChar - &quot;&apos;&quot;)* &quot;&apos;&quot;</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an XML public literal  [12] PubidLiteral ::= &apos;&quot;&apos; PubidChar* &apos;&quot;&apos; | &quot;&apos;&quot; (PubidChar - &quot;&apos;&quot;)* &quot;&apos;&quot;</info>
       <return type='xmlChar *' info='the PubidLiteral parsed or NULL.'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12350,28 +12241,28 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseReference' file='parserInternals' module='parser'>
-      <info>parse and handle entity references in content, depending on the SAX interface, this may end-up in a call to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the parser was asked to switch to that mode.  [67] Reference ::= EntityRef | CharRef</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse and handle entity references in content, depending on the SAX interface, this may end-up in a call to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the parser was asked to switch to that mode.  Always consumes &apos;&amp;&apos;.  [67] Reference ::= EntityRef | CharRef</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseSDDecl' file='parserInternals' module='parser'>
-      <info>parse the XML standalone declaration  [32] SDDecl ::= S &apos;standalone&apos; Eq ((&quot;&apos;&quot; (&apos;yes&apos; | &apos;no&apos;) &quot;&apos;&quot;) | (&apos;&quot;&apos; (&apos;yes&apos; | &apos;no&apos;)&apos;&quot;&apos;))  [ VC: Standalone Document Declaration ] TODO The standalone document declaration must have the value &quot;no&quot; if any external markup declarations contain declarations of: - attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or - entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or - attributes with values subject to normalization, where the attribute appears in the document with a value which will change as a result of normalization, or - element types with element content, if white space occurs directly within any instance of those types.</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse the XML standalone declaration  [32] SDDecl ::= S &apos;standalone&apos; Eq ((&quot;&apos;&quot; (&apos;yes&apos; | &apos;no&apos;) &quot;&apos;&quot;) | (&apos;&quot;&apos; (&apos;yes&apos; | &apos;no&apos;)&apos;&quot;&apos;))  [ VC: Standalone Document Declaration ] TODO The standalone document declaration must have the value &quot;no&quot; if any external markup declarations contain declarations of: - attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or - entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or - attributes with values subject to normalization, where the attribute appears in the document with a value which will change as a result of normalization, or - element types with element content, if white space occurs directly within any instance of those types.</info>
       <return type='int' info='1 if standalone=&quot;yes&quot; 0 if standalone=&quot;no&quot; -2 if standalone attribute is missing or invalid (A standalone value of -2 means that the XML declaration was found, but no value was specified for the standalone attribute).'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseStartTag' file='parserInternals' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse a start of tag either for rule element or EmptyElement. In both case we don&apos;t parse the tag closing chars.  [40] STag ::= &apos;&lt;&apos; Name (S Attribute)* S? &apos;&gt;&apos;  [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag.  [44] EmptyElemTag ::= &apos;&lt;&apos; Name (S Attribute)* S? &apos;/&gt;&apos;  [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag.  With namespace:  [NS 8] STag ::= &apos;&lt;&apos; QName (S Attribute)* S? &apos;&gt;&apos;  [NS 10] EmptyElement ::= &apos;&lt;&apos; QName (S Attribute)* S? &apos;/&gt;&apos;</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  Parse a start tag. Always consumes &apos;&lt;&apos;.  [40] STag ::= &apos;&lt;&apos; Name (S Attribute)* S? &apos;&gt;&apos;  [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag.  [44] EmptyElemTag ::= &apos;&lt;&apos; Name (S Attribute)* S? &apos;/&gt;&apos;  [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag.  With namespace:  [NS 8] STag ::= &apos;&lt;&apos; QName (S Attribute)* S? &apos;&gt;&apos;  [NS 10] EmptyElement ::= &apos;&lt;&apos; QName (S Attribute)* S? &apos;/&gt;&apos;</info>
       <return type='const xmlChar *' info='the element name parsed'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseSystemLiteral' file='parserInternals' module='parser'>
-      <info>parse an XML Literal  [11] SystemLiteral ::= (&apos;&quot;&apos; [^&quot;]* &apos;&quot;&apos;) | (&quot;&apos;&quot; [^&apos;]* &quot;&apos;&quot;)</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an XML Literal  [11] SystemLiteral ::= (&apos;&quot;&apos; [^&quot;]* &apos;&quot;&apos;) | (&quot;&apos;&quot; [^&apos;]* &quot;&apos;&quot;)</info>
       <return type='xmlChar *' info='the SystemLiteral parsed or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseTextDecl' file='parserInternals' module='parser'>
-      <info>parse an XML declaration header for external entities  [77] TextDecl ::= &apos;&lt;?xml&apos; VersionInfo? EncodingDecl S? &apos;?&gt;&apos;</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an XML declaration header for external entities  [77] TextDecl ::= &apos;&lt;?xml&apos; VersionInfo? EncodingDecl S? &apos;?&gt;&apos;</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12393,22 +12284,22 @@
       <arg name='str' type='const char *' info='the string to analyze'/>
     </function>
     <function name='xmlParseVersionInfo' file='parserInternals' module='parser'>
-      <info>parse the XML version.  [24] VersionInfo ::= S &apos;version&apos; Eq (&apos; VersionNum &apos; | &quot; VersionNum &quot;)  [25] Eq ::= S? &apos;=&apos; S?</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse the XML version.  [24] VersionInfo ::= S &apos;version&apos; Eq (&apos; VersionNum &apos; | &quot; VersionNum &quot;)  [25] Eq ::= S? &apos;=&apos; S?</info>
       <return type='xmlChar *' info='the version string, e.g. &quot;1.0&quot;'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseVersionNum' file='parserInternals' module='parser'>
-      <info>parse the XML version value.  [26] VersionNum ::= &apos;1.&apos; [0-9]+  In practice allow [0-9].[0-9]+ at that level</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse the XML version value.  [26] VersionNum ::= &apos;1.&apos; [0-9]+  In practice allow [0-9].[0-9]+ at that level</info>
       <return type='xmlChar *' info='the string giving the XML version number, or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseXMLDecl' file='parserInternals' module='parser'>
-      <info>parse an XML declaration header  [23] XMLDecl ::= &apos;&lt;?xml&apos; VersionInfo EncodingDecl? SDDecl? S? &apos;?&gt;&apos;</info>
+      <info>DEPRECATED: Internal function, don&apos;t use.  parse an XML declaration header  [23] XMLDecl ::= &apos;&lt;?xml&apos; VersionInfo EncodingDecl? SDDecl? S? &apos;?&gt;&apos;</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParserAddNodeInfo' file='parser' module='parserInternals'>
-      <info>Insert node info record into the sorted sequence</info>
+      <info>DEPRECATED: Don&apos;t use.  Insert node info record into the sorted sequence</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='info' type='const xmlParserNodeInfoPtr' info='a node info sequence pointer'/>
@@ -12421,13 +12312,13 @@
       <arg name='...' type='...' info='extra parameters for the message display'/>
     </function>
     <function name='xmlParserFindNodeInfo' file='parser' module='parserInternals'>
-      <info>Find the parser node info struct for a given node</info>
+      <info>DEPRECATED: Don&apos;t use.  Find the parser node info struct for a given node</info>
       <return type='const xmlParserNodeInfo *' info='an xmlParserNodeInfo block pointer or NULL'/>
       <arg name='ctx' type='const xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='node' type='const xmlNodePtr' info='an XML node within the tree'/>
     </function>
     <function name='xmlParserFindNodeInfoIndex' file='parser' module='parserInternals'>
-      <info>xmlParserFindNodeInfoIndex : Find the index that the info record for the given node is or should be at in a sorted sequence</info>
+      <info>DEPRECATED: Don&apos;t use.  xmlParserFindNodeInfoIndex : Find the index that the info record for the given node is or should be at in a sorted sequence</info>
       <return type='unsigned long' info='a long indicating the position of the record'/>
       <arg name='seq' type='const xmlParserNodeInfoSeqPtr' info='a node info sequence pointer'/>
       <arg name='node' type='const xmlNodePtr' info='an XML node pointer'/>
@@ -12493,7 +12384,7 @@
       <arg name='enc' type='xmlCharEncoding' info='the charset encoding if known'/>
     </function>
     <function name='xmlParserInputBufferCreateStatic' file='xmlIO' module='xmlIO'>
-      <info>Create a buffered parser input for the progressive parsing for the input from an immutable memory area. This will not copy the memory area to the buffer, but the memory is expected to be available until the end of the parsing, this is useful for example when using mmap&apos;ed file.</info>
+      <info>DEPRECATED: Use xmlParserInputBufferCreateMem.</info>
       <return type='xmlParserInputBufferPtr' info='the new parser input or NULL'/>
       <arg name='mem' type='const char *' info='the memory input'/>
       <arg name='size' type='int' info='the length of the memory block'/>
@@ -12524,13 +12415,13 @@
       <arg name='str' type='xmlChar *' info='the string to deallocate'/>
     </functype>
     <function name='xmlParserInputGrow' file='parser' module='parserInternals'>
-      <info>This function increase the input for the parser. It tries to preserve pointers to the input buffer, and keep already read data</info>
+      <info>DEPRECATED: Don&apos;t use.  This function increase the input for the parser. It tries to preserve pointers to the input buffer, and keep already read data</info>
       <return type='int' info='the amount of char read, or -1 in case of error, 0 indicate the end of this entity'/>
       <arg name='in' type='xmlParserInputPtr' info='an XML parser input'/>
       <arg name='len' type='int' info='an indicative size for the lookahead'/>
     </function>
     <function name='xmlParserInputRead' file='parser' module='parserInternals'>
-      <info>This function was internal and is deprecated.</info>
+      <info>DEPRECATED: This function was internal and is deprecated.</info>
       <return type='int' info='-1 as this is an error to use it.'/>
       <arg name='in' type='xmlParserInputPtr' info='an XML parser input'/>
       <arg name='len' type='int' info='an indicative size for the lookahead'/>
@@ -12623,7 +12514,7 @@
       <arg name='namespaces' type='const xmlChar **' info='the prefix definitions, array of [URI, prefix] or NULL'/>
     </function>
     <function name='xmlPedanticParserDefault' file='parser' module='parserInternals'>
-      <info>Set and return the previous value for enabling pedantic warnings.</info>
+      <info>DEPRECATED: Use the modern options API with XML_PARSE_PEDANTIC.  Set and return the previous value for enabling pedantic warnings.</info>
       <return type='int' info='the last value for 0 for no substitution, 1 for substitution.'/>
       <arg name='val' type='int' info='int 0 or 1'/>
     </function>
@@ -12846,19 +12737,19 @@
     </function>
     <function name='xmlRecoverDoc' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to build a tree is tried anyway</info>
+      <info>DEPRECATED: Use xmlReadDoc with XML_PARSE_RECOVER.  parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to build a tree is tried anyway</info>
       <return type='xmlDocPtr' info='the resulting document tree or NULL in case of failure'/>
       <arg name='cur' type='const xmlChar *' info='a pointer to an array of xmlChar'/>
     </function>
     <function name='xmlRecoverFile' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree anyway</info>
+      <info>DEPRECATED: Use xmlReadFile with XML_PARSE_RECOVER.  parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree anyway</info>
       <return type='xmlDocPtr' info='the resulting document tree or NULL in case of failure'/>
       <arg name='filename' type='const char *' info='the filename'/>
     </function>
     <function name='xmlRecoverMemory' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML in-memory block and build a tree. In the case the document is not Well Formed, an attempt to build a tree is tried anyway</info>
+      <info>DEPRECATED: Use xmlReadMemory with XML_PARSE_RECOVER.  parse an XML in-memory block and build a tree. In the case the document is not Well Formed, an attempt to build a tree is tried anyway</info>
       <return type='xmlDocPtr' info='the resulting document tree or NULL in case of error'/>
       <arg name='buffer' type='const char *' info='an pointer to a char array'/>
       <arg name='size' type='int' info='the size of the array'/>
@@ -13004,7 +12895,7 @@
     </function>
     <function name='xmlRelaxNGCleanupTypes' file='relaxng' module='relaxng'>
       <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>Cleanup the default Schemas type library associated to RelaxNG</info>
+      <info>DEPRECATED: This function will be made private. Call xmlCleanupParser to free global state but see the warnings there. xmlCleanupParser should be only called once at program exit. In most cases, you don&apos;t have call cleanup functions at all.  Cleanup the default Schemas type library associated to RelaxNG</info>
       <return type='void'/>
     </function>
     <function name='xmlRelaxNGDump' file='relaxng' module='relaxng'>
@@ -13201,14 +13092,14 @@
       <arg name='cur' type='xmlAttrPtr' info='an attribute'/>
     </function>
     <function name='xmlRemoveRef' file='valid' module='valid'>
-      <info>Remove the given attribute from the Ref table maintained internally.</info>
+      <info>DEPRECATED, do not use. This function will be removed from the public API.  Remove the given attribute from the Ref table maintained internally.</info>
       <return type='int' info='-1 if the lookup failed and 0 otherwise'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
       <arg name='attr' type='xmlAttrPtr' info='the attribute'/>
     </function>
     <function name='xmlReplaceNode' file='tree' module='tree'>
       <cond>defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_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>
+      <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.  See the note regarding namespaces in xmlAddChild.</info>
       <return type='xmlNodePtr' info='the @old node'/>
       <arg name='old' type='xmlNodePtr' info='the old node'/>
       <arg name='cur' type='xmlNodePtr' info='the node'/>
@@ -13267,7 +13158,7 @@
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </function>
     <function name='xmlSAX2EndElement' file='SAX2' module='SAX2'>
-      <cond>defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)</cond>
+      <cond>defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)</cond>
       <info>called when the end of an element has been detected.</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -13354,12 +13245,6 @@
       <arg name='hdlr' type='xmlSAXHandler *' info='the SAX handler'/>
       <arg name='warning' type='int' info='flag if non-zero sets the handler warning procedure'/>
     </function>
-    <function name='xmlSAX2InitDocbDefaultSAXHandler' file='SAX2' module='SAX2'>
-      <cond>defined(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' module='SAX2'>
       <cond>defined(LIBXML_HTML_ENABLED)</cond>
       <info>Initialize the default HTML SAX2 handler</info>
@@ -13419,7 +13304,7 @@
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </function>
     <function name='xmlSAX2StartElement' file='SAX2' module='SAX2'>
-      <cond>defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)</cond>
+      <cond>defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)</cond>
       <info>called when an opening tag has been processed.</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -13450,13 +13335,13 @@
     </function>
     <function name='xmlSAXDefaultVersion' file='SAX2' module='SAX2'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <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>
+      <info>DEPRECATED: Use parser option XML_PARSE_SAX1.  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>
     <function name='xmlSAXParseDTD' file='parser' module='parser'>
       <cond>defined(LIBXML_VALID_ENABLED)</cond>
-      <info>Load and parse an external subset.</info>
+      <info>DEPRECATED: Don&apos;t use.  Load and parse an external subset.</info>
       <return type='xmlDtdPtr' info='the resulting xmlDtdPtr or NULL in case of error.'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='ExternalID' type='const xmlChar *' info='a NAME* containing the External ID of the DTD'/>
@@ -13464,7 +13349,7 @@
     </function>
     <function name='xmlSAXParseDoc' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadDoc.  parse an XML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='cur' type='const xmlChar *' info='a pointer to an array of xmlChar'/>
@@ -13472,14 +13357,14 @@
     </function>
     <function name='xmlSAXParseEntity' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML external entity out of context and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.  [78] extParsedEnt ::= TextDecl? content  This correspond to a &quot;Well Balanced&quot; chunk</info>
+      <info>DEPRECATED: Don&apos;t use.  parse an XML external entity out of context and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.  [78] extParsedEnt ::= TextDecl? content  This correspond to a &quot;Well Balanced&quot; chunk</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='filename' type='const char *' info='the filename'/>
     </function>
     <function name='xmlSAXParseFile' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML 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>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.  parse an XML 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='xmlDocPtr' info='the resulting document tree'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='filename' type='const char *' info='the filename'/>
@@ -13487,7 +13372,7 @@
     </function>
     <function name='xmlSAXParseFileWithData' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML 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.  User data (void *) is stored within the parser context in the context&apos;s _private member, so it is available nearly everywhere in libxml</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.  parse an XML 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.  User data (void *) is stored within the parser context in the context&apos;s _private member, so it is available nearly everywhere in libxml</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='filename' type='const char *' info='the filename'/>
@@ -13496,7 +13381,7 @@
     </function>
     <function name='xmlSAXParseMemory' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.  parse an XML in-memory block and 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='xmlDocPtr' info='the resulting document tree'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='buffer' type='const char *' info='an pointer to a char array'/>
@@ -13505,7 +13390,7 @@
     </function>
     <function name='xmlSAXParseMemoryWithData' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.  User data (void *) is stored within the parser context in the context&apos;s _private member, so it is available nearly everywhere in libxml</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.  parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.  User data (void *) is stored within the parser context in the context&apos;s _private member, so it is available nearly everywhere in libxml</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='buffer' type='const char *' info='an pointer to a char array'/>
@@ -13515,7 +13400,7 @@
     </function>
     <function name='xmlSAXUserParseFile' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.  parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided</info>
       <return type='int' info='0 in case of success or a error number otherwise'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='a SAX handler'/>
       <arg name='user_data' type='void *' info='The user data returned on SAX callbacks'/>
@@ -13523,7 +13408,7 @@
     </function>
     <function name='xmlSAXUserParseMemory' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>A better SAX parsing routine. parse an XML in-memory buffer and call the given SAX handler routines.</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.  parse an XML in-memory buffer and call the given SAX handler routines.</info>
       <return type='int' info='0 in case of success or a error number otherwise'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='a SAX handler'/>
       <arg name='user_data' type='void *' info='The user data returned on SAX callbacks'/>
@@ -13681,7 +13566,7 @@
     </function>
     <function name='xmlSchemaCleanupTypes' file='xmlschemastypes' module='xmlschemastypes'>
       <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>Cleanup the default XML Schemas type library</info>
+      <info>DEPRECATED: This function will be made private. Call xmlCleanupParser to free global state but see the warnings there. xmlCleanupParser should be only called once at program exit. In most cases, you don&apos;t have call cleanup functions at all.  Cleanup the default XML Schemas type library</info>
       <return type='void'/>
     </function>
     <function name='xmlSchemaCollapseString' file='xmlschemastypes' module='xmlschemastypes'>
@@ -14324,7 +14209,7 @@
     </function>
     <function name='xmlSetupParserForBuffer' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be</info>
+      <info>DEPRECATED: Don&apos;t use.  Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='buffer' type='const xmlChar *' info='a xmlChar * buffer'/>
@@ -14714,7 +14599,7 @@
       <arg name='error' type='xmlErrorPtr' info='the error being raised.'/>
     </functype>
     <function name='xmlSubstituteEntitiesDefault' file='parser' module='parserInternals'>
-      <info>Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis.</info>
+      <info>DEPRECATED: Use the modern options API with XML_PARSE_NOENT.  Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis.</info>
       <return type='int' info='the last value for 0 for no substitution, 1 for substitution.'/>
       <arg name='val' type='int' info='int 0 or 1'/>
     </function>
@@ -14725,7 +14610,7 @@
       <arg name='enc' type='xmlCharEncoding' info='the encoding value (number)'/>
     </function>
     <function name='xmlSwitchInputEncoding' file='parserInternals' module='parserInternals'>
-      <info>change the input functions when discovering the character encoding of a given entity.</info>
+      <info>DEPRECATED: Use xmlSwitchToEncoding  change the input functions when discovering the character encoding of a given entity.</info>
       <return type='int' info='0 in case of success, -1 otherwise'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
       <arg name='input' type='xmlParserInputPtr' info='the input stream'/>
@@ -16917,7 +16802,7 @@
       <arg name='str' type='const xmlChar *' info='the string of the URI to escape'/>
     </function>
     <function name='xmlURIEscapeStr' file='uri' module='uri'>
-      <info>This routine escapes a string to hex, ignoring reserved characters (a-z) and the characters in the exception list.</info>
+      <info>This routine escapes a string to hex, ignoring reserved characters (a-z, A-Z, 0-9, &quot;@-_.!~*&apos;()&quot;) and the characters in the exception list.</info>
       <return type='xmlChar *' info='a new escaped string or NULL in case of error.'/>
       <arg name='str' type='const xmlChar *' info='string to escape'/>
       <arg name='list' type='const xmlChar *' info='exception list string of chars not to escape'/>
@@ -17105,7 +16990,7 @@
       <arg name='elem' type='xmlElementPtr' info='an element definition'/>
     </function>
     <function name='xmlValidateNCName' file='tree' module='tree'>
-      <cond>defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)</cond>
+      <cond>defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)</cond>
       <info>Check that a value conforms to the lexical space of NCName</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='value' type='const xmlChar *' info='the value to check'/>
@@ -17715,7 +17600,7 @@
     </function>
     <function name='xmlXPathInit' file='xpath' module='xpath'>
       <cond>defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>Initialize the XPath environment</info>
+      <info>DEPRECATED: Alias for xmlInitParser.</info>
       <return type='void'/>
     </function>
     <function name='xmlXPathIntersection' file='xpathInternals' module='xpath'>
@@ -18396,7 +18281,7 @@
       <arg name='no' type='int' info='the error number'/>
     </function>
     <function name='xmlXPtrBuildNodeList' file='xpointer' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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.'/>
@@ -18409,53 +18294,53 @@
       <arg name='ctx' type='xmlXPathContextPtr' info='the XPointer context'/>
     </function>
     <function name='xmlXPtrEvalRangePredicate' file='xpointer' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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'/>
@@ -18469,20 +18354,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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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'/>
@@ -18491,49 +18376,49 @@
       <arg name='endindex' type='int' info='the ending index'/>
     </function>
     <function name='xmlXPtrNewRangeNodeObject' file='xpointer' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_ENABLED)</cond>
       <info>Implement the range-to() XPointer function  Obsolete. range-to is not a real function but a special type of location step which is handled in xpath.c.</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' module='xpointer'>
-      <cond>defined(LIBXML_XPTR_ENABLED)</cond>
+      <cond>defined(LIBXML_XPTR_ENABLED) &amp;&amp; defined(LIBXML_XPTR_LOCS_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'/>
diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml
deleted file mode 100644
index 4ecf1a4..0000000
--- a/doc/libxml2-refs.xml
+++ /dev/null
@@ -1,32010 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<apirefs name='libxml2'>
-  <references>
-    <reference name='ATTRIBUTE_UNUSED' href='html/libxml-xmlversion.html#ATTRIBUTE_UNUSED'/>
-    <reference name='BAD_CAST' href='html/libxml-xmlstring.html#BAD_CAST'/>
-    <reference name='BASE_BUFFER_SIZE' href='html/libxml-tree.html#BASE_BUFFER_SIZE'/>
-    <reference name='CAST_TO_BOOLEAN' href='html/libxml-xpathInternals.html#CAST_TO_BOOLEAN'/>
-    <reference name='CAST_TO_NUMBER' href='html/libxml-xpathInternals.html#CAST_TO_NUMBER'/>
-    <reference name='CAST_TO_STRING' href='html/libxml-xpathInternals.html#CAST_TO_STRING'/>
-    <reference name='CHECK_ARITY' href='html/libxml-xpathInternals.html#CHECK_ARITY'/>
-    <reference name='CHECK_ERROR' href='html/libxml-xpathInternals.html#CHECK_ERROR'/>
-    <reference name='CHECK_ERROR0' href='html/libxml-xpathInternals.html#CHECK_ERROR0'/>
-    <reference name='CHECK_TYPE' href='html/libxml-xpathInternals.html#CHECK_TYPE'/>
-    <reference name='CHECK_TYPE0' href='html/libxml-xpathInternals.html#CHECK_TYPE0'/>
-    <reference name='DEBUG_MEMORY' href='html/libxml-xmlmemory.html#DEBUG_MEMORY'/>
-    <reference name='DEBUG_MEMORY_LOCATION' href='html/libxml-xmlversion.html#DEBUG_MEMORY_LOCATION'/>
-    <reference name='HTML_COMMENT_NODE' href='html/libxml-HTMLtree.html#HTML_COMMENT_NODE'/>
-    <reference name='HTML_DEPRECATED' href='html/libxml-HTMLparser.html#HTML_DEPRECATED'/>
-    <reference name='HTML_ENTITY_REF_NODE' href='html/libxml-HTMLtree.html#HTML_ENTITY_REF_NODE'/>
-    <reference name='HTML_INVALID' href='html/libxml-HTMLparser.html#HTML_INVALID'/>
-    <reference name='HTML_NA' href='html/libxml-HTMLparser.html#HTML_NA'/>
-    <reference name='HTML_PARSE_COMPACT' href='html/libxml-HTMLparser.html#HTML_PARSE_COMPACT'/>
-    <reference name='HTML_PARSE_IGNORE_ENC' href='html/libxml-HTMLparser.html#HTML_PARSE_IGNORE_ENC'/>
-    <reference name='HTML_PARSE_NOBLANKS' href='html/libxml-HTMLparser.html#HTML_PARSE_NOBLANKS'/>
-    <reference name='HTML_PARSE_NODEFDTD' href='html/libxml-HTMLparser.html#HTML_PARSE_NODEFDTD'/>
-    <reference name='HTML_PARSE_NOERROR' href='html/libxml-HTMLparser.html#HTML_PARSE_NOERROR'/>
-    <reference name='HTML_PARSE_NOIMPLIED' href='html/libxml-HTMLparser.html#HTML_PARSE_NOIMPLIED'/>
-    <reference name='HTML_PARSE_NONET' href='html/libxml-HTMLparser.html#HTML_PARSE_NONET'/>
-    <reference name='HTML_PARSE_NOWARNING' href='html/libxml-HTMLparser.html#HTML_PARSE_NOWARNING'/>
-    <reference name='HTML_PARSE_PEDANTIC' href='html/libxml-HTMLparser.html#HTML_PARSE_PEDANTIC'/>
-    <reference name='HTML_PARSE_RECOVER' href='html/libxml-HTMLparser.html#HTML_PARSE_RECOVER'/>
-    <reference name='HTML_PI_NODE' href='html/libxml-HTMLtree.html#HTML_PI_NODE'/>
-    <reference name='HTML_PRESERVE_NODE' href='html/libxml-HTMLtree.html#HTML_PRESERVE_NODE'/>
-    <reference name='HTML_REQUIRED' href='html/libxml-HTMLparser.html#HTML_REQUIRED'/>
-    <reference name='HTML_TEXT_NODE' href='html/libxml-HTMLtree.html#HTML_TEXT_NODE'/>
-    <reference name='HTML_VALID' href='html/libxml-HTMLparser.html#HTML_VALID'/>
-    <reference name='ICU_PIVOT_BUF_SIZE' href='html/libxml-encoding.html#ICU_PIVOT_BUF_SIZE'/>
-    <reference name='INPUT_CHUNK' href='html/libxml-parserInternals.html#INPUT_CHUNK'/>
-    <reference name='INVALID_SOCKET' href='html/libxml-nanoftp.html#INVALID_SOCKET'/>
-    <reference name='IS_ASCII_DIGIT' href='html/libxml-parserInternals.html#IS_ASCII_DIGIT'/>
-    <reference name='IS_ASCII_LETTER' href='html/libxml-parserInternals.html#IS_ASCII_LETTER'/>
-    <reference name='IS_BASECHAR' href='html/libxml-parserInternals.html#IS_BASECHAR'/>
-    <reference name='IS_BLANK' href='html/libxml-parserInternals.html#IS_BLANK'/>
-    <reference name='IS_BLANK_CH' href='html/libxml-parserInternals.html#IS_BLANK_CH'/>
-    <reference name='IS_BYTE_CHAR' href='html/libxml-parserInternals.html#IS_BYTE_CHAR'/>
-    <reference name='IS_CHAR' href='html/libxml-parserInternals.html#IS_CHAR'/>
-    <reference name='IS_CHAR_CH' href='html/libxml-parserInternals.html#IS_CHAR_CH'/>
-    <reference name='IS_COMBINING' href='html/libxml-parserInternals.html#IS_COMBINING'/>
-    <reference name='IS_COMBINING_CH' href='html/libxml-parserInternals.html#IS_COMBINING_CH'/>
-    <reference name='IS_DIGIT' href='html/libxml-parserInternals.html#IS_DIGIT'/>
-    <reference name='IS_DIGIT_CH' href='html/libxml-parserInternals.html#IS_DIGIT_CH'/>
-    <reference name='IS_EXTENDER' href='html/libxml-parserInternals.html#IS_EXTENDER'/>
-    <reference name='IS_EXTENDER_CH' href='html/libxml-parserInternals.html#IS_EXTENDER_CH'/>
-    <reference name='IS_IDEOGRAPHIC' href='html/libxml-parserInternals.html#IS_IDEOGRAPHIC'/>
-    <reference name='IS_LETTER' href='html/libxml-parserInternals.html#IS_LETTER'/>
-    <reference name='IS_LETTER_CH' href='html/libxml-parserInternals.html#IS_LETTER_CH'/>
-    <reference name='IS_PUBIDCHAR' href='html/libxml-parserInternals.html#IS_PUBIDCHAR'/>
-    <reference name='IS_PUBIDCHAR_CH' href='html/libxml-parserInternals.html#IS_PUBIDCHAR_CH'/>
-    <reference name='LIBXML2_NEW_BUFFER' href='html/libxml-tree.html#LIBXML2_NEW_BUFFER'/>
-    <reference name='LIBXML_ATTR_ALLOC_SIZE' href='html/libxml-xmlversion.html#LIBXML_ATTR_ALLOC_SIZE'/>
-    <reference name='LIBXML_ATTR_FORMAT' href='html/libxml-xmlversion.html#LIBXML_ATTR_FORMAT'/>
-    <reference name='LIBXML_AUTOMATA_ENABLED' href='html/libxml-xmlversion.html#LIBXML_AUTOMATA_ENABLED'/>
-    <reference name='LIBXML_C14N_ENABLED' href='html/libxml-xmlversion.html#LIBXML_C14N_ENABLED'/>
-    <reference name='LIBXML_CATALOG_ENABLED' href='html/libxml-xmlversion.html#LIBXML_CATALOG_ENABLED'/>
-    <reference name='LIBXML_DEBUG_ENABLED' href='html/libxml-xmlversion.html#LIBXML_DEBUG_ENABLED'/>
-    <reference name='LIBXML_DEBUG_RUNTIME' href='html/libxml-xmlversion.html#LIBXML_DEBUG_RUNTIME'/>
-    <reference name='LIBXML_DLL_IMPORT' href='html/libxml-xmlexports.html#LIBXML_DLL_IMPORT'/>
-    <reference name='LIBXML_DOCB_ENABLED' href='html/libxml-xmlversion.html#LIBXML_DOCB_ENABLED'/>
-    <reference name='LIBXML_DOTTED_VERSION' href='html/libxml-xmlversion.html#LIBXML_DOTTED_VERSION'/>
-    <reference name='LIBXML_EXPR_ENABLED' href='html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED'/>
-    <reference name='LIBXML_FTP_ENABLED' href='html/libxml-xmlversion.html#LIBXML_FTP_ENABLED'/>
-    <reference name='LIBXML_HTML_ENABLED' href='html/libxml-xmlversion.html#LIBXML_HTML_ENABLED'/>
-    <reference name='LIBXML_HTTP_ENABLED' href='html/libxml-xmlversion.html#LIBXML_HTTP_ENABLED'/>
-    <reference name='LIBXML_ICONV_ENABLED' href='html/libxml-xmlversion.html#LIBXML_ICONV_ENABLED'/>
-    <reference name='LIBXML_ICU_ENABLED' href='html/libxml-xmlversion.html#LIBXML_ICU_ENABLED'/>
-    <reference name='LIBXML_ISO8859X_ENABLED' href='html/libxml-xmlversion.html#LIBXML_ISO8859X_ENABLED'/>
-    <reference name='LIBXML_LEGACY_ENABLED' href='html/libxml-xmlversion.html#LIBXML_LEGACY_ENABLED'/>
-    <reference name='LIBXML_LZMA_ENABLED' href='html/libxml-xmlversion.html#LIBXML_LZMA_ENABLED'/>
-    <reference name='LIBXML_MODULES_ENABLED' href='html/libxml-xmlversion.html#LIBXML_MODULES_ENABLED'/>
-    <reference name='LIBXML_MODULE_EXTENSION' href='html/libxml-xmlversion.html#LIBXML_MODULE_EXTENSION'/>
-    <reference name='LIBXML_OUTPUT_ENABLED' href='html/libxml-xmlversion.html#LIBXML_OUTPUT_ENABLED'/>
-    <reference name='LIBXML_PATTERN_ENABLED' href='html/libxml-xmlversion.html#LIBXML_PATTERN_ENABLED'/>
-    <reference name='LIBXML_PUSH_ENABLED' href='html/libxml-xmlversion.html#LIBXML_PUSH_ENABLED'/>
-    <reference name='LIBXML_READER_ENABLED' href='html/libxml-xmlversion.html#LIBXML_READER_ENABLED'/>
-    <reference name='LIBXML_REGEXP_ENABLED' href='html/libxml-xmlversion.html#LIBXML_REGEXP_ENABLED'/>
-    <reference name='LIBXML_SAX1_ENABLED' href='html/libxml-xmlversion.html#LIBXML_SAX1_ENABLED'/>
-    <reference name='LIBXML_SCHEMAS_ENABLED' href='html/libxml-xmlversion.html#LIBXML_SCHEMAS_ENABLED'/>
-    <reference name='LIBXML_SCHEMATRON_ENABLED' href='html/libxml-xmlversion.html#LIBXML_SCHEMATRON_ENABLED'/>
-    <reference name='LIBXML_TEST_VERSION' href='html/libxml-xmlversion.html#LIBXML_TEST_VERSION'/>
-    <reference name='LIBXML_THREAD_ALLOC_ENABLED' href='html/libxml-xmlversion.html#LIBXML_THREAD_ALLOC_ENABLED'/>
-    <reference name='LIBXML_THREAD_ENABLED' href='html/libxml-xmlversion.html#LIBXML_THREAD_ENABLED'/>
-    <reference name='LIBXML_TREE_ENABLED' href='html/libxml-xmlversion.html#LIBXML_TREE_ENABLED'/>
-    <reference name='LIBXML_UNICODE_ENABLED' href='html/libxml-xmlversion.html#LIBXML_UNICODE_ENABLED'/>
-    <reference name='LIBXML_VALID_ENABLED' href='html/libxml-xmlversion.html#LIBXML_VALID_ENABLED'/>
-    <reference name='LIBXML_VERSION' href='html/libxml-xmlversion.html#LIBXML_VERSION'/>
-    <reference name='LIBXML_VERSION_EXTRA' href='html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA'/>
-    <reference name='LIBXML_VERSION_STRING' href='html/libxml-xmlversion.html#LIBXML_VERSION_STRING'/>
-    <reference name='LIBXML_WRITER_ENABLED' href='html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED'/>
-    <reference name='LIBXML_XINCLUDE_ENABLED' href='html/libxml-xmlversion.html#LIBXML_XINCLUDE_ENABLED'/>
-    <reference name='LIBXML_XPATH_ENABLED' href='html/libxml-xmlversion.html#LIBXML_XPATH_ENABLED'/>
-    <reference name='LIBXML_XPTR_ENABLED' href='html/libxml-xmlversion.html#LIBXML_XPTR_ENABLED'/>
-    <reference name='LIBXML_ZLIB_ENABLED' href='html/libxml-xmlversion.html#LIBXML_ZLIB_ENABLED'/>
-    <reference name='MOVETO_ENDTAG' href='html/libxml-parserInternals.html#MOVETO_ENDTAG'/>
-    <reference name='MOVETO_STARTTAG' href='html/libxml-parserInternals.html#MOVETO_STARTTAG'/>
-    <reference name='SKIP_EOL' href='html/libxml-parserInternals.html#SKIP_EOL'/>
-    <reference name='SOCKET' href='html/libxml-nanoftp.html#SOCKET'/>
-    <reference name='UTF8ToHtml' href='html/libxml-HTMLparser.html#UTF8ToHtml'/>
-    <reference name='UTF8Toisolat1' href='html/libxml-encoding.html#UTF8Toisolat1'/>
-    <reference name='WITHOUT_TRIO' href='html/libxml-xmlversion.html#WITHOUT_TRIO'/>
-    <reference name='WITH_TRIO' href='html/libxml-xmlversion.html#WITH_TRIO'/>
-    <reference name='XINCLUDE_FALLBACK' href='html/libxml-xinclude.html#XINCLUDE_FALLBACK'/>
-    <reference name='XINCLUDE_HREF' href='html/libxml-xinclude.html#XINCLUDE_HREF'/>
-    <reference name='XINCLUDE_NODE' href='html/libxml-xinclude.html#XINCLUDE_NODE'/>
-    <reference name='XINCLUDE_NS' href='html/libxml-xinclude.html#XINCLUDE_NS'/>
-    <reference name='XINCLUDE_OLD_NS' href='html/libxml-xinclude.html#XINCLUDE_OLD_NS'/>
-    <reference name='XINCLUDE_PARSE' href='html/libxml-xinclude.html#XINCLUDE_PARSE'/>
-    <reference name='XINCLUDE_PARSE_ENCODING' href='html/libxml-xinclude.html#XINCLUDE_PARSE_ENCODING'/>
-    <reference name='XINCLUDE_PARSE_TEXT' href='html/libxml-xinclude.html#XINCLUDE_PARSE_TEXT'/>
-    <reference name='XINCLUDE_PARSE_XML' href='html/libxml-xinclude.html#XINCLUDE_PARSE_XML'/>
-    <reference name='XINCLUDE_PARSE_XPOINTER' href='html/libxml-xinclude.html#XINCLUDE_PARSE_XPOINTER'/>
-    <reference name='XLINK_ACTUATE_AUTO' href='html/libxml-xlink.html#XLINK_ACTUATE_AUTO'/>
-    <reference name='XLINK_ACTUATE_NONE' href='html/libxml-xlink.html#XLINK_ACTUATE_NONE'/>
-    <reference name='XLINK_ACTUATE_ONREQUEST' href='html/libxml-xlink.html#XLINK_ACTUATE_ONREQUEST'/>
-    <reference name='XLINK_SHOW_EMBED' href='html/libxml-xlink.html#XLINK_SHOW_EMBED'/>
-    <reference name='XLINK_SHOW_NEW' href='html/libxml-xlink.html#XLINK_SHOW_NEW'/>
-    <reference name='XLINK_SHOW_NONE' href='html/libxml-xlink.html#XLINK_SHOW_NONE'/>
-    <reference name='XLINK_SHOW_REPLACE' href='html/libxml-xlink.html#XLINK_SHOW_REPLACE'/>
-    <reference name='XLINK_TYPE_EXTENDED' href='html/libxml-xlink.html#XLINK_TYPE_EXTENDED'/>
-    <reference name='XLINK_TYPE_EXTENDED_SET' href='html/libxml-xlink.html#XLINK_TYPE_EXTENDED_SET'/>
-    <reference name='XLINK_TYPE_NONE' href='html/libxml-xlink.html#XLINK_TYPE_NONE'/>
-    <reference name='XLINK_TYPE_SIMPLE' href='html/libxml-xlink.html#XLINK_TYPE_SIMPLE'/>
-    <reference name='XMLCALL' href='html/libxml-xmlexports.html#XMLCALL'/>
-    <reference name='XMLCDECL' href='html/libxml-xmlexports.html#XMLCDECL'/>
-    <reference name='XMLPUBFUN' href='html/libxml-xmlexports.html#XMLPUBFUN'/>
-    <reference name='XMLPUBLIC' href='html/libxml-xmlexports.html#XMLPUBLIC'/>
-    <reference name='XMLPUBVAR' href='html/libxml-xmlexports.html#XMLPUBVAR'/>
-    <reference name='XML_ATTRIBUTE_CDATA' href='html/libxml-tree.html#XML_ATTRIBUTE_CDATA'/>
-    <reference name='XML_ATTRIBUTE_DECL' href='html/libxml-tree.html#XML_ATTRIBUTE_DECL'/>
-    <reference name='XML_ATTRIBUTE_ENTITIES' href='html/libxml-tree.html#XML_ATTRIBUTE_ENTITIES'/>
-    <reference name='XML_ATTRIBUTE_ENTITY' href='html/libxml-tree.html#XML_ATTRIBUTE_ENTITY'/>
-    <reference name='XML_ATTRIBUTE_ENUMERATION' href='html/libxml-tree.html#XML_ATTRIBUTE_ENUMERATION'/>
-    <reference name='XML_ATTRIBUTE_FIXED' href='html/libxml-tree.html#XML_ATTRIBUTE_FIXED'/>
-    <reference name='XML_ATTRIBUTE_ID' href='html/libxml-tree.html#XML_ATTRIBUTE_ID'/>
-    <reference name='XML_ATTRIBUTE_IDREF' href='html/libxml-tree.html#XML_ATTRIBUTE_IDREF'/>
-    <reference name='XML_ATTRIBUTE_IDREFS' href='html/libxml-tree.html#XML_ATTRIBUTE_IDREFS'/>
-    <reference name='XML_ATTRIBUTE_IMPLIED' href='html/libxml-tree.html#XML_ATTRIBUTE_IMPLIED'/>
-    <reference name='XML_ATTRIBUTE_NMTOKEN' href='html/libxml-tree.html#XML_ATTRIBUTE_NMTOKEN'/>
-    <reference name='XML_ATTRIBUTE_NMTOKENS' href='html/libxml-tree.html#XML_ATTRIBUTE_NMTOKENS'/>
-    <reference name='XML_ATTRIBUTE_NODE' href='html/libxml-tree.html#XML_ATTRIBUTE_NODE'/>
-    <reference name='XML_ATTRIBUTE_NONE' href='html/libxml-tree.html#XML_ATTRIBUTE_NONE'/>
-    <reference name='XML_ATTRIBUTE_NOTATION' href='html/libxml-tree.html#XML_ATTRIBUTE_NOTATION'/>
-    <reference name='XML_ATTRIBUTE_REQUIRED' href='html/libxml-tree.html#XML_ATTRIBUTE_REQUIRED'/>
-    <reference name='XML_BUFFER_ALLOC_BOUNDED' href='html/libxml-tree.html#XML_BUFFER_ALLOC_BOUNDED'/>
-    <reference name='XML_BUFFER_ALLOC_DOUBLEIT' href='html/libxml-tree.html#XML_BUFFER_ALLOC_DOUBLEIT'/>
-    <reference name='XML_BUFFER_ALLOC_EXACT' href='html/libxml-tree.html#XML_BUFFER_ALLOC_EXACT'/>
-    <reference name='XML_BUFFER_ALLOC_HYBRID' href='html/libxml-tree.html#XML_BUFFER_ALLOC_HYBRID'/>
-    <reference name='XML_BUFFER_ALLOC_IMMUTABLE' href='html/libxml-tree.html#XML_BUFFER_ALLOC_IMMUTABLE'/>
-    <reference name='XML_BUFFER_ALLOC_IO' href='html/libxml-tree.html#XML_BUFFER_ALLOC_IO'/>
-    <reference name='XML_BUF_OVERFLOW' href='html/libxml-xmlerror.html#XML_BUF_OVERFLOW'/>
-    <reference name='XML_C14N_1_0' href='html/libxml-c14n.html#XML_C14N_1_0'/>
-    <reference name='XML_C14N_1_1' href='html/libxml-c14n.html#XML_C14N_1_1'/>
-    <reference name='XML_C14N_CREATE_CTXT' href='html/libxml-xmlerror.html#XML_C14N_CREATE_CTXT'/>
-    <reference name='XML_C14N_CREATE_STACK' href='html/libxml-xmlerror.html#XML_C14N_CREATE_STACK'/>
-    <reference name='XML_C14N_EXCLUSIVE_1_0' href='html/libxml-c14n.html#XML_C14N_EXCLUSIVE_1_0'/>
-    <reference name='XML_C14N_INVALID_NODE' href='html/libxml-xmlerror.html#XML_C14N_INVALID_NODE'/>
-    <reference name='XML_C14N_RELATIVE_NAMESPACE' href='html/libxml-xmlerror.html#XML_C14N_RELATIVE_NAMESPACE'/>
-    <reference name='XML_C14N_REQUIRES_UTF8' href='html/libxml-xmlerror.html#XML_C14N_REQUIRES_UTF8'/>
-    <reference name='XML_C14N_UNKNOW_NODE' href='html/libxml-xmlerror.html#XML_C14N_UNKNOW_NODE'/>
-    <reference name='XML_CAST_FPTR' href='html/libxml-hash.html#XML_CAST_FPTR'/>
-    <reference name='XML_CATALOGS_NAMESPACE' href='html/libxml-catalog.html#XML_CATALOGS_NAMESPACE'/>
-    <reference name='XML_CATALOG_ENTRY_BROKEN' href='html/libxml-xmlerror.html#XML_CATALOG_ENTRY_BROKEN'/>
-    <reference name='XML_CATALOG_MISSING_ATTR' href='html/libxml-xmlerror.html#XML_CATALOG_MISSING_ATTR'/>
-    <reference name='XML_CATALOG_NOT_CATALOG' href='html/libxml-xmlerror.html#XML_CATALOG_NOT_CATALOG'/>
-    <reference name='XML_CATALOG_PI' href='html/libxml-catalog.html#XML_CATALOG_PI'/>
-    <reference name='XML_CATALOG_PREFER_VALUE' href='html/libxml-xmlerror.html#XML_CATALOG_PREFER_VALUE'/>
-    <reference name='XML_CATALOG_RECURSION' href='html/libxml-xmlerror.html#XML_CATALOG_RECURSION'/>
-    <reference name='XML_CATA_ALLOW_ALL' href='html/libxml-catalog.html#XML_CATA_ALLOW_ALL'/>
-    <reference name='XML_CATA_ALLOW_DOCUMENT' href='html/libxml-catalog.html#XML_CATA_ALLOW_DOCUMENT'/>
-    <reference name='XML_CATA_ALLOW_GLOBAL' href='html/libxml-catalog.html#XML_CATA_ALLOW_GLOBAL'/>
-    <reference name='XML_CATA_ALLOW_NONE' href='html/libxml-catalog.html#XML_CATA_ALLOW_NONE'/>
-    <reference name='XML_CATA_PREFER_NONE' href='html/libxml-catalog.html#XML_CATA_PREFER_NONE'/>
-    <reference name='XML_CATA_PREFER_PUBLIC' href='html/libxml-catalog.html#XML_CATA_PREFER_PUBLIC'/>
-    <reference name='XML_CATA_PREFER_SYSTEM' href='html/libxml-catalog.html#XML_CATA_PREFER_SYSTEM'/>
-    <reference name='XML_CDATA_SECTION_NODE' href='html/libxml-tree.html#XML_CDATA_SECTION_NODE'/>
-    <reference name='XML_CHAR_ENCODING_2022_JP' href='html/libxml-encoding.html#XML_CHAR_ENCODING_2022_JP'/>
-    <reference name='XML_CHAR_ENCODING_8859_1' href='html/libxml-encoding.html#XML_CHAR_ENCODING_8859_1'/>
-    <reference name='XML_CHAR_ENCODING_8859_2' href='html/libxml-encoding.html#XML_CHAR_ENCODING_8859_2'/>
-    <reference name='XML_CHAR_ENCODING_8859_3' href='html/libxml-encoding.html#XML_CHAR_ENCODING_8859_3'/>
-    <reference name='XML_CHAR_ENCODING_8859_4' href='html/libxml-encoding.html#XML_CHAR_ENCODING_8859_4'/>
-    <reference name='XML_CHAR_ENCODING_8859_5' href='html/libxml-encoding.html#XML_CHAR_ENCODING_8859_5'/>
-    <reference name='XML_CHAR_ENCODING_8859_6' href='html/libxml-encoding.html#XML_CHAR_ENCODING_8859_6'/>
-    <reference name='XML_CHAR_ENCODING_8859_7' href='html/libxml-encoding.html#XML_CHAR_ENCODING_8859_7'/>
-    <reference name='XML_CHAR_ENCODING_8859_8' href='html/libxml-encoding.html#XML_CHAR_ENCODING_8859_8'/>
-    <reference name='XML_CHAR_ENCODING_8859_9' href='html/libxml-encoding.html#XML_CHAR_ENCODING_8859_9'/>
-    <reference name='XML_CHAR_ENCODING_ASCII' href='html/libxml-encoding.html#XML_CHAR_ENCODING_ASCII'/>
-    <reference name='XML_CHAR_ENCODING_EBCDIC' href='html/libxml-encoding.html#XML_CHAR_ENCODING_EBCDIC'/>
-    <reference name='XML_CHAR_ENCODING_ERROR' href='html/libxml-encoding.html#XML_CHAR_ENCODING_ERROR'/>
-    <reference name='XML_CHAR_ENCODING_EUC_JP' href='html/libxml-encoding.html#XML_CHAR_ENCODING_EUC_JP'/>
-    <reference name='XML_CHAR_ENCODING_NONE' href='html/libxml-encoding.html#XML_CHAR_ENCODING_NONE'/>
-    <reference name='XML_CHAR_ENCODING_SHIFT_JIS' href='html/libxml-encoding.html#XML_CHAR_ENCODING_SHIFT_JIS'/>
-    <reference name='XML_CHAR_ENCODING_UCS2' href='html/libxml-encoding.html#XML_CHAR_ENCODING_UCS2'/>
-    <reference name='XML_CHAR_ENCODING_UCS4BE' href='html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4BE'/>
-    <reference name='XML_CHAR_ENCODING_UCS4LE' href='html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4LE'/>
-    <reference name='XML_CHAR_ENCODING_UCS4_2143' href='html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4_2143'/>
-    <reference name='XML_CHAR_ENCODING_UCS4_3412' href='html/libxml-encoding.html#XML_CHAR_ENCODING_UCS4_3412'/>
-    <reference name='XML_CHAR_ENCODING_UTF16BE' href='html/libxml-encoding.html#XML_CHAR_ENCODING_UTF16BE'/>
-    <reference name='XML_CHAR_ENCODING_UTF16LE' href='html/libxml-encoding.html#XML_CHAR_ENCODING_UTF16LE'/>
-    <reference name='XML_CHAR_ENCODING_UTF8' href='html/libxml-encoding.html#XML_CHAR_ENCODING_UTF8'/>
-    <reference name='XML_CHECK_ENTITY_TYPE' href='html/libxml-xmlerror.html#XML_CHECK_ENTITY_TYPE'/>
-    <reference name='XML_CHECK_FOUND_ATTRIBUTE' href='html/libxml-xmlerror.html#XML_CHECK_FOUND_ATTRIBUTE'/>
-    <reference name='XML_CHECK_FOUND_CDATA' href='html/libxml-xmlerror.html#XML_CHECK_FOUND_CDATA'/>
-    <reference name='XML_CHECK_FOUND_COMMENT' href='html/libxml-xmlerror.html#XML_CHECK_FOUND_COMMENT'/>
-    <reference name='XML_CHECK_FOUND_DOCTYPE' href='html/libxml-xmlerror.html#XML_CHECK_FOUND_DOCTYPE'/>
-    <reference name='XML_CHECK_FOUND_ELEMENT' href='html/libxml-xmlerror.html#XML_CHECK_FOUND_ELEMENT'/>
-    <reference name='XML_CHECK_FOUND_ENTITY' href='html/libxml-xmlerror.html#XML_CHECK_FOUND_ENTITY'/>
-    <reference name='XML_CHECK_FOUND_ENTITYREF' href='html/libxml-xmlerror.html#XML_CHECK_FOUND_ENTITYREF'/>
-    <reference name='XML_CHECK_FOUND_FRAGMENT' href='html/libxml-xmlerror.html#XML_CHECK_FOUND_FRAGMENT'/>
-    <reference name='XML_CHECK_FOUND_NOTATION' href='html/libxml-xmlerror.html#XML_CHECK_FOUND_NOTATION'/>
-    <reference name='XML_CHECK_FOUND_PI' href='html/libxml-xmlerror.html#XML_CHECK_FOUND_PI'/>
-    <reference name='XML_CHECK_FOUND_TEXT' href='html/libxml-xmlerror.html#XML_CHECK_FOUND_TEXT'/>
-    <reference name='XML_CHECK_NAME_NOT_NULL' href='html/libxml-xmlerror.html#XML_CHECK_NAME_NOT_NULL'/>
-    <reference name='XML_CHECK_NOT_ATTR' href='html/libxml-xmlerror.html#XML_CHECK_NOT_ATTR'/>
-    <reference name='XML_CHECK_NOT_ATTR_DECL' href='html/libxml-xmlerror.html#XML_CHECK_NOT_ATTR_DECL'/>
-    <reference name='XML_CHECK_NOT_DTD' href='html/libxml-xmlerror.html#XML_CHECK_NOT_DTD'/>
-    <reference name='XML_CHECK_NOT_ELEM_DECL' href='html/libxml-xmlerror.html#XML_CHECK_NOT_ELEM_DECL'/>
-    <reference name='XML_CHECK_NOT_ENTITY_DECL' href='html/libxml-xmlerror.html#XML_CHECK_NOT_ENTITY_DECL'/>
-    <reference name='XML_CHECK_NOT_NCNAME' href='html/libxml-xmlerror.html#XML_CHECK_NOT_NCNAME'/>
-    <reference name='XML_CHECK_NOT_NS_DECL' href='html/libxml-xmlerror.html#XML_CHECK_NOT_NS_DECL'/>
-    <reference name='XML_CHECK_NOT_UTF8' href='html/libxml-xmlerror.html#XML_CHECK_NOT_UTF8'/>
-    <reference name='XML_CHECK_NO_DICT' href='html/libxml-xmlerror.html#XML_CHECK_NO_DICT'/>
-    <reference name='XML_CHECK_NO_DOC' href='html/libxml-xmlerror.html#XML_CHECK_NO_DOC'/>
-    <reference name='XML_CHECK_NO_ELEM' href='html/libxml-xmlerror.html#XML_CHECK_NO_ELEM'/>
-    <reference name='XML_CHECK_NO_HREF' href='html/libxml-xmlerror.html#XML_CHECK_NO_HREF'/>
-    <reference name='XML_CHECK_NO_NAME' href='html/libxml-xmlerror.html#XML_CHECK_NO_NAME'/>
-    <reference name='XML_CHECK_NO_NEXT' href='html/libxml-xmlerror.html#XML_CHECK_NO_NEXT'/>
-    <reference name='XML_CHECK_NO_PARENT' href='html/libxml-xmlerror.html#XML_CHECK_NO_PARENT'/>
-    <reference name='XML_CHECK_NO_PREV' href='html/libxml-xmlerror.html#XML_CHECK_NO_PREV'/>
-    <reference name='XML_CHECK_NS_ANCESTOR' href='html/libxml-xmlerror.html#XML_CHECK_NS_ANCESTOR'/>
-    <reference name='XML_CHECK_NS_SCOPE' href='html/libxml-xmlerror.html#XML_CHECK_NS_SCOPE'/>
-    <reference name='XML_CHECK_OUTSIDE_DICT' href='html/libxml-xmlerror.html#XML_CHECK_OUTSIDE_DICT'/>
-    <reference name='XML_CHECK_UNKNOWN_NODE' href='html/libxml-xmlerror.html#XML_CHECK_UNKNOWN_NODE'/>
-    <reference name='XML_CHECK_WRONG_DOC' href='html/libxml-xmlerror.html#XML_CHECK_WRONG_DOC'/>
-    <reference name='XML_CHECK_WRONG_NAME' href='html/libxml-xmlerror.html#XML_CHECK_WRONG_NAME'/>
-    <reference name='XML_CHECK_WRONG_NEXT' href='html/libxml-xmlerror.html#XML_CHECK_WRONG_NEXT'/>
-    <reference name='XML_CHECK_WRONG_PARENT' href='html/libxml-xmlerror.html#XML_CHECK_WRONG_PARENT'/>
-    <reference name='XML_CHECK_WRONG_PREV' href='html/libxml-xmlerror.html#XML_CHECK_WRONG_PREV'/>
-    <reference name='XML_COMMENT_NODE' href='html/libxml-tree.html#XML_COMMENT_NODE'/>
-    <reference name='XML_COMPLETE_ATTRS' href='html/libxml-parser.html#XML_COMPLETE_ATTRS'/>
-    <reference name='XML_CTXT_FINISH_DTD_0' href='html/libxml-valid.html#XML_CTXT_FINISH_DTD_0'/>
-    <reference name='XML_CTXT_FINISH_DTD_1' href='html/libxml-valid.html#XML_CTXT_FINISH_DTD_1'/>
-    <reference name='XML_DEFAULT_VERSION' href='html/libxml-parser.html#XML_DEFAULT_VERSION'/>
-    <reference name='XML_DETECT_IDS' href='html/libxml-parser.html#XML_DETECT_IDS'/>
-    <reference name='XML_DOCB_DOCUMENT_NODE' href='html/libxml-tree.html#XML_DOCB_DOCUMENT_NODE'/>
-    <reference name='XML_DOCUMENT_FRAG_NODE' href='html/libxml-tree.html#XML_DOCUMENT_FRAG_NODE'/>
-    <reference name='XML_DOCUMENT_NODE' href='html/libxml-tree.html#XML_DOCUMENT_NODE'/>
-    <reference name='XML_DOCUMENT_TYPE_NODE' href='html/libxml-tree.html#XML_DOCUMENT_TYPE_NODE'/>
-    <reference name='XML_DOC_DTDVALID' href='html/libxml-tree.html#XML_DOC_DTDVALID'/>
-    <reference name='XML_DOC_HTML' href='html/libxml-tree.html#XML_DOC_HTML'/>
-    <reference name='XML_DOC_INTERNAL' href='html/libxml-tree.html#XML_DOC_INTERNAL'/>
-    <reference name='XML_DOC_NSVALID' href='html/libxml-tree.html#XML_DOC_NSVALID'/>
-    <reference name='XML_DOC_OLD10' href='html/libxml-tree.html#XML_DOC_OLD10'/>
-    <reference name='XML_DOC_USERBUILT' href='html/libxml-tree.html#XML_DOC_USERBUILT'/>
-    <reference name='XML_DOC_WELLFORMED' href='html/libxml-tree.html#XML_DOC_WELLFORMED'/>
-    <reference name='XML_DOC_XINCLUDE' href='html/libxml-tree.html#XML_DOC_XINCLUDE'/>
-    <reference name='XML_DTD_ATTRIBUTE_DEFAULT' href='html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_DEFAULT'/>
-    <reference name='XML_DTD_ATTRIBUTE_REDEFINED' href='html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_REDEFINED'/>
-    <reference name='XML_DTD_ATTRIBUTE_VALUE' href='html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_VALUE'/>
-    <reference name='XML_DTD_CONTENT_ERROR' href='html/libxml-xmlerror.html#XML_DTD_CONTENT_ERROR'/>
-    <reference name='XML_DTD_CONTENT_MODEL' href='html/libxml-xmlerror.html#XML_DTD_CONTENT_MODEL'/>
-    <reference name='XML_DTD_CONTENT_NOT_DETERMINIST' href='html/libxml-xmlerror.html#XML_DTD_CONTENT_NOT_DETERMINIST'/>
-    <reference name='XML_DTD_DIFFERENT_PREFIX' href='html/libxml-xmlerror.html#XML_DTD_DIFFERENT_PREFIX'/>
-    <reference name='XML_DTD_DUP_TOKEN' href='html/libxml-xmlerror.html#XML_DTD_DUP_TOKEN'/>
-    <reference name='XML_DTD_ELEM_DEFAULT_NAMESPACE' href='html/libxml-xmlerror.html#XML_DTD_ELEM_DEFAULT_NAMESPACE'/>
-    <reference name='XML_DTD_ELEM_NAMESPACE' href='html/libxml-xmlerror.html#XML_DTD_ELEM_NAMESPACE'/>
-    <reference name='XML_DTD_ELEM_REDEFINED' href='html/libxml-xmlerror.html#XML_DTD_ELEM_REDEFINED'/>
-    <reference name='XML_DTD_EMPTY_NOTATION' href='html/libxml-xmlerror.html#XML_DTD_EMPTY_NOTATION'/>
-    <reference name='XML_DTD_ENTITY_TYPE' href='html/libxml-xmlerror.html#XML_DTD_ENTITY_TYPE'/>
-    <reference name='XML_DTD_ID_FIXED' href='html/libxml-xmlerror.html#XML_DTD_ID_FIXED'/>
-    <reference name='XML_DTD_ID_REDEFINED' href='html/libxml-xmlerror.html#XML_DTD_ID_REDEFINED'/>
-    <reference name='XML_DTD_ID_SUBSET' href='html/libxml-xmlerror.html#XML_DTD_ID_SUBSET'/>
-    <reference name='XML_DTD_INVALID_CHILD' href='html/libxml-xmlerror.html#XML_DTD_INVALID_CHILD'/>
-    <reference name='XML_DTD_INVALID_DEFAULT' href='html/libxml-xmlerror.html#XML_DTD_INVALID_DEFAULT'/>
-    <reference name='XML_DTD_LOAD_ERROR' href='html/libxml-xmlerror.html#XML_DTD_LOAD_ERROR'/>
-    <reference name='XML_DTD_MISSING_ATTRIBUTE' href='html/libxml-xmlerror.html#XML_DTD_MISSING_ATTRIBUTE'/>
-    <reference name='XML_DTD_MIXED_CORRUPT' href='html/libxml-xmlerror.html#XML_DTD_MIXED_CORRUPT'/>
-    <reference name='XML_DTD_MULTIPLE_ID' href='html/libxml-xmlerror.html#XML_DTD_MULTIPLE_ID'/>
-    <reference name='XML_DTD_NODE' href='html/libxml-tree.html#XML_DTD_NODE'/>
-    <reference name='XML_DTD_NOTATION_REDEFINED' href='html/libxml-xmlerror.html#XML_DTD_NOTATION_REDEFINED'/>
-    <reference name='XML_DTD_NOTATION_VALUE' href='html/libxml-xmlerror.html#XML_DTD_NOTATION_VALUE'/>
-    <reference name='XML_DTD_NOT_EMPTY' href='html/libxml-xmlerror.html#XML_DTD_NOT_EMPTY'/>
-    <reference name='XML_DTD_NOT_PCDATA' href='html/libxml-xmlerror.html#XML_DTD_NOT_PCDATA'/>
-    <reference name='XML_DTD_NOT_STANDALONE' href='html/libxml-xmlerror.html#XML_DTD_NOT_STANDALONE'/>
-    <reference name='XML_DTD_NO_DOC' href='html/libxml-xmlerror.html#XML_DTD_NO_DOC'/>
-    <reference name='XML_DTD_NO_DTD' href='html/libxml-xmlerror.html#XML_DTD_NO_DTD'/>
-    <reference name='XML_DTD_NO_ELEM_NAME' href='html/libxml-xmlerror.html#XML_DTD_NO_ELEM_NAME'/>
-    <reference name='XML_DTD_NO_PREFIX' href='html/libxml-xmlerror.html#XML_DTD_NO_PREFIX'/>
-    <reference name='XML_DTD_NO_ROOT' href='html/libxml-xmlerror.html#XML_DTD_NO_ROOT'/>
-    <reference name='XML_DTD_ROOT_NAME' href='html/libxml-xmlerror.html#XML_DTD_ROOT_NAME'/>
-    <reference name='XML_DTD_STANDALONE_DEFAULTED' href='html/libxml-xmlerror.html#XML_DTD_STANDALONE_DEFAULTED'/>
-    <reference name='XML_DTD_STANDALONE_WHITE_SPACE' href='html/libxml-xmlerror.html#XML_DTD_STANDALONE_WHITE_SPACE'/>
-    <reference name='XML_DTD_UNKNOWN_ATTRIBUTE' href='html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ATTRIBUTE'/>
-    <reference name='XML_DTD_UNKNOWN_ELEM' href='html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ELEM'/>
-    <reference name='XML_DTD_UNKNOWN_ENTITY' href='html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ENTITY'/>
-    <reference name='XML_DTD_UNKNOWN_ID' href='html/libxml-xmlerror.html#XML_DTD_UNKNOWN_ID'/>
-    <reference name='XML_DTD_UNKNOWN_NOTATION' href='html/libxml-xmlerror.html#XML_DTD_UNKNOWN_NOTATION'/>
-    <reference name='XML_DTD_XMLID_TYPE' href='html/libxml-xmlerror.html#XML_DTD_XMLID_TYPE'/>
-    <reference name='XML_DTD_XMLID_VALUE' href='html/libxml-xmlerror.html#XML_DTD_XMLID_VALUE'/>
-    <reference name='XML_ELEMENT_CONTENT_ELEMENT' href='html/libxml-tree.html#XML_ELEMENT_CONTENT_ELEMENT'/>
-    <reference name='XML_ELEMENT_CONTENT_MULT' href='html/libxml-tree.html#XML_ELEMENT_CONTENT_MULT'/>
-    <reference name='XML_ELEMENT_CONTENT_ONCE' href='html/libxml-tree.html#XML_ELEMENT_CONTENT_ONCE'/>
-    <reference name='XML_ELEMENT_CONTENT_OPT' href='html/libxml-tree.html#XML_ELEMENT_CONTENT_OPT'/>
-    <reference name='XML_ELEMENT_CONTENT_OR' href='html/libxml-tree.html#XML_ELEMENT_CONTENT_OR'/>
-    <reference name='XML_ELEMENT_CONTENT_PCDATA' href='html/libxml-tree.html#XML_ELEMENT_CONTENT_PCDATA'/>
-    <reference name='XML_ELEMENT_CONTENT_PLUS' href='html/libxml-tree.html#XML_ELEMENT_CONTENT_PLUS'/>
-    <reference name='XML_ELEMENT_CONTENT_SEQ' href='html/libxml-tree.html#XML_ELEMENT_CONTENT_SEQ'/>
-    <reference name='XML_ELEMENT_DECL' href='html/libxml-tree.html#XML_ELEMENT_DECL'/>
-    <reference name='XML_ELEMENT_NODE' href='html/libxml-tree.html#XML_ELEMENT_NODE'/>
-    <reference name='XML_ELEMENT_TYPE_ANY' href='html/libxml-tree.html#XML_ELEMENT_TYPE_ANY'/>
-    <reference name='XML_ELEMENT_TYPE_ELEMENT' href='html/libxml-tree.html#XML_ELEMENT_TYPE_ELEMENT'/>
-    <reference name='XML_ELEMENT_TYPE_EMPTY' href='html/libxml-tree.html#XML_ELEMENT_TYPE_EMPTY'/>
-    <reference name='XML_ELEMENT_TYPE_MIXED' href='html/libxml-tree.html#XML_ELEMENT_TYPE_MIXED'/>
-    <reference name='XML_ELEMENT_TYPE_UNDEFINED' href='html/libxml-tree.html#XML_ELEMENT_TYPE_UNDEFINED'/>
-    <reference name='XML_ENTITY_DECL' href='html/libxml-tree.html#XML_ENTITY_DECL'/>
-    <reference name='XML_ENTITY_NODE' href='html/libxml-tree.html#XML_ENTITY_NODE'/>
-    <reference name='XML_ENTITY_REF_NODE' href='html/libxml-tree.html#XML_ENTITY_REF_NODE'/>
-    <reference name='XML_ERR_ATTLIST_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_ATTLIST_NOT_FINISHED'/>
-    <reference name='XML_ERR_ATTLIST_NOT_STARTED' href='html/libxml-xmlerror.html#XML_ERR_ATTLIST_NOT_STARTED'/>
-    <reference name='XML_ERR_ATTRIBUTE_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_NOT_FINISHED'/>
-    <reference name='XML_ERR_ATTRIBUTE_NOT_STARTED' href='html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_NOT_STARTED'/>
-    <reference name='XML_ERR_ATTRIBUTE_REDEFINED' href='html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_REDEFINED'/>
-    <reference name='XML_ERR_ATTRIBUTE_WITHOUT_VALUE' href='html/libxml-xmlerror.html#XML_ERR_ATTRIBUTE_WITHOUT_VALUE'/>
-    <reference name='XML_ERR_CDATA_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_CDATA_NOT_FINISHED'/>
-    <reference name='XML_ERR_CHARREF_AT_EOF' href='html/libxml-xmlerror.html#XML_ERR_CHARREF_AT_EOF'/>
-    <reference name='XML_ERR_CHARREF_IN_DTD' href='html/libxml-xmlerror.html#XML_ERR_CHARREF_IN_DTD'/>
-    <reference name='XML_ERR_CHARREF_IN_EPILOG' href='html/libxml-xmlerror.html#XML_ERR_CHARREF_IN_EPILOG'/>
-    <reference name='XML_ERR_CHARREF_IN_PROLOG' href='html/libxml-xmlerror.html#XML_ERR_CHARREF_IN_PROLOG'/>
-    <reference name='XML_ERR_COMMENT_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_COMMENT_NOT_FINISHED'/>
-    <reference name='XML_ERR_CONDSEC_INVALID' href='html/libxml-xmlerror.html#XML_ERR_CONDSEC_INVALID'/>
-    <reference name='XML_ERR_CONDSEC_INVALID_KEYWORD' href='html/libxml-xmlerror.html#XML_ERR_CONDSEC_INVALID_KEYWORD'/>
-    <reference name='XML_ERR_CONDSEC_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_CONDSEC_NOT_FINISHED'/>
-    <reference name='XML_ERR_CONDSEC_NOT_STARTED' href='html/libxml-xmlerror.html#XML_ERR_CONDSEC_NOT_STARTED'/>
-    <reference name='XML_ERR_DOCTYPE_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_DOCTYPE_NOT_FINISHED'/>
-    <reference name='XML_ERR_DOCUMENT_EMPTY' href='html/libxml-xmlerror.html#XML_ERR_DOCUMENT_EMPTY'/>
-    <reference name='XML_ERR_DOCUMENT_END' href='html/libxml-xmlerror.html#XML_ERR_DOCUMENT_END'/>
-    <reference name='XML_ERR_DOCUMENT_START' href='html/libxml-xmlerror.html#XML_ERR_DOCUMENT_START'/>
-    <reference name='XML_ERR_ELEMCONTENT_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_ELEMCONTENT_NOT_FINISHED'/>
-    <reference name='XML_ERR_ELEMCONTENT_NOT_STARTED' href='html/libxml-xmlerror.html#XML_ERR_ELEMCONTENT_NOT_STARTED'/>
-    <reference name='XML_ERR_ENCODING_NAME' href='html/libxml-xmlerror.html#XML_ERR_ENCODING_NAME'/>
-    <reference name='XML_ERR_ENTITYREF_AT_EOF' href='html/libxml-xmlerror.html#XML_ERR_ENTITYREF_AT_EOF'/>
-    <reference name='XML_ERR_ENTITYREF_IN_DTD' href='html/libxml-xmlerror.html#XML_ERR_ENTITYREF_IN_DTD'/>
-    <reference name='XML_ERR_ENTITYREF_IN_EPILOG' href='html/libxml-xmlerror.html#XML_ERR_ENTITYREF_IN_EPILOG'/>
-    <reference name='XML_ERR_ENTITYREF_IN_PROLOG' href='html/libxml-xmlerror.html#XML_ERR_ENTITYREF_IN_PROLOG'/>
-    <reference name='XML_ERR_ENTITYREF_NO_NAME' href='html/libxml-xmlerror.html#XML_ERR_ENTITYREF_NO_NAME'/>
-    <reference name='XML_ERR_ENTITYREF_SEMICOL_MISSING' href='html/libxml-xmlerror.html#XML_ERR_ENTITYREF_SEMICOL_MISSING'/>
-    <reference name='XML_ERR_ENTITY_BOUNDARY' href='html/libxml-xmlerror.html#XML_ERR_ENTITY_BOUNDARY'/>
-    <reference name='XML_ERR_ENTITY_CHAR_ERROR' href='html/libxml-xmlerror.html#XML_ERR_ENTITY_CHAR_ERROR'/>
-    <reference name='XML_ERR_ENTITY_IS_EXTERNAL' href='html/libxml-xmlerror.html#XML_ERR_ENTITY_IS_EXTERNAL'/>
-    <reference name='XML_ERR_ENTITY_IS_PARAMETER' href='html/libxml-xmlerror.html#XML_ERR_ENTITY_IS_PARAMETER'/>
-    <reference name='XML_ERR_ENTITY_LOOP' href='html/libxml-xmlerror.html#XML_ERR_ENTITY_LOOP'/>
-    <reference name='XML_ERR_ENTITY_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_ENTITY_NOT_FINISHED'/>
-    <reference name='XML_ERR_ENTITY_NOT_STARTED' href='html/libxml-xmlerror.html#XML_ERR_ENTITY_NOT_STARTED'/>
-    <reference name='XML_ERR_ENTITY_PE_INTERNAL' href='html/libxml-xmlerror.html#XML_ERR_ENTITY_PE_INTERNAL'/>
-    <reference name='XML_ERR_ENTITY_PROCESSING' href='html/libxml-xmlerror.html#XML_ERR_ENTITY_PROCESSING'/>
-    <reference name='XML_ERR_EQUAL_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_EQUAL_REQUIRED'/>
-    <reference name='XML_ERR_ERROR' href='html/libxml-xmlerror.html#XML_ERR_ERROR'/>
-    <reference name='XML_ERR_EXTRA_CONTENT' href='html/libxml-xmlerror.html#XML_ERR_EXTRA_CONTENT'/>
-    <reference name='XML_ERR_EXT_ENTITY_STANDALONE' href='html/libxml-xmlerror.html#XML_ERR_EXT_ENTITY_STANDALONE'/>
-    <reference name='XML_ERR_EXT_SUBSET_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_EXT_SUBSET_NOT_FINISHED'/>
-    <reference name='XML_ERR_FATAL' href='html/libxml-xmlerror.html#XML_ERR_FATAL'/>
-    <reference name='XML_ERR_GT_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_GT_REQUIRED'/>
-    <reference name='XML_ERR_HYPHEN_IN_COMMENT' href='html/libxml-xmlerror.html#XML_ERR_HYPHEN_IN_COMMENT'/>
-    <reference name='XML_ERR_INTERNAL_ERROR' href='html/libxml-xmlerror.html#XML_ERR_INTERNAL_ERROR'/>
-    <reference name='XML_ERR_INVALID_CHAR' href='html/libxml-xmlerror.html#XML_ERR_INVALID_CHAR'/>
-    <reference name='XML_ERR_INVALID_CHARREF' href='html/libxml-xmlerror.html#XML_ERR_INVALID_CHARREF'/>
-    <reference name='XML_ERR_INVALID_DEC_CHARREF' href='html/libxml-xmlerror.html#XML_ERR_INVALID_DEC_CHARREF'/>
-    <reference name='XML_ERR_INVALID_ENCODING' href='html/libxml-xmlerror.html#XML_ERR_INVALID_ENCODING'/>
-    <reference name='XML_ERR_INVALID_HEX_CHARREF' href='html/libxml-xmlerror.html#XML_ERR_INVALID_HEX_CHARREF'/>
-    <reference name='XML_ERR_INVALID_URI' href='html/libxml-xmlerror.html#XML_ERR_INVALID_URI'/>
-    <reference name='XML_ERR_LITERAL_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_LITERAL_NOT_FINISHED'/>
-    <reference name='XML_ERR_LITERAL_NOT_STARTED' href='html/libxml-xmlerror.html#XML_ERR_LITERAL_NOT_STARTED'/>
-    <reference name='XML_ERR_LTSLASH_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_LTSLASH_REQUIRED'/>
-    <reference name='XML_ERR_LT_IN_ATTRIBUTE' href='html/libxml-xmlerror.html#XML_ERR_LT_IN_ATTRIBUTE'/>
-    <reference name='XML_ERR_LT_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_LT_REQUIRED'/>
-    <reference name='XML_ERR_MISPLACED_CDATA_END' href='html/libxml-xmlerror.html#XML_ERR_MISPLACED_CDATA_END'/>
-    <reference name='XML_ERR_MISSING_ENCODING' href='html/libxml-xmlerror.html#XML_ERR_MISSING_ENCODING'/>
-    <reference name='XML_ERR_MIXED_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_MIXED_NOT_FINISHED'/>
-    <reference name='XML_ERR_MIXED_NOT_STARTED' href='html/libxml-xmlerror.html#XML_ERR_MIXED_NOT_STARTED'/>
-    <reference name='XML_ERR_NAME_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_NAME_REQUIRED'/>
-    <reference name='XML_ERR_NAME_TOO_LONG' href='html/libxml-xmlerror.html#XML_ERR_NAME_TOO_LONG'/>
-    <reference name='XML_ERR_NMTOKEN_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_NMTOKEN_REQUIRED'/>
-    <reference name='XML_ERR_NONE' href='html/libxml-xmlerror.html#XML_ERR_NONE'/>
-    <reference name='XML_ERR_NOTATION_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_NOTATION_NOT_FINISHED'/>
-    <reference name='XML_ERR_NOTATION_NOT_STARTED' href='html/libxml-xmlerror.html#XML_ERR_NOTATION_NOT_STARTED'/>
-    <reference name='XML_ERR_NOTATION_PROCESSING' href='html/libxml-xmlerror.html#XML_ERR_NOTATION_PROCESSING'/>
-    <reference name='XML_ERR_NOT_STANDALONE' href='html/libxml-xmlerror.html#XML_ERR_NOT_STANDALONE'/>
-    <reference name='XML_ERR_NOT_WELL_BALANCED' href='html/libxml-xmlerror.html#XML_ERR_NOT_WELL_BALANCED'/>
-    <reference name='XML_ERR_NO_DTD' href='html/libxml-xmlerror.html#XML_ERR_NO_DTD'/>
-    <reference name='XML_ERR_NO_MEMORY' href='html/libxml-xmlerror.html#XML_ERR_NO_MEMORY'/>
-    <reference name='XML_ERR_NS_DECL_ERROR' href='html/libxml-xmlerror.html#XML_ERR_NS_DECL_ERROR'/>
-    <reference name='XML_ERR_OK' href='html/libxml-xmlerror.html#XML_ERR_OK'/>
-    <reference name='XML_ERR_PCDATA_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_PCDATA_REQUIRED'/>
-    <reference name='XML_ERR_PEREF_AT_EOF' href='html/libxml-xmlerror.html#XML_ERR_PEREF_AT_EOF'/>
-    <reference name='XML_ERR_PEREF_IN_EPILOG' href='html/libxml-xmlerror.html#XML_ERR_PEREF_IN_EPILOG'/>
-    <reference name='XML_ERR_PEREF_IN_INT_SUBSET' href='html/libxml-xmlerror.html#XML_ERR_PEREF_IN_INT_SUBSET'/>
-    <reference name='XML_ERR_PEREF_IN_PROLOG' href='html/libxml-xmlerror.html#XML_ERR_PEREF_IN_PROLOG'/>
-    <reference name='XML_ERR_PEREF_NO_NAME' href='html/libxml-xmlerror.html#XML_ERR_PEREF_NO_NAME'/>
-    <reference name='XML_ERR_PEREF_SEMICOL_MISSING' href='html/libxml-xmlerror.html#XML_ERR_PEREF_SEMICOL_MISSING'/>
-    <reference name='XML_ERR_PI_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_PI_NOT_FINISHED'/>
-    <reference name='XML_ERR_PI_NOT_STARTED' href='html/libxml-xmlerror.html#XML_ERR_PI_NOT_STARTED'/>
-    <reference name='XML_ERR_PUBID_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_PUBID_REQUIRED'/>
-    <reference name='XML_ERR_RESERVED_XML_NAME' href='html/libxml-xmlerror.html#XML_ERR_RESERVED_XML_NAME'/>
-    <reference name='XML_ERR_SEPARATOR_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_SEPARATOR_REQUIRED'/>
-    <reference name='XML_ERR_SPACE_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_SPACE_REQUIRED'/>
-    <reference name='XML_ERR_STANDALONE_VALUE' href='html/libxml-xmlerror.html#XML_ERR_STANDALONE_VALUE'/>
-    <reference name='XML_ERR_STRING_NOT_CLOSED' href='html/libxml-xmlerror.html#XML_ERR_STRING_NOT_CLOSED'/>
-    <reference name='XML_ERR_STRING_NOT_STARTED' href='html/libxml-xmlerror.html#XML_ERR_STRING_NOT_STARTED'/>
-    <reference name='XML_ERR_TAG_NAME_MISMATCH' href='html/libxml-xmlerror.html#XML_ERR_TAG_NAME_MISMATCH'/>
-    <reference name='XML_ERR_TAG_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_TAG_NOT_FINISHED'/>
-    <reference name='XML_ERR_UNDECLARED_ENTITY' href='html/libxml-xmlerror.html#XML_ERR_UNDECLARED_ENTITY'/>
-    <reference name='XML_ERR_UNKNOWN_ENCODING' href='html/libxml-xmlerror.html#XML_ERR_UNKNOWN_ENCODING'/>
-    <reference name='XML_ERR_UNKNOWN_VERSION' href='html/libxml-xmlerror.html#XML_ERR_UNKNOWN_VERSION'/>
-    <reference name='XML_ERR_UNPARSED_ENTITY' href='html/libxml-xmlerror.html#XML_ERR_UNPARSED_ENTITY'/>
-    <reference name='XML_ERR_UNSUPPORTED_ENCODING' href='html/libxml-xmlerror.html#XML_ERR_UNSUPPORTED_ENCODING'/>
-    <reference name='XML_ERR_URI_FRAGMENT' href='html/libxml-xmlerror.html#XML_ERR_URI_FRAGMENT'/>
-    <reference name='XML_ERR_URI_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_URI_REQUIRED'/>
-    <reference name='XML_ERR_USER_STOP' href='html/libxml-xmlerror.html#XML_ERR_USER_STOP'/>
-    <reference name='XML_ERR_VALUE_REQUIRED' href='html/libxml-xmlerror.html#XML_ERR_VALUE_REQUIRED'/>
-    <reference name='XML_ERR_VERSION_MISMATCH' href='html/libxml-xmlerror.html#XML_ERR_VERSION_MISMATCH'/>
-    <reference name='XML_ERR_VERSION_MISSING' href='html/libxml-xmlerror.html#XML_ERR_VERSION_MISSING'/>
-    <reference name='XML_ERR_WARNING' href='html/libxml-xmlerror.html#XML_ERR_WARNING'/>
-    <reference name='XML_ERR_XMLDECL_NOT_FINISHED' href='html/libxml-xmlerror.html#XML_ERR_XMLDECL_NOT_FINISHED'/>
-    <reference name='XML_ERR_XMLDECL_NOT_STARTED' href='html/libxml-xmlerror.html#XML_ERR_XMLDECL_NOT_STARTED'/>
-    <reference name='XML_EXP_ATOM' href='html/libxml-xmlregexp.html#XML_EXP_ATOM'/>
-    <reference name='XML_EXP_COUNT' href='html/libxml-xmlregexp.html#XML_EXP_COUNT'/>
-    <reference name='XML_EXP_EMPTY' href='html/libxml-xmlregexp.html#XML_EXP_EMPTY'/>
-    <reference name='XML_EXP_FORBID' href='html/libxml-xmlregexp.html#XML_EXP_FORBID'/>
-    <reference name='XML_EXP_OR' href='html/libxml-xmlregexp.html#XML_EXP_OR'/>
-    <reference name='XML_EXP_SEQ' href='html/libxml-xmlregexp.html#XML_EXP_SEQ'/>
-    <reference name='XML_EXTERNAL_GENERAL_PARSED_ENTITY' href='html/libxml-entities.html#XML_EXTERNAL_GENERAL_PARSED_ENTITY'/>
-    <reference name='XML_EXTERNAL_GENERAL_UNPARSED_ENTITY' href='html/libxml-entities.html#XML_EXTERNAL_GENERAL_UNPARSED_ENTITY'/>
-    <reference name='XML_EXTERNAL_PARAMETER_ENTITY' href='html/libxml-entities.html#XML_EXTERNAL_PARAMETER_ENTITY'/>
-    <reference name='XML_FROM_BUFFER' href='html/libxml-xmlerror.html#XML_FROM_BUFFER'/>
-    <reference name='XML_FROM_C14N' href='html/libxml-xmlerror.html#XML_FROM_C14N'/>
-    <reference name='XML_FROM_CATALOG' href='html/libxml-xmlerror.html#XML_FROM_CATALOG'/>
-    <reference name='XML_FROM_CHECK' href='html/libxml-xmlerror.html#XML_FROM_CHECK'/>
-    <reference name='XML_FROM_DATATYPE' href='html/libxml-xmlerror.html#XML_FROM_DATATYPE'/>
-    <reference name='XML_FROM_DTD' href='html/libxml-xmlerror.html#XML_FROM_DTD'/>
-    <reference name='XML_FROM_FTP' href='html/libxml-xmlerror.html#XML_FROM_FTP'/>
-    <reference name='XML_FROM_HTML' href='html/libxml-xmlerror.html#XML_FROM_HTML'/>
-    <reference name='XML_FROM_HTTP' href='html/libxml-xmlerror.html#XML_FROM_HTTP'/>
-    <reference name='XML_FROM_I18N' href='html/libxml-xmlerror.html#XML_FROM_I18N'/>
-    <reference name='XML_FROM_IO' href='html/libxml-xmlerror.html#XML_FROM_IO'/>
-    <reference name='XML_FROM_MEMORY' href='html/libxml-xmlerror.html#XML_FROM_MEMORY'/>
-    <reference name='XML_FROM_MODULE' href='html/libxml-xmlerror.html#XML_FROM_MODULE'/>
-    <reference name='XML_FROM_NAMESPACE' href='html/libxml-xmlerror.html#XML_FROM_NAMESPACE'/>
-    <reference name='XML_FROM_NONE' href='html/libxml-xmlerror.html#XML_FROM_NONE'/>
-    <reference name='XML_FROM_OUTPUT' href='html/libxml-xmlerror.html#XML_FROM_OUTPUT'/>
-    <reference name='XML_FROM_PARSER' href='html/libxml-xmlerror.html#XML_FROM_PARSER'/>
-    <reference name='XML_FROM_REGEXP' href='html/libxml-xmlerror.html#XML_FROM_REGEXP'/>
-    <reference name='XML_FROM_RELAXNGP' href='html/libxml-xmlerror.html#XML_FROM_RELAXNGP'/>
-    <reference name='XML_FROM_RELAXNGV' href='html/libxml-xmlerror.html#XML_FROM_RELAXNGV'/>
-    <reference name='XML_FROM_SCHEMASP' href='html/libxml-xmlerror.html#XML_FROM_SCHEMASP'/>
-    <reference name='XML_FROM_SCHEMASV' href='html/libxml-xmlerror.html#XML_FROM_SCHEMASV'/>
-    <reference name='XML_FROM_SCHEMATRONV' href='html/libxml-xmlerror.html#XML_FROM_SCHEMATRONV'/>
-    <reference name='XML_FROM_TREE' href='html/libxml-xmlerror.html#XML_FROM_TREE'/>
-    <reference name='XML_FROM_URI' href='html/libxml-xmlerror.html#XML_FROM_URI'/>
-    <reference name='XML_FROM_VALID' href='html/libxml-xmlerror.html#XML_FROM_VALID'/>
-    <reference name='XML_FROM_WRITER' href='html/libxml-xmlerror.html#XML_FROM_WRITER'/>
-    <reference name='XML_FROM_XINCLUDE' href='html/libxml-xmlerror.html#XML_FROM_XINCLUDE'/>
-    <reference name='XML_FROM_XPATH' href='html/libxml-xmlerror.html#XML_FROM_XPATH'/>
-    <reference name='XML_FROM_XPOINTER' href='html/libxml-xmlerror.html#XML_FROM_XPOINTER'/>
-    <reference name='XML_FROM_XSLT' href='html/libxml-xmlerror.html#XML_FROM_XSLT'/>
-    <reference name='XML_FTP_ACCNT' href='html/libxml-xmlerror.html#XML_FTP_ACCNT'/>
-    <reference name='XML_FTP_EPSV_ANSWER' href='html/libxml-xmlerror.html#XML_FTP_EPSV_ANSWER'/>
-    <reference name='XML_FTP_PASV_ANSWER' href='html/libxml-xmlerror.html#XML_FTP_PASV_ANSWER'/>
-    <reference name='XML_FTP_URL_SYNTAX' href='html/libxml-xmlerror.html#XML_FTP_URL_SYNTAX'/>
-    <reference name='XML_GET_CONTENT' href='html/libxml-tree.html#XML_GET_CONTENT'/>
-    <reference name='XML_GET_LINE' href='html/libxml-tree.html#XML_GET_LINE'/>
-    <reference name='XML_HTML_DOCUMENT_NODE' href='html/libxml-tree.html#XML_HTML_DOCUMENT_NODE'/>
-    <reference name='XML_HTML_STRUCURE_ERROR' href='html/libxml-xmlerror.html#XML_HTML_STRUCURE_ERROR'/>
-    <reference name='XML_HTML_UNKNOWN_TAG' href='html/libxml-xmlerror.html#XML_HTML_UNKNOWN_TAG'/>
-    <reference name='XML_HTTP_UNKNOWN_HOST' href='html/libxml-xmlerror.html#XML_HTTP_UNKNOWN_HOST'/>
-    <reference name='XML_HTTP_URL_SYNTAX' href='html/libxml-xmlerror.html#XML_HTTP_URL_SYNTAX'/>
-    <reference name='XML_HTTP_USE_IP' href='html/libxml-xmlerror.html#XML_HTTP_USE_IP'/>
-    <reference name='XML_I18N_CONV_FAILED' href='html/libxml-xmlerror.html#XML_I18N_CONV_FAILED'/>
-    <reference name='XML_I18N_EXCESS_HANDLER' href='html/libxml-xmlerror.html#XML_I18N_EXCESS_HANDLER'/>
-    <reference name='XML_I18N_NO_HANDLER' href='html/libxml-xmlerror.html#XML_I18N_NO_HANDLER'/>
-    <reference name='XML_I18N_NO_NAME' href='html/libxml-xmlerror.html#XML_I18N_NO_NAME'/>
-    <reference name='XML_I18N_NO_OUTPUT' href='html/libxml-xmlerror.html#XML_I18N_NO_OUTPUT'/>
-    <reference name='XML_INTERNAL_GENERAL_ENTITY' href='html/libxml-entities.html#XML_INTERNAL_GENERAL_ENTITY'/>
-    <reference name='XML_INTERNAL_PARAMETER_ENTITY' href='html/libxml-entities.html#XML_INTERNAL_PARAMETER_ENTITY'/>
-    <reference name='XML_INTERNAL_PREDEFINED_ENTITY' href='html/libxml-entities.html#XML_INTERNAL_PREDEFINED_ENTITY'/>
-    <reference name='XML_IO_BUFFER_FULL' href='html/libxml-xmlerror.html#XML_IO_BUFFER_FULL'/>
-    <reference name='XML_IO_EACCES' href='html/libxml-xmlerror.html#XML_IO_EACCES'/>
-    <reference name='XML_IO_EADDRINUSE' href='html/libxml-xmlerror.html#XML_IO_EADDRINUSE'/>
-    <reference name='XML_IO_EAFNOSUPPORT' href='html/libxml-xmlerror.html#XML_IO_EAFNOSUPPORT'/>
-    <reference name='XML_IO_EAGAIN' href='html/libxml-xmlerror.html#XML_IO_EAGAIN'/>
-    <reference name='XML_IO_EALREADY' href='html/libxml-xmlerror.html#XML_IO_EALREADY'/>
-    <reference name='XML_IO_EBADF' href='html/libxml-xmlerror.html#XML_IO_EBADF'/>
-    <reference name='XML_IO_EBADMSG' href='html/libxml-xmlerror.html#XML_IO_EBADMSG'/>
-    <reference name='XML_IO_EBUSY' href='html/libxml-xmlerror.html#XML_IO_EBUSY'/>
-    <reference name='XML_IO_ECANCELED' href='html/libxml-xmlerror.html#XML_IO_ECANCELED'/>
-    <reference name='XML_IO_ECHILD' href='html/libxml-xmlerror.html#XML_IO_ECHILD'/>
-    <reference name='XML_IO_ECONNREFUSED' href='html/libxml-xmlerror.html#XML_IO_ECONNREFUSED'/>
-    <reference name='XML_IO_EDEADLK' href='html/libxml-xmlerror.html#XML_IO_EDEADLK'/>
-    <reference name='XML_IO_EDOM' href='html/libxml-xmlerror.html#XML_IO_EDOM'/>
-    <reference name='XML_IO_EEXIST' href='html/libxml-xmlerror.html#XML_IO_EEXIST'/>
-    <reference name='XML_IO_EFAULT' href='html/libxml-xmlerror.html#XML_IO_EFAULT'/>
-    <reference name='XML_IO_EFBIG' href='html/libxml-xmlerror.html#XML_IO_EFBIG'/>
-    <reference name='XML_IO_EINPROGRESS' href='html/libxml-xmlerror.html#XML_IO_EINPROGRESS'/>
-    <reference name='XML_IO_EINTR' href='html/libxml-xmlerror.html#XML_IO_EINTR'/>
-    <reference name='XML_IO_EINVAL' href='html/libxml-xmlerror.html#XML_IO_EINVAL'/>
-    <reference name='XML_IO_EIO' href='html/libxml-xmlerror.html#XML_IO_EIO'/>
-    <reference name='XML_IO_EISCONN' href='html/libxml-xmlerror.html#XML_IO_EISCONN'/>
-    <reference name='XML_IO_EISDIR' href='html/libxml-xmlerror.html#XML_IO_EISDIR'/>
-    <reference name='XML_IO_EMFILE' href='html/libxml-xmlerror.html#XML_IO_EMFILE'/>
-    <reference name='XML_IO_EMLINK' href='html/libxml-xmlerror.html#XML_IO_EMLINK'/>
-    <reference name='XML_IO_EMSGSIZE' href='html/libxml-xmlerror.html#XML_IO_EMSGSIZE'/>
-    <reference name='XML_IO_ENAMETOOLONG' href='html/libxml-xmlerror.html#XML_IO_ENAMETOOLONG'/>
-    <reference name='XML_IO_ENCODER' href='html/libxml-xmlerror.html#XML_IO_ENCODER'/>
-    <reference name='XML_IO_ENETUNREACH' href='html/libxml-xmlerror.html#XML_IO_ENETUNREACH'/>
-    <reference name='XML_IO_ENFILE' href='html/libxml-xmlerror.html#XML_IO_ENFILE'/>
-    <reference name='XML_IO_ENODEV' href='html/libxml-xmlerror.html#XML_IO_ENODEV'/>
-    <reference name='XML_IO_ENOENT' href='html/libxml-xmlerror.html#XML_IO_ENOENT'/>
-    <reference name='XML_IO_ENOEXEC' href='html/libxml-xmlerror.html#XML_IO_ENOEXEC'/>
-    <reference name='XML_IO_ENOLCK' href='html/libxml-xmlerror.html#XML_IO_ENOLCK'/>
-    <reference name='XML_IO_ENOMEM' href='html/libxml-xmlerror.html#XML_IO_ENOMEM'/>
-    <reference name='XML_IO_ENOSPC' href='html/libxml-xmlerror.html#XML_IO_ENOSPC'/>
-    <reference name='XML_IO_ENOSYS' href='html/libxml-xmlerror.html#XML_IO_ENOSYS'/>
-    <reference name='XML_IO_ENOTDIR' href='html/libxml-xmlerror.html#XML_IO_ENOTDIR'/>
-    <reference name='XML_IO_ENOTEMPTY' href='html/libxml-xmlerror.html#XML_IO_ENOTEMPTY'/>
-    <reference name='XML_IO_ENOTSOCK' href='html/libxml-xmlerror.html#XML_IO_ENOTSOCK'/>
-    <reference name='XML_IO_ENOTSUP' href='html/libxml-xmlerror.html#XML_IO_ENOTSUP'/>
-    <reference name='XML_IO_ENOTTY' href='html/libxml-xmlerror.html#XML_IO_ENOTTY'/>
-    <reference name='XML_IO_ENXIO' href='html/libxml-xmlerror.html#XML_IO_ENXIO'/>
-    <reference name='XML_IO_EPERM' href='html/libxml-xmlerror.html#XML_IO_EPERM'/>
-    <reference name='XML_IO_EPIPE' href='html/libxml-xmlerror.html#XML_IO_EPIPE'/>
-    <reference name='XML_IO_ERANGE' href='html/libxml-xmlerror.html#XML_IO_ERANGE'/>
-    <reference name='XML_IO_EROFS' href='html/libxml-xmlerror.html#XML_IO_EROFS'/>
-    <reference name='XML_IO_ESPIPE' href='html/libxml-xmlerror.html#XML_IO_ESPIPE'/>
-    <reference name='XML_IO_ESRCH' href='html/libxml-xmlerror.html#XML_IO_ESRCH'/>
-    <reference name='XML_IO_ETIMEDOUT' href='html/libxml-xmlerror.html#XML_IO_ETIMEDOUT'/>
-    <reference name='XML_IO_EXDEV' href='html/libxml-xmlerror.html#XML_IO_EXDEV'/>
-    <reference name='XML_IO_FLUSH' href='html/libxml-xmlerror.html#XML_IO_FLUSH'/>
-    <reference name='XML_IO_LOAD_ERROR' href='html/libxml-xmlerror.html#XML_IO_LOAD_ERROR'/>
-    <reference name='XML_IO_NETWORK_ATTEMPT' href='html/libxml-xmlerror.html#XML_IO_NETWORK_ATTEMPT'/>
-    <reference name='XML_IO_NO_INPUT' href='html/libxml-xmlerror.html#XML_IO_NO_INPUT'/>
-    <reference name='XML_IO_UNKNOWN' href='html/libxml-xmlerror.html#XML_IO_UNKNOWN'/>
-    <reference name='XML_IO_WRITE' href='html/libxml-xmlerror.html#XML_IO_WRITE'/>
-    <reference name='XML_LOCAL_NAMESPACE' href='html/libxml-tree.html#XML_LOCAL_NAMESPACE'/>
-    <reference name='XML_MAX_DICTIONARY_LIMIT' href='html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT'/>
-    <reference name='XML_MAX_LOOKUP_LIMIT' href='html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT'/>
-    <reference name='XML_MAX_NAMELEN' href='html/libxml-parserInternals.html#XML_MAX_NAMELEN'/>
-    <reference name='XML_MAX_NAME_LENGTH' href='html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH'/>
-    <reference name='XML_MAX_TEXT_LENGTH' href='html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH'/>
-    <reference name='XML_MODULE_CLOSE' href='html/libxml-xmlerror.html#XML_MODULE_CLOSE'/>
-    <reference name='XML_MODULE_LAZY' href='html/libxml-xmlmodule.html#XML_MODULE_LAZY'/>
-    <reference name='XML_MODULE_LOCAL' href='html/libxml-xmlmodule.html#XML_MODULE_LOCAL'/>
-    <reference name='XML_MODULE_OPEN' href='html/libxml-xmlerror.html#XML_MODULE_OPEN'/>
-    <reference name='XML_NAMESPACE_DECL' href='html/libxml-tree.html#XML_NAMESPACE_DECL'/>
-    <reference name='XML_NOTATION_NODE' href='html/libxml-tree.html#XML_NOTATION_NODE'/>
-    <reference name='XML_NS_ERR_ATTRIBUTE_REDEFINED' href='html/libxml-xmlerror.html#XML_NS_ERR_ATTRIBUTE_REDEFINED'/>
-    <reference name='XML_NS_ERR_COLON' href='html/libxml-xmlerror.html#XML_NS_ERR_COLON'/>
-    <reference name='XML_NS_ERR_EMPTY' href='html/libxml-xmlerror.html#XML_NS_ERR_EMPTY'/>
-    <reference name='XML_NS_ERR_QNAME' href='html/libxml-xmlerror.html#XML_NS_ERR_QNAME'/>
-    <reference name='XML_NS_ERR_UNDEFINED_NAMESPACE' href='html/libxml-xmlerror.html#XML_NS_ERR_UNDEFINED_NAMESPACE'/>
-    <reference name='XML_NS_ERR_XML_NAMESPACE' href='html/libxml-xmlerror.html#XML_NS_ERR_XML_NAMESPACE'/>
-    <reference name='XML_PARSER_ATTRIBUTE_VALUE' href='html/libxml-parser.html#XML_PARSER_ATTRIBUTE_VALUE'/>
-    <reference name='XML_PARSER_CDATA_SECTION' href='html/libxml-parser.html#XML_PARSER_CDATA_SECTION'/>
-    <reference name='XML_PARSER_COMMENT' href='html/libxml-parser.html#XML_PARSER_COMMENT'/>
-    <reference name='XML_PARSER_CONTENT' href='html/libxml-parser.html#XML_PARSER_CONTENT'/>
-    <reference name='XML_PARSER_DEFAULTATTRS' href='html/libxml-xmlreader.html#XML_PARSER_DEFAULTATTRS'/>
-    <reference name='XML_PARSER_DTD' href='html/libxml-parser.html#XML_PARSER_DTD'/>
-    <reference name='XML_PARSER_END_TAG' href='html/libxml-parser.html#XML_PARSER_END_TAG'/>
-    <reference name='XML_PARSER_ENTITY_DECL' href='html/libxml-parser.html#XML_PARSER_ENTITY_DECL'/>
-    <reference name='XML_PARSER_ENTITY_VALUE' href='html/libxml-parser.html#XML_PARSER_ENTITY_VALUE'/>
-    <reference name='XML_PARSER_EOF' href='html/libxml-parser.html#XML_PARSER_EOF'/>
-    <reference name='XML_PARSER_EPILOG' href='html/libxml-parser.html#XML_PARSER_EPILOG'/>
-    <reference name='XML_PARSER_IGNORE' href='html/libxml-parser.html#XML_PARSER_IGNORE'/>
-    <reference name='XML_PARSER_LOADDTD' href='html/libxml-xmlreader.html#XML_PARSER_LOADDTD'/>
-    <reference name='XML_PARSER_MISC' href='html/libxml-parser.html#XML_PARSER_MISC'/>
-    <reference name='XML_PARSER_PI' href='html/libxml-parser.html#XML_PARSER_PI'/>
-    <reference name='XML_PARSER_PROLOG' href='html/libxml-parser.html#XML_PARSER_PROLOG'/>
-    <reference name='XML_PARSER_PUBLIC_LITERAL' href='html/libxml-parser.html#XML_PARSER_PUBLIC_LITERAL'/>
-    <reference name='XML_PARSER_SEVERITY_ERROR' href='html/libxml-xmlreader.html#XML_PARSER_SEVERITY_ERROR'/>
-    <reference name='XML_PARSER_SEVERITY_VALIDITY_ERROR' href='html/libxml-xmlreader.html#XML_PARSER_SEVERITY_VALIDITY_ERROR'/>
-    <reference name='XML_PARSER_SEVERITY_VALIDITY_WARNING' href='html/libxml-xmlreader.html#XML_PARSER_SEVERITY_VALIDITY_WARNING'/>
-    <reference name='XML_PARSER_SEVERITY_WARNING' href='html/libxml-xmlreader.html#XML_PARSER_SEVERITY_WARNING'/>
-    <reference name='XML_PARSER_START' href='html/libxml-parser.html#XML_PARSER_START'/>
-    <reference name='XML_PARSER_START_TAG' href='html/libxml-parser.html#XML_PARSER_START_TAG'/>
-    <reference name='XML_PARSER_SUBST_ENTITIES' href='html/libxml-xmlreader.html#XML_PARSER_SUBST_ENTITIES'/>
-    <reference name='XML_PARSER_SYSTEM_LITERAL' href='html/libxml-parser.html#XML_PARSER_SYSTEM_LITERAL'/>
-    <reference name='XML_PARSER_VALIDATE' href='html/libxml-xmlreader.html#XML_PARSER_VALIDATE'/>
-    <reference name='XML_PARSE_BIG_LINES' href='html/libxml-parser.html#XML_PARSE_BIG_LINES'/>
-    <reference name='XML_PARSE_COMPACT' href='html/libxml-parser.html#XML_PARSE_COMPACT'/>
-    <reference name='XML_PARSE_DOM' href='html/libxml-parser.html#XML_PARSE_DOM'/>
-    <reference name='XML_PARSE_DTDATTR' href='html/libxml-parser.html#XML_PARSE_DTDATTR'/>
-    <reference name='XML_PARSE_DTDLOAD' href='html/libxml-parser.html#XML_PARSE_DTDLOAD'/>
-    <reference name='XML_PARSE_DTDVALID' href='html/libxml-parser.html#XML_PARSE_DTDVALID'/>
-    <reference name='XML_PARSE_HUGE' href='html/libxml-parser.html#XML_PARSE_HUGE'/>
-    <reference name='XML_PARSE_IGNORE_ENC' href='html/libxml-parser.html#XML_PARSE_IGNORE_ENC'/>
-    <reference name='XML_PARSE_NOBASEFIX' href='html/libxml-parser.html#XML_PARSE_NOBASEFIX'/>
-    <reference name='XML_PARSE_NOBLANKS' href='html/libxml-parser.html#XML_PARSE_NOBLANKS'/>
-    <reference name='XML_PARSE_NOCDATA' href='html/libxml-parser.html#XML_PARSE_NOCDATA'/>
-    <reference name='XML_PARSE_NODICT' href='html/libxml-parser.html#XML_PARSE_NODICT'/>
-    <reference name='XML_PARSE_NOENT' href='html/libxml-parser.html#XML_PARSE_NOENT'/>
-    <reference name='XML_PARSE_NOERROR' href='html/libxml-parser.html#XML_PARSE_NOERROR'/>
-    <reference name='XML_PARSE_NONET' href='html/libxml-parser.html#XML_PARSE_NONET'/>
-    <reference name='XML_PARSE_NOWARNING' href='html/libxml-parser.html#XML_PARSE_NOWARNING'/>
-    <reference name='XML_PARSE_NOXINCNODE' href='html/libxml-parser.html#XML_PARSE_NOXINCNODE'/>
-    <reference name='XML_PARSE_NSCLEAN' href='html/libxml-parser.html#XML_PARSE_NSCLEAN'/>
-    <reference name='XML_PARSE_OLD10' href='html/libxml-parser.html#XML_PARSE_OLD10'/>
-    <reference name='XML_PARSE_OLDSAX' href='html/libxml-parser.html#XML_PARSE_OLDSAX'/>
-    <reference name='XML_PARSE_PEDANTIC' href='html/libxml-parser.html#XML_PARSE_PEDANTIC'/>
-    <reference name='XML_PARSE_PUSH_DOM' href='html/libxml-parser.html#XML_PARSE_PUSH_DOM'/>
-    <reference name='XML_PARSE_PUSH_SAX' href='html/libxml-parser.html#XML_PARSE_PUSH_SAX'/>
-    <reference name='XML_PARSE_READER' href='html/libxml-parser.html#XML_PARSE_READER'/>
-    <reference name='XML_PARSE_RECOVER' href='html/libxml-parser.html#XML_PARSE_RECOVER'/>
-    <reference name='XML_PARSE_SAX' href='html/libxml-parser.html#XML_PARSE_SAX'/>
-    <reference name='XML_PARSE_SAX1' href='html/libxml-parser.html#XML_PARSE_SAX1'/>
-    <reference name='XML_PARSE_UNKNOWN' href='html/libxml-parser.html#XML_PARSE_UNKNOWN'/>
-    <reference name='XML_PARSE_XINCLUDE' href='html/libxml-parser.html#XML_PARSE_XINCLUDE'/>
-    <reference name='XML_PATTERN_DEFAULT' href='html/libxml-pattern.html#XML_PATTERN_DEFAULT'/>
-    <reference name='XML_PATTERN_XPATH' href='html/libxml-pattern.html#XML_PATTERN_XPATH'/>
-    <reference name='XML_PATTERN_XSFIELD' href='html/libxml-pattern.html#XML_PATTERN_XSFIELD'/>
-    <reference name='XML_PATTERN_XSSEL' href='html/libxml-pattern.html#XML_PATTERN_XSSEL'/>
-    <reference name='XML_PI_NODE' href='html/libxml-tree.html#XML_PI_NODE'/>
-    <reference name='XML_READER_TYPE_ATTRIBUTE' href='html/libxml-xmlreader.html#XML_READER_TYPE_ATTRIBUTE'/>
-    <reference name='XML_READER_TYPE_CDATA' href='html/libxml-xmlreader.html#XML_READER_TYPE_CDATA'/>
-    <reference name='XML_READER_TYPE_COMMENT' href='html/libxml-xmlreader.html#XML_READER_TYPE_COMMENT'/>
-    <reference name='XML_READER_TYPE_DOCUMENT' href='html/libxml-xmlreader.html#XML_READER_TYPE_DOCUMENT'/>
-    <reference name='XML_READER_TYPE_DOCUMENT_FRAGMENT' href='html/libxml-xmlreader.html#XML_READER_TYPE_DOCUMENT_FRAGMENT'/>
-    <reference name='XML_READER_TYPE_DOCUMENT_TYPE' href='html/libxml-xmlreader.html#XML_READER_TYPE_DOCUMENT_TYPE'/>
-    <reference name='XML_READER_TYPE_ELEMENT' href='html/libxml-xmlreader.html#XML_READER_TYPE_ELEMENT'/>
-    <reference name='XML_READER_TYPE_END_ELEMENT' href='html/libxml-xmlreader.html#XML_READER_TYPE_END_ELEMENT'/>
-    <reference name='XML_READER_TYPE_END_ENTITY' href='html/libxml-xmlreader.html#XML_READER_TYPE_END_ENTITY'/>
-    <reference name='XML_READER_TYPE_ENTITY' href='html/libxml-xmlreader.html#XML_READER_TYPE_ENTITY'/>
-    <reference name='XML_READER_TYPE_ENTITY_REFERENCE' href='html/libxml-xmlreader.html#XML_READER_TYPE_ENTITY_REFERENCE'/>
-    <reference name='XML_READER_TYPE_NONE' href='html/libxml-xmlreader.html#XML_READER_TYPE_NONE'/>
-    <reference name='XML_READER_TYPE_NOTATION' href='html/libxml-xmlreader.html#XML_READER_TYPE_NOTATION'/>
-    <reference name='XML_READER_TYPE_PROCESSING_INSTRUCTION' href='html/libxml-xmlreader.html#XML_READER_TYPE_PROCESSING_INSTRUCTION'/>
-    <reference name='XML_READER_TYPE_SIGNIFICANT_WHITESPACE' href='html/libxml-xmlreader.html#XML_READER_TYPE_SIGNIFICANT_WHITESPACE'/>
-    <reference name='XML_READER_TYPE_TEXT' href='html/libxml-xmlreader.html#XML_READER_TYPE_TEXT'/>
-    <reference name='XML_READER_TYPE_WHITESPACE' href='html/libxml-xmlreader.html#XML_READER_TYPE_WHITESPACE'/>
-    <reference name='XML_READER_TYPE_XML_DECLARATION' href='html/libxml-xmlreader.html#XML_READER_TYPE_XML_DECLARATION'/>
-    <reference name='XML_REGEXP_COMPILE_ERROR' href='html/libxml-xmlerror.html#XML_REGEXP_COMPILE_ERROR'/>
-    <reference name='XML_RELAXNGP_CRNG' href='html/libxml-relaxng.html#XML_RELAXNGP_CRNG'/>
-    <reference name='XML_RELAXNGP_FREE_DOC' href='html/libxml-relaxng.html#XML_RELAXNGP_FREE_DOC'/>
-    <reference name='XML_RELAXNGP_NONE' href='html/libxml-relaxng.html#XML_RELAXNGP_NONE'/>
-    <reference name='XML_RELAXNG_ERR_ATTREXTRANS' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTREXTRANS'/>
-    <reference name='XML_RELAXNG_ERR_ATTRNAME' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRNAME'/>
-    <reference name='XML_RELAXNG_ERR_ATTRNONS' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRNONS'/>
-    <reference name='XML_RELAXNG_ERR_ATTRVALID' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRVALID'/>
-    <reference name='XML_RELAXNG_ERR_ATTRWRONGNS' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_ATTRWRONGNS'/>
-    <reference name='XML_RELAXNG_ERR_CONTENTVALID' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_CONTENTVALID'/>
-    <reference name='XML_RELAXNG_ERR_DATAELEM' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_DATAELEM'/>
-    <reference name='XML_RELAXNG_ERR_DATATYPE' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_DATATYPE'/>
-    <reference name='XML_RELAXNG_ERR_DUPID' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_DUPID'/>
-    <reference name='XML_RELAXNG_ERR_ELEMEXTRANS' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMEXTRANS'/>
-    <reference name='XML_RELAXNG_ERR_ELEMNAME' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMNAME'/>
-    <reference name='XML_RELAXNG_ERR_ELEMNONS' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMNONS'/>
-    <reference name='XML_RELAXNG_ERR_ELEMNOTEMPTY' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMNOTEMPTY'/>
-    <reference name='XML_RELAXNG_ERR_ELEMWRONG' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMWRONG'/>
-    <reference name='XML_RELAXNG_ERR_ELEMWRONGNS' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_ELEMWRONGNS'/>
-    <reference name='XML_RELAXNG_ERR_EXTRACONTENT' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_EXTRACONTENT'/>
-    <reference name='XML_RELAXNG_ERR_EXTRADATA' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_EXTRADATA'/>
-    <reference name='XML_RELAXNG_ERR_INTEREXTRA' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_INTEREXTRA'/>
-    <reference name='XML_RELAXNG_ERR_INTERNAL' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_INTERNAL'/>
-    <reference name='XML_RELAXNG_ERR_INTERNODATA' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_INTERNODATA'/>
-    <reference name='XML_RELAXNG_ERR_INTERSEQ' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_INTERSEQ'/>
-    <reference name='XML_RELAXNG_ERR_INVALIDATTR' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_INVALIDATTR'/>
-    <reference name='XML_RELAXNG_ERR_LACKDATA' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_LACKDATA'/>
-    <reference name='XML_RELAXNG_ERR_LIST' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_LIST'/>
-    <reference name='XML_RELAXNG_ERR_LISTELEM' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_LISTELEM'/>
-    <reference name='XML_RELAXNG_ERR_LISTEMPTY' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_LISTEMPTY'/>
-    <reference name='XML_RELAXNG_ERR_LISTEXTRA' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_LISTEXTRA'/>
-    <reference name='XML_RELAXNG_ERR_MEMORY' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_MEMORY'/>
-    <reference name='XML_RELAXNG_ERR_NODEFINE' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_NODEFINE'/>
-    <reference name='XML_RELAXNG_ERR_NOELEM' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_NOELEM'/>
-    <reference name='XML_RELAXNG_ERR_NOGRAMMAR' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_NOGRAMMAR'/>
-    <reference name='XML_RELAXNG_ERR_NOSTATE' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_NOSTATE'/>
-    <reference name='XML_RELAXNG_ERR_NOTELEM' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_NOTELEM'/>
-    <reference name='XML_RELAXNG_ERR_TEXTWRONG' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_TEXTWRONG'/>
-    <reference name='XML_RELAXNG_ERR_TYPE' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_TYPE'/>
-    <reference name='XML_RELAXNG_ERR_TYPECMP' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_TYPECMP'/>
-    <reference name='XML_RELAXNG_ERR_TYPEVAL' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_TYPEVAL'/>
-    <reference name='XML_RELAXNG_ERR_VALELEM' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_VALELEM'/>
-    <reference name='XML_RELAXNG_ERR_VALUE' href='html/libxml-relaxng.html#XML_RELAXNG_ERR_VALUE'/>
-    <reference name='XML_RELAXNG_OK' href='html/libxml-relaxng.html#XML_RELAXNG_OK'/>
-    <reference name='XML_RNGP_ANYNAME_ATTR_ANCESTOR' href='html/libxml-xmlerror.html#XML_RNGP_ANYNAME_ATTR_ANCESTOR'/>
-    <reference name='XML_RNGP_ATTRIBUTE_CHILDREN' href='html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_CHILDREN'/>
-    <reference name='XML_RNGP_ATTRIBUTE_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_CONTENT'/>
-    <reference name='XML_RNGP_ATTRIBUTE_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_EMPTY'/>
-    <reference name='XML_RNGP_ATTRIBUTE_NOOP' href='html/libxml-xmlerror.html#XML_RNGP_ATTRIBUTE_NOOP'/>
-    <reference name='XML_RNGP_ATTR_CONFLICT' href='html/libxml-xmlerror.html#XML_RNGP_ATTR_CONFLICT'/>
-    <reference name='XML_RNGP_CHOICE_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_CHOICE_CONTENT'/>
-    <reference name='XML_RNGP_CHOICE_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_CHOICE_EMPTY'/>
-    <reference name='XML_RNGP_CREATE_FAILURE' href='html/libxml-xmlerror.html#XML_RNGP_CREATE_FAILURE'/>
-    <reference name='XML_RNGP_DATA_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_DATA_CONTENT'/>
-    <reference name='XML_RNGP_DEFINE_CREATE_FAILED' href='html/libxml-xmlerror.html#XML_RNGP_DEFINE_CREATE_FAILED'/>
-    <reference name='XML_RNGP_DEFINE_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_DEFINE_EMPTY'/>
-    <reference name='XML_RNGP_DEFINE_MISSING' href='html/libxml-xmlerror.html#XML_RNGP_DEFINE_MISSING'/>
-    <reference name='XML_RNGP_DEFINE_NAME_MISSING' href='html/libxml-xmlerror.html#XML_RNGP_DEFINE_NAME_MISSING'/>
-    <reference name='XML_RNGP_DEF_CHOICE_AND_INTERLEAVE' href='html/libxml-xmlerror.html#XML_RNGP_DEF_CHOICE_AND_INTERLEAVE'/>
-    <reference name='XML_RNGP_ELEMENT_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_ELEMENT_CONTENT'/>
-    <reference name='XML_RNGP_ELEMENT_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_ELEMENT_EMPTY'/>
-    <reference name='XML_RNGP_ELEMENT_NAME' href='html/libxml-xmlerror.html#XML_RNGP_ELEMENT_NAME'/>
-    <reference name='XML_RNGP_ELEMENT_NO_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_ELEMENT_NO_CONTENT'/>
-    <reference name='XML_RNGP_ELEM_CONTENT_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_ELEM_CONTENT_EMPTY'/>
-    <reference name='XML_RNGP_ELEM_CONTENT_ERROR' href='html/libxml-xmlerror.html#XML_RNGP_ELEM_CONTENT_ERROR'/>
-    <reference name='XML_RNGP_ELEM_TEXT_CONFLICT' href='html/libxml-xmlerror.html#XML_RNGP_ELEM_TEXT_CONFLICT'/>
-    <reference name='XML_RNGP_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_EMPTY'/>
-    <reference name='XML_RNGP_EMPTY_CONSTRUCT' href='html/libxml-xmlerror.html#XML_RNGP_EMPTY_CONSTRUCT'/>
-    <reference name='XML_RNGP_EMPTY_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_EMPTY_CONTENT'/>
-    <reference name='XML_RNGP_EMPTY_NOT_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_EMPTY_NOT_EMPTY'/>
-    <reference name='XML_RNGP_ERROR_TYPE_LIB' href='html/libxml-xmlerror.html#XML_RNGP_ERROR_TYPE_LIB'/>
-    <reference name='XML_RNGP_EXCEPT_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_EXCEPT_EMPTY'/>
-    <reference name='XML_RNGP_EXCEPT_MISSING' href='html/libxml-xmlerror.html#XML_RNGP_EXCEPT_MISSING'/>
-    <reference name='XML_RNGP_EXCEPT_MULTIPLE' href='html/libxml-xmlerror.html#XML_RNGP_EXCEPT_MULTIPLE'/>
-    <reference name='XML_RNGP_EXCEPT_NO_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_EXCEPT_NO_CONTENT'/>
-    <reference name='XML_RNGP_EXTERNALREF_EMTPY' href='html/libxml-xmlerror.html#XML_RNGP_EXTERNALREF_EMTPY'/>
-    <reference name='XML_RNGP_EXTERNALREF_RECURSE' href='html/libxml-xmlerror.html#XML_RNGP_EXTERNALREF_RECURSE'/>
-    <reference name='XML_RNGP_EXTERNAL_REF_FAILURE' href='html/libxml-xmlerror.html#XML_RNGP_EXTERNAL_REF_FAILURE'/>
-    <reference name='XML_RNGP_FORBIDDEN_ATTRIBUTE' href='html/libxml-xmlerror.html#XML_RNGP_FORBIDDEN_ATTRIBUTE'/>
-    <reference name='XML_RNGP_FOREIGN_ELEMENT' href='html/libxml-xmlerror.html#XML_RNGP_FOREIGN_ELEMENT'/>
-    <reference name='XML_RNGP_GRAMMAR_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_CONTENT'/>
-    <reference name='XML_RNGP_GRAMMAR_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_EMPTY'/>
-    <reference name='XML_RNGP_GRAMMAR_MISSING' href='html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_MISSING'/>
-    <reference name='XML_RNGP_GRAMMAR_NO_START' href='html/libxml-xmlerror.html#XML_RNGP_GRAMMAR_NO_START'/>
-    <reference name='XML_RNGP_GROUP_ATTR_CONFLICT' href='html/libxml-xmlerror.html#XML_RNGP_GROUP_ATTR_CONFLICT'/>
-    <reference name='XML_RNGP_HREF_ERROR' href='html/libxml-xmlerror.html#XML_RNGP_HREF_ERROR'/>
-    <reference name='XML_RNGP_INCLUDE_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_INCLUDE_EMPTY'/>
-    <reference name='XML_RNGP_INCLUDE_FAILURE' href='html/libxml-xmlerror.html#XML_RNGP_INCLUDE_FAILURE'/>
-    <reference name='XML_RNGP_INCLUDE_RECURSE' href='html/libxml-xmlerror.html#XML_RNGP_INCLUDE_RECURSE'/>
-    <reference name='XML_RNGP_INTERLEAVE_ADD' href='html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_ADD'/>
-    <reference name='XML_RNGP_INTERLEAVE_CREATE_FAILED' href='html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_CREATE_FAILED'/>
-    <reference name='XML_RNGP_INTERLEAVE_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_EMPTY'/>
-    <reference name='XML_RNGP_INTERLEAVE_NO_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_INTERLEAVE_NO_CONTENT'/>
-    <reference name='XML_RNGP_INVALID_DEFINE_NAME' href='html/libxml-xmlerror.html#XML_RNGP_INVALID_DEFINE_NAME'/>
-    <reference name='XML_RNGP_INVALID_URI' href='html/libxml-xmlerror.html#XML_RNGP_INVALID_URI'/>
-    <reference name='XML_RNGP_INVALID_VALUE' href='html/libxml-xmlerror.html#XML_RNGP_INVALID_VALUE'/>
-    <reference name='XML_RNGP_MISSING_HREF' href='html/libxml-xmlerror.html#XML_RNGP_MISSING_HREF'/>
-    <reference name='XML_RNGP_NAME_MISSING' href='html/libxml-xmlerror.html#XML_RNGP_NAME_MISSING'/>
-    <reference name='XML_RNGP_NEED_COMBINE' href='html/libxml-xmlerror.html#XML_RNGP_NEED_COMBINE'/>
-    <reference name='XML_RNGP_NOTALLOWED_NOT_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_NOTALLOWED_NOT_EMPTY'/>
-    <reference name='XML_RNGP_NSNAME_ATTR_ANCESTOR' href='html/libxml-xmlerror.html#XML_RNGP_NSNAME_ATTR_ANCESTOR'/>
-    <reference name='XML_RNGP_NSNAME_NO_NS' href='html/libxml-xmlerror.html#XML_RNGP_NSNAME_NO_NS'/>
-    <reference name='XML_RNGP_PARAM_FORBIDDEN' href='html/libxml-xmlerror.html#XML_RNGP_PARAM_FORBIDDEN'/>
-    <reference name='XML_RNGP_PARAM_NAME_MISSING' href='html/libxml-xmlerror.html#XML_RNGP_PARAM_NAME_MISSING'/>
-    <reference name='XML_RNGP_PARENTREF_CREATE_FAILED' href='html/libxml-xmlerror.html#XML_RNGP_PARENTREF_CREATE_FAILED'/>
-    <reference name='XML_RNGP_PARENTREF_NAME_INVALID' href='html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NAME_INVALID'/>
-    <reference name='XML_RNGP_PARENTREF_NOT_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NOT_EMPTY'/>
-    <reference name='XML_RNGP_PARENTREF_NO_NAME' href='html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NO_NAME'/>
-    <reference name='XML_RNGP_PARENTREF_NO_PARENT' href='html/libxml-xmlerror.html#XML_RNGP_PARENTREF_NO_PARENT'/>
-    <reference name='XML_RNGP_PARSE_ERROR' href='html/libxml-xmlerror.html#XML_RNGP_PARSE_ERROR'/>
-    <reference name='XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME' href='html/libxml-xmlerror.html#XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME'/>
-    <reference name='XML_RNGP_PAT_ATTR_ATTR' href='html/libxml-xmlerror.html#XML_RNGP_PAT_ATTR_ATTR'/>
-    <reference name='XML_RNGP_PAT_ATTR_ELEM' href='html/libxml-xmlerror.html#XML_RNGP_PAT_ATTR_ELEM'/>
-    <reference name='XML_RNGP_PAT_DATA_EXCEPT_ATTR' href='html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ATTR'/>
-    <reference name='XML_RNGP_PAT_DATA_EXCEPT_ELEM' href='html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ELEM'/>
-    <reference name='XML_RNGP_PAT_DATA_EXCEPT_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_EMPTY'/>
-    <reference name='XML_RNGP_PAT_DATA_EXCEPT_GROUP' href='html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_GROUP'/>
-    <reference name='XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE' href='html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE'/>
-    <reference name='XML_RNGP_PAT_DATA_EXCEPT_LIST' href='html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_LIST'/>
-    <reference name='XML_RNGP_PAT_DATA_EXCEPT_ONEMORE' href='html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ONEMORE'/>
-    <reference name='XML_RNGP_PAT_DATA_EXCEPT_REF' href='html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_REF'/>
-    <reference name='XML_RNGP_PAT_DATA_EXCEPT_TEXT' href='html/libxml-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_TEXT'/>
-    <reference name='XML_RNGP_PAT_LIST_ATTR' href='html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_ATTR'/>
-    <reference name='XML_RNGP_PAT_LIST_ELEM' href='html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_ELEM'/>
-    <reference name='XML_RNGP_PAT_LIST_INTERLEAVE' href='html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_INTERLEAVE'/>
-    <reference name='XML_RNGP_PAT_LIST_LIST' href='html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_LIST'/>
-    <reference name='XML_RNGP_PAT_LIST_REF' href='html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_REF'/>
-    <reference name='XML_RNGP_PAT_LIST_TEXT' href='html/libxml-xmlerror.html#XML_RNGP_PAT_LIST_TEXT'/>
-    <reference name='XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME' href='html/libxml-xmlerror.html#XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME'/>
-    <reference name='XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME' href='html/libxml-xmlerror.html#XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME'/>
-    <reference name='XML_RNGP_PAT_ONEMORE_GROUP_ATTR' href='html/libxml-xmlerror.html#XML_RNGP_PAT_ONEMORE_GROUP_ATTR'/>
-    <reference name='XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR' href='html/libxml-xmlerror.html#XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR'/>
-    <reference name='XML_RNGP_PAT_START_ATTR' href='html/libxml-xmlerror.html#XML_RNGP_PAT_START_ATTR'/>
-    <reference name='XML_RNGP_PAT_START_DATA' href='html/libxml-xmlerror.html#XML_RNGP_PAT_START_DATA'/>
-    <reference name='XML_RNGP_PAT_START_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_PAT_START_EMPTY'/>
-    <reference name='XML_RNGP_PAT_START_GROUP' href='html/libxml-xmlerror.html#XML_RNGP_PAT_START_GROUP'/>
-    <reference name='XML_RNGP_PAT_START_INTERLEAVE' href='html/libxml-xmlerror.html#XML_RNGP_PAT_START_INTERLEAVE'/>
-    <reference name='XML_RNGP_PAT_START_LIST' href='html/libxml-xmlerror.html#XML_RNGP_PAT_START_LIST'/>
-    <reference name='XML_RNGP_PAT_START_ONEMORE' href='html/libxml-xmlerror.html#XML_RNGP_PAT_START_ONEMORE'/>
-    <reference name='XML_RNGP_PAT_START_TEXT' href='html/libxml-xmlerror.html#XML_RNGP_PAT_START_TEXT'/>
-    <reference name='XML_RNGP_PAT_START_VALUE' href='html/libxml-xmlerror.html#XML_RNGP_PAT_START_VALUE'/>
-    <reference name='XML_RNGP_PREFIX_UNDEFINED' href='html/libxml-xmlerror.html#XML_RNGP_PREFIX_UNDEFINED'/>
-    <reference name='XML_RNGP_REF_CREATE_FAILED' href='html/libxml-xmlerror.html#XML_RNGP_REF_CREATE_FAILED'/>
-    <reference name='XML_RNGP_REF_CYCLE' href='html/libxml-xmlerror.html#XML_RNGP_REF_CYCLE'/>
-    <reference name='XML_RNGP_REF_NAME_INVALID' href='html/libxml-xmlerror.html#XML_RNGP_REF_NAME_INVALID'/>
-    <reference name='XML_RNGP_REF_NOT_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_REF_NOT_EMPTY'/>
-    <reference name='XML_RNGP_REF_NO_DEF' href='html/libxml-xmlerror.html#XML_RNGP_REF_NO_DEF'/>
-    <reference name='XML_RNGP_REF_NO_NAME' href='html/libxml-xmlerror.html#XML_RNGP_REF_NO_NAME'/>
-    <reference name='XML_RNGP_START_CHOICE_AND_INTERLEAVE' href='html/libxml-xmlerror.html#XML_RNGP_START_CHOICE_AND_INTERLEAVE'/>
-    <reference name='XML_RNGP_START_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_START_CONTENT'/>
-    <reference name='XML_RNGP_START_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_START_EMPTY'/>
-    <reference name='XML_RNGP_START_MISSING' href='html/libxml-xmlerror.html#XML_RNGP_START_MISSING'/>
-    <reference name='XML_RNGP_TEXT_EXPECTED' href='html/libxml-xmlerror.html#XML_RNGP_TEXT_EXPECTED'/>
-    <reference name='XML_RNGP_TEXT_HAS_CHILD' href='html/libxml-xmlerror.html#XML_RNGP_TEXT_HAS_CHILD'/>
-    <reference name='XML_RNGP_TYPE_MISSING' href='html/libxml-xmlerror.html#XML_RNGP_TYPE_MISSING'/>
-    <reference name='XML_RNGP_TYPE_NOT_FOUND' href='html/libxml-xmlerror.html#XML_RNGP_TYPE_NOT_FOUND'/>
-    <reference name='XML_RNGP_TYPE_VALUE' href='html/libxml-xmlerror.html#XML_RNGP_TYPE_VALUE'/>
-    <reference name='XML_RNGP_UNKNOWN_ATTRIBUTE' href='html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_ATTRIBUTE'/>
-    <reference name='XML_RNGP_UNKNOWN_COMBINE' href='html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_COMBINE'/>
-    <reference name='XML_RNGP_UNKNOWN_CONSTRUCT' href='html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_CONSTRUCT'/>
-    <reference name='XML_RNGP_UNKNOWN_TYPE_LIB' href='html/libxml-xmlerror.html#XML_RNGP_UNKNOWN_TYPE_LIB'/>
-    <reference name='XML_RNGP_URI_FRAGMENT' href='html/libxml-xmlerror.html#XML_RNGP_URI_FRAGMENT'/>
-    <reference name='XML_RNGP_URI_NOT_ABSOLUTE' href='html/libxml-xmlerror.html#XML_RNGP_URI_NOT_ABSOLUTE'/>
-    <reference name='XML_RNGP_VALUE_EMPTY' href='html/libxml-xmlerror.html#XML_RNGP_VALUE_EMPTY'/>
-    <reference name='XML_RNGP_VALUE_NO_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_VALUE_NO_CONTENT'/>
-    <reference name='XML_RNGP_XMLNS_NAME' href='html/libxml-xmlerror.html#XML_RNGP_XMLNS_NAME'/>
-    <reference name='XML_RNGP_XML_NS' href='html/libxml-xmlerror.html#XML_RNGP_XML_NS'/>
-    <reference name='XML_SAVE_AS_HTML' href='html/libxml-xmlsave.html#XML_SAVE_AS_HTML'/>
-    <reference name='XML_SAVE_AS_XML' href='html/libxml-xmlsave.html#XML_SAVE_AS_XML'/>
-    <reference name='XML_SAVE_CHAR_INVALID' href='html/libxml-xmlerror.html#XML_SAVE_CHAR_INVALID'/>
-    <reference name='XML_SAVE_FORMAT' href='html/libxml-xmlsave.html#XML_SAVE_FORMAT'/>
-    <reference name='XML_SAVE_NOT_UTF8' href='html/libxml-xmlerror.html#XML_SAVE_NOT_UTF8'/>
-    <reference name='XML_SAVE_NO_DECL' href='html/libxml-xmlsave.html#XML_SAVE_NO_DECL'/>
-    <reference name='XML_SAVE_NO_DOCTYPE' href='html/libxml-xmlerror.html#XML_SAVE_NO_DOCTYPE'/>
-    <reference name='XML_SAVE_NO_EMPTY' href='html/libxml-xmlsave.html#XML_SAVE_NO_EMPTY'/>
-    <reference name='XML_SAVE_NO_XHTML' href='html/libxml-xmlsave.html#XML_SAVE_NO_XHTML'/>
-    <reference name='XML_SAVE_UNKNOWN_ENCODING' href='html/libxml-xmlerror.html#XML_SAVE_UNKNOWN_ENCODING'/>
-    <reference name='XML_SAVE_WSNONSIG' href='html/libxml-xmlsave.html#XML_SAVE_WSNONSIG'/>
-    <reference name='XML_SAVE_XHTML' href='html/libxml-xmlsave.html#XML_SAVE_XHTML'/>
-    <reference name='XML_SAX2_MAGIC' href='html/libxml-parser.html#XML_SAX2_MAGIC'/>
-    <reference name='XML_SCHEMAP_AG_PROPS_CORRECT' href='html/libxml-xmlerror.html#XML_SCHEMAP_AG_PROPS_CORRECT'/>
-    <reference name='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE' href='html/libxml-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE'/>
-    <reference name='XML_SCHEMAP_ATTRGRP_NONAME_NOREF' href='html/libxml-xmlerror.html#XML_SCHEMAP_ATTRGRP_NONAME_NOREF'/>
-    <reference name='XML_SCHEMAP_ATTR_NONAME_NOREF' href='html/libxml-xmlerror.html#XML_SCHEMAP_ATTR_NONAME_NOREF'/>
-    <reference name='XML_SCHEMAP_AU_PROPS_CORRECT' href='html/libxml-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT'/>
-    <reference name='XML_SCHEMAP_AU_PROPS_CORRECT_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT_2'/>
-    <reference name='XML_SCHEMAP_A_PROPS_CORRECT_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_2'/>
-    <reference name='XML_SCHEMAP_A_PROPS_CORRECT_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_3'/>
-    <reference name='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF' href='html/libxml-xmlerror.html#XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF'/>
-    <reference name='XML_SCHEMAP_COS_ALL_LIMITED' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ALL_LIMITED'/>
-    <reference name='XML_SCHEMAP_COS_CT_EXTENDS_1_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_1'/>
-    <reference name='XML_SCHEMAP_COS_CT_EXTENDS_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_2'/>
-    <reference name='XML_SCHEMAP_COS_CT_EXTENDS_1_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_3'/>
-    <reference name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_1'/>
-    <reference name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_2'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_1_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_1'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_2'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_1'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_1'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4'/>
-    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5'/>
-    <reference name='XML_SCHEMAP_COS_VALID_DEFAULT_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_1'/>
-    <reference name='XML_SCHEMAP_COS_VALID_DEFAULT_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_1'/>
-    <reference name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1'/>
-    <reference name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2'/>
-    <reference name='XML_SCHEMAP_CT_PROPS_CORRECT_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_1'/>
-    <reference name='XML_SCHEMAP_CT_PROPS_CORRECT_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_2'/>
-    <reference name='XML_SCHEMAP_CT_PROPS_CORRECT_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_3'/>
-    <reference name='XML_SCHEMAP_CT_PROPS_CORRECT_4' href='html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_4'/>
-    <reference name='XML_SCHEMAP_CT_PROPS_CORRECT_5' href='html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_5'/>
-    <reference name='XML_SCHEMAP_CVC_SIMPLE_TYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_CVC_SIMPLE_TYPE'/>
-    <reference name='XML_SCHEMAP_C_PROPS_CORRECT' href='html/libxml-xmlerror.html#XML_SCHEMAP_C_PROPS_CORRECT'/>
-    <reference name='XML_SCHEMAP_DEF_AND_PREFIX' href='html/libxml-xmlerror.html#XML_SCHEMAP_DEF_AND_PREFIX'/>
-    <reference name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1'/>
-    <reference name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1'/>
-    <reference name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2'/>
-    <reference name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3'/>
-    <reference name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2'/>
-    <reference name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3'/>
-    <reference name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1'/>
-    <reference name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2'/>
-    <reference name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3'/>
-    <reference name='XML_SCHEMAP_ELEMFORMDEFAULT_VALUE' href='html/libxml-xmlerror.html#XML_SCHEMAP_ELEMFORMDEFAULT_VALUE'/>
-    <reference name='XML_SCHEMAP_ELEM_DEFAULT_FIXED' href='html/libxml-xmlerror.html#XML_SCHEMAP_ELEM_DEFAULT_FIXED'/>
-    <reference name='XML_SCHEMAP_ELEM_NONAME_NOREF' href='html/libxml-xmlerror.html#XML_SCHEMAP_ELEM_NONAME_NOREF'/>
-    <reference name='XML_SCHEMAP_EXTENSION_NO_BASE' href='html/libxml-xmlerror.html#XML_SCHEMAP_EXTENSION_NO_BASE'/>
-    <reference name='XML_SCHEMAP_E_PROPS_CORRECT_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_2'/>
-    <reference name='XML_SCHEMAP_E_PROPS_CORRECT_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_3'/>
-    <reference name='XML_SCHEMAP_E_PROPS_CORRECT_4' href='html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_4'/>
-    <reference name='XML_SCHEMAP_E_PROPS_CORRECT_5' href='html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_5'/>
-    <reference name='XML_SCHEMAP_E_PROPS_CORRECT_6' href='html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_6'/>
-    <reference name='XML_SCHEMAP_FACET_NO_VALUE' href='html/libxml-xmlerror.html#XML_SCHEMAP_FACET_NO_VALUE'/>
-    <reference name='XML_SCHEMAP_FAILED_BUILD_IMPORT' href='html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_BUILD_IMPORT'/>
-    <reference name='XML_SCHEMAP_FAILED_LOAD' href='html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_LOAD'/>
-    <reference name='XML_SCHEMAP_FAILED_PARSE' href='html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_PARSE'/>
-    <reference name='XML_SCHEMAP_GROUP_NONAME_NOREF' href='html/libxml-xmlerror.html#XML_SCHEMAP_GROUP_NONAME_NOREF'/>
-    <reference name='XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI' href='html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI'/>
-    <reference name='XML_SCHEMAP_IMPORT_REDEFINE_NSNAME' href='html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_REDEFINE_NSNAME'/>
-    <reference name='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI' href='html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI'/>
-    <reference name='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI' href='html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI'/>
-    <reference name='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI' href='html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI'/>
-    <reference name='XML_SCHEMAP_INTERNAL' href='html/libxml-xmlerror.html#XML_SCHEMAP_INTERNAL'/>
-    <reference name='XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE' href='html/libxml-xmlerror.html#XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE'/>
-    <reference name='XML_SCHEMAP_INVALID_ATTR_COMBINATION' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_COMBINATION'/>
-    <reference name='XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION'/>
-    <reference name='XML_SCHEMAP_INVALID_ATTR_NAME' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_NAME'/>
-    <reference name='XML_SCHEMAP_INVALID_ATTR_USE' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_USE'/>
-    <reference name='XML_SCHEMAP_INVALID_BOOLEAN' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_BOOLEAN'/>
-    <reference name='XML_SCHEMAP_INVALID_ENUM' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ENUM'/>
-    <reference name='XML_SCHEMAP_INVALID_FACET' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_FACET'/>
-    <reference name='XML_SCHEMAP_INVALID_FACET_VALUE' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_FACET_VALUE'/>
-    <reference name='XML_SCHEMAP_INVALID_MAXOCCURS' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_MAXOCCURS'/>
-    <reference name='XML_SCHEMAP_INVALID_MINOCCURS' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_MINOCCURS'/>
-    <reference name='XML_SCHEMAP_INVALID_REF_AND_SUBTYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_REF_AND_SUBTYPE'/>
-    <reference name='XML_SCHEMAP_INVALID_WHITE_SPACE' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_WHITE_SPACE'/>
-    <reference name='XML_SCHEMAP_MG_PROPS_CORRECT_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_1'/>
-    <reference name='XML_SCHEMAP_MG_PROPS_CORRECT_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_2'/>
-    <reference name='XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD'/>
-    <reference name='XML_SCHEMAP_NOATTR_NOREF' href='html/libxml-xmlerror.html#XML_SCHEMAP_NOATTR_NOREF'/>
-    <reference name='XML_SCHEMAP_NOROOT' href='html/libxml-xmlerror.html#XML_SCHEMAP_NOROOT'/>
-    <reference name='XML_SCHEMAP_NOTATION_NO_NAME' href='html/libxml-xmlerror.html#XML_SCHEMAP_NOTATION_NO_NAME'/>
-    <reference name='XML_SCHEMAP_NOTHING_TO_PARSE' href='html/libxml-xmlerror.html#XML_SCHEMAP_NOTHING_TO_PARSE'/>
-    <reference name='XML_SCHEMAP_NOTYPE_NOREF' href='html/libxml-xmlerror.html#XML_SCHEMAP_NOTYPE_NOREF'/>
-    <reference name='XML_SCHEMAP_NOT_DETERMINISTIC' href='html/libxml-xmlerror.html#XML_SCHEMAP_NOT_DETERMINISTIC'/>
-    <reference name='XML_SCHEMAP_NOT_SCHEMA' href='html/libxml-xmlerror.html#XML_SCHEMAP_NOT_SCHEMA'/>
-    <reference name='XML_SCHEMAP_NO_XMLNS' href='html/libxml-xmlerror.html#XML_SCHEMAP_NO_XMLNS'/>
-    <reference name='XML_SCHEMAP_NO_XSI' href='html/libxml-xmlerror.html#XML_SCHEMAP_NO_XSI'/>
-    <reference name='XML_SCHEMAP_PREFIX_UNDEFINED' href='html/libxml-xmlerror.html#XML_SCHEMAP_PREFIX_UNDEFINED'/>
-    <reference name='XML_SCHEMAP_P_PROPS_CORRECT_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_1'/>
-    <reference name='XML_SCHEMAP_P_PROPS_CORRECT_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_1'/>
-    <reference name='XML_SCHEMAP_P_PROPS_CORRECT_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_2'/>
-    <reference name='XML_SCHEMAP_RECURSIVE' href='html/libxml-xmlerror.html#XML_SCHEMAP_RECURSIVE'/>
-    <reference name='XML_SCHEMAP_REDEFINED_ATTR' href='html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTR'/>
-    <reference name='XML_SCHEMAP_REDEFINED_ATTRGROUP' href='html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTRGROUP'/>
-    <reference name='XML_SCHEMAP_REDEFINED_ELEMENT' href='html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ELEMENT'/>
-    <reference name='XML_SCHEMAP_REDEFINED_GROUP' href='html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_GROUP'/>
-    <reference name='XML_SCHEMAP_REDEFINED_NOTATION' href='html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_NOTATION'/>
-    <reference name='XML_SCHEMAP_REDEFINED_TYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_TYPE'/>
-    <reference name='XML_SCHEMAP_REF_AND_CONTENT' href='html/libxml-xmlerror.html#XML_SCHEMAP_REF_AND_CONTENT'/>
-    <reference name='XML_SCHEMAP_REF_AND_SUBTYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_REF_AND_SUBTYPE'/>
-    <reference name='XML_SCHEMAP_REGEXP_INVALID' href='html/libxml-xmlerror.html#XML_SCHEMAP_REGEXP_INVALID'/>
-    <reference name='XML_SCHEMAP_RESTRICTION_NONAME_NOREF' href='html/libxml-xmlerror.html#XML_SCHEMAP_RESTRICTION_NONAME_NOREF'/>
-    <reference name='XML_SCHEMAP_S4S_ATTR_INVALID_VALUE' href='html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_INVALID_VALUE'/>
-    <reference name='XML_SCHEMAP_S4S_ATTR_MISSING' href='html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_MISSING'/>
-    <reference name='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED' href='html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED'/>
-    <reference name='XML_SCHEMAP_S4S_ELEM_MISSING' href='html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_MISSING'/>
-    <reference name='XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED' href='html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED'/>
-    <reference name='XML_SCHEMAP_SIMPLETYPE_NONAME' href='html/libxml-xmlerror.html#XML_SCHEMAP_SIMPLETYPE_NONAME'/>
-    <reference name='XML_SCHEMAP_SRC_ATTRIBUTE_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_1'/>
-    <reference name='XML_SCHEMAP_SRC_ATTRIBUTE_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_2'/>
-    <reference name='XML_SCHEMAP_SRC_ATTRIBUTE_3_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_1'/>
-    <reference name='XML_SCHEMAP_SRC_ATTRIBUTE_3_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_2'/>
-    <reference name='XML_SCHEMAP_SRC_ATTRIBUTE_4' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_4'/>
-    <reference name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1'/>
-    <reference name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2'/>
-    <reference name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3'/>
-    <reference name='XML_SCHEMAP_SRC_CT_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_CT_1'/>
-    <reference name='XML_SCHEMAP_SRC_ELEMENT_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_1'/>
-    <reference name='XML_SCHEMAP_SRC_ELEMENT_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_1'/>
-    <reference name='XML_SCHEMAP_SRC_ELEMENT_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_2'/>
-    <reference name='XML_SCHEMAP_SRC_ELEMENT_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_3'/>
-    <reference name='XML_SCHEMAP_SRC_IMPORT' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT'/>
-    <reference name='XML_SCHEMAP_SRC_IMPORT_1_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_1'/>
-    <reference name='XML_SCHEMAP_SRC_IMPORT_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_2'/>
-    <reference name='XML_SCHEMAP_SRC_IMPORT_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2'/>
-    <reference name='XML_SCHEMAP_SRC_IMPORT_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_1'/>
-    <reference name='XML_SCHEMAP_SRC_IMPORT_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_2'/>
-    <reference name='XML_SCHEMAP_SRC_IMPORT_3_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_1'/>
-    <reference name='XML_SCHEMAP_SRC_IMPORT_3_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_2'/>
-    <reference name='XML_SCHEMAP_SRC_INCLUDE' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_INCLUDE'/>
-    <reference name='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE'/>
-    <reference name='XML_SCHEMAP_SRC_REDEFINE' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_REDEFINE'/>
-    <reference name='XML_SCHEMAP_SRC_RESOLVE' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESOLVE'/>
-    <reference name='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE'/>
-    <reference name='XML_SCHEMAP_SRC_SIMPLE_TYPE_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_1'/>
-    <reference name='XML_SCHEMAP_SRC_SIMPLE_TYPE_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_2'/>
-    <reference name='XML_SCHEMAP_SRC_SIMPLE_TYPE_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_3'/>
-    <reference name='XML_SCHEMAP_SRC_SIMPLE_TYPE_4' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_4'/>
-    <reference name='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES'/>
-    <reference name='XML_SCHEMAP_ST_PROPS_CORRECT_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_1'/>
-    <reference name='XML_SCHEMAP_ST_PROPS_CORRECT_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_2'/>
-    <reference name='XML_SCHEMAP_ST_PROPS_CORRECT_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_3'/>
-    <reference name='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE'/>
-    <reference name='XML_SCHEMAP_TYPE_AND_SUBTYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_TYPE_AND_SUBTYPE'/>
-    <reference name='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNION_NOT_EXPRESSIBLE'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_ALL_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ALL_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_ATTR_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTR_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_BASE_TYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_BASE_TYPE'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_CHOICE_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_CHOICE_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_ELEM_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ELEM_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_FACET_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_FACET_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_FACET_TYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_FACET_TYPE'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_GROUP_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_GROUP_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_IMPORT_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_LIST_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_LIST_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_MEMBER_TYPE'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_NOTATION_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_PREFIX' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PREFIX'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_REF' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_REF'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_TYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_TYPE'/>
-    <reference name='XML_SCHEMAP_UNKNOWN_UNION_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_UNION_CHILD'/>
-    <reference name='XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH' href='html/libxml-xmlerror.html#XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH'/>
-    <reference name='XML_SCHEMAP_WARN_ATTR_REDECL_PROH' href='html/libxml-xmlerror.html#XML_SCHEMAP_WARN_ATTR_REDECL_PROH'/>
-    <reference name='XML_SCHEMAP_WARN_SKIP_SCHEMA' href='html/libxml-xmlerror.html#XML_SCHEMAP_WARN_SKIP_SCHEMA'/>
-    <reference name='XML_SCHEMAP_WARN_UNLOCATED_SCHEMA' href='html/libxml-xmlerror.html#XML_SCHEMAP_WARN_UNLOCATED_SCHEMA'/>
-    <reference name='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER' href='html/libxml-xmlerror.html#XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER'/>
-    <reference name='XML_SCHEMAS_ANYATTR_LAX' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX'/>
-    <reference name='XML_SCHEMAS_ANYATTR_SKIP' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP'/>
-    <reference name='XML_SCHEMAS_ANYATTR_STRICT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT'/>
-    <reference name='XML_SCHEMAS_ANYSIMPLETYPE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYSIMPLETYPE'/>
-    <reference name='XML_SCHEMAS_ANYTYPE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYTYPE'/>
-    <reference name='XML_SCHEMAS_ANYURI' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYURI'/>
-    <reference name='XML_SCHEMAS_ANY_LAX' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX'/>
-    <reference name='XML_SCHEMAS_ANY_SKIP' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_SKIP'/>
-    <reference name='XML_SCHEMAS_ANY_STRICT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_STRICT'/>
-    <reference name='XML_SCHEMAS_ATTRGROUP_GLOBAL' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL'/>
-    <reference name='XML_SCHEMAS_ATTRGROUP_HAS_REFS' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_HAS_REFS'/>
-    <reference name='XML_SCHEMAS_ATTRGROUP_MARKED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED'/>
-    <reference name='XML_SCHEMAS_ATTRGROUP_REDEFINED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_REDEFINED'/>
-    <reference name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED'/>
-    <reference name='XML_SCHEMAS_ATTR_FIXED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_FIXED'/>
-    <reference name='XML_SCHEMAS_ATTR_GLOBAL' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_GLOBAL'/>
-    <reference name='XML_SCHEMAS_ATTR_INTERNAL_RESOLVED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED'/>
-    <reference name='XML_SCHEMAS_ATTR_NSDEFAULT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_NSDEFAULT'/>
-    <reference name='XML_SCHEMAS_ATTR_USE_OPTIONAL' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL'/>
-    <reference name='XML_SCHEMAS_ATTR_USE_PROHIBITED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
-    <reference name='XML_SCHEMAS_ATTR_USE_REQUIRED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED'/>
-    <reference name='XML_SCHEMAS_BASE64BINARY' href='html/libxml-schemasInternals.html#XML_SCHEMAS_BASE64BINARY'/>
-    <reference name='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION'/>
-    <reference name='XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION'/>
-    <reference name='XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION'/>
-    <reference name='XML_SCHEMAS_BOOLEAN' href='html/libxml-schemasInternals.html#XML_SCHEMAS_BOOLEAN'/>
-    <reference name='XML_SCHEMAS_BYTE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_BYTE'/>
-    <reference name='XML_SCHEMAS_DATE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_DATE'/>
-    <reference name='XML_SCHEMAS_DATETIME' href='html/libxml-schemasInternals.html#XML_SCHEMAS_DATETIME'/>
-    <reference name='XML_SCHEMAS_DECIMAL' href='html/libxml-schemasInternals.html#XML_SCHEMAS_DECIMAL'/>
-    <reference name='XML_SCHEMAS_DOUBLE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_DOUBLE'/>
-    <reference name='XML_SCHEMAS_DURATION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_DURATION'/>
-    <reference name='XML_SCHEMAS_ELEM_ABSTRACT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_ABSTRACT'/>
-    <reference name='XML_SCHEMAS_ELEM_BLOCK_ABSENT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_ABSENT'/>
-    <reference name='XML_SCHEMAS_ELEM_BLOCK_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION'/>
-    <reference name='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION'/>
-    <reference name='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION'/>
-    <reference name='XML_SCHEMAS_ELEM_CIRCULAR' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR'/>
-    <reference name='XML_SCHEMAS_ELEM_DEFAULT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_DEFAULT'/>
-    <reference name='XML_SCHEMAS_ELEM_FINAL_ABSENT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT'/>
-    <reference name='XML_SCHEMAS_ELEM_FINAL_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_EXTENSION'/>
-    <reference name='XML_SCHEMAS_ELEM_FINAL_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_RESTRICTION'/>
-    <reference name='XML_SCHEMAS_ELEM_FIXED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED'/>
-    <reference name='XML_SCHEMAS_ELEM_GLOBAL' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL'/>
-    <reference name='XML_SCHEMAS_ELEM_INTERNAL_CHECKED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_CHECKED'/>
-    <reference name='XML_SCHEMAS_ELEM_INTERNAL_RESOLVED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED'/>
-    <reference name='XML_SCHEMAS_ELEM_NILLABLE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NILLABLE'/>
-    <reference name='XML_SCHEMAS_ELEM_NSDEFAULT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT'/>
-    <reference name='XML_SCHEMAS_ELEM_REF' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_REF'/>
-    <reference name='XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD'/>
-    <reference name='XML_SCHEMAS_ELEM_TOPLEVEL' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL'/>
-    <reference name='XML_SCHEMAS_ENTITIES' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITIES'/>
-    <reference name='XML_SCHEMAS_ENTITY' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITY'/>
-    <reference name='XML_SCHEMAS_ERR_' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_'/>
-    <reference name='XML_SCHEMAS_ERR_ATTRINVALID' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ATTRINVALID'/>
-    <reference name='XML_SCHEMAS_ERR_ATTRUNKNOWN' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ATTRUNKNOWN'/>
-    <reference name='XML_SCHEMAS_ERR_CONSTRUCT' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_CONSTRUCT'/>
-    <reference name='XML_SCHEMAS_ERR_ELEMCONT' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ELEMCONT'/>
-    <reference name='XML_SCHEMAS_ERR_EXTRACONTENT' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_EXTRACONTENT'/>
-    <reference name='XML_SCHEMAS_ERR_FACET' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_FACET'/>
-    <reference name='XML_SCHEMAS_ERR_HAVEDEFAULT' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_HAVEDEFAULT'/>
-    <reference name='XML_SCHEMAS_ERR_INTERNAL' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_INTERNAL'/>
-    <reference name='XML_SCHEMAS_ERR_INVALIDATTR' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_INVALIDATTR'/>
-    <reference name='XML_SCHEMAS_ERR_INVALIDELEM' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_INVALIDELEM'/>
-    <reference name='XML_SCHEMAS_ERR_ISABSTRACT' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ISABSTRACT'/>
-    <reference name='XML_SCHEMAS_ERR_MISSING' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_MISSING'/>
-    <reference name='XML_SCHEMAS_ERR_NOROLLBACK' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOROLLBACK'/>
-    <reference name='XML_SCHEMAS_ERR_NOROOT' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOROOT'/>
-    <reference name='XML_SCHEMAS_ERR_NOTDETERMINIST' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTDETERMINIST'/>
-    <reference name='XML_SCHEMAS_ERR_NOTEMPTY' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTEMPTY'/>
-    <reference name='XML_SCHEMAS_ERR_NOTNILLABLE' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTNILLABLE'/>
-    <reference name='XML_SCHEMAS_ERR_NOTSIMPLE' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTSIMPLE'/>
-    <reference name='XML_SCHEMAS_ERR_NOTTOPLEVEL' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTTOPLEVEL'/>
-    <reference name='XML_SCHEMAS_ERR_NOTYPE' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_NOTYPE'/>
-    <reference name='XML_SCHEMAS_ERR_OK' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_OK'/>
-    <reference name='XML_SCHEMAS_ERR_UNDECLAREDELEM' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_UNDECLAREDELEM'/>
-    <reference name='XML_SCHEMAS_ERR_VALUE' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_VALUE'/>
-    <reference name='XML_SCHEMAS_ERR_WRONGELEM' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_WRONGELEM'/>
-    <reference name='XML_SCHEMAS_ERR_XXX' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_XXX'/>
-    <reference name='XML_SCHEMAS_FACET_COLLAPSE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_COLLAPSE'/>
-    <reference name='XML_SCHEMAS_FACET_PRESERVE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE'/>
-    <reference name='XML_SCHEMAS_FACET_REPLACE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_REPLACE'/>
-    <reference name='XML_SCHEMAS_FACET_UNKNOWN' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN'/>
-    <reference name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION'/>
-    <reference name='XML_SCHEMAS_FINAL_DEFAULT_LIST' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST'/>
-    <reference name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION'/>
-    <reference name='XML_SCHEMAS_FINAL_DEFAULT_UNION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_UNION'/>
-    <reference name='XML_SCHEMAS_FLOAT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FLOAT'/>
-    <reference name='XML_SCHEMAS_GDAY' href='html/libxml-schemasInternals.html#XML_SCHEMAS_GDAY'/>
-    <reference name='XML_SCHEMAS_GMONTH' href='html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTH'/>
-    <reference name='XML_SCHEMAS_GMONTHDAY' href='html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTHDAY'/>
-    <reference name='XML_SCHEMAS_GYEAR' href='html/libxml-schemasInternals.html#XML_SCHEMAS_GYEAR'/>
-    <reference name='XML_SCHEMAS_GYEARMONTH' href='html/libxml-schemasInternals.html#XML_SCHEMAS_GYEARMONTH'/>
-    <reference name='XML_SCHEMAS_HEXBINARY' href='html/libxml-schemasInternals.html#XML_SCHEMAS_HEXBINARY'/>
-    <reference name='XML_SCHEMAS_ID' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ID'/>
-    <reference name='XML_SCHEMAS_IDREF' href='html/libxml-schemasInternals.html#XML_SCHEMAS_IDREF'/>
-    <reference name='XML_SCHEMAS_IDREFS' href='html/libxml-schemasInternals.html#XML_SCHEMAS_IDREFS'/>
-    <reference name='XML_SCHEMAS_INCLUDING_CONVERT_NS' href='html/libxml-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS'/>
-    <reference name='XML_SCHEMAS_INT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_INT'/>
-    <reference name='XML_SCHEMAS_INTEGER' href='html/libxml-schemasInternals.html#XML_SCHEMAS_INTEGER'/>
-    <reference name='XML_SCHEMAS_LANGUAGE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_LANGUAGE'/>
-    <reference name='XML_SCHEMAS_LONG' href='html/libxml-schemasInternals.html#XML_SCHEMAS_LONG'/>
-    <reference name='XML_SCHEMAS_NAME' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NAME'/>
-    <reference name='XML_SCHEMAS_NCNAME' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NCNAME'/>
-    <reference name='XML_SCHEMAS_NINTEGER' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NINTEGER'/>
-    <reference name='XML_SCHEMAS_NMTOKEN' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKEN'/>
-    <reference name='XML_SCHEMAS_NMTOKENS' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKENS'/>
-    <reference name='XML_SCHEMAS_NNINTEGER' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NNINTEGER'/>
-    <reference name='XML_SCHEMAS_NORMSTRING' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NORMSTRING'/>
-    <reference name='XML_SCHEMAS_NOTATION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NOTATION'/>
-    <reference name='XML_SCHEMAS_NPINTEGER' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NPINTEGER'/>
-    <reference name='XML_SCHEMAS_PINTEGER' href='html/libxml-schemasInternals.html#XML_SCHEMAS_PINTEGER'/>
-    <reference name='XML_SCHEMAS_QNAME' href='html/libxml-schemasInternals.html#XML_SCHEMAS_QNAME'/>
-    <reference name='XML_SCHEMAS_QUALIF_ATTR' href='html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ATTR'/>
-    <reference name='XML_SCHEMAS_QUALIF_ELEM' href='html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ELEM'/>
-    <reference name='XML_SCHEMAS_SHORT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_SHORT'/>
-    <reference name='XML_SCHEMAS_STRING' href='html/libxml-schemasInternals.html#XML_SCHEMAS_STRING'/>
-    <reference name='XML_SCHEMAS_TIME' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TIME'/>
-    <reference name='XML_SCHEMAS_TOKEN' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TOKEN'/>
-    <reference name='XML_SCHEMAS_TYPE_ABSTRACT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT'/>
-    <reference name='XML_SCHEMAS_TYPE_BLOCK_DEFAULT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT'/>
-    <reference name='XML_SCHEMAS_TYPE_BLOCK_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION'/>
-    <reference name='XML_SCHEMAS_TYPE_BLOCK_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION'/>
-    <reference name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
-    <reference name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
-    <reference name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
-    <reference name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
-    <reference name='XML_SCHEMAS_TYPE_FINAL_DEFAULT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_DEFAULT'/>
-    <reference name='XML_SCHEMAS_TYPE_FINAL_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
-    <reference name='XML_SCHEMAS_TYPE_FINAL_LIST' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_LIST'/>
-    <reference name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
-    <reference name='XML_SCHEMAS_TYPE_FINAL_UNION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_UNION'/>
-    <reference name='XML_SCHEMAS_TYPE_FIXUP_1' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FIXUP_1'/>
-    <reference name='XML_SCHEMAS_TYPE_GLOBAL' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_GLOBAL'/>
-    <reference name='XML_SCHEMAS_TYPE_HAS_FACETS' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_HAS_FACETS'/>
-    <reference name='XML_SCHEMAS_TYPE_INTERNAL_INVALID' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_INVALID'/>
-    <reference name='XML_SCHEMAS_TYPE_INTERNAL_RESOLVED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED'/>
-    <reference name='XML_SCHEMAS_TYPE_MARKED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MARKED'/>
-    <reference name='XML_SCHEMAS_TYPE_MIXED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MIXED'/>
-    <reference name='XML_SCHEMAS_TYPE_NORMVALUENEEDED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_NORMVALUENEEDED'/>
-    <reference name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/>
-    <reference name='XML_SCHEMAS_TYPE_REDEFINED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_REDEFINED'/>
-    <reference name='XML_SCHEMAS_TYPE_VARIETY_ABSENT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-    <reference name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
-    <reference name='XML_SCHEMAS_TYPE_VARIETY_LIST' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST'/>
-    <reference name='XML_SCHEMAS_TYPE_VARIETY_UNION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION'/>
-    <reference name='XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE'/>
-    <reference name='XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE'/>
-    <reference name='XML_SCHEMAS_TYPE_WHITESPACE_REPLACE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE'/>
-    <reference name='XML_SCHEMAS_UBYTE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_UBYTE'/>
-    <reference name='XML_SCHEMAS_UINT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_UINT'/>
-    <reference name='XML_SCHEMAS_ULONG' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ULONG'/>
-    <reference name='XML_SCHEMAS_UNKNOWN' href='html/libxml-schemasInternals.html#XML_SCHEMAS_UNKNOWN'/>
-    <reference name='XML_SCHEMAS_USHORT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_USHORT'/>
-    <reference name='XML_SCHEMAS_WILDCARD_COMPLETE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE'/>
-    <reference name='XML_SCHEMATRONV_ASSERT' href='html/libxml-xmlerror.html#XML_SCHEMATRONV_ASSERT'/>
-    <reference name='XML_SCHEMATRONV_REPORT' href='html/libxml-xmlerror.html#XML_SCHEMATRONV_REPORT'/>
-    <reference name='XML_SCHEMATRON_OUT_BUFFER' href='html/libxml-schematron.html#XML_SCHEMATRON_OUT_BUFFER'/>
-    <reference name='XML_SCHEMATRON_OUT_ERROR' href='html/libxml-schematron.html#XML_SCHEMATRON_OUT_ERROR'/>
-    <reference name='XML_SCHEMATRON_OUT_FILE' href='html/libxml-schematron.html#XML_SCHEMATRON_OUT_FILE'/>
-    <reference name='XML_SCHEMATRON_OUT_IO' href='html/libxml-schematron.html#XML_SCHEMATRON_OUT_IO'/>
-    <reference name='XML_SCHEMATRON_OUT_QUIET' href='html/libxml-schematron.html#XML_SCHEMATRON_OUT_QUIET'/>
-    <reference name='XML_SCHEMATRON_OUT_TEXT' href='html/libxml-schematron.html#XML_SCHEMATRON_OUT_TEXT'/>
-    <reference name='XML_SCHEMATRON_OUT_XML' href='html/libxml-schematron.html#XML_SCHEMATRON_OUT_XML'/>
-    <reference name='XML_SCHEMAV_ATTRINVALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_ATTRINVALID'/>
-    <reference name='XML_SCHEMAV_ATTRUNKNOWN' href='html/libxml-xmlerror.html#XML_SCHEMAV_ATTRUNKNOWN'/>
-    <reference name='XML_SCHEMAV_CONSTRUCT' href='html/libxml-xmlerror.html#XML_SCHEMAV_CONSTRUCT'/>
-    <reference name='XML_SCHEMAV_CVC_ATTRIBUTE_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_1'/>
-    <reference name='XML_SCHEMAV_CVC_ATTRIBUTE_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_2'/>
-    <reference name='XML_SCHEMAV_CVC_ATTRIBUTE_3' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_3'/>
-    <reference name='XML_SCHEMAV_CVC_ATTRIBUTE_4' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_4'/>
-    <reference name='XML_SCHEMAV_CVC_AU' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_AU'/>
-    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_1'/>
-    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1'/>
-    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2'/>
-    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3'/>
-    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4'/>
-    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1'/>
-    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1'/>
-    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2'/>
-    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_4' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_4'/>
-    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1'/>
-    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2'/>
-    <reference name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1'/>
-    <reference name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2'/>
-    <reference name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_1'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_2'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_3_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_1'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_3_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_1'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_3_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_2'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_4_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_1'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_4_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_2'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_4_3' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_3'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_5_1_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_1'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_5_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_2'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_5_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_1'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_5_2_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_1'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_5_2_2_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_1'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_5_2_2_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_2'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_6' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_6'/>
-    <reference name='XML_SCHEMAV_CVC_ELT_7' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_7'/>
-    <reference name='XML_SCHEMAV_CVC_ENUMERATION_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ENUMERATION_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_FACET_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FACET_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_IDC' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_IDC'/>
-    <reference name='XML_SCHEMAV_CVC_LENGTH_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_LENGTH_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_MAXLENGTH_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXLENGTH_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_MININCLUSIVE_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MININCLUSIVE_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_MINLENGTH_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINLENGTH_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_PATTERN_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_PATTERN_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_TOTALDIGITS_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TOTALDIGITS_VALID'/>
-    <reference name='XML_SCHEMAV_CVC_TYPE_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_1'/>
-    <reference name='XML_SCHEMAV_CVC_TYPE_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_2'/>
-    <reference name='XML_SCHEMAV_CVC_TYPE_3_1_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_1'/>
-    <reference name='XML_SCHEMAV_CVC_TYPE_3_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_2'/>
-    <reference name='XML_SCHEMAV_CVC_WILDCARD' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_WILDCARD'/>
-    <reference name='XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING' href='html/libxml-xmlerror.html#XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING'/>
-    <reference name='XML_SCHEMAV_ELEMCONT' href='html/libxml-xmlerror.html#XML_SCHEMAV_ELEMCONT'/>
-    <reference name='XML_SCHEMAV_ELEMENT_CONTENT' href='html/libxml-xmlerror.html#XML_SCHEMAV_ELEMENT_CONTENT'/>
-    <reference name='XML_SCHEMAV_EXTRACONTENT' href='html/libxml-xmlerror.html#XML_SCHEMAV_EXTRACONTENT'/>
-    <reference name='XML_SCHEMAV_FACET' href='html/libxml-xmlerror.html#XML_SCHEMAV_FACET'/>
-    <reference name='XML_SCHEMAV_HAVEDEFAULT' href='html/libxml-xmlerror.html#XML_SCHEMAV_HAVEDEFAULT'/>
-    <reference name='XML_SCHEMAV_INTERNAL' href='html/libxml-xmlerror.html#XML_SCHEMAV_INTERNAL'/>
-    <reference name='XML_SCHEMAV_INVALIDATTR' href='html/libxml-xmlerror.html#XML_SCHEMAV_INVALIDATTR'/>
-    <reference name='XML_SCHEMAV_INVALIDELEM' href='html/libxml-xmlerror.html#XML_SCHEMAV_INVALIDELEM'/>
-    <reference name='XML_SCHEMAV_ISABSTRACT' href='html/libxml-xmlerror.html#XML_SCHEMAV_ISABSTRACT'/>
-    <reference name='XML_SCHEMAV_MISC' href='html/libxml-xmlerror.html#XML_SCHEMAV_MISC'/>
-    <reference name='XML_SCHEMAV_MISSING' href='html/libxml-xmlerror.html#XML_SCHEMAV_MISSING'/>
-    <reference name='XML_SCHEMAV_NOROLLBACK' href='html/libxml-xmlerror.html#XML_SCHEMAV_NOROLLBACK'/>
-    <reference name='XML_SCHEMAV_NOROOT' href='html/libxml-xmlerror.html#XML_SCHEMAV_NOROOT'/>
-    <reference name='XML_SCHEMAV_NOTDETERMINIST' href='html/libxml-xmlerror.html#XML_SCHEMAV_NOTDETERMINIST'/>
-    <reference name='XML_SCHEMAV_NOTEMPTY' href='html/libxml-xmlerror.html#XML_SCHEMAV_NOTEMPTY'/>
-    <reference name='XML_SCHEMAV_NOTNILLABLE' href='html/libxml-xmlerror.html#XML_SCHEMAV_NOTNILLABLE'/>
-    <reference name='XML_SCHEMAV_NOTSIMPLE' href='html/libxml-xmlerror.html#XML_SCHEMAV_NOTSIMPLE'/>
-    <reference name='XML_SCHEMAV_NOTTOPLEVEL' href='html/libxml-xmlerror.html#XML_SCHEMAV_NOTTOPLEVEL'/>
-    <reference name='XML_SCHEMAV_NOTYPE' href='html/libxml-xmlerror.html#XML_SCHEMAV_NOTYPE'/>
-    <reference name='XML_SCHEMAV_UNDECLAREDELEM' href='html/libxml-xmlerror.html#XML_SCHEMAV_UNDECLAREDELEM'/>
-    <reference name='XML_SCHEMAV_VALUE' href='html/libxml-xmlerror.html#XML_SCHEMAV_VALUE'/>
-    <reference name='XML_SCHEMAV_WRONGELEM' href='html/libxml-xmlerror.html#XML_SCHEMAV_WRONGELEM'/>
-    <reference name='XML_SCHEMA_CONTENT_ANY' href='html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_ANY'/>
-    <reference name='XML_SCHEMA_CONTENT_BASIC' href='html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_BASIC'/>
-    <reference name='XML_SCHEMA_CONTENT_ELEMENTS' href='html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_ELEMENTS'/>
-    <reference name='XML_SCHEMA_CONTENT_EMPTY' href='html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_EMPTY'/>
-    <reference name='XML_SCHEMA_CONTENT_MIXED' href='html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_MIXED'/>
-    <reference name='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' href='html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS'/>
-    <reference name='XML_SCHEMA_CONTENT_SIMPLE' href='html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_SIMPLE'/>
-    <reference name='XML_SCHEMA_CONTENT_UNKNOWN' href='html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_UNKNOWN'/>
-    <reference name='XML_SCHEMA_EXTRA_ATTR_USE_PROHIB' href='html/libxml-schemasInternals.html#XML_SCHEMA_EXTRA_ATTR_USE_PROHIB'/>
-    <reference name='XML_SCHEMA_EXTRA_QNAMEREF' href='html/libxml-schemasInternals.html#XML_SCHEMA_EXTRA_QNAMEREF'/>
-    <reference name='XML_SCHEMA_FACET_ENUMERATION' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_ENUMERATION'/>
-    <reference name='XML_SCHEMA_FACET_FRACTIONDIGITS' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_FRACTIONDIGITS'/>
-    <reference name='XML_SCHEMA_FACET_LENGTH' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_LENGTH'/>
-    <reference name='XML_SCHEMA_FACET_MAXEXCLUSIVE' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MAXEXCLUSIVE'/>
-    <reference name='XML_SCHEMA_FACET_MAXINCLUSIVE' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MAXINCLUSIVE'/>
-    <reference name='XML_SCHEMA_FACET_MAXLENGTH' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MAXLENGTH'/>
-    <reference name='XML_SCHEMA_FACET_MINEXCLUSIVE' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MINEXCLUSIVE'/>
-    <reference name='XML_SCHEMA_FACET_MININCLUSIVE' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MININCLUSIVE'/>
-    <reference name='XML_SCHEMA_FACET_MINLENGTH' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_MINLENGTH'/>
-    <reference name='XML_SCHEMA_FACET_PATTERN' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_PATTERN'/>
-    <reference name='XML_SCHEMA_FACET_TOTALDIGITS' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_TOTALDIGITS'/>
-    <reference name='XML_SCHEMA_FACET_WHITESPACE' href='html/libxml-schemasInternals.html#XML_SCHEMA_FACET_WHITESPACE'/>
-    <reference name='XML_SCHEMA_TYPE_ALL' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ALL'/>
-    <reference name='XML_SCHEMA_TYPE_ANY' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ANY'/>
-    <reference name='XML_SCHEMA_TYPE_ANY_ATTRIBUTE' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ANY_ATTRIBUTE'/>
-    <reference name='XML_SCHEMA_TYPE_ATTRIBUTE' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTE'/>
-    <reference name='XML_SCHEMA_TYPE_ATTRIBUTEGROUP' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTEGROUP'/>
-    <reference name='XML_SCHEMA_TYPE_ATTRIBUTE_USE' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTE_USE'/>
-    <reference name='XML_SCHEMA_TYPE_BASIC' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_BASIC'/>
-    <reference name='XML_SCHEMA_TYPE_CHOICE' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_CHOICE'/>
-    <reference name='XML_SCHEMA_TYPE_COMPLEX' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_COMPLEX'/>
-    <reference name='XML_SCHEMA_TYPE_COMPLEX_CONTENT' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_COMPLEX_CONTENT'/>
-    <reference name='XML_SCHEMA_TYPE_ELEMENT' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_ELEMENT'/>
-    <reference name='XML_SCHEMA_TYPE_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_EXTENSION'/>
-    <reference name='XML_SCHEMA_TYPE_FACET' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_FACET'/>
-    <reference name='XML_SCHEMA_TYPE_GROUP' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_GROUP'/>
-    <reference name='XML_SCHEMA_TYPE_IDC_KEY' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEY'/>
-    <reference name='XML_SCHEMA_TYPE_IDC_KEYREF' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEYREF'/>
-    <reference name='XML_SCHEMA_TYPE_IDC_UNIQUE' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_UNIQUE'/>
-    <reference name='XML_SCHEMA_TYPE_LIST' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_LIST'/>
-    <reference name='XML_SCHEMA_TYPE_NOTATION' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_NOTATION'/>
-    <reference name='XML_SCHEMA_TYPE_PARTICLE' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_PARTICLE'/>
-    <reference name='XML_SCHEMA_TYPE_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_RESTRICTION'/>
-    <reference name='XML_SCHEMA_TYPE_SEQUENCE' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_SEQUENCE'/>
-    <reference name='XML_SCHEMA_TYPE_SIMPLE' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE'/>
-    <reference name='XML_SCHEMA_TYPE_SIMPLE_CONTENT' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE_CONTENT'/>
-    <reference name='XML_SCHEMA_TYPE_UNION' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_UNION'/>
-    <reference name='XML_SCHEMA_TYPE_UR' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_UR'/>
-    <reference name='XML_SCHEMA_VAL_VC_I_CREATE' href='html/libxml-xmlschemas.html#XML_SCHEMA_VAL_VC_I_CREATE'/>
-    <reference name='XML_SCHEMA_WHITESPACE_COLLAPSE' href='html/libxml-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_COLLAPSE'/>
-    <reference name='XML_SCHEMA_WHITESPACE_PRESERVE' href='html/libxml-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_PRESERVE'/>
-    <reference name='XML_SCHEMA_WHITESPACE_REPLACE' href='html/libxml-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_REPLACE'/>
-    <reference name='XML_SCHEMA_WHITESPACE_UNKNOWN' href='html/libxml-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_UNKNOWN'/>
-    <reference name='XML_SKIP_IDS' href='html/libxml-parser.html#XML_SKIP_IDS'/>
-    <reference name='XML_SUBSTITUTE_BOTH' href='html/libxml-parserInternals.html#XML_SUBSTITUTE_BOTH'/>
-    <reference name='XML_SUBSTITUTE_NONE' href='html/libxml-parserInternals.html#XML_SUBSTITUTE_NONE'/>
-    <reference name='XML_SUBSTITUTE_PEREF' href='html/libxml-parserInternals.html#XML_SUBSTITUTE_PEREF'/>
-    <reference name='XML_SUBSTITUTE_REF' href='html/libxml-parserInternals.html#XML_SUBSTITUTE_REF'/>
-    <reference name='XML_TEXTREADER_MODE_CLOSED' href='html/libxml-xmlreader.html#XML_TEXTREADER_MODE_CLOSED'/>
-    <reference name='XML_TEXTREADER_MODE_EOF' href='html/libxml-xmlreader.html#XML_TEXTREADER_MODE_EOF'/>
-    <reference name='XML_TEXTREADER_MODE_ERROR' href='html/libxml-xmlreader.html#XML_TEXTREADER_MODE_ERROR'/>
-    <reference name='XML_TEXTREADER_MODE_INITIAL' href='html/libxml-xmlreader.html#XML_TEXTREADER_MODE_INITIAL'/>
-    <reference name='XML_TEXTREADER_MODE_INTERACTIVE' href='html/libxml-xmlreader.html#XML_TEXTREADER_MODE_INTERACTIVE'/>
-    <reference name='XML_TEXTREADER_MODE_READING' href='html/libxml-xmlreader.html#XML_TEXTREADER_MODE_READING'/>
-    <reference name='XML_TEXT_NODE' href='html/libxml-tree.html#XML_TEXT_NODE'/>
-    <reference name='XML_TREE_INVALID_DEC' href='html/libxml-xmlerror.html#XML_TREE_INVALID_DEC'/>
-    <reference name='XML_TREE_INVALID_HEX' href='html/libxml-xmlerror.html#XML_TREE_INVALID_HEX'/>
-    <reference name='XML_TREE_NOT_UTF8' href='html/libxml-xmlerror.html#XML_TREE_NOT_UTF8'/>
-    <reference name='XML_TREE_UNTERMINATED_ENTITY' href='html/libxml-xmlerror.html#XML_TREE_UNTERMINATED_ENTITY'/>
-    <reference name='XML_WAR_CATALOG_PI' href='html/libxml-xmlerror.html#XML_WAR_CATALOG_PI'/>
-    <reference name='XML_WAR_ENTITY_REDEFINED' href='html/libxml-xmlerror.html#XML_WAR_ENTITY_REDEFINED'/>
-    <reference name='XML_WAR_LANG_VALUE' href='html/libxml-xmlerror.html#XML_WAR_LANG_VALUE'/>
-    <reference name='XML_WAR_NS_COLUMN' href='html/libxml-xmlerror.html#XML_WAR_NS_COLUMN'/>
-    <reference name='XML_WAR_NS_URI' href='html/libxml-xmlerror.html#XML_WAR_NS_URI'/>
-    <reference name='XML_WAR_NS_URI_RELATIVE' href='html/libxml-xmlerror.html#XML_WAR_NS_URI_RELATIVE'/>
-    <reference name='XML_WAR_SPACE_VALUE' href='html/libxml-xmlerror.html#XML_WAR_SPACE_VALUE'/>
-    <reference name='XML_WAR_UNDECLARED_ENTITY' href='html/libxml-xmlerror.html#XML_WAR_UNDECLARED_ENTITY'/>
-    <reference name='XML_WAR_UNKNOWN_VERSION' href='html/libxml-xmlerror.html#XML_WAR_UNKNOWN_VERSION'/>
-    <reference name='XML_WITH_AUTOMATA' href='html/libxml-parser.html#XML_WITH_AUTOMATA'/>
-    <reference name='XML_WITH_C14N' href='html/libxml-parser.html#XML_WITH_C14N'/>
-    <reference name='XML_WITH_CATALOG' href='html/libxml-parser.html#XML_WITH_CATALOG'/>
-    <reference name='XML_WITH_DEBUG' href='html/libxml-parser.html#XML_WITH_DEBUG'/>
-    <reference name='XML_WITH_DEBUG_MEM' href='html/libxml-parser.html#XML_WITH_DEBUG_MEM'/>
-    <reference name='XML_WITH_DEBUG_RUN' href='html/libxml-parser.html#XML_WITH_DEBUG_RUN'/>
-    <reference name='XML_WITH_EXPR' href='html/libxml-parser.html#XML_WITH_EXPR'/>
-    <reference name='XML_WITH_FTP' href='html/libxml-parser.html#XML_WITH_FTP'/>
-    <reference name='XML_WITH_HTML' href='html/libxml-parser.html#XML_WITH_HTML'/>
-    <reference name='XML_WITH_HTTP' href='html/libxml-parser.html#XML_WITH_HTTP'/>
-    <reference name='XML_WITH_ICONV' href='html/libxml-parser.html#XML_WITH_ICONV'/>
-    <reference name='XML_WITH_ICU' href='html/libxml-parser.html#XML_WITH_ICU'/>
-    <reference name='XML_WITH_ISO8859X' href='html/libxml-parser.html#XML_WITH_ISO8859X'/>
-    <reference name='XML_WITH_LEGACY' href='html/libxml-parser.html#XML_WITH_LEGACY'/>
-    <reference name='XML_WITH_LZMA' href='html/libxml-parser.html#XML_WITH_LZMA'/>
-    <reference name='XML_WITH_MODULES' href='html/libxml-parser.html#XML_WITH_MODULES'/>
-    <reference name='XML_WITH_NONE' href='html/libxml-parser.html#XML_WITH_NONE'/>
-    <reference name='XML_WITH_OUTPUT' href='html/libxml-parser.html#XML_WITH_OUTPUT'/>
-    <reference name='XML_WITH_PATTERN' href='html/libxml-parser.html#XML_WITH_PATTERN'/>
-    <reference name='XML_WITH_PUSH' href='html/libxml-parser.html#XML_WITH_PUSH'/>
-    <reference name='XML_WITH_READER' href='html/libxml-parser.html#XML_WITH_READER'/>
-    <reference name='XML_WITH_REGEXP' href='html/libxml-parser.html#XML_WITH_REGEXP'/>
-    <reference name='XML_WITH_SAX1' href='html/libxml-parser.html#XML_WITH_SAX1'/>
-    <reference name='XML_WITH_SCHEMAS' href='html/libxml-parser.html#XML_WITH_SCHEMAS'/>
-    <reference name='XML_WITH_SCHEMATRON' href='html/libxml-parser.html#XML_WITH_SCHEMATRON'/>
-    <reference name='XML_WITH_THREAD' href='html/libxml-parser.html#XML_WITH_THREAD'/>
-    <reference name='XML_WITH_TREE' href='html/libxml-parser.html#XML_WITH_TREE'/>
-    <reference name='XML_WITH_UNICODE' href='html/libxml-parser.html#XML_WITH_UNICODE'/>
-    <reference name='XML_WITH_VALID' href='html/libxml-parser.html#XML_WITH_VALID'/>
-    <reference name='XML_WITH_WRITER' href='html/libxml-parser.html#XML_WITH_WRITER'/>
-    <reference name='XML_WITH_XINCLUDE' href='html/libxml-parser.html#XML_WITH_XINCLUDE'/>
-    <reference name='XML_WITH_XPATH' href='html/libxml-parser.html#XML_WITH_XPATH'/>
-    <reference name='XML_WITH_XPTR' href='html/libxml-parser.html#XML_WITH_XPTR'/>
-    <reference name='XML_WITH_ZLIB' href='html/libxml-parser.html#XML_WITH_ZLIB'/>
-    <reference name='XML_XINCLUDE_BUILD_FAILED' href='html/libxml-xmlerror.html#XML_XINCLUDE_BUILD_FAILED'/>
-    <reference name='XML_XINCLUDE_DEPRECATED_NS' href='html/libxml-xmlerror.html#XML_XINCLUDE_DEPRECATED_NS'/>
-    <reference name='XML_XINCLUDE_END' href='html/libxml-tree.html#XML_XINCLUDE_END'/>
-    <reference name='XML_XINCLUDE_ENTITY_DEF_MISMATCH' href='html/libxml-xmlerror.html#XML_XINCLUDE_ENTITY_DEF_MISMATCH'/>
-    <reference name='XML_XINCLUDE_FALLBACKS_IN_INCLUDE' href='html/libxml-xmlerror.html#XML_XINCLUDE_FALLBACKS_IN_INCLUDE'/>
-    <reference name='XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE' href='html/libxml-xmlerror.html#XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE'/>
-    <reference name='XML_XINCLUDE_FRAGMENT_ID' href='html/libxml-xmlerror.html#XML_XINCLUDE_FRAGMENT_ID'/>
-    <reference name='XML_XINCLUDE_HREF_URI' href='html/libxml-xmlerror.html#XML_XINCLUDE_HREF_URI'/>
-    <reference name='XML_XINCLUDE_INCLUDE_IN_INCLUDE' href='html/libxml-xmlerror.html#XML_XINCLUDE_INCLUDE_IN_INCLUDE'/>
-    <reference name='XML_XINCLUDE_INVALID_CHAR' href='html/libxml-xmlerror.html#XML_XINCLUDE_INVALID_CHAR'/>
-    <reference name='XML_XINCLUDE_MULTIPLE_ROOT' href='html/libxml-xmlerror.html#XML_XINCLUDE_MULTIPLE_ROOT'/>
-    <reference name='XML_XINCLUDE_NO_FALLBACK' href='html/libxml-xmlerror.html#XML_XINCLUDE_NO_FALLBACK'/>
-    <reference name='XML_XINCLUDE_NO_HREF' href='html/libxml-xmlerror.html#XML_XINCLUDE_NO_HREF'/>
-    <reference name='XML_XINCLUDE_PARSE_VALUE' href='html/libxml-xmlerror.html#XML_XINCLUDE_PARSE_VALUE'/>
-    <reference name='XML_XINCLUDE_RECURSION' href='html/libxml-xmlerror.html#XML_XINCLUDE_RECURSION'/>
-    <reference name='XML_XINCLUDE_START' href='html/libxml-tree.html#XML_XINCLUDE_START'/>
-    <reference name='XML_XINCLUDE_TEXT_DOCUMENT' href='html/libxml-xmlerror.html#XML_XINCLUDE_TEXT_DOCUMENT'/>
-    <reference name='XML_XINCLUDE_TEXT_FRAGMENT' href='html/libxml-xmlerror.html#XML_XINCLUDE_TEXT_FRAGMENT'/>
-    <reference name='XML_XINCLUDE_UNKNOWN_ENCODING' href='html/libxml-xmlerror.html#XML_XINCLUDE_UNKNOWN_ENCODING'/>
-    <reference name='XML_XINCLUDE_XPTR_FAILED' href='html/libxml-xmlerror.html#XML_XINCLUDE_XPTR_FAILED'/>
-    <reference name='XML_XINCLUDE_XPTR_RESULT' href='html/libxml-xmlerror.html#XML_XINCLUDE_XPTR_RESULT'/>
-    <reference name='XML_XML_ID' href='html/libxml-tree.html#XML_XML_ID'/>
-    <reference name='XML_XML_NAMESPACE' href='html/libxml-tree.html#XML_XML_NAMESPACE'/>
-    <reference name='XML_XPATH_CHECKNS' href='html/libxml-xpath.html#XML_XPATH_CHECKNS'/>
-    <reference name='XML_XPATH_ENCODING_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_ENCODING_ERROR'/>
-    <reference name='XML_XPATH_EXPRESSION_OK' href='html/libxml-xmlerror.html#XML_XPATH_EXPRESSION_OK'/>
-    <reference name='XML_XPATH_EXPR_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_EXPR_ERROR'/>
-    <reference name='XML_XPATH_INVALID_ARITY' href='html/libxml-xmlerror.html#XML_XPATH_INVALID_ARITY'/>
-    <reference name='XML_XPATH_INVALID_CHAR_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_INVALID_CHAR_ERROR'/>
-    <reference name='XML_XPATH_INVALID_CTXT_POSITION' href='html/libxml-xmlerror.html#XML_XPATH_INVALID_CTXT_POSITION'/>
-    <reference name='XML_XPATH_INVALID_CTXT_SIZE' href='html/libxml-xmlerror.html#XML_XPATH_INVALID_CTXT_SIZE'/>
-    <reference name='XML_XPATH_INVALID_OPERAND' href='html/libxml-xmlerror.html#XML_XPATH_INVALID_OPERAND'/>
-    <reference name='XML_XPATH_INVALID_PREDICATE_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_INVALID_PREDICATE_ERROR'/>
-    <reference name='XML_XPATH_INVALID_TYPE' href='html/libxml-xmlerror.html#XML_XPATH_INVALID_TYPE'/>
-    <reference name='XML_XPATH_MEMORY_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_MEMORY_ERROR'/>
-    <reference name='XML_XPATH_NOVAR' href='html/libxml-xpath.html#XML_XPATH_NOVAR'/>
-    <reference name='XML_XPATH_NUMBER_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_NUMBER_ERROR'/>
-    <reference name='XML_XPATH_START_LITERAL_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_START_LITERAL_ERROR'/>
-    <reference name='XML_XPATH_UNCLOSED_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_UNCLOSED_ERROR'/>
-    <reference name='XML_XPATH_UNDEF_PREFIX_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_UNDEF_PREFIX_ERROR'/>
-    <reference name='XML_XPATH_UNDEF_VARIABLE_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_UNDEF_VARIABLE_ERROR'/>
-    <reference name='XML_XPATH_UNFINISHED_LITERAL_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_UNFINISHED_LITERAL_ERROR'/>
-    <reference name='XML_XPATH_UNKNOWN_FUNC_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_UNKNOWN_FUNC_ERROR'/>
-    <reference name='XML_XPATH_VARIABLE_REF_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_VARIABLE_REF_ERROR'/>
-    <reference name='XML_XPTR_CHILDSEQ_START' href='html/libxml-xmlerror.html#XML_XPTR_CHILDSEQ_START'/>
-    <reference name='XML_XPTR_EVAL_FAILED' href='html/libxml-xmlerror.html#XML_XPTR_EVAL_FAILED'/>
-    <reference name='XML_XPTR_EXTRA_OBJECTS' href='html/libxml-xmlerror.html#XML_XPTR_EXTRA_OBJECTS'/>
-    <reference name='XML_XPTR_RESOURCE_ERROR' href='html/libxml-xmlerror.html#XML_XPTR_RESOURCE_ERROR'/>
-    <reference name='XML_XPTR_SUB_RESOURCE_ERROR' href='html/libxml-xmlerror.html#XML_XPTR_SUB_RESOURCE_ERROR'/>
-    <reference name='XML_XPTR_SYNTAX_ERROR' href='html/libxml-xmlerror.html#XML_XPTR_SYNTAX_ERROR'/>
-    <reference name='XML_XPTR_UNKNOWN_SCHEME' href='html/libxml-xmlerror.html#XML_XPTR_UNKNOWN_SCHEME'/>
-    <reference name='XPATH_BOOLEAN' href='html/libxml-xpath.html#XPATH_BOOLEAN'/>
-    <reference name='XPATH_ENCODING_ERROR' href='html/libxml-xpath.html#XPATH_ENCODING_ERROR'/>
-    <reference name='XPATH_EXPRESSION_OK' href='html/libxml-xpath.html#XPATH_EXPRESSION_OK'/>
-    <reference name='XPATH_EXPR_ERROR' href='html/libxml-xpath.html#XPATH_EXPR_ERROR'/>
-    <reference name='XPATH_FORBID_VARIABLE_ERROR' href='html/libxml-xpath.html#XPATH_FORBID_VARIABLE_ERROR'/>
-    <reference name='XPATH_INVALID_ARITY' href='html/libxml-xpath.html#XPATH_INVALID_ARITY'/>
-    <reference name='XPATH_INVALID_CHAR_ERROR' href='html/libxml-xpath.html#XPATH_INVALID_CHAR_ERROR'/>
-    <reference name='XPATH_INVALID_CTXT' href='html/libxml-xpath.html#XPATH_INVALID_CTXT'/>
-    <reference name='XPATH_INVALID_CTXT_POSITION' href='html/libxml-xpath.html#XPATH_INVALID_CTXT_POSITION'/>
-    <reference name='XPATH_INVALID_CTXT_SIZE' href='html/libxml-xpath.html#XPATH_INVALID_CTXT_SIZE'/>
-    <reference name='XPATH_INVALID_OPERAND' href='html/libxml-xpath.html#XPATH_INVALID_OPERAND'/>
-    <reference name='XPATH_INVALID_PREDICATE_ERROR' href='html/libxml-xpath.html#XPATH_INVALID_PREDICATE_ERROR'/>
-    <reference name='XPATH_INVALID_TYPE' href='html/libxml-xpath.html#XPATH_INVALID_TYPE'/>
-    <reference name='XPATH_LOCATIONSET' href='html/libxml-xpath.html#XPATH_LOCATIONSET'/>
-    <reference name='XPATH_MEMORY_ERROR' href='html/libxml-xpath.html#XPATH_MEMORY_ERROR'/>
-    <reference name='XPATH_NODESET' href='html/libxml-xpath.html#XPATH_NODESET'/>
-    <reference name='XPATH_NUMBER' href='html/libxml-xpath.html#XPATH_NUMBER'/>
-    <reference name='XPATH_NUMBER_ERROR' href='html/libxml-xpath.html#XPATH_NUMBER_ERROR'/>
-    <reference name='XPATH_OP_LIMIT_EXCEEDED' href='html/libxml-xpath.html#XPATH_OP_LIMIT_EXCEEDED'/>
-    <reference name='XPATH_POINT' href='html/libxml-xpath.html#XPATH_POINT'/>
-    <reference name='XPATH_RANGE' href='html/libxml-xpath.html#XPATH_RANGE'/>
-    <reference name='XPATH_RECURSION_LIMIT_EXCEEDED' href='html/libxml-xpath.html#XPATH_RECURSION_LIMIT_EXCEEDED'/>
-    <reference name='XPATH_STACK_ERROR' href='html/libxml-xpath.html#XPATH_STACK_ERROR'/>
-    <reference name='XPATH_START_LITERAL_ERROR' href='html/libxml-xpath.html#XPATH_START_LITERAL_ERROR'/>
-    <reference name='XPATH_STRING' href='html/libxml-xpath.html#XPATH_STRING'/>
-    <reference name='XPATH_UNCLOSED_ERROR' href='html/libxml-xpath.html#XPATH_UNCLOSED_ERROR'/>
-    <reference name='XPATH_UNDEFINED' href='html/libxml-xpath.html#XPATH_UNDEFINED'/>
-    <reference name='XPATH_UNDEF_PREFIX_ERROR' href='html/libxml-xpath.html#XPATH_UNDEF_PREFIX_ERROR'/>
-    <reference name='XPATH_UNDEF_VARIABLE_ERROR' href='html/libxml-xpath.html#XPATH_UNDEF_VARIABLE_ERROR'/>
-    <reference name='XPATH_UNFINISHED_LITERAL_ERROR' href='html/libxml-xpath.html#XPATH_UNFINISHED_LITERAL_ERROR'/>
-    <reference name='XPATH_UNKNOWN_FUNC_ERROR' href='html/libxml-xpath.html#XPATH_UNKNOWN_FUNC_ERROR'/>
-    <reference name='XPATH_USERS' href='html/libxml-xpath.html#XPATH_USERS'/>
-    <reference name='XPATH_VARIABLE_REF_ERROR' href='html/libxml-xpath.html#XPATH_VARIABLE_REF_ERROR'/>
-    <reference name='XPATH_XSLT_TREE' href='html/libxml-xpath.html#XPATH_XSLT_TREE'/>
-    <reference name='XPTR_RESOURCE_ERROR' href='html/libxml-xpath.html#XPTR_RESOURCE_ERROR'/>
-    <reference name='XPTR_SUB_RESOURCE_ERROR' href='html/libxml-xpath.html#XPTR_SUB_RESOURCE_ERROR'/>
-    <reference name='XPTR_SYNTAX_ERROR' href='html/libxml-xpath.html#XPTR_SYNTAX_ERROR'/>
-    <reference name='XP_ERROR' href='html/libxml-xpathInternals.html#XP_ERROR'/>
-    <reference name='XP_ERROR0' href='html/libxml-xpathInternals.html#XP_ERROR0'/>
-    <reference name='_htmlElemDesc' href='html/libxml-HTMLparser.html#_htmlElemDesc'/>
-    <reference name='_htmlEntityDesc' href='html/libxml-HTMLparser.html#_htmlEntityDesc'/>
-    <reference name='_uconv_t' href='html/libxml-encoding.html#_uconv_t'/>
-    <reference name='_xlinkHandler' href='html/libxml-xlink.html#_xlinkHandler'/>
-    <reference name='_xmlAttr' href='html/libxml-tree.html#_xmlAttr'/>
-    <reference name='_xmlAttribute' href='html/libxml-tree.html#_xmlAttribute'/>
-    <reference name='_xmlBuffer' href='html/libxml-tree.html#_xmlBuffer'/>
-    <reference name='_xmlChLRange' href='html/libxml-chvalid.html#_xmlChLRange'/>
-    <reference name='_xmlChRangeGroup' href='html/libxml-chvalid.html#_xmlChRangeGroup'/>
-    <reference name='_xmlChSRange' href='html/libxml-chvalid.html#_xmlChSRange'/>
-    <reference name='_xmlCharEncodingHandler' href='html/libxml-encoding.html#_xmlCharEncodingHandler'/>
-    <reference name='_xmlDOMWrapCtxt' href='html/libxml-tree.html#_xmlDOMWrapCtxt'/>
-    <reference name='_xmlDoc' href='html/libxml-tree.html#_xmlDoc'/>
-    <reference name='_xmlDtd' href='html/libxml-tree.html#_xmlDtd'/>
-    <reference name='_xmlElement' href='html/libxml-tree.html#_xmlElement'/>
-    <reference name='_xmlElementContent' href='html/libxml-tree.html#_xmlElementContent'/>
-    <reference name='_xmlEntity' href='html/libxml-entities.html#_xmlEntity'/>
-    <reference name='_xmlEnumeration' href='html/libxml-tree.html#_xmlEnumeration'/>
-    <reference name='_xmlError' href='html/libxml-xmlerror.html#_xmlError'/>
-    <reference name='_xmlGlobalState' href='html/libxml-globals.html#_xmlGlobalState'/>
-    <reference name='_xmlID' href='html/libxml-tree.html#_xmlID'/>
-    <reference name='_xmlLocationSet' href='html/libxml-xpointer.html#_xmlLocationSet'/>
-    <reference name='_xmlNode' href='html/libxml-tree.html#_xmlNode'/>
-    <reference name='_xmlNodeSet' href='html/libxml-xpath.html#_xmlNodeSet'/>
-    <reference name='_xmlNotation' href='html/libxml-tree.html#_xmlNotation'/>
-    <reference name='_xmlNs' href='html/libxml-tree.html#_xmlNs'/>
-    <reference name='_xmlOutputBuffer' href='html/libxml-xmlIO.html#_xmlOutputBuffer'/>
-    <reference name='_xmlParserCtxt' href='html/libxml-parser.html#_xmlParserCtxt'/>
-    <reference name='_xmlParserInput' href='html/libxml-parser.html#_xmlParserInput'/>
-    <reference name='_xmlParserInputBuffer' href='html/libxml-xmlIO.html#_xmlParserInputBuffer'/>
-    <reference name='_xmlParserNodeInfo' href='html/libxml-parser.html#_xmlParserNodeInfo'/>
-    <reference name='_xmlParserNodeInfoSeq' href='html/libxml-parser.html#_xmlParserNodeInfoSeq'/>
-    <reference name='_xmlRef' href='html/libxml-tree.html#_xmlRef'/>
-    <reference name='_xmlSAXHandler' href='html/libxml-parser.html#_xmlSAXHandler'/>
-    <reference name='_xmlSAXHandlerV1' href='html/libxml-parser.html#_xmlSAXHandlerV1'/>
-    <reference name='_xmlSAXLocator' href='html/libxml-parser.html#_xmlSAXLocator'/>
-    <reference name='_xmlSchema' href='html/libxml-schemasInternals.html#_xmlSchema'/>
-    <reference name='_xmlSchemaAnnot' href='html/libxml-schemasInternals.html#_xmlSchemaAnnot'/>
-    <reference name='_xmlSchemaAttribute' href='html/libxml-schemasInternals.html#_xmlSchemaAttribute'/>
-    <reference name='_xmlSchemaAttributeGroup' href='html/libxml-schemasInternals.html#_xmlSchemaAttributeGroup'/>
-    <reference name='_xmlSchemaAttributeLink' href='html/libxml-schemasInternals.html#_xmlSchemaAttributeLink'/>
-    <reference name='_xmlSchemaElement' href='html/libxml-schemasInternals.html#_xmlSchemaElement'/>
-    <reference name='_xmlSchemaFacet' href='html/libxml-schemasInternals.html#_xmlSchemaFacet'/>
-    <reference name='_xmlSchemaFacetLink' href='html/libxml-schemasInternals.html#_xmlSchemaFacetLink'/>
-    <reference name='_xmlSchemaNotation' href='html/libxml-schemasInternals.html#_xmlSchemaNotation'/>
-    <reference name='_xmlSchemaType' href='html/libxml-schemasInternals.html#_xmlSchemaType'/>
-    <reference name='_xmlSchemaTypeLink' href='html/libxml-schemasInternals.html#_xmlSchemaTypeLink'/>
-    <reference name='_xmlSchemaWildcard' href='html/libxml-schemasInternals.html#_xmlSchemaWildcard'/>
-    <reference name='_xmlSchemaWildcardNs' href='html/libxml-schemasInternals.html#_xmlSchemaWildcardNs'/>
-    <reference name='_xmlShellCtxt' href='html/libxml-debugXML.html#_xmlShellCtxt'/>
-    <reference name='_xmlURI' href='html/libxml-uri.html#_xmlURI'/>
-    <reference name='_xmlValidCtxt' href='html/libxml-valid.html#_xmlValidCtxt'/>
-    <reference name='_xmlXPathAxis' href='html/libxml-xpath.html#_xmlXPathAxis'/>
-    <reference name='_xmlXPathContext' href='html/libxml-xpath.html#_xmlXPathContext'/>
-    <reference name='_xmlXPathFunct' href='html/libxml-xpath.html#_xmlXPathFunct'/>
-    <reference name='_xmlXPathObject' href='html/libxml-xpath.html#_xmlXPathObject'/>
-    <reference name='_xmlXPathParserContext' href='html/libxml-xpath.html#_xmlXPathParserContext'/>
-    <reference name='_xmlXPathType' href='html/libxml-xpath.html#_xmlXPathType'/>
-    <reference name='_xmlXPathVariable' href='html/libxml-xpath.html#_xmlXPathVariable'/>
-    <reference name='attribute' href='html/libxml-SAX.html#attribute'/>
-    <reference name='attributeDecl' href='html/libxml-SAX.html#attributeDecl'/>
-    <reference name='attributeDeclSAXFunc' href='html/libxml-parser.html#attributeDeclSAXFunc'/>
-    <reference name='attributeSAXFunc' href='html/libxml-parser.html#attributeSAXFunc'/>
-    <reference name='cdataBlock' href='html/libxml-SAX.html#cdataBlock'/>
-    <reference name='cdataBlockSAXFunc' href='html/libxml-parser.html#cdataBlockSAXFunc'/>
-    <reference name='characters' href='html/libxml-SAX.html#characters'/>
-    <reference name='charactersSAXFunc' href='html/libxml-parser.html#charactersSAXFunc'/>
-    <reference name='checkNamespace' href='html/libxml-SAX.html#checkNamespace'/>
-    <reference name='comment' href='html/libxml-SAX.html#comment'/>
-    <reference name='commentSAXFunc' href='html/libxml-parser.html#commentSAXFunc'/>
-    <reference name='docbCreateFileParserCtxt' href='html/libxml-DOCBparser.html#docbCreateFileParserCtxt'/>
-    <reference name='docbCreatePushParserCtxt' href='html/libxml-DOCBparser.html#docbCreatePushParserCtxt'/>
-    <reference name='docbDefaultSAXHandler' href='html/libxml-globals.html#docbDefaultSAXHandler'/>
-    <reference name='docbDefaultSAXHandlerInit' href='html/libxml-SAX2.html#docbDefaultSAXHandlerInit'/>
-    <reference name='docbDocPtr' href='html/libxml-DOCBparser.html#docbDocPtr'/>
-    <reference name='docbEncodeEntities' href='html/libxml-DOCBparser.html#docbEncodeEntities'/>
-    <reference name='docbFreeParserCtxt' href='html/libxml-DOCBparser.html#docbFreeParserCtxt'/>
-    <reference name='docbParseChunk' href='html/libxml-DOCBparser.html#docbParseChunk'/>
-    <reference name='docbParseDoc' href='html/libxml-DOCBparser.html#docbParseDoc'/>
-    <reference name='docbParseDocument' href='html/libxml-DOCBparser.html#docbParseDocument'/>
-    <reference name='docbParseFile' href='html/libxml-DOCBparser.html#docbParseFile'/>
-    <reference name='docbParserCtxt' href='html/libxml-DOCBparser.html#docbParserCtxt'/>
-    <reference name='docbParserCtxtPtr' href='html/libxml-DOCBparser.html#docbParserCtxtPtr'/>
-    <reference name='docbParserInput' href='html/libxml-DOCBparser.html#docbParserInput'/>
-    <reference name='docbParserInputPtr' href='html/libxml-DOCBparser.html#docbParserInputPtr'/>
-    <reference name='docbSAXHandler' href='html/libxml-DOCBparser.html#docbSAXHandler'/>
-    <reference name='docbSAXHandlerPtr' href='html/libxml-DOCBparser.html#docbSAXHandlerPtr'/>
-    <reference name='docbSAXParseDoc' href='html/libxml-DOCBparser.html#docbSAXParseDoc'/>
-    <reference name='docbSAXParseFile' href='html/libxml-DOCBparser.html#docbSAXParseFile'/>
-    <reference name='elementDecl' href='html/libxml-SAX.html#elementDecl'/>
-    <reference name='elementDeclSAXFunc' href='html/libxml-parser.html#elementDeclSAXFunc'/>
-    <reference name='emptyExp' href='html/libxml-xmlregexp.html#emptyExp'/>
-    <reference name='endDocument' href='html/libxml-SAX.html#endDocument'/>
-    <reference name='endDocumentSAXFunc' href='html/libxml-parser.html#endDocumentSAXFunc'/>
-    <reference name='endElement' href='html/libxml-SAX.html#endElement'/>
-    <reference name='endElementNsSAX2Func' href='html/libxml-parser.html#endElementNsSAX2Func'/>
-    <reference name='endElementSAXFunc' href='html/libxml-parser.html#endElementSAXFunc'/>
-    <reference name='entityDecl' href='html/libxml-SAX.html#entityDecl'/>
-    <reference name='entityDeclSAXFunc' href='html/libxml-parser.html#entityDeclSAXFunc'/>
-    <reference name='errorSAXFunc' href='html/libxml-parser.html#errorSAXFunc'/>
-    <reference name='externalSubset' href='html/libxml-SAX.html#externalSubset'/>
-    <reference name='externalSubsetSAXFunc' href='html/libxml-parser.html#externalSubsetSAXFunc'/>
-    <reference name='fatalErrorSAXFunc' href='html/libxml-parser.html#fatalErrorSAXFunc'/>
-    <reference name='forbiddenExp' href='html/libxml-xmlregexp.html#forbiddenExp'/>
-    <reference name='ftpDataCallback' href='html/libxml-nanoftp.html#ftpDataCallback'/>
-    <reference name='ftpListCallback' href='html/libxml-nanoftp.html#ftpListCallback'/>
-    <reference name='getColumnNumber' href='html/libxml-SAX.html#getColumnNumber'/>
-    <reference name='getEntity' href='html/libxml-SAX.html#getEntity'/>
-    <reference name='getEntitySAXFunc' href='html/libxml-parser.html#getEntitySAXFunc'/>
-    <reference name='getLineNumber' href='html/libxml-SAX.html#getLineNumber'/>
-    <reference name='getNamespace' href='html/libxml-SAX.html#getNamespace'/>
-    <reference name='getParameterEntity' href='html/libxml-SAX.html#getParameterEntity'/>
-    <reference name='getParameterEntitySAXFunc' href='html/libxml-parser.html#getParameterEntitySAXFunc'/>
-    <reference name='getPublicId' href='html/libxml-SAX.html#getPublicId'/>
-    <reference name='getSystemId' href='html/libxml-SAX.html#getSystemId'/>
-    <reference name='globalNamespace' href='html/libxml-SAX.html#globalNamespace'/>
-    <reference name='hasExternalSubset' href='html/libxml-SAX.html#hasExternalSubset'/>
-    <reference name='hasExternalSubsetSAXFunc' href='html/libxml-parser.html#hasExternalSubsetSAXFunc'/>
-    <reference name='hasInternalSubset' href='html/libxml-SAX.html#hasInternalSubset'/>
-    <reference name='hasInternalSubsetSAXFunc' href='html/libxml-parser.html#hasInternalSubsetSAXFunc'/>
-    <reference name='htmlAttrAllowed' href='html/libxml-HTMLparser.html#htmlAttrAllowed'/>
-    <reference name='htmlAutoCloseTag' href='html/libxml-HTMLparser.html#htmlAutoCloseTag'/>
-    <reference name='htmlCreateFileParserCtxt' href='html/libxml-parserInternals.html#htmlCreateFileParserCtxt'/>
-    <reference name='htmlCreateMemoryParserCtxt' href='html/libxml-HTMLparser.html#htmlCreateMemoryParserCtxt'/>
-    <reference name='htmlCreatePushParserCtxt' href='html/libxml-HTMLparser.html#htmlCreatePushParserCtxt'/>
-    <reference name='htmlCtxtReadDoc' href='html/libxml-HTMLparser.html#htmlCtxtReadDoc'/>
-    <reference name='htmlCtxtReadFd' href='html/libxml-HTMLparser.html#htmlCtxtReadFd'/>
-    <reference name='htmlCtxtReadFile' href='html/libxml-HTMLparser.html#htmlCtxtReadFile'/>
-    <reference name='htmlCtxtReadIO' href='html/libxml-HTMLparser.html#htmlCtxtReadIO'/>
-    <reference name='htmlCtxtReadMemory' href='html/libxml-HTMLparser.html#htmlCtxtReadMemory'/>
-    <reference name='htmlCtxtReset' href='html/libxml-HTMLparser.html#htmlCtxtReset'/>
-    <reference name='htmlCtxtUseOptions' href='html/libxml-HTMLparser.html#htmlCtxtUseOptions'/>
-    <reference name='htmlDefaultSAXHandler' href='html/libxml-globals.html#htmlDefaultSAXHandler'/>
-    <reference name='htmlDefaultSAXHandlerInit' href='html/libxml-SAX2.html#htmlDefaultSAXHandlerInit'/>
-    <reference name='htmlDefaultSubelement' href='html/libxml-HTMLparser.html#htmlDefaultSubelement'/>
-    <reference name='htmlDocContentDumpFormatOutput' href='html/libxml-HTMLtree.html#htmlDocContentDumpFormatOutput'/>
-    <reference name='htmlDocContentDumpOutput' href='html/libxml-HTMLtree.html#htmlDocContentDumpOutput'/>
-    <reference name='htmlDocDump' href='html/libxml-HTMLtree.html#htmlDocDump'/>
-    <reference name='htmlDocDumpMemory' href='html/libxml-HTMLtree.html#htmlDocDumpMemory'/>
-    <reference name='htmlDocDumpMemoryFormat' href='html/libxml-HTMLtree.html#htmlDocDumpMemoryFormat'/>
-    <reference name='htmlDocPtr' href='html/libxml-HTMLparser.html#htmlDocPtr'/>
-    <reference name='htmlElemDesc' href='html/libxml-HTMLparser.html#htmlElemDesc'/>
-    <reference name='htmlElemDescPtr' href='html/libxml-HTMLparser.html#htmlElemDescPtr'/>
-    <reference name='htmlElementAllowedHere' href='html/libxml-HTMLparser.html#htmlElementAllowedHere'/>
-    <reference name='htmlElementAllowedHereDesc' href='html/libxml-HTMLparser.html#htmlElementAllowedHereDesc'/>
-    <reference name='htmlElementStatusHere' href='html/libxml-HTMLparser.html#htmlElementStatusHere'/>
-    <reference name='htmlEncodeEntities' href='html/libxml-HTMLparser.html#htmlEncodeEntities'/>
-    <reference name='htmlEntityDesc' href='html/libxml-HTMLparser.html#htmlEntityDesc'/>
-    <reference name='htmlEntityDescPtr' href='html/libxml-HTMLparser.html#htmlEntityDescPtr'/>
-    <reference name='htmlEntityLookup' href='html/libxml-HTMLparser.html#htmlEntityLookup'/>
-    <reference name='htmlEntityValueLookup' href='html/libxml-HTMLparser.html#htmlEntityValueLookup'/>
-    <reference name='htmlFreeParserCtxt' href='html/libxml-HTMLparser.html#htmlFreeParserCtxt'/>
-    <reference name='htmlGetMetaEncoding' href='html/libxml-HTMLtree.html#htmlGetMetaEncoding'/>
-    <reference name='htmlHandleOmittedElem' href='html/libxml-HTMLparser.html#htmlHandleOmittedElem'/>
-    <reference name='htmlInitAutoClose' href='html/libxml-parserInternals.html#htmlInitAutoClose'/>
-    <reference name='htmlIsAutoClosed' href='html/libxml-HTMLparser.html#htmlIsAutoClosed'/>
-    <reference name='htmlIsBooleanAttr' href='html/libxml-HTMLtree.html#htmlIsBooleanAttr'/>
-    <reference name='htmlIsScriptAttribute' href='html/libxml-HTMLparser.html#htmlIsScriptAttribute'/>
-    <reference name='htmlNewDoc' href='html/libxml-HTMLtree.html#htmlNewDoc'/>
-    <reference name='htmlNewDocNoDtD' href='html/libxml-HTMLtree.html#htmlNewDocNoDtD'/>
-    <reference name='htmlNewParserCtxt' href='html/libxml-HTMLparser.html#htmlNewParserCtxt'/>
-    <reference name='htmlNodeDump' href='html/libxml-HTMLtree.html#htmlNodeDump'/>
-    <reference name='htmlNodeDumpFile' href='html/libxml-HTMLtree.html#htmlNodeDumpFile'/>
-    <reference name='htmlNodeDumpFileFormat' href='html/libxml-HTMLtree.html#htmlNodeDumpFileFormat'/>
-    <reference name='htmlNodeDumpFormatOutput' href='html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput'/>
-    <reference name='htmlNodeDumpOutput' href='html/libxml-HTMLtree.html#htmlNodeDumpOutput'/>
-    <reference name='htmlNodePtr' href='html/libxml-HTMLparser.html#htmlNodePtr'/>
-    <reference name='htmlNodeStatus' href='html/libxml-HTMLparser.html#htmlNodeStatus'/>
-    <reference name='htmlParseCharRef' href='html/libxml-HTMLparser.html#htmlParseCharRef'/>
-    <reference name='htmlParseChunk' href='html/libxml-HTMLparser.html#htmlParseChunk'/>
-    <reference name='htmlParseDoc' href='html/libxml-HTMLparser.html#htmlParseDoc'/>
-    <reference name='htmlParseDocument' href='html/libxml-HTMLparser.html#htmlParseDocument'/>
-    <reference name='htmlParseElement' href='html/libxml-HTMLparser.html#htmlParseElement'/>
-    <reference name='htmlParseEntityRef' href='html/libxml-HTMLparser.html#htmlParseEntityRef'/>
-    <reference name='htmlParseFile' href='html/libxml-HTMLparser.html#htmlParseFile'/>
-    <reference name='htmlParserCtxt' href='html/libxml-HTMLparser.html#htmlParserCtxt'/>
-    <reference name='htmlParserCtxtPtr' href='html/libxml-HTMLparser.html#htmlParserCtxtPtr'/>
-    <reference name='htmlParserInput' href='html/libxml-HTMLparser.html#htmlParserInput'/>
-    <reference name='htmlParserInputPtr' href='html/libxml-HTMLparser.html#htmlParserInputPtr'/>
-    <reference name='htmlParserNodeInfo' href='html/libxml-HTMLparser.html#htmlParserNodeInfo'/>
-    <reference name='htmlParserOption' href='html/libxml-HTMLparser.html#htmlParserOption'/>
-    <reference name='htmlReadDoc' href='html/libxml-HTMLparser.html#htmlReadDoc'/>
-    <reference name='htmlReadFd' href='html/libxml-HTMLparser.html#htmlReadFd'/>
-    <reference name='htmlReadFile' href='html/libxml-HTMLparser.html#htmlReadFile'/>
-    <reference name='htmlReadIO' href='html/libxml-HTMLparser.html#htmlReadIO'/>
-    <reference name='htmlReadMemory' href='html/libxml-HTMLparser.html#htmlReadMemory'/>
-    <reference name='htmlRequiredAttrs' href='html/libxml-HTMLparser.html#htmlRequiredAttrs'/>
-    <reference name='htmlSAXHandler' href='html/libxml-HTMLparser.html#htmlSAXHandler'/>
-    <reference name='htmlSAXHandlerPtr' href='html/libxml-HTMLparser.html#htmlSAXHandlerPtr'/>
-    <reference name='htmlSAXParseDoc' href='html/libxml-HTMLparser.html#htmlSAXParseDoc'/>
-    <reference name='htmlSAXParseFile' href='html/libxml-HTMLparser.html#htmlSAXParseFile'/>
-    <reference name='htmlSaveFile' href='html/libxml-HTMLtree.html#htmlSaveFile'/>
-    <reference name='htmlSaveFileEnc' href='html/libxml-HTMLtree.html#htmlSaveFileEnc'/>
-    <reference name='htmlSaveFileFormat' href='html/libxml-HTMLtree.html#htmlSaveFileFormat'/>
-    <reference name='htmlSetMetaEncoding' href='html/libxml-HTMLtree.html#htmlSetMetaEncoding'/>
-    <reference name='htmlStatus' href='html/libxml-HTMLparser.html#htmlStatus'/>
-    <reference name='htmlTagLookup' href='html/libxml-HTMLparser.html#htmlTagLookup'/>
-    <reference name='ignorableWhitespace' href='html/libxml-SAX.html#ignorableWhitespace'/>
-    <reference name='ignorableWhitespaceSAXFunc' href='html/libxml-parser.html#ignorableWhitespaceSAXFunc'/>
-    <reference name='initGenericErrorDefaultFunc' href='html/libxml-xmlerror.html#initGenericErrorDefaultFunc'/>
-    <reference name='initdocbDefaultSAXHandler' href='html/libxml-SAX.html#initdocbDefaultSAXHandler'/>
-    <reference name='inithtmlDefaultSAXHandler' href='html/libxml-SAX.html#inithtmlDefaultSAXHandler'/>
-    <reference name='initxmlDefaultSAXHandler' href='html/libxml-SAX.html#initxmlDefaultSAXHandler'/>
-    <reference name='inputPop' href='html/libxml-parserInternals.html#inputPop'/>
-    <reference name='inputPush' href='html/libxml-parserInternals.html#inputPush'/>
-    <reference name='internalSubset' href='html/libxml-SAX.html#internalSubset'/>
-    <reference name='internalSubsetSAXFunc' href='html/libxml-parser.html#internalSubsetSAXFunc'/>
-    <reference name='isStandalone' href='html/libxml-SAX.html#isStandalone'/>
-    <reference name='isStandaloneSAXFunc' href='html/libxml-parser.html#isStandaloneSAXFunc'/>
-    <reference name='isolat1ToUTF8' href='html/libxml-encoding.html#isolat1ToUTF8'/>
-    <reference name='namePop' href='html/libxml-parserInternals.html#namePop'/>
-    <reference name='namePush' href='html/libxml-parserInternals.html#namePush'/>
-    <reference name='namespaceDecl' href='html/libxml-SAX.html#namespaceDecl'/>
-    <reference name='nodePop' href='html/libxml-parserInternals.html#nodePop'/>
-    <reference name='nodePush' href='html/libxml-parserInternals.html#nodePush'/>
-    <reference name='notationDecl' href='html/libxml-SAX.html#notationDecl'/>
-    <reference name='notationDeclSAXFunc' href='html/libxml-parser.html#notationDeclSAXFunc'/>
-    <reference name='oldXMLWDcompatibility' href='html/libxml-globals.html#oldXMLWDcompatibility'/>
-    <reference name='processingInstruction' href='html/libxml-SAX.html#processingInstruction'/>
-    <reference name='processingInstructionSAXFunc' href='html/libxml-parser.html#processingInstructionSAXFunc'/>
-    <reference name='reference' href='html/libxml-SAX.html#reference'/>
-    <reference name='referenceSAXFunc' href='html/libxml-parser.html#referenceSAXFunc'/>
-    <reference name='resolveEntity' href='html/libxml-SAX.html#resolveEntity'/>
-    <reference name='resolveEntitySAXFunc' href='html/libxml-parser.html#resolveEntitySAXFunc'/>
-    <reference name='setDocumentLocator' href='html/libxml-SAX.html#setDocumentLocator'/>
-    <reference name='setDocumentLocatorSAXFunc' href='html/libxml-parser.html#setDocumentLocatorSAXFunc'/>
-    <reference name='setNamespace' href='html/libxml-SAX.html#setNamespace'/>
-    <reference name='startDocument' href='html/libxml-SAX.html#startDocument'/>
-    <reference name='startDocumentSAXFunc' href='html/libxml-parser.html#startDocumentSAXFunc'/>
-    <reference name='startElement' href='html/libxml-SAX.html#startElement'/>
-    <reference name='startElementNsSAX2Func' href='html/libxml-parser.html#startElementNsSAX2Func'/>
-    <reference name='startElementSAXFunc' href='html/libxml-parser.html#startElementSAXFunc'/>
-    <reference name='uconv_t' href='html/libxml-encoding.html#uconv_t'/>
-    <reference name='unparsedEntityDecl' href='html/libxml-SAX.html#unparsedEntityDecl'/>
-    <reference name='unparsedEntityDeclSAXFunc' href='html/libxml-parser.html#unparsedEntityDeclSAXFunc'/>
-    <reference name='valuePop' href='html/libxml-xpathInternals.html#valuePop'/>
-    <reference name='valuePush' href='html/libxml-xpathInternals.html#valuePush'/>
-    <reference name='warningSAXFunc' href='html/libxml-parser.html#warningSAXFunc'/>
-    <reference name='xlinkActuate' href='html/libxml-xlink.html#xlinkActuate'/>
-    <reference name='xlinkExtendedLinkFunk' href='html/libxml-xlink.html#xlinkExtendedLinkFunk'/>
-    <reference name='xlinkExtendedLinkSetFunk' href='html/libxml-xlink.html#xlinkExtendedLinkSetFunk'/>
-    <reference name='xlinkGetDefaultDetect' href='html/libxml-xlink.html#xlinkGetDefaultDetect'/>
-    <reference name='xlinkGetDefaultHandler' href='html/libxml-xlink.html#xlinkGetDefaultHandler'/>
-    <reference name='xlinkHRef' href='html/libxml-xlink.html#xlinkHRef'/>
-    <reference name='xlinkHandler' href='html/libxml-xlink.html#xlinkHandler'/>
-    <reference name='xlinkHandlerPtr' href='html/libxml-xlink.html#xlinkHandlerPtr'/>
-    <reference name='xlinkIsLink' href='html/libxml-xlink.html#xlinkIsLink'/>
-    <reference name='xlinkNodeDetectFunc' href='html/libxml-xlink.html#xlinkNodeDetectFunc'/>
-    <reference name='xlinkRole' href='html/libxml-xlink.html#xlinkRole'/>
-    <reference name='xlinkSetDefaultDetect' href='html/libxml-xlink.html#xlinkSetDefaultDetect'/>
-    <reference name='xlinkSetDefaultHandler' href='html/libxml-xlink.html#xlinkSetDefaultHandler'/>
-    <reference name='xlinkShow' href='html/libxml-xlink.html#xlinkShow'/>
-    <reference name='xlinkSimpleLinkFunk' href='html/libxml-xlink.html#xlinkSimpleLinkFunk'/>
-    <reference name='xlinkTitle' href='html/libxml-xlink.html#xlinkTitle'/>
-    <reference name='xlinkType' href='html/libxml-xlink.html#xlinkType'/>
-    <reference name='xmlACatalogAdd' href='html/libxml-catalog.html#xmlACatalogAdd'/>
-    <reference name='xmlACatalogDump' href='html/libxml-catalog.html#xmlACatalogDump'/>
-    <reference name='xmlACatalogRemove' href='html/libxml-catalog.html#xmlACatalogRemove'/>
-    <reference name='xmlACatalogResolve' href='html/libxml-catalog.html#xmlACatalogResolve'/>
-    <reference name='xmlACatalogResolvePublic' href='html/libxml-catalog.html#xmlACatalogResolvePublic'/>
-    <reference name='xmlACatalogResolveSystem' href='html/libxml-catalog.html#xmlACatalogResolveSystem'/>
-    <reference name='xmlACatalogResolveURI' href='html/libxml-catalog.html#xmlACatalogResolveURI'/>
-    <reference name='xmlAddAttributeDecl' href='html/libxml-valid.html#xmlAddAttributeDecl'/>
-    <reference name='xmlAddChild' href='html/libxml-tree.html#xmlAddChild'/>
-    <reference name='xmlAddChildList' href='html/libxml-tree.html#xmlAddChildList'/>
-    <reference name='xmlAddDocEntity' href='html/libxml-entities.html#xmlAddDocEntity'/>
-    <reference name='xmlAddDtdEntity' href='html/libxml-entities.html#xmlAddDtdEntity'/>
-    <reference name='xmlAddElementDecl' href='html/libxml-valid.html#xmlAddElementDecl'/>
-    <reference name='xmlAddEncodingAlias' href='html/libxml-encoding.html#xmlAddEncodingAlias'/>
-    <reference name='xmlAddID' href='html/libxml-valid.html#xmlAddID'/>
-    <reference name='xmlAddNextSibling' href='html/libxml-tree.html#xmlAddNextSibling'/>
-    <reference name='xmlAddNotationDecl' href='html/libxml-valid.html#xmlAddNotationDecl'/>
-    <reference name='xmlAddPrevSibling' href='html/libxml-tree.html#xmlAddPrevSibling'/>
-    <reference name='xmlAddRef' href='html/libxml-valid.html#xmlAddRef'/>
-    <reference name='xmlAddSibling' href='html/libxml-tree.html#xmlAddSibling'/>
-    <reference name='xmlAllocOutputBuffer' href='html/libxml-xmlIO.html#xmlAllocOutputBuffer'/>
-    <reference name='xmlAllocParserInputBuffer' href='html/libxml-xmlIO.html#xmlAllocParserInputBuffer'/>
-    <reference name='xmlAttr' href='html/libxml-tree.html#xmlAttr'/>
-    <reference name='xmlAttrPtr' href='html/libxml-tree.html#xmlAttrPtr'/>
-    <reference name='xmlAttrSerializeTxtContent' href='html/libxml-tree.html#xmlAttrSerializeTxtContent'/>
-    <reference name='xmlAttribute' href='html/libxml-tree.html#xmlAttribute'/>
-    <reference name='xmlAttributeDefault' href='html/libxml-tree.html#xmlAttributeDefault'/>
-    <reference name='xmlAttributePtr' href='html/libxml-tree.html#xmlAttributePtr'/>
-    <reference name='xmlAttributeTable' href='html/libxml-valid.html#xmlAttributeTable'/>
-    <reference name='xmlAttributeTablePtr' href='html/libxml-valid.html#xmlAttributeTablePtr'/>
-    <reference name='xmlAttributeType' href='html/libxml-tree.html#xmlAttributeType'/>
-    <reference name='xmlAutomata' href='html/libxml-xmlautomata.html#xmlAutomata'/>
-    <reference name='xmlAutomataCompile' href='html/libxml-xmlautomata.html#xmlAutomataCompile'/>
-    <reference name='xmlAutomataGetInitState' href='html/libxml-xmlautomata.html#xmlAutomataGetInitState'/>
-    <reference name='xmlAutomataIsDeterminist' href='html/libxml-xmlautomata.html#xmlAutomataIsDeterminist'/>
-    <reference name='xmlAutomataNewAllTrans' href='html/libxml-xmlautomata.html#xmlAutomataNewAllTrans'/>
-    <reference name='xmlAutomataNewCountTrans' href='html/libxml-xmlautomata.html#xmlAutomataNewCountTrans'/>
-    <reference name='xmlAutomataNewCountTrans2' href='html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2'/>
-    <reference name='xmlAutomataNewCountedTrans' href='html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans'/>
-    <reference name='xmlAutomataNewCounter' href='html/libxml-xmlautomata.html#xmlAutomataNewCounter'/>
-    <reference name='xmlAutomataNewCounterTrans' href='html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans'/>
-    <reference name='xmlAutomataNewEpsilon' href='html/libxml-xmlautomata.html#xmlAutomataNewEpsilon'/>
-    <reference name='xmlAutomataNewNegTrans' href='html/libxml-xmlautomata.html#xmlAutomataNewNegTrans'/>
-    <reference name='xmlAutomataNewOnceTrans' href='html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans'/>
-    <reference name='xmlAutomataNewOnceTrans2' href='html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2'/>
-    <reference name='xmlAutomataNewState' href='html/libxml-xmlautomata.html#xmlAutomataNewState'/>
-    <reference name='xmlAutomataNewTransition' href='html/libxml-xmlautomata.html#xmlAutomataNewTransition'/>
-    <reference name='xmlAutomataNewTransition2' href='html/libxml-xmlautomata.html#xmlAutomataNewTransition2'/>
-    <reference name='xmlAutomataPtr' href='html/libxml-xmlautomata.html#xmlAutomataPtr'/>
-    <reference name='xmlAutomataSetFinalState' href='html/libxml-xmlautomata.html#xmlAutomataSetFinalState'/>
-    <reference name='xmlAutomataState' href='html/libxml-xmlautomata.html#xmlAutomataState'/>
-    <reference name='xmlAutomataStatePtr' href='html/libxml-xmlautomata.html#xmlAutomataStatePtr'/>
-    <reference name='xmlBoolToText' href='html/libxml-debugXML.html#xmlBoolToText'/>
-    <reference name='xmlBuf' href='html/libxml-tree.html#xmlBuf'/>
-    <reference name='xmlBufContent' href='html/libxml-tree.html#xmlBufContent'/>
-    <reference name='xmlBufEnd' href='html/libxml-tree.html#xmlBufEnd'/>
-    <reference name='xmlBufGetNodeContent' href='html/libxml-tree.html#xmlBufGetNodeContent'/>
-    <reference name='xmlBufNodeDump' href='html/libxml-tree.html#xmlBufNodeDump'/>
-    <reference name='xmlBufPtr' href='html/libxml-tree.html#xmlBufPtr'/>
-    <reference name='xmlBufShrink' href='html/libxml-tree.html#xmlBufShrink'/>
-    <reference name='xmlBufUse' href='html/libxml-tree.html#xmlBufUse'/>
-    <reference name='xmlBuffer' href='html/libxml-tree.html#xmlBuffer'/>
-    <reference name='xmlBufferAdd' href='html/libxml-tree.html#xmlBufferAdd'/>
-    <reference name='xmlBufferAddHead' href='html/libxml-tree.html#xmlBufferAddHead'/>
-    <reference name='xmlBufferAllocScheme' href='html/libxml-globals.html#xmlBufferAllocScheme'/>
-    <reference name='xmlBufferAllocationScheme' href='html/libxml-tree.html#xmlBufferAllocationScheme'/>
-    <reference name='xmlBufferCCat' href='html/libxml-tree.html#xmlBufferCCat'/>
-    <reference name='xmlBufferCat' href='html/libxml-tree.html#xmlBufferCat'/>
-    <reference name='xmlBufferContent' href='html/libxml-tree.html#xmlBufferContent'/>
-    <reference name='xmlBufferCreate' href='html/libxml-tree.html#xmlBufferCreate'/>
-    <reference name='xmlBufferCreateSize' href='html/libxml-tree.html#xmlBufferCreateSize'/>
-    <reference name='xmlBufferCreateStatic' href='html/libxml-tree.html#xmlBufferCreateStatic'/>
-    <reference name='xmlBufferDetach' href='html/libxml-tree.html#xmlBufferDetach'/>
-    <reference name='xmlBufferDump' href='html/libxml-tree.html#xmlBufferDump'/>
-    <reference name='xmlBufferEmpty' href='html/libxml-tree.html#xmlBufferEmpty'/>
-    <reference name='xmlBufferFree' href='html/libxml-tree.html#xmlBufferFree'/>
-    <reference name='xmlBufferGrow' href='html/libxml-tree.html#xmlBufferGrow'/>
-    <reference name='xmlBufferLength' href='html/libxml-tree.html#xmlBufferLength'/>
-    <reference name='xmlBufferPtr' href='html/libxml-tree.html#xmlBufferPtr'/>
-    <reference name='xmlBufferResize' href='html/libxml-tree.html#xmlBufferResize'/>
-    <reference name='xmlBufferSetAllocationScheme' href='html/libxml-tree.html#xmlBufferSetAllocationScheme'/>
-    <reference name='xmlBufferShrink' href='html/libxml-tree.html#xmlBufferShrink'/>
-    <reference name='xmlBufferWriteCHAR' href='html/libxml-tree.html#xmlBufferWriteCHAR'/>
-    <reference name='xmlBufferWriteChar' href='html/libxml-tree.html#xmlBufferWriteChar'/>
-    <reference name='xmlBufferWriteQuotedString' href='html/libxml-tree.html#xmlBufferWriteQuotedString'/>
-    <reference name='xmlBuildQName' href='html/libxml-tree.html#xmlBuildQName'/>
-    <reference name='xmlBuildRelativeURI' href='html/libxml-uri.html#xmlBuildRelativeURI'/>
-    <reference name='xmlBuildURI' href='html/libxml-uri.html#xmlBuildURI'/>
-    <reference name='xmlByteConsumed' href='html/libxml-parser.html#xmlByteConsumed'/>
-    <reference name='xmlC14NDocDumpMemory' href='html/libxml-c14n.html#xmlC14NDocDumpMemory'/>
-    <reference name='xmlC14NDocSave' href='html/libxml-c14n.html#xmlC14NDocSave'/>
-    <reference name='xmlC14NDocSaveTo' href='html/libxml-c14n.html#xmlC14NDocSaveTo'/>
-    <reference name='xmlC14NExecute' href='html/libxml-c14n.html#xmlC14NExecute'/>
-    <reference name='xmlC14NIsVisibleCallback' href='html/libxml-c14n.html#xmlC14NIsVisibleCallback'/>
-    <reference name='xmlC14NMode' href='html/libxml-c14n.html#xmlC14NMode'/>
-    <reference name='xmlCanonicPath' href='html/libxml-uri.html#xmlCanonicPath'/>
-    <reference name='xmlCatalog' href='html/libxml-catalog.html#xmlCatalog'/>
-    <reference name='xmlCatalogAdd' href='html/libxml-catalog.html#xmlCatalogAdd'/>
-    <reference name='xmlCatalogAddLocal' href='html/libxml-catalog.html#xmlCatalogAddLocal'/>
-    <reference name='xmlCatalogAllow' href='html/libxml-catalog.html#xmlCatalogAllow'/>
-    <reference name='xmlCatalogCleanup' href='html/libxml-catalog.html#xmlCatalogCleanup'/>
-    <reference name='xmlCatalogConvert' href='html/libxml-catalog.html#xmlCatalogConvert'/>
-    <reference name='xmlCatalogDump' href='html/libxml-catalog.html#xmlCatalogDump'/>
-    <reference name='xmlCatalogFreeLocal' href='html/libxml-catalog.html#xmlCatalogFreeLocal'/>
-    <reference name='xmlCatalogGetDefaults' href='html/libxml-catalog.html#xmlCatalogGetDefaults'/>
-    <reference name='xmlCatalogGetPublic' href='html/libxml-catalog.html#xmlCatalogGetPublic'/>
-    <reference name='xmlCatalogGetSystem' href='html/libxml-catalog.html#xmlCatalogGetSystem'/>
-    <reference name='xmlCatalogIsEmpty' href='html/libxml-catalog.html#xmlCatalogIsEmpty'/>
-    <reference name='xmlCatalogLocalResolve' href='html/libxml-catalog.html#xmlCatalogLocalResolve'/>
-    <reference name='xmlCatalogLocalResolveURI' href='html/libxml-catalog.html#xmlCatalogLocalResolveURI'/>
-    <reference name='xmlCatalogPrefer' href='html/libxml-catalog.html#xmlCatalogPrefer'/>
-    <reference name='xmlCatalogPtr' href='html/libxml-catalog.html#xmlCatalogPtr'/>
-    <reference name='xmlCatalogRemove' href='html/libxml-catalog.html#xmlCatalogRemove'/>
-    <reference name='xmlCatalogResolve' href='html/libxml-catalog.html#xmlCatalogResolve'/>
-    <reference name='xmlCatalogResolvePublic' href='html/libxml-catalog.html#xmlCatalogResolvePublic'/>
-    <reference name='xmlCatalogResolveSystem' href='html/libxml-catalog.html#xmlCatalogResolveSystem'/>
-    <reference name='xmlCatalogResolveURI' href='html/libxml-catalog.html#xmlCatalogResolveURI'/>
-    <reference name='xmlCatalogSetDebug' href='html/libxml-catalog.html#xmlCatalogSetDebug'/>
-    <reference name='xmlCatalogSetDefaultPrefer' href='html/libxml-catalog.html#xmlCatalogSetDefaultPrefer'/>
-    <reference name='xmlCatalogSetDefaults' href='html/libxml-catalog.html#xmlCatalogSetDefaults'/>
-    <reference name='xmlChLRange' href='html/libxml-chvalid.html#xmlChLRange'/>
-    <reference name='xmlChLRangePtr' href='html/libxml-chvalid.html#xmlChLRangePtr'/>
-    <reference name='xmlChRangeGroup' href='html/libxml-chvalid.html#xmlChRangeGroup'/>
-    <reference name='xmlChRangeGroupPtr' href='html/libxml-chvalid.html#xmlChRangeGroupPtr'/>
-    <reference name='xmlChSRange' href='html/libxml-chvalid.html#xmlChSRange'/>
-    <reference name='xmlChSRangePtr' href='html/libxml-chvalid.html#xmlChSRangePtr'/>
-    <reference name='xmlChar' href='html/libxml-xmlstring.html#xmlChar'/>
-    <reference name='xmlCharEncCloseFunc' href='html/libxml-encoding.html#xmlCharEncCloseFunc'/>
-    <reference name='xmlCharEncFirstLine' href='html/libxml-encoding.html#xmlCharEncFirstLine'/>
-    <reference name='xmlCharEncInFunc' href='html/libxml-encoding.html#xmlCharEncInFunc'/>
-    <reference name='xmlCharEncOutFunc' href='html/libxml-encoding.html#xmlCharEncOutFunc'/>
-    <reference name='xmlCharEncoding' href='html/libxml-encoding.html#xmlCharEncoding'/>
-    <reference name='xmlCharEncodingHandler' href='html/libxml-encoding.html#xmlCharEncodingHandler'/>
-    <reference name='xmlCharEncodingHandlerPtr' href='html/libxml-encoding.html#xmlCharEncodingHandlerPtr'/>
-    <reference name='xmlCharEncodingInputFunc' href='html/libxml-encoding.html#xmlCharEncodingInputFunc'/>
-    <reference name='xmlCharEncodingOutputFunc' href='html/libxml-encoding.html#xmlCharEncodingOutputFunc'/>
-    <reference name='xmlCharInRange' href='html/libxml-chvalid.html#xmlCharInRange'/>
-    <reference name='xmlCharStrdup' href='html/libxml-xmlstring.html#xmlCharStrdup'/>
-    <reference name='xmlCharStrndup' href='html/libxml-xmlstring.html#xmlCharStrndup'/>
-    <reference name='xmlCheckFilename' href='html/libxml-xmlIO.html#xmlCheckFilename'/>
-    <reference name='xmlCheckHTTPInput' href='html/libxml-xmlIO.html#xmlCheckHTTPInput'/>
-    <reference name='xmlCheckLanguageID' href='html/libxml-parserInternals.html#xmlCheckLanguageID'/>
-    <reference name='xmlCheckUTF8' href='html/libxml-xmlstring.html#xmlCheckUTF8'/>
-    <reference name='xmlCheckVersion' href='html/libxml-xmlversion.html#xmlCheckVersion'/>
-    <reference name='xmlChildElementCount' href='html/libxml-tree.html#xmlChildElementCount'/>
-    <reference name='xmlChildrenNode' href='html/libxml-tree.html#xmlChildrenNode'/>
-    <reference name='xmlCleanupCharEncodingHandlers' href='html/libxml-encoding.html#xmlCleanupCharEncodingHandlers'/>
-    <reference name='xmlCleanupEncodingAliases' href='html/libxml-encoding.html#xmlCleanupEncodingAliases'/>
-    <reference name='xmlCleanupGlobals' href='html/libxml-globals.html#xmlCleanupGlobals'/>
-    <reference name='xmlCleanupInputCallbacks' href='html/libxml-xmlIO.html#xmlCleanupInputCallbacks'/>
-    <reference name='xmlCleanupMemory' href='html/libxml-xmlmemory.html#xmlCleanupMemory'/>
-    <reference name='xmlCleanupOutputCallbacks' href='html/libxml-xmlIO.html#xmlCleanupOutputCallbacks'/>
-    <reference name='xmlCleanupParser' href='html/libxml-parser.html#xmlCleanupParser'/>
-    <reference name='xmlCleanupPredefinedEntities' href='html/libxml-entities.html#xmlCleanupPredefinedEntities'/>
-    <reference name='xmlCleanupThreads' href='html/libxml-threads.html#xmlCleanupThreads'/>
-    <reference name='xmlClearNodeInfoSeq' href='html/libxml-parser.html#xmlClearNodeInfoSeq'/>
-    <reference name='xmlClearParserCtxt' href='html/libxml-parser.html#xmlClearParserCtxt'/>
-    <reference name='xmlConvertSGMLCatalog' href='html/libxml-catalog.html#xmlConvertSGMLCatalog'/>
-    <reference name='xmlCopyAttributeTable' href='html/libxml-valid.html#xmlCopyAttributeTable'/>
-    <reference name='xmlCopyChar' href='html/libxml-parserInternals.html#xmlCopyChar'/>
-    <reference name='xmlCopyCharMultiByte' href='html/libxml-parserInternals.html#xmlCopyCharMultiByte'/>
-    <reference name='xmlCopyDoc' href='html/libxml-tree.html#xmlCopyDoc'/>
-    <reference name='xmlCopyDocElementContent' href='html/libxml-valid.html#xmlCopyDocElementContent'/>
-    <reference name='xmlCopyDtd' href='html/libxml-tree.html#xmlCopyDtd'/>
-    <reference name='xmlCopyElementContent' href='html/libxml-valid.html#xmlCopyElementContent'/>
-    <reference name='xmlCopyElementTable' href='html/libxml-valid.html#xmlCopyElementTable'/>
-    <reference name='xmlCopyEntitiesTable' href='html/libxml-entities.html#xmlCopyEntitiesTable'/>
-    <reference name='xmlCopyEnumeration' href='html/libxml-valid.html#xmlCopyEnumeration'/>
-    <reference name='xmlCopyError' href='html/libxml-xmlerror.html#xmlCopyError'/>
-    <reference name='xmlCopyNamespace' href='html/libxml-tree.html#xmlCopyNamespace'/>
-    <reference name='xmlCopyNamespaceList' href='html/libxml-tree.html#xmlCopyNamespaceList'/>
-    <reference name='xmlCopyNode' href='html/libxml-tree.html#xmlCopyNode'/>
-    <reference name='xmlCopyNodeList' href='html/libxml-tree.html#xmlCopyNodeList'/>
-    <reference name='xmlCopyNotationTable' href='html/libxml-valid.html#xmlCopyNotationTable'/>
-    <reference name='xmlCopyProp' href='html/libxml-tree.html#xmlCopyProp'/>
-    <reference name='xmlCopyPropList' href='html/libxml-tree.html#xmlCopyPropList'/>
-    <reference name='xmlCreateDocParserCtxt' href='html/libxml-parser.html#xmlCreateDocParserCtxt'/>
-    <reference name='xmlCreateEntitiesTable' href='html/libxml-entities.html#xmlCreateEntitiesTable'/>
-    <reference name='xmlCreateEntityParserCtxt' href='html/libxml-parserInternals.html#xmlCreateEntityParserCtxt'/>
-    <reference name='xmlCreateEnumeration' href='html/libxml-valid.html#xmlCreateEnumeration'/>
-    <reference name='xmlCreateFileParserCtxt' href='html/libxml-parserInternals.html#xmlCreateFileParserCtxt'/>
-    <reference name='xmlCreateIOParserCtxt' href='html/libxml-parser.html#xmlCreateIOParserCtxt'/>
-    <reference name='xmlCreateIntSubset' href='html/libxml-tree.html#xmlCreateIntSubset'/>
-    <reference name='xmlCreateMemoryParserCtxt' href='html/libxml-parserInternals.html#xmlCreateMemoryParserCtxt'/>
-    <reference name='xmlCreatePushParserCtxt' href='html/libxml-parser.html#xmlCreatePushParserCtxt'/>
-    <reference name='xmlCreateURI' href='html/libxml-uri.html#xmlCreateURI'/>
-    <reference name='xmlCreateURLParserCtxt' href='html/libxml-parserInternals.html#xmlCreateURLParserCtxt'/>
-    <reference name='xmlCtxtGetLastError' href='html/libxml-xmlerror.html#xmlCtxtGetLastError'/>
-    <reference name='xmlCtxtReadDoc' href='html/libxml-parser.html#xmlCtxtReadDoc'/>
-    <reference name='xmlCtxtReadFd' href='html/libxml-parser.html#xmlCtxtReadFd'/>
-    <reference name='xmlCtxtReadFile' href='html/libxml-parser.html#xmlCtxtReadFile'/>
-    <reference name='xmlCtxtReadIO' href='html/libxml-parser.html#xmlCtxtReadIO'/>
-    <reference name='xmlCtxtReadMemory' href='html/libxml-parser.html#xmlCtxtReadMemory'/>
-    <reference name='xmlCtxtReset' href='html/libxml-parser.html#xmlCtxtReset'/>
-    <reference name='xmlCtxtResetLastError' href='html/libxml-xmlerror.html#xmlCtxtResetLastError'/>
-    <reference name='xmlCtxtResetPush' href='html/libxml-parser.html#xmlCtxtResetPush'/>
-    <reference name='xmlCtxtUseOptions' href='html/libxml-parser.html#xmlCtxtUseOptions'/>
-    <reference name='xmlCurrentChar' href='html/libxml-parserInternals.html#xmlCurrentChar'/>
-    <reference name='xmlDOMWrapAcquireNsFunction' href='html/libxml-tree.html#xmlDOMWrapAcquireNsFunction'/>
-    <reference name='xmlDOMWrapAdoptNode' href='html/libxml-tree.html#xmlDOMWrapAdoptNode'/>
-    <reference name='xmlDOMWrapCloneNode' href='html/libxml-tree.html#xmlDOMWrapCloneNode'/>
-    <reference name='xmlDOMWrapCtxt' href='html/libxml-tree.html#xmlDOMWrapCtxt'/>
-    <reference name='xmlDOMWrapCtxtPtr' href='html/libxml-tree.html#xmlDOMWrapCtxtPtr'/>
-    <reference name='xmlDOMWrapFreeCtxt' href='html/libxml-tree.html#xmlDOMWrapFreeCtxt'/>
-    <reference name='xmlDOMWrapNewCtxt' href='html/libxml-tree.html#xmlDOMWrapNewCtxt'/>
-    <reference name='xmlDOMWrapReconcileNamespaces' href='html/libxml-tree.html#xmlDOMWrapReconcileNamespaces'/>
-    <reference name='xmlDOMWrapRemoveNode' href='html/libxml-tree.html#xmlDOMWrapRemoveNode'/>
-    <reference name='xmlDebugCheckDocument' href='html/libxml-debugXML.html#xmlDebugCheckDocument'/>
-    <reference name='xmlDebugDumpAttr' href='html/libxml-debugXML.html#xmlDebugDumpAttr'/>
-    <reference name='xmlDebugDumpAttrList' href='html/libxml-debugXML.html#xmlDebugDumpAttrList'/>
-    <reference name='xmlDebugDumpDTD' href='html/libxml-debugXML.html#xmlDebugDumpDTD'/>
-    <reference name='xmlDebugDumpDocument' href='html/libxml-debugXML.html#xmlDebugDumpDocument'/>
-    <reference name='xmlDebugDumpDocumentHead' href='html/libxml-debugXML.html#xmlDebugDumpDocumentHead'/>
-    <reference name='xmlDebugDumpEntities' href='html/libxml-debugXML.html#xmlDebugDumpEntities'/>
-    <reference name='xmlDebugDumpNode' href='html/libxml-debugXML.html#xmlDebugDumpNode'/>
-    <reference name='xmlDebugDumpNodeList' href='html/libxml-debugXML.html#xmlDebugDumpNodeList'/>
-    <reference name='xmlDebugDumpOneNode' href='html/libxml-debugXML.html#xmlDebugDumpOneNode'/>
-    <reference name='xmlDebugDumpString' href='html/libxml-debugXML.html#xmlDebugDumpString'/>
-    <reference name='xmlDecodeEntities' href='html/libxml-parserInternals.html#xmlDecodeEntities'/>
-    <reference name='xmlDefaultBufferSize' href='html/libxml-globals.html#xmlDefaultBufferSize'/>
-    <reference name='xmlDefaultSAXHandler' href='html/libxml-globals.html#xmlDefaultSAXHandler'/>
-    <reference name='xmlDefaultSAXHandlerInit' href='html/libxml-SAX2.html#xmlDefaultSAXHandlerInit'/>
-    <reference name='xmlDefaultSAXLocator' href='html/libxml-globals.html#xmlDefaultSAXLocator'/>
-    <reference name='xmlDelEncodingAlias' href='html/libxml-encoding.html#xmlDelEncodingAlias'/>
-    <reference name='xmlDeregisterNodeDefault' href='html/libxml-globals.html#xmlDeregisterNodeDefault'/>
-    <reference name='xmlDeregisterNodeDefaultValue' href='html/libxml-globals.html#xmlDeregisterNodeDefaultValue'/>
-    <reference name='xmlDeregisterNodeFunc' href='html/libxml-globals.html#xmlDeregisterNodeFunc'/>
-    <reference name='xmlDetectCharEncoding' href='html/libxml-encoding.html#xmlDetectCharEncoding'/>
-    <reference name='xmlDict' href='html/libxml-dict.html#xmlDict'/>
-    <reference name='xmlDictCleanup' href='html/libxml-dict.html#xmlDictCleanup'/>
-    <reference name='xmlDictCreate' href='html/libxml-dict.html#xmlDictCreate'/>
-    <reference name='xmlDictCreateSub' href='html/libxml-dict.html#xmlDictCreateSub'/>
-    <reference name='xmlDictExists' href='html/libxml-dict.html#xmlDictExists'/>
-    <reference name='xmlDictFree' href='html/libxml-dict.html#xmlDictFree'/>
-    <reference name='xmlDictGetUsage' href='html/libxml-dict.html#xmlDictGetUsage'/>
-    <reference name='xmlDictLookup' href='html/libxml-dict.html#xmlDictLookup'/>
-    <reference name='xmlDictOwns' href='html/libxml-dict.html#xmlDictOwns'/>
-    <reference name='xmlDictPtr' href='html/libxml-dict.html#xmlDictPtr'/>
-    <reference name='xmlDictQLookup' href='html/libxml-dict.html#xmlDictQLookup'/>
-    <reference name='xmlDictReference' href='html/libxml-dict.html#xmlDictReference'/>
-    <reference name='xmlDictSetLimit' href='html/libxml-dict.html#xmlDictSetLimit'/>
-    <reference name='xmlDictSize' href='html/libxml-dict.html#xmlDictSize'/>
-    <reference name='xmlDllMain' href='html/libxml-threads.html#xmlDllMain'/>
-    <reference name='xmlDoValidityCheckingDefaultValue' href='html/libxml-globals.html#xmlDoValidityCheckingDefaultValue'/>
-    <reference name='xmlDoc' href='html/libxml-tree.html#xmlDoc'/>
-    <reference name='xmlDocCopyNode' href='html/libxml-tree.html#xmlDocCopyNode'/>
-    <reference name='xmlDocCopyNodeList' href='html/libxml-tree.html#xmlDocCopyNodeList'/>
-    <reference name='xmlDocDump' href='html/libxml-tree.html#xmlDocDump'/>
-    <reference name='xmlDocDumpFormatMemory' href='html/libxml-tree.html#xmlDocDumpFormatMemory'/>
-    <reference name='xmlDocDumpFormatMemoryEnc' href='html/libxml-tree.html#xmlDocDumpFormatMemoryEnc'/>
-    <reference name='xmlDocDumpMemory' href='html/libxml-tree.html#xmlDocDumpMemory'/>
-    <reference name='xmlDocDumpMemoryEnc' href='html/libxml-tree.html#xmlDocDumpMemoryEnc'/>
-    <reference name='xmlDocFormatDump' href='html/libxml-tree.html#xmlDocFormatDump'/>
-    <reference name='xmlDocGetRootElement' href='html/libxml-tree.html#xmlDocGetRootElement'/>
-    <reference name='xmlDocProperties' href='html/libxml-tree.html#xmlDocProperties'/>
-    <reference name='xmlDocPtr' href='html/libxml-tree.html#xmlDocPtr'/>
-    <reference name='xmlDocSetRootElement' href='html/libxml-tree.html#xmlDocSetRootElement'/>
-    <reference name='xmlDtd' href='html/libxml-tree.html#xmlDtd'/>
-    <reference name='xmlDtdPtr' href='html/libxml-tree.html#xmlDtdPtr'/>
-    <reference name='xmlDumpAttributeDecl' href='html/libxml-valid.html#xmlDumpAttributeDecl'/>
-    <reference name='xmlDumpAttributeTable' href='html/libxml-valid.html#xmlDumpAttributeTable'/>
-    <reference name='xmlDumpElementDecl' href='html/libxml-valid.html#xmlDumpElementDecl'/>
-    <reference name='xmlDumpElementTable' href='html/libxml-valid.html#xmlDumpElementTable'/>
-    <reference name='xmlDumpEntitiesTable' href='html/libxml-entities.html#xmlDumpEntitiesTable'/>
-    <reference name='xmlDumpEntityDecl' href='html/libxml-entities.html#xmlDumpEntityDecl'/>
-    <reference name='xmlDumpNotationDecl' href='html/libxml-valid.html#xmlDumpNotationDecl'/>
-    <reference name='xmlDumpNotationTable' href='html/libxml-valid.html#xmlDumpNotationTable'/>
-    <reference name='xmlElemDump' href='html/libxml-tree.html#xmlElemDump'/>
-    <reference name='xmlElement' href='html/libxml-tree.html#xmlElement'/>
-    <reference name='xmlElementContent' href='html/libxml-tree.html#xmlElementContent'/>
-    <reference name='xmlElementContentOccur' href='html/libxml-tree.html#xmlElementContentOccur'/>
-    <reference name='xmlElementContentPtr' href='html/libxml-tree.html#xmlElementContentPtr'/>
-    <reference name='xmlElementContentType' href='html/libxml-tree.html#xmlElementContentType'/>
-    <reference name='xmlElementPtr' href='html/libxml-tree.html#xmlElementPtr'/>
-    <reference name='xmlElementTable' href='html/libxml-valid.html#xmlElementTable'/>
-    <reference name='xmlElementTablePtr' href='html/libxml-valid.html#xmlElementTablePtr'/>
-    <reference name='xmlElementType' href='html/libxml-tree.html#xmlElementType'/>
-    <reference name='xmlElementTypeVal' href='html/libxml-tree.html#xmlElementTypeVal'/>
-    <reference name='xmlEncodeEntities' href='html/libxml-entities.html#xmlEncodeEntities'/>
-    <reference name='xmlEncodeEntitiesReentrant' href='html/libxml-entities.html#xmlEncodeEntitiesReentrant'/>
-    <reference name='xmlEncodeSpecialChars' href='html/libxml-entities.html#xmlEncodeSpecialChars'/>
-    <reference name='xmlEntitiesTable' href='html/libxml-entities.html#xmlEntitiesTable'/>
-    <reference name='xmlEntitiesTablePtr' href='html/libxml-entities.html#xmlEntitiesTablePtr'/>
-    <reference name='xmlEntity' href='html/libxml-tree.html#xmlEntity'/>
-    <reference name='xmlEntityPtr' href='html/libxml-tree.html#xmlEntityPtr'/>
-    <reference name='xmlEntityReferenceFunc' href='html/libxml-parserInternals.html#xmlEntityReferenceFunc'/>
-    <reference name='xmlEntityType' href='html/libxml-entities.html#xmlEntityType'/>
-    <reference name='xmlEnumeration' href='html/libxml-tree.html#xmlEnumeration'/>
-    <reference name='xmlEnumerationPtr' href='html/libxml-tree.html#xmlEnumerationPtr'/>
-    <reference name='xmlErrMemory' href='html/libxml-parserInternals.html#xmlErrMemory'/>
-    <reference name='xmlError' href='html/libxml-xmlerror.html#xmlError'/>
-    <reference name='xmlErrorDomain' href='html/libxml-xmlerror.html#xmlErrorDomain'/>
-    <reference name='xmlErrorLevel' href='html/libxml-xmlerror.html#xmlErrorLevel'/>
-    <reference name='xmlErrorPtr' href='html/libxml-xmlerror.html#xmlErrorPtr'/>
-    <reference name='xmlExpCtxt' href='html/libxml-xmlregexp.html#xmlExpCtxt'/>
-    <reference name='xmlExpCtxtNbCons' href='html/libxml-xmlregexp.html#xmlExpCtxtNbCons'/>
-    <reference name='xmlExpCtxtNbNodes' href='html/libxml-xmlregexp.html#xmlExpCtxtNbNodes'/>
-    <reference name='xmlExpCtxtPtr' href='html/libxml-xmlregexp.html#xmlExpCtxtPtr'/>
-    <reference name='xmlExpDump' href='html/libxml-xmlregexp.html#xmlExpDump'/>
-    <reference name='xmlExpExpDerive' href='html/libxml-xmlregexp.html#xmlExpExpDerive'/>
-    <reference name='xmlExpFree' href='html/libxml-xmlregexp.html#xmlExpFree'/>
-    <reference name='xmlExpFreeCtxt' href='html/libxml-xmlregexp.html#xmlExpFreeCtxt'/>
-    <reference name='xmlExpGetLanguage' href='html/libxml-xmlregexp.html#xmlExpGetLanguage'/>
-    <reference name='xmlExpGetStart' href='html/libxml-xmlregexp.html#xmlExpGetStart'/>
-    <reference name='xmlExpIsNillable' href='html/libxml-xmlregexp.html#xmlExpIsNillable'/>
-    <reference name='xmlExpMaxToken' href='html/libxml-xmlregexp.html#xmlExpMaxToken'/>
-    <reference name='xmlExpNewAtom' href='html/libxml-xmlregexp.html#xmlExpNewAtom'/>
-    <reference name='xmlExpNewCtxt' href='html/libxml-xmlregexp.html#xmlExpNewCtxt'/>
-    <reference name='xmlExpNewOr' href='html/libxml-xmlregexp.html#xmlExpNewOr'/>
-    <reference name='xmlExpNewRange' href='html/libxml-xmlregexp.html#xmlExpNewRange'/>
-    <reference name='xmlExpNewSeq' href='html/libxml-xmlregexp.html#xmlExpNewSeq'/>
-    <reference name='xmlExpNode' href='html/libxml-xmlregexp.html#xmlExpNode'/>
-    <reference name='xmlExpNodePtr' href='html/libxml-xmlregexp.html#xmlExpNodePtr'/>
-    <reference name='xmlExpNodeType' href='html/libxml-xmlregexp.html#xmlExpNodeType'/>
-    <reference name='xmlExpParse' href='html/libxml-xmlregexp.html#xmlExpParse'/>
-    <reference name='xmlExpRef' href='html/libxml-xmlregexp.html#xmlExpRef'/>
-    <reference name='xmlExpStringDerive' href='html/libxml-xmlregexp.html#xmlExpStringDerive'/>
-    <reference name='xmlExpSubsume' href='html/libxml-xmlregexp.html#xmlExpSubsume'/>
-    <reference name='xmlExternalEntityLoader' href='html/libxml-parser.html#xmlExternalEntityLoader'/>
-    <reference name='xmlFeature' href='html/libxml-parser.html#xmlFeature'/>
-    <reference name='xmlFileClose' href='html/libxml-xmlIO.html#xmlFileClose'/>
-    <reference name='xmlFileMatch' href='html/libxml-xmlIO.html#xmlFileMatch'/>
-    <reference name='xmlFileOpen' href='html/libxml-xmlIO.html#xmlFileOpen'/>
-    <reference name='xmlFileRead' href='html/libxml-xmlIO.html#xmlFileRead'/>
-    <reference name='xmlFindCharEncodingHandler' href='html/libxml-encoding.html#xmlFindCharEncodingHandler'/>
-    <reference name='xmlFirstElementChild' href='html/libxml-tree.html#xmlFirstElementChild'/>
-    <reference name='xmlFree' href='html/libxml-globals.html#xmlFree'/>
-    <reference name='xmlFreeAttributeTable' href='html/libxml-valid.html#xmlFreeAttributeTable'/>
-    <reference name='xmlFreeAutomata' href='html/libxml-xmlautomata.html#xmlFreeAutomata'/>
-    <reference name='xmlFreeCatalog' href='html/libxml-catalog.html#xmlFreeCatalog'/>
-    <reference name='xmlFreeDoc' href='html/libxml-tree.html#xmlFreeDoc'/>
-    <reference name='xmlFreeDocElementContent' href='html/libxml-valid.html#xmlFreeDocElementContent'/>
-    <reference name='xmlFreeDtd' href='html/libxml-tree.html#xmlFreeDtd'/>
-    <reference name='xmlFreeElementContent' href='html/libxml-valid.html#xmlFreeElementContent'/>
-    <reference name='xmlFreeElementTable' href='html/libxml-valid.html#xmlFreeElementTable'/>
-    <reference name='xmlFreeEntitiesTable' href='html/libxml-entities.html#xmlFreeEntitiesTable'/>
-    <reference name='xmlFreeEnumeration' href='html/libxml-valid.html#xmlFreeEnumeration'/>
-    <reference name='xmlFreeFunc' href='html/libxml-xmlmemory.html#xmlFreeFunc'/>
-    <reference name='xmlFreeIDTable' href='html/libxml-valid.html#xmlFreeIDTable'/>
-    <reference name='xmlFreeInputStream' href='html/libxml-parserInternals.html#xmlFreeInputStream'/>
-    <reference name='xmlFreeMutex' href='html/libxml-threads.html#xmlFreeMutex'/>
-    <reference name='xmlFreeNode' href='html/libxml-tree.html#xmlFreeNode'/>
-    <reference name='xmlFreeNodeList' href='html/libxml-tree.html#xmlFreeNodeList'/>
-    <reference name='xmlFreeNotationTable' href='html/libxml-valid.html#xmlFreeNotationTable'/>
-    <reference name='xmlFreeNs' href='html/libxml-tree.html#xmlFreeNs'/>
-    <reference name='xmlFreeNsList' href='html/libxml-tree.html#xmlFreeNsList'/>
-    <reference name='xmlFreeParserCtxt' href='html/libxml-parser.html#xmlFreeParserCtxt'/>
-    <reference name='xmlFreeParserInputBuffer' href='html/libxml-xmlIO.html#xmlFreeParserInputBuffer'/>
-    <reference name='xmlFreePattern' href='html/libxml-pattern.html#xmlFreePattern'/>
-    <reference name='xmlFreePatternList' href='html/libxml-pattern.html#xmlFreePatternList'/>
-    <reference name='xmlFreeProp' href='html/libxml-tree.html#xmlFreeProp'/>
-    <reference name='xmlFreePropList' href='html/libxml-tree.html#xmlFreePropList'/>
-    <reference name='xmlFreeRMutex' href='html/libxml-threads.html#xmlFreeRMutex'/>
-    <reference name='xmlFreeRefTable' href='html/libxml-valid.html#xmlFreeRefTable'/>
-    <reference name='xmlFreeStreamCtxt' href='html/libxml-pattern.html#xmlFreeStreamCtxt'/>
-    <reference name='xmlFreeTextReader' href='html/libxml-xmlreader.html#xmlFreeTextReader'/>
-    <reference name='xmlFreeTextWriter' href='html/libxml-xmlwriter.html#xmlFreeTextWriter'/>
-    <reference name='xmlFreeURI' href='html/libxml-uri.html#xmlFreeURI'/>
-    <reference name='xmlFreeValidCtxt' href='html/libxml-valid.html#xmlFreeValidCtxt'/>
-    <reference name='xmlGcMemGet' href='html/libxml-xmlmemory.html#xmlGcMemGet'/>
-    <reference name='xmlGcMemSetup' href='html/libxml-xmlmemory.html#xmlGcMemSetup'/>
-    <reference name='xmlGenericError' href='html/libxml-globals.html#xmlGenericError'/>
-    <reference name='xmlGenericErrorContext' href='html/libxml-globals.html#xmlGenericErrorContext'/>
-    <reference name='xmlGenericErrorFunc' href='html/libxml-xmlerror.html#xmlGenericErrorFunc'/>
-    <reference name='xmlGetBufferAllocationScheme' href='html/libxml-tree.html#xmlGetBufferAllocationScheme'/>
-    <reference name='xmlGetCharEncodingHandler' href='html/libxml-encoding.html#xmlGetCharEncodingHandler'/>
-    <reference name='xmlGetCharEncodingName' href='html/libxml-encoding.html#xmlGetCharEncodingName'/>
-    <reference name='xmlGetCompressMode' href='html/libxml-tree.html#xmlGetCompressMode'/>
-    <reference name='xmlGetDocCompressMode' href='html/libxml-tree.html#xmlGetDocCompressMode'/>
-    <reference name='xmlGetDocEntity' href='html/libxml-entities.html#xmlGetDocEntity'/>
-    <reference name='xmlGetDtdAttrDesc' href='html/libxml-valid.html#xmlGetDtdAttrDesc'/>
-    <reference name='xmlGetDtdElementDesc' href='html/libxml-valid.html#xmlGetDtdElementDesc'/>
-    <reference name='xmlGetDtdEntity' href='html/libxml-entities.html#xmlGetDtdEntity'/>
-    <reference name='xmlGetDtdNotationDesc' href='html/libxml-valid.html#xmlGetDtdNotationDesc'/>
-    <reference name='xmlGetDtdQAttrDesc' href='html/libxml-valid.html#xmlGetDtdQAttrDesc'/>
-    <reference name='xmlGetDtdQElementDesc' href='html/libxml-valid.html#xmlGetDtdQElementDesc'/>
-    <reference name='xmlGetEncodingAlias' href='html/libxml-encoding.html#xmlGetEncodingAlias'/>
-    <reference name='xmlGetExternalEntityLoader' href='html/libxml-parser.html#xmlGetExternalEntityLoader'/>
-    <reference name='xmlGetFeature' href='html/libxml-parser.html#xmlGetFeature'/>
-    <reference name='xmlGetFeaturesList' href='html/libxml-parser.html#xmlGetFeaturesList'/>
-    <reference name='xmlGetGlobalState' href='html/libxml-threads.html#xmlGetGlobalState'/>
-    <reference name='xmlGetID' href='html/libxml-valid.html#xmlGetID'/>
-    <reference name='xmlGetIntSubset' href='html/libxml-tree.html#xmlGetIntSubset'/>
-    <reference name='xmlGetLastChild' href='html/libxml-tree.html#xmlGetLastChild'/>
-    <reference name='xmlGetLastError' href='html/libxml-xmlerror.html#xmlGetLastError'/>
-    <reference name='xmlGetLineNo' href='html/libxml-tree.html#xmlGetLineNo'/>
-    <reference name='xmlGetNoNsProp' href='html/libxml-tree.html#xmlGetNoNsProp'/>
-    <reference name='xmlGetNodePath' href='html/libxml-tree.html#xmlGetNodePath'/>
-    <reference name='xmlGetNsList' href='html/libxml-tree.html#xmlGetNsList'/>
-    <reference name='xmlGetNsProp' href='html/libxml-tree.html#xmlGetNsProp'/>
-    <reference name='xmlGetParameterEntity' href='html/libxml-entities.html#xmlGetParameterEntity'/>
-    <reference name='xmlGetPredefinedEntity' href='html/libxml-entities.html#xmlGetPredefinedEntity'/>
-    <reference name='xmlGetProp' href='html/libxml-tree.html#xmlGetProp'/>
-    <reference name='xmlGetRefs' href='html/libxml-valid.html#xmlGetRefs'/>
-    <reference name='xmlGetThreadId' href='html/libxml-threads.html#xmlGetThreadId'/>
-    <reference name='xmlGetUTF8Char' href='html/libxml-xmlstring.html#xmlGetUTF8Char'/>
-    <reference name='xmlGetWarningsDefaultValue' href='html/libxml-globals.html#xmlGetWarningsDefaultValue'/>
-    <reference name='xmlGlobalState' href='html/libxml-globals.html#xmlGlobalState'/>
-    <reference name='xmlGlobalStatePtr' href='html/libxml-globals.html#xmlGlobalStatePtr'/>
-    <reference name='xmlHandleEntity' href='html/libxml-parserInternals.html#xmlHandleEntity'/>
-    <reference name='xmlHasFeature' href='html/libxml-parser.html#xmlHasFeature'/>
-    <reference name='xmlHasNsProp' href='html/libxml-tree.html#xmlHasNsProp'/>
-    <reference name='xmlHasProp' href='html/libxml-tree.html#xmlHasProp'/>
-    <reference name='xmlHashAddEntry' href='html/libxml-hash.html#xmlHashAddEntry'/>
-    <reference name='xmlHashAddEntry2' href='html/libxml-hash.html#xmlHashAddEntry2'/>
-    <reference name='xmlHashAddEntry3' href='html/libxml-hash.html#xmlHashAddEntry3'/>
-    <reference name='xmlHashCopier' href='html/libxml-hash.html#xmlHashCopier'/>
-    <reference name='xmlHashCopy' href='html/libxml-hash.html#xmlHashCopy'/>
-    <reference name='xmlHashCreate' href='html/libxml-hash.html#xmlHashCreate'/>
-    <reference name='xmlHashCreateDict' href='html/libxml-hash.html#xmlHashCreateDict'/>
-    <reference name='xmlHashDeallocator' href='html/libxml-hash.html#xmlHashDeallocator'/>
-    <reference name='xmlHashDefaultDeallocator' href='html/libxml-hash.html#xmlHashDefaultDeallocator'/>
-    <reference name='xmlHashFree' href='html/libxml-hash.html#xmlHashFree'/>
-    <reference name='xmlHashLookup' href='html/libxml-hash.html#xmlHashLookup'/>
-    <reference name='xmlHashLookup2' href='html/libxml-hash.html#xmlHashLookup2'/>
-    <reference name='xmlHashLookup3' href='html/libxml-hash.html#xmlHashLookup3'/>
-    <reference name='xmlHashQLookup' href='html/libxml-hash.html#xmlHashQLookup'/>
-    <reference name='xmlHashQLookup2' href='html/libxml-hash.html#xmlHashQLookup2'/>
-    <reference name='xmlHashQLookup3' href='html/libxml-hash.html#xmlHashQLookup3'/>
-    <reference name='xmlHashRemoveEntry' href='html/libxml-hash.html#xmlHashRemoveEntry'/>
-    <reference name='xmlHashRemoveEntry2' href='html/libxml-hash.html#xmlHashRemoveEntry2'/>
-    <reference name='xmlHashRemoveEntry3' href='html/libxml-hash.html#xmlHashRemoveEntry3'/>
-    <reference name='xmlHashScan' href='html/libxml-hash.html#xmlHashScan'/>
-    <reference name='xmlHashScan3' href='html/libxml-hash.html#xmlHashScan3'/>
-    <reference name='xmlHashScanFull' href='html/libxml-hash.html#xmlHashScanFull'/>
-    <reference name='xmlHashScanFull3' href='html/libxml-hash.html#xmlHashScanFull3'/>
-    <reference name='xmlHashScanner' href='html/libxml-hash.html#xmlHashScanner'/>
-    <reference name='xmlHashScannerFull' href='html/libxml-hash.html#xmlHashScannerFull'/>
-    <reference name='xmlHashSize' href='html/libxml-hash.html#xmlHashSize'/>
-    <reference name='xmlHashTable' href='html/libxml-hash.html#xmlHashTable'/>
-    <reference name='xmlHashTablePtr' href='html/libxml-hash.html#xmlHashTablePtr'/>
-    <reference name='xmlHashUpdateEntry' href='html/libxml-hash.html#xmlHashUpdateEntry'/>
-    <reference name='xmlHashUpdateEntry2' href='html/libxml-hash.html#xmlHashUpdateEntry2'/>
-    <reference name='xmlHashUpdateEntry3' href='html/libxml-hash.html#xmlHashUpdateEntry3'/>
-    <reference name='xmlID' href='html/libxml-tree.html#xmlID'/>
-    <reference name='xmlIDPtr' href='html/libxml-tree.html#xmlIDPtr'/>
-    <reference name='xmlIDTable' href='html/libxml-valid.html#xmlIDTable'/>
-    <reference name='xmlIDTablePtr' href='html/libxml-valid.html#xmlIDTablePtr'/>
-    <reference name='xmlIOFTPClose' href='html/libxml-xmlIO.html#xmlIOFTPClose'/>
-    <reference name='xmlIOFTPMatch' href='html/libxml-xmlIO.html#xmlIOFTPMatch'/>
-    <reference name='xmlIOFTPOpen' href='html/libxml-xmlIO.html#xmlIOFTPOpen'/>
-    <reference name='xmlIOFTPRead' href='html/libxml-xmlIO.html#xmlIOFTPRead'/>
-    <reference name='xmlIOHTTPClose' href='html/libxml-xmlIO.html#xmlIOHTTPClose'/>
-    <reference name='xmlIOHTTPMatch' href='html/libxml-xmlIO.html#xmlIOHTTPMatch'/>
-    <reference name='xmlIOHTTPOpen' href='html/libxml-xmlIO.html#xmlIOHTTPOpen'/>
-    <reference name='xmlIOHTTPOpenW' href='html/libxml-xmlIO.html#xmlIOHTTPOpenW'/>
-    <reference name='xmlIOHTTPRead' href='html/libxml-xmlIO.html#xmlIOHTTPRead'/>
-    <reference name='xmlIOParseDTD' href='html/libxml-parser.html#xmlIOParseDTD'/>
-    <reference name='xmlIndentTreeOutput' href='html/libxml-globals.html#xmlIndentTreeOutput'/>
-    <reference name='xmlInitCharEncodingHandlers' href='html/libxml-encoding.html#xmlInitCharEncodingHandlers'/>
-    <reference name='xmlInitGlobals' href='html/libxml-globals.html#xmlInitGlobals'/>
-    <reference name='xmlInitMemory' href='html/libxml-xmlmemory.html#xmlInitMemory'/>
-    <reference name='xmlInitNodeInfoSeq' href='html/libxml-parser.html#xmlInitNodeInfoSeq'/>
-    <reference name='xmlInitParser' href='html/libxml-parser.html#xmlInitParser'/>
-    <reference name='xmlInitParserCtxt' href='html/libxml-parser.html#xmlInitParserCtxt'/>
-    <reference name='xmlInitThreads' href='html/libxml-threads.html#xmlInitThreads'/>
-    <reference name='xmlInitializeCatalog' href='html/libxml-catalog.html#xmlInitializeCatalog'/>
-    <reference name='xmlInitializeDict' href='html/libxml-dict.html#xmlInitializeDict'/>
-    <reference name='xmlInitializeGlobalState' href='html/libxml-globals.html#xmlInitializeGlobalState'/>
-    <reference name='xmlInitializePredefinedEntities' href='html/libxml-entities.html#xmlInitializePredefinedEntities'/>
-    <reference name='xmlInputCloseCallback' href='html/libxml-xmlIO.html#xmlInputCloseCallback'/>
-    <reference name='xmlInputMatchCallback' href='html/libxml-xmlIO.html#xmlInputMatchCallback'/>
-    <reference name='xmlInputOpenCallback' href='html/libxml-xmlIO.html#xmlInputOpenCallback'/>
-    <reference name='xmlInputReadCallback' href='html/libxml-xmlIO.html#xmlInputReadCallback'/>
-    <reference name='xmlIsBaseChar' href='html/libxml-chvalid.html#xmlIsBaseChar'/>
-    <reference name='xmlIsBaseCharGroup' href='html/libxml-chvalid.html#xmlIsBaseCharGroup'/>
-    <reference name='xmlIsBaseCharQ' href='html/libxml-chvalid.html#xmlIsBaseCharQ'/>
-    <reference name='xmlIsBaseChar_ch' href='html/libxml-chvalid.html#xmlIsBaseChar_ch'/>
-    <reference name='xmlIsBlank' href='html/libxml-chvalid.html#xmlIsBlank'/>
-    <reference name='xmlIsBlankNode' href='html/libxml-tree.html#xmlIsBlankNode'/>
-    <reference name='xmlIsBlankQ' href='html/libxml-chvalid.html#xmlIsBlankQ'/>
-    <reference name='xmlIsBlank_ch' href='html/libxml-chvalid.html#xmlIsBlank_ch'/>
-    <reference name='xmlIsChar' href='html/libxml-chvalid.html#xmlIsChar'/>
-    <reference name='xmlIsCharGroup' href='html/libxml-chvalid.html#xmlIsCharGroup'/>
-    <reference name='xmlIsCharQ' href='html/libxml-chvalid.html#xmlIsCharQ'/>
-    <reference name='xmlIsChar_ch' href='html/libxml-chvalid.html#xmlIsChar_ch'/>
-    <reference name='xmlIsCombining' href='html/libxml-chvalid.html#xmlIsCombining'/>
-    <reference name='xmlIsCombiningGroup' href='html/libxml-chvalid.html#xmlIsCombiningGroup'/>
-    <reference name='xmlIsCombiningQ' href='html/libxml-chvalid.html#xmlIsCombiningQ'/>
-    <reference name='xmlIsDigit' href='html/libxml-chvalid.html#xmlIsDigit'/>
-    <reference name='xmlIsDigitGroup' href='html/libxml-chvalid.html#xmlIsDigitGroup'/>
-    <reference name='xmlIsDigitQ' href='html/libxml-chvalid.html#xmlIsDigitQ'/>
-    <reference name='xmlIsDigit_ch' href='html/libxml-chvalid.html#xmlIsDigit_ch'/>
-    <reference name='xmlIsExtender' href='html/libxml-chvalid.html#xmlIsExtender'/>
-    <reference name='xmlIsExtenderGroup' href='html/libxml-chvalid.html#xmlIsExtenderGroup'/>
-    <reference name='xmlIsExtenderQ' href='html/libxml-chvalid.html#xmlIsExtenderQ'/>
-    <reference name='xmlIsExtender_ch' href='html/libxml-chvalid.html#xmlIsExtender_ch'/>
-    <reference name='xmlIsID' href='html/libxml-valid.html#xmlIsID'/>
-    <reference name='xmlIsIdeographic' href='html/libxml-chvalid.html#xmlIsIdeographic'/>
-    <reference name='xmlIsIdeographicGroup' href='html/libxml-chvalid.html#xmlIsIdeographicGroup'/>
-    <reference name='xmlIsIdeographicQ' href='html/libxml-chvalid.html#xmlIsIdeographicQ'/>
-    <reference name='xmlIsLetter' href='html/libxml-parserInternals.html#xmlIsLetter'/>
-    <reference name='xmlIsMainThread' href='html/libxml-threads.html#xmlIsMainThread'/>
-    <reference name='xmlIsMixedElement' href='html/libxml-valid.html#xmlIsMixedElement'/>
-    <reference name='xmlIsPubidChar' href='html/libxml-chvalid.html#xmlIsPubidChar'/>
-    <reference name='xmlIsPubidCharQ' href='html/libxml-chvalid.html#xmlIsPubidCharQ'/>
-    <reference name='xmlIsPubidChar_ch' href='html/libxml-chvalid.html#xmlIsPubidChar_ch'/>
-    <reference name='xmlIsPubidChar_tab' href='html/libxml-chvalid.html#xmlIsPubidChar_tab'/>
-    <reference name='xmlIsRef' href='html/libxml-valid.html#xmlIsRef'/>
-    <reference name='xmlIsXHTML' href='html/libxml-tree.html#xmlIsXHTML'/>
-    <reference name='xmlKeepBlanksDefault' href='html/libxml-parser.html#xmlKeepBlanksDefault'/>
-    <reference name='xmlKeepBlanksDefaultValue' href='html/libxml-globals.html#xmlKeepBlanksDefaultValue'/>
-    <reference name='xmlLastElementChild' href='html/libxml-tree.html#xmlLastElementChild'/>
-    <reference name='xmlLastError' href='html/libxml-globals.html#xmlLastError'/>
-    <reference name='xmlLineNumbersDefault' href='html/libxml-parser.html#xmlLineNumbersDefault'/>
-    <reference name='xmlLineNumbersDefaultValue' href='html/libxml-globals.html#xmlLineNumbersDefaultValue'/>
-    <reference name='xmlLink' href='html/libxml-list.html#xmlLink'/>
-    <reference name='xmlLinkGetData' href='html/libxml-list.html#xmlLinkGetData'/>
-    <reference name='xmlLinkPtr' href='html/libxml-list.html#xmlLinkPtr'/>
-    <reference name='xmlList' href='html/libxml-list.html#xmlList'/>
-    <reference name='xmlListAppend' href='html/libxml-list.html#xmlListAppend'/>
-    <reference name='xmlListClear' href='html/libxml-list.html#xmlListClear'/>
-    <reference name='xmlListCopy' href='html/libxml-list.html#xmlListCopy'/>
-    <reference name='xmlListCreate' href='html/libxml-list.html#xmlListCreate'/>
-    <reference name='xmlListDataCompare' href='html/libxml-list.html#xmlListDataCompare'/>
-    <reference name='xmlListDeallocator' href='html/libxml-list.html#xmlListDeallocator'/>
-    <reference name='xmlListDelete' href='html/libxml-list.html#xmlListDelete'/>
-    <reference name='xmlListDup' href='html/libxml-list.html#xmlListDup'/>
-    <reference name='xmlListEmpty' href='html/libxml-list.html#xmlListEmpty'/>
-    <reference name='xmlListEnd' href='html/libxml-list.html#xmlListEnd'/>
-    <reference name='xmlListFront' href='html/libxml-list.html#xmlListFront'/>
-    <reference name='xmlListInsert' href='html/libxml-list.html#xmlListInsert'/>
-    <reference name='xmlListMerge' href='html/libxml-list.html#xmlListMerge'/>
-    <reference name='xmlListPopBack' href='html/libxml-list.html#xmlListPopBack'/>
-    <reference name='xmlListPopFront' href='html/libxml-list.html#xmlListPopFront'/>
-    <reference name='xmlListPtr' href='html/libxml-list.html#xmlListPtr'/>
-    <reference name='xmlListPushBack' href='html/libxml-list.html#xmlListPushBack'/>
-    <reference name='xmlListPushFront' href='html/libxml-list.html#xmlListPushFront'/>
-    <reference name='xmlListRemoveAll' href='html/libxml-list.html#xmlListRemoveAll'/>
-    <reference name='xmlListRemoveFirst' href='html/libxml-list.html#xmlListRemoveFirst'/>
-    <reference name='xmlListRemoveLast' href='html/libxml-list.html#xmlListRemoveLast'/>
-    <reference name='xmlListReverse' href='html/libxml-list.html#xmlListReverse'/>
-    <reference name='xmlListReverseSearch' href='html/libxml-list.html#xmlListReverseSearch'/>
-    <reference name='xmlListReverseWalk' href='html/libxml-list.html#xmlListReverseWalk'/>
-    <reference name='xmlListSearch' href='html/libxml-list.html#xmlListSearch'/>
-    <reference name='xmlListSize' href='html/libxml-list.html#xmlListSize'/>
-    <reference name='xmlListSort' href='html/libxml-list.html#xmlListSort'/>
-    <reference name='xmlListWalk' href='html/libxml-list.html#xmlListWalk'/>
-    <reference name='xmlListWalker' href='html/libxml-list.html#xmlListWalker'/>
-    <reference name='xmlLoadACatalog' href='html/libxml-catalog.html#xmlLoadACatalog'/>
-    <reference name='xmlLoadCatalog' href='html/libxml-catalog.html#xmlLoadCatalog'/>
-    <reference name='xmlLoadCatalogs' href='html/libxml-catalog.html#xmlLoadCatalogs'/>
-    <reference name='xmlLoadExtDtdDefaultValue' href='html/libxml-globals.html#xmlLoadExtDtdDefaultValue'/>
-    <reference name='xmlLoadExternalEntity' href='html/libxml-parser.html#xmlLoadExternalEntity'/>
-    <reference name='xmlLoadSGMLSuperCatalog' href='html/libxml-catalog.html#xmlLoadSGMLSuperCatalog'/>
-    <reference name='xmlLocationSet' href='html/libxml-xpointer.html#xmlLocationSet'/>
-    <reference name='xmlLocationSetPtr' href='html/libxml-xpointer.html#xmlLocationSetPtr'/>
-    <reference name='xmlLockLibrary' href='html/libxml-threads.html#xmlLockLibrary'/>
-    <reference name='xmlLsCountNode' href='html/libxml-debugXML.html#xmlLsCountNode'/>
-    <reference name='xmlLsOneNode' href='html/libxml-debugXML.html#xmlLsOneNode'/>
-    <reference name='xmlMalloc' href='html/libxml-globals.html#xmlMalloc'/>
-    <reference name='xmlMallocAtomic' href='html/libxml-globals.html#xmlMallocAtomic'/>
-    <reference name='xmlMallocAtomicLoc' href='html/libxml-xmlmemory.html#xmlMallocAtomicLoc'/>
-    <reference name='xmlMallocFunc' href='html/libxml-xmlmemory.html#xmlMallocFunc'/>
-    <reference name='xmlMallocLoc' href='html/libxml-xmlmemory.html#xmlMallocLoc'/>
-    <reference name='xmlMemBlocks' href='html/libxml-xmlmemory.html#xmlMemBlocks'/>
-    <reference name='xmlMemDisplay' href='html/libxml-xmlmemory.html#xmlMemDisplay'/>
-    <reference name='xmlMemDisplayLast' href='html/libxml-xmlmemory.html#xmlMemDisplayLast'/>
-    <reference name='xmlMemFree' href='html/libxml-xmlmemory.html#xmlMemFree'/>
-    <reference name='xmlMemGet' href='html/libxml-xmlmemory.html#xmlMemGet'/>
-    <reference name='xmlMemMalloc' href='html/libxml-xmlmemory.html#xmlMemMalloc'/>
-    <reference name='xmlMemRealloc' href='html/libxml-xmlmemory.html#xmlMemRealloc'/>
-    <reference name='xmlMemSetup' href='html/libxml-xmlmemory.html#xmlMemSetup'/>
-    <reference name='xmlMemShow' href='html/libxml-xmlmemory.html#xmlMemShow'/>
-    <reference name='xmlMemStrdup' href='html/libxml-globals.html#xmlMemStrdup'/>
-    <reference name='xmlMemStrdupLoc' href='html/libxml-xmlmemory.html#xmlMemStrdupLoc'/>
-    <reference name='xmlMemUsed' href='html/libxml-xmlmemory.html#xmlMemUsed'/>
-    <reference name='xmlMemoryDump' href='html/libxml-xmlmemory.html#xmlMemoryDump'/>
-    <reference name='xmlMemoryStrdup' href='html/libxml-xmlmemory.html#xmlMemoryStrdup'/>
-    <reference name='xmlModule' href='html/libxml-xmlmodule.html#xmlModule'/>
-    <reference name='xmlModuleClose' href='html/libxml-xmlmodule.html#xmlModuleClose'/>
-    <reference name='xmlModuleFree' href='html/libxml-xmlmodule.html#xmlModuleFree'/>
-    <reference name='xmlModuleOpen' href='html/libxml-xmlmodule.html#xmlModuleOpen'/>
-    <reference name='xmlModuleOption' href='html/libxml-xmlmodule.html#xmlModuleOption'/>
-    <reference name='xmlModulePtr' href='html/libxml-xmlmodule.html#xmlModulePtr'/>
-    <reference name='xmlModuleSymbol' href='html/libxml-xmlmodule.html#xmlModuleSymbol'/>
-    <reference name='xmlMutex' href='html/libxml-threads.html#xmlMutex'/>
-    <reference name='xmlMutexLock' href='html/libxml-threads.html#xmlMutexLock'/>
-    <reference name='xmlMutexPtr' href='html/libxml-threads.html#xmlMutexPtr'/>
-    <reference name='xmlMutexUnlock' href='html/libxml-threads.html#xmlMutexUnlock'/>
-    <reference name='xmlNamespaceParseNCName' href='html/libxml-parserInternals.html#xmlNamespaceParseNCName'/>
-    <reference name='xmlNamespaceParseNSDef' href='html/libxml-parserInternals.html#xmlNamespaceParseNSDef'/>
-    <reference name='xmlNamespaceParseQName' href='html/libxml-parserInternals.html#xmlNamespaceParseQName'/>
-    <reference name='xmlNanoFTPCheckResponse' href='html/libxml-nanoftp.html#xmlNanoFTPCheckResponse'/>
-    <reference name='xmlNanoFTPCleanup' href='html/libxml-nanoftp.html#xmlNanoFTPCleanup'/>
-    <reference name='xmlNanoFTPClose' href='html/libxml-nanoftp.html#xmlNanoFTPClose'/>
-    <reference name='xmlNanoFTPCloseConnection' href='html/libxml-nanoftp.html#xmlNanoFTPCloseConnection'/>
-    <reference name='xmlNanoFTPConnect' href='html/libxml-nanoftp.html#xmlNanoFTPConnect'/>
-    <reference name='xmlNanoFTPConnectTo' href='html/libxml-nanoftp.html#xmlNanoFTPConnectTo'/>
-    <reference name='xmlNanoFTPCwd' href='html/libxml-nanoftp.html#xmlNanoFTPCwd'/>
-    <reference name='xmlNanoFTPDele' href='html/libxml-nanoftp.html#xmlNanoFTPDele'/>
-    <reference name='xmlNanoFTPFreeCtxt' href='html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt'/>
-    <reference name='xmlNanoFTPGet' href='html/libxml-nanoftp.html#xmlNanoFTPGet'/>
-    <reference name='xmlNanoFTPGetConnection' href='html/libxml-nanoftp.html#xmlNanoFTPGetConnection'/>
-    <reference name='xmlNanoFTPGetResponse' href='html/libxml-nanoftp.html#xmlNanoFTPGetResponse'/>
-    <reference name='xmlNanoFTPGetSocket' href='html/libxml-nanoftp.html#xmlNanoFTPGetSocket'/>
-    <reference name='xmlNanoFTPInit' href='html/libxml-nanoftp.html#xmlNanoFTPInit'/>
-    <reference name='xmlNanoFTPList' href='html/libxml-nanoftp.html#xmlNanoFTPList'/>
-    <reference name='xmlNanoFTPNewCtxt' href='html/libxml-nanoftp.html#xmlNanoFTPNewCtxt'/>
-    <reference name='xmlNanoFTPOpen' href='html/libxml-nanoftp.html#xmlNanoFTPOpen'/>
-    <reference name='xmlNanoFTPProxy' href='html/libxml-nanoftp.html#xmlNanoFTPProxy'/>
-    <reference name='xmlNanoFTPQuit' href='html/libxml-nanoftp.html#xmlNanoFTPQuit'/>
-    <reference name='xmlNanoFTPRead' href='html/libxml-nanoftp.html#xmlNanoFTPRead'/>
-    <reference name='xmlNanoFTPScanProxy' href='html/libxml-nanoftp.html#xmlNanoFTPScanProxy'/>
-    <reference name='xmlNanoFTPUpdateURL' href='html/libxml-nanoftp.html#xmlNanoFTPUpdateURL'/>
-    <reference name='xmlNanoHTTPAuthHeader' href='html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader'/>
-    <reference name='xmlNanoHTTPCleanup' href='html/libxml-nanohttp.html#xmlNanoHTTPCleanup'/>
-    <reference name='xmlNanoHTTPClose' href='html/libxml-nanohttp.html#xmlNanoHTTPClose'/>
-    <reference name='xmlNanoHTTPContentLength' href='html/libxml-nanohttp.html#xmlNanoHTTPContentLength'/>
-    <reference name='xmlNanoHTTPEncoding' href='html/libxml-nanohttp.html#xmlNanoHTTPEncoding'/>
-    <reference name='xmlNanoHTTPFetch' href='html/libxml-nanohttp.html#xmlNanoHTTPFetch'/>
-    <reference name='xmlNanoHTTPInit' href='html/libxml-nanohttp.html#xmlNanoHTTPInit'/>
-    <reference name='xmlNanoHTTPMethod' href='html/libxml-nanohttp.html#xmlNanoHTTPMethod'/>
-    <reference name='xmlNanoHTTPMethodRedir' href='html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir'/>
-    <reference name='xmlNanoHTTPMimeType' href='html/libxml-nanohttp.html#xmlNanoHTTPMimeType'/>
-    <reference name='xmlNanoHTTPOpen' href='html/libxml-nanohttp.html#xmlNanoHTTPOpen'/>
-    <reference name='xmlNanoHTTPOpenRedir' href='html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir'/>
-    <reference name='xmlNanoHTTPRead' href='html/libxml-nanohttp.html#xmlNanoHTTPRead'/>
-    <reference name='xmlNanoHTTPRedir' href='html/libxml-nanohttp.html#xmlNanoHTTPRedir'/>
-    <reference name='xmlNanoHTTPReturnCode' href='html/libxml-nanohttp.html#xmlNanoHTTPReturnCode'/>
-    <reference name='xmlNanoHTTPSave' href='html/libxml-nanohttp.html#xmlNanoHTTPSave'/>
-    <reference name='xmlNanoHTTPScanProxy' href='html/libxml-nanohttp.html#xmlNanoHTTPScanProxy'/>
-    <reference name='xmlNewAutomata' href='html/libxml-xmlautomata.html#xmlNewAutomata'/>
-    <reference name='xmlNewCDataBlock' href='html/libxml-tree.html#xmlNewCDataBlock'/>
-    <reference name='xmlNewCatalog' href='html/libxml-catalog.html#xmlNewCatalog'/>
-    <reference name='xmlNewCharEncodingHandler' href='html/libxml-encoding.html#xmlNewCharEncodingHandler'/>
-    <reference name='xmlNewCharRef' href='html/libxml-tree.html#xmlNewCharRef'/>
-    <reference name='xmlNewChild' href='html/libxml-tree.html#xmlNewChild'/>
-    <reference name='xmlNewComment' href='html/libxml-tree.html#xmlNewComment'/>
-    <reference name='xmlNewDoc' href='html/libxml-tree.html#xmlNewDoc'/>
-    <reference name='xmlNewDocComment' href='html/libxml-tree.html#xmlNewDocComment'/>
-    <reference name='xmlNewDocElementContent' href='html/libxml-valid.html#xmlNewDocElementContent'/>
-    <reference name='xmlNewDocFragment' href='html/libxml-tree.html#xmlNewDocFragment'/>
-    <reference name='xmlNewDocNode' href='html/libxml-tree.html#xmlNewDocNode'/>
-    <reference name='xmlNewDocNodeEatName' href='html/libxml-tree.html#xmlNewDocNodeEatName'/>
-    <reference name='xmlNewDocPI' href='html/libxml-tree.html#xmlNewDocPI'/>
-    <reference name='xmlNewDocProp' href='html/libxml-tree.html#xmlNewDocProp'/>
-    <reference name='xmlNewDocRawNode' href='html/libxml-tree.html#xmlNewDocRawNode'/>
-    <reference name='xmlNewDocText' href='html/libxml-tree.html#xmlNewDocText'/>
-    <reference name='xmlNewDocTextLen' href='html/libxml-tree.html#xmlNewDocTextLen'/>
-    <reference name='xmlNewDtd' href='html/libxml-tree.html#xmlNewDtd'/>
-    <reference name='xmlNewElementContent' href='html/libxml-valid.html#xmlNewElementContent'/>
-    <reference name='xmlNewEntity' href='html/libxml-entities.html#xmlNewEntity'/>
-    <reference name='xmlNewEntityInputStream' href='html/libxml-parserInternals.html#xmlNewEntityInputStream'/>
-    <reference name='xmlNewGlobalNs' href='html/libxml-tree.html#xmlNewGlobalNs'/>
-    <reference name='xmlNewIOInputStream' href='html/libxml-parser.html#xmlNewIOInputStream'/>
-    <reference name='xmlNewInputFromFile' href='html/libxml-parserInternals.html#xmlNewInputFromFile'/>
-    <reference name='xmlNewInputStream' href='html/libxml-parserInternals.html#xmlNewInputStream'/>
-    <reference name='xmlNewMutex' href='html/libxml-threads.html#xmlNewMutex'/>
-    <reference name='xmlNewNode' href='html/libxml-tree.html#xmlNewNode'/>
-    <reference name='xmlNewNodeEatName' href='html/libxml-tree.html#xmlNewNodeEatName'/>
-    <reference name='xmlNewNs' href='html/libxml-tree.html#xmlNewNs'/>
-    <reference name='xmlNewNsProp' href='html/libxml-tree.html#xmlNewNsProp'/>
-    <reference name='xmlNewNsPropEatName' href='html/libxml-tree.html#xmlNewNsPropEatName'/>
-    <reference name='xmlNewPI' href='html/libxml-tree.html#xmlNewPI'/>
-    <reference name='xmlNewParserCtxt' href='html/libxml-parser.html#xmlNewParserCtxt'/>
-    <reference name='xmlNewProp' href='html/libxml-tree.html#xmlNewProp'/>
-    <reference name='xmlNewRMutex' href='html/libxml-threads.html#xmlNewRMutex'/>
-    <reference name='xmlNewReference' href='html/libxml-tree.html#xmlNewReference'/>
-    <reference name='xmlNewStringInputStream' href='html/libxml-parserInternals.html#xmlNewStringInputStream'/>
-    <reference name='xmlNewText' href='html/libxml-tree.html#xmlNewText'/>
-    <reference name='xmlNewTextChild' href='html/libxml-tree.html#xmlNewTextChild'/>
-    <reference name='xmlNewTextLen' href='html/libxml-tree.html#xmlNewTextLen'/>
-    <reference name='xmlNewTextReader' href='html/libxml-xmlreader.html#xmlNewTextReader'/>
-    <reference name='xmlNewTextReaderFilename' href='html/libxml-xmlreader.html#xmlNewTextReaderFilename'/>
-    <reference name='xmlNewTextWriter' href='html/libxml-xmlwriter.html#xmlNewTextWriter'/>
-    <reference name='xmlNewTextWriterDoc' href='html/libxml-xmlwriter.html#xmlNewTextWriterDoc'/>
-    <reference name='xmlNewTextWriterFilename' href='html/libxml-xmlwriter.html#xmlNewTextWriterFilename'/>
-    <reference name='xmlNewTextWriterMemory' href='html/libxml-xmlwriter.html#xmlNewTextWriterMemory'/>
-    <reference name='xmlNewTextWriterPushParser' href='html/libxml-xmlwriter.html#xmlNewTextWriterPushParser'/>
-    <reference name='xmlNewTextWriterTree' href='html/libxml-xmlwriter.html#xmlNewTextWriterTree'/>
-    <reference name='xmlNewValidCtxt' href='html/libxml-valid.html#xmlNewValidCtxt'/>
-    <reference name='xmlNextChar' href='html/libxml-parserInternals.html#xmlNextChar'/>
-    <reference name='xmlNextElementSibling' href='html/libxml-tree.html#xmlNextElementSibling'/>
-    <reference name='xmlNoNetExternalEntityLoader' href='html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader'/>
-    <reference name='xmlNode' href='html/libxml-tree.html#xmlNode'/>
-    <reference name='xmlNodeAddContent' href='html/libxml-tree.html#xmlNodeAddContent'/>
-    <reference name='xmlNodeAddContentLen' href='html/libxml-tree.html#xmlNodeAddContentLen'/>
-    <reference name='xmlNodeBufGetContent' href='html/libxml-tree.html#xmlNodeBufGetContent'/>
-    <reference name='xmlNodeDump' href='html/libxml-tree.html#xmlNodeDump'/>
-    <reference name='xmlNodeDumpOutput' href='html/libxml-tree.html#xmlNodeDumpOutput'/>
-    <reference name='xmlNodeGetBase' href='html/libxml-tree.html#xmlNodeGetBase'/>
-    <reference name='xmlNodeGetContent' href='html/libxml-tree.html#xmlNodeGetContent'/>
-    <reference name='xmlNodeGetLang' href='html/libxml-tree.html#xmlNodeGetLang'/>
-    <reference name='xmlNodeGetSpacePreserve' href='html/libxml-tree.html#xmlNodeGetSpacePreserve'/>
-    <reference name='xmlNodeIsText' href='html/libxml-tree.html#xmlNodeIsText'/>
-    <reference name='xmlNodeListGetRawString' href='html/libxml-tree.html#xmlNodeListGetRawString'/>
-    <reference name='xmlNodeListGetString' href='html/libxml-tree.html#xmlNodeListGetString'/>
-    <reference name='xmlNodePtr' href='html/libxml-tree.html#xmlNodePtr'/>
-    <reference name='xmlNodeSet' href='html/libxml-xpath.html#xmlNodeSet'/>
-    <reference name='xmlNodeSetBase' href='html/libxml-tree.html#xmlNodeSetBase'/>
-    <reference name='xmlNodeSetContent' href='html/libxml-tree.html#xmlNodeSetContent'/>
-    <reference name='xmlNodeSetContentLen' href='html/libxml-tree.html#xmlNodeSetContentLen'/>
-    <reference name='xmlNodeSetLang' href='html/libxml-tree.html#xmlNodeSetLang'/>
-    <reference name='xmlNodeSetName' href='html/libxml-tree.html#xmlNodeSetName'/>
-    <reference name='xmlNodeSetPtr' href='html/libxml-xpath.html#xmlNodeSetPtr'/>
-    <reference name='xmlNodeSetSpacePreserve' href='html/libxml-tree.html#xmlNodeSetSpacePreserve'/>
-    <reference name='xmlNormalizeURIPath' href='html/libxml-uri.html#xmlNormalizeURIPath'/>
-    <reference name='xmlNormalizeWindowsPath' href='html/libxml-xmlIO.html#xmlNormalizeWindowsPath'/>
-    <reference name='xmlNotation' href='html/libxml-tree.html#xmlNotation'/>
-    <reference name='xmlNotationPtr' href='html/libxml-tree.html#xmlNotationPtr'/>
-    <reference name='xmlNotationTable' href='html/libxml-valid.html#xmlNotationTable'/>
-    <reference name='xmlNotationTablePtr' href='html/libxml-valid.html#xmlNotationTablePtr'/>
-    <reference name='xmlNs' href='html/libxml-tree.html#xmlNs'/>
-    <reference name='xmlNsPtr' href='html/libxml-tree.html#xmlNsPtr'/>
-    <reference name='xmlNsType' href='html/libxml-tree.html#xmlNsType'/>
-    <reference name='xmlOutputBuffer' href='html/libxml-tree.html#xmlOutputBuffer'/>
-    <reference name='xmlOutputBufferClose' href='html/libxml-xmlIO.html#xmlOutputBufferClose'/>
-    <reference name='xmlOutputBufferCreateBuffer' href='html/libxml-xmlIO.html#xmlOutputBufferCreateBuffer'/>
-    <reference name='xmlOutputBufferCreateFd' href='html/libxml-xmlIO.html#xmlOutputBufferCreateFd'/>
-    <reference name='xmlOutputBufferCreateFile' href='html/libxml-xmlIO.html#xmlOutputBufferCreateFile'/>
-    <reference name='xmlOutputBufferCreateFilename' href='html/libxml-xmlIO.html#xmlOutputBufferCreateFilename'/>
-    <reference name='xmlOutputBufferCreateFilenameDefault' href='html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault'/>
-    <reference name='xmlOutputBufferCreateFilenameFunc' href='html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc'/>
-    <reference name='xmlOutputBufferCreateFilenameValue' href='html/libxml-globals.html#xmlOutputBufferCreateFilenameValue'/>
-    <reference name='xmlOutputBufferCreateIO' href='html/libxml-xmlIO.html#xmlOutputBufferCreateIO'/>
-    <reference name='xmlOutputBufferFlush' href='html/libxml-xmlIO.html#xmlOutputBufferFlush'/>
-    <reference name='xmlOutputBufferGetContent' href='html/libxml-xmlIO.html#xmlOutputBufferGetContent'/>
-    <reference name='xmlOutputBufferGetSize' href='html/libxml-xmlIO.html#xmlOutputBufferGetSize'/>
-    <reference name='xmlOutputBufferPtr' href='html/libxml-tree.html#xmlOutputBufferPtr'/>
-    <reference name='xmlOutputBufferWrite' href='html/libxml-xmlIO.html#xmlOutputBufferWrite'/>
-    <reference name='xmlOutputBufferWriteEscape' href='html/libxml-xmlIO.html#xmlOutputBufferWriteEscape'/>
-    <reference name='xmlOutputBufferWriteString' href='html/libxml-xmlIO.html#xmlOutputBufferWriteString'/>
-    <reference name='xmlOutputCloseCallback' href='html/libxml-xmlIO.html#xmlOutputCloseCallback'/>
-    <reference name='xmlOutputMatchCallback' href='html/libxml-xmlIO.html#xmlOutputMatchCallback'/>
-    <reference name='xmlOutputOpenCallback' href='html/libxml-xmlIO.html#xmlOutputOpenCallback'/>
-    <reference name='xmlOutputWriteCallback' href='html/libxml-xmlIO.html#xmlOutputWriteCallback'/>
-    <reference name='xmlParseAttValue' href='html/libxml-parserInternals.html#xmlParseAttValue'/>
-    <reference name='xmlParseAttribute' href='html/libxml-parserInternals.html#xmlParseAttribute'/>
-    <reference name='xmlParseAttributeListDecl' href='html/libxml-parserInternals.html#xmlParseAttributeListDecl'/>
-    <reference name='xmlParseAttributeType' href='html/libxml-parserInternals.html#xmlParseAttributeType'/>
-    <reference name='xmlParseBalancedChunkMemory' href='html/libxml-parser.html#xmlParseBalancedChunkMemory'/>
-    <reference name='xmlParseBalancedChunkMemoryRecover' href='html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover'/>
-    <reference name='xmlParseCDSect' href='html/libxml-parserInternals.html#xmlParseCDSect'/>
-    <reference name='xmlParseCatalogFile' href='html/libxml-catalog.html#xmlParseCatalogFile'/>
-    <reference name='xmlParseCharData' href='html/libxml-parserInternals.html#xmlParseCharData'/>
-    <reference name='xmlParseCharEncoding' href='html/libxml-encoding.html#xmlParseCharEncoding'/>
-    <reference name='xmlParseCharRef' href='html/libxml-parserInternals.html#xmlParseCharRef'/>
-    <reference name='xmlParseChunk' href='html/libxml-parser.html#xmlParseChunk'/>
-    <reference name='xmlParseComment' href='html/libxml-parserInternals.html#xmlParseComment'/>
-    <reference name='xmlParseContent' href='html/libxml-parserInternals.html#xmlParseContent'/>
-    <reference name='xmlParseCtxtExternalEntity' href='html/libxml-parser.html#xmlParseCtxtExternalEntity'/>
-    <reference name='xmlParseDTD' href='html/libxml-parser.html#xmlParseDTD'/>
-    <reference name='xmlParseDefaultDecl' href='html/libxml-parserInternals.html#xmlParseDefaultDecl'/>
-    <reference name='xmlParseDoc' href='html/libxml-parser.html#xmlParseDoc'/>
-    <reference name='xmlParseDocTypeDecl' href='html/libxml-parserInternals.html#xmlParseDocTypeDecl'/>
-    <reference name='xmlParseDocument' href='html/libxml-parser.html#xmlParseDocument'/>
-    <reference name='xmlParseElement' href='html/libxml-parserInternals.html#xmlParseElement'/>
-    <reference name='xmlParseElementChildrenContentDecl' href='html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl'/>
-    <reference name='xmlParseElementContentDecl' href='html/libxml-parserInternals.html#xmlParseElementContentDecl'/>
-    <reference name='xmlParseElementDecl' href='html/libxml-parserInternals.html#xmlParseElementDecl'/>
-    <reference name='xmlParseElementMixedContentDecl' href='html/libxml-parserInternals.html#xmlParseElementMixedContentDecl'/>
-    <reference name='xmlParseEncName' href='html/libxml-parserInternals.html#xmlParseEncName'/>
-    <reference name='xmlParseEncodingDecl' href='html/libxml-parserInternals.html#xmlParseEncodingDecl'/>
-    <reference name='xmlParseEndTag' href='html/libxml-parserInternals.html#xmlParseEndTag'/>
-    <reference name='xmlParseEntity' href='html/libxml-parser.html#xmlParseEntity'/>
-    <reference name='xmlParseEntityDecl' href='html/libxml-parserInternals.html#xmlParseEntityDecl'/>
-    <reference name='xmlParseEntityRef' href='html/libxml-parserInternals.html#xmlParseEntityRef'/>
-    <reference name='xmlParseEntityValue' href='html/libxml-parserInternals.html#xmlParseEntityValue'/>
-    <reference name='xmlParseEnumeratedType' href='html/libxml-parserInternals.html#xmlParseEnumeratedType'/>
-    <reference name='xmlParseEnumerationType' href='html/libxml-parserInternals.html#xmlParseEnumerationType'/>
-    <reference name='xmlParseExtParsedEnt' href='html/libxml-parser.html#xmlParseExtParsedEnt'/>
-    <reference name='xmlParseExternalEntity' href='html/libxml-parser.html#xmlParseExternalEntity'/>
-    <reference name='xmlParseExternalID' href='html/libxml-parserInternals.html#xmlParseExternalID'/>
-    <reference name='xmlParseExternalSubset' href='html/libxml-parserInternals.html#xmlParseExternalSubset'/>
-    <reference name='xmlParseFile' href='html/libxml-parser.html#xmlParseFile'/>
-    <reference name='xmlParseInNodeContext' href='html/libxml-parser.html#xmlParseInNodeContext'/>
-    <reference name='xmlParseMarkupDecl' href='html/libxml-parserInternals.html#xmlParseMarkupDecl'/>
-    <reference name='xmlParseMemory' href='html/libxml-parser.html#xmlParseMemory'/>
-    <reference name='xmlParseMisc' href='html/libxml-parserInternals.html#xmlParseMisc'/>
-    <reference name='xmlParseName' href='html/libxml-parserInternals.html#xmlParseName'/>
-    <reference name='xmlParseNamespace' href='html/libxml-parserInternals.html#xmlParseNamespace'/>
-    <reference name='xmlParseNmtoken' href='html/libxml-parserInternals.html#xmlParseNmtoken'/>
-    <reference name='xmlParseNotationDecl' href='html/libxml-parserInternals.html#xmlParseNotationDecl'/>
-    <reference name='xmlParseNotationType' href='html/libxml-parserInternals.html#xmlParseNotationType'/>
-    <reference name='xmlParsePEReference' href='html/libxml-parserInternals.html#xmlParsePEReference'/>
-    <reference name='xmlParsePI' href='html/libxml-parserInternals.html#xmlParsePI'/>
-    <reference name='xmlParsePITarget' href='html/libxml-parserInternals.html#xmlParsePITarget'/>
-    <reference name='xmlParsePubidLiteral' href='html/libxml-parserInternals.html#xmlParsePubidLiteral'/>
-    <reference name='xmlParseQuotedString' href='html/libxml-parserInternals.html#xmlParseQuotedString'/>
-    <reference name='xmlParseReference' href='html/libxml-parserInternals.html#xmlParseReference'/>
-    <reference name='xmlParseSDDecl' href='html/libxml-parserInternals.html#xmlParseSDDecl'/>
-    <reference name='xmlParseStartTag' href='html/libxml-parserInternals.html#xmlParseStartTag'/>
-    <reference name='xmlParseSystemLiteral' href='html/libxml-parserInternals.html#xmlParseSystemLiteral'/>
-    <reference name='xmlParseTextDecl' href='html/libxml-parserInternals.html#xmlParseTextDecl'/>
-    <reference name='xmlParseURI' href='html/libxml-uri.html#xmlParseURI'/>
-    <reference name='xmlParseURIRaw' href='html/libxml-uri.html#xmlParseURIRaw'/>
-    <reference name='xmlParseURIReference' href='html/libxml-uri.html#xmlParseURIReference'/>
-    <reference name='xmlParseVersionInfo' href='html/libxml-parserInternals.html#xmlParseVersionInfo'/>
-    <reference name='xmlParseVersionNum' href='html/libxml-parserInternals.html#xmlParseVersionNum'/>
-    <reference name='xmlParseXMLDecl' href='html/libxml-parserInternals.html#xmlParseXMLDecl'/>
-    <reference name='xmlParserAddNodeInfo' href='html/libxml-parser.html#xmlParserAddNodeInfo'/>
-    <reference name='xmlParserCtxt' href='html/libxml-tree.html#xmlParserCtxt'/>
-    <reference name='xmlParserCtxtPtr' href='html/libxml-tree.html#xmlParserCtxtPtr'/>
-    <reference name='xmlParserDebugEntities' href='html/libxml-globals.html#xmlParserDebugEntities'/>
-    <reference name='xmlParserError' href='html/libxml-xmlerror.html#xmlParserError'/>
-    <reference name='xmlParserErrors' href='html/libxml-xmlerror.html#xmlParserErrors'/>
-    <reference name='xmlParserFindNodeInfo' href='html/libxml-parser.html#xmlParserFindNodeInfo'/>
-    <reference name='xmlParserFindNodeInfoIndex' href='html/libxml-parser.html#xmlParserFindNodeInfoIndex'/>
-    <reference name='xmlParserGetDirectory' href='html/libxml-xmlIO.html#xmlParserGetDirectory'/>
-    <reference name='xmlParserHandlePEReference' href='html/libxml-parserInternals.html#xmlParserHandlePEReference'/>
-    <reference name='xmlParserHandleReference' href='html/libxml-parserInternals.html#xmlParserHandleReference'/>
-    <reference name='xmlParserInput' href='html/libxml-tree.html#xmlParserInput'/>
-    <reference name='xmlParserInputBuffer' href='html/libxml-tree.html#xmlParserInputBuffer'/>
-    <reference name='xmlParserInputBufferCreateFd' href='html/libxml-xmlIO.html#xmlParserInputBufferCreateFd'/>
-    <reference name='xmlParserInputBufferCreateFile' href='html/libxml-xmlIO.html#xmlParserInputBufferCreateFile'/>
-    <reference name='xmlParserInputBufferCreateFilename' href='html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename'/>
-    <reference name='xmlParserInputBufferCreateFilenameDefault' href='html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault'/>
-    <reference name='xmlParserInputBufferCreateFilenameFunc' href='html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc'/>
-    <reference name='xmlParserInputBufferCreateFilenameValue' href='html/libxml-globals.html#xmlParserInputBufferCreateFilenameValue'/>
-    <reference name='xmlParserInputBufferCreateIO' href='html/libxml-xmlIO.html#xmlParserInputBufferCreateIO'/>
-    <reference name='xmlParserInputBufferCreateMem' href='html/libxml-xmlIO.html#xmlParserInputBufferCreateMem'/>
-    <reference name='xmlParserInputBufferCreateStatic' href='html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic'/>
-    <reference name='xmlParserInputBufferGrow' href='html/libxml-xmlIO.html#xmlParserInputBufferGrow'/>
-    <reference name='xmlParserInputBufferPtr' href='html/libxml-tree.html#xmlParserInputBufferPtr'/>
-    <reference name='xmlParserInputBufferPush' href='html/libxml-xmlIO.html#xmlParserInputBufferPush'/>
-    <reference name='xmlParserInputBufferRead' href='html/libxml-xmlIO.html#xmlParserInputBufferRead'/>
-    <reference name='xmlParserInputDeallocate' href='html/libxml-parser.html#xmlParserInputDeallocate'/>
-    <reference name='xmlParserInputGrow' href='html/libxml-parser.html#xmlParserInputGrow'/>
-    <reference name='xmlParserInputPtr' href='html/libxml-tree.html#xmlParserInputPtr'/>
-    <reference name='xmlParserInputRead' href='html/libxml-parser.html#xmlParserInputRead'/>
-    <reference name='xmlParserInputShrink' href='html/libxml-parserInternals.html#xmlParserInputShrink'/>
-    <reference name='xmlParserInputState' href='html/libxml-parser.html#xmlParserInputState'/>
-    <reference name='xmlParserMaxDepth' href='html/libxml-parserInternals.html#xmlParserMaxDepth'/>
-    <reference name='xmlParserMode' href='html/libxml-parser.html#xmlParserMode'/>
-    <reference name='xmlParserNodeInfo' href='html/libxml-parser.html#xmlParserNodeInfo'/>
-    <reference name='xmlParserNodeInfoPtr' href='html/libxml-parser.html#xmlParserNodeInfoPtr'/>
-    <reference name='xmlParserNodeInfoSeq' href='html/libxml-parser.html#xmlParserNodeInfoSeq'/>
-    <reference name='xmlParserNodeInfoSeqPtr' href='html/libxml-parser.html#xmlParserNodeInfoSeqPtr'/>
-    <reference name='xmlParserOption' href='html/libxml-parser.html#xmlParserOption'/>
-    <reference name='xmlParserPrintFileContext' href='html/libxml-xmlerror.html#xmlParserPrintFileContext'/>
-    <reference name='xmlParserPrintFileInfo' href='html/libxml-xmlerror.html#xmlParserPrintFileInfo'/>
-    <reference name='xmlParserProperties' href='html/libxml-xmlreader.html#xmlParserProperties'/>
-    <reference name='xmlParserSeverities' href='html/libxml-xmlreader.html#xmlParserSeverities'/>
-    <reference name='xmlParserValidityError' href='html/libxml-xmlerror.html#xmlParserValidityError'/>
-    <reference name='xmlParserValidityWarning' href='html/libxml-xmlerror.html#xmlParserValidityWarning'/>
-    <reference name='xmlParserVersion' href='html/libxml-globals.html#xmlParserVersion'/>
-    <reference name='xmlParserWarning' href='html/libxml-xmlerror.html#xmlParserWarning'/>
-    <reference name='xmlPathToURI' href='html/libxml-uri.html#xmlPathToURI'/>
-    <reference name='xmlPattern' href='html/libxml-pattern.html#xmlPattern'/>
-    <reference name='xmlPatternFlags' href='html/libxml-pattern.html#xmlPatternFlags'/>
-    <reference name='xmlPatternFromRoot' href='html/libxml-pattern.html#xmlPatternFromRoot'/>
-    <reference name='xmlPatternGetStreamCtxt' href='html/libxml-pattern.html#xmlPatternGetStreamCtxt'/>
-    <reference name='xmlPatternMatch' href='html/libxml-pattern.html#xmlPatternMatch'/>
-    <reference name='xmlPatternMaxDepth' href='html/libxml-pattern.html#xmlPatternMaxDepth'/>
-    <reference name='xmlPatternMinDepth' href='html/libxml-pattern.html#xmlPatternMinDepth'/>
-    <reference name='xmlPatternPtr' href='html/libxml-pattern.html#xmlPatternPtr'/>
-    <reference name='xmlPatternStreamable' href='html/libxml-pattern.html#xmlPatternStreamable'/>
-    <reference name='xmlPatterncompile' href='html/libxml-pattern.html#xmlPatterncompile'/>
-    <reference name='xmlPedanticParserDefault' href='html/libxml-parser.html#xmlPedanticParserDefault'/>
-    <reference name='xmlPedanticParserDefaultValue' href='html/libxml-globals.html#xmlPedanticParserDefaultValue'/>
-    <reference name='xmlPopInput' href='html/libxml-parserInternals.html#xmlPopInput'/>
-    <reference name='xmlPopInputCallbacks' href='html/libxml-xmlIO.html#xmlPopInputCallbacks'/>
-    <reference name='xmlPopOutputCallbacks' href='html/libxml-xmlIO.html#xmlPopOutputCallbacks'/>
-    <reference name='xmlPreviousElementSibling' href='html/libxml-tree.html#xmlPreviousElementSibling'/>
-    <reference name='xmlPrintURI' href='html/libxml-uri.html#xmlPrintURI'/>
-    <reference name='xmlPushInput' href='html/libxml-parserInternals.html#xmlPushInput'/>
-    <reference name='xmlRMutex' href='html/libxml-threads.html#xmlRMutex'/>
-    <reference name='xmlRMutexLock' href='html/libxml-threads.html#xmlRMutexLock'/>
-    <reference name='xmlRMutexPtr' href='html/libxml-threads.html#xmlRMutexPtr'/>
-    <reference name='xmlRMutexUnlock' href='html/libxml-threads.html#xmlRMutexUnlock'/>
-    <reference name='xmlReadDoc' href='html/libxml-parser.html#xmlReadDoc'/>
-    <reference name='xmlReadFd' href='html/libxml-parser.html#xmlReadFd'/>
-    <reference name='xmlReadFile' href='html/libxml-parser.html#xmlReadFile'/>
-    <reference name='xmlReadIO' href='html/libxml-parser.html#xmlReadIO'/>
-    <reference name='xmlReadMemory' href='html/libxml-parser.html#xmlReadMemory'/>
-    <reference name='xmlReaderForDoc' href='html/libxml-xmlreader.html#xmlReaderForDoc'/>
-    <reference name='xmlReaderForFd' href='html/libxml-xmlreader.html#xmlReaderForFd'/>
-    <reference name='xmlReaderForFile' href='html/libxml-xmlreader.html#xmlReaderForFile'/>
-    <reference name='xmlReaderForIO' href='html/libxml-xmlreader.html#xmlReaderForIO'/>
-    <reference name='xmlReaderForMemory' href='html/libxml-xmlreader.html#xmlReaderForMemory'/>
-    <reference name='xmlReaderNewDoc' href='html/libxml-xmlreader.html#xmlReaderNewDoc'/>
-    <reference name='xmlReaderNewFd' href='html/libxml-xmlreader.html#xmlReaderNewFd'/>
-    <reference name='xmlReaderNewFile' href='html/libxml-xmlreader.html#xmlReaderNewFile'/>
-    <reference name='xmlReaderNewIO' href='html/libxml-xmlreader.html#xmlReaderNewIO'/>
-    <reference name='xmlReaderNewMemory' href='html/libxml-xmlreader.html#xmlReaderNewMemory'/>
-    <reference name='xmlReaderNewWalker' href='html/libxml-xmlreader.html#xmlReaderNewWalker'/>
-    <reference name='xmlReaderTypes' href='html/libxml-xmlreader.html#xmlReaderTypes'/>
-    <reference name='xmlReaderWalker' href='html/libxml-xmlreader.html#xmlReaderWalker'/>
-    <reference name='xmlRealloc' href='html/libxml-globals.html#xmlRealloc'/>
-    <reference name='xmlReallocFunc' href='html/libxml-xmlmemory.html#xmlReallocFunc'/>
-    <reference name='xmlReallocLoc' href='html/libxml-xmlmemory.html#xmlReallocLoc'/>
-    <reference name='xmlReconciliateNs' href='html/libxml-tree.html#xmlReconciliateNs'/>
-    <reference name='xmlRecoverDoc' href='html/libxml-parser.html#xmlRecoverDoc'/>
-    <reference name='xmlRecoverFile' href='html/libxml-parser.html#xmlRecoverFile'/>
-    <reference name='xmlRecoverMemory' href='html/libxml-parser.html#xmlRecoverMemory'/>
-    <reference name='xmlRef' href='html/libxml-tree.html#xmlRef'/>
-    <reference name='xmlRefPtr' href='html/libxml-tree.html#xmlRefPtr'/>
-    <reference name='xmlRefTable' href='html/libxml-valid.html#xmlRefTable'/>
-    <reference name='xmlRefTablePtr' href='html/libxml-valid.html#xmlRefTablePtr'/>
-    <reference name='xmlRegExecCallbacks' href='html/libxml-xmlregexp.html#xmlRegExecCallbacks'/>
-    <reference name='xmlRegExecCtxt' href='html/libxml-xmlregexp.html#xmlRegExecCtxt'/>
-    <reference name='xmlRegExecCtxtPtr' href='html/libxml-xmlregexp.html#xmlRegExecCtxtPtr'/>
-    <reference name='xmlRegExecErrInfo' href='html/libxml-xmlregexp.html#xmlRegExecErrInfo'/>
-    <reference name='xmlRegExecNextValues' href='html/libxml-xmlregexp.html#xmlRegExecNextValues'/>
-    <reference name='xmlRegExecPushString' href='html/libxml-xmlregexp.html#xmlRegExecPushString'/>
-    <reference name='xmlRegExecPushString2' href='html/libxml-xmlregexp.html#xmlRegExecPushString2'/>
-    <reference name='xmlRegFreeExecCtxt' href='html/libxml-xmlregexp.html#xmlRegFreeExecCtxt'/>
-    <reference name='xmlRegFreeRegexp' href='html/libxml-xmlregexp.html#xmlRegFreeRegexp'/>
-    <reference name='xmlRegNewExecCtxt' href='html/libxml-xmlregexp.html#xmlRegNewExecCtxt'/>
-    <reference name='xmlRegexp' href='html/libxml-xmlregexp.html#xmlRegexp'/>
-    <reference name='xmlRegexpCompile' href='html/libxml-xmlregexp.html#xmlRegexpCompile'/>
-    <reference name='xmlRegexpExec' href='html/libxml-xmlregexp.html#xmlRegexpExec'/>
-    <reference name='xmlRegexpIsDeterminist' href='html/libxml-xmlregexp.html#xmlRegexpIsDeterminist'/>
-    <reference name='xmlRegexpPrint' href='html/libxml-xmlregexp.html#xmlRegexpPrint'/>
-    <reference name='xmlRegexpPtr' href='html/libxml-xmlregexp.html#xmlRegexpPtr'/>
-    <reference name='xmlRegisterCharEncodingHandler' href='html/libxml-encoding.html#xmlRegisterCharEncodingHandler'/>
-    <reference name='xmlRegisterDefaultInputCallbacks' href='html/libxml-xmlIO.html#xmlRegisterDefaultInputCallbacks'/>
-    <reference name='xmlRegisterDefaultOutputCallbacks' href='html/libxml-xmlIO.html#xmlRegisterDefaultOutputCallbacks'/>
-    <reference name='xmlRegisterHTTPPostCallbacks' href='html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks'/>
-    <reference name='xmlRegisterInputCallbacks' href='html/libxml-xmlIO.html#xmlRegisterInputCallbacks'/>
-    <reference name='xmlRegisterNodeDefault' href='html/libxml-globals.html#xmlRegisterNodeDefault'/>
-    <reference name='xmlRegisterNodeDefaultValue' href='html/libxml-globals.html#xmlRegisterNodeDefaultValue'/>
-    <reference name='xmlRegisterNodeFunc' href='html/libxml-globals.html#xmlRegisterNodeFunc'/>
-    <reference name='xmlRegisterOutputCallbacks' href='html/libxml-xmlIO.html#xmlRegisterOutputCallbacks'/>
-    <reference name='xmlRelaxNG' href='html/libxml-relaxng.html#xmlRelaxNG'/>
-    <reference name='xmlRelaxNGCleanupTypes' href='html/libxml-relaxng.html#xmlRelaxNGCleanupTypes'/>
-    <reference name='xmlRelaxNGDump' href='html/libxml-relaxng.html#xmlRelaxNGDump'/>
-    <reference name='xmlRelaxNGDumpTree' href='html/libxml-relaxng.html#xmlRelaxNGDumpTree'/>
-    <reference name='xmlRelaxNGFree' href='html/libxml-relaxng.html#xmlRelaxNGFree'/>
-    <reference name='xmlRelaxNGFreeParserCtxt' href='html/libxml-relaxng.html#xmlRelaxNGFreeParserCtxt'/>
-    <reference name='xmlRelaxNGFreeValidCtxt' href='html/libxml-relaxng.html#xmlRelaxNGFreeValidCtxt'/>
-    <reference name='xmlRelaxNGGetParserErrors' href='html/libxml-relaxng.html#xmlRelaxNGGetParserErrors'/>
-    <reference name='xmlRelaxNGGetValidErrors' href='html/libxml-relaxng.html#xmlRelaxNGGetValidErrors'/>
-    <reference name='xmlRelaxNGInitTypes' href='html/libxml-relaxng.html#xmlRelaxNGInitTypes'/>
-    <reference name='xmlRelaxNGNewDocParserCtxt' href='html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt'/>
-    <reference name='xmlRelaxNGNewMemParserCtxt' href='html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt'/>
-    <reference name='xmlRelaxNGNewParserCtxt' href='html/libxml-relaxng.html#xmlRelaxNGNewParserCtxt'/>
-    <reference name='xmlRelaxNGNewValidCtxt' href='html/libxml-relaxng.html#xmlRelaxNGNewValidCtxt'/>
-    <reference name='xmlRelaxNGParse' href='html/libxml-relaxng.html#xmlRelaxNGParse'/>
-    <reference name='xmlRelaxNGParserCtxt' href='html/libxml-relaxng.html#xmlRelaxNGParserCtxt'/>
-    <reference name='xmlRelaxNGParserCtxtPtr' href='html/libxml-relaxng.html#xmlRelaxNGParserCtxtPtr'/>
-    <reference name='xmlRelaxNGParserFlag' href='html/libxml-relaxng.html#xmlRelaxNGParserFlag'/>
-    <reference name='xmlRelaxNGPtr' href='html/libxml-relaxng.html#xmlRelaxNGPtr'/>
-    <reference name='xmlRelaxNGSetParserErrors' href='html/libxml-relaxng.html#xmlRelaxNGSetParserErrors'/>
-    <reference name='xmlRelaxNGSetParserStructuredErrors' href='html/libxml-relaxng.html#xmlRelaxNGSetParserStructuredErrors'/>
-    <reference name='xmlRelaxNGSetValidErrors' href='html/libxml-relaxng.html#xmlRelaxNGSetValidErrors'/>
-    <reference name='xmlRelaxNGSetValidStructuredErrors' href='html/libxml-relaxng.html#xmlRelaxNGSetValidStructuredErrors'/>
-    <reference name='xmlRelaxNGValidCtxt' href='html/libxml-relaxng.html#xmlRelaxNGValidCtxt'/>
-    <reference name='xmlRelaxNGValidCtxtPtr' href='html/libxml-relaxng.html#xmlRelaxNGValidCtxtPtr'/>
-    <reference name='xmlRelaxNGValidErr' href='html/libxml-relaxng.html#xmlRelaxNGValidErr'/>
-    <reference name='xmlRelaxNGValidateDoc' href='html/libxml-relaxng.html#xmlRelaxNGValidateDoc'/>
-    <reference name='xmlRelaxNGValidateFullElement' href='html/libxml-relaxng.html#xmlRelaxNGValidateFullElement'/>
-    <reference name='xmlRelaxNGValidatePopElement' href='html/libxml-relaxng.html#xmlRelaxNGValidatePopElement'/>
-    <reference name='xmlRelaxNGValidatePushCData' href='html/libxml-relaxng.html#xmlRelaxNGValidatePushCData'/>
-    <reference name='xmlRelaxNGValidatePushElement' href='html/libxml-relaxng.html#xmlRelaxNGValidatePushElement'/>
-    <reference name='xmlRelaxNGValidityErrorFunc' href='html/libxml-relaxng.html#xmlRelaxNGValidityErrorFunc'/>
-    <reference name='xmlRelaxNGValidityWarningFunc' href='html/libxml-relaxng.html#xmlRelaxNGValidityWarningFunc'/>
-    <reference name='xmlRelaxParserSetFlag' href='html/libxml-relaxng.html#xmlRelaxParserSetFlag'/>
-    <reference name='xmlRemoveID' href='html/libxml-valid.html#xmlRemoveID'/>
-    <reference name='xmlRemoveProp' href='html/libxml-tree.html#xmlRemoveProp'/>
-    <reference name='xmlRemoveRef' href='html/libxml-valid.html#xmlRemoveRef'/>
-    <reference name='xmlReplaceNode' href='html/libxml-tree.html#xmlReplaceNode'/>
-    <reference name='xmlResetError' href='html/libxml-xmlerror.html#xmlResetError'/>
-    <reference name='xmlResetLastError' href='html/libxml-xmlerror.html#xmlResetLastError'/>
-    <reference name='xmlRootNode' href='html/libxml-tree.html#xmlRootNode'/>
-    <reference name='xmlSAX2AttributeDecl' href='html/libxml-SAX2.html#xmlSAX2AttributeDecl'/>
-    <reference name='xmlSAX2CDataBlock' href='html/libxml-SAX2.html#xmlSAX2CDataBlock'/>
-    <reference name='xmlSAX2Characters' href='html/libxml-SAX2.html#xmlSAX2Characters'/>
-    <reference name='xmlSAX2Comment' href='html/libxml-SAX2.html#xmlSAX2Comment'/>
-    <reference name='xmlSAX2ElementDecl' href='html/libxml-SAX2.html#xmlSAX2ElementDecl'/>
-    <reference name='xmlSAX2EndDocument' href='html/libxml-SAX2.html#xmlSAX2EndDocument'/>
-    <reference name='xmlSAX2EndElement' href='html/libxml-SAX2.html#xmlSAX2EndElement'/>
-    <reference name='xmlSAX2EndElementNs' href='html/libxml-SAX2.html#xmlSAX2EndElementNs'/>
-    <reference name='xmlSAX2EntityDecl' href='html/libxml-SAX2.html#xmlSAX2EntityDecl'/>
-    <reference name='xmlSAX2ExternalSubset' href='html/libxml-SAX2.html#xmlSAX2ExternalSubset'/>
-    <reference name='xmlSAX2GetColumnNumber' href='html/libxml-SAX2.html#xmlSAX2GetColumnNumber'/>
-    <reference name='xmlSAX2GetEntity' href='html/libxml-SAX2.html#xmlSAX2GetEntity'/>
-    <reference name='xmlSAX2GetLineNumber' href='html/libxml-SAX2.html#xmlSAX2GetLineNumber'/>
-    <reference name='xmlSAX2GetParameterEntity' href='html/libxml-SAX2.html#xmlSAX2GetParameterEntity'/>
-    <reference name='xmlSAX2GetPublicId' href='html/libxml-SAX2.html#xmlSAX2GetPublicId'/>
-    <reference name='xmlSAX2GetSystemId' href='html/libxml-SAX2.html#xmlSAX2GetSystemId'/>
-    <reference name='xmlSAX2HasExternalSubset' href='html/libxml-SAX2.html#xmlSAX2HasExternalSubset'/>
-    <reference name='xmlSAX2HasInternalSubset' href='html/libxml-SAX2.html#xmlSAX2HasInternalSubset'/>
-    <reference name='xmlSAX2IgnorableWhitespace' href='html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace'/>
-    <reference name='xmlSAX2InitDefaultSAXHandler' href='html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler'/>
-    <reference name='xmlSAX2InitDocbDefaultSAXHandler' href='html/libxml-SAX2.html#xmlSAX2InitDocbDefaultSAXHandler'/>
-    <reference name='xmlSAX2InitHtmlDefaultSAXHandler' href='html/libxml-SAX2.html#xmlSAX2InitHtmlDefaultSAXHandler'/>
-    <reference name='xmlSAX2InternalSubset' href='html/libxml-SAX2.html#xmlSAX2InternalSubset'/>
-    <reference name='xmlSAX2IsStandalone' href='html/libxml-SAX2.html#xmlSAX2IsStandalone'/>
-    <reference name='xmlSAX2NotationDecl' href='html/libxml-SAX2.html#xmlSAX2NotationDecl'/>
-    <reference name='xmlSAX2ProcessingInstruction' href='html/libxml-SAX2.html#xmlSAX2ProcessingInstruction'/>
-    <reference name='xmlSAX2Reference' href='html/libxml-SAX2.html#xmlSAX2Reference'/>
-    <reference name='xmlSAX2ResolveEntity' href='html/libxml-SAX2.html#xmlSAX2ResolveEntity'/>
-    <reference name='xmlSAX2SetDocumentLocator' href='html/libxml-SAX2.html#xmlSAX2SetDocumentLocator'/>
-    <reference name='xmlSAX2StartDocument' href='html/libxml-SAX2.html#xmlSAX2StartDocument'/>
-    <reference name='xmlSAX2StartElement' href='html/libxml-SAX2.html#xmlSAX2StartElement'/>
-    <reference name='xmlSAX2StartElementNs' href='html/libxml-SAX2.html#xmlSAX2StartElementNs'/>
-    <reference name='xmlSAX2UnparsedEntityDecl' href='html/libxml-SAX2.html#xmlSAX2UnparsedEntityDecl'/>
-    <reference name='xmlSAXDefaultVersion' href='html/libxml-SAX2.html#xmlSAXDefaultVersion'/>
-    <reference name='xmlSAXHandler' href='html/libxml-tree.html#xmlSAXHandler'/>
-    <reference name='xmlSAXHandlerPtr' href='html/libxml-tree.html#xmlSAXHandlerPtr'/>
-    <reference name='xmlSAXHandlerV1' href='html/libxml-parser.html#xmlSAXHandlerV1'/>
-    <reference name='xmlSAXHandlerV1Ptr' href='html/libxml-parser.html#xmlSAXHandlerV1Ptr'/>
-    <reference name='xmlSAXLocator' href='html/libxml-tree.html#xmlSAXLocator'/>
-    <reference name='xmlSAXLocatorPtr' href='html/libxml-tree.html#xmlSAXLocatorPtr'/>
-    <reference name='xmlSAXParseDTD' href='html/libxml-parser.html#xmlSAXParseDTD'/>
-    <reference name='xmlSAXParseDoc' href='html/libxml-parser.html#xmlSAXParseDoc'/>
-    <reference name='xmlSAXParseEntity' href='html/libxml-parser.html#xmlSAXParseEntity'/>
-    <reference name='xmlSAXParseFile' href='html/libxml-parser.html#xmlSAXParseFile'/>
-    <reference name='xmlSAXParseFileWithData' href='html/libxml-parser.html#xmlSAXParseFileWithData'/>
-    <reference name='xmlSAXParseMemory' href='html/libxml-parser.html#xmlSAXParseMemory'/>
-    <reference name='xmlSAXParseMemoryWithData' href='html/libxml-parser.html#xmlSAXParseMemoryWithData'/>
-    <reference name='xmlSAXUserParseFile' href='html/libxml-parser.html#xmlSAXUserParseFile'/>
-    <reference name='xmlSAXUserParseMemory' href='html/libxml-parser.html#xmlSAXUserParseMemory'/>
-    <reference name='xmlSAXVersion' href='html/libxml-SAX2.html#xmlSAXVersion'/>
-    <reference name='xmlSaveClose' href='html/libxml-xmlsave.html#xmlSaveClose'/>
-    <reference name='xmlSaveCtxt' href='html/libxml-xmlsave.html#xmlSaveCtxt'/>
-    <reference name='xmlSaveCtxtPtr' href='html/libxml-xmlsave.html#xmlSaveCtxtPtr'/>
-    <reference name='xmlSaveDoc' href='html/libxml-xmlsave.html#xmlSaveDoc'/>
-    <reference name='xmlSaveFile' href='html/libxml-tree.html#xmlSaveFile'/>
-    <reference name='xmlSaveFileEnc' href='html/libxml-tree.html#xmlSaveFileEnc'/>
-    <reference name='xmlSaveFileTo' href='html/libxml-tree.html#xmlSaveFileTo'/>
-    <reference name='xmlSaveFlush' href='html/libxml-xmlsave.html#xmlSaveFlush'/>
-    <reference name='xmlSaveFormatFile' href='html/libxml-tree.html#xmlSaveFormatFile'/>
-    <reference name='xmlSaveFormatFileEnc' href='html/libxml-tree.html#xmlSaveFormatFileEnc'/>
-    <reference name='xmlSaveFormatFileTo' href='html/libxml-tree.html#xmlSaveFormatFileTo'/>
-    <reference name='xmlSaveNoEmptyTags' href='html/libxml-globals.html#xmlSaveNoEmptyTags'/>
-    <reference name='xmlSaveOption' href='html/libxml-xmlsave.html#xmlSaveOption'/>
-    <reference name='xmlSaveSetAttrEscape' href='html/libxml-xmlsave.html#xmlSaveSetAttrEscape'/>
-    <reference name='xmlSaveSetEscape' href='html/libxml-xmlsave.html#xmlSaveSetEscape'/>
-    <reference name='xmlSaveToBuffer' href='html/libxml-xmlsave.html#xmlSaveToBuffer'/>
-    <reference name='xmlSaveToFd' href='html/libxml-xmlsave.html#xmlSaveToFd'/>
-    <reference name='xmlSaveToFilename' href='html/libxml-xmlsave.html#xmlSaveToFilename'/>
-    <reference name='xmlSaveToIO' href='html/libxml-xmlsave.html#xmlSaveToIO'/>
-    <reference name='xmlSaveTree' href='html/libxml-xmlsave.html#xmlSaveTree'/>
-    <reference name='xmlSaveUri' href='html/libxml-uri.html#xmlSaveUri'/>
-    <reference name='xmlScanName' href='html/libxml-parserInternals.html#xmlScanName'/>
-    <reference name='xmlSchema' href='html/libxml-xmlschemas.html#xmlSchema'/>
-    <reference name='xmlSchemaAnnot' href='html/libxml-schemasInternals.html#xmlSchemaAnnot'/>
-    <reference name='xmlSchemaAnnotPtr' href='html/libxml-schemasInternals.html#xmlSchemaAnnotPtr'/>
-    <reference name='xmlSchemaAttribute' href='html/libxml-schemasInternals.html#xmlSchemaAttribute'/>
-    <reference name='xmlSchemaAttributeGroup' href='html/libxml-schemasInternals.html#xmlSchemaAttributeGroup'/>
-    <reference name='xmlSchemaAttributeGroupPtr' href='html/libxml-schemasInternals.html#xmlSchemaAttributeGroupPtr'/>
-    <reference name='xmlSchemaAttributeLink' href='html/libxml-schemasInternals.html#xmlSchemaAttributeLink'/>
-    <reference name='xmlSchemaAttributeLinkPtr' href='html/libxml-schemasInternals.html#xmlSchemaAttributeLinkPtr'/>
-    <reference name='xmlSchemaAttributePtr' href='html/libxml-schemasInternals.html#xmlSchemaAttributePtr'/>
-    <reference name='xmlSchemaCheckFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet'/>
-    <reference name='xmlSchemaCleanupTypes' href='html/libxml-xmlschemastypes.html#xmlSchemaCleanupTypes'/>
-    <reference name='xmlSchemaCollapseString' href='html/libxml-xmlschemastypes.html#xmlSchemaCollapseString'/>
-    <reference name='xmlSchemaCompareValues' href='html/libxml-xmlschemastypes.html#xmlSchemaCompareValues'/>
-    <reference name='xmlSchemaCompareValuesWhtsp' href='html/libxml-xmlschemastypes.html#xmlSchemaCompareValuesWhtsp'/>
-    <reference name='xmlSchemaContentType' href='html/libxml-schemasInternals.html#xmlSchemaContentType'/>
-    <reference name='xmlSchemaCopyValue' href='html/libxml-xmlschemastypes.html#xmlSchemaCopyValue'/>
-    <reference name='xmlSchemaDump' href='html/libxml-xmlschemas.html#xmlSchemaDump'/>
-    <reference name='xmlSchemaElement' href='html/libxml-schemasInternals.html#xmlSchemaElement'/>
-    <reference name='xmlSchemaElementPtr' href='html/libxml-schemasInternals.html#xmlSchemaElementPtr'/>
-    <reference name='xmlSchemaFacet' href='html/libxml-schemasInternals.html#xmlSchemaFacet'/>
-    <reference name='xmlSchemaFacetLink' href='html/libxml-schemasInternals.html#xmlSchemaFacetLink'/>
-    <reference name='xmlSchemaFacetLinkPtr' href='html/libxml-schemasInternals.html#xmlSchemaFacetLinkPtr'/>
-    <reference name='xmlSchemaFacetPtr' href='html/libxml-schemasInternals.html#xmlSchemaFacetPtr'/>
-    <reference name='xmlSchemaFree' href='html/libxml-xmlschemas.html#xmlSchemaFree'/>
-    <reference name='xmlSchemaFreeFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet'/>
-    <reference name='xmlSchemaFreeParserCtxt' href='html/libxml-xmlschemas.html#xmlSchemaFreeParserCtxt'/>
-    <reference name='xmlSchemaFreeType' href='html/libxml-schemasInternals.html#xmlSchemaFreeType'/>
-    <reference name='xmlSchemaFreeValidCtxt' href='html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt'/>
-    <reference name='xmlSchemaFreeValue' href='html/libxml-xmlschemastypes.html#xmlSchemaFreeValue'/>
-    <reference name='xmlSchemaFreeWildcard' href='html/libxml-schemasInternals.html#xmlSchemaFreeWildcard'/>
-    <reference name='xmlSchemaGetBuiltInListSimpleTypeItemType' href='html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-    <reference name='xmlSchemaGetBuiltInType' href='html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType'/>
-    <reference name='xmlSchemaGetCanonValue' href='html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue'/>
-    <reference name='xmlSchemaGetCanonValueWhtsp' href='html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp'/>
-    <reference name='xmlSchemaGetFacetValueAsULong' href='html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong'/>
-    <reference name='xmlSchemaGetParserErrors' href='html/libxml-xmlschemas.html#xmlSchemaGetParserErrors'/>
-    <reference name='xmlSchemaGetPredefinedType' href='html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType'/>
-    <reference name='xmlSchemaGetValType' href='html/libxml-xmlschemastypes.html#xmlSchemaGetValType'/>
-    <reference name='xmlSchemaGetValidErrors' href='html/libxml-xmlschemas.html#xmlSchemaGetValidErrors'/>
-    <reference name='xmlSchemaInitTypes' href='html/libxml-xmlschemastypes.html#xmlSchemaInitTypes'/>
-    <reference name='xmlSchemaIsBuiltInTypeFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet'/>
-    <reference name='xmlSchemaIsValid' href='html/libxml-xmlschemas.html#xmlSchemaIsValid'/>
-    <reference name='xmlSchemaNewDocParserCtxt' href='html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt'/>
-    <reference name='xmlSchemaNewFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaNewFacet'/>
-    <reference name='xmlSchemaNewMemParserCtxt' href='html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt'/>
-    <reference name='xmlSchemaNewNOTATIONValue' href='html/libxml-xmlschemastypes.html#xmlSchemaNewNOTATIONValue'/>
-    <reference name='xmlSchemaNewParserCtxt' href='html/libxml-xmlschemas.html#xmlSchemaNewParserCtxt'/>
-    <reference name='xmlSchemaNewQNameValue' href='html/libxml-xmlschemastypes.html#xmlSchemaNewQNameValue'/>
-    <reference name='xmlSchemaNewStringValue' href='html/libxml-xmlschemastypes.html#xmlSchemaNewStringValue'/>
-    <reference name='xmlSchemaNewValidCtxt' href='html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt'/>
-    <reference name='xmlSchemaNotation' href='html/libxml-schemasInternals.html#xmlSchemaNotation'/>
-    <reference name='xmlSchemaNotationPtr' href='html/libxml-schemasInternals.html#xmlSchemaNotationPtr'/>
-    <reference name='xmlSchemaParse' href='html/libxml-xmlschemas.html#xmlSchemaParse'/>
-    <reference name='xmlSchemaParserCtxt' href='html/libxml-xmlschemas.html#xmlSchemaParserCtxt'/>
-    <reference name='xmlSchemaParserCtxtPtr' href='html/libxml-xmlschemas.html#xmlSchemaParserCtxtPtr'/>
-    <reference name='xmlSchemaPtr' href='html/libxml-xmlschemas.html#xmlSchemaPtr'/>
-    <reference name='xmlSchemaSAXPlug' href='html/libxml-xmlschemas.html#xmlSchemaSAXPlug'/>
-    <reference name='xmlSchemaSAXPlugPtr' href='html/libxml-xmlschemas.html#xmlSchemaSAXPlugPtr'/>
-    <reference name='xmlSchemaSAXPlugStruct' href='html/libxml-xmlschemas.html#xmlSchemaSAXPlugStruct'/>
-    <reference name='xmlSchemaSAXUnplug' href='html/libxml-xmlschemas.html#xmlSchemaSAXUnplug'/>
-    <reference name='xmlSchemaSetParserErrors' href='html/libxml-xmlschemas.html#xmlSchemaSetParserErrors'/>
-    <reference name='xmlSchemaSetParserStructuredErrors' href='html/libxml-xmlschemas.html#xmlSchemaSetParserStructuredErrors'/>
-    <reference name='xmlSchemaSetValidErrors' href='html/libxml-xmlschemas.html#xmlSchemaSetValidErrors'/>
-    <reference name='xmlSchemaSetValidOptions' href='html/libxml-xmlschemas.html#xmlSchemaSetValidOptions'/>
-    <reference name='xmlSchemaSetValidStructuredErrors' href='html/libxml-xmlschemas.html#xmlSchemaSetValidStructuredErrors'/>
-    <reference name='xmlSchemaType' href='html/libxml-schemasInternals.html#xmlSchemaType'/>
-    <reference name='xmlSchemaTypeLink' href='html/libxml-schemasInternals.html#xmlSchemaTypeLink'/>
-    <reference name='xmlSchemaTypeLinkPtr' href='html/libxml-schemasInternals.html#xmlSchemaTypeLinkPtr'/>
-    <reference name='xmlSchemaTypePtr' href='html/libxml-schemasInternals.html#xmlSchemaTypePtr'/>
-    <reference name='xmlSchemaTypeType' href='html/libxml-schemasInternals.html#xmlSchemaTypeType'/>
-    <reference name='xmlSchemaVal' href='html/libxml-schemasInternals.html#xmlSchemaVal'/>
-    <reference name='xmlSchemaValPredefTypeNode' href='html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode'/>
-    <reference name='xmlSchemaValPredefTypeNodeNoNorm' href='html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm'/>
-    <reference name='xmlSchemaValPtr' href='html/libxml-schemasInternals.html#xmlSchemaValPtr'/>
-    <reference name='xmlSchemaValType' href='html/libxml-schemasInternals.html#xmlSchemaValType'/>
-    <reference name='xmlSchemaValidCtxt' href='html/libxml-xmlschemas.html#xmlSchemaValidCtxt'/>
-    <reference name='xmlSchemaValidCtxtGetOptions' href='html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions'/>
-    <reference name='xmlSchemaValidCtxtGetParserCtxt' href='html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetParserCtxt'/>
-    <reference name='xmlSchemaValidCtxtPtr' href='html/libxml-xmlschemas.html#xmlSchemaValidCtxtPtr'/>
-    <reference name='xmlSchemaValidError' href='html/libxml-xmlschemas.html#xmlSchemaValidError'/>
-    <reference name='xmlSchemaValidOption' href='html/libxml-xmlschemas.html#xmlSchemaValidOption'/>
-    <reference name='xmlSchemaValidateDoc' href='html/libxml-xmlschemas.html#xmlSchemaValidateDoc'/>
-    <reference name='xmlSchemaValidateFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet'/>
-    <reference name='xmlSchemaValidateFacetWhtsp' href='html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp'/>
-    <reference name='xmlSchemaValidateFile' href='html/libxml-xmlschemas.html#xmlSchemaValidateFile'/>
-    <reference name='xmlSchemaValidateLengthFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet'/>
-    <reference name='xmlSchemaValidateLengthFacetWhtsp' href='html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp'/>
-    <reference name='xmlSchemaValidateListSimpleTypeFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet'/>
-    <reference name='xmlSchemaValidateOneElement' href='html/libxml-xmlschemas.html#xmlSchemaValidateOneElement'/>
-    <reference name='xmlSchemaValidatePredefinedType' href='html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType'/>
-    <reference name='xmlSchemaValidateSetFilename' href='html/libxml-xmlschemas.html#xmlSchemaValidateSetFilename'/>
-    <reference name='xmlSchemaValidateSetLocator' href='html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator'/>
-    <reference name='xmlSchemaValidateStream' href='html/libxml-xmlschemas.html#xmlSchemaValidateStream'/>
-    <reference name='xmlSchemaValidityErrorFunc' href='html/libxml-xmlschemas.html#xmlSchemaValidityErrorFunc'/>
-    <reference name='xmlSchemaValidityLocatorFunc' href='html/libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc'/>
-    <reference name='xmlSchemaValidityWarningFunc' href='html/libxml-xmlschemas.html#xmlSchemaValidityWarningFunc'/>
-    <reference name='xmlSchemaValueAppend' href='html/libxml-xmlschemastypes.html#xmlSchemaValueAppend'/>
-    <reference name='xmlSchemaValueGetAsBoolean' href='html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsBoolean'/>
-    <reference name='xmlSchemaValueGetAsString' href='html/libxml-xmlschemastypes.html#xmlSchemaValueGetAsString'/>
-    <reference name='xmlSchemaValueGetNext' href='html/libxml-xmlschemastypes.html#xmlSchemaValueGetNext'/>
-    <reference name='xmlSchemaWhiteSpaceReplace' href='html/libxml-xmlschemastypes.html#xmlSchemaWhiteSpaceReplace'/>
-    <reference name='xmlSchemaWhitespaceValueType' href='html/libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType'/>
-    <reference name='xmlSchemaWildcard' href='html/libxml-schemasInternals.html#xmlSchemaWildcard'/>
-    <reference name='xmlSchemaWildcardNs' href='html/libxml-schemasInternals.html#xmlSchemaWildcardNs'/>
-    <reference name='xmlSchemaWildcardNsPtr' href='html/libxml-schemasInternals.html#xmlSchemaWildcardNsPtr'/>
-    <reference name='xmlSchemaWildcardPtr' href='html/libxml-schemasInternals.html#xmlSchemaWildcardPtr'/>
-    <reference name='xmlSchematron' href='html/libxml-schematron.html#xmlSchematron'/>
-    <reference name='xmlSchematronFree' href='html/libxml-schematron.html#xmlSchematronFree'/>
-    <reference name='xmlSchematronFreeParserCtxt' href='html/libxml-schematron.html#xmlSchematronFreeParserCtxt'/>
-    <reference name='xmlSchematronFreeValidCtxt' href='html/libxml-schematron.html#xmlSchematronFreeValidCtxt'/>
-    <reference name='xmlSchematronNewDocParserCtxt' href='html/libxml-schematron.html#xmlSchematronNewDocParserCtxt'/>
-    <reference name='xmlSchematronNewMemParserCtxt' href='html/libxml-schematron.html#xmlSchematronNewMemParserCtxt'/>
-    <reference name='xmlSchematronNewParserCtxt' href='html/libxml-schematron.html#xmlSchematronNewParserCtxt'/>
-    <reference name='xmlSchematronNewValidCtxt' href='html/libxml-schematron.html#xmlSchematronNewValidCtxt'/>
-    <reference name='xmlSchematronParse' href='html/libxml-schematron.html#xmlSchematronParse'/>
-    <reference name='xmlSchematronParserCtxt' href='html/libxml-schematron.html#xmlSchematronParserCtxt'/>
-    <reference name='xmlSchematronParserCtxtPtr' href='html/libxml-schematron.html#xmlSchematronParserCtxtPtr'/>
-    <reference name='xmlSchematronPtr' href='html/libxml-schematron.html#xmlSchematronPtr'/>
-    <reference name='xmlSchematronSetValidStructuredErrors' href='html/libxml-schematron.html#xmlSchematronSetValidStructuredErrors'/>
-    <reference name='xmlSchematronValidCtxt' href='html/libxml-schematron.html#xmlSchematronValidCtxt'/>
-    <reference name='xmlSchematronValidCtxtPtr' href='html/libxml-schematron.html#xmlSchematronValidCtxtPtr'/>
-    <reference name='xmlSchematronValidOptions' href='html/libxml-schematron.html#xmlSchematronValidOptions'/>
-    <reference name='xmlSchematronValidateDoc' href='html/libxml-schematron.html#xmlSchematronValidateDoc'/>
-    <reference name='xmlSchematronValidityErrorFunc' href='html/libxml-schematron.html#xmlSchematronValidityErrorFunc'/>
-    <reference name='xmlSchematronValidityWarningFunc' href='html/libxml-schematron.html#xmlSchematronValidityWarningFunc'/>
-    <reference name='xmlSearchNs' href='html/libxml-tree.html#xmlSearchNs'/>
-    <reference name='xmlSearchNsByHref' href='html/libxml-tree.html#xmlSearchNsByHref'/>
-    <reference name='xmlSetBufferAllocationScheme' href='html/libxml-tree.html#xmlSetBufferAllocationScheme'/>
-    <reference name='xmlSetCompressMode' href='html/libxml-tree.html#xmlSetCompressMode'/>
-    <reference name='xmlSetDocCompressMode' href='html/libxml-tree.html#xmlSetDocCompressMode'/>
-    <reference name='xmlSetEntityReferenceFunc' href='html/libxml-parserInternals.html#xmlSetEntityReferenceFunc'/>
-    <reference name='xmlSetExternalEntityLoader' href='html/libxml-parser.html#xmlSetExternalEntityLoader'/>
-    <reference name='xmlSetFeature' href='html/libxml-parser.html#xmlSetFeature'/>
-    <reference name='xmlSetGenericErrorFunc' href='html/libxml-xmlerror.html#xmlSetGenericErrorFunc'/>
-    <reference name='xmlSetListDoc' href='html/libxml-tree.html#xmlSetListDoc'/>
-    <reference name='xmlSetNs' href='html/libxml-tree.html#xmlSetNs'/>
-    <reference name='xmlSetNsProp' href='html/libxml-tree.html#xmlSetNsProp'/>
-    <reference name='xmlSetProp' href='html/libxml-tree.html#xmlSetProp'/>
-    <reference name='xmlSetStructuredErrorFunc' href='html/libxml-xmlerror.html#xmlSetStructuredErrorFunc'/>
-    <reference name='xmlSetTreeDoc' href='html/libxml-tree.html#xmlSetTreeDoc'/>
-    <reference name='xmlSetupParserForBuffer' href='html/libxml-parser.html#xmlSetupParserForBuffer'/>
-    <reference name='xmlShell' href='html/libxml-debugXML.html#xmlShell'/>
-    <reference name='xmlShellBase' href='html/libxml-debugXML.html#xmlShellBase'/>
-    <reference name='xmlShellCat' href='html/libxml-debugXML.html#xmlShellCat'/>
-    <reference name='xmlShellCmd' href='html/libxml-debugXML.html#xmlShellCmd'/>
-    <reference name='xmlShellCtxt' href='html/libxml-debugXML.html#xmlShellCtxt'/>
-    <reference name='xmlShellCtxtPtr' href='html/libxml-debugXML.html#xmlShellCtxtPtr'/>
-    <reference name='xmlShellDir' href='html/libxml-debugXML.html#xmlShellDir'/>
-    <reference name='xmlShellDu' href='html/libxml-debugXML.html#xmlShellDu'/>
-    <reference name='xmlShellList' href='html/libxml-debugXML.html#xmlShellList'/>
-    <reference name='xmlShellLoad' href='html/libxml-debugXML.html#xmlShellLoad'/>
-    <reference name='xmlShellPrintNode' href='html/libxml-debugXML.html#xmlShellPrintNode'/>
-    <reference name='xmlShellPrintXPathError' href='html/libxml-debugXML.html#xmlShellPrintXPathError'/>
-    <reference name='xmlShellPrintXPathResult' href='html/libxml-debugXML.html#xmlShellPrintXPathResult'/>
-    <reference name='xmlShellPwd' href='html/libxml-debugXML.html#xmlShellPwd'/>
-    <reference name='xmlShellReadlineFunc' href='html/libxml-debugXML.html#xmlShellReadlineFunc'/>
-    <reference name='xmlShellSave' href='html/libxml-debugXML.html#xmlShellSave'/>
-    <reference name='xmlShellValidate' href='html/libxml-debugXML.html#xmlShellValidate'/>
-    <reference name='xmlShellWrite' href='html/libxml-debugXML.html#xmlShellWrite'/>
-    <reference name='xmlSkipBlankChars' href='html/libxml-parserInternals.html#xmlSkipBlankChars'/>
-    <reference name='xmlSnprintfElementContent' href='html/libxml-valid.html#xmlSnprintfElementContent'/>
-    <reference name='xmlSplitQName' href='html/libxml-parserInternals.html#xmlSplitQName'/>
-    <reference name='xmlSplitQName2' href='html/libxml-tree.html#xmlSplitQName2'/>
-    <reference name='xmlSplitQName3' href='html/libxml-tree.html#xmlSplitQName3'/>
-    <reference name='xmlSprintfElementContent' href='html/libxml-valid.html#xmlSprintfElementContent'/>
-    <reference name='xmlStartTag' href='html/libxml-parser.html#xmlStartTag'/>
-    <reference name='xmlStopParser' href='html/libxml-parser.html#xmlStopParser'/>
-    <reference name='xmlStrEqual' href='html/libxml-xmlstring.html#xmlStrEqual'/>
-    <reference name='xmlStrPrintf' href='html/libxml-xmlstring.html#xmlStrPrintf'/>
-    <reference name='xmlStrQEqual' href='html/libxml-xmlstring.html#xmlStrQEqual'/>
-    <reference name='xmlStrVPrintf' href='html/libxml-xmlstring.html#xmlStrVPrintf'/>
-    <reference name='xmlStrcasecmp' href='html/libxml-xmlstring.html#xmlStrcasecmp'/>
-    <reference name='xmlStrcasestr' href='html/libxml-xmlstring.html#xmlStrcasestr'/>
-    <reference name='xmlStrcat' href='html/libxml-xmlstring.html#xmlStrcat'/>
-    <reference name='xmlStrchr' href='html/libxml-xmlstring.html#xmlStrchr'/>
-    <reference name='xmlStrcmp' href='html/libxml-xmlstring.html#xmlStrcmp'/>
-    <reference name='xmlStrdup' href='html/libxml-xmlstring.html#xmlStrdup'/>
-    <reference name='xmlStrdupFunc' href='html/libxml-xmlmemory.html#xmlStrdupFunc'/>
-    <reference name='xmlStreamCtxt' href='html/libxml-pattern.html#xmlStreamCtxt'/>
-    <reference name='xmlStreamCtxtPtr' href='html/libxml-pattern.html#xmlStreamCtxtPtr'/>
-    <reference name='xmlStreamPop' href='html/libxml-pattern.html#xmlStreamPop'/>
-    <reference name='xmlStreamPush' href='html/libxml-pattern.html#xmlStreamPush'/>
-    <reference name='xmlStreamPushAttr' href='html/libxml-pattern.html#xmlStreamPushAttr'/>
-    <reference name='xmlStreamPushNode' href='html/libxml-pattern.html#xmlStreamPushNode'/>
-    <reference name='xmlStreamWantsAnyNode' href='html/libxml-pattern.html#xmlStreamWantsAnyNode'/>
-    <reference name='xmlStringComment' href='html/libxml-parserInternals.html#xmlStringComment'/>
-    <reference name='xmlStringCurrentChar' href='html/libxml-parserInternals.html#xmlStringCurrentChar'/>
-    <reference name='xmlStringDecodeEntities' href='html/libxml-parserInternals.html#xmlStringDecodeEntities'/>
-    <reference name='xmlStringGetNodeList' href='html/libxml-tree.html#xmlStringGetNodeList'/>
-    <reference name='xmlStringLenDecodeEntities' href='html/libxml-parserInternals.html#xmlStringLenDecodeEntities'/>
-    <reference name='xmlStringLenGetNodeList' href='html/libxml-tree.html#xmlStringLenGetNodeList'/>
-    <reference name='xmlStringText' href='html/libxml-parserInternals.html#xmlStringText'/>
-    <reference name='xmlStringTextNoenc' href='html/libxml-parserInternals.html#xmlStringTextNoenc'/>
-    <reference name='xmlStrlen' href='html/libxml-xmlstring.html#xmlStrlen'/>
-    <reference name='xmlStrncasecmp' href='html/libxml-xmlstring.html#xmlStrncasecmp'/>
-    <reference name='xmlStrncat' href='html/libxml-xmlstring.html#xmlStrncat'/>
-    <reference name='xmlStrncatNew' href='html/libxml-xmlstring.html#xmlStrncatNew'/>
-    <reference name='xmlStrncmp' href='html/libxml-xmlstring.html#xmlStrncmp'/>
-    <reference name='xmlStrndup' href='html/libxml-xmlstring.html#xmlStrndup'/>
-    <reference name='xmlStrstr' href='html/libxml-xmlstring.html#xmlStrstr'/>
-    <reference name='xmlStrsub' href='html/libxml-xmlstring.html#xmlStrsub'/>
-    <reference name='xmlStructuredError' href='html/libxml-globals.html#xmlStructuredError'/>
-    <reference name='xmlStructuredErrorContext' href='html/libxml-globals.html#xmlStructuredErrorContext'/>
-    <reference name='xmlStructuredErrorFunc' href='html/libxml-xmlerror.html#xmlStructuredErrorFunc'/>
-    <reference name='xmlSubstituteEntitiesDefault' href='html/libxml-parser.html#xmlSubstituteEntitiesDefault'/>
-    <reference name='xmlSubstituteEntitiesDefaultValue' href='html/libxml-globals.html#xmlSubstituteEntitiesDefaultValue'/>
-    <reference name='xmlSwitchEncoding' href='html/libxml-parserInternals.html#xmlSwitchEncoding'/>
-    <reference name='xmlSwitchInputEncoding' href='html/libxml-parserInternals.html#xmlSwitchInputEncoding'/>
-    <reference name='xmlSwitchToEncoding' href='html/libxml-parserInternals.html#xmlSwitchToEncoding'/>
-    <reference name='xmlTextConcat' href='html/libxml-tree.html#xmlTextConcat'/>
-    <reference name='xmlTextMerge' href='html/libxml-tree.html#xmlTextMerge'/>
-    <reference name='xmlTextReader' href='html/libxml-xmlreader.html#xmlTextReader'/>
-    <reference name='xmlTextReaderAttributeCount' href='html/libxml-xmlreader.html#xmlTextReaderAttributeCount'/>
-    <reference name='xmlTextReaderBaseUri' href='html/libxml-xmlreader.html#xmlTextReaderBaseUri'/>
-    <reference name='xmlTextReaderByteConsumed' href='html/libxml-xmlreader.html#xmlTextReaderByteConsumed'/>
-    <reference name='xmlTextReaderClose' href='html/libxml-xmlreader.html#xmlTextReaderClose'/>
-    <reference name='xmlTextReaderConstBaseUri' href='html/libxml-xmlreader.html#xmlTextReaderConstBaseUri'/>
-    <reference name='xmlTextReaderConstEncoding' href='html/libxml-xmlreader.html#xmlTextReaderConstEncoding'/>
-    <reference name='xmlTextReaderConstLocalName' href='html/libxml-xmlreader.html#xmlTextReaderConstLocalName'/>
-    <reference name='xmlTextReaderConstName' href='html/libxml-xmlreader.html#xmlTextReaderConstName'/>
-    <reference name='xmlTextReaderConstNamespaceUri' href='html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri'/>
-    <reference name='xmlTextReaderConstPrefix' href='html/libxml-xmlreader.html#xmlTextReaderConstPrefix'/>
-    <reference name='xmlTextReaderConstString' href='html/libxml-xmlreader.html#xmlTextReaderConstString'/>
-    <reference name='xmlTextReaderConstValue' href='html/libxml-xmlreader.html#xmlTextReaderConstValue'/>
-    <reference name='xmlTextReaderConstXmlLang' href='html/libxml-xmlreader.html#xmlTextReaderConstXmlLang'/>
-    <reference name='xmlTextReaderConstXmlVersion' href='html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion'/>
-    <reference name='xmlTextReaderCurrentDoc' href='html/libxml-xmlreader.html#xmlTextReaderCurrentDoc'/>
-    <reference name='xmlTextReaderCurrentNode' href='html/libxml-xmlreader.html#xmlTextReaderCurrentNode'/>
-    <reference name='xmlTextReaderDepth' href='html/libxml-xmlreader.html#xmlTextReaderDepth'/>
-    <reference name='xmlTextReaderErrorFunc' href='html/libxml-xmlreader.html#xmlTextReaderErrorFunc'/>
-    <reference name='xmlTextReaderExpand' href='html/libxml-xmlreader.html#xmlTextReaderExpand'/>
-    <reference name='xmlTextReaderGetAttribute' href='html/libxml-xmlreader.html#xmlTextReaderGetAttribute'/>
-    <reference name='xmlTextReaderGetAttributeNo' href='html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo'/>
-    <reference name='xmlTextReaderGetAttributeNs' href='html/libxml-xmlreader.html#xmlTextReaderGetAttributeNs'/>
-    <reference name='xmlTextReaderGetErrorHandler' href='html/libxml-xmlreader.html#xmlTextReaderGetErrorHandler'/>
-    <reference name='xmlTextReaderGetParserColumnNumber' href='html/libxml-xmlreader.html#xmlTextReaderGetParserColumnNumber'/>
-    <reference name='xmlTextReaderGetParserLineNumber' href='html/libxml-xmlreader.html#xmlTextReaderGetParserLineNumber'/>
-    <reference name='xmlTextReaderGetParserProp' href='html/libxml-xmlreader.html#xmlTextReaderGetParserProp'/>
-    <reference name='xmlTextReaderGetRemainder' href='html/libxml-xmlreader.html#xmlTextReaderGetRemainder'/>
-    <reference name='xmlTextReaderHasAttributes' href='html/libxml-xmlreader.html#xmlTextReaderHasAttributes'/>
-    <reference name='xmlTextReaderHasValue' href='html/libxml-xmlreader.html#xmlTextReaderHasValue'/>
-    <reference name='xmlTextReaderIsDefault' href='html/libxml-xmlreader.html#xmlTextReaderIsDefault'/>
-    <reference name='xmlTextReaderIsEmptyElement' href='html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement'/>
-    <reference name='xmlTextReaderIsNamespaceDecl' href='html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl'/>
-    <reference name='xmlTextReaderIsValid' href='html/libxml-xmlreader.html#xmlTextReaderIsValid'/>
-    <reference name='xmlTextReaderLocalName' href='html/libxml-xmlreader.html#xmlTextReaderLocalName'/>
-    <reference name='xmlTextReaderLocatorBaseURI' href='html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI'/>
-    <reference name='xmlTextReaderLocatorLineNumber' href='html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber'/>
-    <reference name='xmlTextReaderLocatorPtr' href='html/libxml-xmlreader.html#xmlTextReaderLocatorPtr'/>
-    <reference name='xmlTextReaderLookupNamespace' href='html/libxml-xmlreader.html#xmlTextReaderLookupNamespace'/>
-    <reference name='xmlTextReaderMode' href='html/libxml-xmlreader.html#xmlTextReaderMode'/>
-    <reference name='xmlTextReaderMoveToAttribute' href='html/libxml-xmlreader.html#xmlTextReaderMoveToAttribute'/>
-    <reference name='xmlTextReaderMoveToAttributeNo' href='html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNo'/>
-    <reference name='xmlTextReaderMoveToAttributeNs' href='html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNs'/>
-    <reference name='xmlTextReaderMoveToElement' href='html/libxml-xmlreader.html#xmlTextReaderMoveToElement'/>
-    <reference name='xmlTextReaderMoveToFirstAttribute' href='html/libxml-xmlreader.html#xmlTextReaderMoveToFirstAttribute'/>
-    <reference name='xmlTextReaderMoveToNextAttribute' href='html/libxml-xmlreader.html#xmlTextReaderMoveToNextAttribute'/>
-    <reference name='xmlTextReaderName' href='html/libxml-xmlreader.html#xmlTextReaderName'/>
-    <reference name='xmlTextReaderNamespaceUri' href='html/libxml-xmlreader.html#xmlTextReaderNamespaceUri'/>
-    <reference name='xmlTextReaderNext' href='html/libxml-xmlreader.html#xmlTextReaderNext'/>
-    <reference name='xmlTextReaderNextSibling' href='html/libxml-xmlreader.html#xmlTextReaderNextSibling'/>
-    <reference name='xmlTextReaderNodeType' href='html/libxml-xmlreader.html#xmlTextReaderNodeType'/>
-    <reference name='xmlTextReaderNormalization' href='html/libxml-xmlreader.html#xmlTextReaderNormalization'/>
-    <reference name='xmlTextReaderPrefix' href='html/libxml-xmlreader.html#xmlTextReaderPrefix'/>
-    <reference name='xmlTextReaderPreserve' href='html/libxml-xmlreader.html#xmlTextReaderPreserve'/>
-    <reference name='xmlTextReaderPreservePattern' href='html/libxml-xmlreader.html#xmlTextReaderPreservePattern'/>
-    <reference name='xmlTextReaderPtr' href='html/libxml-xmlreader.html#xmlTextReaderPtr'/>
-    <reference name='xmlTextReaderQuoteChar' href='html/libxml-xmlreader.html#xmlTextReaderQuoteChar'/>
-    <reference name='xmlTextReaderRead' href='html/libxml-xmlreader.html#xmlTextReaderRead'/>
-    <reference name='xmlTextReaderReadAttributeValue' href='html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue'/>
-    <reference name='xmlTextReaderReadInnerXml' href='html/libxml-xmlreader.html#xmlTextReaderReadInnerXml'/>
-    <reference name='xmlTextReaderReadOuterXml' href='html/libxml-xmlreader.html#xmlTextReaderReadOuterXml'/>
-    <reference name='xmlTextReaderReadState' href='html/libxml-xmlreader.html#xmlTextReaderReadState'/>
-    <reference name='xmlTextReaderReadString' href='html/libxml-xmlreader.html#xmlTextReaderReadString'/>
-    <reference name='xmlTextReaderRelaxNGSetSchema' href='html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema'/>
-    <reference name='xmlTextReaderRelaxNGValidate' href='html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate'/>
-    <reference name='xmlTextReaderRelaxNGValidateCtxt' href='html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt'/>
-    <reference name='xmlTextReaderSchemaValidate' href='html/libxml-xmlreader.html#xmlTextReaderSchemaValidate'/>
-    <reference name='xmlTextReaderSchemaValidateCtxt' href='html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt'/>
-    <reference name='xmlTextReaderSetErrorHandler' href='html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler'/>
-    <reference name='xmlTextReaderSetParserProp' href='html/libxml-xmlreader.html#xmlTextReaderSetParserProp'/>
-    <reference name='xmlTextReaderSetSchema' href='html/libxml-xmlreader.html#xmlTextReaderSetSchema'/>
-    <reference name='xmlTextReaderSetStructuredErrorHandler' href='html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler'/>
-    <reference name='xmlTextReaderSetup' href='html/libxml-xmlreader.html#xmlTextReaderSetup'/>
-    <reference name='xmlTextReaderStandalone' href='html/libxml-xmlreader.html#xmlTextReaderStandalone'/>
-    <reference name='xmlTextReaderValue' href='html/libxml-xmlreader.html#xmlTextReaderValue'/>
-    <reference name='xmlTextReaderXmlLang' href='html/libxml-xmlreader.html#xmlTextReaderXmlLang'/>
-    <reference name='xmlTextWriter' href='html/libxml-xmlwriter.html#xmlTextWriter'/>
-    <reference name='xmlTextWriterEndAttribute' href='html/libxml-xmlwriter.html#xmlTextWriterEndAttribute'/>
-    <reference name='xmlTextWriterEndCDATA' href='html/libxml-xmlwriter.html#xmlTextWriterEndCDATA'/>
-    <reference name='xmlTextWriterEndComment' href='html/libxml-xmlwriter.html#xmlTextWriterEndComment'/>
-    <reference name='xmlTextWriterEndDTD' href='html/libxml-xmlwriter.html#xmlTextWriterEndDTD'/>
-    <reference name='xmlTextWriterEndDTDAttlist' href='html/libxml-xmlwriter.html#xmlTextWriterEndDTDAttlist'/>
-    <reference name='xmlTextWriterEndDTDElement' href='html/libxml-xmlwriter.html#xmlTextWriterEndDTDElement'/>
-    <reference name='xmlTextWriterEndDTDEntity' href='html/libxml-xmlwriter.html#xmlTextWriterEndDTDEntity'/>
-    <reference name='xmlTextWriterEndDocument' href='html/libxml-xmlwriter.html#xmlTextWriterEndDocument'/>
-    <reference name='xmlTextWriterEndElement' href='html/libxml-xmlwriter.html#xmlTextWriterEndElement'/>
-    <reference name='xmlTextWriterEndPI' href='html/libxml-xmlwriter.html#xmlTextWriterEndPI'/>
-    <reference name='xmlTextWriterFlush' href='html/libxml-xmlwriter.html#xmlTextWriterFlush'/>
-    <reference name='xmlTextWriterFullEndElement' href='html/libxml-xmlwriter.html#xmlTextWriterFullEndElement'/>
-    <reference name='xmlTextWriterPtr' href='html/libxml-xmlwriter.html#xmlTextWriterPtr'/>
-    <reference name='xmlTextWriterSetIndent' href='html/libxml-xmlwriter.html#xmlTextWriterSetIndent'/>
-    <reference name='xmlTextWriterSetIndentString' href='html/libxml-xmlwriter.html#xmlTextWriterSetIndentString'/>
-    <reference name='xmlTextWriterSetQuoteChar' href='html/libxml-xmlwriter.html#xmlTextWriterSetQuoteChar'/>
-    <reference name='xmlTextWriterStartAttribute' href='html/libxml-xmlwriter.html#xmlTextWriterStartAttribute'/>
-    <reference name='xmlTextWriterStartAttributeNS' href='html/libxml-xmlwriter.html#xmlTextWriterStartAttributeNS'/>
-    <reference name='xmlTextWriterStartCDATA' href='html/libxml-xmlwriter.html#xmlTextWriterStartCDATA'/>
-    <reference name='xmlTextWriterStartComment' href='html/libxml-xmlwriter.html#xmlTextWriterStartComment'/>
-    <reference name='xmlTextWriterStartDTD' href='html/libxml-xmlwriter.html#xmlTextWriterStartDTD'/>
-    <reference name='xmlTextWriterStartDTDAttlist' href='html/libxml-xmlwriter.html#xmlTextWriterStartDTDAttlist'/>
-    <reference name='xmlTextWriterStartDTDElement' href='html/libxml-xmlwriter.html#xmlTextWriterStartDTDElement'/>
-    <reference name='xmlTextWriterStartDTDEntity' href='html/libxml-xmlwriter.html#xmlTextWriterStartDTDEntity'/>
-    <reference name='xmlTextWriterStartDocument' href='html/libxml-xmlwriter.html#xmlTextWriterStartDocument'/>
-    <reference name='xmlTextWriterStartElement' href='html/libxml-xmlwriter.html#xmlTextWriterStartElement'/>
-    <reference name='xmlTextWriterStartElementNS' href='html/libxml-xmlwriter.html#xmlTextWriterStartElementNS'/>
-    <reference name='xmlTextWriterStartPI' href='html/libxml-xmlwriter.html#xmlTextWriterStartPI'/>
-    <reference name='xmlTextWriterWriteAttribute' href='html/libxml-xmlwriter.html#xmlTextWriterWriteAttribute'/>
-    <reference name='xmlTextWriterWriteAttributeNS' href='html/libxml-xmlwriter.html#xmlTextWriterWriteAttributeNS'/>
-    <reference name='xmlTextWriterWriteBase64' href='html/libxml-xmlwriter.html#xmlTextWriterWriteBase64'/>
-    <reference name='xmlTextWriterWriteBinHex' href='html/libxml-xmlwriter.html#xmlTextWriterWriteBinHex'/>
-    <reference name='xmlTextWriterWriteCDATA' href='html/libxml-xmlwriter.html#xmlTextWriterWriteCDATA'/>
-    <reference name='xmlTextWriterWriteComment' href='html/libxml-xmlwriter.html#xmlTextWriterWriteComment'/>
-    <reference name='xmlTextWriterWriteDTD' href='html/libxml-xmlwriter.html#xmlTextWriterWriteDTD'/>
-    <reference name='xmlTextWriterWriteDTDAttlist' href='html/libxml-xmlwriter.html#xmlTextWriterWriteDTDAttlist'/>
-    <reference name='xmlTextWriterWriteDTDElement' href='html/libxml-xmlwriter.html#xmlTextWriterWriteDTDElement'/>
-    <reference name='xmlTextWriterWriteDTDEntity' href='html/libxml-xmlwriter.html#xmlTextWriterWriteDTDEntity'/>
-    <reference name='xmlTextWriterWriteDTDExternalEntity' href='html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity'/>
-    <reference name='xmlTextWriterWriteDTDExternalEntityContents' href='html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntityContents'/>
-    <reference name='xmlTextWriterWriteDTDInternalEntity' href='html/libxml-xmlwriter.html#xmlTextWriterWriteDTDInternalEntity'/>
-    <reference name='xmlTextWriterWriteDTDNotation' href='html/libxml-xmlwriter.html#xmlTextWriterWriteDTDNotation'/>
-    <reference name='xmlTextWriterWriteDocType' href='html/libxml-xmlwriter.html#xmlTextWriterWriteDocType'/>
-    <reference name='xmlTextWriterWriteElement' href='html/libxml-xmlwriter.html#xmlTextWriterWriteElement'/>
-    <reference name='xmlTextWriterWriteElementNS' href='html/libxml-xmlwriter.html#xmlTextWriterWriteElementNS'/>
-    <reference name='xmlTextWriterWriteFormatAttribute' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttribute'/>
-    <reference name='xmlTextWriterWriteFormatAttributeNS' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatAttributeNS'/>
-    <reference name='xmlTextWriterWriteFormatCDATA' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatCDATA'/>
-    <reference name='xmlTextWriterWriteFormatComment' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment'/>
-    <reference name='xmlTextWriterWriteFormatDTD' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD'/>
-    <reference name='xmlTextWriterWriteFormatDTDAttlist' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist'/>
-    <reference name='xmlTextWriterWriteFormatDTDElement' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDElement'/>
-    <reference name='xmlTextWriterWriteFormatDTDInternalEntity' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity'/>
-    <reference name='xmlTextWriterWriteFormatElement' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement'/>
-    <reference name='xmlTextWriterWriteFormatElementNS' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElementNS'/>
-    <reference name='xmlTextWriterWriteFormatPI' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatPI'/>
-    <reference name='xmlTextWriterWriteFormatRaw' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatRaw'/>
-    <reference name='xmlTextWriterWriteFormatString' href='html/libxml-xmlwriter.html#xmlTextWriterWriteFormatString'/>
-    <reference name='xmlTextWriterWritePI' href='html/libxml-xmlwriter.html#xmlTextWriterWritePI'/>
-    <reference name='xmlTextWriterWriteProcessingInstruction' href='html/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction'/>
-    <reference name='xmlTextWriterWriteRaw' href='html/libxml-xmlwriter.html#xmlTextWriterWriteRaw'/>
-    <reference name='xmlTextWriterWriteRawLen' href='html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen'/>
-    <reference name='xmlTextWriterWriteString' href='html/libxml-xmlwriter.html#xmlTextWriterWriteString'/>
-    <reference name='xmlTextWriterWriteVFormatAttribute' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttribute'/>
-    <reference name='xmlTextWriterWriteVFormatAttributeNS' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS'/>
-    <reference name='xmlTextWriterWriteVFormatCDATA' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatCDATA'/>
-    <reference name='xmlTextWriterWriteVFormatComment' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatComment'/>
-    <reference name='xmlTextWriterWriteVFormatDTD' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD'/>
-    <reference name='xmlTextWriterWriteVFormatDTDAttlist' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist'/>
-    <reference name='xmlTextWriterWriteVFormatDTDElement' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDElement'/>
-    <reference name='xmlTextWriterWriteVFormatDTDInternalEntity' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity'/>
-    <reference name='xmlTextWriterWriteVFormatElement' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElement'/>
-    <reference name='xmlTextWriterWriteVFormatElementNS' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatElementNS'/>
-    <reference name='xmlTextWriterWriteVFormatPI' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatPI'/>
-    <reference name='xmlTextWriterWriteVFormatRaw' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatRaw'/>
-    <reference name='xmlTextWriterWriteVFormatString' href='html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatString'/>
-    <reference name='xmlThrDefBufferAllocScheme' href='html/libxml-globals.html#xmlThrDefBufferAllocScheme'/>
-    <reference name='xmlThrDefDefaultBufferSize' href='html/libxml-globals.html#xmlThrDefDefaultBufferSize'/>
-    <reference name='xmlThrDefDeregisterNodeDefault' href='html/libxml-globals.html#xmlThrDefDeregisterNodeDefault'/>
-    <reference name='xmlThrDefDoValidityCheckingDefaultValue' href='html/libxml-globals.html#xmlThrDefDoValidityCheckingDefaultValue'/>
-    <reference name='xmlThrDefGetWarningsDefaultValue' href='html/libxml-globals.html#xmlThrDefGetWarningsDefaultValue'/>
-    <reference name='xmlThrDefIndentTreeOutput' href='html/libxml-globals.html#xmlThrDefIndentTreeOutput'/>
-    <reference name='xmlThrDefKeepBlanksDefaultValue' href='html/libxml-globals.html#xmlThrDefKeepBlanksDefaultValue'/>
-    <reference name='xmlThrDefLineNumbersDefaultValue' href='html/libxml-globals.html#xmlThrDefLineNumbersDefaultValue'/>
-    <reference name='xmlThrDefLoadExtDtdDefaultValue' href='html/libxml-globals.html#xmlThrDefLoadExtDtdDefaultValue'/>
-    <reference name='xmlThrDefOutputBufferCreateFilenameDefault' href='html/libxml-globals.html#xmlThrDefOutputBufferCreateFilenameDefault'/>
-    <reference name='xmlThrDefParserDebugEntities' href='html/libxml-globals.html#xmlThrDefParserDebugEntities'/>
-    <reference name='xmlThrDefParserInputBufferCreateFilenameDefault' href='html/libxml-globals.html#xmlThrDefParserInputBufferCreateFilenameDefault'/>
-    <reference name='xmlThrDefPedanticParserDefaultValue' href='html/libxml-globals.html#xmlThrDefPedanticParserDefaultValue'/>
-    <reference name='xmlThrDefRegisterNodeDefault' href='html/libxml-globals.html#xmlThrDefRegisterNodeDefault'/>
-    <reference name='xmlThrDefSaveNoEmptyTags' href='html/libxml-globals.html#xmlThrDefSaveNoEmptyTags'/>
-    <reference name='xmlThrDefSetGenericErrorFunc' href='html/libxml-globals.html#xmlThrDefSetGenericErrorFunc'/>
-    <reference name='xmlThrDefSetStructuredErrorFunc' href='html/libxml-globals.html#xmlThrDefSetStructuredErrorFunc'/>
-    <reference name='xmlThrDefSubstituteEntitiesDefaultValue' href='html/libxml-globals.html#xmlThrDefSubstituteEntitiesDefaultValue'/>
-    <reference name='xmlThrDefTreeIndentString' href='html/libxml-globals.html#xmlThrDefTreeIndentString'/>
-    <reference name='xmlTreeIndentString' href='html/libxml-globals.html#xmlTreeIndentString'/>
-    <reference name='xmlUCSIsAegeanNumbers' href='html/libxml-xmlunicode.html#xmlUCSIsAegeanNumbers'/>
-    <reference name='xmlUCSIsAlphabeticPresentationForms' href='html/libxml-xmlunicode.html#xmlUCSIsAlphabeticPresentationForms'/>
-    <reference name='xmlUCSIsArabic' href='html/libxml-xmlunicode.html#xmlUCSIsArabic'/>
-    <reference name='xmlUCSIsArabicPresentationFormsA' href='html/libxml-xmlunicode.html#xmlUCSIsArabicPresentationFormsA'/>
-    <reference name='xmlUCSIsArabicPresentationFormsB' href='html/libxml-xmlunicode.html#xmlUCSIsArabicPresentationFormsB'/>
-    <reference name='xmlUCSIsArmenian' href='html/libxml-xmlunicode.html#xmlUCSIsArmenian'/>
-    <reference name='xmlUCSIsArrows' href='html/libxml-xmlunicode.html#xmlUCSIsArrows'/>
-    <reference name='xmlUCSIsBasicLatin' href='html/libxml-xmlunicode.html#xmlUCSIsBasicLatin'/>
-    <reference name='xmlUCSIsBengali' href='html/libxml-xmlunicode.html#xmlUCSIsBengali'/>
-    <reference name='xmlUCSIsBlock' href='html/libxml-xmlunicode.html#xmlUCSIsBlock'/>
-    <reference name='xmlUCSIsBlockElements' href='html/libxml-xmlunicode.html#xmlUCSIsBlockElements'/>
-    <reference name='xmlUCSIsBopomofo' href='html/libxml-xmlunicode.html#xmlUCSIsBopomofo'/>
-    <reference name='xmlUCSIsBopomofoExtended' href='html/libxml-xmlunicode.html#xmlUCSIsBopomofoExtended'/>
-    <reference name='xmlUCSIsBoxDrawing' href='html/libxml-xmlunicode.html#xmlUCSIsBoxDrawing'/>
-    <reference name='xmlUCSIsBraillePatterns' href='html/libxml-xmlunicode.html#xmlUCSIsBraillePatterns'/>
-    <reference name='xmlUCSIsBuhid' href='html/libxml-xmlunicode.html#xmlUCSIsBuhid'/>
-    <reference name='xmlUCSIsByzantineMusicalSymbols' href='html/libxml-xmlunicode.html#xmlUCSIsByzantineMusicalSymbols'/>
-    <reference name='xmlUCSIsCJKCompatibility' href='html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibility'/>
-    <reference name='xmlUCSIsCJKCompatibilityForms' href='html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityForms'/>
-    <reference name='xmlUCSIsCJKCompatibilityIdeographs' href='html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographs'/>
-    <reference name='xmlUCSIsCJKCompatibilityIdeographsSupplement' href='html/libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographsSupplement'/>
-    <reference name='xmlUCSIsCJKRadicalsSupplement' href='html/libxml-xmlunicode.html#xmlUCSIsCJKRadicalsSupplement'/>
-    <reference name='xmlUCSIsCJKSymbolsandPunctuation' href='html/libxml-xmlunicode.html#xmlUCSIsCJKSymbolsandPunctuation'/>
-    <reference name='xmlUCSIsCJKUnifiedIdeographs' href='html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographs'/>
-    <reference name='xmlUCSIsCJKUnifiedIdeographsExtensionA' href='html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionA'/>
-    <reference name='xmlUCSIsCJKUnifiedIdeographsExtensionB' href='html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionB'/>
-    <reference name='xmlUCSIsCat' href='html/libxml-xmlunicode.html#xmlUCSIsCat'/>
-    <reference name='xmlUCSIsCatC' href='html/libxml-xmlunicode.html#xmlUCSIsCatC'/>
-    <reference name='xmlUCSIsCatCc' href='html/libxml-xmlunicode.html#xmlUCSIsCatCc'/>
-    <reference name='xmlUCSIsCatCf' href='html/libxml-xmlunicode.html#xmlUCSIsCatCf'/>
-    <reference name='xmlUCSIsCatCo' href='html/libxml-xmlunicode.html#xmlUCSIsCatCo'/>
-    <reference name='xmlUCSIsCatCs' href='html/libxml-xmlunicode.html#xmlUCSIsCatCs'/>
-    <reference name='xmlUCSIsCatL' href='html/libxml-xmlunicode.html#xmlUCSIsCatL'/>
-    <reference name='xmlUCSIsCatLl' href='html/libxml-xmlunicode.html#xmlUCSIsCatLl'/>
-    <reference name='xmlUCSIsCatLm' href='html/libxml-xmlunicode.html#xmlUCSIsCatLm'/>
-    <reference name='xmlUCSIsCatLo' href='html/libxml-xmlunicode.html#xmlUCSIsCatLo'/>
-    <reference name='xmlUCSIsCatLt' href='html/libxml-xmlunicode.html#xmlUCSIsCatLt'/>
-    <reference name='xmlUCSIsCatLu' href='html/libxml-xmlunicode.html#xmlUCSIsCatLu'/>
-    <reference name='xmlUCSIsCatM' href='html/libxml-xmlunicode.html#xmlUCSIsCatM'/>
-    <reference name='xmlUCSIsCatMc' href='html/libxml-xmlunicode.html#xmlUCSIsCatMc'/>
-    <reference name='xmlUCSIsCatMe' href='html/libxml-xmlunicode.html#xmlUCSIsCatMe'/>
-    <reference name='xmlUCSIsCatMn' href='html/libxml-xmlunicode.html#xmlUCSIsCatMn'/>
-    <reference name='xmlUCSIsCatN' href='html/libxml-xmlunicode.html#xmlUCSIsCatN'/>
-    <reference name='xmlUCSIsCatNd' href='html/libxml-xmlunicode.html#xmlUCSIsCatNd'/>
-    <reference name='xmlUCSIsCatNl' href='html/libxml-xmlunicode.html#xmlUCSIsCatNl'/>
-    <reference name='xmlUCSIsCatNo' href='html/libxml-xmlunicode.html#xmlUCSIsCatNo'/>
-    <reference name='xmlUCSIsCatP' href='html/libxml-xmlunicode.html#xmlUCSIsCatP'/>
-    <reference name='xmlUCSIsCatPc' href='html/libxml-xmlunicode.html#xmlUCSIsCatPc'/>
-    <reference name='xmlUCSIsCatPd' href='html/libxml-xmlunicode.html#xmlUCSIsCatPd'/>
-    <reference name='xmlUCSIsCatPe' href='html/libxml-xmlunicode.html#xmlUCSIsCatPe'/>
-    <reference name='xmlUCSIsCatPf' href='html/libxml-xmlunicode.html#xmlUCSIsCatPf'/>
-    <reference name='xmlUCSIsCatPi' href='html/libxml-xmlunicode.html#xmlUCSIsCatPi'/>
-    <reference name='xmlUCSIsCatPo' href='html/libxml-xmlunicode.html#xmlUCSIsCatPo'/>
-    <reference name='xmlUCSIsCatPs' href='html/libxml-xmlunicode.html#xmlUCSIsCatPs'/>
-    <reference name='xmlUCSIsCatS' href='html/libxml-xmlunicode.html#xmlUCSIsCatS'/>
-    <reference name='xmlUCSIsCatSc' href='html/libxml-xmlunicode.html#xmlUCSIsCatSc'/>
-    <reference name='xmlUCSIsCatSk' href='html/libxml-xmlunicode.html#xmlUCSIsCatSk'/>
-    <reference name='xmlUCSIsCatSm' href='html/libxml-xmlunicode.html#xmlUCSIsCatSm'/>
-    <reference name='xmlUCSIsCatSo' href='html/libxml-xmlunicode.html#xmlUCSIsCatSo'/>
-    <reference name='xmlUCSIsCatZ' href='html/libxml-xmlunicode.html#xmlUCSIsCatZ'/>
-    <reference name='xmlUCSIsCatZl' href='html/libxml-xmlunicode.html#xmlUCSIsCatZl'/>
-    <reference name='xmlUCSIsCatZp' href='html/libxml-xmlunicode.html#xmlUCSIsCatZp'/>
-    <reference name='xmlUCSIsCatZs' href='html/libxml-xmlunicode.html#xmlUCSIsCatZs'/>
-    <reference name='xmlUCSIsCherokee' href='html/libxml-xmlunicode.html#xmlUCSIsCherokee'/>
-    <reference name='xmlUCSIsCombiningDiacriticalMarks' href='html/libxml-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarks'/>
-    <reference name='xmlUCSIsCombiningDiacriticalMarksforSymbols' href='html/libxml-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarksforSymbols'/>
-    <reference name='xmlUCSIsCombiningHalfMarks' href='html/libxml-xmlunicode.html#xmlUCSIsCombiningHalfMarks'/>
-    <reference name='xmlUCSIsCombiningMarksforSymbols' href='html/libxml-xmlunicode.html#xmlUCSIsCombiningMarksforSymbols'/>
-    <reference name='xmlUCSIsControlPictures' href='html/libxml-xmlunicode.html#xmlUCSIsControlPictures'/>
-    <reference name='xmlUCSIsCurrencySymbols' href='html/libxml-xmlunicode.html#xmlUCSIsCurrencySymbols'/>
-    <reference name='xmlUCSIsCypriotSyllabary' href='html/libxml-xmlunicode.html#xmlUCSIsCypriotSyllabary'/>
-    <reference name='xmlUCSIsCyrillic' href='html/libxml-xmlunicode.html#xmlUCSIsCyrillic'/>
-    <reference name='xmlUCSIsCyrillicSupplement' href='html/libxml-xmlunicode.html#xmlUCSIsCyrillicSupplement'/>
-    <reference name='xmlUCSIsDeseret' href='html/libxml-xmlunicode.html#xmlUCSIsDeseret'/>
-    <reference name='xmlUCSIsDevanagari' href='html/libxml-xmlunicode.html#xmlUCSIsDevanagari'/>
-    <reference name='xmlUCSIsDingbats' href='html/libxml-xmlunicode.html#xmlUCSIsDingbats'/>
-    <reference name='xmlUCSIsEnclosedAlphanumerics' href='html/libxml-xmlunicode.html#xmlUCSIsEnclosedAlphanumerics'/>
-    <reference name='xmlUCSIsEnclosedCJKLettersandMonths' href='html/libxml-xmlunicode.html#xmlUCSIsEnclosedCJKLettersandMonths'/>
-    <reference name='xmlUCSIsEthiopic' href='html/libxml-xmlunicode.html#xmlUCSIsEthiopic'/>
-    <reference name='xmlUCSIsGeneralPunctuation' href='html/libxml-xmlunicode.html#xmlUCSIsGeneralPunctuation'/>
-    <reference name='xmlUCSIsGeometricShapes' href='html/libxml-xmlunicode.html#xmlUCSIsGeometricShapes'/>
-    <reference name='xmlUCSIsGeorgian' href='html/libxml-xmlunicode.html#xmlUCSIsGeorgian'/>
-    <reference name='xmlUCSIsGothic' href='html/libxml-xmlunicode.html#xmlUCSIsGothic'/>
-    <reference name='xmlUCSIsGreek' href='html/libxml-xmlunicode.html#xmlUCSIsGreek'/>
-    <reference name='xmlUCSIsGreekExtended' href='html/libxml-xmlunicode.html#xmlUCSIsGreekExtended'/>
-    <reference name='xmlUCSIsGreekandCoptic' href='html/libxml-xmlunicode.html#xmlUCSIsGreekandCoptic'/>
-    <reference name='xmlUCSIsGujarati' href='html/libxml-xmlunicode.html#xmlUCSIsGujarati'/>
-    <reference name='xmlUCSIsGurmukhi' href='html/libxml-xmlunicode.html#xmlUCSIsGurmukhi'/>
-    <reference name='xmlUCSIsHalfwidthandFullwidthForms' href='html/libxml-xmlunicode.html#xmlUCSIsHalfwidthandFullwidthForms'/>
-    <reference name='xmlUCSIsHangulCompatibilityJamo' href='html/libxml-xmlunicode.html#xmlUCSIsHangulCompatibilityJamo'/>
-    <reference name='xmlUCSIsHangulJamo' href='html/libxml-xmlunicode.html#xmlUCSIsHangulJamo'/>
-    <reference name='xmlUCSIsHangulSyllables' href='html/libxml-xmlunicode.html#xmlUCSIsHangulSyllables'/>
-    <reference name='xmlUCSIsHanunoo' href='html/libxml-xmlunicode.html#xmlUCSIsHanunoo'/>
-    <reference name='xmlUCSIsHebrew' href='html/libxml-xmlunicode.html#xmlUCSIsHebrew'/>
-    <reference name='xmlUCSIsHighPrivateUseSurrogates' href='html/libxml-xmlunicode.html#xmlUCSIsHighPrivateUseSurrogates'/>
-    <reference name='xmlUCSIsHighSurrogates' href='html/libxml-xmlunicode.html#xmlUCSIsHighSurrogates'/>
-    <reference name='xmlUCSIsHiragana' href='html/libxml-xmlunicode.html#xmlUCSIsHiragana'/>
-    <reference name='xmlUCSIsIPAExtensions' href='html/libxml-xmlunicode.html#xmlUCSIsIPAExtensions'/>
-    <reference name='xmlUCSIsIdeographicDescriptionCharacters' href='html/libxml-xmlunicode.html#xmlUCSIsIdeographicDescriptionCharacters'/>
-    <reference name='xmlUCSIsKanbun' href='html/libxml-xmlunicode.html#xmlUCSIsKanbun'/>
-    <reference name='xmlUCSIsKangxiRadicals' href='html/libxml-xmlunicode.html#xmlUCSIsKangxiRadicals'/>
-    <reference name='xmlUCSIsKannada' href='html/libxml-xmlunicode.html#xmlUCSIsKannada'/>
-    <reference name='xmlUCSIsKatakana' href='html/libxml-xmlunicode.html#xmlUCSIsKatakana'/>
-    <reference name='xmlUCSIsKatakanaPhoneticExtensions' href='html/libxml-xmlunicode.html#xmlUCSIsKatakanaPhoneticExtensions'/>
-    <reference name='xmlUCSIsKhmer' href='html/libxml-xmlunicode.html#xmlUCSIsKhmer'/>
-    <reference name='xmlUCSIsKhmerSymbols' href='html/libxml-xmlunicode.html#xmlUCSIsKhmerSymbols'/>
-    <reference name='xmlUCSIsLao' href='html/libxml-xmlunicode.html#xmlUCSIsLao'/>
-    <reference name='xmlUCSIsLatin1Supplement' href='html/libxml-xmlunicode.html#xmlUCSIsLatin1Supplement'/>
-    <reference name='xmlUCSIsLatinExtendedA' href='html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedA'/>
-    <reference name='xmlUCSIsLatinExtendedAdditional' href='html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedAdditional'/>
-    <reference name='xmlUCSIsLatinExtendedB' href='html/libxml-xmlunicode.html#xmlUCSIsLatinExtendedB'/>
-    <reference name='xmlUCSIsLetterlikeSymbols' href='html/libxml-xmlunicode.html#xmlUCSIsLetterlikeSymbols'/>
-    <reference name='xmlUCSIsLimbu' href='html/libxml-xmlunicode.html#xmlUCSIsLimbu'/>
-    <reference name='xmlUCSIsLinearBIdeograms' href='html/libxml-xmlunicode.html#xmlUCSIsLinearBIdeograms'/>
-    <reference name='xmlUCSIsLinearBSyllabary' href='html/libxml-xmlunicode.html#xmlUCSIsLinearBSyllabary'/>
-    <reference name='xmlUCSIsLowSurrogates' href='html/libxml-xmlunicode.html#xmlUCSIsLowSurrogates'/>
-    <reference name='xmlUCSIsMalayalam' href='html/libxml-xmlunicode.html#xmlUCSIsMalayalam'/>
-    <reference name='xmlUCSIsMathematicalAlphanumericSymbols' href='html/libxml-xmlunicode.html#xmlUCSIsMathematicalAlphanumericSymbols'/>
-    <reference name='xmlUCSIsMathematicalOperators' href='html/libxml-xmlunicode.html#xmlUCSIsMathematicalOperators'/>
-    <reference name='xmlUCSIsMiscellaneousMathematicalSymbolsA' href='html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsA'/>
-    <reference name='xmlUCSIsMiscellaneousMathematicalSymbolsB' href='html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsB'/>
-    <reference name='xmlUCSIsMiscellaneousSymbols' href='html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousSymbols'/>
-    <reference name='xmlUCSIsMiscellaneousSymbolsandArrows' href='html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousSymbolsandArrows'/>
-    <reference name='xmlUCSIsMiscellaneousTechnical' href='html/libxml-xmlunicode.html#xmlUCSIsMiscellaneousTechnical'/>
-    <reference name='xmlUCSIsMongolian' href='html/libxml-xmlunicode.html#xmlUCSIsMongolian'/>
-    <reference name='xmlUCSIsMusicalSymbols' href='html/libxml-xmlunicode.html#xmlUCSIsMusicalSymbols'/>
-    <reference name='xmlUCSIsMyanmar' href='html/libxml-xmlunicode.html#xmlUCSIsMyanmar'/>
-    <reference name='xmlUCSIsNumberForms' href='html/libxml-xmlunicode.html#xmlUCSIsNumberForms'/>
-    <reference name='xmlUCSIsOgham' href='html/libxml-xmlunicode.html#xmlUCSIsOgham'/>
-    <reference name='xmlUCSIsOldItalic' href='html/libxml-xmlunicode.html#xmlUCSIsOldItalic'/>
-    <reference name='xmlUCSIsOpticalCharacterRecognition' href='html/libxml-xmlunicode.html#xmlUCSIsOpticalCharacterRecognition'/>
-    <reference name='xmlUCSIsOriya' href='html/libxml-xmlunicode.html#xmlUCSIsOriya'/>
-    <reference name='xmlUCSIsOsmanya' href='html/libxml-xmlunicode.html#xmlUCSIsOsmanya'/>
-    <reference name='xmlUCSIsPhoneticExtensions' href='html/libxml-xmlunicode.html#xmlUCSIsPhoneticExtensions'/>
-    <reference name='xmlUCSIsPrivateUse' href='html/libxml-xmlunicode.html#xmlUCSIsPrivateUse'/>
-    <reference name='xmlUCSIsPrivateUseArea' href='html/libxml-xmlunicode.html#xmlUCSIsPrivateUseArea'/>
-    <reference name='xmlUCSIsRunic' href='html/libxml-xmlunicode.html#xmlUCSIsRunic'/>
-    <reference name='xmlUCSIsShavian' href='html/libxml-xmlunicode.html#xmlUCSIsShavian'/>
-    <reference name='xmlUCSIsSinhala' href='html/libxml-xmlunicode.html#xmlUCSIsSinhala'/>
-    <reference name='xmlUCSIsSmallFormVariants' href='html/libxml-xmlunicode.html#xmlUCSIsSmallFormVariants'/>
-    <reference name='xmlUCSIsSpacingModifierLetters' href='html/libxml-xmlunicode.html#xmlUCSIsSpacingModifierLetters'/>
-    <reference name='xmlUCSIsSpecials' href='html/libxml-xmlunicode.html#xmlUCSIsSpecials'/>
-    <reference name='xmlUCSIsSuperscriptsandSubscripts' href='html/libxml-xmlunicode.html#xmlUCSIsSuperscriptsandSubscripts'/>
-    <reference name='xmlUCSIsSupplementalArrowsA' href='html/libxml-xmlunicode.html#xmlUCSIsSupplementalArrowsA'/>
-    <reference name='xmlUCSIsSupplementalArrowsB' href='html/libxml-xmlunicode.html#xmlUCSIsSupplementalArrowsB'/>
-    <reference name='xmlUCSIsSupplementalMathematicalOperators' href='html/libxml-xmlunicode.html#xmlUCSIsSupplementalMathematicalOperators'/>
-    <reference name='xmlUCSIsSupplementaryPrivateUseAreaA' href='html/libxml-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaA'/>
-    <reference name='xmlUCSIsSupplementaryPrivateUseAreaB' href='html/libxml-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaB'/>
-    <reference name='xmlUCSIsSyriac' href='html/libxml-xmlunicode.html#xmlUCSIsSyriac'/>
-    <reference name='xmlUCSIsTagalog' href='html/libxml-xmlunicode.html#xmlUCSIsTagalog'/>
-    <reference name='xmlUCSIsTagbanwa' href='html/libxml-xmlunicode.html#xmlUCSIsTagbanwa'/>
-    <reference name='xmlUCSIsTags' href='html/libxml-xmlunicode.html#xmlUCSIsTags'/>
-    <reference name='xmlUCSIsTaiLe' href='html/libxml-xmlunicode.html#xmlUCSIsTaiLe'/>
-    <reference name='xmlUCSIsTaiXuanJingSymbols' href='html/libxml-xmlunicode.html#xmlUCSIsTaiXuanJingSymbols'/>
-    <reference name='xmlUCSIsTamil' href='html/libxml-xmlunicode.html#xmlUCSIsTamil'/>
-    <reference name='xmlUCSIsTelugu' href='html/libxml-xmlunicode.html#xmlUCSIsTelugu'/>
-    <reference name='xmlUCSIsThaana' href='html/libxml-xmlunicode.html#xmlUCSIsThaana'/>
-    <reference name='xmlUCSIsThai' href='html/libxml-xmlunicode.html#xmlUCSIsThai'/>
-    <reference name='xmlUCSIsTibetan' href='html/libxml-xmlunicode.html#xmlUCSIsTibetan'/>
-    <reference name='xmlUCSIsUgaritic' href='html/libxml-xmlunicode.html#xmlUCSIsUgaritic'/>
-    <reference name='xmlUCSIsUnifiedCanadianAboriginalSyllabics' href='html/libxml-xmlunicode.html#xmlUCSIsUnifiedCanadianAboriginalSyllabics'/>
-    <reference name='xmlUCSIsVariationSelectors' href='html/libxml-xmlunicode.html#xmlUCSIsVariationSelectors'/>
-    <reference name='xmlUCSIsVariationSelectorsSupplement' href='html/libxml-xmlunicode.html#xmlUCSIsVariationSelectorsSupplement'/>
-    <reference name='xmlUCSIsYiRadicals' href='html/libxml-xmlunicode.html#xmlUCSIsYiRadicals'/>
-    <reference name='xmlUCSIsYiSyllables' href='html/libxml-xmlunicode.html#xmlUCSIsYiSyllables'/>
-    <reference name='xmlUCSIsYijingHexagramSymbols' href='html/libxml-xmlunicode.html#xmlUCSIsYijingHexagramSymbols'/>
-    <reference name='xmlURI' href='html/libxml-uri.html#xmlURI'/>
-    <reference name='xmlURIEscape' href='html/libxml-uri.html#xmlURIEscape'/>
-    <reference name='xmlURIEscapeStr' href='html/libxml-uri.html#xmlURIEscapeStr'/>
-    <reference name='xmlURIPtr' href='html/libxml-uri.html#xmlURIPtr'/>
-    <reference name='xmlURIUnescapeString' href='html/libxml-uri.html#xmlURIUnescapeString'/>
-    <reference name='xmlUTF8Charcmp' href='html/libxml-xmlstring.html#xmlUTF8Charcmp'/>
-    <reference name='xmlUTF8Size' href='html/libxml-xmlstring.html#xmlUTF8Size'/>
-    <reference name='xmlUTF8Strlen' href='html/libxml-xmlstring.html#xmlUTF8Strlen'/>
-    <reference name='xmlUTF8Strloc' href='html/libxml-xmlstring.html#xmlUTF8Strloc'/>
-    <reference name='xmlUTF8Strndup' href='html/libxml-xmlstring.html#xmlUTF8Strndup'/>
-    <reference name='xmlUTF8Strpos' href='html/libxml-xmlstring.html#xmlUTF8Strpos'/>
-    <reference name='xmlUTF8Strsize' href='html/libxml-xmlstring.html#xmlUTF8Strsize'/>
-    <reference name='xmlUTF8Strsub' href='html/libxml-xmlstring.html#xmlUTF8Strsub'/>
-    <reference name='xmlUnlinkNode' href='html/libxml-tree.html#xmlUnlinkNode'/>
-    <reference name='xmlUnlockLibrary' href='html/libxml-threads.html#xmlUnlockLibrary'/>
-    <reference name='xmlUnsetNsProp' href='html/libxml-tree.html#xmlUnsetNsProp'/>
-    <reference name='xmlUnsetProp' href='html/libxml-tree.html#xmlUnsetProp'/>
-    <reference name='xmlValidBuildContentModel' href='html/libxml-valid.html#xmlValidBuildContentModel'/>
-    <reference name='xmlValidCtxt' href='html/libxml-valid.html#xmlValidCtxt'/>
-    <reference name='xmlValidCtxtNormalizeAttributeValue' href='html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue'/>
-    <reference name='xmlValidCtxtPtr' href='html/libxml-valid.html#xmlValidCtxtPtr'/>
-    <reference name='xmlValidGetPotentialChildren' href='html/libxml-valid.html#xmlValidGetPotentialChildren'/>
-    <reference name='xmlValidGetValidElements' href='html/libxml-valid.html#xmlValidGetValidElements'/>
-    <reference name='xmlValidNormalizeAttributeValue' href='html/libxml-valid.html#xmlValidNormalizeAttributeValue'/>
-    <reference name='xmlValidState' href='html/libxml-valid.html#xmlValidState'/>
-    <reference name='xmlValidStatePtr' href='html/libxml-valid.html#xmlValidStatePtr'/>
-    <reference name='xmlValidateAttributeDecl' href='html/libxml-valid.html#xmlValidateAttributeDecl'/>
-    <reference name='xmlValidateAttributeValue' href='html/libxml-valid.html#xmlValidateAttributeValue'/>
-    <reference name='xmlValidateDocument' href='html/libxml-valid.html#xmlValidateDocument'/>
-    <reference name='xmlValidateDocumentFinal' href='html/libxml-valid.html#xmlValidateDocumentFinal'/>
-    <reference name='xmlValidateDtd' href='html/libxml-valid.html#xmlValidateDtd'/>
-    <reference name='xmlValidateDtdFinal' href='html/libxml-valid.html#xmlValidateDtdFinal'/>
-    <reference name='xmlValidateElement' href='html/libxml-valid.html#xmlValidateElement'/>
-    <reference name='xmlValidateElementDecl' href='html/libxml-valid.html#xmlValidateElementDecl'/>
-    <reference name='xmlValidateNCName' href='html/libxml-tree.html#xmlValidateNCName'/>
-    <reference name='xmlValidateNMToken' href='html/libxml-tree.html#xmlValidateNMToken'/>
-    <reference name='xmlValidateName' href='html/libxml-tree.html#xmlValidateName'/>
-    <reference name='xmlValidateNameValue' href='html/libxml-valid.html#xmlValidateNameValue'/>
-    <reference name='xmlValidateNamesValue' href='html/libxml-valid.html#xmlValidateNamesValue'/>
-    <reference name='xmlValidateNmtokenValue' href='html/libxml-valid.html#xmlValidateNmtokenValue'/>
-    <reference name='xmlValidateNmtokensValue' href='html/libxml-valid.html#xmlValidateNmtokensValue'/>
-    <reference name='xmlValidateNotationDecl' href='html/libxml-valid.html#xmlValidateNotationDecl'/>
-    <reference name='xmlValidateNotationUse' href='html/libxml-valid.html#xmlValidateNotationUse'/>
-    <reference name='xmlValidateOneAttribute' href='html/libxml-valid.html#xmlValidateOneAttribute'/>
-    <reference name='xmlValidateOneElement' href='html/libxml-valid.html#xmlValidateOneElement'/>
-    <reference name='xmlValidateOneNamespace' href='html/libxml-valid.html#xmlValidateOneNamespace'/>
-    <reference name='xmlValidatePopElement' href='html/libxml-valid.html#xmlValidatePopElement'/>
-    <reference name='xmlValidatePushCData' href='html/libxml-valid.html#xmlValidatePushCData'/>
-    <reference name='xmlValidatePushElement' href='html/libxml-valid.html#xmlValidatePushElement'/>
-    <reference name='xmlValidateQName' href='html/libxml-tree.html#xmlValidateQName'/>
-    <reference name='xmlValidateRoot' href='html/libxml-valid.html#xmlValidateRoot'/>
-    <reference name='xmlValidityErrorFunc' href='html/libxml-valid.html#xmlValidityErrorFunc'/>
-    <reference name='xmlValidityWarningFunc' href='html/libxml-valid.html#xmlValidityWarningFunc'/>
-    <reference name='xmlXIncludeCtxt' href='html/libxml-xinclude.html#xmlXIncludeCtxt'/>
-    <reference name='xmlXIncludeCtxtPtr' href='html/libxml-xinclude.html#xmlXIncludeCtxtPtr'/>
-    <reference name='xmlXIncludeFreeContext' href='html/libxml-xinclude.html#xmlXIncludeFreeContext'/>
-    <reference name='xmlXIncludeNewContext' href='html/libxml-xinclude.html#xmlXIncludeNewContext'/>
-    <reference name='xmlXIncludeProcess' href='html/libxml-xinclude.html#xmlXIncludeProcess'/>
-    <reference name='xmlXIncludeProcessFlags' href='html/libxml-xinclude.html#xmlXIncludeProcessFlags'/>
-    <reference name='xmlXIncludeProcessFlagsData' href='html/libxml-xinclude.html#xmlXIncludeProcessFlagsData'/>
-    <reference name='xmlXIncludeProcessNode' href='html/libxml-xinclude.html#xmlXIncludeProcessNode'/>
-    <reference name='xmlXIncludeProcessTree' href='html/libxml-xinclude.html#xmlXIncludeProcessTree'/>
-    <reference name='xmlXIncludeProcessTreeFlags' href='html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags'/>
-    <reference name='xmlXIncludeProcessTreeFlagsData' href='html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData'/>
-    <reference name='xmlXIncludeSetFlags' href='html/libxml-xinclude.html#xmlXIncludeSetFlags'/>
-    <reference name='xmlXPathAddValues' href='html/libxml-xpathInternals.html#xmlXPathAddValues'/>
-    <reference name='xmlXPathAxis' href='html/libxml-xpath.html#xmlXPathAxis'/>
-    <reference name='xmlXPathAxisFunc' href='html/libxml-xpath.html#xmlXPathAxisFunc'/>
-    <reference name='xmlXPathAxisPtr' href='html/libxml-xpath.html#xmlXPathAxisPtr'/>
-    <reference name='xmlXPathBooleanFunction' href='html/libxml-xpathInternals.html#xmlXPathBooleanFunction'/>
-    <reference name='xmlXPathCastBooleanToNumber' href='html/libxml-xpath.html#xmlXPathCastBooleanToNumber'/>
-    <reference name='xmlXPathCastBooleanToString' href='html/libxml-xpath.html#xmlXPathCastBooleanToString'/>
-    <reference name='xmlXPathCastNodeSetToBoolean' href='html/libxml-xpath.html#xmlXPathCastNodeSetToBoolean'/>
-    <reference name='xmlXPathCastNodeSetToNumber' href='html/libxml-xpath.html#xmlXPathCastNodeSetToNumber'/>
-    <reference name='xmlXPathCastNodeSetToString' href='html/libxml-xpath.html#xmlXPathCastNodeSetToString'/>
-    <reference name='xmlXPathCastNodeToNumber' href='html/libxml-xpath.html#xmlXPathCastNodeToNumber'/>
-    <reference name='xmlXPathCastNodeToString' href='html/libxml-xpath.html#xmlXPathCastNodeToString'/>
-    <reference name='xmlXPathCastNumberToBoolean' href='html/libxml-xpath.html#xmlXPathCastNumberToBoolean'/>
-    <reference name='xmlXPathCastNumberToString' href='html/libxml-xpath.html#xmlXPathCastNumberToString'/>
-    <reference name='xmlXPathCastStringToBoolean' href='html/libxml-xpath.html#xmlXPathCastStringToBoolean'/>
-    <reference name='xmlXPathCastStringToNumber' href='html/libxml-xpath.html#xmlXPathCastStringToNumber'/>
-    <reference name='xmlXPathCastToBoolean' href='html/libxml-xpath.html#xmlXPathCastToBoolean'/>
-    <reference name='xmlXPathCastToNumber' href='html/libxml-xpath.html#xmlXPathCastToNumber'/>
-    <reference name='xmlXPathCastToString' href='html/libxml-xpath.html#xmlXPathCastToString'/>
-    <reference name='xmlXPathCeilingFunction' href='html/libxml-xpathInternals.html#xmlXPathCeilingFunction'/>
-    <reference name='xmlXPathCheckError' href='html/libxml-xpathInternals.html#xmlXPathCheckError'/>
-    <reference name='xmlXPathCmpNodes' href='html/libxml-xpath.html#xmlXPathCmpNodes'/>
-    <reference name='xmlXPathCompExpr' href='html/libxml-xpath.html#xmlXPathCompExpr'/>
-    <reference name='xmlXPathCompExprPtr' href='html/libxml-xpath.html#xmlXPathCompExprPtr'/>
-    <reference name='xmlXPathCompareValues' href='html/libxml-xpathInternals.html#xmlXPathCompareValues'/>
-    <reference name='xmlXPathCompile' href='html/libxml-xpath.html#xmlXPathCompile'/>
-    <reference name='xmlXPathCompiledEval' href='html/libxml-xpath.html#xmlXPathCompiledEval'/>
-    <reference name='xmlXPathCompiledEvalToBoolean' href='html/libxml-xpath.html#xmlXPathCompiledEvalToBoolean'/>
-    <reference name='xmlXPathConcatFunction' href='html/libxml-xpathInternals.html#xmlXPathConcatFunction'/>
-    <reference name='xmlXPathContainsFunction' href='html/libxml-xpathInternals.html#xmlXPathContainsFunction'/>
-    <reference name='xmlXPathContext' href='html/libxml-xpath.html#xmlXPathContext'/>
-    <reference name='xmlXPathContextPtr' href='html/libxml-xpath.html#xmlXPathContextPtr'/>
-    <reference name='xmlXPathContextSetCache' href='html/libxml-xpath.html#xmlXPathContextSetCache'/>
-    <reference name='xmlXPathConvertBoolean' href='html/libxml-xpath.html#xmlXPathConvertBoolean'/>
-    <reference name='xmlXPathConvertFunc' href='html/libxml-xpath.html#xmlXPathConvertFunc'/>
-    <reference name='xmlXPathConvertNumber' href='html/libxml-xpath.html#xmlXPathConvertNumber'/>
-    <reference name='xmlXPathConvertString' href='html/libxml-xpath.html#xmlXPathConvertString'/>
-    <reference name='xmlXPathCountFunction' href='html/libxml-xpathInternals.html#xmlXPathCountFunction'/>
-    <reference name='xmlXPathCtxtCompile' href='html/libxml-xpath.html#xmlXPathCtxtCompile'/>
-    <reference name='xmlXPathDebugDumpCompExpr' href='html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr'/>
-    <reference name='xmlXPathDebugDumpObject' href='html/libxml-xpathInternals.html#xmlXPathDebugDumpObject'/>
-    <reference name='xmlXPathDifference' href='html/libxml-xpathInternals.html#xmlXPathDifference'/>
-    <reference name='xmlXPathDistinct' href='html/libxml-xpathInternals.html#xmlXPathDistinct'/>
-    <reference name='xmlXPathDistinctSorted' href='html/libxml-xpathInternals.html#xmlXPathDistinctSorted'/>
-    <reference name='xmlXPathDivValues' href='html/libxml-xpathInternals.html#xmlXPathDivValues'/>
-    <reference name='xmlXPathEmptyNodeSet' href='html/libxml-xpathInternals.html#xmlXPathEmptyNodeSet'/>
-    <reference name='xmlXPathEqualValues' href='html/libxml-xpathInternals.html#xmlXPathEqualValues'/>
-    <reference name='xmlXPathErr' href='html/libxml-xpathInternals.html#xmlXPathErr'/>
-    <reference name='xmlXPathError' href='html/libxml-xpath.html#xmlXPathError'/>
-    <reference name='xmlXPathEval' href='html/libxml-xpath.html#xmlXPathEval'/>
-    <reference name='xmlXPathEvalExpr' href='html/libxml-xpathInternals.html#xmlXPathEvalExpr'/>
-    <reference name='xmlXPathEvalExpression' href='html/libxml-xpath.html#xmlXPathEvalExpression'/>
-    <reference name='xmlXPathEvalFunc' href='html/libxml-xpath.html#xmlXPathEvalFunc'/>
-    <reference name='xmlXPathEvalPredicate' href='html/libxml-xpath.html#xmlXPathEvalPredicate'/>
-    <reference name='xmlXPathEvaluatePredicateResult' href='html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult'/>
-    <reference name='xmlXPathFalseFunction' href='html/libxml-xpathInternals.html#xmlXPathFalseFunction'/>
-    <reference name='xmlXPathFloorFunction' href='html/libxml-xpathInternals.html#xmlXPathFloorFunction'/>
-    <reference name='xmlXPathFreeCompExpr' href='html/libxml-xpath.html#xmlXPathFreeCompExpr'/>
-    <reference name='xmlXPathFreeContext' href='html/libxml-xpath.html#xmlXPathFreeContext'/>
-    <reference name='xmlXPathFreeNodeSet' href='html/libxml-xpath.html#xmlXPathFreeNodeSet'/>
-    <reference name='xmlXPathFreeNodeSetList' href='html/libxml-xpath.html#xmlXPathFreeNodeSetList'/>
-    <reference name='xmlXPathFreeObject' href='html/libxml-xpath.html#xmlXPathFreeObject'/>
-    <reference name='xmlXPathFreeParserContext' href='html/libxml-xpathInternals.html#xmlXPathFreeParserContext'/>
-    <reference name='xmlXPathFuncLookupFunc' href='html/libxml-xpath.html#xmlXPathFuncLookupFunc'/>
-    <reference name='xmlXPathFuncPtr' href='html/libxml-xpath.html#xmlXPathFuncPtr'/>
-    <reference name='xmlXPathFunct' href='html/libxml-xpath.html#xmlXPathFunct'/>
-    <reference name='xmlXPathFunction' href='html/libxml-xpath.html#xmlXPathFunction'/>
-    <reference name='xmlXPathFunctionLookup' href='html/libxml-xpathInternals.html#xmlXPathFunctionLookup'/>
-    <reference name='xmlXPathFunctionLookupNS' href='html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS'/>
-    <reference name='xmlXPathGetContextNode' href='html/libxml-xpathInternals.html#xmlXPathGetContextNode'/>
-    <reference name='xmlXPathGetDocument' href='html/libxml-xpathInternals.html#xmlXPathGetDocument'/>
-    <reference name='xmlXPathGetError' href='html/libxml-xpathInternals.html#xmlXPathGetError'/>
-    <reference name='xmlXPathHasSameNodes' href='html/libxml-xpathInternals.html#xmlXPathHasSameNodes'/>
-    <reference name='xmlXPathIdFunction' href='html/libxml-xpathInternals.html#xmlXPathIdFunction'/>
-    <reference name='xmlXPathInit' href='html/libxml-xpath.html#xmlXPathInit'/>
-    <reference name='xmlXPathIntersection' href='html/libxml-xpathInternals.html#xmlXPathIntersection'/>
-    <reference name='xmlXPathIsInf' href='html/libxml-xpath.html#xmlXPathIsInf'/>
-    <reference name='xmlXPathIsNaN' href='html/libxml-xpath.html#xmlXPathIsNaN'/>
-    <reference name='xmlXPathIsNodeType' href='html/libxml-xpathInternals.html#xmlXPathIsNodeType'/>
-    <reference name='xmlXPathLangFunction' href='html/libxml-xpathInternals.html#xmlXPathLangFunction'/>
-    <reference name='xmlXPathLastFunction' href='html/libxml-xpathInternals.html#xmlXPathLastFunction'/>
-    <reference name='xmlXPathLeading' href='html/libxml-xpathInternals.html#xmlXPathLeading'/>
-    <reference name='xmlXPathLeadingSorted' href='html/libxml-xpathInternals.html#xmlXPathLeadingSorted'/>
-    <reference name='xmlXPathLocalNameFunction' href='html/libxml-xpathInternals.html#xmlXPathLocalNameFunction'/>
-    <reference name='xmlXPathModValues' href='html/libxml-xpathInternals.html#xmlXPathModValues'/>
-    <reference name='xmlXPathMultValues' href='html/libxml-xpathInternals.html#xmlXPathMultValues'/>
-    <reference name='xmlXPathNAN' href='html/libxml-xpath.html#xmlXPathNAN'/>
-    <reference name='xmlXPathNINF' href='html/libxml-xpath.html#xmlXPathNINF'/>
-    <reference name='xmlXPathNamespaceURIFunction' href='html/libxml-xpathInternals.html#xmlXPathNamespaceURIFunction'/>
-    <reference name='xmlXPathNewBoolean' href='html/libxml-xpathInternals.html#xmlXPathNewBoolean'/>
-    <reference name='xmlXPathNewCString' href='html/libxml-xpathInternals.html#xmlXPathNewCString'/>
-    <reference name='xmlXPathNewContext' href='html/libxml-xpath.html#xmlXPathNewContext'/>
-    <reference name='xmlXPathNewFloat' href='html/libxml-xpathInternals.html#xmlXPathNewFloat'/>
-    <reference name='xmlXPathNewNodeSet' href='html/libxml-xpathInternals.html#xmlXPathNewNodeSet'/>
-    <reference name='xmlXPathNewNodeSetList' href='html/libxml-xpathInternals.html#xmlXPathNewNodeSetList'/>
-    <reference name='xmlXPathNewParserContext' href='html/libxml-xpathInternals.html#xmlXPathNewParserContext'/>
-    <reference name='xmlXPathNewString' href='html/libxml-xpathInternals.html#xmlXPathNewString'/>
-    <reference name='xmlXPathNewValueTree' href='html/libxml-xpathInternals.html#xmlXPathNewValueTree'/>
-    <reference name='xmlXPathNextAncestor' href='html/libxml-xpathInternals.html#xmlXPathNextAncestor'/>
-    <reference name='xmlXPathNextAncestorOrSelf' href='html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf'/>
-    <reference name='xmlXPathNextAttribute' href='html/libxml-xpathInternals.html#xmlXPathNextAttribute'/>
-    <reference name='xmlXPathNextChild' href='html/libxml-xpathInternals.html#xmlXPathNextChild'/>
-    <reference name='xmlXPathNextDescendant' href='html/libxml-xpathInternals.html#xmlXPathNextDescendant'/>
-    <reference name='xmlXPathNextDescendantOrSelf' href='html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf'/>
-    <reference name='xmlXPathNextFollowing' href='html/libxml-xpathInternals.html#xmlXPathNextFollowing'/>
-    <reference name='xmlXPathNextFollowingSibling' href='html/libxml-xpathInternals.html#xmlXPathNextFollowingSibling'/>
-    <reference name='xmlXPathNextNamespace' href='html/libxml-xpathInternals.html#xmlXPathNextNamespace'/>
-    <reference name='xmlXPathNextParent' href='html/libxml-xpathInternals.html#xmlXPathNextParent'/>
-    <reference name='xmlXPathNextPreceding' href='html/libxml-xpathInternals.html#xmlXPathNextPreceding'/>
-    <reference name='xmlXPathNextPrecedingSibling' href='html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling'/>
-    <reference name='xmlXPathNextSelf' href='html/libxml-xpathInternals.html#xmlXPathNextSelf'/>
-    <reference name='xmlXPathNodeEval' href='html/libxml-xpath.html#xmlXPathNodeEval'/>
-    <reference name='xmlXPathNodeLeading' href='html/libxml-xpathInternals.html#xmlXPathNodeLeading'/>
-    <reference name='xmlXPathNodeLeadingSorted' href='html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted'/>
-    <reference name='xmlXPathNodeSetAdd' href='html/libxml-xpathInternals.html#xmlXPathNodeSetAdd'/>
-    <reference name='xmlXPathNodeSetAddNs' href='html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs'/>
-    <reference name='xmlXPathNodeSetAddUnique' href='html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique'/>
-    <reference name='xmlXPathNodeSetContains' href='html/libxml-xpathInternals.html#xmlXPathNodeSetContains'/>
-    <reference name='xmlXPathNodeSetCreate' href='html/libxml-xpath.html#xmlXPathNodeSetCreate'/>
-    <reference name='xmlXPathNodeSetDel' href='html/libxml-xpathInternals.html#xmlXPathNodeSetDel'/>
-    <reference name='xmlXPathNodeSetFreeNs' href='html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs'/>
-    <reference name='xmlXPathNodeSetGetLength' href='html/libxml-xpath.html#xmlXPathNodeSetGetLength'/>
-    <reference name='xmlXPathNodeSetIsEmpty' href='html/libxml-xpath.html#xmlXPathNodeSetIsEmpty'/>
-    <reference name='xmlXPathNodeSetItem' href='html/libxml-xpath.html#xmlXPathNodeSetItem'/>
-    <reference name='xmlXPathNodeSetMerge' href='html/libxml-xpathInternals.html#xmlXPathNodeSetMerge'/>
-    <reference name='xmlXPathNodeSetRemove' href='html/libxml-xpathInternals.html#xmlXPathNodeSetRemove'/>
-    <reference name='xmlXPathNodeSetSort' href='html/libxml-xpathInternals.html#xmlXPathNodeSetSort'/>
-    <reference name='xmlXPathNodeTrailing' href='html/libxml-xpathInternals.html#xmlXPathNodeTrailing'/>
-    <reference name='xmlXPathNodeTrailingSorted' href='html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted'/>
-    <reference name='xmlXPathNormalizeFunction' href='html/libxml-xpathInternals.html#xmlXPathNormalizeFunction'/>
-    <reference name='xmlXPathNotEqualValues' href='html/libxml-xpathInternals.html#xmlXPathNotEqualValues'/>
-    <reference name='xmlXPathNotFunction' href='html/libxml-xpathInternals.html#xmlXPathNotFunction'/>
-    <reference name='xmlXPathNsLookup' href='html/libxml-xpathInternals.html#xmlXPathNsLookup'/>
-    <reference name='xmlXPathNumberFunction' href='html/libxml-xpathInternals.html#xmlXPathNumberFunction'/>
-    <reference name='xmlXPathObject' href='html/libxml-xpath.html#xmlXPathObject'/>
-    <reference name='xmlXPathObjectCopy' href='html/libxml-xpath.html#xmlXPathObjectCopy'/>
-    <reference name='xmlXPathObjectPtr' href='html/libxml-xpath.html#xmlXPathObjectPtr'/>
-    <reference name='xmlXPathObjectType' href='html/libxml-xpath.html#xmlXPathObjectType'/>
-    <reference name='xmlXPathOrderDocElems' href='html/libxml-xpath.html#xmlXPathOrderDocElems'/>
-    <reference name='xmlXPathPINF' href='html/libxml-xpath.html#xmlXPathPINF'/>
-    <reference name='xmlXPathParseNCName' href='html/libxml-xpathInternals.html#xmlXPathParseNCName'/>
-    <reference name='xmlXPathParseName' href='html/libxml-xpathInternals.html#xmlXPathParseName'/>
-    <reference name='xmlXPathParserContext' href='html/libxml-xpath.html#xmlXPathParserContext'/>
-    <reference name='xmlXPathParserContextPtr' href='html/libxml-xpath.html#xmlXPathParserContextPtr'/>
-    <reference name='xmlXPathPopBoolean' href='html/libxml-xpathInternals.html#xmlXPathPopBoolean'/>
-    <reference name='xmlXPathPopExternal' href='html/libxml-xpathInternals.html#xmlXPathPopExternal'/>
-    <reference name='xmlXPathPopNodeSet' href='html/libxml-xpathInternals.html#xmlXPathPopNodeSet'/>
-    <reference name='xmlXPathPopNumber' href='html/libxml-xpathInternals.html#xmlXPathPopNumber'/>
-    <reference name='xmlXPathPopString' href='html/libxml-xpathInternals.html#xmlXPathPopString'/>
-    <reference name='xmlXPathPositionFunction' href='html/libxml-xpathInternals.html#xmlXPathPositionFunction'/>
-    <reference name='xmlXPathRegisterAllFunctions' href='html/libxml-xpathInternals.html#xmlXPathRegisterAllFunctions'/>
-    <reference name='xmlXPathRegisterFunc' href='html/libxml-xpathInternals.html#xmlXPathRegisterFunc'/>
-    <reference name='xmlXPathRegisterFuncLookup' href='html/libxml-xpathInternals.html#xmlXPathRegisterFuncLookup'/>
-    <reference name='xmlXPathRegisterFuncNS' href='html/libxml-xpathInternals.html#xmlXPathRegisterFuncNS'/>
-    <reference name='xmlXPathRegisterNs' href='html/libxml-xpathInternals.html#xmlXPathRegisterNs'/>
-    <reference name='xmlXPathRegisterVariable' href='html/libxml-xpathInternals.html#xmlXPathRegisterVariable'/>
-    <reference name='xmlXPathRegisterVariableLookup' href='html/libxml-xpathInternals.html#xmlXPathRegisterVariableLookup'/>
-    <reference name='xmlXPathRegisterVariableNS' href='html/libxml-xpathInternals.html#xmlXPathRegisterVariableNS'/>
-    <reference name='xmlXPathRegisteredFuncsCleanup' href='html/libxml-xpathInternals.html#xmlXPathRegisteredFuncsCleanup'/>
-    <reference name='xmlXPathRegisteredNsCleanup' href='html/libxml-xpathInternals.html#xmlXPathRegisteredNsCleanup'/>
-    <reference name='xmlXPathRegisteredVariablesCleanup' href='html/libxml-xpathInternals.html#xmlXPathRegisteredVariablesCleanup'/>
-    <reference name='xmlXPathReturnBoolean' href='html/libxml-xpathInternals.html#xmlXPathReturnBoolean'/>
-    <reference name='xmlXPathReturnEmptyNodeSet' href='html/libxml-xpathInternals.html#xmlXPathReturnEmptyNodeSet'/>
-    <reference name='xmlXPathReturnEmptyString' href='html/libxml-xpathInternals.html#xmlXPathReturnEmptyString'/>
-    <reference name='xmlXPathReturnExternal' href='html/libxml-xpathInternals.html#xmlXPathReturnExternal'/>
-    <reference name='xmlXPathReturnFalse' href='html/libxml-xpathInternals.html#xmlXPathReturnFalse'/>
-    <reference name='xmlXPathReturnNodeSet' href='html/libxml-xpathInternals.html#xmlXPathReturnNodeSet'/>
-    <reference name='xmlXPathReturnNumber' href='html/libxml-xpathInternals.html#xmlXPathReturnNumber'/>
-    <reference name='xmlXPathReturnString' href='html/libxml-xpathInternals.html#xmlXPathReturnString'/>
-    <reference name='xmlXPathReturnTrue' href='html/libxml-xpathInternals.html#xmlXPathReturnTrue'/>
-    <reference name='xmlXPathRoot' href='html/libxml-xpathInternals.html#xmlXPathRoot'/>
-    <reference name='xmlXPathRoundFunction' href='html/libxml-xpathInternals.html#xmlXPathRoundFunction'/>
-    <reference name='xmlXPathSetArityError' href='html/libxml-xpathInternals.html#xmlXPathSetArityError'/>
-    <reference name='xmlXPathSetContextNode' href='html/libxml-xpath.html#xmlXPathSetContextNode'/>
-    <reference name='xmlXPathSetError' href='html/libxml-xpathInternals.html#xmlXPathSetError'/>
-    <reference name='xmlXPathSetTypeError' href='html/libxml-xpathInternals.html#xmlXPathSetTypeError'/>
-    <reference name='xmlXPathStackIsExternal' href='html/libxml-xpathInternals.html#xmlXPathStackIsExternal'/>
-    <reference name='xmlXPathStackIsNodeSet' href='html/libxml-xpathInternals.html#xmlXPathStackIsNodeSet'/>
-    <reference name='xmlXPathStartsWithFunction' href='html/libxml-xpathInternals.html#xmlXPathStartsWithFunction'/>
-    <reference name='xmlXPathStringEvalNumber' href='html/libxml-xpathInternals.html#xmlXPathStringEvalNumber'/>
-    <reference name='xmlXPathStringFunction' href='html/libxml-xpathInternals.html#xmlXPathStringFunction'/>
-    <reference name='xmlXPathStringLengthFunction' href='html/libxml-xpathInternals.html#xmlXPathStringLengthFunction'/>
-    <reference name='xmlXPathSubValues' href='html/libxml-xpathInternals.html#xmlXPathSubValues'/>
-    <reference name='xmlXPathSubstringAfterFunction' href='html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction'/>
-    <reference name='xmlXPathSubstringBeforeFunction' href='html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction'/>
-    <reference name='xmlXPathSubstringFunction' href='html/libxml-xpathInternals.html#xmlXPathSubstringFunction'/>
-    <reference name='xmlXPathSumFunction' href='html/libxml-xpathInternals.html#xmlXPathSumFunction'/>
-    <reference name='xmlXPathTrailing' href='html/libxml-xpathInternals.html#xmlXPathTrailing'/>
-    <reference name='xmlXPathTrailingSorted' href='html/libxml-xpathInternals.html#xmlXPathTrailingSorted'/>
-    <reference name='xmlXPathTranslateFunction' href='html/libxml-xpathInternals.html#xmlXPathTranslateFunction'/>
-    <reference name='xmlXPathTrueFunction' href='html/libxml-xpathInternals.html#xmlXPathTrueFunction'/>
-    <reference name='xmlXPathType' href='html/libxml-xpath.html#xmlXPathType'/>
-    <reference name='xmlXPathTypePtr' href='html/libxml-xpath.html#xmlXPathTypePtr'/>
-    <reference name='xmlXPathValueFlipSign' href='html/libxml-xpathInternals.html#xmlXPathValueFlipSign'/>
-    <reference name='xmlXPathVariable' href='html/libxml-xpath.html#xmlXPathVariable'/>
-    <reference name='xmlXPathVariableLookup' href='html/libxml-xpathInternals.html#xmlXPathVariableLookup'/>
-    <reference name='xmlXPathVariableLookupFunc' href='html/libxml-xpath.html#xmlXPathVariableLookupFunc'/>
-    <reference name='xmlXPathVariableLookupNS' href='html/libxml-xpathInternals.html#xmlXPathVariableLookupNS'/>
-    <reference name='xmlXPathVariablePtr' href='html/libxml-xpath.html#xmlXPathVariablePtr'/>
-    <reference name='xmlXPathWrapCString' href='html/libxml-xpathInternals.html#xmlXPathWrapCString'/>
-    <reference name='xmlXPathWrapExternal' href='html/libxml-xpathInternals.html#xmlXPathWrapExternal'/>
-    <reference name='xmlXPathWrapNodeSet' href='html/libxml-xpathInternals.html#xmlXPathWrapNodeSet'/>
-    <reference name='xmlXPathWrapString' href='html/libxml-xpathInternals.html#xmlXPathWrapString'/>
-    <reference name='xmlXPatherror' href='html/libxml-xpathInternals.html#xmlXPatherror'/>
-    <reference name='xmlXPtrBuildNodeList' href='html/libxml-xpointer.html#xmlXPtrBuildNodeList'/>
-    <reference name='xmlXPtrEval' href='html/libxml-xpointer.html#xmlXPtrEval'/>
-    <reference name='xmlXPtrEvalRangePredicate' href='html/libxml-xpointer.html#xmlXPtrEvalRangePredicate'/>
-    <reference name='xmlXPtrFreeLocationSet' href='html/libxml-xpointer.html#xmlXPtrFreeLocationSet'/>
-    <reference name='xmlXPtrLocationSetAdd' href='html/libxml-xpointer.html#xmlXPtrLocationSetAdd'/>
-    <reference name='xmlXPtrLocationSetCreate' href='html/libxml-xpointer.html#xmlXPtrLocationSetCreate'/>
-    <reference name='xmlXPtrLocationSetDel' href='html/libxml-xpointer.html#xmlXPtrLocationSetDel'/>
-    <reference name='xmlXPtrLocationSetMerge' href='html/libxml-xpointer.html#xmlXPtrLocationSetMerge'/>
-    <reference name='xmlXPtrLocationSetRemove' href='html/libxml-xpointer.html#xmlXPtrLocationSetRemove'/>
-    <reference name='xmlXPtrNewCollapsedRange' href='html/libxml-xpointer.html#xmlXPtrNewCollapsedRange'/>
-    <reference name='xmlXPtrNewContext' href='html/libxml-xpointer.html#xmlXPtrNewContext'/>
-    <reference name='xmlXPtrNewLocationSetNodeSet' href='html/libxml-xpointer.html#xmlXPtrNewLocationSetNodeSet'/>
-    <reference name='xmlXPtrNewLocationSetNodes' href='html/libxml-xpointer.html#xmlXPtrNewLocationSetNodes'/>
-    <reference name='xmlXPtrNewRange' href='html/libxml-xpointer.html#xmlXPtrNewRange'/>
-    <reference name='xmlXPtrNewRangeNodeObject' href='html/libxml-xpointer.html#xmlXPtrNewRangeNodeObject'/>
-    <reference name='xmlXPtrNewRangeNodePoint' href='html/libxml-xpointer.html#xmlXPtrNewRangeNodePoint'/>
-    <reference name='xmlXPtrNewRangeNodes' href='html/libxml-xpointer.html#xmlXPtrNewRangeNodes'/>
-    <reference name='xmlXPtrNewRangePointNode' href='html/libxml-xpointer.html#xmlXPtrNewRangePointNode'/>
-    <reference name='xmlXPtrNewRangePoints' href='html/libxml-xpointer.html#xmlXPtrNewRangePoints'/>
-    <reference name='xmlXPtrRangeToFunction' href='html/libxml-xpointer.html#xmlXPtrRangeToFunction'/>
-    <reference name='xmlXPtrWrapLocationSet' href='html/libxml-xpointer.html#xmlXPtrWrapLocationSet'/>
-  </references>
-  <alpha>
-    <letter name='A'>
-      <ref name='ATTRIBUTE_UNUSED'/>
-    </letter>
-    <letter name='B'>
-      <ref name='BAD_CAST'/>
-      <ref name='BASE_BUFFER_SIZE'/>
-    </letter>
-    <letter name='C'>
-      <ref name='CAST_TO_BOOLEAN'/>
-      <ref name='CAST_TO_NUMBER'/>
-      <ref name='CAST_TO_STRING'/>
-      <ref name='CHECK_ARITY'/>
-      <ref name='CHECK_ERROR'/>
-      <ref name='CHECK_ERROR0'/>
-      <ref name='CHECK_TYPE'/>
-      <ref name='CHECK_TYPE0'/>
-    </letter>
-    <letter name='D'>
-      <ref name='DEBUG_MEMORY'/>
-      <ref name='DEBUG_MEMORY_LOCATION'/>
-    </letter>
-    <letter name='H'>
-      <ref name='HTML_COMMENT_NODE'/>
-      <ref name='HTML_DEPRECATED'/>
-      <ref name='HTML_ENTITY_REF_NODE'/>
-      <ref name='HTML_INVALID'/>
-      <ref name='HTML_NA'/>
-      <ref name='HTML_PARSE_COMPACT'/>
-      <ref name='HTML_PARSE_IGNORE_ENC'/>
-      <ref name='HTML_PARSE_NOBLANKS'/>
-      <ref name='HTML_PARSE_NODEFDTD'/>
-      <ref name='HTML_PARSE_NOERROR'/>
-      <ref name='HTML_PARSE_NOIMPLIED'/>
-      <ref name='HTML_PARSE_NONET'/>
-      <ref name='HTML_PARSE_NOWARNING'/>
-      <ref name='HTML_PARSE_PEDANTIC'/>
-      <ref name='HTML_PARSE_RECOVER'/>
-      <ref name='HTML_PI_NODE'/>
-      <ref name='HTML_PRESERVE_NODE'/>
-      <ref name='HTML_REQUIRED'/>
-      <ref name='HTML_TEXT_NODE'/>
-      <ref name='HTML_VALID'/>
-    </letter>
-    <letter name='I'>
-      <ref name='ICU_PIVOT_BUF_SIZE'/>
-      <ref name='INPUT_CHUNK'/>
-      <ref name='INVALID_SOCKET'/>
-      <ref name='IS_ASCII_DIGIT'/>
-      <ref name='IS_ASCII_LETTER'/>
-      <ref name='IS_BASECHAR'/>
-      <ref name='IS_BLANK'/>
-      <ref name='IS_BLANK_CH'/>
-      <ref name='IS_BYTE_CHAR'/>
-      <ref name='IS_CHAR'/>
-      <ref name='IS_CHAR_CH'/>
-      <ref name='IS_COMBINING'/>
-      <ref name='IS_COMBINING_CH'/>
-      <ref name='IS_DIGIT'/>
-      <ref name='IS_DIGIT_CH'/>
-      <ref name='IS_EXTENDER'/>
-      <ref name='IS_EXTENDER_CH'/>
-      <ref name='IS_IDEOGRAPHIC'/>
-      <ref name='IS_LETTER'/>
-      <ref name='IS_LETTER_CH'/>
-      <ref name='IS_PUBIDCHAR'/>
-      <ref name='IS_PUBIDCHAR_CH'/>
-    </letter>
-    <letter name='L'>
-      <ref name='LIBXML2_NEW_BUFFER'/>
-      <ref name='LIBXML_ATTR_ALLOC_SIZE'/>
-      <ref name='LIBXML_ATTR_FORMAT'/>
-      <ref name='LIBXML_AUTOMATA_ENABLED'/>
-      <ref name='LIBXML_C14N_ENABLED'/>
-      <ref name='LIBXML_CATALOG_ENABLED'/>
-      <ref name='LIBXML_DEBUG_ENABLED'/>
-      <ref name='LIBXML_DEBUG_RUNTIME'/>
-      <ref name='LIBXML_DLL_IMPORT'/>
-      <ref name='LIBXML_DOCB_ENABLED'/>
-      <ref name='LIBXML_DOTTED_VERSION'/>
-      <ref name='LIBXML_EXPR_ENABLED'/>
-      <ref name='LIBXML_FTP_ENABLED'/>
-      <ref name='LIBXML_HTML_ENABLED'/>
-      <ref name='LIBXML_HTTP_ENABLED'/>
-      <ref name='LIBXML_ICONV_ENABLED'/>
-      <ref name='LIBXML_ICU_ENABLED'/>
-      <ref name='LIBXML_ISO8859X_ENABLED'/>
-      <ref name='LIBXML_LEGACY_ENABLED'/>
-      <ref name='LIBXML_LZMA_ENABLED'/>
-      <ref name='LIBXML_MODULES_ENABLED'/>
-      <ref name='LIBXML_MODULE_EXTENSION'/>
-      <ref name='LIBXML_OUTPUT_ENABLED'/>
-      <ref name='LIBXML_PATTERN_ENABLED'/>
-      <ref name='LIBXML_PUSH_ENABLED'/>
-      <ref name='LIBXML_READER_ENABLED'/>
-      <ref name='LIBXML_REGEXP_ENABLED'/>
-      <ref name='LIBXML_SAX1_ENABLED'/>
-      <ref name='LIBXML_SCHEMAS_ENABLED'/>
-      <ref name='LIBXML_SCHEMATRON_ENABLED'/>
-      <ref name='LIBXML_TEST_VERSION'/>
-      <ref name='LIBXML_THREAD_ALLOC_ENABLED'/>
-      <ref name='LIBXML_THREAD_ENABLED'/>
-      <ref name='LIBXML_TREE_ENABLED'/>
-      <ref name='LIBXML_UNICODE_ENABLED'/>
-      <ref name='LIBXML_VALID_ENABLED'/>
-      <ref name='LIBXML_VERSION'/>
-      <ref name='LIBXML_VERSION_EXTRA'/>
-      <ref name='LIBXML_VERSION_STRING'/>
-      <ref name='LIBXML_WRITER_ENABLED'/>
-      <ref name='LIBXML_XINCLUDE_ENABLED'/>
-      <ref name='LIBXML_XPATH_ENABLED'/>
-      <ref name='LIBXML_XPTR_ENABLED'/>
-      <ref name='LIBXML_ZLIB_ENABLED'/>
-    </letter>
-    <letter name='M'>
-      <ref name='MOVETO_ENDTAG'/>
-      <ref name='MOVETO_STARTTAG'/>
-    </letter>
-    <letter name='S'>
-      <ref name='SKIP_EOL'/>
-      <ref name='SOCKET'/>
-    </letter>
-    <letter name='U'>
-      <ref name='UTF8ToHtml'/>
-      <ref name='UTF8Toisolat1'/>
-    </letter>
-    <letter name='W'>
-      <ref name='WITHOUT_TRIO'/>
-      <ref name='WITH_TRIO'/>
-    </letter>
-    <letter name='X'>
-      <ref name='XINCLUDE_FALLBACK'/>
-      <ref name='XINCLUDE_HREF'/>
-      <ref name='XINCLUDE_NODE'/>
-      <ref name='XINCLUDE_NS'/>
-      <ref name='XINCLUDE_OLD_NS'/>
-      <ref name='XINCLUDE_PARSE'/>
-      <ref name='XINCLUDE_PARSE_ENCODING'/>
-      <ref name='XINCLUDE_PARSE_TEXT'/>
-      <ref name='XINCLUDE_PARSE_XML'/>
-      <ref name='XINCLUDE_PARSE_XPOINTER'/>
-      <ref name='XLINK_ACTUATE_AUTO'/>
-      <ref name='XLINK_ACTUATE_NONE'/>
-      <ref name='XLINK_ACTUATE_ONREQUEST'/>
-      <ref name='XLINK_SHOW_EMBED'/>
-      <ref name='XLINK_SHOW_NEW'/>
-      <ref name='XLINK_SHOW_NONE'/>
-      <ref name='XLINK_SHOW_REPLACE'/>
-      <ref name='XLINK_TYPE_EXTENDED'/>
-      <ref name='XLINK_TYPE_EXTENDED_SET'/>
-      <ref name='XLINK_TYPE_NONE'/>
-      <ref name='XLINK_TYPE_SIMPLE'/>
-      <ref name='XMLCALL'/>
-      <ref name='XMLCDECL'/>
-      <ref name='XMLPUBFUN'/>
-      <ref name='XMLPUBLIC'/>
-      <ref name='XMLPUBVAR'/>
-      <ref name='XML_ATTRIBUTE_CDATA'/>
-      <ref name='XML_ATTRIBUTE_DECL'/>
-      <ref name='XML_ATTRIBUTE_ENTITIES'/>
-      <ref name='XML_ATTRIBUTE_ENTITY'/>
-      <ref name='XML_ATTRIBUTE_ENUMERATION'/>
-      <ref name='XML_ATTRIBUTE_FIXED'/>
-      <ref name='XML_ATTRIBUTE_ID'/>
-      <ref name='XML_ATTRIBUTE_IDREF'/>
-      <ref name='XML_ATTRIBUTE_IDREFS'/>
-      <ref name='XML_ATTRIBUTE_IMPLIED'/>
-      <ref name='XML_ATTRIBUTE_NMTOKEN'/>
-      <ref name='XML_ATTRIBUTE_NMTOKENS'/>
-      <ref name='XML_ATTRIBUTE_NODE'/>
-      <ref name='XML_ATTRIBUTE_NONE'/>
-      <ref name='XML_ATTRIBUTE_NOTATION'/>
-      <ref name='XML_ATTRIBUTE_REQUIRED'/>
-      <ref name='XML_BUFFER_ALLOC_BOUNDED'/>
-      <ref name='XML_BUFFER_ALLOC_DOUBLEIT'/>
-      <ref name='XML_BUFFER_ALLOC_EXACT'/>
-      <ref name='XML_BUFFER_ALLOC_HYBRID'/>
-      <ref name='XML_BUFFER_ALLOC_IMMUTABLE'/>
-      <ref name='XML_BUFFER_ALLOC_IO'/>
-      <ref name='XML_BUF_OVERFLOW'/>
-      <ref name='XML_C14N_1_0'/>
-      <ref name='XML_C14N_1_1'/>
-      <ref name='XML_C14N_CREATE_CTXT'/>
-      <ref name='XML_C14N_CREATE_STACK'/>
-      <ref name='XML_C14N_EXCLUSIVE_1_0'/>
-      <ref name='XML_C14N_INVALID_NODE'/>
-      <ref name='XML_C14N_RELATIVE_NAMESPACE'/>
-      <ref name='XML_C14N_REQUIRES_UTF8'/>
-      <ref name='XML_C14N_UNKNOW_NODE'/>
-      <ref name='XML_CAST_FPTR'/>
-      <ref name='XML_CATALOGS_NAMESPACE'/>
-      <ref name='XML_CATALOG_ENTRY_BROKEN'/>
-      <ref name='XML_CATALOG_MISSING_ATTR'/>
-      <ref name='XML_CATALOG_NOT_CATALOG'/>
-      <ref name='XML_CATALOG_PI'/>
-      <ref name='XML_CATALOG_PREFER_VALUE'/>
-      <ref name='XML_CATALOG_RECURSION'/>
-      <ref name='XML_CATA_ALLOW_ALL'/>
-      <ref name='XML_CATA_ALLOW_DOCUMENT'/>
-      <ref name='XML_CATA_ALLOW_GLOBAL'/>
-      <ref name='XML_CATA_ALLOW_NONE'/>
-      <ref name='XML_CATA_PREFER_NONE'/>
-      <ref name='XML_CATA_PREFER_PUBLIC'/>
-      <ref name='XML_CATA_PREFER_SYSTEM'/>
-      <ref name='XML_CDATA_SECTION_NODE'/>
-      <ref name='XML_CHAR_ENCODING_2022_JP'/>
-      <ref name='XML_CHAR_ENCODING_8859_1'/>
-      <ref name='XML_CHAR_ENCODING_8859_2'/>
-      <ref name='XML_CHAR_ENCODING_8859_3'/>
-      <ref name='XML_CHAR_ENCODING_8859_4'/>
-      <ref name='XML_CHAR_ENCODING_8859_5'/>
-      <ref name='XML_CHAR_ENCODING_8859_6'/>
-      <ref name='XML_CHAR_ENCODING_8859_7'/>
-      <ref name='XML_CHAR_ENCODING_8859_8'/>
-      <ref name='XML_CHAR_ENCODING_8859_9'/>
-      <ref name='XML_CHAR_ENCODING_ASCII'/>
-      <ref name='XML_CHAR_ENCODING_EBCDIC'/>
-      <ref name='XML_CHAR_ENCODING_ERROR'/>
-      <ref name='XML_CHAR_ENCODING_EUC_JP'/>
-      <ref name='XML_CHAR_ENCODING_NONE'/>
-      <ref name='XML_CHAR_ENCODING_SHIFT_JIS'/>
-      <ref name='XML_CHAR_ENCODING_UCS2'/>
-      <ref name='XML_CHAR_ENCODING_UCS4BE'/>
-      <ref name='XML_CHAR_ENCODING_UCS4LE'/>
-      <ref name='XML_CHAR_ENCODING_UCS4_2143'/>
-      <ref name='XML_CHAR_ENCODING_UCS4_3412'/>
-      <ref name='XML_CHAR_ENCODING_UTF16BE'/>
-      <ref name='XML_CHAR_ENCODING_UTF16LE'/>
-      <ref name='XML_CHAR_ENCODING_UTF8'/>
-      <ref name='XML_CHECK_ENTITY_TYPE'/>
-      <ref name='XML_CHECK_FOUND_ATTRIBUTE'/>
-      <ref name='XML_CHECK_FOUND_CDATA'/>
-      <ref name='XML_CHECK_FOUND_COMMENT'/>
-      <ref name='XML_CHECK_FOUND_DOCTYPE'/>
-      <ref name='XML_CHECK_FOUND_ELEMENT'/>
-      <ref name='XML_CHECK_FOUND_ENTITY'/>
-      <ref name='XML_CHECK_FOUND_ENTITYREF'/>
-      <ref name='XML_CHECK_FOUND_FRAGMENT'/>
-      <ref name='XML_CHECK_FOUND_NOTATION'/>
-      <ref name='XML_CHECK_FOUND_PI'/>
-      <ref name='XML_CHECK_FOUND_TEXT'/>
-      <ref name='XML_CHECK_NAME_NOT_NULL'/>
-      <ref name='XML_CHECK_NOT_ATTR'/>
-      <ref name='XML_CHECK_NOT_ATTR_DECL'/>
-      <ref name='XML_CHECK_NOT_DTD'/>
-      <ref name='XML_CHECK_NOT_ELEM_DECL'/>
-      <ref name='XML_CHECK_NOT_ENTITY_DECL'/>
-      <ref name='XML_CHECK_NOT_NCNAME'/>
-      <ref name='XML_CHECK_NOT_NS_DECL'/>
-      <ref name='XML_CHECK_NOT_UTF8'/>
-      <ref name='XML_CHECK_NO_DICT'/>
-      <ref name='XML_CHECK_NO_DOC'/>
-      <ref name='XML_CHECK_NO_ELEM'/>
-      <ref name='XML_CHECK_NO_HREF'/>
-      <ref name='XML_CHECK_NO_NAME'/>
-      <ref name='XML_CHECK_NO_NEXT'/>
-      <ref name='XML_CHECK_NO_PARENT'/>
-      <ref name='XML_CHECK_NO_PREV'/>
-      <ref name='XML_CHECK_NS_ANCESTOR'/>
-      <ref name='XML_CHECK_NS_SCOPE'/>
-      <ref name='XML_CHECK_OUTSIDE_DICT'/>
-      <ref name='XML_CHECK_UNKNOWN_NODE'/>
-      <ref name='XML_CHECK_WRONG_DOC'/>
-      <ref name='XML_CHECK_WRONG_NAME'/>
-      <ref name='XML_CHECK_WRONG_NEXT'/>
-      <ref name='XML_CHECK_WRONG_PARENT'/>
-      <ref name='XML_CHECK_WRONG_PREV'/>
-      <ref name='XML_COMMENT_NODE'/>
-      <ref name='XML_COMPLETE_ATTRS'/>
-      <ref name='XML_CTXT_FINISH_DTD_0'/>
-      <ref name='XML_CTXT_FINISH_DTD_1'/>
-      <ref name='XML_DEFAULT_VERSION'/>
-      <ref name='XML_DETECT_IDS'/>
-      <ref name='XML_DOCB_DOCUMENT_NODE'/>
-      <ref name='XML_DOCUMENT_FRAG_NODE'/>
-      <ref name='XML_DOCUMENT_NODE'/>
-      <ref name='XML_DOCUMENT_TYPE_NODE'/>
-      <ref name='XML_DOC_DTDVALID'/>
-      <ref name='XML_DOC_HTML'/>
-      <ref name='XML_DOC_INTERNAL'/>
-      <ref name='XML_DOC_NSVALID'/>
-      <ref name='XML_DOC_OLD10'/>
-      <ref name='XML_DOC_USERBUILT'/>
-      <ref name='XML_DOC_WELLFORMED'/>
-      <ref name='XML_DOC_XINCLUDE'/>
-      <ref name='XML_DTD_ATTRIBUTE_DEFAULT'/>
-      <ref name='XML_DTD_ATTRIBUTE_REDEFINED'/>
-      <ref name='XML_DTD_ATTRIBUTE_VALUE'/>
-      <ref name='XML_DTD_CONTENT_ERROR'/>
-      <ref name='XML_DTD_CONTENT_MODEL'/>
-      <ref name='XML_DTD_CONTENT_NOT_DETERMINIST'/>
-      <ref name='XML_DTD_DIFFERENT_PREFIX'/>
-      <ref name='XML_DTD_DUP_TOKEN'/>
-      <ref name='XML_DTD_ELEM_DEFAULT_NAMESPACE'/>
-      <ref name='XML_DTD_ELEM_NAMESPACE'/>
-      <ref name='XML_DTD_ELEM_REDEFINED'/>
-      <ref name='XML_DTD_EMPTY_NOTATION'/>
-      <ref name='XML_DTD_ENTITY_TYPE'/>
-      <ref name='XML_DTD_ID_FIXED'/>
-      <ref name='XML_DTD_ID_REDEFINED'/>
-      <ref name='XML_DTD_ID_SUBSET'/>
-      <ref name='XML_DTD_INVALID_CHILD'/>
-      <ref name='XML_DTD_INVALID_DEFAULT'/>
-      <ref name='XML_DTD_LOAD_ERROR'/>
-      <ref name='XML_DTD_MISSING_ATTRIBUTE'/>
-      <ref name='XML_DTD_MIXED_CORRUPT'/>
-      <ref name='XML_DTD_MULTIPLE_ID'/>
-      <ref name='XML_DTD_NODE'/>
-      <ref name='XML_DTD_NOTATION_REDEFINED'/>
-      <ref name='XML_DTD_NOTATION_VALUE'/>
-      <ref name='XML_DTD_NOT_EMPTY'/>
-      <ref name='XML_DTD_NOT_PCDATA'/>
-      <ref name='XML_DTD_NOT_STANDALONE'/>
-      <ref name='XML_DTD_NO_DOC'/>
-      <ref name='XML_DTD_NO_DTD'/>
-      <ref name='XML_DTD_NO_ELEM_NAME'/>
-      <ref name='XML_DTD_NO_PREFIX'/>
-      <ref name='XML_DTD_NO_ROOT'/>
-      <ref name='XML_DTD_ROOT_NAME'/>
-      <ref name='XML_DTD_STANDALONE_DEFAULTED'/>
-      <ref name='XML_DTD_STANDALONE_WHITE_SPACE'/>
-      <ref name='XML_DTD_UNKNOWN_ATTRIBUTE'/>
-      <ref name='XML_DTD_UNKNOWN_ELEM'/>
-      <ref name='XML_DTD_UNKNOWN_ENTITY'/>
-      <ref name='XML_DTD_UNKNOWN_ID'/>
-      <ref name='XML_DTD_UNKNOWN_NOTATION'/>
-      <ref name='XML_DTD_XMLID_TYPE'/>
-      <ref name='XML_DTD_XMLID_VALUE'/>
-      <ref name='XML_ELEMENT_CONTENT_ELEMENT'/>
-      <ref name='XML_ELEMENT_CONTENT_MULT'/>
-      <ref name='XML_ELEMENT_CONTENT_ONCE'/>
-      <ref name='XML_ELEMENT_CONTENT_OPT'/>
-      <ref name='XML_ELEMENT_CONTENT_OR'/>
-      <ref name='XML_ELEMENT_CONTENT_PCDATA'/>
-      <ref name='XML_ELEMENT_CONTENT_PLUS'/>
-      <ref name='XML_ELEMENT_CONTENT_SEQ'/>
-      <ref name='XML_ELEMENT_DECL'/>
-      <ref name='XML_ELEMENT_NODE'/>
-      <ref name='XML_ELEMENT_TYPE_ANY'/>
-      <ref name='XML_ELEMENT_TYPE_ELEMENT'/>
-      <ref name='XML_ELEMENT_TYPE_EMPTY'/>
-      <ref name='XML_ELEMENT_TYPE_MIXED'/>
-      <ref name='XML_ELEMENT_TYPE_UNDEFINED'/>
-      <ref name='XML_ENTITY_DECL'/>
-      <ref name='XML_ENTITY_NODE'/>
-      <ref name='XML_ENTITY_REF_NODE'/>
-      <ref name='XML_ERR_ATTLIST_NOT_FINISHED'/>
-      <ref name='XML_ERR_ATTLIST_NOT_STARTED'/>
-      <ref name='XML_ERR_ATTRIBUTE_NOT_FINISHED'/>
-      <ref name='XML_ERR_ATTRIBUTE_NOT_STARTED'/>
-      <ref name='XML_ERR_ATTRIBUTE_REDEFINED'/>
-      <ref name='XML_ERR_ATTRIBUTE_WITHOUT_VALUE'/>
-      <ref name='XML_ERR_CDATA_NOT_FINISHED'/>
-      <ref name='XML_ERR_CHARREF_AT_EOF'/>
-      <ref name='XML_ERR_CHARREF_IN_DTD'/>
-      <ref name='XML_ERR_CHARREF_IN_EPILOG'/>
-      <ref name='XML_ERR_CHARREF_IN_PROLOG'/>
-      <ref name='XML_ERR_COMMENT_NOT_FINISHED'/>
-      <ref name='XML_ERR_CONDSEC_INVALID'/>
-      <ref name='XML_ERR_CONDSEC_INVALID_KEYWORD'/>
-      <ref name='XML_ERR_CONDSEC_NOT_FINISHED'/>
-      <ref name='XML_ERR_CONDSEC_NOT_STARTED'/>
-      <ref name='XML_ERR_DOCTYPE_NOT_FINISHED'/>
-      <ref name='XML_ERR_DOCUMENT_EMPTY'/>
-      <ref name='XML_ERR_DOCUMENT_END'/>
-      <ref name='XML_ERR_DOCUMENT_START'/>
-      <ref name='XML_ERR_ELEMCONTENT_NOT_FINISHED'/>
-      <ref name='XML_ERR_ELEMCONTENT_NOT_STARTED'/>
-      <ref name='XML_ERR_ENCODING_NAME'/>
-      <ref name='XML_ERR_ENTITYREF_AT_EOF'/>
-      <ref name='XML_ERR_ENTITYREF_IN_DTD'/>
-      <ref name='XML_ERR_ENTITYREF_IN_EPILOG'/>
-      <ref name='XML_ERR_ENTITYREF_IN_PROLOG'/>
-      <ref name='XML_ERR_ENTITYREF_NO_NAME'/>
-      <ref name='XML_ERR_ENTITYREF_SEMICOL_MISSING'/>
-      <ref name='XML_ERR_ENTITY_BOUNDARY'/>
-      <ref name='XML_ERR_ENTITY_CHAR_ERROR'/>
-      <ref name='XML_ERR_ENTITY_IS_EXTERNAL'/>
-      <ref name='XML_ERR_ENTITY_IS_PARAMETER'/>
-      <ref name='XML_ERR_ENTITY_LOOP'/>
-      <ref name='XML_ERR_ENTITY_NOT_FINISHED'/>
-      <ref name='XML_ERR_ENTITY_NOT_STARTED'/>
-      <ref name='XML_ERR_ENTITY_PE_INTERNAL'/>
-      <ref name='XML_ERR_ENTITY_PROCESSING'/>
-      <ref name='XML_ERR_EQUAL_REQUIRED'/>
-      <ref name='XML_ERR_ERROR'/>
-      <ref name='XML_ERR_EXTRA_CONTENT'/>
-      <ref name='XML_ERR_EXT_ENTITY_STANDALONE'/>
-      <ref name='XML_ERR_EXT_SUBSET_NOT_FINISHED'/>
-      <ref name='XML_ERR_FATAL'/>
-      <ref name='XML_ERR_GT_REQUIRED'/>
-      <ref name='XML_ERR_HYPHEN_IN_COMMENT'/>
-      <ref name='XML_ERR_INTERNAL_ERROR'/>
-      <ref name='XML_ERR_INVALID_CHAR'/>
-      <ref name='XML_ERR_INVALID_CHARREF'/>
-      <ref name='XML_ERR_INVALID_DEC_CHARREF'/>
-      <ref name='XML_ERR_INVALID_ENCODING'/>
-      <ref name='XML_ERR_INVALID_HEX_CHARREF'/>
-      <ref name='XML_ERR_INVALID_URI'/>
-      <ref name='XML_ERR_LITERAL_NOT_FINISHED'/>
-      <ref name='XML_ERR_LITERAL_NOT_STARTED'/>
-      <ref name='XML_ERR_LTSLASH_REQUIRED'/>
-      <ref name='XML_ERR_LT_IN_ATTRIBUTE'/>
-      <ref name='XML_ERR_LT_REQUIRED'/>
-      <ref name='XML_ERR_MISPLACED_CDATA_END'/>
-      <ref name='XML_ERR_MISSING_ENCODING'/>
-      <ref name='XML_ERR_MIXED_NOT_FINISHED'/>
-      <ref name='XML_ERR_MIXED_NOT_STARTED'/>
-      <ref name='XML_ERR_NAME_REQUIRED'/>
-      <ref name='XML_ERR_NAME_TOO_LONG'/>
-      <ref name='XML_ERR_NMTOKEN_REQUIRED'/>
-      <ref name='XML_ERR_NONE'/>
-      <ref name='XML_ERR_NOTATION_NOT_FINISHED'/>
-      <ref name='XML_ERR_NOTATION_NOT_STARTED'/>
-      <ref name='XML_ERR_NOTATION_PROCESSING'/>
-      <ref name='XML_ERR_NOT_STANDALONE'/>
-      <ref name='XML_ERR_NOT_WELL_BALANCED'/>
-      <ref name='XML_ERR_NO_DTD'/>
-      <ref name='XML_ERR_NO_MEMORY'/>
-      <ref name='XML_ERR_NS_DECL_ERROR'/>
-      <ref name='XML_ERR_OK'/>
-      <ref name='XML_ERR_PCDATA_REQUIRED'/>
-      <ref name='XML_ERR_PEREF_AT_EOF'/>
-      <ref name='XML_ERR_PEREF_IN_EPILOG'/>
-      <ref name='XML_ERR_PEREF_IN_INT_SUBSET'/>
-      <ref name='XML_ERR_PEREF_IN_PROLOG'/>
-      <ref name='XML_ERR_PEREF_NO_NAME'/>
-      <ref name='XML_ERR_PEREF_SEMICOL_MISSING'/>
-      <ref name='XML_ERR_PI_NOT_FINISHED'/>
-      <ref name='XML_ERR_PI_NOT_STARTED'/>
-      <ref name='XML_ERR_PUBID_REQUIRED'/>
-      <ref name='XML_ERR_RESERVED_XML_NAME'/>
-      <ref name='XML_ERR_SEPARATOR_REQUIRED'/>
-      <ref name='XML_ERR_SPACE_REQUIRED'/>
-      <ref name='XML_ERR_STANDALONE_VALUE'/>
-      <ref name='XML_ERR_STRING_NOT_CLOSED'/>
-      <ref name='XML_ERR_STRING_NOT_STARTED'/>
-      <ref name='XML_ERR_TAG_NAME_MISMATCH'/>
-      <ref name='XML_ERR_TAG_NOT_FINISHED'/>
-      <ref name='XML_ERR_UNDECLARED_ENTITY'/>
-      <ref name='XML_ERR_UNKNOWN_ENCODING'/>
-      <ref name='XML_ERR_UNKNOWN_VERSION'/>
-      <ref name='XML_ERR_UNPARSED_ENTITY'/>
-      <ref name='XML_ERR_UNSUPPORTED_ENCODING'/>
-      <ref name='XML_ERR_URI_FRAGMENT'/>
-      <ref name='XML_ERR_URI_REQUIRED'/>
-      <ref name='XML_ERR_USER_STOP'/>
-      <ref name='XML_ERR_VALUE_REQUIRED'/>
-      <ref name='XML_ERR_VERSION_MISMATCH'/>
-      <ref name='XML_ERR_VERSION_MISSING'/>
-      <ref name='XML_ERR_WARNING'/>
-      <ref name='XML_ERR_XMLDECL_NOT_FINISHED'/>
-      <ref name='XML_ERR_XMLDECL_NOT_STARTED'/>
-      <ref name='XML_EXP_ATOM'/>
-      <ref name='XML_EXP_COUNT'/>
-      <ref name='XML_EXP_EMPTY'/>
-      <ref name='XML_EXP_FORBID'/>
-      <ref name='XML_EXP_OR'/>
-      <ref name='XML_EXP_SEQ'/>
-      <ref name='XML_EXTERNAL_GENERAL_PARSED_ENTITY'/>
-      <ref name='XML_EXTERNAL_GENERAL_UNPARSED_ENTITY'/>
-      <ref name='XML_EXTERNAL_PARAMETER_ENTITY'/>
-      <ref name='XML_FROM_BUFFER'/>
-      <ref name='XML_FROM_C14N'/>
-      <ref name='XML_FROM_CATALOG'/>
-      <ref name='XML_FROM_CHECK'/>
-      <ref name='XML_FROM_DATATYPE'/>
-      <ref name='XML_FROM_DTD'/>
-      <ref name='XML_FROM_FTP'/>
-      <ref name='XML_FROM_HTML'/>
-      <ref name='XML_FROM_HTTP'/>
-      <ref name='XML_FROM_I18N'/>
-      <ref name='XML_FROM_IO'/>
-      <ref name='XML_FROM_MEMORY'/>
-      <ref name='XML_FROM_MODULE'/>
-      <ref name='XML_FROM_NAMESPACE'/>
-      <ref name='XML_FROM_NONE'/>
-      <ref name='XML_FROM_OUTPUT'/>
-      <ref name='XML_FROM_PARSER'/>
-      <ref name='XML_FROM_REGEXP'/>
-      <ref name='XML_FROM_RELAXNGP'/>
-      <ref name='XML_FROM_RELAXNGV'/>
-      <ref name='XML_FROM_SCHEMASP'/>
-      <ref name='XML_FROM_SCHEMASV'/>
-      <ref name='XML_FROM_SCHEMATRONV'/>
-      <ref name='XML_FROM_TREE'/>
-      <ref name='XML_FROM_URI'/>
-      <ref name='XML_FROM_VALID'/>
-      <ref name='XML_FROM_WRITER'/>
-      <ref name='XML_FROM_XINCLUDE'/>
-      <ref name='XML_FROM_XPATH'/>
-      <ref name='XML_FROM_XPOINTER'/>
-      <ref name='XML_FROM_XSLT'/>
-      <ref name='XML_FTP_ACCNT'/>
-      <ref name='XML_FTP_EPSV_ANSWER'/>
-      <ref name='XML_FTP_PASV_ANSWER'/>
-      <ref name='XML_FTP_URL_SYNTAX'/>
-      <ref name='XML_GET_CONTENT'/>
-      <ref name='XML_GET_LINE'/>
-      <ref name='XML_HTML_DOCUMENT_NODE'/>
-      <ref name='XML_HTML_STRUCURE_ERROR'/>
-      <ref name='XML_HTML_UNKNOWN_TAG'/>
-      <ref name='XML_HTTP_UNKNOWN_HOST'/>
-      <ref name='XML_HTTP_URL_SYNTAX'/>
-      <ref name='XML_HTTP_USE_IP'/>
-      <ref name='XML_I18N_CONV_FAILED'/>
-      <ref name='XML_I18N_EXCESS_HANDLER'/>
-      <ref name='XML_I18N_NO_HANDLER'/>
-      <ref name='XML_I18N_NO_NAME'/>
-      <ref name='XML_I18N_NO_OUTPUT'/>
-      <ref name='XML_INTERNAL_GENERAL_ENTITY'/>
-      <ref name='XML_INTERNAL_PARAMETER_ENTITY'/>
-      <ref name='XML_INTERNAL_PREDEFINED_ENTITY'/>
-      <ref name='XML_IO_BUFFER_FULL'/>
-      <ref name='XML_IO_EACCES'/>
-      <ref name='XML_IO_EADDRINUSE'/>
-      <ref name='XML_IO_EAFNOSUPPORT'/>
-      <ref name='XML_IO_EAGAIN'/>
-      <ref name='XML_IO_EALREADY'/>
-      <ref name='XML_IO_EBADF'/>
-      <ref name='XML_IO_EBADMSG'/>
-      <ref name='XML_IO_EBUSY'/>
-      <ref name='XML_IO_ECANCELED'/>
-      <ref name='XML_IO_ECHILD'/>
-      <ref name='XML_IO_ECONNREFUSED'/>
-      <ref name='XML_IO_EDEADLK'/>
-      <ref name='XML_IO_EDOM'/>
-      <ref name='XML_IO_EEXIST'/>
-      <ref name='XML_IO_EFAULT'/>
-      <ref name='XML_IO_EFBIG'/>
-      <ref name='XML_IO_EINPROGRESS'/>
-      <ref name='XML_IO_EINTR'/>
-      <ref name='XML_IO_EINVAL'/>
-      <ref name='XML_IO_EIO'/>
-      <ref name='XML_IO_EISCONN'/>
-      <ref name='XML_IO_EISDIR'/>
-      <ref name='XML_IO_EMFILE'/>
-      <ref name='XML_IO_EMLINK'/>
-      <ref name='XML_IO_EMSGSIZE'/>
-      <ref name='XML_IO_ENAMETOOLONG'/>
-      <ref name='XML_IO_ENCODER'/>
-      <ref name='XML_IO_ENETUNREACH'/>
-      <ref name='XML_IO_ENFILE'/>
-      <ref name='XML_IO_ENODEV'/>
-      <ref name='XML_IO_ENOENT'/>
-      <ref name='XML_IO_ENOEXEC'/>
-      <ref name='XML_IO_ENOLCK'/>
-      <ref name='XML_IO_ENOMEM'/>
-      <ref name='XML_IO_ENOSPC'/>
-      <ref name='XML_IO_ENOSYS'/>
-      <ref name='XML_IO_ENOTDIR'/>
-      <ref name='XML_IO_ENOTEMPTY'/>
-      <ref name='XML_IO_ENOTSOCK'/>
-      <ref name='XML_IO_ENOTSUP'/>
-      <ref name='XML_IO_ENOTTY'/>
-      <ref name='XML_IO_ENXIO'/>
-      <ref name='XML_IO_EPERM'/>
-      <ref name='XML_IO_EPIPE'/>
-      <ref name='XML_IO_ERANGE'/>
-      <ref name='XML_IO_EROFS'/>
-      <ref name='XML_IO_ESPIPE'/>
-      <ref name='XML_IO_ESRCH'/>
-      <ref name='XML_IO_ETIMEDOUT'/>
-      <ref name='XML_IO_EXDEV'/>
-      <ref name='XML_IO_FLUSH'/>
-      <ref name='XML_IO_LOAD_ERROR'/>
-      <ref name='XML_IO_NETWORK_ATTEMPT'/>
-      <ref name='XML_IO_NO_INPUT'/>
-      <ref name='XML_IO_UNKNOWN'/>
-      <ref name='XML_IO_WRITE'/>
-      <ref name='XML_LOCAL_NAMESPACE'/>
-      <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-      <ref name='XML_MAX_LOOKUP_LIMIT'/>
-      <ref name='XML_MAX_NAMELEN'/>
-      <ref name='XML_MAX_NAME_LENGTH'/>
-      <ref name='XML_MAX_TEXT_LENGTH'/>
-      <ref name='XML_MODULE_CLOSE'/>
-      <ref name='XML_MODULE_LAZY'/>
-      <ref name='XML_MODULE_LOCAL'/>
-      <ref name='XML_MODULE_OPEN'/>
-      <ref name='XML_NAMESPACE_DECL'/>
-      <ref name='XML_NOTATION_NODE'/>
-      <ref name='XML_NS_ERR_ATTRIBUTE_REDEFINED'/>
-      <ref name='XML_NS_ERR_COLON'/>
-      <ref name='XML_NS_ERR_EMPTY'/>
-      <ref name='XML_NS_ERR_QNAME'/>
-      <ref name='XML_NS_ERR_UNDEFINED_NAMESPACE'/>
-      <ref name='XML_NS_ERR_XML_NAMESPACE'/>
-      <ref name='XML_PARSER_ATTRIBUTE_VALUE'/>
-      <ref name='XML_PARSER_CDATA_SECTION'/>
-      <ref name='XML_PARSER_COMMENT'/>
-      <ref name='XML_PARSER_CONTENT'/>
-      <ref name='XML_PARSER_DEFAULTATTRS'/>
-      <ref name='XML_PARSER_DTD'/>
-      <ref name='XML_PARSER_END_TAG'/>
-      <ref name='XML_PARSER_ENTITY_DECL'/>
-      <ref name='XML_PARSER_ENTITY_VALUE'/>
-      <ref name='XML_PARSER_EOF'/>
-      <ref name='XML_PARSER_EPILOG'/>
-      <ref name='XML_PARSER_IGNORE'/>
-      <ref name='XML_PARSER_LOADDTD'/>
-      <ref name='XML_PARSER_MISC'/>
-      <ref name='XML_PARSER_PI'/>
-      <ref name='XML_PARSER_PROLOG'/>
-      <ref name='XML_PARSER_PUBLIC_LITERAL'/>
-      <ref name='XML_PARSER_SEVERITY_ERROR'/>
-      <ref name='XML_PARSER_SEVERITY_VALIDITY_ERROR'/>
-      <ref name='XML_PARSER_SEVERITY_VALIDITY_WARNING'/>
-      <ref name='XML_PARSER_SEVERITY_WARNING'/>
-      <ref name='XML_PARSER_START'/>
-      <ref name='XML_PARSER_START_TAG'/>
-      <ref name='XML_PARSER_SUBST_ENTITIES'/>
-      <ref name='XML_PARSER_SYSTEM_LITERAL'/>
-      <ref name='XML_PARSER_VALIDATE'/>
-      <ref name='XML_PARSE_BIG_LINES'/>
-      <ref name='XML_PARSE_COMPACT'/>
-      <ref name='XML_PARSE_DOM'/>
-      <ref name='XML_PARSE_DTDATTR'/>
-      <ref name='XML_PARSE_DTDLOAD'/>
-      <ref name='XML_PARSE_DTDVALID'/>
-      <ref name='XML_PARSE_HUGE'/>
-      <ref name='XML_PARSE_IGNORE_ENC'/>
-      <ref name='XML_PARSE_NOBASEFIX'/>
-      <ref name='XML_PARSE_NOBLANKS'/>
-      <ref name='XML_PARSE_NOCDATA'/>
-      <ref name='XML_PARSE_NODICT'/>
-      <ref name='XML_PARSE_NOENT'/>
-      <ref name='XML_PARSE_NOERROR'/>
-      <ref name='XML_PARSE_NONET'/>
-      <ref name='XML_PARSE_NOWARNING'/>
-      <ref name='XML_PARSE_NOXINCNODE'/>
-      <ref name='XML_PARSE_NSCLEAN'/>
-      <ref name='XML_PARSE_OLD10'/>
-      <ref name='XML_PARSE_OLDSAX'/>
-      <ref name='XML_PARSE_PEDANTIC'/>
-      <ref name='XML_PARSE_PUSH_DOM'/>
-      <ref name='XML_PARSE_PUSH_SAX'/>
-      <ref name='XML_PARSE_READER'/>
-      <ref name='XML_PARSE_RECOVER'/>
-      <ref name='XML_PARSE_SAX'/>
-      <ref name='XML_PARSE_SAX1'/>
-      <ref name='XML_PARSE_UNKNOWN'/>
-      <ref name='XML_PARSE_XINCLUDE'/>
-      <ref name='XML_PATTERN_DEFAULT'/>
-      <ref name='XML_PATTERN_XPATH'/>
-      <ref name='XML_PATTERN_XSFIELD'/>
-      <ref name='XML_PATTERN_XSSEL'/>
-      <ref name='XML_PI_NODE'/>
-      <ref name='XML_READER_TYPE_ATTRIBUTE'/>
-      <ref name='XML_READER_TYPE_CDATA'/>
-      <ref name='XML_READER_TYPE_COMMENT'/>
-      <ref name='XML_READER_TYPE_DOCUMENT'/>
-      <ref name='XML_READER_TYPE_DOCUMENT_FRAGMENT'/>
-      <ref name='XML_READER_TYPE_DOCUMENT_TYPE'/>
-      <ref name='XML_READER_TYPE_ELEMENT'/>
-      <ref name='XML_READER_TYPE_END_ELEMENT'/>
-      <ref name='XML_READER_TYPE_END_ENTITY'/>
-      <ref name='XML_READER_TYPE_ENTITY'/>
-      <ref name='XML_READER_TYPE_ENTITY_REFERENCE'/>
-      <ref name='XML_READER_TYPE_NONE'/>
-      <ref name='XML_READER_TYPE_NOTATION'/>
-      <ref name='XML_READER_TYPE_PROCESSING_INSTRUCTION'/>
-      <ref name='XML_READER_TYPE_SIGNIFICANT_WHITESPACE'/>
-      <ref name='XML_READER_TYPE_TEXT'/>
-      <ref name='XML_READER_TYPE_WHITESPACE'/>
-      <ref name='XML_READER_TYPE_XML_DECLARATION'/>
-      <ref name='XML_REGEXP_COMPILE_ERROR'/>
-      <ref name='XML_RELAXNGP_CRNG'/>
-      <ref name='XML_RELAXNGP_FREE_DOC'/>
-      <ref name='XML_RELAXNGP_NONE'/>
-      <ref name='XML_RELAXNG_ERR_ATTREXTRANS'/>
-      <ref name='XML_RELAXNG_ERR_ATTRNAME'/>
-      <ref name='XML_RELAXNG_ERR_ATTRNONS'/>
-      <ref name='XML_RELAXNG_ERR_ATTRVALID'/>
-      <ref name='XML_RELAXNG_ERR_ATTRWRONGNS'/>
-      <ref name='XML_RELAXNG_ERR_CONTENTVALID'/>
-      <ref name='XML_RELAXNG_ERR_DATAELEM'/>
-      <ref name='XML_RELAXNG_ERR_DATATYPE'/>
-      <ref name='XML_RELAXNG_ERR_DUPID'/>
-      <ref name='XML_RELAXNG_ERR_ELEMEXTRANS'/>
-      <ref name='XML_RELAXNG_ERR_ELEMNAME'/>
-      <ref name='XML_RELAXNG_ERR_ELEMNONS'/>
-      <ref name='XML_RELAXNG_ERR_ELEMNOTEMPTY'/>
-      <ref name='XML_RELAXNG_ERR_ELEMWRONG'/>
-      <ref name='XML_RELAXNG_ERR_ELEMWRONGNS'/>
-      <ref name='XML_RELAXNG_ERR_EXTRACONTENT'/>
-      <ref name='XML_RELAXNG_ERR_EXTRADATA'/>
-      <ref name='XML_RELAXNG_ERR_INTEREXTRA'/>
-      <ref name='XML_RELAXNG_ERR_INTERNAL'/>
-      <ref name='XML_RELAXNG_ERR_INTERNODATA'/>
-      <ref name='XML_RELAXNG_ERR_INTERSEQ'/>
-      <ref name='XML_RELAXNG_ERR_INVALIDATTR'/>
-      <ref name='XML_RELAXNG_ERR_LACKDATA'/>
-      <ref name='XML_RELAXNG_ERR_LIST'/>
-      <ref name='XML_RELAXNG_ERR_LISTELEM'/>
-      <ref name='XML_RELAXNG_ERR_LISTEMPTY'/>
-      <ref name='XML_RELAXNG_ERR_LISTEXTRA'/>
-      <ref name='XML_RELAXNG_ERR_MEMORY'/>
-      <ref name='XML_RELAXNG_ERR_NODEFINE'/>
-      <ref name='XML_RELAXNG_ERR_NOELEM'/>
-      <ref name='XML_RELAXNG_ERR_NOGRAMMAR'/>
-      <ref name='XML_RELAXNG_ERR_NOSTATE'/>
-      <ref name='XML_RELAXNG_ERR_NOTELEM'/>
-      <ref name='XML_RELAXNG_ERR_TEXTWRONG'/>
-      <ref name='XML_RELAXNG_ERR_TYPE'/>
-      <ref name='XML_RELAXNG_ERR_TYPECMP'/>
-      <ref name='XML_RELAXNG_ERR_TYPEVAL'/>
-      <ref name='XML_RELAXNG_ERR_VALELEM'/>
-      <ref name='XML_RELAXNG_ERR_VALUE'/>
-      <ref name='XML_RELAXNG_OK'/>
-      <ref name='XML_RNGP_ANYNAME_ATTR_ANCESTOR'/>
-      <ref name='XML_RNGP_ATTRIBUTE_CHILDREN'/>
-      <ref name='XML_RNGP_ATTRIBUTE_CONTENT'/>
-      <ref name='XML_RNGP_ATTRIBUTE_EMPTY'/>
-      <ref name='XML_RNGP_ATTRIBUTE_NOOP'/>
-      <ref name='XML_RNGP_ATTR_CONFLICT'/>
-      <ref name='XML_RNGP_CHOICE_CONTENT'/>
-      <ref name='XML_RNGP_CHOICE_EMPTY'/>
-      <ref name='XML_RNGP_CREATE_FAILURE'/>
-      <ref name='XML_RNGP_DATA_CONTENT'/>
-      <ref name='XML_RNGP_DEFINE_CREATE_FAILED'/>
-      <ref name='XML_RNGP_DEFINE_EMPTY'/>
-      <ref name='XML_RNGP_DEFINE_MISSING'/>
-      <ref name='XML_RNGP_DEFINE_NAME_MISSING'/>
-      <ref name='XML_RNGP_DEF_CHOICE_AND_INTERLEAVE'/>
-      <ref name='XML_RNGP_ELEMENT_CONTENT'/>
-      <ref name='XML_RNGP_ELEMENT_EMPTY'/>
-      <ref name='XML_RNGP_ELEMENT_NAME'/>
-      <ref name='XML_RNGP_ELEMENT_NO_CONTENT'/>
-      <ref name='XML_RNGP_ELEM_CONTENT_EMPTY'/>
-      <ref name='XML_RNGP_ELEM_CONTENT_ERROR'/>
-      <ref name='XML_RNGP_ELEM_TEXT_CONFLICT'/>
-      <ref name='XML_RNGP_EMPTY'/>
-      <ref name='XML_RNGP_EMPTY_CONSTRUCT'/>
-      <ref name='XML_RNGP_EMPTY_CONTENT'/>
-      <ref name='XML_RNGP_EMPTY_NOT_EMPTY'/>
-      <ref name='XML_RNGP_ERROR_TYPE_LIB'/>
-      <ref name='XML_RNGP_EXCEPT_EMPTY'/>
-      <ref name='XML_RNGP_EXCEPT_MISSING'/>
-      <ref name='XML_RNGP_EXCEPT_MULTIPLE'/>
-      <ref name='XML_RNGP_EXCEPT_NO_CONTENT'/>
-      <ref name='XML_RNGP_EXTERNALREF_EMTPY'/>
-      <ref name='XML_RNGP_EXTERNALREF_RECURSE'/>
-      <ref name='XML_RNGP_EXTERNAL_REF_FAILURE'/>
-      <ref name='XML_RNGP_FORBIDDEN_ATTRIBUTE'/>
-      <ref name='XML_RNGP_FOREIGN_ELEMENT'/>
-      <ref name='XML_RNGP_GRAMMAR_CONTENT'/>
-      <ref name='XML_RNGP_GRAMMAR_EMPTY'/>
-      <ref name='XML_RNGP_GRAMMAR_MISSING'/>
-      <ref name='XML_RNGP_GRAMMAR_NO_START'/>
-      <ref name='XML_RNGP_GROUP_ATTR_CONFLICT'/>
-      <ref name='XML_RNGP_HREF_ERROR'/>
-      <ref name='XML_RNGP_INCLUDE_EMPTY'/>
-      <ref name='XML_RNGP_INCLUDE_FAILURE'/>
-      <ref name='XML_RNGP_INCLUDE_RECURSE'/>
-      <ref name='XML_RNGP_INTERLEAVE_ADD'/>
-      <ref name='XML_RNGP_INTERLEAVE_CREATE_FAILED'/>
-      <ref name='XML_RNGP_INTERLEAVE_EMPTY'/>
-      <ref name='XML_RNGP_INTERLEAVE_NO_CONTENT'/>
-      <ref name='XML_RNGP_INVALID_DEFINE_NAME'/>
-      <ref name='XML_RNGP_INVALID_URI'/>
-      <ref name='XML_RNGP_INVALID_VALUE'/>
-      <ref name='XML_RNGP_MISSING_HREF'/>
-      <ref name='XML_RNGP_NAME_MISSING'/>
-      <ref name='XML_RNGP_NEED_COMBINE'/>
-      <ref name='XML_RNGP_NOTALLOWED_NOT_EMPTY'/>
-      <ref name='XML_RNGP_NSNAME_ATTR_ANCESTOR'/>
-      <ref name='XML_RNGP_NSNAME_NO_NS'/>
-      <ref name='XML_RNGP_PARAM_FORBIDDEN'/>
-      <ref name='XML_RNGP_PARAM_NAME_MISSING'/>
-      <ref name='XML_RNGP_PARENTREF_CREATE_FAILED'/>
-      <ref name='XML_RNGP_PARENTREF_NAME_INVALID'/>
-      <ref name='XML_RNGP_PARENTREF_NOT_EMPTY'/>
-      <ref name='XML_RNGP_PARENTREF_NO_NAME'/>
-      <ref name='XML_RNGP_PARENTREF_NO_PARENT'/>
-      <ref name='XML_RNGP_PARSE_ERROR'/>
-      <ref name='XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME'/>
-      <ref name='XML_RNGP_PAT_ATTR_ATTR'/>
-      <ref name='XML_RNGP_PAT_ATTR_ELEM'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_ATTR'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_ELEM'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_EMPTY'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_GROUP'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_LIST'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_ONEMORE'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_REF'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_TEXT'/>
-      <ref name='XML_RNGP_PAT_LIST_ATTR'/>
-      <ref name='XML_RNGP_PAT_LIST_ELEM'/>
-      <ref name='XML_RNGP_PAT_LIST_INTERLEAVE'/>
-      <ref name='XML_RNGP_PAT_LIST_LIST'/>
-      <ref name='XML_RNGP_PAT_LIST_REF'/>
-      <ref name='XML_RNGP_PAT_LIST_TEXT'/>
-      <ref name='XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME'/>
-      <ref name='XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME'/>
-      <ref name='XML_RNGP_PAT_ONEMORE_GROUP_ATTR'/>
-      <ref name='XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR'/>
-      <ref name='XML_RNGP_PAT_START_ATTR'/>
-      <ref name='XML_RNGP_PAT_START_DATA'/>
-      <ref name='XML_RNGP_PAT_START_EMPTY'/>
-      <ref name='XML_RNGP_PAT_START_GROUP'/>
-      <ref name='XML_RNGP_PAT_START_INTERLEAVE'/>
-      <ref name='XML_RNGP_PAT_START_LIST'/>
-      <ref name='XML_RNGP_PAT_START_ONEMORE'/>
-      <ref name='XML_RNGP_PAT_START_TEXT'/>
-      <ref name='XML_RNGP_PAT_START_VALUE'/>
-      <ref name='XML_RNGP_PREFIX_UNDEFINED'/>
-      <ref name='XML_RNGP_REF_CREATE_FAILED'/>
-      <ref name='XML_RNGP_REF_CYCLE'/>
-      <ref name='XML_RNGP_REF_NAME_INVALID'/>
-      <ref name='XML_RNGP_REF_NOT_EMPTY'/>
-      <ref name='XML_RNGP_REF_NO_DEF'/>
-      <ref name='XML_RNGP_REF_NO_NAME'/>
-      <ref name='XML_RNGP_START_CHOICE_AND_INTERLEAVE'/>
-      <ref name='XML_RNGP_START_CONTENT'/>
-      <ref name='XML_RNGP_START_EMPTY'/>
-      <ref name='XML_RNGP_START_MISSING'/>
-      <ref name='XML_RNGP_TEXT_EXPECTED'/>
-      <ref name='XML_RNGP_TEXT_HAS_CHILD'/>
-      <ref name='XML_RNGP_TYPE_MISSING'/>
-      <ref name='XML_RNGP_TYPE_NOT_FOUND'/>
-      <ref name='XML_RNGP_TYPE_VALUE'/>
-      <ref name='XML_RNGP_UNKNOWN_ATTRIBUTE'/>
-      <ref name='XML_RNGP_UNKNOWN_COMBINE'/>
-      <ref name='XML_RNGP_UNKNOWN_CONSTRUCT'/>
-      <ref name='XML_RNGP_UNKNOWN_TYPE_LIB'/>
-      <ref name='XML_RNGP_URI_FRAGMENT'/>
-      <ref name='XML_RNGP_URI_NOT_ABSOLUTE'/>
-      <ref name='XML_RNGP_VALUE_EMPTY'/>
-      <ref name='XML_RNGP_VALUE_NO_CONTENT'/>
-      <ref name='XML_RNGP_XMLNS_NAME'/>
-      <ref name='XML_RNGP_XML_NS'/>
-      <ref name='XML_SAVE_AS_HTML'/>
-      <ref name='XML_SAVE_AS_XML'/>
-      <ref name='XML_SAVE_CHAR_INVALID'/>
-      <ref name='XML_SAVE_FORMAT'/>
-      <ref name='XML_SAVE_NOT_UTF8'/>
-      <ref name='XML_SAVE_NO_DECL'/>
-      <ref name='XML_SAVE_NO_DOCTYPE'/>
-      <ref name='XML_SAVE_NO_EMPTY'/>
-      <ref name='XML_SAVE_NO_XHTML'/>
-      <ref name='XML_SAVE_UNKNOWN_ENCODING'/>
-      <ref name='XML_SAVE_WSNONSIG'/>
-      <ref name='XML_SAVE_XHTML'/>
-      <ref name='XML_SAX2_MAGIC'/>
-      <ref name='XML_SCHEMAP_AG_PROPS_CORRECT'/>
-      <ref name='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE'/>
-      <ref name='XML_SCHEMAP_ATTRGRP_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_ATTR_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_AU_PROPS_CORRECT'/>
-      <ref name='XML_SCHEMAP_AU_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_A_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_A_PROPS_CORRECT_3'/>
-      <ref name='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_COS_ALL_LIMITED'/>
-      <ref name='XML_SCHEMAP_COS_CT_EXTENDS_1_1'/>
-      <ref name='XML_SCHEMAP_COS_CT_EXTENDS_1_2'/>
-      <ref name='XML_SCHEMAP_COS_CT_EXTENDS_1_3'/>
-      <ref name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5'/>
-      <ref name='XML_SCHEMAP_COS_VALID_DEFAULT_1'/>
-      <ref name='XML_SCHEMAP_COS_VALID_DEFAULT_2_1'/>
-      <ref name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1'/>
-      <ref name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2'/>
-      <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_1'/>
-      <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_3'/>
-      <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_4'/>
-      <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_5'/>
-      <ref name='XML_SCHEMAP_CVC_SIMPLE_TYPE'/>
-      <ref name='XML_SCHEMAP_C_PROPS_CORRECT'/>
-      <ref name='XML_SCHEMAP_DEF_AND_PREFIX'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3'/>
-      <ref name='XML_SCHEMAP_ELEMFORMDEFAULT_VALUE'/>
-      <ref name='XML_SCHEMAP_ELEM_DEFAULT_FIXED'/>
-      <ref name='XML_SCHEMAP_ELEM_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_EXTENSION_NO_BASE'/>
-      <ref name='XML_SCHEMAP_E_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_E_PROPS_CORRECT_3'/>
-      <ref name='XML_SCHEMAP_E_PROPS_CORRECT_4'/>
-      <ref name='XML_SCHEMAP_E_PROPS_CORRECT_5'/>
-      <ref name='XML_SCHEMAP_E_PROPS_CORRECT_6'/>
-      <ref name='XML_SCHEMAP_FACET_NO_VALUE'/>
-      <ref name='XML_SCHEMAP_FAILED_BUILD_IMPORT'/>
-      <ref name='XML_SCHEMAP_FAILED_LOAD'/>
-      <ref name='XML_SCHEMAP_FAILED_PARSE'/>
-      <ref name='XML_SCHEMAP_GROUP_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI'/>
-      <ref name='XML_SCHEMAP_IMPORT_REDEFINE_NSNAME'/>
-      <ref name='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI'/>
-      <ref name='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI'/>
-      <ref name='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI'/>
-      <ref name='XML_SCHEMAP_INTERNAL'/>
-      <ref name='XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE'/>
-      <ref name='XML_SCHEMAP_INVALID_ATTR_COMBINATION'/>
-      <ref name='XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION'/>
-      <ref name='XML_SCHEMAP_INVALID_ATTR_NAME'/>
-      <ref name='XML_SCHEMAP_INVALID_ATTR_USE'/>
-      <ref name='XML_SCHEMAP_INVALID_BOOLEAN'/>
-      <ref name='XML_SCHEMAP_INVALID_ENUM'/>
-      <ref name='XML_SCHEMAP_INVALID_FACET'/>
-      <ref name='XML_SCHEMAP_INVALID_FACET_VALUE'/>
-      <ref name='XML_SCHEMAP_INVALID_MAXOCCURS'/>
-      <ref name='XML_SCHEMAP_INVALID_MINOCCURS'/>
-      <ref name='XML_SCHEMAP_INVALID_REF_AND_SUBTYPE'/>
-      <ref name='XML_SCHEMAP_INVALID_WHITE_SPACE'/>
-      <ref name='XML_SCHEMAP_MG_PROPS_CORRECT_1'/>
-      <ref name='XML_SCHEMAP_MG_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD'/>
-      <ref name='XML_SCHEMAP_NOATTR_NOREF'/>
-      <ref name='XML_SCHEMAP_NOROOT'/>
-      <ref name='XML_SCHEMAP_NOTATION_NO_NAME'/>
-      <ref name='XML_SCHEMAP_NOTHING_TO_PARSE'/>
-      <ref name='XML_SCHEMAP_NOTYPE_NOREF'/>
-      <ref name='XML_SCHEMAP_NOT_DETERMINISTIC'/>
-      <ref name='XML_SCHEMAP_NOT_SCHEMA'/>
-      <ref name='XML_SCHEMAP_NO_XMLNS'/>
-      <ref name='XML_SCHEMAP_NO_XSI'/>
-      <ref name='XML_SCHEMAP_PREFIX_UNDEFINED'/>
-      <ref name='XML_SCHEMAP_P_PROPS_CORRECT_1'/>
-      <ref name='XML_SCHEMAP_P_PROPS_CORRECT_2_1'/>
-      <ref name='XML_SCHEMAP_P_PROPS_CORRECT_2_2'/>
-      <ref name='XML_SCHEMAP_RECURSIVE'/>
-      <ref name='XML_SCHEMAP_REDEFINED_ATTR'/>
-      <ref name='XML_SCHEMAP_REDEFINED_ATTRGROUP'/>
-      <ref name='XML_SCHEMAP_REDEFINED_ELEMENT'/>
-      <ref name='XML_SCHEMAP_REDEFINED_GROUP'/>
-      <ref name='XML_SCHEMAP_REDEFINED_NOTATION'/>
-      <ref name='XML_SCHEMAP_REDEFINED_TYPE'/>
-      <ref name='XML_SCHEMAP_REF_AND_CONTENT'/>
-      <ref name='XML_SCHEMAP_REF_AND_SUBTYPE'/>
-      <ref name='XML_SCHEMAP_REGEXP_INVALID'/>
-      <ref name='XML_SCHEMAP_RESTRICTION_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_S4S_ATTR_INVALID_VALUE'/>
-      <ref name='XML_SCHEMAP_S4S_ATTR_MISSING'/>
-      <ref name='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED'/>
-      <ref name='XML_SCHEMAP_S4S_ELEM_MISSING'/>
-      <ref name='XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED'/>
-      <ref name='XML_SCHEMAP_SIMPLETYPE_NONAME'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_1'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_2'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_3_1'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_3_2'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_4'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3'/>
-      <ref name='XML_SCHEMAP_SRC_CT_1'/>
-      <ref name='XML_SCHEMAP_SRC_ELEMENT_1'/>
-      <ref name='XML_SCHEMAP_SRC_ELEMENT_2_1'/>
-      <ref name='XML_SCHEMAP_SRC_ELEMENT_2_2'/>
-      <ref name='XML_SCHEMAP_SRC_ELEMENT_3'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_1_1'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_1_2'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_2'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_2_1'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_2_2'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_3_1'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_3_2'/>
-      <ref name='XML_SCHEMAP_SRC_INCLUDE'/>
-      <ref name='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE'/>
-      <ref name='XML_SCHEMAP_SRC_REDEFINE'/>
-      <ref name='XML_SCHEMAP_SRC_RESOLVE'/>
-      <ref name='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE'/>
-      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_1'/>
-      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_2'/>
-      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_3'/>
-      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_4'/>
-      <ref name='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES'/>
-      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_1'/>
-      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_3'/>
-      <ref name='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE'/>
-      <ref name='XML_SCHEMAP_TYPE_AND_SUBTYPE'/>
-      <ref name='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ALL_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ATTR_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_BASE_TYPE'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_CHOICE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ELEM_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_FACET_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_FACET_TYPE'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_GROUP_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_LIST_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_PREFIX'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_REF'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_TYPE'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_UNION_CHILD'/>
-      <ref name='XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH'/>
-      <ref name='XML_SCHEMAP_WARN_ATTR_REDECL_PROH'/>
-      <ref name='XML_SCHEMAP_WARN_SKIP_SCHEMA'/>
-      <ref name='XML_SCHEMAP_WARN_UNLOCATED_SCHEMA'/>
-      <ref name='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER'/>
-      <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
-      <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
-      <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
-      <ref name='XML_SCHEMAS_ANYSIMPLETYPE'/>
-      <ref name='XML_SCHEMAS_ANYTYPE'/>
-      <ref name='XML_SCHEMAS_ANYURI'/>
-      <ref name='XML_SCHEMAS_ANY_LAX'/>
-      <ref name='XML_SCHEMAS_ANY_SKIP'/>
-      <ref name='XML_SCHEMAS_ANY_STRICT'/>
-      <ref name='XML_SCHEMAS_ATTRGROUP_GLOBAL'/>
-      <ref name='XML_SCHEMAS_ATTRGROUP_HAS_REFS'/>
-      <ref name='XML_SCHEMAS_ATTRGROUP_MARKED'/>
-      <ref name='XML_SCHEMAS_ATTRGROUP_REDEFINED'/>
-      <ref name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED'/>
-      <ref name='XML_SCHEMAS_ATTR_FIXED'/>
-      <ref name='XML_SCHEMAS_ATTR_GLOBAL'/>
-      <ref name='XML_SCHEMAS_ATTR_INTERNAL_RESOLVED'/>
-      <ref name='XML_SCHEMAS_ATTR_NSDEFAULT'/>
-      <ref name='XML_SCHEMAS_ATTR_USE_OPTIONAL'/>
-      <ref name='XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
-      <ref name='XML_SCHEMAS_ATTR_USE_REQUIRED'/>
-      <ref name='XML_SCHEMAS_BASE64BINARY'/>
-      <ref name='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION'/>
-      <ref name='XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION'/>
-      <ref name='XML_SCHEMAS_BOOLEAN'/>
-      <ref name='XML_SCHEMAS_BYTE'/>
-      <ref name='XML_SCHEMAS_DATE'/>
-      <ref name='XML_SCHEMAS_DATETIME'/>
-      <ref name='XML_SCHEMAS_DECIMAL'/>
-      <ref name='XML_SCHEMAS_DOUBLE'/>
-      <ref name='XML_SCHEMAS_DURATION'/>
-      <ref name='XML_SCHEMAS_ELEM_ABSTRACT'/>
-      <ref name='XML_SCHEMAS_ELEM_BLOCK_ABSENT'/>
-      <ref name='XML_SCHEMAS_ELEM_BLOCK_EXTENSION'/>
-      <ref name='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION'/>
-      <ref name='XML_SCHEMAS_ELEM_CIRCULAR'/>
-      <ref name='XML_SCHEMAS_ELEM_DEFAULT'/>
-      <ref name='XML_SCHEMAS_ELEM_FINAL_ABSENT'/>
-      <ref name='XML_SCHEMAS_ELEM_FINAL_EXTENSION'/>
-      <ref name='XML_SCHEMAS_ELEM_FINAL_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_ELEM_FIXED'/>
-      <ref name='XML_SCHEMAS_ELEM_GLOBAL'/>
-      <ref name='XML_SCHEMAS_ELEM_INTERNAL_CHECKED'/>
-      <ref name='XML_SCHEMAS_ELEM_INTERNAL_RESOLVED'/>
-      <ref name='XML_SCHEMAS_ELEM_NILLABLE'/>
-      <ref name='XML_SCHEMAS_ELEM_NSDEFAULT'/>
-      <ref name='XML_SCHEMAS_ELEM_REF'/>
-      <ref name='XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD'/>
-      <ref name='XML_SCHEMAS_ELEM_TOPLEVEL'/>
-      <ref name='XML_SCHEMAS_ENTITIES'/>
-      <ref name='XML_SCHEMAS_ENTITY'/>
-      <ref name='XML_SCHEMAS_ERR_'/>
-      <ref name='XML_SCHEMAS_ERR_ATTRINVALID'/>
-      <ref name='XML_SCHEMAS_ERR_ATTRUNKNOWN'/>
-      <ref name='XML_SCHEMAS_ERR_CONSTRUCT'/>
-      <ref name='XML_SCHEMAS_ERR_ELEMCONT'/>
-      <ref name='XML_SCHEMAS_ERR_EXTRACONTENT'/>
-      <ref name='XML_SCHEMAS_ERR_FACET'/>
-      <ref name='XML_SCHEMAS_ERR_HAVEDEFAULT'/>
-      <ref name='XML_SCHEMAS_ERR_INTERNAL'/>
-      <ref name='XML_SCHEMAS_ERR_INVALIDATTR'/>
-      <ref name='XML_SCHEMAS_ERR_INVALIDELEM'/>
-      <ref name='XML_SCHEMAS_ERR_ISABSTRACT'/>
-      <ref name='XML_SCHEMAS_ERR_MISSING'/>
-      <ref name='XML_SCHEMAS_ERR_NOROLLBACK'/>
-      <ref name='XML_SCHEMAS_ERR_NOROOT'/>
-      <ref name='XML_SCHEMAS_ERR_NOTDETERMINIST'/>
-      <ref name='XML_SCHEMAS_ERR_NOTEMPTY'/>
-      <ref name='XML_SCHEMAS_ERR_NOTNILLABLE'/>
-      <ref name='XML_SCHEMAS_ERR_NOTSIMPLE'/>
-      <ref name='XML_SCHEMAS_ERR_NOTTOPLEVEL'/>
-      <ref name='XML_SCHEMAS_ERR_NOTYPE'/>
-      <ref name='XML_SCHEMAS_ERR_OK'/>
-      <ref name='XML_SCHEMAS_ERR_UNDECLAREDELEM'/>
-      <ref name='XML_SCHEMAS_ERR_VALUE'/>
-      <ref name='XML_SCHEMAS_ERR_WRONGELEM'/>
-      <ref name='XML_SCHEMAS_ERR_XXX'/>
-      <ref name='XML_SCHEMAS_FACET_COLLAPSE'/>
-      <ref name='XML_SCHEMAS_FACET_PRESERVE'/>
-      <ref name='XML_SCHEMAS_FACET_REPLACE'/>
-      <ref name='XML_SCHEMAS_FACET_UNKNOWN'/>
-      <ref name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION'/>
-      <ref name='XML_SCHEMAS_FINAL_DEFAULT_LIST'/>
-      <ref name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_FINAL_DEFAULT_UNION'/>
-      <ref name='XML_SCHEMAS_FLOAT'/>
-      <ref name='XML_SCHEMAS_GDAY'/>
-      <ref name='XML_SCHEMAS_GMONTH'/>
-      <ref name='XML_SCHEMAS_GMONTHDAY'/>
-      <ref name='XML_SCHEMAS_GYEAR'/>
-      <ref name='XML_SCHEMAS_GYEARMONTH'/>
-      <ref name='XML_SCHEMAS_HEXBINARY'/>
-      <ref name='XML_SCHEMAS_ID'/>
-      <ref name='XML_SCHEMAS_IDREF'/>
-      <ref name='XML_SCHEMAS_IDREFS'/>
-      <ref name='XML_SCHEMAS_INCLUDING_CONVERT_NS'/>
-      <ref name='XML_SCHEMAS_INT'/>
-      <ref name='XML_SCHEMAS_INTEGER'/>
-      <ref name='XML_SCHEMAS_LANGUAGE'/>
-      <ref name='XML_SCHEMAS_LONG'/>
-      <ref name='XML_SCHEMAS_NAME'/>
-      <ref name='XML_SCHEMAS_NCNAME'/>
-      <ref name='XML_SCHEMAS_NINTEGER'/>
-      <ref name='XML_SCHEMAS_NMTOKEN'/>
-      <ref name='XML_SCHEMAS_NMTOKENS'/>
-      <ref name='XML_SCHEMAS_NNINTEGER'/>
-      <ref name='XML_SCHEMAS_NORMSTRING'/>
-      <ref name='XML_SCHEMAS_NOTATION'/>
-      <ref name='XML_SCHEMAS_NPINTEGER'/>
-      <ref name='XML_SCHEMAS_PINTEGER'/>
-      <ref name='XML_SCHEMAS_QNAME'/>
-      <ref name='XML_SCHEMAS_QUALIF_ATTR'/>
-      <ref name='XML_SCHEMAS_QUALIF_ELEM'/>
-      <ref name='XML_SCHEMAS_SHORT'/>
-      <ref name='XML_SCHEMAS_STRING'/>
-      <ref name='XML_SCHEMAS_TIME'/>
-      <ref name='XML_SCHEMAS_TOKEN'/>
-      <ref name='XML_SCHEMAS_TYPE_ABSTRACT'/>
-      <ref name='XML_SCHEMAS_TYPE_BLOCK_DEFAULT'/>
-      <ref name='XML_SCHEMAS_TYPE_BLOCK_EXTENSION'/>
-      <ref name='XML_SCHEMAS_TYPE_BLOCK_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
-      <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
-      <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
-      <ref name='XML_SCHEMAS_TYPE_FINAL_DEFAULT'/>
-      <ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
-      <ref name='XML_SCHEMAS_TYPE_FINAL_LIST'/>
-      <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_TYPE_FINAL_UNION'/>
-      <ref name='XML_SCHEMAS_TYPE_FIXUP_1'/>
-      <ref name='XML_SCHEMAS_TYPE_GLOBAL'/>
-      <ref name='XML_SCHEMAS_TYPE_HAS_FACETS'/>
-      <ref name='XML_SCHEMAS_TYPE_INTERNAL_INVALID'/>
-      <ref name='XML_SCHEMAS_TYPE_INTERNAL_RESOLVED'/>
-      <ref name='XML_SCHEMAS_TYPE_MARKED'/>
-      <ref name='XML_SCHEMAS_TYPE_MIXED'/>
-      <ref name='XML_SCHEMAS_TYPE_NORMVALUENEEDED'/>
-      <ref name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/>
-      <ref name='XML_SCHEMAS_TYPE_REDEFINED'/>
-      <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-      <ref name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
-      <ref name='XML_SCHEMAS_TYPE_VARIETY_LIST'/>
-      <ref name='XML_SCHEMAS_TYPE_VARIETY_UNION'/>
-      <ref name='XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE'/>
-      <ref name='XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE'/>
-      <ref name='XML_SCHEMAS_TYPE_WHITESPACE_REPLACE'/>
-      <ref name='XML_SCHEMAS_UBYTE'/>
-      <ref name='XML_SCHEMAS_UINT'/>
-      <ref name='XML_SCHEMAS_ULONG'/>
-      <ref name='XML_SCHEMAS_UNKNOWN'/>
-      <ref name='XML_SCHEMAS_USHORT'/>
-      <ref name='XML_SCHEMAS_WILDCARD_COMPLETE'/>
-      <ref name='XML_SCHEMATRONV_ASSERT'/>
-      <ref name='XML_SCHEMATRONV_REPORT'/>
-      <ref name='XML_SCHEMATRON_OUT_BUFFER'/>
-      <ref name='XML_SCHEMATRON_OUT_ERROR'/>
-      <ref name='XML_SCHEMATRON_OUT_FILE'/>
-      <ref name='XML_SCHEMATRON_OUT_IO'/>
-      <ref name='XML_SCHEMATRON_OUT_QUIET'/>
-      <ref name='XML_SCHEMATRON_OUT_TEXT'/>
-      <ref name='XML_SCHEMATRON_OUT_XML'/>
-      <ref name='XML_SCHEMAV_ATTRINVALID'/>
-      <ref name='XML_SCHEMAV_ATTRUNKNOWN'/>
-      <ref name='XML_SCHEMAV_CONSTRUCT'/>
-      <ref name='XML_SCHEMAV_CVC_ATTRIBUTE_1'/>
-      <ref name='XML_SCHEMAV_CVC_ATTRIBUTE_2'/>
-      <ref name='XML_SCHEMAV_CVC_ATTRIBUTE_3'/>
-      <ref name='XML_SCHEMAV_CVC_ATTRIBUTE_4'/>
-      <ref name='XML_SCHEMAV_CVC_AU'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_1'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_4'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2'/>
-      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2'/>
-      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_2'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_3_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_3_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_3_2_2'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_4_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_4_2'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_4_3'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_1_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_1_2'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_2_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_2_2_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_2_2_2_2'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_6'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_7'/>
-      <ref name='XML_SCHEMAV_CVC_ENUMERATION_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_FACET_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_IDC'/>
-      <ref name='XML_SCHEMAV_CVC_LENGTH_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MAXLENGTH_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MININCLUSIVE_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MINLENGTH_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_PATTERN_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_TOTALDIGITS_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_TYPE_1'/>
-      <ref name='XML_SCHEMAV_CVC_TYPE_2'/>
-      <ref name='XML_SCHEMAV_CVC_TYPE_3_1_1'/>
-      <ref name='XML_SCHEMAV_CVC_TYPE_3_1_2'/>
-      <ref name='XML_SCHEMAV_CVC_WILDCARD'/>
-      <ref name='XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING'/>
-      <ref name='XML_SCHEMAV_ELEMCONT'/>
-      <ref name='XML_SCHEMAV_ELEMENT_CONTENT'/>
-      <ref name='XML_SCHEMAV_EXTRACONTENT'/>
-      <ref name='XML_SCHEMAV_FACET'/>
-      <ref name='XML_SCHEMAV_HAVEDEFAULT'/>
-      <ref name='XML_SCHEMAV_INTERNAL'/>
-      <ref name='XML_SCHEMAV_INVALIDATTR'/>
-      <ref name='XML_SCHEMAV_INVALIDELEM'/>
-      <ref name='XML_SCHEMAV_ISABSTRACT'/>
-      <ref name='XML_SCHEMAV_MISC'/>
-      <ref name='XML_SCHEMAV_MISSING'/>
-      <ref name='XML_SCHEMAV_NOROLLBACK'/>
-      <ref name='XML_SCHEMAV_NOROOT'/>
-      <ref name='XML_SCHEMAV_NOTDETERMINIST'/>
-      <ref name='XML_SCHEMAV_NOTEMPTY'/>
-      <ref name='XML_SCHEMAV_NOTNILLABLE'/>
-      <ref name='XML_SCHEMAV_NOTSIMPLE'/>
-      <ref name='XML_SCHEMAV_NOTTOPLEVEL'/>
-      <ref name='XML_SCHEMAV_NOTYPE'/>
-      <ref name='XML_SCHEMAV_UNDECLAREDELEM'/>
-      <ref name='XML_SCHEMAV_VALUE'/>
-      <ref name='XML_SCHEMAV_WRONGELEM'/>
-      <ref name='XML_SCHEMA_CONTENT_ANY'/>
-      <ref name='XML_SCHEMA_CONTENT_BASIC'/>
-      <ref name='XML_SCHEMA_CONTENT_ELEMENTS'/>
-      <ref name='XML_SCHEMA_CONTENT_EMPTY'/>
-      <ref name='XML_SCHEMA_CONTENT_MIXED'/>
-      <ref name='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS'/>
-      <ref name='XML_SCHEMA_CONTENT_SIMPLE'/>
-      <ref name='XML_SCHEMA_CONTENT_UNKNOWN'/>
-      <ref name='XML_SCHEMA_EXTRA_ATTR_USE_PROHIB'/>
-      <ref name='XML_SCHEMA_EXTRA_QNAMEREF'/>
-      <ref name='XML_SCHEMA_FACET_ENUMERATION'/>
-      <ref name='XML_SCHEMA_FACET_FRACTIONDIGITS'/>
-      <ref name='XML_SCHEMA_FACET_LENGTH'/>
-      <ref name='XML_SCHEMA_FACET_MAXEXCLUSIVE'/>
-      <ref name='XML_SCHEMA_FACET_MAXINCLUSIVE'/>
-      <ref name='XML_SCHEMA_FACET_MAXLENGTH'/>
-      <ref name='XML_SCHEMA_FACET_MINEXCLUSIVE'/>
-      <ref name='XML_SCHEMA_FACET_MININCLUSIVE'/>
-      <ref name='XML_SCHEMA_FACET_MINLENGTH'/>
-      <ref name='XML_SCHEMA_FACET_PATTERN'/>
-      <ref name='XML_SCHEMA_FACET_TOTALDIGITS'/>
-      <ref name='XML_SCHEMA_FACET_WHITESPACE'/>
-      <ref name='XML_SCHEMA_TYPE_ALL'/>
-      <ref name='XML_SCHEMA_TYPE_ANY'/>
-      <ref name='XML_SCHEMA_TYPE_ANY_ATTRIBUTE'/>
-      <ref name='XML_SCHEMA_TYPE_ATTRIBUTE'/>
-      <ref name='XML_SCHEMA_TYPE_ATTRIBUTEGROUP'/>
-      <ref name='XML_SCHEMA_TYPE_ATTRIBUTE_USE'/>
-      <ref name='XML_SCHEMA_TYPE_BASIC'/>
-      <ref name='XML_SCHEMA_TYPE_CHOICE'/>
-      <ref name='XML_SCHEMA_TYPE_COMPLEX'/>
-      <ref name='XML_SCHEMA_TYPE_COMPLEX_CONTENT'/>
-      <ref name='XML_SCHEMA_TYPE_ELEMENT'/>
-      <ref name='XML_SCHEMA_TYPE_EXTENSION'/>
-      <ref name='XML_SCHEMA_TYPE_FACET'/>
-      <ref name='XML_SCHEMA_TYPE_GROUP'/>
-      <ref name='XML_SCHEMA_TYPE_IDC_KEY'/>
-      <ref name='XML_SCHEMA_TYPE_IDC_KEYREF'/>
-      <ref name='XML_SCHEMA_TYPE_IDC_UNIQUE'/>
-      <ref name='XML_SCHEMA_TYPE_LIST'/>
-      <ref name='XML_SCHEMA_TYPE_NOTATION'/>
-      <ref name='XML_SCHEMA_TYPE_PARTICLE'/>
-      <ref name='XML_SCHEMA_TYPE_RESTRICTION'/>
-      <ref name='XML_SCHEMA_TYPE_SEQUENCE'/>
-      <ref name='XML_SCHEMA_TYPE_SIMPLE'/>
-      <ref name='XML_SCHEMA_TYPE_SIMPLE_CONTENT'/>
-      <ref name='XML_SCHEMA_TYPE_UNION'/>
-      <ref name='XML_SCHEMA_TYPE_UR'/>
-      <ref name='XML_SCHEMA_VAL_VC_I_CREATE'/>
-      <ref name='XML_SCHEMA_WHITESPACE_COLLAPSE'/>
-      <ref name='XML_SCHEMA_WHITESPACE_PRESERVE'/>
-      <ref name='XML_SCHEMA_WHITESPACE_REPLACE'/>
-      <ref name='XML_SCHEMA_WHITESPACE_UNKNOWN'/>
-      <ref name='XML_SKIP_IDS'/>
-      <ref name='XML_SUBSTITUTE_BOTH'/>
-      <ref name='XML_SUBSTITUTE_NONE'/>
-      <ref name='XML_SUBSTITUTE_PEREF'/>
-      <ref name='XML_SUBSTITUTE_REF'/>
-      <ref name='XML_TEXTREADER_MODE_CLOSED'/>
-      <ref name='XML_TEXTREADER_MODE_EOF'/>
-      <ref name='XML_TEXTREADER_MODE_ERROR'/>
-      <ref name='XML_TEXTREADER_MODE_INITIAL'/>
-      <ref name='XML_TEXTREADER_MODE_INTERACTIVE'/>
-      <ref name='XML_TEXTREADER_MODE_READING'/>
-      <ref name='XML_TEXT_NODE'/>
-      <ref name='XML_TREE_INVALID_DEC'/>
-      <ref name='XML_TREE_INVALID_HEX'/>
-      <ref name='XML_TREE_NOT_UTF8'/>
-      <ref name='XML_TREE_UNTERMINATED_ENTITY'/>
-      <ref name='XML_WAR_CATALOG_PI'/>
-      <ref name='XML_WAR_ENTITY_REDEFINED'/>
-      <ref name='XML_WAR_LANG_VALUE'/>
-      <ref name='XML_WAR_NS_COLUMN'/>
-      <ref name='XML_WAR_NS_URI'/>
-      <ref name='XML_WAR_NS_URI_RELATIVE'/>
-      <ref name='XML_WAR_SPACE_VALUE'/>
-      <ref name='XML_WAR_UNDECLARED_ENTITY'/>
-      <ref name='XML_WAR_UNKNOWN_VERSION'/>
-      <ref name='XML_WITH_AUTOMATA'/>
-      <ref name='XML_WITH_C14N'/>
-      <ref name='XML_WITH_CATALOG'/>
-      <ref name='XML_WITH_DEBUG'/>
-      <ref name='XML_WITH_DEBUG_MEM'/>
-      <ref name='XML_WITH_DEBUG_RUN'/>
-      <ref name='XML_WITH_EXPR'/>
-      <ref name='XML_WITH_FTP'/>
-      <ref name='XML_WITH_HTML'/>
-      <ref name='XML_WITH_HTTP'/>
-      <ref name='XML_WITH_ICONV'/>
-      <ref name='XML_WITH_ICU'/>
-      <ref name='XML_WITH_ISO8859X'/>
-      <ref name='XML_WITH_LEGACY'/>
-      <ref name='XML_WITH_LZMA'/>
-      <ref name='XML_WITH_MODULES'/>
-      <ref name='XML_WITH_NONE'/>
-      <ref name='XML_WITH_OUTPUT'/>
-      <ref name='XML_WITH_PATTERN'/>
-      <ref name='XML_WITH_PUSH'/>
-      <ref name='XML_WITH_READER'/>
-      <ref name='XML_WITH_REGEXP'/>
-      <ref name='XML_WITH_SAX1'/>
-      <ref name='XML_WITH_SCHEMAS'/>
-      <ref name='XML_WITH_SCHEMATRON'/>
-      <ref name='XML_WITH_THREAD'/>
-      <ref name='XML_WITH_TREE'/>
-      <ref name='XML_WITH_UNICODE'/>
-      <ref name='XML_WITH_VALID'/>
-      <ref name='XML_WITH_WRITER'/>
-      <ref name='XML_WITH_XINCLUDE'/>
-      <ref name='XML_WITH_XPATH'/>
-      <ref name='XML_WITH_XPTR'/>
-      <ref name='XML_WITH_ZLIB'/>
-      <ref name='XML_XINCLUDE_BUILD_FAILED'/>
-      <ref name='XML_XINCLUDE_DEPRECATED_NS'/>
-      <ref name='XML_XINCLUDE_END'/>
-      <ref name='XML_XINCLUDE_ENTITY_DEF_MISMATCH'/>
-      <ref name='XML_XINCLUDE_FALLBACKS_IN_INCLUDE'/>
-      <ref name='XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE'/>
-      <ref name='XML_XINCLUDE_FRAGMENT_ID'/>
-      <ref name='XML_XINCLUDE_HREF_URI'/>
-      <ref name='XML_XINCLUDE_INCLUDE_IN_INCLUDE'/>
-      <ref name='XML_XINCLUDE_INVALID_CHAR'/>
-      <ref name='XML_XINCLUDE_MULTIPLE_ROOT'/>
-      <ref name='XML_XINCLUDE_NO_FALLBACK'/>
-      <ref name='XML_XINCLUDE_NO_HREF'/>
-      <ref name='XML_XINCLUDE_PARSE_VALUE'/>
-      <ref name='XML_XINCLUDE_RECURSION'/>
-      <ref name='XML_XINCLUDE_START'/>
-      <ref name='XML_XINCLUDE_TEXT_DOCUMENT'/>
-      <ref name='XML_XINCLUDE_TEXT_FRAGMENT'/>
-      <ref name='XML_XINCLUDE_UNKNOWN_ENCODING'/>
-      <ref name='XML_XINCLUDE_XPTR_FAILED'/>
-      <ref name='XML_XINCLUDE_XPTR_RESULT'/>
-      <ref name='XML_XML_ID'/>
-      <ref name='XML_XML_NAMESPACE'/>
-      <ref name='XML_XPATH_CHECKNS'/>
-      <ref name='XML_XPATH_ENCODING_ERROR'/>
-      <ref name='XML_XPATH_EXPRESSION_OK'/>
-      <ref name='XML_XPATH_EXPR_ERROR'/>
-      <ref name='XML_XPATH_INVALID_ARITY'/>
-      <ref name='XML_XPATH_INVALID_CHAR_ERROR'/>
-      <ref name='XML_XPATH_INVALID_CTXT_POSITION'/>
-      <ref name='XML_XPATH_INVALID_CTXT_SIZE'/>
-      <ref name='XML_XPATH_INVALID_OPERAND'/>
-      <ref name='XML_XPATH_INVALID_PREDICATE_ERROR'/>
-      <ref name='XML_XPATH_INVALID_TYPE'/>
-      <ref name='XML_XPATH_MEMORY_ERROR'/>
-      <ref name='XML_XPATH_NOVAR'/>
-      <ref name='XML_XPATH_NUMBER_ERROR'/>
-      <ref name='XML_XPATH_START_LITERAL_ERROR'/>
-      <ref name='XML_XPATH_UNCLOSED_ERROR'/>
-      <ref name='XML_XPATH_UNDEF_PREFIX_ERROR'/>
-      <ref name='XML_XPATH_UNDEF_VARIABLE_ERROR'/>
-      <ref name='XML_XPATH_UNFINISHED_LITERAL_ERROR'/>
-      <ref name='XML_XPATH_UNKNOWN_FUNC_ERROR'/>
-      <ref name='XML_XPATH_VARIABLE_REF_ERROR'/>
-      <ref name='XML_XPTR_CHILDSEQ_START'/>
-      <ref name='XML_XPTR_EVAL_FAILED'/>
-      <ref name='XML_XPTR_EXTRA_OBJECTS'/>
-      <ref name='XML_XPTR_RESOURCE_ERROR'/>
-      <ref name='XML_XPTR_SUB_RESOURCE_ERROR'/>
-      <ref name='XML_XPTR_SYNTAX_ERROR'/>
-      <ref name='XML_XPTR_UNKNOWN_SCHEME'/>
-      <ref name='XPATH_BOOLEAN'/>
-      <ref name='XPATH_ENCODING_ERROR'/>
-      <ref name='XPATH_EXPRESSION_OK'/>
-      <ref name='XPATH_EXPR_ERROR'/>
-      <ref name='XPATH_FORBID_VARIABLE_ERROR'/>
-      <ref name='XPATH_INVALID_ARITY'/>
-      <ref name='XPATH_INVALID_CHAR_ERROR'/>
-      <ref name='XPATH_INVALID_CTXT'/>
-      <ref name='XPATH_INVALID_CTXT_POSITION'/>
-      <ref name='XPATH_INVALID_CTXT_SIZE'/>
-      <ref name='XPATH_INVALID_OPERAND'/>
-      <ref name='XPATH_INVALID_PREDICATE_ERROR'/>
-      <ref name='XPATH_INVALID_TYPE'/>
-      <ref name='XPATH_LOCATIONSET'/>
-      <ref name='XPATH_MEMORY_ERROR'/>
-      <ref name='XPATH_NODESET'/>
-      <ref name='XPATH_NUMBER'/>
-      <ref name='XPATH_NUMBER_ERROR'/>
-      <ref name='XPATH_OP_LIMIT_EXCEEDED'/>
-      <ref name='XPATH_POINT'/>
-      <ref name='XPATH_RANGE'/>
-      <ref name='XPATH_RECURSION_LIMIT_EXCEEDED'/>
-      <ref name='XPATH_STACK_ERROR'/>
-      <ref name='XPATH_START_LITERAL_ERROR'/>
-      <ref name='XPATH_STRING'/>
-      <ref name='XPATH_UNCLOSED_ERROR'/>
-      <ref name='XPATH_UNDEFINED'/>
-      <ref name='XPATH_UNDEF_PREFIX_ERROR'/>
-      <ref name='XPATH_UNDEF_VARIABLE_ERROR'/>
-      <ref name='XPATH_UNFINISHED_LITERAL_ERROR'/>
-      <ref name='XPATH_UNKNOWN_FUNC_ERROR'/>
-      <ref name='XPATH_USERS'/>
-      <ref name='XPATH_VARIABLE_REF_ERROR'/>
-      <ref name='XPATH_XSLT_TREE'/>
-      <ref name='XPTR_RESOURCE_ERROR'/>
-      <ref name='XPTR_SUB_RESOURCE_ERROR'/>
-      <ref name='XPTR_SYNTAX_ERROR'/>
-      <ref name='XP_ERROR'/>
-      <ref name='XP_ERROR0'/>
-    </letter>
-    <letter name='_'>
-      <ref name='_htmlElemDesc'/>
-      <ref name='_htmlEntityDesc'/>
-      <ref name='_uconv_t'/>
-      <ref name='_xlinkHandler'/>
-      <ref name='_xmlAttr'/>
-      <ref name='_xmlAttribute'/>
-      <ref name='_xmlBuffer'/>
-      <ref name='_xmlChLRange'/>
-      <ref name='_xmlChRangeGroup'/>
-      <ref name='_xmlChSRange'/>
-      <ref name='_xmlCharEncodingHandler'/>
-      <ref name='_xmlDOMWrapCtxt'/>
-      <ref name='_xmlDoc'/>
-      <ref name='_xmlDtd'/>
-      <ref name='_xmlElement'/>
-      <ref name='_xmlElementContent'/>
-      <ref name='_xmlEntity'/>
-      <ref name='_xmlEnumeration'/>
-      <ref name='_xmlError'/>
-      <ref name='_xmlGlobalState'/>
-      <ref name='_xmlID'/>
-      <ref name='_xmlLocationSet'/>
-      <ref name='_xmlNode'/>
-      <ref name='_xmlNodeSet'/>
-      <ref name='_xmlNotation'/>
-      <ref name='_xmlNs'/>
-      <ref name='_xmlOutputBuffer'/>
-      <ref name='_xmlParserCtxt'/>
-      <ref name='_xmlParserInput'/>
-      <ref name='_xmlParserInputBuffer'/>
-      <ref name='_xmlParserNodeInfo'/>
-      <ref name='_xmlParserNodeInfoSeq'/>
-      <ref name='_xmlRef'/>
-      <ref name='_xmlSAXHandler'/>
-      <ref name='_xmlSAXHandlerV1'/>
-      <ref name='_xmlSAXLocator'/>
-      <ref name='_xmlSchema'/>
-      <ref name='_xmlSchemaAnnot'/>
-      <ref name='_xmlSchemaAttribute'/>
-      <ref name='_xmlSchemaAttributeGroup'/>
-      <ref name='_xmlSchemaAttributeLink'/>
-      <ref name='_xmlSchemaElement'/>
-      <ref name='_xmlSchemaFacet'/>
-      <ref name='_xmlSchemaFacetLink'/>
-      <ref name='_xmlSchemaNotation'/>
-      <ref name='_xmlSchemaType'/>
-      <ref name='_xmlSchemaTypeLink'/>
-      <ref name='_xmlSchemaWildcard'/>
-      <ref name='_xmlSchemaWildcardNs'/>
-      <ref name='_xmlShellCtxt'/>
-      <ref name='_xmlURI'/>
-      <ref name='_xmlValidCtxt'/>
-      <ref name='_xmlXPathAxis'/>
-      <ref name='_xmlXPathContext'/>
-      <ref name='_xmlXPathFunct'/>
-      <ref name='_xmlXPathObject'/>
-      <ref name='_xmlXPathParserContext'/>
-      <ref name='_xmlXPathType'/>
-      <ref name='_xmlXPathVariable'/>
-    </letter>
-    <letter name='a'>
-      <ref name='attribute'/>
-      <ref name='attributeDecl'/>
-      <ref name='attributeDeclSAXFunc'/>
-      <ref name='attributeSAXFunc'/>
-    </letter>
-    <letter name='c'>
-      <ref name='cdataBlock'/>
-      <ref name='cdataBlockSAXFunc'/>
-      <ref name='characters'/>
-      <ref name='charactersSAXFunc'/>
-      <ref name='checkNamespace'/>
-      <ref name='comment'/>
-      <ref name='commentSAXFunc'/>
-    </letter>
-    <letter name='d'>
-      <ref name='docbCreateFileParserCtxt'/>
-      <ref name='docbCreatePushParserCtxt'/>
-      <ref name='docbDefaultSAXHandler'/>
-      <ref name='docbDefaultSAXHandlerInit'/>
-      <ref name='docbDocPtr'/>
-      <ref name='docbEncodeEntities'/>
-      <ref name='docbFreeParserCtxt'/>
-      <ref name='docbParseChunk'/>
-      <ref name='docbParseDoc'/>
-      <ref name='docbParseDocument'/>
-      <ref name='docbParseFile'/>
-      <ref name='docbParserCtxt'/>
-      <ref name='docbParserCtxtPtr'/>
-      <ref name='docbParserInput'/>
-      <ref name='docbParserInputPtr'/>
-      <ref name='docbSAXHandler'/>
-      <ref name='docbSAXHandlerPtr'/>
-      <ref name='docbSAXParseDoc'/>
-      <ref name='docbSAXParseFile'/>
-    </letter>
-    <letter name='e'>
-      <ref name='elementDecl'/>
-      <ref name='elementDeclSAXFunc'/>
-      <ref name='emptyExp'/>
-      <ref name='endDocument'/>
-      <ref name='endDocumentSAXFunc'/>
-      <ref name='endElement'/>
-      <ref name='endElementNsSAX2Func'/>
-      <ref name='endElementSAXFunc'/>
-      <ref name='entityDecl'/>
-      <ref name='entityDeclSAXFunc'/>
-      <ref name='errorSAXFunc'/>
-      <ref name='externalSubset'/>
-      <ref name='externalSubsetSAXFunc'/>
-    </letter>
-    <letter name='f'>
-      <ref name='fatalErrorSAXFunc'/>
-      <ref name='forbiddenExp'/>
-      <ref name='ftpDataCallback'/>
-      <ref name='ftpListCallback'/>
-    </letter>
-    <letter name='g'>
-      <ref name='getColumnNumber'/>
-      <ref name='getEntity'/>
-      <ref name='getEntitySAXFunc'/>
-      <ref name='getLineNumber'/>
-      <ref name='getNamespace'/>
-      <ref name='getParameterEntity'/>
-      <ref name='getParameterEntitySAXFunc'/>
-      <ref name='getPublicId'/>
-      <ref name='getSystemId'/>
-      <ref name='globalNamespace'/>
-    </letter>
-    <letter name='h'>
-      <ref name='hasExternalSubset'/>
-      <ref name='hasExternalSubsetSAXFunc'/>
-      <ref name='hasInternalSubset'/>
-      <ref name='hasInternalSubsetSAXFunc'/>
-      <ref name='htmlAttrAllowed'/>
-      <ref name='htmlAutoCloseTag'/>
-      <ref name='htmlCreateFileParserCtxt'/>
-      <ref name='htmlCreateMemoryParserCtxt'/>
-      <ref name='htmlCreatePushParserCtxt'/>
-      <ref name='htmlCtxtReadDoc'/>
-      <ref name='htmlCtxtReadFd'/>
-      <ref name='htmlCtxtReadFile'/>
-      <ref name='htmlCtxtReadIO'/>
-      <ref name='htmlCtxtReadMemory'/>
-      <ref name='htmlCtxtReset'/>
-      <ref name='htmlCtxtUseOptions'/>
-      <ref name='htmlDefaultSAXHandler'/>
-      <ref name='htmlDefaultSAXHandlerInit'/>
-      <ref name='htmlDefaultSubelement'/>
-      <ref name='htmlDocContentDumpFormatOutput'/>
-      <ref name='htmlDocContentDumpOutput'/>
-      <ref name='htmlDocDump'/>
-      <ref name='htmlDocDumpMemory'/>
-      <ref name='htmlDocDumpMemoryFormat'/>
-      <ref name='htmlDocPtr'/>
-      <ref name='htmlElemDesc'/>
-      <ref name='htmlElemDescPtr'/>
-      <ref name='htmlElementAllowedHere'/>
-      <ref name='htmlElementAllowedHereDesc'/>
-      <ref name='htmlElementStatusHere'/>
-      <ref name='htmlEncodeEntities'/>
-      <ref name='htmlEntityDesc'/>
-      <ref name='htmlEntityDescPtr'/>
-      <ref name='htmlEntityLookup'/>
-      <ref name='htmlEntityValueLookup'/>
-      <ref name='htmlFreeParserCtxt'/>
-      <ref name='htmlGetMetaEncoding'/>
-      <ref name='htmlHandleOmittedElem'/>
-      <ref name='htmlInitAutoClose'/>
-      <ref name='htmlIsAutoClosed'/>
-      <ref name='htmlIsBooleanAttr'/>
-      <ref name='htmlIsScriptAttribute'/>
-      <ref name='htmlNewDoc'/>
-      <ref name='htmlNewDocNoDtD'/>
-      <ref name='htmlNewParserCtxt'/>
-      <ref name='htmlNodeDump'/>
-      <ref name='htmlNodeDumpFile'/>
-      <ref name='htmlNodeDumpFileFormat'/>
-      <ref name='htmlNodeDumpFormatOutput'/>
-      <ref name='htmlNodeDumpOutput'/>
-      <ref name='htmlNodePtr'/>
-      <ref name='htmlNodeStatus'/>
-      <ref name='htmlParseCharRef'/>
-      <ref name='htmlParseChunk'/>
-      <ref name='htmlParseDoc'/>
-      <ref name='htmlParseDocument'/>
-      <ref name='htmlParseElement'/>
-      <ref name='htmlParseEntityRef'/>
-      <ref name='htmlParseFile'/>
-      <ref name='htmlParserCtxt'/>
-      <ref name='htmlParserCtxtPtr'/>
-      <ref name='htmlParserInput'/>
-      <ref name='htmlParserInputPtr'/>
-      <ref name='htmlParserNodeInfo'/>
-      <ref name='htmlParserOption'/>
-      <ref name='htmlReadDoc'/>
-      <ref name='htmlReadFd'/>
-      <ref name='htmlReadFile'/>
-      <ref name='htmlReadIO'/>
-      <ref name='htmlReadMemory'/>
-      <ref name='htmlRequiredAttrs'/>
-      <ref name='htmlSAXHandler'/>
-      <ref name='htmlSAXHandlerPtr'/>
-      <ref name='htmlSAXParseDoc'/>
-      <ref name='htmlSAXParseFile'/>
-      <ref name='htmlSaveFile'/>
-      <ref name='htmlSaveFileEnc'/>
-      <ref name='htmlSaveFileFormat'/>
-      <ref name='htmlSetMetaEncoding'/>
-      <ref name='htmlStatus'/>
-      <ref name='htmlTagLookup'/>
-    </letter>
-    <letter name='i'>
-      <ref name='ignorableWhitespace'/>
-      <ref name='ignorableWhitespaceSAXFunc'/>
-      <ref name='initGenericErrorDefaultFunc'/>
-      <ref name='initdocbDefaultSAXHandler'/>
-      <ref name='inithtmlDefaultSAXHandler'/>
-      <ref name='initxmlDefaultSAXHandler'/>
-      <ref name='inputPop'/>
-      <ref name='inputPush'/>
-      <ref name='internalSubset'/>
-      <ref name='internalSubsetSAXFunc'/>
-      <ref name='isStandalone'/>
-      <ref name='isStandaloneSAXFunc'/>
-      <ref name='isolat1ToUTF8'/>
-    </letter>
-    <letter name='n'>
-      <ref name='namePop'/>
-      <ref name='namePush'/>
-      <ref name='namespaceDecl'/>
-      <ref name='nodePop'/>
-      <ref name='nodePush'/>
-      <ref name='notationDecl'/>
-      <ref name='notationDeclSAXFunc'/>
-    </letter>
-    <letter name='o'>
-      <ref name='oldXMLWDcompatibility'/>
-    </letter>
-    <letter name='p'>
-      <ref name='processingInstruction'/>
-      <ref name='processingInstructionSAXFunc'/>
-    </letter>
-    <letter name='r'>
-      <ref name='reference'/>
-      <ref name='referenceSAXFunc'/>
-      <ref name='resolveEntity'/>
-      <ref name='resolveEntitySAXFunc'/>
-    </letter>
-    <letter name='s'>
-      <ref name='setDocumentLocator'/>
-      <ref name='setDocumentLocatorSAXFunc'/>
-      <ref name='setNamespace'/>
-      <ref name='startDocument'/>
-      <ref name='startDocumentSAXFunc'/>
-      <ref name='startElement'/>
-      <ref name='startElementNsSAX2Func'/>
-      <ref name='startElementSAXFunc'/>
-    </letter>
-    <letter name='u'>
-      <ref name='uconv_t'/>
-      <ref name='unparsedEntityDecl'/>
-      <ref name='unparsedEntityDeclSAXFunc'/>
-    </letter>
-    <letter name='v'>
-      <ref name='valuePop'/>
-      <ref name='valuePush'/>
-    </letter>
-    <letter name='w'>
-      <ref name='warningSAXFunc'/>
-    </letter>
-    <letter name='x'>
-      <ref name='xlinkActuate'/>
-      <ref name='xlinkExtendedLinkFunk'/>
-      <ref name='xlinkExtendedLinkSetFunk'/>
-      <ref name='xlinkGetDefaultDetect'/>
-      <ref name='xlinkGetDefaultHandler'/>
-      <ref name='xlinkHRef'/>
-      <ref name='xlinkHandler'/>
-      <ref name='xlinkHandlerPtr'/>
-      <ref name='xlinkIsLink'/>
-      <ref name='xlinkNodeDetectFunc'/>
-      <ref name='xlinkRole'/>
-      <ref name='xlinkSetDefaultDetect'/>
-      <ref name='xlinkSetDefaultHandler'/>
-      <ref name='xlinkShow'/>
-      <ref name='xlinkSimpleLinkFunk'/>
-      <ref name='xlinkTitle'/>
-      <ref name='xlinkType'/>
-      <ref name='xmlACatalogAdd'/>
-      <ref name='xmlACatalogDump'/>
-      <ref name='xmlACatalogRemove'/>
-      <ref name='xmlACatalogResolve'/>
-      <ref name='xmlACatalogResolvePublic'/>
-      <ref name='xmlACatalogResolveSystem'/>
-      <ref name='xmlACatalogResolveURI'/>
-      <ref name='xmlAddAttributeDecl'/>
-      <ref name='xmlAddChild'/>
-      <ref name='xmlAddChildList'/>
-      <ref name='xmlAddDocEntity'/>
-      <ref name='xmlAddDtdEntity'/>
-      <ref name='xmlAddElementDecl'/>
-      <ref name='xmlAddEncodingAlias'/>
-      <ref name='xmlAddID'/>
-      <ref name='xmlAddNextSibling'/>
-      <ref name='xmlAddNotationDecl'/>
-      <ref name='xmlAddPrevSibling'/>
-      <ref name='xmlAddRef'/>
-      <ref name='xmlAddSibling'/>
-      <ref name='xmlAllocOutputBuffer'/>
-      <ref name='xmlAllocParserInputBuffer'/>
-      <ref name='xmlAttr'/>
-      <ref name='xmlAttrPtr'/>
-      <ref name='xmlAttrSerializeTxtContent'/>
-      <ref name='xmlAttribute'/>
-      <ref name='xmlAttributeDefault'/>
-      <ref name='xmlAttributePtr'/>
-      <ref name='xmlAttributeTable'/>
-      <ref name='xmlAttributeTablePtr'/>
-      <ref name='xmlAttributeType'/>
-      <ref name='xmlAutomata'/>
-      <ref name='xmlAutomataCompile'/>
-      <ref name='xmlAutomataGetInitState'/>
-      <ref name='xmlAutomataIsDeterminist'/>
-      <ref name='xmlAutomataNewAllTrans'/>
-      <ref name='xmlAutomataNewCountTrans'/>
-      <ref name='xmlAutomataNewCountTrans2'/>
-      <ref name='xmlAutomataNewCountedTrans'/>
-      <ref name='xmlAutomataNewCounter'/>
-      <ref name='xmlAutomataNewCounterTrans'/>
-      <ref name='xmlAutomataNewEpsilon'/>
-      <ref name='xmlAutomataNewNegTrans'/>
-      <ref name='xmlAutomataNewOnceTrans'/>
-      <ref name='xmlAutomataNewOnceTrans2'/>
-      <ref name='xmlAutomataNewState'/>
-      <ref name='xmlAutomataNewTransition'/>
-      <ref name='xmlAutomataNewTransition2'/>
-      <ref name='xmlAutomataPtr'/>
-      <ref name='xmlAutomataSetFinalState'/>
-      <ref name='xmlAutomataState'/>
-      <ref name='xmlAutomataStatePtr'/>
-      <ref name='xmlBoolToText'/>
-      <ref name='xmlBuf'/>
-      <ref name='xmlBufContent'/>
-      <ref name='xmlBufEnd'/>
-      <ref name='xmlBufGetNodeContent'/>
-      <ref name='xmlBufNodeDump'/>
-      <ref name='xmlBufPtr'/>
-      <ref name='xmlBufShrink'/>
-      <ref name='xmlBufUse'/>
-      <ref name='xmlBuffer'/>
-      <ref name='xmlBufferAdd'/>
-      <ref name='xmlBufferAddHead'/>
-      <ref name='xmlBufferAllocScheme'/>
-      <ref name='xmlBufferAllocationScheme'/>
-      <ref name='xmlBufferCCat'/>
-      <ref name='xmlBufferCat'/>
-      <ref name='xmlBufferContent'/>
-      <ref name='xmlBufferCreate'/>
-      <ref name='xmlBufferCreateSize'/>
-      <ref name='xmlBufferCreateStatic'/>
-      <ref name='xmlBufferDetach'/>
-      <ref name='xmlBufferDump'/>
-      <ref name='xmlBufferEmpty'/>
-      <ref name='xmlBufferFree'/>
-      <ref name='xmlBufferGrow'/>
-      <ref name='xmlBufferLength'/>
-      <ref name='xmlBufferPtr'/>
-      <ref name='xmlBufferResize'/>
-      <ref name='xmlBufferSetAllocationScheme'/>
-      <ref name='xmlBufferShrink'/>
-      <ref name='xmlBufferWriteCHAR'/>
-      <ref name='xmlBufferWriteChar'/>
-      <ref name='xmlBufferWriteQuotedString'/>
-      <ref name='xmlBuildQName'/>
-      <ref name='xmlBuildRelativeURI'/>
-      <ref name='xmlBuildURI'/>
-      <ref name='xmlByteConsumed'/>
-      <ref name='xmlC14NDocDumpMemory'/>
-      <ref name='xmlC14NDocSave'/>
-      <ref name='xmlC14NDocSaveTo'/>
-      <ref name='xmlC14NExecute'/>
-      <ref name='xmlC14NIsVisibleCallback'/>
-      <ref name='xmlC14NMode'/>
-      <ref name='xmlCanonicPath'/>
-      <ref name='xmlCatalog'/>
-      <ref name='xmlCatalogAdd'/>
-      <ref name='xmlCatalogAddLocal'/>
-      <ref name='xmlCatalogAllow'/>
-      <ref name='xmlCatalogCleanup'/>
-      <ref name='xmlCatalogConvert'/>
-      <ref name='xmlCatalogDump'/>
-      <ref name='xmlCatalogFreeLocal'/>
-      <ref name='xmlCatalogGetDefaults'/>
-      <ref name='xmlCatalogGetPublic'/>
-      <ref name='xmlCatalogGetSystem'/>
-      <ref name='xmlCatalogIsEmpty'/>
-      <ref name='xmlCatalogLocalResolve'/>
-      <ref name='xmlCatalogLocalResolveURI'/>
-      <ref name='xmlCatalogPrefer'/>
-      <ref name='xmlCatalogPtr'/>
-      <ref name='xmlCatalogRemove'/>
-      <ref name='xmlCatalogResolve'/>
-      <ref name='xmlCatalogResolvePublic'/>
-      <ref name='xmlCatalogResolveSystem'/>
-      <ref name='xmlCatalogResolveURI'/>
-      <ref name='xmlCatalogSetDebug'/>
-      <ref name='xmlCatalogSetDefaultPrefer'/>
-      <ref name='xmlCatalogSetDefaults'/>
-      <ref name='xmlChLRange'/>
-      <ref name='xmlChLRangePtr'/>
-      <ref name='xmlChRangeGroup'/>
-      <ref name='xmlChRangeGroupPtr'/>
-      <ref name='xmlChSRange'/>
-      <ref name='xmlChSRangePtr'/>
-      <ref name='xmlChar'/>
-      <ref name='xmlCharEncCloseFunc'/>
-      <ref name='xmlCharEncFirstLine'/>
-      <ref name='xmlCharEncInFunc'/>
-      <ref name='xmlCharEncOutFunc'/>
-      <ref name='xmlCharEncoding'/>
-      <ref name='xmlCharEncodingHandler'/>
-      <ref name='xmlCharEncodingHandlerPtr'/>
-      <ref name='xmlCharEncodingInputFunc'/>
-      <ref name='xmlCharEncodingOutputFunc'/>
-      <ref name='xmlCharInRange'/>
-      <ref name='xmlCharStrdup'/>
-      <ref name='xmlCharStrndup'/>
-      <ref name='xmlCheckFilename'/>
-      <ref name='xmlCheckHTTPInput'/>
-      <ref name='xmlCheckLanguageID'/>
-      <ref name='xmlCheckUTF8'/>
-      <ref name='xmlCheckVersion'/>
-      <ref name='xmlChildElementCount'/>
-      <ref name='xmlChildrenNode'/>
-      <ref name='xmlCleanupCharEncodingHandlers'/>
-      <ref name='xmlCleanupEncodingAliases'/>
-      <ref name='xmlCleanupGlobals'/>
-      <ref name='xmlCleanupInputCallbacks'/>
-      <ref name='xmlCleanupMemory'/>
-      <ref name='xmlCleanupOutputCallbacks'/>
-      <ref name='xmlCleanupParser'/>
-      <ref name='xmlCleanupPredefinedEntities'/>
-      <ref name='xmlCleanupThreads'/>
-      <ref name='xmlClearNodeInfoSeq'/>
-      <ref name='xmlClearParserCtxt'/>
-      <ref name='xmlConvertSGMLCatalog'/>
-      <ref name='xmlCopyAttributeTable'/>
-      <ref name='xmlCopyChar'/>
-      <ref name='xmlCopyCharMultiByte'/>
-      <ref name='xmlCopyDoc'/>
-      <ref name='xmlCopyDocElementContent'/>
-      <ref name='xmlCopyDtd'/>
-      <ref name='xmlCopyElementContent'/>
-      <ref name='xmlCopyElementTable'/>
-      <ref name='xmlCopyEntitiesTable'/>
-      <ref name='xmlCopyEnumeration'/>
-      <ref name='xmlCopyError'/>
-      <ref name='xmlCopyNamespace'/>
-      <ref name='xmlCopyNamespaceList'/>
-      <ref name='xmlCopyNode'/>
-      <ref name='xmlCopyNodeList'/>
-      <ref name='xmlCopyNotationTable'/>
-      <ref name='xmlCopyProp'/>
-      <ref name='xmlCopyPropList'/>
-      <ref name='xmlCreateDocParserCtxt'/>
-      <ref name='xmlCreateEntitiesTable'/>
-      <ref name='xmlCreateEntityParserCtxt'/>
-      <ref name='xmlCreateEnumeration'/>
-      <ref name='xmlCreateFileParserCtxt'/>
-      <ref name='xmlCreateIOParserCtxt'/>
-      <ref name='xmlCreateIntSubset'/>
-      <ref name='xmlCreateMemoryParserCtxt'/>
-      <ref name='xmlCreatePushParserCtxt'/>
-      <ref name='xmlCreateURI'/>
-      <ref name='xmlCreateURLParserCtxt'/>
-      <ref name='xmlCtxtGetLastError'/>
-      <ref name='xmlCtxtReadDoc'/>
-      <ref name='xmlCtxtReadFd'/>
-      <ref name='xmlCtxtReadFile'/>
-      <ref name='xmlCtxtReadIO'/>
-      <ref name='xmlCtxtReadMemory'/>
-      <ref name='xmlCtxtReset'/>
-      <ref name='xmlCtxtResetLastError'/>
-      <ref name='xmlCtxtResetPush'/>
-      <ref name='xmlCtxtUseOptions'/>
-      <ref name='xmlCurrentChar'/>
-      <ref name='xmlDOMWrapAcquireNsFunction'/>
-      <ref name='xmlDOMWrapAdoptNode'/>
-      <ref name='xmlDOMWrapCloneNode'/>
-      <ref name='xmlDOMWrapCtxt'/>
-      <ref name='xmlDOMWrapCtxtPtr'/>
-      <ref name='xmlDOMWrapFreeCtxt'/>
-      <ref name='xmlDOMWrapNewCtxt'/>
-      <ref name='xmlDOMWrapReconcileNamespaces'/>
-      <ref name='xmlDOMWrapRemoveNode'/>
-      <ref name='xmlDebugCheckDocument'/>
-      <ref name='xmlDebugDumpAttr'/>
-      <ref name='xmlDebugDumpAttrList'/>
-      <ref name='xmlDebugDumpDTD'/>
-      <ref name='xmlDebugDumpDocument'/>
-      <ref name='xmlDebugDumpDocumentHead'/>
-      <ref name='xmlDebugDumpEntities'/>
-      <ref name='xmlDebugDumpNode'/>
-      <ref name='xmlDebugDumpNodeList'/>
-      <ref name='xmlDebugDumpOneNode'/>
-      <ref name='xmlDebugDumpString'/>
-      <ref name='xmlDecodeEntities'/>
-      <ref name='xmlDefaultBufferSize'/>
-      <ref name='xmlDefaultSAXHandler'/>
-      <ref name='xmlDefaultSAXHandlerInit'/>
-      <ref name='xmlDefaultSAXLocator'/>
-      <ref name='xmlDelEncodingAlias'/>
-      <ref name='xmlDeregisterNodeDefault'/>
-      <ref name='xmlDeregisterNodeDefaultValue'/>
-      <ref name='xmlDeregisterNodeFunc'/>
-      <ref name='xmlDetectCharEncoding'/>
-      <ref name='xmlDict'/>
-      <ref name='xmlDictCleanup'/>
-      <ref name='xmlDictCreate'/>
-      <ref name='xmlDictCreateSub'/>
-      <ref name='xmlDictExists'/>
-      <ref name='xmlDictFree'/>
-      <ref name='xmlDictGetUsage'/>
-      <ref name='xmlDictLookup'/>
-      <ref name='xmlDictOwns'/>
-      <ref name='xmlDictPtr'/>
-      <ref name='xmlDictQLookup'/>
-      <ref name='xmlDictReference'/>
-      <ref name='xmlDictSetLimit'/>
-      <ref name='xmlDictSize'/>
-      <ref name='xmlDllMain'/>
-      <ref name='xmlDoValidityCheckingDefaultValue'/>
-      <ref name='xmlDoc'/>
-      <ref name='xmlDocCopyNode'/>
-      <ref name='xmlDocCopyNodeList'/>
-      <ref name='xmlDocDump'/>
-      <ref name='xmlDocDumpFormatMemory'/>
-      <ref name='xmlDocDumpFormatMemoryEnc'/>
-      <ref name='xmlDocDumpMemory'/>
-      <ref name='xmlDocDumpMemoryEnc'/>
-      <ref name='xmlDocFormatDump'/>
-      <ref name='xmlDocGetRootElement'/>
-      <ref name='xmlDocProperties'/>
-      <ref name='xmlDocPtr'/>
-      <ref name='xmlDocSetRootElement'/>
-      <ref name='xmlDtd'/>
-      <ref name='xmlDtdPtr'/>
-      <ref name='xmlDumpAttributeDecl'/>
-      <ref name='xmlDumpAttributeTable'/>
-      <ref name='xmlDumpElementDecl'/>
-      <ref name='xmlDumpElementTable'/>
-      <ref name='xmlDumpEntitiesTable'/>
-      <ref name='xmlDumpEntityDecl'/>
-      <ref name='xmlDumpNotationDecl'/>
-      <ref name='xmlDumpNotationTable'/>
-      <ref name='xmlElemDump'/>
-      <ref name='xmlElement'/>
-      <ref name='xmlElementContent'/>
-      <ref name='xmlElementContentOccur'/>
-      <ref name='xmlElementContentPtr'/>
-      <ref name='xmlElementContentType'/>
-      <ref name='xmlElementPtr'/>
-      <ref name='xmlElementTable'/>
-      <ref name='xmlElementTablePtr'/>
-      <ref name='xmlElementType'/>
-      <ref name='xmlElementTypeVal'/>
-      <ref name='xmlEncodeEntities'/>
-      <ref name='xmlEncodeEntitiesReentrant'/>
-      <ref name='xmlEncodeSpecialChars'/>
-      <ref name='xmlEntitiesTable'/>
-      <ref name='xmlEntitiesTablePtr'/>
-      <ref name='xmlEntity'/>
-      <ref name='xmlEntityPtr'/>
-      <ref name='xmlEntityReferenceFunc'/>
-      <ref name='xmlEntityType'/>
-      <ref name='xmlEnumeration'/>
-      <ref name='xmlEnumerationPtr'/>
-      <ref name='xmlErrMemory'/>
-      <ref name='xmlError'/>
-      <ref name='xmlErrorDomain'/>
-      <ref name='xmlErrorLevel'/>
-      <ref name='xmlErrorPtr'/>
-      <ref name='xmlExpCtxt'/>
-      <ref name='xmlExpCtxtNbCons'/>
-      <ref name='xmlExpCtxtNbNodes'/>
-      <ref name='xmlExpCtxtPtr'/>
-      <ref name='xmlExpDump'/>
-      <ref name='xmlExpExpDerive'/>
-      <ref name='xmlExpFree'/>
-      <ref name='xmlExpFreeCtxt'/>
-      <ref name='xmlExpGetLanguage'/>
-      <ref name='xmlExpGetStart'/>
-      <ref name='xmlExpIsNillable'/>
-      <ref name='xmlExpMaxToken'/>
-      <ref name='xmlExpNewAtom'/>
-      <ref name='xmlExpNewCtxt'/>
-      <ref name='xmlExpNewOr'/>
-      <ref name='xmlExpNewRange'/>
-      <ref name='xmlExpNewSeq'/>
-      <ref name='xmlExpNode'/>
-      <ref name='xmlExpNodePtr'/>
-      <ref name='xmlExpNodeType'/>
-      <ref name='xmlExpParse'/>
-      <ref name='xmlExpRef'/>
-      <ref name='xmlExpStringDerive'/>
-      <ref name='xmlExpSubsume'/>
-      <ref name='xmlExternalEntityLoader'/>
-      <ref name='xmlFeature'/>
-      <ref name='xmlFileClose'/>
-      <ref name='xmlFileMatch'/>
-      <ref name='xmlFileOpen'/>
-      <ref name='xmlFileRead'/>
-      <ref name='xmlFindCharEncodingHandler'/>
-      <ref name='xmlFirstElementChild'/>
-      <ref name='xmlFree'/>
-      <ref name='xmlFreeAttributeTable'/>
-      <ref name='xmlFreeAutomata'/>
-      <ref name='xmlFreeCatalog'/>
-      <ref name='xmlFreeDoc'/>
-      <ref name='xmlFreeDocElementContent'/>
-      <ref name='xmlFreeDtd'/>
-      <ref name='xmlFreeElementContent'/>
-      <ref name='xmlFreeElementTable'/>
-      <ref name='xmlFreeEntitiesTable'/>
-      <ref name='xmlFreeEnumeration'/>
-      <ref name='xmlFreeFunc'/>
-      <ref name='xmlFreeIDTable'/>
-      <ref name='xmlFreeInputStream'/>
-      <ref name='xmlFreeMutex'/>
-      <ref name='xmlFreeNode'/>
-      <ref name='xmlFreeNodeList'/>
-      <ref name='xmlFreeNotationTable'/>
-      <ref name='xmlFreeNs'/>
-      <ref name='xmlFreeNsList'/>
-      <ref name='xmlFreeParserCtxt'/>
-      <ref name='xmlFreeParserInputBuffer'/>
-      <ref name='xmlFreePattern'/>
-      <ref name='xmlFreePatternList'/>
-      <ref name='xmlFreeProp'/>
-      <ref name='xmlFreePropList'/>
-      <ref name='xmlFreeRMutex'/>
-      <ref name='xmlFreeRefTable'/>
-      <ref name='xmlFreeStreamCtxt'/>
-      <ref name='xmlFreeTextReader'/>
-      <ref name='xmlFreeTextWriter'/>
-      <ref name='xmlFreeURI'/>
-      <ref name='xmlFreeValidCtxt'/>
-      <ref name='xmlGcMemGet'/>
-      <ref name='xmlGcMemSetup'/>
-      <ref name='xmlGenericError'/>
-      <ref name='xmlGenericErrorContext'/>
-      <ref name='xmlGenericErrorFunc'/>
-      <ref name='xmlGetBufferAllocationScheme'/>
-      <ref name='xmlGetCharEncodingHandler'/>
-      <ref name='xmlGetCharEncodingName'/>
-      <ref name='xmlGetCompressMode'/>
-      <ref name='xmlGetDocCompressMode'/>
-      <ref name='xmlGetDocEntity'/>
-      <ref name='xmlGetDtdAttrDesc'/>
-      <ref name='xmlGetDtdElementDesc'/>
-      <ref name='xmlGetDtdEntity'/>
-      <ref name='xmlGetDtdNotationDesc'/>
-      <ref name='xmlGetDtdQAttrDesc'/>
-      <ref name='xmlGetDtdQElementDesc'/>
-      <ref name='xmlGetEncodingAlias'/>
-      <ref name='xmlGetExternalEntityLoader'/>
-      <ref name='xmlGetFeature'/>
-      <ref name='xmlGetFeaturesList'/>
-      <ref name='xmlGetGlobalState'/>
-      <ref name='xmlGetID'/>
-      <ref name='xmlGetIntSubset'/>
-      <ref name='xmlGetLastChild'/>
-      <ref name='xmlGetLastError'/>
-      <ref name='xmlGetLineNo'/>
-      <ref name='xmlGetNoNsProp'/>
-      <ref name='xmlGetNodePath'/>
-      <ref name='xmlGetNsList'/>
-      <ref name='xmlGetNsProp'/>
-      <ref name='xmlGetParameterEntity'/>
-      <ref name='xmlGetPredefinedEntity'/>
-      <ref name='xmlGetProp'/>
-      <ref name='xmlGetRefs'/>
-      <ref name='xmlGetThreadId'/>
-      <ref name='xmlGetUTF8Char'/>
-      <ref name='xmlGetWarningsDefaultValue'/>
-      <ref name='xmlGlobalState'/>
-      <ref name='xmlGlobalStatePtr'/>
-      <ref name='xmlHandleEntity'/>
-      <ref name='xmlHasFeature'/>
-      <ref name='xmlHasNsProp'/>
-      <ref name='xmlHasProp'/>
-      <ref name='xmlHashAddEntry'/>
-      <ref name='xmlHashAddEntry2'/>
-      <ref name='xmlHashAddEntry3'/>
-      <ref name='xmlHashCopier'/>
-      <ref name='xmlHashCopy'/>
-      <ref name='xmlHashCreate'/>
-      <ref name='xmlHashCreateDict'/>
-      <ref name='xmlHashDeallocator'/>
-      <ref name='xmlHashDefaultDeallocator'/>
-      <ref name='xmlHashFree'/>
-      <ref name='xmlHashLookup'/>
-      <ref name='xmlHashLookup2'/>
-      <ref name='xmlHashLookup3'/>
-      <ref name='xmlHashQLookup'/>
-      <ref name='xmlHashQLookup2'/>
-      <ref name='xmlHashQLookup3'/>
-      <ref name='xmlHashRemoveEntry'/>
-      <ref name='xmlHashRemoveEntry2'/>
-      <ref name='xmlHashRemoveEntry3'/>
-      <ref name='xmlHashScan'/>
-      <ref name='xmlHashScan3'/>
-      <ref name='xmlHashScanFull'/>
-      <ref name='xmlHashScanFull3'/>
-      <ref name='xmlHashScanner'/>
-      <ref name='xmlHashScannerFull'/>
-      <ref name='xmlHashSize'/>
-      <ref name='xmlHashTable'/>
-      <ref name='xmlHashTablePtr'/>
-      <ref name='xmlHashUpdateEntry'/>
-      <ref name='xmlHashUpdateEntry2'/>
-      <ref name='xmlHashUpdateEntry3'/>
-      <ref name='xmlID'/>
-      <ref name='xmlIDPtr'/>
-      <ref name='xmlIDTable'/>
-      <ref name='xmlIDTablePtr'/>
-      <ref name='xmlIOFTPClose'/>
-      <ref name='xmlIOFTPMatch'/>
-      <ref name='xmlIOFTPOpen'/>
-      <ref name='xmlIOFTPRead'/>
-      <ref name='xmlIOHTTPClose'/>
-      <ref name='xmlIOHTTPMatch'/>
-      <ref name='xmlIOHTTPOpen'/>
-      <ref name='xmlIOHTTPOpenW'/>
-      <ref name='xmlIOHTTPRead'/>
-      <ref name='xmlIOParseDTD'/>
-      <ref name='xmlIndentTreeOutput'/>
-      <ref name='xmlInitCharEncodingHandlers'/>
-      <ref name='xmlInitGlobals'/>
-      <ref name='xmlInitMemory'/>
-      <ref name='xmlInitNodeInfoSeq'/>
-      <ref name='xmlInitParser'/>
-      <ref name='xmlInitParserCtxt'/>
-      <ref name='xmlInitThreads'/>
-      <ref name='xmlInitializeCatalog'/>
-      <ref name='xmlInitializeDict'/>
-      <ref name='xmlInitializeGlobalState'/>
-      <ref name='xmlInitializePredefinedEntities'/>
-      <ref name='xmlInputCloseCallback'/>
-      <ref name='xmlInputMatchCallback'/>
-      <ref name='xmlInputOpenCallback'/>
-      <ref name='xmlInputReadCallback'/>
-      <ref name='xmlIsBaseChar'/>
-      <ref name='xmlIsBaseCharGroup'/>
-      <ref name='xmlIsBaseCharQ'/>
-      <ref name='xmlIsBaseChar_ch'/>
-      <ref name='xmlIsBlank'/>
-      <ref name='xmlIsBlankNode'/>
-      <ref name='xmlIsBlankQ'/>
-      <ref name='xmlIsBlank_ch'/>
-      <ref name='xmlIsChar'/>
-      <ref name='xmlIsCharGroup'/>
-      <ref name='xmlIsCharQ'/>
-      <ref name='xmlIsChar_ch'/>
-      <ref name='xmlIsCombining'/>
-      <ref name='xmlIsCombiningGroup'/>
-      <ref name='xmlIsCombiningQ'/>
-      <ref name='xmlIsDigit'/>
-      <ref name='xmlIsDigitGroup'/>
-      <ref name='xmlIsDigitQ'/>
-      <ref name='xmlIsDigit_ch'/>
-      <ref name='xmlIsExtender'/>
-      <ref name='xmlIsExtenderGroup'/>
-      <ref name='xmlIsExtenderQ'/>
-      <ref name='xmlIsExtender_ch'/>
-      <ref name='xmlIsID'/>
-      <ref name='xmlIsIdeographic'/>
-      <ref name='xmlIsIdeographicGroup'/>
-      <ref name='xmlIsIdeographicQ'/>
-      <ref name='xmlIsLetter'/>
-      <ref name='xmlIsMainThread'/>
-      <ref name='xmlIsMixedElement'/>
-      <ref name='xmlIsPubidChar'/>
-      <ref name='xmlIsPubidCharQ'/>
-      <ref name='xmlIsPubidChar_ch'/>
-      <ref name='xmlIsPubidChar_tab'/>
-      <ref name='xmlIsRef'/>
-      <ref name='xmlIsXHTML'/>
-      <ref name='xmlKeepBlanksDefault'/>
-      <ref name='xmlKeepBlanksDefaultValue'/>
-      <ref name='xmlLastElementChild'/>
-      <ref name='xmlLastError'/>
-      <ref name='xmlLineNumbersDefault'/>
-      <ref name='xmlLineNumbersDefaultValue'/>
-      <ref name='xmlLink'/>
-      <ref name='xmlLinkGetData'/>
-      <ref name='xmlLinkPtr'/>
-      <ref name='xmlList'/>
-      <ref name='xmlListAppend'/>
-      <ref name='xmlListClear'/>
-      <ref name='xmlListCopy'/>
-      <ref name='xmlListCreate'/>
-      <ref name='xmlListDataCompare'/>
-      <ref name='xmlListDeallocator'/>
-      <ref name='xmlListDelete'/>
-      <ref name='xmlListDup'/>
-      <ref name='xmlListEmpty'/>
-      <ref name='xmlListEnd'/>
-      <ref name='xmlListFront'/>
-      <ref name='xmlListInsert'/>
-      <ref name='xmlListMerge'/>
-      <ref name='xmlListPopBack'/>
-      <ref name='xmlListPopFront'/>
-      <ref name='xmlListPtr'/>
-      <ref name='xmlListPushBack'/>
-      <ref name='xmlListPushFront'/>
-      <ref name='xmlListRemoveAll'/>
-      <ref name='xmlListRemoveFirst'/>
-      <ref name='xmlListRemoveLast'/>
-      <ref name='xmlListReverse'/>
-      <ref name='xmlListReverseSearch'/>
-      <ref name='xmlListReverseWalk'/>
-      <ref name='xmlListSearch'/>
-      <ref name='xmlListSize'/>
-      <ref name='xmlListSort'/>
-      <ref name='xmlListWalk'/>
-      <ref name='xmlListWalker'/>
-      <ref name='xmlLoadACatalog'/>
-      <ref name='xmlLoadCatalog'/>
-      <ref name='xmlLoadCatalogs'/>
-      <ref name='xmlLoadExtDtdDefaultValue'/>
-      <ref name='xmlLoadExternalEntity'/>
-      <ref name='xmlLoadSGMLSuperCatalog'/>
-      <ref name='xmlLocationSet'/>
-      <ref name='xmlLocationSetPtr'/>
-      <ref name='xmlLockLibrary'/>
-      <ref name='xmlLsCountNode'/>
-      <ref name='xmlLsOneNode'/>
-      <ref name='xmlMalloc'/>
-      <ref name='xmlMallocAtomic'/>
-      <ref name='xmlMallocAtomicLoc'/>
-      <ref name='xmlMallocFunc'/>
-      <ref name='xmlMallocLoc'/>
-      <ref name='xmlMemBlocks'/>
-      <ref name='xmlMemDisplay'/>
-      <ref name='xmlMemDisplayLast'/>
-      <ref name='xmlMemFree'/>
-      <ref name='xmlMemGet'/>
-      <ref name='xmlMemMalloc'/>
-      <ref name='xmlMemRealloc'/>
-      <ref name='xmlMemSetup'/>
-      <ref name='xmlMemShow'/>
-      <ref name='xmlMemStrdup'/>
-      <ref name='xmlMemStrdupLoc'/>
-      <ref name='xmlMemUsed'/>
-      <ref name='xmlMemoryDump'/>
-      <ref name='xmlMemoryStrdup'/>
-      <ref name='xmlModule'/>
-      <ref name='xmlModuleClose'/>
-      <ref name='xmlModuleFree'/>
-      <ref name='xmlModuleOpen'/>
-      <ref name='xmlModuleOption'/>
-      <ref name='xmlModulePtr'/>
-      <ref name='xmlModuleSymbol'/>
-      <ref name='xmlMutex'/>
-      <ref name='xmlMutexLock'/>
-      <ref name='xmlMutexPtr'/>
-      <ref name='xmlMutexUnlock'/>
-      <ref name='xmlNamespaceParseNCName'/>
-      <ref name='xmlNamespaceParseNSDef'/>
-      <ref name='xmlNamespaceParseQName'/>
-      <ref name='xmlNanoFTPCheckResponse'/>
-      <ref name='xmlNanoFTPCleanup'/>
-      <ref name='xmlNanoFTPClose'/>
-      <ref name='xmlNanoFTPCloseConnection'/>
-      <ref name='xmlNanoFTPConnect'/>
-      <ref name='xmlNanoFTPConnectTo'/>
-      <ref name='xmlNanoFTPCwd'/>
-      <ref name='xmlNanoFTPDele'/>
-      <ref name='xmlNanoFTPFreeCtxt'/>
-      <ref name='xmlNanoFTPGet'/>
-      <ref name='xmlNanoFTPGetConnection'/>
-      <ref name='xmlNanoFTPGetResponse'/>
-      <ref name='xmlNanoFTPGetSocket'/>
-      <ref name='xmlNanoFTPInit'/>
-      <ref name='xmlNanoFTPList'/>
-      <ref name='xmlNanoFTPNewCtxt'/>
-      <ref name='xmlNanoFTPOpen'/>
-      <ref name='xmlNanoFTPProxy'/>
-      <ref name='xmlNanoFTPQuit'/>
-      <ref name='xmlNanoFTPRead'/>
-      <ref name='xmlNanoFTPScanProxy'/>
-      <ref name='xmlNanoFTPUpdateURL'/>
-      <ref name='xmlNanoHTTPAuthHeader'/>
-      <ref name='xmlNanoHTTPCleanup'/>
-      <ref name='xmlNanoHTTPClose'/>
-      <ref name='xmlNanoHTTPContentLength'/>
-      <ref name='xmlNanoHTTPEncoding'/>
-      <ref name='xmlNanoHTTPFetch'/>
-      <ref name='xmlNanoHTTPInit'/>
-      <ref name='xmlNanoHTTPMethod'/>
-      <ref name='xmlNanoHTTPMethodRedir'/>
-      <ref name='xmlNanoHTTPMimeType'/>
-      <ref name='xmlNanoHTTPOpen'/>
-      <ref name='xmlNanoHTTPOpenRedir'/>
-      <ref name='xmlNanoHTTPRead'/>
-      <ref name='xmlNanoHTTPRedir'/>
-      <ref name='xmlNanoHTTPReturnCode'/>
-      <ref name='xmlNanoHTTPSave'/>
-      <ref name='xmlNanoHTTPScanProxy'/>
-      <ref name='xmlNewAutomata'/>
-      <ref name='xmlNewCDataBlock'/>
-      <ref name='xmlNewCatalog'/>
-      <ref name='xmlNewCharEncodingHandler'/>
-      <ref name='xmlNewCharRef'/>
-      <ref name='xmlNewChild'/>
-      <ref name='xmlNewComment'/>
-      <ref name='xmlNewDoc'/>
-      <ref name='xmlNewDocComment'/>
-      <ref name='xmlNewDocElementContent'/>
-      <ref name='xmlNewDocFragment'/>
-      <ref name='xmlNewDocNode'/>
-      <ref name='xmlNewDocNodeEatName'/>
-      <ref name='xmlNewDocPI'/>
-      <ref name='xmlNewDocProp'/>
-      <ref name='xmlNewDocRawNode'/>
-      <ref name='xmlNewDocText'/>
-      <ref name='xmlNewDocTextLen'/>
-      <ref name='xmlNewDtd'/>
-      <ref name='xmlNewElementContent'/>
-      <ref name='xmlNewEntity'/>
-      <ref name='xmlNewEntityInputStream'/>
-      <ref name='xmlNewGlobalNs'/>
-      <ref name='xmlNewIOInputStream'/>
-      <ref name='xmlNewInputFromFile'/>
-      <ref name='xmlNewInputStream'/>
-      <ref name='xmlNewMutex'/>
-      <ref name='xmlNewNode'/>
-      <ref name='xmlNewNodeEatName'/>
-      <ref name='xmlNewNs'/>
-      <ref name='xmlNewNsProp'/>
-      <ref name='xmlNewNsPropEatName'/>
-      <ref name='xmlNewPI'/>
-      <ref name='xmlNewParserCtxt'/>
-      <ref name='xmlNewProp'/>
-      <ref name='xmlNewRMutex'/>
-      <ref name='xmlNewReference'/>
-      <ref name='xmlNewStringInputStream'/>
-      <ref name='xmlNewText'/>
-      <ref name='xmlNewTextChild'/>
-      <ref name='xmlNewTextLen'/>
-      <ref name='xmlNewTextReader'/>
-      <ref name='xmlNewTextReaderFilename'/>
-      <ref name='xmlNewTextWriter'/>
-      <ref name='xmlNewTextWriterDoc'/>
-      <ref name='xmlNewTextWriterFilename'/>
-      <ref name='xmlNewTextWriterMemory'/>
-      <ref name='xmlNewTextWriterPushParser'/>
-      <ref name='xmlNewTextWriterTree'/>
-      <ref name='xmlNewValidCtxt'/>
-      <ref name='xmlNextChar'/>
-      <ref name='xmlNextElementSibling'/>
-      <ref name='xmlNoNetExternalEntityLoader'/>
-      <ref name='xmlNode'/>
-      <ref name='xmlNodeAddContent'/>
-      <ref name='xmlNodeAddContentLen'/>
-      <ref name='xmlNodeBufGetContent'/>
-      <ref name='xmlNodeDump'/>
-      <ref name='xmlNodeDumpOutput'/>
-      <ref name='xmlNodeGetBase'/>
-      <ref name='xmlNodeGetContent'/>
-      <ref name='xmlNodeGetLang'/>
-      <ref name='xmlNodeGetSpacePreserve'/>
-      <ref name='xmlNodeIsText'/>
-      <ref name='xmlNodeListGetRawString'/>
-      <ref name='xmlNodeListGetString'/>
-      <ref name='xmlNodePtr'/>
-      <ref name='xmlNodeSet'/>
-      <ref name='xmlNodeSetBase'/>
-      <ref name='xmlNodeSetContent'/>
-      <ref name='xmlNodeSetContentLen'/>
-      <ref name='xmlNodeSetLang'/>
-      <ref name='xmlNodeSetName'/>
-      <ref name='xmlNodeSetPtr'/>
-      <ref name='xmlNodeSetSpacePreserve'/>
-      <ref name='xmlNormalizeURIPath'/>
-      <ref name='xmlNormalizeWindowsPath'/>
-      <ref name='xmlNotation'/>
-      <ref name='xmlNotationPtr'/>
-      <ref name='xmlNotationTable'/>
-      <ref name='xmlNotationTablePtr'/>
-      <ref name='xmlNs'/>
-      <ref name='xmlNsPtr'/>
-      <ref name='xmlNsType'/>
-      <ref name='xmlOutputBuffer'/>
-      <ref name='xmlOutputBufferClose'/>
-      <ref name='xmlOutputBufferCreateBuffer'/>
-      <ref name='xmlOutputBufferCreateFd'/>
-      <ref name='xmlOutputBufferCreateFile'/>
-      <ref name='xmlOutputBufferCreateFilename'/>
-      <ref name='xmlOutputBufferCreateFilenameDefault'/>
-      <ref name='xmlOutputBufferCreateFilenameFunc'/>
-      <ref name='xmlOutputBufferCreateFilenameValue'/>
-      <ref name='xmlOutputBufferCreateIO'/>
-      <ref name='xmlOutputBufferFlush'/>
-      <ref name='xmlOutputBufferGetContent'/>
-      <ref name='xmlOutputBufferGetSize'/>
-      <ref name='xmlOutputBufferPtr'/>
-      <ref name='xmlOutputBufferWrite'/>
-      <ref name='xmlOutputBufferWriteEscape'/>
-      <ref name='xmlOutputBufferWriteString'/>
-      <ref name='xmlOutputCloseCallback'/>
-      <ref name='xmlOutputMatchCallback'/>
-      <ref name='xmlOutputOpenCallback'/>
-      <ref name='xmlOutputWriteCallback'/>
-      <ref name='xmlParseAttValue'/>
-      <ref name='xmlParseAttribute'/>
-      <ref name='xmlParseAttributeListDecl'/>
-      <ref name='xmlParseAttributeType'/>
-      <ref name='xmlParseBalancedChunkMemory'/>
-      <ref name='xmlParseBalancedChunkMemoryRecover'/>
-      <ref name='xmlParseCDSect'/>
-      <ref name='xmlParseCatalogFile'/>
-      <ref name='xmlParseCharData'/>
-      <ref name='xmlParseCharEncoding'/>
-      <ref name='xmlParseCharRef'/>
-      <ref name='xmlParseChunk'/>
-      <ref name='xmlParseComment'/>
-      <ref name='xmlParseContent'/>
-      <ref name='xmlParseCtxtExternalEntity'/>
-      <ref name='xmlParseDTD'/>
-      <ref name='xmlParseDefaultDecl'/>
-      <ref name='xmlParseDoc'/>
-      <ref name='xmlParseDocTypeDecl'/>
-      <ref name='xmlParseDocument'/>
-      <ref name='xmlParseElement'/>
-      <ref name='xmlParseElementChildrenContentDecl'/>
-      <ref name='xmlParseElementContentDecl'/>
-      <ref name='xmlParseElementDecl'/>
-      <ref name='xmlParseElementMixedContentDecl'/>
-      <ref name='xmlParseEncName'/>
-      <ref name='xmlParseEncodingDecl'/>
-      <ref name='xmlParseEndTag'/>
-      <ref name='xmlParseEntity'/>
-      <ref name='xmlParseEntityDecl'/>
-      <ref name='xmlParseEntityRef'/>
-      <ref name='xmlParseEntityValue'/>
-      <ref name='xmlParseEnumeratedType'/>
-      <ref name='xmlParseEnumerationType'/>
-      <ref name='xmlParseExtParsedEnt'/>
-      <ref name='xmlParseExternalEntity'/>
-      <ref name='xmlParseExternalID'/>
-      <ref name='xmlParseExternalSubset'/>
-      <ref name='xmlParseFile'/>
-      <ref name='xmlParseInNodeContext'/>
-      <ref name='xmlParseMarkupDecl'/>
-      <ref name='xmlParseMemory'/>
-      <ref name='xmlParseMisc'/>
-      <ref name='xmlParseName'/>
-      <ref name='xmlParseNamespace'/>
-      <ref name='xmlParseNmtoken'/>
-      <ref name='xmlParseNotationDecl'/>
-      <ref name='xmlParseNotationType'/>
-      <ref name='xmlParsePEReference'/>
-      <ref name='xmlParsePI'/>
-      <ref name='xmlParsePITarget'/>
-      <ref name='xmlParsePubidLiteral'/>
-      <ref name='xmlParseQuotedString'/>
-      <ref name='xmlParseReference'/>
-      <ref name='xmlParseSDDecl'/>
-      <ref name='xmlParseStartTag'/>
-      <ref name='xmlParseSystemLiteral'/>
-      <ref name='xmlParseTextDecl'/>
-      <ref name='xmlParseURI'/>
-      <ref name='xmlParseURIRaw'/>
-      <ref name='xmlParseURIReference'/>
-      <ref name='xmlParseVersionInfo'/>
-      <ref name='xmlParseVersionNum'/>
-      <ref name='xmlParseXMLDecl'/>
-      <ref name='xmlParserAddNodeInfo'/>
-      <ref name='xmlParserCtxt'/>
-      <ref name='xmlParserCtxtPtr'/>
-      <ref name='xmlParserDebugEntities'/>
-      <ref name='xmlParserError'/>
-      <ref name='xmlParserErrors'/>
-      <ref name='xmlParserFindNodeInfo'/>
-      <ref name='xmlParserFindNodeInfoIndex'/>
-      <ref name='xmlParserGetDirectory'/>
-      <ref name='xmlParserHandlePEReference'/>
-      <ref name='xmlParserHandleReference'/>
-      <ref name='xmlParserInput'/>
-      <ref name='xmlParserInputBuffer'/>
-      <ref name='xmlParserInputBufferCreateFd'/>
-      <ref name='xmlParserInputBufferCreateFile'/>
-      <ref name='xmlParserInputBufferCreateFilename'/>
-      <ref name='xmlParserInputBufferCreateFilenameDefault'/>
-      <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-      <ref name='xmlParserInputBufferCreateFilenameValue'/>
-      <ref name='xmlParserInputBufferCreateIO'/>
-      <ref name='xmlParserInputBufferCreateMem'/>
-      <ref name='xmlParserInputBufferCreateStatic'/>
-      <ref name='xmlParserInputBufferGrow'/>
-      <ref name='xmlParserInputBufferPtr'/>
-      <ref name='xmlParserInputBufferPush'/>
-      <ref name='xmlParserInputBufferRead'/>
-      <ref name='xmlParserInputDeallocate'/>
-      <ref name='xmlParserInputGrow'/>
-      <ref name='xmlParserInputPtr'/>
-      <ref name='xmlParserInputRead'/>
-      <ref name='xmlParserInputShrink'/>
-      <ref name='xmlParserInputState'/>
-      <ref name='xmlParserMaxDepth'/>
-      <ref name='xmlParserMode'/>
-      <ref name='xmlParserNodeInfo'/>
-      <ref name='xmlParserNodeInfoPtr'/>
-      <ref name='xmlParserNodeInfoSeq'/>
-      <ref name='xmlParserNodeInfoSeqPtr'/>
-      <ref name='xmlParserOption'/>
-      <ref name='xmlParserPrintFileContext'/>
-      <ref name='xmlParserPrintFileInfo'/>
-      <ref name='xmlParserProperties'/>
-      <ref name='xmlParserSeverities'/>
-      <ref name='xmlParserValidityError'/>
-      <ref name='xmlParserValidityWarning'/>
-      <ref name='xmlParserVersion'/>
-      <ref name='xmlParserWarning'/>
-      <ref name='xmlPathToURI'/>
-      <ref name='xmlPattern'/>
-      <ref name='xmlPatternFlags'/>
-      <ref name='xmlPatternFromRoot'/>
-      <ref name='xmlPatternGetStreamCtxt'/>
-      <ref name='xmlPatternMatch'/>
-      <ref name='xmlPatternMaxDepth'/>
-      <ref name='xmlPatternMinDepth'/>
-      <ref name='xmlPatternPtr'/>
-      <ref name='xmlPatternStreamable'/>
-      <ref name='xmlPatterncompile'/>
-      <ref name='xmlPedanticParserDefault'/>
-      <ref name='xmlPedanticParserDefaultValue'/>
-      <ref name='xmlPopInput'/>
-      <ref name='xmlPopInputCallbacks'/>
-      <ref name='xmlPopOutputCallbacks'/>
-      <ref name='xmlPreviousElementSibling'/>
-      <ref name='xmlPrintURI'/>
-      <ref name='xmlPushInput'/>
-      <ref name='xmlRMutex'/>
-      <ref name='xmlRMutexLock'/>
-      <ref name='xmlRMutexPtr'/>
-      <ref name='xmlRMutexUnlock'/>
-      <ref name='xmlReadDoc'/>
-      <ref name='xmlReadFd'/>
-      <ref name='xmlReadFile'/>
-      <ref name='xmlReadIO'/>
-      <ref name='xmlReadMemory'/>
-      <ref name='xmlReaderForDoc'/>
-      <ref name='xmlReaderForFd'/>
-      <ref name='xmlReaderForFile'/>
-      <ref name='xmlReaderForIO'/>
-      <ref name='xmlReaderForMemory'/>
-      <ref name='xmlReaderNewDoc'/>
-      <ref name='xmlReaderNewFd'/>
-      <ref name='xmlReaderNewFile'/>
-      <ref name='xmlReaderNewIO'/>
-      <ref name='xmlReaderNewMemory'/>
-      <ref name='xmlReaderNewWalker'/>
-      <ref name='xmlReaderTypes'/>
-      <ref name='xmlReaderWalker'/>
-      <ref name='xmlRealloc'/>
-      <ref name='xmlReallocFunc'/>
-      <ref name='xmlReallocLoc'/>
-      <ref name='xmlReconciliateNs'/>
-      <ref name='xmlRecoverDoc'/>
-      <ref name='xmlRecoverFile'/>
-      <ref name='xmlRecoverMemory'/>
-      <ref name='xmlRef'/>
-      <ref name='xmlRefPtr'/>
-      <ref name='xmlRefTable'/>
-      <ref name='xmlRefTablePtr'/>
-      <ref name='xmlRegExecCallbacks'/>
-      <ref name='xmlRegExecCtxt'/>
-      <ref name='xmlRegExecCtxtPtr'/>
-      <ref name='xmlRegExecErrInfo'/>
-      <ref name='xmlRegExecNextValues'/>
-      <ref name='xmlRegExecPushString'/>
-      <ref name='xmlRegExecPushString2'/>
-      <ref name='xmlRegFreeExecCtxt'/>
-      <ref name='xmlRegFreeRegexp'/>
-      <ref name='xmlRegNewExecCtxt'/>
-      <ref name='xmlRegexp'/>
-      <ref name='xmlRegexpCompile'/>
-      <ref name='xmlRegexpExec'/>
-      <ref name='xmlRegexpIsDeterminist'/>
-      <ref name='xmlRegexpPrint'/>
-      <ref name='xmlRegexpPtr'/>
-      <ref name='xmlRegisterCharEncodingHandler'/>
-      <ref name='xmlRegisterDefaultInputCallbacks'/>
-      <ref name='xmlRegisterDefaultOutputCallbacks'/>
-      <ref name='xmlRegisterHTTPPostCallbacks'/>
-      <ref name='xmlRegisterInputCallbacks'/>
-      <ref name='xmlRegisterNodeDefault'/>
-      <ref name='xmlRegisterNodeDefaultValue'/>
-      <ref name='xmlRegisterNodeFunc'/>
-      <ref name='xmlRegisterOutputCallbacks'/>
-      <ref name='xmlRelaxNG'/>
-      <ref name='xmlRelaxNGCleanupTypes'/>
-      <ref name='xmlRelaxNGDump'/>
-      <ref name='xmlRelaxNGDumpTree'/>
-      <ref name='xmlRelaxNGFree'/>
-      <ref name='xmlRelaxNGFreeParserCtxt'/>
-      <ref name='xmlRelaxNGFreeValidCtxt'/>
-      <ref name='xmlRelaxNGGetParserErrors'/>
-      <ref name='xmlRelaxNGGetValidErrors'/>
-      <ref name='xmlRelaxNGInitTypes'/>
-      <ref name='xmlRelaxNGNewDocParserCtxt'/>
-      <ref name='xmlRelaxNGNewMemParserCtxt'/>
-      <ref name='xmlRelaxNGNewParserCtxt'/>
-      <ref name='xmlRelaxNGNewValidCtxt'/>
-      <ref name='xmlRelaxNGParse'/>
-      <ref name='xmlRelaxNGParserCtxt'/>
-      <ref name='xmlRelaxNGParserCtxtPtr'/>
-      <ref name='xmlRelaxNGParserFlag'/>
-      <ref name='xmlRelaxNGPtr'/>
-      <ref name='xmlRelaxNGSetParserErrors'/>
-      <ref name='xmlRelaxNGSetParserStructuredErrors'/>
-      <ref name='xmlRelaxNGSetValidErrors'/>
-      <ref name='xmlRelaxNGSetValidStructuredErrors'/>
-      <ref name='xmlRelaxNGValidCtxt'/>
-      <ref name='xmlRelaxNGValidCtxtPtr'/>
-      <ref name='xmlRelaxNGValidErr'/>
-      <ref name='xmlRelaxNGValidateDoc'/>
-      <ref name='xmlRelaxNGValidateFullElement'/>
-      <ref name='xmlRelaxNGValidatePopElement'/>
-      <ref name='xmlRelaxNGValidatePushCData'/>
-      <ref name='xmlRelaxNGValidatePushElement'/>
-      <ref name='xmlRelaxNGValidityErrorFunc'/>
-      <ref name='xmlRelaxNGValidityWarningFunc'/>
-      <ref name='xmlRelaxParserSetFlag'/>
-      <ref name='xmlRemoveID'/>
-      <ref name='xmlRemoveProp'/>
-      <ref name='xmlRemoveRef'/>
-      <ref name='xmlReplaceNode'/>
-      <ref name='xmlResetError'/>
-      <ref name='xmlResetLastError'/>
-      <ref name='xmlRootNode'/>
-      <ref name='xmlSAX2AttributeDecl'/>
-      <ref name='xmlSAX2CDataBlock'/>
-      <ref name='xmlSAX2Characters'/>
-      <ref name='xmlSAX2Comment'/>
-      <ref name='xmlSAX2ElementDecl'/>
-      <ref name='xmlSAX2EndDocument'/>
-      <ref name='xmlSAX2EndElement'/>
-      <ref name='xmlSAX2EndElementNs'/>
-      <ref name='xmlSAX2EntityDecl'/>
-      <ref name='xmlSAX2ExternalSubset'/>
-      <ref name='xmlSAX2GetColumnNumber'/>
-      <ref name='xmlSAX2GetEntity'/>
-      <ref name='xmlSAX2GetLineNumber'/>
-      <ref name='xmlSAX2GetParameterEntity'/>
-      <ref name='xmlSAX2GetPublicId'/>
-      <ref name='xmlSAX2GetSystemId'/>
-      <ref name='xmlSAX2HasExternalSubset'/>
-      <ref name='xmlSAX2HasInternalSubset'/>
-      <ref name='xmlSAX2IgnorableWhitespace'/>
-      <ref name='xmlSAX2InitDefaultSAXHandler'/>
-      <ref name='xmlSAX2InitDocbDefaultSAXHandler'/>
-      <ref name='xmlSAX2InitHtmlDefaultSAXHandler'/>
-      <ref name='xmlSAX2InternalSubset'/>
-      <ref name='xmlSAX2IsStandalone'/>
-      <ref name='xmlSAX2NotationDecl'/>
-      <ref name='xmlSAX2ProcessingInstruction'/>
-      <ref name='xmlSAX2Reference'/>
-      <ref name='xmlSAX2ResolveEntity'/>
-      <ref name='xmlSAX2SetDocumentLocator'/>
-      <ref name='xmlSAX2StartDocument'/>
-      <ref name='xmlSAX2StartElement'/>
-      <ref name='xmlSAX2StartElementNs'/>
-      <ref name='xmlSAX2UnparsedEntityDecl'/>
-      <ref name='xmlSAXDefaultVersion'/>
-      <ref name='xmlSAXHandler'/>
-      <ref name='xmlSAXHandlerPtr'/>
-      <ref name='xmlSAXHandlerV1'/>
-      <ref name='xmlSAXHandlerV1Ptr'/>
-      <ref name='xmlSAXLocator'/>
-      <ref name='xmlSAXLocatorPtr'/>
-      <ref name='xmlSAXParseDTD'/>
-      <ref name='xmlSAXParseDoc'/>
-      <ref name='xmlSAXParseEntity'/>
-      <ref name='xmlSAXParseFile'/>
-      <ref name='xmlSAXParseFileWithData'/>
-      <ref name='xmlSAXParseMemory'/>
-      <ref name='xmlSAXParseMemoryWithData'/>
-      <ref name='xmlSAXUserParseFile'/>
-      <ref name='xmlSAXUserParseMemory'/>
-      <ref name='xmlSAXVersion'/>
-      <ref name='xmlSaveClose'/>
-      <ref name='xmlSaveCtxt'/>
-      <ref name='xmlSaveCtxtPtr'/>
-      <ref name='xmlSaveDoc'/>
-      <ref name='xmlSaveFile'/>
-      <ref name='xmlSaveFileEnc'/>
-      <ref name='xmlSaveFileTo'/>
-      <ref name='xmlSaveFlush'/>
-      <ref name='xmlSaveFormatFile'/>
-      <ref name='xmlSaveFormatFileEnc'/>
-      <ref name='xmlSaveFormatFileTo'/>
-      <ref name='xmlSaveNoEmptyTags'/>
-      <ref name='xmlSaveOption'/>
-      <ref name='xmlSaveSetAttrEscape'/>
-      <ref name='xmlSaveSetEscape'/>
-      <ref name='xmlSaveToBuffer'/>
-      <ref name='xmlSaveToFd'/>
-      <ref name='xmlSaveToFilename'/>
-      <ref name='xmlSaveToIO'/>
-      <ref name='xmlSaveTree'/>
-      <ref name='xmlSaveUri'/>
-      <ref name='xmlScanName'/>
-      <ref name='xmlSchema'/>
-      <ref name='xmlSchemaAnnot'/>
-      <ref name='xmlSchemaAnnotPtr'/>
-      <ref name='xmlSchemaAttribute'/>
-      <ref name='xmlSchemaAttributeGroup'/>
-      <ref name='xmlSchemaAttributeGroupPtr'/>
-      <ref name='xmlSchemaAttributeLink'/>
-      <ref name='xmlSchemaAttributeLinkPtr'/>
-      <ref name='xmlSchemaAttributePtr'/>
-      <ref name='xmlSchemaCheckFacet'/>
-      <ref name='xmlSchemaCleanupTypes'/>
-      <ref name='xmlSchemaCollapseString'/>
-      <ref name='xmlSchemaCompareValues'/>
-      <ref name='xmlSchemaCompareValuesWhtsp'/>
-      <ref name='xmlSchemaContentType'/>
-      <ref name='xmlSchemaCopyValue'/>
-      <ref name='xmlSchemaDump'/>
-      <ref name='xmlSchemaElement'/>
-      <ref name='xmlSchemaElementPtr'/>
-      <ref name='xmlSchemaFacet'/>
-      <ref name='xmlSchemaFacetLink'/>
-      <ref name='xmlSchemaFacetLinkPtr'/>
-      <ref name='xmlSchemaFacetPtr'/>
-      <ref name='xmlSchemaFree'/>
-      <ref name='xmlSchemaFreeFacet'/>
-      <ref name='xmlSchemaFreeParserCtxt'/>
-      <ref name='xmlSchemaFreeType'/>
-      <ref name='xmlSchemaFreeValidCtxt'/>
-      <ref name='xmlSchemaFreeValue'/>
-      <ref name='xmlSchemaFreeWildcard'/>
-      <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-      <ref name='xmlSchemaGetBuiltInType'/>
-      <ref name='xmlSchemaGetCanonValue'/>
-      <ref name='xmlSchemaGetCanonValueWhtsp'/>
-      <ref name='xmlSchemaGetFacetValueAsULong'/>
-      <ref name='xmlSchemaGetParserErrors'/>
-      <ref name='xmlSchemaGetPredefinedType'/>
-      <ref name='xmlSchemaGetValType'/>
-      <ref name='xmlSchemaGetValidErrors'/>
-      <ref name='xmlSchemaInitTypes'/>
-      <ref name='xmlSchemaIsBuiltInTypeFacet'/>
-      <ref name='xmlSchemaIsValid'/>
-      <ref name='xmlSchemaNewDocParserCtxt'/>
-      <ref name='xmlSchemaNewFacet'/>
-      <ref name='xmlSchemaNewMemParserCtxt'/>
-      <ref name='xmlSchemaNewNOTATIONValue'/>
-      <ref name='xmlSchemaNewParserCtxt'/>
-      <ref name='xmlSchemaNewQNameValue'/>
-      <ref name='xmlSchemaNewStringValue'/>
-      <ref name='xmlSchemaNewValidCtxt'/>
-      <ref name='xmlSchemaNotation'/>
-      <ref name='xmlSchemaNotationPtr'/>
-      <ref name='xmlSchemaParse'/>
-      <ref name='xmlSchemaParserCtxt'/>
-      <ref name='xmlSchemaParserCtxtPtr'/>
-      <ref name='xmlSchemaPtr'/>
-      <ref name='xmlSchemaSAXPlug'/>
-      <ref name='xmlSchemaSAXPlugPtr'/>
-      <ref name='xmlSchemaSAXPlugStruct'/>
-      <ref name='xmlSchemaSAXUnplug'/>
-      <ref name='xmlSchemaSetParserErrors'/>
-      <ref name='xmlSchemaSetParserStructuredErrors'/>
-      <ref name='xmlSchemaSetValidErrors'/>
-      <ref name='xmlSchemaSetValidOptions'/>
-      <ref name='xmlSchemaSetValidStructuredErrors'/>
-      <ref name='xmlSchemaType'/>
-      <ref name='xmlSchemaTypeLink'/>
-      <ref name='xmlSchemaTypeLinkPtr'/>
-      <ref name='xmlSchemaTypePtr'/>
-      <ref name='xmlSchemaTypeType'/>
-      <ref name='xmlSchemaVal'/>
-      <ref name='xmlSchemaValPredefTypeNode'/>
-      <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-      <ref name='xmlSchemaValPtr'/>
-      <ref name='xmlSchemaValType'/>
-      <ref name='xmlSchemaValidCtxt'/>
-      <ref name='xmlSchemaValidCtxtGetOptions'/>
-      <ref name='xmlSchemaValidCtxtGetParserCtxt'/>
-      <ref name='xmlSchemaValidCtxtPtr'/>
-      <ref name='xmlSchemaValidError'/>
-      <ref name='xmlSchemaValidOption'/>
-      <ref name='xmlSchemaValidateDoc'/>
-      <ref name='xmlSchemaValidateFacet'/>
-      <ref name='xmlSchemaValidateFacetWhtsp'/>
-      <ref name='xmlSchemaValidateFile'/>
-      <ref name='xmlSchemaValidateLengthFacet'/>
-      <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-      <ref name='xmlSchemaValidateOneElement'/>
-      <ref name='xmlSchemaValidatePredefinedType'/>
-      <ref name='xmlSchemaValidateSetFilename'/>
-      <ref name='xmlSchemaValidateSetLocator'/>
-      <ref name='xmlSchemaValidateStream'/>
-      <ref name='xmlSchemaValidityErrorFunc'/>
-      <ref name='xmlSchemaValidityLocatorFunc'/>
-      <ref name='xmlSchemaValidityWarningFunc'/>
-      <ref name='xmlSchemaValueAppend'/>
-      <ref name='xmlSchemaValueGetAsBoolean'/>
-      <ref name='xmlSchemaValueGetAsString'/>
-      <ref name='xmlSchemaValueGetNext'/>
-      <ref name='xmlSchemaWhiteSpaceReplace'/>
-      <ref name='xmlSchemaWhitespaceValueType'/>
-      <ref name='xmlSchemaWildcard'/>
-      <ref name='xmlSchemaWildcardNs'/>
-      <ref name='xmlSchemaWildcardNsPtr'/>
-      <ref name='xmlSchemaWildcardPtr'/>
-      <ref name='xmlSchematron'/>
-      <ref name='xmlSchematronFree'/>
-      <ref name='xmlSchematronFreeParserCtxt'/>
-      <ref name='xmlSchematronFreeValidCtxt'/>
-      <ref name='xmlSchematronNewDocParserCtxt'/>
-      <ref name='xmlSchematronNewMemParserCtxt'/>
-      <ref name='xmlSchematronNewParserCtxt'/>
-      <ref name='xmlSchematronNewValidCtxt'/>
-      <ref name='xmlSchematronParse'/>
-      <ref name='xmlSchematronParserCtxt'/>
-      <ref name='xmlSchematronParserCtxtPtr'/>
-      <ref name='xmlSchematronPtr'/>
-      <ref name='xmlSchematronSetValidStructuredErrors'/>
-      <ref name='xmlSchematronValidCtxt'/>
-      <ref name='xmlSchematronValidCtxtPtr'/>
-      <ref name='xmlSchematronValidOptions'/>
-      <ref name='xmlSchematronValidateDoc'/>
-      <ref name='xmlSchematronValidityErrorFunc'/>
-      <ref name='xmlSchematronValidityWarningFunc'/>
-      <ref name='xmlSearchNs'/>
-      <ref name='xmlSearchNsByHref'/>
-      <ref name='xmlSetBufferAllocationScheme'/>
-      <ref name='xmlSetCompressMode'/>
-      <ref name='xmlSetDocCompressMode'/>
-      <ref name='xmlSetEntityReferenceFunc'/>
-      <ref name='xmlSetExternalEntityLoader'/>
-      <ref name='xmlSetFeature'/>
-      <ref name='xmlSetGenericErrorFunc'/>
-      <ref name='xmlSetListDoc'/>
-      <ref name='xmlSetNs'/>
-      <ref name='xmlSetNsProp'/>
-      <ref name='xmlSetProp'/>
-      <ref name='xmlSetStructuredErrorFunc'/>
-      <ref name='xmlSetTreeDoc'/>
-      <ref name='xmlSetupParserForBuffer'/>
-      <ref name='xmlShell'/>
-      <ref name='xmlShellBase'/>
-      <ref name='xmlShellCat'/>
-      <ref name='xmlShellCmd'/>
-      <ref name='xmlShellCtxt'/>
-      <ref name='xmlShellCtxtPtr'/>
-      <ref name='xmlShellDir'/>
-      <ref name='xmlShellDu'/>
-      <ref name='xmlShellList'/>
-      <ref name='xmlShellLoad'/>
-      <ref name='xmlShellPrintNode'/>
-      <ref name='xmlShellPrintXPathError'/>
-      <ref name='xmlShellPrintXPathResult'/>
-      <ref name='xmlShellPwd'/>
-      <ref name='xmlShellReadlineFunc'/>
-      <ref name='xmlShellSave'/>
-      <ref name='xmlShellValidate'/>
-      <ref name='xmlShellWrite'/>
-      <ref name='xmlSkipBlankChars'/>
-      <ref name='xmlSnprintfElementContent'/>
-      <ref name='xmlSplitQName'/>
-      <ref name='xmlSplitQName2'/>
-      <ref name='xmlSplitQName3'/>
-      <ref name='xmlSprintfElementContent'/>
-      <ref name='xmlStartTag'/>
-      <ref name='xmlStopParser'/>
-      <ref name='xmlStrEqual'/>
-      <ref name='xmlStrPrintf'/>
-      <ref name='xmlStrQEqual'/>
-      <ref name='xmlStrVPrintf'/>
-      <ref name='xmlStrcasecmp'/>
-      <ref name='xmlStrcasestr'/>
-      <ref name='xmlStrcat'/>
-      <ref name='xmlStrchr'/>
-      <ref name='xmlStrcmp'/>
-      <ref name='xmlStrdup'/>
-      <ref name='xmlStrdupFunc'/>
-      <ref name='xmlStreamCtxt'/>
-      <ref name='xmlStreamCtxtPtr'/>
-      <ref name='xmlStreamPop'/>
-      <ref name='xmlStreamPush'/>
-      <ref name='xmlStreamPushAttr'/>
-      <ref name='xmlStreamPushNode'/>
-      <ref name='xmlStreamWantsAnyNode'/>
-      <ref name='xmlStringComment'/>
-      <ref name='xmlStringCurrentChar'/>
-      <ref name='xmlStringDecodeEntities'/>
-      <ref name='xmlStringGetNodeList'/>
-      <ref name='xmlStringLenDecodeEntities'/>
-      <ref name='xmlStringLenGetNodeList'/>
-      <ref name='xmlStringText'/>
-      <ref name='xmlStringTextNoenc'/>
-      <ref name='xmlStrlen'/>
-      <ref name='xmlStrncasecmp'/>
-      <ref name='xmlStrncat'/>
-      <ref name='xmlStrncatNew'/>
-      <ref name='xmlStrncmp'/>
-      <ref name='xmlStrndup'/>
-      <ref name='xmlStrstr'/>
-      <ref name='xmlStrsub'/>
-      <ref name='xmlStructuredError'/>
-      <ref name='xmlStructuredErrorContext'/>
-      <ref name='xmlStructuredErrorFunc'/>
-      <ref name='xmlSubstituteEntitiesDefault'/>
-      <ref name='xmlSubstituteEntitiesDefaultValue'/>
-      <ref name='xmlSwitchEncoding'/>
-      <ref name='xmlSwitchInputEncoding'/>
-      <ref name='xmlSwitchToEncoding'/>
-      <ref name='xmlTextConcat'/>
-      <ref name='xmlTextMerge'/>
-      <ref name='xmlTextReader'/>
-      <ref name='xmlTextReaderAttributeCount'/>
-      <ref name='xmlTextReaderBaseUri'/>
-      <ref name='xmlTextReaderByteConsumed'/>
-      <ref name='xmlTextReaderClose'/>
-      <ref name='xmlTextReaderConstBaseUri'/>
-      <ref name='xmlTextReaderConstEncoding'/>
-      <ref name='xmlTextReaderConstLocalName'/>
-      <ref name='xmlTextReaderConstName'/>
-      <ref name='xmlTextReaderConstNamespaceUri'/>
-      <ref name='xmlTextReaderConstPrefix'/>
-      <ref name='xmlTextReaderConstString'/>
-      <ref name='xmlTextReaderConstValue'/>
-      <ref name='xmlTextReaderConstXmlLang'/>
-      <ref name='xmlTextReaderConstXmlVersion'/>
-      <ref name='xmlTextReaderCurrentDoc'/>
-      <ref name='xmlTextReaderCurrentNode'/>
-      <ref name='xmlTextReaderDepth'/>
-      <ref name='xmlTextReaderErrorFunc'/>
-      <ref name='xmlTextReaderExpand'/>
-      <ref name='xmlTextReaderGetAttribute'/>
-      <ref name='xmlTextReaderGetAttributeNo'/>
-      <ref name='xmlTextReaderGetAttributeNs'/>
-      <ref name='xmlTextReaderGetErrorHandler'/>
-      <ref name='xmlTextReaderGetParserColumnNumber'/>
-      <ref name='xmlTextReaderGetParserLineNumber'/>
-      <ref name='xmlTextReaderGetParserProp'/>
-      <ref name='xmlTextReaderGetRemainder'/>
-      <ref name='xmlTextReaderHasAttributes'/>
-      <ref name='xmlTextReaderHasValue'/>
-      <ref name='xmlTextReaderIsDefault'/>
-      <ref name='xmlTextReaderIsEmptyElement'/>
-      <ref name='xmlTextReaderIsNamespaceDecl'/>
-      <ref name='xmlTextReaderIsValid'/>
-      <ref name='xmlTextReaderLocalName'/>
-      <ref name='xmlTextReaderLocatorBaseURI'/>
-      <ref name='xmlTextReaderLocatorLineNumber'/>
-      <ref name='xmlTextReaderLocatorPtr'/>
-      <ref name='xmlTextReaderLookupNamespace'/>
-      <ref name='xmlTextReaderMode'/>
-      <ref name='xmlTextReaderMoveToAttribute'/>
-      <ref name='xmlTextReaderMoveToAttributeNo'/>
-      <ref name='xmlTextReaderMoveToAttributeNs'/>
-      <ref name='xmlTextReaderMoveToElement'/>
-      <ref name='xmlTextReaderMoveToFirstAttribute'/>
-      <ref name='xmlTextReaderMoveToNextAttribute'/>
-      <ref name='xmlTextReaderName'/>
-      <ref name='xmlTextReaderNamespaceUri'/>
-      <ref name='xmlTextReaderNext'/>
-      <ref name='xmlTextReaderNextSibling'/>
-      <ref name='xmlTextReaderNodeType'/>
-      <ref name='xmlTextReaderNormalization'/>
-      <ref name='xmlTextReaderPrefix'/>
-      <ref name='xmlTextReaderPreserve'/>
-      <ref name='xmlTextReaderPreservePattern'/>
-      <ref name='xmlTextReaderPtr'/>
-      <ref name='xmlTextReaderQuoteChar'/>
-      <ref name='xmlTextReaderRead'/>
-      <ref name='xmlTextReaderReadAttributeValue'/>
-      <ref name='xmlTextReaderReadInnerXml'/>
-      <ref name='xmlTextReaderReadOuterXml'/>
-      <ref name='xmlTextReaderReadState'/>
-      <ref name='xmlTextReaderReadString'/>
-      <ref name='xmlTextReaderRelaxNGSetSchema'/>
-      <ref name='xmlTextReaderRelaxNGValidate'/>
-      <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-      <ref name='xmlTextReaderSchemaValidate'/>
-      <ref name='xmlTextReaderSchemaValidateCtxt'/>
-      <ref name='xmlTextReaderSetErrorHandler'/>
-      <ref name='xmlTextReaderSetParserProp'/>
-      <ref name='xmlTextReaderSetSchema'/>
-      <ref name='xmlTextReaderSetStructuredErrorHandler'/>
-      <ref name='xmlTextReaderSetup'/>
-      <ref name='xmlTextReaderStandalone'/>
-      <ref name='xmlTextReaderValue'/>
-      <ref name='xmlTextReaderXmlLang'/>
-      <ref name='xmlTextWriter'/>
-      <ref name='xmlTextWriterEndAttribute'/>
-      <ref name='xmlTextWriterEndCDATA'/>
-      <ref name='xmlTextWriterEndComment'/>
-      <ref name='xmlTextWriterEndDTD'/>
-      <ref name='xmlTextWriterEndDTDAttlist'/>
-      <ref name='xmlTextWriterEndDTDElement'/>
-      <ref name='xmlTextWriterEndDTDEntity'/>
-      <ref name='xmlTextWriterEndDocument'/>
-      <ref name='xmlTextWriterEndElement'/>
-      <ref name='xmlTextWriterEndPI'/>
-      <ref name='xmlTextWriterFlush'/>
-      <ref name='xmlTextWriterFullEndElement'/>
-      <ref name='xmlTextWriterPtr'/>
-      <ref name='xmlTextWriterSetIndent'/>
-      <ref name='xmlTextWriterSetIndentString'/>
-      <ref name='xmlTextWriterSetQuoteChar'/>
-      <ref name='xmlTextWriterStartAttribute'/>
-      <ref name='xmlTextWriterStartAttributeNS'/>
-      <ref name='xmlTextWriterStartCDATA'/>
-      <ref name='xmlTextWriterStartComment'/>
-      <ref name='xmlTextWriterStartDTD'/>
-      <ref name='xmlTextWriterStartDTDAttlist'/>
-      <ref name='xmlTextWriterStartDTDElement'/>
-      <ref name='xmlTextWriterStartDTDEntity'/>
-      <ref name='xmlTextWriterStartDocument'/>
-      <ref name='xmlTextWriterStartElement'/>
-      <ref name='xmlTextWriterStartElementNS'/>
-      <ref name='xmlTextWriterStartPI'/>
-      <ref name='xmlTextWriterWriteAttribute'/>
-      <ref name='xmlTextWriterWriteAttributeNS'/>
-      <ref name='xmlTextWriterWriteBase64'/>
-      <ref name='xmlTextWriterWriteBinHex'/>
-      <ref name='xmlTextWriterWriteCDATA'/>
-      <ref name='xmlTextWriterWriteComment'/>
-      <ref name='xmlTextWriterWriteDTD'/>
-      <ref name='xmlTextWriterWriteDTDAttlist'/>
-      <ref name='xmlTextWriterWriteDTDElement'/>
-      <ref name='xmlTextWriterWriteDTDEntity'/>
-      <ref name='xmlTextWriterWriteDTDExternalEntity'/>
-      <ref name='xmlTextWriterWriteDTDExternalEntityContents'/>
-      <ref name='xmlTextWriterWriteDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteDTDNotation'/>
-      <ref name='xmlTextWriterWriteDocType'/>
-      <ref name='xmlTextWriterWriteElement'/>
-      <ref name='xmlTextWriterWriteElementNS'/>
-      <ref name='xmlTextWriterWriteFormatAttribute'/>
-      <ref name='xmlTextWriterWriteFormatAttributeNS'/>
-      <ref name='xmlTextWriterWriteFormatCDATA'/>
-      <ref name='xmlTextWriterWriteFormatComment'/>
-      <ref name='xmlTextWriterWriteFormatDTD'/>
-      <ref name='xmlTextWriterWriteFormatDTDAttlist'/>
-      <ref name='xmlTextWriterWriteFormatDTDElement'/>
-      <ref name='xmlTextWriterWriteFormatDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteFormatElement'/>
-      <ref name='xmlTextWriterWriteFormatElementNS'/>
-      <ref name='xmlTextWriterWriteFormatPI'/>
-      <ref name='xmlTextWriterWriteFormatRaw'/>
-      <ref name='xmlTextWriterWriteFormatString'/>
-      <ref name='xmlTextWriterWritePI'/>
-      <ref name='xmlTextWriterWriteProcessingInstruction'/>
-      <ref name='xmlTextWriterWriteRaw'/>
-      <ref name='xmlTextWriterWriteRawLen'/>
-      <ref name='xmlTextWriterWriteString'/>
-      <ref name='xmlTextWriterWriteVFormatAttribute'/>
-      <ref name='xmlTextWriterWriteVFormatAttributeNS'/>
-      <ref name='xmlTextWriterWriteVFormatCDATA'/>
-      <ref name='xmlTextWriterWriteVFormatComment'/>
-      <ref name='xmlTextWriterWriteVFormatDTD'/>
-      <ref name='xmlTextWriterWriteVFormatDTDAttlist'/>
-      <ref name='xmlTextWriterWriteVFormatDTDElement'/>
-      <ref name='xmlTextWriterWriteVFormatDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteVFormatElement'/>
-      <ref name='xmlTextWriterWriteVFormatElementNS'/>
-      <ref name='xmlTextWriterWriteVFormatPI'/>
-      <ref name='xmlTextWriterWriteVFormatRaw'/>
-      <ref name='xmlTextWriterWriteVFormatString'/>
-      <ref name='xmlThrDefBufferAllocScheme'/>
-      <ref name='xmlThrDefDefaultBufferSize'/>
-      <ref name='xmlThrDefDeregisterNodeDefault'/>
-      <ref name='xmlThrDefDoValidityCheckingDefaultValue'/>
-      <ref name='xmlThrDefGetWarningsDefaultValue'/>
-      <ref name='xmlThrDefIndentTreeOutput'/>
-      <ref name='xmlThrDefKeepBlanksDefaultValue'/>
-      <ref name='xmlThrDefLineNumbersDefaultValue'/>
-      <ref name='xmlThrDefLoadExtDtdDefaultValue'/>
-      <ref name='xmlThrDefOutputBufferCreateFilenameDefault'/>
-      <ref name='xmlThrDefParserDebugEntities'/>
-      <ref name='xmlThrDefParserInputBufferCreateFilenameDefault'/>
-      <ref name='xmlThrDefPedanticParserDefaultValue'/>
-      <ref name='xmlThrDefRegisterNodeDefault'/>
-      <ref name='xmlThrDefSaveNoEmptyTags'/>
-      <ref name='xmlThrDefSetGenericErrorFunc'/>
-      <ref name='xmlThrDefSetStructuredErrorFunc'/>
-      <ref name='xmlThrDefSubstituteEntitiesDefaultValue'/>
-      <ref name='xmlThrDefTreeIndentString'/>
-      <ref name='xmlTreeIndentString'/>
-      <ref name='xmlUCSIsAegeanNumbers'/>
-      <ref name='xmlUCSIsAlphabeticPresentationForms'/>
-      <ref name='xmlUCSIsArabic'/>
-      <ref name='xmlUCSIsArabicPresentationFormsA'/>
-      <ref name='xmlUCSIsArabicPresentationFormsB'/>
-      <ref name='xmlUCSIsArmenian'/>
-      <ref name='xmlUCSIsArrows'/>
-      <ref name='xmlUCSIsBasicLatin'/>
-      <ref name='xmlUCSIsBengali'/>
-      <ref name='xmlUCSIsBlock'/>
-      <ref name='xmlUCSIsBlockElements'/>
-      <ref name='xmlUCSIsBopomofo'/>
-      <ref name='xmlUCSIsBopomofoExtended'/>
-      <ref name='xmlUCSIsBoxDrawing'/>
-      <ref name='xmlUCSIsBraillePatterns'/>
-      <ref name='xmlUCSIsBuhid'/>
-      <ref name='xmlUCSIsByzantineMusicalSymbols'/>
-      <ref name='xmlUCSIsCJKCompatibility'/>
-      <ref name='xmlUCSIsCJKCompatibilityForms'/>
-      <ref name='xmlUCSIsCJKCompatibilityIdeographs'/>
-      <ref name='xmlUCSIsCJKCompatibilityIdeographsSupplement'/>
-      <ref name='xmlUCSIsCJKRadicalsSupplement'/>
-      <ref name='xmlUCSIsCJKSymbolsandPunctuation'/>
-      <ref name='xmlUCSIsCJKUnifiedIdeographs'/>
-      <ref name='xmlUCSIsCJKUnifiedIdeographsExtensionA'/>
-      <ref name='xmlUCSIsCJKUnifiedIdeographsExtensionB'/>
-      <ref name='xmlUCSIsCat'/>
-      <ref name='xmlUCSIsCatC'/>
-      <ref name='xmlUCSIsCatCc'/>
-      <ref name='xmlUCSIsCatCf'/>
-      <ref name='xmlUCSIsCatCo'/>
-      <ref name='xmlUCSIsCatCs'/>
-      <ref name='xmlUCSIsCatL'/>
-      <ref name='xmlUCSIsCatLl'/>
-      <ref name='xmlUCSIsCatLm'/>
-      <ref name='xmlUCSIsCatLo'/>
-      <ref name='xmlUCSIsCatLt'/>
-      <ref name='xmlUCSIsCatLu'/>
-      <ref name='xmlUCSIsCatM'/>
-      <ref name='xmlUCSIsCatMc'/>
-      <ref name='xmlUCSIsCatMe'/>
-      <ref name='xmlUCSIsCatMn'/>
-      <ref name='xmlUCSIsCatN'/>
-      <ref name='xmlUCSIsCatNd'/>
-      <ref name='xmlUCSIsCatNl'/>
-      <ref name='xmlUCSIsCatNo'/>
-      <ref name='xmlUCSIsCatP'/>
-      <ref name='xmlUCSIsCatPc'/>
-      <ref name='xmlUCSIsCatPd'/>
-      <ref name='xmlUCSIsCatPe'/>
-      <ref name='xmlUCSIsCatPf'/>
-      <ref name='xmlUCSIsCatPi'/>
-      <ref name='xmlUCSIsCatPo'/>
-      <ref name='xmlUCSIsCatPs'/>
-      <ref name='xmlUCSIsCatS'/>
-      <ref name='xmlUCSIsCatSc'/>
-      <ref name='xmlUCSIsCatSk'/>
-      <ref name='xmlUCSIsCatSm'/>
-      <ref name='xmlUCSIsCatSo'/>
-      <ref name='xmlUCSIsCatZ'/>
-      <ref name='xmlUCSIsCatZl'/>
-      <ref name='xmlUCSIsCatZp'/>
-      <ref name='xmlUCSIsCatZs'/>
-      <ref name='xmlUCSIsCherokee'/>
-      <ref name='xmlUCSIsCombiningDiacriticalMarks'/>
-      <ref name='xmlUCSIsCombiningDiacriticalMarksforSymbols'/>
-      <ref name='xmlUCSIsCombiningHalfMarks'/>
-      <ref name='xmlUCSIsCombiningMarksforSymbols'/>
-      <ref name='xmlUCSIsControlPictures'/>
-      <ref name='xmlUCSIsCurrencySymbols'/>
-      <ref name='xmlUCSIsCypriotSyllabary'/>
-      <ref name='xmlUCSIsCyrillic'/>
-      <ref name='xmlUCSIsCyrillicSupplement'/>
-      <ref name='xmlUCSIsDeseret'/>
-      <ref name='xmlUCSIsDevanagari'/>
-      <ref name='xmlUCSIsDingbats'/>
-      <ref name='xmlUCSIsEnclosedAlphanumerics'/>
-      <ref name='xmlUCSIsEnclosedCJKLettersandMonths'/>
-      <ref name='xmlUCSIsEthiopic'/>
-      <ref name='xmlUCSIsGeneralPunctuation'/>
-      <ref name='xmlUCSIsGeometricShapes'/>
-      <ref name='xmlUCSIsGeorgian'/>
-      <ref name='xmlUCSIsGothic'/>
-      <ref name='xmlUCSIsGreek'/>
-      <ref name='xmlUCSIsGreekExtended'/>
-      <ref name='xmlUCSIsGreekandCoptic'/>
-      <ref name='xmlUCSIsGujarati'/>
-      <ref name='xmlUCSIsGurmukhi'/>
-      <ref name='xmlUCSIsHalfwidthandFullwidthForms'/>
-      <ref name='xmlUCSIsHangulCompatibilityJamo'/>
-      <ref name='xmlUCSIsHangulJamo'/>
-      <ref name='xmlUCSIsHangulSyllables'/>
-      <ref name='xmlUCSIsHanunoo'/>
-      <ref name='xmlUCSIsHebrew'/>
-      <ref name='xmlUCSIsHighPrivateUseSurrogates'/>
-      <ref name='xmlUCSIsHighSurrogates'/>
-      <ref name='xmlUCSIsHiragana'/>
-      <ref name='xmlUCSIsIPAExtensions'/>
-      <ref name='xmlUCSIsIdeographicDescriptionCharacters'/>
-      <ref name='xmlUCSIsKanbun'/>
-      <ref name='xmlUCSIsKangxiRadicals'/>
-      <ref name='xmlUCSIsKannada'/>
-      <ref name='xmlUCSIsKatakana'/>
-      <ref name='xmlUCSIsKatakanaPhoneticExtensions'/>
-      <ref name='xmlUCSIsKhmer'/>
-      <ref name='xmlUCSIsKhmerSymbols'/>
-      <ref name='xmlUCSIsLao'/>
-      <ref name='xmlUCSIsLatin1Supplement'/>
-      <ref name='xmlUCSIsLatinExtendedA'/>
-      <ref name='xmlUCSIsLatinExtendedAdditional'/>
-      <ref name='xmlUCSIsLatinExtendedB'/>
-      <ref name='xmlUCSIsLetterlikeSymbols'/>
-      <ref name='xmlUCSIsLimbu'/>
-      <ref name='xmlUCSIsLinearBIdeograms'/>
-      <ref name='xmlUCSIsLinearBSyllabary'/>
-      <ref name='xmlUCSIsLowSurrogates'/>
-      <ref name='xmlUCSIsMalayalam'/>
-      <ref name='xmlUCSIsMathematicalAlphanumericSymbols'/>
-      <ref name='xmlUCSIsMathematicalOperators'/>
-      <ref name='xmlUCSIsMiscellaneousMathematicalSymbolsA'/>
-      <ref name='xmlUCSIsMiscellaneousMathematicalSymbolsB'/>
-      <ref name='xmlUCSIsMiscellaneousSymbols'/>
-      <ref name='xmlUCSIsMiscellaneousSymbolsandArrows'/>
-      <ref name='xmlUCSIsMiscellaneousTechnical'/>
-      <ref name='xmlUCSIsMongolian'/>
-      <ref name='xmlUCSIsMusicalSymbols'/>
-      <ref name='xmlUCSIsMyanmar'/>
-      <ref name='xmlUCSIsNumberForms'/>
-      <ref name='xmlUCSIsOgham'/>
-      <ref name='xmlUCSIsOldItalic'/>
-      <ref name='xmlUCSIsOpticalCharacterRecognition'/>
-      <ref name='xmlUCSIsOriya'/>
-      <ref name='xmlUCSIsOsmanya'/>
-      <ref name='xmlUCSIsPhoneticExtensions'/>
-      <ref name='xmlUCSIsPrivateUse'/>
-      <ref name='xmlUCSIsPrivateUseArea'/>
-      <ref name='xmlUCSIsRunic'/>
-      <ref name='xmlUCSIsShavian'/>
-      <ref name='xmlUCSIsSinhala'/>
-      <ref name='xmlUCSIsSmallFormVariants'/>
-      <ref name='xmlUCSIsSpacingModifierLetters'/>
-      <ref name='xmlUCSIsSpecials'/>
-      <ref name='xmlUCSIsSuperscriptsandSubscripts'/>
-      <ref name='xmlUCSIsSupplementalArrowsA'/>
-      <ref name='xmlUCSIsSupplementalArrowsB'/>
-      <ref name='xmlUCSIsSupplementalMathematicalOperators'/>
-      <ref name='xmlUCSIsSupplementaryPrivateUseAreaA'/>
-      <ref name='xmlUCSIsSupplementaryPrivateUseAreaB'/>
-      <ref name='xmlUCSIsSyriac'/>
-      <ref name='xmlUCSIsTagalog'/>
-      <ref name='xmlUCSIsTagbanwa'/>
-      <ref name='xmlUCSIsTags'/>
-      <ref name='xmlUCSIsTaiLe'/>
-      <ref name='xmlUCSIsTaiXuanJingSymbols'/>
-      <ref name='xmlUCSIsTamil'/>
-      <ref name='xmlUCSIsTelugu'/>
-      <ref name='xmlUCSIsThaana'/>
-      <ref name='xmlUCSIsThai'/>
-      <ref name='xmlUCSIsTibetan'/>
-      <ref name='xmlUCSIsUgaritic'/>
-      <ref name='xmlUCSIsUnifiedCanadianAboriginalSyllabics'/>
-      <ref name='xmlUCSIsVariationSelectors'/>
-      <ref name='xmlUCSIsVariationSelectorsSupplement'/>
-      <ref name='xmlUCSIsYiRadicals'/>
-      <ref name='xmlUCSIsYiSyllables'/>
-      <ref name='xmlUCSIsYijingHexagramSymbols'/>
-      <ref name='xmlURI'/>
-      <ref name='xmlURIEscape'/>
-      <ref name='xmlURIEscapeStr'/>
-      <ref name='xmlURIPtr'/>
-      <ref name='xmlURIUnescapeString'/>
-      <ref name='xmlUTF8Charcmp'/>
-      <ref name='xmlUTF8Size'/>
-      <ref name='xmlUTF8Strlen'/>
-      <ref name='xmlUTF8Strloc'/>
-      <ref name='xmlUTF8Strndup'/>
-      <ref name='xmlUTF8Strpos'/>
-      <ref name='xmlUTF8Strsize'/>
-      <ref name='xmlUTF8Strsub'/>
-      <ref name='xmlUnlinkNode'/>
-      <ref name='xmlUnlockLibrary'/>
-      <ref name='xmlUnsetNsProp'/>
-      <ref name='xmlUnsetProp'/>
-      <ref name='xmlValidBuildContentModel'/>
-      <ref name='xmlValidCtxt'/>
-      <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-      <ref name='xmlValidCtxtPtr'/>
-      <ref name='xmlValidGetPotentialChildren'/>
-      <ref name='xmlValidGetValidElements'/>
-      <ref name='xmlValidNormalizeAttributeValue'/>
-      <ref name='xmlValidState'/>
-      <ref name='xmlValidStatePtr'/>
-      <ref name='xmlValidateAttributeDecl'/>
-      <ref name='xmlValidateAttributeValue'/>
-      <ref name='xmlValidateDocument'/>
-      <ref name='xmlValidateDocumentFinal'/>
-      <ref name='xmlValidateDtd'/>
-      <ref name='xmlValidateDtdFinal'/>
-      <ref name='xmlValidateElement'/>
-      <ref name='xmlValidateElementDecl'/>
-      <ref name='xmlValidateNCName'/>
-      <ref name='xmlValidateNMToken'/>
-      <ref name='xmlValidateName'/>
-      <ref name='xmlValidateNameValue'/>
-      <ref name='xmlValidateNamesValue'/>
-      <ref name='xmlValidateNmtokenValue'/>
-      <ref name='xmlValidateNmtokensValue'/>
-      <ref name='xmlValidateNotationDecl'/>
-      <ref name='xmlValidateNotationUse'/>
-      <ref name='xmlValidateOneAttribute'/>
-      <ref name='xmlValidateOneElement'/>
-      <ref name='xmlValidateOneNamespace'/>
-      <ref name='xmlValidatePopElement'/>
-      <ref name='xmlValidatePushCData'/>
-      <ref name='xmlValidatePushElement'/>
-      <ref name='xmlValidateQName'/>
-      <ref name='xmlValidateRoot'/>
-      <ref name='xmlValidityErrorFunc'/>
-      <ref name='xmlValidityWarningFunc'/>
-      <ref name='xmlXIncludeCtxt'/>
-      <ref name='xmlXIncludeCtxtPtr'/>
-      <ref name='xmlXIncludeFreeContext'/>
-      <ref name='xmlXIncludeNewContext'/>
-      <ref name='xmlXIncludeProcess'/>
-      <ref name='xmlXIncludeProcessFlags'/>
-      <ref name='xmlXIncludeProcessFlagsData'/>
-      <ref name='xmlXIncludeProcessNode'/>
-      <ref name='xmlXIncludeProcessTree'/>
-      <ref name='xmlXIncludeProcessTreeFlags'/>
-      <ref name='xmlXIncludeProcessTreeFlagsData'/>
-      <ref name='xmlXIncludeSetFlags'/>
-      <ref name='xmlXPathAddValues'/>
-      <ref name='xmlXPathAxis'/>
-      <ref name='xmlXPathAxisFunc'/>
-      <ref name='xmlXPathAxisPtr'/>
-      <ref name='xmlXPathBooleanFunction'/>
-      <ref name='xmlXPathCastBooleanToNumber'/>
-      <ref name='xmlXPathCastBooleanToString'/>
-      <ref name='xmlXPathCastNodeSetToBoolean'/>
-      <ref name='xmlXPathCastNodeSetToNumber'/>
-      <ref name='xmlXPathCastNodeSetToString'/>
-      <ref name='xmlXPathCastNodeToNumber'/>
-      <ref name='xmlXPathCastNodeToString'/>
-      <ref name='xmlXPathCastNumberToBoolean'/>
-      <ref name='xmlXPathCastNumberToString'/>
-      <ref name='xmlXPathCastStringToBoolean'/>
-      <ref name='xmlXPathCastStringToNumber'/>
-      <ref name='xmlXPathCastToBoolean'/>
-      <ref name='xmlXPathCastToNumber'/>
-      <ref name='xmlXPathCastToString'/>
-      <ref name='xmlXPathCeilingFunction'/>
-      <ref name='xmlXPathCheckError'/>
-      <ref name='xmlXPathCmpNodes'/>
-      <ref name='xmlXPathCompExpr'/>
-      <ref name='xmlXPathCompExprPtr'/>
-      <ref name='xmlXPathCompareValues'/>
-      <ref name='xmlXPathCompile'/>
-      <ref name='xmlXPathCompiledEval'/>
-      <ref name='xmlXPathCompiledEvalToBoolean'/>
-      <ref name='xmlXPathConcatFunction'/>
-      <ref name='xmlXPathContainsFunction'/>
-      <ref name='xmlXPathContext'/>
-      <ref name='xmlXPathContextPtr'/>
-      <ref name='xmlXPathContextSetCache'/>
-      <ref name='xmlXPathConvertBoolean'/>
-      <ref name='xmlXPathConvertFunc'/>
-      <ref name='xmlXPathConvertNumber'/>
-      <ref name='xmlXPathConvertString'/>
-      <ref name='xmlXPathCountFunction'/>
-      <ref name='xmlXPathCtxtCompile'/>
-      <ref name='xmlXPathDebugDumpCompExpr'/>
-      <ref name='xmlXPathDebugDumpObject'/>
-      <ref name='xmlXPathDifference'/>
-      <ref name='xmlXPathDistinct'/>
-      <ref name='xmlXPathDistinctSorted'/>
-      <ref name='xmlXPathDivValues'/>
-      <ref name='xmlXPathEmptyNodeSet'/>
-      <ref name='xmlXPathEqualValues'/>
-      <ref name='xmlXPathErr'/>
-      <ref name='xmlXPathError'/>
-      <ref name='xmlXPathEval'/>
-      <ref name='xmlXPathEvalExpr'/>
-      <ref name='xmlXPathEvalExpression'/>
-      <ref name='xmlXPathEvalFunc'/>
-      <ref name='xmlXPathEvalPredicate'/>
-      <ref name='xmlXPathEvaluatePredicateResult'/>
-      <ref name='xmlXPathFalseFunction'/>
-      <ref name='xmlXPathFloorFunction'/>
-      <ref name='xmlXPathFreeCompExpr'/>
-      <ref name='xmlXPathFreeContext'/>
-      <ref name='xmlXPathFreeNodeSet'/>
-      <ref name='xmlXPathFreeNodeSetList'/>
-      <ref name='xmlXPathFreeObject'/>
-      <ref name='xmlXPathFreeParserContext'/>
-      <ref name='xmlXPathFuncLookupFunc'/>
-      <ref name='xmlXPathFuncPtr'/>
-      <ref name='xmlXPathFunct'/>
-      <ref name='xmlXPathFunction'/>
-      <ref name='xmlXPathFunctionLookup'/>
-      <ref name='xmlXPathFunctionLookupNS'/>
-      <ref name='xmlXPathGetContextNode'/>
-      <ref name='xmlXPathGetDocument'/>
-      <ref name='xmlXPathGetError'/>
-      <ref name='xmlXPathHasSameNodes'/>
-      <ref name='xmlXPathIdFunction'/>
-      <ref name='xmlXPathInit'/>
-      <ref name='xmlXPathIntersection'/>
-      <ref name='xmlXPathIsInf'/>
-      <ref name='xmlXPathIsNaN'/>
-      <ref name='xmlXPathIsNodeType'/>
-      <ref name='xmlXPathLangFunction'/>
-      <ref name='xmlXPathLastFunction'/>
-      <ref name='xmlXPathLeading'/>
-      <ref name='xmlXPathLeadingSorted'/>
-      <ref name='xmlXPathLocalNameFunction'/>
-      <ref name='xmlXPathModValues'/>
-      <ref name='xmlXPathMultValues'/>
-      <ref name='xmlXPathNAN'/>
-      <ref name='xmlXPathNINF'/>
-      <ref name='xmlXPathNamespaceURIFunction'/>
-      <ref name='xmlXPathNewBoolean'/>
-      <ref name='xmlXPathNewCString'/>
-      <ref name='xmlXPathNewContext'/>
-      <ref name='xmlXPathNewFloat'/>
-      <ref name='xmlXPathNewNodeSet'/>
-      <ref name='xmlXPathNewNodeSetList'/>
-      <ref name='xmlXPathNewParserContext'/>
-      <ref name='xmlXPathNewString'/>
-      <ref name='xmlXPathNewValueTree'/>
-      <ref name='xmlXPathNextAncestor'/>
-      <ref name='xmlXPathNextAncestorOrSelf'/>
-      <ref name='xmlXPathNextAttribute'/>
-      <ref name='xmlXPathNextChild'/>
-      <ref name='xmlXPathNextDescendant'/>
-      <ref name='xmlXPathNextDescendantOrSelf'/>
-      <ref name='xmlXPathNextFollowing'/>
-      <ref name='xmlXPathNextFollowingSibling'/>
-      <ref name='xmlXPathNextNamespace'/>
-      <ref name='xmlXPathNextParent'/>
-      <ref name='xmlXPathNextPreceding'/>
-      <ref name='xmlXPathNextPrecedingSibling'/>
-      <ref name='xmlXPathNextSelf'/>
-      <ref name='xmlXPathNodeEval'/>
-      <ref name='xmlXPathNodeLeading'/>
-      <ref name='xmlXPathNodeLeadingSorted'/>
-      <ref name='xmlXPathNodeSetAdd'/>
-      <ref name='xmlXPathNodeSetAddNs'/>
-      <ref name='xmlXPathNodeSetAddUnique'/>
-      <ref name='xmlXPathNodeSetContains'/>
-      <ref name='xmlXPathNodeSetCreate'/>
-      <ref name='xmlXPathNodeSetDel'/>
-      <ref name='xmlXPathNodeSetFreeNs'/>
-      <ref name='xmlXPathNodeSetGetLength'/>
-      <ref name='xmlXPathNodeSetIsEmpty'/>
-      <ref name='xmlXPathNodeSetItem'/>
-      <ref name='xmlXPathNodeSetMerge'/>
-      <ref name='xmlXPathNodeSetRemove'/>
-      <ref name='xmlXPathNodeSetSort'/>
-      <ref name='xmlXPathNodeTrailing'/>
-      <ref name='xmlXPathNodeTrailingSorted'/>
-      <ref name='xmlXPathNormalizeFunction'/>
-      <ref name='xmlXPathNotEqualValues'/>
-      <ref name='xmlXPathNotFunction'/>
-      <ref name='xmlXPathNsLookup'/>
-      <ref name='xmlXPathNumberFunction'/>
-      <ref name='xmlXPathObject'/>
-      <ref name='xmlXPathObjectCopy'/>
-      <ref name='xmlXPathObjectPtr'/>
-      <ref name='xmlXPathObjectType'/>
-      <ref name='xmlXPathOrderDocElems'/>
-      <ref name='xmlXPathPINF'/>
-      <ref name='xmlXPathParseNCName'/>
-      <ref name='xmlXPathParseName'/>
-      <ref name='xmlXPathParserContext'/>
-      <ref name='xmlXPathParserContextPtr'/>
-      <ref name='xmlXPathPopBoolean'/>
-      <ref name='xmlXPathPopExternal'/>
-      <ref name='xmlXPathPopNodeSet'/>
-      <ref name='xmlXPathPopNumber'/>
-      <ref name='xmlXPathPopString'/>
-      <ref name='xmlXPathPositionFunction'/>
-      <ref name='xmlXPathRegisterAllFunctions'/>
-      <ref name='xmlXPathRegisterFunc'/>
-      <ref name='xmlXPathRegisterFuncLookup'/>
-      <ref name='xmlXPathRegisterFuncNS'/>
-      <ref name='xmlXPathRegisterNs'/>
-      <ref name='xmlXPathRegisterVariable'/>
-      <ref name='xmlXPathRegisterVariableLookup'/>
-      <ref name='xmlXPathRegisterVariableNS'/>
-      <ref name='xmlXPathRegisteredFuncsCleanup'/>
-      <ref name='xmlXPathRegisteredNsCleanup'/>
-      <ref name='xmlXPathRegisteredVariablesCleanup'/>
-      <ref name='xmlXPathReturnBoolean'/>
-      <ref name='xmlXPathReturnEmptyNodeSet'/>
-      <ref name='xmlXPathReturnEmptyString'/>
-      <ref name='xmlXPathReturnExternal'/>
-      <ref name='xmlXPathReturnFalse'/>
-      <ref name='xmlXPathReturnNodeSet'/>
-      <ref name='xmlXPathReturnNumber'/>
-      <ref name='xmlXPathReturnString'/>
-      <ref name='xmlXPathReturnTrue'/>
-      <ref name='xmlXPathRoot'/>
-      <ref name='xmlXPathRoundFunction'/>
-      <ref name='xmlXPathSetArityError'/>
-      <ref name='xmlXPathSetContextNode'/>
-      <ref name='xmlXPathSetError'/>
-      <ref name='xmlXPathSetTypeError'/>
-      <ref name='xmlXPathStackIsExternal'/>
-      <ref name='xmlXPathStackIsNodeSet'/>
-      <ref name='xmlXPathStartsWithFunction'/>
-      <ref name='xmlXPathStringEvalNumber'/>
-      <ref name='xmlXPathStringFunction'/>
-      <ref name='xmlXPathStringLengthFunction'/>
-      <ref name='xmlXPathSubValues'/>
-      <ref name='xmlXPathSubstringAfterFunction'/>
-      <ref name='xmlXPathSubstringBeforeFunction'/>
-      <ref name='xmlXPathSubstringFunction'/>
-      <ref name='xmlXPathSumFunction'/>
-      <ref name='xmlXPathTrailing'/>
-      <ref name='xmlXPathTrailingSorted'/>
-      <ref name='xmlXPathTranslateFunction'/>
-      <ref name='xmlXPathTrueFunction'/>
-      <ref name='xmlXPathType'/>
-      <ref name='xmlXPathTypePtr'/>
-      <ref name='xmlXPathValueFlipSign'/>
-      <ref name='xmlXPathVariable'/>
-      <ref name='xmlXPathVariableLookup'/>
-      <ref name='xmlXPathVariableLookupFunc'/>
-      <ref name='xmlXPathVariableLookupNS'/>
-      <ref name='xmlXPathVariablePtr'/>
-      <ref name='xmlXPathWrapCString'/>
-      <ref name='xmlXPathWrapExternal'/>
-      <ref name='xmlXPathWrapNodeSet'/>
-      <ref name='xmlXPathWrapString'/>
-      <ref name='xmlXPatherror'/>
-      <ref name='xmlXPtrBuildNodeList'/>
-      <ref name='xmlXPtrEval'/>
-      <ref name='xmlXPtrEvalRangePredicate'/>
-      <ref name='xmlXPtrFreeLocationSet'/>
-      <ref name='xmlXPtrLocationSetAdd'/>
-      <ref name='xmlXPtrLocationSetCreate'/>
-      <ref name='xmlXPtrLocationSetDel'/>
-      <ref name='xmlXPtrLocationSetMerge'/>
-      <ref name='xmlXPtrLocationSetRemove'/>
-      <ref name='xmlXPtrNewCollapsedRange'/>
-      <ref name='xmlXPtrNewContext'/>
-      <ref name='xmlXPtrNewLocationSetNodeSet'/>
-      <ref name='xmlXPtrNewLocationSetNodes'/>
-      <ref name='xmlXPtrNewRange'/>
-      <ref name='xmlXPtrNewRangeNodeObject'/>
-      <ref name='xmlXPtrNewRangeNodePoint'/>
-      <ref name='xmlXPtrNewRangeNodes'/>
-      <ref name='xmlXPtrNewRangePointNode'/>
-      <ref name='xmlXPtrNewRangePoints'/>
-      <ref name='xmlXPtrRangeToFunction'/>
-      <ref name='xmlXPtrWrapLocationSet'/>
-    </letter>
-  </alpha>
-  <constructors>
-    <type name='SOCKET'>
-      <ref name='xmlNanoFTPGetConnection'/>
-      <ref name='xmlNanoFTPGetSocket'/>
-    </type>
-    <type name='const htmlElemDesc *'>
-      <ref name='htmlTagLookup'/>
-    </type>
-    <type name='const htmlEntityDesc *'>
-      <ref name='htmlEntityLookup'/>
-      <ref name='htmlEntityValueLookup'/>
-      <ref name='htmlParseEntityRef'/>
-    </type>
-    <type name='const xmlChar *'>
-      <ref name='getPublicId'/>
-      <ref name='getSystemId'/>
-      <ref name='htmlGetMetaEncoding'/>
-      <ref name='namePop'/>
-      <ref name='xmlBufferContent'/>
-      <ref name='xmlCatalogGetPublic'/>
-      <ref name='xmlCatalogGetSystem'/>
-      <ref name='xmlDictExists'/>
-      <ref name='xmlDictLookup'/>
-      <ref name='xmlDictQLookup'/>
-      <ref name='xmlEncodeEntities'/>
-      <ref name='xmlOutputBufferGetContent'/>
-      <ref name='xmlParseAttribute'/>
-      <ref name='xmlParseEncodingDecl'/>
-      <ref name='xmlParseName'/>
-      <ref name='xmlParsePITarget'/>
-      <ref name='xmlParseStartTag'/>
-      <ref name='xmlSAX2GetPublicId'/>
-      <ref name='xmlSAX2GetSystemId'/>
-      <ref name='xmlSchemaValueGetAsString'/>
-      <ref name='xmlSplitQName3'/>
-      <ref name='xmlStrcasestr'/>
-      <ref name='xmlStrchr'/>
-      <ref name='xmlStrstr'/>
-      <ref name='xmlTextReaderConstBaseUri'/>
-      <ref name='xmlTextReaderConstEncoding'/>
-      <ref name='xmlTextReaderConstLocalName'/>
-      <ref name='xmlTextReaderConstName'/>
-      <ref name='xmlTextReaderConstNamespaceUri'/>
-      <ref name='xmlTextReaderConstPrefix'/>
-      <ref name='xmlTextReaderConstString'/>
-      <ref name='xmlTextReaderConstValue'/>
-      <ref name='xmlTextReaderConstXmlLang'/>
-      <ref name='xmlTextReaderConstXmlVersion'/>
-      <ref name='xmlUTF8Strpos'/>
-      <ref name='xmlXPathNsLookup'/>
-    </type>
-    <type name='const xmlParserNodeInfo *'>
-      <ref name='xmlParserFindNodeInfo'/>
-    </type>
-    <type name='docbDocPtr'>
-      <ref name='docbParseDoc'/>
-      <ref name='docbParseFile'/>
-      <ref name='docbSAXParseDoc'/>
-      <ref name='docbSAXParseFile'/>
-    </type>
-    <type name='docbParserCtxtPtr'>
-      <ref name='docbCreateFileParserCtxt'/>
-      <ref name='docbCreatePushParserCtxt'/>
-    </type>
-    <type name='double'>
-      <ref name='xmlXPathCastBooleanToNumber'/>
-      <ref name='xmlXPathCastNodeSetToNumber'/>
-      <ref name='xmlXPathCastNodeToNumber'/>
-      <ref name='xmlXPathCastStringToNumber'/>
-      <ref name='xmlXPathCastToNumber'/>
-      <ref name='xmlXPathPopNumber'/>
-      <ref name='xmlXPathStringEvalNumber'/>
-    </type>
-    <type name='htmlDocPtr'>
-      <ref name='htmlCtxtReadDoc'/>
-      <ref name='htmlCtxtReadFd'/>
-      <ref name='htmlCtxtReadFile'/>
-      <ref name='htmlCtxtReadIO'/>
-      <ref name='htmlCtxtReadMemory'/>
-      <ref name='htmlNewDoc'/>
-      <ref name='htmlNewDocNoDtD'/>
-      <ref name='htmlParseDoc'/>
-      <ref name='htmlParseFile'/>
-      <ref name='htmlReadDoc'/>
-      <ref name='htmlReadFd'/>
-      <ref name='htmlReadFile'/>
-      <ref name='htmlReadIO'/>
-      <ref name='htmlReadMemory'/>
-      <ref name='htmlSAXParseDoc'/>
-      <ref name='htmlSAXParseFile'/>
-    </type>
-    <type name='htmlParserCtxtPtr'>
-      <ref name='htmlCreateFileParserCtxt'/>
-      <ref name='htmlCreateMemoryParserCtxt'/>
-      <ref name='htmlCreatePushParserCtxt'/>
-      <ref name='htmlNewParserCtxt'/>
-    </type>
-    <type name='htmlStatus'>
-      <ref name='htmlAttrAllowed'/>
-      <ref name='htmlElementStatusHere'/>
-      <ref name='htmlNodeStatus'/>
-    </type>
-    <type name='long'>
-      <ref name='xmlByteConsumed'/>
-      <ref name='xmlGetLineNo'/>
-      <ref name='xmlSaveDoc'/>
-      <ref name='xmlSaveTree'/>
-      <ref name='xmlTextReaderByteConsumed'/>
-      <ref name='xmlXPathOrderDocElems'/>
-    </type>
-    <type name='size_t'>
-      <ref name='xmlBufNodeDump'/>
-      <ref name='xmlBufShrink'/>
-      <ref name='xmlBufUse'/>
-      <ref name='xmlDictGetUsage'/>
-      <ref name='xmlDictSetLimit'/>
-      <ref name='xmlOutputBufferGetSize'/>
-    </type>
-    <type name='unsigned long'>
-      <ref name='xmlChildElementCount'/>
-      <ref name='xmlParserFindNodeInfoIndex'/>
-      <ref name='xmlSchemaGetFacetValueAsULong'/>
-    </type>
-    <type name='void *'>
-      <ref name='xmlCatalogAddLocal'/>
-      <ref name='xmlFileOpen'/>
-      <ref name='xmlHashCopier'/>
-      <ref name='xmlHashLookup'/>
-      <ref name='xmlHashLookup2'/>
-      <ref name='xmlHashLookup3'/>
-      <ref name='xmlHashQLookup'/>
-      <ref name='xmlHashQLookup2'/>
-      <ref name='xmlHashQLookup3'/>
-      <ref name='xmlIOFTPOpen'/>
-      <ref name='xmlIOHTTPOpen'/>
-      <ref name='xmlIOHTTPOpenW'/>
-      <ref name='xmlInputOpenCallback'/>
-      <ref name='xmlLinkGetData'/>
-      <ref name='xmlListReverseSearch'/>
-      <ref name='xmlListSearch'/>
-      <ref name='xmlMallocAtomicLoc'/>
-      <ref name='xmlMallocFunc'/>
-      <ref name='xmlMallocLoc'/>
-      <ref name='xmlMemMalloc'/>
-      <ref name='xmlMemRealloc'/>
-      <ref name='xmlNanoFTPConnectTo'/>
-      <ref name='xmlNanoFTPNewCtxt'/>
-      <ref name='xmlNanoFTPOpen'/>
-      <ref name='xmlNanoHTTPMethod'/>
-      <ref name='xmlNanoHTTPMethodRedir'/>
-      <ref name='xmlNanoHTTPOpen'/>
-      <ref name='xmlNanoHTTPOpenRedir'/>
-      <ref name='xmlOutputOpenCallback'/>
-      <ref name='xmlReallocFunc'/>
-      <ref name='xmlReallocLoc'/>
-      <ref name='xmlXPathPopExternal'/>
-    </type>
-    <type name='xlinkHandlerPtr'>
-      <ref name='xlinkGetDefaultHandler'/>
-    </type>
-    <type name='xlinkNodeDetectFunc'>
-      <ref name='xlinkGetDefaultDetect'/>
-    </type>
-    <type name='xlinkType'>
-      <ref name='xlinkIsLink'/>
-    </type>
-    <type name='xmlAttrPtr'>
-      <ref name='xmlCopyProp'/>
-      <ref name='xmlCopyPropList'/>
-      <ref name='xmlGetID'/>
-      <ref name='xmlHasNsProp'/>
-      <ref name='xmlHasProp'/>
-      <ref name='xmlNewDocProp'/>
-      <ref name='xmlNewNsProp'/>
-      <ref name='xmlNewNsPropEatName'/>
-      <ref name='xmlNewProp'/>
-      <ref name='xmlSetNsProp'/>
-      <ref name='xmlSetProp'/>
-    </type>
-    <type name='xmlAttributePtr'>
-      <ref name='xmlAddAttributeDecl'/>
-      <ref name='xmlGetDtdAttrDesc'/>
-      <ref name='xmlGetDtdQAttrDesc'/>
-    </type>
-    <type name='xmlAttributeTablePtr'>
-      <ref name='xmlCopyAttributeTable'/>
-    </type>
-    <type name='xmlAutomataPtr'>
-      <ref name='xmlNewAutomata'/>
-    </type>
-    <type name='xmlAutomataStatePtr'>
-      <ref name='xmlAutomataGetInitState'/>
-      <ref name='xmlAutomataNewAllTrans'/>
-      <ref name='xmlAutomataNewCountTrans'/>
-      <ref name='xmlAutomataNewCountTrans2'/>
-      <ref name='xmlAutomataNewCountedTrans'/>
-      <ref name='xmlAutomataNewCounterTrans'/>
-      <ref name='xmlAutomataNewEpsilon'/>
-      <ref name='xmlAutomataNewNegTrans'/>
-      <ref name='xmlAutomataNewOnceTrans'/>
-      <ref name='xmlAutomataNewOnceTrans2'/>
-      <ref name='xmlAutomataNewState'/>
-      <ref name='xmlAutomataNewTransition'/>
-      <ref name='xmlAutomataNewTransition2'/>
-    </type>
-    <type name='xmlBufferAllocationScheme'>
-      <ref name='xmlGetBufferAllocationScheme'/>
-      <ref name='xmlThrDefBufferAllocScheme'/>
-    </type>
-    <type name='xmlBufferPtr'>
-      <ref name='xmlBufferCreate'/>
-      <ref name='xmlBufferCreateSize'/>
-      <ref name='xmlBufferCreateStatic'/>
-    </type>
-    <type name='xmlCatalogAllow'>
-      <ref name='xmlCatalogGetDefaults'/>
-    </type>
-    <type name='xmlCatalogPrefer'>
-      <ref name='xmlCatalogSetDefaultPrefer'/>
-    </type>
-    <type name='xmlCatalogPtr'>
-      <ref name='xmlLoadACatalog'/>
-      <ref name='xmlLoadSGMLSuperCatalog'/>
-      <ref name='xmlNewCatalog'/>
-    </type>
-    <type name='xmlChar'>
-      <ref name='xmlPopInput'/>
-    </type>
-    <type name='xmlChar *'>
-      <ref name='xmlACatalogResolve'/>
-      <ref name='xmlACatalogResolvePublic'/>
-      <ref name='xmlACatalogResolveSystem'/>
-      <ref name='xmlACatalogResolveURI'/>
-      <ref name='xmlBufContent'/>
-      <ref name='xmlBufEnd'/>
-      <ref name='xmlBufferDetach'/>
-      <ref name='xmlBuildQName'/>
-      <ref name='xmlBuildRelativeURI'/>
-      <ref name='xmlBuildURI'/>
-      <ref name='xmlCanonicPath'/>
-      <ref name='xmlCatalogLocalResolve'/>
-      <ref name='xmlCatalogLocalResolveURI'/>
-      <ref name='xmlCatalogResolve'/>
-      <ref name='xmlCatalogResolvePublic'/>
-      <ref name='xmlCatalogResolveSystem'/>
-      <ref name='xmlCatalogResolveURI'/>
-      <ref name='xmlCharStrdup'/>
-      <ref name='xmlCharStrndup'/>
-      <ref name='xmlDecodeEntities'/>
-      <ref name='xmlEncodeEntitiesReentrant'/>
-      <ref name='xmlEncodeSpecialChars'/>
-      <ref name='xmlGetNoNsProp'/>
-      <ref name='xmlGetNodePath'/>
-      <ref name='xmlGetNsProp'/>
-      <ref name='xmlGetProp'/>
-      <ref name='xmlNamespaceParseNCName'/>
-      <ref name='xmlNamespaceParseNSDef'/>
-      <ref name='xmlNamespaceParseQName'/>
-      <ref name='xmlNodeGetBase'/>
-      <ref name='xmlNodeGetContent'/>
-      <ref name='xmlNodeGetLang'/>
-      <ref name='xmlNodeListGetRawString'/>
-      <ref name='xmlNodeListGetString'/>
-      <ref name='xmlNormalizeWindowsPath'/>
-      <ref name='xmlParseAttValue'/>
-      <ref name='xmlParseEncName'/>
-      <ref name='xmlParseEntityValue'/>
-      <ref name='xmlParseExternalID'/>
-      <ref name='xmlParseNmtoken'/>
-      <ref name='xmlParsePubidLiteral'/>
-      <ref name='xmlParseQuotedString'/>
-      <ref name='xmlParseSystemLiteral'/>
-      <ref name='xmlParseVersionInfo'/>
-      <ref name='xmlParseVersionNum'/>
-      <ref name='xmlPathToURI'/>
-      <ref name='xmlSaveUri'/>
-      <ref name='xmlScanName'/>
-      <ref name='xmlSchemaCollapseString'/>
-      <ref name='xmlSchemaWhiteSpaceReplace'/>
-      <ref name='xmlSplitQName'/>
-      <ref name='xmlSplitQName2'/>
-      <ref name='xmlStrcat'/>
-      <ref name='xmlStrdup'/>
-      <ref name='xmlStringDecodeEntities'/>
-      <ref name='xmlStringLenDecodeEntities'/>
-      <ref name='xmlStrncat'/>
-      <ref name='xmlStrncatNew'/>
-      <ref name='xmlStrndup'/>
-      <ref name='xmlStrsub'/>
-      <ref name='xmlTextReaderBaseUri'/>
-      <ref name='xmlTextReaderGetAttribute'/>
-      <ref name='xmlTextReaderGetAttributeNo'/>
-      <ref name='xmlTextReaderGetAttributeNs'/>
-      <ref name='xmlTextReaderLocalName'/>
-      <ref name='xmlTextReaderLocatorBaseURI'/>
-      <ref name='xmlTextReaderLookupNamespace'/>
-      <ref name='xmlTextReaderName'/>
-      <ref name='xmlTextReaderNamespaceUri'/>
-      <ref name='xmlTextReaderPrefix'/>
-      <ref name='xmlTextReaderReadInnerXml'/>
-      <ref name='xmlTextReaderReadOuterXml'/>
-      <ref name='xmlTextReaderReadString'/>
-      <ref name='xmlTextReaderValue'/>
-      <ref name='xmlTextReaderXmlLang'/>
-      <ref name='xmlURIEscape'/>
-      <ref name='xmlURIEscapeStr'/>
-      <ref name='xmlUTF8Strndup'/>
-      <ref name='xmlUTF8Strsub'/>
-      <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-      <ref name='xmlValidNormalizeAttributeValue'/>
-      <ref name='xmlXPathCastBooleanToString'/>
-      <ref name='xmlXPathCastNodeSetToString'/>
-      <ref name='xmlXPathCastNodeToString'/>
-      <ref name='xmlXPathCastNumberToString'/>
-      <ref name='xmlXPathCastToString'/>
-      <ref name='xmlXPathParseNCName'/>
-      <ref name='xmlXPathParseName'/>
-      <ref name='xmlXPathPopString'/>
-    </type>
-    <type name='xmlCharEncoding'>
-      <ref name='xmlDetectCharEncoding'/>
-      <ref name='xmlParseCharEncoding'/>
-    </type>
-    <type name='xmlCharEncodingHandlerPtr'>
-      <ref name='xmlFindCharEncodingHandler'/>
-      <ref name='xmlGetCharEncodingHandler'/>
-      <ref name='xmlNewCharEncodingHandler'/>
-    </type>
-    <type name='xmlDOMWrapCtxtPtr'>
-      <ref name='xmlDOMWrapNewCtxt'/>
-    </type>
-    <type name='xmlDeregisterNodeFunc'>
-      <ref name='xmlDeregisterNodeDefault'/>
-      <ref name='xmlThrDefDeregisterNodeDefault'/>
-    </type>
-    <type name='xmlDictPtr'>
-      <ref name='xmlDictCreate'/>
-      <ref name='xmlDictCreateSub'/>
-    </type>
-    <type name='xmlDocPtr'>
-      <ref name='xmlCopyDoc'/>
-      <ref name='xmlCtxtReadDoc'/>
-      <ref name='xmlCtxtReadFd'/>
-      <ref name='xmlCtxtReadFile'/>
-      <ref name='xmlCtxtReadIO'/>
-      <ref name='xmlCtxtReadMemory'/>
-      <ref name='xmlNewDoc'/>
-      <ref name='xmlParseCatalogFile'/>
-      <ref name='xmlParseDoc'/>
-      <ref name='xmlParseEntity'/>
-      <ref name='xmlParseFile'/>
-      <ref name='xmlParseMemory'/>
-      <ref name='xmlReadDoc'/>
-      <ref name='xmlReadFd'/>
-      <ref name='xmlReadFile'/>
-      <ref name='xmlReadIO'/>
-      <ref name='xmlReadMemory'/>
-      <ref name='xmlRecoverDoc'/>
-      <ref name='xmlRecoverFile'/>
-      <ref name='xmlRecoverMemory'/>
-      <ref name='xmlSAXParseDoc'/>
-      <ref name='xmlSAXParseEntity'/>
-      <ref name='xmlSAXParseFile'/>
-      <ref name='xmlSAXParseFileWithData'/>
-      <ref name='xmlSAXParseMemory'/>
-      <ref name='xmlSAXParseMemoryWithData'/>
-      <ref name='xmlTextReaderCurrentDoc'/>
-    </type>
-    <type name='xmlDtdPtr'>
-      <ref name='xmlCopyDtd'/>
-      <ref name='xmlCreateIntSubset'/>
-      <ref name='xmlGetIntSubset'/>
-      <ref name='xmlIOParseDTD'/>
-      <ref name='xmlNewDtd'/>
-      <ref name='xmlParseDTD'/>
-      <ref name='xmlSAXParseDTD'/>
-    </type>
-    <type name='xmlElementContentPtr'>
-      <ref name='xmlCopyDocElementContent'/>
-      <ref name='xmlCopyElementContent'/>
-      <ref name='xmlNewDocElementContent'/>
-      <ref name='xmlNewElementContent'/>
-      <ref name='xmlParseElementChildrenContentDecl'/>
-      <ref name='xmlParseElementMixedContentDecl'/>
-    </type>
-    <type name='xmlElementPtr'>
-      <ref name='xmlAddElementDecl'/>
-      <ref name='xmlGetDtdElementDesc'/>
-      <ref name='xmlGetDtdQElementDesc'/>
-    </type>
-    <type name='xmlElementTablePtr'>
-      <ref name='xmlCopyElementTable'/>
-    </type>
-    <type name='xmlEntitiesTablePtr'>
-      <ref name='xmlCopyEntitiesTable'/>
-      <ref name='xmlCreateEntitiesTable'/>
-    </type>
-    <type name='xmlEntityPtr'>
-      <ref name='getEntity'/>
-      <ref name='getEntitySAXFunc'/>
-      <ref name='getParameterEntity'/>
-      <ref name='getParameterEntitySAXFunc'/>
-      <ref name='xmlAddDocEntity'/>
-      <ref name='xmlAddDtdEntity'/>
-      <ref name='xmlGetDocEntity'/>
-      <ref name='xmlGetDtdEntity'/>
-      <ref name='xmlGetParameterEntity'/>
-      <ref name='xmlGetPredefinedEntity'/>
-      <ref name='xmlNewEntity'/>
-      <ref name='xmlParseEntityRef'/>
-      <ref name='xmlSAX2GetEntity'/>
-      <ref name='xmlSAX2GetParameterEntity'/>
-    </type>
-    <type name='xmlEnumerationPtr'>
-      <ref name='xmlCopyEnumeration'/>
-      <ref name='xmlCreateEnumeration'/>
-      <ref name='xmlParseEnumerationType'/>
-      <ref name='xmlParseNotationType'/>
-    </type>
-    <type name='xmlErrorPtr'>
-      <ref name='xmlCtxtGetLastError'/>
-      <ref name='xmlGetLastError'/>
-    </type>
-    <type name='xmlExpCtxtPtr'>
-      <ref name='xmlExpNewCtxt'/>
-    </type>
-    <type name='xmlExpNodePtr'>
-      <ref name='xmlExpExpDerive'/>
-      <ref name='xmlExpNewAtom'/>
-      <ref name='xmlExpNewOr'/>
-      <ref name='xmlExpNewRange'/>
-      <ref name='xmlExpNewSeq'/>
-      <ref name='xmlExpParse'/>
-      <ref name='xmlExpStringDerive'/>
-    </type>
-    <type name='xmlExternalEntityLoader'>
-      <ref name='xmlGetExternalEntityLoader'/>
-    </type>
-    <type name='xmlGlobalStatePtr'>
-      <ref name='xmlGetGlobalState'/>
-    </type>
-    <type name='xmlHashTablePtr'>
-      <ref name='xmlHashCopy'/>
-      <ref name='xmlHashCreate'/>
-      <ref name='xmlHashCreateDict'/>
-    </type>
-    <type name='xmlIDPtr'>
-      <ref name='xmlAddID'/>
-    </type>
-    <type name='xmlLinkPtr'>
-      <ref name='xmlListEnd'/>
-      <ref name='xmlListFront'/>
-    </type>
-    <type name='xmlListPtr'>
-      <ref name='xmlGetRefs'/>
-      <ref name='xmlListCreate'/>
-      <ref name='xmlListDup'/>
-    </type>
-    <type name='xmlLocationSetPtr'>
-      <ref name='xmlXPtrLocationSetCreate'/>
-      <ref name='xmlXPtrLocationSetMerge'/>
-    </type>
-    <type name='xmlModulePtr'>
-      <ref name='xmlModuleOpen'/>
-    </type>
-    <type name='xmlMutexPtr'>
-      <ref name='xmlNewMutex'/>
-    </type>
-    <type name='xmlNodePtr'>
-      <ref name='nodePop'/>
-      <ref name='xmlAddChild'/>
-      <ref name='xmlAddChildList'/>
-      <ref name='xmlAddNextSibling'/>
-      <ref name='xmlAddPrevSibling'/>
-      <ref name='xmlAddSibling'/>
-      <ref name='xmlCopyNode'/>
-      <ref name='xmlCopyNodeList'/>
-      <ref name='xmlDocCopyNode'/>
-      <ref name='xmlDocCopyNodeList'/>
-      <ref name='xmlDocGetRootElement'/>
-      <ref name='xmlDocSetRootElement'/>
-      <ref name='xmlFirstElementChild'/>
-      <ref name='xmlGetLastChild'/>
-      <ref name='xmlLastElementChild'/>
-      <ref name='xmlNewCDataBlock'/>
-      <ref name='xmlNewCharRef'/>
-      <ref name='xmlNewChild'/>
-      <ref name='xmlNewComment'/>
-      <ref name='xmlNewDocComment'/>
-      <ref name='xmlNewDocFragment'/>
-      <ref name='xmlNewDocNode'/>
-      <ref name='xmlNewDocNodeEatName'/>
-      <ref name='xmlNewDocPI'/>
-      <ref name='xmlNewDocRawNode'/>
-      <ref name='xmlNewDocText'/>
-      <ref name='xmlNewDocTextLen'/>
-      <ref name='xmlNewNode'/>
-      <ref name='xmlNewNodeEatName'/>
-      <ref name='xmlNewPI'/>
-      <ref name='xmlNewReference'/>
-      <ref name='xmlNewText'/>
-      <ref name='xmlNewTextChild'/>
-      <ref name='xmlNewTextLen'/>
-      <ref name='xmlNextElementSibling'/>
-      <ref name='xmlPreviousElementSibling'/>
-      <ref name='xmlReplaceNode'/>
-      <ref name='xmlStringGetNodeList'/>
-      <ref name='xmlStringLenGetNodeList'/>
-      <ref name='xmlTextMerge'/>
-      <ref name='xmlTextReaderCurrentNode'/>
-      <ref name='xmlTextReaderExpand'/>
-      <ref name='xmlTextReaderPreserve'/>
-      <ref name='xmlXPathNextAncestor'/>
-      <ref name='xmlXPathNextAncestorOrSelf'/>
-      <ref name='xmlXPathNextAttribute'/>
-      <ref name='xmlXPathNextChild'/>
-      <ref name='xmlXPathNextDescendant'/>
-      <ref name='xmlXPathNextDescendantOrSelf'/>
-      <ref name='xmlXPathNextFollowing'/>
-      <ref name='xmlXPathNextFollowingSibling'/>
-      <ref name='xmlXPathNextNamespace'/>
-      <ref name='xmlXPathNextParent'/>
-      <ref name='xmlXPathNextPreceding'/>
-      <ref name='xmlXPathNextPrecedingSibling'/>
-      <ref name='xmlXPathNextSelf'/>
-      <ref name='xmlXPtrBuildNodeList'/>
-    </type>
-    <type name='xmlNodeSetPtr'>
-      <ref name='xmlXPathDifference'/>
-      <ref name='xmlXPathDistinct'/>
-      <ref name='xmlXPathDistinctSorted'/>
-      <ref name='xmlXPathIntersection'/>
-      <ref name='xmlXPathLeading'/>
-      <ref name='xmlXPathLeadingSorted'/>
-      <ref name='xmlXPathNodeLeading'/>
-      <ref name='xmlXPathNodeLeadingSorted'/>
-      <ref name='xmlXPathNodeSetCreate'/>
-      <ref name='xmlXPathNodeSetMerge'/>
-      <ref name='xmlXPathNodeTrailing'/>
-      <ref name='xmlXPathNodeTrailingSorted'/>
-      <ref name='xmlXPathPopNodeSet'/>
-      <ref name='xmlXPathTrailing'/>
-      <ref name='xmlXPathTrailingSorted'/>
-    </type>
-    <type name='xmlNotationPtr'>
-      <ref name='xmlAddNotationDecl'/>
-      <ref name='xmlGetDtdNotationDesc'/>
-    </type>
-    <type name='xmlNotationTablePtr'>
-      <ref name='xmlCopyNotationTable'/>
-    </type>
-    <type name='xmlNsPtr'>
-      <ref name='getNamespace'/>
-      <ref name='xmlCopyNamespace'/>
-      <ref name='xmlCopyNamespaceList'/>
-      <ref name='xmlDOMWrapAcquireNsFunction'/>
-      <ref name='xmlNewGlobalNs'/>
-      <ref name='xmlNewNs'/>
-      <ref name='xmlSearchNs'/>
-      <ref name='xmlSearchNsByHref'/>
-    </type>
-    <type name='xmlNsPtr *'>
-      <ref name='xmlGetNsList'/>
-    </type>
-    <type name='xmlOutputBufferCreateFilenameFunc'>
-      <ref name='xmlOutputBufferCreateFilenameDefault'/>
-      <ref name='xmlThrDefOutputBufferCreateFilenameDefault'/>
-    </type>
-    <type name='xmlOutputBufferPtr'>
-      <ref name='xmlAllocOutputBuffer'/>
-      <ref name='xmlOutputBufferCreateBuffer'/>
-      <ref name='xmlOutputBufferCreateFd'/>
-      <ref name='xmlOutputBufferCreateFile'/>
-      <ref name='xmlOutputBufferCreateFilename'/>
-      <ref name='xmlOutputBufferCreateFilenameFunc'/>
-      <ref name='xmlOutputBufferCreateIO'/>
-    </type>
-    <type name='xmlParserCtxtPtr'>
-      <ref name='xmlCreateDocParserCtxt'/>
-      <ref name='xmlCreateEntityParserCtxt'/>
-      <ref name='xmlCreateFileParserCtxt'/>
-      <ref name='xmlCreateIOParserCtxt'/>
-      <ref name='xmlCreateMemoryParserCtxt'/>
-      <ref name='xmlCreatePushParserCtxt'/>
-      <ref name='xmlCreateURLParserCtxt'/>
-      <ref name='xmlNewParserCtxt'/>
-      <ref name='xmlSchemaValidCtxtGetParserCtxt'/>
-    </type>
-    <type name='xmlParserErrors'>
-      <ref name='xmlParseInNodeContext'/>
-    </type>
-    <type name='xmlParserInputBufferCreateFilenameFunc'>
-      <ref name='xmlParserInputBufferCreateFilenameDefault'/>
-      <ref name='xmlThrDefParserInputBufferCreateFilenameDefault'/>
-    </type>
-    <type name='xmlParserInputBufferPtr'>
-      <ref name='xmlAllocParserInputBuffer'/>
-      <ref name='xmlParserInputBufferCreateFd'/>
-      <ref name='xmlParserInputBufferCreateFile'/>
-      <ref name='xmlParserInputBufferCreateFilename'/>
-      <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-      <ref name='xmlParserInputBufferCreateIO'/>
-      <ref name='xmlParserInputBufferCreateMem'/>
-      <ref name='xmlParserInputBufferCreateStatic'/>
-      <ref name='xmlTextReaderGetRemainder'/>
-    </type>
-    <type name='xmlParserInputPtr'>
-      <ref name='inputPop'/>
-      <ref name='resolveEntity'/>
-      <ref name='resolveEntitySAXFunc'/>
-      <ref name='xmlCheckHTTPInput'/>
-      <ref name='xmlExternalEntityLoader'/>
-      <ref name='xmlLoadExternalEntity'/>
-      <ref name='xmlNewEntityInputStream'/>
-      <ref name='xmlNewIOInputStream'/>
-      <ref name='xmlNewInputFromFile'/>
-      <ref name='xmlNewInputStream'/>
-      <ref name='xmlNewStringInputStream'/>
-      <ref name='xmlNoNetExternalEntityLoader'/>
-      <ref name='xmlSAX2ResolveEntity'/>
-    </type>
-    <type name='xmlPatternPtr'>
-      <ref name='xmlPatterncompile'/>
-    </type>
-    <type name='xmlRMutexPtr'>
-      <ref name='xmlNewRMutex'/>
-    </type>
-    <type name='xmlRefPtr'>
-      <ref name='xmlAddRef'/>
-    </type>
-    <type name='xmlRegExecCtxtPtr'>
-      <ref name='xmlRegNewExecCtxt'/>
-    </type>
-    <type name='xmlRegexpPtr'>
-      <ref name='xmlAutomataCompile'/>
-      <ref name='xmlRegexpCompile'/>
-    </type>
-    <type name='xmlRegisterNodeFunc'>
-      <ref name='xmlRegisterNodeDefault'/>
-      <ref name='xmlThrDefRegisterNodeDefault'/>
-    </type>
-    <type name='xmlRelaxNGParserCtxtPtr'>
-      <ref name='xmlRelaxNGNewDocParserCtxt'/>
-      <ref name='xmlRelaxNGNewMemParserCtxt'/>
-      <ref name='xmlRelaxNGNewParserCtxt'/>
-    </type>
-    <type name='xmlRelaxNGPtr'>
-      <ref name='xmlRelaxNGParse'/>
-    </type>
-    <type name='xmlRelaxNGValidCtxtPtr'>
-      <ref name='xmlRelaxNGNewValidCtxt'/>
-    </type>
-    <type name='xmlSaveCtxtPtr'>
-      <ref name='xmlSaveToBuffer'/>
-      <ref name='xmlSaveToFd'/>
-      <ref name='xmlSaveToFilename'/>
-      <ref name='xmlSaveToIO'/>
-    </type>
-    <type name='xmlSchemaFacetPtr'>
-      <ref name='xmlSchemaNewFacet'/>
-    </type>
-    <type name='xmlSchemaParserCtxtPtr'>
-      <ref name='xmlSchemaNewDocParserCtxt'/>
-      <ref name='xmlSchemaNewMemParserCtxt'/>
-      <ref name='xmlSchemaNewParserCtxt'/>
-    </type>
-    <type name='xmlSchemaPtr'>
-      <ref name='xmlSchemaParse'/>
-    </type>
-    <type name='xmlSchemaSAXPlugPtr'>
-      <ref name='xmlSchemaSAXPlug'/>
-    </type>
-    <type name='xmlSchemaTypePtr'>
-      <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-      <ref name='xmlSchemaGetBuiltInType'/>
-      <ref name='xmlSchemaGetPredefinedType'/>
-    </type>
-    <type name='xmlSchemaValPtr'>
-      <ref name='xmlSchemaCopyValue'/>
-      <ref name='xmlSchemaNewNOTATIONValue'/>
-      <ref name='xmlSchemaNewQNameValue'/>
-      <ref name='xmlSchemaNewStringValue'/>
-      <ref name='xmlSchemaValueGetNext'/>
-    </type>
-    <type name='xmlSchemaValType'>
-      <ref name='xmlSchemaGetValType'/>
-    </type>
-    <type name='xmlSchemaValidCtxtPtr'>
-      <ref name='xmlSchemaNewValidCtxt'/>
-    </type>
-    <type name='xmlSchematronParserCtxtPtr'>
-      <ref name='xmlSchematronNewDocParserCtxt'/>
-      <ref name='xmlSchematronNewMemParserCtxt'/>
-      <ref name='xmlSchematronNewParserCtxt'/>
-    </type>
-    <type name='xmlSchematronPtr'>
-      <ref name='xmlSchematronParse'/>
-    </type>
-    <type name='xmlSchematronValidCtxtPtr'>
-      <ref name='xmlSchematronNewValidCtxt'/>
-    </type>
-    <type name='xmlStreamCtxtPtr'>
-      <ref name='xmlPatternGetStreamCtxt'/>
-    </type>
-    <type name='xmlTextReaderPtr'>
-      <ref name='xmlNewTextReader'/>
-      <ref name='xmlNewTextReaderFilename'/>
-      <ref name='xmlReaderForDoc'/>
-      <ref name='xmlReaderForFd'/>
-      <ref name='xmlReaderForFile'/>
-      <ref name='xmlReaderForIO'/>
-      <ref name='xmlReaderForMemory'/>
-      <ref name='xmlReaderWalker'/>
-    </type>
-    <type name='xmlTextWriterPtr'>
-      <ref name='xmlNewTextWriter'/>
-      <ref name='xmlNewTextWriterDoc'/>
-      <ref name='xmlNewTextWriterFilename'/>
-      <ref name='xmlNewTextWriterMemory'/>
-      <ref name='xmlNewTextWriterPushParser'/>
-      <ref name='xmlNewTextWriterTree'/>
-    </type>
-    <type name='xmlURIPtr'>
-      <ref name='xmlCreateURI'/>
-      <ref name='xmlParseURI'/>
-      <ref name='xmlParseURIRaw'/>
-    </type>
-    <type name='xmlValidCtxtPtr'>
-      <ref name='xmlNewValidCtxt'/>
-    </type>
-    <type name='xmlXIncludeCtxtPtr'>
-      <ref name='xmlXIncludeNewContext'/>
-    </type>
-    <type name='xmlXPathCompExprPtr'>
-      <ref name='xmlXPathCompile'/>
-      <ref name='xmlXPathCtxtCompile'/>
-    </type>
-    <type name='xmlXPathContextPtr'>
-      <ref name='xmlXPathNewContext'/>
-      <ref name='xmlXPtrNewContext'/>
-    </type>
-    <type name='xmlXPathFunction'>
-      <ref name='xmlXPathFuncLookupFunc'/>
-      <ref name='xmlXPathFunctionLookup'/>
-      <ref name='xmlXPathFunctionLookupNS'/>
-    </type>
-    <type name='xmlXPathObjectPtr'>
-      <ref name='valuePop'/>
-      <ref name='xmlXPathAxisFunc'/>
-      <ref name='xmlXPathCompiledEval'/>
-      <ref name='xmlXPathConvertBoolean'/>
-      <ref name='xmlXPathConvertNumber'/>
-      <ref name='xmlXPathConvertString'/>
-      <ref name='xmlXPathEval'/>
-      <ref name='xmlXPathEvalExpression'/>
-      <ref name='xmlXPathNewBoolean'/>
-      <ref name='xmlXPathNewCString'/>
-      <ref name='xmlXPathNewFloat'/>
-      <ref name='xmlXPathNewNodeSet'/>
-      <ref name='xmlXPathNewNodeSetList'/>
-      <ref name='xmlXPathNewString'/>
-      <ref name='xmlXPathNewValueTree'/>
-      <ref name='xmlXPathNodeEval'/>
-      <ref name='xmlXPathObjectCopy'/>
-      <ref name='xmlXPathVariableLookup'/>
-      <ref name='xmlXPathVariableLookupFunc'/>
-      <ref name='xmlXPathVariableLookupNS'/>
-      <ref name='xmlXPathWrapCString'/>
-      <ref name='xmlXPathWrapExternal'/>
-      <ref name='xmlXPathWrapNodeSet'/>
-      <ref name='xmlXPathWrapString'/>
-      <ref name='xmlXPtrEval'/>
-      <ref name='xmlXPtrNewCollapsedRange'/>
-      <ref name='xmlXPtrNewLocationSetNodeSet'/>
-      <ref name='xmlXPtrNewLocationSetNodes'/>
-      <ref name='xmlXPtrNewRange'/>
-      <ref name='xmlXPtrNewRangeNodeObject'/>
-      <ref name='xmlXPtrNewRangeNodePoint'/>
-      <ref name='xmlXPtrNewRangeNodes'/>
-      <ref name='xmlXPtrNewRangePointNode'/>
-      <ref name='xmlXPtrNewRangePoints'/>
-      <ref name='xmlXPtrWrapLocationSet'/>
-    </type>
-    <type name='xmlXPathParserContextPtr'>
-      <ref name='xmlXPathNewParserContext'/>
-    </type>
-  </constructors>
-  <functions>
-    <type name='...'>
-      <ref name='errorSAXFunc'/>
-      <ref name='fatalErrorSAXFunc'/>
-      <ref name='warningSAXFunc'/>
-      <ref name='xmlGenericErrorFunc'/>
-      <ref name='xmlParserError'/>
-      <ref name='xmlParserValidityError'/>
-      <ref name='xmlParserValidityWarning'/>
-      <ref name='xmlParserWarning'/>
-      <ref name='xmlRelaxNGValidityErrorFunc'/>
-      <ref name='xmlRelaxNGValidityWarningFunc'/>
-      <ref name='xmlSchemaValidityErrorFunc'/>
-      <ref name='xmlSchemaValidityWarningFunc'/>
-      <ref name='xmlSchematronValidityErrorFunc'/>
-      <ref name='xmlSchematronValidityWarningFunc'/>
-      <ref name='xmlStrPrintf'/>
-      <ref name='xmlTextWriterWriteFormatAttribute'/>
-      <ref name='xmlTextWriterWriteFormatAttributeNS'/>
-      <ref name='xmlTextWriterWriteFormatCDATA'/>
-      <ref name='xmlTextWriterWriteFormatComment'/>
-      <ref name='xmlTextWriterWriteFormatDTD'/>
-      <ref name='xmlTextWriterWriteFormatDTDAttlist'/>
-      <ref name='xmlTextWriterWriteFormatDTDElement'/>
-      <ref name='xmlTextWriterWriteFormatDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteFormatElement'/>
-      <ref name='xmlTextWriterWriteFormatElementNS'/>
-      <ref name='xmlTextWriterWriteFormatPI'/>
-      <ref name='xmlTextWriterWriteFormatRaw'/>
-      <ref name='xmlTextWriterWriteFormatString'/>
-      <ref name='xmlValidityErrorFunc'/>
-      <ref name='xmlValidityWarningFunc'/>
-    </type>
-    <type name='FILE *'>
-      <ref name='htmlDocDump'/>
-      <ref name='htmlNodeDumpFile'/>
-      <ref name='htmlNodeDumpFileFormat'/>
-      <ref name='xmlACatalogDump'/>
-      <ref name='xmlBufferDump'/>
-      <ref name='xmlCatalogDump'/>
-      <ref name='xmlDebugCheckDocument'/>
-      <ref name='xmlDebugDumpAttr'/>
-      <ref name='xmlDebugDumpAttrList'/>
-      <ref name='xmlDebugDumpDTD'/>
-      <ref name='xmlDebugDumpDocument'/>
-      <ref name='xmlDebugDumpDocumentHead'/>
-      <ref name='xmlDebugDumpEntities'/>
-      <ref name='xmlDebugDumpNode'/>
-      <ref name='xmlDebugDumpNodeList'/>
-      <ref name='xmlDebugDumpOneNode'/>
-      <ref name='xmlDebugDumpString'/>
-      <ref name='xmlDocDump'/>
-      <ref name='xmlDocFormatDump'/>
-      <ref name='xmlElemDump'/>
-      <ref name='xmlLsOneNode'/>
-      <ref name='xmlMemDisplay'/>
-      <ref name='xmlMemDisplayLast'/>
-      <ref name='xmlMemShow'/>
-      <ref name='xmlOutputBufferCreateFile'/>
-      <ref name='xmlParserInputBufferCreateFile'/>
-      <ref name='xmlPrintURI'/>
-      <ref name='xmlRegexpPrint'/>
-      <ref name='xmlRelaxNGDump'/>
-      <ref name='xmlRelaxNGDumpTree'/>
-      <ref name='xmlSchemaDump'/>
-      <ref name='xmlShell'/>
-      <ref name='xmlXPathDebugDumpCompExpr'/>
-      <ref name='xmlXPathDebugDumpObject'/>
-    </type>
-    <type name='char **'>
-      <ref name='xmlNanoHTTPFetch'/>
-      <ref name='xmlNanoHTTPMethod'/>
-      <ref name='xmlNanoHTTPMethodRedir'/>
-      <ref name='xmlNanoHTTPOpen'/>
-      <ref name='xmlNanoHTTPOpenRedir'/>
-    </type>
-    <type name='char const *'>
-      <ref name='xmlInputMatchCallback'/>
-      <ref name='xmlInputOpenCallback'/>
-      <ref name='xmlOutputMatchCallback'/>
-      <ref name='xmlOutputOpenCallback'/>
-    </type>
-    <type name='const char **'>
-      <ref name='xmlGetFeaturesList'/>
-      <ref name='xmlSchemaValidityLocatorFunc'/>
-    </type>
-    <type name='const htmlElemDesc *'>
-      <ref name='htmlAttrAllowed'/>
-      <ref name='htmlElementAllowedHere'/>
-      <ref name='htmlElementStatusHere'/>
-    </type>
-    <type name='const htmlNodePtr'>
-      <ref name='htmlNodeStatus'/>
-    </type>
-    <type name='const unsigned char *'>
-      <ref name='UTF8ToHtml'/>
-      <ref name='UTF8Toisolat1'/>
-      <ref name='docbEncodeEntities'/>
-      <ref name='htmlEncodeEntities'/>
-      <ref name='isolat1ToUTF8'/>
-      <ref name='xmlCharEncodingInputFunc'/>
-      <ref name='xmlCharEncodingOutputFunc'/>
-      <ref name='xmlCheckUTF8'/>
-      <ref name='xmlDetectCharEncoding'/>
-      <ref name='xmlGetUTF8Char'/>
-    </type>
-    <type name='const void *'>
-      <ref name='xmlListDataCompare'/>
-      <ref name='xmlListWalker'/>
-    </type>
-    <type name='const xlinkHRef'>
-      <ref name='xlinkSimpleLinkFunk'/>
-    </type>
-    <type name='const xlinkHRef *'>
-      <ref name='xlinkExtendedLinkFunk'/>
-      <ref name='xlinkExtendedLinkSetFunk'/>
-    </type>
-    <type name='const xlinkRole'>
-      <ref name='xlinkSimpleLinkFunk'/>
-    </type>
-    <type name='const xlinkRole *'>
-      <ref name='xlinkExtendedLinkFunk'/>
-      <ref name='xlinkExtendedLinkSetFunk'/>
-    </type>
-    <type name='const xlinkTitle'>
-      <ref name='xlinkSimpleLinkFunk'/>
-    </type>
-    <type name='const xlinkTitle *'>
-      <ref name='xlinkExtendedLinkFunk'/>
-      <ref name='xlinkExtendedLinkSetFunk'/>
-    </type>
-    <type name='const xmlBuf *'>
-      <ref name='xmlBufContent'/>
-    </type>
-    <type name='const xmlBufPtr'>
-      <ref name='xmlBufUse'/>
-    </type>
-    <type name='const xmlBuffer *'>
-      <ref name='xmlBufferContent'/>
-      <ref name='xmlBufferLength'/>
-    </type>
-    <type name='const xmlChRangeGroup *'>
-      <ref name='xmlCharInRange'/>
-    </type>
-    <type name='const xmlChar *'>
-      <ref name='attribute'/>
-      <ref name='attributeDecl'/>
-      <ref name='attributeDeclSAXFunc'/>
-      <ref name='attributeSAXFunc'/>
-      <ref name='cdataBlock'/>
-      <ref name='cdataBlockSAXFunc'/>
-      <ref name='characters'/>
-      <ref name='charactersSAXFunc'/>
-      <ref name='comment'/>
-      <ref name='commentSAXFunc'/>
-      <ref name='elementDecl'/>
-      <ref name='elementDeclSAXFunc'/>
-      <ref name='endElement'/>
-      <ref name='endElementNsSAX2Func'/>
-      <ref name='endElementSAXFunc'/>
-      <ref name='entityDecl'/>
-      <ref name='entityDeclSAXFunc'/>
-      <ref name='externalSubset'/>
-      <ref name='externalSubsetSAXFunc'/>
-      <ref name='getEntity'/>
-      <ref name='getEntitySAXFunc'/>
-      <ref name='getParameterEntity'/>
-      <ref name='getParameterEntitySAXFunc'/>
-      <ref name='globalNamespace'/>
-      <ref name='htmlAttrAllowed'/>
-      <ref name='htmlAutoCloseTag'/>
-      <ref name='htmlCtxtReadDoc'/>
-      <ref name='htmlElementAllowedHere'/>
-      <ref name='htmlEntityLookup'/>
-      <ref name='htmlIsBooleanAttr'/>
-      <ref name='htmlIsScriptAttribute'/>
-      <ref name='htmlNewDoc'/>
-      <ref name='htmlNewDocNoDtD'/>
-      <ref name='htmlParseDoc'/>
-      <ref name='htmlReadDoc'/>
-      <ref name='htmlSAXParseDoc'/>
-      <ref name='htmlSetMetaEncoding'/>
-      <ref name='htmlTagLookup'/>
-      <ref name='ignorableWhitespace'/>
-      <ref name='ignorableWhitespaceSAXFunc'/>
-      <ref name='internalSubset'/>
-      <ref name='internalSubsetSAXFunc'/>
-      <ref name='namePush'/>
-      <ref name='namespaceDecl'/>
-      <ref name='notationDecl'/>
-      <ref name='notationDeclSAXFunc'/>
-      <ref name='processingInstruction'/>
-      <ref name='processingInstructionSAXFunc'/>
-      <ref name='reference'/>
-      <ref name='referenceSAXFunc'/>
-      <ref name='resolveEntity'/>
-      <ref name='resolveEntitySAXFunc'/>
-      <ref name='setNamespace'/>
-      <ref name='startElement'/>
-      <ref name='startElementNsSAX2Func'/>
-      <ref name='startElementSAXFunc'/>
-      <ref name='unparsedEntityDecl'/>
-      <ref name='unparsedEntityDeclSAXFunc'/>
-      <ref name='xmlACatalogAdd'/>
-      <ref name='xmlACatalogRemove'/>
-      <ref name='xmlACatalogResolve'/>
-      <ref name='xmlACatalogResolvePublic'/>
-      <ref name='xmlACatalogResolveSystem'/>
-      <ref name='xmlACatalogResolveURI'/>
-      <ref name='xmlAddAttributeDecl'/>
-      <ref name='xmlAddDocEntity'/>
-      <ref name='xmlAddDtdEntity'/>
-      <ref name='xmlAddElementDecl'/>
-      <ref name='xmlAddID'/>
-      <ref name='xmlAddNotationDecl'/>
-      <ref name='xmlAddRef'/>
-      <ref name='xmlAttrSerializeTxtContent'/>
-      <ref name='xmlAutomataNewCountTrans'/>
-      <ref name='xmlAutomataNewCountTrans2'/>
-      <ref name='xmlAutomataNewNegTrans'/>
-      <ref name='xmlAutomataNewOnceTrans'/>
-      <ref name='xmlAutomataNewOnceTrans2'/>
-      <ref name='xmlAutomataNewTransition'/>
-      <ref name='xmlAutomataNewTransition2'/>
-      <ref name='xmlBufferAdd'/>
-      <ref name='xmlBufferAddHead'/>
-      <ref name='xmlBufferCat'/>
-      <ref name='xmlBufferWriteCHAR'/>
-      <ref name='xmlBufferWriteQuotedString'/>
-      <ref name='xmlBuildQName'/>
-      <ref name='xmlBuildRelativeURI'/>
-      <ref name='xmlBuildURI'/>
-      <ref name='xmlCanonicPath'/>
-      <ref name='xmlCatalogAdd'/>
-      <ref name='xmlCatalogAddLocal'/>
-      <ref name='xmlCatalogGetPublic'/>
-      <ref name='xmlCatalogGetSystem'/>
-      <ref name='xmlCatalogLocalResolve'/>
-      <ref name='xmlCatalogLocalResolveURI'/>
-      <ref name='xmlCatalogRemove'/>
-      <ref name='xmlCatalogResolve'/>
-      <ref name='xmlCatalogResolvePublic'/>
-      <ref name='xmlCatalogResolveSystem'/>
-      <ref name='xmlCatalogResolveURI'/>
-      <ref name='xmlCheckLanguageID'/>
-      <ref name='xmlCreateDocParserCtxt'/>
-      <ref name='xmlCreateEntityParserCtxt'/>
-      <ref name='xmlCreateEnumeration'/>
-      <ref name='xmlCreateIntSubset'/>
-      <ref name='xmlCtxtReadDoc'/>
-      <ref name='xmlDOMWrapAcquireNsFunction'/>
-      <ref name='xmlDebugDumpString'/>
-      <ref name='xmlDictExists'/>
-      <ref name='xmlDictLookup'/>
-      <ref name='xmlDictOwns'/>
-      <ref name='xmlDictQLookup'/>
-      <ref name='xmlEncodeEntities'/>
-      <ref name='xmlEncodeEntitiesReentrant'/>
-      <ref name='xmlEncodeSpecialChars'/>
-      <ref name='xmlExpNewAtom'/>
-      <ref name='xmlExpStringDerive'/>
-      <ref name='xmlGetDocEntity'/>
-      <ref name='xmlGetDtdAttrDesc'/>
-      <ref name='xmlGetDtdElementDesc'/>
-      <ref name='xmlGetDtdEntity'/>
-      <ref name='xmlGetDtdNotationDesc'/>
-      <ref name='xmlGetDtdQAttrDesc'/>
-      <ref name='xmlGetDtdQElementDesc'/>
-      <ref name='xmlGetID'/>
-      <ref name='xmlGetNoNsProp'/>
-      <ref name='xmlGetNsProp'/>
-      <ref name='xmlGetParameterEntity'/>
-      <ref name='xmlGetPredefinedEntity'/>
-      <ref name='xmlGetProp'/>
-      <ref name='xmlGetRefs'/>
-      <ref name='xmlHasNsProp'/>
-      <ref name='xmlHasProp'/>
-      <ref name='xmlHashAddEntry'/>
-      <ref name='xmlHashAddEntry2'/>
-      <ref name='xmlHashAddEntry3'/>
-      <ref name='xmlHashCopier'/>
-      <ref name='xmlHashDeallocator'/>
-      <ref name='xmlHashDefaultDeallocator'/>
-      <ref name='xmlHashLookup'/>
-      <ref name='xmlHashLookup2'/>
-      <ref name='xmlHashLookup3'/>
-      <ref name='xmlHashQLookup'/>
-      <ref name='xmlHashQLookup2'/>
-      <ref name='xmlHashQLookup3'/>
-      <ref name='xmlHashRemoveEntry'/>
-      <ref name='xmlHashRemoveEntry2'/>
-      <ref name='xmlHashRemoveEntry3'/>
-      <ref name='xmlHashScan3'/>
-      <ref name='xmlHashScanFull3'/>
-      <ref name='xmlHashScanner'/>
-      <ref name='xmlHashScannerFull'/>
-      <ref name='xmlHashUpdateEntry'/>
-      <ref name='xmlHashUpdateEntry2'/>
-      <ref name='xmlHashUpdateEntry3'/>
-      <ref name='xmlIsMixedElement'/>
-      <ref name='xmlIsXHTML'/>
-      <ref name='xmlNewCDataBlock'/>
-      <ref name='xmlNewCharRef'/>
-      <ref name='xmlNewChild'/>
-      <ref name='xmlNewComment'/>
-      <ref name='xmlNewDoc'/>
-      <ref name='xmlNewDocComment'/>
-      <ref name='xmlNewDocElementContent'/>
-      <ref name='xmlNewDocNode'/>
-      <ref name='xmlNewDocNodeEatName'/>
-      <ref name='xmlNewDocPI'/>
-      <ref name='xmlNewDocProp'/>
-      <ref name='xmlNewDocRawNode'/>
-      <ref name='xmlNewDocText'/>
-      <ref name='xmlNewDocTextLen'/>
-      <ref name='xmlNewDtd'/>
-      <ref name='xmlNewElementContent'/>
-      <ref name='xmlNewEntity'/>
-      <ref name='xmlNewGlobalNs'/>
-      <ref name='xmlNewNode'/>
-      <ref name='xmlNewNs'/>
-      <ref name='xmlNewNsProp'/>
-      <ref name='xmlNewNsPropEatName'/>
-      <ref name='xmlNewPI'/>
-      <ref name='xmlNewProp'/>
-      <ref name='xmlNewReference'/>
-      <ref name='xmlNewStringInputStream'/>
-      <ref name='xmlNewText'/>
-      <ref name='xmlNewTextChild'/>
-      <ref name='xmlNewTextLen'/>
-      <ref name='xmlNodeAddContent'/>
-      <ref name='xmlNodeAddContentLen'/>
-      <ref name='xmlNodeSetBase'/>
-      <ref name='xmlNodeSetContent'/>
-      <ref name='xmlNodeSetContentLen'/>
-      <ref name='xmlNodeSetLang'/>
-      <ref name='xmlNodeSetName'/>
-      <ref name='xmlNormalizeWindowsPath'/>
-      <ref name='xmlOutputBufferWriteEscape'/>
-      <ref name='xmlParseBalancedChunkMemory'/>
-      <ref name='xmlParseBalancedChunkMemoryRecover'/>
-      <ref name='xmlParseCtxtExternalEntity'/>
-      <ref name='xmlParseDTD'/>
-      <ref name='xmlParseDoc'/>
-      <ref name='xmlParseElementContentDecl'/>
-      <ref name='xmlParseExternalEntity'/>
-      <ref name='xmlParseExternalSubset'/>
-      <ref name='xmlPathToURI'/>
-      <ref name='xmlPatterncompile'/>
-      <ref name='xmlReadDoc'/>
-      <ref name='xmlReaderForDoc'/>
-      <ref name='xmlReaderNewDoc'/>
-      <ref name='xmlRecoverDoc'/>
-      <ref name='xmlRegExecCallbacks'/>
-      <ref name='xmlRegExecPushString'/>
-      <ref name='xmlRegExecPushString2'/>
-      <ref name='xmlRegexpCompile'/>
-      <ref name='xmlRegexpExec'/>
-      <ref name='xmlRelaxNGValidatePushCData'/>
-      <ref name='xmlSAX2AttributeDecl'/>
-      <ref name='xmlSAX2CDataBlock'/>
-      <ref name='xmlSAX2Characters'/>
-      <ref name='xmlSAX2Comment'/>
-      <ref name='xmlSAX2ElementDecl'/>
-      <ref name='xmlSAX2EndElement'/>
-      <ref name='xmlSAX2EndElementNs'/>
-      <ref name='xmlSAX2EntityDecl'/>
-      <ref name='xmlSAX2ExternalSubset'/>
-      <ref name='xmlSAX2GetEntity'/>
-      <ref name='xmlSAX2GetParameterEntity'/>
-      <ref name='xmlSAX2IgnorableWhitespace'/>
-      <ref name='xmlSAX2InternalSubset'/>
-      <ref name='xmlSAX2NotationDecl'/>
-      <ref name='xmlSAX2ProcessingInstruction'/>
-      <ref name='xmlSAX2Reference'/>
-      <ref name='xmlSAX2ResolveEntity'/>
-      <ref name='xmlSAX2StartElement'/>
-      <ref name='xmlSAX2StartElementNs'/>
-      <ref name='xmlSAX2UnparsedEntityDecl'/>
-      <ref name='xmlSAXParseDTD'/>
-      <ref name='xmlSAXParseDoc'/>
-      <ref name='xmlSchemaCheckFacet'/>
-      <ref name='xmlSchemaCollapseString'/>
-      <ref name='xmlSchemaGetPredefinedType'/>
-      <ref name='xmlSchemaNewNOTATIONValue'/>
-      <ref name='xmlSchemaNewQNameValue'/>
-      <ref name='xmlSchemaNewStringValue'/>
-      <ref name='xmlSchemaValPredefTypeNode'/>
-      <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-      <ref name='xmlSchemaValidateFacet'/>
-      <ref name='xmlSchemaValidateFacetWhtsp'/>
-      <ref name='xmlSchemaValidateLengthFacet'/>
-      <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-      <ref name='xmlSchemaValidatePredefinedType'/>
-      <ref name='xmlSchemaWhiteSpaceReplace'/>
-      <ref name='xmlSearchNs'/>
-      <ref name='xmlSearchNsByHref'/>
-      <ref name='xmlSetNsProp'/>
-      <ref name='xmlSetProp'/>
-      <ref name='xmlSetupParserForBuffer'/>
-      <ref name='xmlSplitQName'/>
-      <ref name='xmlSplitQName2'/>
-      <ref name='xmlSplitQName3'/>
-      <ref name='xmlStrEqual'/>
-      <ref name='xmlStrQEqual'/>
-      <ref name='xmlStrcasecmp'/>
-      <ref name='xmlStrcasestr'/>
-      <ref name='xmlStrcat'/>
-      <ref name='xmlStrchr'/>
-      <ref name='xmlStrcmp'/>
-      <ref name='xmlStrdup'/>
-      <ref name='xmlStreamPush'/>
-      <ref name='xmlStreamPushAttr'/>
-      <ref name='xmlStreamPushNode'/>
-      <ref name='xmlStringCurrentChar'/>
-      <ref name='xmlStringDecodeEntities'/>
-      <ref name='xmlStringGetNodeList'/>
-      <ref name='xmlStringLenDecodeEntities'/>
-      <ref name='xmlStringLenGetNodeList'/>
-      <ref name='xmlStrlen'/>
-      <ref name='xmlStrncasecmp'/>
-      <ref name='xmlStrncat'/>
-      <ref name='xmlStrncatNew'/>
-      <ref name='xmlStrncmp'/>
-      <ref name='xmlStrndup'/>
-      <ref name='xmlStrstr'/>
-      <ref name='xmlStrsub'/>
-      <ref name='xmlTextConcat'/>
-      <ref name='xmlTextReaderConstString'/>
-      <ref name='xmlTextReaderGetAttribute'/>
-      <ref name='xmlTextReaderGetAttributeNs'/>
-      <ref name='xmlTextReaderLookupNamespace'/>
-      <ref name='xmlTextReaderMoveToAttribute'/>
-      <ref name='xmlTextReaderMoveToAttributeNs'/>
-      <ref name='xmlTextReaderPreservePattern'/>
-      <ref name='xmlTextWriterSetIndentString'/>
-      <ref name='xmlTextWriterStartAttribute'/>
-      <ref name='xmlTextWriterStartAttributeNS'/>
-      <ref name='xmlTextWriterStartDTD'/>
-      <ref name='xmlTextWriterStartDTDAttlist'/>
-      <ref name='xmlTextWriterStartDTDElement'/>
-      <ref name='xmlTextWriterStartDTDEntity'/>
-      <ref name='xmlTextWriterStartElement'/>
-      <ref name='xmlTextWriterStartElementNS'/>
-      <ref name='xmlTextWriterStartPI'/>
-      <ref name='xmlTextWriterWriteAttribute'/>
-      <ref name='xmlTextWriterWriteAttributeNS'/>
-      <ref name='xmlTextWriterWriteCDATA'/>
-      <ref name='xmlTextWriterWriteComment'/>
-      <ref name='xmlTextWriterWriteDTD'/>
-      <ref name='xmlTextWriterWriteDTDAttlist'/>
-      <ref name='xmlTextWriterWriteDTDElement'/>
-      <ref name='xmlTextWriterWriteDTDEntity'/>
-      <ref name='xmlTextWriterWriteDTDExternalEntity'/>
-      <ref name='xmlTextWriterWriteDTDExternalEntityContents'/>
-      <ref name='xmlTextWriterWriteDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteDTDNotation'/>
-      <ref name='xmlTextWriterWriteElement'/>
-      <ref name='xmlTextWriterWriteElementNS'/>
-      <ref name='xmlTextWriterWriteFormatAttribute'/>
-      <ref name='xmlTextWriterWriteFormatAttributeNS'/>
-      <ref name='xmlTextWriterWriteFormatDTD'/>
-      <ref name='xmlTextWriterWriteFormatDTDAttlist'/>
-      <ref name='xmlTextWriterWriteFormatDTDElement'/>
-      <ref name='xmlTextWriterWriteFormatDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteFormatElement'/>
-      <ref name='xmlTextWriterWriteFormatElementNS'/>
-      <ref name='xmlTextWriterWriteFormatPI'/>
-      <ref name='xmlTextWriterWritePI'/>
-      <ref name='xmlTextWriterWriteRaw'/>
-      <ref name='xmlTextWriterWriteRawLen'/>
-      <ref name='xmlTextWriterWriteString'/>
-      <ref name='xmlTextWriterWriteVFormatAttribute'/>
-      <ref name='xmlTextWriterWriteVFormatAttributeNS'/>
-      <ref name='xmlTextWriterWriteVFormatDTD'/>
-      <ref name='xmlTextWriterWriteVFormatDTDAttlist'/>
-      <ref name='xmlTextWriterWriteVFormatDTDElement'/>
-      <ref name='xmlTextWriterWriteVFormatDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteVFormatElement'/>
-      <ref name='xmlTextWriterWriteVFormatElementNS'/>
-      <ref name='xmlTextWriterWriteVFormatPI'/>
-      <ref name='xmlURIEscape'/>
-      <ref name='xmlURIEscapeStr'/>
-      <ref name='xmlUTF8Charcmp'/>
-      <ref name='xmlUTF8Size'/>
-      <ref name='xmlUTF8Strlen'/>
-      <ref name='xmlUTF8Strloc'/>
-      <ref name='xmlUTF8Strndup'/>
-      <ref name='xmlUTF8Strpos'/>
-      <ref name='xmlUTF8Strsize'/>
-      <ref name='xmlUTF8Strsub'/>
-      <ref name='xmlUnsetNsProp'/>
-      <ref name='xmlUnsetProp'/>
-      <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-      <ref name='xmlValidNormalizeAttributeValue'/>
-      <ref name='xmlValidateAttributeValue'/>
-      <ref name='xmlValidateNCName'/>
-      <ref name='xmlValidateNMToken'/>
-      <ref name='xmlValidateName'/>
-      <ref name='xmlValidateNameValue'/>
-      <ref name='xmlValidateNamesValue'/>
-      <ref name='xmlValidateNmtokenValue'/>
-      <ref name='xmlValidateNmtokensValue'/>
-      <ref name='xmlValidateNotationUse'/>
-      <ref name='xmlValidateOneAttribute'/>
-      <ref name='xmlValidateOneNamespace'/>
-      <ref name='xmlValidatePopElement'/>
-      <ref name='xmlValidatePushCData'/>
-      <ref name='xmlValidatePushElement'/>
-      <ref name='xmlValidateQName'/>
-      <ref name='xmlXPathCastStringToBoolean'/>
-      <ref name='xmlXPathCastStringToNumber'/>
-      <ref name='xmlXPathCompile'/>
-      <ref name='xmlXPathCtxtCompile'/>
-      <ref name='xmlXPathEval'/>
-      <ref name='xmlXPathEvalExpression'/>
-      <ref name='xmlXPathFuncLookupFunc'/>
-      <ref name='xmlXPathFunctionLookup'/>
-      <ref name='xmlXPathFunctionLookupNS'/>
-      <ref name='xmlXPathIsNodeType'/>
-      <ref name='xmlXPathNewParserContext'/>
-      <ref name='xmlXPathNewString'/>
-      <ref name='xmlXPathNodeEval'/>
-      <ref name='xmlXPathNsLookup'/>
-      <ref name='xmlXPathRegisterFunc'/>
-      <ref name='xmlXPathRegisterFuncNS'/>
-      <ref name='xmlXPathRegisterNs'/>
-      <ref name='xmlXPathRegisterVariable'/>
-      <ref name='xmlXPathRegisterVariableNS'/>
-      <ref name='xmlXPathStringEvalNumber'/>
-      <ref name='xmlXPathVariableLookup'/>
-      <ref name='xmlXPathVariableLookupFunc'/>
-      <ref name='xmlXPathVariableLookupNS'/>
-      <ref name='xmlXPtrEval'/>
-    </type>
-    <type name='const xmlChar **'>
-      <ref name='htmlParseEntityRef'/>
-      <ref name='startElement'/>
-      <ref name='startElementNsSAX2Func'/>
-      <ref name='startElementSAXFunc'/>
-      <ref name='xlinkExtendedLinkFunk'/>
-      <ref name='xlinkExtendedLinkSetFunk'/>
-      <ref name='xmlExpGetLanguage'/>
-      <ref name='xmlExpGetStart'/>
-      <ref name='xmlPatterncompile'/>
-      <ref name='xmlRegExecErrInfo'/>
-      <ref name='xmlSAX2StartElement'/>
-      <ref name='xmlSAX2StartElementNs'/>
-      <ref name='xmlSchemaGetCanonValue'/>
-      <ref name='xmlSchemaGetCanonValueWhtsp'/>
-      <ref name='xmlTextReaderPreservePattern'/>
-      <ref name='xmlValidGetPotentialChildren'/>
-      <ref name='xmlValidGetValidElements'/>
-    </type>
-    <type name='const xmlDoc *'>
-      <ref name='xmlDocGetRootElement'/>
-      <ref name='xmlEncodeSpecialChars'/>
-      <ref name='xmlGetDocCompressMode'/>
-      <ref name='xmlGetDocEntity'/>
-      <ref name='xmlGetIntSubset'/>
-      <ref name='xmlGetNsList'/>
-      <ref name='xmlNewDocText'/>
-      <ref name='xmlNewReference'/>
-      <ref name='xmlNodeGetBase'/>
-      <ref name='xmlNodeListGetRawString'/>
-      <ref name='xmlStringGetNodeList'/>
-      <ref name='xmlStringLenGetNodeList'/>
-    </type>
-    <type name='const xmlListPtr'>
-      <ref name='xmlListCopy'/>
-      <ref name='xmlListDup'/>
-    </type>
-    <type name='const xmlNode *'>
-      <ref name='xmlBufGetNodeContent'/>
-      <ref name='xmlGetLastChild'/>
-      <ref name='xmlGetLineNo'/>
-      <ref name='xmlGetNoNsProp'/>
-      <ref name='xmlGetNodePath'/>
-      <ref name='xmlGetNsList'/>
-      <ref name='xmlGetNsProp'/>
-      <ref name='xmlGetProp'/>
-      <ref name='xmlHasNsProp'/>
-      <ref name='xmlHasProp'/>
-      <ref name='xmlIsBlankNode'/>
-      <ref name='xmlNodeBufGetContent'/>
-      <ref name='xmlNodeGetBase'/>
-      <ref name='xmlNodeGetContent'/>
-      <ref name='xmlNodeGetLang'/>
-      <ref name='xmlNodeGetSpacePreserve'/>
-      <ref name='xmlNodeIsText'/>
-      <ref name='xmlNodeListGetRawString'/>
-      <ref name='xmlNodeListGetString'/>
-    </type>
-    <type name='const xmlNodePtr'>
-      <ref name='xmlParserFindNodeInfo'/>
-      <ref name='xmlParserFindNodeInfoIndex'/>
-    </type>
-    <type name='const xmlParserCtxtPtr'>
-      <ref name='xmlParserFindNodeInfo'/>
-    </type>
-    <type name='const xmlParserNodeInfoPtr'>
-      <ref name='xmlParserAddNodeInfo'/>
-    </type>
-    <type name='const xmlParserNodeInfoSeqPtr'>
-      <ref name='xmlParserFindNodeInfoIndex'/>
-    </type>
-    <type name='docbParserCtxtPtr'>
-      <ref name='docbFreeParserCtxt'/>
-      <ref name='docbParseChunk'/>
-      <ref name='docbParseDocument'/>
-    </type>
-    <type name='docbSAXHandlerPtr'>
-      <ref name='docbCreatePushParserCtxt'/>
-      <ref name='docbSAXParseDoc'/>
-      <ref name='docbSAXParseFile'/>
-    </type>
-    <type name='double'>
-      <ref name='xmlXPathCastNumberToBoolean'/>
-      <ref name='xmlXPathCastNumberToString'/>
-      <ref name='xmlXPathIsInf'/>
-      <ref name='xmlXPathIsNaN'/>
-      <ref name='xmlXPathNewFloat'/>
-    </type>
-    <type name='ftpDataCallback'>
-      <ref name='xmlNanoFTPGet'/>
-    </type>
-    <type name='ftpListCallback'>
-      <ref name='xmlNanoFTPList'/>
-    </type>
-    <type name='htmlDocPtr'>
-      <ref name='htmlAutoCloseTag'/>
-      <ref name='htmlGetMetaEncoding'/>
-      <ref name='htmlIsAutoClosed'/>
-      <ref name='htmlSetMetaEncoding'/>
-    </type>
-    <type name='htmlNodePtr'>
-      <ref name='htmlAutoCloseTag'/>
-      <ref name='htmlIsAutoClosed'/>
-    </type>
-    <type name='htmlParserCtxtPtr'>
-      <ref name='htmlCtxtReadDoc'/>
-      <ref name='htmlCtxtReadFd'/>
-      <ref name='htmlCtxtReadFile'/>
-      <ref name='htmlCtxtReadIO'/>
-      <ref name='htmlCtxtReadMemory'/>
-      <ref name='htmlCtxtReset'/>
-      <ref name='htmlCtxtUseOptions'/>
-      <ref name='htmlFreeParserCtxt'/>
-      <ref name='htmlParseCharRef'/>
-      <ref name='htmlParseChunk'/>
-      <ref name='htmlParseDocument'/>
-      <ref name='htmlParseElement'/>
-      <ref name='htmlParseEntityRef'/>
-    </type>
-    <type name='htmlSAXHandlerPtr'>
-      <ref name='htmlCreatePushParserCtxt'/>
-      <ref name='htmlSAXParseDoc'/>
-      <ref name='htmlSAXParseFile'/>
-    </type>
-    <type name='int *'>
-      <ref name='UTF8ToHtml'/>
-      <ref name='UTF8Toisolat1'/>
-      <ref name='docbEncodeEntities'/>
-      <ref name='htmlDocDumpMemory'/>
-      <ref name='htmlDocDumpMemoryFormat'/>
-      <ref name='htmlEncodeEntities'/>
-      <ref name='isolat1ToUTF8'/>
-      <ref name='xmlCharEncodingInputFunc'/>
-      <ref name='xmlCharEncodingOutputFunc'/>
-      <ref name='xmlCurrentChar'/>
-      <ref name='xmlDocDumpFormatMemory'/>
-      <ref name='xmlDocDumpFormatMemoryEnc'/>
-      <ref name='xmlDocDumpMemory'/>
-      <ref name='xmlDocDumpMemoryEnc'/>
-      <ref name='xmlGetFeaturesList'/>
-      <ref name='xmlGetUTF8Char'/>
-      <ref name='xmlRegExecErrInfo'/>
-      <ref name='xmlRegExecNextValues'/>
-      <ref name='xmlSplitQName3'/>
-      <ref name='xmlStringCurrentChar'/>
-      <ref name='xmlValidGetPotentialChildren'/>
-    </type>
-    <type name='long'>
-      <ref name='xmlMemDisplayLast'/>
-    </type>
-    <type name='size_t'>
-      <ref name='xmlBufShrink'/>
-      <ref name='xmlBufferCreateSize'/>
-      <ref name='xmlBufferCreateStatic'/>
-      <ref name='xmlDictSetLimit'/>
-      <ref name='xmlMallocAtomicLoc'/>
-      <ref name='xmlMallocFunc'/>
-      <ref name='xmlMallocLoc'/>
-      <ref name='xmlMemMalloc'/>
-      <ref name='xmlMemRealloc'/>
-      <ref name='xmlReallocFunc'/>
-      <ref name='xmlReallocLoc'/>
-    </type>
-    <type name='unsigned char *'>
-      <ref name='UTF8ToHtml'/>
-      <ref name='UTF8Toisolat1'/>
-      <ref name='docbEncodeEntities'/>
-      <ref name='htmlEncodeEntities'/>
-      <ref name='isolat1ToUTF8'/>
-      <ref name='xmlCharEncodingInputFunc'/>
-      <ref name='xmlCharEncodingOutputFunc'/>
-    </type>
-    <type name='unsigned int'>
-      <ref name='htmlEntityValueLookup'/>
-      <ref name='xmlBufferGrow'/>
-      <ref name='xmlBufferResize'/>
-      <ref name='xmlBufferShrink'/>
-      <ref name='xmlCharInRange'/>
-      <ref name='xmlIsBaseChar'/>
-      <ref name='xmlIsBlank'/>
-      <ref name='xmlIsChar'/>
-      <ref name='xmlIsCombining'/>
-      <ref name='xmlIsDigit'/>
-      <ref name='xmlIsExtender'/>
-      <ref name='xmlIsIdeographic'/>
-      <ref name='xmlIsPubidChar'/>
-    </type>
-    <type name='unsigned long'>
-      <ref name='ftpListCallback'/>
-      <ref name='xmlDllMain'/>
-      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-    </type>
-    <type name='unsigned long *'>
-      <ref name='xmlSchemaValidateLengthFacet'/>
-      <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-      <ref name='xmlSchemaValidityLocatorFunc'/>
-    </type>
-    <type name='va_list'>
-      <ref name='xmlStrVPrintf'/>
-      <ref name='xmlTextWriterWriteVFormatAttribute'/>
-      <ref name='xmlTextWriterWriteVFormatAttributeNS'/>
-      <ref name='xmlTextWriterWriteVFormatCDATA'/>
-      <ref name='xmlTextWriterWriteVFormatComment'/>
-      <ref name='xmlTextWriterWriteVFormatDTD'/>
-      <ref name='xmlTextWriterWriteVFormatDTDAttlist'/>
-      <ref name='xmlTextWriterWriteVFormatDTDElement'/>
-      <ref name='xmlTextWriterWriteVFormatDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteVFormatElement'/>
-      <ref name='xmlTextWriterWriteVFormatElementNS'/>
-      <ref name='xmlTextWriterWriteVFormatPI'/>
-      <ref name='xmlTextWriterWriteVFormatRaw'/>
-      <ref name='xmlTextWriterWriteVFormatString'/>
-    </type>
-    <type name='void *'>
-      <ref name='attribute'/>
-      <ref name='attributeDecl'/>
-      <ref name='attributeDeclSAXFunc'/>
-      <ref name='attributeSAXFunc'/>
-      <ref name='cdataBlock'/>
-      <ref name='cdataBlockSAXFunc'/>
-      <ref name='characters'/>
-      <ref name='charactersSAXFunc'/>
-      <ref name='checkNamespace'/>
-      <ref name='comment'/>
-      <ref name='commentSAXFunc'/>
-      <ref name='docbCreatePushParserCtxt'/>
-      <ref name='docbSAXParseDoc'/>
-      <ref name='docbSAXParseFile'/>
-      <ref name='elementDecl'/>
-      <ref name='elementDeclSAXFunc'/>
-      <ref name='endDocument'/>
-      <ref name='endDocumentSAXFunc'/>
-      <ref name='endElement'/>
-      <ref name='endElementNsSAX2Func'/>
-      <ref name='endElementSAXFunc'/>
-      <ref name='entityDecl'/>
-      <ref name='entityDeclSAXFunc'/>
-      <ref name='errorSAXFunc'/>
-      <ref name='externalSubset'/>
-      <ref name='externalSubsetSAXFunc'/>
-      <ref name='fatalErrorSAXFunc'/>
-      <ref name='ftpDataCallback'/>
-      <ref name='ftpListCallback'/>
-      <ref name='getColumnNumber'/>
-      <ref name='getEntity'/>
-      <ref name='getEntitySAXFunc'/>
-      <ref name='getLineNumber'/>
-      <ref name='getNamespace'/>
-      <ref name='getParameterEntity'/>
-      <ref name='getParameterEntitySAXFunc'/>
-      <ref name='getPublicId'/>
-      <ref name='getSystemId'/>
-      <ref name='globalNamespace'/>
-      <ref name='hasExternalSubset'/>
-      <ref name='hasExternalSubsetSAXFunc'/>
-      <ref name='hasInternalSubset'/>
-      <ref name='hasInternalSubsetSAXFunc'/>
-      <ref name='htmlCreatePushParserCtxt'/>
-      <ref name='htmlCtxtReadIO'/>
-      <ref name='htmlReadIO'/>
-      <ref name='htmlSAXParseDoc'/>
-      <ref name='htmlSAXParseFile'/>
-      <ref name='ignorableWhitespace'/>
-      <ref name='ignorableWhitespaceSAXFunc'/>
-      <ref name='internalSubset'/>
-      <ref name='internalSubsetSAXFunc'/>
-      <ref name='isStandalone'/>
-      <ref name='isStandaloneSAXFunc'/>
-      <ref name='namespaceDecl'/>
-      <ref name='notationDecl'/>
-      <ref name='notationDeclSAXFunc'/>
-      <ref name='processingInstruction'/>
-      <ref name='processingInstructionSAXFunc'/>
-      <ref name='reference'/>
-      <ref name='referenceSAXFunc'/>
-      <ref name='resolveEntity'/>
-      <ref name='resolveEntitySAXFunc'/>
-      <ref name='setDocumentLocator'/>
-      <ref name='setDocumentLocatorSAXFunc'/>
-      <ref name='setNamespace'/>
-      <ref name='startDocument'/>
-      <ref name='startDocumentSAXFunc'/>
-      <ref name='startElement'/>
-      <ref name='startElementNsSAX2Func'/>
-      <ref name='startElementSAXFunc'/>
-      <ref name='unparsedEntityDecl'/>
-      <ref name='unparsedEntityDeclSAXFunc'/>
-      <ref name='warningSAXFunc'/>
-      <ref name='xlinkExtendedLinkFunk'/>
-      <ref name='xlinkExtendedLinkSetFunk'/>
-      <ref name='xlinkNodeDetectFunc'/>
-      <ref name='xlinkSimpleLinkFunk'/>
-      <ref name='xmlAutomataNewCountTrans'/>
-      <ref name='xmlAutomataNewCountTrans2'/>
-      <ref name='xmlAutomataNewNegTrans'/>
-      <ref name='xmlAutomataNewOnceTrans'/>
-      <ref name='xmlAutomataNewOnceTrans2'/>
-      <ref name='xmlAutomataNewTransition'/>
-      <ref name='xmlAutomataNewTransition2'/>
-      <ref name='xmlBufferCreateStatic'/>
-      <ref name='xmlC14NExecute'/>
-      <ref name='xmlC14NIsVisibleCallback'/>
-      <ref name='xmlCatalogAddLocal'/>
-      <ref name='xmlCatalogFreeLocal'/>
-      <ref name='xmlCatalogLocalResolve'/>
-      <ref name='xmlCatalogLocalResolveURI'/>
-      <ref name='xmlCreateIOParserCtxt'/>
-      <ref name='xmlCreatePushParserCtxt'/>
-      <ref name='xmlCtxtGetLastError'/>
-      <ref name='xmlCtxtReadIO'/>
-      <ref name='xmlCtxtResetLastError'/>
-      <ref name='xmlDllMain'/>
-      <ref name='xmlFileClose'/>
-      <ref name='xmlFileRead'/>
-      <ref name='xmlFreeFunc'/>
-      <ref name='xmlGenericErrorFunc'/>
-      <ref name='xmlGetFeature'/>
-      <ref name='xmlHashAddEntry'/>
-      <ref name='xmlHashAddEntry2'/>
-      <ref name='xmlHashAddEntry3'/>
-      <ref name='xmlHashCopier'/>
-      <ref name='xmlHashDeallocator'/>
-      <ref name='xmlHashDefaultDeallocator'/>
-      <ref name='xmlHashScan'/>
-      <ref name='xmlHashScan3'/>
-      <ref name='xmlHashScanFull'/>
-      <ref name='xmlHashScanFull3'/>
-      <ref name='xmlHashScanner'/>
-      <ref name='xmlHashScannerFull'/>
-      <ref name='xmlHashUpdateEntry'/>
-      <ref name='xmlHashUpdateEntry2'/>
-      <ref name='xmlHashUpdateEntry3'/>
-      <ref name='xmlIOFTPClose'/>
-      <ref name='xmlIOFTPRead'/>
-      <ref name='xmlIOHTTPClose'/>
-      <ref name='xmlIOHTTPRead'/>
-      <ref name='xmlInputCloseCallback'/>
-      <ref name='xmlInputReadCallback'/>
-      <ref name='xmlListAppend'/>
-      <ref name='xmlListInsert'/>
-      <ref name='xmlListPushBack'/>
-      <ref name='xmlListPushFront'/>
-      <ref name='xmlListRemoveAll'/>
-      <ref name='xmlListRemoveFirst'/>
-      <ref name='xmlListRemoveLast'/>
-      <ref name='xmlListReverseSearch'/>
-      <ref name='xmlListReverseWalk'/>
-      <ref name='xmlListSearch'/>
-      <ref name='xmlListWalk'/>
-      <ref name='xmlListWalker'/>
-      <ref name='xmlMemFree'/>
-      <ref name='xmlMemRealloc'/>
-      <ref name='xmlNanoFTPCheckResponse'/>
-      <ref name='xmlNanoFTPClose'/>
-      <ref name='xmlNanoFTPCloseConnection'/>
-      <ref name='xmlNanoFTPConnect'/>
-      <ref name='xmlNanoFTPCwd'/>
-      <ref name='xmlNanoFTPDele'/>
-      <ref name='xmlNanoFTPFreeCtxt'/>
-      <ref name='xmlNanoFTPGet'/>
-      <ref name='xmlNanoFTPGetConnection'/>
-      <ref name='xmlNanoFTPGetResponse'/>
-      <ref name='xmlNanoFTPGetSocket'/>
-      <ref name='xmlNanoFTPList'/>
-      <ref name='xmlNanoFTPQuit'/>
-      <ref name='xmlNanoFTPRead'/>
-      <ref name='xmlNanoFTPUpdateURL'/>
-      <ref name='xmlNanoHTTPAuthHeader'/>
-      <ref name='xmlNanoHTTPClose'/>
-      <ref name='xmlNanoHTTPContentLength'/>
-      <ref name='xmlNanoHTTPEncoding'/>
-      <ref name='xmlNanoHTTPMimeType'/>
-      <ref name='xmlNanoHTTPRead'/>
-      <ref name='xmlNanoHTTPRedir'/>
-      <ref name='xmlNanoHTTPReturnCode'/>
-      <ref name='xmlNanoHTTPSave'/>
-      <ref name='xmlOutputBufferCreateIO'/>
-      <ref name='xmlOutputCloseCallback'/>
-      <ref name='xmlOutputWriteCallback'/>
-      <ref name='xmlParseBalancedChunkMemory'/>
-      <ref name='xmlParseBalancedChunkMemoryRecover'/>
-      <ref name='xmlParseExternalEntity'/>
-      <ref name='xmlParserError'/>
-      <ref name='xmlParserInputBufferCreateIO'/>
-      <ref name='xmlParserValidityError'/>
-      <ref name='xmlParserValidityWarning'/>
-      <ref name='xmlParserWarning'/>
-      <ref name='xmlReadIO'/>
-      <ref name='xmlReaderForIO'/>
-      <ref name='xmlReaderNewIO'/>
-      <ref name='xmlReallocFunc'/>
-      <ref name='xmlReallocLoc'/>
-      <ref name='xmlRegExecCallbacks'/>
-      <ref name='xmlRegExecPushString'/>
-      <ref name='xmlRegExecPushString2'/>
-      <ref name='xmlRegNewExecCtxt'/>
-      <ref name='xmlRelaxNGSetParserErrors'/>
-      <ref name='xmlRelaxNGSetParserStructuredErrors'/>
-      <ref name='xmlRelaxNGSetValidErrors'/>
-      <ref name='xmlRelaxNGSetValidStructuredErrors'/>
-      <ref name='xmlRelaxNGValidityErrorFunc'/>
-      <ref name='xmlRelaxNGValidityWarningFunc'/>
-      <ref name='xmlSAX2AttributeDecl'/>
-      <ref name='xmlSAX2CDataBlock'/>
-      <ref name='xmlSAX2Characters'/>
-      <ref name='xmlSAX2Comment'/>
-      <ref name='xmlSAX2ElementDecl'/>
-      <ref name='xmlSAX2EndDocument'/>
-      <ref name='xmlSAX2EndElement'/>
-      <ref name='xmlSAX2EndElementNs'/>
-      <ref name='xmlSAX2EntityDecl'/>
-      <ref name='xmlSAX2ExternalSubset'/>
-      <ref name='xmlSAX2GetColumnNumber'/>
-      <ref name='xmlSAX2GetEntity'/>
-      <ref name='xmlSAX2GetLineNumber'/>
-      <ref name='xmlSAX2GetParameterEntity'/>
-      <ref name='xmlSAX2GetPublicId'/>
-      <ref name='xmlSAX2GetSystemId'/>
-      <ref name='xmlSAX2HasExternalSubset'/>
-      <ref name='xmlSAX2HasInternalSubset'/>
-      <ref name='xmlSAX2IgnorableWhitespace'/>
-      <ref name='xmlSAX2InternalSubset'/>
-      <ref name='xmlSAX2IsStandalone'/>
-      <ref name='xmlSAX2NotationDecl'/>
-      <ref name='xmlSAX2ProcessingInstruction'/>
-      <ref name='xmlSAX2Reference'/>
-      <ref name='xmlSAX2ResolveEntity'/>
-      <ref name='xmlSAX2SetDocumentLocator'/>
-      <ref name='xmlSAX2StartDocument'/>
-      <ref name='xmlSAX2StartElement'/>
-      <ref name='xmlSAX2StartElementNs'/>
-      <ref name='xmlSAX2UnparsedEntityDecl'/>
-      <ref name='xmlSAXParseFileWithData'/>
-      <ref name='xmlSAXParseMemoryWithData'/>
-      <ref name='xmlSAXUserParseFile'/>
-      <ref name='xmlSAXUserParseMemory'/>
-      <ref name='xmlSaveToIO'/>
-      <ref name='xmlSchemaSetParserErrors'/>
-      <ref name='xmlSchemaSetParserStructuredErrors'/>
-      <ref name='xmlSchemaSetValidErrors'/>
-      <ref name='xmlSchemaSetValidStructuredErrors'/>
-      <ref name='xmlSchemaValidateSetLocator'/>
-      <ref name='xmlSchemaValidateStream'/>
-      <ref name='xmlSchemaValidityErrorFunc'/>
-      <ref name='xmlSchemaValidityLocatorFunc'/>
-      <ref name='xmlSchemaValidityWarningFunc'/>
-      <ref name='xmlSchematronSetValidStructuredErrors'/>
-      <ref name='xmlSchematronValidityErrorFunc'/>
-      <ref name='xmlSchematronValidityWarningFunc'/>
-      <ref name='xmlSetFeature'/>
-      <ref name='xmlSetGenericErrorFunc'/>
-      <ref name='xmlSetStructuredErrorFunc'/>
-      <ref name='xmlStructuredErrorFunc'/>
-      <ref name='xmlTextReaderErrorFunc'/>
-      <ref name='xmlTextReaderSetErrorHandler'/>
-      <ref name='xmlTextReaderSetStructuredErrorHandler'/>
-      <ref name='xmlThrDefSetGenericErrorFunc'/>
-      <ref name='xmlThrDefSetStructuredErrorFunc'/>
-      <ref name='xmlValidityErrorFunc'/>
-      <ref name='xmlValidityWarningFunc'/>
-      <ref name='xmlXIncludeProcessFlagsData'/>
-      <ref name='xmlXIncludeProcessTreeFlagsData'/>
-      <ref name='xmlXPathFuncLookupFunc'/>
-      <ref name='xmlXPathRegisterFuncLookup'/>
-      <ref name='xmlXPathRegisterVariableLookup'/>
-      <ref name='xmlXPathVariableLookupFunc'/>
-      <ref name='xmlXPathWrapExternal'/>
-    </type>
-    <type name='void **'>
-      <ref name='xmlModuleSymbol'/>
-      <ref name='xmlRelaxNGGetParserErrors'/>
-      <ref name='xmlRelaxNGGetValidErrors'/>
-      <ref name='xmlSchemaGetParserErrors'/>
-      <ref name='xmlSchemaGetValidErrors'/>
-      <ref name='xmlSchemaSAXPlug'/>
-      <ref name='xmlTextReaderGetErrorHandler'/>
-    </type>
-    <type name='xlinkActuate *'>
-      <ref name='xlinkExtendedLinkFunk'/>
-    </type>
-    <type name='xlinkHandlerPtr'>
-      <ref name='xlinkSetDefaultHandler'/>
-    </type>
-    <type name='xlinkNodeDetectFunc'>
-      <ref name='xlinkSetDefaultDetect'/>
-    </type>
-    <type name='xlinkShow *'>
-      <ref name='xlinkExtendedLinkFunk'/>
-    </type>
-    <type name='xmlAttrPtr'>
-      <ref name='xmlAddID'/>
-      <ref name='xmlAddRef'/>
-      <ref name='xmlAttrSerializeTxtContent'/>
-      <ref name='xmlCopyProp'/>
-      <ref name='xmlCopyPropList'/>
-      <ref name='xmlDebugDumpAttr'/>
-      <ref name='xmlDebugDumpAttrList'/>
-      <ref name='xmlFreeProp'/>
-      <ref name='xmlFreePropList'/>
-      <ref name='xmlIsID'/>
-      <ref name='xmlIsRef'/>
-      <ref name='xmlRemoveID'/>
-      <ref name='xmlRemoveProp'/>
-      <ref name='xmlRemoveRef'/>
-      <ref name='xmlValidateOneAttribute'/>
-    </type>
-    <type name='xmlAttributeDefault'>
-      <ref name='xmlAddAttributeDecl'/>
-    </type>
-    <type name='xmlAttributePtr'>
-      <ref name='xmlDumpAttributeDecl'/>
-      <ref name='xmlValidateAttributeDecl'/>
-    </type>
-    <type name='xmlAttributeTablePtr'>
-      <ref name='xmlCopyAttributeTable'/>
-      <ref name='xmlDumpAttributeTable'/>
-      <ref name='xmlFreeAttributeTable'/>
-    </type>
-    <type name='xmlAttributeType'>
-      <ref name='xmlAddAttributeDecl'/>
-      <ref name='xmlValidateAttributeValue'/>
-    </type>
-    <type name='xmlAutomataPtr'>
-      <ref name='xmlAutomataCompile'/>
-      <ref name='xmlAutomataGetInitState'/>
-      <ref name='xmlAutomataIsDeterminist'/>
-      <ref name='xmlAutomataNewAllTrans'/>
-      <ref name='xmlAutomataNewCountTrans'/>
-      <ref name='xmlAutomataNewCountTrans2'/>
-      <ref name='xmlAutomataNewCountedTrans'/>
-      <ref name='xmlAutomataNewCounter'/>
-      <ref name='xmlAutomataNewCounterTrans'/>
-      <ref name='xmlAutomataNewEpsilon'/>
-      <ref name='xmlAutomataNewNegTrans'/>
-      <ref name='xmlAutomataNewOnceTrans'/>
-      <ref name='xmlAutomataNewOnceTrans2'/>
-      <ref name='xmlAutomataNewState'/>
-      <ref name='xmlAutomataNewTransition'/>
-      <ref name='xmlAutomataNewTransition2'/>
-      <ref name='xmlAutomataSetFinalState'/>
-      <ref name='xmlFreeAutomata'/>
-    </type>
-    <type name='xmlAutomataStatePtr'>
-      <ref name='xmlAutomataNewAllTrans'/>
-      <ref name='xmlAutomataNewCountTrans'/>
-      <ref name='xmlAutomataNewCountTrans2'/>
-      <ref name='xmlAutomataNewCountedTrans'/>
-      <ref name='xmlAutomataNewCounterTrans'/>
-      <ref name='xmlAutomataNewEpsilon'/>
-      <ref name='xmlAutomataNewNegTrans'/>
-      <ref name='xmlAutomataNewOnceTrans'/>
-      <ref name='xmlAutomataNewOnceTrans2'/>
-      <ref name='xmlAutomataNewTransition'/>
-      <ref name='xmlAutomataNewTransition2'/>
-      <ref name='xmlAutomataSetFinalState'/>
-    </type>
-    <type name='xmlBufPtr'>
-      <ref name='xmlBufEnd'/>
-      <ref name='xmlBufGetNodeContent'/>
-      <ref name='xmlBufNodeDump'/>
-      <ref name='xmlBufShrink'/>
-    </type>
-    <type name='xmlBufferAllocationScheme'>
-      <ref name='xmlBufferSetAllocationScheme'/>
-      <ref name='xmlSetBufferAllocationScheme'/>
-      <ref name='xmlThrDefBufferAllocScheme'/>
-    </type>
-    <type name='xmlBufferPtr'>
-      <ref name='htmlNodeDump'/>
-      <ref name='xmlAttrSerializeTxtContent'/>
-      <ref name='xmlBufferAdd'/>
-      <ref name='xmlBufferAddHead'/>
-      <ref name='xmlBufferCCat'/>
-      <ref name='xmlBufferCat'/>
-      <ref name='xmlBufferDetach'/>
-      <ref name='xmlBufferDump'/>
-      <ref name='xmlBufferEmpty'/>
-      <ref name='xmlBufferFree'/>
-      <ref name='xmlBufferGrow'/>
-      <ref name='xmlBufferResize'/>
-      <ref name='xmlBufferSetAllocationScheme'/>
-      <ref name='xmlBufferShrink'/>
-      <ref name='xmlBufferWriteCHAR'/>
-      <ref name='xmlBufferWriteChar'/>
-      <ref name='xmlBufferWriteQuotedString'/>
-      <ref name='xmlCharEncFirstLine'/>
-      <ref name='xmlCharEncInFunc'/>
-      <ref name='xmlCharEncOutFunc'/>
-      <ref name='xmlDumpAttributeDecl'/>
-      <ref name='xmlDumpAttributeTable'/>
-      <ref name='xmlDumpElementDecl'/>
-      <ref name='xmlDumpElementTable'/>
-      <ref name='xmlDumpEntitiesTable'/>
-      <ref name='xmlDumpEntityDecl'/>
-      <ref name='xmlDumpNotationDecl'/>
-      <ref name='xmlDumpNotationTable'/>
-      <ref name='xmlExpDump'/>
-      <ref name='xmlNewTextWriterMemory'/>
-      <ref name='xmlNodeBufGetContent'/>
-      <ref name='xmlNodeDump'/>
-      <ref name='xmlOutputBufferCreateBuffer'/>
-      <ref name='xmlSaveToBuffer'/>
-    </type>
-    <type name='xmlC14NIsVisibleCallback'>
-      <ref name='xmlC14NExecute'/>
-    </type>
-    <type name='xmlCatalogAllow'>
-      <ref name='xmlCatalogSetDefaults'/>
-    </type>
-    <type name='xmlCatalogPrefer'>
-      <ref name='xmlCatalogSetDefaultPrefer'/>
-    </type>
-    <type name='xmlCatalogPtr'>
-      <ref name='xmlACatalogAdd'/>
-      <ref name='xmlACatalogDump'/>
-      <ref name='xmlACatalogRemove'/>
-      <ref name='xmlACatalogResolve'/>
-      <ref name='xmlACatalogResolvePublic'/>
-      <ref name='xmlACatalogResolveSystem'/>
-      <ref name='xmlACatalogResolveURI'/>
-      <ref name='xmlCatalogIsEmpty'/>
-      <ref name='xmlConvertSGMLCatalog'/>
-      <ref name='xmlFreeCatalog'/>
-    </type>
-    <type name='xmlChar'>
-      <ref name='xmlDecodeEntities'/>
-      <ref name='xmlStrchr'/>
-      <ref name='xmlStringDecodeEntities'/>
-      <ref name='xmlStringLenDecodeEntities'/>
-      <ref name='xmlTextWriterSetQuoteChar'/>
-    </type>
-    <type name='xmlChar *'>
-      <ref name='checkNamespace'/>
-      <ref name='docbParseDoc'/>
-      <ref name='docbSAXParseDoc'/>
-      <ref name='entityDecl'/>
-      <ref name='entityDeclSAXFunc'/>
-      <ref name='xmlBuildQName'/>
-      <ref name='xmlCopyChar'/>
-      <ref name='xmlCopyCharMultiByte'/>
-      <ref name='xmlNewDocNodeEatName'/>
-      <ref name='xmlNewNodeEatName'/>
-      <ref name='xmlNewNsPropEatName'/>
-      <ref name='xmlParserInputDeallocate'/>
-      <ref name='xmlSAX2EntityDecl'/>
-      <ref name='xmlStrPrintf'/>
-      <ref name='xmlStrVPrintf'/>
-      <ref name='xmlStrcat'/>
-      <ref name='xmlStrncat'/>
-      <ref name='xmlXPathWrapString'/>
-    </type>
-    <type name='xmlChar **'>
-      <ref name='htmlDocDumpMemory'/>
-      <ref name='htmlDocDumpMemoryFormat'/>
-      <ref name='xmlC14NDocDumpMemory'/>
-      <ref name='xmlC14NDocSave'/>
-      <ref name='xmlC14NDocSaveTo'/>
-      <ref name='xmlC14NExecute'/>
-      <ref name='xmlDocDumpFormatMemory'/>
-      <ref name='xmlDocDumpFormatMemoryEnc'/>
-      <ref name='xmlDocDumpMemory'/>
-      <ref name='xmlDocDumpMemoryEnc'/>
-      <ref name='xmlNamespaceParseQName'/>
-      <ref name='xmlParseAttribute'/>
-      <ref name='xmlParseDefaultDecl'/>
-      <ref name='xmlParseEntityValue'/>
-      <ref name='xmlParseExternalID'/>
-      <ref name='xmlRegExecErrInfo'/>
-      <ref name='xmlRegExecNextValues'/>
-      <ref name='xmlSplitQName'/>
-      <ref name='xmlSplitQName2'/>
-    </type>
-    <type name='xmlCharEncoding'>
-      <ref name='docbCreatePushParserCtxt'/>
-      <ref name='htmlCreatePushParserCtxt'/>
-      <ref name='xmlAllocParserInputBuffer'/>
-      <ref name='xmlCreateIOParserCtxt'/>
-      <ref name='xmlGetCharEncodingHandler'/>
-      <ref name='xmlGetCharEncodingName'/>
-      <ref name='xmlIOParseDTD'/>
-      <ref name='xmlNewIOInputStream'/>
-      <ref name='xmlParserInputBufferCreateFd'/>
-      <ref name='xmlParserInputBufferCreateFile'/>
-      <ref name='xmlParserInputBufferCreateFilename'/>
-      <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-      <ref name='xmlParserInputBufferCreateIO'/>
-      <ref name='xmlParserInputBufferCreateMem'/>
-      <ref name='xmlParserInputBufferCreateStatic'/>
-      <ref name='xmlSchemaValidateStream'/>
-      <ref name='xmlSwitchEncoding'/>
-    </type>
-    <type name='xmlCharEncodingHandler *'>
-      <ref name='xmlCharEncCloseFunc'/>
-      <ref name='xmlCharEncFirstLine'/>
-      <ref name='xmlCharEncInFunc'/>
-      <ref name='xmlCharEncOutFunc'/>
-    </type>
-    <type name='xmlCharEncodingHandlerPtr'>
-      <ref name='xmlAllocOutputBuffer'/>
-      <ref name='xmlOutputBufferCreateBuffer'/>
-      <ref name='xmlOutputBufferCreateFd'/>
-      <ref name='xmlOutputBufferCreateFile'/>
-      <ref name='xmlOutputBufferCreateFilename'/>
-      <ref name='xmlOutputBufferCreateFilenameFunc'/>
-      <ref name='xmlOutputBufferCreateIO'/>
-      <ref name='xmlRegisterCharEncodingHandler'/>
-      <ref name='xmlSwitchInputEncoding'/>
-      <ref name='xmlSwitchToEncoding'/>
-    </type>
-    <type name='xmlCharEncodingInputFunc'>
-      <ref name='xmlNewCharEncodingHandler'/>
-    </type>
-    <type name='xmlCharEncodingOutputFunc'>
-      <ref name='xmlNewCharEncodingHandler'/>
-      <ref name='xmlOutputBufferWriteEscape'/>
-      <ref name='xmlSaveSetAttrEscape'/>
-      <ref name='xmlSaveSetEscape'/>
-    </type>
-    <type name='xmlDOMWrapCtxtPtr'>
-      <ref name='xmlDOMWrapAcquireNsFunction'/>
-      <ref name='xmlDOMWrapAdoptNode'/>
-      <ref name='xmlDOMWrapCloneNode'/>
-      <ref name='xmlDOMWrapFreeCtxt'/>
-      <ref name='xmlDOMWrapReconcileNamespaces'/>
-      <ref name='xmlDOMWrapRemoveNode'/>
-    </type>
-    <type name='xmlDeregisterNodeFunc'>
-      <ref name='xmlDeregisterNodeDefault'/>
-      <ref name='xmlThrDefDeregisterNodeDefault'/>
-    </type>
-    <type name='xmlDict *'>
-      <ref name='xmlPatterncompile'/>
-    </type>
-    <type name='xmlDictPtr'>
-      <ref name='xmlDictCreateSub'/>
-      <ref name='xmlDictExists'/>
-      <ref name='xmlDictFree'/>
-      <ref name='xmlDictGetUsage'/>
-      <ref name='xmlDictLookup'/>
-      <ref name='xmlDictOwns'/>
-      <ref name='xmlDictQLookup'/>
-      <ref name='xmlDictReference'/>
-      <ref name='xmlDictSetLimit'/>
-      <ref name='xmlDictSize'/>
-      <ref name='xmlExpNewCtxt'/>
-      <ref name='xmlHashCreateDict'/>
-    </type>
-    <type name='xmlDocPtr'>
-      <ref name='htmlDocContentDumpFormatOutput'/>
-      <ref name='htmlDocContentDumpOutput'/>
-      <ref name='htmlDocDump'/>
-      <ref name='htmlDocDumpMemory'/>
-      <ref name='htmlDocDumpMemoryFormat'/>
-      <ref name='htmlNodeDump'/>
-      <ref name='htmlNodeDumpFile'/>
-      <ref name='htmlNodeDumpFileFormat'/>
-      <ref name='htmlNodeDumpFormatOutput'/>
-      <ref name='htmlNodeDumpOutput'/>
-      <ref name='htmlSaveFile'/>
-      <ref name='htmlSaveFileEnc'/>
-      <ref name='htmlSaveFileFormat'/>
-      <ref name='xlinkIsLink'/>
-      <ref name='xmlAddDocEntity'/>
-      <ref name='xmlAddDtdEntity'/>
-      <ref name='xmlAddID'/>
-      <ref name='xmlAddRef'/>
-      <ref name='xmlAttrSerializeTxtContent'/>
-      <ref name='xmlBufNodeDump'/>
-      <ref name='xmlC14NDocDumpMemory'/>
-      <ref name='xmlC14NDocSave'/>
-      <ref name='xmlC14NDocSaveTo'/>
-      <ref name='xmlC14NExecute'/>
-      <ref name='xmlCopyDoc'/>
-      <ref name='xmlCopyDocElementContent'/>
-      <ref name='xmlCreateIntSubset'/>
-      <ref name='xmlDOMWrapAdoptNode'/>
-      <ref name='xmlDOMWrapCloneNode'/>
-      <ref name='xmlDOMWrapRemoveNode'/>
-      <ref name='xmlDebugCheckDocument'/>
-      <ref name='xmlDebugDumpDocument'/>
-      <ref name='xmlDebugDumpDocumentHead'/>
-      <ref name='xmlDebugDumpEntities'/>
-      <ref name='xmlDocCopyNode'/>
-      <ref name='xmlDocCopyNodeList'/>
-      <ref name='xmlDocDump'/>
-      <ref name='xmlDocDumpFormatMemory'/>
-      <ref name='xmlDocDumpFormatMemoryEnc'/>
-      <ref name='xmlDocDumpMemory'/>
-      <ref name='xmlDocDumpMemoryEnc'/>
-      <ref name='xmlDocFormatDump'/>
-      <ref name='xmlDocSetRootElement'/>
-      <ref name='xmlElemDump'/>
-      <ref name='xmlEncodeEntities'/>
-      <ref name='xmlEncodeEntitiesReentrant'/>
-      <ref name='xmlFreeDoc'/>
-      <ref name='xmlFreeDocElementContent'/>
-      <ref name='xmlGetDtdEntity'/>
-      <ref name='xmlGetID'/>
-      <ref name='xmlGetParameterEntity'/>
-      <ref name='xmlGetRefs'/>
-      <ref name='xmlIsID'/>
-      <ref name='xmlIsMixedElement'/>
-      <ref name='xmlIsRef'/>
-      <ref name='xmlNewCDataBlock'/>
-      <ref name='xmlNewCharRef'/>
-      <ref name='xmlNewDocComment'/>
-      <ref name='xmlNewDocElementContent'/>
-      <ref name='xmlNewDocFragment'/>
-      <ref name='xmlNewDocNode'/>
-      <ref name='xmlNewDocNodeEatName'/>
-      <ref name='xmlNewDocPI'/>
-      <ref name='xmlNewDocProp'/>
-      <ref name='xmlNewDocRawNode'/>
-      <ref name='xmlNewDocTextLen'/>
-      <ref name='xmlNewDtd'/>
-      <ref name='xmlNewEntity'/>
-      <ref name='xmlNewGlobalNs'/>
-      <ref name='xmlNewTextWriterTree'/>
-      <ref name='xmlNodeDump'/>
-      <ref name='xmlNodeDumpOutput'/>
-      <ref name='xmlNodeListGetString'/>
-      <ref name='xmlParseBalancedChunkMemory'/>
-      <ref name='xmlParseBalancedChunkMemoryRecover'/>
-      <ref name='xmlParseExternalEntity'/>
-      <ref name='xmlReaderNewWalker'/>
-      <ref name='xmlReaderWalker'/>
-      <ref name='xmlReconciliateNs'/>
-      <ref name='xmlRelaxNGNewDocParserCtxt'/>
-      <ref name='xmlRelaxNGValidateDoc'/>
-      <ref name='xmlRelaxNGValidateFullElement'/>
-      <ref name='xmlRelaxNGValidatePopElement'/>
-      <ref name='xmlRelaxNGValidatePushElement'/>
-      <ref name='xmlRemoveID'/>
-      <ref name='xmlRemoveRef'/>
-      <ref name='xmlSaveDoc'/>
-      <ref name='xmlSaveFile'/>
-      <ref name='xmlSaveFileEnc'/>
-      <ref name='xmlSaveFileTo'/>
-      <ref name='xmlSaveFormatFile'/>
-      <ref name='xmlSaveFormatFileEnc'/>
-      <ref name='xmlSaveFormatFileTo'/>
-      <ref name='xmlSchemaNewDocParserCtxt'/>
-      <ref name='xmlSchemaValidateDoc'/>
-      <ref name='xmlSchematronNewDocParserCtxt'/>
-      <ref name='xmlSchematronValidateDoc'/>
-      <ref name='xmlSearchNs'/>
-      <ref name='xmlSearchNsByHref'/>
-      <ref name='xmlSetDocCompressMode'/>
-      <ref name='xmlSetListDoc'/>
-      <ref name='xmlSetTreeDoc'/>
-      <ref name='xmlShell'/>
-      <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-      <ref name='xmlValidNormalizeAttributeValue'/>
-      <ref name='xmlValidateAttributeDecl'/>
-      <ref name='xmlValidateDocument'/>
-      <ref name='xmlValidateDocumentFinal'/>
-      <ref name='xmlValidateDtd'/>
-      <ref name='xmlValidateDtdFinal'/>
-      <ref name='xmlValidateElement'/>
-      <ref name='xmlValidateElementDecl'/>
-      <ref name='xmlValidateNotationDecl'/>
-      <ref name='xmlValidateNotationUse'/>
-      <ref name='xmlValidateOneAttribute'/>
-      <ref name='xmlValidateOneElement'/>
-      <ref name='xmlValidateOneNamespace'/>
-      <ref name='xmlValidatePopElement'/>
-      <ref name='xmlValidatePushElement'/>
-      <ref name='xmlValidateRoot'/>
-      <ref name='xmlXIncludeNewContext'/>
-      <ref name='xmlXIncludeProcess'/>
-      <ref name='xmlXIncludeProcessFlags'/>
-      <ref name='xmlXIncludeProcessFlagsData'/>
-      <ref name='xmlXPathNewContext'/>
-      <ref name='xmlXPathOrderDocElems'/>
-      <ref name='xmlXPtrNewContext'/>
-    </type>
-    <type name='xmlDocPtr *'>
-      <ref name='xmlNewTextWriterDoc'/>
-    </type>
-    <type name='xmlDtdPtr'>
-      <ref name='xmlAddAttributeDecl'/>
-      <ref name='xmlAddElementDecl'/>
-      <ref name='xmlAddNotationDecl'/>
-      <ref name='xmlCopyDtd'/>
-      <ref name='xmlDebugDumpDTD'/>
-      <ref name='xmlFreeDtd'/>
-      <ref name='xmlGetDtdAttrDesc'/>
-      <ref name='xmlGetDtdElementDesc'/>
-      <ref name='xmlGetDtdNotationDesc'/>
-      <ref name='xmlGetDtdQAttrDesc'/>
-      <ref name='xmlGetDtdQElementDesc'/>
-      <ref name='xmlValidateDtd'/>
-    </type>
-    <type name='xmlElementContent *'>
-      <ref name='xmlValidGetPotentialChildren'/>
-    </type>
-    <type name='xmlElementContentPtr'>
-      <ref name='elementDecl'/>
-      <ref name='elementDeclSAXFunc'/>
-      <ref name='xmlAddElementDecl'/>
-      <ref name='xmlCopyDocElementContent'/>
-      <ref name='xmlCopyElementContent'/>
-      <ref name='xmlFreeDocElementContent'/>
-      <ref name='xmlFreeElementContent'/>
-      <ref name='xmlSAX2ElementDecl'/>
-      <ref name='xmlSnprintfElementContent'/>
-      <ref name='xmlSprintfElementContent'/>
-    </type>
-    <type name='xmlElementContentPtr *'>
-      <ref name='xmlParseElementContentDecl'/>
-    </type>
-    <type name='xmlElementContentType'>
-      <ref name='xmlNewDocElementContent'/>
-      <ref name='xmlNewElementContent'/>
-    </type>
-    <type name='xmlElementPtr'>
-      <ref name='xmlDumpElementDecl'/>
-      <ref name='xmlValidBuildContentModel'/>
-      <ref name='xmlValidateElementDecl'/>
-    </type>
-    <type name='xmlElementTablePtr'>
-      <ref name='xmlCopyElementTable'/>
-      <ref name='xmlDumpElementTable'/>
-      <ref name='xmlFreeElementTable'/>
-    </type>
-    <type name='xmlElementTypeVal'>
-      <ref name='xmlAddElementDecl'/>
-    </type>
-    <type name='xmlEntitiesTablePtr'>
-      <ref name='xmlCopyEntitiesTable'/>
-      <ref name='xmlDumpEntitiesTable'/>
-      <ref name='xmlFreeEntitiesTable'/>
-    </type>
-    <type name='xmlEntityPtr'>
-      <ref name='xmlDumpEntityDecl'/>
-      <ref name='xmlEntityReferenceFunc'/>
-      <ref name='xmlHandleEntity'/>
-      <ref name='xmlNewEntityInputStream'/>
-    </type>
-    <type name='xmlEntityReferenceFunc'>
-      <ref name='xmlSetEntityReferenceFunc'/>
-    </type>
-    <type name='xmlEnumerationPtr'>
-      <ref name='attributeDecl'/>
-      <ref name='attributeDeclSAXFunc'/>
-      <ref name='xmlAddAttributeDecl'/>
-      <ref name='xmlCopyEnumeration'/>
-      <ref name='xmlFreeEnumeration'/>
-      <ref name='xmlSAX2AttributeDecl'/>
-    </type>
-    <type name='xmlEnumerationPtr *'>
-      <ref name='xmlParseAttributeType'/>
-      <ref name='xmlParseEnumeratedType'/>
-    </type>
-    <type name='xmlErrorPtr'>
-      <ref name='xmlCopyError'/>
-      <ref name='xmlResetError'/>
-      <ref name='xmlStructuredErrorFunc'/>
-    </type>
-    <type name='xmlExpCtxtPtr'>
-      <ref name='xmlExpCtxtNbCons'/>
-      <ref name='xmlExpCtxtNbNodes'/>
-      <ref name='xmlExpExpDerive'/>
-      <ref name='xmlExpFree'/>
-      <ref name='xmlExpFreeCtxt'/>
-      <ref name='xmlExpGetLanguage'/>
-      <ref name='xmlExpGetStart'/>
-      <ref name='xmlExpNewAtom'/>
-      <ref name='xmlExpNewOr'/>
-      <ref name='xmlExpNewRange'/>
-      <ref name='xmlExpNewSeq'/>
-      <ref name='xmlExpParse'/>
-      <ref name='xmlExpStringDerive'/>
-      <ref name='xmlExpSubsume'/>
-    </type>
-    <type name='xmlExpNodePtr'>
-      <ref name='xmlExpDump'/>
-      <ref name='xmlExpExpDerive'/>
-      <ref name='xmlExpFree'/>
-      <ref name='xmlExpGetLanguage'/>
-      <ref name='xmlExpGetStart'/>
-      <ref name='xmlExpIsNillable'/>
-      <ref name='xmlExpMaxToken'/>
-      <ref name='xmlExpNewOr'/>
-      <ref name='xmlExpNewRange'/>
-      <ref name='xmlExpNewSeq'/>
-      <ref name='xmlExpRef'/>
-      <ref name='xmlExpStringDerive'/>
-      <ref name='xmlExpSubsume'/>
-    </type>
-    <type name='xmlExternalEntityLoader'>
-      <ref name='xmlSetExternalEntityLoader'/>
-    </type>
-    <type name='xmlFeature'>
-      <ref name='xmlHasFeature'/>
-    </type>
-    <type name='xmlFreeFunc'>
-      <ref name='xmlGcMemSetup'/>
-      <ref name='xmlMemSetup'/>
-    </type>
-    <type name='xmlFreeFunc *'>
-      <ref name='xmlGcMemGet'/>
-      <ref name='xmlMemGet'/>
-    </type>
-    <type name='xmlGenericErrorFunc'>
-      <ref name='xmlSetGenericErrorFunc'/>
-      <ref name='xmlThrDefSetGenericErrorFunc'/>
-    </type>
-    <type name='xmlGenericErrorFunc *'>
-      <ref name='initGenericErrorDefaultFunc'/>
-    </type>
-    <type name='xmlGlobalStatePtr'>
-      <ref name='xmlInitializeGlobalState'/>
-    </type>
-    <type name='xmlHashCopier'>
-      <ref name='xmlHashCopy'/>
-    </type>
-    <type name='xmlHashDeallocator'>
-      <ref name='xmlHashFree'/>
-      <ref name='xmlHashRemoveEntry'/>
-      <ref name='xmlHashRemoveEntry2'/>
-      <ref name='xmlHashRemoveEntry3'/>
-      <ref name='xmlHashUpdateEntry'/>
-      <ref name='xmlHashUpdateEntry2'/>
-      <ref name='xmlHashUpdateEntry3'/>
-    </type>
-    <type name='xmlHashScanner'>
-      <ref name='xmlHashScan'/>
-      <ref name='xmlHashScan3'/>
-    </type>
-    <type name='xmlHashScannerFull'>
-      <ref name='xmlHashScanFull'/>
-      <ref name='xmlHashScanFull3'/>
-    </type>
-    <type name='xmlHashTablePtr'>
-      <ref name='xmlHashAddEntry'/>
-      <ref name='xmlHashAddEntry2'/>
-      <ref name='xmlHashAddEntry3'/>
-      <ref name='xmlHashCopy'/>
-      <ref name='xmlHashFree'/>
-      <ref name='xmlHashLookup'/>
-      <ref name='xmlHashLookup2'/>
-      <ref name='xmlHashLookup3'/>
-      <ref name='xmlHashQLookup'/>
-      <ref name='xmlHashQLookup2'/>
-      <ref name='xmlHashQLookup3'/>
-      <ref name='xmlHashRemoveEntry'/>
-      <ref name='xmlHashRemoveEntry2'/>
-      <ref name='xmlHashRemoveEntry3'/>
-      <ref name='xmlHashScan'/>
-      <ref name='xmlHashScan3'/>
-      <ref name='xmlHashScanFull'/>
-      <ref name='xmlHashScanFull3'/>
-      <ref name='xmlHashSize'/>
-      <ref name='xmlHashUpdateEntry'/>
-      <ref name='xmlHashUpdateEntry2'/>
-      <ref name='xmlHashUpdateEntry3'/>
-    </type>
-    <type name='xmlIDTablePtr'>
-      <ref name='xmlFreeIDTable'/>
-    </type>
-    <type name='xmlInputCloseCallback'>
-      <ref name='htmlCtxtReadIO'/>
-      <ref name='htmlReadIO'/>
-      <ref name='xmlCreateIOParserCtxt'/>
-      <ref name='xmlCtxtReadIO'/>
-      <ref name='xmlParserInputBufferCreateIO'/>
-      <ref name='xmlReadIO'/>
-      <ref name='xmlReaderForIO'/>
-      <ref name='xmlReaderNewIO'/>
-      <ref name='xmlRegisterInputCallbacks'/>
-    </type>
-    <type name='xmlInputMatchCallback'>
-      <ref name='xmlRegisterInputCallbacks'/>
-    </type>
-    <type name='xmlInputOpenCallback'>
-      <ref name='xmlRegisterInputCallbacks'/>
-    </type>
-    <type name='xmlInputReadCallback'>
-      <ref name='htmlCtxtReadIO'/>
-      <ref name='htmlReadIO'/>
-      <ref name='xmlCreateIOParserCtxt'/>
-      <ref name='xmlCtxtReadIO'/>
-      <ref name='xmlParserInputBufferCreateIO'/>
-      <ref name='xmlReadIO'/>
-      <ref name='xmlReaderForIO'/>
-      <ref name='xmlReaderNewIO'/>
-      <ref name='xmlRegisterInputCallbacks'/>
-    </type>
-    <type name='xmlLinkPtr'>
-      <ref name='xmlLinkGetData'/>
-      <ref name='xmlListDeallocator'/>
-    </type>
-    <type name='xmlListDataCompare'>
-      <ref name='xmlListCreate'/>
-    </type>
-    <type name='xmlListDeallocator'>
-      <ref name='xmlListCreate'/>
-    </type>
-    <type name='xmlListPtr'>
-      <ref name='xmlListAppend'/>
-      <ref name='xmlListClear'/>
-      <ref name='xmlListCopy'/>
-      <ref name='xmlListDelete'/>
-      <ref name='xmlListEmpty'/>
-      <ref name='xmlListEnd'/>
-      <ref name='xmlListFront'/>
-      <ref name='xmlListInsert'/>
-      <ref name='xmlListMerge'/>
-      <ref name='xmlListPopBack'/>
-      <ref name='xmlListPopFront'/>
-      <ref name='xmlListPushBack'/>
-      <ref name='xmlListPushFront'/>
-      <ref name='xmlListRemoveAll'/>
-      <ref name='xmlListRemoveFirst'/>
-      <ref name='xmlListRemoveLast'/>
-      <ref name='xmlListReverse'/>
-      <ref name='xmlListReverseSearch'/>
-      <ref name='xmlListReverseWalk'/>
-      <ref name='xmlListSearch'/>
-      <ref name='xmlListSize'/>
-      <ref name='xmlListSort'/>
-      <ref name='xmlListWalk'/>
-    </type>
-    <type name='xmlListWalker'>
-      <ref name='xmlListReverseWalk'/>
-      <ref name='xmlListWalk'/>
-    </type>
-    <type name='xmlLocationSetPtr'>
-      <ref name='xmlXPtrFreeLocationSet'/>
-      <ref name='xmlXPtrLocationSetAdd'/>
-      <ref name='xmlXPtrLocationSetDel'/>
-      <ref name='xmlXPtrLocationSetMerge'/>
-      <ref name='xmlXPtrLocationSetRemove'/>
-      <ref name='xmlXPtrWrapLocationSet'/>
-    </type>
-    <type name='xmlMallocFunc'>
-      <ref name='xmlGcMemSetup'/>
-      <ref name='xmlMemSetup'/>
-    </type>
-    <type name='xmlMallocFunc *'>
-      <ref name='xmlGcMemGet'/>
-      <ref name='xmlMemGet'/>
-    </type>
-    <type name='xmlModulePtr'>
-      <ref name='xmlModuleClose'/>
-      <ref name='xmlModuleFree'/>
-      <ref name='xmlModuleSymbol'/>
-    </type>
-    <type name='xmlMutexPtr'>
-      <ref name='xmlFreeMutex'/>
-      <ref name='xmlMutexLock'/>
-      <ref name='xmlMutexUnlock'/>
-    </type>
-    <type name='xmlNode *'>
-      <ref name='xmlValidGetValidElements'/>
-    </type>
-    <type name='xmlNodePtr'>
-      <ref name='htmlNodeDump'/>
-      <ref name='htmlNodeDumpFile'/>
-      <ref name='htmlNodeDumpFileFormat'/>
-      <ref name='htmlNodeDumpFormatOutput'/>
-      <ref name='htmlNodeDumpOutput'/>
-      <ref name='nodePush'/>
-      <ref name='xlinkExtendedLinkFunk'/>
-      <ref name='xlinkExtendedLinkSetFunk'/>
-      <ref name='xlinkIsLink'/>
-      <ref name='xlinkNodeDetectFunc'/>
-      <ref name='xlinkSimpleLinkFunk'/>
-      <ref name='xmlAddChild'/>
-      <ref name='xmlAddChildList'/>
-      <ref name='xmlAddNextSibling'/>
-      <ref name='xmlAddPrevSibling'/>
-      <ref name='xmlAddSibling'/>
-      <ref name='xmlBufNodeDump'/>
-      <ref name='xmlC14NIsVisibleCallback'/>
-      <ref name='xmlChildElementCount'/>
-      <ref name='xmlCopyNode'/>
-      <ref name='xmlCopyNodeList'/>
-      <ref name='xmlCopyProp'/>
-      <ref name='xmlCopyPropList'/>
-      <ref name='xmlDOMWrapAcquireNsFunction'/>
-      <ref name='xmlDOMWrapAdoptNode'/>
-      <ref name='xmlDOMWrapCloneNode'/>
-      <ref name='xmlDOMWrapReconcileNamespaces'/>
-      <ref name='xmlDOMWrapRemoveNode'/>
-      <ref name='xmlDebugDumpNode'/>
-      <ref name='xmlDebugDumpNodeList'/>
-      <ref name='xmlDebugDumpOneNode'/>
-      <ref name='xmlDeregisterNodeFunc'/>
-      <ref name='xmlDocCopyNode'/>
-      <ref name='xmlDocCopyNodeList'/>
-      <ref name='xmlDocSetRootElement'/>
-      <ref name='xmlElemDump'/>
-      <ref name='xmlEntityReferenceFunc'/>
-      <ref name='xmlFirstElementChild'/>
-      <ref name='xmlFreeNode'/>
-      <ref name='xmlFreeNodeList'/>
-      <ref name='xmlIsID'/>
-      <ref name='xmlIsRef'/>
-      <ref name='xmlLastElementChild'/>
-      <ref name='xmlLsCountNode'/>
-      <ref name='xmlLsOneNode'/>
-      <ref name='xmlNewChild'/>
-      <ref name='xmlNewNs'/>
-      <ref name='xmlNewNsProp'/>
-      <ref name='xmlNewNsPropEatName'/>
-      <ref name='xmlNewProp'/>
-      <ref name='xmlNewTextChild'/>
-      <ref name='xmlNewTextWriterTree'/>
-      <ref name='xmlNextElementSibling'/>
-      <ref name='xmlNodeAddContent'/>
-      <ref name='xmlNodeAddContentLen'/>
-      <ref name='xmlNodeDump'/>
-      <ref name='xmlNodeDumpOutput'/>
-      <ref name='xmlNodeSetBase'/>
-      <ref name='xmlNodeSetContent'/>
-      <ref name='xmlNodeSetContentLen'/>
-      <ref name='xmlNodeSetLang'/>
-      <ref name='xmlNodeSetName'/>
-      <ref name='xmlNodeSetSpacePreserve'/>
-      <ref name='xmlParseInNodeContext'/>
-      <ref name='xmlPatternMatch'/>
-      <ref name='xmlPreviousElementSibling'/>
-      <ref name='xmlReconciliateNs'/>
-      <ref name='xmlRegisterNodeFunc'/>
-      <ref name='xmlRelaxNGValidateFullElement'/>
-      <ref name='xmlRelaxNGValidatePopElement'/>
-      <ref name='xmlRelaxNGValidatePushElement'/>
-      <ref name='xmlReplaceNode'/>
-      <ref name='xmlSaveTree'/>
-      <ref name='xmlSchemaValPredefTypeNode'/>
-      <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-      <ref name='xmlSchemaValidateOneElement'/>
-      <ref name='xmlSearchNs'/>
-      <ref name='xmlSearchNsByHref'/>
-      <ref name='xmlSetListDoc'/>
-      <ref name='xmlSetNs'/>
-      <ref name='xmlSetNsProp'/>
-      <ref name='xmlSetProp'/>
-      <ref name='xmlSetTreeDoc'/>
-      <ref name='xmlShellBase'/>
-      <ref name='xmlShellCat'/>
-      <ref name='xmlShellCmd'/>
-      <ref name='xmlShellDir'/>
-      <ref name='xmlShellDu'/>
-      <ref name='xmlShellList'/>
-      <ref name='xmlShellLoad'/>
-      <ref name='xmlShellPrintNode'/>
-      <ref name='xmlShellPwd'/>
-      <ref name='xmlShellSave'/>
-      <ref name='xmlShellValidate'/>
-      <ref name='xmlShellWrite'/>
-      <ref name='xmlTextConcat'/>
-      <ref name='xmlTextMerge'/>
-      <ref name='xmlUnlinkNode'/>
-      <ref name='xmlUnsetNsProp'/>
-      <ref name='xmlUnsetProp'/>
-      <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-      <ref name='xmlValidNormalizeAttributeValue'/>
-      <ref name='xmlValidateElement'/>
-      <ref name='xmlValidateOneAttribute'/>
-      <ref name='xmlValidateOneElement'/>
-      <ref name='xmlValidateOneNamespace'/>
-      <ref name='xmlValidatePopElement'/>
-      <ref name='xmlValidatePushElement'/>
-      <ref name='xmlXIncludeProcessNode'/>
-      <ref name='xmlXIncludeProcessTree'/>
-      <ref name='xmlXIncludeProcessTreeFlags'/>
-      <ref name='xmlXIncludeProcessTreeFlagsData'/>
-      <ref name='xmlXPathCastNodeToNumber'/>
-      <ref name='xmlXPathCastNodeToString'/>
-      <ref name='xmlXPathCmpNodes'/>
-      <ref name='xmlXPathNewNodeSet'/>
-      <ref name='xmlXPathNewValueTree'/>
-      <ref name='xmlXPathNextAncestor'/>
-      <ref name='xmlXPathNextAncestorOrSelf'/>
-      <ref name='xmlXPathNextAttribute'/>
-      <ref name='xmlXPathNextChild'/>
-      <ref name='xmlXPathNextDescendant'/>
-      <ref name='xmlXPathNextDescendantOrSelf'/>
-      <ref name='xmlXPathNextFollowing'/>
-      <ref name='xmlXPathNextFollowingSibling'/>
-      <ref name='xmlXPathNextNamespace'/>
-      <ref name='xmlXPathNextParent'/>
-      <ref name='xmlXPathNextPreceding'/>
-      <ref name='xmlXPathNextPrecedingSibling'/>
-      <ref name='xmlXPathNextSelf'/>
-      <ref name='xmlXPathNodeEval'/>
-      <ref name='xmlXPathNodeLeading'/>
-      <ref name='xmlXPathNodeLeadingSorted'/>
-      <ref name='xmlXPathNodeSetAdd'/>
-      <ref name='xmlXPathNodeSetAddNs'/>
-      <ref name='xmlXPathNodeSetAddUnique'/>
-      <ref name='xmlXPathNodeSetContains'/>
-      <ref name='xmlXPathNodeSetCreate'/>
-      <ref name='xmlXPathNodeSetDel'/>
-      <ref name='xmlXPathNodeTrailing'/>
-      <ref name='xmlXPathNodeTrailingSorted'/>
-      <ref name='xmlXPathSetContextNode'/>
-      <ref name='xmlXPtrNewCollapsedRange'/>
-      <ref name='xmlXPtrNewContext'/>
-      <ref name='xmlXPtrNewLocationSetNodes'/>
-      <ref name='xmlXPtrNewRange'/>
-      <ref name='xmlXPtrNewRangeNodeObject'/>
-      <ref name='xmlXPtrNewRangeNodePoint'/>
-      <ref name='xmlXPtrNewRangeNodes'/>
-      <ref name='xmlXPtrNewRangePointNode'/>
-    </type>
-    <type name='xmlNodePtr *'>
-      <ref name='xmlDOMWrapCloneNode'/>
-      <ref name='xmlParseBalancedChunkMemory'/>
-      <ref name='xmlParseBalancedChunkMemoryRecover'/>
-      <ref name='xmlParseCtxtExternalEntity'/>
-      <ref name='xmlParseExternalEntity'/>
-      <ref name='xmlParseInNodeContext'/>
-    </type>
-    <type name='xmlNodeSetPtr'>
-      <ref name='xmlC14NDocDumpMemory'/>
-      <ref name='xmlC14NDocSave'/>
-      <ref name='xmlC14NDocSaveTo'/>
-      <ref name='xmlXPathCastNodeSetToBoolean'/>
-      <ref name='xmlXPathCastNodeSetToNumber'/>
-      <ref name='xmlXPathCastNodeSetToString'/>
-      <ref name='xmlXPathDifference'/>
-      <ref name='xmlXPathDistinct'/>
-      <ref name='xmlXPathDistinctSorted'/>
-      <ref name='xmlXPathFreeNodeSet'/>
-      <ref name='xmlXPathHasSameNodes'/>
-      <ref name='xmlXPathIntersection'/>
-      <ref name='xmlXPathLeading'/>
-      <ref name='xmlXPathLeadingSorted'/>
-      <ref name='xmlXPathNewNodeSetList'/>
-      <ref name='xmlXPathNodeLeading'/>
-      <ref name='xmlXPathNodeLeadingSorted'/>
-      <ref name='xmlXPathNodeSetAdd'/>
-      <ref name='xmlXPathNodeSetAddNs'/>
-      <ref name='xmlXPathNodeSetAddUnique'/>
-      <ref name='xmlXPathNodeSetContains'/>
-      <ref name='xmlXPathNodeSetDel'/>
-      <ref name='xmlXPathNodeSetMerge'/>
-      <ref name='xmlXPathNodeSetRemove'/>
-      <ref name='xmlXPathNodeSetSort'/>
-      <ref name='xmlXPathNodeTrailing'/>
-      <ref name='xmlXPathNodeTrailingSorted'/>
-      <ref name='xmlXPathTrailing'/>
-      <ref name='xmlXPathTrailingSorted'/>
-      <ref name='xmlXPathWrapNodeSet'/>
-      <ref name='xmlXPtrNewLocationSetNodeSet'/>
-    </type>
-    <type name='xmlNotationPtr'>
-      <ref name='xmlDumpNotationDecl'/>
-      <ref name='xmlValidateNotationDecl'/>
-    </type>
-    <type name='xmlNotationTablePtr'>
-      <ref name='xmlCopyNotationTable'/>
-      <ref name='xmlDumpNotationTable'/>
-      <ref name='xmlFreeNotationTable'/>
-    </type>
-    <type name='xmlNsPtr'>
-      <ref name='xmlCopyNamespace'/>
-      <ref name='xmlCopyNamespaceList'/>
-      <ref name='xmlFreeNs'/>
-      <ref name='xmlFreeNsList'/>
-      <ref name='xmlNewChild'/>
-      <ref name='xmlNewDocNode'/>
-      <ref name='xmlNewDocNodeEatName'/>
-      <ref name='xmlNewDocRawNode'/>
-      <ref name='xmlNewNode'/>
-      <ref name='xmlNewNodeEatName'/>
-      <ref name='xmlNewNsProp'/>
-      <ref name='xmlNewNsPropEatName'/>
-      <ref name='xmlNewTextChild'/>
-      <ref name='xmlSetNs'/>
-      <ref name='xmlSetNsProp'/>
-      <ref name='xmlUnsetNsProp'/>
-      <ref name='xmlValidateOneNamespace'/>
-      <ref name='xmlXPathNodeSetAddNs'/>
-      <ref name='xmlXPathNodeSetFreeNs'/>
-    </type>
-    <type name='xmlOutputBufferCreateFilenameFunc'>
-      <ref name='xmlOutputBufferCreateFilenameDefault'/>
-      <ref name='xmlThrDefOutputBufferCreateFilenameDefault'/>
-    </type>
-    <type name='xmlOutputBufferPtr'>
-      <ref name='htmlDocContentDumpFormatOutput'/>
-      <ref name='htmlDocContentDumpOutput'/>
-      <ref name='htmlNodeDumpFormatOutput'/>
-      <ref name='htmlNodeDumpOutput'/>
-      <ref name='xmlC14NDocSaveTo'/>
-      <ref name='xmlC14NExecute'/>
-      <ref name='xmlNewTextWriter'/>
-      <ref name='xmlNodeDumpOutput'/>
-      <ref name='xmlOutputBufferClose'/>
-      <ref name='xmlOutputBufferFlush'/>
-      <ref name='xmlOutputBufferGetContent'/>
-      <ref name='xmlOutputBufferGetSize'/>
-      <ref name='xmlOutputBufferWrite'/>
-      <ref name='xmlOutputBufferWriteEscape'/>
-      <ref name='xmlOutputBufferWriteString'/>
-      <ref name='xmlSaveFileTo'/>
-      <ref name='xmlSaveFormatFileTo'/>
-    </type>
-    <type name='xmlOutputCloseCallback'>
-      <ref name='xmlOutputBufferCreateIO'/>
-      <ref name='xmlRegisterOutputCallbacks'/>
-      <ref name='xmlSaveToIO'/>
-    </type>
-    <type name='xmlOutputMatchCallback'>
-      <ref name='xmlRegisterOutputCallbacks'/>
-    </type>
-    <type name='xmlOutputOpenCallback'>
-      <ref name='xmlRegisterOutputCallbacks'/>
-    </type>
-    <type name='xmlOutputWriteCallback'>
-      <ref name='xmlOutputBufferCreateIO'/>
-      <ref name='xmlRegisterOutputCallbacks'/>
-      <ref name='xmlSaveToIO'/>
-    </type>
-    <type name='xmlParserCtxtPtr'>
-      <ref name='inputPop'/>
-      <ref name='inputPush'/>
-      <ref name='namePop'/>
-      <ref name='namePush'/>
-      <ref name='nodePop'/>
-      <ref name='nodePush'/>
-      <ref name='xmlByteConsumed'/>
-      <ref name='xmlCheckHTTPInput'/>
-      <ref name='xmlClearParserCtxt'/>
-      <ref name='xmlCtxtReadDoc'/>
-      <ref name='xmlCtxtReadFd'/>
-      <ref name='xmlCtxtReadFile'/>
-      <ref name='xmlCtxtReadIO'/>
-      <ref name='xmlCtxtReadMemory'/>
-      <ref name='xmlCtxtReset'/>
-      <ref name='xmlCtxtResetPush'/>
-      <ref name='xmlCtxtUseOptions'/>
-      <ref name='xmlCurrentChar'/>
-      <ref name='xmlDecodeEntities'/>
-      <ref name='xmlErrMemory'/>
-      <ref name='xmlExternalEntityLoader'/>
-      <ref name='xmlFreeParserCtxt'/>
-      <ref name='xmlGetFeature'/>
-      <ref name='xmlHandleEntity'/>
-      <ref name='xmlInitParserCtxt'/>
-      <ref name='xmlLoadExternalEntity'/>
-      <ref name='xmlNamespaceParseNCName'/>
-      <ref name='xmlNamespaceParseNSDef'/>
-      <ref name='xmlNamespaceParseQName'/>
-      <ref name='xmlNewEntityInputStream'/>
-      <ref name='xmlNewIOInputStream'/>
-      <ref name='xmlNewInputFromFile'/>
-      <ref name='xmlNewInputStream'/>
-      <ref name='xmlNewStringInputStream'/>
-      <ref name='xmlNewTextWriterPushParser'/>
-      <ref name='xmlNextChar'/>
-      <ref name='xmlNoNetExternalEntityLoader'/>
-      <ref name='xmlParseAttValue'/>
-      <ref name='xmlParseAttribute'/>
-      <ref name='xmlParseAttributeListDecl'/>
-      <ref name='xmlParseAttributeType'/>
-      <ref name='xmlParseCDSect'/>
-      <ref name='xmlParseCharData'/>
-      <ref name='xmlParseCharRef'/>
-      <ref name='xmlParseChunk'/>
-      <ref name='xmlParseComment'/>
-      <ref name='xmlParseContent'/>
-      <ref name='xmlParseCtxtExternalEntity'/>
-      <ref name='xmlParseDefaultDecl'/>
-      <ref name='xmlParseDocTypeDecl'/>
-      <ref name='xmlParseDocument'/>
-      <ref name='xmlParseElement'/>
-      <ref name='xmlParseElementChildrenContentDecl'/>
-      <ref name='xmlParseElementContentDecl'/>
-      <ref name='xmlParseElementDecl'/>
-      <ref name='xmlParseElementMixedContentDecl'/>
-      <ref name='xmlParseEncName'/>
-      <ref name='xmlParseEncodingDecl'/>
-      <ref name='xmlParseEndTag'/>
-      <ref name='xmlParseEntityDecl'/>
-      <ref name='xmlParseEntityRef'/>
-      <ref name='xmlParseEntityValue'/>
-      <ref name='xmlParseEnumeratedType'/>
-      <ref name='xmlParseEnumerationType'/>
-      <ref name='xmlParseExtParsedEnt'/>
-      <ref name='xmlParseExternalID'/>
-      <ref name='xmlParseExternalSubset'/>
-      <ref name='xmlParseMarkupDecl'/>
-      <ref name='xmlParseMisc'/>
-      <ref name='xmlParseName'/>
-      <ref name='xmlParseNamespace'/>
-      <ref name='xmlParseNmtoken'/>
-      <ref name='xmlParseNotationDecl'/>
-      <ref name='xmlParseNotationType'/>
-      <ref name='xmlParsePEReference'/>
-      <ref name='xmlParsePI'/>
-      <ref name='xmlParsePITarget'/>
-      <ref name='xmlParsePubidLiteral'/>
-      <ref name='xmlParseQuotedString'/>
-      <ref name='xmlParseReference'/>
-      <ref name='xmlParseSDDecl'/>
-      <ref name='xmlParseStartTag'/>
-      <ref name='xmlParseSystemLiteral'/>
-      <ref name='xmlParseTextDecl'/>
-      <ref name='xmlParseVersionInfo'/>
-      <ref name='xmlParseVersionNum'/>
-      <ref name='xmlParseXMLDecl'/>
-      <ref name='xmlParserAddNodeInfo'/>
-      <ref name='xmlParserHandlePEReference'/>
-      <ref name='xmlParserHandleReference'/>
-      <ref name='xmlPopInput'/>
-      <ref name='xmlPushInput'/>
-      <ref name='xmlScanName'/>
-      <ref name='xmlSetFeature'/>
-      <ref name='xmlSetupParserForBuffer'/>
-      <ref name='xmlSkipBlankChars'/>
-      <ref name='xmlSplitQName'/>
-      <ref name='xmlStopParser'/>
-      <ref name='xmlStringCurrentChar'/>
-      <ref name='xmlStringDecodeEntities'/>
-      <ref name='xmlStringLenDecodeEntities'/>
-      <ref name='xmlSwitchEncoding'/>
-      <ref name='xmlSwitchInputEncoding'/>
-      <ref name='xmlSwitchToEncoding'/>
-    </type>
-    <type name='xmlParserInputBufferCreateFilenameFunc'>
-      <ref name='xmlParserInputBufferCreateFilenameDefault'/>
-      <ref name='xmlThrDefParserInputBufferCreateFilenameDefault'/>
-    </type>
-    <type name='xmlParserInputBufferPtr'>
-      <ref name='xmlFreeParserInputBuffer'/>
-      <ref name='xmlIOParseDTD'/>
-      <ref name='xmlNewIOInputStream'/>
-      <ref name='xmlNewTextReader'/>
-      <ref name='xmlParserInputBufferGrow'/>
-      <ref name='xmlParserInputBufferPush'/>
-      <ref name='xmlParserInputBufferRead'/>
-      <ref name='xmlSchemaValidateStream'/>
-      <ref name='xmlTextReaderSetup'/>
-    </type>
-    <type name='xmlParserInputPtr'>
-      <ref name='inputPush'/>
-      <ref name='xmlCheckHTTPInput'/>
-      <ref name='xmlFreeInputStream'/>
-      <ref name='xmlParserInputGrow'/>
-      <ref name='xmlParserInputRead'/>
-      <ref name='xmlParserInputShrink'/>
-      <ref name='xmlParserPrintFileContext'/>
-      <ref name='xmlParserPrintFileInfo'/>
-      <ref name='xmlPushInput'/>
-      <ref name='xmlSwitchInputEncoding'/>
-    </type>
-    <type name='xmlParserNodeInfoSeqPtr'>
-      <ref name='xmlClearNodeInfoSeq'/>
-      <ref name='xmlInitNodeInfoSeq'/>
-    </type>
-    <type name='xmlParserSeverities'>
-      <ref name='xmlTextReaderErrorFunc'/>
-    </type>
-    <type name='xmlPatternPtr'>
-      <ref name='xmlFreePattern'/>
-      <ref name='xmlFreePatternList'/>
-      <ref name='xmlPatternFromRoot'/>
-      <ref name='xmlPatternGetStreamCtxt'/>
-      <ref name='xmlPatternMatch'/>
-      <ref name='xmlPatternMaxDepth'/>
-      <ref name='xmlPatternMinDepth'/>
-      <ref name='xmlPatternStreamable'/>
-    </type>
-    <type name='xmlRMutexPtr'>
-      <ref name='xmlFreeRMutex'/>
-      <ref name='xmlRMutexLock'/>
-      <ref name='xmlRMutexUnlock'/>
-    </type>
-    <type name='xmlReallocFunc'>
-      <ref name='xmlGcMemSetup'/>
-      <ref name='xmlMemSetup'/>
-    </type>
-    <type name='xmlReallocFunc *'>
-      <ref name='xmlGcMemGet'/>
-      <ref name='xmlMemGet'/>
-    </type>
-    <type name='xmlRefTablePtr'>
-      <ref name='xmlFreeRefTable'/>
-    </type>
-    <type name='xmlRegExecCallbacks'>
-      <ref name='xmlRegNewExecCtxt'/>
-    </type>
-    <type name='xmlRegExecCtxtPtr'>
-      <ref name='xmlRegExecCallbacks'/>
-      <ref name='xmlRegExecErrInfo'/>
-      <ref name='xmlRegExecNextValues'/>
-      <ref name='xmlRegExecPushString'/>
-      <ref name='xmlRegExecPushString2'/>
-      <ref name='xmlRegFreeExecCtxt'/>
-    </type>
-    <type name='xmlRegexpPtr'>
-      <ref name='xmlRegFreeRegexp'/>
-      <ref name='xmlRegNewExecCtxt'/>
-      <ref name='xmlRegexpExec'/>
-      <ref name='xmlRegexpIsDeterminist'/>
-      <ref name='xmlRegexpPrint'/>
-    </type>
-    <type name='xmlRegisterNodeFunc'>
-      <ref name='xmlRegisterNodeDefault'/>
-      <ref name='xmlThrDefRegisterNodeDefault'/>
-    </type>
-    <type name='xmlRelaxNGParserCtxtPtr'>
-      <ref name='xmlRelaxNGFreeParserCtxt'/>
-      <ref name='xmlRelaxNGGetParserErrors'/>
-      <ref name='xmlRelaxNGParse'/>
-      <ref name='xmlRelaxNGSetParserErrors'/>
-      <ref name='xmlRelaxNGSetParserStructuredErrors'/>
-      <ref name='xmlRelaxParserSetFlag'/>
-    </type>
-    <type name='xmlRelaxNGPtr'>
-      <ref name='xmlRelaxNGDump'/>
-      <ref name='xmlRelaxNGDumpTree'/>
-      <ref name='xmlRelaxNGFree'/>
-      <ref name='xmlRelaxNGNewValidCtxt'/>
-      <ref name='xmlTextReaderRelaxNGSetSchema'/>
-    </type>
-    <type name='xmlRelaxNGValidCtxtPtr'>
-      <ref name='xmlRelaxNGFreeValidCtxt'/>
-      <ref name='xmlRelaxNGGetValidErrors'/>
-      <ref name='xmlRelaxNGSetValidErrors'/>
-      <ref name='xmlRelaxNGSetValidStructuredErrors'/>
-      <ref name='xmlRelaxNGValidateDoc'/>
-      <ref name='xmlRelaxNGValidateFullElement'/>
-      <ref name='xmlRelaxNGValidatePopElement'/>
-      <ref name='xmlRelaxNGValidatePushCData'/>
-      <ref name='xmlRelaxNGValidatePushElement'/>
-      <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-    </type>
-    <type name='xmlRelaxNGValidityErrorFunc'>
-      <ref name='xmlRelaxNGSetParserErrors'/>
-      <ref name='xmlRelaxNGSetValidErrors'/>
-    </type>
-    <type name='xmlRelaxNGValidityErrorFunc *'>
-      <ref name='xmlRelaxNGGetParserErrors'/>
-      <ref name='xmlRelaxNGGetValidErrors'/>
-    </type>
-    <type name='xmlRelaxNGValidityWarningFunc'>
-      <ref name='xmlRelaxNGSetParserErrors'/>
-      <ref name='xmlRelaxNGSetValidErrors'/>
-    </type>
-    <type name='xmlRelaxNGValidityWarningFunc *'>
-      <ref name='xmlRelaxNGGetParserErrors'/>
-      <ref name='xmlRelaxNGGetValidErrors'/>
-    </type>
-    <type name='xmlSAXHandler *'>
-      <ref name='xmlSAX2InitDefaultSAXHandler'/>
-      <ref name='xmlSAX2InitDocbDefaultSAXHandler'/>
-      <ref name='xmlSAX2InitHtmlDefaultSAXHandler'/>
-      <ref name='xmlSAXVersion'/>
-    </type>
-    <type name='xmlSAXHandlerPtr'>
-      <ref name='xmlCreateIOParserCtxt'/>
-      <ref name='xmlCreatePushParserCtxt'/>
-      <ref name='xmlIOParseDTD'/>
-      <ref name='xmlParseBalancedChunkMemory'/>
-      <ref name='xmlParseBalancedChunkMemoryRecover'/>
-      <ref name='xmlParseExternalEntity'/>
-      <ref name='xmlSAXParseDTD'/>
-      <ref name='xmlSAXParseDoc'/>
-      <ref name='xmlSAXParseEntity'/>
-      <ref name='xmlSAXParseFile'/>
-      <ref name='xmlSAXParseFileWithData'/>
-      <ref name='xmlSAXParseMemory'/>
-      <ref name='xmlSAXParseMemoryWithData'/>
-      <ref name='xmlSAXUserParseFile'/>
-      <ref name='xmlSAXUserParseMemory'/>
-      <ref name='xmlSchemaValidateStream'/>
-    </type>
-    <type name='xmlSAXHandlerPtr *'>
-      <ref name='xmlSchemaSAXPlug'/>
-    </type>
-    <type name='xmlSAXHandlerV1 *'>
-      <ref name='initdocbDefaultSAXHandler'/>
-      <ref name='inithtmlDefaultSAXHandler'/>
-      <ref name='initxmlDefaultSAXHandler'/>
-    </type>
-    <type name='xmlSAXLocatorPtr'>
-      <ref name='setDocumentLocator'/>
-      <ref name='setDocumentLocatorSAXFunc'/>
-      <ref name='xmlSAX2SetDocumentLocator'/>
-    </type>
-    <type name='xmlSaveCtxtPtr'>
-      <ref name='xmlSaveClose'/>
-      <ref name='xmlSaveDoc'/>
-      <ref name='xmlSaveFlush'/>
-      <ref name='xmlSaveSetAttrEscape'/>
-      <ref name='xmlSaveSetEscape'/>
-      <ref name='xmlSaveTree'/>
-    </type>
-    <type name='xmlSchemaFacetPtr'>
-      <ref name='xmlSchemaCheckFacet'/>
-      <ref name='xmlSchemaFreeFacet'/>
-      <ref name='xmlSchemaGetFacetValueAsULong'/>
-      <ref name='xmlSchemaValidateFacet'/>
-      <ref name='xmlSchemaValidateFacetWhtsp'/>
-      <ref name='xmlSchemaValidateLengthFacet'/>
-      <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-    </type>
-    <type name='xmlSchemaParserCtxtPtr'>
-      <ref name='xmlSchemaCheckFacet'/>
-      <ref name='xmlSchemaFreeParserCtxt'/>
-      <ref name='xmlSchemaGetParserErrors'/>
-      <ref name='xmlSchemaParse'/>
-      <ref name='xmlSchemaSetParserErrors'/>
-      <ref name='xmlSchemaSetParserStructuredErrors'/>
-    </type>
-    <type name='xmlSchemaPtr'>
-      <ref name='xmlSchemaDump'/>
-      <ref name='xmlSchemaFree'/>
-      <ref name='xmlSchemaNewValidCtxt'/>
-      <ref name='xmlTextReaderSetSchema'/>
-    </type>
-    <type name='xmlSchemaSAXPlugPtr'>
-      <ref name='xmlSchemaSAXUnplug'/>
-    </type>
-    <type name='xmlSchemaTypePtr'>
-      <ref name='xmlSchemaCheckFacet'/>
-      <ref name='xmlSchemaFreeType'/>
-      <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-      <ref name='xmlSchemaIsBuiltInTypeFacet'/>
-      <ref name='xmlSchemaValPredefTypeNode'/>
-      <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-      <ref name='xmlSchemaValidateFacet'/>
-      <ref name='xmlSchemaValidateLengthFacet'/>
-      <ref name='xmlSchemaValidatePredefinedType'/>
-    </type>
-    <type name='xmlSchemaValPtr'>
-      <ref name='xmlSchemaCompareValues'/>
-      <ref name='xmlSchemaCompareValuesWhtsp'/>
-      <ref name='xmlSchemaCopyValue'/>
-      <ref name='xmlSchemaFreeValue'/>
-      <ref name='xmlSchemaGetCanonValue'/>
-      <ref name='xmlSchemaGetCanonValueWhtsp'/>
-      <ref name='xmlSchemaGetValType'/>
-      <ref name='xmlSchemaValidateFacet'/>
-      <ref name='xmlSchemaValidateFacetWhtsp'/>
-      <ref name='xmlSchemaValidateLengthFacet'/>
-      <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-      <ref name='xmlSchemaValueAppend'/>
-      <ref name='xmlSchemaValueGetAsBoolean'/>
-      <ref name='xmlSchemaValueGetAsString'/>
-      <ref name='xmlSchemaValueGetNext'/>
-    </type>
-    <type name='xmlSchemaValPtr *'>
-      <ref name='xmlSchemaValPredefTypeNode'/>
-      <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-      <ref name='xmlSchemaValidatePredefinedType'/>
-    </type>
-    <type name='xmlSchemaValType'>
-      <ref name='xmlSchemaGetBuiltInType'/>
-      <ref name='xmlSchemaNewStringValue'/>
-      <ref name='xmlSchemaValidateFacetWhtsp'/>
-      <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-    </type>
-    <type name='xmlSchemaValidCtxtPtr'>
-      <ref name='xmlSchemaFreeValidCtxt'/>
-      <ref name='xmlSchemaGetValidErrors'/>
-      <ref name='xmlSchemaIsValid'/>
-      <ref name='xmlSchemaSAXPlug'/>
-      <ref name='xmlSchemaSetValidErrors'/>
-      <ref name='xmlSchemaSetValidOptions'/>
-      <ref name='xmlSchemaSetValidStructuredErrors'/>
-      <ref name='xmlSchemaValidCtxtGetOptions'/>
-      <ref name='xmlSchemaValidCtxtGetParserCtxt'/>
-      <ref name='xmlSchemaValidateDoc'/>
-      <ref name='xmlSchemaValidateFile'/>
-      <ref name='xmlSchemaValidateOneElement'/>
-      <ref name='xmlSchemaValidateSetFilename'/>
-      <ref name='xmlSchemaValidateSetLocator'/>
-      <ref name='xmlSchemaValidateStream'/>
-      <ref name='xmlTextReaderSchemaValidateCtxt'/>
-    </type>
-    <type name='xmlSchemaValidityErrorFunc'>
-      <ref name='xmlSchemaSetParserErrors'/>
-      <ref name='xmlSchemaSetValidErrors'/>
-    </type>
-    <type name='xmlSchemaValidityErrorFunc *'>
-      <ref name='xmlSchemaGetParserErrors'/>
-      <ref name='xmlSchemaGetValidErrors'/>
-    </type>
-    <type name='xmlSchemaValidityLocatorFunc'>
-      <ref name='xmlSchemaValidateSetLocator'/>
-    </type>
-    <type name='xmlSchemaValidityWarningFunc'>
-      <ref name='xmlSchemaSetParserErrors'/>
-      <ref name='xmlSchemaSetValidErrors'/>
-    </type>
-    <type name='xmlSchemaValidityWarningFunc *'>
-      <ref name='xmlSchemaGetParserErrors'/>
-      <ref name='xmlSchemaGetValidErrors'/>
-    </type>
-    <type name='xmlSchemaWhitespaceValueType'>
-      <ref name='xmlSchemaCompareValuesWhtsp'/>
-      <ref name='xmlSchemaGetCanonValueWhtsp'/>
-      <ref name='xmlSchemaValidateFacetWhtsp'/>
-      <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-    </type>
-    <type name='xmlSchemaWildcardPtr'>
-      <ref name='xmlSchemaFreeWildcard'/>
-    </type>
-    <type name='xmlSchematronParserCtxtPtr'>
-      <ref name='xmlSchematronFreeParserCtxt'/>
-      <ref name='xmlSchematronParse'/>
-    </type>
-    <type name='xmlSchematronPtr'>
-      <ref name='xmlSchematronFree'/>
-      <ref name='xmlSchematronNewValidCtxt'/>
-    </type>
-    <type name='xmlSchematronValidCtxtPtr'>
-      <ref name='xmlSchematronFreeValidCtxt'/>
-      <ref name='xmlSchematronSetValidStructuredErrors'/>
-      <ref name='xmlSchematronValidateDoc'/>
-    </type>
-    <type name='xmlShellCtxtPtr'>
-      <ref name='xmlShellBase'/>
-      <ref name='xmlShellCat'/>
-      <ref name='xmlShellCmd'/>
-      <ref name='xmlShellDir'/>
-      <ref name='xmlShellDu'/>
-      <ref name='xmlShellList'/>
-      <ref name='xmlShellLoad'/>
-      <ref name='xmlShellPwd'/>
-      <ref name='xmlShellSave'/>
-      <ref name='xmlShellValidate'/>
-      <ref name='xmlShellWrite'/>
-    </type>
-    <type name='xmlShellReadlineFunc'>
-      <ref name='xmlShell'/>
-    </type>
-    <type name='xmlStrdupFunc'>
-      <ref name='xmlGcMemSetup'/>
-      <ref name='xmlMemSetup'/>
-    </type>
-    <type name='xmlStrdupFunc *'>
-      <ref name='xmlGcMemGet'/>
-      <ref name='xmlMemGet'/>
-    </type>
-    <type name='xmlStreamCtxtPtr'>
-      <ref name='xmlFreeStreamCtxt'/>
-      <ref name='xmlStreamPop'/>
-      <ref name='xmlStreamPush'/>
-      <ref name='xmlStreamPushAttr'/>
-      <ref name='xmlStreamPushNode'/>
-      <ref name='xmlStreamWantsAnyNode'/>
-    </type>
-    <type name='xmlStructuredErrorFunc'>
-      <ref name='xmlRelaxNGSetParserStructuredErrors'/>
-      <ref name='xmlRelaxNGSetValidStructuredErrors'/>
-      <ref name='xmlSchemaSetParserStructuredErrors'/>
-      <ref name='xmlSchemaSetValidStructuredErrors'/>
-      <ref name='xmlSchematronSetValidStructuredErrors'/>
-      <ref name='xmlSetStructuredErrorFunc'/>
-      <ref name='xmlTextReaderSetStructuredErrorHandler'/>
-      <ref name='xmlThrDefSetStructuredErrorFunc'/>
-    </type>
-    <type name='xmlTextReaderErrorFunc'>
-      <ref name='xmlTextReaderSetErrorHandler'/>
-    </type>
-    <type name='xmlTextReaderErrorFunc *'>
-      <ref name='xmlTextReaderGetErrorHandler'/>
-    </type>
-    <type name='xmlTextReaderLocatorPtr'>
-      <ref name='xmlTextReaderErrorFunc'/>
-      <ref name='xmlTextReaderLocatorBaseURI'/>
-      <ref name='xmlTextReaderLocatorLineNumber'/>
-    </type>
-    <type name='xmlTextReaderPtr'>
-      <ref name='xmlFreeTextReader'/>
-      <ref name='xmlReaderNewDoc'/>
-      <ref name='xmlReaderNewFd'/>
-      <ref name='xmlReaderNewFile'/>
-      <ref name='xmlReaderNewIO'/>
-      <ref name='xmlReaderNewMemory'/>
-      <ref name='xmlReaderNewWalker'/>
-      <ref name='xmlTextReaderAttributeCount'/>
-      <ref name='xmlTextReaderBaseUri'/>
-      <ref name='xmlTextReaderByteConsumed'/>
-      <ref name='xmlTextReaderClose'/>
-      <ref name='xmlTextReaderConstBaseUri'/>
-      <ref name='xmlTextReaderConstEncoding'/>
-      <ref name='xmlTextReaderConstLocalName'/>
-      <ref name='xmlTextReaderConstName'/>
-      <ref name='xmlTextReaderConstNamespaceUri'/>
-      <ref name='xmlTextReaderConstPrefix'/>
-      <ref name='xmlTextReaderConstString'/>
-      <ref name='xmlTextReaderConstValue'/>
-      <ref name='xmlTextReaderConstXmlLang'/>
-      <ref name='xmlTextReaderConstXmlVersion'/>
-      <ref name='xmlTextReaderCurrentDoc'/>
-      <ref name='xmlTextReaderCurrentNode'/>
-      <ref name='xmlTextReaderDepth'/>
-      <ref name='xmlTextReaderExpand'/>
-      <ref name='xmlTextReaderGetAttribute'/>
-      <ref name='xmlTextReaderGetAttributeNo'/>
-      <ref name='xmlTextReaderGetAttributeNs'/>
-      <ref name='xmlTextReaderGetErrorHandler'/>
-      <ref name='xmlTextReaderGetParserColumnNumber'/>
-      <ref name='xmlTextReaderGetParserLineNumber'/>
-      <ref name='xmlTextReaderGetParserProp'/>
-      <ref name='xmlTextReaderGetRemainder'/>
-      <ref name='xmlTextReaderHasAttributes'/>
-      <ref name='xmlTextReaderHasValue'/>
-      <ref name='xmlTextReaderIsDefault'/>
-      <ref name='xmlTextReaderIsEmptyElement'/>
-      <ref name='xmlTextReaderIsNamespaceDecl'/>
-      <ref name='xmlTextReaderIsValid'/>
-      <ref name='xmlTextReaderLocalName'/>
-      <ref name='xmlTextReaderLookupNamespace'/>
-      <ref name='xmlTextReaderMoveToAttribute'/>
-      <ref name='xmlTextReaderMoveToAttributeNo'/>
-      <ref name='xmlTextReaderMoveToAttributeNs'/>
-      <ref name='xmlTextReaderMoveToElement'/>
-      <ref name='xmlTextReaderMoveToFirstAttribute'/>
-      <ref name='xmlTextReaderMoveToNextAttribute'/>
-      <ref name='xmlTextReaderName'/>
-      <ref name='xmlTextReaderNamespaceUri'/>
-      <ref name='xmlTextReaderNext'/>
-      <ref name='xmlTextReaderNextSibling'/>
-      <ref name='xmlTextReaderNodeType'/>
-      <ref name='xmlTextReaderNormalization'/>
-      <ref name='xmlTextReaderPrefix'/>
-      <ref name='xmlTextReaderPreserve'/>
-      <ref name='xmlTextReaderPreservePattern'/>
-      <ref name='xmlTextReaderQuoteChar'/>
-      <ref name='xmlTextReaderRead'/>
-      <ref name='xmlTextReaderReadAttributeValue'/>
-      <ref name='xmlTextReaderReadInnerXml'/>
-      <ref name='xmlTextReaderReadOuterXml'/>
-      <ref name='xmlTextReaderReadState'/>
-      <ref name='xmlTextReaderReadString'/>
-      <ref name='xmlTextReaderRelaxNGSetSchema'/>
-      <ref name='xmlTextReaderRelaxNGValidate'/>
-      <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-      <ref name='xmlTextReaderSchemaValidate'/>
-      <ref name='xmlTextReaderSchemaValidateCtxt'/>
-      <ref name='xmlTextReaderSetErrorHandler'/>
-      <ref name='xmlTextReaderSetParserProp'/>
-      <ref name='xmlTextReaderSetSchema'/>
-      <ref name='xmlTextReaderSetStructuredErrorHandler'/>
-      <ref name='xmlTextReaderSetup'/>
-      <ref name='xmlTextReaderStandalone'/>
-      <ref name='xmlTextReaderValue'/>
-      <ref name='xmlTextReaderXmlLang'/>
-    </type>
-    <type name='xmlTextWriterPtr'>
-      <ref name='xmlFreeTextWriter'/>
-      <ref name='xmlTextWriterEndAttribute'/>
-      <ref name='xmlTextWriterEndCDATA'/>
-      <ref name='xmlTextWriterEndComment'/>
-      <ref name='xmlTextWriterEndDTD'/>
-      <ref name='xmlTextWriterEndDTDAttlist'/>
-      <ref name='xmlTextWriterEndDTDElement'/>
-      <ref name='xmlTextWriterEndDTDEntity'/>
-      <ref name='xmlTextWriterEndDocument'/>
-      <ref name='xmlTextWriterEndElement'/>
-      <ref name='xmlTextWriterEndPI'/>
-      <ref name='xmlTextWriterFlush'/>
-      <ref name='xmlTextWriterFullEndElement'/>
-      <ref name='xmlTextWriterSetIndent'/>
-      <ref name='xmlTextWriterSetIndentString'/>
-      <ref name='xmlTextWriterSetQuoteChar'/>
-      <ref name='xmlTextWriterStartAttribute'/>
-      <ref name='xmlTextWriterStartAttributeNS'/>
-      <ref name='xmlTextWriterStartCDATA'/>
-      <ref name='xmlTextWriterStartComment'/>
-      <ref name='xmlTextWriterStartDTD'/>
-      <ref name='xmlTextWriterStartDTDAttlist'/>
-      <ref name='xmlTextWriterStartDTDElement'/>
-      <ref name='xmlTextWriterStartDTDEntity'/>
-      <ref name='xmlTextWriterStartDocument'/>
-      <ref name='xmlTextWriterStartElement'/>
-      <ref name='xmlTextWriterStartElementNS'/>
-      <ref name='xmlTextWriterStartPI'/>
-      <ref name='xmlTextWriterWriteAttribute'/>
-      <ref name='xmlTextWriterWriteAttributeNS'/>
-      <ref name='xmlTextWriterWriteBase64'/>
-      <ref name='xmlTextWriterWriteBinHex'/>
-      <ref name='xmlTextWriterWriteCDATA'/>
-      <ref name='xmlTextWriterWriteComment'/>
-      <ref name='xmlTextWriterWriteDTD'/>
-      <ref name='xmlTextWriterWriteDTDAttlist'/>
-      <ref name='xmlTextWriterWriteDTDElement'/>
-      <ref name='xmlTextWriterWriteDTDEntity'/>
-      <ref name='xmlTextWriterWriteDTDExternalEntity'/>
-      <ref name='xmlTextWriterWriteDTDExternalEntityContents'/>
-      <ref name='xmlTextWriterWriteDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteDTDNotation'/>
-      <ref name='xmlTextWriterWriteElement'/>
-      <ref name='xmlTextWriterWriteElementNS'/>
-      <ref name='xmlTextWriterWriteFormatAttribute'/>
-      <ref name='xmlTextWriterWriteFormatAttributeNS'/>
-      <ref name='xmlTextWriterWriteFormatCDATA'/>
-      <ref name='xmlTextWriterWriteFormatComment'/>
-      <ref name='xmlTextWriterWriteFormatDTD'/>
-      <ref name='xmlTextWriterWriteFormatDTDAttlist'/>
-      <ref name='xmlTextWriterWriteFormatDTDElement'/>
-      <ref name='xmlTextWriterWriteFormatDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteFormatElement'/>
-      <ref name='xmlTextWriterWriteFormatElementNS'/>
-      <ref name='xmlTextWriterWriteFormatPI'/>
-      <ref name='xmlTextWriterWriteFormatRaw'/>
-      <ref name='xmlTextWriterWriteFormatString'/>
-      <ref name='xmlTextWriterWritePI'/>
-      <ref name='xmlTextWriterWriteRaw'/>
-      <ref name='xmlTextWriterWriteRawLen'/>
-      <ref name='xmlTextWriterWriteString'/>
-      <ref name='xmlTextWriterWriteVFormatAttribute'/>
-      <ref name='xmlTextWriterWriteVFormatAttributeNS'/>
-      <ref name='xmlTextWriterWriteVFormatCDATA'/>
-      <ref name='xmlTextWriterWriteVFormatComment'/>
-      <ref name='xmlTextWriterWriteVFormatDTD'/>
-      <ref name='xmlTextWriterWriteVFormatDTDAttlist'/>
-      <ref name='xmlTextWriterWriteVFormatDTDElement'/>
-      <ref name='xmlTextWriterWriteVFormatDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteVFormatElement'/>
-      <ref name='xmlTextWriterWriteVFormatElementNS'/>
-      <ref name='xmlTextWriterWriteVFormatPI'/>
-      <ref name='xmlTextWriterWriteVFormatRaw'/>
-      <ref name='xmlTextWriterWriteVFormatString'/>
-    </type>
-    <type name='xmlURIPtr'>
-      <ref name='xmlFreeURI'/>
-      <ref name='xmlParseURIReference'/>
-      <ref name='xmlPrintURI'/>
-      <ref name='xmlSaveUri'/>
-    </type>
-    <type name='xmlValidCtxtPtr'>
-      <ref name='xmlAddAttributeDecl'/>
-      <ref name='xmlAddElementDecl'/>
-      <ref name='xmlAddID'/>
-      <ref name='xmlAddNotationDecl'/>
-      <ref name='xmlAddRef'/>
-      <ref name='xmlFreeValidCtxt'/>
-      <ref name='xmlValidBuildContentModel'/>
-      <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-      <ref name='xmlValidateAttributeDecl'/>
-      <ref name='xmlValidateDocument'/>
-      <ref name='xmlValidateDocumentFinal'/>
-      <ref name='xmlValidateDtd'/>
-      <ref name='xmlValidateDtdFinal'/>
-      <ref name='xmlValidateElement'/>
-      <ref name='xmlValidateElementDecl'/>
-      <ref name='xmlValidateNotationDecl'/>
-      <ref name='xmlValidateNotationUse'/>
-      <ref name='xmlValidateOneAttribute'/>
-      <ref name='xmlValidateOneElement'/>
-      <ref name='xmlValidateOneNamespace'/>
-      <ref name='xmlValidatePopElement'/>
-      <ref name='xmlValidatePushCData'/>
-      <ref name='xmlValidatePushElement'/>
-      <ref name='xmlValidateRoot'/>
-    </type>
-    <type name='xmlXIncludeCtxtPtr'>
-      <ref name='xmlXIncludeFreeContext'/>
-      <ref name='xmlXIncludeProcessNode'/>
-      <ref name='xmlXIncludeSetFlags'/>
-    </type>
-    <type name='xmlXPathCompExprPtr'>
-      <ref name='xmlXPathCompiledEval'/>
-      <ref name='xmlXPathCompiledEvalToBoolean'/>
-      <ref name='xmlXPathDebugDumpCompExpr'/>
-      <ref name='xmlXPathFreeCompExpr'/>
-    </type>
-    <type name='xmlXPathContextPtr'>
-      <ref name='xmlXPathCompiledEval'/>
-      <ref name='xmlXPathCompiledEvalToBoolean'/>
-      <ref name='xmlXPathContextSetCache'/>
-      <ref name='xmlXPathCtxtCompile'/>
-      <ref name='xmlXPathEval'/>
-      <ref name='xmlXPathEvalExpression'/>
-      <ref name='xmlXPathEvalPredicate'/>
-      <ref name='xmlXPathFreeContext'/>
-      <ref name='xmlXPathFunctionLookup'/>
-      <ref name='xmlXPathFunctionLookupNS'/>
-      <ref name='xmlXPathNewParserContext'/>
-      <ref name='xmlXPathNodeEval'/>
-      <ref name='xmlXPathNsLookup'/>
-      <ref name='xmlXPathRegisterAllFunctions'/>
-      <ref name='xmlXPathRegisterFunc'/>
-      <ref name='xmlXPathRegisterFuncLookup'/>
-      <ref name='xmlXPathRegisterFuncNS'/>
-      <ref name='xmlXPathRegisterNs'/>
-      <ref name='xmlXPathRegisterVariable'/>
-      <ref name='xmlXPathRegisterVariableLookup'/>
-      <ref name='xmlXPathRegisterVariableNS'/>
-      <ref name='xmlXPathRegisteredFuncsCleanup'/>
-      <ref name='xmlXPathRegisteredNsCleanup'/>
-      <ref name='xmlXPathRegisteredVariablesCleanup'/>
-      <ref name='xmlXPathSetContextNode'/>
-      <ref name='xmlXPathVariableLookup'/>
-      <ref name='xmlXPathVariableLookupNS'/>
-      <ref name='xmlXPtrEval'/>
-    </type>
-    <type name='xmlXPathFuncLookupFunc'>
-      <ref name='xmlXPathRegisterFuncLookup'/>
-    </type>
-    <type name='xmlXPathFunction'>
-      <ref name='xmlXPathRegisterFunc'/>
-      <ref name='xmlXPathRegisterFuncNS'/>
-    </type>
-    <type name='xmlXPathObjectPtr'>
-      <ref name='valuePush'/>
-      <ref name='xmlShellPrintXPathResult'/>
-      <ref name='xmlXPathAxisFunc'/>
-      <ref name='xmlXPathCastToBoolean'/>
-      <ref name='xmlXPathCastToNumber'/>
-      <ref name='xmlXPathCastToString'/>
-      <ref name='xmlXPathConvertBoolean'/>
-      <ref name='xmlXPathConvertFunc'/>
-      <ref name='xmlXPathConvertNumber'/>
-      <ref name='xmlXPathConvertString'/>
-      <ref name='xmlXPathDebugDumpObject'/>
-      <ref name='xmlXPathEvalPredicate'/>
-      <ref name='xmlXPathEvaluatePredicateResult'/>
-      <ref name='xmlXPathFreeNodeSetList'/>
-      <ref name='xmlXPathFreeObject'/>
-      <ref name='xmlXPathObjectCopy'/>
-      <ref name='xmlXPathRegisterVariable'/>
-      <ref name='xmlXPathRegisterVariableNS'/>
-      <ref name='xmlXPtrBuildNodeList'/>
-      <ref name='xmlXPtrLocationSetAdd'/>
-      <ref name='xmlXPtrLocationSetCreate'/>
-      <ref name='xmlXPtrLocationSetDel'/>
-      <ref name='xmlXPtrNewRangeNodeObject'/>
-      <ref name='xmlXPtrNewRangeNodePoint'/>
-      <ref name='xmlXPtrNewRangePointNode'/>
-      <ref name='xmlXPtrNewRangePoints'/>
-    </type>
-    <type name='xmlXPathParserContextPtr'>
-      <ref name='valuePop'/>
-      <ref name='valuePush'/>
-      <ref name='xmlXPathAddValues'/>
-      <ref name='xmlXPathAxisFunc'/>
-      <ref name='xmlXPathBooleanFunction'/>
-      <ref name='xmlXPathCeilingFunction'/>
-      <ref name='xmlXPathCompareValues'/>
-      <ref name='xmlXPathConcatFunction'/>
-      <ref name='xmlXPathContainsFunction'/>
-      <ref name='xmlXPathCountFunction'/>
-      <ref name='xmlXPathDivValues'/>
-      <ref name='xmlXPathEqualValues'/>
-      <ref name='xmlXPathErr'/>
-      <ref name='xmlXPathEvalExpr'/>
-      <ref name='xmlXPathEvalFunc'/>
-      <ref name='xmlXPathEvaluatePredicateResult'/>
-      <ref name='xmlXPathFalseFunction'/>
-      <ref name='xmlXPathFloorFunction'/>
-      <ref name='xmlXPathFreeParserContext'/>
-      <ref name='xmlXPathFunction'/>
-      <ref name='xmlXPathIdFunction'/>
-      <ref name='xmlXPathLangFunction'/>
-      <ref name='xmlXPathLastFunction'/>
-      <ref name='xmlXPathLocalNameFunction'/>
-      <ref name='xmlXPathModValues'/>
-      <ref name='xmlXPathMultValues'/>
-      <ref name='xmlXPathNamespaceURIFunction'/>
-      <ref name='xmlXPathNextAncestor'/>
-      <ref name='xmlXPathNextAncestorOrSelf'/>
-      <ref name='xmlXPathNextAttribute'/>
-      <ref name='xmlXPathNextChild'/>
-      <ref name='xmlXPathNextDescendant'/>
-      <ref name='xmlXPathNextDescendantOrSelf'/>
-      <ref name='xmlXPathNextFollowing'/>
-      <ref name='xmlXPathNextFollowingSibling'/>
-      <ref name='xmlXPathNextNamespace'/>
-      <ref name='xmlXPathNextParent'/>
-      <ref name='xmlXPathNextPreceding'/>
-      <ref name='xmlXPathNextPrecedingSibling'/>
-      <ref name='xmlXPathNextSelf'/>
-      <ref name='xmlXPathNormalizeFunction'/>
-      <ref name='xmlXPathNotEqualValues'/>
-      <ref name='xmlXPathNotFunction'/>
-      <ref name='xmlXPathNumberFunction'/>
-      <ref name='xmlXPathParseNCName'/>
-      <ref name='xmlXPathParseName'/>
-      <ref name='xmlXPathPopBoolean'/>
-      <ref name='xmlXPathPopExternal'/>
-      <ref name='xmlXPathPopNodeSet'/>
-      <ref name='xmlXPathPopNumber'/>
-      <ref name='xmlXPathPopString'/>
-      <ref name='xmlXPathPositionFunction'/>
-      <ref name='xmlXPathRoot'/>
-      <ref name='xmlXPathRoundFunction'/>
-      <ref name='xmlXPathStartsWithFunction'/>
-      <ref name='xmlXPathStringFunction'/>
-      <ref name='xmlXPathStringLengthFunction'/>
-      <ref name='xmlXPathSubValues'/>
-      <ref name='xmlXPathSubstringAfterFunction'/>
-      <ref name='xmlXPathSubstringBeforeFunction'/>
-      <ref name='xmlXPathSubstringFunction'/>
-      <ref name='xmlXPathSumFunction'/>
-      <ref name='xmlXPathTranslateFunction'/>
-      <ref name='xmlXPathTrueFunction'/>
-      <ref name='xmlXPathValueFlipSign'/>
-      <ref name='xmlXPatherror'/>
-      <ref name='xmlXPtrEvalRangePredicate'/>
-      <ref name='xmlXPtrRangeToFunction'/>
-    </type>
-    <type name='xmlXPathVariableLookupFunc'>
-      <ref name='xmlXPathRegisterVariableLookup'/>
-    </type>
-  </functions>
-  <files>
-    <file name='DOCBparser'>
-      <ref name='docbCreateFileParserCtxt'/>
-      <ref name='docbCreatePushParserCtxt'/>
-      <ref name='docbDocPtr'/>
-      <ref name='docbEncodeEntities'/>
-      <ref name='docbFreeParserCtxt'/>
-      <ref name='docbParseChunk'/>
-      <ref name='docbParseDoc'/>
-      <ref name='docbParseDocument'/>
-      <ref name='docbParseFile'/>
-      <ref name='docbParserCtxt'/>
-      <ref name='docbParserCtxtPtr'/>
-      <ref name='docbParserInput'/>
-      <ref name='docbParserInputPtr'/>
-      <ref name='docbSAXHandler'/>
-      <ref name='docbSAXHandlerPtr'/>
-      <ref name='docbSAXParseDoc'/>
-      <ref name='docbSAXParseFile'/>
-    </file>
-    <file name='HTMLparser'>
-      <ref name='HTML_DEPRECATED'/>
-      <ref name='HTML_INVALID'/>
-      <ref name='HTML_NA'/>
-      <ref name='HTML_PARSE_COMPACT'/>
-      <ref name='HTML_PARSE_IGNORE_ENC'/>
-      <ref name='HTML_PARSE_NOBLANKS'/>
-      <ref name='HTML_PARSE_NODEFDTD'/>
-      <ref name='HTML_PARSE_NOERROR'/>
-      <ref name='HTML_PARSE_NOIMPLIED'/>
-      <ref name='HTML_PARSE_NONET'/>
-      <ref name='HTML_PARSE_NOWARNING'/>
-      <ref name='HTML_PARSE_PEDANTIC'/>
-      <ref name='HTML_PARSE_RECOVER'/>
-      <ref name='HTML_REQUIRED'/>
-      <ref name='HTML_VALID'/>
-      <ref name='UTF8ToHtml'/>
-      <ref name='_htmlElemDesc'/>
-      <ref name='_htmlEntityDesc'/>
-      <ref name='htmlAttrAllowed'/>
-      <ref name='htmlAutoCloseTag'/>
-      <ref name='htmlCreateMemoryParserCtxt'/>
-      <ref name='htmlCreatePushParserCtxt'/>
-      <ref name='htmlCtxtReadDoc'/>
-      <ref name='htmlCtxtReadFd'/>
-      <ref name='htmlCtxtReadFile'/>
-      <ref name='htmlCtxtReadIO'/>
-      <ref name='htmlCtxtReadMemory'/>
-      <ref name='htmlCtxtReset'/>
-      <ref name='htmlCtxtUseOptions'/>
-      <ref name='htmlDefaultSubelement'/>
-      <ref name='htmlDocPtr'/>
-      <ref name='htmlElemDesc'/>
-      <ref name='htmlElemDescPtr'/>
-      <ref name='htmlElementAllowedHere'/>
-      <ref name='htmlElementAllowedHereDesc'/>
-      <ref name='htmlElementStatusHere'/>
-      <ref name='htmlEncodeEntities'/>
-      <ref name='htmlEntityDesc'/>
-      <ref name='htmlEntityDescPtr'/>
-      <ref name='htmlEntityLookup'/>
-      <ref name='htmlEntityValueLookup'/>
-      <ref name='htmlFreeParserCtxt'/>
-      <ref name='htmlHandleOmittedElem'/>
-      <ref name='htmlIsAutoClosed'/>
-      <ref name='htmlIsScriptAttribute'/>
-      <ref name='htmlNewParserCtxt'/>
-      <ref name='htmlNodePtr'/>
-      <ref name='htmlNodeStatus'/>
-      <ref name='htmlParseCharRef'/>
-      <ref name='htmlParseChunk'/>
-      <ref name='htmlParseDoc'/>
-      <ref name='htmlParseDocument'/>
-      <ref name='htmlParseElement'/>
-      <ref name='htmlParseEntityRef'/>
-      <ref name='htmlParseFile'/>
-      <ref name='htmlParserCtxt'/>
-      <ref name='htmlParserCtxtPtr'/>
-      <ref name='htmlParserInput'/>
-      <ref name='htmlParserInputPtr'/>
-      <ref name='htmlParserNodeInfo'/>
-      <ref name='htmlParserOption'/>
-      <ref name='htmlReadDoc'/>
-      <ref name='htmlReadFd'/>
-      <ref name='htmlReadFile'/>
-      <ref name='htmlReadIO'/>
-      <ref name='htmlReadMemory'/>
-      <ref name='htmlRequiredAttrs'/>
-      <ref name='htmlSAXHandler'/>
-      <ref name='htmlSAXHandlerPtr'/>
-      <ref name='htmlSAXParseDoc'/>
-      <ref name='htmlSAXParseFile'/>
-      <ref name='htmlStatus'/>
-      <ref name='htmlTagLookup'/>
-    </file>
-    <file name='HTMLtree'>
-      <ref name='HTML_COMMENT_NODE'/>
-      <ref name='HTML_ENTITY_REF_NODE'/>
-      <ref name='HTML_PI_NODE'/>
-      <ref name='HTML_PRESERVE_NODE'/>
-      <ref name='HTML_TEXT_NODE'/>
-      <ref name='htmlDocContentDumpFormatOutput'/>
-      <ref name='htmlDocContentDumpOutput'/>
-      <ref name='htmlDocDump'/>
-      <ref name='htmlDocDumpMemory'/>
-      <ref name='htmlDocDumpMemoryFormat'/>
-      <ref name='htmlGetMetaEncoding'/>
-      <ref name='htmlIsBooleanAttr'/>
-      <ref name='htmlNewDoc'/>
-      <ref name='htmlNewDocNoDtD'/>
-      <ref name='htmlNodeDump'/>
-      <ref name='htmlNodeDumpFile'/>
-      <ref name='htmlNodeDumpFileFormat'/>
-      <ref name='htmlNodeDumpFormatOutput'/>
-      <ref name='htmlNodeDumpOutput'/>
-      <ref name='htmlSaveFile'/>
-      <ref name='htmlSaveFileEnc'/>
-      <ref name='htmlSaveFileFormat'/>
-      <ref name='htmlSetMetaEncoding'/>
-    </file>
-    <file name='SAX'>
-      <ref name='attribute'/>
-      <ref name='attributeDecl'/>
-      <ref name='cdataBlock'/>
-      <ref name='characters'/>
-      <ref name='checkNamespace'/>
-      <ref name='comment'/>
-      <ref name='elementDecl'/>
-      <ref name='endDocument'/>
-      <ref name='endElement'/>
-      <ref name='entityDecl'/>
-      <ref name='externalSubset'/>
-      <ref name='getColumnNumber'/>
-      <ref name='getEntity'/>
-      <ref name='getLineNumber'/>
-      <ref name='getNamespace'/>
-      <ref name='getParameterEntity'/>
-      <ref name='getPublicId'/>
-      <ref name='getSystemId'/>
-      <ref name='globalNamespace'/>
-      <ref name='hasExternalSubset'/>
-      <ref name='hasInternalSubset'/>
-      <ref name='ignorableWhitespace'/>
-      <ref name='initdocbDefaultSAXHandler'/>
-      <ref name='inithtmlDefaultSAXHandler'/>
-      <ref name='initxmlDefaultSAXHandler'/>
-      <ref name='internalSubset'/>
-      <ref name='isStandalone'/>
-      <ref name='namespaceDecl'/>
-      <ref name='notationDecl'/>
-      <ref name='processingInstruction'/>
-      <ref name='reference'/>
-      <ref name='resolveEntity'/>
-      <ref name='setDocumentLocator'/>
-      <ref name='setNamespace'/>
-      <ref name='startDocument'/>
-      <ref name='startElement'/>
-      <ref name='unparsedEntityDecl'/>
-    </file>
-    <file name='SAX2'>
-      <ref name='docbDefaultSAXHandlerInit'/>
-      <ref name='htmlDefaultSAXHandlerInit'/>
-      <ref name='xmlDefaultSAXHandlerInit'/>
-      <ref name='xmlSAX2AttributeDecl'/>
-      <ref name='xmlSAX2CDataBlock'/>
-      <ref name='xmlSAX2Characters'/>
-      <ref name='xmlSAX2Comment'/>
-      <ref name='xmlSAX2ElementDecl'/>
-      <ref name='xmlSAX2EndDocument'/>
-      <ref name='xmlSAX2EndElement'/>
-      <ref name='xmlSAX2EndElementNs'/>
-      <ref name='xmlSAX2EntityDecl'/>
-      <ref name='xmlSAX2ExternalSubset'/>
-      <ref name='xmlSAX2GetColumnNumber'/>
-      <ref name='xmlSAX2GetEntity'/>
-      <ref name='xmlSAX2GetLineNumber'/>
-      <ref name='xmlSAX2GetParameterEntity'/>
-      <ref name='xmlSAX2GetPublicId'/>
-      <ref name='xmlSAX2GetSystemId'/>
-      <ref name='xmlSAX2HasExternalSubset'/>
-      <ref name='xmlSAX2HasInternalSubset'/>
-      <ref name='xmlSAX2IgnorableWhitespace'/>
-      <ref name='xmlSAX2InitDefaultSAXHandler'/>
-      <ref name='xmlSAX2InitDocbDefaultSAXHandler'/>
-      <ref name='xmlSAX2InitHtmlDefaultSAXHandler'/>
-      <ref name='xmlSAX2InternalSubset'/>
-      <ref name='xmlSAX2IsStandalone'/>
-      <ref name='xmlSAX2NotationDecl'/>
-      <ref name='xmlSAX2ProcessingInstruction'/>
-      <ref name='xmlSAX2Reference'/>
-      <ref name='xmlSAX2ResolveEntity'/>
-      <ref name='xmlSAX2SetDocumentLocator'/>
-      <ref name='xmlSAX2StartDocument'/>
-      <ref name='xmlSAX2StartElement'/>
-      <ref name='xmlSAX2StartElementNs'/>
-      <ref name='xmlSAX2UnparsedEntityDecl'/>
-      <ref name='xmlSAXDefaultVersion'/>
-      <ref name='xmlSAXVersion'/>
-    </file>
-    <file name='c14n'>
-      <ref name='XML_C14N_1_0'/>
-      <ref name='XML_C14N_1_1'/>
-      <ref name='XML_C14N_EXCLUSIVE_1_0'/>
-      <ref name='xmlC14NDocDumpMemory'/>
-      <ref name='xmlC14NDocSave'/>
-      <ref name='xmlC14NDocSaveTo'/>
-      <ref name='xmlC14NExecute'/>
-      <ref name='xmlC14NIsVisibleCallback'/>
-      <ref name='xmlC14NMode'/>
-    </file>
-    <file name='catalog'>
-      <ref name='XML_CATALOGS_NAMESPACE'/>
-      <ref name='XML_CATALOG_PI'/>
-      <ref name='XML_CATA_ALLOW_ALL'/>
-      <ref name='XML_CATA_ALLOW_DOCUMENT'/>
-      <ref name='XML_CATA_ALLOW_GLOBAL'/>
-      <ref name='XML_CATA_ALLOW_NONE'/>
-      <ref name='XML_CATA_PREFER_NONE'/>
-      <ref name='XML_CATA_PREFER_PUBLIC'/>
-      <ref name='XML_CATA_PREFER_SYSTEM'/>
-      <ref name='xmlACatalogAdd'/>
-      <ref name='xmlACatalogDump'/>
-      <ref name='xmlACatalogRemove'/>
-      <ref name='xmlACatalogResolve'/>
-      <ref name='xmlACatalogResolvePublic'/>
-      <ref name='xmlACatalogResolveSystem'/>
-      <ref name='xmlACatalogResolveURI'/>
-      <ref name='xmlCatalog'/>
-      <ref name='xmlCatalogAdd'/>
-      <ref name='xmlCatalogAddLocal'/>
-      <ref name='xmlCatalogAllow'/>
-      <ref name='xmlCatalogCleanup'/>
-      <ref name='xmlCatalogConvert'/>
-      <ref name='xmlCatalogDump'/>
-      <ref name='xmlCatalogFreeLocal'/>
-      <ref name='xmlCatalogGetDefaults'/>
-      <ref name='xmlCatalogGetPublic'/>
-      <ref name='xmlCatalogGetSystem'/>
-      <ref name='xmlCatalogIsEmpty'/>
-      <ref name='xmlCatalogLocalResolve'/>
-      <ref name='xmlCatalogLocalResolveURI'/>
-      <ref name='xmlCatalogPrefer'/>
-      <ref name='xmlCatalogPtr'/>
-      <ref name='xmlCatalogRemove'/>
-      <ref name='xmlCatalogResolve'/>
-      <ref name='xmlCatalogResolvePublic'/>
-      <ref name='xmlCatalogResolveSystem'/>
-      <ref name='xmlCatalogResolveURI'/>
-      <ref name='xmlCatalogSetDebug'/>
-      <ref name='xmlCatalogSetDefaultPrefer'/>
-      <ref name='xmlCatalogSetDefaults'/>
-      <ref name='xmlConvertSGMLCatalog'/>
-      <ref name='xmlFreeCatalog'/>
-      <ref name='xmlInitializeCatalog'/>
-      <ref name='xmlLoadACatalog'/>
-      <ref name='xmlLoadCatalog'/>
-      <ref name='xmlLoadCatalogs'/>
-      <ref name='xmlLoadSGMLSuperCatalog'/>
-      <ref name='xmlNewCatalog'/>
-      <ref name='xmlParseCatalogFile'/>
-    </file>
-    <file name='chvalid'>
-      <ref name='_xmlChLRange'/>
-      <ref name='_xmlChRangeGroup'/>
-      <ref name='_xmlChSRange'/>
-      <ref name='xmlChLRange'/>
-      <ref name='xmlChLRangePtr'/>
-      <ref name='xmlChRangeGroup'/>
-      <ref name='xmlChRangeGroupPtr'/>
-      <ref name='xmlChSRange'/>
-      <ref name='xmlChSRangePtr'/>
-      <ref name='xmlCharInRange'/>
-      <ref name='xmlIsBaseChar'/>
-      <ref name='xmlIsBaseCharGroup'/>
-      <ref name='xmlIsBaseCharQ'/>
-      <ref name='xmlIsBaseChar_ch'/>
-      <ref name='xmlIsBlank'/>
-      <ref name='xmlIsBlankQ'/>
-      <ref name='xmlIsBlank_ch'/>
-      <ref name='xmlIsChar'/>
-      <ref name='xmlIsCharGroup'/>
-      <ref name='xmlIsCharQ'/>
-      <ref name='xmlIsChar_ch'/>
-      <ref name='xmlIsCombining'/>
-      <ref name='xmlIsCombiningGroup'/>
-      <ref name='xmlIsCombiningQ'/>
-      <ref name='xmlIsDigit'/>
-      <ref name='xmlIsDigitGroup'/>
-      <ref name='xmlIsDigitQ'/>
-      <ref name='xmlIsDigit_ch'/>
-      <ref name='xmlIsExtender'/>
-      <ref name='xmlIsExtenderGroup'/>
-      <ref name='xmlIsExtenderQ'/>
-      <ref name='xmlIsExtender_ch'/>
-      <ref name='xmlIsIdeographic'/>
-      <ref name='xmlIsIdeographicGroup'/>
-      <ref name='xmlIsIdeographicQ'/>
-      <ref name='xmlIsPubidChar'/>
-      <ref name='xmlIsPubidCharQ'/>
-      <ref name='xmlIsPubidChar_ch'/>
-      <ref name='xmlIsPubidChar_tab'/>
-    </file>
-    <file name='debugXML'>
-      <ref name='_xmlShellCtxt'/>
-      <ref name='xmlBoolToText'/>
-      <ref name='xmlDebugCheckDocument'/>
-      <ref name='xmlDebugDumpAttr'/>
-      <ref name='xmlDebugDumpAttrList'/>
-      <ref name='xmlDebugDumpDTD'/>
-      <ref name='xmlDebugDumpDocument'/>
-      <ref name='xmlDebugDumpDocumentHead'/>
-      <ref name='xmlDebugDumpEntities'/>
-      <ref name='xmlDebugDumpNode'/>
-      <ref name='xmlDebugDumpNodeList'/>
-      <ref name='xmlDebugDumpOneNode'/>
-      <ref name='xmlDebugDumpString'/>
-      <ref name='xmlLsCountNode'/>
-      <ref name='xmlLsOneNode'/>
-      <ref name='xmlShell'/>
-      <ref name='xmlShellBase'/>
-      <ref name='xmlShellCat'/>
-      <ref name='xmlShellCmd'/>
-      <ref name='xmlShellCtxt'/>
-      <ref name='xmlShellCtxtPtr'/>
-      <ref name='xmlShellDir'/>
-      <ref name='xmlShellDu'/>
-      <ref name='xmlShellList'/>
-      <ref name='xmlShellLoad'/>
-      <ref name='xmlShellPrintNode'/>
-      <ref name='xmlShellPrintXPathError'/>
-      <ref name='xmlShellPrintXPathResult'/>
-      <ref name='xmlShellPwd'/>
-      <ref name='xmlShellReadlineFunc'/>
-      <ref name='xmlShellSave'/>
-      <ref name='xmlShellValidate'/>
-      <ref name='xmlShellWrite'/>
-    </file>
-    <file name='dict'>
-      <ref name='xmlDict'/>
-      <ref name='xmlDictCleanup'/>
-      <ref name='xmlDictCreate'/>
-      <ref name='xmlDictCreateSub'/>
-      <ref name='xmlDictExists'/>
-      <ref name='xmlDictFree'/>
-      <ref name='xmlDictGetUsage'/>
-      <ref name='xmlDictLookup'/>
-      <ref name='xmlDictOwns'/>
-      <ref name='xmlDictPtr'/>
-      <ref name='xmlDictQLookup'/>
-      <ref name='xmlDictReference'/>
-      <ref name='xmlDictSetLimit'/>
-      <ref name='xmlDictSize'/>
-      <ref name='xmlInitializeDict'/>
-    </file>
-    <file name='encoding'>
-      <ref name='ICU_PIVOT_BUF_SIZE'/>
-      <ref name='UTF8Toisolat1'/>
-      <ref name='XML_CHAR_ENCODING_2022_JP'/>
-      <ref name='XML_CHAR_ENCODING_8859_1'/>
-      <ref name='XML_CHAR_ENCODING_8859_2'/>
-      <ref name='XML_CHAR_ENCODING_8859_3'/>
-      <ref name='XML_CHAR_ENCODING_8859_4'/>
-      <ref name='XML_CHAR_ENCODING_8859_5'/>
-      <ref name='XML_CHAR_ENCODING_8859_6'/>
-      <ref name='XML_CHAR_ENCODING_8859_7'/>
-      <ref name='XML_CHAR_ENCODING_8859_8'/>
-      <ref name='XML_CHAR_ENCODING_8859_9'/>
-      <ref name='XML_CHAR_ENCODING_ASCII'/>
-      <ref name='XML_CHAR_ENCODING_EBCDIC'/>
-      <ref name='XML_CHAR_ENCODING_ERROR'/>
-      <ref name='XML_CHAR_ENCODING_EUC_JP'/>
-      <ref name='XML_CHAR_ENCODING_NONE'/>
-      <ref name='XML_CHAR_ENCODING_SHIFT_JIS'/>
-      <ref name='XML_CHAR_ENCODING_UCS2'/>
-      <ref name='XML_CHAR_ENCODING_UCS4BE'/>
-      <ref name='XML_CHAR_ENCODING_UCS4LE'/>
-      <ref name='XML_CHAR_ENCODING_UCS4_2143'/>
-      <ref name='XML_CHAR_ENCODING_UCS4_3412'/>
-      <ref name='XML_CHAR_ENCODING_UTF16BE'/>
-      <ref name='XML_CHAR_ENCODING_UTF16LE'/>
-      <ref name='XML_CHAR_ENCODING_UTF8'/>
-      <ref name='_uconv_t'/>
-      <ref name='_xmlCharEncodingHandler'/>
-      <ref name='isolat1ToUTF8'/>
-      <ref name='uconv_t'/>
-      <ref name='xmlAddEncodingAlias'/>
-      <ref name='xmlCharEncCloseFunc'/>
-      <ref name='xmlCharEncFirstLine'/>
-      <ref name='xmlCharEncInFunc'/>
-      <ref name='xmlCharEncOutFunc'/>
-      <ref name='xmlCharEncoding'/>
-      <ref name='xmlCharEncodingHandler'/>
-      <ref name='xmlCharEncodingHandlerPtr'/>
-      <ref name='xmlCharEncodingInputFunc'/>
-      <ref name='xmlCharEncodingOutputFunc'/>
-      <ref name='xmlCleanupCharEncodingHandlers'/>
-      <ref name='xmlCleanupEncodingAliases'/>
-      <ref name='xmlDelEncodingAlias'/>
-      <ref name='xmlDetectCharEncoding'/>
-      <ref name='xmlFindCharEncodingHandler'/>
-      <ref name='xmlGetCharEncodingHandler'/>
-      <ref name='xmlGetCharEncodingName'/>
-      <ref name='xmlGetEncodingAlias'/>
-      <ref name='xmlInitCharEncodingHandlers'/>
-      <ref name='xmlNewCharEncodingHandler'/>
-      <ref name='xmlParseCharEncoding'/>
-      <ref name='xmlRegisterCharEncodingHandler'/>
-    </file>
-    <file name='entities'>
-      <ref name='XML_EXTERNAL_GENERAL_PARSED_ENTITY'/>
-      <ref name='XML_EXTERNAL_GENERAL_UNPARSED_ENTITY'/>
-      <ref name='XML_EXTERNAL_PARAMETER_ENTITY'/>
-      <ref name='XML_INTERNAL_GENERAL_ENTITY'/>
-      <ref name='XML_INTERNAL_PARAMETER_ENTITY'/>
-      <ref name='XML_INTERNAL_PREDEFINED_ENTITY'/>
-      <ref name='_xmlEntity'/>
-      <ref name='xmlAddDocEntity'/>
-      <ref name='xmlAddDtdEntity'/>
-      <ref name='xmlCleanupPredefinedEntities'/>
-      <ref name='xmlCopyEntitiesTable'/>
-      <ref name='xmlCreateEntitiesTable'/>
-      <ref name='xmlDumpEntitiesTable'/>
-      <ref name='xmlDumpEntityDecl'/>
-      <ref name='xmlEncodeEntities'/>
-      <ref name='xmlEncodeEntitiesReentrant'/>
-      <ref name='xmlEncodeSpecialChars'/>
-      <ref name='xmlEntitiesTable'/>
-      <ref name='xmlEntitiesTablePtr'/>
-      <ref name='xmlEntityType'/>
-      <ref name='xmlFreeEntitiesTable'/>
-      <ref name='xmlGetDocEntity'/>
-      <ref name='xmlGetDtdEntity'/>
-      <ref name='xmlGetParameterEntity'/>
-      <ref name='xmlGetPredefinedEntity'/>
-      <ref name='xmlInitializePredefinedEntities'/>
-      <ref name='xmlNewEntity'/>
-    </file>
-    <file name='globals'>
-      <ref name='_xmlGlobalState'/>
-      <ref name='docbDefaultSAXHandler'/>
-      <ref name='htmlDefaultSAXHandler'/>
-      <ref name='oldXMLWDcompatibility'/>
-      <ref name='xmlBufferAllocScheme'/>
-      <ref name='xmlCleanupGlobals'/>
-      <ref name='xmlDefaultBufferSize'/>
-      <ref name='xmlDefaultSAXHandler'/>
-      <ref name='xmlDefaultSAXLocator'/>
-      <ref name='xmlDeregisterNodeDefault'/>
-      <ref name='xmlDeregisterNodeDefaultValue'/>
-      <ref name='xmlDeregisterNodeFunc'/>
-      <ref name='xmlDoValidityCheckingDefaultValue'/>
-      <ref name='xmlFree'/>
-      <ref name='xmlGenericError'/>
-      <ref name='xmlGenericErrorContext'/>
-      <ref name='xmlGetWarningsDefaultValue'/>
-      <ref name='xmlGlobalState'/>
-      <ref name='xmlGlobalStatePtr'/>
-      <ref name='xmlIndentTreeOutput'/>
-      <ref name='xmlInitGlobals'/>
-      <ref name='xmlInitializeGlobalState'/>
-      <ref name='xmlKeepBlanksDefaultValue'/>
-      <ref name='xmlLastError'/>
-      <ref name='xmlLineNumbersDefaultValue'/>
-      <ref name='xmlLoadExtDtdDefaultValue'/>
-      <ref name='xmlMalloc'/>
-      <ref name='xmlMallocAtomic'/>
-      <ref name='xmlMemStrdup'/>
-      <ref name='xmlOutputBufferCreateFilenameDefault'/>
-      <ref name='xmlOutputBufferCreateFilenameFunc'/>
-      <ref name='xmlOutputBufferCreateFilenameValue'/>
-      <ref name='xmlParserDebugEntities'/>
-      <ref name='xmlParserInputBufferCreateFilenameDefault'/>
-      <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-      <ref name='xmlParserInputBufferCreateFilenameValue'/>
-      <ref name='xmlParserVersion'/>
-      <ref name='xmlPedanticParserDefaultValue'/>
-      <ref name='xmlRealloc'/>
-      <ref name='xmlRegisterNodeDefault'/>
-      <ref name='xmlRegisterNodeDefaultValue'/>
-      <ref name='xmlRegisterNodeFunc'/>
-      <ref name='xmlSaveNoEmptyTags'/>
-      <ref name='xmlStructuredError'/>
-      <ref name='xmlStructuredErrorContext'/>
-      <ref name='xmlSubstituteEntitiesDefaultValue'/>
-      <ref name='xmlThrDefBufferAllocScheme'/>
-      <ref name='xmlThrDefDefaultBufferSize'/>
-      <ref name='xmlThrDefDeregisterNodeDefault'/>
-      <ref name='xmlThrDefDoValidityCheckingDefaultValue'/>
-      <ref name='xmlThrDefGetWarningsDefaultValue'/>
-      <ref name='xmlThrDefIndentTreeOutput'/>
-      <ref name='xmlThrDefKeepBlanksDefaultValue'/>
-      <ref name='xmlThrDefLineNumbersDefaultValue'/>
-      <ref name='xmlThrDefLoadExtDtdDefaultValue'/>
-      <ref name='xmlThrDefOutputBufferCreateFilenameDefault'/>
-      <ref name='xmlThrDefParserDebugEntities'/>
-      <ref name='xmlThrDefParserInputBufferCreateFilenameDefault'/>
-      <ref name='xmlThrDefPedanticParserDefaultValue'/>
-      <ref name='xmlThrDefRegisterNodeDefault'/>
-      <ref name='xmlThrDefSaveNoEmptyTags'/>
-      <ref name='xmlThrDefSetGenericErrorFunc'/>
-      <ref name='xmlThrDefSetStructuredErrorFunc'/>
-      <ref name='xmlThrDefSubstituteEntitiesDefaultValue'/>
-      <ref name='xmlThrDefTreeIndentString'/>
-      <ref name='xmlTreeIndentString'/>
-    </file>
-    <file name='hash'>
-      <ref name='XML_CAST_FPTR'/>
-      <ref name='xmlHashAddEntry'/>
-      <ref name='xmlHashAddEntry2'/>
-      <ref name='xmlHashAddEntry3'/>
-      <ref name='xmlHashCopier'/>
-      <ref name='xmlHashCopy'/>
-      <ref name='xmlHashCreate'/>
-      <ref name='xmlHashCreateDict'/>
-      <ref name='xmlHashDeallocator'/>
-      <ref name='xmlHashDefaultDeallocator'/>
-      <ref name='xmlHashFree'/>
-      <ref name='xmlHashLookup'/>
-      <ref name='xmlHashLookup2'/>
-      <ref name='xmlHashLookup3'/>
-      <ref name='xmlHashQLookup'/>
-      <ref name='xmlHashQLookup2'/>
-      <ref name='xmlHashQLookup3'/>
-      <ref name='xmlHashRemoveEntry'/>
-      <ref name='xmlHashRemoveEntry2'/>
-      <ref name='xmlHashRemoveEntry3'/>
-      <ref name='xmlHashScan'/>
-      <ref name='xmlHashScan3'/>
-      <ref name='xmlHashScanFull'/>
-      <ref name='xmlHashScanFull3'/>
-      <ref name='xmlHashScanner'/>
-      <ref name='xmlHashScannerFull'/>
-      <ref name='xmlHashSize'/>
-      <ref name='xmlHashTable'/>
-      <ref name='xmlHashTablePtr'/>
-      <ref name='xmlHashUpdateEntry'/>
-      <ref name='xmlHashUpdateEntry2'/>
-      <ref name='xmlHashUpdateEntry3'/>
-    </file>
-    <file name='list'>
-      <ref name='xmlLink'/>
-      <ref name='xmlLinkGetData'/>
-      <ref name='xmlLinkPtr'/>
-      <ref name='xmlList'/>
-      <ref name='xmlListAppend'/>
-      <ref name='xmlListClear'/>
-      <ref name='xmlListCopy'/>
-      <ref name='xmlListCreate'/>
-      <ref name='xmlListDataCompare'/>
-      <ref name='xmlListDeallocator'/>
-      <ref name='xmlListDelete'/>
-      <ref name='xmlListDup'/>
-      <ref name='xmlListEmpty'/>
-      <ref name='xmlListEnd'/>
-      <ref name='xmlListFront'/>
-      <ref name='xmlListInsert'/>
-      <ref name='xmlListMerge'/>
-      <ref name='xmlListPopBack'/>
-      <ref name='xmlListPopFront'/>
-      <ref name='xmlListPtr'/>
-      <ref name='xmlListPushBack'/>
-      <ref name='xmlListPushFront'/>
-      <ref name='xmlListRemoveAll'/>
-      <ref name='xmlListRemoveFirst'/>
-      <ref name='xmlListRemoveLast'/>
-      <ref name='xmlListReverse'/>
-      <ref name='xmlListReverseSearch'/>
-      <ref name='xmlListReverseWalk'/>
-      <ref name='xmlListSearch'/>
-      <ref name='xmlListSize'/>
-      <ref name='xmlListSort'/>
-      <ref name='xmlListWalk'/>
-      <ref name='xmlListWalker'/>
-    </file>
-    <file name='nanoftp'>
-      <ref name='INVALID_SOCKET'/>
-      <ref name='SOCKET'/>
-      <ref name='ftpDataCallback'/>
-      <ref name='ftpListCallback'/>
-      <ref name='xmlNanoFTPCheckResponse'/>
-      <ref name='xmlNanoFTPCleanup'/>
-      <ref name='xmlNanoFTPClose'/>
-      <ref name='xmlNanoFTPCloseConnection'/>
-      <ref name='xmlNanoFTPConnect'/>
-      <ref name='xmlNanoFTPConnectTo'/>
-      <ref name='xmlNanoFTPCwd'/>
-      <ref name='xmlNanoFTPDele'/>
-      <ref name='xmlNanoFTPFreeCtxt'/>
-      <ref name='xmlNanoFTPGet'/>
-      <ref name='xmlNanoFTPGetConnection'/>
-      <ref name='xmlNanoFTPGetResponse'/>
-      <ref name='xmlNanoFTPGetSocket'/>
-      <ref name='xmlNanoFTPInit'/>
-      <ref name='xmlNanoFTPList'/>
-      <ref name='xmlNanoFTPNewCtxt'/>
-      <ref name='xmlNanoFTPOpen'/>
-      <ref name='xmlNanoFTPProxy'/>
-      <ref name='xmlNanoFTPQuit'/>
-      <ref name='xmlNanoFTPRead'/>
-      <ref name='xmlNanoFTPScanProxy'/>
-      <ref name='xmlNanoFTPUpdateURL'/>
-    </file>
-    <file name='nanohttp'>
-      <ref name='xmlNanoHTTPAuthHeader'/>
-      <ref name='xmlNanoHTTPCleanup'/>
-      <ref name='xmlNanoHTTPClose'/>
-      <ref name='xmlNanoHTTPContentLength'/>
-      <ref name='xmlNanoHTTPEncoding'/>
-      <ref name='xmlNanoHTTPFetch'/>
-      <ref name='xmlNanoHTTPInit'/>
-      <ref name='xmlNanoHTTPMethod'/>
-      <ref name='xmlNanoHTTPMethodRedir'/>
-      <ref name='xmlNanoHTTPMimeType'/>
-      <ref name='xmlNanoHTTPOpen'/>
-      <ref name='xmlNanoHTTPOpenRedir'/>
-      <ref name='xmlNanoHTTPRead'/>
-      <ref name='xmlNanoHTTPRedir'/>
-      <ref name='xmlNanoHTTPReturnCode'/>
-      <ref name='xmlNanoHTTPSave'/>
-      <ref name='xmlNanoHTTPScanProxy'/>
-    </file>
-    <file name='parser'>
-      <ref name='XML_COMPLETE_ATTRS'/>
-      <ref name='XML_DEFAULT_VERSION'/>
-      <ref name='XML_DETECT_IDS'/>
-      <ref name='XML_PARSER_ATTRIBUTE_VALUE'/>
-      <ref name='XML_PARSER_CDATA_SECTION'/>
-      <ref name='XML_PARSER_COMMENT'/>
-      <ref name='XML_PARSER_CONTENT'/>
-      <ref name='XML_PARSER_DTD'/>
-      <ref name='XML_PARSER_END_TAG'/>
-      <ref name='XML_PARSER_ENTITY_DECL'/>
-      <ref name='XML_PARSER_ENTITY_VALUE'/>
-      <ref name='XML_PARSER_EOF'/>
-      <ref name='XML_PARSER_EPILOG'/>
-      <ref name='XML_PARSER_IGNORE'/>
-      <ref name='XML_PARSER_MISC'/>
-      <ref name='XML_PARSER_PI'/>
-      <ref name='XML_PARSER_PROLOG'/>
-      <ref name='XML_PARSER_PUBLIC_LITERAL'/>
-      <ref name='XML_PARSER_START'/>
-      <ref name='XML_PARSER_START_TAG'/>
-      <ref name='XML_PARSER_SYSTEM_LITERAL'/>
-      <ref name='XML_PARSE_BIG_LINES'/>
-      <ref name='XML_PARSE_COMPACT'/>
-      <ref name='XML_PARSE_DOM'/>
-      <ref name='XML_PARSE_DTDATTR'/>
-      <ref name='XML_PARSE_DTDLOAD'/>
-      <ref name='XML_PARSE_DTDVALID'/>
-      <ref name='XML_PARSE_HUGE'/>
-      <ref name='XML_PARSE_IGNORE_ENC'/>
-      <ref name='XML_PARSE_NOBASEFIX'/>
-      <ref name='XML_PARSE_NOBLANKS'/>
-      <ref name='XML_PARSE_NOCDATA'/>
-      <ref name='XML_PARSE_NODICT'/>
-      <ref name='XML_PARSE_NOENT'/>
-      <ref name='XML_PARSE_NOERROR'/>
-      <ref name='XML_PARSE_NONET'/>
-      <ref name='XML_PARSE_NOWARNING'/>
-      <ref name='XML_PARSE_NOXINCNODE'/>
-      <ref name='XML_PARSE_NSCLEAN'/>
-      <ref name='XML_PARSE_OLD10'/>
-      <ref name='XML_PARSE_OLDSAX'/>
-      <ref name='XML_PARSE_PEDANTIC'/>
-      <ref name='XML_PARSE_PUSH_DOM'/>
-      <ref name='XML_PARSE_PUSH_SAX'/>
-      <ref name='XML_PARSE_READER'/>
-      <ref name='XML_PARSE_RECOVER'/>
-      <ref name='XML_PARSE_SAX'/>
-      <ref name='XML_PARSE_SAX1'/>
-      <ref name='XML_PARSE_UNKNOWN'/>
-      <ref name='XML_PARSE_XINCLUDE'/>
-      <ref name='XML_SAX2_MAGIC'/>
-      <ref name='XML_SKIP_IDS'/>
-      <ref name='XML_WITH_AUTOMATA'/>
-      <ref name='XML_WITH_C14N'/>
-      <ref name='XML_WITH_CATALOG'/>
-      <ref name='XML_WITH_DEBUG'/>
-      <ref name='XML_WITH_DEBUG_MEM'/>
-      <ref name='XML_WITH_DEBUG_RUN'/>
-      <ref name='XML_WITH_EXPR'/>
-      <ref name='XML_WITH_FTP'/>
-      <ref name='XML_WITH_HTML'/>
-      <ref name='XML_WITH_HTTP'/>
-      <ref name='XML_WITH_ICONV'/>
-      <ref name='XML_WITH_ICU'/>
-      <ref name='XML_WITH_ISO8859X'/>
-      <ref name='XML_WITH_LEGACY'/>
-      <ref name='XML_WITH_LZMA'/>
-      <ref name='XML_WITH_MODULES'/>
-      <ref name='XML_WITH_NONE'/>
-      <ref name='XML_WITH_OUTPUT'/>
-      <ref name='XML_WITH_PATTERN'/>
-      <ref name='XML_WITH_PUSH'/>
-      <ref name='XML_WITH_READER'/>
-      <ref name='XML_WITH_REGEXP'/>
-      <ref name='XML_WITH_SAX1'/>
-      <ref name='XML_WITH_SCHEMAS'/>
-      <ref name='XML_WITH_SCHEMATRON'/>
-      <ref name='XML_WITH_THREAD'/>
-      <ref name='XML_WITH_TREE'/>
-      <ref name='XML_WITH_UNICODE'/>
-      <ref name='XML_WITH_VALID'/>
-      <ref name='XML_WITH_WRITER'/>
-      <ref name='XML_WITH_XINCLUDE'/>
-      <ref name='XML_WITH_XPATH'/>
-      <ref name='XML_WITH_XPTR'/>
-      <ref name='XML_WITH_ZLIB'/>
-      <ref name='_xmlParserCtxt'/>
-      <ref name='_xmlParserInput'/>
-      <ref name='_xmlParserNodeInfo'/>
-      <ref name='_xmlParserNodeInfoSeq'/>
-      <ref name='_xmlSAXHandler'/>
-      <ref name='_xmlSAXHandlerV1'/>
-      <ref name='_xmlSAXLocator'/>
-      <ref name='attributeDeclSAXFunc'/>
-      <ref name='attributeSAXFunc'/>
-      <ref name='cdataBlockSAXFunc'/>
-      <ref name='charactersSAXFunc'/>
-      <ref name='commentSAXFunc'/>
-      <ref name='elementDeclSAXFunc'/>
-      <ref name='endDocumentSAXFunc'/>
-      <ref name='endElementNsSAX2Func'/>
-      <ref name='endElementSAXFunc'/>
-      <ref name='entityDeclSAXFunc'/>
-      <ref name='errorSAXFunc'/>
-      <ref name='externalSubsetSAXFunc'/>
-      <ref name='fatalErrorSAXFunc'/>
-      <ref name='getEntitySAXFunc'/>
-      <ref name='getParameterEntitySAXFunc'/>
-      <ref name='hasExternalSubsetSAXFunc'/>
-      <ref name='hasInternalSubsetSAXFunc'/>
-      <ref name='ignorableWhitespaceSAXFunc'/>
-      <ref name='internalSubsetSAXFunc'/>
-      <ref name='isStandaloneSAXFunc'/>
-      <ref name='notationDeclSAXFunc'/>
-      <ref name='processingInstructionSAXFunc'/>
-      <ref name='referenceSAXFunc'/>
-      <ref name='resolveEntitySAXFunc'/>
-      <ref name='setDocumentLocatorSAXFunc'/>
-      <ref name='startDocumentSAXFunc'/>
-      <ref name='startElementNsSAX2Func'/>
-      <ref name='startElementSAXFunc'/>
-      <ref name='unparsedEntityDeclSAXFunc'/>
-      <ref name='warningSAXFunc'/>
-      <ref name='xmlByteConsumed'/>
-      <ref name='xmlCleanupParser'/>
-      <ref name='xmlClearNodeInfoSeq'/>
-      <ref name='xmlClearParserCtxt'/>
-      <ref name='xmlCreateDocParserCtxt'/>
-      <ref name='xmlCreateIOParserCtxt'/>
-      <ref name='xmlCreatePushParserCtxt'/>
-      <ref name='xmlCtxtReadDoc'/>
-      <ref name='xmlCtxtReadFd'/>
-      <ref name='xmlCtxtReadFile'/>
-      <ref name='xmlCtxtReadIO'/>
-      <ref name='xmlCtxtReadMemory'/>
-      <ref name='xmlCtxtReset'/>
-      <ref name='xmlCtxtResetPush'/>
-      <ref name='xmlCtxtUseOptions'/>
-      <ref name='xmlExternalEntityLoader'/>
-      <ref name='xmlFeature'/>
-      <ref name='xmlFreeParserCtxt'/>
-      <ref name='xmlGetExternalEntityLoader'/>
-      <ref name='xmlGetFeature'/>
-      <ref name='xmlGetFeaturesList'/>
-      <ref name='xmlHasFeature'/>
-      <ref name='xmlIOParseDTD'/>
-      <ref name='xmlInitNodeInfoSeq'/>
-      <ref name='xmlInitParser'/>
-      <ref name='xmlInitParserCtxt'/>
-      <ref name='xmlKeepBlanksDefault'/>
-      <ref name='xmlLineNumbersDefault'/>
-      <ref name='xmlLoadExternalEntity'/>
-      <ref name='xmlNewIOInputStream'/>
-      <ref name='xmlNewParserCtxt'/>
-      <ref name='xmlParseBalancedChunkMemory'/>
-      <ref name='xmlParseBalancedChunkMemoryRecover'/>
-      <ref name='xmlParseChunk'/>
-      <ref name='xmlParseCtxtExternalEntity'/>
-      <ref name='xmlParseDTD'/>
-      <ref name='xmlParseDoc'/>
-      <ref name='xmlParseDocument'/>
-      <ref name='xmlParseEntity'/>
-      <ref name='xmlParseExtParsedEnt'/>
-      <ref name='xmlParseExternalEntity'/>
-      <ref name='xmlParseFile'/>
-      <ref name='xmlParseInNodeContext'/>
-      <ref name='xmlParseMemory'/>
-      <ref name='xmlParserAddNodeInfo'/>
-      <ref name='xmlParserFindNodeInfo'/>
-      <ref name='xmlParserFindNodeInfoIndex'/>
-      <ref name='xmlParserInputDeallocate'/>
-      <ref name='xmlParserInputGrow'/>
-      <ref name='xmlParserInputRead'/>
-      <ref name='xmlParserInputState'/>
-      <ref name='xmlParserMode'/>
-      <ref name='xmlParserNodeInfo'/>
-      <ref name='xmlParserNodeInfoPtr'/>
-      <ref name='xmlParserNodeInfoSeq'/>
-      <ref name='xmlParserNodeInfoSeqPtr'/>
-      <ref name='xmlParserOption'/>
-      <ref name='xmlPedanticParserDefault'/>
-      <ref name='xmlReadDoc'/>
-      <ref name='xmlReadFd'/>
-      <ref name='xmlReadFile'/>
-      <ref name='xmlReadIO'/>
-      <ref name='xmlReadMemory'/>
-      <ref name='xmlRecoverDoc'/>
-      <ref name='xmlRecoverFile'/>
-      <ref name='xmlRecoverMemory'/>
-      <ref name='xmlSAXHandlerV1'/>
-      <ref name='xmlSAXHandlerV1Ptr'/>
-      <ref name='xmlSAXParseDTD'/>
-      <ref name='xmlSAXParseDoc'/>
-      <ref name='xmlSAXParseEntity'/>
-      <ref name='xmlSAXParseFile'/>
-      <ref name='xmlSAXParseFileWithData'/>
-      <ref name='xmlSAXParseMemory'/>
-      <ref name='xmlSAXParseMemoryWithData'/>
-      <ref name='xmlSAXUserParseFile'/>
-      <ref name='xmlSAXUserParseMemory'/>
-      <ref name='xmlSetExternalEntityLoader'/>
-      <ref name='xmlSetFeature'/>
-      <ref name='xmlSetupParserForBuffer'/>
-      <ref name='xmlStartTag'/>
-      <ref name='xmlStopParser'/>
-      <ref name='xmlSubstituteEntitiesDefault'/>
-    </file>
-    <file name='parserInternals'>
-      <ref name='INPUT_CHUNK'/>
-      <ref name='IS_ASCII_DIGIT'/>
-      <ref name='IS_ASCII_LETTER'/>
-      <ref name='IS_BASECHAR'/>
-      <ref name='IS_BLANK'/>
-      <ref name='IS_BLANK_CH'/>
-      <ref name='IS_BYTE_CHAR'/>
-      <ref name='IS_CHAR'/>
-      <ref name='IS_CHAR_CH'/>
-      <ref name='IS_COMBINING'/>
-      <ref name='IS_COMBINING_CH'/>
-      <ref name='IS_DIGIT'/>
-      <ref name='IS_DIGIT_CH'/>
-      <ref name='IS_EXTENDER'/>
-      <ref name='IS_EXTENDER_CH'/>
-      <ref name='IS_IDEOGRAPHIC'/>
-      <ref name='IS_LETTER'/>
-      <ref name='IS_LETTER_CH'/>
-      <ref name='IS_PUBIDCHAR'/>
-      <ref name='IS_PUBIDCHAR_CH'/>
-      <ref name='MOVETO_ENDTAG'/>
-      <ref name='MOVETO_STARTTAG'/>
-      <ref name='SKIP_EOL'/>
-      <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-      <ref name='XML_MAX_LOOKUP_LIMIT'/>
-      <ref name='XML_MAX_NAMELEN'/>
-      <ref name='XML_MAX_NAME_LENGTH'/>
-      <ref name='XML_MAX_TEXT_LENGTH'/>
-      <ref name='XML_SUBSTITUTE_BOTH'/>
-      <ref name='XML_SUBSTITUTE_NONE'/>
-      <ref name='XML_SUBSTITUTE_PEREF'/>
-      <ref name='XML_SUBSTITUTE_REF'/>
-      <ref name='htmlCreateFileParserCtxt'/>
-      <ref name='htmlInitAutoClose'/>
-      <ref name='inputPop'/>
-      <ref name='inputPush'/>
-      <ref name='namePop'/>
-      <ref name='namePush'/>
-      <ref name='nodePop'/>
-      <ref name='nodePush'/>
-      <ref name='xmlCheckLanguageID'/>
-      <ref name='xmlCopyChar'/>
-      <ref name='xmlCopyCharMultiByte'/>
-      <ref name='xmlCreateEntityParserCtxt'/>
-      <ref name='xmlCreateFileParserCtxt'/>
-      <ref name='xmlCreateMemoryParserCtxt'/>
-      <ref name='xmlCreateURLParserCtxt'/>
-      <ref name='xmlCurrentChar'/>
-      <ref name='xmlDecodeEntities'/>
-      <ref name='xmlEntityReferenceFunc'/>
-      <ref name='xmlErrMemory'/>
-      <ref name='xmlFreeInputStream'/>
-      <ref name='xmlHandleEntity'/>
-      <ref name='xmlIsLetter'/>
-      <ref name='xmlNamespaceParseNCName'/>
-      <ref name='xmlNamespaceParseNSDef'/>
-      <ref name='xmlNamespaceParseQName'/>
-      <ref name='xmlNewEntityInputStream'/>
-      <ref name='xmlNewInputFromFile'/>
-      <ref name='xmlNewInputStream'/>
-      <ref name='xmlNewStringInputStream'/>
-      <ref name='xmlNextChar'/>
-      <ref name='xmlParseAttValue'/>
-      <ref name='xmlParseAttribute'/>
-      <ref name='xmlParseAttributeListDecl'/>
-      <ref name='xmlParseAttributeType'/>
-      <ref name='xmlParseCDSect'/>
-      <ref name='xmlParseCharData'/>
-      <ref name='xmlParseCharRef'/>
-      <ref name='xmlParseComment'/>
-      <ref name='xmlParseContent'/>
-      <ref name='xmlParseDefaultDecl'/>
-      <ref name='xmlParseDocTypeDecl'/>
-      <ref name='xmlParseElement'/>
-      <ref name='xmlParseElementChildrenContentDecl'/>
-      <ref name='xmlParseElementContentDecl'/>
-      <ref name='xmlParseElementDecl'/>
-      <ref name='xmlParseElementMixedContentDecl'/>
-      <ref name='xmlParseEncName'/>
-      <ref name='xmlParseEncodingDecl'/>
-      <ref name='xmlParseEndTag'/>
-      <ref name='xmlParseEntityDecl'/>
-      <ref name='xmlParseEntityRef'/>
-      <ref name='xmlParseEntityValue'/>
-      <ref name='xmlParseEnumeratedType'/>
-      <ref name='xmlParseEnumerationType'/>
-      <ref name='xmlParseExternalID'/>
-      <ref name='xmlParseExternalSubset'/>
-      <ref name='xmlParseMarkupDecl'/>
-      <ref name='xmlParseMisc'/>
-      <ref name='xmlParseName'/>
-      <ref name='xmlParseNamespace'/>
-      <ref name='xmlParseNmtoken'/>
-      <ref name='xmlParseNotationDecl'/>
-      <ref name='xmlParseNotationType'/>
-      <ref name='xmlParsePEReference'/>
-      <ref name='xmlParsePI'/>
-      <ref name='xmlParsePITarget'/>
-      <ref name='xmlParsePubidLiteral'/>
-      <ref name='xmlParseQuotedString'/>
-      <ref name='xmlParseReference'/>
-      <ref name='xmlParseSDDecl'/>
-      <ref name='xmlParseStartTag'/>
-      <ref name='xmlParseSystemLiteral'/>
-      <ref name='xmlParseTextDecl'/>
-      <ref name='xmlParseVersionInfo'/>
-      <ref name='xmlParseVersionNum'/>
-      <ref name='xmlParseXMLDecl'/>
-      <ref name='xmlParserHandlePEReference'/>
-      <ref name='xmlParserHandleReference'/>
-      <ref name='xmlParserInputShrink'/>
-      <ref name='xmlParserMaxDepth'/>
-      <ref name='xmlPopInput'/>
-      <ref name='xmlPushInput'/>
-      <ref name='xmlScanName'/>
-      <ref name='xmlSetEntityReferenceFunc'/>
-      <ref name='xmlSkipBlankChars'/>
-      <ref name='xmlSplitQName'/>
-      <ref name='xmlStringComment'/>
-      <ref name='xmlStringCurrentChar'/>
-      <ref name='xmlStringDecodeEntities'/>
-      <ref name='xmlStringLenDecodeEntities'/>
-      <ref name='xmlStringText'/>
-      <ref name='xmlStringTextNoenc'/>
-      <ref name='xmlSwitchEncoding'/>
-      <ref name='xmlSwitchInputEncoding'/>
-      <ref name='xmlSwitchToEncoding'/>
-    </file>
-    <file name='pattern'>
-      <ref name='XML_PATTERN_DEFAULT'/>
-      <ref name='XML_PATTERN_XPATH'/>
-      <ref name='XML_PATTERN_XSFIELD'/>
-      <ref name='XML_PATTERN_XSSEL'/>
-      <ref name='xmlFreePattern'/>
-      <ref name='xmlFreePatternList'/>
-      <ref name='xmlFreeStreamCtxt'/>
-      <ref name='xmlPattern'/>
-      <ref name='xmlPatternFlags'/>
-      <ref name='xmlPatternFromRoot'/>
-      <ref name='xmlPatternGetStreamCtxt'/>
-      <ref name='xmlPatternMatch'/>
-      <ref name='xmlPatternMaxDepth'/>
-      <ref name='xmlPatternMinDepth'/>
-      <ref name='xmlPatternPtr'/>
-      <ref name='xmlPatternStreamable'/>
-      <ref name='xmlPatterncompile'/>
-      <ref name='xmlStreamCtxt'/>
-      <ref name='xmlStreamCtxtPtr'/>
-      <ref name='xmlStreamPop'/>
-      <ref name='xmlStreamPush'/>
-      <ref name='xmlStreamPushAttr'/>
-      <ref name='xmlStreamPushNode'/>
-      <ref name='xmlStreamWantsAnyNode'/>
-    </file>
-    <file name='relaxng'>
-      <ref name='XML_RELAXNGP_CRNG'/>
-      <ref name='XML_RELAXNGP_FREE_DOC'/>
-      <ref name='XML_RELAXNGP_NONE'/>
-      <ref name='XML_RELAXNG_ERR_ATTREXTRANS'/>
-      <ref name='XML_RELAXNG_ERR_ATTRNAME'/>
-      <ref name='XML_RELAXNG_ERR_ATTRNONS'/>
-      <ref name='XML_RELAXNG_ERR_ATTRVALID'/>
-      <ref name='XML_RELAXNG_ERR_ATTRWRONGNS'/>
-      <ref name='XML_RELAXNG_ERR_CONTENTVALID'/>
-      <ref name='XML_RELAXNG_ERR_DATAELEM'/>
-      <ref name='XML_RELAXNG_ERR_DATATYPE'/>
-      <ref name='XML_RELAXNG_ERR_DUPID'/>
-      <ref name='XML_RELAXNG_ERR_ELEMEXTRANS'/>
-      <ref name='XML_RELAXNG_ERR_ELEMNAME'/>
-      <ref name='XML_RELAXNG_ERR_ELEMNONS'/>
-      <ref name='XML_RELAXNG_ERR_ELEMNOTEMPTY'/>
-      <ref name='XML_RELAXNG_ERR_ELEMWRONG'/>
-      <ref name='XML_RELAXNG_ERR_ELEMWRONGNS'/>
-      <ref name='XML_RELAXNG_ERR_EXTRACONTENT'/>
-      <ref name='XML_RELAXNG_ERR_EXTRADATA'/>
-      <ref name='XML_RELAXNG_ERR_INTEREXTRA'/>
-      <ref name='XML_RELAXNG_ERR_INTERNAL'/>
-      <ref name='XML_RELAXNG_ERR_INTERNODATA'/>
-      <ref name='XML_RELAXNG_ERR_INTERSEQ'/>
-      <ref name='XML_RELAXNG_ERR_INVALIDATTR'/>
-      <ref name='XML_RELAXNG_ERR_LACKDATA'/>
-      <ref name='XML_RELAXNG_ERR_LIST'/>
-      <ref name='XML_RELAXNG_ERR_LISTELEM'/>
-      <ref name='XML_RELAXNG_ERR_LISTEMPTY'/>
-      <ref name='XML_RELAXNG_ERR_LISTEXTRA'/>
-      <ref name='XML_RELAXNG_ERR_MEMORY'/>
-      <ref name='XML_RELAXNG_ERR_NODEFINE'/>
-      <ref name='XML_RELAXNG_ERR_NOELEM'/>
-      <ref name='XML_RELAXNG_ERR_NOGRAMMAR'/>
-      <ref name='XML_RELAXNG_ERR_NOSTATE'/>
-      <ref name='XML_RELAXNG_ERR_NOTELEM'/>
-      <ref name='XML_RELAXNG_ERR_TEXTWRONG'/>
-      <ref name='XML_RELAXNG_ERR_TYPE'/>
-      <ref name='XML_RELAXNG_ERR_TYPECMP'/>
-      <ref name='XML_RELAXNG_ERR_TYPEVAL'/>
-      <ref name='XML_RELAXNG_ERR_VALELEM'/>
-      <ref name='XML_RELAXNG_ERR_VALUE'/>
-      <ref name='XML_RELAXNG_OK'/>
-      <ref name='xmlRelaxNG'/>
-      <ref name='xmlRelaxNGCleanupTypes'/>
-      <ref name='xmlRelaxNGDump'/>
-      <ref name='xmlRelaxNGDumpTree'/>
-      <ref name='xmlRelaxNGFree'/>
-      <ref name='xmlRelaxNGFreeParserCtxt'/>
-      <ref name='xmlRelaxNGFreeValidCtxt'/>
-      <ref name='xmlRelaxNGGetParserErrors'/>
-      <ref name='xmlRelaxNGGetValidErrors'/>
-      <ref name='xmlRelaxNGInitTypes'/>
-      <ref name='xmlRelaxNGNewDocParserCtxt'/>
-      <ref name='xmlRelaxNGNewMemParserCtxt'/>
-      <ref name='xmlRelaxNGNewParserCtxt'/>
-      <ref name='xmlRelaxNGNewValidCtxt'/>
-      <ref name='xmlRelaxNGParse'/>
-      <ref name='xmlRelaxNGParserCtxt'/>
-      <ref name='xmlRelaxNGParserCtxtPtr'/>
-      <ref name='xmlRelaxNGParserFlag'/>
-      <ref name='xmlRelaxNGPtr'/>
-      <ref name='xmlRelaxNGSetParserErrors'/>
-      <ref name='xmlRelaxNGSetParserStructuredErrors'/>
-      <ref name='xmlRelaxNGSetValidErrors'/>
-      <ref name='xmlRelaxNGSetValidStructuredErrors'/>
-      <ref name='xmlRelaxNGValidCtxt'/>
-      <ref name='xmlRelaxNGValidCtxtPtr'/>
-      <ref name='xmlRelaxNGValidErr'/>
-      <ref name='xmlRelaxNGValidateDoc'/>
-      <ref name='xmlRelaxNGValidateFullElement'/>
-      <ref name='xmlRelaxNGValidatePopElement'/>
-      <ref name='xmlRelaxNGValidatePushCData'/>
-      <ref name='xmlRelaxNGValidatePushElement'/>
-      <ref name='xmlRelaxNGValidityErrorFunc'/>
-      <ref name='xmlRelaxNGValidityWarningFunc'/>
-      <ref name='xmlRelaxParserSetFlag'/>
-    </file>
-    <file name='schemasInternals'>
-      <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
-      <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
-      <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
-      <ref name='XML_SCHEMAS_ANYSIMPLETYPE'/>
-      <ref name='XML_SCHEMAS_ANYTYPE'/>
-      <ref name='XML_SCHEMAS_ANYURI'/>
-      <ref name='XML_SCHEMAS_ANY_LAX'/>
-      <ref name='XML_SCHEMAS_ANY_SKIP'/>
-      <ref name='XML_SCHEMAS_ANY_STRICT'/>
-      <ref name='XML_SCHEMAS_ATTRGROUP_GLOBAL'/>
-      <ref name='XML_SCHEMAS_ATTRGROUP_HAS_REFS'/>
-      <ref name='XML_SCHEMAS_ATTRGROUP_MARKED'/>
-      <ref name='XML_SCHEMAS_ATTRGROUP_REDEFINED'/>
-      <ref name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED'/>
-      <ref name='XML_SCHEMAS_ATTR_FIXED'/>
-      <ref name='XML_SCHEMAS_ATTR_GLOBAL'/>
-      <ref name='XML_SCHEMAS_ATTR_INTERNAL_RESOLVED'/>
-      <ref name='XML_SCHEMAS_ATTR_NSDEFAULT'/>
-      <ref name='XML_SCHEMAS_ATTR_USE_OPTIONAL'/>
-      <ref name='XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
-      <ref name='XML_SCHEMAS_ATTR_USE_REQUIRED'/>
-      <ref name='XML_SCHEMAS_BASE64BINARY'/>
-      <ref name='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION'/>
-      <ref name='XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION'/>
-      <ref name='XML_SCHEMAS_BOOLEAN'/>
-      <ref name='XML_SCHEMAS_BYTE'/>
-      <ref name='XML_SCHEMAS_DATE'/>
-      <ref name='XML_SCHEMAS_DATETIME'/>
-      <ref name='XML_SCHEMAS_DECIMAL'/>
-      <ref name='XML_SCHEMAS_DOUBLE'/>
-      <ref name='XML_SCHEMAS_DURATION'/>
-      <ref name='XML_SCHEMAS_ELEM_ABSTRACT'/>
-      <ref name='XML_SCHEMAS_ELEM_BLOCK_ABSENT'/>
-      <ref name='XML_SCHEMAS_ELEM_BLOCK_EXTENSION'/>
-      <ref name='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION'/>
-      <ref name='XML_SCHEMAS_ELEM_CIRCULAR'/>
-      <ref name='XML_SCHEMAS_ELEM_DEFAULT'/>
-      <ref name='XML_SCHEMAS_ELEM_FINAL_ABSENT'/>
-      <ref name='XML_SCHEMAS_ELEM_FINAL_EXTENSION'/>
-      <ref name='XML_SCHEMAS_ELEM_FINAL_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_ELEM_FIXED'/>
-      <ref name='XML_SCHEMAS_ELEM_GLOBAL'/>
-      <ref name='XML_SCHEMAS_ELEM_INTERNAL_CHECKED'/>
-      <ref name='XML_SCHEMAS_ELEM_INTERNAL_RESOLVED'/>
-      <ref name='XML_SCHEMAS_ELEM_NILLABLE'/>
-      <ref name='XML_SCHEMAS_ELEM_NSDEFAULT'/>
-      <ref name='XML_SCHEMAS_ELEM_REF'/>
-      <ref name='XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD'/>
-      <ref name='XML_SCHEMAS_ELEM_TOPLEVEL'/>
-      <ref name='XML_SCHEMAS_ENTITIES'/>
-      <ref name='XML_SCHEMAS_ENTITY'/>
-      <ref name='XML_SCHEMAS_FACET_COLLAPSE'/>
-      <ref name='XML_SCHEMAS_FACET_PRESERVE'/>
-      <ref name='XML_SCHEMAS_FACET_REPLACE'/>
-      <ref name='XML_SCHEMAS_FACET_UNKNOWN'/>
-      <ref name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION'/>
-      <ref name='XML_SCHEMAS_FINAL_DEFAULT_LIST'/>
-      <ref name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_FINAL_DEFAULT_UNION'/>
-      <ref name='XML_SCHEMAS_FLOAT'/>
-      <ref name='XML_SCHEMAS_GDAY'/>
-      <ref name='XML_SCHEMAS_GMONTH'/>
-      <ref name='XML_SCHEMAS_GMONTHDAY'/>
-      <ref name='XML_SCHEMAS_GYEAR'/>
-      <ref name='XML_SCHEMAS_GYEARMONTH'/>
-      <ref name='XML_SCHEMAS_HEXBINARY'/>
-      <ref name='XML_SCHEMAS_ID'/>
-      <ref name='XML_SCHEMAS_IDREF'/>
-      <ref name='XML_SCHEMAS_IDREFS'/>
-      <ref name='XML_SCHEMAS_INCLUDING_CONVERT_NS'/>
-      <ref name='XML_SCHEMAS_INT'/>
-      <ref name='XML_SCHEMAS_INTEGER'/>
-      <ref name='XML_SCHEMAS_LANGUAGE'/>
-      <ref name='XML_SCHEMAS_LONG'/>
-      <ref name='XML_SCHEMAS_NAME'/>
-      <ref name='XML_SCHEMAS_NCNAME'/>
-      <ref name='XML_SCHEMAS_NINTEGER'/>
-      <ref name='XML_SCHEMAS_NMTOKEN'/>
-      <ref name='XML_SCHEMAS_NMTOKENS'/>
-      <ref name='XML_SCHEMAS_NNINTEGER'/>
-      <ref name='XML_SCHEMAS_NORMSTRING'/>
-      <ref name='XML_SCHEMAS_NOTATION'/>
-      <ref name='XML_SCHEMAS_NPINTEGER'/>
-      <ref name='XML_SCHEMAS_PINTEGER'/>
-      <ref name='XML_SCHEMAS_QNAME'/>
-      <ref name='XML_SCHEMAS_QUALIF_ATTR'/>
-      <ref name='XML_SCHEMAS_QUALIF_ELEM'/>
-      <ref name='XML_SCHEMAS_SHORT'/>
-      <ref name='XML_SCHEMAS_STRING'/>
-      <ref name='XML_SCHEMAS_TIME'/>
-      <ref name='XML_SCHEMAS_TOKEN'/>
-      <ref name='XML_SCHEMAS_TYPE_ABSTRACT'/>
-      <ref name='XML_SCHEMAS_TYPE_BLOCK_DEFAULT'/>
-      <ref name='XML_SCHEMAS_TYPE_BLOCK_EXTENSION'/>
-      <ref name='XML_SCHEMAS_TYPE_BLOCK_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
-      <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
-      <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
-      <ref name='XML_SCHEMAS_TYPE_FINAL_DEFAULT'/>
-      <ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
-      <ref name='XML_SCHEMAS_TYPE_FINAL_LIST'/>
-      <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
-      <ref name='XML_SCHEMAS_TYPE_FINAL_UNION'/>
-      <ref name='XML_SCHEMAS_TYPE_FIXUP_1'/>
-      <ref name='XML_SCHEMAS_TYPE_GLOBAL'/>
-      <ref name='XML_SCHEMAS_TYPE_HAS_FACETS'/>
-      <ref name='XML_SCHEMAS_TYPE_INTERNAL_INVALID'/>
-      <ref name='XML_SCHEMAS_TYPE_INTERNAL_RESOLVED'/>
-      <ref name='XML_SCHEMAS_TYPE_MARKED'/>
-      <ref name='XML_SCHEMAS_TYPE_MIXED'/>
-      <ref name='XML_SCHEMAS_TYPE_NORMVALUENEEDED'/>
-      <ref name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/>
-      <ref name='XML_SCHEMAS_TYPE_REDEFINED'/>
-      <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-      <ref name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
-      <ref name='XML_SCHEMAS_TYPE_VARIETY_LIST'/>
-      <ref name='XML_SCHEMAS_TYPE_VARIETY_UNION'/>
-      <ref name='XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE'/>
-      <ref name='XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE'/>
-      <ref name='XML_SCHEMAS_TYPE_WHITESPACE_REPLACE'/>
-      <ref name='XML_SCHEMAS_UBYTE'/>
-      <ref name='XML_SCHEMAS_UINT'/>
-      <ref name='XML_SCHEMAS_ULONG'/>
-      <ref name='XML_SCHEMAS_UNKNOWN'/>
-      <ref name='XML_SCHEMAS_USHORT'/>
-      <ref name='XML_SCHEMAS_WILDCARD_COMPLETE'/>
-      <ref name='XML_SCHEMA_CONTENT_ANY'/>
-      <ref name='XML_SCHEMA_CONTENT_BASIC'/>
-      <ref name='XML_SCHEMA_CONTENT_ELEMENTS'/>
-      <ref name='XML_SCHEMA_CONTENT_EMPTY'/>
-      <ref name='XML_SCHEMA_CONTENT_MIXED'/>
-      <ref name='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS'/>
-      <ref name='XML_SCHEMA_CONTENT_SIMPLE'/>
-      <ref name='XML_SCHEMA_CONTENT_UNKNOWN'/>
-      <ref name='XML_SCHEMA_EXTRA_ATTR_USE_PROHIB'/>
-      <ref name='XML_SCHEMA_EXTRA_QNAMEREF'/>
-      <ref name='XML_SCHEMA_FACET_ENUMERATION'/>
-      <ref name='XML_SCHEMA_FACET_FRACTIONDIGITS'/>
-      <ref name='XML_SCHEMA_FACET_LENGTH'/>
-      <ref name='XML_SCHEMA_FACET_MAXEXCLUSIVE'/>
-      <ref name='XML_SCHEMA_FACET_MAXINCLUSIVE'/>
-      <ref name='XML_SCHEMA_FACET_MAXLENGTH'/>
-      <ref name='XML_SCHEMA_FACET_MINEXCLUSIVE'/>
-      <ref name='XML_SCHEMA_FACET_MININCLUSIVE'/>
-      <ref name='XML_SCHEMA_FACET_MINLENGTH'/>
-      <ref name='XML_SCHEMA_FACET_PATTERN'/>
-      <ref name='XML_SCHEMA_FACET_TOTALDIGITS'/>
-      <ref name='XML_SCHEMA_FACET_WHITESPACE'/>
-      <ref name='XML_SCHEMA_TYPE_ALL'/>
-      <ref name='XML_SCHEMA_TYPE_ANY'/>
-      <ref name='XML_SCHEMA_TYPE_ANY_ATTRIBUTE'/>
-      <ref name='XML_SCHEMA_TYPE_ATTRIBUTE'/>
-      <ref name='XML_SCHEMA_TYPE_ATTRIBUTEGROUP'/>
-      <ref name='XML_SCHEMA_TYPE_ATTRIBUTE_USE'/>
-      <ref name='XML_SCHEMA_TYPE_BASIC'/>
-      <ref name='XML_SCHEMA_TYPE_CHOICE'/>
-      <ref name='XML_SCHEMA_TYPE_COMPLEX'/>
-      <ref name='XML_SCHEMA_TYPE_COMPLEX_CONTENT'/>
-      <ref name='XML_SCHEMA_TYPE_ELEMENT'/>
-      <ref name='XML_SCHEMA_TYPE_EXTENSION'/>
-      <ref name='XML_SCHEMA_TYPE_FACET'/>
-      <ref name='XML_SCHEMA_TYPE_GROUP'/>
-      <ref name='XML_SCHEMA_TYPE_IDC_KEY'/>
-      <ref name='XML_SCHEMA_TYPE_IDC_KEYREF'/>
-      <ref name='XML_SCHEMA_TYPE_IDC_UNIQUE'/>
-      <ref name='XML_SCHEMA_TYPE_LIST'/>
-      <ref name='XML_SCHEMA_TYPE_NOTATION'/>
-      <ref name='XML_SCHEMA_TYPE_PARTICLE'/>
-      <ref name='XML_SCHEMA_TYPE_RESTRICTION'/>
-      <ref name='XML_SCHEMA_TYPE_SEQUENCE'/>
-      <ref name='XML_SCHEMA_TYPE_SIMPLE'/>
-      <ref name='XML_SCHEMA_TYPE_SIMPLE_CONTENT'/>
-      <ref name='XML_SCHEMA_TYPE_UNION'/>
-      <ref name='XML_SCHEMA_TYPE_UR'/>
-      <ref name='_xmlSchema'/>
-      <ref name='_xmlSchemaAnnot'/>
-      <ref name='_xmlSchemaAttribute'/>
-      <ref name='_xmlSchemaAttributeGroup'/>
-      <ref name='_xmlSchemaAttributeLink'/>
-      <ref name='_xmlSchemaElement'/>
-      <ref name='_xmlSchemaFacet'/>
-      <ref name='_xmlSchemaFacetLink'/>
-      <ref name='_xmlSchemaNotation'/>
-      <ref name='_xmlSchemaType'/>
-      <ref name='_xmlSchemaTypeLink'/>
-      <ref name='_xmlSchemaWildcard'/>
-      <ref name='_xmlSchemaWildcardNs'/>
-      <ref name='xmlSchemaAnnot'/>
-      <ref name='xmlSchemaAnnotPtr'/>
-      <ref name='xmlSchemaAttribute'/>
-      <ref name='xmlSchemaAttributeGroup'/>
-      <ref name='xmlSchemaAttributeGroupPtr'/>
-      <ref name='xmlSchemaAttributeLink'/>
-      <ref name='xmlSchemaAttributeLinkPtr'/>
-      <ref name='xmlSchemaAttributePtr'/>
-      <ref name='xmlSchemaContentType'/>
-      <ref name='xmlSchemaElement'/>
-      <ref name='xmlSchemaElementPtr'/>
-      <ref name='xmlSchemaFacet'/>
-      <ref name='xmlSchemaFacetLink'/>
-      <ref name='xmlSchemaFacetLinkPtr'/>
-      <ref name='xmlSchemaFacetPtr'/>
-      <ref name='xmlSchemaFreeType'/>
-      <ref name='xmlSchemaFreeWildcard'/>
-      <ref name='xmlSchemaNotation'/>
-      <ref name='xmlSchemaNotationPtr'/>
-      <ref name='xmlSchemaType'/>
-      <ref name='xmlSchemaTypeLink'/>
-      <ref name='xmlSchemaTypeLinkPtr'/>
-      <ref name='xmlSchemaTypePtr'/>
-      <ref name='xmlSchemaTypeType'/>
-      <ref name='xmlSchemaVal'/>
-      <ref name='xmlSchemaValPtr'/>
-      <ref name='xmlSchemaValType'/>
-      <ref name='xmlSchemaWildcard'/>
-      <ref name='xmlSchemaWildcardNs'/>
-      <ref name='xmlSchemaWildcardNsPtr'/>
-      <ref name='xmlSchemaWildcardPtr'/>
-    </file>
-    <file name='schematron'>
-      <ref name='XML_SCHEMATRON_OUT_BUFFER'/>
-      <ref name='XML_SCHEMATRON_OUT_ERROR'/>
-      <ref name='XML_SCHEMATRON_OUT_FILE'/>
-      <ref name='XML_SCHEMATRON_OUT_IO'/>
-      <ref name='XML_SCHEMATRON_OUT_QUIET'/>
-      <ref name='XML_SCHEMATRON_OUT_TEXT'/>
-      <ref name='XML_SCHEMATRON_OUT_XML'/>
-      <ref name='xmlSchematron'/>
-      <ref name='xmlSchematronFree'/>
-      <ref name='xmlSchematronFreeParserCtxt'/>
-      <ref name='xmlSchematronFreeValidCtxt'/>
-      <ref name='xmlSchematronNewDocParserCtxt'/>
-      <ref name='xmlSchematronNewMemParserCtxt'/>
-      <ref name='xmlSchematronNewParserCtxt'/>
-      <ref name='xmlSchematronNewValidCtxt'/>
-      <ref name='xmlSchematronParse'/>
-      <ref name='xmlSchematronParserCtxt'/>
-      <ref name='xmlSchematronParserCtxtPtr'/>
-      <ref name='xmlSchematronPtr'/>
-      <ref name='xmlSchematronSetValidStructuredErrors'/>
-      <ref name='xmlSchematronValidCtxt'/>
-      <ref name='xmlSchematronValidCtxtPtr'/>
-      <ref name='xmlSchematronValidOptions'/>
-      <ref name='xmlSchematronValidateDoc'/>
-      <ref name='xmlSchematronValidityErrorFunc'/>
-      <ref name='xmlSchematronValidityWarningFunc'/>
-    </file>
-    <file name='threads'>
-      <ref name='xmlCleanupThreads'/>
-      <ref name='xmlDllMain'/>
-      <ref name='xmlFreeMutex'/>
-      <ref name='xmlFreeRMutex'/>
-      <ref name='xmlGetGlobalState'/>
-      <ref name='xmlGetThreadId'/>
-      <ref name='xmlInitThreads'/>
-      <ref name='xmlIsMainThread'/>
-      <ref name='xmlLockLibrary'/>
-      <ref name='xmlMutex'/>
-      <ref name='xmlMutexLock'/>
-      <ref name='xmlMutexPtr'/>
-      <ref name='xmlMutexUnlock'/>
-      <ref name='xmlNewMutex'/>
-      <ref name='xmlNewRMutex'/>
-      <ref name='xmlRMutex'/>
-      <ref name='xmlRMutexLock'/>
-      <ref name='xmlRMutexPtr'/>
-      <ref name='xmlRMutexUnlock'/>
-      <ref name='xmlUnlockLibrary'/>
-    </file>
-    <file name='tree'>
-      <ref name='BASE_BUFFER_SIZE'/>
-      <ref name='LIBXML2_NEW_BUFFER'/>
-      <ref name='XML_ATTRIBUTE_CDATA'/>
-      <ref name='XML_ATTRIBUTE_DECL'/>
-      <ref name='XML_ATTRIBUTE_ENTITIES'/>
-      <ref name='XML_ATTRIBUTE_ENTITY'/>
-      <ref name='XML_ATTRIBUTE_ENUMERATION'/>
-      <ref name='XML_ATTRIBUTE_FIXED'/>
-      <ref name='XML_ATTRIBUTE_ID'/>
-      <ref name='XML_ATTRIBUTE_IDREF'/>
-      <ref name='XML_ATTRIBUTE_IDREFS'/>
-      <ref name='XML_ATTRIBUTE_IMPLIED'/>
-      <ref name='XML_ATTRIBUTE_NMTOKEN'/>
-      <ref name='XML_ATTRIBUTE_NMTOKENS'/>
-      <ref name='XML_ATTRIBUTE_NODE'/>
-      <ref name='XML_ATTRIBUTE_NONE'/>
-      <ref name='XML_ATTRIBUTE_NOTATION'/>
-      <ref name='XML_ATTRIBUTE_REQUIRED'/>
-      <ref name='XML_BUFFER_ALLOC_BOUNDED'/>
-      <ref name='XML_BUFFER_ALLOC_DOUBLEIT'/>
-      <ref name='XML_BUFFER_ALLOC_EXACT'/>
-      <ref name='XML_BUFFER_ALLOC_HYBRID'/>
-      <ref name='XML_BUFFER_ALLOC_IMMUTABLE'/>
-      <ref name='XML_BUFFER_ALLOC_IO'/>
-      <ref name='XML_CDATA_SECTION_NODE'/>
-      <ref name='XML_COMMENT_NODE'/>
-      <ref name='XML_DOCB_DOCUMENT_NODE'/>
-      <ref name='XML_DOCUMENT_FRAG_NODE'/>
-      <ref name='XML_DOCUMENT_NODE'/>
-      <ref name='XML_DOCUMENT_TYPE_NODE'/>
-      <ref name='XML_DOC_DTDVALID'/>
-      <ref name='XML_DOC_HTML'/>
-      <ref name='XML_DOC_INTERNAL'/>
-      <ref name='XML_DOC_NSVALID'/>
-      <ref name='XML_DOC_OLD10'/>
-      <ref name='XML_DOC_USERBUILT'/>
-      <ref name='XML_DOC_WELLFORMED'/>
-      <ref name='XML_DOC_XINCLUDE'/>
-      <ref name='XML_DTD_NODE'/>
-      <ref name='XML_ELEMENT_CONTENT_ELEMENT'/>
-      <ref name='XML_ELEMENT_CONTENT_MULT'/>
-      <ref name='XML_ELEMENT_CONTENT_ONCE'/>
-      <ref name='XML_ELEMENT_CONTENT_OPT'/>
-      <ref name='XML_ELEMENT_CONTENT_OR'/>
-      <ref name='XML_ELEMENT_CONTENT_PCDATA'/>
-      <ref name='XML_ELEMENT_CONTENT_PLUS'/>
-      <ref name='XML_ELEMENT_CONTENT_SEQ'/>
-      <ref name='XML_ELEMENT_DECL'/>
-      <ref name='XML_ELEMENT_NODE'/>
-      <ref name='XML_ELEMENT_TYPE_ANY'/>
-      <ref name='XML_ELEMENT_TYPE_ELEMENT'/>
-      <ref name='XML_ELEMENT_TYPE_EMPTY'/>
-      <ref name='XML_ELEMENT_TYPE_MIXED'/>
-      <ref name='XML_ELEMENT_TYPE_UNDEFINED'/>
-      <ref name='XML_ENTITY_DECL'/>
-      <ref name='XML_ENTITY_NODE'/>
-      <ref name='XML_ENTITY_REF_NODE'/>
-      <ref name='XML_GET_CONTENT'/>
-      <ref name='XML_GET_LINE'/>
-      <ref name='XML_HTML_DOCUMENT_NODE'/>
-      <ref name='XML_LOCAL_NAMESPACE'/>
-      <ref name='XML_NAMESPACE_DECL'/>
-      <ref name='XML_NOTATION_NODE'/>
-      <ref name='XML_PI_NODE'/>
-      <ref name='XML_TEXT_NODE'/>
-      <ref name='XML_XINCLUDE_END'/>
-      <ref name='XML_XINCLUDE_START'/>
-      <ref name='XML_XML_ID'/>
-      <ref name='XML_XML_NAMESPACE'/>
-      <ref name='_xmlAttr'/>
-      <ref name='_xmlAttribute'/>
-      <ref name='_xmlBuffer'/>
-      <ref name='_xmlDOMWrapCtxt'/>
-      <ref name='_xmlDoc'/>
-      <ref name='_xmlDtd'/>
-      <ref name='_xmlElement'/>
-      <ref name='_xmlElementContent'/>
-      <ref name='_xmlEnumeration'/>
-      <ref name='_xmlID'/>
-      <ref name='_xmlNode'/>
-      <ref name='_xmlNotation'/>
-      <ref name='_xmlNs'/>
-      <ref name='_xmlRef'/>
-      <ref name='xmlAddChild'/>
-      <ref name='xmlAddChildList'/>
-      <ref name='xmlAddNextSibling'/>
-      <ref name='xmlAddPrevSibling'/>
-      <ref name='xmlAddSibling'/>
-      <ref name='xmlAttr'/>
-      <ref name='xmlAttrPtr'/>
-      <ref name='xmlAttrSerializeTxtContent'/>
-      <ref name='xmlAttribute'/>
-      <ref name='xmlAttributeDefault'/>
-      <ref name='xmlAttributePtr'/>
-      <ref name='xmlAttributeType'/>
-      <ref name='xmlBuf'/>
-      <ref name='xmlBufContent'/>
-      <ref name='xmlBufEnd'/>
-      <ref name='xmlBufGetNodeContent'/>
-      <ref name='xmlBufNodeDump'/>
-      <ref name='xmlBufPtr'/>
-      <ref name='xmlBufShrink'/>
-      <ref name='xmlBufUse'/>
-      <ref name='xmlBuffer'/>
-      <ref name='xmlBufferAdd'/>
-      <ref name='xmlBufferAddHead'/>
-      <ref name='xmlBufferAllocationScheme'/>
-      <ref name='xmlBufferCCat'/>
-      <ref name='xmlBufferCat'/>
-      <ref name='xmlBufferContent'/>
-      <ref name='xmlBufferCreate'/>
-      <ref name='xmlBufferCreateSize'/>
-      <ref name='xmlBufferCreateStatic'/>
-      <ref name='xmlBufferDetach'/>
-      <ref name='xmlBufferDump'/>
-      <ref name='xmlBufferEmpty'/>
-      <ref name='xmlBufferFree'/>
-      <ref name='xmlBufferGrow'/>
-      <ref name='xmlBufferLength'/>
-      <ref name='xmlBufferPtr'/>
-      <ref name='xmlBufferResize'/>
-      <ref name='xmlBufferSetAllocationScheme'/>
-      <ref name='xmlBufferShrink'/>
-      <ref name='xmlBufferWriteCHAR'/>
-      <ref name='xmlBufferWriteChar'/>
-      <ref name='xmlBufferWriteQuotedString'/>
-      <ref name='xmlBuildQName'/>
-      <ref name='xmlChildElementCount'/>
-      <ref name='xmlChildrenNode'/>
-      <ref name='xmlCopyDoc'/>
-      <ref name='xmlCopyDtd'/>
-      <ref name='xmlCopyNamespace'/>
-      <ref name='xmlCopyNamespaceList'/>
-      <ref name='xmlCopyNode'/>
-      <ref name='xmlCopyNodeList'/>
-      <ref name='xmlCopyProp'/>
-      <ref name='xmlCopyPropList'/>
-      <ref name='xmlCreateIntSubset'/>
-      <ref name='xmlDOMWrapAcquireNsFunction'/>
-      <ref name='xmlDOMWrapAdoptNode'/>
-      <ref name='xmlDOMWrapCloneNode'/>
-      <ref name='xmlDOMWrapCtxt'/>
-      <ref name='xmlDOMWrapCtxtPtr'/>
-      <ref name='xmlDOMWrapFreeCtxt'/>
-      <ref name='xmlDOMWrapNewCtxt'/>
-      <ref name='xmlDOMWrapReconcileNamespaces'/>
-      <ref name='xmlDOMWrapRemoveNode'/>
-      <ref name='xmlDoc'/>
-      <ref name='xmlDocCopyNode'/>
-      <ref name='xmlDocCopyNodeList'/>
-      <ref name='xmlDocDump'/>
-      <ref name='xmlDocDumpFormatMemory'/>
-      <ref name='xmlDocDumpFormatMemoryEnc'/>
-      <ref name='xmlDocDumpMemory'/>
-      <ref name='xmlDocDumpMemoryEnc'/>
-      <ref name='xmlDocFormatDump'/>
-      <ref name='xmlDocGetRootElement'/>
-      <ref name='xmlDocProperties'/>
-      <ref name='xmlDocPtr'/>
-      <ref name='xmlDocSetRootElement'/>
-      <ref name='xmlDtd'/>
-      <ref name='xmlDtdPtr'/>
-      <ref name='xmlElemDump'/>
-      <ref name='xmlElement'/>
-      <ref name='xmlElementContent'/>
-      <ref name='xmlElementContentOccur'/>
-      <ref name='xmlElementContentPtr'/>
-      <ref name='xmlElementContentType'/>
-      <ref name='xmlElementPtr'/>
-      <ref name='xmlElementType'/>
-      <ref name='xmlElementTypeVal'/>
-      <ref name='xmlEntity'/>
-      <ref name='xmlEntityPtr'/>
-      <ref name='xmlEnumeration'/>
-      <ref name='xmlEnumerationPtr'/>
-      <ref name='xmlFirstElementChild'/>
-      <ref name='xmlFreeDoc'/>
-      <ref name='xmlFreeDtd'/>
-      <ref name='xmlFreeNode'/>
-      <ref name='xmlFreeNodeList'/>
-      <ref name='xmlFreeNs'/>
-      <ref name='xmlFreeNsList'/>
-      <ref name='xmlFreeProp'/>
-      <ref name='xmlFreePropList'/>
-      <ref name='xmlGetBufferAllocationScheme'/>
-      <ref name='xmlGetCompressMode'/>
-      <ref name='xmlGetDocCompressMode'/>
-      <ref name='xmlGetIntSubset'/>
-      <ref name='xmlGetLastChild'/>
-      <ref name='xmlGetLineNo'/>
-      <ref name='xmlGetNoNsProp'/>
-      <ref name='xmlGetNodePath'/>
-      <ref name='xmlGetNsList'/>
-      <ref name='xmlGetNsProp'/>
-      <ref name='xmlGetProp'/>
-      <ref name='xmlHasNsProp'/>
-      <ref name='xmlHasProp'/>
-      <ref name='xmlID'/>
-      <ref name='xmlIDPtr'/>
-      <ref name='xmlIsBlankNode'/>
-      <ref name='xmlIsXHTML'/>
-      <ref name='xmlLastElementChild'/>
-      <ref name='xmlNewCDataBlock'/>
-      <ref name='xmlNewCharRef'/>
-      <ref name='xmlNewChild'/>
-      <ref name='xmlNewComment'/>
-      <ref name='xmlNewDoc'/>
-      <ref name='xmlNewDocComment'/>
-      <ref name='xmlNewDocFragment'/>
-      <ref name='xmlNewDocNode'/>
-      <ref name='xmlNewDocNodeEatName'/>
-      <ref name='xmlNewDocPI'/>
-      <ref name='xmlNewDocProp'/>
-      <ref name='xmlNewDocRawNode'/>
-      <ref name='xmlNewDocText'/>
-      <ref name='xmlNewDocTextLen'/>
-      <ref name='xmlNewDtd'/>
-      <ref name='xmlNewGlobalNs'/>
-      <ref name='xmlNewNode'/>
-      <ref name='xmlNewNodeEatName'/>
-      <ref name='xmlNewNs'/>
-      <ref name='xmlNewNsProp'/>
-      <ref name='xmlNewNsPropEatName'/>
-      <ref name='xmlNewPI'/>
-      <ref name='xmlNewProp'/>
-      <ref name='xmlNewReference'/>
-      <ref name='xmlNewText'/>
-      <ref name='xmlNewTextChild'/>
-      <ref name='xmlNewTextLen'/>
-      <ref name='xmlNextElementSibling'/>
-      <ref name='xmlNode'/>
-      <ref name='xmlNodeAddContent'/>
-      <ref name='xmlNodeAddContentLen'/>
-      <ref name='xmlNodeBufGetContent'/>
-      <ref name='xmlNodeDump'/>
-      <ref name='xmlNodeDumpOutput'/>
-      <ref name='xmlNodeGetBase'/>
-      <ref name='xmlNodeGetContent'/>
-      <ref name='xmlNodeGetLang'/>
-      <ref name='xmlNodeGetSpacePreserve'/>
-      <ref name='xmlNodeIsText'/>
-      <ref name='xmlNodeListGetRawString'/>
-      <ref name='xmlNodeListGetString'/>
-      <ref name='xmlNodePtr'/>
-      <ref name='xmlNodeSetBase'/>
-      <ref name='xmlNodeSetContent'/>
-      <ref name='xmlNodeSetContentLen'/>
-      <ref name='xmlNodeSetLang'/>
-      <ref name='xmlNodeSetName'/>
-      <ref name='xmlNodeSetSpacePreserve'/>
-      <ref name='xmlNotation'/>
-      <ref name='xmlNotationPtr'/>
-      <ref name='xmlNs'/>
-      <ref name='xmlNsPtr'/>
-      <ref name='xmlNsType'/>
-      <ref name='xmlOutputBuffer'/>
-      <ref name='xmlOutputBufferPtr'/>
-      <ref name='xmlParserCtxt'/>
-      <ref name='xmlParserCtxtPtr'/>
-      <ref name='xmlParserInput'/>
-      <ref name='xmlParserInputBuffer'/>
-      <ref name='xmlParserInputBufferPtr'/>
-      <ref name='xmlParserInputPtr'/>
-      <ref name='xmlPreviousElementSibling'/>
-      <ref name='xmlReconciliateNs'/>
-      <ref name='xmlRef'/>
-      <ref name='xmlRefPtr'/>
-      <ref name='xmlRemoveProp'/>
-      <ref name='xmlReplaceNode'/>
-      <ref name='xmlRootNode'/>
-      <ref name='xmlSAXHandler'/>
-      <ref name='xmlSAXHandlerPtr'/>
-      <ref name='xmlSAXLocator'/>
-      <ref name='xmlSAXLocatorPtr'/>
-      <ref name='xmlSaveFile'/>
-      <ref name='xmlSaveFileEnc'/>
-      <ref name='xmlSaveFileTo'/>
-      <ref name='xmlSaveFormatFile'/>
-      <ref name='xmlSaveFormatFileEnc'/>
-      <ref name='xmlSaveFormatFileTo'/>
-      <ref name='xmlSearchNs'/>
-      <ref name='xmlSearchNsByHref'/>
-      <ref name='xmlSetBufferAllocationScheme'/>
-      <ref name='xmlSetCompressMode'/>
-      <ref name='xmlSetDocCompressMode'/>
-      <ref name='xmlSetListDoc'/>
-      <ref name='xmlSetNs'/>
-      <ref name='xmlSetNsProp'/>
-      <ref name='xmlSetProp'/>
-      <ref name='xmlSetTreeDoc'/>
-      <ref name='xmlSplitQName2'/>
-      <ref name='xmlSplitQName3'/>
-      <ref name='xmlStringGetNodeList'/>
-      <ref name='xmlStringLenGetNodeList'/>
-      <ref name='xmlTextConcat'/>
-      <ref name='xmlTextMerge'/>
-      <ref name='xmlUnlinkNode'/>
-      <ref name='xmlUnsetNsProp'/>
-      <ref name='xmlUnsetProp'/>
-      <ref name='xmlValidateNCName'/>
-      <ref name='xmlValidateNMToken'/>
-      <ref name='xmlValidateName'/>
-      <ref name='xmlValidateQName'/>
-    </file>
-    <file name='uri'>
-      <ref name='_xmlURI'/>
-      <ref name='xmlBuildRelativeURI'/>
-      <ref name='xmlBuildURI'/>
-      <ref name='xmlCanonicPath'/>
-      <ref name='xmlCreateURI'/>
-      <ref name='xmlFreeURI'/>
-      <ref name='xmlNormalizeURIPath'/>
-      <ref name='xmlParseURI'/>
-      <ref name='xmlParseURIRaw'/>
-      <ref name='xmlParseURIReference'/>
-      <ref name='xmlPathToURI'/>
-      <ref name='xmlPrintURI'/>
-      <ref name='xmlSaveUri'/>
-      <ref name='xmlURI'/>
-      <ref name='xmlURIEscape'/>
-      <ref name='xmlURIEscapeStr'/>
-      <ref name='xmlURIPtr'/>
-      <ref name='xmlURIUnescapeString'/>
-    </file>
-    <file name='valid'>
-      <ref name='XML_CTXT_FINISH_DTD_0'/>
-      <ref name='XML_CTXT_FINISH_DTD_1'/>
-      <ref name='_xmlValidCtxt'/>
-      <ref name='xmlAddAttributeDecl'/>
-      <ref name='xmlAddElementDecl'/>
-      <ref name='xmlAddID'/>
-      <ref name='xmlAddNotationDecl'/>
-      <ref name='xmlAddRef'/>
-      <ref name='xmlAttributeTable'/>
-      <ref name='xmlAttributeTablePtr'/>
-      <ref name='xmlCopyAttributeTable'/>
-      <ref name='xmlCopyDocElementContent'/>
-      <ref name='xmlCopyElementContent'/>
-      <ref name='xmlCopyElementTable'/>
-      <ref name='xmlCopyEnumeration'/>
-      <ref name='xmlCopyNotationTable'/>
-      <ref name='xmlCreateEnumeration'/>
-      <ref name='xmlDumpAttributeDecl'/>
-      <ref name='xmlDumpAttributeTable'/>
-      <ref name='xmlDumpElementDecl'/>
-      <ref name='xmlDumpElementTable'/>
-      <ref name='xmlDumpNotationDecl'/>
-      <ref name='xmlDumpNotationTable'/>
-      <ref name='xmlElementTable'/>
-      <ref name='xmlElementTablePtr'/>
-      <ref name='xmlFreeAttributeTable'/>
-      <ref name='xmlFreeDocElementContent'/>
-      <ref name='xmlFreeElementContent'/>
-      <ref name='xmlFreeElementTable'/>
-      <ref name='xmlFreeEnumeration'/>
-      <ref name='xmlFreeIDTable'/>
-      <ref name='xmlFreeNotationTable'/>
-      <ref name='xmlFreeRefTable'/>
-      <ref name='xmlFreeValidCtxt'/>
-      <ref name='xmlGetDtdAttrDesc'/>
-      <ref name='xmlGetDtdElementDesc'/>
-      <ref name='xmlGetDtdNotationDesc'/>
-      <ref name='xmlGetDtdQAttrDesc'/>
-      <ref name='xmlGetDtdQElementDesc'/>
-      <ref name='xmlGetID'/>
-      <ref name='xmlGetRefs'/>
-      <ref name='xmlIDTable'/>
-      <ref name='xmlIDTablePtr'/>
-      <ref name='xmlIsID'/>
-      <ref name='xmlIsMixedElement'/>
-      <ref name='xmlIsRef'/>
-      <ref name='xmlNewDocElementContent'/>
-      <ref name='xmlNewElementContent'/>
-      <ref name='xmlNewValidCtxt'/>
-      <ref name='xmlNotationTable'/>
-      <ref name='xmlNotationTablePtr'/>
-      <ref name='xmlRefTable'/>
-      <ref name='xmlRefTablePtr'/>
-      <ref name='xmlRemoveID'/>
-      <ref name='xmlRemoveRef'/>
-      <ref name='xmlSnprintfElementContent'/>
-      <ref name='xmlSprintfElementContent'/>
-      <ref name='xmlValidBuildContentModel'/>
-      <ref name='xmlValidCtxt'/>
-      <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-      <ref name='xmlValidCtxtPtr'/>
-      <ref name='xmlValidGetPotentialChildren'/>
-      <ref name='xmlValidGetValidElements'/>
-      <ref name='xmlValidNormalizeAttributeValue'/>
-      <ref name='xmlValidState'/>
-      <ref name='xmlValidStatePtr'/>
-      <ref name='xmlValidateAttributeDecl'/>
-      <ref name='xmlValidateAttributeValue'/>
-      <ref name='xmlValidateDocument'/>
-      <ref name='xmlValidateDocumentFinal'/>
-      <ref name='xmlValidateDtd'/>
-      <ref name='xmlValidateDtdFinal'/>
-      <ref name='xmlValidateElement'/>
-      <ref name='xmlValidateElementDecl'/>
-      <ref name='xmlValidateNameValue'/>
-      <ref name='xmlValidateNamesValue'/>
-      <ref name='xmlValidateNmtokenValue'/>
-      <ref name='xmlValidateNmtokensValue'/>
-      <ref name='xmlValidateNotationDecl'/>
-      <ref name='xmlValidateNotationUse'/>
-      <ref name='xmlValidateOneAttribute'/>
-      <ref name='xmlValidateOneElement'/>
-      <ref name='xmlValidateOneNamespace'/>
-      <ref name='xmlValidatePopElement'/>
-      <ref name='xmlValidatePushCData'/>
-      <ref name='xmlValidatePushElement'/>
-      <ref name='xmlValidateRoot'/>
-      <ref name='xmlValidityErrorFunc'/>
-      <ref name='xmlValidityWarningFunc'/>
-    </file>
-    <file name='xinclude'>
-      <ref name='XINCLUDE_FALLBACK'/>
-      <ref name='XINCLUDE_HREF'/>
-      <ref name='XINCLUDE_NODE'/>
-      <ref name='XINCLUDE_NS'/>
-      <ref name='XINCLUDE_OLD_NS'/>
-      <ref name='XINCLUDE_PARSE'/>
-      <ref name='XINCLUDE_PARSE_ENCODING'/>
-      <ref name='XINCLUDE_PARSE_TEXT'/>
-      <ref name='XINCLUDE_PARSE_XML'/>
-      <ref name='XINCLUDE_PARSE_XPOINTER'/>
-      <ref name='xmlXIncludeCtxt'/>
-      <ref name='xmlXIncludeCtxtPtr'/>
-      <ref name='xmlXIncludeFreeContext'/>
-      <ref name='xmlXIncludeNewContext'/>
-      <ref name='xmlXIncludeProcess'/>
-      <ref name='xmlXIncludeProcessFlags'/>
-      <ref name='xmlXIncludeProcessFlagsData'/>
-      <ref name='xmlXIncludeProcessNode'/>
-      <ref name='xmlXIncludeProcessTree'/>
-      <ref name='xmlXIncludeProcessTreeFlags'/>
-      <ref name='xmlXIncludeProcessTreeFlagsData'/>
-      <ref name='xmlXIncludeSetFlags'/>
-    </file>
-    <file name='xlink'>
-      <ref name='XLINK_ACTUATE_AUTO'/>
-      <ref name='XLINK_ACTUATE_NONE'/>
-      <ref name='XLINK_ACTUATE_ONREQUEST'/>
-      <ref name='XLINK_SHOW_EMBED'/>
-      <ref name='XLINK_SHOW_NEW'/>
-      <ref name='XLINK_SHOW_NONE'/>
-      <ref name='XLINK_SHOW_REPLACE'/>
-      <ref name='XLINK_TYPE_EXTENDED'/>
-      <ref name='XLINK_TYPE_EXTENDED_SET'/>
-      <ref name='XLINK_TYPE_NONE'/>
-      <ref name='XLINK_TYPE_SIMPLE'/>
-      <ref name='_xlinkHandler'/>
-      <ref name='xlinkActuate'/>
-      <ref name='xlinkExtendedLinkFunk'/>
-      <ref name='xlinkExtendedLinkSetFunk'/>
-      <ref name='xlinkGetDefaultDetect'/>
-      <ref name='xlinkGetDefaultHandler'/>
-      <ref name='xlinkHRef'/>
-      <ref name='xlinkHandler'/>
-      <ref name='xlinkHandlerPtr'/>
-      <ref name='xlinkIsLink'/>
-      <ref name='xlinkNodeDetectFunc'/>
-      <ref name='xlinkRole'/>
-      <ref name='xlinkSetDefaultDetect'/>
-      <ref name='xlinkSetDefaultHandler'/>
-      <ref name='xlinkShow'/>
-      <ref name='xlinkSimpleLinkFunk'/>
-      <ref name='xlinkTitle'/>
-      <ref name='xlinkType'/>
-    </file>
-    <file name='xmlIO'>
-      <ref name='_xmlOutputBuffer'/>
-      <ref name='_xmlParserInputBuffer'/>
-      <ref name='xmlAllocOutputBuffer'/>
-      <ref name='xmlAllocParserInputBuffer'/>
-      <ref name='xmlCheckFilename'/>
-      <ref name='xmlCheckHTTPInput'/>
-      <ref name='xmlCleanupInputCallbacks'/>
-      <ref name='xmlCleanupOutputCallbacks'/>
-      <ref name='xmlFileClose'/>
-      <ref name='xmlFileMatch'/>
-      <ref name='xmlFileOpen'/>
-      <ref name='xmlFileRead'/>
-      <ref name='xmlFreeParserInputBuffer'/>
-      <ref name='xmlIOFTPClose'/>
-      <ref name='xmlIOFTPMatch'/>
-      <ref name='xmlIOFTPOpen'/>
-      <ref name='xmlIOFTPRead'/>
-      <ref name='xmlIOHTTPClose'/>
-      <ref name='xmlIOHTTPMatch'/>
-      <ref name='xmlIOHTTPOpen'/>
-      <ref name='xmlIOHTTPOpenW'/>
-      <ref name='xmlIOHTTPRead'/>
-      <ref name='xmlInputCloseCallback'/>
-      <ref name='xmlInputMatchCallback'/>
-      <ref name='xmlInputOpenCallback'/>
-      <ref name='xmlInputReadCallback'/>
-      <ref name='xmlNoNetExternalEntityLoader'/>
-      <ref name='xmlNormalizeWindowsPath'/>
-      <ref name='xmlOutputBufferClose'/>
-      <ref name='xmlOutputBufferCreateBuffer'/>
-      <ref name='xmlOutputBufferCreateFd'/>
-      <ref name='xmlOutputBufferCreateFile'/>
-      <ref name='xmlOutputBufferCreateFilename'/>
-      <ref name='xmlOutputBufferCreateIO'/>
-      <ref name='xmlOutputBufferFlush'/>
-      <ref name='xmlOutputBufferGetContent'/>
-      <ref name='xmlOutputBufferGetSize'/>
-      <ref name='xmlOutputBufferWrite'/>
-      <ref name='xmlOutputBufferWriteEscape'/>
-      <ref name='xmlOutputBufferWriteString'/>
-      <ref name='xmlOutputCloseCallback'/>
-      <ref name='xmlOutputMatchCallback'/>
-      <ref name='xmlOutputOpenCallback'/>
-      <ref name='xmlOutputWriteCallback'/>
-      <ref name='xmlParserGetDirectory'/>
-      <ref name='xmlParserInputBufferCreateFd'/>
-      <ref name='xmlParserInputBufferCreateFile'/>
-      <ref name='xmlParserInputBufferCreateFilename'/>
-      <ref name='xmlParserInputBufferCreateIO'/>
-      <ref name='xmlParserInputBufferCreateMem'/>
-      <ref name='xmlParserInputBufferCreateStatic'/>
-      <ref name='xmlParserInputBufferGrow'/>
-      <ref name='xmlParserInputBufferPush'/>
-      <ref name='xmlParserInputBufferRead'/>
-      <ref name='xmlPopInputCallbacks'/>
-      <ref name='xmlPopOutputCallbacks'/>
-      <ref name='xmlRegisterDefaultInputCallbacks'/>
-      <ref name='xmlRegisterDefaultOutputCallbacks'/>
-      <ref name='xmlRegisterHTTPPostCallbacks'/>
-      <ref name='xmlRegisterInputCallbacks'/>
-      <ref name='xmlRegisterOutputCallbacks'/>
-    </file>
-    <file name='xmlautomata'>
-      <ref name='xmlAutomata'/>
-      <ref name='xmlAutomataCompile'/>
-      <ref name='xmlAutomataGetInitState'/>
-      <ref name='xmlAutomataIsDeterminist'/>
-      <ref name='xmlAutomataNewAllTrans'/>
-      <ref name='xmlAutomataNewCountTrans'/>
-      <ref name='xmlAutomataNewCountTrans2'/>
-      <ref name='xmlAutomataNewCountedTrans'/>
-      <ref name='xmlAutomataNewCounter'/>
-      <ref name='xmlAutomataNewCounterTrans'/>
-      <ref name='xmlAutomataNewEpsilon'/>
-      <ref name='xmlAutomataNewNegTrans'/>
-      <ref name='xmlAutomataNewOnceTrans'/>
-      <ref name='xmlAutomataNewOnceTrans2'/>
-      <ref name='xmlAutomataNewState'/>
-      <ref name='xmlAutomataNewTransition'/>
-      <ref name='xmlAutomataNewTransition2'/>
-      <ref name='xmlAutomataPtr'/>
-      <ref name='xmlAutomataSetFinalState'/>
-      <ref name='xmlAutomataState'/>
-      <ref name='xmlAutomataStatePtr'/>
-      <ref name='xmlFreeAutomata'/>
-      <ref name='xmlNewAutomata'/>
-    </file>
-    <file name='xmlerror'>
-      <ref name='XML_BUF_OVERFLOW'/>
-      <ref name='XML_C14N_CREATE_CTXT'/>
-      <ref name='XML_C14N_CREATE_STACK'/>
-      <ref name='XML_C14N_INVALID_NODE'/>
-      <ref name='XML_C14N_RELATIVE_NAMESPACE'/>
-      <ref name='XML_C14N_REQUIRES_UTF8'/>
-      <ref name='XML_C14N_UNKNOW_NODE'/>
-      <ref name='XML_CATALOG_ENTRY_BROKEN'/>
-      <ref name='XML_CATALOG_MISSING_ATTR'/>
-      <ref name='XML_CATALOG_NOT_CATALOG'/>
-      <ref name='XML_CATALOG_PREFER_VALUE'/>
-      <ref name='XML_CATALOG_RECURSION'/>
-      <ref name='XML_CHECK_ENTITY_TYPE'/>
-      <ref name='XML_CHECK_FOUND_ATTRIBUTE'/>
-      <ref name='XML_CHECK_FOUND_CDATA'/>
-      <ref name='XML_CHECK_FOUND_COMMENT'/>
-      <ref name='XML_CHECK_FOUND_DOCTYPE'/>
-      <ref name='XML_CHECK_FOUND_ELEMENT'/>
-      <ref name='XML_CHECK_FOUND_ENTITY'/>
-      <ref name='XML_CHECK_FOUND_ENTITYREF'/>
-      <ref name='XML_CHECK_FOUND_FRAGMENT'/>
-      <ref name='XML_CHECK_FOUND_NOTATION'/>
-      <ref name='XML_CHECK_FOUND_PI'/>
-      <ref name='XML_CHECK_FOUND_TEXT'/>
-      <ref name='XML_CHECK_NAME_NOT_NULL'/>
-      <ref name='XML_CHECK_NOT_ATTR'/>
-      <ref name='XML_CHECK_NOT_ATTR_DECL'/>
-      <ref name='XML_CHECK_NOT_DTD'/>
-      <ref name='XML_CHECK_NOT_ELEM_DECL'/>
-      <ref name='XML_CHECK_NOT_ENTITY_DECL'/>
-      <ref name='XML_CHECK_NOT_NCNAME'/>
-      <ref name='XML_CHECK_NOT_NS_DECL'/>
-      <ref name='XML_CHECK_NOT_UTF8'/>
-      <ref name='XML_CHECK_NO_DICT'/>
-      <ref name='XML_CHECK_NO_DOC'/>
-      <ref name='XML_CHECK_NO_ELEM'/>
-      <ref name='XML_CHECK_NO_HREF'/>
-      <ref name='XML_CHECK_NO_NAME'/>
-      <ref name='XML_CHECK_NO_NEXT'/>
-      <ref name='XML_CHECK_NO_PARENT'/>
-      <ref name='XML_CHECK_NO_PREV'/>
-      <ref name='XML_CHECK_NS_ANCESTOR'/>
-      <ref name='XML_CHECK_NS_SCOPE'/>
-      <ref name='XML_CHECK_OUTSIDE_DICT'/>
-      <ref name='XML_CHECK_UNKNOWN_NODE'/>
-      <ref name='XML_CHECK_WRONG_DOC'/>
-      <ref name='XML_CHECK_WRONG_NAME'/>
-      <ref name='XML_CHECK_WRONG_NEXT'/>
-      <ref name='XML_CHECK_WRONG_PARENT'/>
-      <ref name='XML_CHECK_WRONG_PREV'/>
-      <ref name='XML_DTD_ATTRIBUTE_DEFAULT'/>
-      <ref name='XML_DTD_ATTRIBUTE_REDEFINED'/>
-      <ref name='XML_DTD_ATTRIBUTE_VALUE'/>
-      <ref name='XML_DTD_CONTENT_ERROR'/>
-      <ref name='XML_DTD_CONTENT_MODEL'/>
-      <ref name='XML_DTD_CONTENT_NOT_DETERMINIST'/>
-      <ref name='XML_DTD_DIFFERENT_PREFIX'/>
-      <ref name='XML_DTD_DUP_TOKEN'/>
-      <ref name='XML_DTD_ELEM_DEFAULT_NAMESPACE'/>
-      <ref name='XML_DTD_ELEM_NAMESPACE'/>
-      <ref name='XML_DTD_ELEM_REDEFINED'/>
-      <ref name='XML_DTD_EMPTY_NOTATION'/>
-      <ref name='XML_DTD_ENTITY_TYPE'/>
-      <ref name='XML_DTD_ID_FIXED'/>
-      <ref name='XML_DTD_ID_REDEFINED'/>
-      <ref name='XML_DTD_ID_SUBSET'/>
-      <ref name='XML_DTD_INVALID_CHILD'/>
-      <ref name='XML_DTD_INVALID_DEFAULT'/>
-      <ref name='XML_DTD_LOAD_ERROR'/>
-      <ref name='XML_DTD_MISSING_ATTRIBUTE'/>
-      <ref name='XML_DTD_MIXED_CORRUPT'/>
-      <ref name='XML_DTD_MULTIPLE_ID'/>
-      <ref name='XML_DTD_NOTATION_REDEFINED'/>
-      <ref name='XML_DTD_NOTATION_VALUE'/>
-      <ref name='XML_DTD_NOT_EMPTY'/>
-      <ref name='XML_DTD_NOT_PCDATA'/>
-      <ref name='XML_DTD_NOT_STANDALONE'/>
-      <ref name='XML_DTD_NO_DOC'/>
-      <ref name='XML_DTD_NO_DTD'/>
-      <ref name='XML_DTD_NO_ELEM_NAME'/>
-      <ref name='XML_DTD_NO_PREFIX'/>
-      <ref name='XML_DTD_NO_ROOT'/>
-      <ref name='XML_DTD_ROOT_NAME'/>
-      <ref name='XML_DTD_STANDALONE_DEFAULTED'/>
-      <ref name='XML_DTD_STANDALONE_WHITE_SPACE'/>
-      <ref name='XML_DTD_UNKNOWN_ATTRIBUTE'/>
-      <ref name='XML_DTD_UNKNOWN_ELEM'/>
-      <ref name='XML_DTD_UNKNOWN_ENTITY'/>
-      <ref name='XML_DTD_UNKNOWN_ID'/>
-      <ref name='XML_DTD_UNKNOWN_NOTATION'/>
-      <ref name='XML_DTD_XMLID_TYPE'/>
-      <ref name='XML_DTD_XMLID_VALUE'/>
-      <ref name='XML_ERR_ATTLIST_NOT_FINISHED'/>
-      <ref name='XML_ERR_ATTLIST_NOT_STARTED'/>
-      <ref name='XML_ERR_ATTRIBUTE_NOT_FINISHED'/>
-      <ref name='XML_ERR_ATTRIBUTE_NOT_STARTED'/>
-      <ref name='XML_ERR_ATTRIBUTE_REDEFINED'/>
-      <ref name='XML_ERR_ATTRIBUTE_WITHOUT_VALUE'/>
-      <ref name='XML_ERR_CDATA_NOT_FINISHED'/>
-      <ref name='XML_ERR_CHARREF_AT_EOF'/>
-      <ref name='XML_ERR_CHARREF_IN_DTD'/>
-      <ref name='XML_ERR_CHARREF_IN_EPILOG'/>
-      <ref name='XML_ERR_CHARREF_IN_PROLOG'/>
-      <ref name='XML_ERR_COMMENT_NOT_FINISHED'/>
-      <ref name='XML_ERR_CONDSEC_INVALID'/>
-      <ref name='XML_ERR_CONDSEC_INVALID_KEYWORD'/>
-      <ref name='XML_ERR_CONDSEC_NOT_FINISHED'/>
-      <ref name='XML_ERR_CONDSEC_NOT_STARTED'/>
-      <ref name='XML_ERR_DOCTYPE_NOT_FINISHED'/>
-      <ref name='XML_ERR_DOCUMENT_EMPTY'/>
-      <ref name='XML_ERR_DOCUMENT_END'/>
-      <ref name='XML_ERR_DOCUMENT_START'/>
-      <ref name='XML_ERR_ELEMCONTENT_NOT_FINISHED'/>
-      <ref name='XML_ERR_ELEMCONTENT_NOT_STARTED'/>
-      <ref name='XML_ERR_ENCODING_NAME'/>
-      <ref name='XML_ERR_ENTITYREF_AT_EOF'/>
-      <ref name='XML_ERR_ENTITYREF_IN_DTD'/>
-      <ref name='XML_ERR_ENTITYREF_IN_EPILOG'/>
-      <ref name='XML_ERR_ENTITYREF_IN_PROLOG'/>
-      <ref name='XML_ERR_ENTITYREF_NO_NAME'/>
-      <ref name='XML_ERR_ENTITYREF_SEMICOL_MISSING'/>
-      <ref name='XML_ERR_ENTITY_BOUNDARY'/>
-      <ref name='XML_ERR_ENTITY_CHAR_ERROR'/>
-      <ref name='XML_ERR_ENTITY_IS_EXTERNAL'/>
-      <ref name='XML_ERR_ENTITY_IS_PARAMETER'/>
-      <ref name='XML_ERR_ENTITY_LOOP'/>
-      <ref name='XML_ERR_ENTITY_NOT_FINISHED'/>
-      <ref name='XML_ERR_ENTITY_NOT_STARTED'/>
-      <ref name='XML_ERR_ENTITY_PE_INTERNAL'/>
-      <ref name='XML_ERR_ENTITY_PROCESSING'/>
-      <ref name='XML_ERR_EQUAL_REQUIRED'/>
-      <ref name='XML_ERR_ERROR'/>
-      <ref name='XML_ERR_EXTRA_CONTENT'/>
-      <ref name='XML_ERR_EXT_ENTITY_STANDALONE'/>
-      <ref name='XML_ERR_EXT_SUBSET_NOT_FINISHED'/>
-      <ref name='XML_ERR_FATAL'/>
-      <ref name='XML_ERR_GT_REQUIRED'/>
-      <ref name='XML_ERR_HYPHEN_IN_COMMENT'/>
-      <ref name='XML_ERR_INTERNAL_ERROR'/>
-      <ref name='XML_ERR_INVALID_CHAR'/>
-      <ref name='XML_ERR_INVALID_CHARREF'/>
-      <ref name='XML_ERR_INVALID_DEC_CHARREF'/>
-      <ref name='XML_ERR_INVALID_ENCODING'/>
-      <ref name='XML_ERR_INVALID_HEX_CHARREF'/>
-      <ref name='XML_ERR_INVALID_URI'/>
-      <ref name='XML_ERR_LITERAL_NOT_FINISHED'/>
-      <ref name='XML_ERR_LITERAL_NOT_STARTED'/>
-      <ref name='XML_ERR_LTSLASH_REQUIRED'/>
-      <ref name='XML_ERR_LT_IN_ATTRIBUTE'/>
-      <ref name='XML_ERR_LT_REQUIRED'/>
-      <ref name='XML_ERR_MISPLACED_CDATA_END'/>
-      <ref name='XML_ERR_MISSING_ENCODING'/>
-      <ref name='XML_ERR_MIXED_NOT_FINISHED'/>
-      <ref name='XML_ERR_MIXED_NOT_STARTED'/>
-      <ref name='XML_ERR_NAME_REQUIRED'/>
-      <ref name='XML_ERR_NAME_TOO_LONG'/>
-      <ref name='XML_ERR_NMTOKEN_REQUIRED'/>
-      <ref name='XML_ERR_NONE'/>
-      <ref name='XML_ERR_NOTATION_NOT_FINISHED'/>
-      <ref name='XML_ERR_NOTATION_NOT_STARTED'/>
-      <ref name='XML_ERR_NOTATION_PROCESSING'/>
-      <ref name='XML_ERR_NOT_STANDALONE'/>
-      <ref name='XML_ERR_NOT_WELL_BALANCED'/>
-      <ref name='XML_ERR_NO_DTD'/>
-      <ref name='XML_ERR_NO_MEMORY'/>
-      <ref name='XML_ERR_NS_DECL_ERROR'/>
-      <ref name='XML_ERR_OK'/>
-      <ref name='XML_ERR_PCDATA_REQUIRED'/>
-      <ref name='XML_ERR_PEREF_AT_EOF'/>
-      <ref name='XML_ERR_PEREF_IN_EPILOG'/>
-      <ref name='XML_ERR_PEREF_IN_INT_SUBSET'/>
-      <ref name='XML_ERR_PEREF_IN_PROLOG'/>
-      <ref name='XML_ERR_PEREF_NO_NAME'/>
-      <ref name='XML_ERR_PEREF_SEMICOL_MISSING'/>
-      <ref name='XML_ERR_PI_NOT_FINISHED'/>
-      <ref name='XML_ERR_PI_NOT_STARTED'/>
-      <ref name='XML_ERR_PUBID_REQUIRED'/>
-      <ref name='XML_ERR_RESERVED_XML_NAME'/>
-      <ref name='XML_ERR_SEPARATOR_REQUIRED'/>
-      <ref name='XML_ERR_SPACE_REQUIRED'/>
-      <ref name='XML_ERR_STANDALONE_VALUE'/>
-      <ref name='XML_ERR_STRING_NOT_CLOSED'/>
-      <ref name='XML_ERR_STRING_NOT_STARTED'/>
-      <ref name='XML_ERR_TAG_NAME_MISMATCH'/>
-      <ref name='XML_ERR_TAG_NOT_FINISHED'/>
-      <ref name='XML_ERR_UNDECLARED_ENTITY'/>
-      <ref name='XML_ERR_UNKNOWN_ENCODING'/>
-      <ref name='XML_ERR_UNKNOWN_VERSION'/>
-      <ref name='XML_ERR_UNPARSED_ENTITY'/>
-      <ref name='XML_ERR_UNSUPPORTED_ENCODING'/>
-      <ref name='XML_ERR_URI_FRAGMENT'/>
-      <ref name='XML_ERR_URI_REQUIRED'/>
-      <ref name='XML_ERR_USER_STOP'/>
-      <ref name='XML_ERR_VALUE_REQUIRED'/>
-      <ref name='XML_ERR_VERSION_MISMATCH'/>
-      <ref name='XML_ERR_VERSION_MISSING'/>
-      <ref name='XML_ERR_WARNING'/>
-      <ref name='XML_ERR_XMLDECL_NOT_FINISHED'/>
-      <ref name='XML_ERR_XMLDECL_NOT_STARTED'/>
-      <ref name='XML_FROM_BUFFER'/>
-      <ref name='XML_FROM_C14N'/>
-      <ref name='XML_FROM_CATALOG'/>
-      <ref name='XML_FROM_CHECK'/>
-      <ref name='XML_FROM_DATATYPE'/>
-      <ref name='XML_FROM_DTD'/>
-      <ref name='XML_FROM_FTP'/>
-      <ref name='XML_FROM_HTML'/>
-      <ref name='XML_FROM_HTTP'/>
-      <ref name='XML_FROM_I18N'/>
-      <ref name='XML_FROM_IO'/>
-      <ref name='XML_FROM_MEMORY'/>
-      <ref name='XML_FROM_MODULE'/>
-      <ref name='XML_FROM_NAMESPACE'/>
-      <ref name='XML_FROM_NONE'/>
-      <ref name='XML_FROM_OUTPUT'/>
-      <ref name='XML_FROM_PARSER'/>
-      <ref name='XML_FROM_REGEXP'/>
-      <ref name='XML_FROM_RELAXNGP'/>
-      <ref name='XML_FROM_RELAXNGV'/>
-      <ref name='XML_FROM_SCHEMASP'/>
-      <ref name='XML_FROM_SCHEMASV'/>
-      <ref name='XML_FROM_SCHEMATRONV'/>
-      <ref name='XML_FROM_TREE'/>
-      <ref name='XML_FROM_URI'/>
-      <ref name='XML_FROM_VALID'/>
-      <ref name='XML_FROM_WRITER'/>
-      <ref name='XML_FROM_XINCLUDE'/>
-      <ref name='XML_FROM_XPATH'/>
-      <ref name='XML_FROM_XPOINTER'/>
-      <ref name='XML_FROM_XSLT'/>
-      <ref name='XML_FTP_ACCNT'/>
-      <ref name='XML_FTP_EPSV_ANSWER'/>
-      <ref name='XML_FTP_PASV_ANSWER'/>
-      <ref name='XML_FTP_URL_SYNTAX'/>
-      <ref name='XML_HTML_STRUCURE_ERROR'/>
-      <ref name='XML_HTML_UNKNOWN_TAG'/>
-      <ref name='XML_HTTP_UNKNOWN_HOST'/>
-      <ref name='XML_HTTP_URL_SYNTAX'/>
-      <ref name='XML_HTTP_USE_IP'/>
-      <ref name='XML_I18N_CONV_FAILED'/>
-      <ref name='XML_I18N_EXCESS_HANDLER'/>
-      <ref name='XML_I18N_NO_HANDLER'/>
-      <ref name='XML_I18N_NO_NAME'/>
-      <ref name='XML_I18N_NO_OUTPUT'/>
-      <ref name='XML_IO_BUFFER_FULL'/>
-      <ref name='XML_IO_EACCES'/>
-      <ref name='XML_IO_EADDRINUSE'/>
-      <ref name='XML_IO_EAFNOSUPPORT'/>
-      <ref name='XML_IO_EAGAIN'/>
-      <ref name='XML_IO_EALREADY'/>
-      <ref name='XML_IO_EBADF'/>
-      <ref name='XML_IO_EBADMSG'/>
-      <ref name='XML_IO_EBUSY'/>
-      <ref name='XML_IO_ECANCELED'/>
-      <ref name='XML_IO_ECHILD'/>
-      <ref name='XML_IO_ECONNREFUSED'/>
-      <ref name='XML_IO_EDEADLK'/>
-      <ref name='XML_IO_EDOM'/>
-      <ref name='XML_IO_EEXIST'/>
-      <ref name='XML_IO_EFAULT'/>
-      <ref name='XML_IO_EFBIG'/>
-      <ref name='XML_IO_EINPROGRESS'/>
-      <ref name='XML_IO_EINTR'/>
-      <ref name='XML_IO_EINVAL'/>
-      <ref name='XML_IO_EIO'/>
-      <ref name='XML_IO_EISCONN'/>
-      <ref name='XML_IO_EISDIR'/>
-      <ref name='XML_IO_EMFILE'/>
-      <ref name='XML_IO_EMLINK'/>
-      <ref name='XML_IO_EMSGSIZE'/>
-      <ref name='XML_IO_ENAMETOOLONG'/>
-      <ref name='XML_IO_ENCODER'/>
-      <ref name='XML_IO_ENETUNREACH'/>
-      <ref name='XML_IO_ENFILE'/>
-      <ref name='XML_IO_ENODEV'/>
-      <ref name='XML_IO_ENOENT'/>
-      <ref name='XML_IO_ENOEXEC'/>
-      <ref name='XML_IO_ENOLCK'/>
-      <ref name='XML_IO_ENOMEM'/>
-      <ref name='XML_IO_ENOSPC'/>
-      <ref name='XML_IO_ENOSYS'/>
-      <ref name='XML_IO_ENOTDIR'/>
-      <ref name='XML_IO_ENOTEMPTY'/>
-      <ref name='XML_IO_ENOTSOCK'/>
-      <ref name='XML_IO_ENOTSUP'/>
-      <ref name='XML_IO_ENOTTY'/>
-      <ref name='XML_IO_ENXIO'/>
-      <ref name='XML_IO_EPERM'/>
-      <ref name='XML_IO_EPIPE'/>
-      <ref name='XML_IO_ERANGE'/>
-      <ref name='XML_IO_EROFS'/>
-      <ref name='XML_IO_ESPIPE'/>
-      <ref name='XML_IO_ESRCH'/>
-      <ref name='XML_IO_ETIMEDOUT'/>
-      <ref name='XML_IO_EXDEV'/>
-      <ref name='XML_IO_FLUSH'/>
-      <ref name='XML_IO_LOAD_ERROR'/>
-      <ref name='XML_IO_NETWORK_ATTEMPT'/>
-      <ref name='XML_IO_NO_INPUT'/>
-      <ref name='XML_IO_UNKNOWN'/>
-      <ref name='XML_IO_WRITE'/>
-      <ref name='XML_MODULE_CLOSE'/>
-      <ref name='XML_MODULE_OPEN'/>
-      <ref name='XML_NS_ERR_ATTRIBUTE_REDEFINED'/>
-      <ref name='XML_NS_ERR_COLON'/>
-      <ref name='XML_NS_ERR_EMPTY'/>
-      <ref name='XML_NS_ERR_QNAME'/>
-      <ref name='XML_NS_ERR_UNDEFINED_NAMESPACE'/>
-      <ref name='XML_NS_ERR_XML_NAMESPACE'/>
-      <ref name='XML_REGEXP_COMPILE_ERROR'/>
-      <ref name='XML_RNGP_ANYNAME_ATTR_ANCESTOR'/>
-      <ref name='XML_RNGP_ATTRIBUTE_CHILDREN'/>
-      <ref name='XML_RNGP_ATTRIBUTE_CONTENT'/>
-      <ref name='XML_RNGP_ATTRIBUTE_EMPTY'/>
-      <ref name='XML_RNGP_ATTRIBUTE_NOOP'/>
-      <ref name='XML_RNGP_ATTR_CONFLICT'/>
-      <ref name='XML_RNGP_CHOICE_CONTENT'/>
-      <ref name='XML_RNGP_CHOICE_EMPTY'/>
-      <ref name='XML_RNGP_CREATE_FAILURE'/>
-      <ref name='XML_RNGP_DATA_CONTENT'/>
-      <ref name='XML_RNGP_DEFINE_CREATE_FAILED'/>
-      <ref name='XML_RNGP_DEFINE_EMPTY'/>
-      <ref name='XML_RNGP_DEFINE_MISSING'/>
-      <ref name='XML_RNGP_DEFINE_NAME_MISSING'/>
-      <ref name='XML_RNGP_DEF_CHOICE_AND_INTERLEAVE'/>
-      <ref name='XML_RNGP_ELEMENT_CONTENT'/>
-      <ref name='XML_RNGP_ELEMENT_EMPTY'/>
-      <ref name='XML_RNGP_ELEMENT_NAME'/>
-      <ref name='XML_RNGP_ELEMENT_NO_CONTENT'/>
-      <ref name='XML_RNGP_ELEM_CONTENT_EMPTY'/>
-      <ref name='XML_RNGP_ELEM_CONTENT_ERROR'/>
-      <ref name='XML_RNGP_ELEM_TEXT_CONFLICT'/>
-      <ref name='XML_RNGP_EMPTY'/>
-      <ref name='XML_RNGP_EMPTY_CONSTRUCT'/>
-      <ref name='XML_RNGP_EMPTY_CONTENT'/>
-      <ref name='XML_RNGP_EMPTY_NOT_EMPTY'/>
-      <ref name='XML_RNGP_ERROR_TYPE_LIB'/>
-      <ref name='XML_RNGP_EXCEPT_EMPTY'/>
-      <ref name='XML_RNGP_EXCEPT_MISSING'/>
-      <ref name='XML_RNGP_EXCEPT_MULTIPLE'/>
-      <ref name='XML_RNGP_EXCEPT_NO_CONTENT'/>
-      <ref name='XML_RNGP_EXTERNALREF_EMTPY'/>
-      <ref name='XML_RNGP_EXTERNALREF_RECURSE'/>
-      <ref name='XML_RNGP_EXTERNAL_REF_FAILURE'/>
-      <ref name='XML_RNGP_FORBIDDEN_ATTRIBUTE'/>
-      <ref name='XML_RNGP_FOREIGN_ELEMENT'/>
-      <ref name='XML_RNGP_GRAMMAR_CONTENT'/>
-      <ref name='XML_RNGP_GRAMMAR_EMPTY'/>
-      <ref name='XML_RNGP_GRAMMAR_MISSING'/>
-      <ref name='XML_RNGP_GRAMMAR_NO_START'/>
-      <ref name='XML_RNGP_GROUP_ATTR_CONFLICT'/>
-      <ref name='XML_RNGP_HREF_ERROR'/>
-      <ref name='XML_RNGP_INCLUDE_EMPTY'/>
-      <ref name='XML_RNGP_INCLUDE_FAILURE'/>
-      <ref name='XML_RNGP_INCLUDE_RECURSE'/>
-      <ref name='XML_RNGP_INTERLEAVE_ADD'/>
-      <ref name='XML_RNGP_INTERLEAVE_CREATE_FAILED'/>
-      <ref name='XML_RNGP_INTERLEAVE_EMPTY'/>
-      <ref name='XML_RNGP_INTERLEAVE_NO_CONTENT'/>
-      <ref name='XML_RNGP_INVALID_DEFINE_NAME'/>
-      <ref name='XML_RNGP_INVALID_URI'/>
-      <ref name='XML_RNGP_INVALID_VALUE'/>
-      <ref name='XML_RNGP_MISSING_HREF'/>
-      <ref name='XML_RNGP_NAME_MISSING'/>
-      <ref name='XML_RNGP_NEED_COMBINE'/>
-      <ref name='XML_RNGP_NOTALLOWED_NOT_EMPTY'/>
-      <ref name='XML_RNGP_NSNAME_ATTR_ANCESTOR'/>
-      <ref name='XML_RNGP_NSNAME_NO_NS'/>
-      <ref name='XML_RNGP_PARAM_FORBIDDEN'/>
-      <ref name='XML_RNGP_PARAM_NAME_MISSING'/>
-      <ref name='XML_RNGP_PARENTREF_CREATE_FAILED'/>
-      <ref name='XML_RNGP_PARENTREF_NAME_INVALID'/>
-      <ref name='XML_RNGP_PARENTREF_NOT_EMPTY'/>
-      <ref name='XML_RNGP_PARENTREF_NO_NAME'/>
-      <ref name='XML_RNGP_PARENTREF_NO_PARENT'/>
-      <ref name='XML_RNGP_PARSE_ERROR'/>
-      <ref name='XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME'/>
-      <ref name='XML_RNGP_PAT_ATTR_ATTR'/>
-      <ref name='XML_RNGP_PAT_ATTR_ELEM'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_ATTR'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_ELEM'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_EMPTY'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_GROUP'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_LIST'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_ONEMORE'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_REF'/>
-      <ref name='XML_RNGP_PAT_DATA_EXCEPT_TEXT'/>
-      <ref name='XML_RNGP_PAT_LIST_ATTR'/>
-      <ref name='XML_RNGP_PAT_LIST_ELEM'/>
-      <ref name='XML_RNGP_PAT_LIST_INTERLEAVE'/>
-      <ref name='XML_RNGP_PAT_LIST_LIST'/>
-      <ref name='XML_RNGP_PAT_LIST_REF'/>
-      <ref name='XML_RNGP_PAT_LIST_TEXT'/>
-      <ref name='XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME'/>
-      <ref name='XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME'/>
-      <ref name='XML_RNGP_PAT_ONEMORE_GROUP_ATTR'/>
-      <ref name='XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR'/>
-      <ref name='XML_RNGP_PAT_START_ATTR'/>
-      <ref name='XML_RNGP_PAT_START_DATA'/>
-      <ref name='XML_RNGP_PAT_START_EMPTY'/>
-      <ref name='XML_RNGP_PAT_START_GROUP'/>
-      <ref name='XML_RNGP_PAT_START_INTERLEAVE'/>
-      <ref name='XML_RNGP_PAT_START_LIST'/>
-      <ref name='XML_RNGP_PAT_START_ONEMORE'/>
-      <ref name='XML_RNGP_PAT_START_TEXT'/>
-      <ref name='XML_RNGP_PAT_START_VALUE'/>
-      <ref name='XML_RNGP_PREFIX_UNDEFINED'/>
-      <ref name='XML_RNGP_REF_CREATE_FAILED'/>
-      <ref name='XML_RNGP_REF_CYCLE'/>
-      <ref name='XML_RNGP_REF_NAME_INVALID'/>
-      <ref name='XML_RNGP_REF_NOT_EMPTY'/>
-      <ref name='XML_RNGP_REF_NO_DEF'/>
-      <ref name='XML_RNGP_REF_NO_NAME'/>
-      <ref name='XML_RNGP_START_CHOICE_AND_INTERLEAVE'/>
-      <ref name='XML_RNGP_START_CONTENT'/>
-      <ref name='XML_RNGP_START_EMPTY'/>
-      <ref name='XML_RNGP_START_MISSING'/>
-      <ref name='XML_RNGP_TEXT_EXPECTED'/>
-      <ref name='XML_RNGP_TEXT_HAS_CHILD'/>
-      <ref name='XML_RNGP_TYPE_MISSING'/>
-      <ref name='XML_RNGP_TYPE_NOT_FOUND'/>
-      <ref name='XML_RNGP_TYPE_VALUE'/>
-      <ref name='XML_RNGP_UNKNOWN_ATTRIBUTE'/>
-      <ref name='XML_RNGP_UNKNOWN_COMBINE'/>
-      <ref name='XML_RNGP_UNKNOWN_CONSTRUCT'/>
-      <ref name='XML_RNGP_UNKNOWN_TYPE_LIB'/>
-      <ref name='XML_RNGP_URI_FRAGMENT'/>
-      <ref name='XML_RNGP_URI_NOT_ABSOLUTE'/>
-      <ref name='XML_RNGP_VALUE_EMPTY'/>
-      <ref name='XML_RNGP_VALUE_NO_CONTENT'/>
-      <ref name='XML_RNGP_XMLNS_NAME'/>
-      <ref name='XML_RNGP_XML_NS'/>
-      <ref name='XML_SAVE_CHAR_INVALID'/>
-      <ref name='XML_SAVE_NOT_UTF8'/>
-      <ref name='XML_SAVE_NO_DOCTYPE'/>
-      <ref name='XML_SAVE_UNKNOWN_ENCODING'/>
-      <ref name='XML_SCHEMAP_AG_PROPS_CORRECT'/>
-      <ref name='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE'/>
-      <ref name='XML_SCHEMAP_ATTRGRP_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_ATTR_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_AU_PROPS_CORRECT'/>
-      <ref name='XML_SCHEMAP_AU_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_A_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_A_PROPS_CORRECT_3'/>
-      <ref name='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_COS_ALL_LIMITED'/>
-      <ref name='XML_SCHEMAP_COS_CT_EXTENDS_1_1'/>
-      <ref name='XML_SCHEMAP_COS_CT_EXTENDS_1_2'/>
-      <ref name='XML_SCHEMAP_COS_CT_EXTENDS_1_3'/>
-      <ref name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4'/>
-      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5'/>
-      <ref name='XML_SCHEMAP_COS_VALID_DEFAULT_1'/>
-      <ref name='XML_SCHEMAP_COS_VALID_DEFAULT_2_1'/>
-      <ref name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1'/>
-      <ref name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2'/>
-      <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_1'/>
-      <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_3'/>
-      <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_4'/>
-      <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_5'/>
-      <ref name='XML_SCHEMAP_CVC_SIMPLE_TYPE'/>
-      <ref name='XML_SCHEMAP_C_PROPS_CORRECT'/>
-      <ref name='XML_SCHEMAP_DEF_AND_PREFIX'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2'/>
-      <ref name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3'/>
-      <ref name='XML_SCHEMAP_ELEMFORMDEFAULT_VALUE'/>
-      <ref name='XML_SCHEMAP_ELEM_DEFAULT_FIXED'/>
-      <ref name='XML_SCHEMAP_ELEM_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_EXTENSION_NO_BASE'/>
-      <ref name='XML_SCHEMAP_E_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_E_PROPS_CORRECT_3'/>
-      <ref name='XML_SCHEMAP_E_PROPS_CORRECT_4'/>
-      <ref name='XML_SCHEMAP_E_PROPS_CORRECT_5'/>
-      <ref name='XML_SCHEMAP_E_PROPS_CORRECT_6'/>
-      <ref name='XML_SCHEMAP_FACET_NO_VALUE'/>
-      <ref name='XML_SCHEMAP_FAILED_BUILD_IMPORT'/>
-      <ref name='XML_SCHEMAP_FAILED_LOAD'/>
-      <ref name='XML_SCHEMAP_FAILED_PARSE'/>
-      <ref name='XML_SCHEMAP_GROUP_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI'/>
-      <ref name='XML_SCHEMAP_IMPORT_REDEFINE_NSNAME'/>
-      <ref name='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI'/>
-      <ref name='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI'/>
-      <ref name='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI'/>
-      <ref name='XML_SCHEMAP_INTERNAL'/>
-      <ref name='XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE'/>
-      <ref name='XML_SCHEMAP_INVALID_ATTR_COMBINATION'/>
-      <ref name='XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION'/>
-      <ref name='XML_SCHEMAP_INVALID_ATTR_NAME'/>
-      <ref name='XML_SCHEMAP_INVALID_ATTR_USE'/>
-      <ref name='XML_SCHEMAP_INVALID_BOOLEAN'/>
-      <ref name='XML_SCHEMAP_INVALID_ENUM'/>
-      <ref name='XML_SCHEMAP_INVALID_FACET'/>
-      <ref name='XML_SCHEMAP_INVALID_FACET_VALUE'/>
-      <ref name='XML_SCHEMAP_INVALID_MAXOCCURS'/>
-      <ref name='XML_SCHEMAP_INVALID_MINOCCURS'/>
-      <ref name='XML_SCHEMAP_INVALID_REF_AND_SUBTYPE'/>
-      <ref name='XML_SCHEMAP_INVALID_WHITE_SPACE'/>
-      <ref name='XML_SCHEMAP_MG_PROPS_CORRECT_1'/>
-      <ref name='XML_SCHEMAP_MG_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD'/>
-      <ref name='XML_SCHEMAP_NOATTR_NOREF'/>
-      <ref name='XML_SCHEMAP_NOROOT'/>
-      <ref name='XML_SCHEMAP_NOTATION_NO_NAME'/>
-      <ref name='XML_SCHEMAP_NOTHING_TO_PARSE'/>
-      <ref name='XML_SCHEMAP_NOTYPE_NOREF'/>
-      <ref name='XML_SCHEMAP_NOT_DETERMINISTIC'/>
-      <ref name='XML_SCHEMAP_NOT_SCHEMA'/>
-      <ref name='XML_SCHEMAP_NO_XMLNS'/>
-      <ref name='XML_SCHEMAP_NO_XSI'/>
-      <ref name='XML_SCHEMAP_PREFIX_UNDEFINED'/>
-      <ref name='XML_SCHEMAP_P_PROPS_CORRECT_1'/>
-      <ref name='XML_SCHEMAP_P_PROPS_CORRECT_2_1'/>
-      <ref name='XML_SCHEMAP_P_PROPS_CORRECT_2_2'/>
-      <ref name='XML_SCHEMAP_RECURSIVE'/>
-      <ref name='XML_SCHEMAP_REDEFINED_ATTR'/>
-      <ref name='XML_SCHEMAP_REDEFINED_ATTRGROUP'/>
-      <ref name='XML_SCHEMAP_REDEFINED_ELEMENT'/>
-      <ref name='XML_SCHEMAP_REDEFINED_GROUP'/>
-      <ref name='XML_SCHEMAP_REDEFINED_NOTATION'/>
-      <ref name='XML_SCHEMAP_REDEFINED_TYPE'/>
-      <ref name='XML_SCHEMAP_REF_AND_CONTENT'/>
-      <ref name='XML_SCHEMAP_REF_AND_SUBTYPE'/>
-      <ref name='XML_SCHEMAP_REGEXP_INVALID'/>
-      <ref name='XML_SCHEMAP_RESTRICTION_NONAME_NOREF'/>
-      <ref name='XML_SCHEMAP_S4S_ATTR_INVALID_VALUE'/>
-      <ref name='XML_SCHEMAP_S4S_ATTR_MISSING'/>
-      <ref name='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED'/>
-      <ref name='XML_SCHEMAP_S4S_ELEM_MISSING'/>
-      <ref name='XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED'/>
-      <ref name='XML_SCHEMAP_SIMPLETYPE_NONAME'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_1'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_2'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_3_1'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_3_2'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_4'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2'/>
-      <ref name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3'/>
-      <ref name='XML_SCHEMAP_SRC_CT_1'/>
-      <ref name='XML_SCHEMAP_SRC_ELEMENT_1'/>
-      <ref name='XML_SCHEMAP_SRC_ELEMENT_2_1'/>
-      <ref name='XML_SCHEMAP_SRC_ELEMENT_2_2'/>
-      <ref name='XML_SCHEMAP_SRC_ELEMENT_3'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_1_1'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_1_2'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_2'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_2_1'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_2_2'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_3_1'/>
-      <ref name='XML_SCHEMAP_SRC_IMPORT_3_2'/>
-      <ref name='XML_SCHEMAP_SRC_INCLUDE'/>
-      <ref name='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE'/>
-      <ref name='XML_SCHEMAP_SRC_REDEFINE'/>
-      <ref name='XML_SCHEMAP_SRC_RESOLVE'/>
-      <ref name='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE'/>
-      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_1'/>
-      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_2'/>
-      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_3'/>
-      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_4'/>
-      <ref name='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES'/>
-      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_1'/>
-      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_2'/>
-      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_3'/>
-      <ref name='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE'/>
-      <ref name='XML_SCHEMAP_TYPE_AND_SUBTYPE'/>
-      <ref name='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ALL_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ATTR_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_BASE_TYPE'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_CHOICE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_ELEM_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_FACET_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_FACET_TYPE'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_GROUP_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_LIST_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_PREFIX'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_REF'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_TYPE'/>
-      <ref name='XML_SCHEMAP_UNKNOWN_UNION_CHILD'/>
-      <ref name='XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH'/>
-      <ref name='XML_SCHEMAP_WARN_ATTR_REDECL_PROH'/>
-      <ref name='XML_SCHEMAP_WARN_SKIP_SCHEMA'/>
-      <ref name='XML_SCHEMAP_WARN_UNLOCATED_SCHEMA'/>
-      <ref name='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER'/>
-      <ref name='XML_SCHEMATRONV_ASSERT'/>
-      <ref name='XML_SCHEMATRONV_REPORT'/>
-      <ref name='XML_SCHEMAV_ATTRINVALID'/>
-      <ref name='XML_SCHEMAV_ATTRUNKNOWN'/>
-      <ref name='XML_SCHEMAV_CONSTRUCT'/>
-      <ref name='XML_SCHEMAV_CVC_ATTRIBUTE_1'/>
-      <ref name='XML_SCHEMAV_CVC_ATTRIBUTE_2'/>
-      <ref name='XML_SCHEMAV_CVC_ATTRIBUTE_3'/>
-      <ref name='XML_SCHEMAV_CVC_ATTRIBUTE_4'/>
-      <ref name='XML_SCHEMAV_CVC_AU'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_1'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_4'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1'/>
-      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2'/>
-      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2'/>
-      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_2'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_3_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_3_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_3_2_2'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_4_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_4_2'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_4_3'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_1_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_1_2'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_2_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_2_2_2_1'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_5_2_2_2_2'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_6'/>
-      <ref name='XML_SCHEMAV_CVC_ELT_7'/>
-      <ref name='XML_SCHEMAV_CVC_ENUMERATION_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_FACET_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_IDC'/>
-      <ref name='XML_SCHEMAV_CVC_LENGTH_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MAXLENGTH_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MININCLUSIVE_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_MINLENGTH_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_PATTERN_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_TOTALDIGITS_VALID'/>
-      <ref name='XML_SCHEMAV_CVC_TYPE_1'/>
-      <ref name='XML_SCHEMAV_CVC_TYPE_2'/>
-      <ref name='XML_SCHEMAV_CVC_TYPE_3_1_1'/>
-      <ref name='XML_SCHEMAV_CVC_TYPE_3_1_2'/>
-      <ref name='XML_SCHEMAV_CVC_WILDCARD'/>
-      <ref name='XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING'/>
-      <ref name='XML_SCHEMAV_ELEMCONT'/>
-      <ref name='XML_SCHEMAV_ELEMENT_CONTENT'/>
-      <ref name='XML_SCHEMAV_EXTRACONTENT'/>
-      <ref name='XML_SCHEMAV_FACET'/>
-      <ref name='XML_SCHEMAV_HAVEDEFAULT'/>
-      <ref name='XML_SCHEMAV_INTERNAL'/>
-      <ref name='XML_SCHEMAV_INVALIDATTR'/>
-      <ref name='XML_SCHEMAV_INVALIDELEM'/>
-      <ref name='XML_SCHEMAV_ISABSTRACT'/>
-      <ref name='XML_SCHEMAV_MISC'/>
-      <ref name='XML_SCHEMAV_MISSING'/>
-      <ref name='XML_SCHEMAV_NOROLLBACK'/>
-      <ref name='XML_SCHEMAV_NOROOT'/>
-      <ref name='XML_SCHEMAV_NOTDETERMINIST'/>
-      <ref name='XML_SCHEMAV_NOTEMPTY'/>
-      <ref name='XML_SCHEMAV_NOTNILLABLE'/>
-      <ref name='XML_SCHEMAV_NOTSIMPLE'/>
-      <ref name='XML_SCHEMAV_NOTTOPLEVEL'/>
-      <ref name='XML_SCHEMAV_NOTYPE'/>
-      <ref name='XML_SCHEMAV_UNDECLAREDELEM'/>
-      <ref name='XML_SCHEMAV_VALUE'/>
-      <ref name='XML_SCHEMAV_WRONGELEM'/>
-      <ref name='XML_TREE_INVALID_DEC'/>
-      <ref name='XML_TREE_INVALID_HEX'/>
-      <ref name='XML_TREE_NOT_UTF8'/>
-      <ref name='XML_TREE_UNTERMINATED_ENTITY'/>
-      <ref name='XML_WAR_CATALOG_PI'/>
-      <ref name='XML_WAR_ENTITY_REDEFINED'/>
-      <ref name='XML_WAR_LANG_VALUE'/>
-      <ref name='XML_WAR_NS_COLUMN'/>
-      <ref name='XML_WAR_NS_URI'/>
-      <ref name='XML_WAR_NS_URI_RELATIVE'/>
-      <ref name='XML_WAR_SPACE_VALUE'/>
-      <ref name='XML_WAR_UNDECLARED_ENTITY'/>
-      <ref name='XML_WAR_UNKNOWN_VERSION'/>
-      <ref name='XML_XINCLUDE_BUILD_FAILED'/>
-      <ref name='XML_XINCLUDE_DEPRECATED_NS'/>
-      <ref name='XML_XINCLUDE_ENTITY_DEF_MISMATCH'/>
-      <ref name='XML_XINCLUDE_FALLBACKS_IN_INCLUDE'/>
-      <ref name='XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE'/>
-      <ref name='XML_XINCLUDE_FRAGMENT_ID'/>
-      <ref name='XML_XINCLUDE_HREF_URI'/>
-      <ref name='XML_XINCLUDE_INCLUDE_IN_INCLUDE'/>
-      <ref name='XML_XINCLUDE_INVALID_CHAR'/>
-      <ref name='XML_XINCLUDE_MULTIPLE_ROOT'/>
-      <ref name='XML_XINCLUDE_NO_FALLBACK'/>
-      <ref name='XML_XINCLUDE_NO_HREF'/>
-      <ref name='XML_XINCLUDE_PARSE_VALUE'/>
-      <ref name='XML_XINCLUDE_RECURSION'/>
-      <ref name='XML_XINCLUDE_TEXT_DOCUMENT'/>
-      <ref name='XML_XINCLUDE_TEXT_FRAGMENT'/>
-      <ref name='XML_XINCLUDE_UNKNOWN_ENCODING'/>
-      <ref name='XML_XINCLUDE_XPTR_FAILED'/>
-      <ref name='XML_XINCLUDE_XPTR_RESULT'/>
-      <ref name='XML_XPATH_ENCODING_ERROR'/>
-      <ref name='XML_XPATH_EXPRESSION_OK'/>
-      <ref name='XML_XPATH_EXPR_ERROR'/>
-      <ref name='XML_XPATH_INVALID_ARITY'/>
-      <ref name='XML_XPATH_INVALID_CHAR_ERROR'/>
-      <ref name='XML_XPATH_INVALID_CTXT_POSITION'/>
-      <ref name='XML_XPATH_INVALID_CTXT_SIZE'/>
-      <ref name='XML_XPATH_INVALID_OPERAND'/>
-      <ref name='XML_XPATH_INVALID_PREDICATE_ERROR'/>
-      <ref name='XML_XPATH_INVALID_TYPE'/>
-      <ref name='XML_XPATH_MEMORY_ERROR'/>
-      <ref name='XML_XPATH_NUMBER_ERROR'/>
-      <ref name='XML_XPATH_START_LITERAL_ERROR'/>
-      <ref name='XML_XPATH_UNCLOSED_ERROR'/>
-      <ref name='XML_XPATH_UNDEF_PREFIX_ERROR'/>
-      <ref name='XML_XPATH_UNDEF_VARIABLE_ERROR'/>
-      <ref name='XML_XPATH_UNFINISHED_LITERAL_ERROR'/>
-      <ref name='XML_XPATH_UNKNOWN_FUNC_ERROR'/>
-      <ref name='XML_XPATH_VARIABLE_REF_ERROR'/>
-      <ref name='XML_XPTR_CHILDSEQ_START'/>
-      <ref name='XML_XPTR_EVAL_FAILED'/>
-      <ref name='XML_XPTR_EXTRA_OBJECTS'/>
-      <ref name='XML_XPTR_RESOURCE_ERROR'/>
-      <ref name='XML_XPTR_SUB_RESOURCE_ERROR'/>
-      <ref name='XML_XPTR_SYNTAX_ERROR'/>
-      <ref name='XML_XPTR_UNKNOWN_SCHEME'/>
-      <ref name='_xmlError'/>
-      <ref name='initGenericErrorDefaultFunc'/>
-      <ref name='xmlCopyError'/>
-      <ref name='xmlCtxtGetLastError'/>
-      <ref name='xmlCtxtResetLastError'/>
-      <ref name='xmlError'/>
-      <ref name='xmlErrorDomain'/>
-      <ref name='xmlErrorLevel'/>
-      <ref name='xmlErrorPtr'/>
-      <ref name='xmlGenericErrorFunc'/>
-      <ref name='xmlGetLastError'/>
-      <ref name='xmlParserError'/>
-      <ref name='xmlParserErrors'/>
-      <ref name='xmlParserPrintFileContext'/>
-      <ref name='xmlParserPrintFileInfo'/>
-      <ref name='xmlParserValidityError'/>
-      <ref name='xmlParserValidityWarning'/>
-      <ref name='xmlParserWarning'/>
-      <ref name='xmlResetError'/>
-      <ref name='xmlResetLastError'/>
-      <ref name='xmlSetGenericErrorFunc'/>
-      <ref name='xmlSetStructuredErrorFunc'/>
-      <ref name='xmlStructuredErrorFunc'/>
-    </file>
-    <file name='xmlexports'>
-      <ref name='LIBXML_DLL_IMPORT'/>
-      <ref name='XMLCALL'/>
-      <ref name='XMLCDECL'/>
-      <ref name='XMLPUBFUN'/>
-      <ref name='XMLPUBLIC'/>
-      <ref name='XMLPUBVAR'/>
-    </file>
-    <file name='xmlmemory'>
-      <ref name='DEBUG_MEMORY'/>
-      <ref name='xmlCleanupMemory'/>
-      <ref name='xmlFreeFunc'/>
-      <ref name='xmlGcMemGet'/>
-      <ref name='xmlGcMemSetup'/>
-      <ref name='xmlInitMemory'/>
-      <ref name='xmlMalloc'/>
-      <ref name='xmlMallocAtomic'/>
-      <ref name='xmlMallocAtomicLoc'/>
-      <ref name='xmlMallocFunc'/>
-      <ref name='xmlMallocLoc'/>
-      <ref name='xmlMemBlocks'/>
-      <ref name='xmlMemDisplay'/>
-      <ref name='xmlMemDisplayLast'/>
-      <ref name='xmlMemFree'/>
-      <ref name='xmlMemGet'/>
-      <ref name='xmlMemMalloc'/>
-      <ref name='xmlMemRealloc'/>
-      <ref name='xmlMemSetup'/>
-      <ref name='xmlMemShow'/>
-      <ref name='xmlMemStrdup'/>
-      <ref name='xmlMemStrdupLoc'/>
-      <ref name='xmlMemUsed'/>
-      <ref name='xmlMemoryDump'/>
-      <ref name='xmlMemoryStrdup'/>
-      <ref name='xmlRealloc'/>
-      <ref name='xmlReallocFunc'/>
-      <ref name='xmlReallocLoc'/>
-      <ref name='xmlStrdupFunc'/>
-    </file>
-    <file name='xmlmodule'>
-      <ref name='XML_MODULE_LAZY'/>
-      <ref name='XML_MODULE_LOCAL'/>
-      <ref name='xmlModule'/>
-      <ref name='xmlModuleClose'/>
-      <ref name='xmlModuleFree'/>
-      <ref name='xmlModuleOpen'/>
-      <ref name='xmlModuleOption'/>
-      <ref name='xmlModulePtr'/>
-      <ref name='xmlModuleSymbol'/>
-    </file>
-    <file name='xmlreader'>
-      <ref name='XML_PARSER_DEFAULTATTRS'/>
-      <ref name='XML_PARSER_LOADDTD'/>
-      <ref name='XML_PARSER_SEVERITY_ERROR'/>
-      <ref name='XML_PARSER_SEVERITY_VALIDITY_ERROR'/>
-      <ref name='XML_PARSER_SEVERITY_VALIDITY_WARNING'/>
-      <ref name='XML_PARSER_SEVERITY_WARNING'/>
-      <ref name='XML_PARSER_SUBST_ENTITIES'/>
-      <ref name='XML_PARSER_VALIDATE'/>
-      <ref name='XML_READER_TYPE_ATTRIBUTE'/>
-      <ref name='XML_READER_TYPE_CDATA'/>
-      <ref name='XML_READER_TYPE_COMMENT'/>
-      <ref name='XML_READER_TYPE_DOCUMENT'/>
-      <ref name='XML_READER_TYPE_DOCUMENT_FRAGMENT'/>
-      <ref name='XML_READER_TYPE_DOCUMENT_TYPE'/>
-      <ref name='XML_READER_TYPE_ELEMENT'/>
-      <ref name='XML_READER_TYPE_END_ELEMENT'/>
-      <ref name='XML_READER_TYPE_END_ENTITY'/>
-      <ref name='XML_READER_TYPE_ENTITY'/>
-      <ref name='XML_READER_TYPE_ENTITY_REFERENCE'/>
-      <ref name='XML_READER_TYPE_NONE'/>
-      <ref name='XML_READER_TYPE_NOTATION'/>
-      <ref name='XML_READER_TYPE_PROCESSING_INSTRUCTION'/>
-      <ref name='XML_READER_TYPE_SIGNIFICANT_WHITESPACE'/>
-      <ref name='XML_READER_TYPE_TEXT'/>
-      <ref name='XML_READER_TYPE_WHITESPACE'/>
-      <ref name='XML_READER_TYPE_XML_DECLARATION'/>
-      <ref name='XML_TEXTREADER_MODE_CLOSED'/>
-      <ref name='XML_TEXTREADER_MODE_EOF'/>
-      <ref name='XML_TEXTREADER_MODE_ERROR'/>
-      <ref name='XML_TEXTREADER_MODE_INITIAL'/>
-      <ref name='XML_TEXTREADER_MODE_INTERACTIVE'/>
-      <ref name='XML_TEXTREADER_MODE_READING'/>
-      <ref name='xmlFreeTextReader'/>
-      <ref name='xmlNewTextReader'/>
-      <ref name='xmlNewTextReaderFilename'/>
-      <ref name='xmlParserProperties'/>
-      <ref name='xmlParserSeverities'/>
-      <ref name='xmlReaderForDoc'/>
-      <ref name='xmlReaderForFd'/>
-      <ref name='xmlReaderForFile'/>
-      <ref name='xmlReaderForIO'/>
-      <ref name='xmlReaderForMemory'/>
-      <ref name='xmlReaderNewDoc'/>
-      <ref name='xmlReaderNewFd'/>
-      <ref name='xmlReaderNewFile'/>
-      <ref name='xmlReaderNewIO'/>
-      <ref name='xmlReaderNewMemory'/>
-      <ref name='xmlReaderNewWalker'/>
-      <ref name='xmlReaderTypes'/>
-      <ref name='xmlReaderWalker'/>
-      <ref name='xmlTextReader'/>
-      <ref name='xmlTextReaderAttributeCount'/>
-      <ref name='xmlTextReaderBaseUri'/>
-      <ref name='xmlTextReaderByteConsumed'/>
-      <ref name='xmlTextReaderClose'/>
-      <ref name='xmlTextReaderConstBaseUri'/>
-      <ref name='xmlTextReaderConstEncoding'/>
-      <ref name='xmlTextReaderConstLocalName'/>
-      <ref name='xmlTextReaderConstName'/>
-      <ref name='xmlTextReaderConstNamespaceUri'/>
-      <ref name='xmlTextReaderConstPrefix'/>
-      <ref name='xmlTextReaderConstString'/>
-      <ref name='xmlTextReaderConstValue'/>
-      <ref name='xmlTextReaderConstXmlLang'/>
-      <ref name='xmlTextReaderConstXmlVersion'/>
-      <ref name='xmlTextReaderCurrentDoc'/>
-      <ref name='xmlTextReaderCurrentNode'/>
-      <ref name='xmlTextReaderDepth'/>
-      <ref name='xmlTextReaderErrorFunc'/>
-      <ref name='xmlTextReaderExpand'/>
-      <ref name='xmlTextReaderGetAttribute'/>
-      <ref name='xmlTextReaderGetAttributeNo'/>
-      <ref name='xmlTextReaderGetAttributeNs'/>
-      <ref name='xmlTextReaderGetErrorHandler'/>
-      <ref name='xmlTextReaderGetParserColumnNumber'/>
-      <ref name='xmlTextReaderGetParserLineNumber'/>
-      <ref name='xmlTextReaderGetParserProp'/>
-      <ref name='xmlTextReaderGetRemainder'/>
-      <ref name='xmlTextReaderHasAttributes'/>
-      <ref name='xmlTextReaderHasValue'/>
-      <ref name='xmlTextReaderIsDefault'/>
-      <ref name='xmlTextReaderIsEmptyElement'/>
-      <ref name='xmlTextReaderIsNamespaceDecl'/>
-      <ref name='xmlTextReaderIsValid'/>
-      <ref name='xmlTextReaderLocalName'/>
-      <ref name='xmlTextReaderLocatorBaseURI'/>
-      <ref name='xmlTextReaderLocatorLineNumber'/>
-      <ref name='xmlTextReaderLocatorPtr'/>
-      <ref name='xmlTextReaderLookupNamespace'/>
-      <ref name='xmlTextReaderMode'/>
-      <ref name='xmlTextReaderMoveToAttribute'/>
-      <ref name='xmlTextReaderMoveToAttributeNo'/>
-      <ref name='xmlTextReaderMoveToAttributeNs'/>
-      <ref name='xmlTextReaderMoveToElement'/>
-      <ref name='xmlTextReaderMoveToFirstAttribute'/>
-      <ref name='xmlTextReaderMoveToNextAttribute'/>
-      <ref name='xmlTextReaderName'/>
-      <ref name='xmlTextReaderNamespaceUri'/>
-      <ref name='xmlTextReaderNext'/>
-      <ref name='xmlTextReaderNextSibling'/>
-      <ref name='xmlTextReaderNodeType'/>
-      <ref name='xmlTextReaderNormalization'/>
-      <ref name='xmlTextReaderPrefix'/>
-      <ref name='xmlTextReaderPreserve'/>
-      <ref name='xmlTextReaderPreservePattern'/>
-      <ref name='xmlTextReaderPtr'/>
-      <ref name='xmlTextReaderQuoteChar'/>
-      <ref name='xmlTextReaderRead'/>
-      <ref name='xmlTextReaderReadAttributeValue'/>
-      <ref name='xmlTextReaderReadInnerXml'/>
-      <ref name='xmlTextReaderReadOuterXml'/>
-      <ref name='xmlTextReaderReadState'/>
-      <ref name='xmlTextReaderReadString'/>
-      <ref name='xmlTextReaderRelaxNGSetSchema'/>
-      <ref name='xmlTextReaderRelaxNGValidate'/>
-      <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-      <ref name='xmlTextReaderSchemaValidate'/>
-      <ref name='xmlTextReaderSchemaValidateCtxt'/>
-      <ref name='xmlTextReaderSetErrorHandler'/>
-      <ref name='xmlTextReaderSetParserProp'/>
-      <ref name='xmlTextReaderSetSchema'/>
-      <ref name='xmlTextReaderSetStructuredErrorHandler'/>
-      <ref name='xmlTextReaderSetup'/>
-      <ref name='xmlTextReaderStandalone'/>
-      <ref name='xmlTextReaderValue'/>
-      <ref name='xmlTextReaderXmlLang'/>
-    </file>
-    <file name='xmlregexp'>
-      <ref name='XML_EXP_ATOM'/>
-      <ref name='XML_EXP_COUNT'/>
-      <ref name='XML_EXP_EMPTY'/>
-      <ref name='XML_EXP_FORBID'/>
-      <ref name='XML_EXP_OR'/>
-      <ref name='XML_EXP_SEQ'/>
-      <ref name='emptyExp'/>
-      <ref name='forbiddenExp'/>
-      <ref name='xmlExpCtxt'/>
-      <ref name='xmlExpCtxtNbCons'/>
-      <ref name='xmlExpCtxtNbNodes'/>
-      <ref name='xmlExpCtxtPtr'/>
-      <ref name='xmlExpDump'/>
-      <ref name='xmlExpExpDerive'/>
-      <ref name='xmlExpFree'/>
-      <ref name='xmlExpFreeCtxt'/>
-      <ref name='xmlExpGetLanguage'/>
-      <ref name='xmlExpGetStart'/>
-      <ref name='xmlExpIsNillable'/>
-      <ref name='xmlExpMaxToken'/>
-      <ref name='xmlExpNewAtom'/>
-      <ref name='xmlExpNewCtxt'/>
-      <ref name='xmlExpNewOr'/>
-      <ref name='xmlExpNewRange'/>
-      <ref name='xmlExpNewSeq'/>
-      <ref name='xmlExpNode'/>
-      <ref name='xmlExpNodePtr'/>
-      <ref name='xmlExpNodeType'/>
-      <ref name='xmlExpParse'/>
-      <ref name='xmlExpRef'/>
-      <ref name='xmlExpStringDerive'/>
-      <ref name='xmlExpSubsume'/>
-      <ref name='xmlRegExecCallbacks'/>
-      <ref name='xmlRegExecCtxt'/>
-      <ref name='xmlRegExecCtxtPtr'/>
-      <ref name='xmlRegExecErrInfo'/>
-      <ref name='xmlRegExecNextValues'/>
-      <ref name='xmlRegExecPushString'/>
-      <ref name='xmlRegExecPushString2'/>
-      <ref name='xmlRegFreeExecCtxt'/>
-      <ref name='xmlRegFreeRegexp'/>
-      <ref name='xmlRegNewExecCtxt'/>
-      <ref name='xmlRegexp'/>
-      <ref name='xmlRegexpCompile'/>
-      <ref name='xmlRegexpExec'/>
-      <ref name='xmlRegexpIsDeterminist'/>
-      <ref name='xmlRegexpPrint'/>
-      <ref name='xmlRegexpPtr'/>
-    </file>
-    <file name='xmlsave'>
-      <ref name='XML_SAVE_AS_HTML'/>
-      <ref name='XML_SAVE_AS_XML'/>
-      <ref name='XML_SAVE_FORMAT'/>
-      <ref name='XML_SAVE_NO_DECL'/>
-      <ref name='XML_SAVE_NO_EMPTY'/>
-      <ref name='XML_SAVE_NO_XHTML'/>
-      <ref name='XML_SAVE_WSNONSIG'/>
-      <ref name='XML_SAVE_XHTML'/>
-      <ref name='xmlSaveClose'/>
-      <ref name='xmlSaveCtxt'/>
-      <ref name='xmlSaveCtxtPtr'/>
-      <ref name='xmlSaveDoc'/>
-      <ref name='xmlSaveFlush'/>
-      <ref name='xmlSaveOption'/>
-      <ref name='xmlSaveSetAttrEscape'/>
-      <ref name='xmlSaveSetEscape'/>
-      <ref name='xmlSaveToBuffer'/>
-      <ref name='xmlSaveToFd'/>
-      <ref name='xmlSaveToFilename'/>
-      <ref name='xmlSaveToIO'/>
-      <ref name='xmlSaveTree'/>
-    </file>
-    <file name='xmlschemas'>
-      <ref name='XML_SCHEMAS_ERR_'/>
-      <ref name='XML_SCHEMAS_ERR_ATTRINVALID'/>
-      <ref name='XML_SCHEMAS_ERR_ATTRUNKNOWN'/>
-      <ref name='XML_SCHEMAS_ERR_CONSTRUCT'/>
-      <ref name='XML_SCHEMAS_ERR_ELEMCONT'/>
-      <ref name='XML_SCHEMAS_ERR_EXTRACONTENT'/>
-      <ref name='XML_SCHEMAS_ERR_FACET'/>
-      <ref name='XML_SCHEMAS_ERR_HAVEDEFAULT'/>
-      <ref name='XML_SCHEMAS_ERR_INTERNAL'/>
-      <ref name='XML_SCHEMAS_ERR_INVALIDATTR'/>
-      <ref name='XML_SCHEMAS_ERR_INVALIDELEM'/>
-      <ref name='XML_SCHEMAS_ERR_ISABSTRACT'/>
-      <ref name='XML_SCHEMAS_ERR_MISSING'/>
-      <ref name='XML_SCHEMAS_ERR_NOROLLBACK'/>
-      <ref name='XML_SCHEMAS_ERR_NOROOT'/>
-      <ref name='XML_SCHEMAS_ERR_NOTDETERMINIST'/>
-      <ref name='XML_SCHEMAS_ERR_NOTEMPTY'/>
-      <ref name='XML_SCHEMAS_ERR_NOTNILLABLE'/>
-      <ref name='XML_SCHEMAS_ERR_NOTSIMPLE'/>
-      <ref name='XML_SCHEMAS_ERR_NOTTOPLEVEL'/>
-      <ref name='XML_SCHEMAS_ERR_NOTYPE'/>
-      <ref name='XML_SCHEMAS_ERR_OK'/>
-      <ref name='XML_SCHEMAS_ERR_UNDECLAREDELEM'/>
-      <ref name='XML_SCHEMAS_ERR_VALUE'/>
-      <ref name='XML_SCHEMAS_ERR_WRONGELEM'/>
-      <ref name='XML_SCHEMAS_ERR_XXX'/>
-      <ref name='XML_SCHEMA_VAL_VC_I_CREATE'/>
-      <ref name='xmlSchema'/>
-      <ref name='xmlSchemaDump'/>
-      <ref name='xmlSchemaFree'/>
-      <ref name='xmlSchemaFreeParserCtxt'/>
-      <ref name='xmlSchemaFreeValidCtxt'/>
-      <ref name='xmlSchemaGetParserErrors'/>
-      <ref name='xmlSchemaGetValidErrors'/>
-      <ref name='xmlSchemaIsValid'/>
-      <ref name='xmlSchemaNewDocParserCtxt'/>
-      <ref name='xmlSchemaNewMemParserCtxt'/>
-      <ref name='xmlSchemaNewParserCtxt'/>
-      <ref name='xmlSchemaNewValidCtxt'/>
-      <ref name='xmlSchemaParse'/>
-      <ref name='xmlSchemaParserCtxt'/>
-      <ref name='xmlSchemaParserCtxtPtr'/>
-      <ref name='xmlSchemaPtr'/>
-      <ref name='xmlSchemaSAXPlug'/>
-      <ref name='xmlSchemaSAXPlugPtr'/>
-      <ref name='xmlSchemaSAXPlugStruct'/>
-      <ref name='xmlSchemaSAXUnplug'/>
-      <ref name='xmlSchemaSetParserErrors'/>
-      <ref name='xmlSchemaSetParserStructuredErrors'/>
-      <ref name='xmlSchemaSetValidErrors'/>
-      <ref name='xmlSchemaSetValidOptions'/>
-      <ref name='xmlSchemaSetValidStructuredErrors'/>
-      <ref name='xmlSchemaValidCtxt'/>
-      <ref name='xmlSchemaValidCtxtGetOptions'/>
-      <ref name='xmlSchemaValidCtxtGetParserCtxt'/>
-      <ref name='xmlSchemaValidCtxtPtr'/>
-      <ref name='xmlSchemaValidError'/>
-      <ref name='xmlSchemaValidOption'/>
-      <ref name='xmlSchemaValidateDoc'/>
-      <ref name='xmlSchemaValidateFile'/>
-      <ref name='xmlSchemaValidateOneElement'/>
-      <ref name='xmlSchemaValidateSetFilename'/>
-      <ref name='xmlSchemaValidateSetLocator'/>
-      <ref name='xmlSchemaValidateStream'/>
-      <ref name='xmlSchemaValidityErrorFunc'/>
-      <ref name='xmlSchemaValidityLocatorFunc'/>
-      <ref name='xmlSchemaValidityWarningFunc'/>
-    </file>
-    <file name='xmlschemastypes'>
-      <ref name='XML_SCHEMA_WHITESPACE_COLLAPSE'/>
-      <ref name='XML_SCHEMA_WHITESPACE_PRESERVE'/>
-      <ref name='XML_SCHEMA_WHITESPACE_REPLACE'/>
-      <ref name='XML_SCHEMA_WHITESPACE_UNKNOWN'/>
-      <ref name='xmlSchemaCheckFacet'/>
-      <ref name='xmlSchemaCleanupTypes'/>
-      <ref name='xmlSchemaCollapseString'/>
-      <ref name='xmlSchemaCompareValues'/>
-      <ref name='xmlSchemaCompareValuesWhtsp'/>
-      <ref name='xmlSchemaCopyValue'/>
-      <ref name='xmlSchemaFreeFacet'/>
-      <ref name='xmlSchemaFreeValue'/>
-      <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-      <ref name='xmlSchemaGetBuiltInType'/>
-      <ref name='xmlSchemaGetCanonValue'/>
-      <ref name='xmlSchemaGetCanonValueWhtsp'/>
-      <ref name='xmlSchemaGetFacetValueAsULong'/>
-      <ref name='xmlSchemaGetPredefinedType'/>
-      <ref name='xmlSchemaGetValType'/>
-      <ref name='xmlSchemaInitTypes'/>
-      <ref name='xmlSchemaIsBuiltInTypeFacet'/>
-      <ref name='xmlSchemaNewFacet'/>
-      <ref name='xmlSchemaNewNOTATIONValue'/>
-      <ref name='xmlSchemaNewQNameValue'/>
-      <ref name='xmlSchemaNewStringValue'/>
-      <ref name='xmlSchemaValPredefTypeNode'/>
-      <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-      <ref name='xmlSchemaValidateFacet'/>
-      <ref name='xmlSchemaValidateFacetWhtsp'/>
-      <ref name='xmlSchemaValidateLengthFacet'/>
-      <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-      <ref name='xmlSchemaValidatePredefinedType'/>
-      <ref name='xmlSchemaValueAppend'/>
-      <ref name='xmlSchemaValueGetAsBoolean'/>
-      <ref name='xmlSchemaValueGetAsString'/>
-      <ref name='xmlSchemaValueGetNext'/>
-      <ref name='xmlSchemaWhiteSpaceReplace'/>
-      <ref name='xmlSchemaWhitespaceValueType'/>
-    </file>
-    <file name='xmlstring'>
-      <ref name='BAD_CAST'/>
-      <ref name='xmlChar'/>
-      <ref name='xmlCharStrdup'/>
-      <ref name='xmlCharStrndup'/>
-      <ref name='xmlCheckUTF8'/>
-      <ref name='xmlGetUTF8Char'/>
-      <ref name='xmlStrEqual'/>
-      <ref name='xmlStrPrintf'/>
-      <ref name='xmlStrQEqual'/>
-      <ref name='xmlStrVPrintf'/>
-      <ref name='xmlStrcasecmp'/>
-      <ref name='xmlStrcasestr'/>
-      <ref name='xmlStrcat'/>
-      <ref name='xmlStrchr'/>
-      <ref name='xmlStrcmp'/>
-      <ref name='xmlStrdup'/>
-      <ref name='xmlStrlen'/>
-      <ref name='xmlStrncasecmp'/>
-      <ref name='xmlStrncat'/>
-      <ref name='xmlStrncatNew'/>
-      <ref name='xmlStrncmp'/>
-      <ref name='xmlStrndup'/>
-      <ref name='xmlStrstr'/>
-      <ref name='xmlStrsub'/>
-      <ref name='xmlUTF8Charcmp'/>
-      <ref name='xmlUTF8Size'/>
-      <ref name='xmlUTF8Strlen'/>
-      <ref name='xmlUTF8Strloc'/>
-      <ref name='xmlUTF8Strndup'/>
-      <ref name='xmlUTF8Strpos'/>
-      <ref name='xmlUTF8Strsize'/>
-      <ref name='xmlUTF8Strsub'/>
-    </file>
-    <file name='xmlunicode'>
-      <ref name='xmlUCSIsAegeanNumbers'/>
-      <ref name='xmlUCSIsAlphabeticPresentationForms'/>
-      <ref name='xmlUCSIsArabic'/>
-      <ref name='xmlUCSIsArabicPresentationFormsA'/>
-      <ref name='xmlUCSIsArabicPresentationFormsB'/>
-      <ref name='xmlUCSIsArmenian'/>
-      <ref name='xmlUCSIsArrows'/>
-      <ref name='xmlUCSIsBasicLatin'/>
-      <ref name='xmlUCSIsBengali'/>
-      <ref name='xmlUCSIsBlock'/>
-      <ref name='xmlUCSIsBlockElements'/>
-      <ref name='xmlUCSIsBopomofo'/>
-      <ref name='xmlUCSIsBopomofoExtended'/>
-      <ref name='xmlUCSIsBoxDrawing'/>
-      <ref name='xmlUCSIsBraillePatterns'/>
-      <ref name='xmlUCSIsBuhid'/>
-      <ref name='xmlUCSIsByzantineMusicalSymbols'/>
-      <ref name='xmlUCSIsCJKCompatibility'/>
-      <ref name='xmlUCSIsCJKCompatibilityForms'/>
-      <ref name='xmlUCSIsCJKCompatibilityIdeographs'/>
-      <ref name='xmlUCSIsCJKCompatibilityIdeographsSupplement'/>
-      <ref name='xmlUCSIsCJKRadicalsSupplement'/>
-      <ref name='xmlUCSIsCJKSymbolsandPunctuation'/>
-      <ref name='xmlUCSIsCJKUnifiedIdeographs'/>
-      <ref name='xmlUCSIsCJKUnifiedIdeographsExtensionA'/>
-      <ref name='xmlUCSIsCJKUnifiedIdeographsExtensionB'/>
-      <ref name='xmlUCSIsCat'/>
-      <ref name='xmlUCSIsCatC'/>
-      <ref name='xmlUCSIsCatCc'/>
-      <ref name='xmlUCSIsCatCf'/>
-      <ref name='xmlUCSIsCatCo'/>
-      <ref name='xmlUCSIsCatCs'/>
-      <ref name='xmlUCSIsCatL'/>
-      <ref name='xmlUCSIsCatLl'/>
-      <ref name='xmlUCSIsCatLm'/>
-      <ref name='xmlUCSIsCatLo'/>
-      <ref name='xmlUCSIsCatLt'/>
-      <ref name='xmlUCSIsCatLu'/>
-      <ref name='xmlUCSIsCatM'/>
-      <ref name='xmlUCSIsCatMc'/>
-      <ref name='xmlUCSIsCatMe'/>
-      <ref name='xmlUCSIsCatMn'/>
-      <ref name='xmlUCSIsCatN'/>
-      <ref name='xmlUCSIsCatNd'/>
-      <ref name='xmlUCSIsCatNl'/>
-      <ref name='xmlUCSIsCatNo'/>
-      <ref name='xmlUCSIsCatP'/>
-      <ref name='xmlUCSIsCatPc'/>
-      <ref name='xmlUCSIsCatPd'/>
-      <ref name='xmlUCSIsCatPe'/>
-      <ref name='xmlUCSIsCatPf'/>
-      <ref name='xmlUCSIsCatPi'/>
-      <ref name='xmlUCSIsCatPo'/>
-      <ref name='xmlUCSIsCatPs'/>
-      <ref name='xmlUCSIsCatS'/>
-      <ref name='xmlUCSIsCatSc'/>
-      <ref name='xmlUCSIsCatSk'/>
-      <ref name='xmlUCSIsCatSm'/>
-      <ref name='xmlUCSIsCatSo'/>
-      <ref name='xmlUCSIsCatZ'/>
-      <ref name='xmlUCSIsCatZl'/>
-      <ref name='xmlUCSIsCatZp'/>
-      <ref name='xmlUCSIsCatZs'/>
-      <ref name='xmlUCSIsCherokee'/>
-      <ref name='xmlUCSIsCombiningDiacriticalMarks'/>
-      <ref name='xmlUCSIsCombiningDiacriticalMarksforSymbols'/>
-      <ref name='xmlUCSIsCombiningHalfMarks'/>
-      <ref name='xmlUCSIsCombiningMarksforSymbols'/>
-      <ref name='xmlUCSIsControlPictures'/>
-      <ref name='xmlUCSIsCurrencySymbols'/>
-      <ref name='xmlUCSIsCypriotSyllabary'/>
-      <ref name='xmlUCSIsCyrillic'/>
-      <ref name='xmlUCSIsCyrillicSupplement'/>
-      <ref name='xmlUCSIsDeseret'/>
-      <ref name='xmlUCSIsDevanagari'/>
-      <ref name='xmlUCSIsDingbats'/>
-      <ref name='xmlUCSIsEnclosedAlphanumerics'/>
-      <ref name='xmlUCSIsEnclosedCJKLettersandMonths'/>
-      <ref name='xmlUCSIsEthiopic'/>
-      <ref name='xmlUCSIsGeneralPunctuation'/>
-      <ref name='xmlUCSIsGeometricShapes'/>
-      <ref name='xmlUCSIsGeorgian'/>
-      <ref name='xmlUCSIsGothic'/>
-      <ref name='xmlUCSIsGreek'/>
-      <ref name='xmlUCSIsGreekExtended'/>
-      <ref name='xmlUCSIsGreekandCoptic'/>
-      <ref name='xmlUCSIsGujarati'/>
-      <ref name='xmlUCSIsGurmukhi'/>
-      <ref name='xmlUCSIsHalfwidthandFullwidthForms'/>
-      <ref name='xmlUCSIsHangulCompatibilityJamo'/>
-      <ref name='xmlUCSIsHangulJamo'/>
-      <ref name='xmlUCSIsHangulSyllables'/>
-      <ref name='xmlUCSIsHanunoo'/>
-      <ref name='xmlUCSIsHebrew'/>
-      <ref name='xmlUCSIsHighPrivateUseSurrogates'/>
-      <ref name='xmlUCSIsHighSurrogates'/>
-      <ref name='xmlUCSIsHiragana'/>
-      <ref name='xmlUCSIsIPAExtensions'/>
-      <ref name='xmlUCSIsIdeographicDescriptionCharacters'/>
-      <ref name='xmlUCSIsKanbun'/>
-      <ref name='xmlUCSIsKangxiRadicals'/>
-      <ref name='xmlUCSIsKannada'/>
-      <ref name='xmlUCSIsKatakana'/>
-      <ref name='xmlUCSIsKatakanaPhoneticExtensions'/>
-      <ref name='xmlUCSIsKhmer'/>
-      <ref name='xmlUCSIsKhmerSymbols'/>
-      <ref name='xmlUCSIsLao'/>
-      <ref name='xmlUCSIsLatin1Supplement'/>
-      <ref name='xmlUCSIsLatinExtendedA'/>
-      <ref name='xmlUCSIsLatinExtendedAdditional'/>
-      <ref name='xmlUCSIsLatinExtendedB'/>
-      <ref name='xmlUCSIsLetterlikeSymbols'/>
-      <ref name='xmlUCSIsLimbu'/>
-      <ref name='xmlUCSIsLinearBIdeograms'/>
-      <ref name='xmlUCSIsLinearBSyllabary'/>
-      <ref name='xmlUCSIsLowSurrogates'/>
-      <ref name='xmlUCSIsMalayalam'/>
-      <ref name='xmlUCSIsMathematicalAlphanumericSymbols'/>
-      <ref name='xmlUCSIsMathematicalOperators'/>
-      <ref name='xmlUCSIsMiscellaneousMathematicalSymbolsA'/>
-      <ref name='xmlUCSIsMiscellaneousMathematicalSymbolsB'/>
-      <ref name='xmlUCSIsMiscellaneousSymbols'/>
-      <ref name='xmlUCSIsMiscellaneousSymbolsandArrows'/>
-      <ref name='xmlUCSIsMiscellaneousTechnical'/>
-      <ref name='xmlUCSIsMongolian'/>
-      <ref name='xmlUCSIsMusicalSymbols'/>
-      <ref name='xmlUCSIsMyanmar'/>
-      <ref name='xmlUCSIsNumberForms'/>
-      <ref name='xmlUCSIsOgham'/>
-      <ref name='xmlUCSIsOldItalic'/>
-      <ref name='xmlUCSIsOpticalCharacterRecognition'/>
-      <ref name='xmlUCSIsOriya'/>
-      <ref name='xmlUCSIsOsmanya'/>
-      <ref name='xmlUCSIsPhoneticExtensions'/>
-      <ref name='xmlUCSIsPrivateUse'/>
-      <ref name='xmlUCSIsPrivateUseArea'/>
-      <ref name='xmlUCSIsRunic'/>
-      <ref name='xmlUCSIsShavian'/>
-      <ref name='xmlUCSIsSinhala'/>
-      <ref name='xmlUCSIsSmallFormVariants'/>
-      <ref name='xmlUCSIsSpacingModifierLetters'/>
-      <ref name='xmlUCSIsSpecials'/>
-      <ref name='xmlUCSIsSuperscriptsandSubscripts'/>
-      <ref name='xmlUCSIsSupplementalArrowsA'/>
-      <ref name='xmlUCSIsSupplementalArrowsB'/>
-      <ref name='xmlUCSIsSupplementalMathematicalOperators'/>
-      <ref name='xmlUCSIsSupplementaryPrivateUseAreaA'/>
-      <ref name='xmlUCSIsSupplementaryPrivateUseAreaB'/>
-      <ref name='xmlUCSIsSyriac'/>
-      <ref name='xmlUCSIsTagalog'/>
-      <ref name='xmlUCSIsTagbanwa'/>
-      <ref name='xmlUCSIsTags'/>
-      <ref name='xmlUCSIsTaiLe'/>
-      <ref name='xmlUCSIsTaiXuanJingSymbols'/>
-      <ref name='xmlUCSIsTamil'/>
-      <ref name='xmlUCSIsTelugu'/>
-      <ref name='xmlUCSIsThaana'/>
-      <ref name='xmlUCSIsThai'/>
-      <ref name='xmlUCSIsTibetan'/>
-      <ref name='xmlUCSIsUgaritic'/>
-      <ref name='xmlUCSIsUnifiedCanadianAboriginalSyllabics'/>
-      <ref name='xmlUCSIsVariationSelectors'/>
-      <ref name='xmlUCSIsVariationSelectorsSupplement'/>
-      <ref name='xmlUCSIsYiRadicals'/>
-      <ref name='xmlUCSIsYiSyllables'/>
-      <ref name='xmlUCSIsYijingHexagramSymbols'/>
-    </file>
-    <file name='xmlversion'>
-      <ref name='ATTRIBUTE_UNUSED'/>
-      <ref name='DEBUG_MEMORY_LOCATION'/>
-      <ref name='LIBXML_ATTR_ALLOC_SIZE'/>
-      <ref name='LIBXML_ATTR_FORMAT'/>
-      <ref name='LIBXML_AUTOMATA_ENABLED'/>
-      <ref name='LIBXML_C14N_ENABLED'/>
-      <ref name='LIBXML_CATALOG_ENABLED'/>
-      <ref name='LIBXML_DEBUG_ENABLED'/>
-      <ref name='LIBXML_DEBUG_RUNTIME'/>
-      <ref name='LIBXML_DOCB_ENABLED'/>
-      <ref name='LIBXML_DOTTED_VERSION'/>
-      <ref name='LIBXML_EXPR_ENABLED'/>
-      <ref name='LIBXML_FTP_ENABLED'/>
-      <ref name='LIBXML_HTML_ENABLED'/>
-      <ref name='LIBXML_HTTP_ENABLED'/>
-      <ref name='LIBXML_ICONV_ENABLED'/>
-      <ref name='LIBXML_ICU_ENABLED'/>
-      <ref name='LIBXML_ISO8859X_ENABLED'/>
-      <ref name='LIBXML_LEGACY_ENABLED'/>
-      <ref name='LIBXML_LZMA_ENABLED'/>
-      <ref name='LIBXML_MODULES_ENABLED'/>
-      <ref name='LIBXML_MODULE_EXTENSION'/>
-      <ref name='LIBXML_OUTPUT_ENABLED'/>
-      <ref name='LIBXML_PATTERN_ENABLED'/>
-      <ref name='LIBXML_PUSH_ENABLED'/>
-      <ref name='LIBXML_READER_ENABLED'/>
-      <ref name='LIBXML_REGEXP_ENABLED'/>
-      <ref name='LIBXML_SAX1_ENABLED'/>
-      <ref name='LIBXML_SCHEMAS_ENABLED'/>
-      <ref name='LIBXML_SCHEMATRON_ENABLED'/>
-      <ref name='LIBXML_TEST_VERSION'/>
-      <ref name='LIBXML_THREAD_ALLOC_ENABLED'/>
-      <ref name='LIBXML_THREAD_ENABLED'/>
-      <ref name='LIBXML_TREE_ENABLED'/>
-      <ref name='LIBXML_UNICODE_ENABLED'/>
-      <ref name='LIBXML_VALID_ENABLED'/>
-      <ref name='LIBXML_VERSION'/>
-      <ref name='LIBXML_VERSION_EXTRA'/>
-      <ref name='LIBXML_VERSION_STRING'/>
-      <ref name='LIBXML_WRITER_ENABLED'/>
-      <ref name='LIBXML_XINCLUDE_ENABLED'/>
-      <ref name='LIBXML_XPATH_ENABLED'/>
-      <ref name='LIBXML_XPTR_ENABLED'/>
-      <ref name='LIBXML_ZLIB_ENABLED'/>
-      <ref name='WITHOUT_TRIO'/>
-      <ref name='WITH_TRIO'/>
-      <ref name='xmlCheckVersion'/>
-    </file>
-    <file name='xmlwriter'>
-      <ref name='xmlFreeTextWriter'/>
-      <ref name='xmlNewTextWriter'/>
-      <ref name='xmlNewTextWriterDoc'/>
-      <ref name='xmlNewTextWriterFilename'/>
-      <ref name='xmlNewTextWriterMemory'/>
-      <ref name='xmlNewTextWriterPushParser'/>
-      <ref name='xmlNewTextWriterTree'/>
-      <ref name='xmlTextWriter'/>
-      <ref name='xmlTextWriterEndAttribute'/>
-      <ref name='xmlTextWriterEndCDATA'/>
-      <ref name='xmlTextWriterEndComment'/>
-      <ref name='xmlTextWriterEndDTD'/>
-      <ref name='xmlTextWriterEndDTDAttlist'/>
-      <ref name='xmlTextWriterEndDTDElement'/>
-      <ref name='xmlTextWriterEndDTDEntity'/>
-      <ref name='xmlTextWriterEndDocument'/>
-      <ref name='xmlTextWriterEndElement'/>
-      <ref name='xmlTextWriterEndPI'/>
-      <ref name='xmlTextWriterFlush'/>
-      <ref name='xmlTextWriterFullEndElement'/>
-      <ref name='xmlTextWriterPtr'/>
-      <ref name='xmlTextWriterSetIndent'/>
-      <ref name='xmlTextWriterSetIndentString'/>
-      <ref name='xmlTextWriterSetQuoteChar'/>
-      <ref name='xmlTextWriterStartAttribute'/>
-      <ref name='xmlTextWriterStartAttributeNS'/>
-      <ref name='xmlTextWriterStartCDATA'/>
-      <ref name='xmlTextWriterStartComment'/>
-      <ref name='xmlTextWriterStartDTD'/>
-      <ref name='xmlTextWriterStartDTDAttlist'/>
-      <ref name='xmlTextWriterStartDTDElement'/>
-      <ref name='xmlTextWriterStartDTDEntity'/>
-      <ref name='xmlTextWriterStartDocument'/>
-      <ref name='xmlTextWriterStartElement'/>
-      <ref name='xmlTextWriterStartElementNS'/>
-      <ref name='xmlTextWriterStartPI'/>
-      <ref name='xmlTextWriterWriteAttribute'/>
-      <ref name='xmlTextWriterWriteAttributeNS'/>
-      <ref name='xmlTextWriterWriteBase64'/>
-      <ref name='xmlTextWriterWriteBinHex'/>
-      <ref name='xmlTextWriterWriteCDATA'/>
-      <ref name='xmlTextWriterWriteComment'/>
-      <ref name='xmlTextWriterWriteDTD'/>
-      <ref name='xmlTextWriterWriteDTDAttlist'/>
-      <ref name='xmlTextWriterWriteDTDElement'/>
-      <ref name='xmlTextWriterWriteDTDEntity'/>
-      <ref name='xmlTextWriterWriteDTDExternalEntity'/>
-      <ref name='xmlTextWriterWriteDTDExternalEntityContents'/>
-      <ref name='xmlTextWriterWriteDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteDTDNotation'/>
-      <ref name='xmlTextWriterWriteDocType'/>
-      <ref name='xmlTextWriterWriteElement'/>
-      <ref name='xmlTextWriterWriteElementNS'/>
-      <ref name='xmlTextWriterWriteFormatAttribute'/>
-      <ref name='xmlTextWriterWriteFormatAttributeNS'/>
-      <ref name='xmlTextWriterWriteFormatCDATA'/>
-      <ref name='xmlTextWriterWriteFormatComment'/>
-      <ref name='xmlTextWriterWriteFormatDTD'/>
-      <ref name='xmlTextWriterWriteFormatDTDAttlist'/>
-      <ref name='xmlTextWriterWriteFormatDTDElement'/>
-      <ref name='xmlTextWriterWriteFormatDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteFormatElement'/>
-      <ref name='xmlTextWriterWriteFormatElementNS'/>
-      <ref name='xmlTextWriterWriteFormatPI'/>
-      <ref name='xmlTextWriterWriteFormatRaw'/>
-      <ref name='xmlTextWriterWriteFormatString'/>
-      <ref name='xmlTextWriterWritePI'/>
-      <ref name='xmlTextWriterWriteProcessingInstruction'/>
-      <ref name='xmlTextWriterWriteRaw'/>
-      <ref name='xmlTextWriterWriteRawLen'/>
-      <ref name='xmlTextWriterWriteString'/>
-      <ref name='xmlTextWriterWriteVFormatAttribute'/>
-      <ref name='xmlTextWriterWriteVFormatAttributeNS'/>
-      <ref name='xmlTextWriterWriteVFormatCDATA'/>
-      <ref name='xmlTextWriterWriteVFormatComment'/>
-      <ref name='xmlTextWriterWriteVFormatDTD'/>
-      <ref name='xmlTextWriterWriteVFormatDTDAttlist'/>
-      <ref name='xmlTextWriterWriteVFormatDTDElement'/>
-      <ref name='xmlTextWriterWriteVFormatDTDInternalEntity'/>
-      <ref name='xmlTextWriterWriteVFormatElement'/>
-      <ref name='xmlTextWriterWriteVFormatElementNS'/>
-      <ref name='xmlTextWriterWriteVFormatPI'/>
-      <ref name='xmlTextWriterWriteVFormatRaw'/>
-      <ref name='xmlTextWriterWriteVFormatString'/>
-    </file>
-    <file name='xpath'>
-      <ref name='XML_XPATH_CHECKNS'/>
-      <ref name='XML_XPATH_NOVAR'/>
-      <ref name='XPATH_BOOLEAN'/>
-      <ref name='XPATH_ENCODING_ERROR'/>
-      <ref name='XPATH_EXPRESSION_OK'/>
-      <ref name='XPATH_EXPR_ERROR'/>
-      <ref name='XPATH_FORBID_VARIABLE_ERROR'/>
-      <ref name='XPATH_INVALID_ARITY'/>
-      <ref name='XPATH_INVALID_CHAR_ERROR'/>
-      <ref name='XPATH_INVALID_CTXT'/>
-      <ref name='XPATH_INVALID_CTXT_POSITION'/>
-      <ref name='XPATH_INVALID_CTXT_SIZE'/>
-      <ref name='XPATH_INVALID_OPERAND'/>
-      <ref name='XPATH_INVALID_PREDICATE_ERROR'/>
-      <ref name='XPATH_INVALID_TYPE'/>
-      <ref name='XPATH_LOCATIONSET'/>
-      <ref name='XPATH_MEMORY_ERROR'/>
-      <ref name='XPATH_NODESET'/>
-      <ref name='XPATH_NUMBER'/>
-      <ref name='XPATH_NUMBER_ERROR'/>
-      <ref name='XPATH_OP_LIMIT_EXCEEDED'/>
-      <ref name='XPATH_POINT'/>
-      <ref name='XPATH_RANGE'/>
-      <ref name='XPATH_RECURSION_LIMIT_EXCEEDED'/>
-      <ref name='XPATH_STACK_ERROR'/>
-      <ref name='XPATH_START_LITERAL_ERROR'/>
-      <ref name='XPATH_STRING'/>
-      <ref name='XPATH_UNCLOSED_ERROR'/>
-      <ref name='XPATH_UNDEFINED'/>
-      <ref name='XPATH_UNDEF_PREFIX_ERROR'/>
-      <ref name='XPATH_UNDEF_VARIABLE_ERROR'/>
-      <ref name='XPATH_UNFINISHED_LITERAL_ERROR'/>
-      <ref name='XPATH_UNKNOWN_FUNC_ERROR'/>
-      <ref name='XPATH_USERS'/>
-      <ref name='XPATH_VARIABLE_REF_ERROR'/>
-      <ref name='XPATH_XSLT_TREE'/>
-      <ref name='XPTR_RESOURCE_ERROR'/>
-      <ref name='XPTR_SUB_RESOURCE_ERROR'/>
-      <ref name='XPTR_SYNTAX_ERROR'/>
-      <ref name='_xmlNodeSet'/>
-      <ref name='_xmlXPathAxis'/>
-      <ref name='_xmlXPathContext'/>
-      <ref name='_xmlXPathFunct'/>
-      <ref name='_xmlXPathObject'/>
-      <ref name='_xmlXPathParserContext'/>
-      <ref name='_xmlXPathType'/>
-      <ref name='_xmlXPathVariable'/>
-      <ref name='xmlNodeSet'/>
-      <ref name='xmlNodeSetPtr'/>
-      <ref name='xmlXPathAxis'/>
-      <ref name='xmlXPathAxisFunc'/>
-      <ref name='xmlXPathAxisPtr'/>
-      <ref name='xmlXPathCastBooleanToNumber'/>
-      <ref name='xmlXPathCastBooleanToString'/>
-      <ref name='xmlXPathCastNodeSetToBoolean'/>
-      <ref name='xmlXPathCastNodeSetToNumber'/>
-      <ref name='xmlXPathCastNodeSetToString'/>
-      <ref name='xmlXPathCastNodeToNumber'/>
-      <ref name='xmlXPathCastNodeToString'/>
-      <ref name='xmlXPathCastNumberToBoolean'/>
-      <ref name='xmlXPathCastNumberToString'/>
-      <ref name='xmlXPathCastStringToBoolean'/>
-      <ref name='xmlXPathCastStringToNumber'/>
-      <ref name='xmlXPathCastToBoolean'/>
-      <ref name='xmlXPathCastToNumber'/>
-      <ref name='xmlXPathCastToString'/>
-      <ref name='xmlXPathCmpNodes'/>
-      <ref name='xmlXPathCompExpr'/>
-      <ref name='xmlXPathCompExprPtr'/>
-      <ref name='xmlXPathCompile'/>
-      <ref name='xmlXPathCompiledEval'/>
-      <ref name='xmlXPathCompiledEvalToBoolean'/>
-      <ref name='xmlXPathContext'/>
-      <ref name='xmlXPathContextPtr'/>
-      <ref name='xmlXPathContextSetCache'/>
-      <ref name='xmlXPathConvertBoolean'/>
-      <ref name='xmlXPathConvertFunc'/>
-      <ref name='xmlXPathConvertNumber'/>
-      <ref name='xmlXPathConvertString'/>
-      <ref name='xmlXPathCtxtCompile'/>
-      <ref name='xmlXPathError'/>
-      <ref name='xmlXPathEval'/>
-      <ref name='xmlXPathEvalExpression'/>
-      <ref name='xmlXPathEvalFunc'/>
-      <ref name='xmlXPathEvalPredicate'/>
-      <ref name='xmlXPathFreeCompExpr'/>
-      <ref name='xmlXPathFreeContext'/>
-      <ref name='xmlXPathFreeNodeSet'/>
-      <ref name='xmlXPathFreeNodeSetList'/>
-      <ref name='xmlXPathFreeObject'/>
-      <ref name='xmlXPathFuncLookupFunc'/>
-      <ref name='xmlXPathFuncPtr'/>
-      <ref name='xmlXPathFunct'/>
-      <ref name='xmlXPathFunction'/>
-      <ref name='xmlXPathInit'/>
-      <ref name='xmlXPathIsInf'/>
-      <ref name='xmlXPathIsNaN'/>
-      <ref name='xmlXPathNAN'/>
-      <ref name='xmlXPathNINF'/>
-      <ref name='xmlXPathNewContext'/>
-      <ref name='xmlXPathNodeEval'/>
-      <ref name='xmlXPathNodeSetCreate'/>
-      <ref name='xmlXPathNodeSetGetLength'/>
-      <ref name='xmlXPathNodeSetIsEmpty'/>
-      <ref name='xmlXPathNodeSetItem'/>
-      <ref name='xmlXPathObject'/>
-      <ref name='xmlXPathObjectCopy'/>
-      <ref name='xmlXPathObjectPtr'/>
-      <ref name='xmlXPathObjectType'/>
-      <ref name='xmlXPathOrderDocElems'/>
-      <ref name='xmlXPathPINF'/>
-      <ref name='xmlXPathParserContext'/>
-      <ref name='xmlXPathParserContextPtr'/>
-      <ref name='xmlXPathSetContextNode'/>
-      <ref name='xmlXPathType'/>
-      <ref name='xmlXPathTypePtr'/>
-      <ref name='xmlXPathVariable'/>
-      <ref name='xmlXPathVariableLookupFunc'/>
-      <ref name='xmlXPathVariablePtr'/>
-    </file>
-    <file name='xpathInternals'>
-      <ref name='CAST_TO_BOOLEAN'/>
-      <ref name='CAST_TO_NUMBER'/>
-      <ref name='CAST_TO_STRING'/>
-      <ref name='CHECK_ARITY'/>
-      <ref name='CHECK_ERROR'/>
-      <ref name='CHECK_ERROR0'/>
-      <ref name='CHECK_TYPE'/>
-      <ref name='CHECK_TYPE0'/>
-      <ref name='XP_ERROR'/>
-      <ref name='XP_ERROR0'/>
-      <ref name='valuePop'/>
-      <ref name='valuePush'/>
-      <ref name='xmlXPathAddValues'/>
-      <ref name='xmlXPathBooleanFunction'/>
-      <ref name='xmlXPathCeilingFunction'/>
-      <ref name='xmlXPathCheckError'/>
-      <ref name='xmlXPathCompareValues'/>
-      <ref name='xmlXPathConcatFunction'/>
-      <ref name='xmlXPathContainsFunction'/>
-      <ref name='xmlXPathCountFunction'/>
-      <ref name='xmlXPathDebugDumpCompExpr'/>
-      <ref name='xmlXPathDebugDumpObject'/>
-      <ref name='xmlXPathDifference'/>
-      <ref name='xmlXPathDistinct'/>
-      <ref name='xmlXPathDistinctSorted'/>
-      <ref name='xmlXPathDivValues'/>
-      <ref name='xmlXPathEmptyNodeSet'/>
-      <ref name='xmlXPathEqualValues'/>
-      <ref name='xmlXPathErr'/>
-      <ref name='xmlXPathEvalExpr'/>
-      <ref name='xmlXPathEvaluatePredicateResult'/>
-      <ref name='xmlXPathFalseFunction'/>
-      <ref name='xmlXPathFloorFunction'/>
-      <ref name='xmlXPathFreeParserContext'/>
-      <ref name='xmlXPathFunctionLookup'/>
-      <ref name='xmlXPathFunctionLookupNS'/>
-      <ref name='xmlXPathGetContextNode'/>
-      <ref name='xmlXPathGetDocument'/>
-      <ref name='xmlXPathGetError'/>
-      <ref name='xmlXPathHasSameNodes'/>
-      <ref name='xmlXPathIdFunction'/>
-      <ref name='xmlXPathIntersection'/>
-      <ref name='xmlXPathIsNodeType'/>
-      <ref name='xmlXPathLangFunction'/>
-      <ref name='xmlXPathLastFunction'/>
-      <ref name='xmlXPathLeading'/>
-      <ref name='xmlXPathLeadingSorted'/>
-      <ref name='xmlXPathLocalNameFunction'/>
-      <ref name='xmlXPathModValues'/>
-      <ref name='xmlXPathMultValues'/>
-      <ref name='xmlXPathNamespaceURIFunction'/>
-      <ref name='xmlXPathNewBoolean'/>
-      <ref name='xmlXPathNewCString'/>
-      <ref name='xmlXPathNewFloat'/>
-      <ref name='xmlXPathNewNodeSet'/>
-      <ref name='xmlXPathNewNodeSetList'/>
-      <ref name='xmlXPathNewParserContext'/>
-      <ref name='xmlXPathNewString'/>
-      <ref name='xmlXPathNewValueTree'/>
-      <ref name='xmlXPathNextAncestor'/>
-      <ref name='xmlXPathNextAncestorOrSelf'/>
-      <ref name='xmlXPathNextAttribute'/>
-      <ref name='xmlXPathNextChild'/>
-      <ref name='xmlXPathNextDescendant'/>
-      <ref name='xmlXPathNextDescendantOrSelf'/>
-      <ref name='xmlXPathNextFollowing'/>
-      <ref name='xmlXPathNextFollowingSibling'/>
-      <ref name='xmlXPathNextNamespace'/>
-      <ref name='xmlXPathNextParent'/>
-      <ref name='xmlXPathNextPreceding'/>
-      <ref name='xmlXPathNextPrecedingSibling'/>
-      <ref name='xmlXPathNextSelf'/>
-      <ref name='xmlXPathNodeLeading'/>
-      <ref name='xmlXPathNodeLeadingSorted'/>
-      <ref name='xmlXPathNodeSetAdd'/>
-      <ref name='xmlXPathNodeSetAddNs'/>
-      <ref name='xmlXPathNodeSetAddUnique'/>
-      <ref name='xmlXPathNodeSetContains'/>
-      <ref name='xmlXPathNodeSetDel'/>
-      <ref name='xmlXPathNodeSetFreeNs'/>
-      <ref name='xmlXPathNodeSetMerge'/>
-      <ref name='xmlXPathNodeSetRemove'/>
-      <ref name='xmlXPathNodeSetSort'/>
-      <ref name='xmlXPathNodeTrailing'/>
-      <ref name='xmlXPathNodeTrailingSorted'/>
-      <ref name='xmlXPathNormalizeFunction'/>
-      <ref name='xmlXPathNotEqualValues'/>
-      <ref name='xmlXPathNotFunction'/>
-      <ref name='xmlXPathNsLookup'/>
-      <ref name='xmlXPathNumberFunction'/>
-      <ref name='xmlXPathParseNCName'/>
-      <ref name='xmlXPathParseName'/>
-      <ref name='xmlXPathPopBoolean'/>
-      <ref name='xmlXPathPopExternal'/>
-      <ref name='xmlXPathPopNodeSet'/>
-      <ref name='xmlXPathPopNumber'/>
-      <ref name='xmlXPathPopString'/>
-      <ref name='xmlXPathPositionFunction'/>
-      <ref name='xmlXPathRegisterAllFunctions'/>
-      <ref name='xmlXPathRegisterFunc'/>
-      <ref name='xmlXPathRegisterFuncLookup'/>
-      <ref name='xmlXPathRegisterFuncNS'/>
-      <ref name='xmlXPathRegisterNs'/>
-      <ref name='xmlXPathRegisterVariable'/>
-      <ref name='xmlXPathRegisterVariableLookup'/>
-      <ref name='xmlXPathRegisterVariableNS'/>
-      <ref name='xmlXPathRegisteredFuncsCleanup'/>
-      <ref name='xmlXPathRegisteredNsCleanup'/>
-      <ref name='xmlXPathRegisteredVariablesCleanup'/>
-      <ref name='xmlXPathReturnBoolean'/>
-      <ref name='xmlXPathReturnEmptyNodeSet'/>
-      <ref name='xmlXPathReturnEmptyString'/>
-      <ref name='xmlXPathReturnExternal'/>
-      <ref name='xmlXPathReturnFalse'/>
-      <ref name='xmlXPathReturnNodeSet'/>
-      <ref name='xmlXPathReturnNumber'/>
-      <ref name='xmlXPathReturnString'/>
-      <ref name='xmlXPathReturnTrue'/>
-      <ref name='xmlXPathRoot'/>
-      <ref name='xmlXPathRoundFunction'/>
-      <ref name='xmlXPathSetArityError'/>
-      <ref name='xmlXPathSetError'/>
-      <ref name='xmlXPathSetTypeError'/>
-      <ref name='xmlXPathStackIsExternal'/>
-      <ref name='xmlXPathStackIsNodeSet'/>
-      <ref name='xmlXPathStartsWithFunction'/>
-      <ref name='xmlXPathStringEvalNumber'/>
-      <ref name='xmlXPathStringFunction'/>
-      <ref name='xmlXPathStringLengthFunction'/>
-      <ref name='xmlXPathSubValues'/>
-      <ref name='xmlXPathSubstringAfterFunction'/>
-      <ref name='xmlXPathSubstringBeforeFunction'/>
-      <ref name='xmlXPathSubstringFunction'/>
-      <ref name='xmlXPathSumFunction'/>
-      <ref name='xmlXPathTrailing'/>
-      <ref name='xmlXPathTrailingSorted'/>
-      <ref name='xmlXPathTranslateFunction'/>
-      <ref name='xmlXPathTrueFunction'/>
-      <ref name='xmlXPathValueFlipSign'/>
-      <ref name='xmlXPathVariableLookup'/>
-      <ref name='xmlXPathVariableLookupNS'/>
-      <ref name='xmlXPathWrapCString'/>
-      <ref name='xmlXPathWrapExternal'/>
-      <ref name='xmlXPathWrapNodeSet'/>
-      <ref name='xmlXPathWrapString'/>
-      <ref name='xmlXPatherror'/>
-    </file>
-    <file name='xpointer'>
-      <ref name='_xmlLocationSet'/>
-      <ref name='xmlLocationSet'/>
-      <ref name='xmlLocationSetPtr'/>
-      <ref name='xmlXPtrBuildNodeList'/>
-      <ref name='xmlXPtrEval'/>
-      <ref name='xmlXPtrEvalRangePredicate'/>
-      <ref name='xmlXPtrFreeLocationSet'/>
-      <ref name='xmlXPtrLocationSetAdd'/>
-      <ref name='xmlXPtrLocationSetCreate'/>
-      <ref name='xmlXPtrLocationSetDel'/>
-      <ref name='xmlXPtrLocationSetMerge'/>
-      <ref name='xmlXPtrLocationSetRemove'/>
-      <ref name='xmlXPtrNewCollapsedRange'/>
-      <ref name='xmlXPtrNewContext'/>
-      <ref name='xmlXPtrNewLocationSetNodeSet'/>
-      <ref name='xmlXPtrNewLocationSetNodes'/>
-      <ref name='xmlXPtrNewRange'/>
-      <ref name='xmlXPtrNewRangeNodeObject'/>
-      <ref name='xmlXPtrNewRangeNodePoint'/>
-      <ref name='xmlXPtrNewRangeNodes'/>
-      <ref name='xmlXPtrNewRangePointNode'/>
-      <ref name='xmlXPtrNewRangePoints'/>
-      <ref name='xmlXPtrRangeToFunction'/>
-      <ref name='xmlXPtrWrapLocationSet'/>
-    </file>
-  </files>
-  <index>
-    <chunk name='chunk0'>
-      <letter name='A'>
-        <word name='A-Z'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='A-Za-z'>
-          <ref name='xmlParseEncName'/>
-        </word>
-        <word name='A-Za-z0-9'>
-          <ref name='xmlParseEncName'/>
-        </word>
-        <word name='ABC'>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='ABI'>
-          <ref name='_xmlError'/>
-        </word>
-        <word name='ALL'>
-          <ref name='xmlAutomataNewAllTrans'/>
-        </word>
-        <word name='ANY'>
-          <ref name='xmlIsMixedElement'/>
-          <ref name='xmlParseElementContentDecl'/>
-        </word>
-        <word name='APIs'>
-          <ref name='LIBXML_LEGACY_ENABLED'/>
-          <ref name='xmlSchemaValidateSetFilename'/>
-        </word>
-        <word name='ARRAY'>
-          <ref name='xmlStrlen'/>
-          <ref name='xmlUTF8Strsize'/>
-        </word>
-        <word name='ASCII'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='xmlAddEncodingAlias'/>
-          <ref name='xmlDelEncodingAlias'/>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-          <ref name='xmlGetEncodingAlias'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-          <ref name='xmlNewCharEncodingHandler'/>
-          <ref name='xmlParseCharEncoding'/>
-        </word>
-        <word name='ATTLIST'>
-          <ref name='xmlTextWriterStartDTDAttlist'/>
-          <ref name='xmlTextWriterStartDTDEntity'/>
-          <ref name='xmlTextWriterWriteDTDAttlist'/>
-          <ref name='xmlTextWriterWriteFormatDTDAttlist'/>
-          <ref name='xmlTextWriterWriteVFormatDTDAttlist'/>
-        </word>
-        <word name='ATTRIBUTE'>
-          <ref name='xmlAddChild'/>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-        </word>
-        <word name='Absolute'>
-          <ref name='xmlBuildURI'/>
-        </word>
-        <word name='Accessor'>
-          <ref name='xmlSchemaGetValType'/>
-          <ref name='xmlSchemaValueGetAsBoolean'/>
-          <ref name='xmlSchemaValueGetAsString'/>
-          <ref name='xmlSchemaValueGetNext'/>
-        </word>
-        <word name='Activation'>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetSchema'/>
-        </word>
-        <word name='Actually'>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-        </word>
-        <word name='Add'>
-          <ref name='xmlACatalogAdd'/>
-          <ref name='xmlAddChild'/>
-          <ref name='xmlAddChildList'/>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlAddSibling'/>
-          <ref name='xmlBufferAdd'/>
-          <ref name='xmlBufferAddHead'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlCatalogAddLocal'/>
-          <ref name='xmlDictLookup'/>
-          <ref name='xmlDictQLookup'/>
-          <ref name='xmlHashAddEntry'/>
-          <ref name='xmlHashAddEntry2'/>
-          <ref name='xmlHashAddEntry3'/>
-          <ref name='xmlHashUpdateEntry'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-        </word>
-        <word name='Added'>
-          <ref name='xmlDictGetUsage'/>
-          <ref name='xmlDictSetLimit'/>
-        </word>
-        <word name='Additional'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlCleanupGlobals'/>
-          <ref name='xmlInitGlobals'/>
-        </word>
-        <word name='AegeanNumbers'>
-          <ref name='xmlUCSIsAegeanNumbers'/>
-        </word>
-        <word name='Alias'>
-          <ref name='xmlXPathEvalExpression'/>
-        </word>
-        <word name='All'>
-          <ref name='_xmlSchema'/>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xmlNanoFTPGet'/>
-          <ref name='xmlNanoFTPList'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlTextWriterEndDocument'/>
-        </word>
-        <word name='Allocate'>
-          <ref name='htmlNewParserCtxt'/>
-          <ref name='xmlNanoFTPNewCtxt'/>
-          <ref name='xmlNewDocElementContent'/>
-          <ref name='xmlNewElementContent'/>
-          <ref name='xmlNewParserCtxt'/>
-          <ref name='xmlNewValidCtxt'/>
-          <ref name='xmlSchemaNewFacet'/>
-          <ref name='xmlSchemaNewNOTATIONValue'/>
-          <ref name='xmlSchemaNewQNameValue'/>
-          <ref name='xmlSchemaNewStringValue'/>
-        </word>
-        <word name='Allocates'>
-          <ref name='xmlDOMWrapNewCtxt'/>
-        </word>
-        <word name='Allows'>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-          <ref name='xmlSchemaValidateSetLocator'/>
-        </word>
-        <word name='AlphabeticPresentationForms'>
-          <ref name='xmlUCSIsAlphabeticPresentationForms'/>
-        </word>
-        <word name='Also'>
-          <ref name='xmlCheckUTF8'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-        </word>
-        <word name='Always'>
-          <ref name='IS_COMBINING_CH'/>
-        </word>
-        <word name='Append'>
-          <ref name='xmlBufferCCat'/>
-          <ref name='xmlBufferCat'/>
-          <ref name='xmlNodeAddContent'/>
-          <ref name='xmlNodeAddContentLen'/>
-        </word>
-        <word name='Appendix'>
-          <ref name='xmlRegexpCompile'/>
-        </word>
-        <word name='Appends'>
-          <ref name='xmlSchemaValueAppend'/>
-        </word>
-        <word name='Applies'>
-          <ref name='htmlCtxtUseOptions'/>
-          <ref name='xmlCtxtUseOptions'/>
-          <ref name='xmlNormalizeURIPath'/>
-          <ref name='xmlXPathCompiledEvalToBoolean'/>
-        </word>
-        <word name='Apply'>
-          <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
-          <ref name='XML_SCHEMAS_ANY_STRICT'/>
-        </word>
-        <word name='Arabic'>
-          <ref name='xmlUCSIsArabic'/>
-        </word>
-        <word name='ArabicPresentationForms-A'>
-          <ref name='xmlUCSIsArabicPresentationFormsA'/>
-        </word>
-        <word name='ArabicPresentationForms-B'>
-          <ref name='xmlUCSIsArabicPresentationFormsB'/>
-        </word>
-        <word name='Armenian'>
-          <ref name='xmlUCSIsArmenian'/>
-        </word>
-        <word name='Array'>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='Arrows'>
-          <ref name='xmlUCSIsArrows'/>
-        </word>
-        <word name='Associate'>
-          <ref name='xmlSetNs'/>
-        </word>
-        <word name='Att'>
-          <ref name='xmlParseStartTag'/>
-        </word>
-        <word name='AttDef'>
-          <ref name='xmlParseAttributeListDecl'/>
-        </word>
-        <word name='AttType'>
-          <ref name='xmlParseAttributeListDecl'/>
-          <ref name='xmlParseAttributeType'/>
-        </word>
-        <word name='AttValue'>
-          <ref name='htmlParseElement'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='AttlistDecl'>
-          <ref name='xmlParseAttributeListDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='Attribute'>
-          <ref name='_xmlAttribute'/>
-          <ref name='htmlNodeStatus'/>
-          <ref name='htmlParseElement'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseAttributeListDecl'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlTextReaderIsDefault'/>
-          <ref name='xmlTextReaderMoveToElement'/>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlValidateOneNamespace'/>
-        </word>
-        <word name='Attribute-Value'>
-          <ref name='xmlParseAttValue'/>
-        </word>
-        <word name='Attributes'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlParseNotationType'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneNamespace'/>
-          <ref name='xmlXPtrBuildNodeList'/>
-        </word>
-        <word name='Automatic'>
-          <ref name='docbCreateFileParserCtxt'/>
-          <ref name='docbParseFile'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='htmlCreateFileParserCtxt'/>
-          <ref name='htmlParseFile'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlCreateEntityParserCtxt'/>
-          <ref name='xmlCreateFileParserCtxt'/>
-          <ref name='xmlCreateURLParserCtxt'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlParseFile'/>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-          <ref name='xmlRecoverFile'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXUserParseFile'/>
-        </word>
-        <word name='Automatically'>
-          <ref name='xmlIsBaseCharQ'/>
-          <ref name='xmlIsBaseChar_ch'/>
-          <ref name='xmlIsBlankQ'/>
-          <ref name='xmlIsBlank_ch'/>
-          <ref name='xmlIsCharQ'/>
-          <ref name='xmlIsChar_ch'/>
-          <ref name='xmlIsCombiningQ'/>
-          <ref name='xmlIsDigitQ'/>
-          <ref name='xmlIsDigit_ch'/>
-          <ref name='xmlIsExtenderQ'/>
-          <ref name='xmlIsExtender_ch'/>
-          <ref name='xmlIsIdeographicQ'/>
-          <ref name='xmlIsPubidCharQ'/>
-          <ref name='xmlIsPubidChar_ch'/>
-        </word>
-      </letter>
-      <letter name='B'>
-        <word name='BASE'>
-          <ref name='xmlNodeGetBase'/>
-        </word>
-        <word name='BAr'>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='BOM'>
-          <ref name='xmlCharEncOutFunc'/>
-        </word>
-        <word name='Balanced'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseEntity'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlSAXParseEntity'/>
-        </word>
-        <word name='Base'>
-          <ref name='_xmlParserInput'/>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xmlNodeGetBase'/>
-        </word>
-        <word name='BaseChar'>
-          <ref name='IS_BASECHAR'/>
-          <ref name='IS_LETTER'/>
-          <ref name='xmlIsLetter'/>
-        </word>
-        <word name='Based'>
-          <ref name='xmlExpExpDerive'/>
-        </word>
-        <word name='BasicLatin'>
-          <ref name='xmlUCSIsBasicLatin'/>
-        </word>
-        <word name='Basically'>
-          <ref name='xmlValidateDtd'/>
-        </word>
-        <word name='Before'>
-          <ref name='xmlParseAttValue'/>
-        </word>
-        <word name='Behaves'>
-          <ref name='IS_CHAR_CH'/>
-          <ref name='IS_DIGIT_CH'/>
-          <ref name='IS_EXTENDER_CH'/>
-        </word>
-        <word name='Behaviour'>
-          <ref name='IS_BLANK_CH'/>
-        </word>
-        <word name='Bengali'>
-          <ref name='xmlUCSIsBengali'/>
-        </word>
-        <word name='Best'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='BinHex'>
-          <ref name='xmlTextWriterWriteBinHex'/>
-        </word>
-        <word name='Bit'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='XML_DETECT_IDS'/>
-          <ref name='XML_SKIP_IDS'/>
-        </word>
-        <word name='BlockElements'>
-          <ref name='xmlUCSIsBlockElements'/>
-        </word>
-        <word name='Blocks'>
-          <ref name='xmlStopParser'/>
-        </word>
-        <word name='Bopomofo'>
-          <ref name='xmlUCSIsBopomofo'/>
-        </word>
-        <word name='BopomofoExtended'>
-          <ref name='xmlUCSIsBopomofoExtended'/>
-        </word>
-        <word name='Both'>
-          <ref name='XML_SUBSTITUTE_BOTH'/>
-          <ref name='xmlSplitQName2'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='BoxDrawing'>
-          <ref name='xmlUCSIsBoxDrawing'/>
-        </word>
-        <word name='BraillePatterns'>
-          <ref name='xmlUCSIsBraillePatterns'/>
-        </word>
-        <word name='Brzozowski'>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlExpStringDerive'/>
-        </word>
-        <word name='Buffer'>
-          <ref name='xmlIOParseDTD'/>
-        </word>
-        <word name='Bugs:'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='Buhid'>
-          <ref name='xmlUCSIsBuhid'/>
-        </word>
-        <word name='Build'>
-          <ref name='xmlCopyAttributeTable'/>
-          <ref name='xmlCopyDocElementContent'/>
-          <ref name='xmlCopyElementContent'/>
-          <ref name='xmlCopyElementTable'/>
-          <ref name='xmlCopyEntitiesTable'/>
-          <ref name='xmlCopyNotationTable'/>
-          <ref name='xmlGetNodePath'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlRegNewExecCtxt'/>
-          <ref name='xmlValidBuildContentModel'/>
-          <ref name='xmlValidGetPotentialChildren'/>
-          <ref name='xmlXPtrBuildNodeList'/>
-        </word>
-        <word name='Builds'>
-          <ref name='xmlBuildQName'/>
-          <ref name='xmlNodeListGetRawString'/>
-        </word>
-        <word name='But'>
-          <ref name='xmlValidateNotationDecl'/>
-        </word>
-        <word name='ByzantineMusicalSymbols'>
-          <ref name='xmlUCSIsByzantineMusicalSymbols'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk1'>
-      <letter name='C'>
-        <word name='C14N'>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlC14NIsVisibleCallback'/>
-        </word>
-        <word name='CATALOG'>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-        </word>
-        <word name='CDATA'>
-          <ref name='HTML_PRESERVE_NODE'/>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlNewCDataBlock'/>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseCDSect'/>
-          <ref name='xmlParseCharData'/>
-          <ref name='xmlTextWriterEndCDATA'/>
-          <ref name='xmlTextWriterStartCDATA'/>
-          <ref name='xmlTextWriterWriteCDATA'/>
-          <ref name='xmlTextWriterWriteFormatCDATA'/>
-          <ref name='xmlTextWriterWriteVFormatCDATA'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-        </word>
-        <word name='CDEnd'>
-          <ref name='xmlParseCDSect'/>
-        </word>
-        <word name='CDSect'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseCDSect'/>
-          <ref name='xmlParseContent'/>
-          <ref name='xmlParseInNodeContext'/>
-        </word>
-        <word name='CDStart'>
-          <ref name='xmlParseCDSect'/>
-        </word>
-        <word name='CData'>
-          <ref name='xmlParseCDSect'/>
-          <ref name='xmlRelaxNGValidatePushCData'/>
-          <ref name='xmlValidatePushCData'/>
-        </word>
-        <word name='CJKCompatibility'>
-          <ref name='xmlUCSIsCJKCompatibility'/>
-        </word>
-        <word name='CJKCompatibilityForms'>
-          <ref name='xmlUCSIsCJKCompatibilityForms'/>
-        </word>
-        <word name='CJKCompatibilityIdeographs'>
-          <ref name='xmlUCSIsCJKCompatibilityIdeographs'/>
-        </word>
-        <word name='CJKCompatibilityIdeographsSupplement'>
-          <ref name='xmlUCSIsCJKCompatibilityIdeographsSupplement'/>
-        </word>
-        <word name='CJKRadicalsSupplement'>
-          <ref name='xmlUCSIsCJKRadicalsSupplement'/>
-        </word>
-        <word name='CJKSymbolsandPunctuation'>
-          <ref name='xmlUCSIsCJKSymbolsandPunctuation'/>
-        </word>
-        <word name='CJKUnifiedIdeographs'>
-          <ref name='xmlUCSIsCJKUnifiedIdeographs'/>
-        </word>
-        <word name='CJKUnifiedIdeographsExtensionA'>
-          <ref name='xmlUCSIsCJKUnifiedIdeographsExtensionA'/>
-        </word>
-        <word name='CJKUnifiedIdeographsExtensionB'>
-          <ref name='xmlUCSIsCJKUnifiedIdeographsExtensionB'/>
-        </word>
-        <word name='CWD'>
-          <ref name='xmlNanoFTPCwd'/>
-        </word>
-        <word name='Cache'>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='Call'>
-          <ref name='xmlInitParser'/>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='Callback'>
-          <ref name='externalSubset'/>
-          <ref name='externalSubsetSAXFunc'/>
-          <ref name='internalSubset'/>
-          <ref name='internalSubsetSAXFunc'/>
-          <ref name='xmlEntityReferenceFunc'/>
-          <ref name='xmlHashCopier'/>
-          <ref name='xmlHashDeallocator'/>
-          <ref name='xmlHashScanner'/>
-          <ref name='xmlHashScannerFull'/>
-          <ref name='xmlInputCloseCallback'/>
-          <ref name='xmlInputMatchCallback'/>
-          <ref name='xmlInputOpenCallback'/>
-          <ref name='xmlInputReadCallback'/>
-          <ref name='xmlListDataCompare'/>
-          <ref name='xmlListDeallocator'/>
-          <ref name='xmlListWalker'/>
-          <ref name='xmlOutputCloseCallback'/>
-          <ref name='xmlOutputMatchCallback'/>
-          <ref name='xmlOutputOpenCallback'/>
-          <ref name='xmlOutputWriteCallback'/>
-          <ref name='xmlParserInputDeallocate'/>
-          <ref name='xmlRegExecCallbacks'/>
-          <ref name='xmlSAX2ExternalSubset'/>
-          <ref name='xmlSAX2InternalSubset'/>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='Callback:'>
-          <ref name='resolveEntitySAXFunc'/>
-        </word>
-        <word name='Called'>
-          <ref name='cdataBlockSAXFunc'/>
-          <ref name='endDocumentSAXFunc'/>
-          <ref name='endElementSAXFunc'/>
-          <ref name='referenceSAXFunc'/>
-          <ref name='startDocumentSAXFunc'/>
-          <ref name='startElementSAXFunc'/>
-        </word>
-        <word name='Calling'>
-          <ref name='xmlRegisterHTTPPostCallbacks'/>
-        </word>
-        <word name='Canonical'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='Canonicalization'>
-          <ref name='LIBXML_C14N_ENABLED'/>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='Carl'>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='Catalog'>
-          <ref name='LIBXML_CATALOG_ENABLED'/>
-          <ref name='XML_CATALOG_PI'/>
-          <ref name='xmlACatalogAdd'/>
-          <ref name='xmlACatalogDump'/>
-          <ref name='xmlACatalogRemove'/>
-          <ref name='xmlACatalogResolve'/>
-          <ref name='xmlACatalogResolvePublic'/>
-          <ref name='xmlACatalogResolveSystem'/>
-          <ref name='xmlACatalogResolveURI'/>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-          <ref name='xmlFreeCatalog'/>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlNewCatalog'/>
-        </word>
-        <word name='Catalogs'>
-          <ref name='XML_CATALOGS_NAMESPACE'/>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-        </word>
-        <word name='Change'>
-          <ref name='xmlSetFeature'/>
-          <ref name='xmlTextReaderSetParserProp'/>
-        </word>
-        <word name='Changes'>
-          <ref name='xmlSetExternalEntityLoader'/>
-        </word>
-        <word name='Char'>
-          <ref name='IS_BYTE_CHAR'/>
-          <ref name='IS_CHAR'/>
-          <ref name='xmlParseCDSect'/>
-          <ref name='xmlParseCharRef'/>
-          <ref name='xmlParseComment'/>
-          <ref name='xmlParsePI'/>
-        </word>
-        <word name='CharData'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseCharData'/>
-          <ref name='xmlParseContent'/>
-          <ref name='xmlParseInNodeContext'/>
-        </word>
-        <word name='CharRef'>
-          <ref name='htmlParseCharRef'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-          <ref name='xmlParseCharRef'/>
-          <ref name='xmlParseReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-        </word>
-        <word name='Character'>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocDumpMemoryEnc'/>
-          <ref name='xmlGetCharEncodingName'/>
-          <ref name='xmlParseCharEncoding'/>
-          <ref name='xmlParseCharRef'/>
-        </word>
-        <word name='Characters'>
-          <ref name='xmlParseCharRef'/>
-        </word>
-        <word name='Checka'>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-        </word>
-        <word name='Checks'>
-          <ref name='htmlAttrAllowed'/>
-          <ref name='htmlElementAllowedHere'/>
-          <ref name='htmlElementAllowedHereDesc'/>
-          <ref name='htmlElementStatusHere'/>
-          <ref name='htmlNodeStatus'/>
-          <ref name='xmlAutomataIsDeterminist'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlCheckUTF8'/>
-          <ref name='xmlIsBlankNode'/>
-          <ref name='xmlSchemaCheckFacet'/>
-          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-          <ref name='xmlXPathNodeSetIsEmpty'/>
-          <ref name='xmlXPathStackIsExternal'/>
-        </word>
-        <word name='Cherokee'>
-          <ref name='xmlUCSIsCherokee'/>
-        </word>
-        <word name='Children'>
-          <ref name='xmlParseElementContentDecl'/>
-        </word>
-        <word name='Chunk'>
-          <ref name='docbParseChunk'/>
-          <ref name='htmlParseChunk'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseChunk'/>
-          <ref name='xmlParseInNodeContext'/>
-        </word>
-        <word name='Cleanup'>
-          <ref name='xmlCleanupCharEncodingHandlers'/>
-          <ref name='xmlCleanupPredefinedEntities'/>
-          <ref name='xmlCtxtResetLastError'/>
-          <ref name='xmlNanoFTPCleanup'/>
-          <ref name='xmlNanoHTTPCleanup'/>
-          <ref name='xmlRelaxNGCleanupTypes'/>
-          <ref name='xmlResetError'/>
-          <ref name='xmlResetLastError'/>
-          <ref name='xmlSchemaCleanupTypes'/>
-          <ref name='xmlSchemaFreeValue'/>
-          <ref name='xmlXPathRegisteredFuncsCleanup'/>
-          <ref name='xmlXPathRegisteredNsCleanup'/>
-          <ref name='xmlXPathRegisteredVariablesCleanup'/>
-        </word>
-        <word name='Clear'>
-          <ref name='xmlClearNodeInfoSeq'/>
-          <ref name='xmlClearParserCtxt'/>
-          <ref name='xmlPopInputCallbacks'/>
-        </word>
-        <word name='Clears'>
-          <ref name='xmlSetupParserForBuffer'/>
-        </word>
-        <word name='Close'>
-          <ref name='xmlFileClose'/>
-          <ref name='xmlIOFTPClose'/>
-          <ref name='xmlIOHTTPClose'/>
-          <ref name='xmlNanoFTPClose'/>
-          <ref name='xmlNanoFTPCloseConnection'/>
-          <ref name='xmlSaveClose'/>
-        </word>
-        <word name='Closed'>
-          <ref name='xmlTextReaderClose'/>
-        </word>
-        <word name='CombiningChar'>
-          <ref name='IS_COMBINING'/>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlParseName'/>
-          <ref name='xmlScanName'/>
-          <ref name='xmlXPathParseNCName'/>
-          <ref name='xmlXPathParseName'/>
-        </word>
-        <word name='CombiningDiacriticalMarks'>
-          <ref name='xmlUCSIsCombiningDiacriticalMarks'/>
-        </word>
-        <word name='CombiningDiacriticalMarksforSymbols'>
-          <ref name='xmlUCSIsCombiningDiacriticalMarksforSymbols'/>
-        </word>
-        <word name='CombiningHalfMarks'>
-          <ref name='xmlUCSIsCombiningHalfMarks'/>
-        </word>
-        <word name='CombiningMarksforSymbols'>
-          <ref name='xmlUCSIsCombiningMarksforSymbols'/>
-        </word>
-        <word name='Comment'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseComment'/>
-          <ref name='xmlParseContent'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParseMisc'/>
-        </word>
-        <word name='Compare'>
-          <ref name='xmlParseCharEncoding'/>
-          <ref name='xmlSchemaCompareValues'/>
-          <ref name='xmlSchemaCompareValuesWhtsp'/>
-          <ref name='xmlXPathCmpNodes'/>
-        </word>
-        <word name='Compile'>
-          <ref name='xmlAutomataCompile'/>
-          <ref name='xmlPatterncompile'/>
-          <ref name='xmlXPathCompile'/>
-          <ref name='xmlXPathCtxtCompile'/>
-          <ref name='xmlXPathStringEvalNumber'/>
-        </word>
-        <word name='Compress'>
-          <ref name='docbCreateFileParserCtxt'/>
-          <ref name='docbParseFile'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='htmlCreateFileParserCtxt'/>
-          <ref name='htmlParseFile'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlCreateEntityParserCtxt'/>
-          <ref name='xmlCreateFileParserCtxt'/>
-          <ref name='xmlCreateURLParserCtxt'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlParseFile'/>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-          <ref name='xmlRecoverFile'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXUserParseFile'/>
-        </word>
-        <word name='Computes'>
-          <ref name='xmlBuildURI'/>
-        </word>
-        <word name='Concat'>
-          <ref name='xmlTextConcat'/>
-        </word>
-        <word name='Constructs'>
-          <ref name='xmlCanonicPath'/>
-          <ref name='xmlPathToURI'/>
-        </word>
-        <word name='Content'>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlParseElementContentDecl'/>
-        </word>
-        <word name='Content-Type'>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-        </word>
-        <word name='Contrary'>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-        </word>
-        <word name='ControlPictures'>
-          <ref name='xmlUCSIsControlPictures'/>
-        </word>
-        <word name='Convenient'>
-          <ref name='xmlBoolToText'/>
-        </word>
-        <word name='Convert'>
-          <ref name='xmlCatalogConvert'/>
-          <ref name='xmlConvertSGMLCatalog'/>
-        </word>
-        <word name='Converts'>
-          <ref name='xmlXPathCastBooleanToNumber'/>
-          <ref name='xmlXPathCastBooleanToString'/>
-          <ref name='xmlXPathCastNodeSetToBoolean'/>
-          <ref name='xmlXPathCastNodeSetToNumber'/>
-          <ref name='xmlXPathCastNodeSetToString'/>
-          <ref name='xmlXPathCastNodeToNumber'/>
-          <ref name='xmlXPathCastNodeToString'/>
-          <ref name='xmlXPathCastNumberToBoolean'/>
-          <ref name='xmlXPathCastNumberToString'/>
-          <ref name='xmlXPathCastStringToBoolean'/>
-          <ref name='xmlXPathCastStringToNumber'/>
-          <ref name='xmlXPathCastToBoolean'/>
-          <ref name='xmlXPathCastToNumber'/>
-          <ref name='xmlXPathCastToString'/>
-          <ref name='xmlXPathConvertBoolean'/>
-          <ref name='xmlXPathConvertNumber'/>
-          <ref name='xmlXPathConvertString'/>
-        </word>
-        <word name='Copies'>
-          <ref name='xmlSchemaCopyValue'/>
-        </word>
-        <word name='Copy'>
-          <ref name='xmlCopyEnumeration'/>
-          <ref name='xmlGetFeaturesList'/>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='Correct'>
-          <ref name='xmlSetCompressMode'/>
-          <ref name='xmlSetDocCompressMode'/>
-        </word>
-        <word name='Could'>
-          <ref name='_xmlSchemaType'/>
-        </word>
-        <word name='Count'>
-          <ref name='xmlLsCountNode'/>
-        </word>
-        <word name='Creates'>
-          <ref name='htmlNewDoc'/>
-          <ref name='htmlNewDocNoDtD'/>
-          <ref name='xmlCreateDocParserCtxt'/>
-          <ref name='xmlExpNewCtxt'/>
-          <ref name='xmlNewDoc'/>
-          <ref name='xmlXIncludeNewContext'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='Creation'>
-          <ref name='xmlNewCDataBlock'/>
-          <ref name='xmlNewCharRef'/>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewComment'/>
-          <ref name='xmlNewDocComment'/>
-          <ref name='xmlNewDocFragment'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocPI'/>
-          <ref name='xmlNewDocRawNode'/>
-          <ref name='xmlNewDocText'/>
-          <ref name='xmlNewDocTextLen'/>
-          <ref name='xmlNewDtd'/>
-          <ref name='xmlNewGlobalNs'/>
-          <ref name='xmlNewNode'/>
-          <ref name='xmlNewNodeEatName'/>
-          <ref name='xmlNewNs'/>
-          <ref name='xmlNewPI'/>
-          <ref name='xmlNewReference'/>
-          <ref name='xmlNewText'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlNewTextLen'/>
-        </word>
-        <word name='CurrencySymbols'>
-          <ref name='xmlUCSIsCurrencySymbols'/>
-        </word>
-        <word name='Current'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlParserInput'/>
-          <ref name='_xmlValidCtxt'/>
-        </word>
-        <word name='Currently'>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlNanoFTPGetConnection'/>
-          <ref name='xmlNanoFTPInit'/>
-          <ref name='xmlNanoHTTPInit'/>
-          <ref name='xmlTextReaderNextSibling'/>
-        </word>
-        <word name='Cut'>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='CypriotSyllabary'>
-          <ref name='xmlUCSIsCypriotSyllabary'/>
-        </word>
-        <word name='Cyrillic'>
-          <ref name='xmlUCSIsCyrillic'/>
-        </word>
-        <word name='CyrillicSupplement'>
-          <ref name='xmlUCSIsCyrillicSupplement'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk2'>
-      <letter name='D'>
-        <word name='DEBUG_MEMORY'>
-          <ref name='DEBUG_MEMORY'/>
-        </word>
-        <word name='DEBUG_MEMORY_FREED'>
-          <ref name='DEBUG_MEMORY'/>
-        </word>
-        <word name='DEBUG_MEMORY_LOCATION'>
-          <ref name='DEBUG_MEMORY'/>
-        </word>
-        <word name='DELE'>
-          <ref name='xmlNanoFTPDele'/>
-        </word>
-        <word name='DELEGATE'>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-        </word>
-        <word name='DEMO'>
-          <ref name='getPublicId'/>
-          <ref name='xmlSAX2GetPublicId'/>
-        </word>
-        <word name='DEPRECATED'>
-          <ref name='checkNamespace'/>
-          <ref name='getNamespace'/>
-          <ref name='globalNamespace'/>
-          <ref name='namespaceDecl'/>
-          <ref name='setDocumentLocator'/>
-          <ref name='setNamespace'/>
-          <ref name='xmlCatalogGetPublic'/>
-          <ref name='xmlCatalogGetSystem'/>
-          <ref name='xmlIsBaseChar'/>
-          <ref name='xmlIsBlank'/>
-          <ref name='xmlIsChar'/>
-          <ref name='xmlIsCombining'/>
-          <ref name='xmlIsDigit'/>
-          <ref name='xmlIsExtender'/>
-          <ref name='xmlIsIdeographic'/>
-          <ref name='xmlIsPubidChar'/>
-          <ref name='xmlNewGlobalNs'/>
-        </word>
-        <word name='DIGIT'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='DOCTYPE'>
-          <ref name='xmlParseDocTypeDecl'/>
-        </word>
-        <word name='DOM-wrapper'>
-          <ref name='xmlDOMWrapFreeCtxt'/>
-          <ref name='xmlDOMWrapNewCtxt'/>
-        </word>
-        <word name='DTDs'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='xmlParserHandlePEReference'/>
-        </word>
-        <word name='Data'>
-          <ref name='xmlParseCDSect'/>
-        </word>
-        <word name='Datatype'>
-          <ref name='xmlRegexpCompile'/>
-        </word>
-        <word name='Datatypes'>
-          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-        </word>
-        <word name='Deallocate'>
-          <ref name='xmlFreeAttributeTable'/>
-          <ref name='xmlFreeElementTable'/>
-          <ref name='xmlFreeEntitiesTable'/>
-          <ref name='xmlFreeIDTable'/>
-          <ref name='xmlFreeNotationTable'/>
-          <ref name='xmlFreeRefTable'/>
-          <ref name='xmlFreeTextReader'/>
-          <ref name='xmlFreeTextWriter'/>
-          <ref name='xmlRelaxNGFree'/>
-          <ref name='xmlSchemaFree'/>
-          <ref name='xmlSchemaFreeFacet'/>
-          <ref name='xmlSchemaFreeType'/>
-          <ref name='xmlSchematronFree'/>
-        </word>
-        <word name='Deallocates'>
-          <ref name='xmlSchemaFreeWildcard'/>
-        </word>
-        <word name='Debugging'>
-          <ref name='LIBXML_DEBUG_ENABLED'/>
-          <ref name='xmlExpCtxtNbCons'/>
-          <ref name='xmlExpCtxtNbNodes'/>
-        </word>
-        <word name='Declaration'>
-          <ref name='xmlParseElementDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidateElementDecl'/>
-        </word>
-        <word name='Declared'>
-          <ref name='xmlParseEntityDecl'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlValidateNotationUse'/>
-        </word>
-        <word name='Default'>
-          <ref name='xmlHandleEntity'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneNamespace'/>
-        </word>
-        <word name='DefaultDecl'>
-          <ref name='xmlParseAttributeListDecl'/>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='Deletes'>
-          <ref name='xmlListDelete'/>
-        </word>
-        <word name='Depth'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlValidCtxt'/>
-        </word>
-        <word name='Dereference'>
-          <ref name='xmlExpFree'/>
-        </word>
-        <word name='DeregisterNodeFunc'>
-          <ref name='xmlDeregisterNodeDefault'/>
-        </word>
-        <word name='Deseret'>
-          <ref name='xmlUCSIsDeseret'/>
-        </word>
-        <word name='Determine'>
-          <ref name='htmlIsBooleanAttr'/>
-          <ref name='xmlIsID'/>
-          <ref name='xmlIsRef'/>
-          <ref name='xmlTextReaderConstEncoding'/>
-          <ref name='xmlTextReaderConstXmlVersion'/>
-          <ref name='xmlTextReaderIsNamespaceDecl'/>
-          <ref name='xmlTextReaderStandalone'/>
-        </word>
-        <word name='Devanagari'>
-          <ref name='xmlUCSIsDevanagari'/>
-        </word>
-        <word name='Different'>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='Digit'>
-          <ref name='IS_DIGIT'/>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlParseName'/>
-          <ref name='xmlScanName'/>
-          <ref name='xmlXPathParseNCName'/>
-          <ref name='xmlXPathParseName'/>
-        </word>
-        <word name='Digits'>
-          <ref name='xmlXPathStringEvalNumber'/>
-        </word>
-        <word name='Digits?'>
-          <ref name='xmlXPathStringEvalNumber'/>
-        </word>
-        <word name='Dingbats'>
-          <ref name='xmlUCSIsDingbats'/>
-        </word>
-        <word name='Display'>
-          <ref name='errorSAXFunc'/>
-          <ref name='fatalErrorSAXFunc'/>
-          <ref name='warningSAXFunc'/>
-          <ref name='xmlParserError'/>
-          <ref name='xmlParserValidityError'/>
-          <ref name='xmlParserValidityWarning'/>
-          <ref name='xmlParserWarning'/>
-        </word>
-        <word name='Displays'>
-          <ref name='xmlParserPrintFileContext'/>
-          <ref name='xmlParserPrintFileInfo'/>
-        </word>
-        <word name='DocBook'>
-          <ref name='docbCreatePushParserCtxt'/>
-          <ref name='initdocbDefaultSAXHandler'/>
-          <ref name='xmlSAX2InitDocbDefaultSAXHandler'/>
-        </word>
-        <word name='Docbook'>
-          <ref name='LIBXML_DOCB_ENABLED'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='docbParseFile'/>
-        </word>
-        <word name='Document'>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocDumpMemoryEnc'/>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlXIncludeNewContext'/>
-        </word>
-        <word name='Does'>
-          <ref name='hasExternalSubset'/>
-          <ref name='hasExternalSubsetSAXFunc'/>
-          <ref name='hasInternalSubset'/>
-          <ref name='hasInternalSubsetSAXFunc'/>
-          <ref name='xmlCharInRange'/>
-          <ref name='xmlSAX2HasExternalSubset'/>
-          <ref name='xmlSAX2HasInternalSubset'/>
-          <ref name='xmlShellList'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlValidateDocumentFinal'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='Douglas'>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='Draft'>
-          <ref name='xmlParseNamespace'/>
-        </word>
-        <word name='DtD'>
-          <ref name='xmlGetDtdAttrDesc'/>
-          <ref name='xmlGetDtdElementDesc'/>
-          <ref name='xmlGetDtdNotationDesc'/>
-          <ref name='xmlGetDtdQAttrDesc'/>
-          <ref name='xmlGetDtdQElementDesc'/>
-          <ref name='xmlValidateDtd'/>
-        </word>
-        <word name='DtDs'>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlIsMixedElement'/>
-        </word>
-        <word name='Dtd'>
-          <ref name='_xmlValidCtxt'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='Dumps'>
-          <ref name='xmlBufferDump'/>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlDebugDumpAttr'/>
-          <ref name='xmlDebugDumpAttrList'/>
-          <ref name='xmlDebugDumpDTD'/>
-          <ref name='xmlDebugDumpDocument'/>
-          <ref name='xmlDebugDumpDocumentHead'/>
-          <ref name='xmlDebugDumpEntities'/>
-          <ref name='xmlDebugDumpNode'/>
-          <ref name='xmlDebugDumpNodeList'/>
-          <ref name='xmlDebugDumpOneNode'/>
-          <ref name='xmlDebugDumpString'/>
-          <ref name='xmlXPathDebugDumpCompExpr'/>
-        </word>
-        <word name='Duplicate'>
-          <ref name='xmlHashAddEntry'/>
-          <ref name='xmlHashAddEntry2'/>
-          <ref name='xmlHashAddEntry3'/>
-          <ref name='xmlListDup'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlValidateElementDecl'/>
-        </word>
-      </letter>
-      <letter name='E'>
-        <word name='ELEMENT'>
-          <ref name='_xmlElementContent'/>
-        </word>
-        <word name='EMPTY'>
-          <ref name='xmlParseElementContentDecl'/>
-        </word>
-        <word name='ENTITIES'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlValidateAttributeValue'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='ENTITY'>
-          <ref name='htmlParseEntityRef'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseEntityValue'/>
-          <ref name='xmlValidateAttributeValue'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='ENTITY_REF'>
-          <ref name='xmlBufGetNodeContent'/>
-          <ref name='xmlNodeBufGetContent'/>
-          <ref name='xmlNodeGetContent'/>
-        </word>
-        <word name='ENTITY_REFs'>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlStringGetNodeList'/>
-          <ref name='xmlStringLenGetNodeList'/>
-        </word>
-        <word name='EOF'>
-          <ref name='xmlParseContent'/>
-        </word>
-        <word name='ETag'>
-          <ref name='htmlParseElement'/>
-          <ref name='xmlParseElement'/>
-          <ref name='xmlParseEndTag'/>
-        </word>
-        <word name='EXSLT'>
-          <ref name='xmlXPathDifference'/>
-          <ref name='xmlXPathDistinct'/>
-          <ref name='xmlXPathDistinctSorted'/>
-          <ref name='xmlXPathHasSameNodes'/>
-          <ref name='xmlXPathIntersection'/>
-          <ref name='xmlXPathLeading'/>
-          <ref name='xmlXPathLeadingSorted'/>
-          <ref name='xmlXPathNodeLeading'/>
-          <ref name='xmlXPathNodeLeadingSorted'/>
-          <ref name='xmlXPathNodeTrailing'/>
-          <ref name='xmlXPathNodeTrailingSorted'/>
-          <ref name='xmlXPathTrailing'/>
-          <ref name='xmlXPathTrailingSorted'/>
-        </word>
-        <word name='Element'>
-          <ref name='_xmlAttribute'/>
-          <ref name='_xmlElement'/>
-          <ref name='_xmlElementContent'/>
-          <ref name='htmlNodeStatus'/>
-          <ref name='xmlFirstElementChild'/>
-          <ref name='xmlLastElementChild'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseDocTypeDecl'/>
-          <ref name='xmlParseElement'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementContentDecl'/>
-          <ref name='xmlParseElementDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlTextReaderReadString'/>
-          <ref name='xmlValidateElementDecl'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlValidateRoot'/>
-        </word>
-        <word name='ElementTable'>
-          <ref name='htmlTagLookup'/>
-        </word>
-        <word name='Empties'>
-          <ref name='xmlXPathEmptyNodeSet'/>
-        </word>
-        <word name='EmptyElemTag'>
-          <ref name='htmlParseElement'/>
-          <ref name='xmlParseElement'/>
-          <ref name='xmlParseStartTag'/>
-        </word>
-        <word name='EmptyElement'>
-          <ref name='xmlParseStartTag'/>
-        </word>
-        <word name='EncName'>
-          <ref name='xmlParseEncName'/>
-          <ref name='xmlParseEncodingDecl'/>
-        </word>
-        <word name='Encapsulating'>
-          <ref name='xmlNodeGetBase'/>
-        </word>
-        <word name='EnclosedAlphanumerics'>
-          <ref name='xmlUCSIsEnclosedAlphanumerics'/>
-        </word>
-        <word name='EnclosedCJKLettersandMonths'>
-          <ref name='xmlUCSIsEnclosedCJKLettersandMonths'/>
-        </word>
-        <word name='Encoding'>
-          <ref name='htmlGetMetaEncoding'/>
-          <ref name='xmlGetCharEncodingName'/>
-          <ref name='xmlParseCharEncoding'/>
-        </word>
-        <word name='EncodingDecl'>
-          <ref name='xmlParseEncodingDecl'/>
-          <ref name='xmlParseTextDecl'/>
-        </word>
-        <word name='EncodingDecl?'>
-          <ref name='xmlParseXMLDecl'/>
-        </word>
-        <word name='End'>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlDtd'/>
-          <ref name='_xmlNode'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-          <ref name='xmlTextWriterEndAttribute'/>
-          <ref name='xmlTextWriterEndCDATA'/>
-          <ref name='xmlTextWriterEndComment'/>
-          <ref name='xmlTextWriterEndDTD'/>
-          <ref name='xmlTextWriterEndDTDAttlist'/>
-          <ref name='xmlTextWriterEndDTDElement'/>
-          <ref name='xmlTextWriterEndDTDEntity'/>
-          <ref name='xmlTextWriterEndDocument'/>
-          <ref name='xmlTextWriterEndElement'/>
-          <ref name='xmlTextWriterEndPI'/>
-          <ref name='xmlTextWriterFullEndElement'/>
-        </word>
-        <word name='End-of-Line'>
-          <ref name='xmlCurrentChar'/>
-        </word>
-        <word name='Ensures'>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-        </word>
-        <word name='Entities'>
-          <ref name='xmlGetCharEncodingName'/>
-          <ref name='xmlParseCharEncoding'/>
-        </word>
-        <word name='EntitiesTable'>
-          <ref name='htmlEntityLookup'/>
-          <ref name='htmlEntityValueLookup'/>
-        </word>
-        <word name='Entity'>
-          <ref name='_xmlEntity'/>
-          <ref name='xmlBufGetNodeContent'/>
-          <ref name='xmlNewEntityInputStream'/>
-          <ref name='xmlNodeBufGetContent'/>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlNodeGetContent'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlValidateAttributeValue'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneNamespace'/>
-        </word>
-        <word name='EntityDecl'>
-          <ref name='xmlParseEntityDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='EntityDef'>
-          <ref name='xmlParseEntityDecl'/>
-        </word>
-        <word name='EntityRef'>
-          <ref name='htmlParseEntityRef'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-        </word>
-        <word name='EntityReference'>
-          <ref name='xmlTextReaderReadAttributeValue'/>
-        </word>
-        <word name='EntityValue'>
-          <ref name='xmlParseEntityDecl'/>
-          <ref name='xmlParseEntityValue'/>
-        </word>
-        <word name='Enumerated'>
-          <ref name='xmlParseEnumeratedType'/>
-        </word>
-        <word name='EnumeratedType'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseEnumeratedType'/>
-        </word>
-        <word name='Enumeration'>
-          <ref name='_xmlEnumeration'/>
-          <ref name='xmlParseEnumeratedType'/>
-          <ref name='xmlParseEnumerationType'/>
-          <ref name='xmlValidateAttributeDecl'/>
-        </word>
-        <word name='Equal'>
-          <ref name='xmlStrQEqual'/>
-        </word>
-        <word name='Escaping'>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='Ethiopic'>
-          <ref name='xmlUCSIsEthiopic'/>
-        </word>
-        <word name='Evaluate'>
-          <ref name='xmlXPathCompiledEval'/>
-          <ref name='xmlXPathEval'/>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-          <ref name='xmlXPathNodeEval'/>
-          <ref name='xmlXPtrEval'/>
-          <ref name='xmlXPtrEvalRangePredicate'/>
-        </word>
-        <word name='Evaluates'>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlSchemaIsBuiltInTypeFacet'/>
-        </word>
-        <word name='Everything'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='setDocumentLocator'/>
-          <ref name='setDocumentLocatorSAXFunc'/>
-          <ref name='xmlSAX2SetDocumentLocator'/>
-        </word>
-        <word name='Examines'>
-          <ref name='xmlHasFeature'/>
-        </word>
-        <word name='Exclusive'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='Existing'>
-          <ref name='xmlAddEncodingAlias'/>
-          <ref name='xmlHashRemoveEntry'/>
-          <ref name='xmlHashRemoveEntry2'/>
-          <ref name='xmlHashRemoveEntry3'/>
-          <ref name='xmlHashUpdateEntry'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-        </word>
-        <word name='Exp'>
-          <ref name='xmlAutomataCompile'/>
-        </word>
-        <word name='Experimental'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='Expr'>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-          <ref name='xmlXPtrEvalRangePredicate'/>
-        </word>
-        <word name='Expresses'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='Expression'>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-        </word>
-        <word name='Extender'>
-          <ref name='IS_EXTENDER'/>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlParseName'/>
-          <ref name='xmlScanName'/>
-          <ref name='xmlXPathParseNCName'/>
-          <ref name='xmlXPathParseName'/>
-        </word>
-        <word name='External'>
-          <ref name='_xmlDtd'/>
-          <ref name='_xmlEntity'/>
-          <ref name='xmlACatalogResolve'/>
-          <ref name='xmlCatalogLocalResolve'/>
-          <ref name='xmlCatalogResolve'/>
-          <ref name='xmlExternalEntityLoader'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseDTD'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlSAXParseDTD'/>
-        </word>
-        <word name='ExternalID'>
-          <ref name='xmlParseDocTypeDecl'/>
-          <ref name='xmlParseEntityDecl'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlParseNotationDecl'/>
-        </word>
-        <word name='Extract'>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlSchemaGetFacetValueAsULong'/>
-          <ref name='xmlStrsub'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk3'>
-      <letter name='F'>
-        <word name='FALSE'>
-          <ref name='xmlTextWriterStartDTDEntity'/>
-          <ref name='xmlTextWriterWriteDTDEntity'/>
-          <ref name='xmlTextWriterWriteDTDExternalEntity'/>
-          <ref name='xmlTextWriterWriteDTDInternalEntity'/>
-          <ref name='xmlTextWriterWriteFormatDTDInternalEntity'/>
-          <ref name='xmlTextWriterWriteVFormatDTDInternalEntity'/>
-        </word>
-        <word name='FFFE'>
-          <ref name='IS_CHAR'/>
-        </word>
-        <word name='FFFF'>
-          <ref name='IS_CHAR'/>
-        </word>
-        <word name='FIXED'>
-          <ref name='xmlGetNoNsProp'/>
-          <ref name='xmlGetNsProp'/>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlHasNsProp'/>
-          <ref name='xmlHasProp'/>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='FREE'>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='Facet'>
-          <ref name='xmlSchemaFreeFacet'/>
-          <ref name='xmlSchemaNewFacet'/>
-        </word>
-        <word name='False'>
-          <ref name='xmlBoolToText'/>
-        </word>
-        <word name='Fetch'>
-          <ref name='xmlNanoFTPGet'/>
-        </word>
-        <word name='File'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='Fills'>
-          <ref name='xmlBufGetNodeContent'/>
-          <ref name='xmlNodeBufGetContent'/>
-        </word>
-        <word name='Find'>
-          <ref name='xmlExpGetLanguage'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlGetRefs'/>
-          <ref name='xmlHashLookup'/>
-          <ref name='xmlHashLookup2'/>
-          <ref name='xmlHashLookup3'/>
-          <ref name='xmlHashQLookup'/>
-          <ref name='xmlHashQLookup2'/>
-          <ref name='xmlHashQLookup3'/>
-          <ref name='xmlHashRemoveEntry'/>
-          <ref name='xmlHashRemoveEntry2'/>
-          <ref name='xmlHashRemoveEntry3'/>
-          <ref name='xmlParserFindNodeInfo'/>
-          <ref name='xmlParserFindNodeInfoIndex'/>
-        </word>
-        <word name='Finds'>
-          <ref name='xmlChildElementCount'/>
-          <ref name='xmlExpIsNillable'/>
-          <ref name='xmlFirstElementChild'/>
-          <ref name='xmlLastElementChild'/>
-          <ref name='xmlNextElementSibling'/>
-          <ref name='xmlPreviousElementSibling'/>
-        </word>
-        <word name='First'>
-          <ref name='XML_SCHEMAS_TYPE_FIXUP_1'/>
-          <ref name='_xmlEntity'/>
-        </word>
-        <word name='Fixed'>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneNamespace'/>
-        </word>
-        <word name='Float'>
-          <ref name='xmlXPathStringEvalNumber'/>
-        </word>
-        <word name='Flush'>
-          <ref name='xmlSaveFlush'/>
-          <ref name='xmlTextWriterFlush'/>
-        </word>
-        <word name='For'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlCtxtResetLastError'/>
-          <ref name='xmlParseComment'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlResetLastError'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-          <ref name='xmlXPathSubstringAfterFunction'/>
-          <ref name='xmlXPathSubstringBeforeFunction'/>
-          <ref name='xmlXPathSubstringFunction'/>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='Form'>
-          <ref name='xmlBuildURI'/>
-        </word>
-        <word name='Formats'>
-          <ref name='xmlStrPrintf'/>
-          <ref name='xmlStrVPrintf'/>
-          <ref name='xmlXPatherror'/>
-        </word>
-        <word name='Formatting'>
-          <ref name='htmlDocContentDumpOutput'/>
-        </word>
-        <word name='Formed'>
-          <ref name='xmlRecoverDoc'/>
-          <ref name='xmlRecoverFile'/>
-          <ref name='xmlRecoverMemory'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-        </word>
-        <word name='Fragment'>
-          <ref name='xmlNewDocFragment'/>
-        </word>
-        <word name='Frameset'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='Frees'>
-          <ref name='xmlBufferFree'/>
-          <ref name='xmlDOMWrapFreeCtxt'/>
-          <ref name='xmlNanoFTPFreeCtxt'/>
-        </word>
-        <word name='Front-end'>
-          <ref name='xmlCharEncFirstLine'/>
-        </word>
-        <word name='Function'>
-          <ref name='xmlBufContent'/>
-          <ref name='xmlBufEnd'/>
-          <ref name='xmlBufUse'/>
-          <ref name='xmlBufferContent'/>
-          <ref name='xmlBufferLength'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-          <ref name='xmlXPathFunctionLookup'/>
-          <ref name='xmlXPathFunctionLookupNS'/>
-        </word>
-      </letter>
-      <letter name='G'>
-        <word name='GCC'>
-          <ref name='ATTRIBUTE_UNUSED'/>
-          <ref name='LIBXML_ATTR_ALLOC_SIZE'/>
-          <ref name='LIBXML_ATTR_FORMAT'/>
-        </word>
-        <word name='GEDecl'>
-          <ref name='xmlParseEntityDecl'/>
-        </word>
-        <word name='GET'>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-        </word>
-        <word name='GeneralPunctuation'>
-          <ref name='xmlUCSIsGeneralPunctuation'/>
-        </word>
-        <word name='Generic'>
-          <ref name='xmlCharEncCloseFunc'/>
-          <ref name='xmlCharEncInFunc'/>
-          <ref name='xmlCharEncOutFunc'/>
-        </word>
-        <word name='GeometricShapes'>
-          <ref name='xmlUCSIsGeometricShapes'/>
-        </word>
-        <word name='Georgian'>
-          <ref name='xmlUCSIsGeorgian'/>
-        </word>
-        <word name='Gets'>
-          <ref name='xmlTextReaderReadState'/>
-        </word>
-        <word name='Gives'>
-          <ref name='xmlOutputBufferGetContent'/>
-          <ref name='xmlOutputBufferGetSize'/>
-          <ref name='xmlSchemaGetBuiltInType'/>
-        </word>
-        <word name='Global'>
-          <ref name='_xmlDoc'/>
-        </word>
-        <word name='Gothic'>
-          <ref name='xmlUCSIsGothic'/>
-        </word>
-        <word name='Greek'>
-          <ref name='xmlUCSIsGreek'/>
-        </word>
-        <word name='GreekExtended'>
-          <ref name='xmlUCSIsGreekExtended'/>
-        </word>
-        <word name='GreekandCoptic'>
-          <ref name='xmlUCSIsGreekandCoptic'/>
-        </word>
-        <word name='Group'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-        </word>
-        <word name='Grow'>
-          <ref name='xmlBufferGrow'/>
-          <ref name='xmlParserInputBufferGrow'/>
-        </word>
-        <word name='Guess'>
-          <ref name='xmlDetectCharEncoding'/>
-        </word>
-        <word name='Gujarati'>
-          <ref name='xmlUCSIsGujarati'/>
-        </word>
-        <word name='Gurmukhi'>
-          <ref name='xmlUCSIsGurmukhi'/>
-        </word>
-      </letter>
-      <letter name='H'>
-        <word name='HTML_DEPRECATED'>
-          <ref name='htmlAttrAllowed'/>
-          <ref name='htmlElementStatusHere'/>
-        </word>
-        <word name='HTML_INVALID'>
-          <ref name='htmlAttrAllowed'/>
-          <ref name='htmlElementStatusHere'/>
-        </word>
-        <word name='HTML_NA'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='HTML_REQUIRED'>
-          <ref name='htmlAttrAllowed'/>
-        </word>
-        <word name='HTML_VALID'>
-          <ref name='htmlAttrAllowed'/>
-          <ref name='htmlElementStatusHere'/>
-        </word>
-        <word name='Hacking'>
-          <ref name='xmlTextReaderCurrentDoc'/>
-          <ref name='xmlTextReaderCurrentNode'/>
-        </word>
-        <word name='HalfwidthandFullwidthForms'>
-          <ref name='xmlUCSIsHalfwidthandFullwidthForms'/>
-        </word>
-        <word name='Handle'>
-          <ref name='attribute'/>
-          <ref name='attributeSAXFunc'/>
-          <ref name='xmlErrMemory'/>
-          <ref name='xmlXPathErr'/>
-        </word>
-        <word name='Handling'>
-          <ref name='xmlCurrentChar'/>
-        </word>
-        <word name='HangulCompatibilityJamo'>
-          <ref name='xmlUCSIsHangulCompatibilityJamo'/>
-        </word>
-        <word name='HangulJamo'>
-          <ref name='xmlUCSIsHangulJamo'/>
-        </word>
-        <word name='HangulSyllables'>
-          <ref name='xmlUCSIsHangulSyllables'/>
-        </word>
-        <word name='Hanunoo'>
-          <ref name='xmlUCSIsHanunoo'/>
-        </word>
-        <word name='Has'>
-          <ref name='htmlAttrAllowed'/>
-        </word>
-        <word name='Hash'>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlDtd'/>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='Hebrew'>
-          <ref name='xmlUCSIsHebrew'/>
-        </word>
-        <word name='Hence'>
-          <ref name='xmlParseNotationDecl'/>
-        </word>
-        <word name='HighPrivateUseSurrogates'>
-          <ref name='xmlUCSIsHighPrivateUseSurrogates'/>
-        </word>
-        <word name='HighSurrogates'>
-          <ref name='xmlUCSIsHighSurrogates'/>
-        </word>
-        <word name='Hiragana'>
-          <ref name='xmlUCSIsHiragana'/>
-        </word>
-        <word name='Hmm'>
-          <ref name='xmlSchemaValueGetAsBoolean'/>
-        </word>
-        <word name='Holds'>
-          <ref name='_xmlSchemaType'/>
-        </word>
-        <word name='How'>
-          <ref name='_xmlParserInput'/>
-        </word>
-        <word name='However'>
-          <ref name='docbFreeParserCtxt'/>
-          <ref name='htmlFreeParserCtxt'/>
-          <ref name='xmlFreeParserCtxt'/>
-          <ref name='xmlNodeGetBase'/>
-        </word>
-      </letter>
-      <letter name='I'>
-        <word name='I18N'>
-          <ref name='_xmlOutputBuffer'/>
-          <ref name='_xmlParserInputBuffer'/>
-          <ref name='xmlOutputBufferWrite'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlOutputBufferWriteString'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlParserInputBufferPush'/>
-          <ref name='xmlParserInputBufferRead'/>
-        </word>
-        <word name='IANA'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='IDREF'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateAttributeValue'/>
-          <ref name='xmlValidateDocumentFinal'/>
-          <ref name='xmlValidateDtd'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlValidateOneNamespace'/>
-        </word>
-        <word name='IDREFS'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlValidateAttributeValue'/>
-          <ref name='xmlValidateDocumentFinal'/>
-        </word>
-        <word name='IDREFs'>
-          <ref name='_xmlDoc'/>
-        </word>
-        <word name='IDs'>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='IEEE'>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathStringFunction'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='IMPLIED'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='IPAExtensions'>
-          <ref name='xmlUCSIsIPAExtensions'/>
-        </word>
-        <word name='ISO'>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='XML_CAST_FPTR'/>
-          <ref name='isolat1ToUTF8'/>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='ISO-8859-'>
-          <ref name='LIBXML_ISO8859X_ENABLED'/>
-        </word>
-        <word name='ISO-Latin'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-        </word>
-        <word name='ISO639Code'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='ISOLatin'>
-          <ref name='_xmlOutputBuffer'/>
-        </word>
-        <word name='IS_BLANK'>
-          <ref name='IS_BLANK_CH'/>
-        </word>
-        <word name='IS_CHAR'>
-          <ref name='IS_CHAR_CH'/>
-        </word>
-        <word name='IS_DIGIT'>
-          <ref name='IS_DIGIT_CH'/>
-        </word>
-        <word name='IS_EXTENDER'>
-          <ref name='IS_EXTENDER_CH'/>
-        </word>
-        <word name='IS_LETTER'>
-          <ref name='IS_LETTER_CH'/>
-        </word>
-        <word name='IS_PUBIDCHAR'>
-          <ref name='IS_PUBIDCHAR_CH'/>
-        </word>
-        <word name='IanaCode'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='Identifier'>
-          <ref name='xmlACatalogResolve'/>
-          <ref name='xmlCatalogLocalResolve'/>
-          <ref name='xmlCatalogResolve'/>
-        </word>
-        <word name='Identifiers'>
-          <ref name='XML_MAX_NAMELEN'/>
-        </word>
-        <word name='Ideographic'>
-          <ref name='IS_IDEOGRAPHIC'/>
-          <ref name='IS_LETTER'/>
-          <ref name='xmlIsLetter'/>
-        </word>
-        <word name='IdeographicDescriptionCharacters'>
-          <ref name='xmlUCSIsIdeographicDescriptionCharacters'/>
-        </word>
-        <word name='Ignore'>
-          <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
-        </word>
-        <word name='Ignored'>
-          <ref name='xmlCopyChar'/>
-        </word>
-        <word name='Implements'>
-          <ref name='xmlShell'/>
-          <ref name='xmlShellBase'/>
-          <ref name='xmlShellCat'/>
-          <ref name='xmlShellDir'/>
-          <ref name='xmlShellDu'/>
-          <ref name='xmlShellList'/>
-          <ref name='xmlShellLoad'/>
-          <ref name='xmlShellPwd'/>
-          <ref name='xmlShellSave'/>
-          <ref name='xmlShellValidate'/>
-          <ref name='xmlShellWrite'/>
-          <ref name='xmlXPathDifference'/>
-          <ref name='xmlXPathDistinct'/>
-          <ref name='xmlXPathDistinctSorted'/>
-          <ref name='xmlXPathHasSameNodes'/>
-          <ref name='xmlXPathIntersection'/>
-          <ref name='xmlXPathLeading'/>
-          <ref name='xmlXPathLeadingSorted'/>
-          <ref name='xmlXPathNodeLeading'/>
-          <ref name='xmlXPathNodeLeadingSorted'/>
-          <ref name='xmlXPathNodeSetItem'/>
-          <ref name='xmlXPathNodeTrailing'/>
-          <ref name='xmlXPathNodeTrailingSorted'/>
-          <ref name='xmlXPathTrailing'/>
-          <ref name='xmlXPathTrailingSorted'/>
-        </word>
-        <word name='Included'>
-          <ref name='xmlParserHandlePEReference'/>
-        </word>
-        <word name='Increase'>
-          <ref name='xmlExpRef'/>
-        </word>
-        <word name='Increment'>
-          <ref name='xmlDictReference'/>
-        </word>
-        <word name='Indicate'>
-          <ref name='xmlExpMaxToken'/>
-        </word>
-        <word name='Indicates'>
-          <ref name='_xmlSchemaWildcard'/>
-        </word>
-        <word name='Infinity'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='Initial'>
-          <ref name='xmlAutomataGetInitState'/>
-        </word>
-        <word name='Initialization'>
-          <ref name='xmlInitParser'/>
-        </word>
-        <word name='Initialize'>
-          <ref name='docbDefaultSAXHandlerInit'/>
-          <ref name='htmlDefaultSAXHandlerInit'/>
-          <ref name='initdocbDefaultSAXHandler'/>
-          <ref name='inithtmlDefaultSAXHandler'/>
-          <ref name='initxmlDefaultSAXHandler'/>
-          <ref name='xmlDefaultSAXHandlerInit'/>
-          <ref name='xmlInitCharEncodingHandlers'/>
-          <ref name='xmlInitMemory'/>
-          <ref name='xmlInitNodeInfoSeq'/>
-          <ref name='xmlInitParserCtxt'/>
-          <ref name='xmlNanoFTPInit'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoHTTPInit'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-          <ref name='xmlRelaxNGInitTypes'/>
-          <ref name='xmlSAX2InitDefaultSAXHandler'/>
-          <ref name='xmlSAX2InitDocbDefaultSAXHandler'/>
-          <ref name='xmlSAX2InitHtmlDefaultSAXHandler'/>
-          <ref name='xmlSAXVersion'/>
-          <ref name='xmlSchemaInitTypes'/>
-          <ref name='xmlXPathInit'/>
-          <ref name='xmlXPathRoot'/>
-        </word>
-        <word name='Initially'>
-          <ref name='xmlSubstituteEntitiesDefault'/>
-        </word>
-        <word name='Initiate'>
-          <ref name='xmlNanoFTPGetSocket'/>
-        </word>
-        <word name='Input'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlIOParseDTD'/>
-          <ref name='xmlInputCloseCallback'/>
-          <ref name='xmlInputMatchCallback'/>
-          <ref name='xmlInputOpenCallback'/>
-          <ref name='xmlInputReadCallback'/>
-          <ref name='xmlNewIOInputStream'/>
-        </word>
-        <word name='Insert'>
-          <ref name='xmlListAppend'/>
-          <ref name='xmlListInsert'/>
-          <ref name='xmlParserAddNodeInfo'/>
-        </word>
-        <word name='Instruction'>
-          <ref name='XML_CATALOG_PI'/>
-          <ref name='xmlParsePI'/>
-        </word>
-        <word name='Intended'>
-          <ref name='xmlSnprintfElementContent'/>
-        </word>
-        <word name='Internal'>
-          <ref name='_xmlDOMWrapCtxt'/>
-          <ref name='_xmlDoc'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='Introduced'>
-          <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-          <ref name='XML_MAX_LOOKUP_LIMIT'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-        </word>
-        <word name='Irregular'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk4'>
-      <letter name='J'>
-        <word name='Jan'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='Java'>
-          <ref name='xmlCheckUTF8'/>
-        </word>
-      </letter>
-      <letter name='K'>
-        <word name='Kanbun'>
-          <ref name='xmlUCSIsKanbun'/>
-        </word>
-        <word name='KangxiRadicals'>
-          <ref name='xmlUCSIsKangxiRadicals'/>
-        </word>
-        <word name='Kannada'>
-          <ref name='xmlUCSIsKannada'/>
-        </word>
-        <word name='Katakana'>
-          <ref name='xmlUCSIsKatakana'/>
-        </word>
-        <word name='KatakanaPhoneticExtensions'>
-          <ref name='xmlUCSIsKatakanaPhoneticExtensions'/>
-        </word>
-        <word name='Khmer'>
-          <ref name='xmlUCSIsKhmer'/>
-        </word>
-        <word name='KhmerSymbols'>
-          <ref name='xmlUCSIsKhmerSymbols'/>
-        </word>
-      </letter>
-      <letter name='L'>
-        <word name='Langcode'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='LanguageID'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='Lao'>
-          <ref name='xmlUCSIsLao'/>
-        </word>
-        <word name='Last'>
-          <ref name='_xmlEntity'/>
-        </word>
-        <word name='Latin'>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='isolat1ToUTF8'/>
-        </word>
-        <word name='Latin-1Supplement'>
-          <ref name='xmlUCSIsLatin1Supplement'/>
-        </word>
-        <word name='LatinExtended-A'>
-          <ref name='xmlUCSIsLatinExtendedA'/>
-        </word>
-        <word name='LatinExtended-B'>
-          <ref name='xmlUCSIsLatinExtendedB'/>
-        </word>
-        <word name='LatinExtendedAdditional'>
-          <ref name='xmlUCSIsLatinExtendedAdditional'/>
-        </word>
-        <word name='Legal'>
-          <ref name='xmlParseCharRef'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlValidateAttributeDecl'/>
-        </word>
-        <word name='Length'>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocDumpMemoryEnc'/>
-        </word>
-        <word name='Letter'>
-          <ref name='IS_LETTER'/>
-          <ref name='xmlIsLetter'/>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlParseName'/>
-          <ref name='xmlScanName'/>
-          <ref name='xmlXPathParseNCName'/>
-          <ref name='xmlXPathParseName'/>
-        </word>
-        <word name='LetterlikeSymbols'>
-          <ref name='xmlUCSIsLetterlikeSymbols'/>
-        </word>
-        <word name='Like'>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='Limbu'>
-          <ref name='xmlUCSIsLimbu'/>
-        </word>
-        <word name='LinearBIdeograms'>
-          <ref name='xmlUCSIsLinearBIdeograms'/>
-        </word>
-        <word name='LinearBSyllabary'>
-          <ref name='xmlUCSIsLinearBSyllabary'/>
-        </word>
-        <word name='List'>
-          <ref name='_xmlElement'/>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='Literal'>
-          <ref name='xmlParseSystemLiteral'/>
-        </word>
-        <word name='Load'>
-          <ref name='xmlIOParseDTD'/>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadCatalogs'/>
-          <ref name='xmlLoadExternalEntity'/>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-          <ref name='xmlParseDTD'/>
-          <ref name='xmlSAXParseDTD'/>
-        </word>
-        <word name='Local'>
-          <ref name='_xmlOutputBuffer'/>
-          <ref name='_xmlParserInputBuffer'/>
-          <ref name='_xmlSchemaType'/>
-        </word>
-        <word name='LocalPart'>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlSplitQName'/>
-          <ref name='xmlSplitQName2'/>
-        </word>
-        <word name='Location'>
-          <ref name='xmlXPathEval'/>
-          <ref name='xmlXPathNodeEval'/>
-          <ref name='xmlXPtrEval'/>
-          <ref name='xmlXPtrEvalRangePredicate'/>
-        </word>
-        <word name='LocationSet'>
-          <ref name='xmlXPtrFreeLocationSet'/>
-          <ref name='xmlXPtrLocationSetAdd'/>
-          <ref name='xmlXPtrLocationSetDel'/>
-          <ref name='xmlXPtrLocationSetMerge'/>
-          <ref name='xmlXPtrLocationSetRemove'/>
-          <ref name='xmlXPtrNewLocationSetNodeSet'/>
-          <ref name='xmlXPtrNewLocationSetNodes'/>
-          <ref name='xmlXPtrWrapLocationSet'/>
-        </word>
-        <word name='Locator'>
-          <ref name='setDocumentLocator'/>
-          <ref name='setDocumentLocatorSAXFunc'/>
-          <ref name='xmlSAX2SetDocumentLocator'/>
-        </word>
-        <word name='Lookup'>
-          <ref name='htmlEntityLookup'/>
-          <ref name='htmlEntityValueLookup'/>
-          <ref name='htmlTagLookup'/>
-          <ref name='xmlGetEncodingAlias'/>
-          <ref name='xmlModuleSymbol'/>
-          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-          <ref name='xmlSchemaGetPredefinedType'/>
-        </word>
-        <word name='Loose'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='LowSurrogates'>
-          <ref name='xmlUCSIsLowSurrogates'/>
-        </word>
-        <word name='Lzma'>
-          <ref name='LIBXML_LZMA_ENABLED'/>
-        </word>
-      </letter>
-      <letter name='M'>
-        <word name='META'>
-          <ref name='htmlSetMetaEncoding'/>
-        </word>
-        <word name='MODIFIER'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='MULT'>
-          <ref name='_xmlElementContent'/>
-        </word>
-        <word name='MUST'>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
-        <word name='Makes'>
-          <ref name='xmlAutomataSetFinalState'/>
-        </word>
-        <word name='Malayalam'>
-          <ref name='xmlUCSIsMalayalam'/>
-        </word>
-        <word name='Maps'>
-          <ref name='xmlChildrenNode'/>
-          <ref name='xmlRootNode'/>
-        </word>
-        <word name='Marks'>
-          <ref name='XML_SCHEMAS_ATTRGROUP_MARKED'/>
-          <ref name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
-          <ref name='XML_SCHEMAS_TYPE_MARKED'/>
-        </word>
-        <word name='Markup'>
-          <ref name='xmlParseExternalSubset'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='Match'>
-          <ref name='xmlParseElement'/>
-        </word>
-        <word name='MathematicalAlphanumericSymbols'>
-          <ref name='xmlUCSIsMathematicalAlphanumericSymbols'/>
-        </word>
-        <word name='MathematicalOperators'>
-          <ref name='xmlUCSIsMathematicalOperators'/>
-        </word>
-        <word name='Max'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlValidCtxt'/>
-        </word>
-        <word name='Maximum'>
-          <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-          <ref name='XML_MAX_LOOKUP_LIMIT'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-        </word>
-        <word name='May'>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='Memory'>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocDumpMemoryEnc'/>
-        </word>
-        <word name='Merge'>
-          <ref name='xmlTextMerge'/>
-        </word>
-        <word name='Merges'>
-          <ref name='xmlXPathNodeSetMerge'/>
-          <ref name='xmlXPtrLocationSetMerge'/>
-        </word>
-        <word name='Meta'>
-          <ref name='htmlGetMetaEncoding'/>
-          <ref name='htmlSetMetaEncoding'/>
-        </word>
-        <word name='Method'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='Mime-Type'>
-          <ref name='xmlNanoHTTPMimeType'/>
-        </word>
-        <word name='Minimal'>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='Misc'>
-          <ref name='xmlParseDocument'/>
-          <ref name='xmlParseMisc'/>
-        </word>
-        <word name='MiscellaneousMathematicalSymbols-A'>
-          <ref name='xmlUCSIsMiscellaneousMathematicalSymbolsA'/>
-        </word>
-        <word name='MiscellaneousMathematicalSymbols-B'>
-          <ref name='xmlUCSIsMiscellaneousMathematicalSymbolsB'/>
-        </word>
-        <word name='MiscellaneousSymbols'>
-          <ref name='xmlUCSIsMiscellaneousSymbols'/>
-        </word>
-        <word name='MiscellaneousSymbolsandArrows'>
-          <ref name='xmlUCSIsMiscellaneousSymbolsandArrows'/>
-        </word>
-        <word name='MiscellaneousTechnical'>
-          <ref name='xmlUCSIsMiscellaneousTechnical'/>
-        </word>
-        <word name='Mixed'>
-          <ref name='xmlIsMixedElement'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-        </word>
-        <word name='Mongolian'>
-          <ref name='xmlUCSIsMongolian'/>
-        </word>
-        <word name='More'>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='Move'>
-          <ref name='xmlListCopy'/>
-        </word>
-        <word name='Moves'>
-          <ref name='xmlTextReaderMoveToAttribute'/>
-          <ref name='xmlTextReaderMoveToAttributeNo'/>
-          <ref name='xmlTextReaderMoveToAttributeNs'/>
-          <ref name='xmlTextReaderMoveToElement'/>
-          <ref name='xmlTextReaderMoveToFirstAttribute'/>
-          <ref name='xmlTextReaderMoveToNextAttribute'/>
-          <ref name='xmlTextReaderRead'/>
-        </word>
-        <word name='MusicalSymbols'>
-          <ref name='xmlUCSIsMusicalSymbols'/>
-        </word>
-        <word name='Myanmar'>
-          <ref name='xmlUCSIsMyanmar'/>
-        </word>
-      </letter>
-      <letter name='N'>
-        <word name='NAME'>
-          <ref name='xmlParseDTD'/>
-          <ref name='xmlSAXParseDTD'/>
-        </word>
-        <word name='NCName'>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlNamespaceParseNSDef'/>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlSplitQName'/>
-          <ref name='xmlSplitQName2'/>
-          <ref name='xmlValidateNCName'/>
-          <ref name='xmlXPathParseNCName'/>
-        </word>
-        <word name='NCNameChar'>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlXPathParseNCName'/>
-        </word>
-        <word name='NDATA'>
-          <ref name='xmlParseEntityDecl'/>
-        </word>
-        <word name='NDataDecl'>
-          <ref name='xmlParseEntityDecl'/>
-        </word>
-        <word name='NDataDecl?'>
-          <ref name='xmlParseEntityDecl'/>
-        </word>
-        <word name='NMTOKEN'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlValidateAttributeValue'/>
-        </word>
-        <word name='NMTOKENS'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlValidateAttributeValue'/>
-        </word>
-        <word name='NMToken'>
-          <ref name='xmlValidateNMToken'/>
-        </word>
-        <word name='NOTATION'>
-          <ref name='xmlParseEnumeratedType'/>
-          <ref name='xmlParseNotationType'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaNewNOTATIONValue'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='NOTE'>
-          <ref name='htmlReadFd'/>
-          <ref name='xmlBufShrink'/>
-          <ref name='xmlCtxtReadFd'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlParseNotationDecl'/>
-          <ref name='xmlReadFd'/>
-          <ref name='xmlReaderForFd'/>
-          <ref name='xmlReaderNewFd'/>
-        </word>
-        <word name='NOTE:'>
-          <ref name='_xmlParserInput'/>
-          <ref name='htmlSetMetaEncoding'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlInitCharEncodingHandlers'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlNewTextWriter'/>
-          <ref name='xmlNewTextWriterPushParser'/>
-          <ref name='xmlNodeAddContent'/>
-          <ref name='xmlNodeAddContentLen'/>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-          <ref name='xmlTextReaderCurrentDoc'/>
-        </word>
-        <word name='NRK'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='NSDef'>
-          <ref name='xmlNamespaceParseNSDef'/>
-        </word>
-        <word name='NaN'>
-          <ref name='xmlXPathBooleanFunction'/>
-          <ref name='xmlXPathIsNaN'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='NameChar'>
-          <ref name='xmlParseName'/>
-          <ref name='xmlParseNmtoken'/>
-          <ref name='xmlScanName'/>
-          <ref name='xmlXPathParseName'/>
-        </word>
-        <word name='Names'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseName'/>
-          <ref name='xmlScanName'/>
-          <ref name='xmlValidateAttributeValue'/>
-          <ref name='xmlValidateNamesValue'/>
-        </word>
-        <word name='Namespace'>
-          <ref name='XML_XML_NAMESPACE'/>
-          <ref name='_xmlElementContent'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlNewGlobalNs'/>
-          <ref name='xmlNewNs'/>
-          <ref name='xmlXPathNodeSetFreeNs'/>
-          <ref name='xmlXPtrBuildNodeList'/>
-        </word>
-        <word name='Needed'>
-          <ref name='xmlScanName'/>
-        </word>
-        <word name='Nesting'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='New'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='Nmtoken'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseEnumerationType'/>
-          <ref name='xmlParseNmtoken'/>
-          <ref name='xmlValidateAttributeValue'/>
-          <ref name='xmlValidateNmtokenValue'/>
-        </word>
-        <word name='Nmtokens'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseNmtoken'/>
-          <ref name='xmlValidateAttributeValue'/>
-          <ref name='xmlValidateNmtokensValue'/>
-        </word>
-        <word name='Node'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlValidCtxt'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlXPathNewNodeSet'/>
-        </word>
-        <word name='NodeInfo'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='NodeList'>
-          <ref name='xmlXPathNodeSetGetLength'/>
-          <ref name='xmlXPathNodeSetItem'/>
-        </word>
-        <word name='NodePtr'>
-          <ref name='xmlXPathNewNodeSet'/>
-          <ref name='xmlXPathNewValueTree'/>
-          <ref name='xmlXPathWrapNodeSet'/>
-          <ref name='xmlXPtrNewLocationSetNodes'/>
-        </word>
-        <word name='NodeSet'>
-          <ref name='xmlXPathFreeNodeSet'/>
-          <ref name='xmlXPathNewNodeSet'/>
-          <ref name='xmlXPathNewNodeSetList'/>
-          <ref name='xmlXPathNodeSetAdd'/>
-          <ref name='xmlXPathNodeSetAddNs'/>
-          <ref name='xmlXPathNodeSetAddUnique'/>
-          <ref name='xmlXPathNodeSetDel'/>
-          <ref name='xmlXPathNodeSetMerge'/>
-          <ref name='xmlXPathNodeSetRemove'/>
-        </word>
-        <word name='NodeSetList'>
-          <ref name='xmlXPathFreeNodeSetList'/>
-        </word>
-        <word name='NodeType'>
-          <ref name='xmlXPathIsNodeType'/>
-        </word>
-        <word name='Nodeset'>
-          <ref name='xmlXPathNewNodeSetList'/>
-          <ref name='xmlXPathWrapNodeSet'/>
-        </word>
-        <word name='Non-static'>
-          <ref name='xmlIOHTTPOpenW'/>
-        </word>
-        <word name='Normalization'>
-          <ref name='xmlNormalizeURIPath'/>
-        </word>
-        <word name='Normalization:'>
-          <ref name='xmlParseAttValue'/>
-        </word>
-        <word name='Not'>
-          <ref name='_xmlSchemaElement'/>
-        </word>
-        <word name='Notation'>
-          <ref name='_xmlNotation'/>
-          <ref name='xmlParseEntityDecl'/>
-          <ref name='xmlParseNotationType'/>
-          <ref name='xmlValidateNotationUse'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneNamespace'/>
-        </word>
-        <word name='NotationDecl'>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParseNotationDecl'/>
-        </word>
-        <word name='NotationType'>
-          <ref name='xmlParseEnumeratedType'/>
-          <ref name='xmlParseNotationType'/>
-        </word>
-        <word name='Note:'>
-          <ref name='fatalErrorSAXFunc'/>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlGetDtdEntity'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseNotationType'/>
-          <ref name='xmlRelaxNGNewDocParserCtxt'/>
-          <ref name='xmlUTF8Strsub'/>
-        </word>
-        <word name='Number'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlXPathStringEvalNumber'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='NumberForms'>
-          <ref name='xmlUCSIsNumberForms'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk5'>
-      <letter name='O'>
-        <word name='OBSOLETE:'>
-          <ref name='xmlHandleEntity'/>
-        </word>
-        <word name='ONCE'>
-          <ref name='_xmlElementContent'/>
-        </word>
-        <word name='OPT'>
-          <ref name='_xmlElementContent'/>
-        </word>
-        <word name='OUT'>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-        </word>
-        <word name='OUT:'>
-          <ref name='htmlDocDumpMemory'/>
-          <ref name='htmlDocDumpMemoryFormat'/>
-          <ref name='xmlDocDumpFormatMemory'/>
-          <ref name='xmlDocDumpMemory'/>
-        </word>
-        <word name='Obsolete'>
-          <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
-          <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
-          <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
-          <ref name='XML_SCHEMAS_ELEM_NSDEFAULT'/>
-          <ref name='_xmlSchema'/>
-          <ref name='_xmlSchemaElement'/>
-          <ref name='_xmlSchemaFacet'/>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xmlXPtrRangeToFunction'/>
-        </word>
-        <word name='Obtain'>
-          <ref name='xmlTextReaderLocatorBaseURI'/>
-          <ref name='xmlTextReaderLocatorLineNumber'/>
-        </word>
-        <word name='Ogham'>
-          <ref name='xmlUCSIsOgham'/>
-        </word>
-        <word name='OldItalic'>
-          <ref name='xmlUCSIsOldItalic'/>
-        </word>
-        <word name='One'>
-          <ref name='INPUT_CHUNK'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlValidateElementDecl'/>
-        </word>
-        <word name='Open'>
-          <ref name='xmlIOHTTPOpenW'/>
-        </word>
-        <word name='Opens'>
-          <ref name='xmlModuleOpen'/>
-        </word>
-        <word name='OpticalCharacterRecognition'>
-          <ref name='xmlUCSIsOpticalCharacterRecognition'/>
-        </word>
-        <word name='Optional'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='Oriya'>
-          <ref name='xmlUCSIsOriya'/>
-        </word>
-        <word name='Osmanya'>
-          <ref name='xmlUCSIsOsmanya'/>
-        </word>
-        <word name='Other'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='Otherwise'>
-          <ref name='xmlSplitQName2'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-        </word>
-        <word name='Output'>
-          <ref name='xmlOutputCloseCallback'/>
-          <ref name='xmlOutputMatchCallback'/>
-          <ref name='xmlOutputOpenCallback'/>
-          <ref name='xmlOutputWriteCallback'/>
-        </word>
-        <word name='OutputBufferCreateFilenameFunc'>
-          <ref name='xmlOutputBufferCreateFilenameDefault'/>
-        </word>
-        <word name='Override'>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemSetup'/>
-        </word>
-      </letter>
-      <letter name='P'>
-        <word name='P32'>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-        </word>
-        <word name='PCDATA'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='_xmlElementContent'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-        </word>
-        <word name='PEDecl'>
-          <ref name='xmlParseEntityDecl'/>
-        </word>
-        <word name='PEDef'>
-          <ref name='xmlParseEntityDecl'/>
-        </word>
-        <word name='PEReference'>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlParseDocTypeDecl'/>
-          <ref name='xmlParseEntityValue'/>
-          <ref name='xmlParseExternalSubset'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-        </word>
-        <word name='PEs'>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='PITarget'>
-          <ref name='xmlParsePI'/>
-          <ref name='xmlParsePITarget'/>
-        </word>
-        <word name='PIs'>
-          <ref name='xmlDocGetRootElement'/>
-          <ref name='xmlDocSetRootElement'/>
-        </word>
-        <word name='PLUS'>
-          <ref name='_xmlElementContent'/>
-        </word>
-        <word name='POST'>
-          <ref name='xmlIOHTTPOpenW'/>
-          <ref name='xmlRegisterHTTPPostCallbacks'/>
-        </word>
-        <word name='PSVI'>
-          <ref name='_xmlAttr'/>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlNode'/>
-        </word>
-        <word name='PUBLIC'>
-          <ref name='_xmlDtd'/>
-          <ref name='_xmlEntity'/>
-          <ref name='xmlCreateEntityParserCtxt'/>
-          <ref name='xmlCreateIntSubset'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlParseNotationDecl'/>
-        </word>
-        <word name='PUT'>
-          <ref name='xmlRegisterHTTPPostCallbacks'/>
-        </word>
-        <word name='Parameter'>
-          <ref name='xmlParserHandlePEReference'/>
-        </word>
-        <word name='Parameter-entity'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-        </word>
-        <word name='Parse'>
-          <ref name='docbParseChunk'/>
-          <ref name='htmlParseChunk'/>
-          <ref name='htmlSAXParseDoc'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseCDSect'/>
-          <ref name='xmlParseChunk'/>
-          <ref name='xmlParseContent'/>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlParseQuotedString'/>
-          <ref name='xmlParseURI'/>
-          <ref name='xmlParseURIRaw'/>
-          <ref name='xmlParseURIReference'/>
-          <ref name='xmlStringGetNodeList'/>
-          <ref name='xmlStringLenGetNodeList'/>
-          <ref name='xmlXPathEvalExpr'/>
-        </word>
-        <word name='Parsed'>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParserHandleReference'/>
-        </word>
-        <word name='ParserInputBufferCreateFilenameFunc'>
-          <ref name='xmlParserInputBufferCreateFilenameDefault'/>
-        </word>
-        <word name='Parses'>
-          <ref name='xmlRegexpCompile'/>
-          <ref name='xmlTextReaderReadAttributeValue'/>
-        </word>
-        <word name='Parsing'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='Part'>
-          <ref name='xmlRegexpCompile'/>
-          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-        </word>
-        <word name='Path'>
-          <ref name='xmlGetNodePath'/>
-          <ref name='xmlXPathEval'/>
-          <ref name='xmlXPathNodeEval'/>
-          <ref name='xmlXPtrEval'/>
-        </word>
-        <word name='People'>
-          <ref name='xmlEncodeEntities'/>
-        </word>
-        <word name='PhoneticExtensions'>
-          <ref name='xmlUCSIsPhoneticExtensions'/>
-        </word>
-        <word name='Please'>
-          <ref name='xmlNormalizeWindowsPath'/>
-        </word>
-        <word name='Plug'>
-          <ref name='xmlSchemaSAXPlug'/>
-        </word>
-        <word name='Pointer'>
-          <ref name='xmlCheckUTF8'/>
-        </word>
-        <word name='Points'>
-          <ref name='xmlXPtrNewRangePoints'/>
-        </word>
-        <word name='Pop'>
-          <ref name='_xmlXPathParserContext'/>
-          <ref name='xmlRelaxNGValidatePopElement'/>
-          <ref name='xmlValidatePopElement'/>
-        </word>
-        <word name='Pops'>
-          <ref name='inputPop'/>
-          <ref name='namePop'/>
-          <ref name='nodePop'/>
-          <ref name='valuePop'/>
-          <ref name='xmlXPathPopBoolean'/>
-          <ref name='xmlXPathPopExternal'/>
-          <ref name='xmlXPathPopNodeSet'/>
-          <ref name='xmlXPathPopNumber'/>
-          <ref name='xmlXPathPopString'/>
-        </word>
-        <word name='Position'>
-          <ref name='_xmlParserNodeInfo'/>
-        </word>
-        <word name='Possibility'>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='Precompiled'>
-          <ref name='xmlXPathCompiledEval'/>
-        </word>
-        <word name='Predicate'>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-          <ref name='xmlXPtrEvalRangePredicate'/>
-        </word>
-        <word name='PredicateExpr'>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-          <ref name='xmlXPtrEvalRangePredicate'/>
-        </word>
-        <word name='Prefix'>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlSplitQName'/>
-          <ref name='xmlSplitQName2'/>
-          <ref name='xmlTextReaderConstName'/>
-          <ref name='xmlTextReaderName'/>
-        </word>
-        <word name='PrefixDef'>
-          <ref name='xmlNamespaceParseNSDef'/>
-        </word>
-        <word name='Print'>
-          <ref name='xmlRegexpPrint'/>
-          <ref name='xmlShellPrintNode'/>
-          <ref name='xmlShellPrintXPathError'/>
-        </word>
-        <word name='Prints'>
-          <ref name='xmlPrintURI'/>
-          <ref name='xmlShellPrintXPathResult'/>
-        </word>
-        <word name='PrivateUse'>
-          <ref name='xmlUCSIsPrivateUse'/>
-        </word>
-        <word name='PrivateUseArea'>
-          <ref name='xmlUCSIsPrivateUseArea'/>
-        </word>
-        <word name='Processing'>
-          <ref name='XML_CATALOG_PI'/>
-          <ref name='xmlParsePI'/>
-        </word>
-        <word name='Productions'>
-          <ref name='xmlParseExternalID'/>
-        </word>
-        <word name='Proper'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='Prototype'>
-          <ref name='xmlXPathFuncLookupFunc'/>
-          <ref name='xmlXPathVariableLookupFunc'/>
-        </word>
-        <word name='Provide'>
-          <ref name='getColumnNumber'/>
-          <ref name='getLineNumber'/>
-          <ref name='xmlSAX2GetColumnNumber'/>
-          <ref name='xmlSAX2GetLineNumber'/>
-          <ref name='xmlTextReaderGetParserColumnNumber'/>
-          <ref name='xmlTextReaderGetParserLineNumber'/>
-        </word>
-        <word name='Provides'>
-          <ref name='getPublicId'/>
-          <ref name='getSystemId'/>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlMemBlocks'/>
-          <ref name='xmlMemGet'/>
-          <ref name='xmlMemUsed'/>
-          <ref name='xmlNanoHTTPContentLength'/>
-          <ref name='xmlNanoHTTPEncoding'/>
-          <ref name='xmlNanoHTTPMimeType'/>
-          <ref name='xmlNanoHTTPRedir'/>
-          <ref name='xmlSAX2GetPublicId'/>
-          <ref name='xmlSAX2GetSystemId'/>
-          <ref name='xmlTextReaderAttributeCount'/>
-          <ref name='xmlTextReaderConstValue'/>
-          <ref name='xmlTextReaderGetAttribute'/>
-          <ref name='xmlTextReaderGetAttributeNo'/>
-          <ref name='xmlTextReaderGetAttributeNs'/>
-          <ref name='xmlTextReaderValue'/>
-        </word>
-        <word name='Proxy'>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-        </word>
-        <word name='Proxy-Authenticate'>
-          <ref name='xmlNanoHTTPAuthHeader'/>
-        </word>
-        <word name='PubidChar'>
-          <ref name='IS_PUBIDCHAR'/>
-          <ref name='xmlParsePubidLiteral'/>
-        </word>
-        <word name='PubidLiteral'>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlParseNotationDecl'/>
-          <ref name='xmlParsePubidLiteral'/>
-        </word>
-        <word name='Public'>
-          <ref name='_xmlNotation'/>
-          <ref name='xmlExternalEntityLoader'/>
-          <ref name='xmlLoadExternalEntity'/>
-          <ref name='xmlParseExternalID'/>
-        </word>
-        <word name='PublicID'>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlParseNotationDecl'/>
-        </word>
-        <word name='Push'>
-          <ref name='xmlParserInputBufferPush'/>
-          <ref name='xmlRegExecPushString'/>
-          <ref name='xmlRegExecPushString2'/>
-          <ref name='xmlRelaxNGValidatePushElement'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-          <ref name='xmlValidatePushElement'/>
-        </word>
-        <word name='Pushes'>
-          <ref name='inputPush'/>
-          <ref name='namePush'/>
-          <ref name='nodePush'/>
-          <ref name='valuePush'/>
-          <ref name='xmlXPathReturnBoolean'/>
-          <ref name='xmlXPathReturnEmptyNodeSet'/>
-          <ref name='xmlXPathReturnEmptyString'/>
-          <ref name='xmlXPathReturnExternal'/>
-          <ref name='xmlXPathReturnFalse'/>
-          <ref name='xmlXPathReturnNodeSet'/>
-          <ref name='xmlXPathReturnNumber'/>
-          <ref name='xmlXPathReturnString'/>
-          <ref name='xmlXPathReturnTrue'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk6'>
-      <letter name='Q'>
-        <word name='QName'>
-          <ref name='xmlBuildQName'/>
-          <ref name='xmlDictQLookup'/>
-          <ref name='xmlHashQLookup'/>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseEndTag'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaNewQNameValue'/>
-          <ref name='xmlSetProp'/>
-          <ref name='xmlSplitQName'/>
-          <ref name='xmlSplitQName2'/>
-          <ref name='xmlSplitQName3'/>
-          <ref name='xmlStrQEqual'/>
-          <ref name='xmlValidateQName'/>
-        </word>
-        <word name='QNames'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlHashQLookup2'/>
-        </word>
-        <word name='QUIT'>
-          <ref name='xmlNanoFTPQuit'/>
-        </word>
-        <word name='Qualified'>
-          <ref name='xmlSplitQName3'/>
-        </word>
-        <word name='Query'>
-          <ref name='xmlDictSize'/>
-          <ref name='xmlHashSize'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-        </word>
-      </letter>
-      <letter name='R'>
-        <word name='REC'>
-          <ref name='IS_BASECHAR'/>
-          <ref name='IS_COMBINING'/>
-          <ref name='IS_DIGIT'/>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='REC-xml'>
-          <ref name='xmlGetCharEncodingName'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-        </word>
-        <word name='REFs'>
-          <ref name='XML_DETECT_IDS'/>
-          <ref name='XML_SKIP_IDS'/>
-        </word>
-        <word name='REQUIRED'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='RFC'>
-          <ref name='xmlBuildURI'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlNormalizeURIPath'/>
-          <ref name='xmlParseURI'/>
-          <ref name='xmlParseURIReference'/>
-        </word>
-        <word name='RFC2396'>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='Raises'>
-          <ref name='xmlXPathSetArityError'/>
-          <ref name='xmlXPathSetError'/>
-          <ref name='xmlXPathSetTypeError'/>
-        </word>
-        <word name='Read'>
-          <ref name='xmlBufGetNodeContent'/>
-          <ref name='xmlFileRead'/>
-          <ref name='xmlGetFeature'/>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlIOFTPRead'/>
-          <ref name='xmlIOHTTPRead'/>
-          <ref name='xmlNodeBufGetContent'/>
-          <ref name='xmlNodeGetContent'/>
-          <ref name='xmlTextReaderConstValue'/>
-          <ref name='xmlTextReaderGetParserProp'/>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetSchema'/>
-        </word>
-        <word name='Reader'>
-          <ref name='xmlTextReaderPreserve'/>
-          <ref name='xmlTextReaderPreservePattern'/>
-        </word>
-        <word name='Readers'>
-          <ref name='xmlTextReaderNextSibling'/>
-        </word>
-        <word name='Reads'>
-          <ref name='xmlTextReaderCurrentNode'/>
-          <ref name='xmlTextReaderExpand'/>
-          <ref name='xmlTextReaderReadInnerXml'/>
-          <ref name='xmlTextReaderReadOuterXml'/>
-          <ref name='xmlTextReaderReadString'/>
-        </word>
-        <word name='Rec'>
-          <ref name='xmlValidateDocument'/>
-          <ref name='xmlValidateDocumentFinal'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='Receive'>
-          <ref name='setDocumentLocator'/>
-          <ref name='setDocumentLocatorSAXFunc'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlSAX2SetDocumentLocator'/>
-        </word>
-        <word name='Receiving'>
-          <ref name='charactersSAXFunc'/>
-          <ref name='ignorableWhitespaceSAXFunc'/>
-        </word>
-        <word name='Recurse'>
-          <ref name='xmlSearchNsByHref'/>
-        </word>
-        <word name='Recursion'>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-        </word>
-        <word name='Ref'>
-          <ref name='_xmlRef'/>
-          <ref name='xmlAddRef'/>
-          <ref name='xmlFreeRefTable'/>
-          <ref name='xmlIsRef'/>
-          <ref name='xmlRemoveRef'/>
-        </word>
-        <word name='Reference'>
-          <ref name='htmlParseCharRef'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseCharRef'/>
-          <ref name='xmlParseContent'/>
-          <ref name='xmlParseEntityValue'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlParseReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-        </word>
-        <word name='Reference:'>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-        <word name='References'>
-          <ref name='xmlBuildURI'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlParseAttribute'/>
-        </word>
-        <word name='Reflects'>
-          <ref name='XML_SCHEMAS_QUALIF_ATTR'/>
-          <ref name='XML_SCHEMAS_QUALIF_ELEM'/>
-        </word>
-        <word name='Refresh'>
-          <ref name='xmlParserInputBufferRead'/>
-        </word>
-        <word name='Reg'>
-          <ref name='xmlAutomataCompile'/>
-        </word>
-        <word name='Register'>
-          <ref name='xmlAddAttributeDecl'/>
-          <ref name='xmlAddDocEntity'/>
-          <ref name='xmlAddDtdEntity'/>
-          <ref name='xmlAddElementDecl'/>
-          <ref name='xmlAddID'/>
-          <ref name='xmlAddNotationDecl'/>
-          <ref name='xmlAddRef'/>
-          <ref name='xmlRegisterCharEncodingHandler'/>
-          <ref name='xmlRegisterInputCallbacks'/>
-          <ref name='xmlRegisterOutputCallbacks'/>
-          <ref name='xmlTextReaderSetErrorHandler'/>
-          <ref name='xmlTextReaderSetStructuredErrorHandler'/>
-          <ref name='xmlXPathRegisterFunc'/>
-          <ref name='xmlXPathRegisterFuncNS'/>
-          <ref name='xmlXPathRegisterNs'/>
-          <ref name='xmlXPathRegisterVariable'/>
-          <ref name='xmlXPathRegisterVariableNS'/>
-        </word>
-        <word name='RegisterNodeFunc'>
-          <ref name='xmlRegisterNodeDefault'/>
-        </word>
-        <word name='Registers'>
-          <ref name='xmlAddEncodingAlias'/>
-          <ref name='xmlDeregisterNodeDefault'/>
-          <ref name='xmlOutputBufferCreateFilenameDefault'/>
-          <ref name='xmlParserInputBufferCreateFilenameDefault'/>
-          <ref name='xmlRegisterDefaultInputCallbacks'/>
-          <ref name='xmlRegisterDefaultOutputCallbacks'/>
-          <ref name='xmlRegisterNodeDefault'/>
-          <ref name='xmlXPathRegisterAllFunctions'/>
-          <ref name='xmlXPathRegisterFuncLookup'/>
-        </word>
-        <word name='Relative'>
-          <ref name='xmlBuildURI'/>
-        </word>
-        <word name='Relax-NG'>
-          <ref name='xmlRelaxNGGetParserErrors'/>
-          <ref name='xmlRelaxNGGetValidErrors'/>
-          <ref name='xmlRelaxNGParse'/>
-          <ref name='xmlRelaxNGSetParserErrors'/>
-          <ref name='xmlRelaxNGSetParserStructuredErrors'/>
-          <ref name='xmlRelaxNGSetValidErrors'/>
-          <ref name='xmlRelaxNGSetValidStructuredErrors'/>
-          <ref name='xmlRelaxNGValidateDoc'/>
-          <ref name='xmlRelaxNGValidityErrorFunc'/>
-          <ref name='xmlRelaxNGValidityWarningFunc'/>
-        </word>
-        <word name='RelaxNG'>
-          <ref name='_xmlSchemaElement'/>
-          <ref name='xmlRelaxNGCleanupTypes'/>
-          <ref name='xmlRelaxNGDump'/>
-          <ref name='xmlRelaxNGDumpTree'/>
-          <ref name='xmlRelaxNGFree'/>
-          <ref name='xmlRelaxNGNewDocParserCtxt'/>
-          <ref name='xmlRelaxNGParse'/>
-          <ref name='xmlRelaxNGValidatePopElement'/>
-          <ref name='xmlRelaxNGValidatePushCData'/>
-          <ref name='xmlRelaxNGValidatePushElement'/>
-          <ref name='xmlRelaxParserSetFlag'/>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-        </word>
-        <word name='RelaxNGs'>
-          <ref name='xmlRelaxNGNewDocParserCtxt'/>
-          <ref name='xmlRelaxNGNewMemParserCtxt'/>
-          <ref name='xmlRelaxNGNewParserCtxt'/>
-          <ref name='xmlRelaxNGNewValidCtxt'/>
-        </word>
-        <word name='Remove'>
-          <ref name='xmlACatalogRemove'/>
-          <ref name='xmlBufShrink'/>
-          <ref name='xmlBufferDetach'/>
-          <ref name='xmlBufferShrink'/>
-          <ref name='xmlCatalogRemove'/>
-          <ref name='xmlListClear'/>
-          <ref name='xmlListRemoveAll'/>
-          <ref name='xmlListRemoveFirst'/>
-          <ref name='xmlListRemoveLast'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlPopOutputCallbacks'/>
-          <ref name='xmlRemoveID'/>
-          <ref name='xmlRemoveRef'/>
-          <ref name='xmlUnsetNsProp'/>
-          <ref name='xmlUnsetProp'/>
-        </word>
-        <word name='Removes'>
-          <ref name='xmlListPopBack'/>
-          <ref name='xmlListPopFront'/>
-          <ref name='xmlSchemaCollapseString'/>
-          <ref name='xmlXPathNodeSetDel'/>
-          <ref name='xmlXPathNodeSetRemove'/>
-          <ref name='xmlXPtrLocationSetDel'/>
-          <ref name='xmlXPtrLocationSetRemove'/>
-        </word>
-        <word name='Replace'>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-        </word>
-        <word name='Replaces'>
-          <ref name='xmlSchemaWhiteSpaceReplace'/>
-        </word>
-        <word name='Required'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='htmlAttrAllowed'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlValidateOneElement'/>
-        </word>
-        <word name='Reset'>
-          <ref name='htmlCtxtReset'/>
-          <ref name='xmlCtxtReset'/>
-          <ref name='xmlCtxtResetPush'/>
-        </word>
-        <word name='Resize'>
-          <ref name='xmlBufferResize'/>
-        </word>
-        <word name='Resolves'>
-          <ref name='xmlTextReaderLookupNamespace'/>
-        </word>
-        <word name='Resolving'>
-          <ref name='xmlBuildURI'/>
-        </word>
-        <word name='Resource'>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='Retrieve'>
-          <ref name='xmlTextReaderGetErrorHandler'/>
-          <ref name='xmlTextReaderIsValid'/>
-        </word>
-        <word name='Return'>
-          <ref name='CHECK_TYPE0'/>
-        </word>
-        <word name='Returns'>
-          <ref name='htmlDefaultSubelement'/>
-          <ref name='htmlElementAllowedHereDesc'/>
-          <ref name='htmlRequiredAttrs'/>
-          <ref name='xmlGetDocEntity'/>
-          <ref name='xmlGetDtdEntity'/>
-          <ref name='xmlGetParameterEntity'/>
-          <ref name='xmlHasFeature'/>
-          <ref name='xmlLinkGetData'/>
-          <ref name='xmlXPathCheckError'/>
-          <ref name='xmlXPathGetContextNode'/>
-          <ref name='xmlXPathGetDocument'/>
-          <ref name='xmlXPathGetError'/>
-          <ref name='xmlXPathNodeSetGetLength'/>
-          <ref name='xmlXPathNodeSetIsEmpty'/>
-          <ref name='xmlXPathNodeSetItem'/>
-          <ref name='xmlXPathStackIsExternal'/>
-          <ref name='xmlXPathStackIsNodeSet'/>
-        </word>
-        <word name='Returns:'>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-        </word>
-        <word name='Reverse'>
-          <ref name='xmlListReverse'/>
-        </word>
-        <word name='Root'>
-          <ref name='xmlParseDocTypeDecl'/>
-          <ref name='xmlValidateRoot'/>
-        </word>
-        <word name='Runic'>
-          <ref name='xmlUCSIsRunic'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk7'>
-      <letter name='S'>
-        <word name='SAX1'>
-          <ref name='LIBXML_SAX1_ENABLED'/>
-        </word>
-        <word name='SAX2'>
-          <ref name='XML_SAX2_MAGIC'/>
-          <ref name='endElementNsSAX2Func'/>
-          <ref name='initdocbDefaultSAXHandler'/>
-          <ref name='inithtmlDefaultSAXHandler'/>
-          <ref name='initxmlDefaultSAXHandler'/>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='xmlDefaultSAXHandlerInit'/>
-          <ref name='xmlSAX2EndElementNs'/>
-          <ref name='xmlSAX2InitDefaultSAXHandler'/>
-          <ref name='xmlSAX2InitDocbDefaultSAXHandler'/>
-          <ref name='xmlSAX2InitHtmlDefaultSAXHandler'/>
-          <ref name='xmlSAX2StartElementNs'/>
-          <ref name='xmlSchemaValidateStream'/>
-        </word>
-        <word name='SAX::substituteEntities'>
-          <ref name='xmlSubstituteEntitiesDefault'/>
-        </word>
-        <word name='SDDecl'>
-          <ref name='xmlParseSDDecl'/>
-        </word>
-        <word name='SDDecl?'>
-          <ref name='xmlParseXMLDecl'/>
-        </word>
-        <word name='SEQ'>
-          <ref name='_xmlElementContent'/>
-        </word>
-        <word name='SGML'>
-          <ref name='LIBXML_DOCB_ENABLED'/>
-          <ref name='docbCreateFileParserCtxt'/>
-          <ref name='docbCreatePushParserCtxt'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='docbFreeParserCtxt'/>
-          <ref name='docbParseDoc'/>
-          <ref name='docbParseDocument'/>
-          <ref name='docbParseFile'/>
-          <ref name='docbSAXParseDoc'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='xmlCatalogConvert'/>
-          <ref name='xmlCatalogIsEmpty'/>
-          <ref name='xmlConvertSGMLCatalog'/>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-          <ref name='xmlNewCatalog'/>
-          <ref name='xmlParseComment'/>
-        </word>
-        <word name='SGMLSOURCE'>
-          <ref name='getPublicId'/>
-          <ref name='xmlSAX2GetPublicId'/>
-        </word>
-        <word name='SITE'>
-          <ref name='xmlNanoFTPProxy'/>
-        </word>
-        <word name='STag'>
-          <ref name='htmlParseElement'/>
-          <ref name='xmlParseElement'/>
-          <ref name='xmlParseStartTag'/>
-        </word>
-        <word name='SYSTEM'>
-          <ref name='_xmlDtd'/>
-          <ref name='_xmlEntity'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='externalSubset'/>
-          <ref name='externalSubsetSAXFunc'/>
-          <ref name='internalSubset'/>
-          <ref name='internalSubsetSAXFunc'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlParseNotationDecl'/>
-          <ref name='xmlSAX2ExternalSubset'/>
-          <ref name='xmlSAX2InternalSubset'/>
-        </word>
-        <word name='Same'>
-          <ref name='IS_PUBIDCHAR_CH'/>
-        </word>
-        <word name='Save'>
-          <ref name='xmlCopyError'/>
-          <ref name='xmlSaveDoc'/>
-          <ref name='xmlSaveTree'/>
-          <ref name='xmlSaveUri'/>
-        </word>
-        <word name='Scan'>
-          <ref name='xmlHashCopy'/>
-          <ref name='xmlHashScan'/>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull'/>
-          <ref name='xmlHashScanFull3'/>
-        </word>
-        <word name='Schema'>
-          <ref name='xmlRelaxNGParse'/>
-          <ref name='xmlSchemaDump'/>
-          <ref name='xmlSchemaFree'/>
-          <ref name='xmlSchemaFreeFacet'/>
-          <ref name='xmlSchemaFreeType'/>
-          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaParse'/>
-          <ref name='xmlSchematronParse'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetSchema'/>
-        </word>
-        <word name='Schemas'>
-          <ref name='LIBXML_SCHEMAS_ENABLED'/>
-          <ref name='xmlRegexpCompile'/>
-          <ref name='xmlRelaxNGCleanupTypes'/>
-          <ref name='xmlSchemaCleanupTypes'/>
-          <ref name='xmlSchemaFreeValue'/>
-          <ref name='xmlSchemaGetPredefinedType'/>
-          <ref name='xmlSchemaInitTypes'/>
-          <ref name='xmlSchemaNewDocParserCtxt'/>
-          <ref name='xmlSchemaNewMemParserCtxt'/>
-          <ref name='xmlSchemaNewParserCtxt'/>
-          <ref name='xmlSchemaNewValidCtxt'/>
-        </word>
-        <word name='Schematron'>
-          <ref name='LIBXML_SCHEMATRON_ENABLED'/>
-          <ref name='xmlSchematronFree'/>
-          <ref name='xmlSchematronParse'/>
-          <ref name='xmlSchematronSetValidStructuredErrors'/>
-          <ref name='xmlSchematronValidityErrorFunc'/>
-          <ref name='xmlSchematronValidityWarningFunc'/>
-        </word>
-        <word name='Schematrons'>
-          <ref name='xmlSchematronNewDocParserCtxt'/>
-          <ref name='xmlSchematronNewMemParserCtxt'/>
-          <ref name='xmlSchematronNewParserCtxt'/>
-          <ref name='xmlSchematronNewValidCtxt'/>
-        </word>
-        <word name='Script'>
-          <ref name='htmlIsScriptAttribute'/>
-        </word>
-        <word name='Search'>
-          <ref name='xmlFindCharEncodingHandler'/>
-          <ref name='xmlGetCharEncodingHandler'/>
-          <ref name='xmlGetDtdAttrDesc'/>
-          <ref name='xmlGetDtdElementDesc'/>
-          <ref name='xmlGetDtdNotationDesc'/>
-          <ref name='xmlGetDtdQAttrDesc'/>
-          <ref name='xmlGetDtdQElementDesc'/>
-          <ref name='xmlGetID'/>
-          <ref name='xmlGetLastChild'/>
-          <ref name='xmlGetNoNsProp'/>
-          <ref name='xmlGetNsList'/>
-          <ref name='xmlGetNsProp'/>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlHasNsProp'/>
-          <ref name='xmlHasProp'/>
-          <ref name='xmlIsMixedElement'/>
-          <ref name='xmlListReverseSearch'/>
-          <ref name='xmlListSearch'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlSearchNsByHref'/>
-          <ref name='xmlXPathFunctionLookup'/>
-          <ref name='xmlXPathFunctionLookupNS'/>
-          <ref name='xmlXPathNsLookup'/>
-          <ref name='xmlXPathVariableLookup'/>
-          <ref name='xmlXPathVariableLookupNS'/>
-        </word>
-        <word name='Searches'>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlNodeGetLang'/>
-          <ref name='xmlNodeGetSpacePreserve'/>
-        </word>
-        <word name='Second'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='Section'>
-          <ref name='xmlGetCharEncodingName'/>
-          <ref name='xmlNormalizeURIPath'/>
-        </word>
-        <word name='See'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlLinkGetData'/>
-          <ref name='xmlParseNotationDecl'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-        </word>
-        <word name='Semi'>
-          <ref name='xmlRelaxParserSetFlag'/>
-        </word>
-        <word name='Send'>
-          <ref name='xmlNanoFTPQuit'/>
-        </word>
-        <word name='Serialize'>
-          <ref name='xmlAttrSerializeTxtContent'/>
-          <ref name='xmlExpDump'/>
-        </word>
-        <word name='Sets'>
-          <ref name='htmlSetMetaEncoding'/>
-          <ref name='xmlBufferSetAllocationScheme'/>
-          <ref name='xmlSchemaSetValidOptions'/>
-          <ref name='xmlXPathDifference'/>
-          <ref name='xmlXPathDistinct'/>
-          <ref name='xmlXPathDistinctSorted'/>
-          <ref name='xmlXPathHasSameNodes'/>
-          <ref name='xmlXPathIntersection'/>
-          <ref name='xmlXPathLeading'/>
-          <ref name='xmlXPathLeadingSorted'/>
-          <ref name='xmlXPathNodeLeading'/>
-          <ref name='xmlXPathNodeLeadingSorted'/>
-          <ref name='xmlXPathNodeTrailing'/>
-          <ref name='xmlXPathNodeTrailingSorted'/>
-          <ref name='xmlXPathSetContextNode'/>
-          <ref name='xmlXPathTrailing'/>
-          <ref name='xmlXPathTrailingSorted'/>
-        </word>
-        <word name='Setting'>
-          <ref name='xmlSchemaValidateSetLocator'/>
-        </word>
-        <word name='Setup'>
-          <ref name='xmlNanoFTPProxy'/>
-          <ref name='xmlReaderNewDoc'/>
-          <ref name='xmlReaderNewFd'/>
-          <ref name='xmlReaderNewIO'/>
-          <ref name='xmlReaderNewMemory'/>
-          <ref name='xmlReaderNewWalker'/>
-          <ref name='xmlSetupParserForBuffer'/>
-          <ref name='xmlTextReaderSetup'/>
-        </word>
-        <word name='Shavian'>
-          <ref name='xmlUCSIsShavian'/>
-        </word>
-        <word name='Shell'>
-          <ref name='xmlShellReadlineFunc'/>
-        </word>
-        <word name='Should'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-          <ref name='xmlStrEqual'/>
-          <ref name='xmlStringGetNodeList'/>
-          <ref name='xmlStringLenGetNodeList'/>
-        </word>
-        <word name='Show'>
-          <ref name='xmlShellPwd'/>
-        </word>
-        <word name='Signature'>
-          <ref name='xmlC14NIsVisibleCallback'/>
-          <ref name='xmlDeregisterNodeFunc'/>
-          <ref name='xmlFreeFunc'/>
-          <ref name='xmlGenericErrorFunc'/>
-          <ref name='xmlMallocFunc'/>
-          <ref name='xmlOutputBufferCreateFilenameFunc'/>
-          <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-          <ref name='xmlReallocFunc'/>
-          <ref name='xmlRegisterNodeFunc'/>
-          <ref name='xmlRelaxNGValidityErrorFunc'/>
-          <ref name='xmlRelaxNGValidityWarningFunc'/>
-          <ref name='xmlSchemaValidityErrorFunc'/>
-          <ref name='xmlSchemaValidityWarningFunc'/>
-          <ref name='xmlSchematronValidityErrorFunc'/>
-          <ref name='xmlSchematronValidityWarningFunc'/>
-          <ref name='xmlStrdupFunc'/>
-          <ref name='xmlStructuredErrorFunc'/>
-          <ref name='xmlTextReaderErrorFunc'/>
-        </word>
-        <word name='Similarly'>
-          <ref name='xmlParseEntityRef'/>
-        </word>
-        <word name='Simply'>
-          <ref name='xmlCreateURI'/>
-        </word>
-        <word name='Since'>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlStrcat'/>
-          <ref name='xmlStrdup'/>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
-        <word name='Single'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='Sinhala'>
-          <ref name='xmlUCSIsSinhala'/>
-        </word>
-        <word name='Skip'>
-          <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
-          <ref name='XML_SCHEMAS_ANY_SKIP'/>
-          <ref name='xmlNextChar'/>
-          <ref name='xmlParseComment'/>
-          <ref name='xmlTextReaderNext'/>
-          <ref name='xmlTextReaderNextSibling'/>
-        </word>
-        <word name='Skips'>
-          <ref name='MOVETO_ENDTAG'/>
-          <ref name='MOVETO_STARTTAG'/>
-          <ref name='SKIP_EOL'/>
-        </word>
-        <word name='SmallFormVariants'>
-          <ref name='xmlUCSIsSmallFormVariants'/>
-        </word>
-        <word name='Some'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='Sort'>
-          <ref name='xmlListSort'/>
-          <ref name='xmlXPathNodeSetSort'/>
-        </word>
-        <word name='SpacingModifierLetters'>
-          <ref name='xmlUCSIsSpacingModifierLetters'/>
-        </word>
-        <word name='Spec'>
-          <ref name='xmlParseStartTag'/>
-        </word>
-        <word name='Special'>
-          <ref name='XML_CTXT_FINISH_DTD_0'/>
-          <ref name='XML_CTXT_FINISH_DTD_1'/>
-          <ref name='XML_SAX2_MAGIC'/>
-        </word>
-        <word name='Specials'>
-          <ref name='xmlUCSIsSpecials'/>
-        </word>
-        <word name='Speed'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='Standalone'>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-        </word>
-        <word name='Start'>
-          <ref name='xmlNanoFTPOpen'/>
-          <ref name='xmlTextWriterStartAttribute'/>
-          <ref name='xmlTextWriterStartAttributeNS'/>
-          <ref name='xmlTextWriterStartCDATA'/>
-          <ref name='xmlTextWriterStartComment'/>
-          <ref name='xmlTextWriterStartDTD'/>
-          <ref name='xmlTextWriterStartDTDAttlist'/>
-          <ref name='xmlTextWriterStartDTDElement'/>
-          <ref name='xmlTextWriterStartDTDEntity'/>
-          <ref name='xmlTextWriterStartDocument'/>
-          <ref name='xmlTextWriterStartElement'/>
-          <ref name='xmlTextWriterStartElementNS'/>
-          <ref name='xmlTextWriterStartPI'/>
-        </word>
-        <word name='Stops'>
-          <ref name='xmlParseContent'/>
-        </word>
-        <word name='StringType'>
-          <ref name='xmlParseAttributeType'/>
-        </word>
-        <word name='Strings'>
-          <ref name='xmlXPathStringLengthFunction'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='Subcode'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='Subset'>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='Super'>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-        </word>
-        <word name='SuperscriptsandSubscripts'>
-          <ref name='xmlUCSIsSuperscriptsandSubscripts'/>
-        </word>
-        <word name='SupplementalArrows-A'>
-          <ref name='xmlUCSIsSupplementalArrowsA'/>
-        </word>
-        <word name='SupplementalArrows-B'>
-          <ref name='xmlUCSIsSupplementalArrowsB'/>
-        </word>
-        <word name='SupplementalMathematicalOperators'>
-          <ref name='xmlUCSIsSupplementalMathematicalOperators'/>
-        </word>
-        <word name='SupplementaryPrivateUseArea-A'>
-          <ref name='xmlUCSIsSupplementaryPrivateUseAreaA'/>
-        </word>
-        <word name='SupplementaryPrivateUseArea-B'>
-          <ref name='xmlUCSIsSupplementaryPrivateUseAreaB'/>
-        </word>
-        <word name='Syriac'>
-          <ref name='xmlUCSIsSyriac'/>
-        </word>
-        <word name='System'>
-          <ref name='_xmlNotation'/>
-          <ref name='xmlExternalEntityLoader'/>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-        <word name='SystemLiteral'>
-          <ref name='xmlNamespaceParseNSDef'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlParseNotationDecl'/>
-          <ref name='xmlParseSystemLiteral'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk8'>
-      <letter name='T'>
-        <word name='TEXT'>
-          <ref name='xmlAddChild'/>
-          <ref name='xmlAddChildList'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlAddSibling'/>
-          <ref name='xmlBufGetNodeContent'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlNodeBufGetContent'/>
-          <ref name='xmlNodeGetContent'/>
-        </word>
-        <word name='TEXTs'>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlStringGetNodeList'/>
-          <ref name='xmlStringLenGetNodeList'/>
-        </word>
-        <word name='TODO'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseSDDecl'/>
-        </word>
-        <word name='TODO:'>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-          <ref name='htmlEntityLookup'/>
-          <ref name='htmlEntityValueLookup'/>
-          <ref name='htmlNodeDumpFileFormat'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlEncodeEntities'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlNamespaceParseNSDef'/>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlNewTextWriterMemory'/>
-          <ref name='xmlNewTextWriterPushParser'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlParseQuotedString'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlSaveDoc'/>
-          <ref name='xmlSaveTree'/>
-          <ref name='xmlScanName'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlTextWriterWriteRawLen'/>
-          <ref name='xmlXPathNextAttribute'/>
-        </word>
-        <word name='TRUE'>
-          <ref name='xmlTextWriterStartDTDEntity'/>
-          <ref name='xmlTextWriterWriteDTDEntity'/>
-          <ref name='xmlTextWriterWriteDTDExternalEntity'/>
-          <ref name='xmlTextWriterWriteDTDInternalEntity'/>
-          <ref name='xmlTextWriterWriteFormatDTDInternalEntity'/>
-          <ref name='xmlTextWriterWriteVFormatDTDInternalEntity'/>
-        </word>
-        <word name='Tagalog'>
-          <ref name='xmlUCSIsTagalog'/>
-        </word>
-        <word name='Tagbanwa'>
-          <ref name='xmlUCSIsTagbanwa'/>
-        </word>
-        <word name='Tags'>
-          <ref name='xmlUCSIsTags'/>
-        </word>
-        <word name='TaiLe'>
-          <ref name='xmlUCSIsTaiLe'/>
-        </word>
-        <word name='TaiXuanJingSymbols'>
-          <ref name='xmlUCSIsTaiXuanJingSymbols'/>
-        </word>
-        <word name='Take'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='isolat1ToUTF8'/>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-        </word>
-        <word name='Takes'>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-        </word>
-        <word name='Tamil'>
-          <ref name='xmlUCSIsTamil'/>
-        </word>
-        <word name='Telugu'>
-          <ref name='xmlUCSIsTelugu'/>
-        </word>
-        <word name='Test'>
-          <ref name='xmlPatternMatch'/>
-        </word>
-        <word name='Text'>
-          <ref name='xmlNodeIsText'/>
-          <ref name='xmlTextReaderReadAttributeValue'/>
-          <ref name='xmlTextReaderReadString'/>
-        </word>
-        <word name='TextDecl'>
-          <ref name='xmlParseTextDecl'/>
-        </word>
-        <word name='TextDecl?'>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseEntity'/>
-          <ref name='xmlParseExtParsedEnt'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlSAXParseEntity'/>
-        </word>
-        <word name='Thaana'>
-          <ref name='xmlUCSIsThaana'/>
-        </word>
-        <word name='Thai'>
-          <ref name='xmlUCSIsThai'/>
-        </word>
-        <word name='That'>
-          <ref name='xmlAutomataNewAllTrans'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='Then'>
-          <ref name='xmlValidateOneElement'/>
-        </word>
-        <word name='There'>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='Those'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='Thus:'>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='Tibetan'>
-          <ref name='xmlUCSIsTibetan'/>
-        </word>
-        <word name='Token'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlValidateAttributeValue'/>
-          <ref name='xmlValidateNmtokenValue'/>
-          <ref name='xmlValidateNmtokensValue'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneNamespace'/>
-        </word>
-        <word name='TokenizedType'>
-          <ref name='xmlParseAttributeType'/>
-        </word>
-        <word name='Traversal'>
-          <ref name='xmlXPathNextAncestor'/>
-          <ref name='xmlXPathNextAncestorOrSelf'/>
-          <ref name='xmlXPathNextAttribute'/>
-          <ref name='xmlXPathNextChild'/>
-          <ref name='xmlXPathNextDescendant'/>
-          <ref name='xmlXPathNextDescendantOrSelf'/>
-          <ref name='xmlXPathNextFollowing'/>
-          <ref name='xmlXPathNextFollowingSibling'/>
-          <ref name='xmlXPathNextNamespace'/>
-          <ref name='xmlXPathNextParent'/>
-          <ref name='xmlXPathNextPreceding'/>
-          <ref name='xmlXPathNextPrecedingSibling'/>
-          <ref name='xmlXPathNextSelf'/>
-        </word>
-        <word name='Tree'>
-          <ref name='xmlXPathNewValueTree'/>
-        </word>
-        <word name='Tree:-'>
-          <ref name='xmlParseNamespace'/>
-        </word>
-        <word name='Trickery:'>
-          <ref name='xmlScanName'/>
-        </word>
-        <word name='Tries'>
-          <ref name='xmlNanoFTPConnect'/>
-          <ref name='xmlNanoFTPConnectTo'/>
-          <ref name='xmlNanoFTPCwd'/>
-          <ref name='xmlNanoFTPDele'/>
-        </word>
-        <word name='True'>
-          <ref name='xmlBoolToText'/>
-        </word>
-        <word name='Try'>
-          <ref name='xmlACatalogResolvePublic'/>
-          <ref name='xmlACatalogResolveSystem'/>
-          <ref name='xmlCatalogGetPublic'/>
-          <ref name='xmlCatalogGetSystem'/>
-          <ref name='xmlCatalogResolvePublic'/>
-          <ref name='xmlCatalogResolveSystem'/>
-          <ref name='xmlGetLineNo'/>
-          <ref name='xmlIsXHTML'/>
-          <ref name='xmlNanoFTPGetConnection'/>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateDocument'/>
-          <ref name='xmlValidateDtd'/>
-          <ref name='xmlValidateElement'/>
-          <ref name='xmlValidateElementDecl'/>
-          <ref name='xmlValidateNotationDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlValidateOneNamespace'/>
-          <ref name='xmlValidateRoot'/>
-        </word>
-        <word name='Type'>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseDocTypeDecl'/>
-          <ref name='xmlParseElement'/>
-          <ref name='xmlParseElementDecl'/>
-          <ref name='xmlSchemaFreeType'/>
-          <ref name='xmlValidateElementDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneNamespace'/>
-          <ref name='xmlValidateRoot'/>
-        </word>
-        <word name='Types'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-          <ref name='xmlValidateElementDecl'/>
-        </word>
-      </letter>
-      <letter name='U'>
-        <word name='UCS4'>
-          <ref name='xmlUTF8Charcmp'/>
-        </word>
-        <word name='UNICODE'>
-          <ref name='_htmlEntityDesc'/>
-          <ref name='c'/>
-        </word>
-        <word name='UNIX'>
-          <ref name='xmlShell'/>
-        </word>
-        <word name='UNUSED:'>
-          <ref name='ignorableWhitespace'/>
-          <ref name='ignorableWhitespaceSAXFunc'/>
-          <ref name='xmlSAX2IgnorableWhitespace'/>
-        </word>
-        <word name='URI-reference'>
-          <ref name='xmlParseURI'/>
-          <ref name='xmlParseURIRaw'/>
-          <ref name='xmlParseURIReference'/>
-        </word>
-        <word name='URN'>
-          <ref name='globalNamespace'/>
-          <ref name='namespaceDecl'/>
-        </word>
-        <word name='USER'>
-          <ref name='xmlNanoFTPProxy'/>
-        </word>
-        <word name='UTF-16'>
-          <ref name='_uconv_t'/>
-        </word>
-        <word name='UTF16'>
-          <ref name='xmlCharEncOutFunc'/>
-        </word>
-        <word name='UTF4'>
-          <ref name='xmlDetectCharEncoding'/>
-        </word>
-        <word name='UTF8'>
-          <ref name='_xmlBuffer'/>
-          <ref name='p'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlSplitQName'/>
-          <ref name='xmlUTF8Charcmp'/>
-          <ref name='xmlUTF8Size'/>
-          <ref name='xmlUTF8Strlen'/>
-          <ref name='xmlUTF8Strloc'/>
-          <ref name='xmlUTF8Strndup'/>
-          <ref name='xmlUTF8Strpos'/>
-          <ref name='xmlUTF8Strsize'/>
-        </word>
-        <word name='Ugaritic'>
-          <ref name='xmlUCSIsUgaritic'/>
-        </word>
-        <word name='Unescaping'>
-          <ref name='xmlURIUnescapeString'/>
-        </word>
-        <word name='Unicode'>
-          <ref name='IS_CHAR'/>
-          <ref name='LIBXML_UNICODE_ENABLED'/>
-        </word>
-        <word name='UnifiedCanadianAboriginalSyllabics'>
-          <ref name='xmlUCSIsUnifiedCanadianAboriginalSyllabics'/>
-        </word>
-        <word name='Unique'>
-          <ref name='xmlParseElementDecl'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlValidateElementDecl'/>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='Unix'>
-          <ref name='xmlShellList'/>
-        </word>
-        <word name='Unlink'>
-          <ref name='xmlRemoveProp'/>
-          <ref name='xmlReplaceNode'/>
-          <ref name='xmlUnlinkNode'/>
-        </word>
-        <word name='Unlinks'>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='Unplug'>
-          <ref name='xmlSchemaSAXUnplug'/>
-        </word>
-        <word name='Unregisters'>
-          <ref name='xmlCleanupEncodingAliases'/>
-          <ref name='xmlDelEncodingAlias'/>
-        </word>
-        <word name='Update'>
-          <ref name='xmlNanoFTPUpdateURL'/>
-        </word>
-        <word name='Upgrade'>
-          <ref name='xmlKeepBlanksDefault'/>
-        </word>
-        <word name='Use'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='XML_DETECT_IDS'/>
-          <ref name='_xmlDOMWrapCtxt'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlCopyNodeList'/>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlIsBaseChar'/>
-          <ref name='xmlIsBlank'/>
-          <ref name='xmlIsChar'/>
-          <ref name='xmlIsCombining'/>
-          <ref name='xmlIsDigit'/>
-          <ref name='xmlIsExtender'/>
-          <ref name='xmlIsIdeographic'/>
-          <ref name='xmlIsPubidChar'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNewNodeEatName'/>
-          <ref name='xmlNewPI'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlPatternGetStreamCtxt'/>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetSchema'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='Used'>
-          <ref name='XML_SCHEMAS_ANY_LAX'/>
-          <ref name='XML_SCHEMAS_ANY_STRICT'/>
-          <ref name='XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
-          <ref name='XML_SKIP_IDS'/>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xmlCatalogGetDefaults'/>
-          <ref name='xmlCatalogSetDebug'/>
-          <ref name='xmlCatalogSetDefaults'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlScanName'/>
-        </word>
-        <word name='User'>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-        </word>
-        <word name='UserCode'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='Uses'>
-          <ref name='xmlNewNode'/>
-          <ref name='xmlURIEscape'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk9'>
-      <letter name='V'>
-        <word name='Valid'>
-          <ref name='xmlValidateOneElement'/>
-        </word>
-        <word name='Validate'>
-          <ref name='XML_SCHEMAS_ANY_LAX'/>
-          <ref name='xmlRelaxNGValidateDoc'/>
-          <ref name='xmlRelaxNGValidateFullElement'/>
-          <ref name='xmlSchemaValidateDoc'/>
-          <ref name='xmlSchemaValidateOneElement'/>
-          <ref name='xmlSchemaValidateStream'/>
-          <ref name='xmlSchematronValidateDoc'/>
-          <ref name='xmlShellValidate'/>
-          <ref name='xmlValidateAttributeValue'/>
-          <ref name='xmlValidateNameValue'/>
-          <ref name='xmlValidateNamesValue'/>
-          <ref name='xmlValidateNmtokenValue'/>
-          <ref name='xmlValidateNmtokensValue'/>
-          <ref name='xmlValidateNotationUse'/>
-        </word>
-        <word name='Validity'>
-          <ref name='xmlParseAttributeType'/>
-        </word>
-        <word name='Value'>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneNamespace'/>
-          <ref name='xmlXPathNewValueTree'/>
-        </word>
-        <word name='Values'>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlParseEnumerationType'/>
-          <ref name='xmlParseNotationType'/>
-          <ref name='xmlValidateAttributeValue'/>
-        </word>
-        <word name='Variable'>
-          <ref name='xmlXPathVariableLookup'/>
-          <ref name='xmlXPathVariableLookupNS'/>
-        </word>
-        <word name='VariationSelectors'>
-          <ref name='xmlUCSIsVariationSelectors'/>
-        </word>
-        <word name='VariationSelectorsSupplement'>
-          <ref name='xmlUCSIsVariationSelectorsSupplement'/>
-        </word>
-        <word name='VersionInfo'>
-          <ref name='xmlParseVersionInfo'/>
-          <ref name='xmlParseXMLDecl'/>
-        </word>
-        <word name='VersionInfo?'>
-          <ref name='xmlParseTextDecl'/>
-        </word>
-        <word name='VersionNum'>
-          <ref name='xmlParseVersionInfo'/>
-          <ref name='xmlParseVersionNum'/>
-        </word>
-      </letter>
-      <letter name='W'>
-        <word name='W3C'>
-          <ref name='xmlChildElementCount'/>
-          <ref name='xmlFirstElementChild'/>
-          <ref name='xmlLastElementChild'/>
-          <ref name='xmlNextElementSibling'/>
-          <ref name='xmlPreviousElementSibling'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-        </word>
-        <word name='WARNING:'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaNewStringValue'/>
-        </word>
-        <word name='WFC:'>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseCharRef'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlParseElement'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-        </word>
-        <word name='WWW-Authenticate'>
-          <ref name='xmlNanoHTTPAuthHeader'/>
-        </word>
-        <word name='WXS'>
-          <ref name='_xmlSchemaElement'/>
-        </word>
-        <word name='Walk'>
-          <ref name='xmlListReverseWalk'/>
-          <ref name='xmlListWalk'/>
-        </word>
-        <word name='Warning'>
-          <ref name='xmlSaveFileTo'/>
-          <ref name='xmlSaveFormatFileTo'/>
-        </word>
-        <word name='Was'>
-          <ref name='_xmlParserInput'/>
-        </word>
-        <word name='Well'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseEntity'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlRecoverDoc'/>
-          <ref name='xmlRecoverFile'/>
-          <ref name='xmlRecoverMemory'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseEntity'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-        </word>
-        <word name='What'>
-          <ref name='_xmlError'/>
-          <ref name='notationDecl'/>
-          <ref name='notationDeclSAXFunc'/>
-          <ref name='unparsedEntityDecl'/>
-          <ref name='unparsedEntityDeclSAXFunc'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlSAX2NotationDecl'/>
-          <ref name='xmlSAX2UnparsedEntityDecl'/>
-        </word>
-        <word name='When'>
-          <ref name='xmlHandleEntity'/>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='Wherever'>
-          <ref name='xmlCurrentChar'/>
-        </word>
-        <word name='Whitespace'>
-          <ref name='xmlXPathNormalizeFunction'/>
-        </word>
-        <word name='Will'>
-          <ref name='xmlSaveFile'/>
-          <ref name='xmlSaveFormatFile'/>
-        </word>
-        <word name='With'>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseEndTag'/>
-          <ref name='xmlParseStartTag'/>
-        </word>
-        <word name='Workaround'>
-          <ref name='xmlSchemaValidateSetFilename'/>
-        </word>
-        <word name='Working'>
-          <ref name='xmlParseNamespace'/>
-        </word>
-        <word name='Wrap'>
-          <ref name='xmlXPathWrapNodeSet'/>
-          <ref name='xmlXPtrWrapLocationSet'/>
-        </word>
-        <word name='Wrapper'>
-          <ref name='xmlFileOpen'/>
-        </word>
-        <word name='Wraps'>
-          <ref name='xmlXPathWrapCString'/>
-          <ref name='xmlXPathWrapExternal'/>
-          <ref name='xmlXPathWrapString'/>
-        </word>
-        <word name='Writes'>
-          <ref name='xmlTextWriterFullEndElement'/>
-        </word>
-      </letter>
-      <letter name='X'>
-        <word name='XHTML'>
-          <ref name='xmlIsXHTML'/>
-        </word>
-        <word name='XInclude'>
-          <ref name='LIBXML_XINCLUDE_ENABLED'/>
-          <ref name='XINCLUDE_NS'/>
-          <ref name='XINCLUDE_OLD_NS'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlXIncludeFreeContext'/>
-          <ref name='xmlXIncludeNewContext'/>
-          <ref name='xmlXIncludeProcess'/>
-          <ref name='xmlXIncludeProcessFlags'/>
-          <ref name='xmlXIncludeProcessFlagsData'/>
-          <ref name='xmlXIncludeProcessNode'/>
-          <ref name='xmlXIncludeProcessTree'/>
-          <ref name='xmlXIncludeProcessTreeFlags'/>
-          <ref name='xmlXIncludeProcessTreeFlagsData'/>
-          <ref name='xmlXIncludeSetFlags'/>
-        </word>
-        <word name='XInclude?'>
-          <ref name='xmlDOMWrapCloneNode'/>
-        </word>
-        <word name='XLINK_TYPE_NONE'>
-          <ref name='xlinkIsLink'/>
-        </word>
-        <word name='XML-1'>
-          <ref name='xmlDetectCharEncoding'/>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateElementDecl'/>
-          <ref name='xmlValidateNotationDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlValidateOneNamespace'/>
-          <ref name='xmlValidateRoot'/>
-        </word>
-        <word name='XML-Schema'>
-          <ref name='xmlSchemaGetValidErrors'/>
-        </word>
-        <word name='XMLDecl'>
-          <ref name='xmlParseXMLDecl'/>
-        </word>
-        <word name='XMLDecl?'>
-          <ref name='xmlParseDocument'/>
-        </word>
-        <word name='XMLSchema'>
-          <ref name='xmlSchemaGetPredefinedType'/>
-        </word>
-        <word name='XML_ATTRIBUTE_DECL'>
-          <ref name='_xmlAttribute'/>
-        </word>
-        <word name='XML_ATTRIBUTE_ENUMERATION'>
-          <ref name='xmlParseEnumeratedType'/>
-        </word>
-        <word name='XML_ATTRIBUTE_FIXED'>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='XML_ATTRIBUTE_IMPLIED'>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='XML_ATTRIBUTE_NODE'>
-          <ref name='_xmlAttr'/>
-        </word>
-        <word name='XML_ATTRIBUTE_NONE'>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='XML_ATTRIBUTE_NOTATION'>
-          <ref name='xmlParseEnumeratedType'/>
-        </word>
-        <word name='XML_ATTRIBUTE_REQUIRED'>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='XML_BUFFER_ALLOC_DOUBLEIT'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-        </word>
-        <word name='XML_BUFFER_ALLOC_EXACT'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-        </word>
-        <word name='XML_BUFFER_ALLOC_HYBRID'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-        </word>
-        <word name='XML_CAST_FPTR'>
-          <ref name='XML_CAST_FPTR'/>
-        </word>
-        <word name='XML_CATA_PREFER_PUBLIC'>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-        </word>
-        <word name='XML_CATA_PREFER_SYSTEM'>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-        </word>
-        <word name='XML_CHAR_ENCODING_'>
-          <ref name='xmlDetectCharEncoding'/>
-          <ref name='xmlParseCharEncoding'/>
-        </word>
-        <word name='XML_CHAR_ENCODING_NONE'>
-          <ref name='xmlParseCharEncoding'/>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-        </word>
-        <word name='XML_DOCUMENT_NODE'>
-          <ref name='_xmlDoc'/>
-        </word>
-        <word name='XML_DTD_NODE'>
-          <ref name='_xmlDtd'/>
-        </word>
-        <word name='XML_ELEMENT_DECL'>
-          <ref name='_xmlElement'/>
-        </word>
-        <word name='XML_ELEMENT_TYPE_xxx'>
-          <ref name='xmlParseElementContentDecl'/>
-        </word>
-        <word name='XML_ENTITY_DECL'>
-          <ref name='_xmlEntity'/>
-        </word>
-        <word name='XML_ERR_OK'>
-          <ref name='xmlParseInNodeContext'/>
-        </word>
-        <word name='XML_PARSE_BIG_LINES'>
-          <ref name='xmlGetLineNo'/>
-        </word>
-        <word name='XML_PARSE_HUGE'>
-          <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-        </word>
-        <word name='XML_SCHEMAS_ELEM_GLOBAL'>
-          <ref name='XML_SCHEMAS_ELEM_TOPLEVEL'/>
-        </word>
-        <word name='XML_SCHEMAS_FACET_PRESERVE'>
-          <ref name='_xmlSchemaFacet'/>
-        </word>
-        <word name='XML_SCHEMAS_STRING'>
-          <ref name='xmlSchemaNewStringValue'/>
-        </word>
-        <word name='XML_SUBSTITUTE_PEREF'>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-        </word>
-        <word name='XML_SUBSTITUTE_REF'>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-        </word>
-        <word name='XML_xxx_yyy_ENTITY'>
-          <ref name='xmlAddDocEntity'/>
-          <ref name='xmlAddDtdEntity'/>
-          <ref name='xmlNewEntity'/>
-        </word>
-        <word name='XMl-Schema'>
-          <ref name='xmlSchemaGetParserErrors'/>
-        </word>
-        <word name='XPATH'>
-          <ref name='xmlXPathFreeCompExpr'/>
-        </word>
-        <word name='XPATH_INVALID_ARITY'>
-          <ref name='xmlXPathSetArityError'/>
-        </word>
-        <word name='XPATH_INVALID_TYPE'>
-          <ref name='xmlXPathSetTypeError'/>
-        </word>
-        <word name='XPointer'>
-          <ref name='LIBXML_XPTR_ENABLED'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='_xmlXPathParserContext'/>
-          <ref name='xmlXPtrBuildNodeList'/>
-          <ref name='xmlXPtrEval'/>
-          <ref name='xmlXPtrEvalRangePredicate'/>
-          <ref name='xmlXPtrNewContext'/>
-          <ref name='xmlXPtrRangeToFunction'/>
-        </word>
-        <word name='XSD'>
-          <ref name='xmlAutomataNewNegTrans'/>
-          <ref name='xmlSchemaValidityErrorFunc'/>
-          <ref name='xmlSchemaValidityWarningFunc'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetSchema'/>
-        </word>
-        <word name='XSLT'>
-          <ref name='_xmlNode'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlFreePattern'/>
-          <ref name='xmlFreePatternList'/>
-          <ref name='xmlXPathNewValueTree'/>
-          <ref name='xmlXPathStackIsNodeSet'/>
-        </word>
-        <word name='Xinclude'>
-          <ref name='XINCLUDE_NS'/>
-          <ref name='XINCLUDE_OLD_NS'/>
-        </word>
-        <word name='Xml'>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-        <word name='XmlNodeType'>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk10'>
-      <letter name='Y'>
-        <word name='YES'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='YiRadicals'>
-          <ref name='xmlUCSIsYiRadicals'/>
-        </word>
-        <word name='YiSyllables'>
-          <ref name='xmlUCSIsYiSyllables'/>
-        </word>
-        <word name='YijingHexagramSymbols'>
-          <ref name='xmlUCSIsYijingHexagramSymbols'/>
-        </word>
-      </letter>
-      <letter name='Z'>
-        <word name='ZLIB'>
-          <ref name='docbCreateFileParserCtxt'/>
-          <ref name='docbParseFile'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='htmlCreateFileParserCtxt'/>
-          <ref name='htmlParseFile'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlCreateEntityParserCtxt'/>
-          <ref name='xmlCreateFileParserCtxt'/>
-          <ref name='xmlCreateURLParserCtxt'/>
-          <ref name='xmlGetCompressMode'/>
-          <ref name='xmlGetDocCompressMode'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlParseFile'/>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-          <ref name='xmlRecoverFile'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXUserParseFile'/>
-          <ref name='xmlSetCompressMode'/>
-          <ref name='xmlSetDocCompressMode'/>
-        </word>
-        <word name='Zlib'>
-          <ref name='LIBXML_ZLIB_ENABLED'/>
-        </word>
-      </letter>
-      <letter name='a'>
-        <word name='a-z'>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlURIEscapeStr'/>
-        </word>
-        <word name='a-zA-Z'>
-          <ref name='IS_ASCII_LETTER'/>
-        </word>
-        <word name='a-zA-Z0-9'>
-          <ref name='IS_PUBIDCHAR'/>
-        </word>
-        <word name='a@b'>
-          <ref name='xmlNanoFTPProxy'/>
-        </word>
-        <word name='abc'>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='abc-'>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='able'>
-          <ref name='xmlEntityReferenceFunc'/>
-          <ref name='xmlFindCharEncodingHandler'/>
-          <ref name='xmlGetCharEncodingHandler'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='about'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlDebugDumpString'/>
-          <ref name='xmlShellDir'/>
-          <ref name='xmlTextWriterWriteRawLen'/>
-        </word>
-        <word name='above'>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='absent'>
-          <ref name='XML_SCHEMAS_ELEM_BLOCK_ABSENT'/>
-          <ref name='XML_SCHEMAS_ELEM_BLOCK_EXTENSION'/>
-          <ref name='XML_SCHEMAS_ELEM_FINAL_ABSENT'/>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-        </word>
-        <word name='absoluteURI'>
-          <ref name='xmlParseURI'/>
-        </word>
-        <word name='abstain'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='abstract'>
-          <ref name='XML_SCHEMAS_ELEM_ABSTRACT'/>
-          <ref name='XML_SCHEMAS_TYPE_ABSTRACT'/>
-        </word>
-        <word name='accept'>
-          <ref name='xmlExpMaxToken'/>
-          <ref name='xmlGetNoNsProp'/>
-          <ref name='xmlIsMixedElement'/>
-        </word>
-        <word name='acceptable'>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-        </word>
-        <word name='accepted'>
-          <ref name='IS_BYTE_CHAR'/>
-          <ref name='xmlCatalogGetDefaults'/>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-          <ref name='xmlCatalogSetDefaults'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlExpSubsume'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
-        <word name='accepting'>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
-        <word name='accepts'>
-          <ref name='xmlExpIsNillable'/>
-          <ref name='xmlExpSubsume'/>
-        </word>
-        <word name='access'>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemGet'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlNewMutex'/>
-          <ref name='xmlNewRMutex'/>
-          <ref name='xmlSchemaValidCtxtGetParserCtxt'/>
-        </word>
-        <word name='accessed'>
-          <ref name='xmlTextReaderCurrentDoc'/>
-          <ref name='xmlTextReaderCurrentNode'/>
-        </word>
-        <word name='accesses'>
-          <ref name='xmlCreateURLParserCtxt'/>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-        </word>
-        <word name='accommodate'>
-          <ref name='xmlBufferResize'/>
-        </word>
-        <word name='according'>
-          <ref name='xmlBuildURI'/>
-          <ref name='xmlDetectCharEncoding'/>
-          <ref name='xmlSAXVersion'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlURIEscape'/>
-          <ref name='xmlXPathCompareValues'/>
-        </word>
-        <word name='accordingly'>
-          <ref name='xmlParseCharEncoding'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-        </word>
-        <word name='account'>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-        </word>
-        <word name='acquire'>
-          <ref name='_xmlDOMWrapCtxt'/>
-          <ref name='xmlDOMWrapAcquireNsFunction'/>
-        </word>
-        <word name='act'>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='action'>
-          <ref name='xmlDocSetRootElement'/>
-        </word>
-        <word name='activate'>
-          <ref name='xmlTextReaderSetParserProp'/>
-        </word>
-        <word name='activated'>
-          <ref name='DEBUG_MEMORY'/>
-          <ref name='xmlAutomataNewAllTrans'/>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewNegTrans'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-          <ref name='xmlAutomataNewTransition'/>
-          <ref name='xmlAutomataNewTransition2'/>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetSchema'/>
-        </word>
-        <word name='activates'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='acts'>
-          <ref name='xmlGetProp'/>
-        </word>
-        <word name='actual'>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-          <ref name='xmlXPathFreeNodeSet'/>
-          <ref name='xmlXPtrFreeLocationSet'/>
-        </word>
-        <word name='actually'>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='setDocumentLocator'/>
-          <ref name='setDocumentLocatorSAXFunc'/>
-          <ref name='xmlAddEncodingAlias'/>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlDelEncodingAlias'/>
-          <ref name='xmlGetEncodingAlias'/>
-          <ref name='xmlNewCharEncodingHandler'/>
-          <ref name='xmlParseCharEncoding'/>
-          <ref name='xmlParseNotationDecl'/>
-          <ref name='xmlSAX2SetDocumentLocator'/>
-          <ref name='xmlStringCurrentChar'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='actuate'>
-          <ref name='xlinkExtendedLinkFunk'/>
-        </word>
-        <word name='add'>
-          <ref name='xmlACatalogAdd'/>
-          <ref name='xmlBufferAdd'/>
-          <ref name='xmlBufferAddHead'/>
-          <ref name='xmlBufferCat'/>
-          <ref name='xmlBufferWriteCHAR'/>
-          <ref name='xmlBufferWriteChar'/>
-          <ref name='xmlBufferWriteQuotedString'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlListPushBack'/>
-          <ref name='xmlListPushFront'/>
-          <ref name='xmlXPathAddValues'/>
-          <ref name='xmlXPathNodeSetAdd'/>
-          <ref name='xmlXPathNodeSetAddNs'/>
-          <ref name='xmlXPathNodeSetAddUnique'/>
-          <ref name='xmlXPtrLocationSetAdd'/>
-        </word>
-        <word name='added'>
-          <ref name='attribute'/>
-          <ref name='attributeSAXFunc'/>
-          <ref name='htmlDocContentDumpFormatOutput'/>
-          <ref name='htmlDocContentDumpOutput'/>
-          <ref name='htmlDocDumpMemoryFormat'/>
-          <ref name='htmlNodeDump'/>
-          <ref name='htmlNodeDumpFile'/>
-          <ref name='htmlNodeDumpFileFormat'/>
-          <ref name='htmlNodeDumpFormatOutput'/>
-          <ref name='htmlNodeDumpOutput'/>
-          <ref name='htmlSaveFileEnc'/>
-          <ref name='htmlSaveFileFormat'/>
-          <ref name='xmlAddChild'/>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDocDumpFormatMemory'/>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocFormatDump'/>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlSaveFormatFile'/>
-          <ref name='xmlSaveFormatFileEnc'/>
-          <ref name='xmlSaveFormatFileTo'/>
-          <ref name='xmlStrcat'/>
-          <ref name='xmlStrncat'/>
-          <ref name='xmlXPathNodeSetMerge'/>
-          <ref name='xmlXPtrLocationSetMerge'/>
-        </word>
-        <word name='adding'>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-        </word>
-        <word name='addition'>
-          <ref name='xmlHashAddEntry'/>
-          <ref name='xmlHashAddEntry2'/>
-          <ref name='xmlHashAddEntry3'/>
-          <ref name='xmlHashUpdateEntry'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='additional'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-        </word>
-        <word name='additionally'>
-          <ref name='xmlStreamWantsAnyNode'/>
-        </word>
-        <word name='address'>
-          <ref name='xmlModuleSymbol'/>
-          <ref name='xmlNewTextWriterDoc'/>
-        </word>
-        <word name='adds'>
-          <ref name='xmlAutomataNewAllTrans'/>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewCountedTrans'/>
-          <ref name='xmlAutomataNewCounterTrans'/>
-          <ref name='xmlAutomataNewEpsilon'/>
-          <ref name='xmlAutomataNewNegTrans'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-          <ref name='xmlAutomataNewTransition'/>
-          <ref name='xmlAutomataNewTransition2'/>
-          <ref name='xmlBufferWriteCHAR'/>
-        </word>
-        <word name='adequate'>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-        </word>
-        <word name='adjacent'>
-          <ref name='xmlAddChild'/>
-          <ref name='xmlAddChildList'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlAddSibling'/>
-        </word>
-        <word name='affect'>
-          <ref name='xmlKeepBlanksDefault'/>
-        </word>
-        <word name='affected'>
-          <ref name='xmlSchemaValidityLocatorFunc'/>
-        </word>
-        <word name='affiliation'>
-          <ref name='_xmlSchemaElement'/>
-        </word>
-        <word name='afraid'>
-          <ref name='xmlEncodeEntities'/>
-        </word>
-        <word name='after'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='isolat1ToUTF8'/>
-          <ref name='xmlAutomataCompile'/>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlNanoFTPCheckResponse'/>
-          <ref name='xmlNanoFTPFreeCtxt'/>
-          <ref name='xmlNanoFTPGetResponse'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlSaveFileTo'/>
-          <ref name='xmlSaveFormatFileTo'/>
-          <ref name='xmlUnlinkNode'/>
-          <ref name='xmlValidGetValidElements'/>
-          <ref name='xmlXPathNextFollowing'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='again'>
-          <ref name='xmlCreatePushParserCtxt'/>
-        </word>
-        <word name='against'>
-          <ref name='LIBXML_TEST_VERSION'/>
-          <ref name='XML_SCHEMAS_ELEM_INTERNAL_CHECKED'/>
-          <ref name='checkNamespace'/>
-          <ref name='xmlCheckVersion'/>
-          <ref name='xmlRegexpCompile'/>
-          <ref name='xmlRegexpExec'/>
-          <ref name='xmlSchemaValidateFacet'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-          <ref name='xmlSchematronValidateDoc'/>
-          <ref name='xmlShellValidate'/>
-          <ref name='xmlValidateDtd'/>
-        </word>
-        <word name='aggregate'>
-          <ref name='xmlBufGetNodeContent'/>
-          <ref name='xmlNodeBufGetContent'/>
-          <ref name='xmlNodeGetContent'/>
-        </word>
-        <word name='ahead'>
-          <ref name='XML_MAX_LOOKUP_LIMIT'/>
-        </word>
-        <word name='algebraic'>
-          <ref name='xmlExpExpDerive'/>
-        </word>
-        <word name='alias'>
-          <ref name='xmlAddEncodingAlias'/>
-          <ref name='xmlDelEncodingAlias'/>
-          <ref name='xmlGetEncodingAlias'/>
-        </word>
-        <word name='aliases'>
-          <ref name='xmlCleanupCharEncodingHandlers'/>
-          <ref name='xmlCleanupEncodingAliases'/>
-        </word>
-        <word name='aliasing'>
-          <ref name='XML_CAST_FPTR'/>
-          <ref name='xmlSearchNsByHref'/>
-        </word>
-        <word name='allocate'>
-          <ref name='_xmlDoc'/>
-          <ref name='xmlBufferGrow'/>
-          <ref name='xmlBuildQName'/>
-          <ref name='xmlMallocAtomicLoc'/>
-          <ref name='xmlMallocLoc'/>
-          <ref name='xmlMemMalloc'/>
-          <ref name='xmlMemRealloc'/>
-          <ref name='xmlNewMutex'/>
-          <ref name='xmlNewRMutex'/>
-          <ref name='xmlReallocLoc'/>
-          <ref name='xmlXPathObjectCopy'/>
-        </word>
-        <word name='allocation'>
-          <ref name='LIBXML_THREAD_ALLOC_ENABLED'/>
-          <ref name='htmlNewParserCtxt'/>
-          <ref name='xmlBufferSetAllocationScheme'/>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlMallocAtomicLoc'/>
-          <ref name='xmlMallocLoc'/>
-          <ref name='xmlMemMalloc'/>
-          <ref name='xmlMemRealloc'/>
-          <ref name='xmlMemStrdupLoc'/>
-          <ref name='xmlMemoryStrdup'/>
-          <ref name='xmlNormalizeURIPath'/>
-          <ref name='xmlReallocLoc'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='allocations'>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlParserInputDeallocate'/>
-        </word>
-        <word name='allocator'>
-          <ref name='DEBUG_MEMORY'/>
-          <ref name='LIBXML_ATTR_ALLOC_SIZE'/>
-        </word>
-        <word name='allocators'>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-        </word>
-        <word name='allow'>
-          <ref name='XML_SCHEMAS_ATTR_GLOBAL'/>
-          <ref name='XML_SCHEMAS_ATTR_NSDEFAULT'/>
-          <ref name='XML_SCHEMAS_ELEM_NSDEFAULT'/>
-          <ref name='docbCreatePushParserCtxt'/>
-          <ref name='htmlAttrAllowed'/>
-          <ref name='htmlNodeStatus'/>
-          <ref name='xmlAutomataNewAllTrans'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlCheckUTF8'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlParseVersionNum'/>
-          <ref name='xmlSchemaValidCtxtGetParserCtxt'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlShell'/>
-          <ref name='xmlValidateNCName'/>
-          <ref name='xmlValidateNMToken'/>
-          <ref name='xmlValidateName'/>
-          <ref name='xmlValidateQName'/>
-        </word>
-        <word name='allowable'>
-          <ref name='xmlSkipBlankChars'/>
-        </word>
-        <word name='allowed'>
-          <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-          <ref name='XML_MAX_LOOKUP_LIMIT'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-          <ref name='_htmlElemDesc'/>
-          <ref name='_xmlElement'/>
-          <ref name='_xmlSchemaWildcard'/>
-          <ref name='htmlElementAllowedHere'/>
-          <ref name='htmlElementAllowedHereDesc'/>
-          <ref name='htmlNodeStatus'/>
-          <ref name='xmlAutomataNewAllTrans'/>
-          <ref name='xmlAutomataNewCounterTrans'/>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlIsLetter'/>
-          <ref name='xmlNodeAddContent'/>
-          <ref name='xmlNodeAddContentLen'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlValidGetPotentialChildren'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-        </word>
-        <word name='allowing'>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-          <ref name='xmlTextReaderCurrentDoc'/>
-          <ref name='xmlTextReaderCurrentNode'/>
-        </word>
-        <word name='allows'>
-          <ref name='htmlAutoCloseTag'/>
-          <ref name='htmlIsAutoClosed'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-          <ref name='xmlParseURIRaw'/>
-          <ref name='xmlTextReaderConstString'/>
-        </word>
-        <word name='alphanumerics'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='already'>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlAddSibling'/>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlFreeFunc'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlInitializeDict'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlParseCharEncoding'/>
-          <ref name='xmlParseNotationType'/>
-          <ref name='xmlParserInputGrow'/>
-          <ref name='xmlReallocFunc'/>
-          <ref name='xmlReplaceNode'/>
-          <ref name='xmlXPathNodeSetAddUnique'/>
-          <ref name='xmlXPtrLocationSetAdd'/>
-        </word>
-        <word name='also'>
-          <ref name='_xmlEntity'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlCheckHTTPInput'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlHasProp'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlNanoFTPProxy'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-          <ref name='xmlTextReaderPreserve'/>
-          <ref name='xmlTextReaderPreservePattern'/>
-          <ref name='xmlXPathStringEvalNumber'/>
-        </word>
-        <word name='alternative'>
-          <ref name='xmlTextWriterStartDTD'/>
-          <ref name='xmlTextWriterWriteDTD'/>
-          <ref name='xmlTextWriterWriteDTDEntity'/>
-          <ref name='xmlTextWriterWriteDTDExternalEntity'/>
-          <ref name='xmlTextWriterWriteDTDExternalEntityContents'/>
-          <ref name='xmlTextWriterWriteDTDNotation'/>
-          <ref name='xmlTextWriterWriteFormatDTD'/>
-          <ref name='xmlTextWriterWriteVFormatDTD'/>
-        </word>
-        <word name='always'>
-          <ref name='INPUT_CHUNK'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlSubstituteEntitiesDefault'/>
-        </word>
-        <word name='amd'>
-          <ref name='xmlCatalogIsEmpty'/>
-        </word>
-        <word name='amount'>
-          <ref name='INPUT_CHUNK'/>
-          <ref name='_xmlParserInputBuffer'/>
-          <ref name='xmlDictGetUsage'/>
-          <ref name='xmlMemDisplayLast'/>
-          <ref name='xmlMemUsed'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlParserInputBufferRead'/>
-          <ref name='xmlParserInputGrow'/>
-        </word>
-        <word name='amp'>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlParserHandleReference'/>
-        </word>
-        <word name='ampersand'>
-          <ref name='xmlNewTextChild'/>
-        </word>
-        <word name='analysis'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlValidCtxt'/>
-        </word>
-        <word name='analyze'>
-          <ref name='xmlParseURI'/>
-          <ref name='xmlParseURIRaw'/>
-          <ref name='xmlParseURIReference'/>
-        </word>
-        <word name='analyzed'>
-          <ref name='_xmlParserInput'/>
-        </word>
-        <word name='ancestor'>
-          <ref name='xmlNodeGetLang'/>
-          <ref name='xmlNodeGetSpacePreserve'/>
-          <ref name='xmlShellPwd'/>
-          <ref name='xmlXPathLangFunction'/>
-          <ref name='xmlXPathNextAncestor'/>
-        </word>
-        <word name='ancestor-or-self'>
-          <ref name='xmlXPathNextAncestorOrSelf'/>
-        </word>
-        <word name='ancestors'>
-          <ref name='xmlXPathNextAncestor'/>
-          <ref name='xmlXPathNextAncestorOrSelf'/>
-          <ref name='xmlXPathNextPreceding'/>
-        </word>
-        <word name='anchored'>
-          <ref name='xmlGetNsProp'/>
-          <ref name='xmlHasNsProp'/>
-        </word>
-        <word name='angle'>
-          <ref name='xmlParseCharData'/>
-        </word>
-        <word name='annotation'>
-          <ref name='_xmlSchemaAnnot'/>
-        </word>
-        <word name='anonymous'>
-          <ref name='_xmlSchema'/>
-        </word>
-        <word name='another'>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlInputMatchCallback'/>
-          <ref name='xmlOutputMatchCallback'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-        </word>
-        <word name='anySimpleType'>
-          <ref name='xmlSchemaNewStringValue'/>
-        </word>
-        <word name='anyURI'>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='anymore'>
-          <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
-          <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
-          <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
-          <ref name='XML_SCHEMAS_ELEM_NSDEFAULT'/>
-          <ref name='xmlDictCleanup'/>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlNamespaceParseNSDef'/>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlNewEntity'/>
-        </word>
-        <word name='anyway'>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlRecoverDoc'/>
-          <ref name='xmlRecoverFile'/>
-          <ref name='xmlRecoverMemory'/>
-          <ref name='xmlValidateNotationDecl'/>
-        </word>
-        <word name='apart'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='apos'>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlParserHandleReference'/>
-        </word>
-        <word name='appear'>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlParserHandlePEReference'/>
-        </word>
-        <word name='appearing'>
-          <ref name='xmlValidatePopElement'/>
-          <ref name='xmlValidatePushElement'/>
-        </word>
-        <word name='appears'>
-          <ref name='_xmlURI'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlParseCharData'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseSDDecl'/>
-        </word>
-        <word name='append'>
-          <ref name='xmlCopyChar'/>
-          <ref name='xmlCopyCharMultiByte'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='appended'>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlSchemaValueAppend'/>
-        </word>
-        <word name='appending'>
-          <ref name='xmlParseAttValue'/>
-        </word>
-        <word name='appendix'>
-          <ref name='xmlDetectCharEncoding'/>
-        </word>
-        <word name='applicable'>
-          <ref name='xmlCopyNode'/>
-          <ref name='xmlDocCopyNode'/>
-        </word>
-        <word name='application'>
-          <ref name='_xmlAttr'/>
-          <ref name='_xmlAttribute'/>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlDtd'/>
-          <ref name='_xmlElement'/>
-          <ref name='_xmlEntity'/>
-          <ref name='_xmlNode'/>
-          <ref name='_xmlNs'/>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlCheckVersion'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlGetExternalEntityLoader'/>
-          <ref name='xmlLineNumbersDefault'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-          <ref name='xmlSetExternalEntityLoader'/>
-          <ref name='xmlXIncludeProcessFlagsData'/>
-          <ref name='xmlXIncludeProcessTreeFlagsData'/>
-        </word>
-        <word name='applications'>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-        </word>
-        <word name='applied'>
-          <ref name='xmlHashCopy'/>
-          <ref name='xmlHashScan'/>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull'/>
-          <ref name='xmlHashScanFull3'/>
-        </word>
-        <word name='applies'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-        </word>
-        <word name='apply'>
-          <ref name='xmlListReverseWalk'/>
-          <ref name='xmlListWalk'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-          <ref name='xmlValidateRoot'/>
-        </word>
-        <word name='applying'>
-          <ref name='xmlGetNsList'/>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='appropriate'>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlCheckHTTPInput'/>
-          <ref name='xmlParseURIReference'/>
-        </word>
-        <word name='arcs'>
-          <ref name='xlinkExtendedLinkFunk'/>
-        </word>
-        <word name='area'>
-          <ref name='xmlBufferCreateStatic'/>
-          <ref name='xmlMallocAtomicLoc'/>
-          <ref name='xmlMallocLoc'/>
-          <ref name='xmlMemMalloc'/>
-          <ref name='xmlMemRealloc'/>
-          <ref name='xmlParserInputBufferCreateMem'/>
-          <ref name='xmlParserInputBufferCreateStatic'/>
-          <ref name='xmlReallocLoc'/>
-        </word>
-        <word name='areas'>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemBlocks'/>
-          <ref name='xmlMemShow'/>
-        </word>
-        <word name='args'>
-          <ref name='CHECK_ARITY'/>
-          <ref name='x'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlXPtrRangeToFunction'/>
-        </word>
-        <word name='around'>
-          <ref name='xmlFileOpen'/>
-        </word>
-        <word name='arrays'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='arry'>
-          <ref name='xmlParserInputBufferPush'/>
-        </word>
-        <word name='asked'>
-          <ref name='xmlParseReference'/>
-        </word>
-        <word name='assume'>
-          <ref name='xmlStrcat'/>
-          <ref name='xmlStrdup'/>
-        </word>
-        <word name='assumed'>
-          <ref name='xmlCheckUTF8'/>
-        </word>
-        <word name='assumes'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='assuming'>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlSaveFileTo'/>
-          <ref name='xmlSaveFormatFileTo'/>
-        </word>
-        <word name='assure'>
-          <ref name='xmlGetUTF8Char'/>
-        </word>
-        <word name='atom'>
-          <ref name='xmlExpNewAtom'/>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlExpNewSeq'/>
-        </word>
-        <word name='atomic'>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-        </word>
-        <word name='attached'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='attempt'>
-          <ref name='xmlRecoverDoc'/>
-          <ref name='xmlRecoverMemory'/>
-        </word>
-        <word name='attempts'>
-          <ref name='xmlRecoverFile'/>
-        </word>
-        <word name='attr'>
-          <ref name='XML_SCHEMAS_ATTRGROUP_HAS_REFS'/>
-          <ref name='XML_SCHEMAS_ATTRGROUP_MARKED'/>
-          <ref name='XML_SCHEMAS_ATTRGROUP_REDEFINED'/>
-          <ref name='_xmlID'/>
-          <ref name='_xmlRef'/>
-        </word>
-        <word name='attribute-'>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='attribute-list'>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlParseEntityRef'/>
-        </word>
-        <word name='attribute-node'>
-          <ref name='xmlStreamPushAttr'/>
-        </word>
-        <word name='attribute-nodes'>
-          <ref name='xmlStreamWantsAnyNode'/>
-        </word>
-        <word name='attributeFormDefault'>
-          <ref name='XML_SCHEMAS_QUALIF_ATTR'/>
-        </word>
-        <word name='augmented'>
-          <ref name='docbParseDocument'/>
-          <ref name='htmlParseDocument'/>
-          <ref name='xmlParseDocument'/>
-          <ref name='xmlParseExtParsedEnt'/>
-          <ref name='xmlTextMerge'/>
-        </word>
-        <word name='autark'>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='authentication'>
-          <ref name='xmlNanoHTTPAuthHeader'/>
-        </word>
-        <word name='author'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='authority'>
-          <ref name='_xmlURI'/>
-        </word>
-        <word name='authorized'>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='auto'>
-          <ref name='htmlHandleOmittedElem'/>
-        </word>
-        <word name='auto-repair'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='autoclose'>
-          <ref name='htmlAutoCloseTag'/>
-        </word>
-        <word name='autoclosed'>
-          <ref name='htmlIsAutoClosed'/>
-        </word>
-        <word name='autogeneration'>
-          <ref name='xmlKeepBlanksDefault'/>
-        </word>
-        <word name='automatically'>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlStrncatNew'/>
-        </word>
-        <word name='automaton'>
-          <ref name='_xmlSchemaType'/>
-        </word>
-        <word name='autoreference'>
-          <ref name='_xmlDoc'/>
-        </word>
-        <word name='avoid'>
-          <ref name='XML_MAX_LOOKUP_LIMIT'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlGetBufferAllocationScheme'/>
-        </word>
-        <word name='avoiding'>
-          <ref name='xmlTextReaderNext'/>
-          <ref name='xmlTextReaderNextSibling'/>
-        </word>
-        <word name='aware'>
-          <ref name='xmlGetProp'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk11'>
-      <letter name='b'>
-        <word name='back'>
-          <ref name='xmlBufferDetach'/>
-          <ref name='xmlChildElementCount'/>
-          <ref name='xmlEntityReferenceFunc'/>
-          <ref name='xmlFirstElementChild'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlLastElementChild'/>
-          <ref name='xmlNanoFTPGet'/>
-          <ref name='xmlNanoFTPList'/>
-          <ref name='xmlNextElementSibling'/>
-          <ref name='xmlPreviousElementSibling'/>
-          <ref name='xmlRelaxNGDump'/>
-          <ref name='xmlSetEntityReferenceFunc'/>
-        </word>
-        <word name='bad'>
-          <ref name='XML_MAX_LOOKUP_LIMIT'/>
-        </word>
-        <word name='badly'>
-          <ref name='xmlParseExternalID'/>
-        </word>
-        <word name='balanced'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseInNodeContext'/>
-        </word>
-        <word name='bar'>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='base64'>
-          <ref name='xmlTextWriterWriteBase64'/>
-        </word>
-        <word name='based'>
-          <ref name='xmlGetCompressMode'/>
-          <ref name='xmlGetDocCompressMode'/>
-          <ref name='xmlGetNodePath'/>
-          <ref name='xmlNewEntityInputStream'/>
-          <ref name='xmlNewInputFromFile'/>
-          <ref name='xmlNewStringInputStream'/>
-          <ref name='xmlParseURI'/>
-          <ref name='xmlParseURIReference'/>
-          <ref name='xmlRelaxNGNewValidCtxt'/>
-          <ref name='xmlSchemaNewStringValue'/>
-          <ref name='xmlSchemaNewValidCtxt'/>
-          <ref name='xmlSchemaSAXPlug'/>
-          <ref name='xmlSchemaSAXUnplug'/>
-          <ref name='xmlSchemaValidateStream'/>
-          <ref name='xmlSchematronNewValidCtxt'/>
-          <ref name='xmlSetCompressMode'/>
-          <ref name='xmlSetDocCompressMode'/>
-          <ref name='xmlStrcat'/>
-          <ref name='xmlStrdup'/>
-          <ref name='xmlStrsub'/>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='basically'>
-          <ref name='getSystemId'/>
-          <ref name='xmlIsMixedElement'/>
-          <ref name='xmlSAX2GetSystemId'/>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateDocument'/>
-          <ref name='xmlValidateDocumentFinal'/>
-          <ref name='xmlValidateDtdFinal'/>
-          <ref name='xmlValidateElementDecl'/>
-          <ref name='xmlValidateNotationDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlValidateOneNamespace'/>
-          <ref name='xmlValidateRoot'/>
-        </word>
-        <word name='basis'>
-          <ref name='xmlSubstituteEntitiesDefault'/>
-        </word>
-        <word name='bear'>
-          <ref name='xmlParseAttributeType'/>
-        </word>
-        <word name='becomes'>
-          <ref name='xmlAddAttributeDecl'/>
-        </word>
-        <word name='before'>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlInitParser'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetParserProp'/>
-          <ref name='xmlTextReaderSetSchema'/>
-          <ref name='xmlValidGetValidElements'/>
-          <ref name='xmlXPathNextPreceding'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='beginning'>
-          <ref name='xmlBufShrink'/>
-          <ref name='xmlBufferAddHead'/>
-          <ref name='xmlBufferShrink'/>
-          <ref name='xmlByteConsumed'/>
-          <ref name='xmlListInsert'/>
-          <ref name='xmlListPushFront'/>
-          <ref name='xmlStringCurrentChar'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='begins'>
-          <ref name='_xmlParserNodeInfo'/>
-        </word>
-        <word name='behaves'>
-          <ref name='IS_LETTER_CH'/>
-        </word>
-        <word name='behavior'>
-          <ref name='htmlSAXParseDoc'/>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlSubstituteEntitiesDefault'/>
-        </word>
-        <word name='behaviour'>
-          <ref name='XML_MAX_LOOKUP_LIMIT'/>
-          <ref name='htmlNodeDump'/>
-          <ref name='htmlNodeDumpFile'/>
-          <ref name='htmlNodeDumpFileFormat'/>
-          <ref name='htmlNodeDumpFormatOutput'/>
-          <ref name='htmlNodeDumpOutput'/>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlBufShrink'/>
-          <ref name='xmlElemDump'/>
-          <ref name='xmlFreeNode'/>
-          <ref name='xmlFreeNodeList'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-          <ref name='xmlNodeGetSpacePreserve'/>
-          <ref name='xmlNodeSetSpacePreserve'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-          <ref name='xmlTextReaderNormalization'/>
-          <ref name='xmlTextReaderSetParserProp'/>
-          <ref name='xmlUTF8Strsize'/>
-        </word>
-        <word name='below'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlParseExternalID'/>
-        </word>
-        <word name='better'>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlNormalizeWindowsPath'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-          <ref name='xmlSAXDefaultVersion'/>
-          <ref name='xmlSAXUserParseMemory'/>
-        </word>
-        <word name='between'>
-          <ref name='_uconv_t'/>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-          <ref name='xmlMemDisplayLast'/>
-          <ref name='xmlParseQuotedString'/>
-          <ref name='xmlXPathDifference'/>
-        </word>
-        <word name='beyond'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='binary'>
-          <ref name='xmlCharInRange'/>
-          <ref name='xmlEncodeEntities'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlParseQuotedString'/>
-          <ref name='xmlTextWriterWriteBase64'/>
-          <ref name='xmlTextWriterWriteBinHex'/>
-        </word>
-        <word name='bindings'>
-          <ref name='_xmlSchema'/>
-        </word>
-        <word name='bit'>
-          <ref name='xmlStrEqual'/>
-        </word>
-        <word name='bits'>
-          <ref name='xmlGetLineNo'/>
-        </word>
-        <word name='blanks'>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlSkipBlankChars'/>
-        </word>
-        <word name='blockDefault'>
-          <ref name='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION'/>
-          <ref name='XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION'/>
-        </word>
-        <word name='blocked'>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemSetup'/>
-        </word>
-        <word name='blocking'>
-          <ref name='xmlNanoFTPRead'/>
-          <ref name='xmlNanoHTTPRead'/>
-        </word>
-        <word name='blocks'>
-          <ref name='IS_CHAR'/>
-          <ref name='XML_SAX2_MAGIC'/>
-          <ref name='initdocbDefaultSAXHandler'/>
-          <ref name='inithtmlDefaultSAXHandler'/>
-          <ref name='initxmlDefaultSAXHandler'/>
-          <ref name='xmlMemBlocks'/>
-          <ref name='xmlMemDisplay'/>
-          <ref name='xmlMemoryDump'/>
-        </word>
-        <word name='body'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='book1'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='bool'>
-          <ref name='xmlBoolToText'/>
-        </word>
-        <word name='both'>
-          <ref name='xmlBufferFree'/>
-          <ref name='xmlNanoFTPClose'/>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlStrEqual'/>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathIntersection'/>
-        </word>
-        <word name='bound'>
-          <ref name='xmlExpNewRange'/>
-        </word>
-        <word name='boundaries'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlSearchNs'/>
-        </word>
-        <word name='boundary'>
-          <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-          <ref name='XML_MAX_LOOKUP_LIMIT'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-        </word>
-        <word name='bracket'>
-          <ref name='xmlParseCharData'/>
-        </word>
-        <word name='branch'>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-          <ref name='xmlSchemaValidateOneElement'/>
-        </word>
-        <word name='break'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlLineNumbersDefault'/>
-        </word>
-        <word name='breaking'>
-          <ref name='xmlEncodeEntities'/>
-        </word>
-        <word name='breaks'>
-          <ref name='xmlCurrentChar'/>
-        </word>
-        <word name='brk'>
-          <ref name='_xmlError'/>
-        </word>
-        <word name='broke'>
-          <ref name='XML_CAST_FPTR'/>
-        </word>
-        <word name='broken'>
-          <ref name='xmlGetThreadId'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
-        <word name='buf'>
-          <ref name='xmlSaveFileTo'/>
-          <ref name='xmlSaveFormatFileTo'/>
-        </word>
-        <word name='buffered'>
-          <ref name='xmlAllocOutputBuffer'/>
-          <ref name='xmlAllocParserInputBuffer'/>
-          <ref name='xmlFreeParserInputBuffer'/>
-          <ref name='xmlOutputBufferClose'/>
-          <ref name='xmlOutputBufferCreateBuffer'/>
-          <ref name='xmlOutputBufferCreateFd'/>
-          <ref name='xmlOutputBufferCreateFile'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlOutputBufferCreateIO'/>
-          <ref name='xmlOutputBufferFlush'/>
-          <ref name='xmlOutputBufferWrite'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlOutputBufferWriteString'/>
-          <ref name='xmlParserInputBufferCreateFd'/>
-          <ref name='xmlParserInputBufferCreateFile'/>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-          <ref name='xmlParserInputBufferCreateIO'/>
-          <ref name='xmlParserInputBufferCreateMem'/>
-          <ref name='xmlParserInputBufferCreateStatic'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlParserInputBufferPush'/>
-          <ref name='xmlParserInputBufferRead'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='buffers'>
-          <ref name='LIBXML2_NEW_BUFFER'/>
-          <ref name='xmlBufferDetach'/>
-        </word>
-        <word name='building'>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='docbSAXParseDoc'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='ignorableWhitespace'/>
-          <ref name='ignorableWhitespaceSAXFunc'/>
-          <ref name='xmlBuildURI'/>
-          <ref name='xmlSAX2IgnorableWhitespace'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseEntity'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-          <ref name='xmlShellPwd'/>
-        </word>
-        <word name='builds'>
-          <ref name='xmlRegexpCompile'/>
-        </word>
-        <word name='built'>
-          <ref name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseEnumeratedType'/>
-          <ref name='xmlParseEnumerationType'/>
-          <ref name='xmlParseNotationType'/>
-          <ref name='xmlParseURI'/>
-          <ref name='xmlParseURIRaw'/>
-          <ref name='xmlRelaxNGParse'/>
-          <ref name='xmlSchemaGetBuiltInType'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaGetCanonValueWhtsp'/>
-          <ref name='xmlSchemaParse'/>
-          <ref name='xmlSchematronParse'/>
-          <ref name='xmlTextReaderNextSibling'/>
-        </word>
-        <word name='built-in'>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-          <ref name='xmlSchemaGetBuiltInType'/>
-          <ref name='xmlSchemaIsBuiltInTypeFacet'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-        </word>
-        <word name='builtin'>
-          <ref name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
-          <ref name='initGenericErrorDefaultFunc'/>
-        </word>
-        <word name='bunch'>
-          <ref name='xmlParseNamespace'/>
-        </word>
-        <word name='bypass'>
-          <ref name='xmlParseCatalogFile'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk12'>
-      <letter name='c'>
-        <word name='c14n'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='cache'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='cached'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='caching:'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='calculated'>
-          <ref name='xmlStrncatNew'/>
-        </word>
-        <word name='calculates'>
-          <ref name='xmlUTF8Size'/>
-        </word>
-        <word name='calling'>
-          <ref name='XMLCALL'/>
-          <ref name='XMLCDECL'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlCheckFilename'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlTextReaderCurrentDoc'/>
-          <ref name='xmlXPathAddValues'/>
-          <ref name='xmlXPathDivValues'/>
-          <ref name='xmlXPathModValues'/>
-          <ref name='xmlXPathMultValues'/>
-          <ref name='xmlXPathSubValues'/>
-          <ref name='xmlXPathValueFlipSign'/>
-        </word>
-        <word name='calls'>
-          <ref name='xlinkNodeDetectFunc'/>
-          <ref name='xmlSchemaSAXPlug'/>
-          <ref name='xmlXPathAxisFunc'/>
-        </word>
-        <word name='came'>
-          <ref name='xmlPopInput'/>
-        </word>
-        <word name='cannot'>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlTextReaderReadOuterXml'/>
-          <ref name='xmlXPathRegisterNs'/>
-        </word>
-        <word name='canonic'>
-          <ref name='xmlCanonicPath'/>
-        </word>
-        <word name='canonical'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlGetCharEncodingName'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaGetCanonValueWhtsp'/>
-        </word>
-        <word name='canonicalization'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='canonicalized'>
-          <ref name='xmlNormalizeWindowsPath'/>
-        </word>
-        <word name='canonization'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='canonized'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='capable'>
-          <ref name='xmlCheckUTF8'/>
-        </word>
-        <word name='cardinality'>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='carried'>
-          <ref name='xmlBufGetNodeContent'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNewNsProp'/>
-          <ref name='xmlNewNsPropEatName'/>
-          <ref name='xmlNewProp'/>
-          <ref name='xmlNodeBufGetContent'/>
-          <ref name='xmlNodeGetContent'/>
-          <ref name='xmlNodeGetLang'/>
-          <ref name='xmlNodeGetSpacePreserve'/>
-          <ref name='xmlSetNsProp'/>
-          <ref name='xmlSetProp'/>
-          <ref name='xmlUnsetNsProp'/>
-          <ref name='xmlUnsetProp'/>
-        </word>
-        <word name='carries'>
-          <ref name='xlinkIsLink'/>
-        </word>
-        <word name='carrying'>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xlinkExtendedLinkSetFunk'/>
-          <ref name='xlinkSimpleLinkFunk'/>
-          <ref name='xmlIsID'/>
-          <ref name='xmlIsRef'/>
-          <ref name='xmlNewGlobalNs'/>
-          <ref name='xmlNewNs'/>
-        </word>
-        <word name='case-ignoring'>
-          <ref name='xmlStrcasestr'/>
-        </word>
-        <word name='cases'>
-          <ref name='XML_SKIP_IDS'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlParseElementContentDecl'/>
-          <ref name='xmlScanName'/>
-        </word>
-        <word name='cast'>
-          <ref name='BAD_CAST'/>
-          <ref name='CAST_TO_BOOLEAN'/>
-          <ref name='CAST_TO_NUMBER'/>
-          <ref name='CAST_TO_STRING'/>
-          <ref name='xmlXPathConvertFunc'/>
-        </word>
-        <word name='casting'>
-          <ref name='XML_CAST_FPTR'/>
-        </word>
-        <word name='cat'>
-          <ref name='xmlShellCat'/>
-        </word>
-        <word name='catalogs'>
-          <ref name='xmlCatalogAddLocal'/>
-          <ref name='xmlCatalogCleanup'/>
-          <ref name='xmlCatalogFreeLocal'/>
-          <ref name='xmlCatalogGetDefaults'/>
-          <ref name='xmlCatalogLocalResolve'/>
-          <ref name='xmlCatalogLocalResolveURI'/>
-          <ref name='xmlCatalogSetDebug'/>
-          <ref name='xmlCatalogSetDefaults'/>
-          <ref name='xmlLoadCatalogs'/>
-        </word>
-        <word name='category'>
-          <ref name='xmlUCSIsCat'/>
-        </word>
-        <word name='cause'>
-          <ref name='xmlShellPrintXPathError'/>
-        </word>
-        <word name='caution'>
-          <ref name='_xmlURI'/>
-        </word>
-        <word name='cdata-section-'>
-          <ref name='xmlStreamPushNode'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-        </word>
-        <word name='ceiling'>
-          <ref name='xmlXPathCeilingFunction'/>
-        </word>
-        <word name='certainly'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='chained'>
-          <ref name='xmlFreeNsList'/>
-        </word>
-        <word name='change'>
-          <ref name='LIBXML2_NEW_BUFFER'/>
-          <ref name='htmlSetMetaEncoding'/>
-          <ref name='xmlCtxtResetLastError'/>
-          <ref name='xmlNanoFTPCwd'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlResetLastError'/>
-          <ref name='xmlSchemaCollapseString'/>
-          <ref name='xmlSchemaWhiteSpaceReplace'/>
-          <ref name='xmlSubstituteEntitiesDefault'/>
-          <ref name='xmlSwitchEncoding'/>
-          <ref name='xmlSwitchInputEncoding'/>
-          <ref name='xmlSwitchToEncoding'/>
-        </word>
-        <word name='changed'>
-          <ref name='xmlNodeSetBase'/>
-          <ref name='xmlNodeSetLang'/>
-          <ref name='xmlNodeSetName'/>
-          <ref name='xmlNodeSetSpacePreserve'/>
-          <ref name='xmlTextReaderSetParserProp'/>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='changes'>
-          <ref name='xmlRegisterHTTPPostCallbacks'/>
-          <ref name='xmlTextReaderClose'/>
-        </word>
-        <word name='changing'>
-          <ref name='xmlSubstituteEntitiesDefault'/>
-          <ref name='xmlTextReaderSetParserProp'/>
-        </word>
-        <word name='channel'>
-          <ref name='xmlFileClose'/>
-          <ref name='xmlFileRead'/>
-          <ref name='xmlIOFTPClose'/>
-          <ref name='xmlIOFTPOpen'/>
-          <ref name='xmlIOFTPRead'/>
-          <ref name='xmlIOHTTPClose'/>
-          <ref name='xmlIOHTTPOpen'/>
-          <ref name='xmlIOHTTPRead'/>
-          <ref name='xmlOutputBufferClose'/>
-          <ref name='xmlOutputBufferFlush'/>
-          <ref name='xmlShellPrintXPathError'/>
-        </word>
-        <word name='characters'>
-          <ref name='ignorableWhitespace'/>
-          <ref name='ignorableWhitespaceSAXFunc'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlStrPrintf'/>
-          <ref name='xmlStrVPrintf'/>
-          <ref name='xmlURIEscapeStr'/>
-          <ref name='xmlUTF8Strlen'/>
-          <ref name='xmlUTF8Strsize'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlXPathIdFunction'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-          <ref name='xmlXPathStringLengthFunction'/>
-          <ref name='xmlXPathSubstringFunction'/>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='charencoding'>
-          <ref name='xmlGetCharEncodingName'/>
-        </word>
-        <word name='chars??'>
-          <ref name='xmlTextWriterWriteRawLen'/>
-        </word>
-        <word name='charset'>
-          <ref name='_xmlDoc'/>
-          <ref name='xmlAllocParserInputBuffer'/>
-          <ref name='xmlCreateIOParserCtxt'/>
-          <ref name='xmlIOParseDTD'/>
-          <ref name='xmlNewIOInputStream'/>
-          <ref name='xmlOutputBufferCreateIO'/>
-          <ref name='xmlParserInputBufferCreateFd'/>
-          <ref name='xmlParserInputBufferCreateFile'/>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-          <ref name='xmlParserInputBufferCreateIO'/>
-          <ref name='xmlParserInputBufferCreateMem'/>
-          <ref name='xmlParserInputBufferCreateStatic'/>
-        </word>
-        <word name='checked'>
-          <ref name='XML_SCHEMAS_ELEM_INTERNAL_CHECKED'/>
-          <ref name='_xmlEntity'/>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlNodeGetLang'/>
-          <ref name='xmlNodeGetSpacePreserve'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlSetNsProp'/>
-        </word>
-        <word name='checking'>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlBufferWriteQuotedString'/>
-          <ref name='xmlBuildURI'/>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlMemFree'/>
-          <ref name='xmlUTF8Strlen'/>
-        </word>
-        <word name='checkings'>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlValidateOneElement'/>
-        </word>
-        <word name='checks'>
-          <ref name='XML_SCHEMAS_ATTRGROUP_MARKED'/>
-          <ref name='XML_SCHEMAS_TYPE_MARKED'/>
-          <ref name='htmlAutoCloseTag'/>
-          <ref name='htmlIsAutoClosed'/>
-          <ref name='htmlNodeStatus'/>
-          <ref name='xmlCheckFilename'/>
-          <ref name='xmlCheckHTTPInput'/>
-          <ref name='xmlCheckUTF8'/>
-          <ref name='xmlNanoFTPInit'/>
-          <ref name='xmlNanoHTTPInit'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlURIEscape'/>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateDocument'/>
-          <ref name='xmlValidateDocumentFinal'/>
-          <ref name='xmlValidateDtdFinal'/>
-          <ref name='xmlValidateElementDecl'/>
-          <ref name='xmlValidateNotationDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlValidateOneNamespace'/>
-          <ref name='xmlXPathNodeSetContains'/>
-        </word>
-        <word name='child-'>
-          <ref name='_xmlAttr'/>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlDtd'/>
-          <ref name='_xmlNode'/>
-        </word>
-        <word name='childrens'>
-          <ref name='_xmlEntity'/>
-        </word>
-        <word name='childs'>
-          <ref name='_xmlNode'/>
-          <ref name='xmlIsMixedElement'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='choice'>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-        </word>
-        <word name='choices'>
-          <ref name='xmlParseElementMixedContentDecl'/>
-        </word>
-        <word name='choices:'>
-          <ref name='xmlParseNotationDecl'/>
-        </word>
-        <word name='chunk'>
-          <ref name='docbParseChunk'/>
-          <ref name='htmlParseChunk'/>
-          <ref name='xmlEntityReferenceFunc'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseChunk'/>
-          <ref name='xmlParseEntity'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlSAXParseEntity'/>
-        </word>
-        <word name='circular'>
-          <ref name='XML_SCHEMAS_ATTRGROUP_MARKED'/>
-          <ref name='XML_SCHEMAS_ELEM_CIRCULAR'/>
-          <ref name='XML_SCHEMAS_TYPE_MARKED'/>
-        </word>
-        <word name='clean'>
-          <ref name='xmlCleanupParser'/>
-        </word>
-        <word name='cleanly'>
-          <ref name='xmlCheckHTTPInput'/>
-        </word>
-        <word name='cleans'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-        </word>
-        <word name='cleanup'>
-          <ref name='xmlCleanupGlobals'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlNanoFTPCleanup'/>
-        </word>
-        <word name='clear'>
-          <ref name='xmlListMerge'/>
-        </word>
-        <word name='clears'>
-          <ref name='xmlCleanupInputCallbacks'/>
-          <ref name='xmlCleanupOutputCallbacks'/>
-        </word>
-        <word name='client'>
-          <ref name='xmlKeepBlanksDefault'/>
-        </word>
-        <word name='clone'>
-          <ref name='xmlDOMWrapCloneNode'/>
-        </word>
-        <word name='cloned'>
-          <ref name='xmlDOMWrapCloneNode'/>
-        </word>
-        <word name='close'>
-          <ref name='htmlAutoCloseTag'/>
-          <ref name='htmlCtxtReadIO'/>
-          <ref name='htmlIsAutoClosed'/>
-          <ref name='htmlReadIO'/>
-          <ref name='xmlCharEncCloseFunc'/>
-          <ref name='xmlCreateIOParserCtxt'/>
-          <ref name='xmlCtxtReadIO'/>
-          <ref name='xmlInputCloseCallback'/>
-          <ref name='xmlModuleClose'/>
-          <ref name='xmlOutputBufferClose'/>
-          <ref name='xmlOutputBufferCreateIO'/>
-          <ref name='xmlOutputCloseCallback'/>
-          <ref name='xmlParserInputBufferCreateIO'/>
-          <ref name='xmlReadIO'/>
-          <ref name='xmlReaderForIO'/>
-          <ref name='xmlReaderNewIO'/>
-          <ref name='xmlSaveToIO'/>
-          <ref name='xmlTextReaderClose'/>
-        </word>
-        <word name='closed'>
-          <ref name='htmlReadFd'/>
-          <ref name='xmlCtxtReadFd'/>
-          <ref name='xmlModuleClose'/>
-          <ref name='xmlNewTextWriter'/>
-          <ref name='xmlReadFd'/>
-          <ref name='xmlReaderForFd'/>
-          <ref name='xmlReaderNewFd'/>
-          <ref name='xmlTextWriterEndDocument'/>
-        </word>
-        <word name='closes'>
-          <ref name='xmlNanoHTTPClose'/>
-          <ref name='xmlNanoHTTPSave'/>
-        </word>
-        <word name='closest'>
-          <ref name='xmlNextElementSibling'/>
-          <ref name='xmlPreviousElementSibling'/>
-          <ref name='xmlXPathCeilingFunction'/>
-          <ref name='xmlXPathFloorFunction'/>
-          <ref name='xmlXPathRoundFunction'/>
-        </word>
-        <word name='closing'>
-          <ref name='xmlNanoFTPFreeCtxt'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseStartTag'/>
-        </word>
-        <word name='codes'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='coding'>
-          <ref name='xmlSAXDefaultVersion'/>
-        </word>
-        <word name='collapse'>
-          <ref name='XML_SCHEMAS_FACET_COLLAPSE'/>
-          <ref name='XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE'/>
-        </word>
-        <word name='collect'>
-          <ref name='DEBUG_MEMORY'/>
-          <ref name='xmlIOHTTPOpenW'/>
-        </word>
-        <word name='collected'>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-        </word>
-        <word name='colon'>
-          <ref name='xmlLoadCatalogs'/>
-        </word>
-        <word name='column'>
-          <ref name='_xmlError'/>
-          <ref name='getColumnNumber'/>
-          <ref name='xmlSAX2GetColumnNumber'/>
-          <ref name='xmlTextReaderGetParserColumnNumber'/>
-        </word>
-        <word name='com'>
-          <ref name='getSystemId'/>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlSAX2GetSystemId'/>
-        </word>
-        <word name='combining'>
-          <ref name='IS_COMBINING_CH'/>
-        </word>
-        <word name='come'>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='comes'>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='coming'>
-          <ref name='xmlXIncludeProcessNode'/>
-        </word>
-        <word name='command'>
-          <ref name='ftpDataCallback'/>
-          <ref name='ftpListCallback'/>
-          <ref name='xmlNanoFTPCheckResponse'/>
-          <ref name='xmlNanoFTPGetResponse'/>
-          <ref name='xmlNanoFTPQuit'/>
-          <ref name='xmlShellDu'/>
-        </word>
-        <word name='commandline'>
-          <ref name='xmlShell'/>
-        </word>
-        <word name='commands'>
-          <ref name='xmlShellPwd'/>
-        </word>
-        <word name='comment'>
-          <ref name='HTML_COMMENT_NODE'/>
-          <ref name='comment'/>
-          <ref name='commentSAXFunc'/>
-          <ref name='xmlNewComment'/>
-          <ref name='xmlNewDocComment'/>
-          <ref name='xmlParseComment'/>
-          <ref name='xmlTextWriterEndComment'/>
-          <ref name='xmlTextWriterStartComment'/>
-          <ref name='xmlTextWriterWriteComment'/>
-          <ref name='xmlTextWriterWriteFormatComment'/>
-          <ref name='xmlTextWriterWriteVFormatComment'/>
-          <ref name='xmlXPathIsNodeType'/>
-        </word>
-        <word name='comment-'>
-          <ref name='xmlStreamPushNode'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-        </word>
-        <word name='comments'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlDocGetRootElement'/>
-          <ref name='xmlDocSetRootElement'/>
-          <ref name='xmlParseComment'/>
-        </word>
-        <word name='commit'>
-          <ref name='LIBXML_VERSION_EXTRA'/>
-        </word>
-        <word name='commodity'>
-          <ref name='xmlKeepBlanksDefault'/>
-        </word>
-        <word name='common'>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlDtd'/>
-          <ref name='_xmlNode'/>
-        </word>
-        <word name='comp'>
-          <ref name='xmlFreePattern'/>
-          <ref name='xmlFreePatternList'/>
-          <ref name='xmlXPathFreeCompExpr'/>
-        </word>
-        <word name='compare'>
-          <ref name='xmlListDataCompare'/>
-          <ref name='xmlUTF8Charcmp'/>
-          <ref name='xmlXPathCompareValues'/>
-        </word>
-        <word name='compared'>
-          <ref name='xmlXPathCompareValues'/>
-        </word>
-        <word name='compares'>
-          <ref name='xmlUTF8Charcmp'/>
-        </word>
-        <word name='comparing'>
-          <ref name='xmlXPathCompareValues'/>
-        </word>
-        <word name='comparison'>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull3'/>
-          <ref name='xmlListCreate'/>
-          <ref name='xmlParseCharEncoding'/>
-          <ref name='xmlStrcasecmp'/>
-          <ref name='xmlStrcmp'/>
-          <ref name='xmlStrncasecmp'/>
-          <ref name='xmlStrncmp'/>
-          <ref name='xmlXPathCompareValues'/>
-        </word>
-        <word name='comparisons'>
-          <ref name='xmlTextReaderConstString'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='compatibility'>
-          <ref name='LIBXML_LEGACY_ENABLED'/>
-          <ref name='htmlParseElement'/>
-          <ref name='xmlChildrenNode'/>
-          <ref name='xmlCopyChar'/>
-          <ref name='xmlEncodeEntities'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlParseCharData'/>
-          <ref name='xmlParseComment'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlParseQuotedString'/>
-          <ref name='xmlRootNode'/>
-        </word>
-        <word name='compatible'>
-          <ref name='LIBXML_TEST_VERSION'/>
-          <ref name='xmlShellPwd'/>
-        </word>
-        <word name='compilation'>
-          <ref name='XML_XPATH_CHECKNS'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlPatterncompile'/>
-          <ref name='xmlXPathCompile'/>
-          <ref name='xmlXPathCtxtCompile'/>
-        </word>
-        <word name='compile'>
-          <ref name='xmlPatterncompile'/>
-        </word>
-        <word name='compile-time'>
-          <ref name='docbCreateFileParserCtxt'/>
-          <ref name='docbParseFile'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='htmlCreateFileParserCtxt'/>
-          <ref name='htmlParseFile'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlCreateEntityParserCtxt'/>
-          <ref name='xmlCreateFileParserCtxt'/>
-          <ref name='xmlCreateURLParserCtxt'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlParseFile'/>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-          <ref name='xmlRecoverFile'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-        </word>
-        <word name='compiled-in'>
-          <ref name='xmlCleanupInputCallbacks'/>
-          <ref name='xmlCleanupOutputCallbacks'/>
-          <ref name='xmlPopInputCallbacks'/>
-          <ref name='xmlPopOutputCallbacks'/>
-          <ref name='xmlRegisterDefaultInputCallbacks'/>
-          <ref name='xmlRegisterDefaultOutputCallbacks'/>
-        </word>
-        <word name='compiling'>
-          <ref name='xmlRelaxNGNewDocParserCtxt'/>
-        </word>
-        <word name='complement'>
-          <ref name='xmlXPathStringEvalNumber'/>
-        </word>
-        <word name='complete'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='XML_SCHEMAS_WILDCARD_COMPLETE'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlACatalogResolve'/>
-          <ref name='xmlACatalogResolveURI'/>
-          <ref name='xmlCatalogLocalResolve'/>
-          <ref name='xmlCatalogLocalResolveURI'/>
-          <ref name='xmlCatalogResolve'/>
-          <ref name='xmlCatalogResolveURI'/>
-        </word>
-        <word name='completed'>
-          <ref name='xmlValidateDocumentFinal'/>
-        </word>
-        <word name='completely'>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlNodeGetBase'/>
-        </word>
-        <word name='complex'>
-          <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
-          <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
-          <ref name='_xmlSchemaType'/>
-        </word>
-        <word name='complexType'>
-          <ref name='XML_SCHEMAS_TYPE_ABSTRACT'/>
-          <ref name='XML_SCHEMAS_TYPE_BLOCK_DEFAULT'/>
-          <ref name='XML_SCHEMAS_TYPE_BLOCK_EXTENSION'/>
-          <ref name='XML_SCHEMAS_TYPE_BLOCK_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/>
-        </word>
-        <word name='complicated'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='component'>
-          <ref name='_xmlSchemaType'/>
-        </word>
-        <word name='components'>
-          <ref name='_xmlSchema'/>
-        </word>
-        <word name='compound'>
-          <ref name='xmlXPathFreeNodeSet'/>
-          <ref name='xmlXPtrFreeLocationSet'/>
-        </word>
-        <word name='compress'>
-          <ref name='xmlNewTextWriterDoc'/>
-          <ref name='xmlNewTextWriterFilename'/>
-          <ref name='xmlNewTextWriterMemory'/>
-          <ref name='xmlNewTextWriterPushParser'/>
-          <ref name='xmlNewTextWriterTree'/>
-        </word>
-        <word name='compressed'>
-          <ref name='_xmlParserInputBuffer'/>
-          <ref name='docbCreateFileParserCtxt'/>
-          <ref name='docbParseFile'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='htmlCreateFileParserCtxt'/>
-          <ref name='htmlParseFile'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlCreateEntityParserCtxt'/>
-          <ref name='xmlCreateFileParserCtxt'/>
-          <ref name='xmlCreateURLParserCtxt'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlParseFile'/>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-          <ref name='xmlRecoverFile'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXUserParseFile'/>
-        </word>
-        <word name='compression'>
-          <ref name='_xmlDoc'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlGetCompressMode'/>
-          <ref name='xmlGetDocCompressMode'/>
-          <ref name='xmlIOHTTPOpenW'/>
-          <ref name='xmlNewTextWriterMemory'/>
-          <ref name='xmlNewTextWriterPushParser'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlSaveFile'/>
-          <ref name='xmlSaveFormatFile'/>
-          <ref name='xmlSetCompressMode'/>
-          <ref name='xmlSetDocCompressMode'/>
-        </word>
-        <word name='comprising'>
-          <ref name='xmlXPathIntersection'/>
-        </word>
-        <word name='computation'>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='compute'>
-          <ref name='xmlUTF8Strlen'/>
-        </word>
-        <word name='computed'>
-          <ref name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
-          <ref name='_xmlEntity'/>
-          <ref name='xmlByteConsumed'/>
-          <ref name='xmlSchemaValPredefTypeNode'/>
-          <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-          <ref name='xmlSchemaValidatePredefinedType'/>
-          <ref name='xmlSchemaValueAppend'/>
-          <ref name='xmlSchemaValueGetAsBoolean'/>
-          <ref name='xmlSchemaValueGetAsString'/>
-          <ref name='xmlSchemaValueGetNext'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-        </word>
-        <word name='computes'>
-          <ref name='xmlSchemaCheckFacet'/>
-        </word>
-        <word name='concat'>
-          <ref name='xmlXPathConcatFunction'/>
-        </word>
-        <word name='concatenated'>
-          <ref name='xmlStrcat'/>
-        </word>
-        <word name='concatenation'>
-          <ref name='xmlXPathConcatFunction'/>
-        </word>
-        <word name='concerning'>
-          <ref name='xmlDebugDumpDocumentHead'/>
-        </word>
-        <word name='condition'>
-          <ref name='xmlSchemaValidateFacet'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-        </word>
-        <word name='conditionalSect'>
-          <ref name='xmlParseExternalSubset'/>
-        </word>
-        <word name='configured'>
-          <ref name='DEBUG_MEMORY'/>
-          <ref name='DEBUG_MEMORY_LOCATION'/>
-          <ref name='LIBXML_C14N_ENABLED'/>
-          <ref name='LIBXML_CATALOG_ENABLED'/>
-          <ref name='LIBXML_DEBUG_ENABLED'/>
-          <ref name='LIBXML_DEBUG_RUNTIME'/>
-          <ref name='LIBXML_DOCB_ENABLED'/>
-          <ref name='LIBXML_FTP_ENABLED'/>
-          <ref name='LIBXML_HTML_ENABLED'/>
-          <ref name='LIBXML_HTTP_ENABLED'/>
-          <ref name='LIBXML_OUTPUT_ENABLED'/>
-          <ref name='LIBXML_PATTERN_ENABLED'/>
-          <ref name='LIBXML_PUSH_ENABLED'/>
-          <ref name='LIBXML_READER_ENABLED'/>
-          <ref name='LIBXML_SAX1_ENABLED'/>
-          <ref name='LIBXML_THREAD_ENABLED'/>
-          <ref name='LIBXML_TREE_ENABLED'/>
-          <ref name='LIBXML_VALID_ENABLED'/>
-          <ref name='LIBXML_WRITER_ENABLED'/>
-          <ref name='LIBXML_XINCLUDE_ENABLED'/>
-          <ref name='LIBXML_XPATH_ENABLED'/>
-          <ref name='LIBXML_XPTR_ENABLED'/>
-          <ref name='WITHOUT_TRIO'/>
-          <ref name='WITH_TRIO'/>
-        </word>
-        <word name='conforming'>
-          <ref name='xmlRegexpCompile'/>
-        </word>
-        <word name='conforms'>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlSchemaValPredefTypeNode'/>
-          <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-          <ref name='xmlSchemaValidatePredefinedType'/>
-          <ref name='xmlValidateNCName'/>
-          <ref name='xmlValidateNMToken'/>
-          <ref name='xmlValidateName'/>
-          <ref name='xmlValidateQName'/>
-        </word>
-        <word name='conjunction'>
-          <ref name='xmlSchemaIsBuiltInTypeFacet'/>
-        </word>
-        <word name='connection'>
-          <ref name='xmlNanoFTPClose'/>
-          <ref name='xmlNanoFTPCloseConnection'/>
-          <ref name='xmlNanoFTPConnect'/>
-          <ref name='xmlNanoFTPConnectTo'/>
-          <ref name='xmlNanoFTPFreeCtxt'/>
-          <ref name='xmlNanoFTPGetConnection'/>
-          <ref name='xmlNanoFTPGetSocket'/>
-          <ref name='xmlNanoFTPRead'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-          <ref name='xmlNanoHTTPClose'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-          <ref name='xmlNanoHTTPRead'/>
-        </word>
-        <word name='connector'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-        </word>
-        <word name='consequent'>
-          <ref name='_xmlError'/>
-        </word>
-        <word name='consideration'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='considered'>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull3'/>
-          <ref name='xmlParserInputBufferRead'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='consist'>
-          <ref name='xmlXPathNextAncestor'/>
-        </word>
-        <word name='const'>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-        </word>
-        <word name='constant'>
-          <ref name='XML_SAX2_MAGIC'/>
-          <ref name='xmlByteConsumed'/>
-        </word>
-        <word name='constraint'>
-          <ref name='_xmlSchemaAttribute'/>
-          <ref name='_xmlSchemaElement'/>
-          <ref name='_xmlSchemaWildcard'/>
-          <ref name='_xmlSchemaWildcardNs'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlValidateNotationDecl'/>
-        </word>
-        <word name='constraints'>
-          <ref name='XML_SCHEMAS_ELEM_INTERNAL_CHECKED'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='construct'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-        </word>
-        <word name='construction'>
-          <ref name='xmlCanonicPath'/>
-          <ref name='xmlPathToURI'/>
-        </word>
-        <word name='constructs'>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlParseNamespace'/>
-        </word>
-        <word name='consumed'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='_xmlParserInput'/>
-          <ref name='_xmlParserInputBuffer'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='isolat1ToUTF8'/>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlExpNewSeq'/>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlParserInputBufferRead'/>
-          <ref name='xmlSchemaNewNOTATIONValue'/>
-          <ref name='xmlSchemaNewQNameValue'/>
-          <ref name='xmlSchemaNewStringValue'/>
-        </word>
-        <word name='consuming'>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlScanName'/>
-        </word>
-        <word name='contain'>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlRelaxNGNewMemParserCtxt'/>
-          <ref name='xmlRelaxNGNewParserCtxt'/>
-          <ref name='xmlSchemaNewMemParserCtxt'/>
-          <ref name='xmlSchemaNewParserCtxt'/>
-          <ref name='xmlSchematronNewMemParserCtxt'/>
-          <ref name='xmlSchematronNewParserCtxt'/>
-          <ref name='xmlXPathLeading'/>
-          <ref name='xmlXPathLeadingSorted'/>
-          <ref name='xmlXPathNodeLeading'/>
-          <ref name='xmlXPathNodeLeadingSorted'/>
-          <ref name='xmlXPathNodeTrailing'/>
-          <ref name='xmlXPathNodeTrailingSorted'/>
-          <ref name='xmlXPathSubstringAfterFunction'/>
-          <ref name='xmlXPathSubstringBeforeFunction'/>
-          <ref name='xmlXPathTrailing'/>
-          <ref name='xmlXPathTrailingSorted'/>
-        </word>
-        <word name='contained'>
-          <ref name='xmlBufferDetach'/>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlStrlen'/>
-          <ref name='xmlXPathDistinct'/>
-          <ref name='xmlXPathDistinctSorted'/>
-        </word>
-        <word name='contains'>
-          <ref name='XML_SCHEMAS_ATTRGROUP_HAS_REFS'/>
-          <ref name='_xmlEntity'/>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlTextReaderMoveToElement'/>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-          <ref name='xmlXPathContainsFunction'/>
-          <ref name='xmlXPathNextAncestor'/>
-          <ref name='xmlXPathNextAncestorOrSelf'/>
-          <ref name='xmlXPathNextChild'/>
-          <ref name='xmlXPathNextDescendant'/>
-          <ref name='xmlXPathNextDescendantOrSelf'/>
-          <ref name='xmlXPathNextFollowing'/>
-          <ref name='xmlXPathNextFollowingSibling'/>
-          <ref name='xmlXPathNextNamespace'/>
-          <ref name='xmlXPathNextParent'/>
-          <ref name='xmlXPathNextPreceding'/>
-          <ref name='xmlXPathNextPrecedingSibling'/>
-          <ref name='xmlXPathNextSelf'/>
-          <ref name='xmlXPathNodeSetContains'/>
-          <ref name='xmlXPathSubstringFunction'/>
-          <ref name='xmlXPtrNewContext'/>
-        </word>
-        <word name='content:'>
-          <ref name='xmlXPathEqualValues'/>
-          <ref name='xmlXPathNotEqualValues'/>
-        </word>
-        <word name='contentType'>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-        </word>
-        <word name='contents'>
-          <ref name='xmlDictFree'/>
-          <ref name='xmlHashFree'/>
-          <ref name='xmlLineNumbersDefault'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlSetupParserForBuffer'/>
-          <ref name='xmlTextReaderExpand'/>
-          <ref name='xmlTextReaderReadInnerXml'/>
-          <ref name='xmlTextReaderReadOuterXml'/>
-          <ref name='xmlTextReaderReadString'/>
-          <ref name='xmlTextWriterWriteDTDExternalEntityContents'/>
-        </word>
-        <word name='contentspec'>
-          <ref name='xmlParseElementContentDecl'/>
-          <ref name='xmlParseElementDecl'/>
-        </word>
-        <word name='context?'>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='contexts'>
-          <ref name='_xmlDOMWrapCtxt'/>
-        </word>
-        <word name='contextual'>
-          <ref name='xmlRelaxNGGetParserErrors'/>
-          <ref name='xmlRelaxNGSetParserErrors'/>
-          <ref name='xmlRelaxNGSetParserStructuredErrors'/>
-          <ref name='xmlSchemaGetParserErrors'/>
-          <ref name='xmlSchemaSetParserErrors'/>
-        </word>
-        <word name='continuing'>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='contrary'>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlXPathFreeNodeSetList'/>
-        </word>
-        <word name='contrast'>
-          <ref name='xmlNodeAddContent'/>
-          <ref name='xmlNodeAddContentLen'/>
-        </word>
-        <word name='control'>
-          <ref name='_xmlXPathContext'/>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlNanoFTPClose'/>
-          <ref name='xmlNanoFTPConnect'/>
-          <ref name='xmlNanoFTPConnectTo'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-        </word>
-        <word name='conveniently'>
-          <ref name='xmlCurrentChar'/>
-        </word>
-        <word name='convention'>
-          <ref name='XMLCALL'/>
-          <ref name='XMLCDECL'/>
-        </word>
-        <word name='conversion'>
-          <ref name='_uconv_t'/>
-          <ref name='_xmlXPathType'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlParseEncodingDecl'/>
-          <ref name='xmlXPathConvertFunc'/>
-          <ref name='xmlXPathPopBoolean'/>
-          <ref name='xmlXPathPopExternal'/>
-          <ref name='xmlXPathPopNodeSet'/>
-          <ref name='xmlXPathPopNumber'/>
-          <ref name='xmlXPathPopString'/>
-        </word>
-        <word name='conversions'>
-          <ref name='_xmlOutputBuffer'/>
-          <ref name='_xmlParserInputBuffer'/>
-        </word>
-        <word name='convert'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='attribute'/>
-          <ref name='attributeSAXFunc'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='isolat1ToUTF8'/>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlEncodeEntities'/>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-          <ref name='xmlEncodeSpecialChars'/>
-          <ref name='xmlXPathAddValues'/>
-          <ref name='xmlXPathDivValues'/>
-          <ref name='xmlXPathModValues'/>
-          <ref name='xmlXPathMultValues'/>
-          <ref name='xmlXPathSubValues'/>
-          <ref name='xmlXPathValueFlipSign'/>
-        </word>
-        <word name='converted'>
-          <ref name='xmlCatalogConvert'/>
-          <ref name='xmlConvertSGMLCatalog'/>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-          <ref name='xmlXPathIdFunction'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-          <ref name='xmlXPathStringFunction'/>
-          <ref name='xmlXPathStringLengthFunction'/>
-        </word>
-        <word name='converter'>
-          <ref name='xmlAllocOutputBuffer'/>
-          <ref name='xmlOutputBufferCreateBuffer'/>
-          <ref name='xmlOutputBufferCreateFd'/>
-          <ref name='xmlOutputBufferCreateFile'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-        </word>
-        <word name='converting'>
-          <ref name='xmlSaveFileEnc'/>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-        </word>
-        <word name='converts'>
-          <ref name='xmlXPathBooleanFunction'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='cope'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='copied'>
-          <ref name='xmlBufferCreateStatic'/>
-          <ref name='xmlCopyDoc'/>
-          <ref name='xmlGetFeaturesList'/>
-          <ref name='xmlSchemaCopyValue'/>
-          <ref name='xmlXPathNodeSetMerge'/>
-        </word>
-        <word name='copier'>
-          <ref name='xmlHashCopy'/>
-        </word>
-        <word name='copying'>
-          <ref name='xmlParserInputBufferGrow'/>
-        </word>
-        <word name='correct'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='correctly'>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='correspond'>
-          <ref name='xmlIsXHTML'/>
-          <ref name='xmlParseEntity'/>
-          <ref name='xmlSAXParseEntity'/>
-        </word>
-        <word name='corresponding'>
-          <ref name='xmlGetDocEntity'/>
-          <ref name='xmlGetDtdEntity'/>
-          <ref name='xmlGetParameterEntity'/>
-          <ref name='xmlOutputBufferCreateFilenameFunc'/>
-          <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-          <ref name='xmlSetProp'/>
-          <ref name='xmlTextReaderCurrentDoc'/>
-          <ref name='xmlTextReaderCurrentNode'/>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='cost'>
-          <ref name='xmlByteConsumed'/>
-        </word>
-        <word name='costly'>
-          <ref name='XML_MAX_NAMELEN'/>
-          <ref name='xmlByteConsumed'/>
-        </word>
-        <word name='could'>
-          <ref name='xmlByteConsumed'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlModuleClose'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaGetCanonValueWhtsp'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetSchema'/>
-          <ref name='xmlValidateDtd'/>
-        </word>
-        <word name='count'>
-          <ref name='_xmlEntity'/>
-          <ref name='ftpListCallback'/>
-          <ref name='xmlChildElementCount'/>
-          <ref name='xmlExpRef'/>
-          <ref name='xmlLsCountNode'/>
-          <ref name='xmlSaveDoc'/>
-          <ref name='xmlSaveTree'/>
-          <ref name='xmlSchematronValidateDoc'/>
-          <ref name='xmlTextReaderAttributeCount'/>
-          <ref name='xmlXPathCountFunction'/>
-        </word>
-        <word name='counter'>
-          <ref name='xmlAutomataNewCountedTrans'/>
-          <ref name='xmlAutomataNewCounter'/>
-          <ref name='xmlAutomataNewCounterTrans'/>
-          <ref name='xmlDictReference'/>
-        </word>
-        <word name='counterparts'>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-        </word>
-        <word name='course'>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
-        <word name='cover'>
-          <ref name='xmlSearchNs'/>
-        </word>
-        <word name='crash'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='create'>
-          <ref name='xmlBufferCreate'/>
-          <ref name='xmlBufferCreateSize'/>
-          <ref name='xmlBufferCreateStatic'/>
-          <ref name='xmlCatalogIsEmpty'/>
-          <ref name='xmlCreateEntitiesTable'/>
-          <ref name='xmlCreateEnumeration'/>
-          <ref name='xmlNewCatalog'/>
-          <ref name='xmlNewDtd'/>
-          <ref name='xmlNewNs'/>
-        </word>
-        <word name='creates'>
-          <ref name='xmlAutomataNewAllTrans'/>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewCountedTrans'/>
-          <ref name='xmlAutomataNewCounterTrans'/>
-          <ref name='xmlAutomataNewEpsilon'/>
-          <ref name='xmlAutomataNewNegTrans'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-          <ref name='xmlAutomataNewTransition'/>
-          <ref name='xmlAutomataNewTransition2'/>
-          <ref name='xmlCreateURI'/>
-          <ref name='xmlStrncatNew'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='creating'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-        </word>
-        <word name='creation'>
-          <ref name='xmlIOHTTPOpenW'/>
-          <ref name='xmlNewNs'/>
-          <ref name='xmlRegisterNodeDefault'/>
-        </word>
-        <word name='cross'>
-          <ref name='xmlSearchNs'/>
-        </word>
-        <word name='crossed'>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-        </word>
-        <word name='ctxt'>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlExpNewSeq'/>
-        </word>
-        <word name='ctxt-'>
-          <ref name='docbFreeParserCtxt'/>
-          <ref name='htmlFreeParserCtxt'/>
-          <ref name='xmlFreeParserCtxt'/>
-          <ref name='xmlPopInput'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='cur'>
-          <ref name='xmlXPathAxisFunc'/>
-        </word>
-        <word name='currently'>
-          <ref name='XML_SCHEMAS_INCLUDING_CONVERT_NS'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlMemBlocks'/>
-          <ref name='xmlMemGet'/>
-          <ref name='xmlMemUsed'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlOutputBufferGetContent'/>
-          <ref name='xmlOutputBufferGetSize'/>
-          <ref name='xmlSchemaValidateFile'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='custom'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlSaveSetAttrEscape'/>
-          <ref name='xmlSaveSetEscape'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk13'>
-      <letter name='d'>
-        <word name='dangerous'>
-          <ref name='xmlTextReaderCurrentNode'/>
-        </word>
-        <word name='data-type'>
-          <ref name='xmlSchemaCopyValue'/>
-        </word>
-        <word name='datatype'>
-          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-        </word>
-        <word name='day'>
-          <ref name='ftpListCallback'/>
-        </word>
-        <word name='day:minute'>
-          <ref name='ftpListCallback'/>
-        </word>
-        <word name='de-coupled'>
-          <ref name='xmlValidateDtd'/>
-        </word>
-        <word name='deactivated'>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetSchema'/>
-        </word>
-        <word name='deallocate'>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlListDeallocator'/>
-          <ref name='xmlParserInputDeallocate'/>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-          <ref name='xmlXPathFreeNodeSetList'/>
-        </word>
-        <word name='deallocated'>
-          <ref name='xmlDictFree'/>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-          <ref name='xmlEncodeSpecialChars'/>
-          <ref name='xmlGetFeaturesList'/>
-          <ref name='xmlHashFree'/>
-          <ref name='xmlNewTextWriter'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlSaveUri'/>
-          <ref name='xmlTextReaderConstBaseUri'/>
-          <ref name='xmlTextReaderConstEncoding'/>
-          <ref name='xmlTextReaderConstLocalName'/>
-          <ref name='xmlTextReaderConstName'/>
-          <ref name='xmlTextReaderConstNamespaceUri'/>
-          <ref name='xmlTextReaderConstPrefix'/>
-          <ref name='xmlTextReaderConstString'/>
-          <ref name='xmlTextReaderConstValue'/>
-          <ref name='xmlTextReaderConstXmlVersion'/>
-          <ref name='xmlTextReaderGetAttribute'/>
-          <ref name='xmlTextReaderGetAttributeNo'/>
-          <ref name='xmlTextReaderGetAttributeNs'/>
-          <ref name='xmlTextReaderLookupNamespace'/>
-          <ref name='xmlTextReaderReadInnerXml'/>
-          <ref name='xmlTextReaderReadOuterXml'/>
-          <ref name='xmlTextReaderReadString'/>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderSetSchema'/>
-          <ref name='xmlTextReaderValue'/>
-        </word>
-        <word name='deallocation'>
-          <ref name='xmlListRemoveAll'/>
-          <ref name='xmlListRemoveFirst'/>
-          <ref name='xmlListRemoveLast'/>
-        </word>
-        <word name='deallocator'>
-          <ref name='xmlHashFree'/>
-          <ref name='xmlHashRemoveEntry'/>
-          <ref name='xmlHashRemoveEntry2'/>
-          <ref name='xmlHashRemoveEntry3'/>
-          <ref name='xmlHashUpdateEntry'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-          <ref name='xmlListCreate'/>
-        </word>
-        <word name='debug'>
-          <ref name='DEBUG_MEMORY'/>
-          <ref name='xmlCatalogSetDebug'/>
-          <ref name='xmlDebugDumpAttr'/>
-          <ref name='xmlDebugDumpAttrList'/>
-          <ref name='xmlDebugDumpDTD'/>
-          <ref name='xmlDebugDumpDocument'/>
-          <ref name='xmlDebugDumpDocumentHead'/>
-          <ref name='xmlDebugDumpEntities'/>
-          <ref name='xmlDebugDumpNode'/>
-          <ref name='xmlDebugDumpNodeList'/>
-          <ref name='xmlDebugDumpOneNode'/>
-          <ref name='xmlRegexpPrint'/>
-          <ref name='xmlSnprintfElementContent'/>
-        </word>
-        <word name='debugging'>
-          <ref name='DEBUG_MEMORY'/>
-          <ref name='DEBUG_MEMORY_LOCATION'/>
-          <ref name='LIBXML_DEBUG_RUNTIME'/>
-          <ref name='xmlCatalogSetDebug'/>
-          <ref name='xmlXPathDebugDumpObject'/>
-        </word>
-        <word name='decimal'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='decl'>
-          <ref name='XML_SCHEMAS_ELEM_INTERNAL_CHECKED'/>
-          <ref name='xmlAddAttributeDecl'/>
-          <ref name='xmlNewDocElementContent'/>
-          <ref name='xmlNewElementContent'/>
-        </word>
-        <word name='declarations'>
-          <ref name='_xmlXPathContext'/>
-          <ref name='htmlParseCharRef'/>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='xmlParseCharRef'/>
-          <ref name='xmlParseEntityDecl'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseEntityValue'/>
-          <ref name='xmlParseExternalSubset'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlSAX2StartElementNs'/>
-          <ref name='xmlTextWriterWriteFormatDTD'/>
-          <ref name='xmlTextWriterWriteVFormatDTD'/>
-          <ref name='xmlValidateNotationDecl'/>
-          <ref name='xmlXPtrBuildNodeList'/>
-        </word>
-        <word name='declare'>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlSearchNs'/>
-        </word>
-        <word name='declared'>
-          <ref name='_xmlElement'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlParseElementDecl'/>
-          <ref name='xmlParseEntityDecl'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlParseNotationType'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlTextReaderStandalone'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-        </word>
-        <word name='declares'>
-          <ref name='XMLCALL'/>
-          <ref name='XMLCDECL'/>
-          <ref name='XMLPUBFUN'/>
-          <ref name='XMLPUBLIC'/>
-          <ref name='XMLPUBVAR'/>
-        </word>
-        <word name='declaring'>
-          <ref name='xmlGetID'/>
-        </word>
-        <word name='decode'>
-          <ref name='xmlDecodeEntities'/>
-        </word>
-        <word name='def'>
-          <ref name='xmlParseAttributeListDecl'/>
-          <ref name='xmlParseAttributeType'/>
-        </word>
-        <word name='defaulted'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='xmlSAX2StartElementNs'/>
-          <ref name='xmlTextReaderIsDefault'/>
-        </word>
-        <word name='defaultexternal'>
-          <ref name='xmlSetExternalEntityLoader'/>
-        </word>
-        <word name='defaults'>
-          <ref name='xmlShell'/>
-          <ref name='xmlXPathLocalNameFunction'/>
-          <ref name='xmlXPathNamespaceURIFunction'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-          <ref name='xmlXPathStringFunction'/>
-          <ref name='xmlXPathStringLengthFunction'/>
-        </word>
-        <word name='define'>
-          <ref name='DEBUG_MEMORY'/>
-          <ref name='XML_CAST_FPTR'/>
-          <ref name='xmlHandleEntity'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='defined'>
-          <ref name='WITHOUT_TRIO'/>
-          <ref name='WITH_TRIO'/>
-          <ref name='XML_SCHEMAS_ATTRGROUP_GLOBAL'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlGetNsList'/>
-          <ref name='xmlHandleEntity'/>
-          <ref name='xmlNewEntity'/>
-          <ref name='xmlNewNs'/>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseElementContentDecl'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlSearchNsByHref'/>
-          <ref name='xmlTextReaderIsDefault'/>
-          <ref name='xmlValidGetValidElements'/>
-          <ref name='xmlValidateDtdFinal'/>
-          <ref name='xmlXPathNextAncestorOrSelf'/>
-        </word>
-        <word name='defining'>
-          <ref name='XINCLUDE_FALLBACK'/>
-          <ref name='XINCLUDE_HREF'/>
-          <ref name='XINCLUDE_NODE'/>
-          <ref name='XINCLUDE_NS'/>
-          <ref name='XINCLUDE_OLD_NS'/>
-          <ref name='XINCLUDE_PARSE'/>
-          <ref name='XINCLUDE_PARSE_ENCODING'/>
-          <ref name='XINCLUDE_PARSE_TEXT'/>
-          <ref name='XINCLUDE_PARSE_XML'/>
-          <ref name='XINCLUDE_PARSE_XPOINTER'/>
-          <ref name='xmlGetID'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlShellDu'/>
-          <ref name='xmlTextReaderConstNamespaceUri'/>
-          <ref name='xmlTextReaderNamespaceUri'/>
-        </word>
-        <word name='definitions'>
-          <ref name='_xmlNode'/>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadCatalogs'/>
-          <ref name='xmlPatterncompile'/>
-          <ref name='xmlSAX2StartElementNs'/>
-          <ref name='xmlTextReaderPreservePattern'/>
-          <ref name='xmlValidateDtd'/>
-        </word>
-        <word name='defs'>
-          <ref name='_xmlSchema'/>
-          <ref name='_xmlSchemaElement'/>
-        </word>
-        <word name='delayed'>
-          <ref name='xmlOutputBufferWrite'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlOutputBufferWriteString'/>
-        </word>
-        <word name='delegation'>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-        </word>
-        <word name='delete'>
-          <ref name='xmlNanoFTPDele'/>
-        </word>
-        <word name='deletion'>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-        </word>
-        <word name='dependent'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='depending'>
-          <ref name='xmlIsID'/>
-          <ref name='xmlIsRef'/>
-          <ref name='xmlListDataCompare'/>
-          <ref name='xmlParseReference'/>
-          <ref name='xmlXPathEqualValues'/>
-          <ref name='xmlXPathLangFunction'/>
-          <ref name='xmlXPathNotEqualValues'/>
-        </word>
-        <word name='deprecated'>
-          <ref name='LIBXML_LEGACY_ENABLED'/>
-          <ref name='_htmlElemDesc'/>
-          <ref name='_xmlURI'/>
-          <ref name='htmlAttrAllowed'/>
-          <ref name='htmlElementAllowedHere'/>
-          <ref name='htmlElementStatusHere'/>
-          <ref name='htmlNodeStatus'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlCreateEntitiesTable'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlInitializeDict'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlParserInputRead'/>
-          <ref name='xmlScanName'/>
-        </word>
-        <word name='depth'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlValidCtxt'/>
-          <ref name='xmlPatternMaxDepth'/>
-          <ref name='xmlPatternMinDepth'/>
-          <ref name='xmlTextReaderDepth'/>
-        </word>
-        <word name='deregistration'>
-          <ref name='xmlDeregisterNodeDefault'/>
-          <ref name='xmlDeregisterNodeFunc'/>
-        </word>
-        <word name='derivation'>
-          <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
-          <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlExpStringDerive'/>
-        </word>
-        <word name='descend'>
-          <ref name='xmlDOMWrapCloneNode'/>
-        </word>
-        <word name='descendant'>
-          <ref name='xmlXPathNextDescendant'/>
-        </word>
-        <word name='descendant-or-self'>
-          <ref name='xmlXPathNextDescendantOrSelf'/>
-        </word>
-        <word name='descendants'>
-          <ref name='xmlXPathNextDescendant'/>
-          <ref name='xmlXPathNextDescendantOrSelf'/>
-          <ref name='xmlXPathNextFollowing'/>
-        </word>
-        <word name='described'>
-          <ref name='xmlStreamWantsAnyNode'/>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateDocument'/>
-          <ref name='xmlValidateDocumentFinal'/>
-          <ref name='xmlValidateDtdFinal'/>
-          <ref name='xmlValidateElementDecl'/>
-          <ref name='xmlValidateNotationDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlValidateOneNamespace'/>
-          <ref name='xmlValidateRoot'/>
-        </word>
-        <word name='describing'>
-          <ref name='docbParseDoc'/>
-          <ref name='docbParseFile'/>
-          <ref name='docbSAXParseDoc'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='htmlCreateFileParserCtxt'/>
-          <ref name='htmlParseDoc'/>
-          <ref name='htmlParseFile'/>
-          <ref name='htmlSAXParseDoc'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlFindCharEncodingHandler'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-        </word>
-        <word name='description'>
-          <ref name='LIBXML_VERSION_EXTRA'/>
-          <ref name='_htmlElemDesc'/>
-          <ref name='_htmlEntityDesc'/>
-          <ref name='htmlElementAllowedHereDesc'/>
-          <ref name='xmlCopyDocElementContent'/>
-          <ref name='xmlCopyElementContent'/>
-          <ref name='xmlGetDtdAttrDesc'/>
-          <ref name='xmlGetDtdElementDesc'/>
-          <ref name='xmlGetDtdNotationDesc'/>
-          <ref name='xmlGetDtdQAttrDesc'/>
-          <ref name='xmlGetDtdQElementDesc'/>
-          <ref name='xmlIsMixedElement'/>
-          <ref name='xmlNodeSetLang'/>
-        </word>
-        <word name='descriptor'>
-          <ref name='htmlCtxtReadFd'/>
-          <ref name='htmlReadFd'/>
-          <ref name='xmlCtxtReadFd'/>
-          <ref name='xmlMemDisplay'/>
-          <ref name='xmlMemDisplayLast'/>
-          <ref name='xmlMemShow'/>
-          <ref name='xmlOutputBufferCreateFd'/>
-          <ref name='xmlParserInputBufferCreateFd'/>
-          <ref name='xmlReadFd'/>
-          <ref name='xmlReaderForFd'/>
-          <ref name='xmlReaderNewFd'/>
-          <ref name='xmlSaveToFd'/>
-          <ref name='xmlSaveToIO'/>
-        </word>
-        <word name='designed'>
-          <ref name='xmlCharEncodingOutputFunc'/>
-        </word>
-        <word name='desired'>
-          <ref name='xmlBufferResize'/>
-          <ref name='xmlIOHTTPOpenW'/>
-          <ref name='xmlUTF8Strloc'/>
-          <ref name='xmlUTF8Strpos'/>
-        </word>
-        <word name='destination'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlIOHTTPOpenW'/>
-          <ref name='xmlURIUnescapeString'/>
-        </word>
-        <word name='destroy'>
-          <ref name='xmlTextReaderCurrentDoc'/>
-        </word>
-        <word name='destroyed'>
-          <ref name='xmlAddChild'/>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlTextReaderCurrentNode'/>
-          <ref name='xmlTextReaderSetup'/>
-        </word>
-        <word name='destruction'>
-          <ref name='xmlDeregisterNodeDefault'/>
-        </word>
-        <word name='details'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='detect'>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlInputMatchCallback'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlOutputMatchCallback'/>
-        </word>
-        <word name='detected'>
-          <ref name='CHECK_ERROR'/>
-          <ref name='CHECK_ERROR0'/>
-          <ref name='endDocument'/>
-          <ref name='endDocumentSAXFunc'/>
-          <ref name='endElement'/>
-          <ref name='endElementNsSAX2Func'/>
-          <ref name='endElementSAXFunc'/>
-          <ref name='reference'/>
-          <ref name='referenceSAXFunc'/>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xlinkExtendedLinkSetFunk'/>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlSAX2EndDocument'/>
-          <ref name='xmlSAX2EndElement'/>
-          <ref name='xmlSAX2EndElementNs'/>
-          <ref name='xmlSAX2Reference'/>
-          <ref name='xmlSAX2StartElementNs'/>
-          <ref name='xmlSchemaIsValid'/>
-        </word>
-        <word name='detection'>
-          <ref name='docbCreatePushParserCtxt'/>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xlinkExtendedLinkSetFunk'/>
-          <ref name='xlinkGetDefaultDetect'/>
-          <ref name='xlinkNodeDetectFunc'/>
-          <ref name='xlinkSetDefaultDetect'/>
-          <ref name='xlinkSimpleLinkFunk'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlIsID'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseExternalEntity'/>
-        </word>
-        <word name='determine'>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlCharInRange'/>
-        </word>
-        <word name='determined'>
-          <ref name='xmlXPathLangFunction'/>
-        </word>
-        <word name='determinist'>
-          <ref name='xmlAutomataIsDeterminist'/>
-          <ref name='xmlRegexpIsDeterminist'/>
-        </word>
-        <word name='dict'>
-          <ref name='_xmlDoc'/>
-        </word>
-        <word name='dictionaries'>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-        </word>
-        <word name='did'>
-          <ref name='XML_SCHEMAS_TYPE_BLOCK_DEFAULT'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-          <ref name='xmlTextReaderStandalone'/>
-        </word>
-        <word name='difference'>
-          <ref name='xmlXPathDifference'/>
-        </word>
-        <word name='different'>
-          <ref name='_xmlBuffer'/>
-          <ref name='xmlACatalogAdd'/>
-          <ref name='xmlBuildQName'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlChildElementCount'/>
-          <ref name='xmlFirstElementChild'/>
-          <ref name='xmlLastElementChild'/>
-          <ref name='xmlNextElementSibling'/>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlPreviousElementSibling'/>
-          <ref name='xmlStrEqual'/>
-          <ref name='xmlStrQEqual'/>
-        </word>
-        <word name='differentiate'>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='differently'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='differs'>
-          <ref name='xmlBufShrink'/>
-          <ref name='xmlNewEntity'/>
-        </word>
-        <word name='digit'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='digits'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='dir'>
-          <ref name='xmlShellDir'/>
-        </word>
-        <word name='direct'>
-          <ref name='htmlElementAllowedHere'/>
-          <ref name='htmlElementAllowedHereDesc'/>
-          <ref name='htmlElementStatusHere'/>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlURIUnescapeString'/>
-        </word>
-        <word name='direction'>
-          <ref name='xmlXPathNextAncestor'/>
-          <ref name='xmlXPathNextAncestorOrSelf'/>
-          <ref name='xmlXPathNextAttribute'/>
-          <ref name='xmlXPathNextChild'/>
-          <ref name='xmlXPathNextDescendant'/>
-          <ref name='xmlXPathNextDescendantOrSelf'/>
-          <ref name='xmlXPathNextFollowing'/>
-          <ref name='xmlXPathNextFollowingSibling'/>
-          <ref name='xmlXPathNextNamespace'/>
-          <ref name='xmlXPathNextParent'/>
-          <ref name='xmlXPathNextPreceding'/>
-          <ref name='xmlXPathNextPrecedingSibling'/>
-          <ref name='xmlXPathNextSelf'/>
-        </word>
-        <word name='directly'>
-          <ref name='xmlBufGetNodeContent'/>
-          <ref name='xmlNodeBufGetContent'/>
-          <ref name='xmlNodeGetContent'/>
-          <ref name='xmlNormalizeURIPath'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseElementContentDecl'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlXPathConvertBoolean'/>
-          <ref name='xmlXPathConvertNumber'/>
-          <ref name='xmlXPathConvertString'/>
-          <ref name='xmlXPtrNewContext'/>
-        </word>
-        <word name='directories'>
-          <ref name='xmlLoadCatalogs'/>
-        </word>
-        <word name='directory'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlCheckFilename'/>
-          <ref name='xmlNanoFTPCwd'/>
-          <ref name='xmlNanoFTPDele'/>
-          <ref name='xmlParserGetDirectory'/>
-          <ref name='xmlShellList'/>
-        </word>
-        <word name='disable'>
-          <ref name='xmlCatalogSetDebug'/>
-          <ref name='xmlSchemaValidateSetLocator'/>
-        </word>
-        <word name='disabled'>
-          <ref name='LIBXML_EXPR_ENABLED'/>
-          <ref name='XML_CAST_FPTR'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlParseURIRaw'/>
-        </word>
-        <word name='disables'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='disabling'>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-        </word>
-        <word name='disallowed'>
-          <ref name='XML_SCHEMAS_ELEM_BLOCK_EXTENSION'/>
-          <ref name='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION'/>
-        </word>
-        <word name='discard'>
-          <ref name='xmlUnlinkNode'/>
-        </word>
-        <word name='discarded'>
-          <ref name='xmlDeregisterNodeFunc'/>
-        </word>
-        <word name='discarding'>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-        </word>
-        <word name='disconnected'>
-          <ref name='xmlAutomataNewState'/>
-        </word>
-        <word name='discovering'>
-          <ref name='xmlSwitchEncoding'/>
-          <ref name='xmlSwitchInputEncoding'/>
-          <ref name='xmlSwitchToEncoding'/>
-        </word>
-        <word name='display'>
-          <ref name='errorSAXFunc'/>
-          <ref name='fatalErrorSAXFunc'/>
-          <ref name='warningSAXFunc'/>
-          <ref name='xmlMemShow'/>
-          <ref name='xmlParserError'/>
-          <ref name='xmlParserValidityError'/>
-          <ref name='xmlParserValidityWarning'/>
-          <ref name='xmlParserWarning'/>
-        </word>
-        <word name='distinct'>
-          <ref name='xmlXPathDistinct'/>
-          <ref name='xmlXPathDistinctSorted'/>
-        </word>
-        <word name='distinguish'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='div'>
-          <ref name='xmlXPathDivValues'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='doc'>
-          <ref name='htmlNodeDumpFileFormat'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-          <ref name='xmlNewTextWriterDoc'/>
-        </word>
-        <word name='doc-'>
-          <ref name='xmlDOMWrapRemoveNode'/>
-          <ref name='xmlDocGetRootElement'/>
-          <ref name='xmlDocSetRootElement'/>
-          <ref name='xmlNewTextWriterTree'/>
-          <ref name='xmlNodeGetBase'/>
-        </word>
-        <word name='docs'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='doctypedecl'>
-          <ref name='xmlParseDocTypeDecl'/>
-          <ref name='xmlParseDocument'/>
-        </word>
-        <word name='documents'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlIsID'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='doesn'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='htmlElementAllowedHere'/>
-          <ref name='xmlBufferDetach'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCreateEntitiesTable'/>
-          <ref name='xmlFreeNode'/>
-          <ref name='xmlGetThreadId'/>
-          <ref name='xmlInitCharEncodingHandlers'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlPatternMatch'/>
-          <ref name='xmlRemoveProp'/>
-          <ref name='xmlSplitQName2'/>
-          <ref name='xmlUTF8Strlen'/>
-          <ref name='xmlValidateRoot'/>
-          <ref name='xmlXPathLeading'/>
-          <ref name='xmlXPathLeadingSorted'/>
-          <ref name='xmlXPathNodeLeading'/>
-          <ref name='xmlXPathNodeLeadingSorted'/>
-          <ref name='xmlXPathNodeTrailing'/>
-          <ref name='xmlXPathNodeTrailingSorted'/>
-          <ref name='xmlXPathTrailing'/>
-          <ref name='xmlXPathTrailingSorted'/>
-        </word>
-        <word name='doing'>
-          <ref name='xmlOutputBufferCreateFilenameFunc'/>
-          <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-          <ref name='xmlRegExecCallbacks'/>
-        </word>
-        <word name='don'>
-          <ref name='XML_SCHEMAS_ANY_LAX'/>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlChildElementCount'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlFirstElementChild'/>
-          <ref name='xmlLastElementChild'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNextElementSibling'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlPreviousElementSibling'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlXPathFreeNodeSetList'/>
-          <ref name='xmlXPathNodeSetFreeNs'/>
-        </word>
-        <word name='dotgnu'>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-        <word name='double'>
-          <ref name='val'/>
-          <ref name='xmlBufferWriteQuotedString'/>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-          <ref name='xmlXPathIsInf'/>
-          <ref name='xmlXPathIsNaN'/>
-          <ref name='xmlXPathNewFloat'/>
-          <ref name='xmlXPathNodeSetCreate'/>
-          <ref name='xmlXPathReturnNumber'/>
-          <ref name='xmlXPathStringEvalNumber'/>
-          <ref name='xmlXPtrLocationSetCreate'/>
-        </word>
-        <word name='double-hyphen'>
-          <ref name='xmlParseComment'/>
-        </word>
-        <word name='double-quotes'>
-          <ref name='xmlBufferWriteQuotedString'/>
-        </word>
-        <word name='doubleit'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-        </word>
-        <word name='doublequotes'>
-          <ref name='xmlParseQuotedString'/>
-        </word>
-        <word name='doubt'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='down'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-        </word>
-        <word name='draft'>
-          <ref name='XINCLUDE_OLD_NS'/>
-        </word>
-        <word name='drop'>
-          <ref name='xmlFileRead'/>
-          <ref name='xmlIOFTPRead'/>
-          <ref name='xmlIOHTTPRead'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlParseQuotedString'/>
-          <ref name='xmlXPtrBuildNodeList'/>
-        </word>
-        <word name='dtd'>
-          <ref name='getSystemId'/>
-          <ref name='htmlNewDoc'/>
-          <ref name='htmlNewDocNoDtD'/>
-          <ref name='xmlCopyDtd'/>
-          <ref name='xmlSAX2GetSystemId'/>
-          <ref name='xmlValidateDtd'/>
-        </word>
-        <word name='dtds'>
-          <ref name='getSystemId'/>
-          <ref name='xmlSAX2GetSystemId'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='due'>
-          <ref name='xmlBufShrink'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-        </word>
-        <word name='dump'>
-          <ref name='xmlBufShrink'/>
-          <ref name='xmlBufferAdd'/>
-          <ref name='xmlBufferCCat'/>
-          <ref name='xmlBufferDump'/>
-          <ref name='xmlBufferShrink'/>
-          <ref name='xmlDumpAttributeDecl'/>
-          <ref name='xmlDumpAttributeTable'/>
-          <ref name='xmlDumpElementDecl'/>
-          <ref name='xmlDumpElementTable'/>
-          <ref name='xmlDumpEntitiesTable'/>
-          <ref name='xmlDumpEntityDecl'/>
-          <ref name='xmlDumpNotationDecl'/>
-          <ref name='xmlDumpNotationTable'/>
-          <ref name='xmlLsOneNode'/>
-          <ref name='xmlMemDisplayLast'/>
-          <ref name='xmlMemShow'/>
-          <ref name='xmlSnprintfElementContent'/>
-          <ref name='xmlXPathDebugDumpObject'/>
-        </word>
-        <word name='dumping'>
-          <ref name='xmlMemDisplayLast'/>
-        </word>
-        <word name='dumps'>
-          <ref name='xmlShellBase'/>
-          <ref name='xmlShellCat'/>
-          <ref name='xmlShellDir'/>
-        </word>
-        <word name='duplicate'>
-          <ref name='xmlCanonicPath'/>
-          <ref name='xmlPathToURI'/>
-        </word>
-        <word name='duplicated'>
-          <ref name='xmlRelaxNGNewDocParserCtxt'/>
-          <ref name='xmlXPathNodeSetFreeNs'/>
-        </word>
-        <word name='duplicates'>
-          <ref name='xmlSchemaCopyValue'/>
-        </word>
-        <word name='duration'>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='during'>
-          <ref name='xmlSAXDefaultVersion'/>
-          <ref name='xmlSchemaIsValid'/>
-          <ref name='xmlSchemaNewDocParserCtxt'/>
-          <ref name='xmlSchemaSetValidOptions'/>
-          <ref name='xmlSchematronNewDocParserCtxt'/>
-        </word>
-        <word name='dynamic'>
-          <ref name='LIBXML_MODULE_EXTENSION'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk14'>
-      <letter name='e'>
-        <word name='each'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlHashCopy'/>
-          <ref name='xmlHashScan'/>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull'/>
-          <ref name='xmlHashScanFull3'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlXPathIdFunction'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='edition'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='effect'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='effective'>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadCatalogs'/>
-        </word>
-        <word name='efficiency'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='either'>
-          <ref name='xmlBoolToText'/>
-          <ref name='xmlBufGetNodeContent'/>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlNodeBufGetContent'/>
-          <ref name='xmlNodeGetContent'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
-        <word name='either:'>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-        </word>
-        <word name='elem'>
-          <ref name='XML_SCHEMAS_ELEM_INTERNAL_CHECKED'/>
-        </word>
-        <word name='elem-'>
-          <ref name='_xmlDOMWrapCtxt'/>
-        </word>
-        <word name='element-'>
-          <ref name='xmlStreamPushNode'/>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='element-node'>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlStreamPush'/>
-        </word>
-        <word name='element-nodes'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-        </word>
-        <word name='elementFormDefault'>
-          <ref name='XML_SCHEMAS_QUALIF_ELEM'/>
-        </word>
-        <word name='elementdecl'>
-          <ref name='xmlParseElementDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='elements'>
-          <ref name='XML_CATALOGS_NAMESPACE'/>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='XML_SCHEMAS_ATTR_GLOBAL'/>
-          <ref name='XML_SCHEMAS_ATTR_NSDEFAULT'/>
-          <ref name='XML_SCHEMAS_ELEM_NSDEFAULT'/>
-          <ref name='_xmlDtd'/>
-          <ref name='htmlElementAllowedHere'/>
-          <ref name='htmlNodeStatus'/>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlDictSize'/>
-          <ref name='xmlFreePatternList'/>
-          <ref name='xmlHashSize'/>
-          <ref name='xmlLineNumbersDefault'/>
-          <ref name='xmlListMerge'/>
-          <ref name='xmlListReverse'/>
-          <ref name='xmlListSize'/>
-          <ref name='xmlListSort'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlShellPwd'/>
-          <ref name='xmlTextWriterEndDocument'/>
-          <ref name='xmlXPathIdFunction'/>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='else'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='isolat1ToUTF8'/>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-        </word>
-        <word name='embedded'>
-          <ref name='XML_CTXT_FINISH_DTD_0'/>
-          <ref name='XML_CTXT_FINISH_DTD_1'/>
-        </word>
-        <word name='emitted'>
-          <ref name='xmlSetGenericErrorFunc'/>
-        </word>
-        <word name='empty-element'>
-          <ref name='xmlParseStartTag'/>
-        </word>
-        <word name='enable'>
-          <ref name='xmlCatalogSetDebug'/>
-        </word>
-        <word name='enabled'>
-          <ref name='xmlSaveFile'/>
-          <ref name='xmlSaveFormatFile'/>
-        </word>
-        <word name='enables'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='enabling'>
-          <ref name='xmlLineNumbersDefault'/>
-          <ref name='xmlPedanticParserDefault'/>
-        </word>
-        <word name='enc'>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-        </word>
-        <word name='encapsulate'>
-          <ref name='xmlBufferFree'/>
-        </word>
-        <word name='encapsulating'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlNewIOInputStream'/>
-        </word>
-        <word name='enclose'>
-          <ref name='xmlTextReaderQuoteChar'/>
-        </word>
-        <word name='encode'>
-          <ref name='xmlTextWriterWriteBase64'/>
-          <ref name='xmlTextWriterWriteBinHex'/>
-        </word>
-        <word name='encoded'>
-          <ref name='_xmlOutputBuffer'/>
-          <ref name='_xmlParserInput'/>
-          <ref name='_xmlParserInputBuffer'/>
-          <ref name='xmlCheckUTF8'/>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlSplitQName'/>
-          <ref name='xmlStrcat'/>
-          <ref name='xmlStrdup'/>
-          <ref name='xmlTextWriterWriteBase64'/>
-          <ref name='xmlTextWriterWriteBinHex'/>
-          <ref name='xmlUTF8Strlen'/>
-          <ref name='xmlUTF8Strsize'/>
-          <ref name='xmlUTF8Strsub'/>
-        </word>
-        <word name='encoder'>
-          <ref name='_xmlOutputBuffer'/>
-          <ref name='_xmlParserInputBuffer'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-        </word>
-        <word name='encoder==NULL'>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='encountered'>
-          <ref name='xmlEncodeEntities'/>
-        </word>
-        <word name='encountering'>
-          <ref name='XML_CAST_FPTR'/>
-        </word>
-        <word name='end-tag'>
-          <ref name='xmlParseElement'/>
-        </word>
-        <word name='end-up'>
-          <ref name='xmlParseReference'/>
-        </word>
-        <word name='ended'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='ending'>
-          <ref name='xmlXPtrNewCollapsedRange'/>
-          <ref name='xmlXPtrNewRange'/>
-          <ref name='xmlXPtrNewRangeNodeObject'/>
-          <ref name='xmlXPtrNewRangeNodePoint'/>
-          <ref name='xmlXPtrNewRangeNodes'/>
-          <ref name='xmlXPtrNewRangePointNode'/>
-          <ref name='xmlXPtrNewRangePoints'/>
-        </word>
-        <word name='ends'>
-          <ref name='_xmlParserNodeInfo'/>
-          <ref name='xmlNanoHTTPClose'/>
-        </word>
-        <word name='enforced'>
-          <ref name='XML_MAX_LOOKUP_LIMIT'/>
-        </word>
-        <word name='engine'>
-          <ref name='xmlXPathAxisFunc'/>
-          <ref name='xmlXPathFuncLookupFunc'/>
-          <ref name='xmlXPathVariableLookupFunc'/>
-        </word>
-        <word name='englobing'>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlExpSubsume'/>
-          <ref name='xmlSnprintfElementContent'/>
-          <ref name='xmlSprintfElementContent'/>
-        </word>
-        <word name='enhancements'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='enough'>
-          <ref name='xmlBuildQName'/>
-        </word>
-        <word name='ensure'>
-          <ref name='xmlCopyNodeList'/>
-          <ref name='xmlNewTextChild'/>
-        </word>
-        <word name='ensures'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-        </word>
-        <word name='ensuring'>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='entire'>
-          <ref name='xmlCleanupInputCallbacks'/>
-          <ref name='xmlCleanupOutputCallbacks'/>
-        </word>
-        <word name='entities:'>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParserHandleReference'/>
-        </word>
-        <word name='entproc'>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-        </word>
-        <word name='entries'>
-          <ref name='xmlACatalogAdd'/>
-          <ref name='xmlACatalogRemove'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlCatalogConvert'/>
-          <ref name='xmlCatalogRemove'/>
-          <ref name='xmlConvertSGMLCatalog'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlHashAddEntry3'/>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-          <ref name='xmlMemShow'/>
-        </word>
-        <word name='entry'>
-          <ref name='xmlACatalogAdd'/>
-          <ref name='xmlACatalogRemove'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlCatalogAddLocal'/>
-          <ref name='xmlCatalogRemove'/>
-          <ref name='xmlHashDefaultDeallocator'/>
-          <ref name='xmlHashUpdateEntry'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-          <ref name='xmlXPathNodeSetRemove'/>
-          <ref name='xmlXPtrLocationSetRemove'/>
-        </word>
-        <word name='enumerated'>
-          <ref name='attributeDecl'/>
-          <ref name='attributeDeclSAXFunc'/>
-          <ref name='xmlSAX2AttributeDecl'/>
-        </word>
-        <word name='enumeration'>
-          <ref name='_xmlAttribute'/>
-          <ref name='xmlAddAttributeDecl'/>
-          <ref name='xmlCopyEnumeration'/>
-          <ref name='xmlCreateEnumeration'/>
-          <ref name='xmlFreeEnumeration'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseEnumeratedType'/>
-          <ref name='xmlParseEnumerationType'/>
-        </word>
-        <word name='environment'>
-          <ref name='xmlNanoFTPProxy'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlShell'/>
-          <ref name='xmlXPathInit'/>
-        </word>
-        <word name='epsilon'>
-          <ref name='xmlAutomataNewAllTrans'/>
-          <ref name='xmlAutomataNewCountedTrans'/>
-          <ref name='xmlAutomataNewCounterTrans'/>
-          <ref name='xmlAutomataNewEpsilon'/>
-        </word>
-        <word name='equal'>
-          <ref name='xmlAddChild'/>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlStrEqual'/>
-          <ref name='xmlStrQEqual'/>
-          <ref name='xmlTextReaderConstName'/>
-          <ref name='xmlTextReaderName'/>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathEqualValues'/>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-          <ref name='xmlXPathIdFunction'/>
-          <ref name='xmlXPathNotEqualValues'/>
-          <ref name='xmlXPathPositionFunction'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='equality'>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlListDataCompare'/>
-        </word>
-        <word name='equivalent'>
-          <ref name='xmlMallocAtomicLoc'/>
-          <ref name='xmlMallocLoc'/>
-          <ref name='xmlMemFree'/>
-          <ref name='xmlMemMalloc'/>
-          <ref name='xmlMemRealloc'/>
-          <ref name='xmlMemStrdupLoc'/>
-          <ref name='xmlMemoryStrdup'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlReallocLoc'/>
-          <ref name='xmlUTF8Strpos'/>
-          <ref name='xmlXPathCastToString'/>
-          <ref name='xmlXPathConvertBoolean'/>
-          <ref name='xmlXPathConvertNumber'/>
-          <ref name='xmlXPathConvertString'/>
-        </word>
-        <word name='escape'>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='xmlURIEscape'/>
-          <ref name='xmlURIEscapeStr'/>
-        </word>
-        <word name='escaped'>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-          <ref name='xmlParseCDSect'/>
-          <ref name='xmlParseCharData'/>
-          <ref name='xmlSaveUri'/>
-          <ref name='xmlURIEscape'/>
-          <ref name='xmlURIEscapeStr'/>
-        </word>
-        <word name='escapes'>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlURIEscapeStr'/>
-        </word>
-        <word name='escaping'>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlSaveSetAttrEscape'/>
-          <ref name='xmlSaveSetEscape'/>
-        </word>
-        <word name='especially'>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='established'>
-          <ref name='xmlNanoFTPUpdateURL'/>
-        </word>
-        <word name='etc'>
-          <ref name='_xmlSchemaFacet'/>
-          <ref name='xmlDocGetRootElement'/>
-          <ref name='xmlDocSetRootElement'/>
-          <ref name='xmlParseInNodeContext'/>
-        </word>
-        <word name='evaluate'>
-          <ref name='xmlXPathEvalExpr'/>
-        </word>
-        <word name='evaluated'>
-          <ref name='xmlXPathCompiledEvalToBoolean'/>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-          <ref name='xmlXPtrNewContext'/>
-        </word>
-        <word name='evaluating'>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-        </word>
-        <word name='evaluation'>
-          <ref name='_xmlXPathFunct'/>
-          <ref name='_xmlXPathParserContext'/>
-          <ref name='valuePop'/>
-          <ref name='valuePush'/>
-          <ref name='xmlRegFreeExecCtxt'/>
-          <ref name='xmlRegNewExecCtxt'/>
-          <ref name='xmlShellPrintXPathResult'/>
-          <ref name='xmlXPathCompiledEval'/>
-          <ref name='xmlXPathEval'/>
-          <ref name='xmlXPathEvalExpression'/>
-          <ref name='xmlXPathEvalFunc'/>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-          <ref name='xmlXPathNodeEval'/>
-          <ref name='xmlXPtrBuildNodeList'/>
-          <ref name='xmlXPtrEval'/>
-        </word>
-        <word name='even'>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlExpNewSeq'/>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlTextWriterFullEndElement'/>
-        </word>
-        <word name='event'>
-          <ref name='xmlSchemaSAXPlug'/>
-          <ref name='xmlSchemaSAXUnplug'/>
-          <ref name='xmlSchemaValidateStream'/>
-        </word>
-        <word name='events'>
-          <ref name='htmlSAXParseDoc'/>
-          <ref name='xmlSchemaValidateStream'/>
-        </word>
-        <word name='ever'>
-          <ref name='xmlExpCtxtNbCons'/>
-        </word>
-        <word name='everywhere'>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-        </word>
-        <word name='exact'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-        </word>
-        <word name='examined'>
-          <ref name='xmlHasFeature'/>
-        </word>
-        <word name='example'>
-          <ref name='xmlParserInputBufferCreateStatic'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlTextReaderConstString'/>
-          <ref name='xmlXPathSubstringAfterFunction'/>
-          <ref name='xmlXPathSubstringBeforeFunction'/>
-          <ref name='xmlXPathSubstringFunction'/>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='examples'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='except'>
-          <ref name='xmlAutomataNewNegTrans'/>
-          <ref name='xmlGetNoNsProp'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseCatalogFile'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParserHandleReference'/>
-        </word>
-        <word name='exception'>
-          <ref name='xmlURIEscapeStr'/>
-        </word>
-        <word name='excluding'>
-          <ref name='IS_CHAR'/>
-          <ref name='xmlXPathNextFollowing'/>
-          <ref name='xmlXPathNextPreceding'/>
-        </word>
-        <word name='exclusions'>
-          <ref name='XML_SCHEMAS_ELEM_FINAL_ABSENT'/>
-        </word>
-        <word name='exclusions:'>
-          <ref name='XML_SCHEMAS_ELEM_FINAL_EXTENSION'/>
-          <ref name='XML_SCHEMAS_ELEM_FINAL_RESTRICTION'/>
-        </word>
-        <word name='exclusive'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='executed'>
-          <ref name='xmlAutomataCompile'/>
-        </word>
-        <word name='execution'>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlRegExecPushString'/>
-          <ref name='xmlRegExecPushString2'/>
-        </word>
-        <word name='exist'>
-          <ref name='xmlHasFeature'/>
-          <ref name='xmlXPtrLocationSetAdd'/>
-        </word>
-        <word name='existent'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-        </word>
-        <word name='exists'>
-          <ref name='xmlDictExists'/>
-          <ref name='xmlShellPwd'/>
-          <ref name='xmlTextReaderConstXmlLang'/>
-          <ref name='xmlTextReaderXmlLang'/>
-          <ref name='xmlValidateNotationDecl'/>
-        </word>
-        <word name='exit'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='expand'>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-        </word>
-        <word name='expanded'>
-          <ref name='xmlRelaxNGValidateFullElement'/>
-          <ref name='xmlSchemaNewStringValue'/>
-          <ref name='xmlXPathNamespaceURIFunction'/>
-        </word>
-        <word name='expected'>
-          <ref name='x'/>
-          <ref name='xmlBufferCreateStatic'/>
-          <ref name='xmlParserInputBufferCreateStatic'/>
-          <ref name='xmlRelaxNGNewMemParserCtxt'/>
-          <ref name='xmlRelaxNGNewParserCtxt'/>
-          <ref name='xmlSchemaNewMemParserCtxt'/>
-          <ref name='xmlSchemaNewParserCtxt'/>
-          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-          <ref name='xmlSchematronNewMemParserCtxt'/>
-          <ref name='xmlSchematronNewParserCtxt'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='explicitly'>
-          <ref name='xmlSAXDefaultVersion'/>
-        </word>
-        <word name='explored'>
-          <ref name='xmlXPathAxisFunc'/>
-        </word>
-        <word name='exportable'>
-          <ref name='XMLPUBFUN'/>
-          <ref name='XMLPUBVAR'/>
-        </word>
-        <word name='exported'>
-          <ref name='XMLCALL'/>
-          <ref name='XMLCDECL'/>
-        </word>
-        <word name='exposing'>
-          <ref name='xmlTextReaderRead'/>
-        </word>
-        <word name='express'>
-          <ref name='LIBXML2_NEW_BUFFER'/>
-        </word>
-        <word name='expressing'>
-          <ref name='xmlPathToURI'/>
-        </word>
-        <word name='expressions'>
-          <ref name='LIBXML_EXPR_ENABLED'/>
-          <ref name='LIBXML_REGEXP_ENABLED'/>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlExpNewCtxt'/>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlExpSubsume'/>
-        </word>
-        <word name='exslSetsDistinctSorted'>
-          <ref name='xmlXPathDistinct'/>
-        </word>
-        <word name='exslSetsLeadingSorted'>
-          <ref name='xmlXPathLeading'/>
-        </word>
-        <word name='exslSetsNodeLeadingSorted'>
-          <ref name='xmlXPathNodeLeading'/>
-        </word>
-        <word name='ext'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='extParsedEnt'>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseEntity'/>
-          <ref name='xmlParseExtParsedEnt'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlSAXParseEntity'/>
-        </word>
-        <word name='extSubset'>
-          <ref name='xmlParseExternalSubset'/>
-        </word>
-        <word name='extSubsetDecl'>
-          <ref name='xmlParseExternalSubset'/>
-        </word>
-        <word name='extend'>
-          <ref name='xmlStrncat'/>
-          <ref name='xmlValidGetPotentialChildren'/>
-        </word>
-        <word name='extended'>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xlinkExtendedLinkSetFunk'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlXPathNodeSetMerge'/>
-          <ref name='xmlXPtrLocationSetMerge'/>
-        </word>
-        <word name='extension'>
-          <ref name='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION'/>
-          <ref name='XML_SCHEMAS_ELEM_FINAL_EXTENSION'/>
-          <ref name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION'/>
-          <ref name='XML_SCHEMAS_TYPE_BLOCK_EXTENSION'/>
-          <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='extensions'>
-          <ref name='_xmlSAXHandler'/>
-        </word>
-        <word name='extent'>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-        </word>
-        <word name='extlang'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='extract'>
-          <ref name='XML_GET_CONTENT'/>
-          <ref name='XML_GET_LINE'/>
-          <ref name='xmlBufContent'/>
-          <ref name='xmlBufEnd'/>
-          <ref name='xmlBufferContent'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk15'>
-      <letter name='f'>
-        <word name='fTP'>
-          <ref name='xmlNanoFTPConnectTo'/>
-        </word>
-        <word name='face'>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-        </word>
-        <word name='facet'>
-          <ref name='XML_SCHEMAS_FACET_COLLAPSE'/>
-          <ref name='XML_SCHEMAS_FACET_PRESERVE'/>
-          <ref name='XML_SCHEMAS_FACET_REPLACE'/>
-          <ref name='XML_SCHEMAS_FACET_UNKNOWN'/>
-          <ref name='_xmlSchemaFacetLink'/>
-          <ref name='xmlSchemaCheckFacet'/>
-          <ref name='xmlSchemaFreeFacet'/>
-          <ref name='xmlSchemaGetFacetValueAsULong'/>
-          <ref name='xmlSchemaIsBuiltInTypeFacet'/>
-          <ref name='xmlSchemaValidateFacet'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-        </word>
-        <word name='facets'>
-          <ref name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
-          <ref name='XML_SCHEMAS_TYPE_HAS_FACETS'/>
-          <ref name='XML_SCHEMAS_TYPE_NORMVALUENEEDED'/>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xmlSchemaCheckFacet'/>
-        </word>
-        <word name='facility'>
-          <ref name='xmlExpCtxtNbCons'/>
-          <ref name='xmlExpCtxtNbNodes'/>
-        </word>
-        <word name='fail'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlShellPrintXPathError'/>
-        </word>
-        <word name='failed'>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlNanoFTPConnectTo'/>
-          <ref name='xmlNanoFTPCwd'/>
-          <ref name='xmlNanoFTPDele'/>
-          <ref name='xmlRemoveID'/>
-          <ref name='xmlRemoveRef'/>
-          <ref name='xmlShellLoad'/>
-          <ref name='xmlXIncludeProcess'/>
-          <ref name='xmlXIncludeProcessFlags'/>
-          <ref name='xmlXIncludeProcessFlagsData'/>
-          <ref name='xmlXIncludeProcessNode'/>
-          <ref name='xmlXIncludeProcessTree'/>
-          <ref name='xmlXIncludeProcessTreeFlags'/>
-          <ref name='xmlXIncludeProcessTreeFlagsData'/>
-          <ref name='xmlXPathCompareValues'/>
-        </word>
-        <word name='fails'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='_htmlElemDesc'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='xmlCanonicPath'/>
-          <ref name='xmlCharEncFirstLine'/>
-          <ref name='xmlCharEncInFunc'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlCheckFilename'/>
-          <ref name='xmlFileOpen'/>
-          <ref name='xmlPathToURI'/>
-        </word>
-        <word name='fallback'>
-          <ref name='XINCLUDE_FALLBACK'/>
-          <ref name='docbSAXParseDoc'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='htmlSAXParseDoc'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlFileOpen'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseEntity'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-        </word>
-        <word name='far'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='fatalErrorSAXFunc'/>
-          <ref name='xmlSchemaIsValid'/>
-        </word>
-        <word name='fashion'>
-          <ref name='xmlNewRMutex'/>
-        </word>
-        <word name='faster'>
-          <ref name='htmlNodeStatus'/>
-          <ref name='xmlStrEqual'/>
-        </word>
-        <word name='fatal'>
-          <ref name='fatalErrorSAXFunc'/>
-        </word>
-        <word name='fatalError'>
-          <ref name='fatalErrorSAXFunc'/>
-        </word>
-        <word name='favor'>
-          <ref name='xmlNewElementContent'/>
-        </word>
-        <word name='feature'>
-          <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-          <ref name='xmlGetFeature'/>
-          <ref name='xmlGetFeaturesList'/>
-          <ref name='xmlHasFeature'/>
-          <ref name='xmlSetFeature'/>
-        </word>
-        <word name='features'>
-          <ref name='xmlGetFeaturesList'/>
-        </word>
-        <word name='fed'>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlNewTextReader'/>
-          <ref name='xmlNewTextReaderFilename'/>
-          <ref name='xmlStreamPushNode'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-        </word>
-        <word name='feed'>
-          <ref name='xmlTextReaderSetup'/>
-        </word>
-        <word name='fetch'>
-          <ref name='xmlNanoFTPGetSocket'/>
-          <ref name='xmlNanoFTPOpen'/>
-          <ref name='xmlNanoHTTPFetch'/>
-        </word>
-        <word name='fetching'>
-          <ref name='docbCreatePushParserCtxt'/>
-          <ref name='htmlCreatePushParserCtxt'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlUTF8Strpos'/>
-        </word>
-        <word name='field'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='XML_CTXT_FINISH_DTD_0'/>
-          <ref name='XML_CTXT_FINISH_DTD_1'/>
-          <ref name='XML_DETECT_IDS'/>
-          <ref name='XML_SKIP_IDS'/>
-          <ref name='_xmlError'/>
-          <ref name='xmlParseMisc'/>
-          <ref name='xmlXIncludeProcessFlagsData'/>
-          <ref name='xmlXIncludeProcessTreeFlagsData'/>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='fields'>
-          <ref name='XML_SAX2_MAGIC'/>
-          <ref name='_htmlElemDesc'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlSAXHandler'/>
-          <ref name='xmlParseURIReference'/>
-        </word>
-        <word name='files'>
-          <ref name='xmlNanoFTPList'/>
-        </word>
-        <word name='filesystem'>
-          <ref name='htmlCtxtReadFile'/>
-          <ref name='htmlReadFile'/>
-          <ref name='xmlCanonicPath'/>
-          <ref name='xmlCtxtReadFile'/>
-          <ref name='xmlPathToURI'/>
-          <ref name='xmlReadFile'/>
-          <ref name='xmlReaderForFile'/>
-          <ref name='xmlReaderNewFile'/>
-        </word>
-        <word name='filled'>
-          <ref name='xmlGetFeaturesList'/>
-        </word>
-        <word name='fills'>
-          <ref name='xmlParseURIReference'/>
-        </word>
-        <word name='filters'>
-          <ref name='xmlParseEncodingDecl'/>
-        </word>
-        <word name='final'>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_DEFAULT'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_LIST'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_UNION'/>
-          <ref name='xmlAutomataSetFinalState'/>
-          <ref name='xmlBuildURI'/>
-          <ref name='xmlRegExecPushString'/>
-          <ref name='xmlRegExecPushString2'/>
-          <ref name='xmlValidateDocumentFinal'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='finalDefault'>
-          <ref name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION'/>
-          <ref name='XML_SCHEMAS_FINAL_DEFAULT_LIST'/>
-          <ref name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_FINAL_DEFAULT_UNION'/>
-        </word>
-        <word name='find'>
-          <ref name='xmlGetThreadId'/>
-          <ref name='xmlIsXHTML'/>
-          <ref name='xmlSchemaValidityLocatorFunc'/>
-        </word>
-        <word name='finding'>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-        </word>
-        <word name='finds'>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlSearchNsByHref'/>
-        </word>
-        <word name='finishDtd'>
-          <ref name='XML_CTXT_FINISH_DTD_0'/>
-          <ref name='XML_CTXT_FINISH_DTD_1'/>
-        </word>
-        <word name='finished'>
-          <ref name='_xmlValidCtxt'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlSkipBlankChars'/>
-          <ref name='xmlTextReaderCurrentDoc'/>
-          <ref name='xmlTextReaderPreserve'/>
-          <ref name='xmlTextReaderPreservePattern'/>
-        </word>
-        <word name='finishing'>
-          <ref name='xmlByteConsumed'/>
-        </word>
-        <word name='finite'>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='firs'>
-          <ref name='xmlCharEncOutFunc'/>
-        </word>
-        <word name='fist'>
-          <ref name='xmlEntityReferenceFunc'/>
-        </word>
-        <word name='fit'>
-          <ref name='xmlCharEncFirstLine'/>
-          <ref name='xmlCharEncInFunc'/>
-          <ref name='xmlCharEncOutFunc'/>
-        </word>
-        <word name='fixed'>
-          <ref name='XML_SCHEMAS_ATTR_FIXED'/>
-          <ref name='XML_SCHEMAS_ELEM_FIXED'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='fixup'>
-          <ref name='XML_SCHEMAS_TYPE_FIXUP_1'/>
-        </word>
-        <word name='flag'>
-          <ref name='XML_SCHEMAS_ELEM_CIRCULAR'/>
-          <ref name='_xmlDoc'/>
-          <ref name='htmlSetMetaEncoding'/>
-          <ref name='initxmlDefaultSAXHandler'/>
-          <ref name='xmlSAX2InitDefaultSAXHandler'/>
-          <ref name='xmlTextReaderIsValid'/>
-        </word>
-        <word name='flagged'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='htmlGetMetaEncoding'/>
-        </word>
-        <word name='flags'>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlPatterncompile'/>
-          <ref name='xmlReaderForDoc'/>
-          <ref name='xmlReaderForFd'/>
-          <ref name='xmlReaderForFile'/>
-          <ref name='xmlReaderForIO'/>
-          <ref name='xmlReaderForMemory'/>
-          <ref name='xmlReaderNewDoc'/>
-          <ref name='xmlReaderNewFd'/>
-          <ref name='xmlReaderNewFile'/>
-          <ref name='xmlReaderNewIO'/>
-          <ref name='xmlReaderNewMemory'/>
-          <ref name='xmlRelaxParserSetFlag'/>
-          <ref name='xmlXIncludeSetFlags'/>
-        </word>
-        <word name='flat'>
-          <ref name='xmlStringGetNodeList'/>
-          <ref name='xmlStringLenGetNodeList'/>
-        </word>
-        <word name='floor'>
-          <ref name='xmlXPathFloorFunction'/>
-        </word>
-        <word name='flow'>
-          <ref name='xmlScanName'/>
-          <ref name='xmlSchemaSAXPlug'/>
-          <ref name='xmlSchemaSAXUnplug'/>
-          <ref name='xmlSchemaValidateSetLocator'/>
-          <ref name='xmlSchemaValidateStream'/>
-        </word>
-        <word name='flushed'>
-          <ref name='xmlTextWriterEndDocument'/>
-        </word>
-        <word name='flushes'>
-          <ref name='xmlOutputBufferClose'/>
-          <ref name='xmlOutputBufferFlush'/>
-        </word>
-        <word name='follow'>
-          <ref name='xmlAutomataNewNegTrans'/>
-          <ref name='xmlXPathNodeTrailing'/>
-          <ref name='xmlXPathNodeTrailingSorted'/>
-          <ref name='xmlXPathSubstringFunction'/>
-          <ref name='xmlXPathTrailing'/>
-          <ref name='xmlXPathTrailingSorted'/>
-        </word>
-        <word name='followed'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='following-sibling'>
-          <ref name='xmlXPathNextFollowingSibling'/>
-        </word>
-        <word name='follows'>
-          <ref name='xmlXPathStringFunction'/>
-          <ref name='xmlXPathSubstringAfterFunction'/>
-        </word>
-        <word name='follows:'>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlXPathBooleanFunction'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='for:'>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='forbid'>
-          <ref name='XML_XPATH_NOVAR'/>
-        </word>
-        <word name='force'>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-        </word>
-        <word name='forced'>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='form'>
-          <ref name='docbParseDoc'/>
-          <ref name='docbParseFile'/>
-          <ref name='docbSAXParseDoc'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='htmlCreateFileParserCtxt'/>
-          <ref name='htmlParseDoc'/>
-          <ref name='htmlParseFile'/>
-          <ref name='htmlSAXParseDoc'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlPatterncompile'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='formal'>
-          <ref name='LIBXML_EXPR_ENABLED'/>
-        </word>
-        <word name='formatted'>
-          <ref name='xmlTextWriterWriteFormatAttribute'/>
-          <ref name='xmlTextWriterWriteFormatAttributeNS'/>
-          <ref name='xmlTextWriterWriteFormatCDATA'/>
-          <ref name='xmlTextWriterWriteFormatDTD'/>
-          <ref name='xmlTextWriterWriteFormatDTDAttlist'/>
-          <ref name='xmlTextWriterWriteFormatDTDElement'/>
-          <ref name='xmlTextWriterWriteFormatDTDInternalEntity'/>
-          <ref name='xmlTextWriterWriteFormatElement'/>
-          <ref name='xmlTextWriterWriteFormatElementNS'/>
-          <ref name='xmlTextWriterWriteFormatPI'/>
-          <ref name='xmlTextWriterWriteFormatRaw'/>
-          <ref name='xmlTextWriterWriteFormatString'/>
-          <ref name='xmlTextWriterWriteVFormatAttribute'/>
-          <ref name='xmlTextWriterWriteVFormatAttributeNS'/>
-          <ref name='xmlTextWriterWriteVFormatCDATA'/>
-          <ref name='xmlTextWriterWriteVFormatDTD'/>
-          <ref name='xmlTextWriterWriteVFormatDTDAttlist'/>
-          <ref name='xmlTextWriterWriteVFormatDTDElement'/>
-          <ref name='xmlTextWriterWriteVFormatDTDInternalEntity'/>
-          <ref name='xmlTextWriterWriteVFormatElement'/>
-          <ref name='xmlTextWriterWriteVFormatElementNS'/>
-          <ref name='xmlTextWriterWriteVFormatPI'/>
-          <ref name='xmlTextWriterWriteVFormatRaw'/>
-          <ref name='xmlTextWriterWriteVFormatString'/>
-        </word>
-        <word name='formatting'>
-          <ref name='htmlDocContentDumpFormatOutput'/>
-          <ref name='htmlDocDumpMemoryFormat'/>
-          <ref name='htmlNodeDump'/>
-          <ref name='htmlNodeDumpFile'/>
-          <ref name='htmlNodeDumpFileFormat'/>
-          <ref name='htmlNodeDumpFormatOutput'/>
-          <ref name='htmlNodeDumpOutput'/>
-          <ref name='htmlSaveFileEnc'/>
-          <ref name='htmlSaveFileFormat'/>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlDocDumpFormatMemory'/>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocFormatDump'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-          <ref name='xmlSaveFormatFile'/>
-          <ref name='xmlSaveFormatFileEnc'/>
-          <ref name='xmlSaveFormatFileTo'/>
-          <ref name='xmlStrPrintf'/>
-          <ref name='xmlStrVPrintf'/>
-        </word>
-        <word name='formed'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='htmlSAXParseDoc'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseExternalEntity'/>
-        </word>
-        <word name='forward'>
-          <ref name='xmlSchemaValidateStream'/>
-        </word>
-        <word name='fptr'>
-          <ref name='XML_CAST_FPTR'/>
-        </word>
-        <word name='fragment'>
-          <ref name='_xmlURI'/>
-          <ref name='xmlNewDocFragment'/>
-          <ref name='xmlParseURI'/>
-          <ref name='xmlPushInput'/>
-        </word>
-        <word name='fragments'>
-          <ref name='xmlParseURIRaw'/>
-        </word>
-        <word name='freeing'>
-          <ref name='xmlCanonicPath'/>
-          <ref name='xmlParserInputDeallocate'/>
-          <ref name='xmlPathToURI'/>
-        </word>
-        <word name='frees'>
-          <ref name='xmlBufferFree'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='front'>
-          <ref name='xmlValidateNCName'/>
-          <ref name='xmlValidateNMToken'/>
-          <ref name='xmlValidateName'/>
-          <ref name='xmlValidateQName'/>
-        </word>
-        <word name='front-end'>
-          <ref name='xmlCharEncCloseFunc'/>
-          <ref name='xmlCharEncInFunc'/>
-          <ref name='xmlCharEncOutFunc'/>
-        </word>
-        <word name='ftp:'>
-          <ref name='xmlNanoFTPOpen'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-        </word>
-        <word name='ftp_proxy'>
-          <ref name='xmlNanoFTPProxy'/>
-        </word>
-        <word name='ftp_proxy_password'>
-          <ref name='xmlNanoFTPProxy'/>
-        </word>
-        <word name='ftp_proxy_user'>
-          <ref name='xmlNanoFTPProxy'/>
-        </word>
-        <word name='full'>
-          <ref name='_xmlEntity'/>
-          <ref name='_xmlXPathParserContext'/>
-          <ref name='htmlAttrAllowed'/>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlHashScannerFull'/>
-          <ref name='xmlRelaxNGValidateFullElement'/>
-          <ref name='xmlRelaxNGValidatePushElement'/>
-          <ref name='xmlSaveDoc'/>
-          <ref name='xmlShellPwd'/>
-          <ref name='xmlSplitQName2'/>
-          <ref name='xmlSplitQName3'/>
-          <ref name='xmlTextReaderExpand'/>
-          <ref name='xmlURIUnescapeString'/>
-          <ref name='xmlUTF8Strlen'/>
-        </word>
-        <word name='fully'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlSaveDoc'/>
-          <ref name='xmlSaveTree'/>
-        </word>
-        <word name='func'>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='funcs'>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='function:'>
-          <ref name='xmlXPathDifference'/>
-          <ref name='xmlXPathDistinct'/>
-          <ref name='xmlXPathDistinctSorted'/>
-          <ref name='xmlXPathHasSameNodes'/>
-          <ref name='xmlXPathIntersection'/>
-          <ref name='xmlXPathLeading'/>
-          <ref name='xmlXPathLeadingSorted'/>
-          <ref name='xmlXPathNodeLeading'/>
-          <ref name='xmlXPathNodeLeadingSorted'/>
-          <ref name='xmlXPathNodeTrailing'/>
-          <ref name='xmlXPathNodeTrailingSorted'/>
-          <ref name='xmlXPathTrailing'/>
-          <ref name='xmlXPathTrailingSorted'/>
-        </word>
-        <word name='functionality'>
-          <ref name='xmlInputMatchCallback'/>
-          <ref name='xmlNewGlobalNs'/>
-          <ref name='xmlOutputMatchCallback'/>
-          <ref name='xmlXPathNodeSetGetLength'/>
-          <ref name='xmlXPathNodeSetItem'/>
-        </word>
-        <word name='functions'>
-          <ref name='XMLCALL'/>
-          <ref name='XMLCDECL'/>
-          <ref name='htmlCtxtReadIO'/>
-          <ref name='htmlReadIO'/>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlCtxtReadIO'/>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemGet'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlReadIO'/>
-          <ref name='xmlReaderForIO'/>
-          <ref name='xmlReaderNewIO'/>
-          <ref name='xmlRelaxNGGetValidErrors'/>
-          <ref name='xmlRelaxNGSetParserErrors'/>
-          <ref name='xmlRelaxNGSetParserStructuredErrors'/>
-          <ref name='xmlRelaxNGSetValidErrors'/>
-          <ref name='xmlRelaxNGSetValidStructuredErrors'/>
-          <ref name='xmlSchemaGetValidErrors'/>
-          <ref name='xmlSchemaSetParserErrors'/>
-          <ref name='xmlSchemaSetParserStructuredErrors'/>
-          <ref name='xmlSchemaSetValidErrors'/>
-          <ref name='xmlSchemaSetValidStructuredErrors'/>
-          <ref name='xmlSchematronSetValidStructuredErrors'/>
-          <ref name='xmlShellCmd'/>
-          <ref name='xmlSwitchEncoding'/>
-          <ref name='xmlSwitchInputEncoding'/>
-          <ref name='xmlSwitchToEncoding'/>
-          <ref name='xmlXPathRegisterAllFunctions'/>
-          <ref name='xmlXPathRegisteredFuncsCleanup'/>
-        </word>
-        <word name='further'>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlStopParser'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlXIncludeSetFlags'/>
-        </word>
-        <word name='future'>
-          <ref name='_xmlDOMWrapCtxt'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlSchemaValidateFile'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk16'>
-      <letter name='g'>
-        <word name='gDay'>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='gMonth'>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='gMonthDay'>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='gYear'>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='gYearMonth'>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='garbage'>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-        </word>
-        <word name='gcc'>
-          <ref name='XML_CAST_FPTR'/>
-        </word>
-        <word name='gcc4'>
-          <ref name='XML_CAST_FPTR'/>
-        </word>
-        <word name='genChRanges'>
-          <ref name='xmlIsBaseCharQ'/>
-          <ref name='xmlIsBaseChar_ch'/>
-          <ref name='xmlIsBlankQ'/>
-          <ref name='xmlIsBlank_ch'/>
-          <ref name='xmlIsCharQ'/>
-          <ref name='xmlIsChar_ch'/>
-          <ref name='xmlIsCombiningQ'/>
-          <ref name='xmlIsDigitQ'/>
-          <ref name='xmlIsDigit_ch'/>
-          <ref name='xmlIsExtenderQ'/>
-          <ref name='xmlIsExtender_ch'/>
-          <ref name='xmlIsIdeographicQ'/>
-          <ref name='xmlIsPubidCharQ'/>
-          <ref name='xmlIsPubidChar_ch'/>
-        </word>
-        <word name='general'>
-          <ref name='XML_SUBSTITUTE_BOTH'/>
-          <ref name='XML_SUBSTITUTE_REF'/>
-          <ref name='xmlCharEncFirstLine'/>
-          <ref name='xmlCharEncInFunc'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseExtParsedEnt'/>
-          <ref name='xmlParseExternalEntity'/>
-        </word>
-        <word name='generally'>
-          <ref name='xmlSAXDefaultVersion'/>
-        </word>
-        <word name='generate'>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocDumpMemoryEnc'/>
-          <ref name='xmlHashAddEntry'/>
-          <ref name='xmlHashAddEntry2'/>
-          <ref name='xmlHashAddEntry3'/>
-          <ref name='xmlLoadExternalEntity'/>
-          <ref name='xmlParseExternalID'/>
-        </word>
-        <word name='generated'>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocDumpMemoryEnc'/>
-          <ref name='xmlIsBaseCharQ'/>
-          <ref name='xmlIsBaseChar_ch'/>
-          <ref name='xmlIsBlankQ'/>
-          <ref name='xmlIsBlank_ch'/>
-          <ref name='xmlIsCharQ'/>
-          <ref name='xmlIsChar_ch'/>
-          <ref name='xmlIsCombiningQ'/>
-          <ref name='xmlIsDigitQ'/>
-          <ref name='xmlIsDigit_ch'/>
-          <ref name='xmlIsExtenderQ'/>
-          <ref name='xmlIsExtender_ch'/>
-          <ref name='xmlIsIdeographicQ'/>
-          <ref name='xmlIsPubidCharQ'/>
-          <ref name='xmlIsPubidChar_ch'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlShellPrintXPathResult'/>
-          <ref name='xmlTextReaderIsDefault'/>
-        </word>
-        <word name='generates'>
-          <ref name='xmlRegexpExec'/>
-        </word>
-        <word name='generating'>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocDumpMemoryEnc'/>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlRegExecErrInfo'/>
-        </word>
-        <word name='generic'>
-          <ref name='initGenericErrorDefaultFunc'/>
-          <ref name='xmlShellCmd'/>
-          <ref name='xmlShellReadlineFunc'/>
-        </word>
-        <word name='get'>
-          <ref name='_xmlSAXHandler'/>
-          <ref name='_xmlSAXHandlerV1'/>
-          <ref name='fatalErrorSAXFunc'/>
-          <ref name='xmlBufUse'/>
-          <ref name='xmlBufferLength'/>
-          <ref name='xmlCatalogGetDefaults'/>
-          <ref name='xmlGetCompressMode'/>
-          <ref name='xmlGetDocCompressMode'/>
-          <ref name='xmlGetNoNsProp'/>
-          <ref name='xmlGetNsProp'/>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlNanoFTPInit'/>
-          <ref name='xmlNewPI'/>
-          <ref name='xmlSplitQName'/>
-          <ref name='xmlSplitQName2'/>
-          <ref name='xmlTextReaderCurrentDoc'/>
-          <ref name='xmlTextReaderCurrentNode'/>
-          <ref name='xmlTextReaderGetParserProp'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-          <ref name='xmlValidateNotationDecl'/>
-        </word>
-        <word name='gie'>
-          <ref name='xmlBufferDetach'/>
-        </word>
-        <word name='gif'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='git'>
-          <ref name='LIBXML_VERSION_EXTRA'/>
-        </word>
-        <word name='give'>
-          <ref name='_xmlParserInput'/>
-          <ref name='_xmlSchema'/>
-          <ref name='xmlValidateDtd'/>
-        </word>
-        <word name='gives'>
-          <ref name='xmlParserError'/>
-          <ref name='xmlParserValidityError'/>
-          <ref name='xmlParserValidityWarning'/>
-          <ref name='xmlParserWarning'/>
-        </word>
-        <word name='giving'>
-          <ref name='xmlNewDoc'/>
-          <ref name='xmlParseVersionNum'/>
-        </word>
-        <word name='global'>
-          <ref name='XML_SCHEMAS_ELEM_GLOBAL'/>
-          <ref name='XML_SCHEMAS_TYPE_GLOBAL'/>
-          <ref name='_xmlNs'/>
-          <ref name='globalNamespace'/>
-          <ref name='xmlCatalogDump'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCtxtResetLastError'/>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-          <ref name='xmlEncodeSpecialChars'/>
-          <ref name='xmlGetGlobalState'/>
-          <ref name='xmlGetLastError'/>
-          <ref name='xmlInitializeGlobalState'/>
-          <ref name='xmlResetLastError'/>
-        </word>
-        <word name='globally'>
-          <ref name='xmlSAXDefaultVersion'/>
-        </word>
-        <word name='gnu'>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-        <word name='good'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='grafted'>
-          <ref name='xmlCopyProp'/>
-          <ref name='xmlCopyPropList'/>
-        </word>
-        <word name='grammar:'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseInNodeContext'/>
-        </word>
-        <word name='greater'>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathFloorFunction'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='greater-than'>
-          <ref name='xmlNewTextChild'/>
-        </word>
-        <word name='group'>
-          <ref name='XML_SCHEMAS_ATTRGROUP_GLOBAL'/>
-          <ref name='XML_SCHEMAS_ATTRGROUP_HAS_REFS'/>
-          <ref name='XML_SCHEMAS_ATTRGROUP_MARKED'/>
-          <ref name='XML_SCHEMAS_ATTRGROUP_REDEFINED'/>
-          <ref name='XML_SCHEMAS_ELEM_FINAL_ABSENT'/>
-          <ref name='XML_SCHEMAS_ELEM_FINAL_EXTENSION'/>
-          <ref name='XML_SCHEMAS_ELEM_FINAL_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD'/>
-          <ref name='_xmlSchemaAttributeGroup'/>
-          <ref name='_xmlSchemaElement'/>
-          <ref name='ftpListCallback'/>
-        </word>
-        <word name='groups'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-        </word>
-        <word name='grow'>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='grows'>
-          <ref name='xmlBufferWriteCHAR'/>
-          <ref name='xmlBufferWriteChar'/>
-          <ref name='xmlBufferWriteQuotedString'/>
-        </word>
-        <word name='guarantee'>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-        </word>
-        <word name='guaranteed'>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-          <ref name='xmlUTF8Strsize'/>
-        </word>
-        <word name='guess'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-      </letter>
-      <letter name='h'>
-        <word name='had'>
-          <ref name='xmlNewGlobalNs'/>
-        </word>
-        <word name='hand'>
-          <ref name='xmlLoadACatalog'/>
-        </word>
-        <word name='handled'>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlParseElementContentDecl'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlXPtrRangeToFunction'/>
-        </word>
-        <word name='handlers'>
-          <ref name='xlinkSetDefaultHandler'/>
-          <ref name='xmlCleanupCharEncodingHandlers'/>
-          <ref name='xmlRegisterDefaultInputCallbacks'/>
-          <ref name='xmlRegisterDefaultOutputCallbacks'/>
-          <ref name='xmlTextReaderSetErrorHandler'/>
-          <ref name='xmlTextReaderSetStructuredErrorHandler'/>
-        </word>
-        <word name='handles'>
-          <ref name='xmlSaveFileTo'/>
-          <ref name='xmlSaveFormatFileTo'/>
-          <ref name='xmlStructuredErrorFunc'/>
-          <ref name='xmlUnsetProp'/>
-          <ref name='xmlXPathStringEvalNumber'/>
-        </word>
-        <word name='handling'>
-          <ref name='XML_SCHEMAS_FACET_UNKNOWN'/>
-          <ref name='_xmlDoc'/>
-          <ref name='attribute'/>
-          <ref name='attributeSAXFunc'/>
-          <ref name='htmlHandleOmittedElem'/>
-          <ref name='xmlChildElementCount'/>
-          <ref name='xmlFirstElementChild'/>
-          <ref name='xmlHandleEntity'/>
-          <ref name='xmlLastElementChild'/>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlNamespaceParseNSDef'/>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlNextElementSibling'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlOutputBufferCreateFilenameDefault'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlParserInputBufferCreateFilenameDefault'/>
-          <ref name='xmlPreviousElementSibling'/>
-          <ref name='xmlRegNewExecCtxt'/>
-          <ref name='xmlRegisterInputCallbacks'/>
-          <ref name='xmlRegisterOutputCallbacks'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-          <ref name='xmlXPathPopBoolean'/>
-          <ref name='xmlXPathPopExternal'/>
-          <ref name='xmlXPathPopNodeSet'/>
-          <ref name='xmlXPathPopNumber'/>
-          <ref name='xmlXPathPopString'/>
-        </word>
-        <word name='hard'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='has-same-nodes'>
-          <ref name='xmlXPathHasSameNodes'/>
-        </word>
-        <word name='haystack'>
-          <ref name='xmlStrcasestr'/>
-          <ref name='xmlStrstr'/>
-          <ref name='xmlStrsub'/>
-        </word>
-        <word name='head'>
-          <ref name='XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD'/>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='header'>
-          <ref name='xmlNanoHTTPAuthHeader'/>
-          <ref name='xmlNanoHTTPContentLength'/>
-          <ref name='xmlNanoHTTPRedir'/>
-          <ref name='xmlParseTextDecl'/>
-          <ref name='xmlParseXMLDecl'/>
-        </word>
-        <word name='headers'>
-          <ref name='xmlNanoHTTPEncoding'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPMimeType'/>
-        </word>
-        <word name='heading'>
-          <ref name='xmlCharEncodingOutputFunc'/>
-        </word>
-        <word name='held'>
-          <ref name='xmlOutputBufferGetContent'/>
-          <ref name='xmlOutputBufferGetSize'/>
-        </word>
-        <word name='helper'>
-          <ref name='XML_SCHEMAS_ELEM_CIRCULAR'/>
-        </word>
-        <word name='here'>
-          <ref name='_xmlXPathContext'/>
-          <ref name='htmlNodeStatus'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseElementContentDecl'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlXPathNextAncestorOrSelf'/>
-        </word>
-        <word name='heuristic'>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='heuristic:'>
-          <ref name='xmlIsRef'/>
-        </word>
-        <word name='hex'>
-          <ref name='xmlURIEscapeStr'/>
-        </word>
-        <word name='hierarchy'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-        </word>
-        <word name='highly'>
-          <ref name='htmlParseElement'/>
-        </word>
-        <word name='hold'>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlNewTextWriterDoc'/>
-          <ref name='xmlNewTextWriterPushParser'/>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='holding'>
-          <ref name='_xmlAttribute'/>
-          <ref name='_xmlID'/>
-          <ref name='_xmlRef'/>
-          <ref name='xmlAddID'/>
-          <ref name='xmlAddRef'/>
-          <ref name='xmlNewNsProp'/>
-          <ref name='xmlNewNsPropEatName'/>
-          <ref name='xmlNewProp'/>
-        </word>
-        <word name='holds'>
-          <ref name='xmlBufferWriteQuotedString'/>
-        </word>
-        <word name='hooks'>
-          <ref name='LIBXML_THREAD_ALLOC_ENABLED'/>
-        </word>
-        <word name='host'>
-          <ref name='xmlNanoFTPProxy'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-        </word>
-        <word name='hosting'>
-          <ref name='xmlXPathFuncLookupFunc'/>
-          <ref name='xmlXPathNodeSetAddNs'/>
-          <ref name='xmlXPathVariableLookupFunc'/>
-        </word>
-        <word name='hostname'>
-          <ref name='xmlNanoFTPInit'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-        </word>
-        <word name='hour'>
-          <ref name='ftpListCallback'/>
-        </word>
-        <word name='how'>
-          <ref name='_xmlError'/>
-          <ref name='xmlDictGetUsage'/>
-        </word>
-        <word name='href'>
-          <ref name='XINCLUDE_HREF'/>
-        </word>
-        <word name='href==NULL'>
-          <ref name='xmlNewNs'/>
-        </word>
-        <word name='hrefs'>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xlinkExtendedLinkSetFunk'/>
-        </word>
-        <word name='html'>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-        <word name='htmlAttrAllowed'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='htmlElemDescPtr'>
-          <ref name='htmlTagLookup'/>
-        </word>
-        <word name='htmlElementAllowedHere'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='htmlElementStatusHere'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='htmlEntityDescPtr'>
-          <ref name='htmlEntityLookup'/>
-          <ref name='htmlEntityValueLookup'/>
-          <ref name='htmlParseEntityRef'/>
-        </word>
-        <word name='htmlNodePtr'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='htmlParserCtxtPtr'>
-          <ref name='htmlNewParserCtxt'/>
-        </word>
-        <word name='htmlParserOption'>
-          <ref name='htmlCtxtReadDoc'/>
-          <ref name='htmlCtxtReadFd'/>
-          <ref name='htmlCtxtReadFile'/>
-          <ref name='htmlCtxtReadIO'/>
-          <ref name='htmlCtxtReadMemory'/>
-          <ref name='htmlCtxtUseOptions'/>
-          <ref name='htmlReadDoc'/>
-          <ref name='htmlReadFd'/>
-          <ref name='htmlReadFile'/>
-          <ref name='htmlReadIO'/>
-          <ref name='htmlReadMemory'/>
-        </word>
-        <word name='htmlStartClose'>
-          <ref name='htmlAutoCloseTag'/>
-          <ref name='htmlIsAutoClosed'/>
-        </word>
-        <word name='http:'>
-          <ref name='XINCLUDE_NS'/>
-          <ref name='XINCLUDE_OLD_NS'/>
-          <ref name='getSystemId'/>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlGetCharEncodingName'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlSAX2GetSystemId'/>
-          <ref name='xmlSchemaGetPredefinedType'/>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-        <word name='human-readable'>
-          <ref name='_xmlError'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk17'>
-      <letter name='i'>
-        <word name='i-xxx'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='iconv'>
-          <ref name='LIBXML_ICONV_ENABLED'/>
-          <ref name='LIBXML_ISO8859X_ENABLED'/>
-        </word>
-        <word name='icu'>
-          <ref name='LIBXML_ICU_ENABLED'/>
-        </word>
-        <word name='identify'>
-          <ref name='xmlParseAttributeType'/>
-        </word>
-        <word name='identity-constraint'>
-          <ref name='_xmlSchema'/>
-          <ref name='_xmlSchemaElement'/>
-        </word>
-        <word name='ignorable'>
-          <ref name='ignorableWhitespace'/>
-          <ref name='ignorableWhitespaceSAXFunc'/>
-          <ref name='xmlIsBlankNode'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlSAX2IgnorableWhitespace'/>
-        </word>
-        <word name='ignorableWhitespace'>
-          <ref name='xmlKeepBlanksDefault'/>
-        </word>
-        <word name='ignored'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='ignoring'>
-          <ref name='xmlURIEscapeStr'/>
-        </word>
-        <word name='image'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='imbrication'>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-        </word>
-        <word name='img'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='immediately'>
-          <ref name='xmlCheckVersion'/>
-          <ref name='xmlOutputBufferWrite'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlOutputBufferWriteString'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='immutable'>
-          <ref name='xmlBufferCreateStatic'/>
-          <ref name='xmlBufferDetach'/>
-          <ref name='xmlParserInputBufferCreateStatic'/>
-        </word>
-        <word name='implementation'>
-          <ref name='xmlFreeFunc'/>
-          <ref name='xmlMallocFunc'/>
-          <ref name='xmlReallocFunc'/>
-          <ref name='xmlStrdupFunc'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-          <ref name='xmlXPathRegisterFunc'/>
-          <ref name='xmlXPathRegisterFuncNS'/>
-        </word>
-        <word name='implementation-defined'>
-          <ref name='xmlXPathNextNamespace'/>
-        </word>
-        <word name='implemented'>
-          <ref name='HTML_COMMENT_NODE'/>
-          <ref name='HTML_ENTITY_REF_NODE'/>
-          <ref name='HTML_PI_NODE'/>
-          <ref name='HTML_PRESERVE_NODE'/>
-          <ref name='HTML_TEXT_NODE'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlSaveDoc'/>
-          <ref name='xmlSaveTree'/>
-          <ref name='xmlSchemaCopyValue'/>
-          <ref name='xmlTextReaderNextSibling'/>
-        </word>
-        <word name='implicitly'>
-          <ref name='htmlAutoCloseTag'/>
-          <ref name='htmlIsAutoClosed'/>
-        </word>
-        <word name='implied'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='impossible'>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='improves'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-        </word>
-        <word name='in-'>
-          <ref name='xmlParserInputBufferGrow'/>
-        </word>
-        <word name='in-extenso'>
-          <ref name='xmlMemDisplay'/>
-          <ref name='xmlMemoryDump'/>
-        </word>
-        <word name='in-memory'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='docbParseDoc'/>
-          <ref name='docbSAXParseDoc'/>
-          <ref name='htmlCreateMemoryParserCtxt'/>
-          <ref name='htmlCtxtReadDoc'/>
-          <ref name='htmlCtxtReadMemory'/>
-          <ref name='htmlParseDoc'/>
-          <ref name='htmlReadDoc'/>
-          <ref name='htmlReadMemory'/>
-          <ref name='htmlSAXParseDoc'/>
-          <ref name='xmlCreateDocParserCtxt'/>
-          <ref name='xmlCreateMemoryParserCtxt'/>
-          <ref name='xmlCtxtReadDoc'/>
-          <ref name='xmlCtxtReadMemory'/>
-          <ref name='xmlParseDoc'/>
-          <ref name='xmlParseMemory'/>
-          <ref name='xmlReadDoc'/>
-          <ref name='xmlReadMemory'/>
-          <ref name='xmlReaderForDoc'/>
-          <ref name='xmlReaderForMemory'/>
-          <ref name='xmlReaderNewDoc'/>
-          <ref name='xmlReaderNewMemory'/>
-          <ref name='xmlRecoverDoc'/>
-          <ref name='xmlRecoverMemory'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-          <ref name='xmlSAXUserParseMemory'/>
-        </word>
-        <word name='incl'>
-          <ref name='_xmlSchemaType'/>
-        </word>
-        <word name='include'>
-          <ref name='XINCLUDE_NODE'/>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlCheckVersion'/>
-          <ref name='xmlListMerge'/>
-        </word>
-        <word name='include:'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='included'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NIsVisibleCallback'/>
-          <ref name='xmlDocDumpMemory'/>
-          <ref name='xmlFreeDoc'/>
-          <ref name='xmlNanoHTTPContentLength'/>
-          <ref name='xmlParseNotationType'/>
-        </word>
-        <word name='includes'>
-          <ref name='_xmlSchema'/>
-          <ref name='xmlCleanupInputCallbacks'/>
-          <ref name='xmlCleanupOutputCallbacks'/>
-          <ref name='xmlPopInputCallbacks'/>
-          <ref name='xmlPopOutputCallbacks'/>
-          <ref name='xmlXIncludeProcessFlags'/>
-          <ref name='xmlXIncludeProcessFlagsData'/>
-          <ref name='xmlXIncludeProcessTreeFlags'/>
-          <ref name='xmlXIncludeProcessTreeFlagsData'/>
-          <ref name='xmlXIncludeSetFlags'/>
-        </word>
-        <word name='including'>
-          <ref name='XML_SCHEMAS_INCLUDING_CONVERT_NS'/>
-          <ref name='attribute'/>
-          <ref name='attributeSAXFunc'/>
-          <ref name='ftpListCallback'/>
-          <ref name='startElement'/>
-          <ref name='startElementSAXFunc'/>
-          <ref name='xmlSAX2StartElement'/>
-          <ref name='xmlTextReaderReadInnerXml'/>
-          <ref name='xmlTextReaderReadOuterXml'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='inclusive'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='increase'>
-          <ref name='xmlParserInputGrow'/>
-        </word>
-        <word name='increment'>
-          <ref name='xmlAutomataNewCountedTrans'/>
-        </word>
-        <word name='incremental'>
-          <ref name='xmlValidateDocumentFinal'/>
-        </word>
-        <word name='indent'>
-          <ref name='xmlTextWriterSetIndent'/>
-        </word>
-        <word name='indentation'>
-          <ref name='xmlDebugDumpAttr'/>
-          <ref name='xmlDebugDumpAttrList'/>
-          <ref name='xmlDebugDumpNode'/>
-          <ref name='xmlDebugDumpNodeList'/>
-          <ref name='xmlDebugDumpOneNode'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlTextWriterSetIndent'/>
-          <ref name='xmlTextWriterSetIndentString'/>
-          <ref name='xmlXPathDebugDumpCompExpr'/>
-          <ref name='xmlXPathDebugDumpObject'/>
-        </word>
-        <word name='indentation?'>
-          <ref name='xmlTextWriterSetIndent'/>
-        </word>
-        <word name='indented'>
-          <ref name='xmlSaveFormatFile'/>
-        </word>
-        <word name='indenting'>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlDocDumpFormatMemory'/>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocFormatDump'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-          <ref name='xmlSaveFormatFile'/>
-          <ref name='xmlSaveFormatFileEnc'/>
-        </word>
-        <word name='independently'>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlParseAttribute'/>
-        </word>
-        <word name='index'>
-          <ref name='index'/>
-          <ref name='inputPush'/>
-          <ref name='namePush'/>
-          <ref name='nodePush'/>
-          <ref name='xmlByteConsumed'/>
-          <ref name='xmlParserFindNodeInfoIndex'/>
-          <ref name='xmlPushInput'/>
-          <ref name='xmlStrsub'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-          <ref name='xmlTextReaderGetAttributeNo'/>
-          <ref name='xmlTextReaderMoveToAttributeNo'/>
-          <ref name='xmlXPathNodeSetRemove'/>
-          <ref name='xmlXPtrLocationSetRemove'/>
-          <ref name='xmlXPtrNewRange'/>
-        </word>
-        <word name='indicate'>
-          <ref name='LIBXML_ATTR_ALLOC_SIZE'/>
-          <ref name='LIBXML_ATTR_FORMAT'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlParserInputGrow'/>
-          <ref name='xmlRegExecPushString'/>
-          <ref name='xmlRegExecPushString2'/>
-          <ref name='xmlURIUnescapeString'/>
-        </word>
-        <word name='indicated'>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='indicates'>
-          <ref name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
-          <ref name='XML_SCHEMAS_TYPE_INTERNAL_INVALID'/>
-          <ref name='XML_SCHEMAS_TYPE_INTERNAL_RESOLVED'/>
-          <ref name='XML_SCHEMAS_TYPE_NORMVALUENEEDED'/>
-          <ref name='xmlHasNsProp'/>
-          <ref name='xmlNanoFTPRead'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-          <ref name='xmlNanoHTTPContentLength'/>
-          <ref name='xmlNanoHTTPRead'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-        </word>
-        <word name='indicating'>
-          <ref name='xmlParseCharData'/>
-          <ref name='xmlParserFindNodeInfoIndex'/>
-          <ref name='xmlShellCmd'/>
-          <ref name='xmlTextReaderErrorFunc'/>
-          <ref name='xmlTextReaderNormalization'/>
-          <ref name='xmlXPathAxisFunc'/>
-        </word>
-        <word name='indication'>
-          <ref name='xmlNanoFTPRead'/>
-          <ref name='xmlNanoHTTPRead'/>
-        </word>
-        <word name='indicative'>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlParserInputBufferRead'/>
-          <ref name='xmlParserInputGrow'/>
-          <ref name='xmlParserInputRead'/>
-        </word>
-        <word name='indicator'>
-          <ref name='docbParseChunk'/>
-          <ref name='htmlParseChunk'/>
-          <ref name='xmlParseChunk'/>
-        </word>
-        <word name='indirect'>
-          <ref name='xmlParseAttribute'/>
-        </word>
-        <word name='indirectly'>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-        </word>
-        <word name='infinite'>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='infinity'>
-          <ref name='xmlXPathCeilingFunction'/>
-          <ref name='xmlXPathFloorFunction'/>
-          <ref name='xmlXPathRoundFunction'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='info'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlClearNodeInfoSeq'/>
-          <ref name='xmlCopyDoc'/>
-          <ref name='xmlInitNodeInfoSeq'/>
-          <ref name='xmlMallocAtomicLoc'/>
-          <ref name='xmlMallocLoc'/>
-          <ref name='xmlMemMalloc'/>
-          <ref name='xmlMemRealloc'/>
-          <ref name='xmlMemStrdupLoc'/>
-          <ref name='xmlMemoryStrdup'/>
-          <ref name='xmlNanoFTPList'/>
-          <ref name='xmlParserAddNodeInfo'/>
-          <ref name='xmlParserFindNodeInfo'/>
-          <ref name='xmlParserFindNodeInfoIndex'/>
-          <ref name='xmlReallocLoc'/>
-        </word>
-        <word name='informative'>
-          <ref name='_xmlError'/>
-        </word>
-        <word name='infos'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='inherited'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xmlEntityReferenceFunc'/>
-          <ref name='xmlNodeGetSpacePreserve'/>
-          <ref name='xmlXPathNextAttribute'/>
-        </word>
-        <word name='inheriting'>
-          <ref name='xmlDictCreateSub'/>
-        </word>
-        <word name='inherits'>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewTextChild'/>
-        </word>
-        <word name='initial'>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlSchemaAttribute'/>
-          <ref name='xmlAutomataGetInitState'/>
-          <ref name='xmlBufferCreateSize'/>
-          <ref name='xmlInitNodeInfoSeq'/>
-          <ref name='xmlMemRealloc'/>
-          <ref name='xmlMemStrdupLoc'/>
-          <ref name='xmlMemoryStrdup'/>
-          <ref name='xmlReallocLoc'/>
-          <ref name='xmlShell'/>
-          <ref name='xmlXPathNodeSetAdd'/>
-          <ref name='xmlXPathNodeSetAddNs'/>
-          <ref name='xmlXPathNodeSetAddUnique'/>
-          <ref name='xmlXPathNodeSetCreate'/>
-          <ref name='xmlXPathNodeSetDel'/>
-          <ref name='xmlXPathNodeSetRemove'/>
-          <ref name='xmlXPtrLocationSetAdd'/>
-          <ref name='xmlXPtrLocationSetCreate'/>
-          <ref name='xmlXPtrLocationSetDel'/>
-          <ref name='xmlXPtrLocationSetRemove'/>
-        </word>
-        <word name='initialisation'>
-          <ref name='xmlInitGlobals'/>
-        </word>
-        <word name='initialization'>
-          <ref name='xmlInitializeCatalog'/>
-          <ref name='xmlInitializeDict'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadCatalogs'/>
-          <ref name='xmlSAXDefaultVersion'/>
-        </word>
-        <word name='initialize'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='XML_DETECT_IDS'/>
-          <ref name='XML_SKIP_IDS'/>
-          <ref name='htmlNewDocNoDtD'/>
-          <ref name='htmlNewParserCtxt'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlCreateEntitiesTable'/>
-          <ref name='xmlCreateEnumeration'/>
-          <ref name='xmlInitThreads'/>
-          <ref name='xmlInitializeGlobalState'/>
-          <ref name='xmlNanoFTPNewCtxt'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-          <ref name='xmlNewParserCtxt'/>
-          <ref name='xmlXPathNewNodeSet'/>
-          <ref name='xmlXPathNewNodeSetList'/>
-          <ref name='xmlXPathNewValueTree'/>
-          <ref name='xmlXPtrNewLocationSetNodeSet'/>
-          <ref name='xmlXPtrNewLocationSetNodes'/>
-        </word>
-        <word name='initialized'>
-          <ref name='XML_SAX2_MAGIC'/>
-        </word>
-        <word name='initializes'>
-          <ref name='xmlDOMWrapNewCtxt'/>
-        </word>
-        <word name='initiate'>
-          <ref name='xmlCharEncOutFunc'/>
-        </word>
-        <word name='initiated'>
-          <ref name='xmlXPtrNewContext'/>
-        </word>
-        <word name='inline'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='inlined'>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-        </word>
-        <word name='inputs'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='insensitive'>
-          <ref name='xmlParseCharEncoding'/>
-        </word>
-        <word name='insert'>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='inserted'>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlAddSibling'/>
-          <ref name='xmlReplaceNode'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='insertion'>
-          <ref name='htmlHandleOmittedElem'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='inspect'>
-          <ref name='xmlXPathDebugDumpObject'/>
-        </word>
-        <word name='installed'>
-          <ref name='xmlDictSize'/>
-          <ref name='xmlHashSize'/>
-        </word>
-        <word name='instances'>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlRelaxNGParse'/>
-          <ref name='xmlSchemaParse'/>
-          <ref name='xmlSchematronParse'/>
-        </word>
-        <word name='instead'>
-          <ref name='XML_SCHEMAS_ELEM_TOPLEVEL'/>
-          <ref name='xmlAddChild'/>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlBufShrink'/>
-          <ref name='xmlCopyElementContent'/>
-          <ref name='xmlDocSetRootElement'/>
-          <ref name='xmlFreeElementContent'/>
-          <ref name='xmlIsBaseChar'/>
-          <ref name='xmlIsBlank'/>
-          <ref name='xmlIsChar'/>
-          <ref name='xmlIsCombining'/>
-          <ref name='xmlIsDigit'/>
-          <ref name='xmlIsExtender'/>
-          <ref name='xmlIsIdeographic'/>
-          <ref name='xmlIsPubidChar'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlRegisterHTTPPostCallbacks'/>
-          <ref name='xmlSaveDoc'/>
-          <ref name='xmlSaveTree'/>
-          <ref name='xmlSubstituteEntitiesDefault'/>
-          <ref name='xmlXPtrEvalRangePredicate'/>
-        </word>
-        <word name='instruction'>
-          <ref name='HTML_PI_NODE'/>
-          <ref name='processingInstruction'/>
-          <ref name='processingInstructionSAXFunc'/>
-          <ref name='xmlNewDocPI'/>
-          <ref name='xmlNewPI'/>
-          <ref name='xmlSAX2ProcessingInstruction'/>
-        </word>
-        <word name='insufficient'>
-          <ref name='xmlCanonicPath'/>
-          <ref name='xmlPathToURI'/>
-        </word>
-        <word name='intact'>
-          <ref name='xmlParseURIRaw'/>
-        </word>
-        <word name='integer'>
-          <ref name='xmlGetThreadId'/>
-          <ref name='xmlStrcasecmp'/>
-          <ref name='xmlStrcmp'/>
-          <ref name='xmlStrncasecmp'/>
-          <ref name='xmlStrncmp'/>
-          <ref name='xmlXPathCeilingFunction'/>
-          <ref name='xmlXPathFloorFunction'/>
-          <ref name='xmlXPathRoundFunction'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='intended'>
-          <ref name='_xmlDOMWrapCtxt'/>
-          <ref name='xmlSchemaNewStringValue'/>
-        </word>
-        <word name='intensively'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='interact'>
-          <ref name='xmlParseExternalID'/>
-        </word>
-        <word name='interface'>
-          <ref name='LIBXML_PATTERN_ENABLED'/>
-          <ref name='LIBXML_READER_ENABLED'/>
-          <ref name='LIBXML_SAX1_ENABLED'/>
-          <ref name='LIBXML_WRITER_ENABLED'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='docbParseDocument'/>
-          <ref name='htmlParseDocument'/>
-          <ref name='xmlParseDocument'/>
-          <ref name='xmlParseReference'/>
-          <ref name='xmlTextReaderCurrentDoc'/>
-          <ref name='xmlTextReaderCurrentNode'/>
-        </word>
-        <word name='interfaces'>
-          <ref name='LIBXML_AUTOMATA_ENABLED'/>
-          <ref name='LIBXML_EXPR_ENABLED'/>
-          <ref name='LIBXML_MODULES_ENABLED'/>
-          <ref name='LIBXML_PUSH_ENABLED'/>
-          <ref name='LIBXML_REGEXP_ENABLED'/>
-          <ref name='LIBXML_SCHEMAS_ENABLED'/>
-          <ref name='LIBXML_SCHEMATRON_ENABLED'/>
-          <ref name='LIBXML_UNICODE_ENABLED'/>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlNamespaceParseNSDef'/>
-          <ref name='xmlNamespaceParseQName'/>
-        </word>
-        <word name='intern'>
-          <ref name='xmlTextReaderConstString'/>
-        </word>
-        <word name='internally'>
-          <ref name='xmlBufferWriteQuotedString'/>
-          <ref name='xmlExpNewCtxt'/>
-          <ref name='xmlRelaxNGNewDocParserCtxt'/>
-          <ref name='xmlRemoveID'/>
-          <ref name='xmlRemoveRef'/>
-          <ref name='xmlSchemaValidateFile'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='interned'>
-          <ref name='xmlPatterncompile'/>
-          <ref name='xmlTextReaderConstString'/>
-        </word>
-        <word name='interning'>
-          <ref name='xmlCopyNodeList'/>
-          <ref name='xmlNewPI'/>
-        </word>
-        <word name='interoperability'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-        </word>
-        <word name='interoperable'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='interprestation'>
-          <ref name='xmlXPathFunction'/>
-        </word>
-        <word name='interpreter'>
-          <ref name='xmlXPathAxisFunc'/>
-        </word>
-        <word name='intersection'>
-          <ref name='xmlXPathIntersection'/>
-        </word>
-        <word name='introduced'>
-          <ref name='LIBXML2_NEW_BUFFER'/>
-        </word>
-        <word name='ints'>
-          <ref name='xmlGetLineNo'/>
-        </word>
-        <word name='invalid'>
-          <ref name='XML_SCHEMAS_TYPE_INTERNAL_INVALID'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='invited'>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='isn'>
-          <ref name='xmlRegisterCharEncodingHandler'/>
-        </word>
-        <word name='issue'>
-          <ref name='xmlEncodeEntities'/>
-        </word>
-        <word name='issued'>
-          <ref name='xlinkIsLink'/>
-        </word>
-        <word name='issues'>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-        </word>
-        <word name='item'>
-          <ref name='XML_SCHEMAS_TYPE_BLOCK_DEFAULT'/>
-          <ref name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
-          <ref name='XML_SCHEMAS_TYPE_MARKED'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlHashRemoveEntry'/>
-          <ref name='xmlHashRemoveEntry2'/>
-          <ref name='xmlHashRemoveEntry3'/>
-          <ref name='xmlHashUpdateEntry'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-          <ref name='xmlNanoFTPDele'/>
-          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-          <ref name='xmlXPathNodeSetItem'/>
-        </word>
-        <word name='items'>
-          <ref name='valuePush'/>
-          <ref name='xmlHashCopy'/>
-          <ref name='xmlHashFree'/>
-          <ref name='xmlHashScan'/>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull'/>
-          <ref name='xmlHashScanFull3'/>
-          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-        </word>
-        <word name='itself'>
-          <ref name='_xmlDoc'/>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlCharEncFirstLine'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlXPathNextSelf'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk18'>
-      <letter name='j'>
-        <word name='just'>
-          <ref name='_xmlDOMWrapCtxt'/>
-          <ref name='htmlSetMetaEncoding'/>
-          <ref name='inputPop'/>
-          <ref name='namePop'/>
-          <ref name='nodePop'/>
-          <ref name='valuePop'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlCopyEnumeration'/>
-          <ref name='xmlCreateEntitiesTable'/>
-          <ref name='xmlCreateEnumeration'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlHandleEntity'/>
-          <ref name='xmlNanoFTPInit'/>
-          <ref name='xmlNanoHTTPInit'/>
-          <ref name='xmlSnprintfElementContent'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-          <ref name='xmlXPathNewContext'/>
-          <ref name='xmlXPathNewParserContext'/>
-          <ref name='xmlXPathNextSelf'/>
-          <ref name='xmlXPtrNewContext'/>
-        </word>
-      </letter>
-      <letter name='k'>
-        <word name='keep'>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlExpNewSeq'/>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlParseURIRaw'/>
-          <ref name='xmlParserInputGrow'/>
-          <ref name='xmlSubstituteEntitiesDefault'/>
-          <ref name='xmlTextReaderPreserve'/>
-          <ref name='xmlTextReaderPreservePattern'/>
-          <ref name='xmlXPathNextNamespace'/>
-        </word>
-        <word name='keeps'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-        </word>
-        <word name='kept'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='htmlAutoCloseTag'/>
-          <ref name='htmlIsAutoClosed'/>
-          <ref name='htmlParseElement'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='keyword'>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='kill'>
-          <ref name='xmlCheckVersion'/>
-        </word>
-        <word name='kind'>
-          <ref name='_xmlSchemaAttributeGroup'/>
-          <ref name='_xmlSchemaElement'/>
-          <ref name='_xmlSchemaFacet'/>
-          <ref name='_xmlSchemaNotation'/>
-          <ref name='_xmlSchemaType'/>
-          <ref name='_xmlSchemaWildcard'/>
-        </word>
-        <word name='know'>
-          <ref name='BAD_CAST'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-        </word>
-        <word name='knowledge'>
-          <ref name='htmlAttrAllowed'/>
-        </word>
-        <word name='known'>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlAllocParserInputBuffer'/>
-          <ref name='xmlCreateIOParserCtxt'/>
-          <ref name='xmlIOParseDTD'/>
-          <ref name='xmlNewIOInputStream'/>
-          <ref name='xmlOutputBufferCreateIO'/>
-          <ref name='xmlParseCharEncoding'/>
-          <ref name='xmlParserInputBufferCreateFd'/>
-          <ref name='xmlParserInputBufferCreateFile'/>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-          <ref name='xmlParserInputBufferCreateIO'/>
-          <ref name='xmlParserInputBufferCreateMem'/>
-          <ref name='xmlParserInputBufferCreateStatic'/>
-        </word>
-      </letter>
-      <letter name='l'>
-        <word name='label'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='labeled'>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseExtParsedEnt'/>
-          <ref name='xmlParseExternalEntity'/>
-        </word>
-        <word name='lack'>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlMallocAtomicLoc'/>
-          <ref name='xmlMallocLoc'/>
-          <ref name='xmlMemMalloc'/>
-          <ref name='xmlMemRealloc'/>
-          <ref name='xmlReallocLoc'/>
-        </word>
-        <word name='lang'>
-          <ref name='xmlNodeGetLang'/>
-          <ref name='xmlXPathLangFunction'/>
-        </word>
-        <word name='langtag'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='language'>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlNodeGetLang'/>
-          <ref name='xmlNodeSetLang'/>
-          <ref name='xmlXPathLangFunction'/>
-        </word>
-        <word name='languages'>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlExpSubsume'/>
-        </word>
-        <word name='large'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlGetBufferAllocationScheme'/>
-        </word>
-        <word name='largest'>
-          <ref name='xmlXPathFloorFunction'/>
-        </word>
-        <word name='later'>
-          <ref name='xmlHashAddEntry'/>
-          <ref name='xmlHashAddEntry2'/>
-          <ref name='xmlHashAddEntry3'/>
-          <ref name='xmlHashUpdateEntry'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlNewEntity'/>
-          <ref name='xmlParseAttValue'/>
-        </word>
-        <word name='latest'>
-          <ref name='xmlNanoHTTPReturnCode'/>
-        </word>
-        <word name='layer'>
-          <ref name='xmlChildrenNode'/>
-          <ref name='xmlInitMemory'/>
-          <ref name='xmlNanoFTPCleanup'/>
-          <ref name='xmlNanoFTPInit'/>
-          <ref name='xmlNanoHTTPCleanup'/>
-          <ref name='xmlNanoHTTPInit'/>
-          <ref name='xmlRootNode'/>
-          <ref name='xmlSaveFileTo'/>
-          <ref name='xmlSaveFormatFileTo'/>
-          <ref name='xmlSchemaSAXPlug'/>
-          <ref name='xmlSchemaSAXUnplug'/>
-        </word>
-        <word name='leading'>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlParseNotationType'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlXPathLeading'/>
-          <ref name='xmlXPathLeadingSorted'/>
-          <ref name='xmlXPathNodeLeading'/>
-          <ref name='xmlXPathNodeLeadingSorted'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='leak'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='least'>
-          <ref name='xmlDetectCharEncoding'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='led'>
-          <ref name='xmlInitializeDict'/>
-        </word>
-        <word name='left'>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewSeq'/>
-          <ref name='xmlMemDisplayLast'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='legacy'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='len'>
-          <ref name='xmlBufferAdd'/>
-          <ref name='xmlBufferAddHead'/>
-          <ref name='xmlCharStrndup'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlExpStringDerive'/>
-          <ref name='xmlGetFeaturesList'/>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlNewDocTextLen'/>
-          <ref name='xmlNewTextLen'/>
-          <ref name='xmlSplitQName3'/>
-          <ref name='xmlStrncat'/>
-          <ref name='xmlStrncatNew'/>
-          <ref name='xmlStrndup'/>
-          <ref name='xmlUTF8Strndup'/>
-          <ref name='xmlUTF8Strsize'/>
-        </word>
-        <word name='length-1'>
-          <ref name='xmlXPathNodeSetItem'/>
-        </word>
-        <word name='less'>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlSaveToFilename'/>
-          <ref name='xmlXPathCeilingFunction'/>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='less-than'>
-          <ref name='xmlNewTextChild'/>
-        </word>
-        <word name='level'>
-          <ref name='XML_SCHEMAS_ELEM_TOPLEVEL'/>
-          <ref name='_xmlDoc'/>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlCatalogSetDebug'/>
-          <ref name='xmlCleanupMemory'/>
-          <ref name='xmlDebugDumpAttr'/>
-          <ref name='xmlDebugDumpAttrList'/>
-          <ref name='xmlDebugDumpNode'/>
-          <ref name='xmlDebugDumpNodeList'/>
-          <ref name='xmlDebugDumpOneNode'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-          <ref name='xmlParseVersionNum'/>
-          <ref name='xmlShellPwd'/>
-          <ref name='xmlStreamPop'/>
-          <ref name='xmlXPathDebugDumpCompExpr'/>
-          <ref name='xmlXPathDebugDumpObject'/>
-        </word>
-        <word name='lexical'>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaValPredefTypeNode'/>
-          <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-          <ref name='xmlSchemaValidateFacet'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-          <ref name='xmlSchemaValidatePredefinedType'/>
-          <ref name='xmlValidateNCName'/>
-          <ref name='xmlValidateNMToken'/>
-          <ref name='xmlValidateName'/>
-          <ref name='xmlValidateQName'/>
-        </word>
-        <word name='lib'>
-          <ref name='xmlCheckVersion'/>
-        </word>
-        <word name='libc'>
-          <ref name='DEBUG_MEMORY'/>
-        </word>
-        <word name='libraries'>
-          <ref name='LIBXML_MODULE_EXTENSION'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlRelaxNGInitTypes'/>
-        </word>
-        <word name='library'>
-          <ref name='_xmlError'/>
-          <ref name='_xmlSchema'/>
-          <ref name='xmlCleanupMemory'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlDictCleanup'/>
-          <ref name='xmlHasFeature'/>
-          <ref name='xmlInitThreads'/>
-          <ref name='xmlInitializeGlobalState'/>
-          <ref name='xmlLockLibrary'/>
-          <ref name='xmlModuleFree'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlRelaxNGCleanupTypes'/>
-          <ref name='xmlSAXDefaultVersion'/>
-          <ref name='xmlSchemaCleanupTypes'/>
-          <ref name='xmlSchemaFreeValue'/>
-          <ref name='xmlSchemaGetPredefinedType'/>
-          <ref name='xmlSchemaInitTypes'/>
-          <ref name='xmlUnlockLibrary'/>
-        </word>
-        <word name='libs'>
-          <ref name='xmlKeepBlanksDefault'/>
-        </word>
-        <word name='libxml'>
-          <ref name='DEBUG_MEMORY'/>
-          <ref name='LIBXML_TEST_VERSION'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlRegisterHTTPPostCallbacks'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-          <ref name='xmlShellPrintXPathError'/>
-          <ref name='xmlXPathNodeSetFreeNs'/>
-        </word>
-        <word name='libxml1'>
-          <ref name='xmlChildrenNode'/>
-          <ref name='xmlRootNode'/>
-        </word>
-        <word name='libxml2'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlFreeMutex'/>
-          <ref name='xmlInitThreads'/>
-          <ref name='xmlLockLibrary'/>
-          <ref name='xmlMutexLock'/>
-          <ref name='xmlMutexUnlock'/>
-          <ref name='xmlNewMutex'/>
-          <ref name='xmlRMutexLock'/>
-          <ref name='xmlRMutexUnlock'/>
-          <ref name='xmlUnlockLibrary'/>
-        </word>
-        <word name='lifetime'>
-          <ref name='xmlBufferCreateStatic'/>
-          <ref name='xmlExpCtxtNbCons'/>
-        </word>
-        <word name='like'>
-          <ref name='IS_CHAR_CH'/>
-          <ref name='IS_DIGIT_CH'/>
-          <ref name='IS_EXTENDER_CH'/>
-          <ref name='IS_LETTER_CH'/>
-          <ref name='LIBXML_ATTR_FORMAT'/>
-          <ref name='LIBXML_DOTTED_VERSION'/>
-          <ref name='LIBXML_TREE_ENABLED'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-          <ref name='xmlParseCatalogFile'/>
-          <ref name='xmlShellList'/>
-          <ref name='xmlTextReaderNormalization'/>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='likely'>
-          <ref name='xmlGetThreadId'/>
-        </word>
-        <word name='limit'>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='_xmlXPathParserContext'/>
-          <ref name='xmlCharEncFirstLine'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlDictSetLimit'/>
-          <ref name='xmlPatternMaxDepth'/>
-        </word>
-        <word name='limitation'>
-          <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-          <ref name='xmlGetLineNo'/>
-        </word>
-        <word name='limited'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlNodeDump'/>
-        </word>
-        <word name='limits'>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='linear'>
-          <ref name='htmlEntityLookup'/>
-          <ref name='htmlEntityValueLookup'/>
-          <ref name='xmlExpExpDerive'/>
-        </word>
-        <word name='lines'>
-          <ref name='xmlGetLineNo'/>
-        </word>
-        <word name='linked'>
-          <ref name='_xmlSchemaAttributeLink'/>
-          <ref name='_xmlSchemaFacetLink'/>
-          <ref name='_xmlSchemaTypeLink'/>
-        </word>
-        <word name='linking'>
-          <ref name='xlinkIsLink'/>
-        </word>
-        <word name='links'>
-          <ref name='ftpListCallback'/>
-        </word>
-        <word name='listing'>
-          <ref name='xmlNanoFTPList'/>
-          <ref name='xmlShellList'/>
-        </word>
-        <word name='lists'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='literal'>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParsePubidLiteral'/>
-          <ref name='xmlParserHandlePEReference'/>
-        </word>
-        <word name='load'>
-          <ref name='xmlLoadExternalEntity'/>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlShell'/>
-          <ref name='xmlShellLoad'/>
-        </word>
-        <word name='loaded'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='loader'>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadCatalogs'/>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-        </word>
-        <word name='loaders'>
-          <ref name='xmlExternalEntityLoader'/>
-        </word>
-        <word name='loading'>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlIsID'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-          <ref name='xmlShellLoad'/>
-        </word>
-        <word name='loads'>
-          <ref name='xmlShellLoad'/>
-        </word>
-        <word name='loadsubset'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='XML_DETECT_IDS'/>
-          <ref name='XML_SKIP_IDS'/>
-        </word>
-        <word name='local-name'>
-          <ref name='xmlXPathLocalNameFunction'/>
-        </word>
-        <word name='localname'>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='xmlSAX2StartElementNs'/>
-          <ref name='xmlStrQEqual'/>
-        </word>
-        <word name='location'>
-          <ref name='htmlParseEntityRef'/>
-          <ref name='xmlGetFeature'/>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-          <ref name='xmlRelaxNGNewParserCtxt'/>
-          <ref name='xmlSchemaNewParserCtxt'/>
-          <ref name='xmlSchematronNewParserCtxt'/>
-          <ref name='xmlSetFeature'/>
-          <ref name='xmlUTF8Strloc'/>
-          <ref name='xmlXPtrLocationSetAdd'/>
-          <ref name='xmlXPtrRangeToFunction'/>
-        </word>
-        <word name='locations'>
-          <ref name='_xmlLocationSet'/>
-        </word>
-        <word name='locator'>
-          <ref name='setDocumentLocator'/>
-          <ref name='setDocumentLocatorSAXFunc'/>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xlinkExtendedLinkSetFunk'/>
-          <ref name='xmlCanonicPath'/>
-          <ref name='xmlPathToURI'/>
-          <ref name='xmlSAX2SetDocumentLocator'/>
-          <ref name='xmlSchemaValidateSetLocator'/>
-          <ref name='xmlSchemaValidityLocatorFunc'/>
-          <ref name='xmlTextReaderErrorFunc'/>
-          <ref name='xmlTextReaderLocatorBaseURI'/>
-          <ref name='xmlTextReaderLocatorLineNumber'/>
-        </word>
-        <word name='locators'>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xlinkExtendedLinkSetFunk'/>
-        </word>
-        <word name='lock'>
-          <ref name='xmlLockLibrary'/>
-          <ref name='xmlMutexLock'/>
-          <ref name='xmlNewRMutex'/>
-          <ref name='xmlRMutexLock'/>
-          <ref name='xmlUnlockLibrary'/>
-        </word>
-        <word name='logging'>
-          <ref name='xmlMallocAtomicLoc'/>
-          <ref name='xmlMallocLoc'/>
-          <ref name='xmlMemMalloc'/>
-          <ref name='xmlMemRealloc'/>
-          <ref name='xmlMemStrdupLoc'/>
-          <ref name='xmlMemoryStrdup'/>
-          <ref name='xmlReallocLoc'/>
-        </word>
-        <word name='long'>
-          <ref name='IS_BASECHAR'/>
-          <ref name='IS_COMBINING'/>
-          <ref name='IS_DIGIT'/>
-          <ref name='xmlDetectCharEncoding'/>
-          <ref name='xmlParserFindNodeInfoIndex'/>
-          <ref name='xmlSchemaGetFacetValueAsULong'/>
-        </word>
-        <word name='longer'>
-          <ref name='XML_MAX_NAMELEN'/>
-          <ref name='xmlCheckUTF8'/>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='look-ahead'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='lookahead'>
-          <ref name='xmlParserInputGrow'/>
-          <ref name='xmlParserInputRead'/>
-        </word>
-        <word name='looked'>
-          <ref name='_xmlNodeSet'/>
-          <ref name='xmlPatternFromRoot'/>
-        </word>
-        <word name='looks'>
-          <ref name='xmlGetNoNsProp'/>
-          <ref name='xmlGetNsProp'/>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlHasNsProp'/>
-          <ref name='xmlHasProp'/>
-        </word>
-        <word name='lookups'>
-          <ref name='XML_DETECT_IDS'/>
-          <ref name='xmlParseCatalogFile'/>
-        </word>
-        <word name='loop'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseExternalEntity'/>
-        </word>
-        <word name='loops'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='lossless'>
-          <ref name='xmlOutputBufferWrite'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlOutputBufferWriteString'/>
-        </word>
-        <word name='lower'>
-          <ref name='xmlExpNewRange'/>
-        </word>
-        <word name='lowercase'>
-          <ref name='htmlTagLookup'/>
-          <ref name='xmlIsRef'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk19'>
-      <letter name='m'>
-        <word name='machine'>
-          <ref name='xmlCheckFilename'/>
-        </word>
-        <word name='macro'>
-          <ref name='INVALID_SOCKET'/>
-          <ref name='SOCKET'/>
-          <ref name='XML_CAST_FPTR'/>
-          <ref name='xmlTextWriterWriteDocType'/>
-          <ref name='xmlTextWriterWriteProcessingInstruction'/>
-        </word>
-        <word name='made'>
-          <ref name='LIBXML_ISO8859X_ENABLED'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlSetEntityReferenceFunc'/>
-          <ref name='xmlXPtrNewLocationSetNodes'/>
-        </word>
-        <word name='main'>
-          <ref name='xmlIsMainThread'/>
-        </word>
-        <word name='maintained'>
-          <ref name='xmlRemoveID'/>
-          <ref name='xmlRemoveRef'/>
-          <ref name='xmlSchemaSAXPlug'/>
-        </word>
-        <word name='major'>
-          <ref name='xmlDecodeEntities'/>
-        </word>
-        <word name='make'>
-          <ref name='xmlCreateEntitiesTable'/>
-          <ref name='xmlNewNode'/>
-          <ref name='xmlSaveClose'/>
-          <ref name='xmlSaveFlush'/>
-        </word>
-        <word name='makes'>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadCatalogs'/>
-          <ref name='xmlTextReaderExpand'/>
-        </word>
-        <word name='malloc'>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMallocAtomicLoc'/>
-          <ref name='xmlMallocFunc'/>
-          <ref name='xmlMallocLoc'/>
-          <ref name='xmlMemGet'/>
-          <ref name='xmlMemMalloc'/>
-          <ref name='xmlMemSetup'/>
-        </word>
-        <word name='mallocAtomicFunc'>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-        </word>
-        <word name='manage'>
-          <ref name='xmlBufferWriteChar'/>
-          <ref name='xmlBufferWriteQuotedString'/>
-        </word>
-        <word name='manages'>
-          <ref name='xmlBufferWriteCHAR'/>
-        </word>
-        <word name='mandate'>
-          <ref name='xmlGetThreadId'/>
-        </word>
-        <word name='manipulated'>
-          <ref name='xmlNewRMutex'/>
-        </word>
-        <word name='manipulating'>
-          <ref name='xmlExpNewCtxt'/>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-        </word>
-        <word name='manipulation'>
-          <ref name='LIBXML_TREE_ENABLED'/>
-        </word>
-        <word name='many'>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='map'>
-          <ref name='_xmlDOMWrapCtxt'/>
-        </word>
-        <word name='maps'>
-          <ref name='xmlTextReaderLookupNamespace'/>
-          <ref name='xmlTextWriterWriteDocType'/>
-          <ref name='xmlTextWriterWriteProcessingInstruction'/>
-        </word>
-        <word name='mark'>
-          <ref name='xmlStrcat'/>
-          <ref name='xmlStrdup'/>
-          <ref name='xmlTextReaderQuoteChar'/>
-        </word>
-        <word name='marked'>
-          <ref name='XML_SCHEMAS_ATTRGROUP_MARKED'/>
-          <ref name='XML_SCHEMAS_TYPE_MARKED'/>
-          <ref name='_xmlParserInput'/>
-        </word>
-        <word name='marker'>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-        </word>
-        <word name='marking'>
-          <ref name='xmlParseCharData'/>
-        </word>
-        <word name='marks'>
-          <ref name='xmlParseCharData'/>
-        </word>
-        <word name='markup'>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlTextReaderReadInnerXml'/>
-          <ref name='xmlTextReaderReadOuterXml'/>
-          <ref name='xmlTextWriterWriteFormatDTD'/>
-          <ref name='xmlTextWriterWriteVFormatDTD'/>
-        </word>
-        <word name='markupdecl'>
-          <ref name='xmlParseDocTypeDecl'/>
-          <ref name='xmlParseExternalSubset'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='masked'>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='matched'>
-          <ref name='xmlTextReaderPreservePattern'/>
-        </word>
-        <word name='matches'>
-          <ref name='CHECK_ARITY'/>
-          <ref name='xmlFileMatch'/>
-          <ref name='xmlIOFTPMatch'/>
-          <ref name='xmlIOHTTPMatch'/>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseExtParsedEnt'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlPatternMatch'/>
-          <ref name='xmlRegexpExec'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='matching'>
-          <ref name='xmlFileMatch'/>
-          <ref name='xmlFileOpen'/>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull3'/>
-          <ref name='xmlIOFTPMatch'/>
-          <ref name='xmlIOFTPOpen'/>
-          <ref name='xmlIOHTTPMatch'/>
-          <ref name='xmlIOHTTPOpen'/>
-          <ref name='xmlRegNewExecCtxt'/>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneNamespace'/>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='max'>
-          <ref name='_xmlXPathContext'/>
-          <ref name='_xmlXPathParserContext'/>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlGetCompressMode'/>
-          <ref name='xmlGetDocCompressMode'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlSetCompressMode'/>
-          <ref name='xmlSetDocCompressMode'/>
-          <ref name='xmlStrncasecmp'/>
-          <ref name='xmlStrncmp'/>
-        </word>
-        <word name='maxLength'>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-        </word>
-        <word name='maximal'>
-          <ref name='xmlAutomataNewCounter'/>
-        </word>
-        <word name='maximum'>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-          <ref name='xmlCheckUTF8'/>
-          <ref name='xmlExpMaxToken'/>
-          <ref name='xmlExpNewCtxt'/>
-          <ref name='xmlPatternMaxDepth'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='maybe'>
-          <ref name='_xmlSchemaElement'/>
-        </word>
-        <word name='mean'>
-          <ref name='xmlPatternMinDepth'/>
-        </word>
-        <word name='means'>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='mechanism'>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlStructuredErrorFunc'/>
-          <ref name='xmlXPathRegisterFuncLookup'/>
-          <ref name='xmlXPathRegisterVariableLookup'/>
-        </word>
-        <word name='mechanisms'>
-          <ref name='xmlNodeGetBase'/>
-        </word>
-        <word name='meet'>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='member'>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-          <ref name='xmlTextWriterWriteVFormatAttribute'/>
-          <ref name='xmlTextWriterWriteVFormatAttributeNS'/>
-          <ref name='xmlTextWriterWriteVFormatCDATA'/>
-          <ref name='xmlTextWriterWriteVFormatComment'/>
-          <ref name='xmlTextWriterWriteVFormatDTD'/>
-          <ref name='xmlTextWriterWriteVFormatDTDAttlist'/>
-          <ref name='xmlTextWriterWriteVFormatDTDElement'/>
-          <ref name='xmlTextWriterWriteVFormatDTDInternalEntity'/>
-          <ref name='xmlTextWriterWriteVFormatElement'/>
-          <ref name='xmlTextWriterWriteVFormatElementNS'/>
-          <ref name='xmlTextWriterWriteVFormatPI'/>
-          <ref name='xmlTextWriterWriteVFormatRaw'/>
-          <ref name='xmlTextWriterWriteVFormatString'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='member-types'>
-          <ref name='_xmlSchemaType'/>
-        </word>
-        <word name='memo'>
-          <ref name='getSystemId'/>
-          <ref name='xmlSAX2GetSystemId'/>
-        </word>
-        <word name='memorylist'>
-          <ref name='xmlMemDisplay'/>
-          <ref name='xmlMemDisplayLast'/>
-          <ref name='xmlMemoryDump'/>
-        </word>
-        <word name='merged'>
-          <ref name='xmlTextMerge'/>
-        </word>
-        <word name='merging'>
-          <ref name='xmlAddChild'/>
-          <ref name='xmlAddChildList'/>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlAddSibling'/>
-        </word>
-        <word name='messages'>
-          <ref name='errorSAXFunc'/>
-          <ref name='fatalErrorSAXFunc'/>
-          <ref name='warningSAXFunc'/>
-          <ref name='xmlParserError'/>
-          <ref name='xmlParserValidityError'/>
-          <ref name='xmlParserValidityWarning'/>
-          <ref name='xmlParserWarning'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-        </word>
-        <word name='method'>
-          <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
-          <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
-          <ref name='_xmlBuffer'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlOutputBufferCreateFilenameFunc'/>
-          <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-          <ref name='xmlRegisterHTTPPostCallbacks'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-          <ref name='xmlTextReaderClose'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='might'>
-          <ref name='xmlNewTextChild'/>
-        </word>
-        <word name='migrate'>
-          <ref name='xmlEncodeEntities'/>
-        </word>
-        <word name='min'>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='minLength'>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-        </word>
-        <word name='minimal'>
-          <ref name='xmlAutomataNewCounter'/>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='minimum'>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-          <ref name='xmlBufferGrow'/>
-          <ref name='xmlBufferResize'/>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlPatternMinDepth'/>
-        </word>
-        <word name='minus'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='minute'>
-          <ref name='ftpListCallback'/>
-        </word>
-        <word name='misc'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='misleading'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-        </word>
-        <word name='missing'>
-          <ref name='xmlParseSDDecl'/>
-        </word>
-        <word name='mixed'>
-          <ref name='XML_SCHEMAS_TYPE_MIXED'/>
-          <ref name='xmlKeepBlanksDefault'/>
-        </word>
-        <word name='mixed-content'>
-          <ref name='xmlParseElementMixedContentDecl'/>
-        </word>
-        <word name='mmap'>
-          <ref name='xmlParserInputBufferCreateStatic'/>
-        </word>
-        <word name='mod'>
-          <ref name='xmlXPathModValues'/>
-        </word>
-        <word name='mode'>
-          <ref name='_xmlBuffer'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='docbCreatePushParserCtxt'/>
-          <ref name='htmlCreatePushParserCtxt'/>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlGetCompressMode'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlNanoFTPGetConnection'/>
-          <ref name='xmlParseReference'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlParserInputBufferPush'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-          <ref name='xmlSetCompressMode'/>
-        </word>
-        <word name='model'>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xmlValidBuildContentModel'/>
-        </word>
-        <word name='modified'>
-          <ref name='xmlBufferCreateStatic'/>
-          <ref name='xmlNodeAddContent'/>
-          <ref name='xmlNodeAddContentLen'/>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-          <ref name='xmlSchemaNewDocParserCtxt'/>
-          <ref name='xmlSchematronNewDocParserCtxt'/>
-        </word>
-        <word name='modifies'>
-          <ref name='xmlRelaxNGNewDocParserCtxt'/>
-        </word>
-        <word name='modify'>
-          <ref name='xmlShell'/>
-        </word>
-        <word name='module'>
-          <ref name='LIBXML_DEBUG_ENABLED'/>
-          <ref name='LIBXML_MODULES_ENABLED'/>
-          <ref name='xmlInputMatchCallback'/>
-          <ref name='xmlModuleClose'/>
-          <ref name='xmlModuleFree'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-          <ref name='xmlOutputMatchCallback'/>
-          <ref name='xmlStructuredErrorFunc'/>
-        </word>
-        <word name='modules'>
-          <ref name='LIBXML_MODULE_EXTENSION'/>
-        </word>
-        <word name='moment'>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='month'>
-          <ref name='ftpListCallback'/>
-        </word>
-        <word name='more'>
-          <ref name='XML_MAX_NAMELEN'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='xmlExpGetLanguage'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseElementDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlStrEqual'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-          <ref name='xmlTextReaderNext'/>
-          <ref name='xmlTextReaderNextSibling'/>
-          <ref name='xmlTextReaderRead'/>
-          <ref name='xmlTextReaderReadAttributeValue'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='moreover'>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-        </word>
-        <word name='most'>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlGetFeaturesList'/>
-        </word>
-        <word name='move'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-        </word>
-        <word name='moved'>
-          <ref name='xmlTextReaderMoveToElement'/>
-        </word>
-        <word name='much'>
-          <ref name='xmlDictGetUsage'/>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='multi-threaded'>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-        </word>
-        <word name='multi-threading'>
-          <ref name='xmlCleanupGlobals'/>
-          <ref name='xmlInitGlobals'/>
-        </word>
-        <word name='multiple'>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlStringCurrentChar'/>
-        </word>
-        <word name='multiply'>
-          <ref name='xmlXPathMultValues'/>
-        </word>
-        <word name='multithreaded'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlInitParser'/>
-        </word>
-        <word name='mutex'>
-          <ref name='xmlDictCleanup'/>
-          <ref name='xmlFreeMutex'/>
-          <ref name='xmlFreeRMutex'/>
-          <ref name='xmlInitializeDict'/>
-          <ref name='xmlMutexLock'/>
-          <ref name='xmlMutexUnlock'/>
-          <ref name='xmlNewMutex'/>
-          <ref name='xmlNewRMutex'/>
-          <ref name='xmlRMutexLock'/>
-          <ref name='xmlRMutexUnlock'/>
-        </word>
-        <word name='myDoc'>
-          <ref name='docbFreeParserCtxt'/>
-          <ref name='htmlFreeParserCtxt'/>
-          <ref name='xmlFreeParserCtxt'/>
-        </word>
-        <word name='myproxy'>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-        </word>
-        <word name='myproxy:3128'>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk20'>
-      <letter name='n'>
-        <word name='named'>
-          <ref name='xmlAddEncodingAlias'/>
-        </word>
-        <word name='names'>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlSchema'/>
-          <ref name='xmlGetFeaturesList'/>
-          <ref name='xmlHashAddEntry'/>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull3'/>
-          <ref name='xmlParseNotationType'/>
-          <ref name='xmlValidGetPotentialChildren'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='namespace-binding'>
-          <ref name='xmlSetProp'/>
-        </word>
-        <word name='namespace-uri'>
-          <ref name='xmlXPathNamespaceURIFunction'/>
-        </word>
-        <word name='namespace:'>
-          <ref name='XINCLUDE_NS'/>
-          <ref name='XINCLUDE_OLD_NS'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseStartTag'/>
-        </word>
-        <word name='namespaces'>
-          <ref name='XML_XPATH_CHECKNS'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlSchemaWildcard'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlCopyDoc'/>
-          <ref name='xmlCopyNode'/>
-          <ref name='xmlDOMWrapAcquireNsFunction'/>
-          <ref name='xmlDocCopyNode'/>
-          <ref name='xmlFreeNsList'/>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='naming'>
-          <ref name='xmlChildrenNode'/>
-          <ref name='xmlRootNode'/>
-        </word>
-        <word name='nbBytes'>
-          <ref name='xmlMemDisplayLast'/>
-        </word>
-        <word name='nbval'>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-        </word>
-        <word name='ncname'>
-          <ref name='xmlBuildQName'/>
-        </word>
-        <word name='ndata'>
-          <ref name='_xmlEntity'/>
-        </word>
-        <word name='nearest'>
-          <ref name='xmlNodeGetLang'/>
-          <ref name='xmlNodeGetSpacePreserve'/>
-          <ref name='xmlXPathLangFunction'/>
-        </word>
-        <word name='nearly'>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-        </word>
-        <word name='necessary'>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlCheckUTF8'/>
-          <ref name='xmlDebugDumpString'/>
-        </word>
-        <word name='needed'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='htmlEntityLookup'/>
-          <ref name='htmlEntityValueLookup'/>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-          <ref name='xmlNewEntity'/>
-          <ref name='xmlNewNodeEatName'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlSchemaSAXPlug'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-          <ref name='xmlShellPwd'/>
-          <ref name='xmlTextReaderCurrentDoc'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlXPathPopBoolean'/>
-          <ref name='xmlXPathPopExternal'/>
-          <ref name='xmlXPathPopNodeSet'/>
-          <ref name='xmlXPathPopNumber'/>
-          <ref name='xmlXPathPopString'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='needing'>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='needle'>
-          <ref name='xmlStrcasestr'/>
-          <ref name='xmlStrstr'/>
-        </word>
-        <word name='needs'>
-          <ref name='xmlEntityReferenceFunc'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-          <ref name='xmlXPathNodeSetFreeNs'/>
-        </word>
-        <word name='negated'>
-          <ref name='_xmlSchemaWildcard'/>
-        </word>
-        <word name='negative'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlRegExecPushString'/>
-          <ref name='xmlRegExecPushString2'/>
-          <ref name='xmlRegexpExec'/>
-          <ref name='xmlRegexpIsDeterminist'/>
-          <ref name='xmlShellCmd'/>
-          <ref name='xmlXPathBooleanFunction'/>
-          <ref name='xmlXPathCeilingFunction'/>
-          <ref name='xmlXPathStringEvalNumber'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='neither'>
-          <ref name='xmlHasNsProp'/>
-          <ref name='xmlHasProp'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlTextReaderReadInnerXml'/>
-          <ref name='xmlXPathBooleanFunction'/>
-          <ref name='xmlXPathCompareValues'/>
-        </word>
-        <word name='nested'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='network'>
-          <ref name='htmlCtxtReadFile'/>
-          <ref name='htmlReadFile'/>
-          <ref name='xmlCtxtReadFile'/>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-          <ref name='xmlReadFile'/>
-          <ref name='xmlReaderForFile'/>
-          <ref name='xmlReaderNewFile'/>
-        </word>
-        <word name='nice'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='nillable'>
-          <ref name='XML_SCHEMAS_ELEM_NILLABLE'/>
-          <ref name='xmlExpIsNillable'/>
-        </word>
-        <word name='no-op'>
-          <ref name='htmlInitAutoClose'/>
-        </word>
-        <word name='nod'>
-          <ref name='xmlEntityReferenceFunc'/>
-        </word>
-        <word name='node-'>
-          <ref name='_xmlDOMWrapCtxt'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='node-set?'>
-          <ref name='xmlXPathLocalNameFunction'/>
-          <ref name='xmlXPathNamespaceURIFunction'/>
-        </word>
-        <word name='nodeInfos'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='nodelist'>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-        </word>
-        <word name='nodes1'>
-          <ref name='xmlXPathDifference'/>
-        </word>
-        <word name='nodes2'>
-          <ref name='xmlXPathDifference'/>
-        </word>
-        <word name='nodeset'>
-          <ref name='xmlXPathNodeSetFreeNs'/>
-        </word>
-        <word name='nodesets'>
-          <ref name='xmlXPathNodeSetMerge'/>
-        </word>
-        <word name='non'>
-          <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlTextReaderBaseUri'/>
-          <ref name='xmlTextReaderLocalName'/>
-          <ref name='xmlTextReaderLocatorBaseURI'/>
-          <ref name='xmlTextReaderName'/>
-          <ref name='xmlTextReaderNamespaceUri'/>
-          <ref name='xmlTextReaderPrefix'/>
-          <ref name='xmlTextReaderXmlLang'/>
-          <ref name='xmlXPathParseNCName'/>
-        </word>
-        <word name='non-CDATA'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='non-NULL'>
-          <ref name='htmlParseEntityRef'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlParseEntityValue'/>
-        </word>
-        <word name='non-UTF-8'>
-          <ref name='xmlByteConsumed'/>
-        </word>
-        <word name='non-blank'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-        </word>
-        <word name='non-determinist'>
-          <ref name='_xmlValidCtxt'/>
-        </word>
-        <word name='non-empty'>
-          <ref name='xmlXPathBooleanFunction'/>
-        </word>
-        <word name='non-final'>
-          <ref name='xmlRegExecPushString'/>
-          <ref name='xmlRegExecPushString2'/>
-        </word>
-        <word name='non-negative'>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlTextReaderPreservePattern'/>
-        </word>
-        <word name='non-normative'>
-          <ref name='xmlDetectCharEncoding'/>
-        </word>
-        <word name='non-null'>
-          <ref name='xmlShellPrintNode'/>
-        </word>
-        <word name='non-recursive'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='non-stateless'>
-          <ref name='xmlCharEncOutFunc'/>
-        </word>
-        <word name='non-validating'>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseEntityRef'/>
-        </word>
-        <word name='non-zero'>
-          <ref name='initxmlDefaultSAXHandler'/>
-          <ref name='xmlHasFeature'/>
-          <ref name='xmlIsLetter'/>
-          <ref name='xmlSAX2InitDefaultSAXHandler'/>
-          <ref name='xmlXPathBooleanFunction'/>
-        </word>
-        <word name='none'>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-          <ref name='getNamespace'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlGetLastChild'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlSchemaValueGetAsString'/>
-          <ref name='xmlSchemaValueGetNext'/>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-          <ref name='xmlTextReaderConstXmlLang'/>
-          <ref name='xmlTextReaderXmlLang'/>
-        </word>
-        <word name='nor'>
-          <ref name='xmlBufferCreateStatic'/>
-          <ref name='xmlBuildQName'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-          <ref name='xmlTextReaderReadInnerXml'/>
-          <ref name='xmlXPathBooleanFunction'/>
-        </word>
-        <word name='normal'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlInitCharEncodingHandlers'/>
-          <ref name='xmlParserInputBufferGrow'/>
-        </word>
-        <word name='normalization'>
-          <ref name='xmlNormalizeURIPath'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-        </word>
-        <word name='normalization:'>
-          <ref name='xmlCurrentChar'/>
-        </word>
-        <word name='normalizations'>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
-        <word name='normalize'>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlSchemaCollapseString'/>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
-        <word name='normalize-space'>
-          <ref name='xmlXPathNormalizeFunction'/>
-        </word>
-        <word name='normalized'>
-          <ref name='XML_SCHEMAS_TYPE_NORMVALUENEEDED'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-        </word>
-        <word name='normalizing'>
-          <ref name='xmlCurrentChar'/>
-        </word>
-        <word name='normally'>
-          <ref name='_xmlNs'/>
-          <ref name='c'/>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='notations'>
-          <ref name='_xmlDtd'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='note'>
-          <ref name='xmlCheckUTF8'/>
-          <ref name='xmlLoadExternalEntity'/>
-        </word>
-        <word name='notice'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='now'>
-          <ref name='LIBXML_EXPR_ENABLED'/>
-          <ref name='XML_CAST_FPTR'/>
-          <ref name='_xmlSchema'/>
-          <ref name='_xmlSchemaElement'/>
-          <ref name='htmlInitAutoClose'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlScanName'/>
-        </word>
-        <word name='ns-binding'>
-          <ref name='xmlSetProp'/>
-        </word>
-        <word name='ns-decls'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-        </word>
-        <word name='ns-references'>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='nsDef'>
-          <ref name='_xmlDOMWrapCtxt'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='null'>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull3'/>
-          <ref name='xmlShellDu'/>
-        </word>
-        <word name='null-terminated'>
-          <ref name='xmlCheckUTF8'/>
-        </word>
-        <word name='number:'>
-          <ref name='LIBXML_VERSION'/>
-        </word>
-        <word name='number?'>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='numbers'>
-          <ref name='xmlLineNumbersDefault'/>
-          <ref name='xmlUTF8Size'/>
-          <ref name='xmlXPathAddValues'/>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathDivValues'/>
-          <ref name='xmlXPathModValues'/>
-          <ref name='xmlXPathMultValues'/>
-          <ref name='xmlXPathOrderDocElems'/>
-          <ref name='xmlXPathRoundFunction'/>
-          <ref name='xmlXPathSubValues'/>
-          <ref name='xmlXPathValueFlipSign'/>
-        </word>
-        <word name='numeric'>
-          <ref name='xmlXPathAddValues'/>
-          <ref name='xmlXPathDivValues'/>
-          <ref name='xmlXPathModValues'/>
-          <ref name='xmlXPathMultValues'/>
-          <ref name='xmlXPathStringFunction'/>
-          <ref name='xmlXPathSubValues'/>
-          <ref name='xmlXPathSubstringFunction'/>
-          <ref name='xmlXPathValueFlipSign'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk21'>
-      <letter name='o'>
-        <word name='object?'>
-          <ref name='xmlXPathNumberFunction'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='objects'>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathContextSetCache'/>
-          <ref name='xmlXPathDivValues'/>
-          <ref name='xmlXPathEqualValues'/>
-          <ref name='xmlXPathFreeNodeSetList'/>
-          <ref name='xmlXPathNotEqualValues'/>
-        </word>
-        <word name='objects:'>
-          <ref name='xmlXPathAddValues'/>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathModValues'/>
-          <ref name='xmlXPathMultValues'/>
-          <ref name='xmlXPathSubValues'/>
-        </word>
-        <word name='obligated'>
-          <ref name='xmlParseEntityRef'/>
-        </word>
-        <word name='obsolete'>
-          <ref name='xmlNormalizeWindowsPath'/>
-        </word>
-        <word name='obsolete:'>
-          <ref name='XML_SCHEMAS_ELEM_TOPLEVEL'/>
-        </word>
-        <word name='occupied'>
-          <ref name='xmlCanonicPath'/>
-          <ref name='xmlPathToURI'/>
-        </word>
-        <word name='occur'>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-          <ref name='xmlParseComment'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='occurred'>
-          <ref name='xmlCtxtGetLastError'/>
-          <ref name='xmlDictCreate'/>
-          <ref name='xmlDictCreateSub'/>
-          <ref name='xmlGetLastError'/>
-          <ref name='xmlHashCreate'/>
-          <ref name='xmlHashCreateDict'/>
-          <ref name='xmlListRemoveFirst'/>
-          <ref name='xmlListRemoveLast'/>
-          <ref name='xmlMemStrdupLoc'/>
-          <ref name='xmlMemoryStrdup'/>
-          <ref name='xmlTextReaderErrorFunc'/>
-        </word>
-        <word name='occurrence'>
-          <ref name='xmlStrcasestr'/>
-          <ref name='xmlStrchr'/>
-          <ref name='xmlStrstr'/>
-          <ref name='xmlStrsub'/>
-          <ref name='xmlXPathSubstringAfterFunction'/>
-          <ref name='xmlXPathSubstringBeforeFunction'/>
-        </word>
-        <word name='occurrences'>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='occurs'>
-          <ref name='xmlNormalizeURIPath'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlStrPrintf'/>
-          <ref name='xmlStrVPrintf'/>
-        </word>
-        <word name='octets'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='isolat1ToUTF8'/>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-        </word>
-        <word name='of:'>
-          <ref name='xmlParseSDDecl'/>
-        </word>
-        <word name='off'>
-          <ref name='xmlGetNoNsProp'/>
-          <ref name='xmlGetNsProp'/>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlHasNsProp'/>
-          <ref name='xmlHasProp'/>
-          <ref name='xmlLineNumbersDefault'/>
-          <ref name='xmlParseExternalID'/>
-        </word>
-        <word name='okay'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='old'>
-          <ref name='_xmlDoc'/>
-          <ref name='globalNamespace'/>
-          <ref name='xmlDocSetRootElement'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlLineNumbersDefault'/>
-          <ref name='xmlListCopy'/>
-          <ref name='xmlNewGlobalNs'/>
-          <ref name='xmlOutputBufferCreateFilenameDefault'/>
-          <ref name='xmlParserInputBufferCreateFilenameDefault'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlParserInputBufferRead'/>
-          <ref name='xmlRegisterNodeDefault'/>
-          <ref name='xmlReplaceNode'/>
-          <ref name='xmlXPathConvertBoolean'/>
-          <ref name='xmlXPathConvertNumber'/>
-          <ref name='xmlXPathConvertString'/>
-        </word>
-        <word name='oldNs'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='older'>
-          <ref name='LIBXML_SAX1_ENABLED'/>
-          <ref name='xmlParseNamespace'/>
-        </word>
-        <word name='omitted'>
-          <ref name='htmlHandleOmittedElem'/>
-          <ref name='xmlXPathLocalNameFunction'/>
-          <ref name='xmlXPathNamespaceURIFunction'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-          <ref name='xmlXPathStringFunction'/>
-          <ref name='xmlXPathStringLengthFunction'/>
-        </word>
-        <word name='once'>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlEncodeEntities'/>
-          <ref name='xmlInitParser'/>
-          <ref name='xmlInitializeCatalog'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadCatalogs'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseElementDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlParsePI'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlTextReaderCurrentDoc'/>
-          <ref name='xmlTextReaderPreserve'/>
-          <ref name='xmlTextReaderPreservePattern'/>
-          <ref name='xmlValidateDocumentFinal'/>
-          <ref name='xmlValidateDtdFinal'/>
-          <ref name='xmlXPathNodeSetMerge'/>
-          <ref name='xmlXPtrLocationSetMerge'/>
-        </word>
-        <word name='ones'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='xmlCatalogConvert'/>
-          <ref name='xmlConvertSGMLCatalog'/>
-        </word>
-        <word name='onto'>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='opaque'>
-          <ref name='_xmlSchema'/>
-          <ref name='_xmlURI'/>
-        </word>
-        <word name='open'>
-          <ref name='htmlCtxtReadFd'/>
-          <ref name='htmlDocDump'/>
-          <ref name='htmlReadFd'/>
-          <ref name='xmlCtxtReadFd'/>
-          <ref name='xmlDocDump'/>
-          <ref name='xmlDocFormatDump'/>
-          <ref name='xmlIOFTPOpen'/>
-          <ref name='xmlIOHTTPOpen'/>
-          <ref name='xmlInputOpenCallback'/>
-          <ref name='xmlNanoFTPConnect'/>
-          <ref name='xmlNanoFTPConnectTo'/>
-          <ref name='xmlNanoFTPGetConnection'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-          <ref name='xmlOutputOpenCallback'/>
-          <ref name='xmlReadFd'/>
-          <ref name='xmlReaderForFd'/>
-          <ref name='xmlReaderNewFd'/>
-          <ref name='xmlTextWriterEndDocument'/>
-        </word>
-        <word name='opening'>
-          <ref name='startElement'/>
-          <ref name='startElementSAXFunc'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlSAX2StartElement'/>
-        </word>
-        <word name='operands'>
-          <ref name='xmlXPathAddValues'/>
-          <ref name='xmlXPathDivValues'/>
-          <ref name='xmlXPathModValues'/>
-          <ref name='xmlXPathMultValues'/>
-          <ref name='xmlXPathSubValues'/>
-          <ref name='xmlXPathValueFlipSign'/>
-        </word>
-        <word name='operating'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlParserInputBufferPush'/>
-        </word>
-        <word name='operation'>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlCatalogSetDebug'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlExpNewSeq'/>
-          <ref name='xmlTextReaderConstValue'/>
-          <ref name='xmlXPathAddValues'/>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathConvertBoolean'/>
-          <ref name='xmlXPathConvertNumber'/>
-          <ref name='xmlXPathConvertString'/>
-          <ref name='xmlXPathDivValues'/>
-          <ref name='xmlXPathEqualValues'/>
-          <ref name='xmlXPathModValues'/>
-          <ref name='xmlXPathMultValues'/>
-          <ref name='xmlXPathNotEqualValues'/>
-          <ref name='xmlXPathSubValues'/>
-          <ref name='xmlXPathValueFlipSign'/>
-        </word>
-        <word name='operations'>
-          <ref name='_xmlDOMWrapCtxt'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlModuleClose'/>
-          <ref name='xmlModuleFree'/>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='operator'>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlXPathCompareValues'/>
-        </word>
-        <word name='operators'>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlXPathAddValues'/>
-          <ref name='xmlXPathDivValues'/>
-          <ref name='xmlXPathModValues'/>
-          <ref name='xmlXPathMultValues'/>
-          <ref name='xmlXPathSubValues'/>
-          <ref name='xmlXPathValueFlipSign'/>
-        </word>
-        <word name='opposite'>
-          <ref name='xmlCleanupParser'/>
-        </word>
-        <word name='optimized'>
-          <ref name='xmlXPathNodeSetAddUnique'/>
-        </word>
-        <word name='option'>
-          <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlGetLineNo'/>
-          <ref name='xmlSchemaValidCtxtGetOptions'/>
-        </word>
-        <word name='options'>
-          <ref name='htmlCtxtUseOptions'/>
-          <ref name='xmlCtxtUseOptions'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlSaveToBuffer'/>
-          <ref name='xmlSaveToFd'/>
-          <ref name='xmlSaveToFilename'/>
-          <ref name='xmlSaveToIO'/>
-          <ref name='xmlSchemaSetValidOptions'/>
-          <ref name='xmlSchemaValidCtxtGetOptions'/>
-          <ref name='xmlSchemaValidateFile'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetup'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='ordered'>
-          <ref name='xmlListAppend'/>
-          <ref name='xmlListInsert'/>
-          <ref name='xmlXPathNextAncestor'/>
-          <ref name='xmlXPathNextFollowing'/>
-          <ref name='xmlXPathNextPreceding'/>
-        </word>
-        <word name='ordering'>
-          <ref name='xmlListDataCompare'/>
-        </word>
-        <word name='org'>
-          <ref name='XINCLUDE_NS'/>
-          <ref name='XINCLUDE_OLD_NS'/>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlGetCharEncodingName'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlSchemaGetPredefinedType'/>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-        <word name='oriented'>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='origin'>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='original'>
-          <ref name='_xmlSchemaElement'/>
-          <ref name='_xmlSchemaFacet'/>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCopyError'/>
-          <ref name='xmlGetEncodingAlias'/>
-          <ref name='xmlListMerge'/>
-          <ref name='xmlParseEntityValue'/>
-          <ref name='xmlParseURIRaw'/>
-          <ref name='xmlSchemaSAXPlug'/>
-          <ref name='xmlSchemaSAXUnplug'/>
-          <ref name='xmlShellSave'/>
-          <ref name='xmlStrcat'/>
-          <ref name='xmlStrncat'/>
-          <ref name='xmlStrncatNew'/>
-          <ref name='xmlXPathObjectCopy'/>
-        </word>
-        <word name='other'>
-          <ref name='XML_SCHEMAS_INCLUDING_CONVERT_NS'/>
-          <ref name='htmlAutoCloseTag'/>
-          <ref name='htmlIsAutoClosed'/>
-          <ref name='htmlNodeStatus'/>
-          <ref name='xmlAutomataNewNegTrans'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlSchemaNewStringValue'/>
-          <ref name='xmlTextReaderIsNamespaceDecl'/>
-          <ref name='xmlTextReaderReadString'/>
-          <ref name='xmlValidateRoot'/>
-          <ref name='xmlXPathIdFunction'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-          <ref name='xmlXPathStringFunction'/>
-          <ref name='xmlXPathStringLengthFunction'/>
-        </word>
-        <word name='our'>
-          <ref name='setDocumentLocator'/>
-          <ref name='setDocumentLocatorSAXFunc'/>
-          <ref name='xmlSAX2SetDocumentLocator'/>
-        </word>
-        <word name='out'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='isolat1ToUTF8'/>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlLockLibrary'/>
-          <ref name='xmlParseEntity'/>
-          <ref name='xmlSAXParseEntity'/>
-          <ref name='xmlSchemaValidityLocatorFunc'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-          <ref name='xmlTextReaderNormalization'/>
-          <ref name='xmlXPathFunction'/>
-          <ref name='xmlXPathNodeSetItem'/>
-        </word>
-        <word name='out-of'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-        </word>
-        <word name='output?'>
-          <ref name='xmlNewTextWriterDoc'/>
-          <ref name='xmlNewTextWriterFilename'/>
-          <ref name='xmlNewTextWriterMemory'/>
-          <ref name='xmlNewTextWriterPushParser'/>
-          <ref name='xmlNewTextWriterTree'/>
-        </word>
-        <word name='outside'>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='over'>
-          <ref name='xmlExpCtxtNbCons'/>
-        </word>
-        <word name='overflow'>
-          <ref name='_xmlParserInput'/>
-        </word>
-        <word name='override'>
-          <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlGetLineNo'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-        </word>
-        <word name='overriding'>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-        </word>
-        <word name='overwrite'>
-          <ref name='xmlACatalogAdd'/>
-          <ref name='xmlCatalogAdd'/>
-        </word>
-        <word name='overwritten'>
-          <ref name='xmlAddEncodingAlias'/>
-        </word>
-        <word name='own'>
-          <ref name='_xmlEntity'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlCleanupMemory'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-        </word>
-        <word name='owned'>
-          <ref name='xmlClearParserCtxt'/>
-          <ref name='xmlDictOwns'/>
-        </word>
-        <word name='owner'>
-          <ref name='ftpListCallback'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='ownership'>
-          <ref name='xmlAddAttributeDecl'/>
-        </word>
-        <word name='owning'>
-          <ref name='xmlCopyDocElementContent'/>
-          <ref name='xmlFreeDocElementContent'/>
-          <ref name='xmlNewDocFragment'/>
-        </word>
-        <word name='owns'>
-          <ref name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk22'>
-      <letter name='p'>
-        <word name='pairs'>
-          <ref name='startElement'/>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='startElementSAXFunc'/>
-          <ref name='xmlSAX2StartElement'/>
-          <ref name='xmlSAX2StartElementNs'/>
-        </word>
-        <word name='param'>
-          <ref name='_xmlDtd'/>
-        </word>
-        <word name='parameter-entity'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='parameters'>
-          <ref name='ATTRIBUTE_UNUSED'/>
-          <ref name='errorSAXFunc'/>
-          <ref name='fatalErrorSAXFunc'/>
-          <ref name='warningSAXFunc'/>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlParserError'/>
-          <ref name='xmlParserValidityError'/>
-          <ref name='xmlParserValidityWarning'/>
-          <ref name='xmlParserWarning'/>
-          <ref name='xmlStrPrintf'/>
-          <ref name='xmlStrVPrintf'/>
-          <ref name='xmlTextWriterWriteFormatAttribute'/>
-          <ref name='xmlTextWriterWriteFormatAttributeNS'/>
-          <ref name='xmlTextWriterWriteFormatCDATA'/>
-          <ref name='xmlTextWriterWriteFormatComment'/>
-          <ref name='xmlTextWriterWriteFormatDTD'/>
-          <ref name='xmlTextWriterWriteFormatDTDAttlist'/>
-          <ref name='xmlTextWriterWriteFormatDTDElement'/>
-          <ref name='xmlTextWriterWriteFormatDTDInternalEntity'/>
-          <ref name='xmlTextWriterWriteFormatElement'/>
-          <ref name='xmlTextWriterWriteFormatElementNS'/>
-          <ref name='xmlTextWriterWriteFormatPI'/>
-          <ref name='xmlTextWriterWriteFormatRaw'/>
-          <ref name='xmlTextWriterWriteFormatString'/>
-          <ref name='xmlXPathEvalFunc'/>
-        </word>
-        <word name='parent-'>
-          <ref name='_xmlNode'/>
-        </word>
-        <word name='parentheses'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-        </word>
-        <word name='parenthesis'>
-          <ref name='xmlSnprintfElementContent'/>
-          <ref name='xmlSprintfElementContent'/>
-        </word>
-        <word name='parenthesized'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-        </word>
-        <word name='parents'>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlSearchNsByHref'/>
-        </word>
-        <word name='partial'>
-          <ref name='xmlOutputBufferWrite'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlOutputBufferWriteString'/>
-        </word>
-        <word name='particular'>
-          <ref name='_xmlNodeSet'/>
-        </word>
-        <word name='pass'>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlRelaxParserSetFlag'/>
-          <ref name='xmlTextReaderSetErrorHandler'/>
-          <ref name='xmlTextReaderSetStructuredErrorHandler'/>
-        </word>
-        <word name='passed'>
-          <ref name='CHECK_ARITY'/>
-          <ref name='xmlAutomataNewNegTrans'/>
-          <ref name='xmlAutomataNewTransition'/>
-          <ref name='xmlAutomataNewTransition2'/>
-          <ref name='xmlHashScan'/>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull'/>
-          <ref name='xmlHashScanFull3'/>
-          <ref name='xmlListReverseWalk'/>
-          <ref name='xmlListWalk'/>
-          <ref name='xmlNanoFTPGet'/>
-          <ref name='xmlNanoFTPList'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-          <ref name='xmlXIncludeProcessFlagsData'/>
-          <ref name='xmlXIncludeProcessTreeFlagsData'/>
-          <ref name='xmlXPathEvalFunc'/>
-          <ref name='xmlXPathIntersection'/>
-        </word>
-        <word name='passive'>
-          <ref name='xmlNanoFTPGetConnection'/>
-        </word>
-        <word name='password'>
-          <ref name='xmlNanoFTPProxy'/>
-        </word>
-        <word name='past'>
-          <ref name='attribute'/>
-          <ref name='attributeSAXFunc'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='paste'>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='path'>
-          <ref name='_xmlURI'/>
-          <ref name='xmlCanonicPath'/>
-          <ref name='xmlCheckFilename'/>
-          <ref name='xmlGetNodePath'/>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlNanoFTPGetSocket'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-          <ref name='xmlNormalizeURIPath'/>
-          <ref name='xmlNormalizeWindowsPath'/>
-          <ref name='xmlParserGetDirectory'/>
-          <ref name='xmlPathToURI'/>
-          <ref name='xmlShellPwd'/>
-          <ref name='xmlShellValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-        </word>
-        <word name='pathological'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-        </word>
-        <word name='pattern'>
-          <ref name='XML_SCHEMAS_TYPE_NORMVALUENEEDED'/>
-          <ref name='xmlPatternFromRoot'/>
-          <ref name='xmlPatternGetStreamCtxt'/>
-          <ref name='xmlPatternMatch'/>
-          <ref name='xmlPatternMaxDepth'/>
-          <ref name='xmlPatternMinDepth'/>
-          <ref name='xmlPatternStreamable'/>
-          <ref name='xmlPatterncompile'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-          <ref name='xmlTextReaderPreservePattern'/>
-        </word>
-        <word name='patterns'>
-          <ref name='_xmlSchemaFacet'/>
-        </word>
-        <word name='pcdata'>
-          <ref name='cdataBlock'/>
-          <ref name='cdataBlockSAXFunc'/>
-          <ref name='xmlSAX2CDataBlock'/>
-        </word>
-        <word name='pedantic'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlPedanticParserDefault'/>
-        </word>
-        <word name='per'>
-          <ref name='xmlGetLastError'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlValidateElementDecl'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='per-thread'>
-          <ref name='LIBXML_THREAD_ALLOC_ENABLED'/>
-        </word>
-        <word name='performance'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-        </word>
-        <word name='performed'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='permanently'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='pertain'>
-          <ref name='xmlNewDocTextLen'/>
-        </word>
-        <word name='pertains'>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseExternalEntity'/>
-        </word>
-        <word name='phase'>
-          <ref name='xmlRegNewExecCtxt'/>
-        </word>
-        <word name='pic1'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='piece'>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-        </word>
-        <word name='pieces'>
-          <ref name='xmlParseURIRaw'/>
-        </word>
-        <word name='place'>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlCopyError'/>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlMemGet'/>
-          <ref name='xmlReplaceNode'/>
-        </word>
-        <word name='places'>
-          <ref name='xmlMemDisplayLast'/>
-          <ref name='xmlStrPrintf'/>
-          <ref name='xmlStrVPrintf'/>
-        </word>
-        <word name='platforms'>
-          <ref name='xmlGetThreadId'/>
-        </word>
-        <word name='plug'>
-          <ref name='xmlXPathFuncLookupFunc'/>
-          <ref name='xmlXPathVariableLookupFunc'/>
-        </word>
-        <word name='plugin'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='plugins'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='plus'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-        </word>
-        <word name='pnetlib-doc'>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-        <word name='pointed'>
-          <ref name='xmlPopInput'/>
-        </word>
-        <word name='pointers'>
-          <ref name='xmlParserInputGrow'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlSchemaSAXPlug'/>
-          <ref name='xmlSchemaSAXUnplug'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='points'>
-          <ref name='_xmlChRangeGroup'/>
-        </word>
-        <word name='pop'>
-          <ref name='xmlPopInput'/>
-        </word>
-        <word name='popped'>
-          <ref name='xmlXPathFunction'/>
-        </word>
-        <word name='pops'>
-          <ref name='xmlSkipBlankChars'/>
-        </word>
-        <word name='port'>
-          <ref name='_xmlURI'/>
-          <ref name='xmlNanoFTPConnectTo'/>
-          <ref name='xmlNanoFTPProxy'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-        </word>
-        <word name='portability'>
-          <ref name='INVALID_SOCKET'/>
-          <ref name='SOCKET'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-        </word>
-        <word name='pos'>
-          <ref name='xmlUTF8Strsub'/>
-        </word>
-        <word name='position:'>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='positioned'>
-          <ref name='xmlTextReaderReadAttributeValue'/>
-          <ref name='xmlTextReaderReadString'/>
-        </word>
-        <word name='positions'>
-          <ref name='xmlUTF8Strsub'/>
-        </word>
-        <word name='possible'>
-          <ref name='xmlCopyNodeList'/>
-          <ref name='xmlCreateEntityParserCtxt'/>
-          <ref name='xmlParseDefaultDecl'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetSchema'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='possibly'>
-          <ref name='xmlDocGetRootElement'/>
-          <ref name='xmlDocSetRootElement'/>
-          <ref name='xmlIsBlankNode'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlSaveToFilename'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='posteriori'>
-          <ref name='xmlSetNs'/>
-        </word>
-        <word name='potential'>
-          <ref name='xmlDebugCheckDocument'/>
-          <ref name='xmlValidGetPotentialChildren'/>
-        </word>
-        <word name='potentially'>
-          <ref name='_xmlURI'/>
-        </word>
-        <word name='practice'>
-          <ref name='xmlParseVersionNum'/>
-        </word>
-        <word name='pre-interned'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='preallocated'>
-          <ref name='xmlBuildQName'/>
-        </word>
-        <word name='precede'>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlXPathLeading'/>
-          <ref name='xmlXPathLeadingSorted'/>
-          <ref name='xmlXPathNodeLeading'/>
-          <ref name='xmlXPathNodeLeadingSorted'/>
-        </word>
-        <word name='preceded'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='precedes'>
-          <ref name='xmlXPathSubstringBeforeFunction'/>
-        </word>
-        <word name='preceding'>
-          <ref name='_xmlXPathParserContext'/>
-          <ref name='xmlXPathNextPreceding'/>
-          <ref name='xmlXPathNextPrecedingSibling'/>
-        </word>
-        <word name='preceding-sibling'>
-          <ref name='xmlXPathNextPrecedingSibling'/>
-        </word>
-        <word name='precisely'>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='precompiled'>
-          <ref name='_xmlXPathParserContext'/>
-          <ref name='xmlPatternFromRoot'/>
-          <ref name='xmlPatternGetStreamCtxt'/>
-          <ref name='xmlPatternMatch'/>
-          <ref name='xmlPatternMaxDepth'/>
-          <ref name='xmlPatternMinDepth'/>
-          <ref name='xmlPatternStreamable'/>
-          <ref name='xmlRegNewExecCtxt'/>
-          <ref name='xmlRelaxNGNewValidCtxt'/>
-          <ref name='xmlSchemaNewValidCtxt'/>
-          <ref name='xmlSchematronNewValidCtxt'/>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderSetSchema'/>
-          <ref name='xmlXPathDebugDumpCompExpr'/>
-        </word>
-        <word name='precomputed'>
-          <ref name='xmlSchemaCopyValue'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaGetCanonValueWhtsp'/>
-          <ref name='xmlSchemaValidateFacet'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-        </word>
-        <word name='predefined'>
-          <ref name='XML_XML_NAMESPACE'/>
-          <ref name='xmlCleanupPredefinedEntities'/>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-          <ref name='xmlEncodeSpecialChars'/>
-          <ref name='xmlGetDocEntity'/>
-          <ref name='xmlGetPredefinedEntity'/>
-          <ref name='xmlInitializePredefinedEntities'/>
-          <ref name='xmlParseReference'/>
-          <ref name='xmlSchemaValPredefTypeNode'/>
-          <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-          <ref name='xmlSchemaValidatePredefinedType'/>
-        </word>
-        <word name='predicate'>
-          <ref name='xmlXPathEvalPredicate'/>
-          <ref name='xmlXPathEvaluatePredicateResult'/>
-          <ref name='xmlXPtrEvalRangePredicate'/>
-        </word>
-        <word name='preferably'>
-          <ref name='xmlInitializeCatalog'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadCatalogs'/>
-          <ref name='xmlNewPI'/>
-        </word>
-        <word name='preference'>
-          <ref name='xmlCatalogGetDefaults'/>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-          <ref name='xmlCatalogSetDefaults'/>
-        </word>
-        <word name='prefixes'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-        </word>
-        <word name='preparing'>
-          <ref name='xmlCleanupParser'/>
-        </word>
-        <word name='preparsed'>
-          <ref name='xmlReaderNewWalker'/>
-          <ref name='xmlReaderWalker'/>
-          <ref name='xmlRelaxNGNewDocParserCtxt'/>
-          <ref name='xmlSchemaNewDocParserCtxt'/>
-          <ref name='xmlSchematronNewDocParserCtxt'/>
-        </word>
-        <word name='prepend'>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='present'>
-          <ref name='xmlBufferCreateStatic'/>
-          <ref name='xmlDictLookup'/>
-          <ref name='xmlDictQLookup'/>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlNewNs'/>
-          <ref name='xmlTextReaderConstValue'/>
-          <ref name='xmlTextReaderValue'/>
-          <ref name='xmlValidateDocument'/>
-          <ref name='xmlValidateDtd'/>
-          <ref name='xmlValidateOneElement'/>
-        </word>
-        <word name='preserve'>
-          <ref name='XML_SCHEMAS_FACET_PRESERVE'/>
-          <ref name='XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlNodeGetSpacePreserve'/>
-          <ref name='xmlNodeSetSpacePreserve'/>
-          <ref name='xmlParserInputGrow'/>
-          <ref name='xmlTextReaderPreserve'/>
-          <ref name='xmlTextReaderPreservePattern'/>
-        </word>
-        <word name='preserved'>
-          <ref name='HTML_PRESERVE_NODE'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlParserInputBufferGrow'/>
-        </word>
-        <word name='preserving'>
-          <ref name='xmlNodeGetSpacePreserve'/>
-          <ref name='xmlNodeSetSpacePreserve'/>
-        </word>
-        <word name='prev'>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='prevent'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='previous'>
-          <ref name='_xmlAttr'/>
-          <ref name='_xmlAttribute'/>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlDtd'/>
-          <ref name='_xmlElement'/>
-          <ref name='_xmlEntity'/>
-          <ref name='_xmlNode'/>
-          <ref name='htmlHandleOmittedElem'/>
-          <ref name='htmlParseElement'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlBufferDetach'/>
-          <ref name='xmlCatalogSetDebug'/>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-          <ref name='xmlDeregisterNodeDefault'/>
-          <ref name='xmlDictSetLimit'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlLineNumbersDefault'/>
-          <ref name='xmlPedanticParserDefault'/>
-          <ref name='xmlPreviousElementSibling'/>
-          <ref name='xmlPushInput'/>
-          <ref name='xmlSAXDefaultVersion'/>
-          <ref name='xmlSubstituteEntitiesDefault'/>
-          <ref name='xmlXPathAxisFunc'/>
-        </word>
-        <word name='primitive'>
-          <ref name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
-          <ref name='xmlXPathConvertFunc'/>
-        </word>
-        <word name='print'>
-          <ref name='xmlShellPrintNode'/>
-          <ref name='xmlSnprintfElementContent'/>
-          <ref name='xmlSprintfElementContent'/>
-        </word>
-        <word name='printed'>
-          <ref name='htmlNodeDump'/>
-          <ref name='htmlNodeDumpFile'/>
-          <ref name='htmlNodeDumpFileFormat'/>
-          <ref name='htmlNodeDumpFormatOutput'/>
-          <ref name='htmlNodeDumpOutput'/>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlElemDump'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-        </word>
-        <word name='prior'>
-          <ref name='xmlSetupParserForBuffer'/>
-        </word>
-        <word name='private'>
-          <ref name='xmlCatalogLocalResolve'/>
-          <ref name='xmlCatalogLocalResolveURI'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlRelaxParserSetFlag'/>
-        </word>
-        <word name='privateuse'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='problem'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlRelaxNGValidateFullElement'/>
-          <ref name='xmlRelaxNGValidatePopElement'/>
-          <ref name='xmlRelaxNGValidatePushCData'/>
-          <ref name='xmlRelaxNGValidatePushElement'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-          <ref name='xmlUTF8Strsub'/>
-          <ref name='xmlValidatePopElement'/>
-          <ref name='xmlValidatePushCData'/>
-          <ref name='xmlValidatePushElement'/>
-        </word>
-        <word name='problems'>
-          <ref name='xmlBufferResize'/>
-          <ref name='xmlDebugCheckDocument'/>
-          <ref name='xmlLoadExternalEntity'/>
-          <ref name='xmlValidateDtd'/>
-        </word>
-        <word name='procedure'>
-          <ref name='initxmlDefaultSAXHandler'/>
-          <ref name='xmlSAX2InitDefaultSAXHandler'/>
-        </word>
-        <word name='process'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlNewTextReaderFilename'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlRelaxNGNewDocParserCtxt'/>
-          <ref name='xmlSchemaNewDocParserCtxt'/>
-          <ref name='xmlSchematronNewDocParserCtxt'/>
-          <ref name='xmlSkipBlankChars'/>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-        </word>
-        <word name='processed'>
-          <ref name='startDocument'/>
-          <ref name='startDocumentSAXFunc'/>
-          <ref name='startElement'/>
-          <ref name='startElementSAXFunc'/>
-          <ref name='xmlBuildURI'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlSAX2StartDocument'/>
-          <ref name='xmlSAX2StartElement'/>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-          <ref name='xmlTextReaderSetSchema'/>
-        </word>
-        <word name='processing-instruction'>
-          <ref name='xmlXPathIsNodeType'/>
-        </word>
-        <word name='processing-instruction-node'>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='processing-instruction-nodes'>
-          <ref name='xmlStreamWantsAnyNode'/>
-        </word>
-        <word name='processor'>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-        </word>
-        <word name='produce'>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlStringGetNodeList'/>
-          <ref name='xmlStringLenGetNodeList'/>
-        </word>
-        <word name='produced'>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='isolat1ToUTF8'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlCurrentChar'/>
-        </word>
-        <word name='producing'>
-          <ref name='xmlCheckUTF8'/>
-        </word>
-        <word name='production:'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='productions'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='program'>
-          <ref name='xmlXPtrNewContext'/>
-        </word>
-        <word name='programs'>
-          <ref name='xmlInitParser'/>
-        </word>
-        <word name='progressed'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='progresses'>
-          <ref name='xmlRegNewExecCtxt'/>
-        </word>
-        <word name='progressive'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlAllocParserInputBuffer'/>
-          <ref name='xmlOutputBufferCreateBuffer'/>
-          <ref name='xmlOutputBufferCreateFd'/>
-          <ref name='xmlOutputBufferCreateFile'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlOutputBufferCreateIO'/>
-          <ref name='xmlParserInputBufferCreateFd'/>
-          <ref name='xmlParserInputBufferCreateFile'/>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-          <ref name='xmlParserInputBufferCreateIO'/>
-          <ref name='xmlParserInputBufferCreateMem'/>
-          <ref name='xmlParserInputBufferCreateStatic'/>
-          <ref name='xmlParserInputBufferPush'/>
-          <ref name='xmlRegNewExecCtxt'/>
-        </word>
-        <word name='prohibited'>
-          <ref name='XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
-        </word>
-        <word name='prolog'>
-          <ref name='xmlParseDocument'/>
-        </word>
-        <word name='prompt'>
-          <ref name='xmlShellReadlineFunc'/>
-        </word>
-        <word name='proper'>
-          <ref name='xmlValidateAttributeValue'/>
-        </word>
-        <word name='properly'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='properties'>
-          <ref name='_xmlNode'/>
-          <ref name='xmlAddChild'/>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlCopyNode'/>
-          <ref name='xmlDocCopyNode'/>
-          <ref name='xmlTextReaderRead'/>
-          <ref name='xmlTextReaderSetParserProp'/>
-        </word>
-        <word name='property'>
-          <ref name='_xmlAttr'/>
-          <ref name='_xmlDtd'/>
-          <ref name='xmlAddChild'/>
-          <ref name='xmlFreePropList'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNewNsProp'/>
-          <ref name='xmlNewNsPropEatName'/>
-          <ref name='xmlNewProp'/>
-          <ref name='xmlTextReaderGetParserProp'/>
-        </word>
-        <word name='protocol'>
-          <ref name='xmlNanoFTPCleanup'/>
-          <ref name='xmlNanoFTPInit'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-          <ref name='xmlNanoHTTPCleanup'/>
-          <ref name='xmlNanoHTTPInit'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-        </word>
-        <word name='prototype'>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xlinkExtendedLinkSetFunk'/>
-          <ref name='xlinkNodeDetectFunc'/>
-          <ref name='xlinkSimpleLinkFunk'/>
-        </word>
-        <word name='provenance'>
-          <ref name='xmlEntityReferenceFunc'/>
-        </word>
-        <word name='provide'>
-          <ref name='INVALID_SOCKET'/>
-          <ref name='SOCKET'/>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlDocDumpFormatMemory'/>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocFormatDump'/>
-          <ref name='xmlInputMatchCallback'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-          <ref name='xmlOutputMatchCallback'/>
-          <ref name='xmlSaveFormatFile'/>
-          <ref name='xmlSaveFormatFileEnc'/>
-          <ref name='xmlSchemaValidateSetFilename'/>
-          <ref name='xmlSchemaValidateSetLocator'/>
-          <ref name='xmlSchemaValidateStream'/>
-          <ref name='xmlUTF8Strloc'/>
-          <ref name='xmlUTF8Strpos'/>
-        </word>
-        <word name='provides'>
-          <ref name='endElementNsSAX2Func'/>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='xmlByteConsumed'/>
-          <ref name='xmlExpCtxtNbCons'/>
-          <ref name='xmlExpCtxtNbNodes'/>
-          <ref name='xmlSAX2EndElementNs'/>
-          <ref name='xmlSAX2StartElementNs'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-        </word>
-        <word name='providing'>
-          <ref name='INPUT_CHUNK'/>
-        </word>
-        <word name='provoked'>
-          <ref name='xmlCheckUTF8'/>
-        </word>
-        <word name='proximity'>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='proxy'>
-          <ref name='xmlNanoFTPCleanup'/>
-          <ref name='xmlNanoFTPInit'/>
-          <ref name='xmlNanoFTPProxy'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoHTTPInit'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-        </word>
-        <word name='prune'>
-          <ref name='xmlReplaceNode'/>
-        </word>
-        <word name='pthread_t'>
-          <ref name='xmlGetThreadId'/>
-        </word>
-        <word name='pthreads'>
-          <ref name='xmlGetThreadId'/>
-        </word>
-        <word name='publicID'>
-          <ref name='xmlParseExternalID'/>
-        </word>
-        <word name='pull'>
-          <ref name='xmlParserInputBufferGrow'/>
-        </word>
-        <word name='pure'>
-          <ref name='xmlParseCDSect'/>
-        </word>
-        <word name='purposes'>
-          <ref name='xmlXPathDebugDumpObject'/>
-        </word>
-        <word name='push'>
-          <ref name='LIBXML_PUSH_ENABLED'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='docbCreatePushParserCtxt'/>
-          <ref name='htmlCreatePushParserCtxt'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlCtxtResetPush'/>
-          <ref name='xmlParserInputBufferPush'/>
-          <ref name='xmlStreamPop'/>
-          <ref name='xmlXPathEvalExpr'/>
-        </word>
-        <word name='pushed'>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlStreamPushNode'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-          <ref name='xmlXPathFunction'/>
-        </word>
-        <word name='pushing'>
-          <ref name='xmlParsePEReference'/>
-        </word>
-        <word name='put'>
-          <ref name='xmlCatalogAdd'/>
-        </word>
-        <word name='putative'>
-          <ref name='xmlCheckUTF8'/>
-        </word>
-        <word name='pwd'>
-          <ref name='xmlShellPwd'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk23'>
-      <letter name='q'>
-        <word name='qualified'>
-          <ref name='XML_SCHEMAS_QUALIF_ATTR'/>
-          <ref name='XML_SCHEMAS_QUALIF_ELEM'/>
-          <ref name='xmlGetDtdQAttrDesc'/>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlSplitQName'/>
-          <ref name='xmlSplitQName2'/>
-          <ref name='xmlSplitQName3'/>
-          <ref name='xmlTextReaderConstName'/>
-          <ref name='xmlTextReaderGetAttribute'/>
-          <ref name='xmlTextReaderMoveToAttribute'/>
-          <ref name='xmlTextReaderName'/>
-          <ref name='xmlValidatePopElement'/>
-          <ref name='xmlValidatePushElement'/>
-          <ref name='xmlXPathParseNCName'/>
-        </word>
-        <word name='query'>
-          <ref name='_xmlURI'/>
-        </word>
-        <word name='quot'>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlParserHandleReference'/>
-        </word>
-        <word name='quotation'>
-          <ref name='xmlTextReaderQuoteChar'/>
-        </word>
-        <word name='quote'>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='xmlBufferWriteQuotedString'/>
-          <ref name='xmlTextWriterSetQuoteChar'/>
-        </word>
-        <word name='quoted'>
-          <ref name='xmlBufferWriteQuotedString'/>
-        </word>
-        <word name='quotes'>
-          <ref name='xmlParseQuotedString'/>
-        </word>
-        <word name='quoting'>
-          <ref name='xmlTextWriterSetQuoteChar'/>
-        </word>
-      </letter>
-      <letter name='r'>
-        <word name='raise'>
-          <ref name='XP_ERROR'/>
-          <ref name='XP_ERROR0'/>
-        </word>
-        <word name='raised'>
-          <ref name='_xmlError'/>
-          <ref name='xmlCheckHTTPInput'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-          <ref name='xmlStructuredErrorFunc'/>
-          <ref name='xmlXPathCheckError'/>
-        </word>
-        <word name='range'>
-          <ref name='IS_BYTE_CHAR'/>
-          <ref name='xmlAutomataNewCounterTrans'/>
-          <ref name='xmlBufferAdd'/>
-          <ref name='xmlBufferAddHead'/>
-          <ref name='xmlCharInRange'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlTextReaderNormalization'/>
-          <ref name='xmlXPathNodeSetItem'/>
-          <ref name='xmlXPtrLocationSetAdd'/>
-          <ref name='xmlXPtrLocationSetDel'/>
-          <ref name='xmlXPtrLocationSetRemove'/>
-          <ref name='xmlXPtrNewCollapsedRange'/>
-          <ref name='xmlXPtrNewLocationSetNodes'/>
-          <ref name='xmlXPtrNewRange'/>
-          <ref name='xmlXPtrNewRangeNodeObject'/>
-          <ref name='xmlXPtrNewRangeNodePoint'/>
-          <ref name='xmlXPtrNewRangeNodes'/>
-          <ref name='xmlXPtrNewRangePointNode'/>
-          <ref name='xmlXPtrNewRangePoints'/>
-        </word>
-        <word name='range-to'>
-          <ref name='xmlXPtrRangeToFunction'/>
-        </word>
-        <word name='ranges'>
-          <ref name='_xmlChRangeGroup'/>
-          <ref name='xmlXPtrFreeLocationSet'/>
-          <ref name='xmlXPtrLocationSetMerge'/>
-        </word>
-        <word name='rangesets'>
-          <ref name='xmlXPtrLocationSetMerge'/>
-        </word>
-        <word name='rather'>
-          <ref name='xmlTextReaderIsNamespaceDecl'/>
-        </word>
-        <word name='ratio'>
-          <ref name='xmlGetDocCompressMode'/>
-          <ref name='xmlSetCompressMode'/>
-          <ref name='xmlSetDocCompressMode'/>
-        </word>
-        <word name='ration'>
-          <ref name='xmlOutputBufferCreateFilename'/>
-        </word>
-        <word name='raw'>
-          <ref name='_xmlParserInputBuffer'/>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlNamespaceParseNSDef'/>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlNodeAddContent'/>
-          <ref name='xmlNodeAddContentLen'/>
-          <ref name='xmlParseCDSect'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlTextWriterWriteFormatRaw'/>
-          <ref name='xmlTextWriterWriteRaw'/>
-          <ref name='xmlTextWriterWriteVFormatRaw'/>
-        </word>
-        <word name='re-entrant'>
-          <ref name='xmlLockLibrary'/>
-          <ref name='xmlNewRMutex'/>
-          <ref name='xmlUnlockLibrary'/>
-        </word>
-        <word name='reachable'>
-          <ref name='xmlPatternMaxDepth'/>
-          <ref name='xmlPatternMinDepth'/>
-        </word>
-        <word name='reached'>
-          <ref name='xmlRegExecPushString'/>
-          <ref name='xmlRegExecPushString2'/>
-        </word>
-        <word name='read-only'>
-          <ref name='xmlDictCreateSub'/>
-        </word>
-        <word name='readable'>
-          <ref name='xmlStrEqual'/>
-        </word>
-        <word name='reader-'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='reading'>
-          <ref name='xmlSchemaValidateStream'/>
-          <ref name='xmlShell'/>
-        </word>
-        <word name='ready'>
-          <ref name='INPUT_CHUNK'/>
-          <ref name='xmlAutomataCompile'/>
-        </word>
-        <word name='real'>
-          <ref name='xmlXPtrRangeToFunction'/>
-        </word>
-        <word name='realloc'>
-          <ref name='_xmlBuffer'/>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemGet'/>
-          <ref name='xmlMemRealloc'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlReallocFunc'/>
-          <ref name='xmlReallocLoc'/>
-        </word>
-        <word name='reallocated'>
-          <ref name='xmlReallocFunc'/>
-          <ref name='xmlStrcat'/>
-          <ref name='xmlStrncat'/>
-        </word>
-        <word name='really'>
-          <ref name='HTML_COMMENT_NODE'/>
-          <ref name='HTML_ENTITY_REF_NODE'/>
-          <ref name='HTML_PI_NODE'/>
-          <ref name='HTML_PRESERVE_NODE'/>
-          <ref name='HTML_TEXT_NODE'/>
-          <ref name='htmlEntityLookup'/>
-          <ref name='htmlEntityValueLookup'/>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlCreateEntitiesTable'/>
-        </word>
-        <word name='reasonable'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='receive'>
-          <ref name='xmlExpDump'/>
-        </word>
-        <word name='received'>
-          <ref name='ftpDataCallback'/>
-          <ref name='xmlNanoHTTPReturnCode'/>
-        </word>
-        <word name='receives'>
-          <ref name='xmlParseExternalID'/>
-        </word>
-        <word name='receiving'>
-          <ref name='characters'/>
-          <ref name='ignorableWhitespace'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlSAX2Characters'/>
-          <ref name='xmlSAX2IgnorableWhitespace'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='reclaim'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlFreeMutex'/>
-          <ref name='xmlFreeRMutex'/>
-        </word>
-        <word name='recognized'>
-          <ref name='xmlParseCharEncoding'/>
-        </word>
-        <word name='recommendation'>
-          <ref name='xmlDetectCharEncoding'/>
-        </word>
-        <word name='recommendation:'>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateElementDecl'/>
-          <ref name='xmlValidateNotationDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlValidateOneNamespace'/>
-          <ref name='xmlValidateRoot'/>
-        </word>
-        <word name='recomputed'>
-          <ref name='xmlBufferAdd'/>
-          <ref name='xmlBufferAddHead'/>
-          <ref name='xmlDictExists'/>
-          <ref name='xmlDictLookup'/>
-        </word>
-        <word name='reconciliate'>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='record'>
-          <ref name='xmlACatalogAdd'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlParserAddNodeInfo'/>
-          <ref name='xmlParserFindNodeInfoIndex'/>
-        </word>
-        <word name='recorded'>
-          <ref name='valuePush'/>
-        </word>
-        <word name='recover'>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-        </word>
-        <word name='recovery'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-        </word>
-        <word name='recurse'>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlValidateRoot'/>
-        </word>
-        <word name='recursive'>
-          <ref name='htmlNodeDump'/>
-          <ref name='htmlNodeDumpFile'/>
-          <ref name='htmlNodeDumpFileFormat'/>
-          <ref name='htmlNodeDumpFormatOutput'/>
-          <ref name='htmlNodeDumpOutput'/>
-          <ref name='htmlParseElement'/>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlCopyDoc'/>
-          <ref name='xmlCopyEnumeration'/>
-          <ref name='xmlCopyNode'/>
-          <ref name='xmlCopyNodeList'/>
-          <ref name='xmlDebugDumpDocument'/>
-          <ref name='xmlDebugDumpDocumentHead'/>
-          <ref name='xmlDebugDumpNode'/>
-          <ref name='xmlDebugDumpNodeList'/>
-          <ref name='xmlDebugDumpOneNode'/>
-          <ref name='xmlDocCopyNode'/>
-          <ref name='xmlDocCopyNodeList'/>
-          <ref name='xmlElemDump'/>
-          <ref name='xmlFreeEnumeration'/>
-          <ref name='xmlFreeNode'/>
-          <ref name='xmlFreeNodeList'/>
-          <ref name='xmlNewRMutex'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParserHandlePEReference'/>
-        </word>
-        <word name='recursively'>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlParseAttValue'/>
-        </word>
-        <word name='redeclared'>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='redefined'>
-          <ref name='XML_SCHEMAS_ATTRGROUP_REDEFINED'/>
-          <ref name='XML_SCHEMAS_TYPE_REDEFINED'/>
-        </word>
-        <word name='redefinition'>
-          <ref name='xmlErrMemory'/>
-        </word>
-        <word name='redir'>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-        </word>
-        <word name='redirected'>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-          <ref name='xmlNanoHTTPRedir'/>
-        </word>
-        <word name='redirection'>
-          <ref name='xmlCheckHTTPInput'/>
-          <ref name='xmlNanoHTTPRedir'/>
-        </word>
-        <word name='reentrant'>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-          <ref name='xmlEncodeSpecialChars'/>
-          <ref name='xmlFreeRMutex'/>
-          <ref name='xmlInitParser'/>
-          <ref name='xmlNewRMutex'/>
-          <ref name='xmlRMutexLock'/>
-          <ref name='xmlRMutexUnlock'/>
-        </word>
-        <word name='ref'>
-          <ref name='XML_SCHEMAS_ATTR_INTERNAL_RESOLVED'/>
-          <ref name='XML_SCHEMAS_ELEM_INTERNAL_RESOLVED'/>
-          <ref name='_xmlEntity'/>
-          <ref name='xmlAddRef'/>
-          <ref name='xmlFreeRefTable'/>
-          <ref name='xmlNewCharRef'/>
-        </word>
-        <word name='referenced'>
-          <ref name='xmlLinkGetData'/>
-          <ref name='xmlParseAttValue'/>
-        </word>
-        <word name='referencing'>
-          <ref name='xmlGetDocEntity'/>
-          <ref name='xmlGetDtdEntity'/>
-          <ref name='xmlGetParameterEntity'/>
-        </word>
-        <word name='referred'>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseCharRef'/>
-        </word>
-        <word name='refs'>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='refuse'>
-          <ref name='xmlNewNs'/>
-        </word>
-        <word name='regex'>
-          <ref name='_xmlSchemaFacet'/>
-        </word>
-        <word name='regexp'>
-          <ref name='_xmlElement'/>
-          <ref name='xmlAutomataCompile'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlRegExecPushString'/>
-          <ref name='xmlRegExecPushString2'/>
-          <ref name='xmlRegFreeRegexp'/>
-          <ref name='xmlRegNewExecCtxt'/>
-          <ref name='xmlRegexpPrint'/>
-        </word>
-        <word name='regexps'>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='region'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='register'>
-          <ref name='xmlXPathRegisterVariableLookup'/>
-        </word>
-        <word name='registered'>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlCtxtGetLastError'/>
-          <ref name='xmlCtxtResetLastError'/>
-          <ref name='xmlFindCharEncodingHandler'/>
-          <ref name='xmlGetCharEncodingHandler'/>
-          <ref name='xmlGetLastError'/>
-          <ref name='xmlPopInputCallbacks'/>
-          <ref name='xmlPopOutputCallbacks'/>
-          <ref name='xmlRegisterInputCallbacks'/>
-          <ref name='xmlRegisterOutputCallbacks'/>
-          <ref name='xmlResetLastError'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlTextReaderGetErrorHandler'/>
-          <ref name='xmlXPathRegisteredFuncsCleanup'/>
-          <ref name='xmlXPathRegisteredNsCleanup'/>
-          <ref name='xmlXPathRegisteredVariablesCleanup'/>
-        </word>
-        <word name='registers'>
-          <ref name='xmlInitCharEncodingHandlers'/>
-          <ref name='xmlNewCharEncodingHandler'/>
-        </word>
-        <word name='registration'>
-          <ref name='XML_SKIP_IDS'/>
-          <ref name='xmlOutputBufferCreateFilenameDefault'/>
-          <ref name='xmlParserInputBufferCreateFilenameDefault'/>
-          <ref name='xmlRegisterNodeDefault'/>
-          <ref name='xmlRegisterNodeFunc'/>
-        </word>
-        <word name='regular'>
-          <ref name='LIBXML_REGEXP_ENABLED'/>
-          <ref name='xmlRegExecCallbacks'/>
-          <ref name='xmlRegFreeExecCtxt'/>
-          <ref name='xmlRegNewExecCtxt'/>
-          <ref name='xmlRegexpCompile'/>
-          <ref name='xmlRegexpExec'/>
-          <ref name='xmlRegexpIsDeterminist'/>
-          <ref name='xmlRegexpPrint'/>
-          <ref name='xmlTextReaderIsNamespaceDecl'/>
-        </word>
-        <word name='reinitialize'>
-          <ref name='xmlClearNodeInfoSeq'/>
-          <ref name='xmlClearParserCtxt'/>
-        </word>
-        <word name='related'>
-          <ref name='LIBXML_UNICODE_ENABLED'/>
-          <ref name='htmlTagLookup'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlInitThreads'/>
-          <ref name='xmlNanoHTTPClose'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-        </word>
-        <word name='relationships'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='relative'>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlByteConsumed'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-          <ref name='xmlTextReaderGetAttributeNo'/>
-          <ref name='xmlTextReaderMoveToAttributeNo'/>
-          <ref name='xmlUTF8Strloc'/>
-          <ref name='xmlUTF8Strsub'/>
-        </word>
-        <word name='relative-ref'>
-          <ref name='xmlParseURIRaw'/>
-          <ref name='xmlParseURIReference'/>
-        </word>
-        <word name='relativeURI'>
-          <ref name='xmlParseURI'/>
-        </word>
-        <word name='release'>
-          <ref name='xmlClearNodeInfoSeq'/>
-          <ref name='xmlClearParserCtxt'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlExpNewSeq'/>
-          <ref name='xmlUnlockLibrary'/>
-        </word>
-        <word name='releases'>
-          <ref name='xmlTextReaderClose'/>
-        </word>
-        <word name='reliable'>
-          <ref name='xmlSaveToFilename'/>
-        </word>
-        <word name='rely'>
-          <ref name='xmlParseNamespace'/>
-        </word>
-        <word name='remainder'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='remaining'>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='remapped'>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-        </word>
-        <word name='remote'>
-          <ref name='xmlNanoFTPCwd'/>
-        </word>
-        <word name='removal'>
-          <ref name='xmlHashRemoveEntry'/>
-          <ref name='xmlHashRemoveEntry2'/>
-          <ref name='xmlHashRemoveEntry3'/>
-        </word>
-        <word name='remove'>
-          <ref name='xmlACatalogRemove'/>
-          <ref name='xmlBufShrink'/>
-          <ref name='xmlBufferShrink'/>
-          <ref name='xmlCatalogRemove'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlDocSetRootElement'/>
-          <ref name='xmlEncodeEntities'/>
-          <ref name='xmlHashRemoveEntry'/>
-          <ref name='xmlHashRemoveEntry2'/>
-          <ref name='xmlHashRemoveEntry3'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlXPathNodeSetRemove'/>
-          <ref name='xmlXPtrLocationSetRemove'/>
-        </word>
-        <word name='removed'>
-          <ref name='inputPop'/>
-          <ref name='namePop'/>
-          <ref name='nodePop'/>
-          <ref name='valuePop'/>
-          <ref name='xmlACatalogRemove'/>
-          <ref name='xmlBufShrink'/>
-          <ref name='xmlBufferShrink'/>
-          <ref name='xmlCatalogRemove'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-          <ref name='xmlFreeDocElementContent'/>
-          <ref name='xmlFreeElementContent'/>
-          <ref name='xmlHandleEntity'/>
-          <ref name='xmlHashRemoveEntry'/>
-          <ref name='xmlHashRemoveEntry2'/>
-          <ref name='xmlHashRemoveEntry3'/>
-          <ref name='xmlHashUpdateEntry'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-          <ref name='xmlNewGlobalNs'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlParseQuotedString'/>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='removes'>
-          <ref name='xmlParserInputShrink'/>
-        </word>
-        <word name='removing'>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-        </word>
-        <word name='rename'>
-          <ref name='_xmlError'/>
-        </word>
-        <word name='repeat'>
-          <ref name='xmlXPathAxisFunc'/>
-        </word>
-        <word name='repeated'>
-          <ref name='xmlExpNewRange'/>
-        </word>
-        <word name='repetition'>
-          <ref name='xmlExpNewRange'/>
-        </word>
-        <word name='replace'>
-          <ref name='XML_SCHEMAS_FACET_REPLACE'/>
-          <ref name='XML_SCHEMAS_TYPE_WHITESPACE_REPLACE'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='replaced'>
-          <ref name='xmlHashUpdateEntry'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlSchemaSAXPlug'/>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='replacement'>
-          <ref name='xmlACatalogAdd'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlEntityReferenceFunc'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='replaces'>
-          <ref name='DEBUG_MEMORY'/>
-        </word>
-        <word name='replacing'>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-          <ref name='xmlEncodeSpecialChars'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-        </word>
-        <word name='reporting'>
-          <ref name='INPUT_CHUNK'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlSchemaValidateSetFilename'/>
-          <ref name='xmlStructuredErrorFunc'/>
-        </word>
-        <word name='reports'>
-          <ref name='docbCreatePushParserCtxt'/>
-          <ref name='htmlCreatePushParserCtxt'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-        </word>
-        <word name='repr'>
-          <ref name='xmlSchemaValidateFacet'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-        </word>
-        <word name='representation'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaGetCanonValueWhtsp'/>
-        </word>
-        <word name='representations'>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='represented'>
-          <ref name='xmlParseCharData'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='represented:'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='representing'>
-          <ref name='xmlMemBlocks'/>
-          <ref name='xmlMemUsed'/>
-        </word>
-        <word name='request'>
-          <ref name='xmlIOHTTPOpenW'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-          <ref name='xmlNanoHTTPReturnCode'/>
-        </word>
-        <word name='requested'>
-          <ref name='xmlDOMWrapAcquireNsFunction'/>
-          <ref name='xmlExternalEntityLoader'/>
-          <ref name='xmlHasFeature'/>
-          <ref name='xmlIsID'/>
-          <ref name='xmlMallocFunc'/>
-          <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-          <ref name='xmlReallocFunc'/>
-        </word>
-        <word name='requests'>
-          <ref name='xmlRegisterHTTPPostCallbacks'/>
-        </word>
-        <word name='required'>
-          <ref name='XML_SCHEMAS_ATTR_USE_REQUIRED'/>
-          <ref name='htmlRequiredAttrs'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlCatalogSetDebug'/>
-          <ref name='xmlSchemaCollapseString'/>
-          <ref name='xmlSchemaWhiteSpaceReplace'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='requires'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlRelaxNGValidatePushElement'/>
-        </word>
-        <word name='reserved'>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlURIEscapeStr'/>
-        </word>
-        <word name='reset'>
-          <ref name='htmlReadFd'/>
-          <ref name='initGenericErrorDefaultFunc'/>
-          <ref name='xmlBufferDetach'/>
-          <ref name='xmlCtxtReadFd'/>
-          <ref name='xmlNodeSetBase'/>
-          <ref name='xmlNodeSetName'/>
-          <ref name='xmlNodeSetSpacePreserve'/>
-          <ref name='xmlReadFd'/>
-          <ref name='xmlReaderForFd'/>
-          <ref name='xmlReaderNewFd'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetNsProp'/>
-          <ref name='xmlSetProp'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='resides'>
-          <ref name='xmlTextReaderConstXmlLang'/>
-          <ref name='xmlTextReaderXmlLang'/>
-        </word>
-        <word name='resize'>
-          <ref name='xmlBufferResize'/>
-        </word>
-        <word name='resolution'>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlACatalogResolve'/>
-          <ref name='xmlACatalogResolveURI'/>
-          <ref name='xmlCatalogLocalResolve'/>
-          <ref name='xmlCatalogLocalResolveURI'/>
-          <ref name='xmlCatalogResolve'/>
-          <ref name='xmlCatalogResolveURI'/>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-        </word>
-        <word name='resolveEntity'>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-        </word>
-        <word name='resolved'>
-          <ref name='XML_SCHEMAS_ATTR_INTERNAL_RESOLVED'/>
-          <ref name='XML_SCHEMAS_ELEM_INTERNAL_RESOLVED'/>
-          <ref name='xmlTextReaderLookupNamespace'/>
-        </word>
-        <word name='resolver'>
-          <ref name='xmlGetExternalEntityLoader'/>
-          <ref name='xmlSetExternalEntityLoader'/>
-        </word>
-        <word name='resources'>
-          <ref name='xmlClearParserCtxt'/>
-          <ref name='xmlFreeMutex'/>
-          <ref name='xmlFreeRMutex'/>
-          <ref name='xmlFreeTextReader'/>
-          <ref name='xmlFreeTextWriter'/>
-          <ref name='xmlOutputBufferClose'/>
-          <ref name='xmlRelaxNGFreeParserCtxt'/>
-          <ref name='xmlRelaxNGFreeValidCtxt'/>
-          <ref name='xmlSchemaFreeParserCtxt'/>
-          <ref name='xmlSchemaFreeValidCtxt'/>
-          <ref name='xmlSchematronFreeParserCtxt'/>
-          <ref name='xmlSchematronFreeValidCtxt'/>
-          <ref name='xmlTextReaderClose'/>
-          <ref name='xmlXIncludeSetFlags'/>
-        </word>
-        <word name='resp'>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-        </word>
-        <word name='respect'>
-          <ref name='xmlExpStringDerive'/>
-        </word>
-        <word name='respecting'>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='response'>
-          <ref name='xmlNanoFTPCheckResponse'/>
-          <ref name='xmlNanoFTPGetResponse'/>
-          <ref name='xmlNanoHTTPContentLength'/>
-        </word>
-        <word name='responsibility'>
-          <ref name='xmlNewEntity'/>
-        </word>
-        <word name='responsible'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlCanonicPath'/>
-          <ref name='xmlPathToURI'/>
-        </word>
-        <word name='restored'>
-          <ref name='xmlSchemaSAXUnplug'/>
-          <ref name='xmlTextReaderSetErrorHandler'/>
-          <ref name='xmlTextReaderSetStructuredErrorHandler'/>
-          <ref name='xmlXPathNodeEval'/>
-        </word>
-        <word name='restrict'>
-          <ref name='xmlParseExternalID'/>
-        </word>
-        <word name='restriction'>
-          <ref name='XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_ELEM_FINAL_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_TYPE_BLOCK_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
-        </word>
-        <word name='results'>
-          <ref name='xmlXPathEqualValues'/>
-          <ref name='xmlXPathNotEqualValues'/>
-        </word>
-        <word name='retValue'>
-          <ref name='xmlSchemaGetCanonValue'/>
-        </word>
-        <word name='retrieve'>
-          <ref name='xmlGetGlobalState'/>
-          <ref name='xmlNanoFTPGet'/>
-          <ref name='xmlNanoFTPGetSocket'/>
-        </word>
-        <word name='retrieved'>
-          <ref name='xmlHashAddEntry'/>
-          <ref name='xmlHashAddEntry2'/>
-          <ref name='xmlHashAddEntry3'/>
-          <ref name='xmlHashUpdateEntry'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-        </word>
-        <word name='retry'>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='returning'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='reusal'>
-          <ref name='_xmlXPathContext'/>
-        </word>
-        <word name='reuse'>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlRegExecPushString'/>
-          <ref name='xmlRegExecPushString2'/>
-        </word>
-        <word name='reused'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='reuses'>
-          <ref name='htmlCtxtReadDoc'/>
-          <ref name='htmlCtxtReadFd'/>
-          <ref name='htmlCtxtReadFile'/>
-          <ref name='htmlCtxtReadIO'/>
-          <ref name='htmlCtxtReadMemory'/>
-          <ref name='xmlCtxtReadDoc'/>
-          <ref name='xmlCtxtReadFd'/>
-          <ref name='xmlCtxtReadFile'/>
-          <ref name='xmlCtxtReadIO'/>
-          <ref name='xmlCtxtReadMemory'/>
-          <ref name='xmlReaderNewDoc'/>
-          <ref name='xmlReaderNewFd'/>
-          <ref name='xmlReaderNewFile'/>
-          <ref name='xmlReaderNewIO'/>
-          <ref name='xmlReaderNewMemory'/>
-          <ref name='xmlReaderNewWalker'/>
-        </word>
-        <word name='reusing'>
-          <ref name='xmlXIncludeProcessNode'/>
-        </word>
-        <word name='reverse'>
-          <ref name='xmlListReverseSearch'/>
-          <ref name='xmlListReverseWalk'/>
-          <ref name='xmlXPathNextAncestor'/>
-          <ref name='xmlXPathNextAncestorOrSelf'/>
-          <ref name='xmlXPathNextPreceding'/>
-          <ref name='xmlXPathNextPrecedingSibling'/>
-        </word>
-        <word name='rewrite'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='rfc'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='rfc-editor'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='rfc5646'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='right'>
-          <ref name='xmlAutomataNewCounterTrans'/>
-          <ref name='xmlCheckFilename'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewSeq'/>
-          <ref name='xmlParseCharData'/>
-          <ref name='xmlSetListDoc'/>
-          <ref name='xmlSetTreeDoc'/>
-        </word>
-        <word name='role'>
-          <ref name='xlinkSimpleLinkFunk'/>
-        </word>
-        <word name='roles'>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xlinkExtendedLinkSetFunk'/>
-        </word>
-        <word name='rollback'>
-          <ref name='xmlScanName'/>
-        </word>
-        <word name='root'>
-          <ref name='externalSubset'/>
-          <ref name='externalSubsetSAXFunc'/>
-          <ref name='internalSubset'/>
-          <ref name='internalSubsetSAXFunc'/>
-          <ref name='xmlDocGetRootElement'/>
-          <ref name='xmlDocSetRootElement'/>
-          <ref name='xmlParseDocTypeDecl'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlPatternFromRoot'/>
-          <ref name='xmlSAX2ExternalSubset'/>
-          <ref name='xmlSAX2InternalSubset'/>
-          <ref name='xmlShellPwd'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-          <ref name='xmlValidateRoot'/>
-          <ref name='xmlXPathNewValueTree'/>
-          <ref name='xmlXPathRoot'/>
-        </word>
-        <word name='round'>
-          <ref name='xmlXPathRoundFunction'/>
-        </word>
-        <word name='routines'>
-          <ref name='docbSAXParseDoc'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseEntity'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-          <ref name='xmlSAXUserParseFile'/>
-          <ref name='xmlSAXUserParseMemory'/>
-        </word>
-        <word name='rule'>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseStartTag'/>
-        </word>
-        <word name='rules'>
-          <ref name='XML_CAST_FPTR'/>
-          <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
-          <ref name='XML_SCHEMAS_ANY_STRICT'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='run'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlByteConsumed'/>
-        </word>
-        <word name='running'>
-          <ref name='xmlKeepBlanksDefault'/>
-        </word>
-        <word name='runtime'>
-          <ref name='LIBXML_DEBUG_RUNTIME'/>
-          <ref name='XML_MAX_NAMELEN'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='xmlMemDisplayLast'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk24'>
-      <letter name='s'>
-        <word name='s390'>
-          <ref name='XML_CAST_FPTR'/>
-        </word>
-        <word name='safe'>
-          <ref name='BAD_CAST'/>
-          <ref name='xmlInitializeCatalog'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadCatalogs'/>
-        </word>
-        <word name='safety'>
-          <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-        </word>
-        <word name='same'>
-          <ref name='HTML_COMMENT_NODE'/>
-          <ref name='HTML_ENTITY_REF_NODE'/>
-          <ref name='HTML_PI_NODE'/>
-          <ref name='HTML_PRESERVE_NODE'/>
-          <ref name='HTML_TEXT_NODE'/>
-          <ref name='IS_BLANK_CH'/>
-          <ref name='checkNamespace'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlReplaceNode'/>
-          <ref name='xmlStrEqual'/>
-          <ref name='xmlStrncatNew'/>
-          <ref name='xmlURIUnescapeString'/>
-          <ref name='xmlXPathCmpNodes'/>
-          <ref name='xmlXPathIdFunction'/>
-          <ref name='xmlXPathLangFunction'/>
-          <ref name='xmlXPathNextAncestorOrSelf'/>
-          <ref name='xmlXPathNextFollowing'/>
-          <ref name='xmlXPathNextPreceding'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-          <ref name='xmlXPathSetContextNode'/>
-        </word>
-        <word name='save'>
-          <ref name='htmlNodeDumpFileFormat'/>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlMemGet'/>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlShell'/>
-          <ref name='xmlShellSave'/>
-        </word>
-        <word name='saved'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPSave'/>
-          <ref name='xmlSaveFormatFileEnc'/>
-        </word>
-        <word name='saves'>
-          <ref name='xmlNanoFTPRead'/>
-          <ref name='xmlNanoHTTPRead'/>
-          <ref name='xmlNanoHTTPSave'/>
-          <ref name='xmlShellWrite'/>
-        </word>
-        <word name='saving'>
-          <ref name='LIBXML_OUTPUT_ENABLED'/>
-          <ref name='LIBXML_WRITER_ENABLED'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlOutputBufferCreateBuffer'/>
-          <ref name='xmlOutputBufferCreateFd'/>
-          <ref name='xmlOutputBufferCreateFile'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlOutputBufferCreateIO'/>
-          <ref name='xmlSaveClose'/>
-          <ref name='xmlSaveDoc'/>
-          <ref name='xmlSaveFlush'/>
-          <ref name='xmlSaveSetAttrEscape'/>
-          <ref name='xmlSaveSetEscape'/>
-          <ref name='xmlSaveToBuffer'/>
-          <ref name='xmlSaveToFd'/>
-          <ref name='xmlSaveToFilename'/>
-          <ref name='xmlSaveToIO'/>
-          <ref name='xmlSaveTree'/>
-        </word>
-        <word name='sax'>
-          <ref name='docbSAXParseDoc'/>
-          <ref name='docbSAXParseFile'/>
-          <ref name='htmlSAXParseDoc'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseEntity'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-        </word>
-        <word name='say'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseMarkupDecl'/>
-        </word>
-        <word name='says'>
-          <ref name='xmlParseComment'/>
-        </word>
-        <word name='scan'>
-          <ref name='htmlEntityLookup'/>
-          <ref name='htmlEntityValueLookup'/>
-          <ref name='xmlXPathStringEvalNumber'/>
-        </word>
-        <word name='scanner'>
-          <ref name='xmlHashScan'/>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull'/>
-          <ref name='xmlHashScanFull3'/>
-          <ref name='xmlHashScanner'/>
-          <ref name='xmlHashScannerFull'/>
-        </word>
-        <word name='scanning'>
-          <ref name='xmlHashScanner'/>
-          <ref name='xmlHashScannerFull'/>
-        </word>
-        <word name='schemas'>
-          <ref name='xmlRelaxNGNewDocParserCtxt'/>
-          <ref name='xmlRelaxNGNewMemParserCtxt'/>
-          <ref name='xmlSchemaGetFacetValueAsULong'/>
-          <ref name='xmlSchemaGetValType'/>
-          <ref name='xmlSchemaNewMemParserCtxt'/>
-          <ref name='xmlSchemaValidateDoc'/>
-          <ref name='xmlSchemaValidateFacet'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlSchemaValidateFile'/>
-          <ref name='xmlSchemaValidateStream'/>
-          <ref name='xmlSchemaValidityLocatorFunc'/>
-          <ref name='xmlSchematronNewMemParserCtxt'/>
-          <ref name='xmlTextReaderRelaxNGValidate'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidate'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-        </word>
-        <word name='schematron'>
-          <ref name='xmlSchematronValidateDoc'/>
-        </word>
-        <word name='scheme'>
-          <ref name='_xmlURI'/>
-          <ref name='xmlBufferSetAllocationScheme'/>
-          <ref name='xmlGetBufferAllocationScheme'/>
-        </word>
-        <word name='schemes'>
-          <ref name='xmlParseCharEncoding'/>
-        </word>
-        <word name='scope'>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlSetNsProp'/>
-          <ref name='xmlSetProp'/>
-          <ref name='xmlTextReaderConstXmlLang'/>
-          <ref name='xmlTextReaderLookupNamespace'/>
-          <ref name='xmlTextReaderXmlLang'/>
-        </word>
-        <word name='scoping'>
-          <ref name='xmlNewGlobalNs'/>
-        </word>
-        <word name='script'>
-          <ref name='htmlIsScriptAttribute'/>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='search'>
-          <ref name='XML_SCHEMAS_ELEM_CIRCULAR'/>
-          <ref name='_xmlXPathAxis'/>
-          <ref name='xmlCharInRange'/>
-          <ref name='xmlGetDtdAttrDesc'/>
-          <ref name='xmlGetDtdElementDesc'/>
-          <ref name='xmlGetDtdNotationDesc'/>
-          <ref name='xmlGetDtdQAttrDesc'/>
-          <ref name='xmlGetDtdQElementDesc'/>
-          <ref name='xmlListReverseSearch'/>
-          <ref name='xmlListSearch'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlStrcasestr'/>
-          <ref name='xmlStrchr'/>
-          <ref name='xmlStrstr'/>
-        </word>
-        <word name='searched'>
-          <ref name='xmlDictCreateSub'/>
-        </word>
-        <word name='section'>
-          <ref name='HTML_PRESERVE_NODE'/>
-          <ref name='xmlBuildURI'/>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-          <ref name='xmlParseCharData'/>
-          <ref name='xmlParseCharEncoding'/>
-          <ref name='xmlTextWriterEndCDATA'/>
-          <ref name='xmlTextWriterStartCDATA'/>
-        </word>
-        <word name='sections'>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlNodeGetBase'/>
-        </word>
-        <word name='seems'>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlNamespaceParseNSDef'/>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlScanName'/>
-          <ref name='xmlValidateNotationDecl'/>
-        </word>
-        <word name='selected'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='selection'>
-          <ref name='LIBXML_PATTERN_ENABLED'/>
-        </word>
-        <word name='selects'>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='self'>
-          <ref name='xmlXPathNextSelf'/>
-        </word>
-        <word name='semantic'>
-          <ref name='xmlAutomataNewNegTrans'/>
-          <ref name='xmlXPathNodeSetFreeNs'/>
-        </word>
-        <word name='semantics'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='sense'>
-          <ref name='xmlCreateEntitiesTable'/>
-        </word>
-        <word name='separated'>
-          <ref name='xmlLoadCatalogs'/>
-        </word>
-        <word name='separately'>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlValidateOneNamespace'/>
-        </word>
-        <word name='seq'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-        </word>
-        <word name='sequence'>
-          <ref name='_xmlSchemaFacet'/>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlClearNodeInfoSeq'/>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlExpIsNillable'/>
-          <ref name='xmlExpNewSeq'/>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlInitNodeInfoSeq'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseContent'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlParserAddNodeInfo'/>
-          <ref name='xmlParserFindNodeInfoIndex'/>
-          <ref name='xmlUTF8Strlen'/>
-          <ref name='xmlUTF8Strsize'/>
-          <ref name='xmlUTF8Strsub'/>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='sequences'>
-          <ref name='xmlCheckUTF8'/>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-        </word>
-        <word name='serialization'>
-          <ref name='LIBXML_OUTPUT_ENABLED'/>
-          <ref name='xmlSaveToBuffer'/>
-          <ref name='xmlSaveToFd'/>
-          <ref name='xmlSaveToFilename'/>
-          <ref name='xmlSaveToIO'/>
-          <ref name='xmlShellCat'/>
-          <ref name='xmlShellWrite'/>
-          <ref name='xmlValidatePopElement'/>
-          <ref name='xmlValidatePushElement'/>
-        </word>
-        <word name='serialized'>
-          <ref name='xmlTextReaderReadOuterXml'/>
-        </word>
-        <word name='serializing'>
-          <ref name='xmlSaveToBuffer'/>
-          <ref name='xmlSaveToFd'/>
-          <ref name='xmlSaveToFilename'/>
-          <ref name='xmlSaveToIO'/>
-        </word>
-        <word name='server'>
-          <ref name='_xmlURI'/>
-          <ref name='xmlNanoFTPCheckResponse'/>
-          <ref name='xmlNanoFTPCloseConnection'/>
-          <ref name='xmlNanoFTPConnectTo'/>
-          <ref name='xmlNanoFTPCwd'/>
-          <ref name='xmlNanoFTPDele'/>
-          <ref name='xmlNanoFTPGet'/>
-          <ref name='xmlNanoFTPGetConnection'/>
-          <ref name='xmlNanoFTPGetResponse'/>
-          <ref name='xmlNanoFTPGetSocket'/>
-          <ref name='xmlNanoFTPList'/>
-          <ref name='xmlNanoFTPQuit'/>
-        </word>
-        <word name='set:difference'>
-          <ref name='xmlXPathDifference'/>
-        </word>
-        <word name='set:distinct'>
-          <ref name='xmlXPathDistinct'/>
-          <ref name='xmlXPathDistinctSorted'/>
-        </word>
-        <word name='set:has-same-node'>
-          <ref name='xmlXPathHasSameNodes'/>
-        </word>
-        <word name='set:intersection'>
-          <ref name='xmlXPathIntersection'/>
-        </word>
-        <word name='set:leading'>
-          <ref name='xmlXPathLeading'/>
-          <ref name='xmlXPathLeadingSorted'/>
-          <ref name='xmlXPathNodeLeading'/>
-          <ref name='xmlXPathNodeLeadingSorted'/>
-        </word>
-        <word name='set:trailing'>
-          <ref name='xmlXPathNodeTrailing'/>
-          <ref name='xmlXPathNodeTrailingSorted'/>
-          <ref name='xmlXPathTrailing'/>
-          <ref name='xmlXPathTrailingSorted'/>
-        </word>
-        <word name='sets'>
-          <ref name='initxmlDefaultSAXHandler'/>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlSAX2InitDefaultSAXHandler'/>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-          <ref name='xmlXPathDifference'/>
-          <ref name='xmlXPathIntersection'/>
-        </word>
-        <word name='setting'>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='setups'>
-          <ref name='xmlParseEncodingDecl'/>
-        </word>
-        <word name='severity'>
-          <ref name='xmlTextReaderErrorFunc'/>
-        </word>
-        <word name='sgmlsource'>
-          <ref name='getSystemId'/>
-          <ref name='xmlSAX2GetSystemId'/>
-        </word>
-        <word name='shadowed'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-        </word>
-        <word name='shall'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='shared'>
-          <ref name='LIBXML_MODULE_EXTENSION'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlModuleFree'/>
-          <ref name='xmlModuleOpen'/>
-        </word>
-        <word name='shares'>
-          <ref name='xmlXPathHasSameNodes'/>
-        </word>
-        <word name='shell'>
-          <ref name='DEBUG_MEMORY'/>
-          <ref name='xmlShell'/>
-          <ref name='xmlShellBase'/>
-          <ref name='xmlShellCat'/>
-          <ref name='xmlShellCmd'/>
-          <ref name='xmlShellDir'/>
-          <ref name='xmlShellDu'/>
-          <ref name='xmlShellList'/>
-          <ref name='xmlShellLoad'/>
-          <ref name='xmlShellPwd'/>
-          <ref name='xmlShellReadlineFunc'/>
-          <ref name='xmlShellSave'/>
-          <ref name='xmlShellValidate'/>
-          <ref name='xmlShellWrite'/>
-        </word>
-        <word name='shorten'>
-          <ref name='xmlDebugDumpString'/>
-        </word>
-        <word name='shortest'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='shorthand'>
-          <ref name='xmlTextReaderConstPrefix'/>
-          <ref name='xmlTextReaderPrefix'/>
-        </word>
-        <word name='show'>
-          <ref name='LIBXML_VERSION_EXTRA'/>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xmlMemDisplay'/>
-          <ref name='xmlMemShow'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlShellDu'/>
-        </word>
-        <word name='shown'>
-          <ref name='ftpListCallback'/>
-        </word>
-        <word name='sibling'>
-          <ref name='_xmlAttr'/>
-          <ref name='_xmlAttribute'/>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlDtd'/>
-          <ref name='_xmlElement'/>
-          <ref name='_xmlEntity'/>
-          <ref name='_xmlNode'/>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlNextElementSibling'/>
-          <ref name='xmlPreviousElementSibling'/>
-          <ref name='xmlSchemaValueAppend'/>
-          <ref name='xmlSchemaValueGetNext'/>
-          <ref name='xmlXPathNextPrecedingSibling'/>
-        </word>
-        <word name='siblings'>
-          <ref name='xmlAddSibling'/>
-          <ref name='xmlFreeNodeList'/>
-          <ref name='xmlFreePropList'/>
-          <ref name='xmlXPathNextFollowingSibling'/>
-          <ref name='xmlXPathNextPrecedingSibling'/>
-        </word>
-        <word name='sign'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='signal'>
-          <ref name='ATTRIBUTE_UNUSED'/>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='signature'>
-          <ref name='xmlShellCmd'/>
-          <ref name='xmlShellReadlineFunc'/>
-        </word>
-        <word name='signs'>
-          <ref name='xmlNewTextChild'/>
-        </word>
-        <word name='similar'>
-          <ref name='xmlGetNoNsProp'/>
-          <ref name='xmlNewNs'/>
-          <ref name='xmlShell'/>
-          <ref name='xmlShellPwd'/>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-          <ref name='xmlXPathNodeSetGetLength'/>
-          <ref name='xmlXPathNodeSetItem'/>
-        </word>
-        <word name='simple'>
-          <ref name='XML_SCHEMAS_TYPE_ABSTRACT'/>
-          <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
-          <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xlinkSimpleLinkFunk'/>
-          <ref name='xmlAttrSerializeTxtContent'/>
-          <ref name='xmlFreeMutex'/>
-          <ref name='xmlHashScanner'/>
-          <ref name='xmlIsRef'/>
-          <ref name='xmlMutexLock'/>
-          <ref name='xmlMutexUnlock'/>
-          <ref name='xmlNewMutex'/>
-          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
-          <ref name='xmlSchemaNewStringValue'/>
-          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
-        </word>
-        <word name='simpleType'>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_DEFAULT'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_LIST'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_UNION'/>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_LIST'/>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_UNION'/>
-        </word>
-        <word name='simply'>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-        </word>
-        <word name='since'>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlChildElementCount'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlFirstElementChild'/>
-          <ref name='xmlLastElementChild'/>
-          <ref name='xmlNextElementSibling'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlPreviousElementSibling'/>
-          <ref name='xmlRelaxNGNewDocParserCtxt'/>
-          <ref name='xmlSchemaValidateSetLocator'/>
-        </word>
-        <word name='single'>
-          <ref name='IS_DIGIT_CH'/>
-          <ref name='XML_MAX_TEXT_LENGTH'/>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateElementDecl'/>
-          <ref name='xmlValidateNotationDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneElement'/>
-          <ref name='xmlValidateOneNamespace'/>
-          <ref name='xmlXPathNewNodeSet'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-          <ref name='xmlXPtrNewCollapsedRange'/>
-          <ref name='xmlXPtrNewLocationSetNodes'/>
-        </word>
-        <word name='single-byte'>
-          <ref name='IS_CHAR_CH'/>
-          <ref name='IS_EXTENDER_CH'/>
-          <ref name='IS_PUBIDCHAR_CH'/>
-        </word>
-        <word name='singleton'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='site1'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='site2'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='size_t'>
-          <ref name='xmlBufShrink'/>
-        </word>
-        <word name='sizes'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-        </word>
-        <word name='skip'>
-          <ref name='xmlSkipBlankChars'/>
-        </word>
-        <word name='skipped'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlSkipBlankChars'/>
-        </word>
-        <word name='slot'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='slots'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='small'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-        </word>
-        <word name='smaller'>
-          <ref name='xmlURIUnescapeString'/>
-        </word>
-        <word name='smallest'>
-          <ref name='xmlXPathCeilingFunction'/>
-        </word>
-        <word name='socket'>
-          <ref name='INVALID_SOCKET'/>
-          <ref name='xmlCheckFilename'/>
-          <ref name='xmlNanoFTPGetSocket'/>
-        </word>
-        <word name='sockets'>
-          <ref name='INVALID_SOCKET'/>
-          <ref name='SOCKET'/>
-        </word>
-        <word name='software'>
-          <ref name='LIBXML_TEST_VERSION'/>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-        <word name='solution'>
-          <ref name='xmlNormalizeWindowsPath'/>
-        </word>
-        <word name='some'>
-          <ref name='XML_SKIP_IDS'/>
-          <ref name='characters'/>
-          <ref name='charactersSAXFunc'/>
-          <ref name='ignorableWhitespace'/>
-          <ref name='ignorableWhitespaceSAXFunc'/>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlGetThreadId'/>
-          <ref name='xmlHandleEntity'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParserInputDeallocate'/>
-          <ref name='xmlRelaxNGValidatePushCData'/>
-          <ref name='xmlSAX2Characters'/>
-          <ref name='xmlSAX2IgnorableWhitespace'/>
-          <ref name='xmlTextReaderSetParserProp'/>
-          <ref name='xmlValidatePushCData'/>
-          <ref name='xmlXIncludeProcess'/>
-          <ref name='xmlXIncludeProcessFlags'/>
-          <ref name='xmlXIncludeProcessFlagsData'/>
-          <ref name='xmlXIncludeProcessNode'/>
-          <ref name='xmlXIncludeProcessTree'/>
-          <ref name='xmlXIncludeProcessTreeFlags'/>
-          <ref name='xmlXIncludeProcessTreeFlagsData'/>
-        </word>
-        <word name='somehow'>
-          <ref name='xmlNodeDump'/>
-        </word>
-        <word name='sometimes'>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlExpExpDerive'/>
-        </word>
-        <word name='somewhat'>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlCleanupParser'/>
-        </word>
-        <word name='sorted'>
-          <ref name='xmlParserAddNodeInfo'/>
-          <ref name='xmlParserFindNodeInfoIndex'/>
-          <ref name='xmlXPathDistinct'/>
-          <ref name='xmlXPathDistinctSorted'/>
-          <ref name='xmlXPathLeading'/>
-          <ref name='xmlXPathLeadingSorted'/>
-          <ref name='xmlXPathNodeLeading'/>
-          <ref name='xmlXPathNodeLeadingSorted'/>
-          <ref name='xmlXPathNodeTrailing'/>
-          <ref name='xmlXPathNodeTrailingSorted'/>
-          <ref name='xmlXPathTrailing'/>
-          <ref name='xmlXPathTrailingSorted'/>
-        </word>
-        <word name='sounds'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='source'>
-          <ref name='_xmlXPathContext'/>
-          <ref name='htmlCtxtReadIO'/>
-          <ref name='htmlGetMetaEncoding'/>
-          <ref name='htmlReadIO'/>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xmlCheckFilename'/>
-          <ref name='xmlCopyError'/>
-          <ref name='xmlCtxtReadIO'/>
-          <ref name='xmlNewTextReader'/>
-          <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-          <ref name='xmlReadIO'/>
-          <ref name='xmlReaderForIO'/>
-          <ref name='xmlReaderNewIO'/>
-        </word>
-        <word name='sourceDoc'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-        </word>
-        <word name='spaces'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='htmlDocContentDumpFormatOutput'/>
-          <ref name='htmlDocContentDumpOutput'/>
-          <ref name='htmlDocDumpMemoryFormat'/>
-          <ref name='htmlNodeDumpFileFormat'/>
-          <ref name='htmlNodeDumpFormatOutput'/>
-          <ref name='htmlNodeDumpOutput'/>
-          <ref name='htmlSaveFileEnc'/>
-          <ref name='htmlSaveFileFormat'/>
-          <ref name='xmlDocDumpFormatMemory'/>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocFormatDump'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlSaveFormatFile'/>
-          <ref name='xmlSaveFormatFileEnc'/>
-          <ref name='xmlSaveFormatFileTo'/>
-          <ref name='xmlSchemaCollapseString'/>
-          <ref name='xmlValidateNCName'/>
-          <ref name='xmlValidateNMToken'/>
-          <ref name='xmlValidateName'/>
-          <ref name='xmlValidateQName'/>
-        </word>
-        <word name='span'>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlStringCurrentChar'/>
-        </word>
-        <word name='spec'>
-          <ref name='xmlCatalogSetDefaultPrefer'/>
-          <ref name='xmlChildElementCount'/>
-          <ref name='xmlFirstElementChild'/>
-          <ref name='xmlLastElementChild'/>
-          <ref name='xmlNextElementSibling'/>
-          <ref name='xmlParseComment'/>
-          <ref name='xmlPreviousElementSibling'/>
-        </word>
-        <word name='spec:'>
-          <ref name='IS_BASECHAR'/>
-          <ref name='IS_BLANK'/>
-          <ref name='IS_BYTE_CHAR'/>
-          <ref name='IS_CHAR'/>
-          <ref name='IS_COMBINING'/>
-          <ref name='IS_DIGIT'/>
-          <ref name='IS_EXTENDER'/>
-          <ref name='IS_IDEOGRAPHIC'/>
-          <ref name='IS_LETTER'/>
-          <ref name='IS_PUBIDCHAR'/>
-        </word>
-        <word name='special'>
-          <ref name='XML_SKIP_IDS'/>
-          <ref name='XML_XML_ID'/>
-          <ref name='XML_XML_NAMESPACE'/>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNodeAddContent'/>
-          <ref name='xmlNodeAddContentLen'/>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-          <ref name='xmlTextWriterWriteRawLen'/>
-          <ref name='xmlXPtrRangeToFunction'/>
-        </word>
-        <word name='specialized'>
-          <ref name='_xmlDOMWrapCtxt'/>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-        </word>
-        <word name='specific'>
-          <ref name='XML_CATALOG_PI'/>
-          <ref name='_xmlValidCtxt'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlSchemaIsBuiltInTypeFacet'/>
-        </word>
-        <word name='specification'>
-          <ref name='XML_XML_NAMESPACE'/>
-          <ref name='xmlGetThreadId'/>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
-        <word name='specifications'>
-          <ref name='xmlParseSDDecl'/>
-        </word>
-        <word name='specify'>
-          <ref name='XML_SCHEMAS_TYPE_BLOCK_DEFAULT'/>
-          <ref name='xmlTextReaderLookupNamespace'/>
-          <ref name='xmlTextReaderStandalone'/>
-        </word>
-        <word name='specifying'>
-          <ref name='xmlMallocAtomicLoc'/>
-          <ref name='xmlMallocLoc'/>
-          <ref name='xmlMemMalloc'/>
-          <ref name='xmlMemRealloc'/>
-          <ref name='xmlReallocLoc'/>
-        </word>
-        <word name='speed'>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='speedup'>
-          <ref name='xmlTextReaderConstString'/>
-        </word>
-        <word name='split'>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='stacked'>
-          <ref name='_xmlXPathParserContext'/>
-          <ref name='xmlPushInput'/>
-        </word>
-        <word name='stage'>
-          <ref name='XML_SCHEMAS_TYPE_FIXUP_1'/>
-        </word>
-        <word name='stamps'>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='standalone'>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlParserInput'/>
-          <ref name='isStandalone'/>
-          <ref name='xmlCurrentChar'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlSAX2IsStandalone'/>
-          <ref name='xmlTextReaderStandalone'/>
-        </word>
-        <word name='standalone='>
-          <ref name='_xmlDoc'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlParserHandlePEReference'/>
-        </word>
-        <word name='standalone?'>
-          <ref name='isStandaloneSAXFunc'/>
-        </word>
-        <word name='standard'>
-          <ref name='docbParseDocument'/>
-          <ref name='htmlParseDocument'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlParseDocument'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='start'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='startDocument'/>
-          <ref name='startDocumentSAXFunc'/>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='xmlByteConsumed'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlRelaxNGValidatePushElement'/>
-          <ref name='xmlSAX2StartDocument'/>
-          <ref name='xmlSAX2StartElementNs'/>
-          <ref name='xmlSplitQName3'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-          <ref name='xmlValidatePushElement'/>
-          <ref name='xmlXPtrNewLocationSetNodes'/>
-          <ref name='xmlXPtrNewRange'/>
-        </word>
-        <word name='start-tag'>
-          <ref name='xmlParseElement'/>
-          <ref name='xmlParseStartTag'/>
-        </word>
-        <word name='started'>
-          <ref name='xmlTextWriterWriteDTDExternalEntity'/>
-        </word>
-        <word name='starting'>
-          <ref name='xmlAutomataNewAllTrans'/>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewCountedTrans'/>
-          <ref name='xmlAutomataNewCounterTrans'/>
-          <ref name='xmlAutomataNewEpsilon'/>
-          <ref name='xmlAutomataNewNegTrans'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-          <ref name='xmlAutomataNewTransition'/>
-          <ref name='xmlAutomataNewTransition2'/>
-          <ref name='xmlByteConsumed'/>
-          <ref name='xmlNewCharRef'/>
-          <ref name='xmlNewTextWriterTree'/>
-          <ref name='xmlSaveTree'/>
-          <ref name='xmlSchemaValidateOneElement'/>
-          <ref name='xmlXPathOrderDocElems'/>
-          <ref name='xmlXPathSubstringFunction'/>
-          <ref name='xmlXPtrNewCollapsedRange'/>
-          <ref name='xmlXPtrNewRange'/>
-          <ref name='xmlXPtrNewRangeNodeObject'/>
-          <ref name='xmlXPtrNewRangeNodePoint'/>
-          <ref name='xmlXPtrNewRangeNodes'/>
-          <ref name='xmlXPtrNewRangePointNode'/>
-          <ref name='xmlXPtrNewRangePoints'/>
-        </word>
-        <word name='starts'>
-          <ref name='xmlXPathStartsWithFunction'/>
-        </word>
-        <word name='starts-with'>
-          <ref name='xmlXPathStartsWithFunction'/>
-        </word>
-        <word name='startup'>
-          <ref name='setDocumentLocator'/>
-          <ref name='setDocumentLocatorSAXFunc'/>
-          <ref name='xmlInitializeCatalog'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadCatalogs'/>
-          <ref name='xmlSAX2SetDocumentLocator'/>
-        </word>
-        <word name='stashed'>
-          <ref name='xmlNanoHTTPAuthHeader'/>
-        </word>
-        <word name='stat'>
-          <ref name='xmlCheckFilename'/>
-        </word>
-        <word name='stateful'>
-          <ref name='xmlCharEncodingOutputFunc'/>
-        </word>
-        <word name='states'>
-          <ref name='_xmlValidCtxt'/>
-        </word>
-        <word name='static'>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='status'>
-          <ref name='xmlTextReaderIsValid'/>
-          <ref name='xmlTextReaderStandalone'/>
-        </word>
-        <word name='stderr'>
-          <ref name='xmlSetGenericErrorFunc'/>
-        </word>
-        <word name='stdin'>
-          <ref name='xmlParserInputBufferCreateFilename'/>
-        </word>
-        <word name='stdout'>
-          <ref name='htmlSaveFile'/>
-          <ref name='xmlOutputBufferCreateFilename'/>
-          <ref name='xmlSaveFile'/>
-          <ref name='xmlSaveFormatFile'/>
-          <ref name='xmlShell'/>
-        </word>
-        <word name='step'>
-          <ref name='xmlExpStringDerive'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlValidateDocumentFinal'/>
-          <ref name='xmlValidateDtdFinal'/>
-          <ref name='xmlXPtrRangeToFunction'/>
-        </word>
-        <word name='steps'>
-          <ref name='xmlNormalizeURIPath'/>
-          <ref name='xmlValidateDocumentFinal'/>
-        </word>
-        <word name='still'>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlModuleFree'/>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlReconciliateNs'/>
-        </word>
-        <word name='stop'>
-          <ref name='xmlListWalker'/>
-        </word>
-        <word name='stops'>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='storage'>
-          <ref name='xmlUTF8Strsize'/>
-        </word>
-        <word name='store'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='htmlParseEntityRef'/>
-          <ref name='isolat1ToUTF8'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlExpGetLanguage'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlGetFeature'/>
-          <ref name='xmlGetLineNo'/>
-          <ref name='xmlInputReadCallback'/>
-          <ref name='xmlOutputBufferWrite'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlOutputBufferWriteString'/>
-          <ref name='xmlParseAttribute'/>
-          <ref name='xmlParseEntityValue'/>
-          <ref name='xmlValidGetPotentialChildren'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='stored'>
-          <ref name='xmlParseElementContentDecl'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlParserInputBufferPush'/>
-          <ref name='xmlParserInputBufferRead'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='stores'>
-          <ref name='xmlBufNodeDump'/>
-        </word>
-        <word name='str'>
-          <ref name='htmlParseEntityRef'/>
-          <ref name='xmlBufferAdd'/>
-        </word>
-        <word name='strcasecmp'>
-          <ref name='xmlStrcasecmp'/>
-        </word>
-        <word name='strcat'>
-          <ref name='xmlStrcat'/>
-        </word>
-        <word name='strchr'>
-          <ref name='xmlStrchr'/>
-        </word>
-        <word name='strcmp'>
-          <ref name='xmlStrcmp'/>
-        </word>
-        <word name='strdup'>
-          <ref name='xmlCharStrdup'/>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemGet'/>
-          <ref name='xmlMemSetup'/>
-          <ref name='xmlMemStrdupLoc'/>
-          <ref name='xmlMemoryStrdup'/>
-          <ref name='xmlStrdup'/>
-          <ref name='xmlStrdupFunc'/>
-        </word>
-        <word name='streamable'>
-          <ref name='xmlPatternStreamable'/>
-          <ref name='xmlSchemaValidateFile'/>
-        </word>
-        <word name='streaming'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlPatternGetStreamCtxt'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-        </word>
-        <word name='streams'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlSkipBlankChars'/>
-        </word>
-        <word name='strict'>
-          <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
-          <ref name='XML_SCHEMAS_ANY_STRICT'/>
-          <ref name='xmlParseExternalID'/>
-          <ref name='xmlXPathCompareValues'/>
-        </word>
-        <word name='string--that'>
-          <ref name='xmlNormalizeURIPath'/>
-        </word>
-        <word name='string-length'>
-          <ref name='xmlXPathStringLengthFunction'/>
-        </word>
-        <word name='string?'>
-          <ref name='xmlXPathNormalizeFunction'/>
-          <ref name='xmlXPathStringLengthFunction'/>
-        </word>
-        <word name='stringi'>
-          <ref name='xmlXPathSubstringAfterFunction'/>
-        </word>
-        <word name='strings'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlDictCreateSub'/>
-          <ref name='xmlDictGetUsage'/>
-          <ref name='xmlExpGetLanguage'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlGetFeaturesList'/>
-          <ref name='xmlPatterncompile'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlRegexpCompile'/>
-          <ref name='xmlStrEqual'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-          <ref name='xmlStrncatNew'/>
-        </word>
-        <word name='stripping'>
-          <ref name='xmlXPathNormalizeFunction'/>
-        </word>
-        <word name='strncasecmp'>
-          <ref name='xmlStrncasecmp'/>
-        </word>
-        <word name='strncat'>
-          <ref name='xmlStrncat'/>
-        </word>
-        <word name='strncmp'>
-          <ref name='xmlStrncmp'/>
-        </word>
-        <word name='strndup'>
-          <ref name='xmlCharStrndup'/>
-          <ref name='xmlStrndup'/>
-          <ref name='xmlUTF8Strndup'/>
-        </word>
-        <word name='strstr'>
-          <ref name='xmlStrcasestr'/>
-          <ref name='xmlStrstr'/>
-        </word>
-        <word name='struct'>
-          <ref name='xmlFreeMutex'/>
-          <ref name='xmlFreeURI'/>
-          <ref name='xmlNewMutex'/>
-          <ref name='xmlParserFindNodeInfo'/>
-          <ref name='xmlSchemaGetBuiltInType'/>
-          <ref name='xmlSchemaNewNOTATIONValue'/>
-          <ref name='xmlSchemaNewQNameValue'/>
-          <ref name='xmlSchemaNewStringValue'/>
-        </word>
-        <word name='structured'>
-          <ref name='xmlRelaxNGSetValidStructuredErrors'/>
-          <ref name='xmlSchemaSetParserStructuredErrors'/>
-          <ref name='xmlSchemaSetValidStructuredErrors'/>
-          <ref name='xmlSchematronSetValidStructuredErrors'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-        </word>
-        <word name='structures'>
-          <ref name='xmlFreeDoc'/>
-          <ref name='xmlFreeNs'/>
-          <ref name='xmlFreeNsList'/>
-          <ref name='xmlLoadACatalog'/>
-          <ref name='xmlNewRMutex'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlRegFreeExecCtxt'/>
-        </word>
-        <word name='stuff'>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlParseNamespace'/>
-        </word>
-        <word name='style'>
-          <ref name='xmlSAXDefaultVersion'/>
-        </word>
-        <word name='sub'>
-          <ref name='xmlExpExpDerive'/>
-        </word>
-        <word name='sub-elements'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='subelement'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='htmlDefaultSubelement'/>
-          <ref name='xmlNewDocElementContent'/>
-          <ref name='xmlNewElementContent'/>
-        </word>
-        <word name='subelements'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='subexpression'>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlExpSubsume'/>
-        </word>
-        <word name='subexpressions'>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='subject'>
-          <ref name='xmlParseSDDecl'/>
-        </word>
-        <word name='sublanguage'>
-          <ref name='xmlXPathLangFunction'/>
-        </word>
-        <word name='submits'>
-          <ref name='xmlRegisterHTTPPostCallbacks'/>
-        </word>
-        <word name='subsequent'>
-          <ref name='xmlIOHTTPOpenW'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-        </word>
-        <word name='subset?'>
-          <ref name='hasExternalSubsetSAXFunc'/>
-        </word>
-        <word name='subsets'>
-          <ref name='xmlGetParameterEntity'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='substitute'>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='substituted'>
-          <ref name='XML_SUBSTITUTE_BOTH'/>
-          <ref name='XML_SUBSTITUTE_NONE'/>
-          <ref name='XML_SUBSTITUTE_PEREF'/>
-          <ref name='XML_SUBSTITUTE_REF'/>
-          <ref name='xmlBufGetNodeContent'/>
-          <ref name='xmlNodeBufGetContent'/>
-          <ref name='xmlNodeGetContent'/>
-          <ref name='xmlParseEntityValue'/>
-        </word>
-        <word name='substituting'>
-          <ref name='xmlSubstituteEntitiesDefault'/>
-        </word>
-        <word name='substitutionGroup'>
-          <ref name='XML_SCHEMAS_ELEM_INTERNAL_RESOLVED'/>
-        </word>
-        <word name='substitutions'>
-          <ref name='XML_SCHEMAS_ELEM_BLOCK_EXTENSION'/>
-          <ref name='xmlStringDecodeEntities'/>
-          <ref name='xmlStringLenDecodeEntities'/>
-          <ref name='xmlXIncludeProcess'/>
-          <ref name='xmlXIncludeProcessFlags'/>
-          <ref name='xmlXIncludeProcessFlagsData'/>
-          <ref name='xmlXIncludeProcessNode'/>
-          <ref name='xmlXIncludeProcessTree'/>
-          <ref name='xmlXIncludeProcessTreeFlags'/>
-          <ref name='xmlXIncludeProcessTreeFlagsData'/>
-        </word>
-        <word name='substitutions:'>
-          <ref name='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION'/>
-          <ref name='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION'/>
-        </word>
-        <word name='substring'>
-          <ref name='xmlNodeAddContent'/>
-          <ref name='xmlNodeAddContentLen'/>
-          <ref name='xmlStrsub'/>
-          <ref name='xmlUTF8Strsub'/>
-          <ref name='xmlXPathSubstringAfterFunction'/>
-          <ref name='xmlXPathSubstringBeforeFunction'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='substring-after'>
-          <ref name='xmlXPathSubstringAfterFunction'/>
-        </word>
-        <word name='substring-before'>
-          <ref name='xmlXPathSubstringBeforeFunction'/>
-        </word>
-        <word name='subtag'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='subtags'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='subtraction'>
-          <ref name='xmlXPathSubValues'/>
-        </word>
-        <word name='subtree'>
-          <ref name='attribute'/>
-          <ref name='attributeSAXFunc'/>
-          <ref name='xmlFreeDocElementContent'/>
-          <ref name='xmlFreeElementContent'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlRelaxNGValidateFullElement'/>
-          <ref name='xmlSaveTree'/>
-          <ref name='xmlSchemaValidateOneElement'/>
-          <ref name='xmlShellDu'/>
-          <ref name='xmlShellWrite'/>
-          <ref name='xmlTextReaderExpand'/>
-          <ref name='xmlTextReaderNext'/>
-          <ref name='xmlTextReaderNextSibling'/>
-          <ref name='xmlValidateElement'/>
-          <ref name='xmlXIncludeProcessNode'/>
-          <ref name='xmlXIncludeProcessTree'/>
-          <ref name='xmlXIncludeProcessTreeFlags'/>
-        </word>
-        <word name='succeed'>
-          <ref name='xmlNewTextWriter'/>
-        </word>
-        <word name='succeeded'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlHashAddEntry'/>
-          <ref name='xmlHashAddEntry2'/>
-          <ref name='xmlHashAddEntry3'/>
-          <ref name='xmlHashRemoveEntry'/>
-          <ref name='xmlHashRemoveEntry2'/>
-          <ref name='xmlHashRemoveEntry3'/>
-          <ref name='xmlHashUpdateEntry'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlSchemaValueAppend'/>
-          <ref name='xmlXPathCompareValues'/>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='succeeds'>
-          <ref name='xmlCheckFilename'/>
-          <ref name='xmlNewTextWriterPushParser'/>
-        </word>
-        <word name='successful'>
-          <ref name='xmlACatalogAdd'/>
-          <ref name='xmlACatalogRemove'/>
-          <ref name='xmlBufferAdd'/>
-          <ref name='xmlBufferAddHead'/>
-          <ref name='xmlBufferCCat'/>
-          <ref name='xmlBufferCat'/>
-          <ref name='xmlCatalogAdd'/>
-          <ref name='xmlCatalogConvert'/>
-          <ref name='xmlCatalogRemove'/>
-          <ref name='xmlConvertSGMLCatalog'/>
-          <ref name='xmlGetLineNo'/>
-          <ref name='xmlListPushBack'/>
-          <ref name='xmlListPushFront'/>
-          <ref name='xmlSaveSetAttrEscape'/>
-          <ref name='xmlSaveSetEscape'/>
-          <ref name='xmlTextReaderSetParserProp'/>
-          <ref name='xmlUnsetNsProp'/>
-          <ref name='xmlUnsetProp'/>
-          <ref name='xmlXPathSetContextNode'/>
-        </word>
-        <word name='successfully'>
-          <ref name='xmlTextReaderNext'/>
-          <ref name='xmlTextReaderNextSibling'/>
-          <ref name='xmlTextReaderRead'/>
-        </word>
-        <word name='succession'>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-        </word>
-        <word name='successive'>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-        </word>
-        <word name='successors'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='such'>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlSetProp'/>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-          <ref name='xmlXPathLangFunction'/>
-          <ref name='xmlXPathNodeSetFreeNs'/>
-          <ref name='xmlXPathRoundFunction'/>
-        </word>
-        <word name='suffix'>
-          <ref name='LIBXML_MODULE_EXTENSION'/>
-        </word>
-        <word name='suggested'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='suitable'>
-          <ref name='xmlNewIOInputStream'/>
-          <ref name='xmlOutputBufferCreateFilenameFunc'/>
-          <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-          <ref name='xmlRegexpCompile'/>
-        </word>
-        <word name='sum'>
-          <ref name='xmlXPathSubstringFunction'/>
-          <ref name='xmlXPathSumFunction'/>
-        </word>
-        <word name='super'>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-        </word>
-        <word name='super-strict'>
-          <ref name='xmlCheckUTF8'/>
-        </word>
-        <word name='supplied'>
-          <ref name='xmlGetRefs'/>
-        </word>
-        <word name='supported'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-          <ref name='xmlInitCharEncodingHandlers'/>
-          <ref name='xmlNanoFTPGetConnection'/>
-          <ref name='xmlNodeAddContent'/>
-          <ref name='xmlNodeAddContentLen'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaGetCanonValueWhtsp'/>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
-        <word name='supposed'>
-          <ref name='xmlIsMixedElement'/>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNodeAddContent'/>
-          <ref name='xmlNodeAddContentLen'/>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-          <ref name='xmlStrcat'/>
-          <ref name='xmlStrdup'/>
-        </word>
-        <word name='sure'>
-          <ref name='xmlDictCleanup'/>
-          <ref name='xmlSaveClose'/>
-          <ref name='xmlSaveFlush'/>
-          <ref name='xmlURIEscape'/>
-          <ref name='xmlXPathNodeSetAddUnique'/>
-        </word>
-        <word name='surprising'>
-          <ref name='xmlRegisterCharEncodingHandler'/>
-        </word>
-        <word name='surrogate'>
-          <ref name='IS_CHAR'/>
-        </word>
-        <word name='switch'>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlParseReference'/>
-          <ref name='xmlPushInput'/>
-        </word>
-        <word name='symbol'>
-          <ref name='XMLPUBLIC'/>
-          <ref name='xmlModuleSymbol'/>
-        </word>
-        <word name='synchronizing'>
-          <ref name='xmlNewMutex'/>
-          <ref name='xmlNewRMutex'/>
-        </word>
-        <word name='syntax'>
-          <ref name='xmlParseAttributeType'/>
-        </word>
-        <word name='systematically'>
-          <ref name='xmlIsID'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk25'>
-      <letter name='t'>
-        <word name='tag'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='htmlAutoCloseTag'/>
-          <ref name='htmlIsAutoClosed'/>
-          <ref name='htmlTagLookup'/>
-          <ref name='startElement'/>
-          <ref name='startElementSAXFunc'/>
-          <ref name='xmlNodeSetName'/>
-          <ref name='xmlParseEndTag'/>
-          <ref name='xmlParseStartTag'/>
-          <ref name='xmlSAX2StartElement'/>
-          <ref name='xmlTextWriterFullEndElement'/>
-        </word>
-        <word name='tagged'>
-          <ref name='isStandalone'/>
-          <ref name='isStandaloneSAXFunc'/>
-          <ref name='xmlNewNsProp'/>
-          <ref name='xmlNewNsPropEatName'/>
-          <ref name='xmlSAX2IsStandalone'/>
-        </word>
-        <word name='tags'>
-          <ref name='htmlAutoCloseTag'/>
-          <ref name='htmlGetMetaEncoding'/>
-          <ref name='htmlHandleOmittedElem'/>
-          <ref name='htmlIsAutoClosed'/>
-          <ref name='htmlSetMetaEncoding'/>
-        </word>
-        <word name='take'>
-          <ref name='xmlLockLibrary'/>
-        </word>
-        <word name='taken'>
-          <ref name='xmlDocSetRootElement'/>
-        </word>
-        <word name='takes'>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-        </word>
-        <word name='tell'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='XML_DETECT_IDS'/>
-          <ref name='XML_SKIP_IDS'/>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='tells'>
-          <ref name='xmlTextReaderPreserve'/>
-          <ref name='xmlTextReaderPreservePattern'/>
-        </word>
-        <word name='temporary'>
-          <ref name='_xmlValidCtxt'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlIOHTTPOpenW'/>
-        </word>
-        <word name='terminal'>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-        </word>
-        <word name='terminals'>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='terminated'>
-          <ref name='htmlCtxtReadDoc'/>
-          <ref name='htmlReadDoc'/>
-          <ref name='startElement'/>
-          <ref name='startElementSAXFunc'/>
-          <ref name='xmlBufferCCat'/>
-          <ref name='xmlBufferCat'/>
-          <ref name='xmlCtxtReadDoc'/>
-          <ref name='xmlDocDumpMemory'/>
-          <ref name='xmlExpParse'/>
-          <ref name='xmlGetNsList'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlOutputBufferWriteString'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlReadDoc'/>
-          <ref name='xmlReaderForDoc'/>
-          <ref name='xmlReaderNewDoc'/>
-          <ref name='xmlSAX2StartElement'/>
-          <ref name='xmlStrdupFunc'/>
-        </word>
-        <word name='termination'>
-          <ref name='xmlStrcat'/>
-          <ref name='xmlStrdup'/>
-        </word>
-        <word name='terms'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='test'>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlXPathEqualValues'/>
-          <ref name='xmlXPathNotEqualValues'/>
-        </word>
-        <word name='tested'>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='testing'>
-          <ref name='xmlRegexpCompile'/>
-        </word>
-        <word name='text-'>
-          <ref name='xmlStreamPushNode'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-        </word>
-        <word name='text-node'>
-          <ref name='xmlIsBlankNode'/>
-        </word>
-        <word name='textDecl?'>
-          <ref name='xmlParseExternalSubset'/>
-        </word>
-        <word name='their'>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlEncodeEntities'/>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-          <ref name='xmlLoadCatalogs'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlUnlinkNode'/>
-          <ref name='xmlXPathAddValues'/>
-          <ref name='xmlXPathDivValues'/>
-          <ref name='xmlXPathIdFunction'/>
-          <ref name='xmlXPathModValues'/>
-          <ref name='xmlXPathMultValues'/>
-          <ref name='xmlXPathSubValues'/>
-          <ref name='xmlXPathValueFlipSign'/>
-        </word>
-        <word name='them'>
-          <ref name='xmlExpGetLanguage'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewSeq'/>
-          <ref name='xmlNanoFTPRead'/>
-          <ref name='xmlNanoHTTPRead'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-        </word>
-        <word name='these'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlCheckUTF8'/>
-          <ref name='xmlParseSDDecl'/>
-        </word>
-        <word name='they'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlBufferDetach'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlStrEqual'/>
-          <ref name='xmlStrQEqual'/>
-          <ref name='xmlStrcat'/>
-          <ref name='xmlStrdup'/>
-          <ref name='xmlUnlinkNode'/>
-        </word>
-        <word name='third'>
-          <ref name='xmlHashAddEntry3'/>
-          <ref name='xmlHashLookup3'/>
-          <ref name='xmlHashQLookup3'/>
-          <ref name='xmlHashRemoveEntry3'/>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull3'/>
-          <ref name='xmlHashScannerFull'/>
-          <ref name='xmlHashUpdateEntry3'/>
-          <ref name='xmlXPathSubstringFunction'/>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='this?'>
-          <ref name='_xmlSchemaType'/>
-        </word>
-        <word name='those'>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlSchemaValidateSetLocator'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlXPathSubstringFunction'/>
-        </word>
-        <word name='though'>
-          <ref name='xmlDocDumpMemory'/>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-        </word>
-        <word name='thread'>
-          <ref name='LIBXML_THREAD_ENABLED'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlGetGlobalState'/>
-          <ref name='xmlGetLastError'/>
-          <ref name='xmlGetThreadId'/>
-          <ref name='xmlInitThreads'/>
-          <ref name='xmlInitializeCatalog'/>
-          <ref name='xmlIsMainThread'/>
-          <ref name='xmlLoadCatalog'/>
-          <ref name='xmlLoadCatalogs'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-        </word>
-        <word name='through'>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlDecodeEntities'/>
-          <ref name='xmlNormalizeURIPath'/>
-        </word>
-        <word name='thumblers'>
-          <ref name='xmlShellPwd'/>
-        </word>
-        <word name='thus'>
-          <ref name='xmlDOMWrapRemoveNode'/>
-          <ref name='xmlNewRMutex'/>
-          <ref name='xmlXPathNextAncestor'/>
-          <ref name='xmlXPathNextAncestorOrSelf'/>
-          <ref name='xmlXPathNextDescendantOrSelf'/>
-        </word>
-        <word name='tight'>
-          <ref name='xmlGetBufferAllocationScheme'/>
-        </word>
-        <word name='time'>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlXPathAxisFunc'/>
-        </word>
-        <word name='title'>
-          <ref name='xlinkSimpleLinkFunk'/>
-        </word>
-        <word name='titles'>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xlinkExtendedLinkSetFunk'/>
-        </word>
-        <word name='todo:'>
-          <ref name='_xmlError'/>
-        </word>
-        <word name='token'>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-          <ref name='xmlFreeMutex'/>
-          <ref name='xmlMutexLock'/>
-          <ref name='xmlMutexUnlock'/>
-          <ref name='xmlNewMutex'/>
-          <ref name='xmlRegExecCallbacks'/>
-          <ref name='xmlRegExecPushString'/>
-          <ref name='xmlRegExecPushString2'/>
-        </word>
-        <word name='token_r'>
-          <ref name='xmlNewRMutex'/>
-          <ref name='xmlRMutexLock'/>
-          <ref name='xmlRMutexUnlock'/>
-        </word>
-        <word name='tokens'>
-          <ref name='xmlExpGetLanguage'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlParseEnumerationType'/>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='too'>
-          <ref name='DEBUG_MEMORY'/>
-          <ref name='htmlNodeDump'/>
-          <ref name='htmlNodeDumpFile'/>
-          <ref name='htmlNodeDumpFileFormat'/>
-          <ref name='htmlNodeDumpFormatOutput'/>
-          <ref name='htmlNodeDumpOutput'/>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlCopyDoc'/>
-          <ref name='xmlElemDump'/>
-          <ref name='xmlFreeNode'/>
-          <ref name='xmlFreeNodeList'/>
-          <ref name='xmlFreeProp'/>
-          <ref name='xmlFreePropList'/>
-          <ref name='xmlGetDocEntity'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-          <ref name='xmlRemoveProp'/>
-        </word>
-        <word name='top'>
-          <ref name='CAST_TO_BOOLEAN'/>
-          <ref name='CAST_TO_NUMBER'/>
-          <ref name='CAST_TO_STRING'/>
-          <ref name='CHECK_TYPE'/>
-          <ref name='CHECK_TYPE0'/>
-          <ref name='XML_SCHEMAS_ELEM_TOPLEVEL'/>
-          <ref name='inputPop'/>
-          <ref name='inputPush'/>
-          <ref name='namePop'/>
-          <ref name='namePush'/>
-          <ref name='nodePop'/>
-          <ref name='nodePush'/>
-          <ref name='valuePop'/>
-          <ref name='valuePush'/>
-          <ref name='xmlNamespaceParseNCName'/>
-          <ref name='xmlNamespaceParseNSDef'/>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlPopInputCallbacks'/>
-          <ref name='xmlPopOutputCallbacks'/>
-          <ref name='xmlPushInput'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlSetTreeDoc'/>
-        </word>
-        <word name='total'>
-          <ref name='_xmlOutputBuffer'/>
-          <ref name='xmlGetFeaturesList'/>
-          <ref name='xmlUTF8Strsub'/>
-        </word>
-        <word name='touch'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-        <word name='track'>
-          <ref name='xmlEntityReferenceFunc'/>
-        </word>
-        <word name='tracking'>
-          <ref name='xmlParserPrintFileContext'/>
-        </word>
-        <word name='trailing'>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlXPathNodeTrailing'/>
-          <ref name='xmlXPathNodeTrailingSorted'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-          <ref name='xmlXPathTrailing'/>
-          <ref name='xmlXPathTrailingSorted'/>
-        </word>
-        <word name='transaction'>
-          <ref name='xmlNanoHTTPSave'/>
-        </word>
-        <word name='transcoding'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='xmlCharEncFirstLine'/>
-          <ref name='xmlCharEncInFunc'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlOutputBufferWrite'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlOutputBufferWriteString'/>
-          <ref name='xmlParserInputBufferGrow'/>
-          <ref name='xmlParserInputBufferPush'/>
-          <ref name='xmlParserInputBufferRead'/>
-          <ref name='xmlSaveFileTo'/>
-          <ref name='xmlSaveFormatFileTo'/>
-        </word>
-        <word name='transferred'>
-          <ref name='xmlParsePI'/>
-        </word>
-        <word name='transformation'>
-          <ref name='xmlCharEncCloseFunc'/>
-          <ref name='xmlCharEncFirstLine'/>
-          <ref name='xmlCharEncInFunc'/>
-          <ref name='xmlCharEncOutFunc'/>
-        </word>
-        <word name='transformed'>
-          <ref name='xmlRelaxNGDumpTree'/>
-        </word>
-        <word name='transitions'>
-          <ref name='xmlAutomataNewAllTrans'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-        </word>
-        <word name='translate'>
-          <ref name='xmlXPathTranslateFunction'/>
-        </word>
-        <word name='translation'>
-          <ref name='xmlURIUnescapeString'/>
-        </word>
-        <word name='transmit'>
-          <ref name='errorSAXFunc'/>
-          <ref name='fatalErrorSAXFunc'/>
-          <ref name='warningSAXFunc'/>
-          <ref name='xmlParserError'/>
-          <ref name='xmlParserValidityError'/>
-          <ref name='xmlParserValidityWarning'/>
-          <ref name='xmlParserWarning'/>
-        </word>
-        <word name='transport'>
-          <ref name='xmlNanoFTPClose'/>
-        </word>
-        <word name='traversal'>
-          <ref name='xmlChildElementCount'/>
-          <ref name='xmlFirstElementChild'/>
-          <ref name='xmlLastElementChild'/>
-          <ref name='xmlNextElementSibling'/>
-          <ref name='xmlPreviousElementSibling'/>
-          <ref name='xmlXPathAxisFunc'/>
-          <ref name='xmlXPathNextAncestor'/>
-          <ref name='xmlXPathNextAncestorOrSelf'/>
-          <ref name='xmlXPathNextAttribute'/>
-          <ref name='xmlXPathNextChild'/>
-          <ref name='xmlXPathNextDescendant'/>
-          <ref name='xmlXPathNextDescendantOrSelf'/>
-          <ref name='xmlXPathNextFollowing'/>
-          <ref name='xmlXPathNextFollowingSibling'/>
-          <ref name='xmlXPathNextNamespace'/>
-          <ref name='xmlXPathNextParent'/>
-          <ref name='xmlXPathNextPreceding'/>
-          <ref name='xmlXPathNextPrecedingSibling'/>
-          <ref name='xmlXPathNextSelf'/>
-          <ref name='xmlXPtrNewContext'/>
-        </word>
-        <word name='traverse'>
-          <ref name='xmlXPathAxisFunc'/>
-        </word>
-        <word name='treated'>
-          <ref name='xmlParseAttValue'/>
-        </word>
-        <word name='tried'>
-          <ref name='xmlRecoverDoc'/>
-          <ref name='xmlRecoverMemory'/>
-        </word>
-        <word name='tries'>
-          <ref name='INPUT_CHUNK'/>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlNanoFTPRead'/>
-          <ref name='xmlNanoHTTPRead'/>
-          <ref name='xmlParserInputGrow'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-        </word>
-        <word name='trio'>
-          <ref name='WITHOUT_TRIO'/>
-          <ref name='WITH_TRIO'/>
-        </word>
-        <word name='troubles'>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlSearchNs'/>
-        </word>
-        <word name='try'>
-          <ref name='CAST_TO_BOOLEAN'/>
-          <ref name='CAST_TO_NUMBER'/>
-          <ref name='CAST_TO_STRING'/>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='htmlNodeDumpFileFormat'/>
-          <ref name='isolat1ToUTF8'/>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlFileOpen'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlURIEscape'/>
-          <ref name='xmlValidateRoot'/>
-        </word>
-        <word name='tune'>
-          <ref name='xmlBufferSetAllocationScheme'/>
-        </word>
-        <word name='tuple'>
-          <ref name='xmlHashAddEntry2'/>
-          <ref name='xmlHashAddEntry3'/>
-          <ref name='xmlHashLookup2'/>
-          <ref name='xmlHashLookup3'/>
-          <ref name='xmlHashQLookup2'/>
-          <ref name='xmlHashQLookup3'/>
-          <ref name='xmlHashRemoveEntry'/>
-          <ref name='xmlHashRemoveEntry2'/>
-          <ref name='xmlHashRemoveEntry3'/>
-          <ref name='xmlHashScan3'/>
-          <ref name='xmlHashScanFull3'/>
-          <ref name='xmlHashUpdateEntry2'/>
-          <ref name='xmlHashUpdateEntry3'/>
-        </word>
-        <word name='tuples'>
-          <ref name='xmlHashAddEntry2'/>
-        </word>
-        <word name='turn'>
-          <ref name='xmlBoolToText'/>
-        </word>
-        <word name='turned'>
-          <ref name='xmlGetNoNsProp'/>
-          <ref name='xmlGetNsProp'/>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlHasNsProp'/>
-          <ref name='xmlHasProp'/>
-          <ref name='xmlLineNumbersDefault'/>
-        </word>
-        <word name='two'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlMemDisplayLast'/>
-          <ref name='xmlStrncatNew'/>
-          <ref name='xmlTextMerge'/>
-          <ref name='xmlUTF8Charcmp'/>
-          <ref name='xmlXPathCmpNodes'/>
-          <ref name='xmlXPathDifference'/>
-          <ref name='xmlXPathNodeSetMerge'/>
-          <ref name='xmlXPathRoundFunction'/>
-          <ref name='xmlXPtrLocationSetMerge'/>
-          <ref name='xmlXPtrNewLocationSetNodes'/>
-        </word>
-        <word name='two-character'>
-          <ref name='xmlCurrentChar'/>
-        </word>
-        <word name='txt'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='type:'>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='typefixed'>
-          <ref name='XML_SCHEMAS_TYPE_INTERNAL_RESOLVED'/>
-        </word>
-        <word name='types'>
-          <ref name='XML_SCHEMAS_FACET_COLLAPSE'/>
-          <ref name='_xmlSchemaType'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlExternalEntityLoader'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaNewStringValue'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlStreamWantsAnyNode'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk26'>
-      <letter name='u'>
-        <word name='ugly'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='htmlEntityLookup'/>
-          <ref name='htmlEntityValueLookup'/>
-        </word>
-        <word name='unary'>
-          <ref name='xmlXPathValueFlipSign'/>
-        </word>
-        <word name='unclean'>
-          <ref name='_xmlURI'/>
-        </word>
-        <word name='uncompressed'>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlGetCompressMode'/>
-          <ref name='xmlGetDocCompressMode'/>
-          <ref name='xmlSetCompressMode'/>
-          <ref name='xmlSetDocCompressMode'/>
-        </word>
-        <word name='unconditionally'>
-          <ref name='LIBXML_EXPR_ENABLED'/>
-        </word>
-        <word name='under'>
-          <ref name='xmlBuildRelativeURI'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlSetTreeDoc'/>
-          <ref name='xmlShellDu'/>
-          <ref name='xmlShellWrite'/>
-          <ref name='xmlValidateElement'/>
-        </word>
-        <word name='underlying'>
-          <ref name='xmlTextReaderClose'/>
-          <ref name='xmlTextReaderCurrentNode'/>
-        </word>
-        <word name='understand'>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='unescape'>
-          <ref name='xmlURIUnescapeString'/>
-        </word>
-        <word name='unescaped'>
-          <ref name='xmlFileOpen'/>
-          <ref name='xmlNodeAddContent'/>
-          <ref name='xmlNodeAddContentLen'/>
-          <ref name='xmlURIUnescapeString'/>
-        </word>
-        <word name='unescaping'>
-          <ref name='xmlParseURIRaw'/>
-        </word>
-        <word name='unfriendly'>
-          <ref name='XML_MAX_LOOKUP_LIMIT'/>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-        </word>
-        <word name='unicode'>
-          <ref name='htmlEntityValueLookup'/>
-          <ref name='xmlIsLetter'/>
-        </word>
-        <word name='unimplemented'>
-          <ref name='htmlCtxtUseOptions'/>
-          <ref name='xmlCtxtUseOptions'/>
-        </word>
-        <word name='union'>
-          <ref name='XML_SCHEMAS_FINAL_DEFAULT_UNION'/>
-          <ref name='XML_SCHEMAS_TYPE_FINAL_UNION'/>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_UNION'/>
-          <ref name='_xmlSchemaType'/>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='unique'>
-          <ref name='_xmlParserInput'/>
-          <ref name='_xmlSchema'/>
-          <ref name='xmlExpGetLanguage'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='uniquely'>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='uniqueness'>
-          <ref name='xmlValidateAttributeDecl'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneNamespace'/>
-        </word>
-        <word name='units'>
-          <ref name='xmlUTF8Strsub'/>
-        </word>
-        <word name='unknown'>
-          <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
-          <ref name='XML_SCHEMAS_ANY_SKIP'/>
-          <ref name='XML_SCHEMAS_FACET_UNKNOWN'/>
-          <ref name='htmlCtxtUseOptions'/>
-          <ref name='xmlCtxtUseOptions'/>
-          <ref name='xmlHasFeature'/>
-          <ref name='xmlUCSIsBlock'/>
-          <ref name='xmlUCSIsCat'/>
-        </word>
-        <word name='unless'>
-          <ref name='htmlSAXParseDoc'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='xmlDictCleanup'/>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlExpNewSeq'/>
-          <ref name='xmlGetNoNsProp'/>
-          <ref name='xmlGetNsProp'/>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlHasNsProp'/>
-          <ref name='xmlHasProp'/>
-          <ref name='xmlXPathNextNamespace'/>
-        </word>
-        <word name='unlink'>
-          <ref name='xmlFreeNode'/>
-          <ref name='xmlUnlinkNode'/>
-        </word>
-        <word name='unlinked'>
-          <ref name='xmlAddNextSibling'/>
-          <ref name='xmlAddPrevSibling'/>
-          <ref name='xmlAddSibling'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlNewEntity'/>
-          <ref name='xmlReplaceNode'/>
-          <ref name='xmlUnlinkNode'/>
-        </word>
-        <word name='unload'>
-          <ref name='xmlModuleClose'/>
-          <ref name='xmlModuleFree'/>
-        </word>
-        <word name='unloaded'>
-          <ref name='xmlModuleClose'/>
-        </word>
-        <word name='unlock'>
-          <ref name='xmlMutexUnlock'/>
-          <ref name='xmlRMutexUnlock'/>
-        </word>
-        <word name='unparsed'>
-          <ref name='_xmlEntity'/>
-          <ref name='unparsedEntityDecl'/>
-          <ref name='unparsedEntityDeclSAXFunc'/>
-          <ref name='xmlLoadExternalEntity'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlSAX2UnparsedEntityDecl'/>
-        </word>
-        <word name='unplug'>
-          <ref name='xmlSchemaSAXPlug'/>
-        </word>
-        <word name='unpredictable'>
-          <ref name='UTF8ToHtml'/>
-          <ref name='UTF8Toisolat1'/>
-          <ref name='docbEncodeEntities'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='isolat1ToUTF8'/>
-        </word>
-        <word name='unpredictiable'>
-          <ref name='xmlCharEncodingInputFunc'/>
-          <ref name='xmlCharEncodingOutputFunc'/>
-        </word>
-        <word name='unregisters'>
-          <ref name='xmlCleanupCharEncodingHandlers'/>
-          <ref name='xmlXPathRegisterFunc'/>
-          <ref name='xmlXPathRegisterFuncNS'/>
-          <ref name='xmlXPathRegisterNs'/>
-          <ref name='xmlXPathRegisterVariable'/>
-          <ref name='xmlXPathRegisterVariableNS'/>
-        </word>
-        <word name='unsafe'>
-          <ref name='xmlSprintfElementContent'/>
-        </word>
-        <word name='unsigned'>
-          <ref name='c'/>
-          <ref name='xmlMallocAtomicLoc'/>
-          <ref name='xmlURIUnescapeString'/>
-        </word>
-        <word name='unsupported'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-        </word>
-        <word name='until'>
-          <ref name='xmlBufferCreateStatic'/>
-          <ref name='xmlParserInputBufferCreateStatic'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlSearchNsByHref'/>
-          <ref name='xmlTextReaderExpand'/>
-          <ref name='xmlTextReaderRelaxNGSetSchema'/>
-          <ref name='xmlTextReaderSetSchema'/>
-          <ref name='xmlXPathAxisFunc'/>
-        </word>
-        <word name='update'>
-          <ref name='xmlCheckHTTPInput'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-          <ref name='xmlSetListDoc'/>
-          <ref name='xmlSetTreeDoc'/>
-          <ref name='xmlSplitQName3'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-        </word>
-        <word name='updated'>
-          <ref name='xmlCatalogAddLocal'/>
-          <ref name='xmlGetFeaturesList'/>
-          <ref name='xmlNamespaceParseQName'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlSplitQName'/>
-          <ref name='xmlSplitQName2'/>
-        </word>
-        <word name='upon'>
-          <ref name='checkNamespace'/>
-          <ref name='xlinkNodeDetectFunc'/>
-        </word>
-        <word name='upper'>
-          <ref name='XML_MAX_LOOKUP_LIMIT'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlIsRef'/>
-        </word>
-        <word name='uri'>
-          <ref name='xmlNormalizeWindowsPath'/>
-        </word>
-        <word name='usage'>
-          <ref name='XML_MAX_NAME_LENGTH'/>
-          <ref name='xmlGetBufferAllocationScheme'/>
-          <ref name='xmlSetBufferAllocationScheme'/>
-        </word>
-        <word name='used:'>
-          <ref name='XML_DEFAULT_VERSION'/>
-        </word>
-        <word name='used?'>
-          <ref name='_xmlSchemaAttribute'/>
-          <ref name='_xmlSchemaElement'/>
-        </word>
-        <word name='useful'>
-          <ref name='xmlGcMemGet'/>
-          <ref name='xmlGcMemSetup'/>
-          <ref name='xmlMemDisplayLast'/>
-          <ref name='xmlNewRMutex'/>
-          <ref name='xmlParserInputBufferCreateStatic'/>
-        </word>
-        <word name='useless'>
-          <ref name='setDocumentLocator'/>
-          <ref name='setDocumentLocatorSAXFunc'/>
-          <ref name='xmlSAX2SetDocumentLocator'/>
-        </word>
-        <word name='userData'>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='users'>
-          <ref name='_xmlSchema'/>
-        </word>
-        <word name='uses'>
-          <ref name='htmlNodeStatus'/>
-        </word>
-        <word name='usual'>
-          <ref name='xmlExpParse'/>
-        </word>
-        <word name='usually'>
-          <ref name='LIBXML_MODULE_EXTENSION'/>
-          <ref name='c'/>
-          <ref name='xmlExpExpDerive'/>
-          <ref name='xmlInitCharEncodingHandlers'/>
-          <ref name='xmlSchemaGetPredefinedType'/>
-          <ref name='xmlTextReaderGetParserProp'/>
-          <ref name='xmlTextReaderSetParserProp'/>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='utf8'>
-          <ref name='xmlCharEncFirstLine'/>
-          <ref name='xmlCharEncInFunc'/>
-          <ref name='xmlCharEncOutFunc'/>
-        </word>
-      </letter>
-      <letter name='v'>
-        <word name='val1'>
-          <ref name='xmlXPtrLocationSetMerge'/>
-        </word>
-        <word name='valgrind'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='validated'>
-          <ref name='xmlCharInRange'/>
-          <ref name='xmlSchemaValidateLengthFacet'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-        </word>
-        <word name='validates'>
-          <ref name='xmlSchemaValPredefTypeNode'/>
-          <ref name='xmlSchemaValPredefTypeNodeNoNorm'/>
-          <ref name='xmlSchemaValidatePredefinedType'/>
-          <ref name='xmlValidateDocument'/>
-          <ref name='xmlValidateNCName'/>
-          <ref name='xmlValidateNMToken'/>
-          <ref name='xmlValidateName'/>
-          <ref name='xmlValidateQName'/>
-        </word>
-        <word name='validating'>
-          <ref name='_xmlAttr'/>
-          <ref name='_xmlElement'/>
-          <ref name='_xmlValidCtxt'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlRelaxNGValidatePushElement'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-        </word>
-        <word name='validator'>
-          <ref name='xmlSchemaValidityLocatorFunc'/>
-        </word>
-        <word name='validity'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlValidCtxt'/>
-          <ref name='xlinkIsLink'/>
-          <ref name='xmlGenericErrorFunc'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParserValidityError'/>
-          <ref name='xmlParserValidityWarning'/>
-          <ref name='xmlTextReaderIsValid'/>
-          <ref name='xmlURIEscape'/>
-          <ref name='xmlValidGetValidElements'/>
-          <ref name='xmlValidateDocumentFinal'/>
-          <ref name='xmlValidateNotationDecl'/>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='value:'>
-          <ref name='xmlCheckUTF8'/>
-        </word>
-        <word name='values:'>
-          <ref name='xmlSetCompressMode'/>
-          <ref name='xmlSetDocCompressMode'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-        </word>
-        <word name='vararg'>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='varargs'>
-          <ref name='xmlGenericErrorFunc'/>
-        </word>
-        <word name='variables'>
-          <ref name='XML_XPATH_NOVAR'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlNanoFTPProxy'/>
-          <ref name='xmlXPathRegisteredNsCleanup'/>
-          <ref name='xmlXPathRegisteredVariablesCleanup'/>
-        </word>
-        <word name='variant'>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlDetectCharEncoding'/>
-        </word>
-        <word name='variants'>
-          <ref name='xmlCheckLanguageID'/>
-        </word>
-        <word name='variety'>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_LIST'/>
-          <ref name='XML_SCHEMAS_TYPE_VARIETY_UNION'/>
-        </word>
-        <word name='various'>
-          <ref name='_xmlDOMWrapCtxt'/>
-        </word>
-        <word name='versions'>
-          <ref name='htmlParseElement'/>
-        </word>
-        <word name='very'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlCharEncFirstLine'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='via'>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-        </word>
-        <word name='view'>
-          <ref name='xmlShell'/>
-        </word>
-        <word name='violated'>
-          <ref name='XML_CAST_FPTR'/>
-        </word>
-        <word name='visible'>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlC14NIsVisibleCallback'/>
-        </word>
-        <word name='void'>
-          <ref name='XML_CAST_FPTR'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-        </word>
-        <word name='volume'>
-          <ref name='_xmlParserCtxt'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk27'>
-      <letter name='w'>
-        <word name='walker'>
-          <ref name='xmlListReverseWalk'/>
-          <ref name='xmlListWalk'/>
-          <ref name='xmlListWalker'/>
-        </word>
-        <word name='walking'>
-          <ref name='_xmlXPathContext'/>
-          <ref name='_xmlXPathParserContext'/>
-          <ref name='xmlListWalker'/>
-        </word>
-        <word name='want'>
-          <ref name='xmlCharEncFirstLine'/>
-          <ref name='xmlCharEncInFunc'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-        </word>
-        <word name='warn'>
-          <ref name='xmlCheckVersion'/>
-        </word>
-        <word name='warning'>
-          <ref name='XML_CAST_FPTR'/>
-          <ref name='_xmlValidCtxt'/>
-          <ref name='docbCreatePushParserCtxt'/>
-          <ref name='htmlCreatePushParserCtxt'/>
-          <ref name='initxmlDefaultSAXHandler'/>
-          <ref name='warningSAXFunc'/>
-          <ref name='xmlCreatePushParserCtxt'/>
-          <ref name='xmlEncodeEntities'/>
-          <ref name='xmlParserValidityWarning'/>
-          <ref name='xmlParserWarning'/>
-          <ref name='xmlRelaxNGGetParserErrors'/>
-          <ref name='xmlRelaxNGGetValidErrors'/>
-          <ref name='xmlRelaxNGSetParserErrors'/>
-          <ref name='xmlRelaxNGSetValidErrors'/>
-          <ref name='xmlRelaxNGValidityWarningFunc'/>
-          <ref name='xmlSAX2InitDefaultSAXHandler'/>
-          <ref name='xmlSchemaGetParserErrors'/>
-          <ref name='xmlSchemaGetValidErrors'/>
-          <ref name='xmlSchemaSetParserErrors'/>
-          <ref name='xmlSchemaSetValidErrors'/>
-          <ref name='xmlSchemaValidityWarningFunc'/>
-          <ref name='xmlSchematronValidityWarningFunc'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlTextReaderSetErrorHandler'/>
-          <ref name='xmlTextReaderSetStructuredErrorHandler'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='warnings'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlPedanticParserDefault'/>
-          <ref name='xmlTextReaderSetErrorHandler'/>
-          <ref name='xmlTextReaderSetStructuredErrorHandler'/>
-        </word>
-        <word name='way'>
-          <ref name='HTML_COMMENT_NODE'/>
-          <ref name='HTML_ENTITY_REF_NODE'/>
-          <ref name='HTML_PI_NODE'/>
-          <ref name='HTML_PRESERVE_NODE'/>
-          <ref name='HTML_TEXT_NODE'/>
-          <ref name='_xmlDoc'/>
-          <ref name='xmlBoolToText'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlNewGlobalNs'/>
-        </word>
-        <word name='ways:'>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='weird'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='well'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='htmlSAXParseDoc'/>
-          <ref name='htmlSAXParseFile'/>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='xmlCopyDoc'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlSAX2StartElementNs'/>
-          <ref name='xmlSchemaNewStringValue'/>
-        </word>
-        <word name='well-balanced'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseInNodeContext'/>
-        </word>
-        <word name='well-formed'>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParseExtParsedEnt'/>
-          <ref name='xmlParseExternalEntity'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlValidateDtdFinal'/>
-        </word>
-        <word name='well-formedness'>
-          <ref name='xmlCtxtResetLastError'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlResetLastError'/>
-        </word>
-        <word name='wellformed'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlParseFile'/>
-        </word>
-        <word name='were'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlMemShow'/>
-          <ref name='xmlSchemaIsValid'/>
-          <ref name='xmlXIncludeProcess'/>
-          <ref name='xmlXIncludeProcessFlags'/>
-          <ref name='xmlXIncludeProcessFlagsData'/>
-          <ref name='xmlXIncludeProcessNode'/>
-          <ref name='xmlXIncludeProcessTree'/>
-          <ref name='xmlXIncludeProcessTreeFlags'/>
-          <ref name='xmlXIncludeProcessTreeFlagsData'/>
-        </word>
-        <word name='what'>
-          <ref name='xmlCatalogGetDefaults'/>
-          <ref name='xmlCatalogSetDefaults'/>
-          <ref name='xmlParseNamespace'/>
-          <ref name='xmlSchemaValidityLocatorFunc'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-          <ref name='xmlTextWriterWriteRawLen'/>
-        </word>
-        <word name='where'>
-          <ref name='_htmlElemDesc'/>
-          <ref name='xmlCopyProp'/>
-          <ref name='xmlCopyPropList'/>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlExpGetLanguage'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlFileRead'/>
-          <ref name='xmlIOFTPRead'/>
-          <ref name='xmlIOHTTPRead'/>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPSave'/>
-          <ref name='xmlNewNs'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlTextReaderErrorFunc'/>
-        </word>
-        <word name='while'>
-          <ref name='xmlInitCharEncodingHandlers'/>
-          <ref name='xmlParseAttributeType'/>
-          <ref name='xmlParseEnumeratedType'/>
-          <ref name='xmlParseEnumerationType'/>
-          <ref name='xmlParseNotationType'/>
-          <ref name='xmlSetGenericErrorFunc'/>
-          <ref name='xmlSetStructuredErrorFunc'/>
-          <ref name='xmlTextReaderNext'/>
-          <ref name='xmlTextReaderNextSibling'/>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='white'>
-          <ref name='xmlKeepBlanksDefault'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlSchemaCollapseString'/>
-          <ref name='xmlTextReaderNormalization'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-        </word>
-        <word name='whitespace'>
-          <ref name='xmlIsBlankNode'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlSchemaCompareValuesWhtsp'/>
-          <ref name='xmlSchemaGetCanonValueWhtsp'/>
-          <ref name='xmlSchemaValidateFacetWhtsp'/>
-          <ref name='xmlSchemaValidateLengthFacetWhtsp'/>
-          <ref name='xmlXPathIdFunction'/>
-          <ref name='xmlXPathNormalizeFunction'/>
-        </word>
-        <word name='whitespace-facet'>
-          <ref name='XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE'/>
-          <ref name='XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE'/>
-          <ref name='XML_SCHEMAS_TYPE_WHITESPACE_REPLACE'/>
-        </word>
-        <word name='whitespace-separated'>
-          <ref name='xmlXPathIdFunction'/>
-        </word>
-        <word name='whitespaces'>
-          <ref name='ignorableWhitespace'/>
-          <ref name='ignorableWhitespaceSAXFunc'/>
-          <ref name='xmlSAX2IgnorableWhitespace'/>
-        </word>
-        <word name='whole'>
-          <ref name='xmlFreeDocElementContent'/>
-          <ref name='xmlFreeElementContent'/>
-        </word>
-        <word name='whose'>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-          <ref name='xmlTextReaderLookupNamespace'/>
-        </word>
-        <word name='why'>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-        </word>
-        <word name='wildcard'>
-          <ref name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED'/>
-          <ref name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/>
-          <ref name='XML_SCHEMAS_WILDCARD_COMPLETE'/>
-          <ref name='xmlSchemaFreeWildcard'/>
-        </word>
-        <word name='wildcards'>
-          <ref name='XML_SCHEMAS_ANY_LAX'/>
-          <ref name='XML_SCHEMAS_ANY_STRICT'/>
-          <ref name='XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
-        </word>
-        <word name='windows'>
-          <ref name='INVALID_SOCKET'/>
-          <ref name='SOCKET'/>
-        </word>
-        <word name='with_ns'>
-          <ref name='_xmlNodeSet'/>
-        </word>
-        <word name='within'>
-          <ref name='_xmlValidCtxt'/>
-          <ref name='xmlAutomataNewCounterTrans'/>
-          <ref name='xmlGetUTF8Char'/>
-          <ref name='xmlNewDocComment'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocRawNode'/>
-          <ref name='xmlNewDocText'/>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlParseCharData'/>
-          <ref name='xmlParseComment'/>
-          <ref name='xmlParseCtxtExternalEntity'/>
-          <ref name='xmlParseInNodeContext'/>
-          <ref name='xmlParseMarkupDecl'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlParserFindNodeInfo'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserPrintFileContext'/>
-          <ref name='xmlReconciliateNs'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-          <ref name='xmlSchemaCopyValue'/>
-          <ref name='xmlSearchNs'/>
-          <ref name='xmlTextReaderConstXmlLang'/>
-          <ref name='xmlTextReaderXmlLang'/>
-          <ref name='xmlTextWriterWriteBase64'/>
-          <ref name='xmlTextWriterWriteBinHex'/>
-          <ref name='xmlValidGetValidElements'/>
-          <ref name='xmlXPathIntersection'/>
-        </word>
-        <word name='without'>
-          <ref name='XML_CAST_FPTR'/>
-          <ref name='_xmlEntity'/>
-          <ref name='entityDecl'/>
-          <ref name='entityDeclSAXFunc'/>
-          <ref name='htmlNewDocNoDtD'/>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-          <ref name='xmlNewGlobalNs'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlSAX2EntityDecl'/>
-          <ref name='xmlScanName'/>
-          <ref name='xmlSplitQName3'/>
-          <ref name='xmlValidateOneAttribute'/>
-          <ref name='xmlValidateOneNamespace'/>
-        </word>
-        <word name='won'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlAutomataNewNegTrans'/>
-          <ref name='xmlBufferCreateStatic'/>
-          <ref name='xmlLoadSGMLSuperCatalog'/>
-          <ref name='xmlParseAttValue'/>
-        </word>
-        <word name='word'>
-          <ref name='_htmlElemDesc'/>
-        </word>
-        <word name='words'>
-          <ref name='xmlXPathNormalizeFunction'/>
-          <ref name='xmlXPathStringLengthFunction'/>
-        </word>
-        <word name='work'>
-          <ref name='xmlBufferDetach'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlPatternStreamable'/>
-          <ref name='xmlRemoveProp'/>
-          <ref name='xmlSAXParseDoc'/>
-          <ref name='xmlSAXParseFile'/>
-          <ref name='xmlSAXParseFileWithData'/>
-          <ref name='xmlSAXParseMemory'/>
-          <ref name='xmlSAXParseMemoryWithData'/>
-        </word>
-        <word name='worked'>
-          <ref name='xmlNanoFTPCwd'/>
-          <ref name='xmlNanoFTPDele'/>
-        </word>
-        <word name='works'>
-          <ref name='xmlShellDu'/>
-        </word>
-        <word name='worry'>
-          <ref name='XML_SCHEMAS_ANY_LAX'/>
-        </word>
-        <word name='worthwhile'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='would'>
-          <ref name='_xmlError'/>
-          <ref name='htmlAutoCloseTag'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlModuleSymbol'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-        </word>
-        <word name='wrapper'>
-          <ref name='xmlDOMWrapAcquireNsFunction'/>
-          <ref name='xmlDOMWrapReconcileNamespaces'/>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='wraps'>
-          <ref name='xmlTextReaderByteConsumed'/>
-        </word>
-        <word name='write'>
-          <ref name='xmlFileRead'/>
-          <ref name='xmlFindCharEncodingHandler'/>
-          <ref name='xmlGetCharEncodingHandler'/>
-          <ref name='xmlIOFTPRead'/>
-          <ref name='xmlIOHTTPRead'/>
-          <ref name='xmlNewCharEncodingHandler'/>
-          <ref name='xmlOutputBufferCreateFilenameFunc'/>
-          <ref name='xmlOutputBufferCreateIO'/>
-          <ref name='xmlOutputWriteCallback'/>
-          <ref name='xmlSaveToIO'/>
-          <ref name='xmlShellWrite'/>
-        </word>
-        <word name='writer'>
-          <ref name='xmlFreeTextWriter'/>
-          <ref name='xmlNewTextWriter'/>
-          <ref name='xmlNewTextWriterPushParser'/>
-        </word>
-        <word name='writes'>
-          <ref name='xmlBufferWriteQuotedString'/>
-          <ref name='xmlOutputBufferWrite'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlOutputBufferWriteString'/>
-        </word>
-        <word name='writing'>
-          <ref name='xmlOutputBufferCreateFilename'/>
-        </word>
-        <word name='wrt'>
-          <ref name='xmlDOMWrapRemoveNode'/>
-        </word>
-        <word name='www'>
-          <ref name='XINCLUDE_NS'/>
-          <ref name='XINCLUDE_OLD_NS'/>
-          <ref name='getSystemId'/>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-          <ref name='xmlCheckLanguageID'/>
-          <ref name='xmlGetCharEncodingName'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlParserHandleReference'/>
-          <ref name='xmlSAX2GetSystemId'/>
-          <ref name='xmlSchemaGetPredefinedType'/>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk28'>
-      <letter name='x'>
-        <word name='x00B7'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x02D0'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x02D1'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x0387'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x0640'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x0E46'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x0EC6'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x10000-'>
-          <ref name='IS_CHAR'/>
-        </word>
-        <word name='x10FFFF'>
-          <ref name='IS_CHAR'/>
-        </word>
-        <word name='x20'>
-          <ref name='IS_BLANK'/>
-          <ref name='IS_BYTE_CHAR'/>
-          <ref name='IS_PUBIDCHAR'/>
-          <ref name='xmlParseAttValue'/>
-          <ref name='xmlParseName'/>
-          <ref name='xmlParseNmtoken'/>
-          <ref name='xmlValidCtxtNormalizeAttributeValue'/>
-          <ref name='xmlValidNormalizeAttributeValue'/>
-        </word>
-        <word name='x20-'>
-          <ref name='IS_CHAR'/>
-        </word>
-        <word name='x3005'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x3007'>
-          <ref name='IS_IDEOGRAPHIC'/>
-        </word>
-        <word name='x3021-'>
-          <ref name='IS_IDEOGRAPHIC'/>
-        </word>
-        <word name='x3029'>
-          <ref name='IS_IDEOGRAPHIC'/>
-        </word>
-        <word name='x3031-'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x3035'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x309D-'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x309E'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x30FC-'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x30FE'>
-          <ref name='IS_EXTENDER'/>
-        </word>
-        <word name='x4E00-'>
-          <ref name='IS_IDEOGRAPHIC'/>
-        </word>
-        <word name='x9FA5'>
-          <ref name='IS_IDEOGRAPHIC'/>
-        </word>
-        <word name='xD7FF'>
-          <ref name='IS_CHAR'/>
-        </word>
-        <word name='xE000-'>
-          <ref name='IS_CHAR'/>
-        </word>
-        <word name='xFFFD'>
-          <ref name='IS_CHAR'/>
-        </word>
-        <word name='xlink'>
-          <ref name='xlinkGetDefaultDetect'/>
-          <ref name='xlinkGetDefaultHandler'/>
-          <ref name='xlinkSetDefaultDetect'/>
-          <ref name='xlinkSetDefaultHandler'/>
-        </word>
-        <word name='xlinkHandlerPtr'>
-          <ref name='xlinkGetDefaultHandler'/>
-        </word>
-        <word name='xlinkType'>
-          <ref name='xlinkIsLink'/>
-        </word>
-        <word name='xml-c14n'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='xml-exc-c14n'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlC14NDocSave'/>
-          <ref name='xmlC14NDocSaveTo'/>
-          <ref name='xmlC14NExecute'/>
-        </word>
-        <word name='xml-name'>
-          <ref name='xmlParseNamespace'/>
-        </word>
-        <word name='xml:'>
-          <ref name='XML_XML_NAMESPACE'/>
-        </word>
-        <word name='xml:base'>
-          <ref name='xmlNodeSetBase'/>
-        </word>
-        <word name='xml:id'>
-          <ref name='XML_XML_ID'/>
-        </word>
-        <word name='xml:lang'>
-          <ref name='xlinkExtendedLinkFunk'/>
-          <ref name='xlinkExtendedLinkSetFunk'/>
-          <ref name='xmlNodeGetLang'/>
-          <ref name='xmlNodeSetLang'/>
-          <ref name='xmlTextReaderConstXmlLang'/>
-          <ref name='xmlTextReaderXmlLang'/>
-          <ref name='xmlXPathLangFunction'/>
-        </word>
-        <word name='xml:space'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlNodeGetSpacePreserve'/>
-          <ref name='xmlNodeSetSpacePreserve'/>
-        </word>
-        <word name='xmlAddDocEntity'>
-          <ref name='xmlNewEntity'/>
-        </word>
-        <word name='xmlAttr'>
-          <ref name='attribute'/>
-          <ref name='attributeSAXFunc'/>
-        </word>
-        <word name='xmlAttrPtr'>
-          <ref name='xmlCopyProp'/>
-          <ref name='xmlCopyPropList'/>
-          <ref name='xmlGetID'/>
-        </word>
-        <word name='xmlAttributePtr'>
-          <ref name='xmlGetDtdAttrDesc'/>
-          <ref name='xmlGetDtdQAttrDesc'/>
-        </word>
-        <word name='xmlAttributeTablePtr'>
-          <ref name='xmlCopyAttributeTable'/>
-        </word>
-        <word name='xmlBufPtr'>
-          <ref name='xmlBufGetNodeContent'/>
-        </word>
-        <word name='xmlBuffer'>
-          <ref name='xmlCharEncFirstLine'/>
-          <ref name='xmlCharEncInFunc'/>
-          <ref name='xmlCharEncOutFunc'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlOutputBufferCreateBuffer'/>
-        </word>
-        <word name='xmlBufferPtr'>
-          <ref name='xmlNewTextWriterMemory'/>
-          <ref name='xmlOutputBufferCreateBuffer'/>
-        </word>
-        <word name='xmlBufferShrink'>
-          <ref name='xmlBufShrink'/>
-        </word>
-        <word name='xmlBuildURI'>
-          <ref name='xmlBuildRelativeURI'/>
-        </word>
-        <word name='xmlBytesConsumed'>
-          <ref name='xmlTextReaderByteConsumed'/>
-        </word>
-        <word name='xmlCatalogAllow'>
-          <ref name='xmlCatalogGetDefaults'/>
-        </word>
-        <word name='xmlCatalogPtr'>
-          <ref name='xmlNewCatalog'/>
-        </word>
-        <word name='xmlCatalogResolvePublic'>
-          <ref name='xmlCatalogGetPublic'/>
-        </word>
-        <word name='xmlCatalogResolveSystem'>
-          <ref name='xmlCatalogGetSystem'/>
-        </word>
-        <word name='xmlCharEncoding'>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlGetCharEncodingHandler'/>
-        </word>
-        <word name='xmlCharEncodingHandler'>
-          <ref name='xmlNewCharEncodingHandler'/>
-        </word>
-        <word name='xmlCharEncodingHandlerPtr'>
-          <ref name='xmlNewCharEncodingHandler'/>
-          <ref name='xmlRegisterCharEncodingHandler'/>
-        </word>
-        <word name='xmlCharEncodingInputFunc'>
-          <ref name='xmlNewCharEncodingHandler'/>
-        </word>
-        <word name='xmlCharEncodingOutputFunc'>
-          <ref name='xmlNewCharEncodingHandler'/>
-        </word>
-        <word name='xmlChars'>
-          <ref name='_xmlParserInput'/>
-          <ref name='xmlBufferWriteCHAR'/>
-        </word>
-        <word name='xmlCleanupParser'>
-          <ref name='xmlCleanupParser'/>
-        </word>
-        <word name='xmlCleanupThreads'>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-        <word name='xmlCopyDocElementContent'>
-          <ref name='xmlCopyElementContent'/>
-        </word>
-        <word name='xmlCreateIntSubset'>
-          <ref name='xmlNewDtd'/>
-        </word>
-        <word name='xmlDOMWrapCtxtPtr'>
-          <ref name='xmlDOMWrapNewCtxt'/>
-        </word>
-        <word name='xmlDefaultSAXLocator'>
-          <ref name='setDocumentLocator'/>
-          <ref name='setDocumentLocatorSAXFunc'/>
-          <ref name='xmlSAX2SetDocumentLocator'/>
-        </word>
-        <word name='xmlDoc'>
-          <ref name='_xmlNs'/>
-        </word>
-        <word name='xmlDocCopyNodeList'>
-          <ref name='xmlCopyNodeList'/>
-        </word>
-        <word name='xmlDocNewPI'>
-          <ref name='xmlNewPI'/>
-        </word>
-        <word name='xmlDocProperties'>
-          <ref name='_xmlDoc'/>
-        </word>
-        <word name='xmlDocPtr'>
-          <ref name='xmlCopyDoc'/>
-          <ref name='xmlNewTextWriterDoc'/>
-          <ref name='xmlNewTextWriterTree'/>
-          <ref name='xmlTextReaderCurrentDoc'/>
-        </word>
-        <word name='xmlDtdPtr'>
-          <ref name='xmlCopyDtd'/>
-          <ref name='xmlIOParseDTD'/>
-          <ref name='xmlParseDTD'/>
-          <ref name='xmlSAXParseDTD'/>
-        </word>
-        <word name='xmlElementContentPtr'>
-          <ref name='xmlCopyDocElementContent'/>
-          <ref name='xmlCopyElementContent'/>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-        </word>
-        <word name='xmlElementPtr'>
-          <ref name='xmlGetDtdElementDesc'/>
-          <ref name='xmlGetDtdQElementDesc'/>
-        </word>
-        <word name='xmlElementTablePtr'>
-          <ref name='xmlCopyElementTable'/>
-        </word>
-        <word name='xmlEncodeEntities'>
-          <ref name='xmlEncodeEntities'/>
-          <ref name='xmlEncodeEntitiesReentrant'/>
-        </word>
-        <word name='xmlEncodeEntitiesReentrant'>
-          <ref name='xmlEncodeEntities'/>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-        </word>
-        <word name='xmlEncodeSpecialChars'>
-          <ref name='xmlNodeSetContent'/>
-          <ref name='xmlNodeSetContentLen'/>
-        </word>
-        <word name='xmlEntitiesTablePtr'>
-          <ref name='xmlCopyEntitiesTable'/>
-          <ref name='xmlCreateEntitiesTable'/>
-        </word>
-        <word name='xmlEntityPtr'>
-          <ref name='getEntity'/>
-          <ref name='getEntitySAXFunc'/>
-          <ref name='getParameterEntity'/>
-          <ref name='getParameterEntitySAXFunc'/>
-          <ref name='xmlNewEntityInputStream'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlSAX2GetEntity'/>
-          <ref name='xmlSAX2GetParameterEntity'/>
-        </word>
-        <word name='xmlEnumerationPtr'>
-          <ref name='xmlCopyEnumeration'/>
-          <ref name='xmlCreateEnumeration'/>
-        </word>
-        <word name='xmlExpFree'>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlExpNewSeq'/>
-        </word>
-        <word name='xmlExpRef'>
-          <ref name='xmlExpNewOr'/>
-          <ref name='xmlExpNewRange'/>
-          <ref name='xmlExpNewSeq'/>
-        </word>
-        <word name='xmlExternalEntityLoader'>
-          <ref name='xmlGetExternalEntityLoader'/>
-        </word>
-        <word name='xmlFileOpen_real'>
-          <ref name='xmlFileOpen'/>
-        </word>
-        <word name='xmlFree'>
-          <ref name='xmlC14NDocDumpMemory'/>
-          <ref name='xmlDocDumpFormatMemory'/>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocDumpMemory'/>
-          <ref name='xmlDocDumpMemoryEnc'/>
-          <ref name='xmlGetNoNsProp'/>
-          <ref name='xmlGetNsProp'/>
-          <ref name='xmlGetProp'/>
-          <ref name='xmlHashDefaultDeallocator'/>
-          <ref name='xmlNodeGetBase'/>
-          <ref name='xmlNodeGetContent'/>
-          <ref name='xmlNodeGetLang'/>
-          <ref name='xmlNodeListGetRawString'/>
-          <ref name='xmlNodeListGetString'/>
-          <ref name='xmlTextReaderValue'/>
-          <ref name='xmlXPathCastToString'/>
-        </word>
-        <word name='xmlFreeDoc'>
-          <ref name='xmlTextReaderCurrentDoc'/>
-        </word>
-        <word name='xmlFreeDocElementContent'>
-          <ref name='xmlFreeElementContent'/>
-        </word>
-        <word name='xmlFreeMutex'>
-          <ref name='xmlFreeMutex'/>
-        </word>
-        <word name='xmlFreeNode'>
-          <ref name='xmlUnlinkNode'/>
-        </word>
-        <word name='xmlFreeStreamCtxt'>
-          <ref name='xmlPatternGetStreamCtxt'/>
-        </word>
-        <word name='xmlGetGlobalState'>
-          <ref name='xmlGetGlobalState'/>
-        </word>
-        <word name='xmlGetNoNsProp'>
-          <ref name='xmlGetProp'/>
-        </word>
-        <word name='xmlGetNsProp'>
-          <ref name='xmlGetProp'/>
-        </word>
-        <word name='xmlGetProp'>
-          <ref name='xmlGetNoNsProp'/>
-        </word>
-        <word name='xmlGetThreadId'>
-          <ref name='xmlGetThreadId'/>
-        </word>
-        <word name='xmlHashTablePtr'>
-          <ref name='xmlHashCreate'/>
-          <ref name='xmlHashCreateDict'/>
-        </word>
-        <word name='xmlIDPtr'>
-          <ref name='xmlAddID'/>
-        </word>
-        <word name='xmlIndentTreeOutput'>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlDocDumpFormatMemory'/>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocFormatDump'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-          <ref name='xmlSaveFormatFile'/>
-          <ref name='xmlSaveFormatFileEnc'/>
-        </word>
-        <word name='xmlInitParser'>
-          <ref name='xmlCleanupParser'/>
-        </word>
-        <word name='xmlInitThreads'>
-          <ref name='xmlInitThreads'/>
-        </word>
-        <word name='xmlInitializeCatalog'>
-          <ref name='xmlCatalogAdd'/>
-        </word>
-        <word name='xmlInitializeGlobalState'>
-          <ref name='xmlInitializeGlobalState'/>
-        </word>
-        <word name='xmlInputCloseCallback'>
-          <ref name='xmlRegisterInputCallbacks'/>
-        </word>
-        <word name='xmlInputMatchCallback'>
-          <ref name='xmlRegisterInputCallbacks'/>
-        </word>
-        <word name='xmlInputOpenCallback'>
-          <ref name='xmlRegisterInputCallbacks'/>
-        </word>
-        <word name='xmlInputReadCallback'>
-          <ref name='xmlRegisterInputCallbacks'/>
-        </word>
-        <word name='xmlIsBaseCharQ'>
-          <ref name='xmlIsBaseChar'/>
-        </word>
-        <word name='xmlIsBaseChar_ch'>
-          <ref name='xmlIsBaseChar'/>
-        </word>
-        <word name='xmlIsBlankNode'>
-          <ref name='xmlKeepBlanksDefault'/>
-        </word>
-        <word name='xmlIsBlankQ'>
-          <ref name='xmlIsBlank'/>
-        </word>
-        <word name='xmlIsBlank_ch'>
-          <ref name='xmlIsBlank'/>
-        </word>
-        <word name='xmlIsCharQ'>
-          <ref name='xmlIsChar'/>
-        </word>
-        <word name='xmlIsChar_ch'>
-          <ref name='xmlIsChar'/>
-        </word>
-        <word name='xmlIsCombiningQ'>
-          <ref name='xmlIsCombining'/>
-        </word>
-        <word name='xmlIsDigitQ'>
-          <ref name='xmlIsDigit'/>
-        </word>
-        <word name='xmlIsDigit_ch'>
-          <ref name='xmlIsDigit'/>
-        </word>
-        <word name='xmlIsExtenderQ'>
-          <ref name='xmlIsExtender'/>
-        </word>
-        <word name='xmlIsExtender_ch'>
-          <ref name='xmlIsExtender'/>
-        </word>
-        <word name='xmlIsIdeographicQ'>
-          <ref name='xmlIsIdeographic'/>
-        </word>
-        <word name='xmlIsMainThread'>
-          <ref name='xmlIsMainThread'/>
-        </word>
-        <word name='xmlIsPubidCharQ'>
-          <ref name='xmlIsPubidChar'/>
-        </word>
-        <word name='xmlIsPubidChar_ch'>
-          <ref name='xmlIsPubidChar'/>
-        </word>
-        <word name='xmlKeepBlanksDefault'>
-          <ref name='xmlBufNodeDump'/>
-          <ref name='xmlDocDumpFormatMemory'/>
-          <ref name='xmlDocDumpFormatMemoryEnc'/>
-          <ref name='xmlDocFormatDump'/>
-          <ref name='xmlNodeDump'/>
-          <ref name='xmlNodeDumpOutput'/>
-          <ref name='xmlSaveFormatFile'/>
-          <ref name='xmlSaveFormatFileEnc'/>
-        </word>
-        <word name='xmlListWalk'>
-          <ref name='xmlListWalker'/>
-        </word>
-        <word name='xmlLoadExtDtdDefaultValue'>
-          <ref name='XML_COMPLETE_ATTRS'/>
-          <ref name='XML_DETECT_IDS'/>
-          <ref name='XML_SKIP_IDS'/>
-        </word>
-        <word name='xmlLocationSetPtr'>
-          <ref name='xmlXPtrFreeLocationSet'/>
-          <ref name='xmlXPtrLocationSetCreate'/>
-        </word>
-        <word name='xmlLockLibrary'>
-          <ref name='xmlLockLibrary'/>
-        </word>
-        <word name='xmlModuleOption'>
-          <ref name='xmlModuleOpen'/>
-        </word>
-        <word name='xmlMutexLock'>
-          <ref name='xmlMutexLock'/>
-        </word>
-        <word name='xmlMutexUnlock'>
-          <ref name='xmlMutexUnlock'/>
-        </word>
-        <word name='xmlNanoFTPGet'>
-          <ref name='ftpDataCallback'/>
-        </word>
-        <word name='xmlNanoFTPList'>
-          <ref name='ftpListCallback'/>
-        </word>
-        <word name='xmlNewChild'>
-          <ref name='xmlNewTextChild'/>
-        </word>
-        <word name='xmlNewDocElementContent'>
-          <ref name='xmlNewElementContent'/>
-        </word>
-        <word name='xmlNewDocRawNode'>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-        </word>
-        <word name='xmlNewMutex'>
-          <ref name='xmlNewMutex'/>
-        </word>
-        <word name='xmlNewNode'>
-          <ref name='xmlNewNodeEatName'/>
-        </word>
-        <word name='xmlNewProp'>
-          <ref name='xmlNewDocProp'/>
-        </word>
-        <word name='xmlNewTextChild'>
-          <ref name='xmlNewChild'/>
-          <ref name='xmlNewTextChild'/>
-        </word>
-        <word name='xmlNewTextWriter'>
-          <ref name='xmlNewTextWriter'/>
-          <ref name='xmlNewTextWriterDoc'/>
-          <ref name='xmlNewTextWriterFilename'/>
-          <ref name='xmlNewTextWriterMemory'/>
-          <ref name='xmlNewTextWriterPushParser'/>
-          <ref name='xmlNewTextWriterTree'/>
-        </word>
-        <word name='xmlNodeDumpOutput'>
-          <ref name='xmlNodeDump'/>
-        </word>
-        <word name='xmlNodeListGetString'>
-          <ref name='xmlNodeListGetRawString'/>
-        </word>
-        <word name='xmlNodePtr'>
-          <ref name='xmlCopyNode'/>
-          <ref name='xmlCopyNodeList'/>
-          <ref name='xmlDocCopyNode'/>
-          <ref name='xmlDocCopyNodeList'/>
-          <ref name='xmlDocGetRootElement'/>
-          <ref name='xmlNewTextWriterTree'/>
-          <ref name='xmlTextReaderCurrentNode'/>
-          <ref name='xmlTextReaderPreserve'/>
-          <ref name='xmlXPathNodeSetAdd'/>
-          <ref name='xmlXPathNodeSetAddUnique'/>
-          <ref name='xmlXPathNodeSetCreate'/>
-          <ref name='xmlXPathNodeSetDel'/>
-          <ref name='xmlXPathNodeSetItem'/>
-          <ref name='xmlXPtrBuildNodeList'/>
-        </word>
-        <word name='xmlNodeSetContent'>
-          <ref name='xmlNodeAddContent'/>
-        </word>
-        <word name='xmlNodeSetContentLen'>
-          <ref name='xmlNodeAddContentLen'/>
-        </word>
-        <word name='xmlNodeSetPtr'>
-          <ref name='xmlXPathFreeNodeSet'/>
-          <ref name='xmlXPathNodeSetCreate'/>
-        </word>
-        <word name='xmlNotationPtr'>
-          <ref name='xmlGetDtdNotationDesc'/>
-        </word>
-        <word name='xmlNotationTablePtr'>
-          <ref name='xmlCopyNotationTable'/>
-        </word>
-        <word name='xmlNs'>
-          <ref name='xmlDOMWrapAcquireNsFunction'/>
-        </word>
-        <word name='xmlNsPtr'>
-          <ref name='_xmlDOMWrapCtxt'/>
-          <ref name='getNamespace'/>
-          <ref name='xmlCopyNamespace'/>
-          <ref name='xmlCopyNamespaceList'/>
-          <ref name='xmlDOMWrapAcquireNsFunction'/>
-          <ref name='xmlGetNsList'/>
-        </word>
-        <word name='xmlOutputBuffer'>
-          <ref name='LIBXML2_NEW_BUFFER'/>
-        </word>
-        <word name='xmlOutputBufferClose'>
-          <ref name='xmlSaveFileTo'/>
-          <ref name='xmlSaveFormatFileTo'/>
-        </word>
-        <word name='xmlOutputBufferPtr'>
-          <ref name='xmlNewTextWriter'/>
-          <ref name='xmlOutputBufferCreateFilenameFunc'/>
-          <ref name='xmlOutputBufferGetContent'/>
-          <ref name='xmlOutputBufferGetSize'/>
-        </word>
-        <word name='xmlOutputCloseCallback'>
-          <ref name='xmlRegisterOutputCallbacks'/>
-        </word>
-        <word name='xmlOutputMatchCallback'>
-          <ref name='xmlRegisterOutputCallbacks'/>
-        </word>
-        <word name='xmlOutputOpenCallback'>
-          <ref name='xmlRegisterOutputCallbacks'/>
-        </word>
-        <word name='xmlOutputWriteCallback'>
-          <ref name='xmlRegisterOutputCallbacks'/>
-        </word>
-        <word name='xmlParseAttValue'>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='xmlParseChunk'>
-          <ref name='xmlCreatePushParserCtxt'/>
-        </word>
-        <word name='xmlParseElementContentDecl'>
-          <ref name='xmlParseElementChildrenContentDecl'/>
-          <ref name='xmlParseElementMixedContentDecl'/>
-        </word>
-        <word name='xmlParseElementDecl'>
-          <ref name='xmlParseElementContentDecl'/>
-        </word>
-        <word name='xmlParseExternalID'>
-          <ref name='xmlParseNotationDecl'/>
-        </word>
-        <word name='xmlParseFile'>
-          <ref name='xmlParseCatalogFile'/>
-        </word>
-        <word name='xmlParseNamespace:'>
-          <ref name='xmlParseNamespace'/>
-        </word>
-        <word name='xmlParseURI'>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='xmlParserCtxt'>
-          <ref name='XML_CTXT_FINISH_DTD_0'/>
-          <ref name='XML_CTXT_FINISH_DTD_1'/>
-        </word>
-        <word name='xmlParserCtxtPtr'>
-          <ref name='xmlNewParserCtxt'/>
-          <ref name='xmlNewTextWriterPushParser'/>
-        </word>
-        <word name='xmlParserError'>
-          <ref name='_xmlError'/>
-        </word>
-        <word name='xmlParserErrors'>
-          <ref name='docbParseChunk'/>
-          <ref name='htmlParseChunk'/>
-          <ref name='xmlParseChunk'/>
-        </word>
-        <word name='xmlParserFindNodeInfoIndex'>
-          <ref name='xmlParserFindNodeInfoIndex'/>
-        </word>
-        <word name='xmlParserHandleReference'>
-          <ref name='xmlScanName'/>
-        </word>
-        <word name='xmlParserInputBuffer'>
-          <ref name='LIBXML2_NEW_BUFFER'/>
-        </word>
-        <word name='xmlParserInputBufferPtr'>
-          <ref name='xmlNewTextReader'/>
-          <ref name='xmlParserInputBufferCreateFilenameFunc'/>
-          <ref name='xmlTextReaderGetRemainder'/>
-          <ref name='xmlTextReaderSetup'/>
-        </word>
-        <word name='xmlParserInputPtr'>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlFreeInputStream'/>
-          <ref name='xmlLoadExternalEntity'/>
-          <ref name='xmlNoNetExternalEntityLoader'/>
-          <ref name='xmlParserPrintFileContext'/>
-          <ref name='xmlParserPrintFileInfo'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-        </word>
-        <word name='xmlParserNodeInfo'>
-          <ref name='xmlParserFindNodeInfo'/>
-        </word>
-        <word name='xmlParserProperties'>
-          <ref name='xmlTextReaderGetParserProp'/>
-          <ref name='xmlTextReaderSetParserProp'/>
-        </word>
-        <word name='xmlPattern'>
-          <ref name='LIBXML_PATTERN_ENABLED'/>
-        </word>
-        <word name='xmlPatternFlags'>
-          <ref name='xmlPatterncompile'/>
-        </word>
-        <word name='xmlPatternGetStreamCtxt'>
-          <ref name='xmlPatternStreamable'/>
-        </word>
-        <word name='xmlPatterncompile'>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='xmlPopInput:'>
-          <ref name='xmlPopInput'/>
-        </word>
-        <word name='xmlPushInput:'>
-          <ref name='xmlPushInput'/>
-        </word>
-        <word name='xmlRFreeMutex'>
-          <ref name='xmlFreeRMutex'/>
-        </word>
-        <word name='xmlRMutexLock'>
-          <ref name='xmlRMutexLock'/>
-        </word>
-        <word name='xmlRMutexUnlock'>
-          <ref name='xmlRMutexUnlock'/>
-        </word>
-        <word name='xmlRNewMutex'>
-          <ref name='xmlNewRMutex'/>
-        </word>
-        <word name='xmlReader'>
-          <ref name='LIBXML_READER_ENABLED'/>
-        </word>
-        <word name='xmlReaderTypes'>
-          <ref name='xmlTextReaderNodeType'/>
-        </word>
-        <word name='xmlRefPtr'>
-          <ref name='xmlAddRef'/>
-        </word>
-        <word name='xmlRelaxNGParserFlag'>
-          <ref name='xmlRelaxParserSetFlag'/>
-        </word>
-        <word name='xmlRelaxNGValidatePushElement'>
-          <ref name='xmlRelaxNGValidateFullElement'/>
-        </word>
-        <word name='xmlSAX2Attribute'>
-          <ref name='attribute'/>
-        </word>
-        <word name='xmlSAX2AttributeDecl'>
-          <ref name='attributeDecl'/>
-        </word>
-        <word name='xmlSAX2CDataBlock'>
-          <ref name='cdataBlock'/>
-        </word>
-        <word name='xmlSAX2Characters'>
-          <ref name='characters'/>
-          <ref name='xmlSAX2IgnorableWhitespace'/>
-        </word>
-        <word name='xmlSAX2Comment'>
-          <ref name='comment'/>
-          <ref name='xmlSAX2Comment'/>
-        </word>
-        <word name='xmlSAX2ElementDecl'>
-          <ref name='elementDecl'/>
-        </word>
-        <word name='xmlSAX2EndDocument'>
-          <ref name='endDocument'/>
-        </word>
-        <word name='xmlSAX2EndElement'>
-          <ref name='endElement'/>
-        </word>
-        <word name='xmlSAX2EntityDecl'>
-          <ref name='entityDecl'/>
-        </word>
-        <word name='xmlSAX2ExternalSubset'>
-          <ref name='externalSubset'/>
-        </word>
-        <word name='xmlSAX2GetColumnNumber'>
-          <ref name='getColumnNumber'/>
-        </word>
-        <word name='xmlSAX2GetEntity'>
-          <ref name='getEntity'/>
-        </word>
-        <word name='xmlSAX2GetLineNumber'>
-          <ref name='getLineNumber'/>
-        </word>
-        <word name='xmlSAX2GetParameterEntity'>
-          <ref name='getParameterEntity'/>
-        </word>
-        <word name='xmlSAX2GetPublicId'>
-          <ref name='getPublicId'/>
-        </word>
-        <word name='xmlSAX2GetSystemId'>
-          <ref name='getSystemId'/>
-        </word>
-        <word name='xmlSAX2HasExternalSubset'>
-          <ref name='hasExternalSubset'/>
-        </word>
-        <word name='xmlSAX2HasInternalSubset'>
-          <ref name='hasInternalSubset'/>
-        </word>
-        <word name='xmlSAX2IgnorableWhitespace'>
-          <ref name='ignorableWhitespace'/>
-          <ref name='xmlKeepBlanksDefault'/>
-        </word>
-        <word name='xmlSAX2InitDefaultSAXHandler'>
-          <ref name='initxmlDefaultSAXHandler'/>
-        </word>
-        <word name='xmlSAX2InitDocbDefaultSAXHandler'>
-          <ref name='initdocbDefaultSAXHandler'/>
-        </word>
-        <word name='xmlSAX2InitHtmlDefaultSAXHandler'>
-          <ref name='inithtmlDefaultSAXHandler'/>
-        </word>
-        <word name='xmlSAX2InternalSubset'>
-          <ref name='internalSubset'/>
-        </word>
-        <word name='xmlSAX2IsStandalone'>
-          <ref name='isStandalone'/>
-        </word>
-        <word name='xmlSAX2NotationDecl'>
-          <ref name='notationDecl'/>
-        </word>
-        <word name='xmlSAX2ProcessingInstruction'>
-          <ref name='processingInstruction'/>
-        </word>
-        <word name='xmlSAX2Reference'>
-          <ref name='reference'/>
-          <ref name='xmlSAX2Reference'/>
-        </word>
-        <word name='xmlSAX2ResolveEntity'>
-          <ref name='resolveEntity'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-        </word>
-        <word name='xmlSAX2StartDocument'>
-          <ref name='startDocument'/>
-        </word>
-        <word name='xmlSAX2StartElement'>
-          <ref name='startElement'/>
-        </word>
-        <word name='xmlSAX2UnparsedEntityDecl'>
-          <ref name='unparsedEntityDecl'/>
-        </word>
-        <word name='xmlSAXHandlerPtr'>
-          <ref name='xmlSchemaSAXPlug'/>
-        </word>
-        <word name='xmlSAXVersion'>
-          <ref name='xmlSAXDefaultVersion'/>
-        </word>
-        <word name='xmlSaveOptions'>
-          <ref name='xmlSaveToBuffer'/>
-          <ref name='xmlSaveToFd'/>
-          <ref name='xmlSaveToFilename'/>
-          <ref name='xmlSaveToIO'/>
-        </word>
-        <word name='xmlSchemaSAXPlug'>
-          <ref name='xmlSchemaSAXUnplug'/>
-        </word>
-        <word name='xmlSchemaValType'>
-          <ref name='xmlSchemaGetValType'/>
-        </word>
-        <word name='xmlSchemaValidOption'>
-          <ref name='xmlSchemaSetValidOptions'/>
-        </word>
-        <word name='xmlSchematronValidOptions'>
-          <ref name='xmlSchematronNewValidCtxt'/>
-        </word>
-        <word name='xmlSetExternalEntityLoader'>
-          <ref name='resolveEntity'/>
-          <ref name='resolveEntitySAXFunc'/>
-          <ref name='xmlSAX2ResolveEntity'/>
-        </word>
-        <word name='xmlSnprintfElementContent'>
-          <ref name='xmlSprintfElementContent'/>
-        </word>
-        <word name='xmlStrcmp'>
-          <ref name='xmlStrEqual'/>
-        </word>
-        <word name='xmlStrdup'>
-          <ref name='xmlNewNode'/>
-        </word>
-        <word name='xmlStreamPush'>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='xmlStringDecodeEntities'>
-          <ref name='xmlDecodeEntities'/>
-        </word>
-        <word name='xmlStringGetNodeList'>
-          <ref name='xmlParseAttValue'/>
-        </word>
-        <word name='xmlStrncat'>
-          <ref name='xmlStrncatNew'/>
-        </word>
-        <word name='xmlStrncmp'>
-          <ref name='xmlUTF8Charcmp'/>
-        </word>
-        <word name='xmlTextReader'>
-          <ref name='xmlNewTextReader'/>
-          <ref name='xmlNewTextReaderFilename'/>
-          <ref name='xmlReaderNewDoc'/>
-          <ref name='xmlReaderNewFd'/>
-          <ref name='xmlReaderNewFile'/>
-          <ref name='xmlReaderNewIO'/>
-          <ref name='xmlReaderNewMemory'/>
-          <ref name='xmlReaderNewWalker'/>
-          <ref name='xmlTextReaderCurrentDoc'/>
-          <ref name='xmlTextReaderCurrentNode'/>
-        </word>
-        <word name='xmlTextReaderCurrentDoc'>
-          <ref name='xmlTextReaderPreserve'/>
-          <ref name='xmlTextReaderPreservePattern'/>
-        </word>
-        <word name='xmlTextReaderLocatorPtr'>
-          <ref name='xmlTextReaderLocatorBaseURI'/>
-          <ref name='xmlTextReaderLocatorLineNumber'/>
-        </word>
-        <word name='xmlTextReaderRead'>
-          <ref name='xmlTextReaderExpand'/>
-        </word>
-        <word name='xmlTextWriterStartDTDEntity'>
-          <ref name='xmlTextWriterWriteDTDExternalEntity'/>
-        </word>
-        <word name='xmlTextWriterWriteDTD'>
-          <ref name='xmlTextWriterWriteDocType'/>
-        </word>
-        <word name='xmlTextWriterWritePI'>
-          <ref name='xmlTextWriterWriteProcessingInstruction'/>
-        </word>
-        <word name='xmlURI'>
-          <ref name='xmlCreateURI'/>
-          <ref name='xmlFreeURI'/>
-          <ref name='xmlPrintURI'/>
-          <ref name='xmlSaveUri'/>
-        </word>
-        <word name='xmlURIEscapeStr'>
-          <ref name='xmlURIEscape'/>
-        </word>
-        <word name='xmlURIFromPath'>
-          <ref name='xmlNormalizeWindowsPath'/>
-        </word>
-        <word name='xmlURIPtr'>
-          <ref name='xmlParseURI'/>
-          <ref name='xmlParseURIRaw'/>
-        </word>
-        <word name='xmlUnlinkNode'>
-          <ref name='xmlDocSetRootElement'/>
-          <ref name='xmlFreeNode'/>
-        </word>
-        <word name='xmlUnlockLibrary'>
-          <ref name='xmlUnlockLibrary'/>
-        </word>
-        <word name='xmlValidCtxtPtr'>
-          <ref name='xmlValidityErrorFunc'/>
-          <ref name='xmlValidityWarningFunc'/>
-        </word>
-        <word name='xmlValidGetValidElements'>
-          <ref name='xmlValidGetValidElements'/>
-        </word>
-        <word name='xmlValidateAttributeDecl'>
-          <ref name='xmlParseDefaultDecl'/>
-        </word>
-        <word name='xmlValidateAttributeValue'>
-          <ref name='xmlParseAttributeType'/>
-        </word>
-        <word name='xmlValidateOneAttribute'>
-          <ref name='xmlValidateOneElement'/>
-        </word>
-        <word name='xmlWriter'>
-          <ref name='LIBXML_WRITER_ENABLED'/>
-        </word>
-        <word name='xmlXPathCheckError'>
-          <ref name='xmlXPathPopBoolean'/>
-          <ref name='xmlXPathPopExternal'/>
-          <ref name='xmlXPathPopNodeSet'/>
-          <ref name='xmlXPathPopNumber'/>
-          <ref name='xmlXPathPopString'/>
-        </word>
-        <word name='xmlXPathCompExprPtr'>
-          <ref name='xmlXPathCompile'/>
-          <ref name='xmlXPathCtxtCompile'/>
-        </word>
-        <word name='xmlXPathContext'>
-          <ref name='xmlXPathFreeContext'/>
-          <ref name='xmlXPathNewContext'/>
-          <ref name='xmlXPtrNewContext'/>
-        </word>
-        <word name='xmlXPathError'>
-          <ref name='err'/>
-        </word>
-        <word name='xmlXPathEval'>
-          <ref name='xmlXPathEvalExpression'/>
-        </word>
-        <word name='xmlXPathEvalPredicate'>
-          <ref name='xmlXPtrEvalRangePredicate'/>
-        </word>
-        <word name='xmlXPathFreeObject'>
-          <ref name='xmlXPathFreeNodeSetList'/>
-        </word>
-        <word name='xmlXPathFunction'>
-          <ref name='xmlXPathFunctionLookup'/>
-          <ref name='xmlXPathFunctionLookupNS'/>
-        </word>
-        <word name='xmlXPathNodeTrailingSorted'>
-          <ref name='xmlXPathNodeTrailing'/>
-        </word>
-        <word name='xmlXPathObject'>
-          <ref name='xmlXPathContextSetCache'/>
-        </word>
-        <word name='xmlXPathObjectPtr'>
-          <ref name='xmlXPathCompiledEval'/>
-          <ref name='xmlXPathEval'/>
-          <ref name='xmlXPathEvalExpression'/>
-          <ref name='xmlXPathFreeNodeSetList'/>
-          <ref name='xmlXPathFreeObject'/>
-          <ref name='xmlXPathNewBoolean'/>
-          <ref name='xmlXPathNewCString'/>
-          <ref name='xmlXPathNewFloat'/>
-          <ref name='xmlXPathNewNodeSet'/>
-          <ref name='xmlXPathNewNodeSetList'/>
-          <ref name='xmlXPathNewString'/>
-          <ref name='xmlXPathNewValueTree'/>
-          <ref name='xmlXPathNodeEval'/>
-          <ref name='xmlXPathWrapNodeSet'/>
-          <ref name='xmlXPtrEval'/>
-          <ref name='xmlXPtrLocationSetAdd'/>
-          <ref name='xmlXPtrLocationSetCreate'/>
-          <ref name='xmlXPtrLocationSetDel'/>
-          <ref name='xmlXPtrNewCollapsedRange'/>
-          <ref name='xmlXPtrNewLocationSetNodeSet'/>
-          <ref name='xmlXPtrNewLocationSetNodes'/>
-          <ref name='xmlXPtrNewRange'/>
-          <ref name='xmlXPtrNewRangeNodeObject'/>
-          <ref name='xmlXPtrNewRangeNodePoint'/>
-          <ref name='xmlXPtrNewRangeNodes'/>
-          <ref name='xmlXPtrNewRangePointNode'/>
-          <ref name='xmlXPtrNewRangePoints'/>
-          <ref name='xmlXPtrWrapLocationSet'/>
-        </word>
-        <word name='xmlXPathParserContext'>
-          <ref name='xmlXPathFreeParserContext'/>
-          <ref name='xmlXPathNewParserContext'/>
-        </word>
-        <word name='xmlXPathTrailingSorted'>
-          <ref name='xmlXPathTrailing'/>
-        </word>
-        <word name='xmlns'>
-          <ref name='xmlNamespaceParseNSDef'/>
-        </word>
-        <word name='xmlns:???'>
-          <ref name='xmlParseAttribute'/>
-        </word>
-        <word name='xmltextReader'>
-          <ref name='xmlReaderForDoc'/>
-          <ref name='xmlReaderForFd'/>
-          <ref name='xmlReaderForIO'/>
-          <ref name='xmlReaderForMemory'/>
-          <ref name='xmlReaderNewDoc'/>
-          <ref name='xmlReaderNewFd'/>
-          <ref name='xmlReaderNewIO'/>
-          <ref name='xmlReaderNewMemory'/>
-          <ref name='xmlReaderNewWalker'/>
-          <ref name='xmlReaderWalker'/>
-        </word>
-        <word name='xpath'>
-          <ref name='xmlShellPrintXPathError'/>
-          <ref name='xmlShellPrintXPathResult'/>
-          <ref name='xmlXPtrRangeToFunction'/>
-        </word>
-        <word name='xpointer'>
-          <ref name='XINCLUDE_PARSE_XPOINTER'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunk name='chunk29'>
-      <letter name='y'>
-        <word name='year'>
-          <ref name='ftpListCallback'/>
-        </word>
-        <word name='yes'>
-          <ref name='_xmlDoc'/>
-          <ref name='xmlInputMatchCallback'/>
-          <ref name='xmlIsBlankNode'/>
-          <ref name='xmlIsMixedElement'/>
-          <ref name='xmlNodeIsText'/>
-          <ref name='xmlOutputMatchCallback'/>
-          <ref name='xmlParseEntityRef'/>
-          <ref name='xmlParsePEReference'/>
-          <ref name='xmlParseSDDecl'/>
-          <ref name='xmlParserHandlePEReference'/>
-          <ref name='xmlRegexpIsDeterminist'/>
-          <ref name='xmlTextWriterStartDocument'/>
-        </word>
-        <word name='yet'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlModuleOpen'/>
-          <ref name='xmlSaveDoc'/>
-          <ref name='xmlSaveTree'/>
-          <ref name='xmlSchemaGetCanonValue'/>
-          <ref name='xmlSchemaGetCanonValueWhtsp'/>
-          <ref name='xmlTextReaderRelaxNGValidateCtxt'/>
-          <ref name='xmlTextReaderSchemaValidateCtxt'/>
-        </word>
-        <word name='you'>
-          <ref name='xmlDOMWrapAdoptNode'/>
-          <ref name='xmlDOMWrapCloneNode'/>
-          <ref name='xmlNewDocNode'/>
-          <ref name='xmlNewDocNodeEatName'/>
-          <ref name='xmlNewDocProp'/>
-          <ref name='xmlNewTextChild'/>
-          <ref name='xmlSchemaGetBuiltInType'/>
-          <ref name='xmlSearchNs'/>
-        </word>
-        <word name='your'>
-          <ref name='xmlCleanupParser'/>
-          <ref name='xmlCleanupThreads'/>
-        </word>
-      </letter>
-      <letter name='z'>
-        <word name='zero'>
-          <ref name='docbEncodeEntities'/>
-          <ref name='docbParseChunk'/>
-          <ref name='htmlCtxtReadDoc'/>
-          <ref name='htmlEncodeEntities'/>
-          <ref name='htmlParseChunk'/>
-          <ref name='htmlReadDoc'/>
-          <ref name='xmlBufferCCat'/>
-          <ref name='xmlBufferCat'/>
-          <ref name='xmlByteConsumed'/>
-          <ref name='xmlCopyDoc'/>
-          <ref name='xmlCtxtReadDoc'/>
-          <ref name='xmlDocDumpMemory'/>
-          <ref name='xmlHasFeature'/>
-          <ref name='xmlOutputBufferWriteEscape'/>
-          <ref name='xmlOutputBufferWriteString'/>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseChunk'/>
-          <ref name='xmlReadDoc'/>
-          <ref name='xmlReaderForDoc'/>
-          <ref name='xmlReaderNewDoc'/>
-          <ref name='xmlStrdupFunc'/>
-          <ref name='xmlStrsub'/>
-          <ref name='xmlXPathBooleanFunction'/>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='zero-based'>
-          <ref name='xmlTextReaderGetAttributeNo'/>
-          <ref name='xmlTextReaderMoveToAttributeNo'/>
-        </word>
-        <word name='zeros'>
-          <ref name='xmlXPathStringFunction'/>
-        </word>
-        <word name='zlib'>
-          <ref name='_xmlDoc'/>
-          <ref name='xmlC14NDocSave'/>
-        </word>
-      </letter>
-    </chunk>
-    <chunks>
-      <chunk name='chunk0' start='A' end='B'/>
-      <chunk name='chunk1' start='C' end='C'/>
-      <chunk name='chunk2' start='D' end='E'/>
-      <chunk name='chunk3' start='F' end='I'/>
-      <chunk name='chunk4' start='J' end='N'/>
-      <chunk name='chunk5' start='O' end='P'/>
-      <chunk name='chunk6' start='Q' end='R'/>
-      <chunk name='chunk7' start='S' end='S'/>
-      <chunk name='chunk8' start='T' end='U'/>
-      <chunk name='chunk9' start='V' end='X'/>
-      <chunk name='chunk10' start='Y' end='a'/>
-      <chunk name='chunk11' start='b' end='b'/>
-      <chunk name='chunk12' start='c' end='c'/>
-      <chunk name='chunk13' start='d' end='d'/>
-      <chunk name='chunk14' start='e' end='e'/>
-      <chunk name='chunk15' start='f' end='f'/>
-      <chunk name='chunk16' start='g' end='h'/>
-      <chunk name='chunk17' start='i' end='i'/>
-      <chunk name='chunk18' start='j' end='l'/>
-      <chunk name='chunk19' start='m' end='m'/>
-      <chunk name='chunk20' start='n' end='n'/>
-      <chunk name='chunk21' start='o' end='o'/>
-      <chunk name='chunk22' start='p' end='p'/>
-      <chunk name='chunk23' start='q' end='r'/>
-      <chunk name='chunk24' start='s' end='s'/>
-      <chunk name='chunk25' start='t' end='t'/>
-      <chunk name='chunk26' start='u' end='v'/>
-      <chunk name='chunk27' start='w' end='w'/>
-      <chunk name='chunk28' start='x' end='x'/>
-      <chunk name='chunk29' start='y' end='z'/>
-    </chunks>
-  </index>
-</apirefs>
diff --git a/doc/libxml2.xsa b/doc/libxml2.xsa
deleted file mode 100644
index d6439aa..0000000
--- a/doc/libxml2.xsa
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE xsa PUBLIC "-//LM Garshol//DTD XML Software Autoupdate 1.0//EN//XML" "http://www.garshol.priv.no/download/xsa/xsa.dtd">
-<xsa>
-  <vendor>
-    <name>Daniel Veillard</name>
-    <email>daniel@veillard.com</email>
-    <url>http://veillard.com/</url>
-  </vendor>
-  <product id="libxml2">
-    <name>libxml2</name>
-    <version>v2.9.12</version>
-    <last-release> May 13 2021</last-release>
-    <info-url>https://gitlab.gnome.org/GNOME/libxml2</info-url>
-    <changes>   - Build system:
-  Add fuzz.h and seed/regexp to EXTRA_DIST
-  
-
-</changes>
-  </product>
-</xsa>
diff --git a/doc/namespaces.html b/doc/namespaces.html
deleted file mode 100644
index fff3af4..0000000
--- a/doc/namespaces.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Namespaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Namespaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The libxml2 library implements <a href="http://www.w3.org/TR/REC-xml-names/">XML namespaces</a> support by
-recognizing namespace constructs in the input, and does namespace lookup
-automatically when building the DOM tree. A namespace declaration is
-associated with an in-memory structure and all elements or attributes within
-that namespace point to it. Hence testing the namespace is a simple and fast
-equality operation at the user level.</p><p>I suggest that people using libxml2 use a namespace, and declare it in the
-root element of their document as the default namespace. Then they don't need
-to use the prefix in the content but we will have a basis for future semantic
-refinement and  merging of data from different sources. This doesn't increase
-the size of the XML output significantly, but significantly increases its
-value in the long-term. Example:</p><pre>&lt;mydoc xmlns="http://mydoc.example.org/schemas/"&gt;
-   &lt;elem1&gt;...&lt;/elem1&gt;
-   &lt;elem2&gt;...&lt;/elem2&gt;
-&lt;/mydoc&gt;</pre><p>The namespace value has to be an absolute URL, but the URL doesn't have to
-point to any existing resource on the Web. It will bind all the element and
-attributes with that URL. I suggest to use an URL within a domain you
-control, and that the URL should contain some kind of version information if
-possible. For example, <code>"http://www.gnome.org/gnumeric/1.0/"</code> is a
-good namespace scheme.</p><p>Then when you load a file, make sure that a namespace carrying the
-version-independent prefix is installed on the root element of your document,
-and if the version information don't match something you know, warn the user
-and be liberal in what you accept as the input. Also do *not* try to base
-namespace checking on the prefix value. &lt;foo:text&gt; may be exactly the
-same as &lt;bar:text&gt; in another document. What really matters is the URI
-associated with the element or the attribute, not the prefix string (which is
-just a shortcut for the full URI). In libxml, element and attributes have an
-<code>ns</code> field pointing to an xmlNs structure detailing the namespace
-prefix and its URI.</p><p>@@Interfaces@@</p><pre>xmlNodePtr node;
-if(!strncmp(node-&gt;name,"mytag",5)
-  &amp;&amp; node-&gt;ns
-  &amp;&amp; !strcmp(node-&gt;ns-&gt;href,"http://www.mysite.com/myns/1.0")) {
-  ...
-}</pre><p>Usually people object to using namespaces together with validity checking.
-I will try to make sure that using namespaces won't break validity checking,
-so even if you plan to use or currently are using validation I strongly
-suggest adding namespaces to your document. A default namespace scheme
-<code>xmlns="http://...."</code> should not break validity even on less
-flexible parsers. Using namespaces to mix and differentiate content coming
-from multiple DTDs will certainly break current validation schemes. To check
-such documents one needs to use schema-validation, which is supported in
-libxml2 as well. See <a href="http://www.relaxng.org/">relagx-ng</a> and <a href="http://www.w3c.org/XML/Schema">w3c-schema</a>.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/newapi.xsl b/doc/newapi.xsl
deleted file mode 100644
index b809382..0000000
--- a/doc/newapi.xsl
+++ /dev/null
@@ -1,766 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Stylesheet to generate the HTML documentation from an XML API descriptions:
-  xsltproc newapi.xsl libxml2-api.xml
-
-  Daniel Veillard
--->
-<xsl:stylesheet version="1.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:exsl="http://exslt.org/common"
-  xmlns:str="http://exslt.org/strings"
-  extension-element-prefixes="exsl str"
-  exclude-result-prefixes="exsl str">
-
-  <!-- Import the main part of the site stylesheets -->
-  <xsl:import href="site.xsl"/>
-
-  <!-- Generate XHTML-1.0 transitional -->
-  <xsl:output method="xml" encoding="UTF-8" indent="yes"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
-
-  <!-- Build keys for all symbols -->
-  <xsl:key name="symbols" match="/api/symbols/*" use="@name"/>
-
-  <!-- the target directory for the HTML output -->
-  <xsl:variable name="htmldir">html</xsl:variable>
-  <xsl:variable name="href_base">../</xsl:variable>
-
-  <!-- The table of content for the HTML API pages -->
-  <xsl:variable name="menu_name">API Menu</xsl:variable>
-  <xsl:variable name="apitoc">
-    <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><!-- style="margin-left: -1em" -->
-      <li><a style="font-weight:bold"
-             href="{$href_base}index.html">Main Menu</a></li>
-      <li><a style="font-weight:bold" 
-             href="{$href_base}docs.html">Developer Menu</a></li>
-      <li><a style="font-weight:bold" 
-             href="{$href_base}examples/index.html">Code Examples</a></li>
-      <li><a style="font-weight:bold"
-             href="index.html">API Menu</a></li>
-      <li><a href="libxml-parser.html">Parser API</a></li>
-      <li><a href="libxml-tree.html">Tree API</a></li>
-      <li><a href="libxml-xmlreader.html">Reader API</a></li>
-      <li><a href="{$href_base}guidelines.html">XML Guidelines</a></li>
-      <li><a href="{$href_base}ChangeLog.html">ChangeLog</a></li>
-    </ul>
-  </xsl:variable>
-  <xsl:template name="apitoc">
-    <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><xsl:value-of select="$menu_name"/></b>
-                </center>
-              </td>
-            </tr>
-            <tr>
-              <td bgcolor="#fffacd">
-                <xsl:copy-of select="$apitoc"/>
-              </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">
-                <xsl:copy-of select="$api"/>
-              </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">
-                <xsl:copy-of select="$related"/>
-              </td>
-            </tr>
-          </table>
-        </td>
-      </tr>
-    </table>
-  </xsl:template>
-
-  <xsl:template name="docstyle">
-    <style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;background: #EECFA1}
-    </style>
-  </xsl:template>
-  <xsl:template name="navbar">
-    <xsl:variable name="previous" select="preceding-sibling::file[1]"/>
-    <xsl:variable name="next" select="following-sibling::file[1]"/>
-    <table class="navigation" width="100%" summary="Navigation header"
-           cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <xsl:if test="$previous">
-          <td><a accesskey="p" href="libxml-{$previous/@name}.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td>
-	  <th align="left"><a href="libxml-{$previous/@name}.html"><xsl:value-of select="$previous/@name"/></a></th>
-	</xsl:if>
-        <td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></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"></img></a></td>
-        <th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th>
-        <xsl:if test="$next">
-	  <th align="right"><a href="libxml-{$next/@name}.html"><xsl:value-of select="$next/@name"/></a></th>
-          <td><a accesskey="n" href="libxml-{$next/@name}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td>
-        </xsl:if>
-      </tr>
-    </table>
-  </xsl:template>
-
-  <!-- This is convoluted but needed to force the current document to
-       be the API one and not the result tree from the tokenize() result,
-       because the keys are only defined on the main document -->
-  <xsl:template mode="dumptoken" match='*'>
-    <xsl:param name="token"/>
-    <xsl:variable name="ref" select="key('symbols', $token)"/>
-    <xsl:choose>
-      <xsl:when test="$ref">
-        <a href="libxml-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$token"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-  <!-- dumps a string, making cross-reference links -->
-  <xsl:template name="dumptext">
-    <xsl:param name="text"/>
-    <xsl:variable name="ctxt" select='.'/>
-    <!-- <xsl:value-of select="$text"/> -->
-    <xsl:for-each select="str:tokenize($text, ' &#9;')">
-      <xsl:apply-templates select="$ctxt" mode='dumptoken'>
-        <xsl:with-param name="token" select="string(.)"/>
-      </xsl:apply-templates>
-      <xsl:if test="position() != last()">
-        <xsl:text> </xsl:text>
-      </xsl:if>
-    </xsl:for-each>
-  </xsl:template>
-
-  <xsl:template match="macro" mode="toc">
-    <pre class="programlisting">
-    <xsl:text>#define </xsl:text><a href="#{@name}"><xsl:value-of select="@name"/></a>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="variable" mode="toc">
-    <pre class="programlisting">
-    <xsl:text>Variable </xsl:text>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="string(@type)"/>
-    </xsl:call-template>
-    <xsl:text> </xsl:text>
-    <a name="{@name}"></a>
-    <xsl:value-of select="@name"/>
-    <xsl:text>
-
-</xsl:text>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="typedef" mode="toc">
-    <xsl:variable name="name" select="string(@name)"/>
-    <pre class="programlisting">
-    <xsl:choose>
-      <xsl:when test="@type = 'enum'">
-	<xsl:text>Enum </xsl:text>
-	<a href="#{$name}"><xsl:value-of select="$name"/></a>
-	<xsl:text>
-</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:text>Typedef </xsl:text>
-	<xsl:call-template name="dumptext">
-	  <xsl:with-param name="text" select="@type"/>
-	</xsl:call-template>
-	<xsl:text> </xsl:text>
-	<a name="{$name}"><xsl:value-of select="$name"/></a>
-	<xsl:text>
-</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="typedef[@type = 'enum']">
-    <xsl:variable name="name" select="string(@name)"/>
-    <h3>Enum <a name="{$name}"><xsl:value-of select="$name"/></a></h3>
-    <pre class="programlisting">
-      <xsl:text>Enum </xsl:text>
-      <xsl:value-of select="$name"/>
-      <xsl:text> {
-</xsl:text>
-      <xsl:for-each select="/api/symbols/enum[@type = $name]">
-        <xsl:sort select="@value" data-type="number" order="ascending"/>
-        <xsl:text>    </xsl:text>
-        <a name="{@name}"><xsl:value-of select="@name"/></a>
-        <xsl:text> = </xsl:text>
-        <xsl:value-of select="@value"/>
-        <xsl:if test="@info != ''">
-	  <xsl:text> : </xsl:text>
-	  <xsl:call-template name="dumptext">
-	    <xsl:with-param name="text" select="@info"/>
-	  </xsl:call-template>
-        </xsl:if>
-        <xsl:text>
-</xsl:text>
-      </xsl:for-each>
-      <xsl:text>}
-</xsl:text>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="struct" mode="toc">
-    <pre class="programlisting">
-    <xsl:text>Structure </xsl:text><a href="#{@name}"><xsl:value-of select="@name"/></a><br/>
-    <xsl:value-of select="@type"/><xsl:text>
-</xsl:text>
-    <xsl:if test="not(field)">
-      <xsl:text>The content of this structure is not made public by the API.
-</xsl:text>
-    </xsl:if>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="struct">
-    <h3><a name="{@name}">Structure <xsl:value-of select="@name"/></a></h3>
-    <pre class="programlisting">
-    <xsl:text>Structure </xsl:text><xsl:value-of select="@name"/><br/>
-    <xsl:value-of select="@type"/><xsl:text> {
-</xsl:text>
-    <xsl:if test="not(field)">
-      <xsl:text>The content of this structure is not made public by the API.
-</xsl:text>
-    </xsl:if>
-    <xsl:for-each select="field">
-        <xsl:text>    </xsl:text>
-	<xsl:call-template name="dumptext">
-	  <xsl:with-param name="text" select="@type"/>
-	</xsl:call-template>
-	<xsl:text>&#9;</xsl:text>
-	<xsl:value-of select="@name"/>
-	<xsl:if test="@info != ''">
-	  <xsl:text>&#9;: </xsl:text>
-	  <xsl:call-template name="dumptext">
-	    <xsl:with-param name="text" select="substring(@info, 1, 40)"/>
-	  </xsl:call-template>
-	</xsl:if>
-	<xsl:text>
-</xsl:text>
-    </xsl:for-each>
-    <xsl:text>}</xsl:text>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="macro">
-    <xsl:variable name="name" select="string(@name)"/>
-    <h3><a name="{$name}"></a>Macro: <xsl:value-of select="$name"/></h3>
-    <pre><xsl:text>#define </xsl:text><xsl:value-of select="$name"/></pre>
-    <p>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="info"/>
-    </xsl:call-template>
-    </p><xsl:text>
-</xsl:text>
-  </xsl:template>
-
-  <xsl:template match="function" mode="toc">
-    <xsl:variable name="name" select="string(@name)"/>
-    <xsl:variable name="nlen" select="string-length($name)"/>
-    <xsl:variable name="tlen" select="string-length(return/@type)"/>
-    <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
-    <pre class="programlisting">
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="return/@type"/>
-    </xsl:call-template>
-    <xsl:text>&#9;</xsl:text>
-    <a href="#{@name}"><xsl:value-of select="@name"/></a>
-    <xsl:if test="$blen - 40 &lt; -8">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:if test="$blen - 40 &lt; 0">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:text>&#9;(</xsl:text>
-    <xsl:if test="not(arg)">
-      <xsl:text>void</xsl:text>
-    </xsl:if>
-    <xsl:for-each select="arg">
-      <xsl:call-template name="dumptext">
-        <xsl:with-param name="text" select="@type"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="@name"/>
-      <xsl:if test="position() != last()">
-        <xsl:text>, </xsl:text><br/>
-	<xsl:if test="$blen - 40 &gt; 8">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:if test="$blen - 40 &gt; 0">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
-      </xsl:if>
-    </xsl:for-each>
-    <xsl:text>)</xsl:text>
-    </pre><xsl:text>
-</xsl:text>
-  </xsl:template>
-
-  <xsl:template match="functype" mode="toc">
-    <xsl:variable name="name" select="string(@name)"/>
-    <xsl:variable name="nlen" select="string-length($name)"/>
-    <xsl:variable name="tlen" select="string-length(return/@type)"/>
-    <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
-    <pre class="programlisting">
-    <xsl:text>Function type: </xsl:text>
-    <a href="#{$name}"><xsl:value-of select="$name"/></a>
-    <xsl:text>
-</xsl:text>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="return/@type"/>
-    </xsl:call-template>
-    <xsl:text>&#9;</xsl:text>
-    <a href="#{$name}"><xsl:value-of select="$name"/></a>
-    <xsl:if test="$blen - 40 &lt; -8">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:if test="$blen - 40 &lt; 0">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:text>&#9;(</xsl:text>
-    <xsl:if test="not(arg)">
-      <xsl:text>void</xsl:text>
-    </xsl:if>
-    <xsl:for-each select="arg">
-      <xsl:call-template name="dumptext">
-        <xsl:with-param name="text" select="@type"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="@name"/>
-      <xsl:if test="position() != last()">
-        <xsl:text>, </xsl:text><br/>
-	<xsl:if test="$blen - 40 &gt; 8">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:if test="$blen - 40 &gt; 0">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
-      </xsl:if>
-    </xsl:for-each>
-    <xsl:text>)
-</xsl:text>
-    </pre>
-    <xsl:text>
-</xsl:text>
-  </xsl:template>
-
-  <xsl:template match="functype">
-    <xsl:variable name="name" select="string(@name)"/>
-    <xsl:variable name="nlen" select="string-length($name)"/>
-    <xsl:variable name="tlen" select="string-length(return/@type)"/>
-    <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
-    <h3>
-      <a name="{$name}"></a>
-      <xsl:text>Function type: </xsl:text>
-      <xsl:value-of select="$name"/>
-    </h3>
-    <pre class="programlisting">
-    <xsl:text>Function type: </xsl:text>
-    <xsl:value-of select="$name"/>
-    <xsl:text>
-</xsl:text>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="return/@type"/>
-    </xsl:call-template>
-    <xsl:text>&#9;</xsl:text>
-    <xsl:value-of select="@name"/>
-    <xsl:if test="$blen - 40 &lt; -8">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:if test="$blen - 40 &lt; 0">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:text>&#9;(</xsl:text>
-    <xsl:if test="not(arg)">
-      <xsl:text>void</xsl:text>
-    </xsl:if>
-    <xsl:for-each select="arg">
-      <xsl:call-template name="dumptext">
-        <xsl:with-param name="text" select="@type"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="@name"/>
-      <xsl:if test="position() != last()">
-        <xsl:text>, </xsl:text><br/>
-	<xsl:if test="$blen - 40 &gt; 8">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:if test="$blen - 40 &gt; 0">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
-      </xsl:if>
-    </xsl:for-each>
-    <xsl:text>)
-</xsl:text>
-    </pre>
-    <p>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="info"/>
-    </xsl:call-template>
-    </p>
-    <xsl:if test="arg | return">
-      <div class="variablelist"><table border="0"><col align="left"/><tbody>
-      <xsl:for-each select="arg">
-        <tr>
-          <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
-	  <td>
-	    <xsl:call-template name="dumptext">
-	      <xsl:with-param name="text" select="@info"/>
-	    </xsl:call-template>
-	  </td>
-        </tr>
-      </xsl:for-each>
-      <xsl:if test="return/@info">
-        <tr>
-          <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-	  <td>
-	    <xsl:call-template name="dumptext">
-	      <xsl:with-param name="text" select="return/@info"/>
-	    </xsl:call-template>
-	  </td>
-        </tr>
-      </xsl:if>
-      </tbody></table></div>
-    </xsl:if>
-    <br/>
-    <xsl:text>
-</xsl:text>
-  </xsl:template>
-
-  <xsl:template match="function">
-    <xsl:variable name="name" select="string(@name)"/>
-    <xsl:variable name="nlen" select="string-length($name)"/>
-    <xsl:variable name="tlen" select="string-length(return/@type)"/>
-    <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
-    <h3><a name="{$name}"></a>Function: <xsl:value-of select="$name"/></h3>
-    <pre class="programlisting">
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="return/@type"/>
-    </xsl:call-template>
-    <xsl:text>&#9;</xsl:text>
-    <xsl:value-of select="@name"/>
-    <xsl:if test="$blen - 40 &lt; -8">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:if test="$blen - 40 &lt; 0">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:text>&#9;(</xsl:text>
-    <xsl:if test="not(arg)">
-      <xsl:text>void</xsl:text>
-    </xsl:if>
-    <xsl:for-each select="arg">
-      <xsl:call-template name="dumptext">
-        <xsl:with-param name="text" select="@type"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="@name"/>
-      <xsl:if test="position() != last()">
-        <xsl:text>, </xsl:text><br/>
-	<xsl:if test="$blen - 40 &gt; 8">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:if test="$blen - 40 &gt; 0">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
-      </xsl:if>
-    </xsl:for-each>
-    <xsl:text>)</xsl:text><br/>
-    <xsl:text>
-</xsl:text>
-    </pre>
-    <p>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="info"/>
-    </xsl:call-template>
-    </p><xsl:text>
-</xsl:text>
-    <xsl:if test="arg | return/@info">
-      <div class="variablelist"><table border="0"><col align="left"/><tbody>
-      <xsl:for-each select="arg">
-        <tr>
-          <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
-	  <td>
-	    <xsl:call-template name="dumptext">
-	      <xsl:with-param name="text" select="@info"/>
-	    </xsl:call-template>
-	  </td>
-        </tr>
-      </xsl:for-each>
-      <xsl:if test="return/@info">
-        <tr>
-          <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-	  <td>
-	    <xsl:call-template name="dumptext">
-	      <xsl:with-param name="text" select="return/@info"/>
-	    </xsl:call-template>
-	  </td>
-        </tr>
-      </xsl:if>
-      </tbody></table></div>
-    </xsl:if>
-  </xsl:template>
-
-  <xsl:template match="exports" mode="toc">
-    <xsl:apply-templates select="key('symbols', string(@symbol))[1]" mode="toc"/>
-  </xsl:template>
-
-  <xsl:template match="exports">
-    <xsl:apply-templates select="key('symbols', string(@symbol))[1]"/>
-  </xsl:template>
-
-  <xsl:template name="description">
-    <xsl:if test="deprecated">
-      <h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2>
-    </xsl:if>
-    <xsl:if test="description">
-      <p><xsl:value-of select="description"/></p>
-    </xsl:if>
-  </xsl:template>
-
-<!--
-  <xsl:template name="docomponents">
-    <xsl:param name="mode"/>
-    <xsl:apply-templates select="exports[@type='macro']" mode="$mode">
-      <xsl:sort select='@symbol'/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="exports[@type='enum']" mode="$mode">
-      <xsl:sort select='@symbol'/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="exports[@type='typedef']" mode="$mode">
-      <xsl:sort select='@symbol'/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="exports[@type='struct']" mode="$mode">
-      <xsl:sort select='@symbol'/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="exports[@type='function']" mode="$mode">
-      <xsl:sort select='@symbol'/>
-    </xsl:apply-templates>
-  </xsl:template>
--->
-
-  <xsl:template match="file">
-    <xsl:variable name="name" select="@name"/>
-    <xsl:variable name="title">Module <xsl:value-of select="$name"/> from <xsl:value-of select="/api/@name"/></xsl:variable>
-    <xsl:document href="{$htmldir}/libxml-{$name}.html" method="xml" encoding="UTF-8"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-	<html>
-	  <head>
-	    <xsl:call-template name="style"/>
-	    <xsl:call-template name="docstyle"/>
-	    <title><xsl:value-of select="$title"/></title>
-	  </head>
-	  <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
-	    <xsl:call-template name="titlebox">
-	      <xsl:with-param name="title" select="$title"/>
-	    </xsl:call-template>
-	  <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">
-		      <xsl:call-template name="apitoc"/>
-		    </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">
-	    <xsl:call-template name="navbar"/>
-	    <xsl:call-template name="description"/>
-	    <xsl:choose>
-	      <xsl:when test="deprecated">
-	        <div class="deprecated">
-		  <h2>Table of Contents</h2>
-		  <xsl:apply-templates select="exports" mode="toc"/>
-		  <h2>Description</h2>
-		  <xsl:text>
-</xsl:text>
-		  <xsl:apply-templates select="exports"/>
-		</div>
-	      </xsl:when>
-	      <xsl:otherwise>
-		<h2>Table of Contents</h2>
-		<xsl:apply-templates select="exports[@type='macro']" mode="toc">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='enum']" mode="toc">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='typedef']" mode="toc">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='struct']" mode="toc">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='function']" mode="toc">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<h2>Description</h2>
-		<xsl:text>
-</xsl:text>
-		<xsl:apply-templates select="exports[@type='macro']">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='enum']">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='typedef']">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='struct']">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='function']">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-	      </xsl:otherwise>
-	    </xsl:choose>
-					<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
-				      </td>
-				    </tr>
-				  </table>
-				</td>
-			      </tr>
-			    </table>
-			  </td>
-			</tr>
-		      </table>
-		    </td>
-		  </tr>
-		</table>
-	      </td>
-	    </tr>
-	  </table>
-	  </body>
-	</html>
-    </xsl:document>
-  </xsl:template>
-
-  <xsl:template match="file" mode="toc">
-    <xsl:variable name="name" select="@name"/>
-    <li>
-      <a href="libxml-{$name}.html"><xsl:value-of select="$name"/></a>
-      <xsl:text>: </xsl:text>
-      <xsl:value-of select="summary"/>
-    </li>
-  </xsl:template>
-
-  <xsl:template name="mainpage">
-    <xsl:param name="file" select="concat($htmldir, '/index.html')"/>
-    <xsl:variable name="title">Reference Manual for <xsl:value-of select="/api/@name"/></xsl:variable>
-    <xsl:document href="{$file}" method="xml" encoding="UTF-8"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-	<html>
-	  <head>
-	    <xsl:call-template name="style"/>
-	    <xsl:call-template name="docstyle"/>
-	    <title><xsl:value-of select="$title"/></title>
-	  </head>
-	  <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
-	    <xsl:call-template name="titlebox">
-	      <xsl:with-param name="title" select="$title"/>
-	    </xsl:call-template>
-	  <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">
-		      <xsl:call-template name="apitoc"/>
-		    </td>
-		    <td valign="top" bgcolor="#8b7765">
-		      <table border="0" cellspacing="0" cellpadding="1" width="100%">
-			<tr>
-			  <td>
-			    <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
-			      <tr>
-				<td>
-				  <table border="0" cellpadding="3" cellspacing="1" width="100%">
-				    <tr>
-				      <td bgcolor="#fffacd">
-	    <h2>Table of Contents</h2>
-	    <ul>
-	    <xsl:apply-templates select="/api/files/file" mode="toc"/>
-	    </ul>
-					<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
-				      </td>
-				    </tr>
-				  </table>
-				</td>
-			      </tr>
-			    </table>
-			  </td>
-			</tr>
-		      </table>
-		    </td>
-		  </tr>
-		</table>
-	      </td>
-	    </tr>
-	  </table>
-	  </body>
-	</html>
-    </xsl:document>
-  </xsl:template>
-
-  <xsl:template match="/">
-    <!-- Save the main index.html as well as a couple of copies -->
-    <xsl:call-template name="mainpage"/>
-    <xsl:call-template name="mainpage">
-      <xsl:with-param name="file" select="concat($htmldir, '/book1.html')"/>
-    </xsl:call-template>
-    <xsl:call-template name="mainpage">
-      <xsl:with-param name="file" select="concat($htmldir, '/libxml-lib.html')"/>
-    </xsl:call-template>
-    <!-- now build the file for each of the modules -->
-    <xsl:apply-templates select="/api/files/file"/>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/doc/news.html b/doc/news.html
deleted file mode 100644
index 639cc10..0000000
--- a/doc/news.html
+++ /dev/null
@@ -1,3315 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Releases</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Releases</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The <a href="ChangeLog.html">change log</a> describes the recents commits
-to the <a href="https://gitlab.gnome.org/GNOME/libxml2">GIT</a> code base.</p><p>Here is the list of public releases:</p><h3>v2.9.13: Feb 19 2022</h3><ul>
-  <li>Security:<br />
-  [CVE-2022-23308] Use-after-free of ID and IDREF attributes
-  (Thanks to Shinji Sato for the report)<br />
-  Use-after-free in xmlXIncludeCopyRange (David Kilzer)<br />
-  Fix Null-deref-in-xmlSchemaGetComponentTargetNs (huangduirong)<br />
-  Fix memory leak in xmlXPathCompNodeTest<br />
-  Fix null pointer deref in xmlStringGetNodeList<br />
-  Fix several memory leaks found by Coverity (David King)<br />
-  </li>
-
-  <li>Fixed regressions:<br />
-  Fix regression in RelaxNG pattern matching<br />
-  Properly handle nested documents in xmlFreeNode<br />
-  Fix regression with PEs in external DTD<br />
-  Fix random dropping of characters on dumping ASCII encoded XML (Mohammad Razavi)<br />
-  Revert "Make schema validation fail with multiple top-level elements"<br />
-  Fix regression when parsing invalid HTML tags in push mode<br />
-  Fix regression parsing public IDs literals in HTML<br />
-  Fix buffering in xmlOutputBufferWrite<br />
-  Fix whitespace when serializing empty HTML documents<br />
-  Fix XPath recursion limit<br />
-  Fix regression in xmlNodeDumpOutputInternal<br />
-  Work around lxml API abuse<br />
-  </li>
-
-  <li>Bug fixes:<br />
-  Fix xmlSetTreeDoc with entity references<br />
-  Fix double counting of CRLF in comments<br />
-  Make sure to grow input buffer in xmlParseMisc<br />
-  Don't ignore xmllint options after "-"<br />
-  Don't normalize namespace URIs in XPointer xmlns() scheme<br />
-  Fix handling of XSD with empty namespace<br />
-  Also register HTML document nodes<br />
-  Make xmllint return an error if arguments are missing<br />
-  Fix handling of ctxt-&gt;base in xmlXPtrEvalXPtrPart<br />
-  Fix xmllint --maxmem<br />
-  Fix htmlReadFd, which was using a mix of xml and html context functions (Finn Barber)<br />
-  Move current position before possible calling of ctxt-&gt;sax-&gt;characters (Yulin Li)<br />
-  Fix parse failure when 4-byte character in UTF-16 BE is split across a chunk (David Kilzer)<br />
-  Patch to forbid epsilon-reduction of final states (Arne Becker)<br />
-  Avoid segfault at exit when using custom memory functions (Mike Dalessio)<br />
-  </li>
-
-  <li>Tests, code quality, fuzzing:<br />
-  Remove .travis.yml<br />
-  Make xmlFuzzReadString return a zero size in error case<br />
-  Fix unused function warning in testapi.c<br />
-  Update NewsML DTD in test suite<br />
-  Add more checks for malloc failures in xmllint.c<br />
-  Avoid potential integer overflow in xmlstring.c<br />
-  Run CI tests with UBSan implicit-conversion checks<br />
-  Fix casting of line numbers in SAX2.c<br />
-  Fix integer conversion warnings in hash.c<br />
-  Add explicit casts in runtest.c <br />
-  Fix integer conversion warning in xmlIconvWrapper<br />
-  Add suffix to unsigned constant in xmlmemory.c<br />
-  Add explicit casts in testchar.c<br />
-  Fix integer conversion warnings in xmlstring.c<br />
-  Add explicit cast in xmlURIUnescapeString<br />
-  Remove unused variable in xmlCharEncOutFunc (David King)<br />
-  </li>
-
-  <li>Build system, portability:<br />
-  Remove xmlwin32version.h<br />
-  Fix fuzzer test with VPATH build<br />
-  Support custom prefix when installing Python module<br />
-  Remove Makefile.win<br />
-  Remove CVS and SVN-related code<br />
-  Port python 3.x module to Windows and improve distutils (Chun-wei Fan)<br />
-  Correctly install the HTML examples into their subdirectory (Mattia Rizzolo)<br />
-  Refactor the settings of $docdir (Mattia Rizzolo)<br />
-  Remove unused configure checks (Ben Boeckel)<br />
-  python/Makefile.am: use *_LIBADD, not *_LDFLAGS for LIBS (Sam James)<br />
-  Fix check for libtool in autogen.sh<br />
-  Use version in configure.ac for CMake (Timothy Lyanguzov)<br />
-  Add CMake alias targets for embedded projects (Markus Rickert)<br />
-  </li>
-
-  <li>Documentation:<br />
-  Remove SVN keyword anchors<br />
-  Rework README<br />
-  Remove README.cvs-commits<br />
-  Remove old ChangeLog<br />
-  Update hyperlinks<br />
-  Remove README.docs<br />
-  Remove MAINTAINERS <br />
-  Remove xmltutorial.pdf<br />
-  Upload documentation to GitLab pages<br />
-  Document how to escape XML_CATALOG_FILES<br />
-  Fix libxml2.doap<br />
-  Update URL for libxml++ C++ binding (Kjell Ahlstedt)<br />
-  Generate devhelp2 index file (Emmanuele Bassi)<br />
-  Mention XML_CATALOG_FILES is space-separated (Jan Tojnar)<br />
-  Add documentaiton for xmllint exit code 10 (Rainer Canavan)<br />
-  Fix some validation errors in the FAQ (David King)<br />
-  Add instructions on how to use CMake to compile libxml (Markus Rickert)<br />
-  </li>
-</ul><h3>v2.9.12: May 13 2021</h3><ul>
-  <li>Build system:<br />
-  Add fuzz.h and seed/regexp to EXTRA_DIST<br />
-  </li>
-</ul><h3>v2.9.11: May 13 2021</h3><ul>
-  <li>Security:<br />
-  Patch for security issue CVE-2021-3541 (Daniel Veillard)<br />
-  </li>
-
-  <li>Documentation:<br />
-  Clarify xmlNewDocProp documentation (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Portability:<br />
-  CMake: Only add postfixes if MSVC (Christopher Degawa),<br />
-  Fix XPath NaN/Inf for older GCC versions (Nick Wellnhofer),<br />
-  Use CMake PROJECT_VERSION (Markus Rickert),<br />
-  Fix warnings in libxml.m4 with autoconf 2.70+. (Simon Josefsson),<br />
-  Add CI for CMake on MSVC (Markus Rickert),<br />
-  Update minimum required CMake version (Markus Rickert),<br />
-  Add variables for configured options to CMake config files (Markus Rickert),<br />
-  Check if variables exist when defining targets (Markus Rickert),<br />
-  Check if target exists when reading target properties (Markus Rickert),<br />
-  Add xmlcatalog target and definition to config files (Markus Rickert),<br />
-  Remove include directories for link-only dependencies (Markus Rickert),<br />
-  Fix ICU build in CMake (Markus Rickert),<br />
-  Configure pkgconfig, xml2-config, and xml2Conf.sh file (Markus Rickert),<br />
-  Update CMake config files (Markus Rickert),<br />
-  Add xmlcatalog and xmllint to CMake export (Markus Rickert),<br />
-  Simplify xmlexports.h (Nick Wellnhofer),<br />
-  Require dependencies based on enabled CMake options (Markus Rickert),<br />
-  Use NAMELINK_COMPONENT in CMake install (Markus Rickert),<br />
-  Add CMake files to EXTRA_DIST (Markus Rickert),<br />
-  Add missing compile definition for static builds to CMake (Markus Rickert),<br />
-  Add CI for CMake on Linux and MinGW (Markus Rickert),<br />
-  Fix variable name in win32/configure.js (Nick Wellnhofer),<br />
-  Fix version parsing in win32/configure.js (Nick Wellnhofer),<br />
-  Fix autotools warnings (Nick Wellnhofer),<br />
-  Update config.h.cmake.in (Markus Rickert),<br />
-  win32: allow passing *FLAGS on command line (Michael Stahl),<br />
-  Configure file xmlwin32version.h.in on MSVC (Markus Rickert),<br />
-  List headers individually (Markus Rickert),<br />
-  Add CMake build files (Markus Rickert),<br />
-  Parenthesize Py&lt;type&gt;_Check() in ifs (Miro Hrončok),<br />
-  Minor fixes to configure.js (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Bug Fixes:<br />
-  Fix null deref in legacy SAX1 parser (Nick Wellnhofer),<br />
-  Fix handling of unexpected EOF in xmlParseContent (Nick Wellnhofer),<br />
-  Fix line numbers in error messages for mismatched tags (Nick Wellnhofer),<br />
-  Fix htmlTagLookup (Nick Wellnhofer),<br />
-  Propagate error in xmlParseElementChildrenContentDeclPriv (Nick Wellnhofer),<br />
-  Fix user-after-free with `xmllint --xinclude --dropdtd` (Nick Wellnhofer),<br />
-  Fix dangling pointer with `xmllint --dropdtd` (Nick Wellnhofer),<br />
-  Validate UTF8 in xmlEncodeEntities (Joel Hockey),<br />
-  Fix use-after-free with `xmllint --html --push` (Nick Wellnhofer),<br />
-  Allow FP division by zero in xmlXPathInit (Nick Wellnhofer),<br />
-  Fix xmlGetNodePath with invalid node types (Nick Wellnhofer),<br />
-  Fix exponential behavior with recursive entities (Nick Wellnhofer),<br />
-  Fix quadratic behavior when looking up xml:* attributes (Nick Wellnhofer),<br />
-  Fix slow parsing of HTML with encoding errors (Nick Wellnhofer),<br />
-  Fix null deref introduced with previous commit (Nick Wellnhofer),<br />
-  Check for invalid redeclarations of predefined entities (Nick Wellnhofer),<br />
-  Add the copy of type from original xmlDoc in xmlCopyDoc() (SVGAnimate),<br />
-  parser.c: shrink the input buffer when appropriate (Mike Dalessio),<br />
-  Fix infinite loop in HTML parser introduced with recent commits (Nick Wellnhofer),<br />
-  Fix quadratic runtime when parsing CDATA sections (Nick Wellnhofer),<br />
-  Fix timeout when handling recursive entities (Nick Wellnhofer),<br />
-  Fix memory leak in xmlParseElementMixedContentDecl (Nick Wellnhofer),<br />
-  Fix null deref in xmlStringGetNodeList (Nick Wellnhofer),<br />
-  use new htmlParseLookupCommentEnd to find comment ends (Mike Dalessio),<br />
-  htmlParseComment: treat `--!&gt;` as if it closed the comment (Mike Dalessio),<br />
-  Fix integer overflow in xmlSchemaGetParticleTotalRangeMin (Nick Wellnhofer),<br />
-  encoding: fix memleak in xmlRegisterCharEncodingHandler() (Xiaoming Ni),<br />
-  xmlschemastypes.c: xmlSchemaGetFacetValueAsULong add, check "facet-&gt;val" (Xiaoming Ni),<br />
-  Fix null pointer deref in xmlXPtrRangeInsideFunction (Nick Wellnhofer),<br />
-  Fix quadratic runtime in HTML push parser with null bytes (Nick Wellnhofer),<br />
-  Avoid quadratic checking of identity-constraints (Michael Matz),<br />
-  Fix building with ICU 68. (Frederik Seiffert),<br />
-  Convert python/libxml.c to PY_SSIZE_T_CLEAN (Victor Stinner),<br />
-  Fix xmlURIEscape memory leaks. (Elliott Hughes),<br />
-  Avoid call stack overflow with XML reader and recursive XIncludes (Nick Wellnhofer),<br />
-  Fix caret in regexp character group (Nick Wellnhofer),<br />
-  parser.c: xmlParseCharData peek behavior fixed wrt newlines (Mike Dalessio),<br />
-  Fix memory leaks in XPointer string-range function (Nick Wellnhofer),<br />
-  Fix use-after-free when XIncluding text from Reader (Nick Wellnhofer),<br />
-  Fix SEGV in xmlSAXParseFileWithData (yanjinjq),<br />
-  Fix null deref in XPointer expression error path (Nick Wellnhofer),<br />
-  Don't call xmlXPathInit directly (Nick Wellnhofer),<br />
-  Fix cleanup of attributes in XML reader (Nick Wellnhofer),<br />
-  Fix double free in XML reader with XIncludes (Nick Wellnhofer),<br />
-  Fix memory leak in xmlXIncludeAddNode error paths (Nick Wellnhofer),<br />
-  Revert "Fix quadratic runtime in xi:fallback processing" (Nick Wellnhofer),<br />
-  Fix error reporting with xi:fallback (Nick Wellnhofer),<br />
-  Fix quadratic runtime in xi:fallback processing (Nick Wellnhofer),<br />
-  Fix corner case with empty xi:fallback (Nick Wellnhofer),<br />
-  Fix XInclude regression introduced with recent commit (Nick Wellnhofer),<br />
-  Fix memory leak in runtest.c (Nick Wellnhofer),<br />
-  Make "xmllint --push --recovery" work (Nick Wellnhofer),<br />
-  Revert "Do not URI escape in server side includes" (Nick Wellnhofer),<br />
-  Fix column number accounting in xmlParse*NameAndCompare (Nick Wellnhofer),<br />
-  Stop counting nbChars in parser context (Nick Wellnhofer),<br />
-  Fix out-of-bounds read with 'xmllint --htmlout' (Nick Wellnhofer),<br />
-  Fix exponential runtime and memory in xi:fallback processing (Nick Wellnhofer),<br />
-  Don't process siblings of root in xmlXIncludeProcess (Nick Wellnhofer),<br />
-  Don't recurse into xi:include children in xmlXIncludeDoProcess (Nick Wellnhofer),<br />
-  Fix memory leak in xmlXIncludeIncludeNode error paths (Nick Wellnhofer),<br />
-  Check for custom free function in global destructor (Nick Wellnhofer),<br />
-  Fix integer overflow when comparing schema dates (Nick Wellnhofer),<br />
-  Fix exponential runtime in xmlFARecurseDeterminism (Nick Wellnhofer),<br />
-  Don't try to handle namespaces when building HTML documents (Nick Wellnhofer),<br />
-  Fix several quadratic runtime issues in HTML push parser (Nick Wellnhofer),<br />
-  Fix quadratic runtime when push parsing HTML start tags (Nick Wellnhofer),<br />
-  Reset XML parser input before reporting errors (David Kilzer),<br />
-  Fix quadratic runtime when push parsing HTML entity refs (Nick Wellnhofer),<br />
-  Fix HTML push parser lookahead (Nick Wellnhofer),<br />
-  Make htmlCurrentChar always translate U+0000 (Nick Wellnhofer),<br />
-  Fix UTF-8 decoder in HTML parser (Nick Wellnhofer),<br />
-  Fix quadratic runtime when parsing HTML script content (Nick Wellnhofer),<br />
-  Reset HTML parser input before reporting error (Nick Wellnhofer),<br />
-  Fix more quadratic runtime issues in HTML push parser (Nick Wellnhofer),<br />
-  Fix regression introduced with 477c7f6a (Nick Wellnhofer),<br />
-  Fix quadratic runtime in HTML parser (Nick Wellnhofer),<br />
-  Reset HTML parser input before reporting encoding error (Nick Wellnhofer),<br />
-  Fix integer overflow in xmlFAParseQuantExact (Nick Wellnhofer),<br />
-  Fix return value of xmlC14NDocDumpMemory (Nick Wellnhofer),<br />
-  Don't follow next pointer on documents in xmlXPathRunStreamEval (Nick Wellnhofer),<br />
-  Fix integer overflow in _xmlSchemaParseGYear (Nick Wellnhofer),<br />
-  Fix integer overflow when parsing {min,max}Occurs (Nick Wellnhofer),<br />
-  Fix another memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br />
-  Fix unsigned integer overflow in htmlParseTryOrFinish (Nick Wellnhofer),<br />
-  Fix integer overflow in htmlParseCharRef (Nick Wellnhofer),<br />
-  Fix undefined behavior in UTF16LEToUTF8 (Nick Wellnhofer),<br />
-  Fix return value of xmlCharEncOutput (Nick Wellnhofer),<br />
-  Never expand parameter entities in text declaration (Nick Wellnhofer),<br />
-  Fix undefined behavior in xmlXPathTryStreamCompile (Nick Wellnhofer),<br />
-  Fix use-after-free with validating reader (Nick Wellnhofer),<br />
-  xmlParseBalancedChunkMemory must not be called with NULL doc (Nick Wellnhofer),<br />
-  Revert "Fix memory leak in xmlParseBalancedChunkMemoryRecover" (Nick Wellnhofer),<br />
-  Fix memory leak in xmlXIncludeLoadDoc error path (Nick Wellnhofer),<br />
-  Make schema validation fail with multiple top-level elements (Nick Wellnhofer),<br />
-  Call xmlCleanupParser on ELF destruction (Samuel Thibault),<br />
-  Fix copying of entities in xmlParseReference (Nick Wellnhofer),<br />
-  Fix memory leak in xmlSchemaValidateStream (Zhipeng Xie),<br />
-  Fix xmlSchemaGetCanonValue formatting for date and dateTime (Kevin Puetz),<br />
-  Fix memory leak when shared libxml.dll is unloaded (Kevin Puetz),<br />
-  Fix potentially-uninitialized critical section in Win32 DLL builds (Kevin Puetz),<br />
-  Fix integer overflow in xmlBufferResize (Nick Wellnhofer),<br />
-  Check for overflow when allocating two-dimensional arrays (Nick Wellnhofer),<br />
-  Remove useless comparisons (Nick Wellnhofer),<br />
-  Fix overflow check in xmlNodeDump (Nick Wellnhofer),<br />
-  Fix infinite loop in xmlStringLenDecodeEntities (Zhipeng Xie),<br />
-  Fix freeing of nested documents (Nick Wellnhofer),<br />
-  Fix more memory leaks in error paths of XPath parser (Nick Wellnhofer),<br />
-  Fix memory leaks of encoding handlers in xmlsave.c (Nick Wellnhofer),<br />
-  Fix xml2-config error code (Nick Wellnhofer),<br />
-  Fix memory leak in error path of XPath expr parser (Nick Wellnhofer),<br />
-  Fix overflow handling in xmlBufBackToBuffer (Nick Wellnhofer),<br />
-  Null pointer handling in catalog.c (raniervf),<br />
-  xml2-config.in: fix regressions introduced by commit 2f2bf4b2c (Dmitry V. Levin)<br />
-  </li>
-
-  <li>Improvements:<br />
-  Store per-element parser state in a struct (Nick Wellnhofer),<br />
-  update for xsd:language type check (PaulHiggs),<br />
-  Update INSTALL.libxml2 (Nick Wellnhofer),<br />
-  Fix include order in c14n.h (Nick Wellnhofer),<br />
-  Fix duplicate xmlStrEqual calls in htmlParseEndTag (Nick Wellnhofer),<br />
-  Speed up htmlCheckAutoClose (Nick Wellnhofer),<br />
-  Speed up htmlTagLookup (Nick Wellnhofer),<br />
-  Stop checking attributes for UTF-8 validity (Nick Wellnhofer),<br />
-  Reduce some fuzzer timeouts (Nick Wellnhofer),<br />
-  Only run a few CI tests unless scheduled (Nick Wellnhofer),<br />
-  Improve fuzzer stability (Nick Wellnhofer),<br />
-  Check for feature flags in fuzzer tests (Nick Wellnhofer),<br />
-  Another attempt at improving fuzzer stability (Nick Wellnhofer),<br />
-  Revert "Improve HTML fuzzer stability" (Nick Wellnhofer),<br />
-  Add charset names to fuzzing dictionaries (Nick Wellnhofer),<br />
-  Improve HTML fuzzer stability (Nick Wellnhofer),<br />
-  Add CI for MSVC x86 (Markus Rickert),<br />
-  Add a flag to not output anything when xmllint succeeded (hhb),<br />
-  Speed up HTML fuzzer (Nick Wellnhofer),<br />
-  Remove unused encoding parameter of HTML output functions (Nick Wellnhofer),<br />
-  Handle malloc failures in fuzzing code (Nick Wellnhofer),<br />
-  add test coverage for incorrectly-closed comments (Mike Dalessio),<br />
-  Enforce maximum length of fuzz input (Nick Wellnhofer),<br />
-  Remove temporary members from struct _xmlXPathContext (Nick Wellnhofer),<br />
-  Build the Python extension with PY_SSIZE_T_CLEAN (Victor Stinner),<br />
-  Add CI test for Python 3 (Nick Wellnhofer),<br />
-  Add fuzzing dictionaries to EXTRA_DIST (Nick Wellnhofer),<br />
-  Add 'fuzz' subdirectory to DIST_SUBDIRS (Nick Wellnhofer),<br />
-  Allow port numbers up to INT_MAX (Nick Wellnhofer),<br />
-  Handle dumps of corrupted documents more gracefully (Nick Wellnhofer),<br />
-  Limit size of free lists in XML reader when fuzzing (Nick Wellnhofer),<br />
-  Hardcode maximum XPath recursion depth (Nick Wellnhofer),<br />
-  Pass URL of main entity in XML fuzzer (Nick Wellnhofer),<br />
-  Consolidate seed corpus generation (Nick Wellnhofer),<br />
-  Test fuzz targets with dummy driver (Nick Wellnhofer),<br />
-  Fix regression introduced with commit d88df4b (Nick Wellnhofer),<br />
-  Fix regression introduced with commit 74dcc10b (Nick Wellnhofer),<br />
-  Add TODO comment in xinclude.c (Nick Wellnhofer),<br />
-  Stop using maxParserDepth in xpath.c (Nick Wellnhofer),<br />
-  Remove dead code in xinclude.c (Nick Wellnhofer),<br />
-  Don't add formatting newlines to XInclude nodes (Nick Wellnhofer),<br />
-  Don't use SAX1 if all element handlers are NULL (Nick Wellnhofer),<br />
-  Remove unneeded progress checks in HTML parser (Nick Wellnhofer),<br />
-  Use strcmp when fuzzing (Nick Wellnhofer),<br />
-  Fix XPath fuzzer (Nick Wellnhofer),<br />
-  Fuzz XInclude engine (Nick Wellnhofer),<br />
-  Add XPath and XPointer fuzzer (Nick Wellnhofer),<br />
-  Update fuzzing code (Nick Wellnhofer),<br />
-  More *NodeDumpOutput fixes (Nick Wellnhofer),<br />
-  Fix *NodeDumpOutput functions (Nick Wellnhofer),<br />
-  Make xmlNodeDumpOutputInternal non-recursive (Nick Wellnhofer),<br />
-  Make xhtmlNodeDumpOutput non-recursive (Nick Wellnhofer),<br />
-  Make htmlNodeDumpFormatOutput non-recursive (Nick Wellnhofer),<br />
-  Fix .gitattributes (Nick Wellnhofer),<br />
-  Rework control flow in htmlCurrentChar (Nick Wellnhofer),<br />
-  Make 'xmllint --html --push -' read from stdin (Nick Wellnhofer),<br />
-  Remove misleading comments in xpath.c (Nick Wellnhofer),<br />
-  Update to Devhelp index file format version 2 (Andre Klapper),<br />
-  Set project language to C (Markus Rickert),<br />
-  Add variable for working directory of XML Conformance Test Suite (Markus Rickert),<br />
-  Add additional tests and XML Conformance Test Suite (Markus Rickert),<br />
-  Add command line option for temp directory in runtest (Markus Rickert),<br />
-  Ensure LF line endings for test files (Markus Rickert),<br />
-  Enable runtests and testThreads (Markus Rickert),<br />
-  Limit regexp nesting depth (Nick Wellnhofer),<br />
-  Fix return values and documentation in encoding.c (Nick Wellnhofer),<br />
-  Add regexp regression tests (David Kilzer),<br />
-  Report error for invalid regexp quantifiers (Nick Wellnhofer),<br />
-  Fix rebuilding docs, by hiding __attribute__((...)) behind a macro. (Martin Vidner),<br />
-  Copy xs:duration parser from libexslt (Nick Wellnhofer),<br />
-  Fuzz target for XML Schemas (Nick Wellnhofer),<br />
-  Move entity recorder to fuzz.c (Nick Wellnhofer),<br />
-  Fuzz target for HTML parser (Nick Wellnhofer),<br />
-  Update GitLab CI container (Nick Wellnhofer),<br />
-  Add options file for xml fuzzer (Nick Wellnhofer),<br />
-  Add a couple of libFuzzer targets (Nick Wellnhofer),<br />
-  Guard new calls to xmlValidatePopElement in xml_reader.c (Daniel Cheng),<br />
-  Add LIBXML_VALID_ENABLED to xmlreader (Łukasz Wojniłowicz),<br />
-  Fix typos (Nick Wellnhofer),<br />
-  Disable LeakSanitizer (Nick Wellnhofer),<br />
-  Stop calling SAX getEntity handler from XMLReader (Nick Wellnhofer),<br />
-  Add test case for recursive external parsed entities (Nick Wellnhofer),<br />
-  Enable error tests with entity substitution (Nick Wellnhofer),<br />
-  Don't load external entity from xmlSAX2GetEntity (Nick Wellnhofer),<br />
-  Merge code paths loading external entities (Nick Wellnhofer),<br />
-  Copy some XMLReader option flags to parser context (Nick Wellnhofer),<br />
-  Add xmlPopOutputCallbacks (Nick Wellnhofer),<br />
-  Updated Python test reader2.py (Pieter van Oostrum),<br />
-  Updated python/tests/tstLastError.py (Pieter van Oostrum),<br />
-  Use random seed in xmlDictComputeFastKey (Ranier Vilela),<br />
-  Enable more undefined behavior sanitizers (Nick Wellnhofer)<br />
-  </li>
-</ul><h3>v2.9.10: Oct 30 2019</h3><ul>
-  <li>Documentation:<br />
-  Fix a few more typos ("fonction") (Nick Wellnhofer),<br />
-  Large batch of typo fixes (Jared Yanovich),<br />
-  Fix typos: tree: move{ -&gt; s}, reconcil{i -&gt; }ed, h{o -&gt; e}ld by... (Jan Pokorný),<br />
-  Fix typo: xpath: simpli{ -&gt; fi}ed (Jan Pokorný),<br />
-  Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný),<br />
-  Fix comments in test code (zhouzhongyuan),<br />
-  fix comment in testReader.c (zhouzhongyuan)<br />
-  </li>
-
-  <li>Portability:<br />
-  Fix some release issues on Fedora 30 (Daniel Veillard),<br />
-  Fix exponent digits when running tests under old MSVC (Daniel Richard G),<br />
-  Work around buggy ceil() function on AIX (Daniel Richard G),<br />
-  Don't call printf with NULL string in runtest.c (Daniel Richard G),<br />
-  Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney),<br />
-  timsort.h: support older GCCs (Jérôme Duval),<br />
-  Make configure.ac work with older pkg-config (Nick Wellnhofer),<br />
-  Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer),<br />
-  Fix nanohttp.c on MinGW (Nick Wellnhofer),<br />
-  Fix Windows compiler warning in testC14N.c (Nick Wellnhofer),<br />
-  Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer),<br />
-  Fix Python bindings under Windows (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Bug Fixes:<br />
-  Another fix for conditional sections at end of document (Nick Wellnhofer),<br />
-  Fix for conditional sections at end of document (Nick Wellnhofer),<br />
-  Make sure that Python tests exit with error code (Nick Wellnhofer),<br />
-  Audit memory error handling in xpath.c (Nick Wellnhofer),<br />
-  Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer),<br />
-  Fix integer overflow when counting written bytes (Nick Wellnhofer),<br />
-  Fix uninitialized memory access in HTML parser (Nick Wellnhofer),<br />
-  Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br />
-  Disallow conditional sections in internal subset (Nick Wellnhofer),<br />
-  Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),<br />
-  Fix Regextests (Nick Wellnhofer),<br />
-  Fix empty branch in regex (Nick Wellnhofer),<br />
-  Fix integer overflow in entity recursion check (Nick Wellnhofer),<br />
-  Don't read external entities or XIncludes from stdin (Nick Wellnhofer),<br />
-  Fix Schema determinism check of ##other namespaces (Nick Wellnhofer),<br />
-  Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan),<br />
-  Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer),<br />
-  Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer),<br />
-  Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan),<br />
-  14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer),<br />
-  Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie),<br />
-  Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer),<br />
-  Misleading error message with xs:{min|max}Inclusive (bettermanzzy),<br />
-  Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin),<br />
-  Partial fix for comparison of xs:durations (Nick Wellnhofer),<br />
-  Fix null deref in xmlreader buffer (zhouzhongyuan),<br />
-  Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),<br />
-  Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný),<br />
-  Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan),<br />
-  fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan),<br />
-  Fix unsigned int overflow (Jens Eggerstedt),<br />
-  dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),<br />
-  Fix another code path in xmlParseQName (Nick Wellnhofer),<br />
-  Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer),<br />
-  Fix build without reader but with pattern (Nick Wellnhofer),<br />
-  Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer),<br />
-  Fix unsigned integer overflow (Nick Wellnhofer),<br />
-  Fix return value of xmlOutputBufferWrite (Nick Wellnhofer),<br />
-  Fix parser termination from "Double hyphen within comment" error (David Warring),<br />
-  Fix call stack overflow in xmlFreePattern (Nick Wellnhofer),<br />
-  Fix null deref in previous commit (Nick Wellnhofer),<br />
-  Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer),<br />
-  Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer),<br />
-  Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer),<br />
-  Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer),<br />
-  Fix null deref in xmlregexp error path (Nick Wellnhofer),<br />
-  Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer),<br />
-  Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer),<br />
-  Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer),<br />
-  Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer),<br />
-  Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer),<br />
-  Memory leak in xmlFreeTextReader (Nick Wellnhofer),<br />
-  Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Improvements:<br />
-  Run XML conformance tests under CI (Nick Wellnhofer),<br />
-  Update GitLab CI config (Nick Wellnhofer),<br />
-  Propagate memory errors in valuePush (Nick Wellnhofer),<br />
-  Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer),<br />
-  Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),<br />
-  Enable continuous integration via GitLab CI (Nick Wellnhofer),<br />
-  Avoid ignored attribute warnings under GCC (Nick Wellnhofer),<br />
-  Make xmlDumpElementContent non-recursive (Nick Wellnhofer),<br />
-  Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer),<br />
-  Mark xmlExp* symbols as removed (Nick Wellnhofer),<br />
-  Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),<br />
-  Adjust expected error in Python tests (Nick Wellnhofer),<br />
-  Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),<br />
-  Make xmlFreeNodeList non-recursive (Nick Wellnhofer),<br />
-  Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),<br />
-  Remove executable bit from non-executable files (Nick Wellnhofer),<br />
-  Fix expected output of test/schemas/any4 (Nick Wellnhofer),<br />
-  Optimize build instructions in README (zhouzhongyuan),<br />
-  xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),<br />
-  xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),<br />
-  Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer),<br />
-  Fix warnings when compiling without reader or push parser (Nick Wellnhofer),<br />
-  Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer),<br />
-  Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer),<br />
-  Remove -Wno-array-bounds (Nick Wellnhofer),<br />
-  Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer),<br />
-  Improve XPath predicate and filter evaluation (Nick Wellnhofer),<br />
-  Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer),<br />
-  Disable hash randomization when fuzzing (Nick Wellnhofer),<br />
-  Optional recursion limit when parsing XPath expressions (Nick Wellnhofer),<br />
-  Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer),<br />
-  Use break statements in xmlXPathCompOpEval (Nick Wellnhofer),<br />
-  Optional XPath operation limit (Nick Wellnhofer),<br />
-  Fix compilation with --with-minimum (Nick Wellnhofer),<br />
-  Check XPath stack after calling functions (Nick Wellnhofer),<br />
-  Remove debug printf in xmlreader.c (Nick Wellnhofer),<br />
-  Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner),<br />
-  Regenerate NEWS (Nick Wellnhofer),<br />
-  Change git repo URL (Nick Wellnhofer),<br />
-  Change bug tracker URL (Nick Wellnhofer),<br />
-  Remove outdated HTML file (Nick Wellnhofer),<br />
-  Fix unused function warning in testapi.c (Nick Wellnhofer),<br />
-  Add some generated test files to .gitignore (Nick Wellnhofer),<br />
-  Remove unneeded function pointer casts (Nick Wellnhofer),<br />
-  Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),<br />
-  Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Cleanups:<br />
-  Rebuild docs (Nick Wellnhofer),<br />
-  Disable xmlExp regex code (Nick Wellnhofer),<br />
-  Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer),<br />
-  Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer)<br />
-  </li>
-</ul><h3>v2.9.9: Jan 03 2019</h3><ul>
-  <li>Security:<br />
-  CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer),<br />
-  CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer),<br />
-  </li>
-
-  <li>Documentation:<br />
-  reader: Fix documentation comment (Mohammed Sadiq)<br />
-  </li>
-
-  <li>Portability:<br />
-  Fix MSVC build with lzma (Nick Wellnhofer),<br />
-  Variables need 'extern' in static lib on Cygwin (Michael Haubenwallner),<br />
-  Really declare dllexport/dllimport for Cygwin (Michael Haubenwallner),<br />
-  Merge branch 'patch-2' into 'master' (Nick Wellnhofer),<br />
-  Change dir to $THEDIR after ACLOCAL_PATH check autoreconf creates aclocal.m4 in $srcdir (Vitaly Buka),<br />
-  Improve error message if pkg.m4 couldn't be found (Nick Wellnhofer),<br />
-  NaN and Inf fixes for pre-C99 compilers (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Bug Fixes:<br />
-  Revert "Support xmlTextReaderNextSibling w/o preparsed doc" (Nick Wellnhofer),<br />
-  Fix building relative URIs (Thomas Holder),<br />
-  Problem with data in interleave in RelaxNG validation (Nikolai Weibull),<br />
-  Fix memory leak in xmlSwitchInputEncodingInt error path (Nick Wellnhofer),<br />
-  Set doc on element obtained from freeElems (Nick Wellnhofer),<br />
-  Fix HTML serialization with UTF-8 encoding (Nick Wellnhofer),<br />
-  Use actual doc in xmlTextReaderRead*Xml (Nick Wellnhofer),<br />
-  Unlink node before freeing it in xmlSAX2StartElement (Nick Wellnhofer),<br />
-  Check return value of nodePush in xmlSAX2StartElement (Nick Wellnhofer),<br />
-  Free input buffer in xmlHaltParser (Nick Wellnhofer),<br />
-  Reset HTML parser input pointers on encoding failure (Nick Wellnhofer),<br />
-  Don't run icu_parse_test if EUC-JP is unsupported (Nick Wellnhofer),<br />
-  Fix xmlSchemaValidCtxtPtr reuse memory leak (Greg Hildstrom),<br />
-  Fix xmlTextReaderNext with preparsed document (Felix Bünemann),<br />
-  Remove stray character from comment (Nick Wellnhofer),<br />
-  Remove a misleading line from xmlCharEncOutput (Andrey Bienkowski),<br />
-  HTML noscript should not close p (Daniel Veillard),<br />
-  Don't change context node in xmlXPathRoot (Nick Wellnhofer),<br />
-  Stop using XPATH_OP_RESET (Nick Wellnhofer),<br />
-  Revert "Change calls to xmlCharEncInput to set flush false" (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Improvements:<br />
-  Fix "Problem with data in interleave in RelaxNG validation" (Nikolai Weibull),<br />
-  cleanup: remove some unreachable code (Thomas Holder),<br />
-  add --relative to testURI (Thomas Holder),<br />
-  Remove redefined starts and defines inside include elements (Nikolai Weibull),<br />
-  Allow choice within choice in nameClass in RELAX NG (Nikolai Weibull),<br />
-  Look inside divs for starts and defines inside include (Nikolai Weibull),<br />
-  Add compile and libxml2-config.cmake to .gitignore (Nikolai Weibull),<br />
-  Stop using doc-&gt;charset outside parser code (Nick Wellnhofer),<br />
-  Add newlines to 'xmllint --xpath' output (Nick Wellnhofer),<br />
-  Don't include SAX.h from globals.h (Nick Wellnhofer),<br />
-  Support xmlTextReaderNextSibling w/o preparsed doc (Felix Bünemann),<br />
-  Don't instruct user to run make when autogen.sh failed (林博仁(Buo-ren Lin)),<br />
-  Run Travis ASan tests with "sudo: required" (Nick Wellnhofer),<br />
-  Improve restoring of context size and position (Nick Wellnhofer),<br />
-  Simplify and harden nodeset filtering (Nick Wellnhofer),<br />
-  Avoid unnecessary backups of the context node (Nick Wellnhofer),<br />
-  Fix inconsistency in xmlXPathIsInf (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Cleanups:<br />
-  </li>
-</ul><h3>v2.9.8: Mar 05 2018</h3><ul>
-  <li>Portability:<br />
-  python: remove single use of _PyVerify_fd (Patrick Welche),<br />
-  Build more test executables on Windows/MSVC (Nick Wellnhofer),<br />
-  Stop including ansidecl.h (Nick Wellnhofer),<br />
-  Fix libz and liblzma detection (Nick Wellnhofer),<br />
-  Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Bug Fixes:<br />
-  Fix xmlParserEntityCheck (Nick Wellnhofer),<br />
-  Halt parser in case of encoding error (Nick Wellnhofer),<br />
-  Clear entity content in case of errors (Nick Wellnhofer),<br />
-  Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to true causes errors for ICU. (Joel Hockey),<br />
-  Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer),<br />
-  Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer),<br />
-  Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer),<br />
-  Fix -Wenum-compare warnings (Nick Wellnhofer),<br />
-  Fix callback signature in testapi.c (Nick Wellnhofer),<br />
-  Fix unused parameter warning without ICU (Nick Wellnhofer),<br />
-  Fix IO callback signatures (Nick Wellnhofer),<br />
-  Fix misc callback signatures (Nick Wellnhofer),<br />
-  Fix list callback signatures (Nick Wellnhofer),<br />
-  Fix hash callback signatures (Nick Wellnhofer),<br />
-  Refactor name and type signature for xmlNop (Vlad Tsyrklevich),<br />
-  Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey),<br />
-  Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Improvements:<br />
-  Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer),<br />
-  Improve handling of context input_id (Daniel Veillard),<br />
-  Add resource file to Windows DLL (ccpaging),<br />
-  Run Travis tests with -Werror (Nick Wellnhofer),<br />
-  Build with "-Wall -Wextra" (Nick Wellnhofer),<br />
-  Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer),<br />
-  Remove unused AC_CHECKs (Nick Wellnhofer),<br />
-  Update information about contributing (Nick Wellnhofer),<br />
-  Fix -Wmisleading-indentation warnings (Nick Wellnhofer),<br />
-  Don't touch CFLAGS in configure.ac (Nick Wellnhofer),<br />
-  Ignore function pointer cast warnings (Nick Wellnhofer),<br />
-  Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer),<br />
-  Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer),<br />
-  Add test for ICU flush and pivot buffer (Nick Wellnhofer),<br />
-  Compile testapi with -Wno-unused-function (Nick Wellnhofer)<br />
-  </li>
-</ul><h3>2.9.7: Nov 02 2017</h3><ul>
-  <li>Documentation:<br />
-  xmlcatalog: refresh man page wrt. querying system catalog easily (Jan Pokorný)<br />
-  </li>
-
-  <li>Portability:<br />
-  Fix deprecated Travis compiler flag (Nick Wellnhofer),<br />
-  Add declaration for DllMain (J. Peter Mugaas),<br />
-  Fix preprocessor conditional in threads.h (J. Peter Mugaas),<br />
-  Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas),<br />
-  Fix macro redefinition warning (J. Peter Mugaas),<br />
-  Default to native threads on MinGW-w64 (Nick Wellnhofer),<br />
-  Simplify Windows IO functions (Nick Wellnhofer),<br />
-  Fix runtest on Windows (Nick Wellnhofer),<br />
-  socklen_t is always int on Windows (Nick Wellnhofer),<br />
-  Don't redefine socket error codes on Windows (Nick Wellnhofer),<br />
-  Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer),<br />
-  Fix Windows compiler warnings in xmlCanonicPath (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Bug Fixes:<br />
-  xmlcatalog: restore ability to query system catalog easily (Jan Pokorný),<br />
-  Fix comparison of nodesets to strings (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Improvements:<br />
-  Add Makefile rules to rebuild HTML man pages (Nick Wellnhofer),<br />
-  Fix mixed decls and code in timsort.h (Nick Wellnhofer),<br />
-  Rework handling of return values in thread tests (Nick Wellnhofer),<br />
-  Fix unused variable warnings in testrecurse (Nick Wellnhofer),<br />
-  Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas),<br />
-  Upgrade timsort.h to latest revision (Nick Wellnhofer),<br />
-  Increase warning level to /W3 under MSVC (Nick Wellnhofer),<br />
-  Fix a couple of warnings in dict.c and threads.c (Nick Wellnhofer),<br />
-  Update .gitignore for Windows (Nick Wellnhofer),<br />
-  Fix unused variable warnings in nanohttp.c (Nick Wellnhofer),<br />
-  Fix the Windows header mess (Nick Wellnhofer),<br />
-  Don't include winsock2.h in xmllint.c (Nick Wellnhofer),<br />
-  Remove generated file python/setup.py from version control (Nick Wellnhofer),<br />
-  Use __linux__ macro in generated code (Nick Wellnhofer)<br />
-  </li>
-
-</ul><h3>v2.9.6: Oct 06 2017</h3><ul>
-  <li>Portability:<br />
-  Change preprocessor OS tests to __linux__ (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Bug Fixes:<br />
-  Fix XPath stack frame logic (Nick Wellnhofer),<br />
-  Report undefined XPath variable error message (Nick Wellnhofer),<br />
-  Fix regression with librsvg (Nick Wellnhofer),<br />
-  Handle more invalid entity values in recovery mode (Nick Wellnhofer),<br />
-  Fix structured validation errors (Nick Wellnhofer),<br />
-  Fix memory leak in LZMA decompressor (Nick Wellnhofer),<br />
-  Set memory limit for LZMA decompression (Nick Wellnhofer),<br />
-  Handle illegal entity values in recovery mode (Nick Wellnhofer),<br />
-  Fix debug dump of streaming XPath expressions (Nick Wellnhofer),<br />
-  Fix memory leak in nanoftp (Nick Wellnhofer),<br />
-  Fix memory leaks in SAX1 parser (Nick Wellnhofer)<br />
-  </li>
-</ul><h3>v2.9.5: Sep 04 2017</h3><ul>
-
-  <li>Security:<br />
-  Detect infinite recursion in parameter entities (Nick Wellnhofer),<br />
-  Fix handling of parameter-entity references (Nick Wellnhofer),<br />
-  Disallow namespace nodes in XPointer ranges (Nick Wellnhofer),<br />
-  Fix XPointer paths beginning with range-to (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Documentation:<br />
-  Documentation fixes (Nick Wellnhofer),<br />
-  Spelling and grammar fixes (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Portability:<br />
-  Adding README.zOS to list of extra files for the release (Daniel Veillard),<br />
-  Description of work needed to compile on zOS (Stéphane Michaut),<br />
-  Porting libxml2 on zOS encoding of code (Stéphane Michaut),<br />
-  small changes for OS/400 (Patrick Monnerat),<br />
-  relaxng.c, xmlschemas.c: Fix build on pre-C99 compilers (Chun-wei Fan)<br />
-  </li>
-
-  <li>Bug Fixes:<br />
-  Problem resolving relative URIs (Daniel Veillard),<br />
-  Fix unwanted warnings when switching encodings (Nick Wellnhofer),<br />
-  Fix signature of xmlSchemaAugmentImportedIDC (Daniel Veillard),<br />
-  Heap-buffer-overflow read of size 1 in xmlFAParsePosCharGroup (David Kilzer),<br />
-  Fix NULL pointer deref in xmlFAParseCharClassEsc (Nick Wellnhofer),<br />
-  Fix infinite loops with push parser in recovery mode (Nick Wellnhofer),<br />
-  Send xmllint usage error to stderr (Nick Wellnhofer),<br />
-  Fix NULL deref in xmlParseExternalEntityPrivate (Nick Wellnhofer),<br />
-  Make sure not to call IS_BLANK_CH when parsing the DTD (Nick Wellnhofer),<br />
-  Fix xmlHaltParser (Nick Wellnhofer),<br />
-  Fix pathological performance when outputting charrefs (Nick Wellnhofer),<br />
-  Fix invalid-source-encoding warnings in testWriter.c (Nick Wellnhofer),<br />
-  Fix duplicate SAX callbacks for entity content (David Kilzer),<br />
-  Treat URIs with scheme as absolute in C14N (Nick Wellnhofer),<br />
-  Fix copy-paste errors in error messages (Nick Wellnhofer),<br />
-  Fix sanity check in htmlParseNameComplex (Nick Wellnhofer),<br />
-  Fix potential infinite loop in xmlStringLenDecodeEntities (Nick Wellnhofer),<br />
-  Reset parser input pointers on encoding failure (Nick Wellnhofer),<br />
-  Fix memory leak in xmlParseEntityDecl error path (Nick Wellnhofer),<br />
-  Fix xmlBuildRelativeURI for URIs starting with './' (Nick Wellnhofer),<br />
-  Fix type confusion in xmlValidateOneNamespace (Nick Wellnhofer),<br />
-  Fix memory leak in xmlStringLenGetNodeList (Nick Wellnhofer),<br />
-  Fix NULL pointer deref in xmlDumpElementContent (Daniel Veillard),<br />
-  Fix memory leak in xmlBufAttrSerializeTxtContent (Nick Wellnhofer),<br />
-  Stop parser on unsupported encodings (Nick Wellnhofer),<br />
-  Check for integer overflow in memory debug code (Nick Wellnhofer),<br />
-  Fix buffer size checks in xmlSnprintfElementContent (Nick Wellnhofer),<br />
-  Avoid reparsing in xmlParseStartTag2 (Nick Wellnhofer),<br />
-  Fix undefined behavior in xmlRegExecPushStringInternal (Nick Wellnhofer),<br />
-  Check XPath exponents for overflow (Nick Wellnhofer),<br />
-  Check for overflow in xmlXPathIsPositionalPredicate (Nick Wellnhofer),<br />
-  Fix spurious error message (Nick Wellnhofer),<br />
-  Fix memory leak in xmlCanonicPath (Nick Wellnhofer),<br />
-  Fix memory leak in xmlXPathCompareNodeSetValue (Nick Wellnhofer),<br />
-  Fix memory leak in pattern error path (Nick Wellnhofer),<br />
-  Fix memory leak in parser error path (Nick Wellnhofer),<br />
-  Fix memory leaks in XPointer error paths (Nick Wellnhofer),<br />
-  Fix memory leak in xmlXPathNodeSetMergeAndClear (Nick Wellnhofer),<br />
-  Fix memory leak in XPath filter optimizations (Nick Wellnhofer),<br />
-  Fix memory leaks in XPath error paths (Nick Wellnhofer),<br />
-  Do not leak the new CData node if adding fails (David Tardon),<br />
-  Prevent unwanted external entity reference (Neel Mehta),<br />
-  Increase buffer space for port in HTTP redirect support (Daniel Veillard),<br />
-  Fix more NULL pointer derefs in xpointer.c (Nick Wellnhofer),<br />
-  Avoid function/data pointer conversion in xpath.c (Nick Wellnhofer),<br />
-  Fix format string warnings (Nick Wellnhofer),<br />
-  Disallow namespace nodes in XPointer points (Nick Wellnhofer),<br />
-  Fix comparison with root node in xmlXPathCmpNodes (Nick Wellnhofer),<br />
-  Fix attribute decoding during XML schema validation (Alex Henrie),<br />
-  Fix NULL pointer deref in XPointer range-to (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Improvements:<br />
-  Updating the spec file to reflect Fedora 24 (Daniel Veillard),<br />
-  Add const in five places to move 1 KiB to .rdata (Bruce Dawson),<br />
-  Fix missing part of comment for function xmlXPathEvalExpression() (Daniel Veillard),<br />
-  Get rid of "blanks wrapper" for parameter entities (Nick Wellnhofer),<br />
-  Simplify handling of parameter entity references (Nick Wellnhofer),<br />
-  Deduplicate code in encoding.c (Nick Wellnhofer),<br />
-  Make HTML parser functions take const pointers (Nick Wellnhofer),<br />
-  Build test programs only when needed (Nick Wellnhofer),<br />
-  Fix doc/examples/index.py (Nick Wellnhofer),<br />
-  Fix compiler warnings in threads.c (Nick Wellnhofer),<br />
-  Fix empty-body warning in nanohttp.c (Nick Wellnhofer),<br />
-  Fix cast-align warnings (Nick Wellnhofer),<br />
-  Fix unused-parameter warnings (Nick Wellnhofer),<br />
-  Rework entity boundary checks (Nick Wellnhofer),<br />
-  Don't switch encoding for internal parameter entities (Nick Wellnhofer),<br />
-  Merge duplicate code paths handling PE references (Nick Wellnhofer),<br />
-  Test SAX2 callbacks with entity substitution (Nick Wellnhofer),<br />
-  Support catalog and threads tests under --without-sax1 (Nick Wellnhofer),<br />
-  Misc fixes for 'make tests' (Nick Wellnhofer),<br />
-  Initialize keepBlanks in HTML parser (Nick Wellnhofer),<br />
-  Add test cases for bug 758518 (David Kilzer),<br />
-  Fix compiler warning in htmlParseElementInternal (Nick Wellnhofer),<br />
-  Remove useless check in xmlParseAttributeListDecl (Nick Wellnhofer),<br />
-  Allow zero sized memory input buffers (Nick Wellnhofer),<br />
-  Add TODO comment in xmlSwitchEncoding (Nick Wellnhofer),<br />
-  Check for integer overflow in xmlXPathFormatNumber (Nick Wellnhofer),<br />
-  Make Travis print UBSan stacktraces (Nick Wellnhofer),<br />
-  Add .travis.yml (Nick Wellnhofer),<br />
-  Fix expected error output in Python tests (Nick Wellnhofer),<br />
-  Simplify control flow in xmlParseStartTag2 (Nick Wellnhofer),<br />
-  Disable LeakSanitizer when running API tests (Nick Wellnhofer),<br />
-  Avoid out-of-bound array access in API tests (Nick Wellnhofer),<br />
-  Avoid spurious UBSan errors in parser.c (Nick Wellnhofer),<br />
-  Parse small XPath numbers more accurately (Nick Wellnhofer),<br />
-  Rework XPath rounding functions (Nick Wellnhofer),<br />
-  Fix white space in test output (Nick Wellnhofer),<br />
-  Fix axis traversal from attribute and namespace nodes (Nick Wellnhofer),<br />
-  Check for trailing characters in XPath expressions earlier (Nick Wellnhofer),<br />
-  Rework final handling of XPath results (Nick Wellnhofer),<br />
-  Make xmlXPathEvalExpression call xmlXPathEval (Nick Wellnhofer),<br />
-  Remove unused variables (Nick Wellnhofer),<br />
-  Don't print generic error messages in XPath tests (Nick Wellnhofer)<br />
-  </li>
-
-  <li>Cleanups:<br />
-  Fix a couple of misleading indentation errors (Daniel Veillard),<br />
-  Remove unnecessary calls to xmlPopInput (Nick Wellnhofer)<br />
-  </li>
-</ul><h3>2.9.4: May 23 2016</h3><ul>
-  <li>Security:<br />
-  More format string warnings with possible format string vulnerability (David Kilzer),<br />
-  Avoid building recursive entities (Daniel Veillard),<br />
-  Heap-based buffer overread in htmlCurrentChar (Pranjal Jumde),<br />
-  Heap-based buffer-underreads due to xmlParseName (David Kilzer),<br />
-  Heap use-after-free in xmlSAX2AttributeNs (Pranjal Jumde),<br />
-  Heap use-after-free in htmlParsePubidLiteral and htmlParseSystemiteral (Pranjal Jumde),<br />
-  Fix some format string warnings with possible format string vulnerability (David Kilzer),<br />
-  Detect change of encoding when parsing HTML names (Hugh Davenport),<br />
-  Fix inappropriate fetch of entities content (Daniel Veillard),<br />
-  Bug 759398: Heap use-after-free in xmlDictComputeFastKey &lt;https://bugzilla.gnome.org/show_bug.cgi?id=759398&gt; (Pranjal Jumde),<br />
-  Bug 758605: Heap-based buffer overread in xmlDictAddString &lt;https://bugzilla.gnome.org/show_bug.cgi?id=758605&gt; (Pranjal Jumde),<br />
-  Bug 758588: Heap-based buffer overread in xmlParserPrintFileContextInternal &lt;https://bugzilla.gnome.org/show_bug.cgi?id=758588&gt; (David Kilzer),<br />
-  Bug 757711: heap-buffer-overflow in xmlFAParsePosCharGroup &lt;https://bugzilla.gnome.org/show_bug.cgi?id=757711&gt; (Pranjal Jumde),<br />
-  Add missing increments of recursion depth counter to XML parser. (Peter Simons)<br />
-  </li>
-
-  <li>Documentation:<br />
-  Fix typo: s{ ec -&gt; cr }cipt (Jan Pokorný),<br />
-  Fix typos: dictio{ nn -&gt; n }ar{y,ies} (Jan Pokorný),<br />
-  Fix typos: PATH_{ SEAPARATOR -&gt; SEPARATOR } (Jan Pokorný),<br />
-  Correct a typo. (Shlomi Fish)<br />
-  </li>
-
-  <li>Portability:<br />
-  Correct the usage of LDFLAGS (Mattias Hansson),<br />
-  Revert the use of SAVE_LDFLAGS in configure.ac (Mattias Hansson),<br />
-  libxml2 hardcodes -L/lib in zlib/lzma tests which breaks cross-compiles (Mike Frysinger),<br />
-  Fix apibuild for a recently added construct (Daniel Veillard),<br />
-  Use pkg-config to locate zlib when possible (Stewart Brodie),<br />
-  Use pkg-config to locate ICU when possible (Stewart Brodie),<br />
-  Portability to non C99 compliant compilers (Patrick Monnerat),<br />
-  dict.h: Move xmlDictPtr definition before includes to allow direct inclusion. (Patrick Monnerat),<br />
-  os400: tell about xmllint and xmlcatalog in README400. (Patrick Monnerat),<br />
-  os400: properly process SGML add in XMLCATALOG command. (Patrick Monnerat),<br />
-  os400: implement CL command XMLCATALOG. (Patrick Monnerat),<br />
-  os400: compile and install program xmlcatalog (qshell-only). (Patrick Monnerat),<br />
-  os400: expand tabs in sources, strip trailing blanks. (Patrick Monnerat),<br />
-  os400: implement CL command XMLLINT. (Patrick Monnerat),<br />
-  os400: compile and install program xmllint (qshell-only). (Patrick Monnerat),<br />
-  os400: initscript make_module(): Use options instead of positional parameters. (Patrick Monnerat),<br />
-  os400: c14n.rpgle: allow *omit for nullable reference parameters. (Patrick Monnerat),<br />
-  os400: use like() for double type. (Patrick Monnerat),<br />
-  os400: use like() for int type. (Patrick Monnerat),<br />
-  os400: use like() for unsigned int type. (Patrick Monnerat),<br />
-  os400: use like() for enum types. (Patrick Monnerat),<br />
-  Add xz to xml2-config --libs output (Baruch Siach),<br />
-  Bug 760190: configure.ac should be able to build --with-icu without icu-config tool &lt;https://bugzilla.gnome.org/show_bug.cgi?id=760190&gt; (David Kilzer),<br />
-  win32\VC10\config.h and VS 2015 (Bruce Dawson),<br />
-  Add configure maintainer mode (orzen)<br />
-  </li>
-
-  <li>Bug Fixes:<br />
-  Avoid an out of bound access when serializing malformed strings (Daniel Veillard),<br />
-  Unsigned addition may overflow in xmlMallocAtomicLoc() (David Kilzer),<br />
-  Integer signed/unsigned type mismatch in xmlParserInputGrow() (David Kilzer),<br />
-  Bug 763071: heap-buffer-overflow in xmlStrncat &lt;https://bugzilla.gnome.org/show_bug.cgi?id=763071&gt; (Pranjal Jumde),<br />
-  Integer overflow parsing port number in URI (Michael Paddon),<br />
-  Fix an error with regexp on nullable counted char transition (Daniel Veillard),<br />
-  Fix memory leak with XPath namespace nodes (Nick Wellnhofer),<br />
-  Fix namespace axis traversal (Nick Wellnhofer),<br />
-      Fix null pointer deref in docs with no root element (Hugh Davenport),<br />
-  Fix XSD validation of URIs with ampersands (Alex Henrie),<br />
-  xmlschemastypes.c: accept endOfDayFrag Times set to "24:00:00" mean "end of day" and should not cause an error. (Patrick Monnerat),<br />
-  xmlcatalog: flush stdout before interactive shell input. (Patrick Monnerat),<br />
-  xmllint: flush stdout before interactive shell input. (Patrick Monnerat),<br />
-  Don't recurse into OP_VALUEs in xmlXPathOptimizeExpression (Nick Wellnhofer),<br />
-  Fix namespace::node() XPath expression (Nick Wellnhofer),<br />
-  Fix OOB write in xmlXPathEmptyNodeSet (Nick Wellnhofer),<br />
-  Fix parsing of NCNames in XPath (Nick Wellnhofer),<br />
-  Fix OOB read with invalid UTF-8 in xmlUTF8Strsize (Nick Wellnhofer),<br />
-  Do normalize string-based datatype value in RelaxNG facet checking (Audric Schiltknecht),<br />
-  Bug 760921: REGRESSION (8eb55d78): doc/examples/io1 test fails after fix for "xmlSaveUri() incorrectly recomposes URIs with rootless paths" &lt;https://bugzilla.gnome.org/show_bug.cgi?id=760921&gt; (David Kilzer),<br />
-  Bug 760861: REGRESSION (bf9c1dad): Missing results for test/schemas/regexp-char-ref_[01].xsd &lt;https://bugzilla.gnome.org/show_bug.cgi?id=760861&gt; (David Kilzer),<br />
-  error.c: *input-&gt;cur == 0 does not mean no error (Pavel Raiskup),<br />
-  Add missing RNG test files (David Kilzer),<br />
-  Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte character in large CDATA section is split across buffer &lt;https://bugzilla.gnome.org/show_bug.cgi?id=760183&gt; (David Kilzer),<br />
-  Bug 758572: ASAN crash in make check &lt;https://bugzilla.gnome.org/show_bug.cgi?id=758572&gt; (David Kilzer),<br />
-  Bug 721158: Missing ICU string when doing --version on xmllint &lt;https://bugzilla.gnome.org/show_bug.cgi?id=721158&gt; (David Kilzer),<br />
-  python 3: libxml2.c wrappers create Unicode str already (Michael Stahl),<br />
-  Add autogen.sh to distrib (orzen),<br />
-  Heap-based buffer overread in xmlNextChar (Daniel Veillard)<br />
-  </li>
-
-  <li>Improvements:<br />
-  Add more debugging info to runtest (Daniel Veillard),<br />
-  Implement "runtest -u" mode (David Kilzer),<br />
-  Add a make rule to rebuild for ASAN (Daniel Veillard)<br />
-  </li>
-</ul><h3>v2.9.3: Nov 20 2015</h3><ul>
-  <li>Security:<br />
-  CVE-2015-8242 Buffer overead with HTML parser in push mode (Hugh Davenport),<br />
-  CVE-2015-7500 Fix memory access error due to incorrect entities boundaries (Daniel Veillard),<br />
-  CVE-2015-7499-2 Detect incoherency on GROW (Daniel Veillard),<br />
-  CVE-2015-7499-1 Add xmlHaltParser() to stop the parser (Daniel Veillard),<br />
-  CVE-2015-5312 Another entity expansion issue (David Drysdale),<br />
-  CVE-2015-7497 Avoid an heap buffer overflow in xmlDictComputeFastQKey (David Drysdale),<br />
-  CVE-2015-7498 Avoid processing entities after encoding conversion failures (Daniel Veillard),<br />
-  CVE-2015-8035 Fix XZ compression support loop (Daniel Veillard),<br />
-  CVE-2015-7942-2 Fix an error in previous Conditional section patch (Daniel Veillard),<br />
-  CVE-2015-7942 Another variation of overflow in Conditional sections (Daniel Veillard),<br />
-  CVE-2015-1819 Enforce the reader to run in constant memory (Daniel Veillard)<br />
-  CVE-2015-7941_2 Cleanup conditional section error handling (Daniel Veillard),<br />
-  CVE-2015-7941_1 Stop parsing on entities boundaries errors (Daniel Veillard),<br />
-  </li>
-
-  <li>Documentation:<br />
-  Correct spelling of "calling" (Alex Henrie),<br />
-  Fix a small error in xmllint --format description (Fabien Degomme),<br />
-  Avoid XSS on the search of xmlsoft.org (Daniel Veillard)<br />
-  </li>
-
-  <li>Portability:<br />
-  threads: use forward declarations only for glibc (Michael Heimpold),<br />
-  Update Win32 configure.js to search for configure.ac (Daniel Veillard)<br />
-  </li>
-
-  <li>Bug Fixes:<br />
-  Bug on creating new stream from entity (Daniel Veillard),<br />
-  Fix some loop issues embedding NEXT (Daniel Veillard),<br />
-  Do not print error context when there is none (Daniel Veillard),<br />
-  Avoid extra processing of MarkupDecl when EOF (Hugh Davenport),<br />
-  Fix parsing short unclosed comment uninitialized access (Daniel Veillard),<br />
-  Add missing Null check in xmlParseExternalEntityPrivate (Gaurav Gupta),<br />
-  Fix a bug in CData error handling in the push parser (Daniel Veillard),<br />
-  Fix a bug on name parsing at the end of current input buffer (Daniel Veillard),<br />
-  Fix the spurious ID already defined error (Daniel Veillard),<br />
-  Fix previous change to node sort order (Nick Wellnhofer),<br />
-  Fix a self assignment issue raised by clang (Scott Graham),<br />
-  Fail parsing early on if encoding conversion failed (Daniel Veillard),<br />
-  Do not process encoding values if the declaration if broken (Daniel Veillard),<br />
-  Silence clang's -Wunknown-attribute (Michael Catanzaro),<br />
-  xmlMemUsed is not thread-safe (Martin von Gagern),<br />
-  Fix support for except in nameclasses (Daniel Veillard),<br />
-  Fix order of root nodes (Nick Wellnhofer),<br />
-  Allow attributes on descendant-or-self axis (Nick Wellnhofer),<br />
-  Fix the fix to Windows locking (Steve Nairn),<br />
-  Fix timsort invariant loop re: Envisage article (Christopher Swenson),<br />
-  Don't add IDs in xmlSetTreeDoc (Nick Wellnhofer),<br />
-  Account for ID attributes in xmlSetTreeDoc (Nick Wellnhofer),<br />
-  Remove various unused value assignments (Philip Withnall),<br />
-  Fix missing entities after CVE-2014-3660 fix (Daniel Veillard),<br />
-  Revert "Missing initialization for the catalog module" (Daniel Veillard)<br />
-  </li>
-
-  <li>Improvements:<br />
-  Reuse xmlHaltParser() where it makes sense (Daniel Veillard),<br />
-  xmlStopParser reset errNo (Daniel Veillard),<br />
-  Re-enable xz support by default (Daniel Veillard),<br />
-  Recover unescaped less-than character in HTML recovery parsing (Daniel Veillard),<br />
-  Allow HTML serializer to output HTML5 DOCTYPE (Shaun McCance),<br />
-  Regression test for bug #695699 (Nick Wellnhofer),<br />
-  Add a couple of XPath tests (Nick Wellnhofer),<br />
-  Add Python 3 rpm subpackage (Tomas Radej),<br />
-  libxml2-config.cmake.in: update include directories (Samuel Martin),<br />
-  Adding example from bugs 738805 to regression tests (Daniel Veillard)<br />
-  </li>
-
-  <li>Cleanups:<br />
-  </li>
-</ul><h3>2.9.2: Oct 16 2014</h3><ul>
-  <li>Security:<br />
-  Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard),<br />
-  CVE-2014-0191 Do not fetch external parameter entities (Daniel Veillard)<br />
-  </li>
-
-  <li>Bug Fixes:<br />
-  fix memory leak xml header encoding field with XML_PARSE_IGNORE_ENC (Bart De Schuymer),<br />
-  xmlmemory: handle realloc properly (Yegor Yefremov),<br />
-  Python generator bug raised by the const change (Daniel Veillard),<br />
-  Windows Critical sections not released correctly (Daniel Veillard),<br />
-  Parser error on repeated recursive entity expansion containing &amp;lt; (Daniel Veillard),<br />
-  xpointer : fixing Null Pointers (Gaurav Gupta),<br />
-  Remove Unnecessary Null check in xpointer.c (Gaurav Gupta),<br />
-  parser bug on misformed namespace attributes (Dennis Filder),<br />
-  Pointer dereferenced before null check (Daniel Veillard),<br />
-  Leak of struct addrinfo in xmlNanoFTPConnect() (Gaurav Gupta),<br />
-  Possible overflow in HTMLParser.c (Daniel Veillard),<br />
-  python/tests/sync.py assumes Python dictionaries are ordered (John Beck),<br />
-  Fix Enum check and missing break (Gaurav Gupta),<br />
-  xmlIO: Handle error returns from dup() (Philip Withnall),<br />
-  Fix a problem properly saving URIs (Daniel Veillard),<br />
-  wrong error column in structured error when parsing attribute values (Juergen Keil),<br />
-  wrong error column in structured error when skipping whitespace in xml decl (Juergen Keil),<br />
-  no error column in structured error handler for xml schema validation errors (Juergen Keil),<br />
-  Couple of Missing Null checks (Gaurav Gupta),<br />
-  Add couple of missing Null checks (Daniel Veillard),<br />
-  xmlschemastypes: Fix potential array overflow (Philip Withnall),<br />
-  runtest: Fix a memory leak on parse failure (Philip Withnall),<br />
-  xmlIO: Fix an FD leak on gzdopen() failure (Philip Withnall),<br />
-  xmlcatalog: Fix a memory leak on quit (Philip Withnall),<br />
-  HTMLparser: Correctly initialise a stack allocated structure (Philip Withnall),<br />
-  Check for tmon in _xmlSchemaDateAdd() is incorrect (David Kilzer),<br />
-  Avoid Possible Null Pointer in trio.c (Gaurav Gupta),<br />
-  Fix processing in SAX2 in case of an allocation failure (Daniel Veillard),<br />
-  XML Shell command "cd" does not handle "/" at end of path (Daniel Veillard),<br />
-  Fix various Missing Null checks (Gaurav Gupta),<br />
-  Fix a potential NULL dereference (Daniel Veillard),<br />
-  Add a couple of misisng check in xmlRelaxNGCleanupTree (Gaurav Gupta),<br />
-  Add a missing argument check (Gaurav Gupta),<br />
-  Adding a check in case of allocation error (Gaurav Gupta),<br />
-  xmlSaveUri() incorrectly recomposes URIs with rootless paths (Dennis Filder),<br />
-  Adding some missing NULL checks (Gaurav),<br />
-  Fixes for xmlInitParserCtxt (Daniel Veillard),<br />
-  Fix regressions introduced by CVE-2014-0191 patch (Daniel Veillard),<br />
-  erroneously ignores a validation error if no error callback set (Daniel Veillard),<br />
-  xmllint was not parsing the --c14n11 flag (Sérgio Batista),<br />
-  Avoid Possible null pointer dereference in memory debug mode (Gaurav),<br />
-  Avoid Double Null Check (Gaurav),<br />
-  Restore context size and position after XPATH_OP_ARG (Nick Wellnhofer),<br />
-  Fix xmlParseInNodeContext() if node is not element (Daniel Veillard),<br />
-  Avoid a possible NULL pointer dereference (Gaurav),<br />
-  Fix xmlTextWriterWriteElement when a null content is given (Daniel Veillard),<br />
-  Fix an typo 'onrest' in htmlScriptAttributes (Daniel Veillard),<br />
-  fixing a ptotential uninitialized access (Daniel Veillard),<br />
-  Fix an fd leak in an error case (Daniel Veillard),<br />
-  Missing initialization for the catalog module (Daniel Veillard),<br />
-  Handling of XPath function arguments in error case (Nick Wellnhofer),<br />
-  Fix a couple of missing NULL checks (Gaurav),<br />
-  Avoid a possibility of dangling encoding handler (Gaurav),<br />
-  Fix HTML push parser to accept HTML_PARSE_NODEFDTD (Arnold Hendriks),<br />
-  Fix a bug loading some compressed files (Mike Alexander),<br />
-  Fix XPath node comparison bug (Gaurav),<br />
-  Type mismatch in xmlschemas.c (Gaurav),<br />
-  Type mismatch in xmlschemastypes.c (Gaurav),<br />
-  Avoid a deadcode in catalog.c (Daniel Veillard),<br />
-  run close socket on Solaris, same as we do on other platforms (Denis Pauk),<br />
-  Fix pointer dereferenced before null check (Gaurav),<br />
-  Fix a potential NULL dereference in tree code (Daniel Veillard),<br />
-  Fix potential NULL pointer dereferences in regexp code (Gaurav),<br />
-  xmllint --pretty crashed without following numeric argument (Tim Galeckas),<br />
-  Fix XPath expressions of the form '@ns:*' (Nick Wellnhofer),<br />
-  Fix XPath '//' optimization with predicates (Nick Wellnhofer),<br />
-  Clear up a potential NULL dereference (Daniel Veillard),<br />
-  Fix a possible NULL dereference (Gaurav),<br />
-  Avoid crash if allocation fails (Daniel Veillard),<br />
-  Remove occasional leading space in XPath number formatting (Daniel Veillard),<br />
-  Fix handling of mmap errors (Daniel Veillard),<br />
-  Catch malloc error and exit accordingly (Daniel Veillard),<br />
-  missing else in xlink.c (Ami Fischman),<br />
-  Fix a parsing bug on non-ascii element and CR/LF usage (Daniel Veillard),<br />
-  Fix a regression in xmlGetDocCompressMode() (Daniel Veillard),<br />
-  properly quote the namespace uris written out during c14n (Aleksey Sanin),<br />
-  Remove premature XInclude check on URI being relative (Alexey Neyman),<br />
-  Fix missing break on last() function for attributes (dcb),<br />
-  Do not URI escape in server side includes (Romain Bondue),<br />
-  Fix an error in xmlCleanupParser (Alexander Pastukhov)<br />
-  </li>
-
-  <li>Documentation:<br />
-  typo in error messages "colon are forbidden from..." (Daniel Veillard),<br />
-  Fix a link to James SAX documentation old page (Daniel Veillard),<br />
-  Fix typos in relaxng.c (Jan Pokorný),<br />
-  Fix a doc typo (Daniel Veillard),<br />
-  Fix typos in {tree,xpath}.c (errror) (Jan Pokorný),<br />
-  Add limitations about encoding conversion (Daniel Veillard),<br />
-  Fix typos in xmlschemas{,types}.c (Jan Pokorný),<br />
-  Fix incorrect spelling entites-&gt;entities (Jan Pokorný),<br />
-  Forgot to document 2.9.1 release, regenerate docs (Daniel Veillard)<br />
-  </li>
-
-  <li>Portability:<br />
-  AC_CONFIG_FILES and executable bit (Roumen Petrov),<br />
-  remove HAVE_CONFIG_H dependency in testlimits.c (Roumen Petrov),<br />
-  fix some tabs mixing incompatible with python3 (Roumen Petrov),<br />
-  Visual Studio 14 CTP defines snprintf() (Francis Dupont),<br />
-  OS400: do not try to copy unexisting doc files (Patrick Monnerat),<br />
-  OS400: use either configure.ac or configure.in. (Patrick Monnerat),<br />
-  os400: make-src.sh: create physical file with target CCSID (Patrick Monnerat),<br />
-  OS400: Add some more C macros equivalent procedures. (Patrick Monnerat),<br />
-  OS400: use C macros to implement equivalent RPG support procedures. (Patrick Monnerat),<br />
-  OS400: implement XPath macros as procedures for ILE/RPG support. (Patrick Monnerat),<br />
-  OS400: include in distribution tarball. (Patrick Monnerat),<br />
-  OS400: Add README: compilation directives and OS/400 specific stuff. (Patrick Monnerat),<br />
-  OS400: Add compilation scripts. (Patrick Monnerat),<br />
-  OS400: ILE RPG language header files. (Patrick Monnerat),<br />
-  OS400: implement some macros as functions for ILE/RPG language support (that as no macros). (Patrick Monnerat),<br />
-  OS400: UTF8&lt;--&gt;EBCDIC wrappers for system and external library calls (Patrick Monnerat),<br />
-  OS400: Easy character transcoding support (Patrick Monnerat),<br />
-  OS400: iconv functions compatibility wrappers and table builder. (Patrick Monnerat),<br />
-  OS400: create architecture directory. Implement dlfcn emulation. (Patrick Monnerat),<br />
-  Fix building when configuring without xpath and xptr (Daniel Veillard),<br />
-  configure: Add --with-python-install-dir (Jonas Eriksson),<br />
-  Fix compilation with minimum and xinclude. (Nicolas Le Cam),<br />
-  Compile out use of xmlValidateNCName() when not available. (Nicolas Le Cam),<br />
-  Fix compilation with minimum and schematron. (Nicolas Le Cam),<br />
-  Legacy needs xmlSAX2StartElement() and xmlSAX2EndElement(). (Nicolas Le Cam),<br />
-  Don't use xmlValidateName() when not available. (Nicolas Le Cam),<br />
-  Fix a portability issue on Windows (Longstreth Jon),<br />
-  Various portability patches for OpenVMS (Jacob (Jouk) Jansen),<br />
-  Use specific macros for portability to OS/400 (Patrick Monnerat),<br />
-  Add macros needed for OS/400 portability (Patrick Monnerat),<br />
-  Portability patch for fopen on OS/400 (Patrick Monnerat),<br />
-  Portability fixes for OS/400 (Patrick Monnerat),<br />
-  Improve va_list portability (Patrick Monnerat),<br />
-  Portability fix (Patrick Monnerat),<br />
-  Portability fix (Patrick Monnerat),<br />
-  Generic portability fix (Patrick Monnerat),<br />
-  Shortening lines in headers (Patrick Monnerat),<br />
-  build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall),<br />
-  build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall),<br />
-  fix some tabs mixing incompatible with python3 (Daniel Veillard),<br />
-  add additional defines checks for support "./configure --with-minimum" (Denis Pauk),<br />
-  Another round of fixes for older versions of Python (Arfrever Frehtes Taifersar Arahesis),<br />
-  python: fix drv_libxml2.py for python3 compatibility (Alexandre Rostovtsev),<br />
-  python: Fix compiler warnings when building python3 bindings (Armin K),<br />
-  Fix for compilation with python 2.6.8 (Petr Sumbera)<br />
-  </li>
-
-  <li>Improvements:<br />
-  win32/libxml2.def.src after rebuild in doc (Roumen Petrov),<br />
-  elfgcchack.h: more legacy needs xmlSAX2StartElement() and xmlSAX2EndElement() (Roumen Petrov),<br />
-  elfgcchack.h: add xmlXPathNodeEval and xmlXPathSetContextNode (Roumen Petrov),<br />
-  Provide cmake module (Samuel Martin),<br />
-  Fix a couple of issues raised by make dist (Daniel Veillard),<br />
-  Fix and add const qualifiers (Kurt Roeckx),<br />
-  Preparing for upcoming release of 2.9.2 (Daniel Veillard),<br />
-  Fix zlib and lzma libraries check via command line (Dmitriy),<br />
-  wrong error column in structured error when parsing end tag (Juergen Keil),<br />
-  doc/news.html: small update to avoid line join while generating NEWS. (Patrick Monnerat),<br />
-  Add methods for python3 iterator (Ron Angeles),<br />
-  Support element node traversal in document fragments. (Kyle VanderBeek),<br />
-  xmlNodeSetName: Allow setting the name to a substring of the currently set name (Tristan Van Berkom),<br />
-  Added macros for argument casts (Eric Zurcher),<br />
-  adding init calls to xml and html Read parsing entry points (Daniel Veillard),<br />
-  Get rid of 'REPLACEMENT CHARACTER' Unicode chars in xmlschemas.c (Jan Pokorný),<br />
-  Implement choice for name classes on attributes (Shaun McCance),<br />
-  Two small namespace tweaks (Daniel Veillard),<br />
-  xmllint --memory should fail on empty files (Daniel Veillard),<br />
-  Cast encoding name to char pointer to match arg type (Nikolay Sivov)<br />
-  </li>
-
-  <li>Cleanups:<br />
-  Removal of old configure.in (Daniel Veillard),<br />
-  Unreachable code in tree.c (Gaurav Gupta),<br />
-  Remove a couple of dead conditions (Gaurav Gupta),<br />
-  Avoid some dead code and cleanup in relaxng.c (Gaurav),<br />
-  Drop not needed checks (Denis Pauk),<br />
-  Fix a wrong test (Daniel Veillard)<br />
-  </li>
-</ul><h3>2.9.1: Apr 19 2013</h3><ul>
-  <li> Features:<br />
-    Support for Python3 (Daniel Veillard),<br />
-    Add xmlXPathSetContextNode and xmlXPathNodeEval (Alex Bligh)<br />
-  </li>
-
-  <li> Documentation:<br />
-    Add documentation for xmllint --xpath (Daniel Veillard),<br />
-    Fix the URL of the SAX documentation from James (Daniel Veillard),<br />
-    Fix spelling of "length". (Michael Wood)<br />
-  </li>
-
-  <li> Portability:<br />
-    Fix python bindings with versions older than 2.7 (Daniel Veillard),<br />
-    rebuild docs:Makefile.am (Roumen Petrov),<br />
-    elfgcchack.h after rebuild in doc (Roumen Petrov),<br />
-    elfgcchack for buf module (Roumen Petrov),<br />
-    Fix a uneeded and wrong extra link parameter (Daniel Veillard),<br />
-    Few cleanup patches for Windows (Denis Pauk),<br />
-    Fix rpmbuild --nocheck (Mark Salter),<br />
-    Fix for win32/configure.js and WITH_THREAD_ALLOC (Daniel Richard),<br />
-    Fix Broken multi-arch support in xml2-config (Daniel Veillard),<br />
-    Fix a portability issue for GCC &lt; 3.4.0 (Daniel Veillard),<br />
-    Windows build fixes (Daniel Richard),<br />
-    Fix a thread portability problem (Friedrich Haubensak),<br />
-    Downgrade autoconf requirement to 2.63 (Daniel Veillard)<br />
-  </li>
-
-  <li> Bug Fixes:<br />
-    Fix a linking error for python bindings (Daniel Veillard),<br />
-    Fix a couple of return without value (Jüri Aedla),<br />
-    Improve the hashing functions (Daniel Franke),<br />
-    Improve handling of xmlStopParser() (Daniel Veillard),<br />
-    Remove risk of lockup in dictionary initialization (Daniel Veillard),<br />
-    Activate detection of encoding in external subset (Daniel Veillard),<br />
-    Fix an output buffer flushing conversion bug (Mikhail Titov),<br />
-    Fix an old bug in xmlSchemaValidateOneElement (Csaba László),<br />
-    Fix configure cannot remove messages (Gilles Espinasse),<br />
-    fix schema validation in combination with xsi:nil (Daniel Veillard),<br />
-    xmlCtxtReadFile doesn't work with literal IPv6 URLs (Steve Wolf),<br />
-    Fix a few problems with setEntityLoader (Alexey Neyman),<br />
-    Detect excessive entities expansion upon replacement (Daniel Veillard),<br />
-    Fix the flushing out of raw buffers on encoding conversions (Daniel,<br />
-Veillard),<br />
-    Fix some buffer conversion issues (Daniel Veillard),<br />
-    When calling xmlNodeDump make sure we grow the buffer quickly (Daniel,<br />
-Veillard),<br />
-    Fix an error in the progressive DTD parsing code (Dan Winship),<br />
-    xmllint should not load DTD by default when using the reader (Daniel,<br />
-Veillard),<br />
-    Try IBM-037 when looking for EBCDIC handlers (Petr Sumbera),<br />
-    Fix potential out of bound access (Daniel Veillard),<br />
-    Fix large parse of file from memory (Daniel Veillard),<br />
-    Fix a bug in the nsclean option of the parser (Daniel Veillard),<br />
-    Fix a regression in 2.9.0 breaking validation while streaming (Daniel,<br />
-Veillard),<br />
-    Remove potential calls to exit() (Daniel Veillard)<br />
-  </li>
-
-  <li> Improvements:<br />
-    Regenerated API, and testapi, rebuild documentation (Daniel Veillard),<br />
-    Fix tree iterators broken by 2to3 script (Daniel Veillard),<br />
-    update all tests for Python3 and Python2 (Daniel Veillard),<br />
-    A few more fixes for python 3 affecting libxml2.py (Daniel Veillard),<br />
-    Fix compilation on Python3 (Daniel Veillard),<br />
-    Converting apibuild.py to python3 (Daniel Veillard),<br />
-    First pass at starting porting to python3 (Daniel Veillard),<br />
-    updated configure.in for python3 (Daniel Veillard),<br />
-    Add support for xpathRegisterVariable in Python (Shaun McCance),<br />
-    Added a regression tests from bug 694228 data (Daniel Veillard),<br />
-    Cache presence of '&lt;' in entities content (Daniel Veillard),<br />
-    Avoid extra processing on entities (Daniel Veillard),<br />
-    Python binding for xmlRegisterInputCallback (Alexey Neyman),<br />
-    Python bindings: DOM casts everything to xmlNode (Alexey Neyman),<br />
-    Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h (Tim Starling),<br />
-    Adding streaming validation to runtest checks (Daniel Veillard),<br />
-    Add a --pushsmall option to xmllint (Daniel Veillard)<br />
-  </li>
-
-  <li> Cleanups:<br />
-    Switched comment in file to UTF-8 encoding (Daniel Veillard),<br />
-    Extend gitignore (Daniel Veillard),<br />
-    Silent the new python test on input (Alexey Neyman),<br />
-    Cleanup of a duplicate test (Daniel Veillard),<br />
-    Cleanup on duplicate test expressions (Daniel Veillard),<br />
-    Fix compiler warning after 153cf15905cf4ec080612ada6703757d10caba1e (Patrick,<br />
-Gansterer),<br />
-    Spec cleanups and a fix for multiarch support (Daniel Veillard),<br />
-    Silence a clang warning (Daniel Veillard),<br />
-    Cleanup the Copyright to be pure MIT Licence wording (Daniel Veillard),<br />
-    rand_seed should be static in dict.c (Wouter Van Rooy),<br />
-    Fix typos in parser comments (Jan Pokorný)<br />
-  </li>
-</ul><h3>2.9.0: Sep 11 2012</h3><ul>
-  <li> Features:<br />
-    A few new API entry points,<br />
-    More resilient push parser mode,<br />
-    A lot of portability improvement,<br />
-    Faster XPath evaluation<br />
-  </li>
-
-  <li> Documentation:<br />
-    xml2-config.1 markup error (Christian Weisgerber),<br />
-    libxml(3) manpage typo fix (John Bradshaw),<br />
-    More cleanups to the documentation part of libxml2 (Daniel Richard G)<br />
-  </li>
-
-  <li> Portability:<br />
-    Bug 676544 - fails to build with --without-sax1 (Akira TAGOH),<br />
-    fix builds not having stdint.h (Rob Richards),<br />
-    GetProcAddressA is available only on WinCE (Daniel Veillard),<br />
-    More updates and cleanups on autotools and Makefiles (Daniel Richard G),<br />
-    More changes for Win32 compilation (Eric Zurcher),<br />
-    Basic changes for Win32 builds of release 2.9.0: compile buf.c (Eric Zurcher),<br />
-    Bundles all generated files for python into the distribution (Daniel Richard G),<br />
-    Fix compiler warnings of wincecompat.c (Patrick Gansterer),<br />
-    Fix non __GNUC__ build (Patrick Gansterer),<br />
-    Fix windows unicode build (Patrick Gansterer),<br />
-    clean redefinition of {v}snprintf in C-source (Roumen Petrov),<br />
-    use xmlBuf... if DEBUG_INPUT is defined (Roumen Petrov),<br />
-    fix runtests to use pthreads support for various Unix platforms (Daniel Richard G),<br />
-    Various "make distcheck" and portability fixups 2nd part (Daniel Richard G),<br />
-    Various "make distcheck" and portability fixups (Daniel Richard G),<br />
-    Fix compilation on older Visual Studio (Daniel Veillard)<br />
-  </li>
-
-  <li> Bug Fixes:<br />
-    Change the XPath code to percolate allocation errors (Daniel Veillard),<br />
-    Fix reuse of xmlInitParser (Daniel Veillard),<br />
-    Fix potential crash on entities errors (Daniel Veillard),<br />
-    initialize var (Rob Richards),<br />
-    Fix the XPath arity check to also check the XPath stack limits (Daniel Veillard),<br />
-    Fix problem with specific and generic error handlers (Pietro Cerutti),<br />
-    Avoid a potential infinite recursion (Daniel Veillard),<br />
-    Fix an XSD error when generating internal automata (Daniel Veillard),<br />
-    Patch for xinclude of text using multibyte characters (Vitaly Ostanin),<br />
-    Fix a segfault on XSD validation on pattern error (Daniel Veillard),<br />
-    Fix missing xmlsave.h module which was ignored in recent builds (Daniel Veillard),<br />
-    Add a missing element check (Daniel Veillard),<br />
-    Adding various checks on node type though the API (Daniel Veillard),<br />
-    Namespace nodes can't be unlinked with xmlUnlinkNode (Daniel Veillard),<br />
-    Fix make dist to include new private header files (Daniel Veillard),<br />
-    More fixups on the push parser behaviour (Daniel Veillard),<br />
-    Strengthen behaviour of the push parser in problematic situations (Daniel Veillard),<br />
-    Enforce XML_PARSER_EOF state handling through the parser (Daniel Veillard),<br />
-    Fixup limits parser (Daniel Veillard),<br />
-    Do not fetch external parsed entities (Daniel Veillard),<br />
-    Fix an error in previous commit (Aron Xu),<br />
-    Fix entities local buffers size problems (Daniel Veillard),<br />
-    Fix parser local buffers size problems (Daniel Veillard),<br />
-    Fix a failure to report xmlreader parsing failures (Daniel Veillard)<br />
-  </li>
-
-  <li> Improvements:<br />
-    Keep libxml2.syms when running "make distclean" (Daniel Veillard),<br />
-    Allow to set the quoting character of an xmlWriter (Csaba Raduly),<br />
-    Keep non-significant blanks node in HTML parser (Daniel Veillard),<br />
-    Add a forbidden variable error number and message to XPath (Daniel Veillard),<br />
-    Support long path names on WNT (Michael Stahl),<br />
-    Improve HTML escaping of attribute on output (Daniel Veillard),<br />
-    Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors (Arfrever Frehtes Taifersar Arahesis),<br />
-    Switching XPath node sorting to Timsort (Vojtech Fried),<br />
-    Optimizing '//' in XPath expressions (Nick Wellnhofer),<br />
-    Expose xmlBufShrink in the public tree API (Daniel Veillard),<br />
-    Visible HTML elements close the head tag (Conrad Irwin),<br />
-    Fix file and line report for XSD SAX and reader streaming validation (Daniel Veillard),<br />
-    Fix const qualifyer to definition of xmlBufferDetach (Daniel Veillard),<br />
-    minimize use of HAVE_CONFIG_H (Roumen Petrov),<br />
-    fixup regression in Various "make distcheck" and portability fixups (Roumen Petrov),<br />
-    Add support for big line numbers in error reporting (Daniel Veillard),<br />
-    Avoid using xmlBuffer for serialization (Daniel Veillard),<br />
-    Improve compatibility between xmlBuf and xmlBuffer (Daniel Veillard),<br />
-    Provide new accessors for xmlOutputBuffer (Daniel Veillard),<br />
-    Improvements for old buffer compatibility (Daniel Veillard),<br />
-    Expand the limit test program (Daniel Veillard),<br />
-    Improve error reporting on parser errors (Daniel Veillard),<br />
-    Implement some default limits in the XPath module (Daniel Veillard),<br />
-    Introduce some default parser limits (Daniel Veillard),<br />
-    Cleanups and new limit APIs for dictionaries (Daniel Veillard),<br />
-    Fixup for buf.c (Daniel Veillard),<br />
-    Cleanup URI module memory allocation code (Daniel Veillard),<br />
-    Extend testlimits (Daniel Veillard),<br />
-    More avoid quadratic behaviour (Daniel Veillard),<br />
-    Impose a reasonable limit on PI size (Daniel Veillard),<br />
-    first version of testlimits new test (Daniel Veillard),<br />
-    Avoid quadratic behaviour in some push parsing cases (Daniel Veillard),<br />
-    Impose a reasonable limit on comment size (Daniel Veillard),<br />
-    Impose a reasonable limit on attribute size (Daniel Veillard),<br />
-    Harden the buffer code and make it more compatible (Daniel Veillard),<br />
-    More cleanups for input/buffers code (Daniel Veillard),<br />
-    Cleanup function xmlBufResetInput(),<br /> to set input from Buffer (Daniel Veillard)
-    Switch the test program for characters to new input buffers (Daniel Veillard),<br />
-    Convert the HTML tree module to the new buffers (Daniel Veillard),<br />
-    Convert of the HTML parser to new input buffers (Daniel Veillard),<br />
-    Convert the writer to new output buffer and save APIs (Daniel Veillard),<br />
-    Convert XMLReader to the new input buffers (Daniel Veillard),<br />
-    New saving functions using xmlBuf and conversion (Daniel Veillard),<br />
-    Provide new xmlBuf based saving functions (Daniel Veillard),<br />
-    Convert XInclude to the new input buffers (Daniel Veillard),<br />
-    Convert catalog code to the new input buffers (Daniel Veillard),<br />
-    Convert C14N to the new Input buffer (Daniel Veillard),<br />
-    Convert xmlIO.c to the new input and output buffers (Daniel Veillard),<br />
-    Convert XML parser to the new input buffers (Daniel Veillard),<br />
-    Incompatible change to the Input and Output buffers (Daniel Veillard),<br />
-    Adding new encoding function to deal with the new structures (Daniel Veillard),<br />
-    Convert XPath to xmlBuf (Daniel Veillard),<br />
-    Adding a new buf module for buffers (Daniel Veillard),<br />
-    Memory error within SAX2 reuse common framework (Daniel Veillard),<br />
-    Fix xmllint --xpath node initialization (Daniel Veillard)<br />
-  </li>
-
-  <li> Cleanups:<br />
-    Various cleanups to avoid compiler warnings (Daniel Veillard),<br />
-    Big space and tab cleanup (Daniel Veillard),<br />
-    Followup to LibXML2 docs/examples cleanup patch (Daniel Veillard),<br />
-    Second round of cleanups for LibXML2 docs/examples (Daniel Richard),<br />
-    Remove all .cvsignore as they are not used anymore (Daniel Veillard),<br />
-    Fix a Timsort function helper comment (Daniel Veillard),<br />
-    Small cleanup for valgrind target (Daniel Veillard),<br />
-    Patch for portability of latin characters in C files (Daniel Veillard),<br />
-    Cleanup some of the parser code (Daniel Veillard),<br />
-    Fix a variable name in comment (Daniel Veillard),<br />
-    Regenerated testapi.c (Daniel Veillard),<br />
-    Regenerating docs and API files (Daniel Veillard),<br />
-    Small cleanup of unused variables in test (Daniel Veillard),<br />
-    Expand .gitignore with more files (Daniel Veillard)<br />
-  </li>
-</ul><h3>2.8.0: May 23 2012</h3><ul>
-  <li>Features:
-  add lzma compression support (Anders F Bjorklund)
-  </li>
-
-  <li>Documentation:
-    xmlcatalog: Add uri and delegateURI to possible add types in man page. (Ville Skyttä),
-    Update README.tests (Daniel Veillard),
-    URI handling code is not OOM resilient (Daniel Veillard),
-    Fix an error in comment (Daniel Veillard),
-    Fixed bug #617016 (Daniel Mustieles),
-    Fixed two typos in the README document (Daniel Neel),
-    add generated html files (Anders F Bjorklund),
-    Clarify the need to use xmlFreeNode after xmlUnlinkNode (Daniel Veillard),
-    Improve documentation a bit (Daniel Veillard),
-    Updated URL for lxml python bindings (Daniel Veillard)
-  </li>
-
-  <li>Portability:
-    Restore code for Windows compilation (Daniel Veillard),
-    Remove git error message during configure (Christian Dywan),
-    xmllint: Build fix for endTimer if !defined(HAVE_GETTIMEOFDAY) (Patrick R. Gansterer),
-    remove a bashism in confgure.in (John Hein),
-    undef ERROR if already defined (Patrick R. Gansterer),
-    Fix library problems with mingw-w64 (Michael Cronenworth),
-    fix windows build. ifdef addition from bug 666491 makes no sense (Rob Richards),
-    prefer native threads on win32 (Sam Thursfield),
-    Allow to compile with Visual Studio 2010 (Thomas Lemm),
-    Fix mingw's snprintf configure check (Andoni Morales),
-    fixed a 64bit big endian issue (Marcus Meissner),
-    Fix portability failure if netdb.h lacks NO_ADDRESS (Daniel Veillard),
-    Fix windows build from lzma addition (Rob Richards),
-    autogen: Only check for libtoolize (Colin Walters),
-    Fix the Windows build files (Patrick von Reth),
-    634846 Remove a linking option breaking Windows VC10 (Daniel Veillard),
-    599241 fix an initialization problem on Win64 (Andrew W. Nosenko),
-    fix win build (Rob Richards)
-  </li>
-
-  <li>Bug fixes:
-    Part for rand_r checking missing (Daniel Veillard),
-    Cleanup on randomization (Daniel Veillard),
-    Fix undefined reference in python module (Pacho Ramos),
-    Fix a race in xmlNewInputStream (Daniel Veillard),
-    Fix weird streaming RelaxNG errors (Noam),
-    Fix various bugs in new code raised by the API checking (Daniel Veillard),
-    Fix various problems with "make dist" (Daniel Veillard),
-    Fix a memory leak in the xzlib code (Daniel Veillard),
-    HTML parser error with &lt;noscript&gt; in the &lt;head&gt; (Denis Pauk),
-    XSD: optional element in complex type extension (Remi Gacogne),
-    Fix html serialization error and htmlSetMetaEncoding() (Daniel Veillard),
-    Fix a wrong return value in previous patch (Daniel Veillard),
-    Fix an uninitialized variable use (Daniel Veillard),
-    Fix a compilation problem with --minimum (Brandon Slack),
-    Remove redundant and ungarded include of resolv.h (Daniel Veillard),
-    xinclude with parse="text" does not use the entity loader (Shaun McCance),
-    Allow to parse 1 byte HTML files (Denis Pauk),
-    Patch that fixes the skipping of the HTML_PARSE_NOIMPLIED flag (Martin Schröder),
-    Avoid memory leak if xmlParserInputBufferCreateIO fails (Lin Yi-Li),
-    Prevent an infinite loop when dumping a node with encoding problems (Timothy Elliott),
-    xmlParseNodeInContext problems with an empty document (Tim Elliott),
-    HTML element position is not detected properly (Pavel Andrejs),
-    Fix an off by one pointer access (Jüri Aedla),
-    Try to fix a problem with entities in SAX mode (Daniel Veillard),
-    Fix a crash with xmllint --path on empty results (Daniel Veillard),
-    Fixed bug #667946 (Daniel Mustieles),
-    Fix a logic error in Schemas Component Constraints (Ryan Sleevi),
-    Fix a wrong enum type use in Schemas Types (Nico Weber),
-    Fix SAX2 builder in case of undefined attributes namespace (Daniel Veillard),
-    Fix SAX2 builder in case of undefined element namespaces (Daniel Veillard),
-    fix reference to STDOUT_FILENO on MSVC (Tay Ray Chuan),
-    fix a pair of possible out of array char references (Daniel Veillard),
-    Fix an allocation error when copying entities (Daniel Veillard),
-    Make sure the parser returns when getting a Stop order (Chris Evans),
-    Fix some potential problems on reallocation failures(parser.c) (Xia Xinfeng),
-    Fix a schema type duration comparison overflow (Daniel Veillard),
-    Fix an unimplemented part in RNG value validation (Daniel Veillard),
-    Fix missing error status in XPath evaluation (Daniel Veillard),
-    Hardening of XPath evaluation (Daniel Veillard),
-    Fix an off by one error in encoding (Daniel Veillard),
-    Fix RELAX NG include bug #655288 (Shaun McCance),
-    Fix XSD validation bug #630130 (Toyoda Eizi),
-    Fix some potential problems on reallocation failures (Chris Evans),
-    __xmlRaiseError: fix use of the structured callback channel (Dmitry V. Levin),
-    __xmlRaiseError: fix the structured callback channel's data initialization (Dmitry V. Levin),
-    Fix memory corruption when xmlParseBalancedChunkMemoryInternal is called from xmlParseBalancedChunk (Rob Richards),
-    Small fix for previous commit (Daniel Veillard),
-    Fix a potential freeing error in XPath (Daniel Veillard),
-    Fix a potential memory access error (Daniel Veillard),
-    Reactivate the shared library versioning script (Daniel Veillard)
-  </li>
-
-  <li>Improvements:
-    use mingw C99 compatible functions {v}snprintf instead those from MSVC runtime (Roumen Petrov),
-    New symbols added for the next release (Daniel Veillard),
-    xmlTextReader bails too quickly on error (Andy Lutomirski),
-    Use a hybrid allocation scheme in xmlNodeSetContent (Conrad Irwin),
-    Use buffers when constructing string node lists. (Conrad Irwin),
-    Add HTML parser support for HTML5 meta charset encoding declaration (Denis Pauk),
-    wrong message for double hyphen in comment XML error (Bryan Henderson),
-    Fix "make tst" to grab lzma lib too (Daniel Veillard),
-    Add "whereis" command to xmllint shell (Ryan),
-    Improve xmllint shell (Ryan),
-    add function xmlTextReaderRelaxNGValidateCtxt() (Noam Postavsky),
-    Add --system support to autogen.sh (Daniel Veillard),
-    Add hash randomization to hash and dict structures (Daniel Veillard),
-    included xzlib in dist (Anders F Bjorklund),
-    move xz/lzma helpers to separate included files (Anders F Bjorklund),
-    add generated devhelp files (Anders F Bjorklund),
-    add XML_WITH_LZMA to api (Anders F Bjorklund),
-    autogen.sh: Honor NOCONFIGURE environment variable (Colin Walters),
-    Improve the error report on undefined REFs (Daniel Veillard),
-    Add exception for new W3C PI xml-model (Daniel Veillard),
-    Add options to ignore the internal encoding (Daniel Veillard),
-    testapi: use the right type for the check (Stefan Kost),
-    various: handle return values of write calls (Stefan Kost),
-    testWriter: xmlTextWriterWriteFormatElement wants an int instead of a long int (Stefan Kost),
-    runxmlconf: update to latest testsuite version (Stefan Kost),
-    configure: add -Wno-long-long to CFLAGS (Stefan Kost),
-    configure: support silent automake rules if possible (Stefan Kost),
-    xmlmemory: add a cast as size_t has no portable printf modifier (Stefan Kost),
-    __xmlRaiseError: remove redundant schannel initialization (Dmitry V. Levin),
-    __xmlRaiseError: do cheap code check early (Dmitry V. Levin)
-  </li>
-
-  <li>Cleanups:
-    Cleanups before 2.8.0-rc2 (Daniel Veillard),
-    Avoid an extra operation (Daniel Veillard),
-    Remove vestigial de-ANSI-fication support. (Javier Jardón),
-    autogen.sh: Fix typo (Javier Jardón),
-    Do not use unsigned but unsigned int (Daniel Veillard),
-    Remove two references to u_short (Daniel Veillard),
-    Fix -Wempty-body warning from clang (Nico Weber),
-    Cleanups of lzma support (Daniel Veillard),
-    Augment the list of ignored files (Daniel Veillard),
-    python: remove unused variable (Stefan Kost),
-    python: flag two unused args (Stefan Kost),
-    configure: acconfig.h is deprecated since autoconf-2.50 (Stefan Kost),
-    xpath: remove unused variable (Stefan Kost)
-  </li>
-</ul><h3>2.7.8: Nov 4 2010</h3><ul>
-  <li> Features:
-    480323 add code to plug in ICU converters by default (Giuseppe Iuculano),
-    Add xmlSaveOption XML_SAVE_WSNONSIG (Adam Spragg)
-  </li>
-  <li> Documentation:
-    Fix devhelp documentation installation (Mike Hommey),
-    Fix web site encoding problems (Daniel Veillard),
-    Fix a couple of typo in HTML parser error messages (Michael Day),
-    Forgot to update the news page for 0.7.7 (Daniel Veillard)
-  </li>
-  <li> Portability:
-    607273 Fix python detection on MSys/Windows (LRN),
-    614087 Fix Socket API usage to allow Windows64 compilation (Ozkan Sezer),
-    Fix compilation with Clang (Koop Mast),
-    Fix Win32 build (Rob Richards)
-  </li>
-  <li> Bug Fixes:
-    595789 fix a remaining potential Solaris problem (Daniel Veillard),
-    617468 fix progressive HTML parsing with style using "'" (Denis Pauk),
-    616478 Fix xmllint shell write command (Gwenn Kahz),
-    614005 Possible erroneous HTML parsing on unterminated script (Pierre Belzile),
-    627987 Fix XSD IDC errors in imported schemas (Jim Panetta),
-    629325 XPath rounding errors first cleanup (Phil Shafer),
-    630140 fix iso995x encoding error (Daniel Veillard),
-    make sure htmlCtxtReset do reset the disableSAX field (Daniel Veillard),
-    Fix a change of semantic on XPath preceding and following axis (Daniel Veillard),
-    Fix a potential segfault due to weak symbols on pthreads (Mike Hommey),
-    Fix a leak in XPath compilation (Daniel Veillard),
-    Fix the semantic of XPath axis for namespace/attribute context nodes (Daniel Veillard),
-    Avoid a descriptor leak in catalog loading code (Carlo Bramini),
-    Fix a small bug in XPath evaluation code (Marius Wachtler),
-    Fix handling of XML-1.0 XML namespace declaration (Daniel Veillard),
-    Fix errors in XSD double validation check (Csaba Raduly),
-    Fix handling of apos in URIs (Daniel Veillard),
-    xmlTextReaderReadOuterXml should handle DTD (Rob Richards),
-    Autogen.sh needs to create m4 directory (Rob Richards)
-  </li>
-  <li> Improvements:
-    606592 update language ID parser to RFC 5646 (Daniel Veillard),
-    Sort python generated stubs (Mike Hommey),
-    Add an HTML parser option to avoid a default doctype (Daniel Veillard)
-  </li>
-  <li> Cleanups:
-    618831 don't ship generated files in git (Adrian Bunk),
-    Switch from the obsolete mkinstalldirs to AC_PROG_MKDIR_P (Adrian Bunk),
-    Various cleanups on encoding handling (Daniel Veillard),
-    Fix xmllint to use format=1 for default formatting (Adam Spragg),
-    Force _xmlSaveCtxt.format to be 0 or 1 (Adam Spragg),
-    Cleanup encoding pointer comparison (Nikolay Sivov),
-    Small code cleanup on previous patch (Daniel Veillard)
-  </li>
-</ul><h3>2.7.7: Mar 15 2010</h3><ul>
-  <li> Improvements:
-    Adding a --xpath option to xmllint (Daniel Veillard),
-    Make HTML parser non-recursive (Eugene Pimenov)
-  </li>
-  <li> Portability:
-    relaxng.c: cast to allow compilation with sun studio 11 (Ben Walton),
-    Fix build failure on Sparc solaris (Roumen Petrov),
-    use autoreconf in autogen.sh (Daniel Veillard),
-    Fix build with mingw (Roumen Petrov),
-    Upgrade some of the configure and autogen (Daniel Veillard),
-    Fix relaxNG tests in runtest for Windows runtest.c: initialize ret (Rob Richards),
-    Fix a const warning in xmlNodeSetBase (Martin Trappel),
-    Fix python generator to not use deprecated xmllib (Daniel Veillard),
-    Update some automake files (Daniel Veillard),
-    598785 Fix nanohttp on Windows (spadix)
-  </li>
-  <li> Bug Fixes:
-    libxml violates the zlib interface and crashes (Mark Adler),
-    Fix broken escape behaviour in regexp ranges (Daniel Veillard),
-    Fix  missing win32 libraries in libxml-2.0.pc (Volker Grabsch),
-    Fix detection of python linker flags (Daniel Macks),
-    fix build error in libxml2/python (Paul Smith),
-    ChunkParser: Incorrect decoding of small xml files (Raul Hudea),
-    htmlCheckEncoding doesn't update input-end after shrink (Eugene Pimenov),
-    Fix a missing #ifdef (Daniel Veillard),
-    Fix encoding selection for xmlParseInNodeContext (Daniel Veillard),
-    xmlPreviousElementSibling mistake (François Delyon),
-    608773 add a missing check in xmlGROW (Daniel Veillard),
-    Fix xmlParseInNodeContext for HTML content (Daniel Veillard),
-    Fix lost namespace when copying node * tree.c: reconcile namespace if not found (Rob Richards),
-    Fix some missing commas in HTML element lists (Eugene Pimenov),
-    Correct variable type to unsigned (Nikolay Sivov),
-    Recognize ID attribute in HTML without DOCTYPE (Daniel Veillard),
-    Fix memory leak in xmlXPathEvalExpression() (Martin),
-    Fix an init bug in global.c (Kai Henning),
-    Fix xmlNodeSetBase() comment (Daniel Veillard),
-    Fix broken escape behaviour in regexp ranges (Daniel Veillard),
-    Don't give default HTML boolean attribute values in parser (Daniel Veillard),
-    xmlCtxtResetLastError should reset ctxt-errNo (Daniel Veillard)
-  </li>
-  <li> Cleanups:
-    Cleanup a couple of weirdness in HTML parser (Eugene Pimenov)
-  </li>
-</ul><h3>2.7.6: Oct  6 2009</h3><ul>
-  <li> Bug Fixes:
-     Restore thread support in default configuration (Andrew W. Nosenko),
-     URI with no path parsing problem (Daniel Veillard),
-     Minor patch for conditional defines in threads.c (Eric Zurcher)
-  </li>
-</ul><h3>2.7.5: Sep 24 2009</h3><ul>
-  <li> Bug Fixes:
-    Restore behavior of --with-threads without argument (Andrew W. Nosenko),
-    Fix memory leak when doc is NULL (Rob Richards),
-    595792 fixing a RelaxNG bug introduced in 2.7.4 (Daniel Veillard),
-    Fix a Relaxng bug raised by libvirt test suite (Daniel Veillard),
-    Fix a parsing problem with little data at startup (Daniel Veillard),
-    link python module with python library (Frederic Crozat),
-    594874 Forgot an fclose in xmllint (Daniel Veillard)
-  </li>
-  <li> Cleanup:
-    Adding symbols.xml to EXTRA_DIST (Daniel Veillard)
-  </li>
-</ul><h3>2.7.4: Sep 10 2009</h3><ul>
-  <li>Improvements:
-    Switch to GIT (GNOME),
-    Add symbol versioning to libxml2 shared libs (Daniel Veillard)
-  </li>
-  <li>Portability:
-    593857 try to work around thread pbm MinGW 4.4 (Daniel Veillard),
-    594250 rename ATTRIBUTE_ALLOC_SIZE to avoid clashes (Daniel Veillard),
-    Fix Windows build * relaxng.c: fix windows build (Rob Richards),
-    Fix the globals.h to use XMLPUBFUN (Paul Smith),
-    Problem with extern extern in header (Daniel Veillard),
-    Add -lnetwork for compiling on Haiku (Scott McCreary),
-    Runtest portability patch for Solaris (Tim Rice),
-    Small patch to accommodate the Haiku OS (Scott McCreary),
-    584605 package VxWorks folder in the distribution (Daniel Veillard),
-    574017 Realloc too expensive on most platform (Daniel Veillard),
-    Fix windows build (Rob Richards),
-    545579 doesn't compile without schema support (Daniel Veillard),
-    xmllint use xmlGetNodePath when not compiled in (Daniel Veillard),
-    Try to avoid __imp__xmlFree link trouble on msys (Daniel Veillard),
-    Allow to select the threading system on Windows (LRN),
-    Fix Solaris binary links, cleanups (Daniel Veillard),
-    Bug 571059 – MSVC doesn't work with the bakefile (Intron),
-    fix ATTRIBUTE_PRINTF header clash (Belgabor and Mike Hommey),
-    fixes for Borland/CodeGear/Embarcadero compilers (Eric Zurcher)
-  </li>
-  <li>Documentation:
-    544910 typo: "renciliateNs" (Leonid Evdokimov),
-    Add VxWorks to list of OSes (Daniel Veillard),
-    Regenerate the documentation and update for git (Daniel Veillard),
-    560524 ¿ xmlTextReaderLocalName description (Daniel Veillard),
-    Added sponsoring by AOE media for the server (Daniel Veillard),
-    updated URLs for GNOME (Vincent Lefevre),
-    more warnings about xmlCleanupThreads and xmlCleanupParser (Daniel Veillard)
-  </li>
-  <li>Bug fixes:
-    594514 memory leaks - duplicate initialization (MOD),
-    Wrong block opening in htmlNodeDumpOutputInternal (Daniel Veillard),
-    492317 Fix  Relax-NG validation problems (Daniel Veillard),
-    558452 fight with reg test and error report (Daniel Veillard),
-    558452 RNG compilation of optional multiple child (Daniel Veillard),
-    579746 XSD validation not correct / nilable groups (Daniel Veillard),
-    502960 provide namespace stack when parsing entity (Daniel Veillard),
-    566012 part 2 fix regression tests and push mode (Daniel Veillard),
-    566012 autodetected encoding and encoding conflict (Daniel Veillard),
-    584220 xpointer(/) and xinclude problems (Daniel Veillard),
-    587663 Incorrect Attribute-Value Normalization (Daniel Veillard),
-    444994 HTML chunked failure for attribute with &lt;&gt; (Daniel Veillard),
-    Fix end of buffer char being split in XML parser (Daniel Veillard),
-    Non ASCII character may be split at buffer end (Adiel Mittmann),
-    440226 Add xmlXIncludeProcessTreeFlagsData API (Stefan Behnel),
-    572129 speed up parsing of large HTML text nodes (Markus Kull),
-    Fix HTML parsing with 0 character in CDATA (Daniel Veillard),
-    Fix SetGenericErrorFunc and SetStructured clash (Wang Lam),
-    566012  Incomplete EBCDIC parsing support (Martin Kogler),
-    541335 HTML avoid creating 2 head or 2 body element (Daniel Veillard),
-    541237 error correcting missing end tags in HTML (Daniel Veillard),
-    583439 missing line numbers in push mode (Daniel Veillard),
-    587867 xmllint --html --xmlout serializing as HTML (Daniel Veillard),
-    559501 avoid select and use poll for nanohttp (Raphael Prevost),
-    559410 -  Regexp bug on (...)? constructs (Daniel Veillard),
-    Fix a small problem on previous HTML parser patch (Daniel Veillard),
-    592430 -  HTML parser runs into endless loop (Daniel Veillard),
-    447899 potential double free in xmlFreeTextReader (Daniel Veillard),
-    446613 small validation bug mixed content with NS (Daniel Veillard),
-    Fix the problem of revalidating a doc with RNG (Daniel Veillard),
-    Fix xmlKeepBlanksDefault to not break indent (Nick Wellnhofer),
-    512131 refs from externalRef part need to be added (Daniel Veillard),
-    512131 crash in xmlRelaxNGValidateFullElement (Daniel Veillard),
-    588441 allow '.' in HTML Names even if invalid (Daniel Veillard),
-    582913 Fix htmlSetMetaEncoding() to be nicer (Daniel Veillard),
-    579317 Try to find the HTML encoding information (Daniel Veillard),
-    575875 don't output charset=html (Daniel Veillard),
-    571271 fix semantic of xsd:all with minOccurs=0 (Daniel Veillard),
-    570702 fix a bug in regexp determinism checking (Daniel Veillard),
-    567619 xmlValidateNotationUse missing param test (Daniel Veillard),
-    574393 ¿ utf-8 filename magic for compressed files (Hans Breuer),
-    Fix a couple of problems in the parser (Daniel Veillard),
-    585505 ¿ Document ids and refs populated by XSD (Wayne Jensen),
-    582906 XSD validating multiple imports of the same schema (Jason Childs),
-    Bug 582887 ¿ problems validating complex schemas (Jason Childs),
-    Bug 579729 ¿ fix XSD schemas parsing crash (Miroslav Bajtos),
-    576368 ¿ htmlChunkParser with special attributes (Jiri Netolicky),
-    Bug 565747 ¿ relax anyURI data character checking (Vincent Lefevre),
-    Preserve attributes of include start on tree copy (Petr Pajas),
-    Skip silently unrecognized XPointer schemes (Jakub Wilk),
-    Fix leak on SAX1, xmllint --sax1 option and debug (Daniel Veillard),
-    potential NULL dereference on non-glibc (Jim Meyering),
-    Fix an XSD validation crash (Daniel Veillard),
-    Fix a regression in streaming entities support (Daniel Veillard),
-    Fix a couple of ABI issues with C14N 1.1 (Aleksey Sanin),
-    Aleksey Sanin support for c14n 1.1 (Aleksey Sanin),
-    reader bug fix with entities (Daniel Veillard),
-    use options from current parser ctxt for external entities (Rob Richards),
-    581612 use %s to printf strings (Christian Persch),
-    584605 change the threading initialization sequence (Igor Novoseltsev),
-    580705 keep line numbers in HTML parser (Aaron Patterson),
-    581803 broken HTML table attributes init (Roland Steiner),
-    do not set error code in xmlNsWarn (Rob Richards),
-    564217 fix structured error handling problems,
-    reuse options from current parser for entities (Rob Richards),
-    xmlXPathRegisterNs should not allow enpty prefixes (Daniel Veillard),
-    add a missing check in xmlAddSibling (Kris Breuker),
-    avoid leaks on errors (Jinmei Tatuya)
-  </li>
-  <li>Cleanup:
-    Chasing dead assignments reported by clang-scan (Daniel Veillard),
-    A few more safety cleanup raised by scan (Daniel Veillard),
-    Fixing assorted potential problems raised by scan (Daniel Veillard),
-    Potential uninitialized arguments raised by scan (Daniel Veillard),
-    Fix a bunch of scan 'dead increments' and cleanup (Daniel Veillard),
-    Remove a pedantic warning (Daniel Veillard),
-    555833 always use rm -f in uninstall-local (Daniel Veillard),
-    542394 xmlRegisterOutputCallbacks MAX_INPUT_CALLBACK (Daniel Veillard),
-    Autoregenerate libxml2.syms automated checkings (Daniel Veillard),
-    Make xmlRecoverDoc const (Martin Trappel) (Daniel Veillard),
-    Both args of xmlStrcasestr are const (Daniel Veillard),
-    hide the nbParse* variables used for debugging (Mike Hommey),
-    570806 changed include of config.h (William M. Brack),
-    cleanups and error reports when xmlTextWriterVSprintf fails (Jinmei Tatuya)
-  </li>
-</ul><h3>2.7.3: Jan 18 2009</h3><ul>
-  <li>Build fix: fix build when HTML support is not included.</li>
-  <li>Bug fixes: avoid memory overflow in gigantic text nodes,
-      indentation problem on the writed (Rob Richards),
-      xmlAddChildList pointer problem (Rob Richards and Kevin Milburn),
-      xmlAddChild problem with attribute (Rob Richards and Kris Breuker),
-      avoid a memory leak in an edge case (Daniel Zimmermann),
-      deallocate some pthread data (Alex Ott).</li>
-  <li>Improvements: configure option to avoid rebuilding docs (Adrian Bunk),
-      limit text nodes to 10MB max by default, add element traversal
-      APIs, add a parser option to enable pre 2.7 SAX behavior (Rob Richards),
-      add gcc malloc checking (Marcus Meissner), add gcc printf like functions
-      parameters checking (Marcus Meissner).</li>
-</ul><h3>2.7.2: Oct 3 2008</h3><ul>
-    <li>Portability fix: fix solaris compilation problem, fix compilation
-        if XPath is not configured in</li>
-    <li>Bug fixes: nasty entity bug introduced in 2.7.0, restore old behaviour
-        when saving an HTML doc with an xml dump function, HTML UTF-8 parsing
-        bug, fix reader custom error handlers (Riccardo Scussat)
-    </li><li>Improvement: xmlSave options for more flexibility to save as
-        XML/HTML/XHTML, handle leading BOM in HTML documents</li>
-</ul><h3>2.7.1: Sep 1 2008</h3><ul>
-    <li>Portability fix: Borland C fix (Moritz Both)</li>
-    <li>Bug fixes: python serialization wrappers, XPath QName corner
-        case handking and leaks (Martin)</li>
-    <li>Improvement: extend the xmlSave to handle HTML documents and trees</li>
-    <li>Cleanup: python serialization wrappers</li>
-</ul><h3>2.7.0: Aug 30 2008</h3><ul>
-  <li>Documentation: switch ChangeLog to UTF-8, improve mutithreads and
-      xmlParserCleanup docs</li>
-  <li>Portability fixes: Older Win32 platforms (Rob Richards), MSVC
-      porting fix (Rob Richards), Mac OS X regression tests (Sven Herzberg),
-      non GNUCC builds (Rob Richards), compilation on Haiku (Andreas Färber)
-      </li>
-  <li>Bug fixes: various realloc problems (Ashwin), potential double-free
-      (Ashwin), regexp crash, icrash with invalid whitespace facets (Rob
-      Richards), pattern fix when streaming (William Brack), various XML
-      parsing and validation fixes based on the W3C regression tests, reader
-      tree skipping function fix (Ashwin), Schemas regexps escaping fix
-      (Volker Grabsch), handling of entity push errors (Ashwin), fix a slowdown
-      when encoder can't serialize characters on output</li>
-  <li>Code cleanup: compilation fix without the reader, without the output
-      (Robert Schwebel), python whitespace (Martin), many space/tabs cleanups,
-      serious cleanup of the entity handling code</li>
-  <li>Improvement: switch parser to XML-1.0 5th edition, add parsing flags
-      for old versions, switch URI parsing to RFC 3986,
-      add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer),
-      new hashing functions for dictionaries (based on Stefan Behnel work),
-      improve handling of misplaced html/head/body in HTML parser, better
-      regression test tools and code coverage display, better algorithms
-      to detect various versions of the billion laughts attacks, make
-      arbitrary parser limits avoidable as a parser option</li>
-</ul><h3>2.6.32: Apr 8 2008</h3><ul>
-  <li>Documentation: returning heap memory to kernel (Wolfram Sang),
-      trying to clarify xmlCleanupParser() use, xmlXPathContext improvement
-      (Jack Jansen), improve the *Recover* functions documentation,
-      XmlNodeType doc link fix (Martijn Arts)</li>
-  <li>Bug fixes: internal subset memory leak (Ashwin), avoid problem with
-      paths starting with // (Petr Sumbera), streaming XSD validation callback
-      patches (Ashwin), fix redirection on port other than 80 (William Brack),
-      SAX2 leak (Ashwin), XInclude fragment of own document (Chris Ryan),
-      regexp bug with '.' (Andrew Tosh), flush the writer at the end of the
-      document (Alfred Mickautsch), output I/O bug fix (William Brack),
-      writer CDATA output after a text node (Alex Khesin), UTF-16 encoding
-      detection (William Brack), fix handling of empty CDATA nodes for Safari
-      team, python binding problem with namespace nodes, improve HTML parsing
-      (Arnold Hendriks), regexp automata build bug, memory leak fix (Vasily
-      Chekalkin), XSD test crash, weird system parameter entity parsing problem,
-      allow save to file:///X:/ windows paths, various attribute normalisation
-      problems, externalSubsetSplit fix (Ashwin), attribute redefinition in
-      the DTD (Ashwin), fix in char ref parsing check (Alex Khesin), many
-      out of memory handling fixes (Ashwin), XPath out of memory handling fixes
-      (Alvaro Herrera), various realloc problems (Ashwin), UCS4 encoding
-      conversion buffer size (Christian Fruth), problems with EatName
-      functions on memory errors, BOM handling in external parsed entities
-      (Mark Rowe)</li>
-  <li>Code cleanup: fix build under VS 2008 (David Wimsey), remove useless
-      mutex in xmlDict (Florent Guilian), Mingw32 compilation fix (Carlo
-      Bramini), Win and MacOS EOL cleanups (Florent Guiliani), iconv need
-      a const detection (Roumen Petrov), simplify xmlSetProp (Julien Charbon),
-      cross compilation fixes for Mingw (Roumen Petrov), SCO Openserver build
-      fix (Florent Guiliani), iconv uses const on Win32 (Rob Richards),
-      duplicate code removal (Ashwin), missing malloc test and error reports
-      (Ashwin), VMS makefile fix (Tycho Hilhorst)</li>
-  <li>improvements: better plug of schematron in the normal error handling
-      (Tobias Minich)</li>
-</ul><h3>2.6.31: Jan 11 2008</h3><ul>
-  <li>Security fix: missing of checks in UTF-8 parsing</li>
-  <li>Bug fixes: regexp bug, dump attribute from XHTML document, fix
-      xmlFree(NULL) to not crash in debug mode, Schematron parsing crash
-      (Rob Richards), global lock free on Windows (Marc-Antoine Ruel),
-      XSD crash due to double free (Rob Richards), indentation fix in
-      xmlTextWriterFullEndElement (Felipe Pena), error in attribute type
-      parsing if attribute redeclared, avoid crash in hash list scanner if
-      deleting elements, column counter bug fix (Christian Schmidt),
-      HTML embed element saving fix (Stefan Behnel), avoid -L/usr/lib
-      output from xml2-config (Fred Crozat), avoid an xmllint crash 
-      (Stefan Kost), don't stop HTML parsing on out of range chars.
-      </li>
-  <li>Code cleanup: fix open() call third argument, regexp cut'n paste
-      copy error, unused variable in __xmlGlobalInitMutexLock (Hannes Eder),
-      some make distcheck related fixes (John Carr)</li>
-  <li>Improvements: HTTP Header: includes port number (William Brack),
-      testURI --debug option, </li>
-</ul><h3>2.6.30: Aug 23 2007</h3><ul>
-  <li>Portability: Solaris crash on error handling, windows path fixes
-      (Roland Schwarz and Rob Richards), mingw build (Roland Schwarz)</li>
-  <li>Bugfixes: xmlXPathNodeSetSort problem (William Brack), leak when
-      reusing a writer for a new document (Dodji Seketeli), Schemas
-      xsi:nil handling patch (Frank Gross), relative URI build problem
-      (Patrik Fimml), crash in xmlDocFormatDump, invalid char in comment
-      detection bug, fix disparity with xmlSAXUserParseMemory, automata
-      generation for complex regexp counts problems, Schemas IDC import
-      problems (Frank Gross), xpath predicate evailation error handling
-      (William Brack)</li>
-</ul><h3>2.6.29: Jun 12 2007</h3><ul>
-  <li>Portability: patches from Andreas Stricke for WinCEi,
-      fix compilation warnings (William Brack), avoid warnings on Apple OS/X
-      (Wendy Doyle and Mark Rowe), Windows compilation and threading
-      improvements (Rob Richards), compilation against old Python versions,
-      new GNU tar changes (Ryan Hill)</li>
-  <li>Documentation: xmlURIUnescapeString comment, </li>
-  <li>Bugfixes: xmlBufferAdd problem (Richard Jones), 'make valgrind'
-      flag fix (Richard Jones), regexp interpretation of \,
-      htmlCreateDocParserCtxt (Jean-Daniel Dupas), configure.in
-      typo (Bjorn Reese), entity content failure, xmlListAppend() fix
-      (Georges-André Silber), XPath number serialization (William Brack),
-      nanohttp gzipped stream fix (William Brack and Alex Cornejo),
-      xmlCharEncFirstLine typo (Mark Rowe), uri bug (François Delyon),
-      XPath string value of PI nodes (William Brack), XPath node set
-      sorting bugs (William Brack), avoid outputting namespace decl
-      dups in the writer (Rob Richards), xmlCtxtReset bug, UTF-8 encoding
-      error handling, recustion on next in catalogs, fix a Relax-NG crash,
-      workaround wrong file: URIs, htmlNodeDumpFormatOutput on attributes,
-      invalid character in attribute detection bug, big comments before 
-      internal subset streaming bug, HTML parsing of attributes with : in
-      the name, IDness of name in HTML (Dagfinn I. Mannsåker) </li>
-  <li>Improvement: keep URI query parts in raw form (Richard Jones),
-      embed tag support in HTML (Michael Day) </li>
-</ul><h3>2.6.28: Apr 17 2007</h3><ul>
-  <li>Documentation: comment fixes (Markus Keim), xpath comments fixes too
-      (James Dennett)</li>
-  <li>Bug fixes: XPath bug (William Brack), HTML parser autoclose stack usage
-      (Usamah Malik), various regexp bug fixes (DV and William), path conversion
-      on Windows (Igor Zlatkovic), htmlCtxtReset fix (Michael Day), XPath
-      principal node of axis bug, HTML serialization of some codepoint
-      (Steven Rainwater), user data propagation in XInclude (Michael Day),
-      standalone and XML decl detection (Michael Day), Python id output
-      for some id, fix the big python string memory leak, URI parsing fixes
-      (Stéphane Bidoul and William), long comments parsing bug (William),
-      concurrent threads initialization (Ted Phelps), invalid char
-      in text XInclude (William), XPath memory leak (William), tab in
-      python problems (Andreas Hanke), XPath node comparison error
-      (Oleg Paraschenko), cleanup patch for reader (Julien Reichel),
-      XML Schemas attribute group (William), HTML parsing problem (William),
-      fix char 0x2d in regexps (William), regexp quantifier range with
-      min occurs of 0 (William), HTML script/style parsing (Mike Day)</li>
-  <li>Improvement: make xmlTextReaderSetup() public</li>
-  <li>Compilation and postability: fix a missing include problem (William),
-      __ss_family on AIX again (Björn Wiberg), compilation without zlib
-      (Michael Day), catalog patch for Win32 (Christian Ehrlicher),
-      Windows CE fixes (Andreas Stricke)</li>
-  <li>Various CVS to SVN infrastructure changes</li>
-</ul><h3>2.6.27: Oct 25 2006</h3><ul>
-  <li>Portability fixes: file names on windows (Roland Schwingel, 
-      Emelyanov Alexey), windows compile fixup (Rob Richards), 
-      AIX iconv() is apparently case sensitive</li>
-  <li>improvements: Python XPath types mapping (Nic Ferrier), XPath optimization
-      (Kasimier), add xmlXPathCompiledEvalToBoolean (Kasimier), Python node
-      equality and comparison (Andreas Pakulat), xmlXPathCollectAndTest
-      improvememt (Kasimier), expose if library was compiled with zlib 
-      support (Andrew Nosenko), cache for xmlSchemaIDCMatcher structs
-      (Kasimier), xmlTextConcat should work with comments and PIs (Rob
-      Richards), export htmlNewParserCtxt needed by Michael Day, refactoring
-      of catalog entity loaders (Michael Day), add XPointer support to 
-      python bindings (Ross Reedstrom, Brian West and Stefan Anca), 
-      try to sort out most file path to URI conversions and xmlPathToUri,
-      add --html --memory case to xmllint</li>
-  <li>building fix: fix --with-minimum (Felipe Contreras), VMS fix, 
-      const'ification of HTML parser structures (Matthias Clasen),
-      portability fix (Emelyanov Alexey), wget autodetection (Peter
-      Breitenlohner),  remove the build path recorded in the python
-      shared module, separate library flags for shared and static builds
-      (Mikhail Zabaluev), fix --with-minimum --with-sax1 builds, fix
-      --with-minimum --with-schemas builds</li>
-  <li>bug fix: xmlGetNodePath fix (Kasimier), xmlDOMWrapAdoptNode and
-      attribute (Kasimier), crash when using the recover mode, 
-      xmlXPathEvalExpr problem (Kasimier), xmlXPathCompExprAdd bug (Kasimier),
-      missing destroy in xmlFreeRMutex (Andrew Nosenko), XML Schemas fixes
-      (Kasimier), warning on entities processing, XHTML script and style
-      serialization (Kasimier), python generator for long types, bug in
-      xmlSchemaClearValidCtxt (Bertrand Fritsch), xmlSchemaXPathEvaluate
-      allocation bug (Marton Illes), error message end of line (Rob Richards),
-      fix attribute serialization in writer (Rob Richards), PHP4 DTD validation
-      crash, parser safety patch (Ben Darnell), _private context propagation
-      when parsing entities (with Michael Day), fix entities behaviour when 
-      using SAX, URI to file path fix (Mikhail Zabaluev), disappearing validity
-      context, arg error in SAX callback (Mike Hommey), fix mixed-content
-      autodetect when using --noblanks, fix xmlIOParseDTD error handling,
-      fix bug in xmlSplitQName on special Names, fix Relax-NG element content
-      validation bug, fix xmlReconciliateNs bug, fix potential attribute 
-      XML parsing bug, fix line/column accounting in XML parser, chunking bug
-      in the HTML parser on script, try to detect obviously buggy HTML
-      meta encoding indications, bugs with encoding BOM and xmlSaveDoc, 
-      HTML entities in attributes parsing, HTML minimized attribute values,
-      htmlReadDoc and htmlReadIO were broken, error handling bug in
-      xmlXPathEvalExpression (Olaf Walkowiak), fix a problem in
-      htmlCtxtUseOptions, xmlNewInputFromFile could leak (Marius Konitzer),
-      bug on misformed SSD regexps (Christopher Boumenot)
-      </li>
-  <li>documentation: warning about XML_PARSE_COMPACT (Kasimier Buchcik),
-      fix xmlXPathCastToString documentation, improve man pages for
-      xmllitn and xmlcatalog (Daniel Leidert), fixed comments of a few
-      functions</li>
-</ul><h3>2.6.26: Jun 6 2006</h3><ul>
-  <li>portability fixes: Python detection (Joseph Sacco), compilation
-    error(William Brack and Graham Bennett), LynxOS patch (Olli Savia)</li>
-  <li>bug fixes: encoding buffer problem, mix of code and data in
-    xmlIO.c(Kjartan Maraas), entities in XSD validation (Kasimier Buchcik),
-    variousXSD validation fixes (Kasimier), memory leak in pattern (Rob
-    Richards andKasimier), attribute with colon in name (Rob Richards), XPath
-    leak inerror reporting (Aleksey Sanin), XInclude text include of
-    selfdocument.</li>
-  <li>improvements: Xpath optimizations (Kasimier), XPath object
-    cache(Kasimier)</li>
-</ul><h3>2.6.25: Jun 6 2006:</h3><p>Do not use or package 2.6.25</p><h3>2.6.24: Apr 28 2006</h3><ul>
-  <li>Portability fixes: configure on Windows, testapi compile on windows
-      (Kasimier Buchcik, venkat naidu), Borland C++ 6 compile (Eric Zurcher),
-      HP-UX compiler workaround (Rick Jones), xml2-config bugfix, gcc-4.1
-      cleanups, Python detection scheme (Joseph Sacco), UTF-8 file paths on
-      Windows (Roland Schwingel).
-      </li>
-  <li>Improvements: xmlDOMWrapReconcileNamespaces xmlDOMWrapCloneNode (Kasimier
-      Buchcik), XML catalog debugging (Rick Jones), update to Unicode 4.01.</li>
-  <li>Bug fixes: xmlParseChunk() problem in 2.6.23, xmlParseInNodeContext()
-      on HTML docs, URI behaviour on Windows (Rob Richards), comment streaming
-      bug, xmlParseComment (with William Brack), regexp bug fixes (DV &amp;
-      Youri Golovanov), xmlGetNodePath on text/CDATA (Kasimier),
-      one Relax-NG interleave bug, xmllint --path and --valid,
-      XSD bugfixes (Kasimier), remove debug
-      left in Python bindings (Nic Ferrier), xmlCatalogAdd bug (Martin Cole),
-      xmlSetProp fixes (Rob Richards), HTML IDness (Rob Richards), a large
-      number of cleanups and small fixes based on Coverity reports, bug
-      in character ranges, Unicode tables const (Aivars Kalvans), schemas
-      fix (Stefan Kost), xmlRelaxNGParse error deallocation, 
-      xmlSchemaAddSchemaDoc error deallocation, error handling on unallowed
-      code point, ixmllint --nonet to never reach the net (Gary Coady),
-      line break in writer after end PI (Jason Viers). </li>
-  <li>Documentation: man pages updates and cleanups (Daniel Leidert).</li>
-  <li>New features: Relax NG structure error handlers.</li>
-</ul><h3>2.6.23: Jan 5 2006</h3><ul>
-  <li>portability fixes: Windows (Rob Richards), getaddrinfo on Windows
-    (Kolja Nowak, Rob Richards), icc warnings (Kjartan Maraas),
-    --with-minimum compilation fixes (William Brack), error case handling fix
-    on Solaris (Albert Chin), don't use 'list' as parameter name reported by
-    Samuel Diaz Garcia, more old Unices portability fixes (Albert Chin),
-    MinGW compilation (Mark Junker), HP-UX compiler warnings (Rick
-  Jones),</li>
-  <li>code cleanup: xmlReportError (Adrian Mouat), remove xmlBufferClose
-    (Geert Jansen), unreachable code (Oleksandr Kononenko), refactoring
-    parsing code (Bjorn Reese)</li>
-  <li>bug fixes: xmlBuildRelativeURI and empty path (William Brack),
-    combinatory explosion and performances in regexp code, leak in
-    xmlTextReaderReadString(), xmlStringLenDecodeEntities problem (Massimo
-    Morara), Identity Constraints bugs and a segfault (Kasimier Buchcik),
-    XPath pattern based evaluation bugs (DV &amp; Kasimier),
-    xmlSchemaContentModelDump() memory leak (Kasimier), potential leak in
-    xmlSchemaCheckCSelectorXPath(), xmlTextWriterVSprintf() misuse of
-    vsnprintf (William Brack), XHTML serialization fix (Rob Richards), CRLF
-    split problem (William), issues with non-namespaced attributes in
-    xmlAddChild() xmlAddNextSibling() and xmlAddPrevSibling() (Rob Richards),
-    HTML parsing of script, Python must not output to stdout (Nic Ferrier),
-    exclusive C14N namespace visibility (Aleksey Sanin), XSD datatype
-    totalDigits bug (Kasimier Buchcik), error handling when writing to an
-    xmlBuffer (Rob Richards), runtest schemas error not reported (Hisashi
-    Fujinaka), signed/unsigned problem in date/time code (Albert Chin), fix
-    XSI driven XSD validation (Kasimier), parsing of xs:decimal (Kasimier),
-    fix DTD writer output (Rob Richards), leak in xmlTextReaderReadInnerXml
-    (Gary Coady), regexp bug affecting schemas (Kasimier), configuration of
-    runtime debugging (Kasimier), xmlNodeBufGetContent bug on entity refs
-    (Oleksandr Kononenko), xmlRegExecPushString2 bug (Sreeni Nair),
-    compilation and build fixes (Michael Day), removed dependencies on
-    xmlSchemaValidError (Kasimier), bug with &lt;xml:foo/&gt;, more XPath
-    pattern based evaluation fixes (Kasimier)</li>
-  <li>improvements: XSD Schemas redefinitions/restrictions (Kasimier
-    Buchcik), node copy checks and fix for attribute (Rob Richards), counted
-    transition bug in regexps, ctxt-&gt;standalone = -2 to indicate no
-    standalone attribute was found, add xmlSchemaSetParserStructuredErrors()
-    (Kasimier Buchcik), add xmlTextReaderSchemaValidateCtxt() to API
-    (Kasimier), handle gzipped HTTP resources (Gary Coady), add
-    htmlDocDumpMemoryFormat. (Rob Richards),</li>
-  <li>documentation: typo (Michael Day), libxml man page (Albert Chin), save
-    function to XML buffer (Geert Jansen), small doc fix (Aron Stansvik),</li>
-</ul><h3>2.6.22: Sep 12 2005</h3><ul>
-  <li>build fixes: compile without schematron (Stéphane Bidoul)</li>
-  <li>bug fixes: xmlDebugDumpNode on namespace node (Oleg Paraschenko)i,
-    CDATA push parser bug, xmlElemDump problem with XHTML1 doc,
-    XML_FEATURE_xxx clash with expat headers renamed XML_WITH_xxx, fix some
-    output formatting for meta element (Rob Richards), script and style
-    XHTML1 serialization (David Madore), Attribute derivation fixups in XSD
-    (Kasimier Buchcik), better IDC error reports (Kasimier Buchcik)</li>
-  <li>improvements: add XML_SAVE_NO_EMPTY xmlSaveOption (Rob Richards), add
-    XML_SAVE_NO_XHTML xmlSaveOption, XML Schemas improvements preparing for
-    derive (Kasimier Buchcik).</li>
-  <li>documentation: generation of gtk-doc like docs, integration with
-    devhelp.</li>
-</ul><h3>2.6.21: Sep 4 2005</h3><ul>
-  <li>build fixes: Cygwin portability fixes (Gerrit P. Haase), calling
-    convention problems on Windows (Marcus Boerger), cleanups based on Linus'
-    sparse tool, update of win32/configure.js (Rob Richards), remove warnings
-    on Windows(Marcus Boerger), compilation without SAX1, detection of the
-    Python binary, use $GCC inestad of $CC = 'gcc' (Andrew W. Nosenko),
-    compilation/link with threads and old gcc, compile problem by C370 on
-    Z/OS,</li>
-  <li>bug fixes: http_proxy environments (Peter Breitenlohner), HTML UTF-8
-    bug (Jiri Netolicky), XPath NaN compare bug (William Brack),
-    htmlParseScript potential bug, Schemas regexp handling of spaces, Base64
-    Schemas comparisons NIST passes, automata build error xsd:all,
-    xmlGetNodePath for namespaced attributes (Alexander Pohoyda), xmlSchemas
-    foreign namespaces handling, XML Schemas facet comparison (Kupriyanov
-    Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier Buchcik), xml:
-    namespace ahndling in Schemas (Kasimier), empty model group in Schemas
-    (Kasimier), wildcard in Schemas (Kasimier), URI composition (William),
-    xs:anyType in Schemas (Kasimier), Python resolver emitting error
-    messages directly, Python xmlAttr.parent (Jakub Piotr Clapa), trying to
-    fix the file path/URI conversion, xmlTextReaderGetAttribute fix (Rob
-    Richards), xmlSchemaFreeAnnot memleak (Kasimier), HTML UTF-8
-    serialization, streaming XPath, Schemas determinism detection problem,
-    XInclude bug, Schemas context type (Dean Hill), validation fix (Derek
-    Poon), xmlTextReaderGetAttribute[Ns] namespaces (Rob Richards), Schemas
-    type fix (Kuba Nowakowski), UTF-8 parser bug, error in encoding handling,
-    xmlGetLineNo fixes, bug on entities handling, entity name extraction in
-    error handling with XInclude, text nodes in HTML body tags (Gary Coady),
-    xml:id and IDness at the treee level fixes, XPath streaming patterns
-  bugs.</li>
-  <li>improvements: structured interfaces for schemas and RNG error reports
-    (Marcus Boerger), optimization of the char data inner loop parsing
-    (thanks to Behdad Esfahbod for the idea), schematron validation though
-    not finished yet, xmlSaveOption to omit XML declaration, keyref match
-    error reports (Kasimier), formal expression handling code not plugged
-    yet, more lax mode for the HTML parser, parser XML_PARSE_COMPACT option
-    for text nodes allocation.</li>
-  <li>documentation: xmllint man page had --nonet duplicated</li>
-</ul><h3>2.6.20: Jul 10 2005</h3><ul>
-  <li>build fixes: Windows build (Rob Richards), Mingw compilation (Igor
-    Zlatkovic), Windows Makefile (Igor), gcc warnings (Kasimier and
-    andriy@google.com), use gcc weak references to pthread to avoid the
-    pthread dependency on Linux, compilation problem (Steve Nairn), compiling
-    of subset (Morten Welinder), IPv6/ss_family compilation (William Brack),
-    compilation when disabling parts of the library, standalone test
-    distribution.</li>
-  <li>bug fixes: bug in lang(), memory cleanup on errors (William Brack),
-    HTTP query strings (Aron Stansvik), memory leak in DTD (William), integer
-    overflow in XPath (William), nanoftp buffer size, pattern "." apth fixup
-    (Kasimier), leak in tree reported by Malcolm Rowe, replaceNode patch
-    (Brent Hendricks), CDATA with NULL content (Mark Vakoc), xml:base fixup
-    on XInclude (William), pattern fixes (William), attribute bug in
-    exclusive c14n (Aleksey Sanin), xml:space and xml:lang with SAX2 (Rob
-    Richards), namespace trouble in complex parsing (Malcolm Rowe), XSD type
-    QNames fixes (Kasimier), XPath streaming fixups (William), RelaxNG bug
-    (Rob Richards), Schemas for Schemas fixes (Kasimier), removal of ID (Rob
-    Richards), a small RelaxNG leak, HTML parsing in push mode bug (James
-    Bursa), failure to detect UTF-8 parsing bugs in CDATA sections,
-    areBlanks() heuristic failure, duplicate attributes in DTD bug
-  (William).</li>
-  <li>improvements: lot of work on Schemas by Kasimier Buchcik both on
-    conformance and streaming, Schemas validation messages (Kasimier Buchcik,
-    Matthew Burgess), namespace removal at the python level (Brent
-    Hendricks), Update to new Schemas regression tests from W3C/Nist
-    (Kasimier), xmlSchemaValidateFile() (Kasimier), implementation of
-    xmlTextReaderReadInnerXml and xmlTextReaderReadOuterXml (James Wert),
-    standalone test framework and programs, new DOM import APIs
-    xmlDOMWrapReconcileNamespaces() xmlDOMWrapAdoptNode() and
-    xmlDOMWrapRemoveNode(), extension of xmllint capabilities for SAX and
-    Schemas regression tests, xmlStopParser() available in pull mode too,
-    ienhancement to xmllint --shell namespaces support, Windows port of the
-    standalone testing tools (Kasimier and William),
-    xmlSchemaValidateStream() xmlSchemaSAXPlug() and xmlSchemaSAXUnplug() SAX
-    Schemas APIs, Schemas xmlReader support.</li>
-</ul><h3>2.6.19: Apr 02 2005</h3><ul>
-  <li>build fixes: drop .la from RPMs, --with-minimum build fix (William
-    Brack), use XML_SOCKLEN_T instead of SOCKLEN_T because it breaks with AIX
-    5.3 compiler, fixed elfgcchack.h generation and PLT reduction code on
-    Linux/ELF/gcc4</li>
-  <li>bug fixes: schemas type decimal fixups (William Brack), xmmlint return
-    code (Gerry Murphy), small schemas fixes (Matthew Burgess and GUY
-    Fabrice), workaround "DAV:" namespace brokenness in c14n (Aleksey Sanin),
-    segfault in Schemas (Kasimier Buchcik), Schemas attribute validation
-    (Kasimier), Prop related functions and xmlNewNodeEatName (Rob Richards),
-    HTML serialization of name attribute on a elements, Python error handlers
-    leaks and improvement (Brent Hendricks), uninitialized variable in
-    encoding code, Relax-NG validation bug, potential crash if
-    gnorableWhitespace is NULL, xmlSAXParseDoc and xmlParseDoc signatures,
-    switched back to assuming UTF-8 in case no encoding is given at
-    serialization time</li>
-  <li>improvements: lot of work on Schemas by Kasimier Buchcik on facets
-    checking and also mixed handling.</li>
-  <li></li>
-</ul><h3>2.6.18: Mar 13 2005</h3><ul>
-  <li>build fixes: warnings (Peter Breitenlohner), testapi.c generation,
-    Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed),
-    some gcc4 fixes, HP-UX portability fixes (Rick Jones).</li>
-  <li>bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and
-    xmlreader stopping on non-fatal errors, thread support for dictionaries
-    reference counting (Gary Coady), internal subset and push problem, URL
-    saved in xmlCopyDoc, various schemas bug fixes (Kasimier), Python paths
-    fixup (Stephane Bidoul), xmlGetNodePath and namespaces, xmlSetNsProp fix
-    (Mike Hommey), warning should not count as error (William Brack),
-    xmlCreatePushParser empty chunk, XInclude parser flags (William), cleanup
-    FTP and HTTP code to reuse the uri parsing and IPv6 (William),
-    xmlTextWriterStartAttributeNS fix (Rob Richards), XMLLINT_INDENT being
-    empty (William), xmlWriter bugs (Rob Richards), multithreading on Windows
-    (Rich Salz), xmlSearchNsByHref fix (Kasimier), Python binding leak (Brent
-    Hendricks), aliasing bug exposed by gcc4 on s390, xmlTextReaderNext bug
-    (Rob Richards), Schemas decimal type fixes (William Brack),
-    xmlByteConsumed static buffer (Ben Maurer).</li>
-  <li>improvement: speedup parsing comments and DTDs, dictionary support for
-    hash tables, Schemas Identity constraints (Kasimier), streaming XPath
-    subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical
-    values handling (Kasimier), add xmlTextReaderByteConsumed (Aron
-  Stansvik),</li>
-  <li>Documentation: Wiki support (Joel Reed)</li>
-</ul><h3>2.6.17: Jan 16 2005</h3><ul>
-  <li>build fixes: Windows, warnings removal (William Brack),
-    maintainer-clean dependency(William), build in a different directory
-    (William), fixing --with-minimum configure build (William), BeOS build
-    (Marcin Konicki), Python-2.4 detection (William), compilation on AIX (Dan
-    McNichol)</li>
-  <li>bug fixes: xmlTextReaderHasAttributes (Rob Richards), xmlCtxtReadFile()
-    to use the catalog(s), loop on output (William Brack), XPath memory leak,
-    ID deallocation problem (Steve Shepard), debugDumpNode crash (William),
-    warning not using error callback (William), xmlStopParser bug (William),
-    UTF-16 with BOM on DTDs (William), namespace bug on empty elements in
-    push mode (Rob Richards), line and col computations fixups (Aleksey
-    Sanin), xmlURIEscape fix (William), xmlXPathErr on bad range (William),
-    patterns with too many steps, bug in RNG choice optimization, line number
-    sometimes missing.</li>
-  <li>improvements: XSD Schemas (Kasimier Buchcik), python generator
-    (William), xmlUTF8Strpos speedup (William), unicode Python strings
-    (William), XSD error reports (Kasimier Buchcik), Python __str__ call
-    serialize().</li>
-  <li>new APIs: added xmlDictExists(), GetLineNumber and GetColumnNumber for
-    the xmlReader (Aleksey Sanin), Dynamic Shared Libraries APIs (mostly Joel
-    Reed), error extraction API from regexps, new XMLSave option for format
-    (Phil Shafer)</li>
-  <li>documentation: site improvement (John Fleck), FAQ entries
-  (William).</li>
-</ul><h3>2.6.16: Nov 10 2004</h3><ul>
-  <li>general hardening and bug fixing crossing all the API based on new
-    automated regression testing</li>
-  <li>build fix: IPv6 build and test on AIX (Dodji Seketeli)</li>
-  <li>bug fixes: problem with XML::Libxml reported by Petr Pajas,  encoding
-    conversion functions return values, UTF-8 bug affecting XPath reported by
-    Markus Bertheau, catalog problem with NULL entries (William Brack)</li>
-  <li>documentation: fix to xmllint man page, some API function description
-    were updated.</li>
-  <li>improvements: DTD validation APIs provided at the Python level (Brent
-    Hendricks)</li>
-</ul><h3>2.6.15: Oct 27 2004</h3><ul>
-  <li>security fixes on the nanoftp and nanohttp modules</li>
-  <li>build fixes: xmllint detection bug in configure, building outside the
-    source tree (Thomas Fitzsimmons)</li>
-  <li>bug fixes: HTML parser on broken ASCII chars in names (William), Python
-    paths (Malcolm Tredinnick), xmlHasNsProp and default namespace (William),
-    saving to python file objects (Malcolm Tredinnick), DTD lookup fix
-    (Malcolm), save back &lt;group&gt; in catalogs (William), tree build
-    fixes (DV and Rob Richards), Schemas memory bug, structured error handler
-    on Python 64bits, thread local memory deallocation, memory leak reported
-    by Volker Roth, xmlValidateDtd in the presence of an internal subset,
-    entities and _private problem (William), xmlBuildRelativeURI error
-    (William).</li>
-  <li>improvements: better XInclude error reports (William), tree debugging
-    module and tests, convenience functions at the Reader API (Graham
-    Bennett), add support for PI in the HTML parser.</li>
-</ul><h3>2.6.14: Sep 29 2004</h3><ul>
-  <li>build fixes: configure paths for xmllint and xsltproc, compilation
-    without HTML parser, compilation warning cleanups (William Brack &amp;
-    Malcolm Tredinnick), VMS makefile update (Craig Berry),</li>
-  <li>bug fixes: xmlGetUTF8Char (William Brack), QName properties (Kasimier
-    Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x
-    transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes
-    (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc),
-    handling of failed realloc(), out of bound array addressing in Schemas
-    date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS
-    E20 validation fix (Malcolm),</li>
-  <li>improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add
-    xmlSchemaValidateOneElement (Kasimier), Python exception hierearchy
-    (Malcolm Tredinnick), Python libxml2 driver improvement (Malcolm
-    Tredinnick), Schemas support for xsi:schemaLocation,
-    xsi:noNamespaceSchemaLocation, xsi:type (Kasimier Buchcik)</li>
-</ul><h3>2.6.13: Aug 31 2004</h3><ul>
-  <li>build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
-    Solaris compiler warning, fixing RPM BuildRequires,</li>
-  <li>fixes: DTD loading on Windows (Igor), Schemas error reports APIs
-    (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack
-    and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace
-    problem (William), Schemas hexbinary empty values, encoding error could
-    generate a serialization loop.</li>
-  <li>Improvements: Schemas validity improvements (Kasimier), added --path
-    and --load-trace options to xmllint</li>
-  <li>documentation: tutorial update (John Fleck)</li>
-</ul><h3>2.6.12: Aug 22 2004</h3><ul>
-  <li>build fixes: fix --with-minimum, elfgcchack.h fixes (Peter
-    Breitenlohner), perl path lookup (William), diff on Solaris (Albert
-    Chin), some 64bits cleanups.</li>
-  <li>Python: avoid a warning with 2.3 (William Brack), tab and space mixes
-    (William), wrapper generator fixes (William), Cygwin support (Gerrit P.
-    Haase), node wrapper fix (Marc-Antoine Parent), XML Schemas support
-    (Torkel Lyng)</li>
-  <li>Schemas: a lot of bug fixes and improvements from Kasimier Buchcik</li>
-  <li>fixes: RVT fixes (William), XPath context resets bug (William), memory
-    debug (Steve Hay), catalog white space handling (Peter Breitenlohner),
-    xmlReader state after attribute reading (William), structured error
-    handler (William), XInclude generated xml:base fixup (William), Windows
-    memory reallocation problem (Steve Hay), Out of Memory conditions
-    handling (William and Olivier Andrieu), htmlNewDoc() charset bug,
-    htmlReadMemory init (William), a posteriori validation DTD base
-    (William), notations serialization missing, xmlGetNodePath (Dodji),
-    xmlCheckUTF8 (Diego Tartara), missing line numbers on entity
-  (William)</li>
-  <li>improvements: DocBook catalog build scrip (William), xmlcatalog tool
-    (Albert Chin), xmllint --c14n option, no_proxy environment (Mike Hommey),
-    xmlParseInNodeContext() addition, extend xmllint --shell, allow XInclude
-    to not generate start/end nodes, extend xmllint --version to include CVS
-    tag (William)</li>
-  <li>documentation: web pages fixes, validity API docs fixes (William)
-    schemas API fix (Eric Haszlakiewicz), xmllint man page (John Fleck)</li>
-</ul><h3>2.6.11: July 5 2004</h3><ul>
-  <li>Schemas: a lot of changes and improvements by Kasimier Buchcik for
-    attributes, namespaces and simple types.</li>
-  <li>build fixes: --with-minimum (William Brack),  some gcc cleanup
-    (William), --with-thread-alloc (William)</li>
-  <li>portability: Windows binary package change (Igor Zlatkovic), Catalog
-    path on Windows</li>
-  <li>documentation: update to the tutorial (John Fleck), xmllint return code
-    (John Fleck), man pages (Ville Skytta),</li>
-  <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
-    William), Relax-NG name classes compares (William), XInclude duplicate
-    fallback (William), external DTD encoding detection (William), a DTD
-    validation bug (William), xmlReader Close() fix, recursive extension
-    schemas</li>
-  <li>improvements: use xmlRead* APIs in test tools (Mark Vakoc), indenting
-    save optimization, better handle IIS broken HTTP redirect  behaviour (Ian
-    Hummel), HTML parser frameset (James Bursa), libxml2-python RPM
-    dependency, XML Schemas union support (Kasimier Buchcik), warning removal
-    clanup (William), keep ChangeLog compressed when installing from RPMs</li>
-  <li>documentation: examples and xmlDocDumpMemory docs (John Fleck), new
-    example (load, xpath, modify, save), xmlCatalogDump() comments,</li>
-  <li>Windows: Borland C++ builder (Eric Zurcher), work around Microsoft
-    compiler NaN handling bug (Mark Vakoc)</li>
-</ul><h3>2.6.8: Mar 23 2004</h3><ul>
-  <li>First step of the cleanup of the serialization code and APIs</li>
-  <li>XML Schemas: mixed content (Adam Dickmeiss), QName handling fixes (Adam
-    Dickmeiss), anyURI for "" (John Belmonte)</li>
-  <li>Python: Canonicalization C14N support added (Anthony Carrico)</li>
-  <li>xmlDocCopyNode() extension (William)</li>
-  <li>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.</li>
-  <li>xmlWriter: patch for better DTD support (Alfred Mickautsch)</li>
-  <li>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), dictionary reference counting problems,
-    do not close stderr.</li>
-  <li>performance patches from Petr Pajas</li>
-  <li>Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)</li>
-  <li>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)</li>
-</ul><h3>2.6.7: Feb 23 2004</h3><ul>
-  <li>documentation: tutorial updates (John Fleck), benchmark results</li>
-  <li>xmlWriter: updates and fixes (Alfred Mickautsch, Lucas Brasilino)</li>
-  <li>XPath optimization (Petr Pajas)</li>
-  <li>DTD ID handling optimization</li>
-  <li>bugfixes: xpath number with  &gt; 19 fractional (William Brack), push
-    mode with unescaped '&gt;' characters, fix xmllint --stream --timing, fix
-    xmllint --memory --stream memory usage, xmlAttrSerializeTxtContent
-    handling NULL, trying to fix Relax-NG/Perl interface.</li>
-  <li>python: 2.3 compatibility, whitespace fixes (Malcolm Tredinnick)</li>
-  <li>Added relaxng option to xmllint --shell</li>
-</ul><h3>2.6.6: Feb 12 2004</h3><ul>
-  <li>nanohttp and nanoftp: buffer overflow error on URI parsing (Igor and
-    William) reported by Yuuichi Teranishi</li>
-  <li>bugfixes: make test and path issues, xmlWriter attribute serialization
-    (William Brack), xmlWriter indentation (William), schemas validation
-    (Eric Haszlakiewicz), XInclude dictionaries issues (William and Oleg
-    Paraschenko), XInclude empty fallback (William), HTML warnings (William),
-    XPointer in XInclude (William), Python namespace serialization,
-    isolat1ToUTF8 bound error (Alfred Mickautsch), output of parameter
-    entities in internal subset (William), internal subset bug in push mode,
-    &lt;xs:all&gt; fix (Alexey Sarytchev)</li>
-  <li>Build: fix for automake-1.8 (Alexander Winston), warnings removal
-    (Philip Ludlam), SOCKLEN_T detection fixes (Daniel Richard), fix
-    --with-minimum configuration.</li>
-  <li>XInclude: allow the 2001 namespace without warning.</li>
-  <li>Documentation: missing example/index.html (John Fleck), version
-    dependencies (John Fleck)</li>
-  <li>reader API: structured error reporting (Steve Ball)</li>
-  <li>Windows compilation: mingw, msys (Mikhail Grushinskiy), function
-    prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_
-  patch</li>
-  <li>Parsers: added xmlByteConsumed(ctxt) API to get the byte offset in
-    input.</li>
-</ul><h3>2.6.5: Jan 25 2004</h3><ul>
-  <li>Bugfixes: dictionaries for schemas (William Brack), regexp segfault
-    (William), xs:all problem (William), a number of XPointer bugfixes
-    (William), xmllint error go to stderr, DTD validation problem with
-    namespace, memory leak (William), SAX1 cleanup and minimal options fixes
-    (Mark Vadoc), parser context reset on error (Shaun McCance), XPath union
-    evaluation problem (William) , xmlReallocLoc with NULL (Aleksey Sanin),
-    XML Schemas double free (Steve Ball), XInclude with no href, argument
-    callbacks order for XPath callbacks (Frederic Peters)</li>
-  <li>Documentation: python scripts (William Brack), xslt stylesheets (John
-    Fleck), doc (Sven Zimmerman), I/O example.</li>
-  <li>Python bindings: fixes (William), enum support (Stéphane Bidoul),
-    structured error reporting (Stéphane Bidoul)</li>
-  <li>XInclude: various fixes for conformance, problem related to dictionary
-    references (William &amp; me), recursion (William)</li>
-  <li>xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred
-    Mickautsch),</li>
-  <li>xmlSchemas: normalizedString datatype (John Belmonte)</li>
-  <li>code cleanup for strings functions (William)</li>
-  <li>Windows: compiler patches (Mark Vakoc)</li>
-  <li>Parser optimizations, a few new XPath and dictionary APIs for future
-    XSLT optimizations.</li>
-</ul><h3>2.6.4: Dec 24 2003</h3><ul>
-  <li>Windows build fixes (Igor Zlatkovic)</li>
-  <li>Some serious XInclude problems reported by Oleg Paraschenko and</li>
-  <li>Unix and Makefile packaging fixes (me, William Brack,</li>
-  <li>Documentation improvements (John Fleck, William Brack), example fix
-    (Lucas Brasilino)</li>
-  <li>bugfixes: xmlTextReaderExpand() with xmlReaderWalker, XPath handling of
-    NULL strings (William Brack) , API building reader or parser from
-    filedescriptor should not close it, changed XPath sorting to be stable
-    again (William Brack), xmlGetNodePath() generating '(null)' (William
-    Brack), DTD validation and namespace bug (William Brack), XML Schemas
-    double inclusion behaviour</li>
-</ul><h3>2.6.3: Dec 10 2003</h3><ul>
-  <li>documentation updates and cleanup (DV, William Brack, John Fleck)</li>
-  <li>added a repository of examples, examples from Aleksey Sanin, Dodji
-    Seketeli, Alfred Mickautsch</li>
-  <li>Windows updates: Mark Vakoc, Igor Zlatkovic, Eric Zurcher, Mingw
-    (Kenneth Haley)</li>
-  <li>Unicode range checking (William Brack)</li>
-  <li>code cleanup (William Brack)</li>
-  <li>Python bindings: doc (John Fleck),  bug fixes</li>
-  <li>UTF-16 cleanup and BOM issues (William Brack)</li>
-  <li>bug fixes: ID and xmlReader validation, XPath (William Brack),
-    xmlWriter (Alfred Mickautsch), hash.h inclusion problem, HTML parser
-    (James Bursa), attribute defaulting and validation, some serialization
-    cleanups, XML_GET_LINE macro, memory debug when using threads (William
-    Brack), serialization of attributes and entities content, xmlWriter
-    (Daniel Schulman)</li>
-  <li>XInclude bugfix, new APIs and update to the last version including the
-    namespace change.</li>
-  <li>XML Schemas improvements: include (Robert Stepanek), import and
-    namespace handling, fixed the regression tests troubles, added examples
-    based on Eric van der Vlist book, regexp fixes</li>
-  <li>preliminary pattern support for streaming (needed for schemas
-    constraints), added xmlTextReaderPreservePattern() to collect subdocument
-    when streaming.</li>
-  <li>various fixes in the structured error handling</li>
-</ul><h3>2.6.2: Nov 4 2003</h3><ul>
-  <li>XPath context unregistration fixes</li>
-  <li>text node coalescing fixes (Mark Lilback)</li>
-  <li>API to screate a W3C Schemas from an existing document (Steve Ball)</li>
-  <li>BeOS patches (Marcin 'Shard' Konicki)</li>
-  <li>xmlStrVPrintf function added (Aleksey Sanin)</li>
-  <li>compilation fixes (Mark Vakoc)</li>
-  <li>stdin parsing fix (William Brack)</li>
-  <li>a posteriori DTD validation fixes</li>
-  <li>xmlReader bug fixes: Walker fixes, python bindings</li>
-  <li>fixed xmlStopParser() to really stop the parser and errors</li>
-  <li>always generate line numbers when using the new xmlReadxxx
-  functions</li>
-  <li>added XInclude support to the xmlReader interface</li>
-  <li>implemented XML_PARSE_NONET parser option</li>
-  <li>DocBook XSLT processing bug fixed</li>
-  <li>HTML serialization for &lt;p&gt; elements (William Brack and me)</li>
-  <li>XPointer failure in XInclude are now handled as resource errors</li>
-  <li>fixed xmllint --html to use the HTML serializer on output (added
-    --xmlout to implement the previous behaviour of saving it using the XML
-    serializer)</li>
-</ul><h3>2.6.1: Oct 28 2003</h3><ul>
-  <li>Mostly bugfixes after the big 2.6.0 changes</li>
-  <li>Unix compilation patches: libxml.m4 (Patrick Welche), warnings cleanup
-    (William Brack)</li>
-  <li>Windows compilation patches (Joachim Bauch, Stephane Bidoul, Igor
-    Zlatkovic)</li>
-  <li>xmlWriter bugfix (Alfred Mickautsch)</li>
-  <li>chvalid.[ch]: couple of fixes from Stephane Bidoul</li>
-  <li>context reset: error state reset, push parser reset (Graham
-  Bennett)</li>
-  <li>context reuse: generate errors if file is not readable</li>
-  <li>defaulted attributes for element coming from internal entities
-    (Stephane Bidoul)</li>
-  <li>Python: tab and spaces mix (William Brack)</li>
-  <li>Error handler could crash in DTD validation in 2.6.0</li>
-  <li>xmlReader: do not use the document or element _private field</li>
-  <li>testSAX.c: avoid a problem with some PIs (Massimo Morara)</li>
-  <li>general bug fixes: mandatory encoding in text decl, serializing
-    Document Fragment nodes, xmlSearchNs 2.6.0 problem (Kasimier Buchcik),
-    XPath errors not reported,  slow HTML parsing of large documents.</li>
-</ul><h3>2.6.0: Oct 20 2003</h3><ul>
-  <li>Major revision release: should be API and ABI compatible but got a lot
-    of change</li>
-  <li>Increased the library modularity, far more options can be stripped out,
-    a --with-minimum configuration will weight around 160KBytes</li>
-  <li>Use per parser and per document dictionary, allocate names and small
-    text nodes from the dictionary</li>
-  <li>Switch to a SAX2 like parser rewrote most of the XML parser core,
-    provides namespace resolution and defaulted attributes, minimize memory
-    allocations and copies, namespace checking and specific error handling,
-    immutable buffers, make predefined entities static structures, etc...</li>
-  <li>rewrote all the error handling in the library, all errors can be
-    intercepted at a structured level, with precise information
-  available.</li>
-  <li>New simpler and more generic XML and HTML parser APIs, allowing to
-    easily modify the parsing options and reuse parser context for multiple
-    consecutive documents.</li>
-  <li>Similar new APIs for the xmlReader, for options and reuse, provided new
-    functions to access content as const strings, use them for Python
-  bindings</li>
-  <li>a  lot of other smaller API improvements: xmlStrPrintf (Aleksey Sanin),
-    Walker i.e. reader on a document tree based on Alfred Mickautsch code,
-    make room in nodes for line numbers, reference counting and future PSVI
-    extensions, generation of character ranges to be checked with faster
-    algorithm (William),  xmlParserMaxDepth (Crutcher Dunnavant), buffer
-    access</li>
-  <li>New xmlWriter API provided by Alfred Mickautsch</li>
-  <li>Schemas: base64 support by Anthony Carrico</li>
-  <li>Parser&lt;-&gt;HTTP integration fix, proper processing of the Mime-Type
-    and charset information if available.</li>
-  <li>Relax-NG: bug fixes including the one reported by Martijn Faassen and
-    zeroOrMore, better error reporting.</li>
-  <li>Python bindings (Stéphane Bidoul), never use stdout for errors
-  output</li>
-  <li>Portability: all the headers have macros for export and calling
-    convention definitions (Igor Zlatkovic), VMS update (Craig A. Berry),
-    Windows: threads (Jesse Pelton), Borland compiler (Eric Zurcher,  Igor),
-    Mingw (Igor), typos (Mark Vakoc),  beta version (Stephane Bidoul),
-    warning cleanups on AIX and MIPS compilers (William Brack), BeOS (Marcin
-    'Shard' Konicki)</li>
-  <li>Documentation fixes and README (William Brack), search fix (William),
-    tutorial updates (John Fleck), namespace docs (Stefan Kost)</li>
-  <li>Bug fixes: xmlCleanupParser (Dave Beckett), threading uninitialized
-    mutexes, HTML doctype lowercase,  SAX/IO (William), compression detection
-    and restore (William), attribute declaration in DTDs (William), namespace
-    on attribute in HTML output (William), input filename (Rob Richards),
-    namespace DTD validation, xmlReplaceNode (Chris Ryland), I/O callbacks
-    (Markus Keim), CDATA serialization (Shaun McCance), xmlReader (Peter
-    Derr), high codepoint charref like &amp;#x10FFFF;, buffer access in push
-    mode (Justin Fletcher), TLS threads on Windows (Jesse Pelton), XPath bug
-    (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP
-    error handling.</li>
-  <li>xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat
-    testing,  --nodict for building without tree dictionary, --nocdata to
-    replace CDATA by text, --nsclean to remove surperfluous  namespace
-    declarations</li>
-  <li>added xml2-config --libtool-libs option from Kevin P. Fleming</li>
-  <li>a lot of profiling and tuning of the code, speedup patch for
-    xmlSearchNs() by Luca Padovani. The xmlReader should do far less
-    allocation and it speed should get closer to SAX. Chris Anderson worked
-    on speeding and cleaning up repetitive checking code.</li>
-  <li>cleanup of "make tests"</li>
-  <li>libxml-2.0-uninstalled.pc from Malcolm Tredinnick</li>
-  <li>deactivated the broken docBook SGML parser code and plugged the XML
-    parser instead.</li>
-</ul><h3>2.5.11: Sep 9 2003</h3><p>A bugfix only release:</p><ul>
-  <li>risk of crash in Relax-NG</li>
-  <li>risk of crash when using multithreaded programs</li>
-</ul><h3>2.5.10: Aug 15 2003</h3><p>A bugfixes only release</p><ul>
-  <li>Windows Makefiles (William Brack)</li>
-  <li>UTF-16 support fixes (Mark Itzcovitz)</li>
-  <li>Makefile and portability (William Brack) automake, Linux alpha, Mingw
-    on Windows (Mikhail Grushinskiy)</li>
-  <li>HTML parser (Oliver Stoeneberg)</li>
-  <li>XInclude performance problem reported by Kevin Ruscoe</li>
-  <li>XML parser performance problem reported by Grant Goodale</li>
-  <li>xmlSAXParseDTD() bug fix from Malcolm Tredinnick</li>
-  <li>and a couple other cleanup</li>
-</ul><h3>2.5.9: Aug 9 2003</h3><ul>
-  <li>bugfixes: IPv6 portability, xmlHasNsProp (Markus Keim), Windows build
-    (Wiliam Brake, Jesse Pelton, Igor), Schemas (Peter Sobisch), threading
-    (Rob Richards), hexBinary type (), UTF-16 BOM (Dodji Seketeli),
-    xmlReader, Relax-NG schemas compilation, namespace handling,  EXSLT (Sean
-    Griffin), HTML parsing problem (William Brack), DTD validation for mixed
-    content + namespaces, HTML serialization, library initialization,
-    progressive HTML parser</li>
-  <li>better interfaces for Relax-NG error handling (Joachim Bauch, )</li>
-  <li>adding xmlXIncludeProcessTree() for XInclud'ing in a subtree</li>
-  <li>doc fixes and improvements (John Fleck)</li>
-  <li>configure flag for -with-fexceptions when embedding in C++</li>
-  <li>couple of new UTF-8 helper functions (William Brack)</li>
-  <li>general encoding cleanup + ISO-8859-x without iconv (Peter Jacobi)</li>
-  <li>xmlTextReader cleanup + enum for node types (Bjorn Reese)</li>
-  <li>general compilation/warning cleanup Solaris/HP-UX/... (William
-  Brack)</li>
-</ul><h3>2.5.8: Jul 6 2003</h3><ul>
-  <li>bugfixes: XPath, XInclude, file/URI mapping, UTF-16 save (Mark
-    Itzcovitz), UTF-8 checking, URI saving, error printing (William Brack),
-    PI related memleak, compilation without schemas or without xpath (Joerg
-    Schmitz-Linneweber/Garry Pennington), xmlUnlinkNode problem with DTDs,
-    rpm problem on , i86_64, removed a few compilation problems from 2.5.7,
-    xmlIOParseDTD, and xmlSAXParseDTD (Malcolm Tredinnick)</li>
-  <li>portability: DJGPP (MsDos) , OpenVMS (Craig A. Berry)</li>
-  <li>William Brack fixed multithreading lock problems</li>
-  <li>IPv6 patch for FTP and HTTP accesses (Archana Shah/Wipro)</li>
-  <li>Windows fixes (Igor Zlatkovic,  Eric Zurcher), threading (Stéphane
-    Bidoul)</li>
-  <li>A few W3C Schemas Structure improvements</li>
-  <li>W3C Schemas Datatype improvements (Charlie Bozeman)</li>
-  <li>Python bindings for thread globals (Stéphane Bidoul), and method/class
-    generator</li>
-  <li>added --nonet option to xmllint</li>
-  <li>documentation improvements (John Fleck)</li>
-</ul><h3>2.5.7: Apr 25 2003</h3><ul>
-  <li>Relax-NG: Compiling to regexp and streaming validation on top of the
-    xmlReader interface, added to xmllint --stream</li>
-  <li>xmlReader: Expand(), Next() and DOM access glue, bug fixes</li>
-  <li>Support for large files: RGN validated a 4.5GB instance</li>
-  <li>Thread support is now configured in by default</li>
-  <li>Fixes: update of the Trio code (Bjorn), WXS Date and Duration fixes
-    (Charles Bozeman), DTD and namespaces (Brent Hendricks), HTML push parser
-    and zero bytes handling, some missing Windows file path conversions,
-    behaviour of the parser and validator in the presence of "out of memory"
-    error conditions</li>
-  <li>extended the API to be able to plug a garbage collecting memory
-    allocator, added xmlMallocAtomic() and modified the allocations
-    accordingly.</li>
-  <li>Performances: removed excessive malloc() calls, speedup of the push and
-    xmlReader interfaces, removed excessive thread locking</li>
-  <li>Documentation: man page (John Fleck), xmlReader documentation</li>
-  <li>Python: adding binding for xmlCatalogAddLocal (Brent M Hendricks)</li>
-</ul><h3>2.5.6: Apr 1 2003</h3><ul>
-  <li>Fixed W3C XML Schemas datatype, should be compliant now except for
-    binHex and base64 which are not supported yet.</li>
-  <li>bug fixes: non-ASCII IDs, HTML output, XInclude on large docs and
-    XInclude entities handling, encoding detection on external subsets, XML
-    Schemas bugs and memory leaks, HTML parser (James Bursa)</li>
-  <li>portability: python/trio (Albert Chin), Sun compiler warnings</li>
-  <li>documentation: added --relaxng option to xmllint man page (John)</li>
-  <li>improved error reporting: xml:space, start/end tag mismatches, Relax NG
-    errors</li>
-</ul><h3>2.5.5: Mar 24 2003</h3><ul>
-  <li>Lot of fixes on the Relax NG implementation. More testing including
-    DocBook and TEI examples.</li>
-  <li>Increased the support for W3C XML Schemas datatype</li>
-  <li>Several bug fixes in the URI handling layer</li>
-  <li>Bug fixes: HTML parser, xmlReader, DTD validation, XPath, encoding
-    conversion, line counting in the parser.</li>
-  <li>Added support for $XMLLINT_INDENT environment variable, FTP delete</li>
-  <li>Fixed the RPM spec file name</li>
-</ul><h3>2.5.4: Feb 20 2003</h3><ul>
-  <li>Conformance testing and lot of fixes on Relax NG and XInclude
-    implementation</li>
-  <li>Implementation of XPointer element() scheme</li>
-  <li>Bug fixes: XML parser, XInclude entities merge, validity checking on
-    namespaces,
-    <p>2 serialization bugs, node info generation problems, a DTD regexp
-    generation problem.</p>
-  </li>
-  <li>Portability: windows updates and path canonicalization (Igor)</li>
-  <li>A few typo fixes (Kjartan Maraas)</li>
-  <li>Python bindings generator fixes (Stephane Bidoul)</li>
-</ul><h3>2.5.3: Feb 10 2003</h3><ul>
-  <li>RelaxNG and XML Schemas datatypes improvements, and added a first
-    version of RelaxNG Python bindings</li>
-  <li>Fixes: XLink (Sean Chittenden), XInclude (Sean Chittenden), API fix for
-    serializing namespace nodes, encoding conversion bug, XHTML1
-  serialization</li>
-  <li>Portability fixes: Windows (Igor), AMD 64bits RPM spec file</li>
-</ul><h3>2.5.2: Feb 5 2003</h3><ul>
-  <li>First implementation of RelaxNG, added --relaxng flag to xmllint</li>
-  <li>Schemas support now compiled in by default.</li>
-  <li>Bug fixes: DTD validation, namespace checking, XInclude and entities,
-    delegateURI in XML Catalogs, HTML parser, XML reader (Stéphane Bidoul),
-    XPath parser and evaluation,  UTF8ToUTF8 serialization, XML reader memory
-    consumption, HTML parser, HTML serialization in the presence of
-  namespaces</li>
-  <li>added an HTML API to check elements and attributes.</li>
-  <li>Documentation improvement, PDF for the tutorial (John Fleck), doc
-    patches (Stefan Kost)</li>
-  <li>Portability fixes: NetBSD (Julio Merino), Windows (Igor Zlatkovic)</li>
-  <li>Added python bindings for XPointer, contextual error reporting
-    (Stéphane Bidoul)</li>
-  <li>URI/file escaping problems (Stefano Zacchiroli)</li>
-</ul><h3>2.5.1: Jan 8 2003</h3><ul>
-  <li>Fixes a memory leak and configuration/compilation problems in 2.5.0</li>
-  <li>documentation updates (John)</li>
-  <li>a couple of XmlTextReader fixes</li>
-</ul><h3>2.5.0: Jan 6 2003</h3><ul>
-  <li>New <a href="xmlreader.html">XmltextReader interface</a> based on C#
-    API (with help of Stéphane Bidoul)</li>
-  <li>Windows: more exports, including the new API (Igor)</li>
-  <li>XInclude fallback fix</li>
-  <li>Python: bindings for the new API, packaging (Stéphane Bidoul),
-    drv_libxml2.py Python xml.sax driver (Stéphane Bidoul), fixes, speedup
-    and iterators for Python-2.2 (Hannu Krosing)</li>
-  <li>Tutorial fixes (john Fleck and Niraj Tolia) xmllint man update
-  (John)</li>
-  <li>Fix an XML parser bug raised by Vyacheslav Pindyura</li>
-  <li>Fix for VMS serialization (Nigel Hall) and config (Craig A. Berry)</li>
-  <li>Entities handling fixes</li>
-  <li>new API to optionally track node creation and deletion (Lukas
-  Schroeder)</li>
-  <li>Added documentation for the XmltextReader interface and some <a href="guidelines.html">XML guidelines</a></li>
-</ul><h3>2.4.30: Dec 12 2002</h3><ul>
-  <li>2.4.29 broke the python bindings, rereleasing</li>
-  <li>Improvement/fixes of the XML API generator, and couple of minor code
-    fixes.</li>
-</ul><h3>2.4.29: Dec 11 2002</h3><ul>
-  <li>Windows fixes (Igor): Windows CE port, pthread linking, python bindings
-    (Stéphane Bidoul), Mingw (Magnus Henoch), and export list updates</li>
-  <li>Fix for prev in python bindings (ERDI Gergo)</li>
-  <li>Fix for entities handling (Marcus Clarke)</li>
-  <li>Refactored the XML and HTML dumps to a single code path, fixed XHTML1
-    dump</li>
-  <li>Fix for URI parsing when handling URNs with fragment identifiers</li>
-  <li>Fix for HTTP URL escaping problem</li>
-  <li>added an TextXmlReader (C#) like API (work in progress)</li>
-  <li>Rewrote the API in XML generation script, includes a C parser and saves
-    more information needed for C# bindings</li>
-</ul><h3>2.4.28: Nov 22 2002</h3><ul>
-  <li>a couple of python binding fixes</li>
-  <li>2 bug fixes in the XML push parser</li>
-  <li>potential memory leak removed (Martin Stoilov)</li>
-  <li>fix to the configure script for Unix (Dimitri Papadopoulos)</li>
-  <li>added encoding support for XInclude parse="text"</li>
-  <li>autodetection of XHTML1 and specific serialization rules added</li>
-  <li>nasty threading bug fixed (William Brack)</li>
-</ul><h3>2.4.27: Nov 17 2002</h3><ul>
-  <li>fixes for the Python bindings</li>
-  <li>a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(),
-    HTML parser,  Schemas (Charles Bozeman), document fragment support
-    (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer,
-    xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr
-    Pajas), entities processing</li>
-  <li>added grep to xmllint --shell</li>
-  <li>VMS update patch from Craig A. Berry</li>
-  <li>cleanup of the Windows build with support for more compilers (Igor),
-    better thread support on Windows</li>
-  <li>cleanup of Unix Makefiles and spec file</li>
-  <li>Improvements to the documentation (John Fleck)</li>
-</ul><h3>2.4.26: Oct 18 2002</h3><ul>
-  <li>Patches for Windows CE port, improvements on Windows paths handling</li>
-  <li>Fixes to the validation  code (DTD and Schemas), xmlNodeGetPath() ,
-    HTML serialization, Namespace compliance,  and a number of small
-  problems</li>
-</ul><h3>2.4.25: Sep 26 2002</h3><ul>
-  <li>A number of bug fixes: XPath, validation, Python bindings, DOM and
-    tree, xmlI/O,  Html</li>
-  <li>Serious rewrite of XInclude</li>
-  <li>Made XML Schemas regexp part of the default build and APIs, small fix
-    and improvement of the regexp core</li>
-  <li>Changed the validation code to reuse XML Schemas regexp APIs</li>
-  <li>Better handling of Windows file paths, improvement of Makefiles (Igor,
-    Daniel Gehriger, Mark Vakoc)</li>
-  <li>Improved the python I/O bindings, the tests, added resolver and regexp
-    APIs</li>
-  <li>New logos from Marc Liyanage</li>
-  <li>Tutorial improvements: John Fleck, Christopher Harris</li>
-  <li>Makefile: Fixes for AMD x86_64 (Mandrake), DESTDIR (Christophe
-  Merlet)</li>
-  <li>removal of all stderr/perror use for error reporting</li>
-  <li>Better error reporting: XPath and DTD validation</li>
-  <li>update of the trio portability layer (Bjorn Reese)</li>
-</ul><p><strong>2.4.24: Aug 22 2002</strong></p><ul>
-  <li>XPath fixes (William), xf:escape-uri() (Wesley Terpstra)</li>
-  <li>Python binding fixes: makefiles (William), generator, rpm build, x86-64
-    (fcrozat)</li>
-  <li>HTML &lt;style&gt; and boolean attributes serializer fixes</li>
-  <li>C14N improvements by Aleksey</li>
-  <li>doc cleanups: Rick Jones</li>
-  <li>Windows compiler makefile updates: Igor and Elizabeth Barham</li>
-  <li>XInclude: implementation of fallback and xml:base fixup added</li>
-</ul><h3>2.4.23: July 6 2002</h3><ul>
-  <li>performances patches: Peter Jacobi</li>
-  <li>c14n fixes, testsuite and performances: Aleksey Sanin</li>
-  <li>added xmlDocFormatDump: Chema Celorio</li>
-  <li>new tutorial: John Fleck</li>
-  <li>new hash functions and performances: Sander Vesik, portability fix from
-    Peter Jacobi</li>
-  <li>a number of bug fixes: XPath (William Brack, Richard Jinks), XML and
-    HTML parsers, ID lookup function</li>
-  <li>removal of all remaining sprintf: Aleksey Sanin</li>
-</ul><h3>2.4.22: May 27 2002</h3><ul>
-  <li>a number of bug fixes: configure scripts, base handling, parser, memory
-    usage, HTML parser, XPath, documentation (Christian Cornelssen),
-    indentation, URI parsing</li>
-  <li>Optimizations for XMLSec, fixing and making public some of the network
-    protocol handlers (Aleksey)</li>
-  <li>performance patch from Gary Pennington</li>
-  <li>Charles Bozeman provided date and time support for XML Schemas
-  datatypes</li>
-</ul><h3>2.4.21: Apr 29 2002</h3><p>This release is both a bug fix release and also contains the early XML
-Schemas <a href="http://www.w3.org/TR/xmlschema-1/">structures</a> and <a href="http://www.w3.org/TR/xmlschema-2/">datatypes</a> code, beware, all
-interfaces are likely to change, there is huge holes, it is clearly a work in
-progress and don't even think of putting this code in a production system,
-it's actually not compiled in by default. The real fixes are:
-</p><ul>
-  <li>a couple of bugs or limitations introduced in 2.4.20</li>
-  <li>patches for Borland C++ and MSC by Igor</li>
-  <li>some fixes on XPath strings and conformance patches by Richard
-  Jinks</li>
-  <li>patch from Aleksey for the ExcC14N specification</li>
-  <li>OSF/1 bug fix by Bjorn</li>
-</ul><h3>2.4.20: Apr 15 2002</h3><ul>
-  <li>bug fixes: file descriptor leak, XPath, HTML output, DTD validation</li>
-  <li>XPath conformance testing by Richard Jinks</li>
-  <li>Portability fixes: Solaris, MPE/iX, Windows, OSF/1, python bindings,
-    libxml.m4</li>
-</ul><h3>2.4.19: Mar 25 2002</h3><ul>
-  <li>bug fixes: half a dozen XPath bugs, Validation, ISO-Latin to UTF8
-    encoder</li>
-  <li>portability fixes in the HTTP code</li>
-  <li>memory allocation checks using valgrind, and profiling tests</li>
-  <li>revamp of the Windows build and Makefiles</li>
-</ul><h3>2.4.18: Mar 18 2002</h3><ul>
-  <li>bug fixes: tree, SAX, canonicalization, validation, portability,
-  XPath</li>
-  <li>removed the --with-buffer option it was becoming unmaintainable</li>
-  <li>serious cleanup of the Python makefiles</li>
-  <li>speedup patch to XPath very effective for DocBook stylesheets</li>
-  <li>Fixes for Windows build, cleanup of the documentation</li>
-</ul><h3>2.4.17: Mar 8 2002</h3><ul>
-  <li>a lot of bug fixes, including "namespace nodes have no parents in
-  XPath"</li>
-  <li>fixed/improved the Python wrappers, added more examples and more
-    regression tests, XPath extension functions can now return node-sets</li>
-  <li>added the XML Canonicalization support from Aleksey Sanin</li>
-</ul><h3>2.4.16: Feb 20 2002</h3><ul>
-  <li>a lot of bug fixes, most of them were triggered by the XML Testsuite
-    from OASIS and W3C. Compliance has been significantly improved.</li>
-  <li>a couple of portability fixes too.</li>
-</ul><h3>2.4.15: Feb 11 2002</h3><ul>
-  <li>Fixed the Makefiles, especially the python module ones</li>
-  <li>A few bug fixes and cleanup</li>
-  <li>Includes cleanup</li>
-</ul><h3>2.4.14: Feb 8 2002</h3><ul>
-  <li>Change of License to the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
-    License</a> basically for integration in XFree86 codebase, and removing
-    confusion around the previous dual-licensing</li>
-  <li>added Python bindings, beta software but should already be quite
-    complete</li>
-  <li>a large number of fixes and cleanups, especially for all tree
-    manipulations</li>
-  <li>cleanup of the headers, generation of a reference API definition in
-  XML</li>
-</ul><h3>2.4.13: Jan 14 2002</h3><ul>
-  <li>update of the documentation: John Fleck and Charlie Bozeman</li>
-  <li>cleanup of timing code from Justin Fletcher</li>
-  <li>fixes for Windows and initial thread support on Win32: Igor and Serguei
-    Narojnyi</li>
-  <li>Cygwin patch from Robert Collins</li>
-  <li>added xmlSetEntityReferenceFunc() for Keith Isdale work on xsldbg</li>
-</ul><h3>2.4.12: Dec 7 2001</h3><ul>
-  <li>a few bug fixes: thread (Gary Pennington), xmllint (Geert Kloosterman),
-    XML parser (Robin Berjon), XPointer (Danny Jamshy), I/O cleanups
-  (robert)</li>
-  <li>Eric Lavigne contributed project files for MacOS</li>
-  <li>some makefiles cleanups</li>
-</ul><h3>2.4.11: Nov 26 2001</h3><ul>
-  <li>fixed a couple of errors in the includes, fixed a few bugs, some code
-    cleanups</li>
-  <li>xmllint man pages improvement by Heiko Rupp</li>
-  <li>updated VMS build instructions from John A Fotheringham</li>
-  <li>Windows Makefiles updates from Igor</li>
-</ul><h3>2.4.10: Nov 10 2001</h3><ul>
-  <li>URI escaping fix (Joel Young)</li>
-  <li>added xmlGetNodePath() (for paths or XPointers generation)</li>
-  <li>Fixes namespace handling problems when using DTD and validation</li>
-  <li>improvements on xmllint: Morus Walter patches for --format and
-    --encode, Stefan Kost and Heiko Rupp improvements on the --shell</li>
-  <li>fixes for xmlcatalog linking pointed by Weiqi Gao</li>
-  <li>fixes to the HTML parser</li>
-</ul><h3>2.4.9: Nov 6 2001</h3><ul>
-  <li>fixes more catalog bugs</li>
-  <li>avoid a compilation problem, improve xmlGetLineNo()</li>
-</ul><h3>2.4.8: Nov 4 2001</h3><ul>
-  <li>fixed SGML catalogs broken in previous release, updated xmlcatalog
-  tool</li>
-  <li>fixed a compile errors and some includes troubles.</li>
-</ul><h3>2.4.7: Oct 30 2001</h3><ul>
-  <li>exported some debugging interfaces</li>
-  <li>serious rewrite of the catalog code</li>
-  <li>integrated Gary Pennington thread safety patch, added configure option
-    and regression tests</li>
-  <li>removed an HTML parser bug</li>
-  <li>fixed a couple of potentially serious validation bugs</li>
-  <li>integrated the SGML DocBook support in xmllint</li>
-  <li>changed the nanoftp anonymous login passwd</li>
-  <li>some I/O cleanup and a couple of interfaces for Perl wrapper</li>
-  <li>general bug fixes</li>
-  <li>updated xmllint man page by John Fleck</li>
-  <li>some VMS and Windows updates</li>
-</ul><h3>2.4.6: Oct 10 2001</h3><ul>
-  <li>added an updated man pages by John Fleck</li>
-  <li>portability and configure fixes</li>
-  <li>an infinite loop on the HTML parser was removed (William)</li>
-  <li>Windows makefile patches from Igor</li>
-  <li>fixed half a dozen bugs reported for libxml or libxslt</li>
-  <li>updated xmlcatalog to be able to modify SGML super catalogs</li>
-</ul><h3>2.4.5: Sep 14 2001</h3><ul>
-  <li>Remove a few annoying bugs in 2.4.4</li>
-  <li>forces the HTML serializer to output decimal charrefs since some
-    version of Netscape can't handle hexadecimal ones</li>
-</ul><h3>1.8.16: Sep 14 2001</h3><ul>
-  <li>maintenance release of the old libxml1 branch, couple of bug and
-    portability fixes</li>
-</ul><h3>2.4.4: Sep 12 2001</h3><ul>
-  <li>added --convert to xmlcatalog, bug fixes and cleanups of XML
-  Catalog</li>
-  <li>a few bug fixes and some portability changes</li>
-  <li>some documentation cleanups</li>
-</ul><h3>2.4.3:  Aug 23 2001</h3><ul>
-  <li>XML Catalog support see the doc</li>
-  <li>New NaN/Infinity floating point code</li>
-  <li>A few bug fixes</li>
-</ul><h3>2.4.2:  Aug 15 2001</h3><ul>
-  <li>adds xmlLineNumbersDefault() to control line number generation</li>
-  <li>lot of bug fixes</li>
-  <li>the Microsoft MSC projects files should now be up to date</li>
-  <li>inheritance of namespaces from DTD defaulted attributes</li>
-  <li>fixes a serious potential security bug</li>
-  <li>added a --format option to xmllint</li>
-</ul><h3>2.4.1:  July 24 2001</h3><ul>
-  <li>possibility to keep line numbers in the tree</li>
-  <li>some computation NaN fixes</li>
-  <li>extension of the XPath API</li>
-  <li>cleanup for alpha and ia64 targets</li>
-  <li>patch to allow saving through HTTP PUT or POST</li>
-</ul><h3>2.4.0: July 10 2001</h3><ul>
-  <li>Fixed a few bugs in XPath, validation, and tree handling.</li>
-  <li>Fixed XML Base implementation, added a couple of examples to the
-    regression tests</li>
-  <li>A bit of cleanup</li>
-</ul><h3>2.3.14: July 5 2001</h3><ul>
-  <li>fixed some entities problems and reduce memory requirement when
-    substituting them</li>
-  <li>lots of improvements in the XPath queries interpreter can be
-    substantially faster</li>
-  <li>Makefiles and configure cleanups</li>
-  <li>Fixes to XPath variable eval, and compare on empty node set</li>
-  <li>HTML tag closing bug fixed</li>
-  <li>Fixed an URI reference computation problem when validating</li>
-</ul><h3>2.3.13: June 28 2001</h3><ul>
-  <li>2.3.12 configure.in was broken as well as the push mode XML parser</li>
-  <li>a few more fixes for compilation on Windows MSC by Yon Derek</li>
-</ul><h3>1.8.14: June 28 2001</h3><ul>
-  <li>Zbigniew Chyla gave a patch to use the old XML parser in push mode</li>
-  <li>Small Makefile fix</li>
-</ul><h3>2.3.12: June 26 2001</h3><ul>
-  <li>lots of cleanup</li>
-  <li>a couple of validation fix</li>
-  <li>fixed line number counting</li>
-  <li>fixed serious problems in the XInclude processing</li>
-  <li>added support for UTF8 BOM at beginning of entities</li>
-  <li>fixed a strange gcc optimizer bugs in xpath handling of float, gcc-3.0
-    miscompile uri.c (William), Thomas Leitner provided a fix for the
-    optimizer on Tru64</li>
-  <li>incorporated Yon Derek and Igor Zlatkovic  fixes and improvements for
-    compilation on Windows MSC</li>
-  <li>update of libxml-doc.el (Felix Natter)</li>
-  <li>fixed 2 bugs in URI normalization code</li>
-</ul><h3>2.3.11: June 17 2001</h3><ul>
-  <li>updates to trio, Makefiles and configure should fix some portability
-    problems (alpha)</li>
-  <li>fixed some HTML serialization problems (pre, script, and block/inline
-    handling), added encoding aware APIs, cleanup of this code</li>
-  <li>added xmlHasNsProp()</li>
-  <li>implemented a specific PI for encoding support in the DocBook SGML
-    parser</li>
-  <li>some XPath fixes (-Infinity, / as a function parameter and namespaces
-    node selection)</li>
-  <li>fixed a performance problem and an error in the validation code</li>
-  <li>fixed XInclude routine to implement the recursive behaviour</li>
-  <li>fixed xmlFreeNode problem when libxml is included statically twice</li>
-  <li>added --version to xmllint for bug reports</li>
-</ul><h3>2.3.10: June 1 2001</h3><ul>
-  <li>fixed the SGML catalog support</li>
-  <li>a number of reported bugs got fixed, in XPath, iconv detection,
-    XInclude processing</li>
-  <li>XPath string function should now handle unicode correctly</li>
-</ul><h3>2.3.9: May 19 2001</h3><p>Lots of bugfixes, and added a basic SGML catalog support:
-</p><ul>
-  <li>HTML push bugfix #54891 and another patch from Jonas Borgstrom</li>
-  <li>some serious speed optimization again</li>
-  <li>some documentation cleanups</li>
-  <li>trying to get better linking on Solaris (-R)</li>
-  <li>XPath API cleanup from Thomas Broyer</li>
-  <li>Validation bug fixed #54631, added a patch from Gary Pennington, fixed
-    xmlValidGetValidElements()</li>
-  <li>Added an INSTALL file</li>
-  <li>Attribute removal added to API: #54433</li>
-  <li>added a basic support for SGML catalogs</li>
-  <li>fixed xmlKeepBlanksDefault(0) API</li>
-  <li>bugfix in xmlNodeGetLang()</li>
-  <li>fixed a small configure portability problem</li>
-  <li>fixed an inversion of SYSTEM and PUBLIC identifier in HTML document</li>
-</ul><h3>1.8.13: May 14 2001</h3><ul>
-  <li>bugfixes release of the old libxml1 branch used by Gnome</li>
-</ul><h3>2.3.8: May 3 2001</h3><ul>
-  <li>Integrated an SGML DocBook parser for the Gnome project</li>
-  <li>Fixed a few things in the HTML parser</li>
-  <li>Fixed some XPath bugs raised by XSLT use, tried to fix the floating
-    point portability issue</li>
-  <li>Speed improvement (8M/s for SAX, 3M/s for DOM, 1.5M/s for
-    DOM+validation using the XML REC as input and a 700MHz celeron).</li>
-  <li>incorporated more Windows cleanup</li>
-  <li>added xmlSaveFormatFile()</li>
-  <li>fixed problems in copying nodes with entities references (gdome)</li>
-  <li>removed some troubles surrounding the new validation module</li>
-</ul><h3>2.3.7: April 22 2001</h3><ul>
-  <li>lots of small bug fixes, corrected XPointer</li>
-  <li>Non deterministic content model validation support</li>
-  <li>added xmlDocCopyNode for gdome2</li>
-  <li>revamped the way the HTML parser handles end of tags</li>
-  <li>XPath: corrections of namespaces support and number formatting</li>
-  <li>Windows: Igor Zlatkovic patches for MSC compilation</li>
-  <li>HTML output fixes from P C Chow and William M. Brack</li>
-  <li>Improved validation speed sensible for DocBook</li>
-  <li>fixed a big bug with ID declared in external parsed entities</li>
-  <li>portability fixes, update of Trio from Bjorn Reese</li>
-</ul><h3>2.3.6: April 8 2001</h3><ul>
-  <li>Code cleanup using extreme gcc compiler warning options, found and
-    cleared half a dozen potential problem</li>
-  <li>the Eazel team found an XML parser bug</li>
-  <li>cleaned up the user of some of the string formatting function. used the
-    trio library code to provide the one needed when the platform is missing
-    them</li>
-  <li>xpath: removed a memory leak and fixed the predicate evaluation
-    problem, extended the testsuite and cleaned up the result. XPointer seems
-    broken ...</li>
-</ul><h3>2.3.5: Mar 23 2001</h3><ul>
-  <li>Biggest change is separate parsing and evaluation of XPath expressions,
-    there is some new APIs for this too</li>
-  <li>included a number of bug fixes(XML push parser, 51876, notations,
-  52299)</li>
-  <li>Fixed some portability issues</li>
-</ul><h3>2.3.4: Mar 10 2001</h3><ul>
-  <li>Fixed bugs #51860 and #51861</li>
-  <li>Added a global variable xmlDefaultBufferSize to allow default buffer
-    size to be application tunable.</li>
-  <li>Some cleanup in the validation code, still a bug left and this part
-    should probably be rewritten to support ambiguous content model :-\</li>
-  <li>Fix a couple of serious bugs introduced or raised by changes in 2.3.3
-    parser</li>
-  <li>Fixed another bug in xmlNodeGetContent()</li>
-  <li>Bjorn fixed XPath node collection and Number formatting</li>
-  <li>Fixed a loop reported in the HTML parsing</li>
-  <li>blank space are reported even if the Dtd content model proves that they
-    are formatting spaces, this is for XML conformance</li>
-</ul><h3>2.3.3: Mar 1 2001</h3><ul>
-  <li>small change in XPath for XSLT</li>
-  <li>documentation cleanups</li>
-  <li>fix in validation by Gary Pennington</li>
-  <li>serious parsing performances improvements</li>
-</ul><h3>2.3.2: Feb 24 2001</h3><ul>
-  <li>chasing XPath bugs, found a bunch, completed some TODO</li>
-  <li>fixed a Dtd parsing bug</li>
-  <li>fixed a bug in xmlNodeGetContent</li>
-  <li>ID/IDREF support partly rewritten by Gary Pennington</li>
-</ul><h3>2.3.1: Feb 15 2001</h3><ul>
-  <li>some XPath and HTML bug fixes for XSLT</li>
-  <li>small extension of the hash table interfaces for DOM gdome2
-    implementation</li>
-  <li>A few bug fixes</li>
-</ul><h3>2.3.0: Feb 8 2001 (2.2.12 was on 25 Jan but I didn't kept track)</h3><ul>
-  <li>Lots of XPath bug fixes</li>
-  <li>Add a mode with Dtd lookup but without validation error reporting for
-    XSLT</li>
-  <li>Add support for text node without escaping (XSLT)</li>
-  <li>bug fixes for xmlCheckFilename</li>
-  <li>validation code bug fixes from Gary Pennington</li>
-  <li>Patch from Paul D. Smith correcting URI path normalization</li>
-  <li>Patch to allow simultaneous install of libxml-devel and
-  libxml2-devel</li>
-  <li>the example Makefile is now fixed</li>
-  <li>added HTML to the RPM packages</li>
-  <li>tree copying bugfixes</li>
-  <li>updates to Windows makefiles</li>
-  <li>optimization patch from Bjorn Reese</li>
-</ul><h3>2.2.11: Jan 4 2001</h3><ul>
-  <li>bunch of bug fixes (memory I/O, xpath, ftp/http, ...)</li>
-  <li>added htmlHandleOmittedElem()</li>
-  <li>Applied Bjorn Reese's IPV6 first patch</li>
-  <li>Applied Paul D. Smith patches for validation of XInclude results</li>
-  <li>added XPointer xmlns() new scheme support</li>
-</ul><h3>2.2.10: Nov 25 2000</h3><ul>
-  <li>Fix the Windows problems of 2.2.8</li>
-  <li>integrate OpenVMS patches</li>
-  <li>better handling of some nasty HTML input</li>
-  <li>Improved the XPointer implementation</li>
-  <li>integrate a number of provided patches</li>
-</ul><h3>2.2.9: Nov 25 2000</h3><ul>
-  <li>erroneous release :-(</li>
-</ul><h3>2.2.8: Nov 13 2000</h3><ul>
-  <li>First version of <a href="http://www.w3.org/TR/xinclude">XInclude</a>
-    support</li>
-  <li>Patch in conditional section handling</li>
-  <li>updated MS compiler project</li>
-  <li>fixed some XPath problems</li>
-  <li>added an URI escaping function</li>
-  <li>some other bug fixes</li>
-</ul><h3>2.2.7: Oct 31 2000</h3><ul>
-  <li>added message redirection</li>
-  <li>XPath improvements (thanks TOM !)</li>
-  <li>xmlIOParseDTD() added</li>
-  <li>various small fixes in the HTML, URI, HTTP and XPointer support</li>
-  <li>some cleanup of the Makefile, autoconf and the distribution content</li>
-</ul><h3>2.2.6: Oct 25 2000:</h3><ul>
-  <li>Added an hash table module, migrated a number of internal structure to
-    those</li>
-  <li>Fixed a posteriori validation problems</li>
-  <li>HTTP module cleanups</li>
-  <li>HTML parser improvements (tag errors, script/style handling, attribute
-    normalization)</li>
-  <li>coalescing of adjacent text nodes</li>
-  <li>couple of XPath bug fixes, exported the internal API</li>
-</ul><h3>2.2.5: Oct 15 2000:</h3><ul>
-  <li>XPointer implementation and testsuite</li>
-  <li>Lot of XPath fixes, added variable and functions registration, more
-    tests</li>
-  <li>Portability fixes, lots of enhancements toward an easy Windows build
-    and release</li>
-  <li>Late validation fixes</li>
-  <li>Integrated a lot of contributed patches</li>
-  <li>added memory management docs</li>
-  <li>a performance problem when using large buffer seems fixed</li>
-</ul><h3>2.2.4: Oct 1 2000:</h3><ul>
-  <li>main XPath problem fixed</li>
-  <li>Integrated portability patches for Windows</li>
-  <li>Serious bug fixes on the URI and HTML code</li>
-</ul><h3>2.2.3: Sep 17 2000</h3><ul>
-  <li>bug fixes</li>
-  <li>cleanup of entity handling code</li>
-  <li>overall review of all loops in the parsers, all sprintf usage has been
-    checked too</li>
-  <li>Far better handling of larges Dtd. Validating against DocBook XML Dtd
-    works smoothly now.</li>
-</ul><h3>1.8.10: Sep 6 2000</h3><ul>
-  <li>bug fix release for some Gnome projects</li>
-</ul><h3>2.2.2: August 12 2000</h3><ul>
-  <li>mostly bug fixes</li>
-  <li>started adding routines to access xml parser context options</li>
-</ul><h3>2.2.1: July 21 2000</h3><ul>
-  <li>a purely bug fixes release</li>
-  <li>fixed an encoding support problem when parsing from a memory block</li>
-  <li>fixed a DOCTYPE parsing problem</li>
-  <li>removed a bug in the function allowing to override the memory
-    allocation routines</li>
-</ul><h3>2.2.0: July 14 2000</h3><ul>
-  <li>applied a lot of portability fixes</li>
-  <li>better encoding support/cleanup and saving (content is now always
-    encoded in UTF-8)</li>
-  <li>the HTML parser now correctly handles encodings</li>
-  <li>added xmlHasProp()</li>
-  <li>fixed a serious problem with &amp;#38;</li>
-  <li>propagated the fix to FTP client</li>
-  <li>cleanup, bugfixes, etc ...</li>
-  <li>Added a page about <a href="encoding.html">libxml Internationalization
-    support</a></li>
-</ul><h3>1.8.9:  July 9 2000</h3><ul>
-  <li>fixed the spec the RPMs should be better</li>
-  <li>fixed a serious bug in the FTP implementation, released 1.8.9 to solve
-    rpmfind users problem</li>
-</ul><h3>2.1.1: July 1 2000</h3><ul>
-  <li>fixes a couple of bugs in the 2.1.0 packaging</li>
-  <li>improvements on the HTML parser</li>
-</ul><h3>2.1.0 and 1.8.8: June 29 2000</h3><ul>
-  <li>1.8.8 is mostly a commodity package for upgrading to libxml2 according
-    to <a href="upgrade.html">new instructions</a>. It fixes a nasty problem
-    about &amp;#38; charref parsing</li>
-  <li>2.1.0 also ease the upgrade from libxml v1 to the recent version. it
-    also contains numerous fixes and enhancements:
-    <ul>
-      <li>added xmlStopParser() to stop parsing</li>
-      <li>improved a lot parsing speed when there is large CDATA blocks</li>
-      <li>includes XPath patches provided by Picdar Technology</li>
-      <li>tried to fix as much as possible DTD validation and namespace
-        related problems</li>
-      <li>output to a given encoding has been added/tested</li>
-      <li>lot of various fixes</li>
-    </ul>
-  </li>
-</ul><h3>2.0.0: Apr 12 2000</h3><ul>
-  <li>First public release of libxml2. If you are using libxml, it's a good
-    idea to check the 1.x to 2.x upgrade instructions. NOTE: while initially
-    scheduled for Apr 3 the release occurred only on Apr 12 due to massive
-    workload.</li>
-  <li>The include are now located under $prefix/include/libxml (instead of
-    $prefix/include/gnome-xml), they also are referenced by
-    <pre>#include &lt;libxml/xxx.h&gt;</pre>
-    <p>instead of</p>
-    <pre>#include "xxx.h"</pre>
-  </li>
-  <li>a new URI module for parsing URIs and following strictly RFC 2396</li>
-  <li>the memory allocation routines used by libxml can now be overloaded
-    dynamically by using xmlMemSetup()</li>
-  <li>The previously CVS only tool tester has been renamed
-    <strong>xmllint</strong> and is now installed as part of the libxml2
-    package</li>
-  <li>The I/O interface has been revamped. There is now ways to plug in
-    specific I/O modules, either at the URI scheme detection level using
-    xmlRegisterInputCallbacks()  or by passing I/O functions when creating a
-    parser context using xmlCreateIOParserCtxt()</li>
-  <li>there is a C preprocessor macro LIBXML_VERSION providing the version
-    number of the libxml module in use</li>
-  <li>a number of optional features of libxml can now be excluded at
-    configure time (FTP/HTTP/HTML/XPath/Debug)</li>
-</ul><h3>2.0.0beta: Mar 14 2000</h3><ul>
-  <li>This is a first Beta release of libxml version 2</li>
-  <li>It's available only from<a href="ftp://xmlsoft.org/libxml2/">xmlsoft.org
-    FTP</a>, it's packaged as libxml2-2.0.0beta and available as tar and
-  RPMs</li>
-  <li>This version is now the head in the Gnome CVS base, the old one is
-    available under the tag LIB_XML_1_X</li>
-  <li>This includes a very large set of changes. From a  programmatic point
-    of view applications should not have to be modified too much, check the
-    <a href="upgrade.html">upgrade page</a></li>
-  <li>Some interfaces may changes (especially a bit about encoding).</li>
-  <li>the updates includes:
-    <ul>
-      <li>fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
-        handled now</li>
-      <li>Better handling of entities, especially well-formedness checking
-        and proper PEref extensions in external subsets</li>
-      <li>DTD conditional sections</li>
-      <li>Validation now correctly handle entities content</li>
-      <li><a href="http://rpmfind.net/tools/gdome/messages/0039.html">change
-        structures to accommodate DOM</a></li>
-    </ul>
-  </li>
-  <li>Serious progress were made toward compliance, <a href="conf/result.html">here are the result of the test</a> against the
-    OASIS testsuite (except the Japanese tests since I don't support that
-    encoding yet). This URL is rebuilt every couple of hours using the CVS
-    head version.</li>
-</ul><h3>1.8.7: Mar 6 2000</h3><ul>
-  <li>This is a bug fix release:</li>
-  <li>It is possible to disable the ignorable blanks heuristic used by
-    libxml-1.x, a new function  xmlKeepBlanksDefault(0) will allow this. Note
-    that for adherence to XML spec, this behaviour will be disabled by
-    default in 2.x . The same function will allow to keep compatibility for
-    old code.</li>
-  <li>Blanks in &lt;a&gt;  &lt;/a&gt; constructs are not ignored anymore,
-    avoiding heuristic is really the Right Way :-\</li>
-  <li>The unchecked use of snprintf which was breaking libxml-1.8.6
-    compilation on some platforms has been fixed</li>
-  <li>nanoftp.c nanohttp.c: Fixed '#' and '?' stripping when processing
-  URIs</li>
-</ul><h3>1.8.6: Jan 31 2000</h3><ul>
-  <li>added a nanoFTP transport module, debugged until the new version of <a href="http://rpmfind.net/linux/rpm2html/rpmfind.html">rpmfind</a> can use
-    it without troubles</li>
-</ul><h3>1.8.5: Jan 21 2000</h3><ul>
-  <li>adding APIs to parse a well balanced chunk of XML (production <a href="http://www.w3.org/TR/REC-xml#NT-content">[43] content</a> of the
-    XML spec)</li>
-  <li>fixed a hideous bug in xmlGetProp pointed by Rune.Djurhuus@fast.no</li>
-  <li>Jody Goldberg &lt;jgoldberg@home.com&gt; provided another patch trying
-    to solve the zlib checks problems</li>
-  <li>The current state in gnome CVS base is expected to ship as 1.8.5 with
-    gnumeric soon</li>
-</ul><h3>1.8.4: Jan 13 2000</h3><ul>
-  <li>bug fixes, reintroduced xmlNewGlobalNs(), fixed xmlNewNs()</li>
-  <li>all exit() call should have been removed from libxml</li>
-  <li>fixed a problem with INCLUDE_WINSOCK on WIN32 platform</li>
-  <li>added newDocFragment()</li>
-</ul><h3>1.8.3: Jan 5 2000</h3><ul>
-  <li>a Push interface for the XML and HTML parsers</li>
-  <li>a shell-like interface to the document tree (try tester --shell :-)</li>
-  <li>lots of bug fixes and improvement added over XMas holidays</li>
-  <li>fixed the DTD parsing code to work with the xhtml DTD</li>
-  <li>added xmlRemoveProp(), xmlRemoveID() and xmlRemoveRef()</li>
-  <li>Fixed bugs in xmlNewNs()</li>
-  <li>External entity loading code has been revamped, now it uses
-    xmlLoadExternalEntity(), some fix on entities processing were added</li>
-  <li>cleaned up WIN32 includes of socket stuff</li>
-</ul><h3>1.8.2: Dec 21 1999</h3><ul>
-  <li>I got another problem with includes and C++, I hope this issue is fixed
-    for good this time</li>
-  <li>Added a few tree modification functions: xmlReplaceNode,
-    xmlAddPrevSibling, xmlAddNextSibling, xmlNodeSetName and
-    xmlDocSetRootElement</li>
-  <li>Tried to improve the HTML output with help from <a href="mailto:clahey@umich.edu">Chris Lahey</a></li>
-</ul><h3>1.8.1: Dec 18 1999</h3><ul>
-  <li>various patches to avoid troubles when using libxml with C++ compilers
-    the "namespace" keyword and C escaping in include files</li>
-  <li>a problem in one of the core macros IS_CHAR was corrected</li>
-  <li>fixed a bug introduced in 1.8.0 breaking default namespace processing,
-    and more specifically the Dia application</li>
-  <li>fixed a posteriori validation (validation after parsing, or by using a
-    Dtd not specified in the original document)</li>
-  <li>fixed a bug in</li>
-</ul><h3>1.8.0: Dec 12 1999</h3><ul>
-  <li>cleanup, especially memory wise</li>
-  <li>the parser should be more reliable, especially the HTML one, it should
-    not crash, whatever the input !</li>
-  <li>Integrated various patches, especially a speedup improvement for large
-    dataset from <a href="mailto:cnygard@bellatlantic.net">Carl Nygard</a>,
-    configure with --with-buffers to enable them.</li>
-  <li>attribute normalization, oops should have been added long ago !</li>
-  <li>attributes defaulted from DTDs should be available, xmlSetProp() now
-    does entities escaping by default.</li>
-</ul><h3>1.7.4: Oct 25 1999</h3><ul>
-  <li>Lots of HTML improvement</li>
-  <li>Fixed some errors when saving both XML and HTML</li>
-  <li>More examples, the regression tests should now look clean</li>
-  <li>Fixed a bug with contiguous charref</li>
-</ul><h3>1.7.3: Sep 29 1999</h3><ul>
-  <li>portability problems fixed</li>
-  <li>snprintf was used unconditionally, leading to link problems on system
-    were it's not available, fixed</li>
-</ul><h3>1.7.1: Sep 24 1999</h3><ul>
-  <li>The basic type for strings manipulated by libxml has been renamed in
-    1.7.1 from <strong>CHAR</strong> to <strong>xmlChar</strong>. The reason
-    is that CHAR was conflicting with a predefined type on Windows. However
-    on non WIN32 environment, compatibility is provided by the way of  a
-    <strong>#define </strong>.</li>
-  <li>Changed another error : the use of a structure field called errno, and
-    leading to troubles on platforms where it's a macro</li>
-</ul><h3>1.7.0: Sep 23 1999</h3><ul>
-  <li>Added the ability to fetch remote DTD or parsed entities, see the <a href="html/libxml-nanohttp.html">nanohttp</a> module.</li>
-  <li>Added an errno to report errors by another mean than a simple printf
-    like callback</li>
-  <li>Finished ID/IDREF support and checking when validation</li>
-  <li>Serious memory leaks fixed (there is now a <a href="html/libxml-xmlmemory.html">memory wrapper</a> module)</li>
-  <li>Improvement of <a href="http://www.w3.org/TR/xpath">XPath</a>
-    implementation</li>
-  <li>Added an HTML parser front-end</li>
-</ul><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/news.xsl b/doc/news.xsl
deleted file mode 100644
index 97b8e54..0000000
--- a/doc/news.xsl
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:xhtml="http://www.w3.org/1999/xhtml"
-                version="1.0">
-  <xsl:output method="text" encoding="UTF-8"/>
-
-  <xsl:template match="/">
-    <xsl:text>
-        NEWS file for libxml2
-
-</xsl:text>
-    <xsl:apply-templates select="//xhtml:h3[1]/.."/>
-  </xsl:template>
-  <xsl:template match="xhtml:h3">
-    <xsl:text>
-</xsl:text>
-    <xsl:apply-templates/>
-    <xsl:text>:
-</xsl:text>
-  </xsl:template>
-  <xsl:template match="xhtml:ul">
-    <xsl:apply-templates select=".//xhtml:li"/>
-    <xsl:text>
-</xsl:text>
-  </xsl:template>
-  <xsl:template match="xhtml:li">
-    <xsl:text>   - </xsl:text>
-    <xsl:value-of select="."/>
-    <xsl:text>
-</xsl:text>
-  </xsl:template>
-  <xsl:template match="xhtml:a">
-    <xsl:value-of select="."/>
-    <xsl:text> at 
-</xsl:text>
-    <xsl:value-of select="@href"/>
-    <xsl:text>
-</xsl:text>
-  </xsl:template>
-</xsl:stylesheet>
-
diff --git a/doc/python.html b/doc/python.html
deleted file mode 100644
index 97a1cd3..0000000
--- a/doc/python.html
+++ /dev/null
@@ -1,254 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Python and bindings</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Python and bindings</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There are a number of language bindings and wrappers available for
-libxml2, the list below is not exhaustive. Please contact the <a href="http://mail.gnome.org/mailman/listinfo/xml-bindings">xml-bindings@gnome.org</a>
-(<a href="http://mail.gnome.org/archives/xml-bindings/">archives</a>) in
-order to get updates to this list or to discuss the specific topic of libxml2
-or libxslt wrappers or bindings:</p><ul>
-  <li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">Libxml++</a> seems the
-    most up-to-date C++ bindings for libxml2, check the <a href="https://developer-old.gnome.org/libxml++/">documentation</a>
-    and the <a href="https://github.com/libxmlplusplus/libxmlplusplus/tree/master/examples">examples</a>.</li>
-  <li>There is another <a href="http://libgdome-cpp.berlios.de/">C++ wrapper
-    based on the gdome2 bindings</a> maintained by Tobias Peters.</li>
-  <li>and a third C++ wrapper by Peter Jones &lt;pjones@pmade.org&gt;
-    <p>Website: <a href="http://pmade.org/pjones/software/xmlwrapp/">http://pmade.org/pjones/software/xmlwrapp/</a></p>
-  </li>
-  <li>XML::LibXML <a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl
-      bindings</a> are available on CPAN, as well as XML::LibXSLT
-      <a href="http://cpan.uwinnipeg.ca/dist/XML-LibXSLT">Perl libxslt
-      bindings</a>.</li>
-  <li>If you're interested into scripting XML processing, have a look at <a href="http://xsh.sourceforge.net/">XSH</a> an XML editing shell based on
-    Libxml2 Perl bindings.</li>
-  <li><a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provides an
-    earlier version of the libxml/libxslt <a href="http://www.rexx.com/~dkuhlman">wrappers for Python</a>.</li>
-  <li>Gopal.V and Peter Minten develop <a href="http://savannah.gnu.org/projects/libxmlsharp">libxml#</a>, a set of
-    C# libxml2 bindings.</li>
-  <li>Petr Kozelka provides <a href="http://sourceforge.net/projects/libxml2-pas">Pascal units to glue
-    libxml2</a> with Kylix, Delphi and other Pascal compilers.</li>
-  <li>Uwe Fechner also provides <a href="http://sourceforge.net/projects/idom2-pas/">idom2</a>, a DOM2
-    implementation for Kylix2/D5/D6 from Borland.</li>
-  <li>There is <a href="http://libxml.rubyforge.org/">bindings for Ruby</a> 
-    and libxml2 bindings are also available in Ruby through the <a href="http://libgdome-ruby.berlios.de/">libgdome-ruby</a> module
-    maintained by Tobias Peters.</li>
-  <li>Steve Ball and contributors maintains <a href="http://tclxml.sourceforge.net/">libxml2 and libxslt bindings for
-    Tcl</a>.</li>
-  <li>libxml2 and libxslt are the default XML libraries for PHP5.</li>
-  <li><a href="http://savannah.gnu.org/projects/classpathx/">LibxmlJ</a> is
-    an effort to create a 100% JAXP-compatible Java wrapper for libxml2 and
-    libxslt as part of GNU ClasspathX project.</li>
-  <li>Patrick McPhee provides Rexx bindings for libxml2 and libxslt, look for
-    <a href="http://www.interlog.com/~ptjm/software.html">RexxXML</a>.</li>
-  <li><a href="http://www.satimage.fr/software/en/xml_suite.html">Satimage</a>
-    provides <a href="http://www.satimage.fr/software/en/downloads_osaxen.html">XMLLib
-    osax</a>. This is an osax for Mac OS X with a set of commands to
-    implement in AppleScript the XML DOM, XPATH and XSLT. Also includes
-    commands for Property-lists (Apple's fast lookup table XML format.)</li>
-  <li>Francesco Montorsi developed <a href="https://sourceforge.net/project/showfiles.php?group_id=51305&amp;package_id=45182">wxXml2</a>
-    wrappers that interface libxml2, allowing wxWidgets applications to
-    load/save/edit XML instances.</li>
-</ul><p>The distribution includes a set of Python bindings, which are guaranteed
-to be maintained as part of the library in the future, though the Python
-interface have not yet reached the completeness of the C API.</p><p>Note that some of the Python purist dislike the default set of Python
-bindings, rather than complaining I suggest they have a look at <a href="http://lxml.de/">lxml the more pythonic bindings for libxml2
-and libxslt</a> and <a href="http://lxml.de/mailinglist/">check the mailing-list</a>.</p><p><a href="mailto:stephane.bidoul@softwareag.com">Stéphane Bidoul</a>
-maintains <a href="http://users.skynet.be/sbi/libxml-python/">a Windows port
-of the Python bindings</a>.</p><p>Note to people interested in building bindings, the API is formalized as
-<a href="libxml2-api.xml">an XML API description file</a> which allows to
-automate a large part of the Python bindings, this includes function
-descriptions, enums, structures, typedefs, etc... The Python script used to
-build the bindings is python/generator.py in the source distribution.</p><p>To install the Python bindings there are 2 options:</p><ul>
-  <li>If you use an RPM based distribution, simply install the <a href="http://rpmfind.net/linux/rpm2html/search.php?query=libxml2-python">libxml2-python
-    RPM</a> (and if needed the <a href="http://rpmfind.net/linux/rpm2html/search.php?query=libxslt-python">libxslt-python
-    RPM</a>).</li>
-  <li>Otherwise use the <a href="ftp://xmlsoft.org/libxml2/python/">libxml2-python
-    module distribution</a> corresponding to your installed version of
-    libxml2 and libxslt. Note that to install it you will need both libxml2
-    and libxslt installed and run "python setup.py build install" in the
-    module tree.</li>
-</ul><p>The distribution includes a set of examples and regression tests for the
-python bindings in the <code>python/tests</code> directory. Here are some
-excerpts from those tests:</p><h3>tst.py:</h3><p>This is a basic test of the file interface and DOM navigation:</p><pre>import libxml2, sys
-
-doc = libxml2.parseFile("tst.xml")
-if doc.name != "tst.xml":
-    print "doc.name failed"
-    sys.exit(1)
-root = doc.children
-if root.name != "doc":
-    print "root.name failed"
-    sys.exit(1)
-child = root.children
-if child.name != "foo":
-    print "child.name failed"
-    sys.exit(1)
-doc.freeDoc()</pre><p>The Python module is called libxml2; parseFile is the equivalent of
-xmlParseFile (most of the bindings are automatically generated, and the xml
-prefix is removed and the casing convention are kept). All node seen at the
-binding level share the same subset of accessors:</p><ul>
-  <li><code>name</code> : returns the node name</li>
-  <li><code>type</code> : returns a string indicating the node type</li>
-  <li><code>content</code> : returns the content of the node, it is based on
-    xmlNodeGetContent() and hence is recursive.</li>
-  <li><code>parent</code> , <code>children</code>, <code>last</code>,
-    <code>next</code>, <code>prev</code>, <code>doc</code>,
-    <code>properties</code>: pointing to the associated element in the tree,
-    those may return None in case no such link exists.</li>
-</ul><p>Also note the need to explicitly deallocate documents with freeDoc() .
-Reference counting for libxml2 trees would need quite a lot of work to
-function properly, and rather than risk memory leaks if not implemented
-correctly it sounds safer to have an explicit function to free a tree. The
-wrapper python objects like doc, root or child are them automatically garbage
-collected.</p><h3>validate.py:</h3><p>This test check the validation interfaces and redirection of error
-messages:</p><pre>import libxml2
-
-#deactivate error messages from the validation
-def noerr(ctx, str):
-    pass
-
-libxml2.registerErrorHandler(noerr, None)
-
-ctxt = libxml2.createFileParserCtxt("invalid.xml")
-ctxt.validate(1)
-ctxt.parseDocument()
-doc = ctxt.doc()
-valid = ctxt.isValid()
-doc.freeDoc()
-if valid != 0:
-    print "validity check failed"</pre><p>The first thing to notice is the call to registerErrorHandler(), it
-defines a new error handler global to the library. It is used to avoid seeing
-the error messages when trying to validate the invalid document.</p><p>The main interest of that test is the creation of a parser context with
-createFileParserCtxt() and how the behaviour can be changed before calling
-parseDocument() . Similarly the information resulting from the parsing phase
-is also available using context methods.</p><p>Contexts like nodes are defined as class and the libxml2 wrappers maps the
-C function interfaces in terms of objects method as much as possible. The
-best to get a complete view of what methods are supported is to look at the
-libxml2.py module containing all the wrappers.</p><h3>push.py:</h3><p>This test show how to activate the push parser interface:</p><pre>import libxml2
-
-ctxt = libxml2.createPushParser(None, "&lt;foo", 4, "test.xml")
-ctxt.parseChunk("/&gt;", 2, 1)
-doc = ctxt.doc()
-
-doc.freeDoc()</pre><p>The context is created with a special call based on the
-xmlCreatePushParser() from the C library. The first argument is an optional
-SAX callback object, then the initial set of data, the length and the name of
-the resource in case URI-References need to be computed by the parser.</p><p>Then the data are pushed using the parseChunk() method, the last call
-setting the third argument terminate to 1.</p><h3>pushSAX.py:</h3><p>this test show the use of the event based parsing interfaces. In this case
-the parser does not build a document, but provides callback information as
-the parser makes progresses analyzing the data being provided:</p><pre>import libxml2
-log = ""
-
-class callback:
-    def startDocument(self):
-        global log
-        log = log + "startDocument:"
-
-    def endDocument(self):
-        global log
-        log = log + "endDocument:"
-
-    def startElement(self, tag, attrs):
-        global log
-        log = log + "startElement %s %s:" % (tag, attrs)
-
-    def endElement(self, tag):
-        global log
-        log = log + "endElement %s:" % (tag)
-
-    def characters(self, data):
-        global log
-        log = log + "characters: %s:" % (data)
-
-    def warning(self, msg):
-        global log
-        log = log + "warning: %s:" % (msg)
-
-    def error(self, msg):
-        global log
-        log = log + "error: %s:" % (msg)
-
-    def fatalError(self, msg):
-        global log
-        log = log + "fatalError: %s:" % (msg)
-
-handler = callback()
-
-ctxt = libxml2.createPushParser(handler, "&lt;foo", 4, "test.xml")
-chunk = " url='tst'&gt;b"
-ctxt.parseChunk(chunk, len(chunk), 0)
-chunk = "ar&lt;/foo&gt;"
-ctxt.parseChunk(chunk, len(chunk), 1)
-
-reference = "startDocument:startElement foo {'url': 'tst'}:" + \ 
-            "characters: bar:endElement foo:endDocument:"
-if log != reference:
-    print "Error got: %s" % log
-    print "Expected: %s" % reference</pre><p>The key object in that test is the handler, it provides a number of entry
-points which can be called by the parser as it makes progresses to indicate
-the information set obtained. The full set of callback is larger than what
-the callback class in that specific example implements (see the SAX
-definition for a complete list). The wrapper will only call those supplied by
-the object when activated. The startElement receives the names of the element
-and a dictionary containing the attributes carried by this element.</p><p>Also note that the reference string generated from the callback shows a
-single character call even though the string "bar" is passed to the parser
-from 2 different call to parseChunk()</p><h3>xpath.py:</h3><p>This is a basic test of XPath wrappers support</p><pre>import libxml2
-
-doc = libxml2.parseFile("tst.xml")
-ctxt = doc.xpathNewContext()
-res = ctxt.xpathEval("//*")
-if len(res) != 2:
-    print "xpath query: wrong node set size"
-    sys.exit(1)
-if res[0].name != "doc" or res[1].name != "foo":
-    print "xpath query: wrong node set value"
-    sys.exit(1)
-doc.freeDoc()
-ctxt.xpathFreeContext()</pre><p>This test parses a file, then create an XPath context to evaluate XPath
-expression on it. The xpathEval() method execute an XPath query and returns
-the result mapped in a Python way. String and numbers are natively converted,
-and node sets are returned as a tuple of libxml2 Python nodes wrappers. Like
-the document, the XPath context need to be freed explicitly, also not that
-the result of the XPath query may point back to the document tree and hence
-the document must be freed after the result of the query is used.</p><h3>xpathext.py:</h3><p>This test shows how to extend the XPath engine with functions written in
-python:</p><pre>import libxml2
-
-def foo(ctx, x):
-    return x + 1
-
-doc = libxml2.parseFile("tst.xml")
-ctxt = doc.xpathNewContext()
-libxml2.registerXPathFunction(ctxt._o, "foo", None, foo)
-res = ctxt.xpathEval("foo(1)")
-if res != 2:
-    print "xpath extension failure"
-doc.freeDoc()
-ctxt.xpathFreeContext()</pre><p>Note how the extension function is registered with the context (but that
-part is not yet finalized, this may change slightly in the future).</p><h3>tstxpath.py:</h3><p>This test is similar to the previous one but shows how the extension
-function can access the XPath evaluation context:</p><pre>def foo(ctx, x):
-    global called
-
-    #
-    # test that access to the XPath evaluation contexts
-    #
-    pctxt = libxml2.xpathParserContext(_obj=ctx)
-    ctxt = pctxt.context()
-    called = ctxt.function()
-    return x + 1</pre><p>All the interfaces around the XPath parser(or rather evaluation) context
-are not finalized, but it should be sufficient to do contextual work at the
-evaluation point.</p><h3>Memory debugging:</h3><p>last but not least, all tests starts with the following prologue:</p><pre>#memory debug specific
-libxml2.debugMemory(1)</pre><p>and ends with the following epilogue:</p><pre>#memory debug specific
-libxml2.cleanupParser()
-if libxml2.debugMemory(1) == 0:
-    print "OK"
-else:
-    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
-    libxml2.dumpMemory()</pre><p>Those activate the memory debugging interface of libxml2 where all
-allocated block in the library are tracked. The prologue then cleans up the
-library state and checks that all allocated memory has been freed. If not it
-calls dumpMemory() which saves that list in a <code>.memdump</code> file.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/queries.py b/doc/queries.py
deleted file mode 100755
index 0f019ec..0000000
--- a/doc/queries.py
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/python -u
-#
-# Processing of the queries results
-#
-import sys
-import index
-import time
-import traceback
-import string
-
-if index.openMySQL(verbose = 0) < 0:
-    print "Failed to connect to the MySQL database"
-    sys.exit(1)
-
-DB = index.DB
-
-def getTopQueriesDB(base = "Queries", number = 50):
-    global DB
-
-    try:
-        import os
-	os.mkdir("searches")
-    except:
-        pass
-    
-    date = time.strftime("%Y%m%d")
-    f = open("searches/%s-%s.xml" % (base, date), "w")
-    c = DB.cursor()
-    try:
-        ret = c.execute("""select sum(Count) from %s""" % (base))
-	row = c.fetchone()
-	total = int(row[0])
-        ret = c.execute("""select count(*) from %s""" % (base))
-	row = c.fetchone()
-	uniq = int(row[0])
-        ret = c.execute(
-           """select * from %s ORDER BY Count DESC LIMIT %d""" % (base, number))
-	i = 0;
-	f.write("<queries total='%d' uniq='%d' nr='%d' date='%s'>\n" % (
-	      total, uniq, number, date))
-	while i < ret:
-	    row = c.fetchone()
-	    f.write("  <query count='%d'>%s</query>\n" % (int(row[2]), row[1]))
-	    i = i + 1
-	f.write("</queries>\n")
-    except:
-        print "getTopQueries %s %d failed\n" % (base, number)
-	print sys.exc_type, sys.exc_value
-	return -1
-    f.close()
-
-def getTopQueries(number = 50):
-    return getTopQueriesDB(base = "Queries", number = number)
-
-def getAllTopQueries(number = 50):
-    return getTopQueriesDB(base = "AllQueries", number = number)
-
-def increaseTotalCount(Value, count):
-    global DB
-
-    c = DB.cursor()
-    try:
-        ret = c.execute("""select ID,Count from AllQueries where Value='%s'""" %
-	                (Value))
-	row = c.fetchone()
-	id = row[0]
-	cnt = int(row[1]) + count
-	ret = c.execute("""UPDATE AllQueries SET Count = %d where ID = %d""" %
-	                (cnt, id))
-    except:
-        ret = c.execute(
-	"""INSERT INTO AllQueries (Value, Count) VALUES ('%s', %d)""" %
-	                (Value, count))
-    
-
-def checkString(str):
-    if string.find(str, "'") != -1 or \
-       string.find(str, '"') != -1 or \
-       string.find(str, "\\") != -1 or \
-       string.find(str, " ") != -1 or \
-       string.find(str, "\t") != -1 or \
-       string.find(str, "\n") != -1 or \
-       string.find(str, "\r") != -1:
-        return 0
-    return 1
-def addCounts(frmtable):
-    global DB
-
-    i = 0
-    c = DB.cursor()
-    entries=[]
-    try:
-        ret = c.execute("""select Value,Count from %s""" % (frmtable))
-	while i < ret:
-	    i = i + 1
-	    row = c.fetchone()
-	    if checkString(row[0]):
-		entries.append((row[0], int(row[1])))
-	    else:
-		entries.append((None, int(row[1])))
-	
-	for row in entries:
-	    if row[0] != None:
-		increaseTotalCount(row[0], row[1])
-    except:
-        print "addCounts %s failed" % (frmtable)
-	print sys.exc_type, sys.exc_value
-	traceback.print_exc(file=sys.stdout)
-        
-    try:
-	c.execute("""DELETE from %s""" % (frmtable))
-    except:
-	pass
-
-
-    
-getTopQueries()
-addCounts('Queries')
-getAllTopQueries()
diff --git a/doc/redhat.gif b/doc/redhat.gif
deleted file mode 100644
index eff3d73..0000000
--- a/doc/redhat.gif
+++ /dev/null
Binary files differ
diff --git a/doc/search.php b/doc/search.php
deleted file mode 100644
index c94e87e..0000000
--- a/doc/search.php
+++ /dev/null
@@ -1,477 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<link rel="SHORTCUT ICON" href="/favicon.ico">
-<style type="text/css"><!--
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
---></style>
-<title>Search the documentation on XMLSoft.org</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="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 library for Gnome</h1>
-<h2>Search engine</h2>
-</td></tr></table></td></tr></table></td>
-</tr></table>
-<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
-<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
-<table width="100%" border="0" cellspacing="1" cellpadding="3">
-<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
-<li><a href="index.html">Home</a></li>
-<li><a href="intro.html">Introduction</a></li>
-<li><a href="FAQ.html">FAQ</a></li>
-<li><a href="docs.html">Documentation</a></li>
-<li><a href="bugs.html">Reporting bugs and getting help</a></li>
-<li><a href="help.html">How to help</a></li>
-<li><a href="downloads.html">Downloads</a></li>
-<li><a href="news.html">News</a></li>
-<li><a href="XMLinfo.html">XML</a></li>
-<li><a href="XSLT.html">XSLT</a></li>
-<li><a href="python.html">Python and bindings</a></li>
-<li><a href="architecture.html">libxml 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="xmldtd.html">Validation &amp; DTDs</a></li>
-<li><a href="xmlmem.html">Memory Management</a></li>
-<li><a href="encoding.html">Encodings support</a></li>
-<li><a href="xmlio.html">I/O Interfaces</a></li>
-<li><a href="catalog.html">Catalog support</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="contribs.html">Contributions</a></li>
-<li><a href="tutorial/index.html">Tutorial</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://ww.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=libxml&amp;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">
-<?php
-    $query = $HTTP_GET_VARS[ "query" ];
-    $scope = $HTTP_GET_VARS[ "scope" ];
-    // We handle only the first argument so far
-    $query = $_GET['query'];
-    $query = ltrim ($query);
-    if (! $query) {
-        echo "<h1 align='center'>Search the documentation on XMLSoft.org</h1>";
-    }
-    if ($scope == NULL)
-        $scope = "any";
-    $scope = ltrim ($scope);
-    if ($scope == "")
-        $scope = "any";
-    $querystr = htmlspecialchars($query, ENT_QUOTES, 'UTF-8');
-
-?>
-<p> The search service indexes the libxml2 and libxslt APIs and documentation as well as the xml@gnome.org and xslt@gnome.org mailing-list archives. To use it simply provide a set of keywords:
-<p>
-<form action="<?php echo "$PHP_SELF", "?query=", rawurlencode($query) ?>"
-      enctype="application/x-www-form-urlencoded" method="GET">
-  <input name="query" type="TEXT" size="50" value="<?php echo $querystr?>">
-  <select name="scope">
-    <option value="any">Search All</option>
-    <option value="XML" <?php if ($scope == 'XML') print "selected"?>>XML resources</option>
-    <option value="XSLT" <?php if ($scope == 'XSLT') print "selected"?>>XSLT resources</option>
-    <option value="API" <?php if ($scope == 'API') print "selected"?>>Only the APIs</option>
-    <option value="XMLAPI" <?php if ($scope == 'XMLAPI') print "selected"?>>Only the XML API</option>
-    <option value="XSLTAPI" <?php if ($scope == 'XSLTAPI') print "selected"?>>Only the XSLT API</option>
-    <option value="DOCS" <?php if ($scope == 'DOCS') print "selected"?>>Only the Documentation</option>
-    <option value="XMLDOC" <?php if ($scope == 'XMLDOC') print "selected"?>>Only the XML Documentation</option>
-    <option value="XSLTDOC" <?php if ($scope == 'XSLTDOC') print "selected"?>>Only the XSLT Documentation</option>
-    <option value="LISTS" <?php if ($scope == 'LISTS') print "selected"?>>Only the lists archives</option>
-    <option value="XMLLIST" <?php if ($scope == 'XMLLIST') print "selected"?>>Only the XML list archive</option>
-    <option value="XSLTLIST" <?php if ($scope == 'XSLTLIST') print "selected"?>>Only the XSLT list archive</option>
-  </select>
-  <input name=submit type=submit value="Search ...">
-</form>
-<?php
-    function logQueryWord($word) {
-        $result = mysql_query ("SELECT ID,Count FROM Queries WHERE Value='$word'");
-	if ($result) {
-	    $i = mysql_num_rows($result);
-	    if ($i == 0) {
-	        mysql_free_result($result);
-		mysql_query ("INSERT INTO Queries (Value,Count) VALUES ('$word',1)");
-	    } else {
-	        $id = mysql_result($result, 0, 0);
-		$count = mysql_result($result, 0, 1);
-		$count ++;
-		mysql_query ("UPDATE Queries SET Count=$count WHERE ID=$id");
-	    }
-	} else {
-	    mysql_query ("INSERT INTO Queries (Value,Count) VALUES ('$word',1)");
-	}
-    }
-    function queryWord($word) {
-        $result = NULL;
-	$j = 0;
-        if ($word) {
-	    $result = mysql_query ("SELECT words.relevance, symbols.name, symbols.type, symbols.module, symbols.descr FROM words, symbols WHERE LCASE(words.name) LIKE LCASE('$word') and words.symbol = symbols.name ORDER BY words.relevance DESC LIMIT 75");
-	    if ($result) {
-		$j = mysql_num_rows($result);
-		if ($j == 0) 
-		    mysql_free_result($result);
-	    }
-	    logQueryWord($word);
-	}
-	return array($result, $j);
-    }
-    function queryHTMLWord($word) {
-        $result = NULL;
-	$j = 0;
-        if ($word) {
-	    $result = mysql_query ("SELECT relevance, name, id, resource, section FROM wordsHTML WHERE LCASE(name) LIKE LCASE('$word') ORDER BY relevance DESC LIMIT 75");
-	    if ($result) {
-		$j = mysql_num_rows($result);
-		if ($j == 0) 
-		    mysql_free_result($result);
-	    }
-	    logQueryWord($word);
-	}
-	return array($result, $j);
-    }
-    function queryArchiveWord($word) {
-        $result = NULL;
-	$j = 0;
-        if ($word) {
-	    $result = mysql_query ("SELECT wordsArchive.relevance, wordsArchive.name, 'xml-list', archives.resource, archives.title FROM wordsArchive, archives WHERE LCASE(wordsArchive.name) LIKE LCASE('$word') and wordsArchive.ID = archives.ID ORDER BY relevance DESC LIMIT 75");
-	    if ($result) {
-		$j = mysql_num_rows($result);
-		if ($j == 0) 
-		    mysql_free_result($result);
-	    }
-	    logQueryWord($word);
-	}
-	return array($result, $j);
-    }
-    function XSLTqueryWord($word) {
-        $result = NULL;
-	$j = 0;
-        if ($word) {
-	    $result = mysql_query ("SELECT XSLTwords.relevance, XSLTsymbols.name, XSLTsymbols.type, XSLTsymbols.module, XSLTsymbols.descr FROM XSLTwords, XSLTsymbols WHERE LCASE(XSLTwords.name) LIKE LCASE('$word') and XSLTwords.symbol = XSLTsymbols.name ORDER BY XSLTwords.relevance DESC LIMIT 75");
-	    if ($result) {
-		$j = mysql_num_rows($result);
-		if ($j == 0) 
-		    mysql_free_result($result);
-	    }
-	    logQueryWord($word);
-	}
-	return array($result, $j);
-    }
-    function XSLTqueryHTMLWord($word) {
-        $result = NULL;
-	$j = 0;
-        if ($word) {
-	    $result = mysql_query ("SELECT relevance, name, id, resource, section FROM XSLTwordsHTML WHERE LCASE(name) LIKE LCASE('$word') ORDER BY relevance DESC LIMIT 75");
-	    if ($result) {
-		$j = mysql_num_rows($result);
-		if ($j == 0) 
-		    mysql_free_result($result);
-	    }
-	    logQueryWord($word);
-	}
-	return array($result, $j);
-    }
-    function XSLTqueryArchiveWord($word) {
-        $result = NULL;
-	$j = 0;
-        if ($word) {
-	    $result = mysql_query ("SELECT XSLTwordsArchive.relevance, XSLTwordsArchive.name, 'xslt-list', archives.resource, archives.title FROM XSLTwordsArchive, archives WHERE LCASE(XSLTwordsArchive.name) LIKE LCASE('$word') and XSLTwordsArchive.ID = archives.ID ORDER BY relevance DESC LIMIT 75");
-	    if ($result) {
-		$j = mysql_num_rows($result);
-		if ($j == 0) 
-		    mysql_free_result($result);
-	    }
-	    logQueryWord($word);
-	}
-	return array($result, $j);
-    }
-    function resSort ($a, $b) {
-	list($ra,$ta,$ma,$na,$da) = $a;
-	list($rb,$tb,$mb,$nb,$db) = $b;
-	if ($ra == $rb) return 0;
-	return ($ra > $rb) ? -1 : 1;
-    }
-    if (($query) && (strlen($query) <= 50)) {
-	$link = mysql_connect ("localhost", "nobody");
-	if (!$link) {
-	    echo "<p> Could not connect to the database: ", mysql_error();
-	} else {
-	    mysql_select_db("xmlsoft", $link);
-	    $list = explode (" ", $query);
-	    $results = array();
-	    $number = 0;
-	    for ($number = 0;$number < count($list);$number++) {
-
-		$word = $list[$number];
-		if (($scope == 'any') || ($scope == 'XML') ||
-		    ($scope == 'API') || ($scope == 'XMLAPI')) {
-		    list($result, $j) = queryWord($word);
-		    if ($j > 0) {
-			for ($i = 0; $i < $j; $i++) {
-			    $relevance = mysql_result($result, $i, 0);
-			    $name = mysql_result($result, $i, 1);
-			    $type = mysql_result($result, $i, 2);
-			    $module = mysql_result($result, $i, 3);
-			    $desc = mysql_result($result, $i, 4);
-			    if (array_key_exists($name, $results)) {
-				list($r,$t,$m,$d,$w,$u) = $results[$name];
-				$results[$name] = array(($r + $relevance) * 2,
-							$t,$m,$d,$w,$u);
-			    } else {
-				$id = $name;
-				$m = strtolower($module);
-				$url = "html/libxml-$module.html#$id";
-				$results[$name] = array($relevance,$type,
-						$module, $desc, $name, $url);
-			    }
-			}
-			mysql_free_result($result);
-		    }
-		}
-		if (($scope == 'any') || ($scope == 'XSLT') ||
-		    ($scope == 'API') || ($scope == 'XSLTAPI')) {
-		    list($result, $j) = XSLTqueryWord($word);
-		    if ($j > 0) {
-			for ($i = 0; $i < $j; $i++) {
-			    $relevance = mysql_result($result, $i, 0);
-			    $name = mysql_result($result, $i, 1);
-			    $type = mysql_result($result, $i, 2);
-			    $module = mysql_result($result, $i, 3);
-			    $desc = mysql_result($result, $i, 4);
-			    if (array_key_exists($name, $results)) {
-				list($r,$t,$m,$d,$w,$u) = $results[$name];
-				$results[$name] = array(($r + $relevance) * 2,
-							$t,$m,$d,$w,$u);
-			    } else {
-				$id = $name;
-				$m = strtolower($module);
-				$url = "XSLT/html/libxslt-$module.html#$id";
-				$results[$name] = array($relevance,$type,
-						$module, $desc, $name, $url);
-			    }
-			}
-			mysql_free_result($result);
-		    }
-		}
-		if (($scope == 'any') || ($scope == 'XML') ||
-		    ($scope == 'DOCS') || ($scope == 'XMLDOC')) {
-		    list($result, $k) = queryHTMLWord($word);
-		    if ($k > 0) {
-			for ($i = 0; $i < $k; $i++) {
-			    $relevance = mysql_result($result, $i, 0);
-			    $name = mysql_result($result, $i, 1);
-			    $id = mysql_result($result, $i, 2);
-			    $module = mysql_result($result, $i, 3);
-			    $desc = mysql_result($result, $i, 4);
-			    if (strncmp($module, "libxml-", 7) == 0)
-			        $url = "html/$module";
-			    if ($id != "") {
-				$url = $url + "#$id";
-			    }
-			    $results["$name _html_ $number _ $i"] =
-					  array($relevance, "XML docs",
-						$module, $desc, $name, $url);
-			}
-			mysql_free_result($result);
-		    }
-		}
-		if (($scope == 'any') || ($scope == 'XSLT') ||
-		    ($scope == 'DOCS') || ($scope == 'XSLTDOC')) {
-		    list($result, $k) = XSLTqueryHTMLWord($word);
-		    if ($k > 0) {
-			for ($i = 0; $i < $k; $i++) {
-			    $relevance = mysql_result($result, $i, 0);
-			    $name = mysql_result($result, $i, 1);
-			    $id = mysql_result($result, $i, 2);
-			    $module = mysql_result($result, $i, 3);
-			    $desc = mysql_result($result, $i, 4);
-			    $url = "XSLT/$module";
-			    if ($id != "") {
-				$url = $url + "#$id";
-			    }
-			    $results["$name xslthtml $number _ $i "] =
-					  array($relevance, "XSLT docs",
-						$module, $desc, $name, $url);
-			}
-			mysql_free_result($result);
-		    }
-		}
-		if (($scope == 'any') || ($scope == 'XML') ||
-		    ($scope == 'LISTS') || ($scope == 'XMLLIST')) {
-		    list($result, $j) = queryArchiveWord($word);
-		    if ($j > 0) {
-			for ($i = 0; $i < $j; $i++) {
-			    $relevance = mysql_result($result, $i, 0);
-			    $name = mysql_result($result, $i, 1);
-			    $type = mysql_result($result, $i, 2);
-			    $url = mysql_result($result, $i, 3);
-			    $desc = mysql_result($result, $i, 4);
-			    if (array_key_exists($url, $results)) {
-				list($r,$t,$m,$d,$w,$u) = $results[$url];
-				$results[$name] = array(($r + $relevance) * 2,
-							$t,$m,$d,$w,$u);
-			    } else {
-				$id = $name;
-				$m = strtolower($module);
-				$u = str_replace(
-			"http://mail.gnome.org/archives/xml/", "", $url);
-				$results[$url] = array($relevance,$type,
-						$u, $desc, $name, $url);
-			    }
-			}
-			mysql_free_result($result);
-		    }
-		}
-		if (($scope == 'any') || ($scope == 'XSLT') ||
-		    ($scope == 'LISTS') || ($scope == 'XSLTLIST')) {
-		    list($result, $j) = XSLTqueryArchiveWord($word);
-		    if ($j > 0) {
-			for ($i = 0; $i < $j; $i++) {
-			    $relevance = mysql_result($result, $i, 0);
-			    $name = mysql_result($result, $i, 1);
-			    $type = mysql_result($result, $i, 2);
-			    $url = mysql_result($result, $i, 3);
-			    $desc = mysql_result($result, $i, 4);
-			    if (array_key_exists($url, $results)) {
-				list($r,$t,$m,$d,$w,$u) = $results[$url];
-				$results[$name] = array(($r + $relevance) * 2,
-							$t,$m,$d,$w,$u);
-			    } else {
-				$id = $name;
-				$m = strtolower($module);
-				$u = str_replace(
-			"http://mail.gnome.org/archives/xslt/", "", $url);
-				$results[$url] = array($relevance,$type,
-						$u, $desc, $name, $url);
-			    }
-			}
-			mysql_free_result($result);
-		    }
-		}
-	    }
-	    if ((count($results) == 0) && (count($list) == 1)) {
-		$word = $list[0];
-		if (($scope == 'any') || ($scope == 'XML') ||
-		    ($scope == 'API') || ($scope == 'XMLAPI')) {
-		    list($result, $j) = queryWord("xml$word");
-		    if ($j > 0) {
-			for ($i = 0; $i < $j; $i++) {
-			    $relevance = mysql_result($result, $i, 0);
-			    $name = mysql_result($result, $i, 1);
-			    $type = mysql_result($result, $i, 2);
-			    $module = mysql_result($result, $i, 3);
-			    $desc = mysql_result($result, $i, 4);
-			    if (array_key_exists($name, $results)) {
-				list($r,$t,$m,$d,$w,$u) = $results[$name];
-				$results[$name] = array(($r + $relevance) * 2,
-							$t,$m,$d,$w,$u);
-			    } else {
-				$id = $name;
-				$m = strtolower($module);
-				$url = "html/libxml-$module.html#$id";
-				$results[$name] = array($relevance,$type,
-						$module, $desc, $name, $url);
-			    }
-			}
-			mysql_free_result($result);
-		    }
-		}
-		if (($scope == 'any') || ($scope == 'XSLT') ||
-		    ($scope == 'API') || ($scope == 'XSLTAPI')) {
-		    list($result, $j) = XSLTqueryWord("xslt$word");
-		    if ($j > 0) {
-			for ($i = 0; $i < $j; $i++) {
-			    $relevance = mysql_result($result, $i, 0);
-			    $name = mysql_result($result, $i, 1);
-			    $type = mysql_result($result, $i, 2);
-			    $module = mysql_result($result, $i, 3);
-			    $desc = mysql_result($result, $i, 4);
-			    if (array_key_exists($name, $results)) {
-				list($r,$t,$m,$d,$w,$u) = $results[$name];
-				$results[$name] = array(($r + $relevance) * 2,
-							$t,$m,$d,$w,$u);
-			    } else {
-				$id = $name;
-				$m = strtolower($module);
-				$url = "XSLT/html/libxslt-$module.html#$id";
-				$results[$name] = array($relevance,$type,
-						$module, $desc, $name, $url);
-			    }
-			}
-			mysql_free_result($result);
-		    }
-		}
-	    }
-	    mysql_close($link);
-	    $nb = count($results);
-	    echo "<h3 align='center'>Found $nb results for query $querystr</h3>\n";
-	    usort($results, "resSort");
-
-            if ($nb > 0) {
-		printf("<table><tbody>\n");
-		printf("<tr><td>Quality</td><td>Symbol</td><td>Type</td><td>module</td><td>Description</td></tr>\n");
-		$i = 0;
-		while (list ($name, $val) = each ($results)) {
-		    list($r,$t,$m,$d,$s,$u) = $val;
-		    $m = str_replace("<", "&lt;", $m);
-		    $s = str_replace("<", "&lt;", $s);
-		    $d = str_replace("<", "&lt;", $d);
-		    echo "<tr><td>$r</td><td><a href='$u'>$s</a></td><td>$t</td><td>$m</td><td>$d</td></tr>";
-		    $i = $i + 1;
-		    if ($i > 75)
-		        break;
-		}
-		printf("</tbody></table>\n");
-	    }
-	}
-    }
-?>
-
-</td></tr></table></td></tr></table></td></tr></table></td>
-</tr></table></td></tr></table>
-</body>
-</html>
-
diff --git a/doc/searches.html b/doc/searches.html
deleted file mode 100644
index c22b8d6..0000000
--- a/doc/searches.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Search statistics for 20040408</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Search statistics for 20040408</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2> weekly statistics: </h2><p>416435 total words,
-      9875 uniq words.</p><p> Top 50 queries:</p><p><br /><a href="search.php?query=libxml2">libxml2</a> 11812 times.
-  <br /><a href="search.php?query=libxml">libxml</a> 10170 times.
-  <br /><a href="search.php?query=xpath">xpath</a> 6172 times.
-  <br /><a href="search.php?query=schema">schema</a> 5798 times.
-  <br /><a href="search.php?query=xmllint">xmllint</a> 5472 times.
-  <br /><a href="search.php?query=XML">XML</a> 5435 times.
-  <br /><a href="search.php?query=xmlParseFile">xmlParseFile</a> 4219 times.
-  <br /><a href="search.php?query=php">php</a> 3935 times.
-  <br /><a href="search.php?query=DTD">DTD</a> 3270 times.
-  <br /><a href="search.php?query=encoding">encoding</a> 3101 times.
-  <br /><a href="search.php?query=xmlGetProp">xmlGetProp</a> 3084 times.
-  <br /><a href="search.php?query=xsltproc">xsltproc</a> 3074 times.
-  <br /><a href="search.php?query=download">download</a> 2971 times.
-  <br /><a href="search.php?query=xmlNodeListGetString">xmlNodeListGetString</a> 2917 times.
-  <br /><a href="search.php?query=python">python</a> 2789 times.
-  <br /><a href="search.php?query=SAX">SAX</a> 2621 times.
-  <br /><a href="search.php?query=xmlParseMemory">xmlParseMemory</a> 2472 times.
-  <br /><a href="search.php?query=perl">perl</a> 2385 times.
-  <br /><a href="search.php?query=iconv">iconv</a> 2318 times.
-  <br /><a href="search.php?query=error">error</a> 2298 times.
-  <br /><a href="search.php?query=html">html</a> 2255 times.
-  <br /><a href="search.php?query=xmlChar">xmlChar</a> 2136 times.
-  <br /><a href="search.php?query=libxslt">libxslt</a> 2055 times.
-  <br /><a href="search.php?query=c++">c++</a> 2020 times.
-  <br /><a href="search.php?query=xmlNodePtr">xmlNodePtr</a> 1928 times.
-  <br /><a href="search.php?query=windows">windows</a> 1918 times.
-  <br /><a href="search.php?query=to">to</a> 1891 times.
-  <br /><a href="search.php?query=node">node</a> 1860 times.
-  <br /><a href="search.php?query=xmlFree">xmlFree</a> 1854 times.
-  <br /><a href="search.php?query=example">example</a> 1784 times.
-  <br /><a href="search.php?query=install">install</a> 1763 times.
-  <br /><a href="search.php?query=parser">parser</a> 1715 times.
-  <br /><a href="search.php?query=xmlNewDoc">xmlNewDoc</a> 1695 times.
-  <br /><a href="search.php?query=namespace">namespace</a> 1693 times.
-  <br /><a href="search.php?query=xmlStrcmp">xmlStrcmp</a> 1564 times.
-  <br /><a href="search.php?query=xmlnode">xmlnode</a> 1558 times.
-  <br /><a href="search.php?query=parse">parse</a> 1517 times.
-  <br /><a href="search.php?query=memory">memory</a> 1484 times.
-  <br /><a href="search.php?query=dom">dom</a> 1457 times.
-  <br /><a href="search.php?query=XInclude">XInclude</a> 1444 times.
-  <br /><a href="search.php?query=entity">entity</a> 1423 times.
-  <br /><a href="search.php?query=xmlSaveFormatFile">xmlSaveFormatFile</a> 1390 times.
-  <br /><a href="search.php?query=xslt">xslt</a> 1361 times.
-  <br /><a href="search.php?query=attribute">attribute</a> 1360 times.
-  <br /><a href="search.php?query=xmlDocPtr">xmlDocPtr</a> 1350 times.
-  <br /><a href="search.php?query=xsd">xsd</a> 1319 times.
-  <br /><a href="search.php?query=xmlDocGetRootElement">xmlDocGetRootElement</a> 1285 times.
-  <br /><a href="search.php?query=validate">validate</a> 1270 times.
-  <br /><a href="search.php?query=validation">validation</a> 1234 times.
-  <br /><a href="search.php?query=tutorial">tutorial</a> 1140 times.
-  </p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/searches.xsl b/doc/searches.xsl
deleted file mode 100644
index 57ff5c8..0000000
--- a/doc/searches.xsl
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0"?>
-<!-- this stylesheet builds the API*.html , it works based on libxml2-refs.xml
-  -->
-<xsl:stylesheet version="1.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:exsl="http://exslt.org/common"
-  extension-element-prefixes="exsl"
-  exclude-result-prefixes="exsl">
-
-  <!-- Import the rest of the site stylesheets -->
-  <xsl:import href="site.xsl"/>
-
-  <!-- Generate XHTML-1.0 transitional -->
-  <xsl:output method="xml" encoding="UTF-8" indent="yes"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
-
-  <xsl:variable name="href_base" select="''"/>
-
-  <xsl:template name="statistics">
-      <h2> weekly statistics: </h2>
-      <p><xsl:value-of select="@total"/> total words,
-      <xsl:value-of select="@uniq"/> uniq words.</p>
-      <p> Top <xsl:value-of select="@nr"/> queries:</p>
-  </xsl:template>
-
-  <xsl:template match="query">
-     <br/><a href="search.php?query={string(.)}"><xsl:value-of
-          select="string(.)"/></a>
-	  <xsl:text> </xsl:text><xsl:value-of select="@count"/> times.
-  </xsl:template>
-
-  <xsl:template match="queries">
-    <xsl:variable name="date" select="@date"/>
-    <xsl:variable name="title">Search statistics for <xsl:value-of select="$date"/></xsl:variable>
-    <xsl:document href="searches.html" method="xml" encoding="UTF-8"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-      <html>
-        <head>
-        <xsl:call-template name="style"/>
-	<xsl:element name="title">
-	  <xsl:value-of select="$title"/>
-	</xsl:element>
-        </head>
-        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
-          <xsl:call-template name="titlebox">
-	    <xsl:with-param name="title" select="$title"/>
-	  </xsl:call-template>
-          <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">
-                      <xsl:call-template name="toc"/>
-                    </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">
-				        <xsl:call-template name="statistics"/>
-					<p>
-				        <xsl:apply-templates select="query"/>
-					</p>
-					<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
-                                      </td>
-                                    </tr>
-                                  </table>
-                                </td>
-                              </tr>
-                            </table>
-                          </td>
-                        </tr>
-                      </table>
-                    </td>
-                  </tr>
-                </table>
-              </td>
-            </tr>
-          </table>
-        </body>
-      </html>
-    </xsl:document>
-  </xsl:template>
-
-  <xsl:template match="/">
-    <xsl:apply-templates select="queries"/>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/doc/searches/AllQueries-20040408.xml b/doc/searches/AllQueries-20040408.xml
deleted file mode 100644
index c2d2ec7..0000000
--- a/doc/searches/AllQueries-20040408.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<queries total='415083' uniq='9565' nr='50' date='20040408'>
-  <query count='11866'>libxml2</query>
-  <query count='10194'>libxml</query>
-  <query count='6196'>xpath</query>
-  <query count='5852'>schema</query>
-  <query count='5525'>xmllint</query>
-  <query count='5453'>XML</query>
-  <query count='4255'>xmlParseFile</query>
-  <query count='3983'>php</query>
-  <query count='3282'>DTD</query>
-  <query count='3143'>encoding</query>
-  <query count='3114'>xmlGetProp</query>
-  <query count='3086'>xsltproc</query>
-  <query count='2995'>download</query>
-  <query count='2923'>xmlNodeListGetString</query>
-  <query count='2801'>python</query>
-  <query count='2651'>SAX</query>
-  <query count='2533'>xmlParseMemory</query>
-  <query count='2411'>perl</query>
-  <query count='2330'>iconv</query>
-  <query count='2316'>error</query>
-  <query count='2255'>html</query>
-  <query count='2148'>xmlChar</query>
-  <query count='2082'>libxslt</query>
-  <query count='2020'>c++</query>
-  <query count='1940'>xmlNodePtr</query>
-  <query count='1924'>windows</query>
-  <query count='1891'>to</query>
-  <query count='1880'>node</query>
-  <query count='1860'>xmlFree</query>
-  <query count='1802'>example</query>
-  <query count='1763'>install</query>
-  <query count='1733'>parser</query>
-  <query count='1717'>namespace</query>
-  <query count='1702'>xmlNewDoc</query>
-  <query count='1589'>xmlnode</query>
-  <query count='1570'>xmlStrcmp</query>
-  <query count='1529'>parse</query>
-  <query count='1490'>memory</query>
-  <query count='1469'>dom</query>
-  <query count='1450'>XInclude</query>
-  <query count='1423'>entity</query>
-  <query count='1396'>xmlSaveFormatFile</query>
-  <query count='1373'>attribute</query>
-  <query count='1373'>xslt</query>
-  <query count='1363'>xsd</query>
-  <query count='1350'>xmlDocPtr</query>
-  <query count='1303'>xmlDocGetRootElement</query>
-  <query count='1270'>validate</query>
-  <query count='1234'>validation</query>
-  <query count='1146'>tutorial</query>
-</queries>
diff --git a/doc/searches/Queries-20040408.xml b/doc/searches/Queries-20040408.xml
deleted file mode 100644
index 62e6759..0000000
--- a/doc/searches/Queries-20040408.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<queries total='419854' uniq='10089' nr='50' date='20040408'>
-  <query count='11866'>libxml2</query>
-  <query count='10194'>libxml</query>
-  <query count='6196'>xpath</query>
-  <query count='5852'>schema</query>
-  <query count='5525'>xmllint</query>
-  <query count='5453'>XML</query>
-  <query count='4255'>xmlParseFile</query>
-  <query count='3983'>php</query>
-  <query count='3282'>DTD</query>
-  <query count='3143'>encoding</query>
-  <query count='3114'>xmlGetProp</query>
-  <query count='3086'>xsltproc</query>
-  <query count='2995'>download</query>
-  <query count='2923'>xmlNodeListGetString</query>
-  <query count='2801'>python</query>
-  <query count='2651'>SAX</query>
-  <query count='2533'>xmlParseMemory</query>
-  <query count='2411'>perl</query>
-  <query count='2330'>iconv</query>
-  <query count='2316'>error</query>
-  <query count='2255'>html</query>
-  <query count='2148'>xmlChar</query>
-  <query count='2082'>libxslt</query>
-  <query count='2020'>c++</query>
-  <query count='1940'>xmlNodePtr</query>
-  <query count='1924'>windows</query>
-  <query count='1891'>to</query>
-  <query count='1880'>node</query>
-  <query count='1860'>xmlFree</query>
-  <query count='1802'>example</query>
-  <query count='1763'>install</query>
-  <query count='1733'>parser</query>
-  <query count='1717'>namespace</query>
-  <query count='1702'>xmlNewDoc</query>
-  <query count='1589'>xmlnode</query>
-  <query count='1570'>xmlStrcmp</query>
-  <query count='1529'>parse</query>
-  <query count='1490'>memory</query>
-  <query count='1469'>dom</query>
-  <query count='1450'>XInclude</query>
-  <query count='1423'>entity</query>
-  <query count='1396'>xmlSaveFormatFile</query>
-  <query count='1373'>attribute</query>
-  <query count='1373'>xslt</query>
-  <query count='1363'>xsd</query>
-  <query count='1350'>xmlDocPtr</query>
-  <query count='1303'>xmlDocGetRootElement</query>
-  <query count='1270'>validate</query>
-  <query count='1234'>validation</query>
-  <query count='1146'>tutorial</query>
-</queries>
diff --git a/doc/site.xsl b/doc/site.xsl
deleted file mode 100644
index ce794fc..0000000
--- a/doc/site.xsl
+++ /dev/null
@@ -1,741 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" encoding="UTF-8" indent="yes"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
-
-  <xsl:variable name="href_base" select="''"/>
-  <xsl:variable name="menu_name">Main Menu</xsl:variable>
-<!--
- - returns the filename associated to an ID in the original file
- -->
-  <xsl:template name="tocfilename">
-    <xsl:param name="name" select="string(@href)"/>
-    <xsl:choose>
-      <xsl:when test="$name = '#Introducti'">
-        <xsl:text>intro.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Documentat'">
-        <xsl:text>docs.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Reporting'">
-        <xsl:text>bugs.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#help'">
-        <xsl:text>help.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Help'">
-        <xsl:text>help.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Downloads'">
-        <xsl:text>downloads.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#News'">
-        <xsl:text>news.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Contributi'">
-        <xsl:text>contribs.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#xsltproc'">
-        <xsl:text>xsltproc2.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#API'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#XSLT'">
-        <xsl:text>XSLT.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#XML'">
-        <xsl:text>XMLinfo.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Validation'">
-        <xsl:text>xmldtd.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#tree'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#library'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#interface'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Example'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Entities'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#architecture'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Namespaces'">
-        <xsl:text>namespaces.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#DOM'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Catalog'">
-        <xsl:text>catalog.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Upgrading'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Encodings'">
-        <xsl:text>encoding.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#IO'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Memory'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Thread'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#FAQ'">
-        <xsl:text>FAQ.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Python'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = ''">
-        <xsl:text>unknown.html</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$name"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-  <xsl:template name="docfilename">
-    <xsl:param name="name" select="string(@href)"/>
-    <xsl:choose>
-      <xsl:when test="$name = '#Introducti'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Documentat'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Reporting'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#help'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Help'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Downloads'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#News'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Contributi'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#xsltproc'">
-        <xsl:text>xsltproc2.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#API'">
-        <xsl:text>API.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#XSLT'">
-        <xsl:text>XSLT.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#XML'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Validation'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#tree'">
-        <xsl:text>tree.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#library'">
-        <xsl:text>library.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#interface'">
-        <xsl:text>interface.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Example'">
-        <xsl:text>example.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Entities'">
-        <xsl:text>entities.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#architecture'">
-        <xsl:text>architecture.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Namespaces'">
-        <xsl:text>namespaces.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#DOM'">
-        <xsl:text>DOM.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Catalog'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Upgrading'">
-        <xsl:text>upgrade.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Encodings'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#IO'">
-        <xsl:text>xmlio.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Memory'">
-        <xsl:text>xmlmem.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Thread'">
-        <xsl:text>threads.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#FAQ'">
-        <xsl:text></xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Python'">
-        <xsl:text>python.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = ''">
-        <xsl:text>unknown.html</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$name"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-  <xsl:template name="filename">
-    <xsl:param name="name" select="string(@href)"/>
-    <xsl:choose>
-      <xsl:when test="$name = '#Introducti'">
-        <xsl:text>intro.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Documentat'">
-        <xsl:text>docs.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Reporting'">
-        <xsl:text>bugs.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#help'">
-        <xsl:text>help.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Help'">
-        <xsl:text>help.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Downloads'">
-        <xsl:text>downloads.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#News'">
-        <xsl:text>news.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Contributi'">
-        <xsl:text>contribs.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#xsltproc'">
-        <xsl:text>xsltproc2.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#API'">
-        <xsl:text>API.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#XSLT'">
-        <xsl:text>XSLT.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#XML'">
-        <xsl:text>XMLinfo.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Validation'">
-        <xsl:text>xmldtd.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#tree'">
-        <xsl:text>tree.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#library'">
-        <xsl:text>library.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#interface'">
-        <xsl:text>interface.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Example'">
-        <xsl:text>example.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Entities'">
-        <xsl:text>entities.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#architecture'">
-        <xsl:text>architecture.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Namespaces'">
-        <xsl:text>namespaces.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#DOM'">
-        <xsl:text>DOM.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Catalog'">
-        <xsl:text>catalog.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Upgrading'">
-        <xsl:text>upgrade.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Encodings'">
-        <xsl:text>encoding.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#IO'">
-        <xsl:text>xmlio.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Memory'">
-        <xsl:text>xmlmem.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Thread'">
-        <xsl:text>threads.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#FAQ'">
-        <xsl:text>FAQ.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = '#Python'">
-        <xsl:text>python.html</xsl:text>
-      </xsl:when>
-      <xsl:when test="$name = ''">
-        <xsl:text>unknown.html</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$name"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-<!--
- - The global title
- -->
-  <xsl:variable name="globaltitle" select="string(/html/body/h1[1])"/>
-<!--
- - The table of content
- -->
-  <xsl:variable name="toc">
-    <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><!-- style="margin-left: -1em" -->
-      <li><a href="index.html">Home</a></li>
-      <!--<li><a href="http://xmlsoft.org/wiki">Wiki</a></li> -->
-      <li><a href="html/index.html">Reference Manual</a></li>
-      <xsl:for-each select="/html/body/h2">
-        <xsl:variable name="filename">
-          <xsl:call-template name="tocfilename">
-            <xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
-          </xsl:call-template>
-        </xsl:variable>
-	<xsl:if test="$filename != ''">
-	  <li>
-	    <xsl:element name="a">
-	      <xsl:attribute name="href">
-	        <xsl:value-of select="$filename"/>
-	      </xsl:attribute>
-	      <xsl:if test="$filename = 'docs.html'">
-		  <xsl:attribute name="style">font-weight:bold</xsl:attribute>
-	      </xsl:if>
-	      <xsl:value-of select="."/>
-	    </xsl:element>
-	  </li>
-	</xsl:if>
-      </xsl:for-each>
-      <li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li>
-      <li><a href="html/index.html" style="font-weight:bold">API Menu</a></li>
-      <li><a href="guidelines.html">XML Guidelines</a></li>
-      <li><a href="ChangeLog.html">Recent Changes</a></li>
-    </ul>
-  </xsl:variable>
-  <xsl:variable name="develtoc">
-    <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><!-- style="margin-left: -1em" -->
-      <li><a href="index.html" style="font-weight:bold">Main Menu</a></li>
-      <li><a href="html/index.html" style="font-weight:bold">Reference Manual</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>
-      <xsl:for-each select="/html/body/h2">
-        <xsl:variable name="filename">
-          <xsl:call-template name="docfilename">
-            <xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
-          </xsl:call-template>
-        </xsl:variable>
-	<xsl:if test="$filename != ''">
-	  <li>
-	    <xsl:element name="a">
-	      <xsl:attribute name="href">
-	        <xsl:value-of select="$filename"/>
-	      </xsl:attribute>
-	      <xsl:value-of select="."/>
-	    </xsl:element>
-	  </li>
-	</xsl:if>
-      </xsl:for-each>
-      <li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li>
-    </ul>
-  </xsl:variable>
-  <xsl:variable name="api">
-    <ul><!-- style="margin-left: -1em" -->
-      <li><a href="{$href_base}APIchunk0.html">Alphabetic</a></li>
-      <li><a href="{$href_base}APIconstructors.html">Constructors</a></li>
-      <li><a href="{$href_base}APIfunctions.html">Functions/Types</a></li>
-      <li><a href="{$href_base}APIfiles.html">Modules</a></li>
-      <li><a href="{$href_base}APIsymbols.html">Symbols</a></li>
-    </ul>
-  </xsl:variable>
-  <xsl:variable name="related">
-    <ul><!-- style="margin-left: -1em" -->
-      <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://opencsw.org/packages/libxml2">Solaris binaries</a></li>
-      <li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li>
-      <li><a href="http://lxml.de/">lxml Python bindings</a></li>
-      <li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li>
-      <li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li>
-      <li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li>
-      <li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
-      <li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li>
-      <li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li>
-      <li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li>
-    </ul>
-  </xsl:variable>
-  <xsl:template name="toc">
-    <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><xsl:value-of select="$menu_name"/></b>
-                </center>
-              </td>
-            </tr>
-            <tr>
-              <td bgcolor="#fffacd">
-                <xsl:copy-of select="$toc"/>
-              </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">
-                <xsl:copy-of select="$related"/>
-              </td>
-            </tr>
-          </table>
-        </td>
-      </tr>
-    </table>
-  </xsl:template>
-  <xsl:template name="develtoc">
-    <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">
-                <xsl:copy-of select="$develtoc"/>
-              </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">
-                <xsl:copy-of select="$api"/>
-              </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">
-                <xsl:copy-of select="$related"/>
-              </td>
-            </tr>
-          </table>
-        </td>
-      </tr>
-    </table>
-  </xsl:template>
-  <xsl:template mode="head" match="title">
-    <title>
-      <xsl:apply-templates/>
-    </title>
-  </xsl:template>
-  <xsl:template mode="head" match="meta">
-</xsl:template>
-<!--
- - Write the styles in the head
- -->
-  <xsl:template name="style">
-    <link rel="SHORTCUT ICON" href="/favicon.ico"/> 
-    <style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style>
-  </xsl:template>
-<!--
- - Write the title box on top
- -->
-  <xsl:template name="titlebox">
-    <xsl:param name="title" select="'Main Page'"/>
-    <table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
-    <tr>
-    <td width="120">
-    <a href="http://swpat.ffii.org/"><img src="{$href_base}epatents.png" alt="Action against software patents"/></a>
-    </td>
-    <td width="180">
-    <a href="http://www.gnome.org/"><img src="{$href_base}gnome2.png" alt="Gnome2 Logo"/></a>
-    <a href="http://www.w3.org/Status"><img src="{$href_base}w3c.png" alt="W3C Logo"/></a>
-    <a href="http://www.redhat.com/"><img src="{$href_base}redhat.gif" alt="Red Hat Logo"/></a>
-    <div align="left">
-    <a href="http://xmlsoft.org/"><img src="{$href_base}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">
-                <xsl:element name="h1">
-                  <xsl:value-of select="$globaltitle"/>
-                </xsl:element>
-                <xsl:element name="h2">
-                  <xsl:value-of select="$title"/>
-                </xsl:element>
-              </td>
-            </tr>
-          </table>
-        </td>
-      </tr>
-    </table>
-    </td>
-    </tr>
-    </table>
-  </xsl:template>
-<!--
- - Handling of nodes in the body before the first H2, table of content
- - Everything is just copied over, except href which may get rewritten
- - and h1/h2/a at the top level
- -->
-  <xsl:template priority="2" mode="subcontent" match="a">
-    <xsl:variable name="filename">
-      <xsl:call-template name="filename">
-        <xsl:with-param name="name" select="string(@href)"/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:copy>
-      <xsl:attribute name="href">
-        <xsl:value-of select="$filename"/>
-      </xsl:attribute>
-      <xsl:apply-templates mode="subcontent" select="node()"/>
-    </xsl:copy>
-  </xsl:template>
-  <xsl:template mode="subcontent" match="@*|node()">
-    <xsl:copy>
-      <xsl:apply-templates mode="subcontent" select="@*|node()"/>
-    </xsl:copy>
-  </xsl:template>
-  <xsl:template mode="content" match="@*|node()">
-    <xsl:if test="name() != 'h1' and name() != 'h2'">
-      <xsl:copy>
-        <xsl:apply-templates mode="subcontent" select="@*|node()"/>
-      </xsl:copy>
-    </xsl:if>
-  </xsl:template>
-<!--
- - Handling of nodes in the body after an H2
- - Open a new file and dump all the siblings up to the next H2
- -->
-  <xsl:template name="subfile">
-    <xsl:param name="header" select="following-sibling::h2[1]"/>
-    <xsl:variable name="filename">
-      <xsl:call-template name="filename">
-        <xsl:with-param name="name" select="concat('#', string($header/a[1]/@name))"/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:variable name="tocfilename">
-      <xsl:call-template name="tocfilename">
-        <xsl:with-param name="name" select="concat('#', string($header/a[1]/@name))"/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:variable name="title">
-      <xsl:value-of select="$header"/>
-    </xsl:variable>
-    <xsl:document href="{$filename}" method="xml" encoding="UTF-8"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-      <html>
-        <head>
-          <xsl:call-template name="style"/>
-          <xsl:element name="title">
-            <xsl:value-of select="$title"/>
-          </xsl:element>
-        </head>
-        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
-          <xsl:call-template name="titlebox">
-            <xsl:with-param name="title" select="$title"/>
-          </xsl:call-template>
-          <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">
-		      <xsl:choose>
-		        <xsl:when test="$filename = 'docs.html'">
-                          <xsl:call-template name="develtoc"/>
-		        </xsl:when>
-		        <xsl:when test="$tocfilename = ''">
-                          <xsl:call-template name="develtoc"/>
-		        </xsl:when>
-		        <xsl:otherwise>
-                          <xsl:call-template name="toc"/>
-		        </xsl:otherwise>
-		      </xsl:choose>
-                    </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">
-                                        <xsl:apply-templates mode="subfile" select="$header/following-sibling::*[preceding-sibling::h2[1] = $header         and name() != '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>
-    </xsl:document>
-  </xsl:template>
-  <xsl:template mode="subfile" match="@*|node()">
-    <xsl:copy>
-      <xsl:apply-templates mode="content" select="@*|node()"/>
-    </xsl:copy>
-  </xsl:template>
-<!--
- - Handling of the initial body and head HTML document
- -->
-  <xsl:template match="body">
-    <xsl:variable name="firsth2" select="./h2[1]"/>
-    <xsl:variable name="rest2" select="./h2[position()&gt;1]"/>
-    <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
-      <xsl:call-template name="titlebox">
-        <xsl:with-param name="title" select="'libxml'"/>
-      </xsl:call-template>
-      <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">
-                  <xsl:call-template name="toc"/>
-                </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">
-                                    <xsl:apply-templates mode="content" select="($firsth2/preceding-sibling::*)"/>
-                                    <xsl:for-each select="./h2">
-                                      <xsl:call-template name="subfile">
-                                        <xsl:with-param name="header" select="."/>
-                                      </xsl:call-template>
-                                    </xsl:for-each>
-				    <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>
-  </xsl:template>
-  <xsl:template match="head">
-    <head>
-      <xsl:call-template name="style"/>
-      <xsl:apply-templates mode="head"/>
-    </head>
-  </xsl:template>
-  <xsl:template match="html">
-    <xsl:message>Generating the Web pages</xsl:message>
-    <html>
-      <xsl:apply-templates/>
-    </html>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/doc/smallfootonly.gif b/doc/smallfootonly.gif
deleted file mode 100644
index ddbb9ee..0000000
--- a/doc/smallfootonly.gif
+++ /dev/null
Binary files differ
diff --git a/doc/structure.fig b/doc/structure.fig
deleted file mode 100644
index 1d27b44..0000000
--- a/doc/structure.fig
+++ /dev/null
@@ -1,242 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter  
-100.00
-Single
--2
-1200 2
-6 1125 2325 1200 2850
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1200 2325 1200 2850
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1200 2775 1125 2850
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1200 2700 1125 2775
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1200 2550 1125 2625
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1200 2625 1125 2700
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1200 2400 1125 2475
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1200 2475 1125 2550
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 1200 2325 1125 2400
--6
-6 6000 4200 6075 4725
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 6075 4200 6075 4725
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 6075 4650 6000 4725
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 6075 4575 6000 4650
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 6075 4425 6000 4500
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 6075 4500 6000 4575
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 6075 4275 6000 4350
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 6075 4350 6000 4425
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 6075 4200 6000 4275
--6
-6 9000 2100 9075 2625
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 9000 2625 9000 2100
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 9000 2175 9075 2100
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 9000 2250 9075 2175
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 9000 2400 9075 2325
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 9000 2325 9075 2250
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 9000 2550 9075 2475
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 9000 2475 9075 2400
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 9000 2625 9075 2550
--6
-6 11850 4050 11925 4575
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 11850 4575 11850 4050
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 11850 4125 11925 4050
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 11850 4200 11925 4125
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 11850 4350 11925 4275
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 11850 4275 11925 4200
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 11850 4500 11925 4425
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 11850 4425 11925 4350
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 11850 4575 11925 4500
--6
-6 1950 4275 2025 4800
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 2025 4275 2025 4800
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 2025 4725 1950 4800
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 2025 4650 1950 4725
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 2025 4500 1950 4575
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 2025 4575 1950 4650
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 2025 4350 1950 4425
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 2025 4425 1950 4500
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 2025 4275 1950 4350
--6
-6 5175 4050 5250 4575
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 5175 4575 5175 4050
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 5175 4125 5250 4050
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 5175 4200 5250 4125
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 5175 4350 5250 4275
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 5175 4275 5250 4200
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 5175 4500 5250 4425
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 5175 4425 5250 4350
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2
-	 5175 4575 5250 4500
--6
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 3150 375 4425 375 4425 1275 3150 1275 3150 375
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
-	 2850 2775 2850 2100 1875 2100 1875 2775 2850 2775
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
-	 5550 2775 5550 2100 4575 2100 4575 2775 5550 2775
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
-	 8175 2775 8175 2100 7200 2100 7200 2775 8175 2775
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
-	 7650 4725 7650 4050 6675 4050 6675 4725 7650 4725
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
-	 9675 4725 9675 4050 8700 4050 8700 4725 9675 4725
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 3750 1275 2400 2100
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 2850 2325 4575 2325
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 5550 2325 7200 2325
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 8175 2325 9000 2325
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 7200 2550 5550 2550
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 4575 2550 2850 2550
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 1875 2550 1200 2550
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 2250 2100 3525 1275
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 5100 2100 4050 1275
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 7725 2100 4125 1275
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 7725 2775 7125 4050
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 7650 4275 8700 4275
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 8700 4425 7650 4425
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 9675 4275 10275 4275
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 6675 4500 6075 4500
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
-	 11250 4725 11250 4050 10275 4050 10275 4725 11250 4725
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 11250 4275 11850 4275
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 10275 4425 9675 4425
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 6450 5250 8025 5250 8025 5475 6450 5475 6450 5250
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 10125 5250 11700 5250 11700 5475 10125 5475 10125 5250
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 7050 4725 7050 5250
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 10650 4725 10650 5250
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 5100 2775 3375 3225
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 2850 3600 2850 4050
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 3375 4275 3900 4275
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 4875 4275 5175 4275
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 3900 4500 3375 4500
-2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5
-	 3600 5250 5175 5250 5175 5475 3600 5475 3600 5250
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 4275 4725 4275 5250
-2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 2400 4500 2025 4500
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
-	 3375 4725 3375 4050 2400 4050 2400 4725 3375 4725
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
-	 4875 4725 4875 4050 3900 4050 3900 4725 4875 4725
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
-	 3375 3600 3375 2925 2400 2925 2400 3600 3375 3600
-4 0 0 0 0 0 16 0.0000 4 150 420 3000 2250 next\001
-4 0 0 0 0 0 16 0.0000 4 180 435 3975 2775 prev\001
-4 0 0 0 0 14 15 0.0000 4 135 945 7200 2475 ELEMENT\001
-4 0 0 0 0 14 15 0.0000 4 135 945 4575 2475 ELEMENT\001
-4 0 0 0 0 14 15 0.0000 4 135 945 1875 2475 ELEMENT\001
-4 0 0 0 0 14 16 0.0000 4 135 450 8775 4590 REF\001
-4 0 0 0 0 14 16 0.0000 4 135 900 8775 4350 ENTITY\001
-4 0 0 0 0 14 16 0.0000 4 135 600 10350 4425 TEXT\001
-4 0 0 0 0 14 16 0.0000 4 135 600 6750 4425 TEXT\001
-4 0 0 0 0 14 16 0.0000 4 150 1050 1275 2025 xmlNode\001
-4 0 0 0 0 14 16 0.0000 4 150 900 2175 675 xmlDoc\001
-4 0 0 0 0 14 16 0.0000 4 135 1200 3225 825 DOCUMENT\001
-4 0 0 0 0 -1 20 0.0000 4 255 4665 5175 825 A DOM tree as built by the XML parser\001
-4 0 0 0 0 0 16 0.0000 4 165 810 3375 1650 children\001
-4 0 0 0 0 14 16 0.0000 4 135 900 2475 4275 ENTITY\001
-4 0 0 0 0 14 16 0.0000 4 135 450 2475 4575 REF\001
-4 0 0 0 0 14 16 0.0000 4 135 600 4050 4425 TEXT\001
-4 0 0 0 0 -1 16 0.0000 4 225 990 3975 3225 properties\001
-4 0 0 50 0 0 16 0.0000 4 150 720 4350 5025 content\001
-4 0 0 0 0 14 16 0.0000 4 135 600 2625 3300 ATTR\001
-4 0 0 0 0 0 16 0.0000 4 210 615 4950 1800 parent\001
diff --git a/doc/structure.gif b/doc/structure.gif
deleted file mode 100644
index 4b9a3e6..0000000
--- a/doc/structure.gif
+++ /dev/null
Binary files differ
diff --git a/doc/symbols.xml b/doc/symbols.xml
deleted file mode 100644
index a52202a..0000000
--- a/doc/symbols.xml
+++ /dev/null
@@ -1,1774 +0,0 @@
-<!-- This file describes all the exported entry points from the
-     library, groupped by release with the first release being 2.4.30
-     Add new exported entry points at the end, this will be used to
-     generate libxml2.syms the definition of exported symbols from
-     shared libraries
-  -->
-<symbols>
-  <release version="2.4.30">
-    <symbol file="debugXML">xmlBoolToText</symbol>
-    <symbol file="debugXML">xmlDebugDumpAttr</symbol>
-    <symbol file="debugXML">xmlDebugDumpAttrList</symbol>
-    <symbol file="debugXML">xmlDebugDumpDTD</symbol>
-    <symbol file="debugXML">xmlDebugDumpDocument</symbol>
-    <symbol file="debugXML">xmlDebugDumpDocumentHead</symbol>
-    <symbol file="debugXML">xmlDebugDumpEntities</symbol>
-    <symbol file="debugXML">xmlDebugDumpNode</symbol>
-    <symbol file="debugXML">xmlDebugDumpNodeList</symbol>
-    <symbol file="debugXML">xmlDebugDumpOneNode</symbol>
-    <symbol file="debugXML">xmlDebugDumpString</symbol>
-    <symbol file="debugXML">xmlLsCountNode</symbol>
-    <symbol file="debugXML">xmlLsOneNode</symbol>
-    <symbol file="debugXML">xmlShell</symbol>
-    <symbol file="debugXML">xmlShellBase</symbol>
-    <symbol file="debugXML">xmlShellCat</symbol>
-    <symbol file="debugXML">xmlShellDir</symbol>
-    <symbol file="debugXML">xmlShellDu</symbol>
-    <symbol file="debugXML">xmlShellList</symbol>
-    <symbol file="debugXML">xmlShellLoad</symbol>
-    <symbol file="debugXML">xmlShellPrintNode</symbol>
-    <symbol file="debugXML">xmlShellPrintXPathError</symbol>
-    <symbol file="debugXML">xmlShellPrintXPathResult</symbol>
-    <symbol file="debugXML">xmlShellPwd</symbol>
-    <symbol file="debugXML">xmlShellSave</symbol>
-    <symbol file="debugXML">xmlShellValidate</symbol>
-    <symbol file="debugXML">xmlShellWrite</symbol>
-    <symbol file="xpointer">xmlXPtrBuildNodeList</symbol>
-    <symbol file="xpointer">xmlXPtrEval</symbol>
-    <symbol file="xpointer">xmlXPtrEvalRangePredicate</symbol>
-    <symbol file="xpointer">xmlXPtrFreeLocationSet</symbol>
-    <symbol file="xpointer">xmlXPtrLocationSetAdd</symbol>
-    <symbol file="xpointer">xmlXPtrLocationSetCreate</symbol>
-    <symbol file="xpointer">xmlXPtrLocationSetDel</symbol>
-    <symbol file="xpointer">xmlXPtrLocationSetMerge</symbol>
-    <symbol file="xpointer">xmlXPtrLocationSetRemove</symbol>
-    <symbol file="xpointer">xmlXPtrNewCollapsedRange</symbol>
-    <symbol file="xpointer">xmlXPtrNewContext</symbol>
-    <symbol file="xpointer">xmlXPtrNewLocationSetNodeSet</symbol>
-    <symbol file="xpointer">xmlXPtrNewLocationSetNodes</symbol>
-    <symbol file="xpointer">xmlXPtrNewRange</symbol>
-    <symbol file="xpointer">xmlXPtrNewRangeNodeObject</symbol>
-    <symbol file="xpointer">xmlXPtrNewRangeNodePoint</symbol>
-    <symbol file="xpointer">xmlXPtrNewRangeNodes</symbol>
-    <symbol file="xpointer">xmlXPtrNewRangePointNode</symbol>
-    <symbol file="xpointer">xmlXPtrNewRangePoints</symbol>
-    <symbol file="xpointer">xmlXPtrRangeToFunction</symbol>
-    <symbol file="xpointer">xmlXPtrWrapLocationSet</symbol>
-    <symbol file="SAX">attribute</symbol>
-    <symbol file="SAX">attributeDecl</symbol>
-    <symbol file="SAX">cdataBlock</symbol>
-    <symbol file="SAX">characters</symbol>
-    <symbol file="SAX">checkNamespace</symbol>
-    <symbol file="SAX">comment</symbol>
-    <symbol file="SAX2">docbDefaultSAXHandlerInit</symbol>
-    <symbol file="SAX">elementDecl</symbol>
-    <symbol file="SAX">endDocument</symbol>
-    <symbol file="SAX">endElement</symbol>
-    <symbol file="SAX">entityDecl</symbol>
-    <symbol file="SAX">externalSubset</symbol>
-    <symbol file="SAX">getColumnNumber</symbol>
-    <symbol file="SAX">getEntity</symbol>
-    <symbol file="SAX">getLineNumber</symbol>
-    <symbol file="SAX">getNamespace</symbol>
-    <symbol file="SAX">getParameterEntity</symbol>
-    <symbol file="SAX">getPublicId</symbol>
-    <symbol file="SAX">getSystemId</symbol>
-    <symbol file="SAX">globalNamespace</symbol>
-    <symbol file="SAX">hasExternalSubset</symbol>
-    <symbol file="SAX">hasInternalSubset</symbol>
-    <symbol file="SAX2">htmlDefaultSAXHandlerInit</symbol>
-    <symbol file="SAX">ignorableWhitespace</symbol>
-    <symbol file="SAX">initdocbDefaultSAXHandler</symbol>
-    <symbol file="SAX">inithtmlDefaultSAXHandler</symbol>
-    <symbol file="SAX">initxmlDefaultSAXHandler</symbol>
-    <symbol file="SAX">internalSubset</symbol>
-    <symbol file="SAX">isStandalone</symbol>
-    <symbol file="SAX">namespaceDecl</symbol>
-    <symbol file="SAX">notationDecl</symbol>
-    <symbol file="SAX">processingInstruction</symbol>
-    <symbol file="SAX">reference</symbol>
-    <symbol file="SAX">resolveEntity</symbol>
-    <symbol file="SAX">setDocumentLocator</symbol>
-    <symbol file="SAX">setNamespace</symbol>
-    <symbol file="SAX">startDocument</symbol>
-    <symbol file="SAX">startElement</symbol>
-    <symbol file="SAX">unparsedEntityDecl</symbol>
-    <symbol file="SAX2">xmlDefaultSAXHandlerInit</symbol>
-    <symbol file="parserInternals">htmlCreateFileParserCtxt</symbol>
-    <symbol file="parserInternals">htmlInitAutoClose</symbol>
-    <symbol file="parserInternals">inputPop</symbol>
-    <symbol file="parserInternals">inputPush</symbol>
-    <symbol file="parserInternals">namePop</symbol>
-    <symbol file="parserInternals">namePush</symbol>
-    <symbol file="parserInternals">nodePop</symbol>
-    <symbol file="parserInternals">nodePush</symbol>
-    <symbol file="parserInternals">xmlCheckLanguageID</symbol>
-    <symbol file="parserInternals">xmlCopyChar</symbol>
-    <symbol file="parserInternals">xmlCopyCharMultiByte</symbol>
-    <symbol file="parserInternals">xmlCreateEntityParserCtxt</symbol>
-    <symbol file="parserInternals">xmlCreateFileParserCtxt</symbol>
-    <symbol file="parserInternals">xmlCreateMemoryParserCtxt</symbol>
-    <symbol file="parserInternals">xmlCurrentChar</symbol>
-    <symbol file="parserInternals">xmlDecodeEntities</symbol>
-    <symbol file="parserInternals">xmlFreeInputStream</symbol>
-    <symbol file="parserInternals">xmlHandleEntity</symbol>
-    <symbol file="chvalid">xmlIsBaseChar</symbol>
-    <symbol file="chvalid">xmlIsBlank</symbol>
-    <symbol file="chvalid">xmlIsChar</symbol>
-    <symbol file="chvalid">xmlIsCombining</symbol>
-    <symbol file="chvalid">xmlIsDigit</symbol>
-    <symbol file="chvalid">xmlIsExtender</symbol>
-    <symbol file="chvalid">xmlIsIdeographic</symbol>
-    <symbol file="parserInternals">xmlIsLetter</symbol>
-    <symbol file="chvalid">xmlIsPubidChar</symbol>
-    <symbol file="parserInternals">xmlNamespaceParseNCName</symbol>
-    <symbol file="parserInternals">xmlNamespaceParseNSDef</symbol>
-    <symbol file="parserInternals">xmlNamespaceParseQName</symbol>
-    <symbol file="parserInternals">xmlNewEntityInputStream</symbol>
-    <symbol file="parserInternals">xmlNewInputFromFile</symbol>
-    <symbol file="parserInternals">xmlNewInputStream</symbol>
-    <symbol file="parser">xmlNewParserCtxt</symbol>
-    <symbol file="parserInternals">xmlNewStringInputStream</symbol>
-    <symbol file="parserInternals">xmlNextChar</symbol>
-    <symbol file="parserInternals">xmlParseAttValue</symbol>
-    <symbol file="parserInternals">xmlParseAttribute</symbol>
-    <symbol file="parserInternals">xmlParseAttributeListDecl</symbol>
-    <symbol file="parserInternals">xmlParseAttributeType</symbol>
-    <symbol file="parserInternals">xmlParseCDSect</symbol>
-    <symbol file="parserInternals">xmlParseCharData</symbol>
-    <symbol file="parserInternals">xmlParseCharRef</symbol>
-    <symbol file="parserInternals">xmlParseComment</symbol>
-    <symbol file="parserInternals">xmlParseContent</symbol>
-    <symbol file="parserInternals">xmlParseDefaultDecl</symbol>
-    <symbol file="parserInternals">xmlParseDocTypeDecl</symbol>
-    <symbol file="parserInternals">xmlParseElement</symbol>
-    <symbol file="parserInternals">xmlParseElementChildrenContentDecl</symbol>
-    <symbol file="parserInternals">xmlParseElementContentDecl</symbol>
-    <symbol file="parserInternals">xmlParseElementDecl</symbol>
-    <symbol file="parserInternals">xmlParseElementMixedContentDecl</symbol>
-    <symbol file="parserInternals">xmlParseEncName</symbol>
-    <symbol file="parserInternals">xmlParseEncodingDecl</symbol>
-    <symbol file="parserInternals">xmlParseEndTag</symbol>
-    <symbol file="parserInternals">xmlParseEntityDecl</symbol>
-    <symbol file="parserInternals">xmlParseEntityRef</symbol>
-    <symbol file="parserInternals">xmlParseEntityValue</symbol>
-    <symbol file="parserInternals">xmlParseEnumeratedType</symbol>
-    <symbol file="parserInternals">xmlParseEnumerationType</symbol>
-    <symbol file="parserInternals">xmlParseExternalID</symbol>
-    <symbol file="parserInternals">xmlParseExternalSubset</symbol>
-    <symbol file="parserInternals">xmlParseMarkupDecl</symbol>
-    <symbol file="parserInternals">xmlParseMisc</symbol>
-    <symbol file="parserInternals">xmlParseName</symbol>
-    <symbol file="parserInternals">xmlParseNamespace</symbol>
-    <symbol file="parserInternals">xmlParseNmtoken</symbol>
-    <symbol file="parserInternals">xmlParseNotationDecl</symbol>
-    <symbol file="parserInternals">xmlParseNotationType</symbol>
-    <symbol file="parserInternals">xmlParsePEReference</symbol>
-    <symbol file="parserInternals">xmlParsePI</symbol>
-    <symbol file="parserInternals">xmlParsePITarget</symbol>
-    <symbol file="parserInternals">xmlParsePubidLiteral</symbol>
-    <symbol file="parserInternals">xmlParseQuotedString</symbol>
-    <symbol file="parserInternals">xmlParseReference</symbol>
-    <symbol file="parserInternals">xmlParseSDDecl</symbol>
-    <symbol file="parserInternals">xmlParseStartTag</symbol>
-    <symbol file="parserInternals">xmlParseSystemLiteral</symbol>
-    <symbol file="parserInternals">xmlParseTextDecl</symbol>
-    <symbol file="parserInternals">xmlParseVersionInfo</symbol>
-    <symbol file="parserInternals">xmlParseVersionNum</symbol>
-    <symbol file="parserInternals">xmlParseXMLDecl</symbol>
-    <symbol file="parserInternals">xmlParserHandlePEReference</symbol>
-    <symbol file="parserInternals">xmlParserHandleReference</symbol>
-    <symbol file="parserInternals">xmlParserInputShrink</symbol>
-    <symbol file="parserInternals">xmlPopInput</symbol>
-    <symbol file="parserInternals">xmlPushInput</symbol>
-    <symbol file="parserInternals">xmlScanName</symbol>
-    <symbol file="parserInternals">xmlSetEntityReferenceFunc</symbol>
-    <symbol file="parserInternals">xmlSkipBlankChars</symbol>
-    <symbol file="parserInternals">xmlSplitQName</symbol>
-    <symbol file="parserInternals">xmlStringComment</symbol>
-    <symbol file="parserInternals">xmlStringCurrentChar</symbol>
-    <symbol file="parserInternals">xmlStringDecodeEntities</symbol>
-    <symbol file="parserInternals">xmlStringText</symbol>
-    <symbol file="parserInternals">xmlStringTextNoenc</symbol>
-    <symbol file="parserInternals">xmlSwitchEncoding</symbol>
-    <symbol file="parserInternals">xmlSwitchToEncoding</symbol>
-    <symbol file="c14n">xmlC14NDocDumpMemory</symbol>
-    <symbol file="c14n">xmlC14NDocSave</symbol>
-    <symbol file="c14n">xmlC14NDocSaveTo</symbol>
-    <symbol file="c14n">xmlC14NExecute</symbol>
-    <symbol file="catalog">xmlACatalogAdd</symbol>
-    <symbol file="catalog">xmlACatalogDump</symbol>
-    <symbol file="catalog">xmlACatalogRemove</symbol>
-    <symbol file="catalog">xmlACatalogResolve</symbol>
-    <symbol file="catalog">xmlACatalogResolvePublic</symbol>
-    <symbol file="catalog">xmlACatalogResolveSystem</symbol>
-    <symbol file="catalog">xmlACatalogResolveURI</symbol>
-    <symbol file="catalog">xmlCatalogAdd</symbol>
-    <symbol file="catalog">xmlCatalogAddLocal</symbol>
-    <symbol file="catalog">xmlCatalogCleanup</symbol>
-    <symbol file="catalog">xmlCatalogConvert</symbol>
-    <symbol file="catalog">xmlCatalogDump</symbol>
-    <symbol file="catalog">xmlCatalogFreeLocal</symbol>
-    <symbol file="catalog">xmlCatalogGetDefaults</symbol>
-    <symbol file="catalog">xmlCatalogGetPublic</symbol>
-    <symbol file="catalog">xmlCatalogGetSystem</symbol>
-    <symbol file="catalog">xmlCatalogIsEmpty</symbol>
-    <symbol file="catalog">xmlCatalogLocalResolve</symbol>
-    <symbol file="catalog">xmlCatalogLocalResolveURI</symbol>
-    <symbol file="catalog">xmlCatalogRemove</symbol>
-    <symbol file="catalog">xmlCatalogResolve</symbol>
-    <symbol file="catalog">xmlCatalogResolvePublic</symbol>
-    <symbol file="catalog">xmlCatalogResolveSystem</symbol>
-    <symbol file="catalog">xmlCatalogResolveURI</symbol>
-    <symbol file="catalog">xmlCatalogSetDebug</symbol>
-    <symbol file="catalog">xmlCatalogSetDefaultPrefer</symbol>
-    <symbol file="catalog">xmlCatalogSetDefaults</symbol>
-    <symbol file="catalog">xmlConvertSGMLCatalog</symbol>
-    <symbol file="catalog">xmlFreeCatalog</symbol>
-    <symbol file="catalog">xmlInitializeCatalog</symbol>
-    <symbol file="catalog">xmlLoadACatalog</symbol>
-    <symbol file="catalog">xmlLoadCatalog</symbol>
-    <symbol file="catalog">xmlLoadCatalogs</symbol>
-    <symbol file="catalog">xmlLoadSGMLSuperCatalog</symbol>
-    <symbol file="catalog">xmlNewCatalog</symbol>
-    <symbol file="catalog">xmlParseCatalogFile</symbol>
-    <symbol file="xpathInternals">valuePop</symbol>
-    <symbol file="xpathInternals">valuePush</symbol>
-    <symbol file="xpathInternals">xmlXPathAddValues</symbol>
-    <symbol file="xpathInternals">xmlXPathBooleanFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathCeilingFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathCompareValues</symbol>
-    <symbol file="xpathInternals">xmlXPathConcatFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathContainsFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathCountFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathDebugDumpCompExpr</symbol>
-    <symbol file="xpathInternals">xmlXPathDebugDumpObject</symbol>
-    <symbol file="xpathInternals">xmlXPathDifference</symbol>
-    <symbol file="xpathInternals">xmlXPathDistinct</symbol>
-    <symbol file="xpathInternals">xmlXPathDistinctSorted</symbol>
-    <symbol file="xpathInternals">xmlXPathDivValues</symbol>
-    <symbol file="xpathInternals">xmlXPathEqualValues</symbol>
-    <symbol file="xpathInternals">xmlXPathEvalExpr</symbol>
-    <symbol file="xpathInternals">xmlXPathEvaluatePredicateResult</symbol>
-    <symbol file="xpathInternals">xmlXPathFalseFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathFloorFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathFreeParserContext</symbol>
-    <symbol file="xpathInternals">xmlXPathFunctionLookup</symbol>
-    <symbol file="xpathInternals">xmlXPathFunctionLookupNS</symbol>
-    <symbol file="xpathInternals">xmlXPathHasSameNodes</symbol>
-    <symbol file="xpathInternals">xmlXPathIdFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathIntersection</symbol>
-    <symbol file="xpathInternals">xmlXPathIsNodeType</symbol>
-    <symbol file="xpathInternals">xmlXPathLangFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathLastFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathLeading</symbol>
-    <symbol file="xpathInternals">xmlXPathLeadingSorted</symbol>
-    <symbol file="xpathInternals">xmlXPathLocalNameFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathModValues</symbol>
-    <symbol file="xpathInternals">xmlXPathMultValues</symbol>
-    <symbol file="xpathInternals">xmlXPathNamespaceURIFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathNewBoolean</symbol>
-    <symbol file="xpathInternals">xmlXPathNewCString</symbol>
-    <symbol file="xpathInternals">xmlXPathNewFloat</symbol>
-    <symbol file="xpathInternals">xmlXPathNewNodeSet</symbol>
-    <symbol file="xpathInternals">xmlXPathNewNodeSetList</symbol>
-    <symbol file="xpathInternals">xmlXPathNewParserContext</symbol>
-    <symbol file="xpathInternals">xmlXPathNewString</symbol>
-    <symbol file="xpathInternals">xmlXPathNewValueTree</symbol>
-    <symbol file="xpathInternals">xmlXPathNextAncestor</symbol>
-    <symbol file="xpathInternals">xmlXPathNextAncestorOrSelf</symbol>
-    <symbol file="xpathInternals">xmlXPathNextAttribute</symbol>
-    <symbol file="xpathInternals">xmlXPathNextChild</symbol>
-    <symbol file="xpathInternals">xmlXPathNextDescendant</symbol>
-    <symbol file="xpathInternals">xmlXPathNextDescendantOrSelf</symbol>
-    <symbol file="xpathInternals">xmlXPathNextFollowing</symbol>
-    <symbol file="xpathInternals">xmlXPathNextFollowingSibling</symbol>
-    <symbol file="xpathInternals">xmlXPathNextNamespace</symbol>
-    <symbol file="xpathInternals">xmlXPathNextParent</symbol>
-    <symbol file="xpathInternals">xmlXPathNextPreceding</symbol>
-    <symbol file="xpathInternals">xmlXPathNextPrecedingSibling</symbol>
-    <symbol file="xpathInternals">xmlXPathNextSelf</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeLeading</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeLeadingSorted</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeSetAdd</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeSetAddNs</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeSetAddUnique</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeSetContains</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeSetDel</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeSetFreeNs</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeSetMerge</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeSetRemove</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeSetSort</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeTrailing</symbol>
-    <symbol file="xpathInternals">xmlXPathNodeTrailingSorted</symbol>
-    <symbol file="xpathInternals">xmlXPathNormalizeFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathNotEqualValues</symbol>
-    <symbol file="xpathInternals">xmlXPathNotFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathNsLookup</symbol>
-    <symbol file="xpathInternals">xmlXPathNumberFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathParseNCName</symbol>
-    <symbol file="xpathInternals">xmlXPathParseName</symbol>
-    <symbol file="xpathInternals">xmlXPathPopBoolean</symbol>
-    <symbol file="xpathInternals">xmlXPathPopExternal</symbol>
-    <symbol file="xpathInternals">xmlXPathPopNodeSet</symbol>
-    <symbol file="xpathInternals">xmlXPathPopNumber</symbol>
-    <symbol file="xpathInternals">xmlXPathPopString</symbol>
-    <symbol file="xpathInternals">xmlXPathPositionFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathRegisterAllFunctions</symbol>
-    <symbol file="xpathInternals">xmlXPathRegisterFunc</symbol>
-    <symbol file="xpathInternals">xmlXPathRegisterFuncLookup</symbol>
-    <symbol file="xpathInternals">xmlXPathRegisterFuncNS</symbol>
-    <symbol file="xpathInternals">xmlXPathRegisterNs</symbol>
-    <symbol file="xpathInternals">xmlXPathRegisterVariable</symbol>
-    <symbol file="xpathInternals">xmlXPathRegisterVariableLookup</symbol>
-    <symbol file="xpathInternals">xmlXPathRegisterVariableNS</symbol>
-    <symbol file="xpathInternals">xmlXPathRegisteredFuncsCleanup</symbol>
-    <symbol file="xpathInternals">xmlXPathRegisteredNsCleanup</symbol>
-    <symbol file="xpathInternals">xmlXPathRegisteredVariablesCleanup</symbol>
-    <symbol file="xpathInternals">xmlXPathRoot</symbol>
-    <symbol file="xpathInternals">xmlXPathRoundFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathStartsWithFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathStringEvalNumber</symbol>
-    <symbol file="xpathInternals">xmlXPathStringFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathStringLengthFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathSubValues</symbol>
-    <symbol file="xpathInternals">xmlXPathSubstringAfterFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathSubstringBeforeFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathSubstringFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathSumFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathTrailing</symbol>
-    <symbol file="xpathInternals">xmlXPathTrailingSorted</symbol>
-    <symbol file="xpathInternals">xmlXPathTranslateFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathTrueFunction</symbol>
-    <symbol file="xpathInternals">xmlXPathValueFlipSign</symbol>
-    <symbol file="xpathInternals">xmlXPathVariableLookup</symbol>
-    <symbol file="xpathInternals">xmlXPathVariableLookupNS</symbol>
-    <symbol file="xpathInternals">xmlXPathWrapCString</symbol>
-    <symbol file="xpathInternals">xmlXPathWrapExternal</symbol>
-    <symbol file="xpathInternals">xmlXPathWrapNodeSet</symbol>
-    <symbol file="xpathInternals">xmlXPathWrapString</symbol>
-    <symbol file="xpathInternals">xmlXPatherror</symbol>
-    <symbol file="xmlautomata">xmlAutomataCompile</symbol>
-    <symbol file="xmlautomata">xmlAutomataGetInitState</symbol>
-    <symbol file="xmlautomata">xmlAutomataIsDeterminist</symbol>
-    <symbol file="xmlautomata">xmlAutomataNewAllTrans</symbol>
-    <symbol file="xmlautomata">xmlAutomataNewCountTrans</symbol>
-    <symbol file="xmlautomata">xmlAutomataNewCountedTrans</symbol>
-    <symbol file="xmlautomata">xmlAutomataNewCounter</symbol>
-    <symbol file="xmlautomata">xmlAutomataNewCounterTrans</symbol>
-    <symbol file="xmlautomata">xmlAutomataNewEpsilon</symbol>
-    <symbol file="xmlautomata">xmlAutomataNewOnceTrans</symbol>
-    <symbol file="xmlautomata">xmlAutomataNewState</symbol>
-    <symbol file="xmlautomata">xmlAutomataNewTransition</symbol>
-    <symbol file="xmlautomata">xmlAutomataSetFinalState</symbol>
-    <symbol file="xmlautomata">xmlFreeAutomata</symbol>
-    <symbol file="xmlautomata">xmlNewAutomata</symbol>
-    <symbol file="HTMLtree">htmlDocContentDumpFormatOutput</symbol>
-    <symbol file="HTMLtree">htmlDocContentDumpOutput</symbol>
-    <symbol file="HTMLtree">htmlDocDump</symbol>
-    <symbol file="HTMLtree">htmlDocDumpMemory</symbol>
-    <symbol file="HTMLtree">htmlGetMetaEncoding</symbol>
-    <symbol file="HTMLtree">htmlIsBooleanAttr</symbol>
-    <symbol file="HTMLtree">htmlNewDoc</symbol>
-    <symbol file="HTMLtree">htmlNewDocNoDtD</symbol>
-    <symbol file="HTMLtree">htmlNodeDump</symbol>
-    <symbol file="HTMLtree">htmlNodeDumpFile</symbol>
-    <symbol file="HTMLtree">htmlNodeDumpFileFormat</symbol>
-    <symbol file="HTMLtree">htmlNodeDumpFormatOutput</symbol>
-    <symbol file="HTMLtree">htmlNodeDumpOutput</symbol>
-    <symbol file="HTMLtree">htmlSaveFile</symbol>
-    <symbol file="HTMLtree">htmlSaveFileEnc</symbol>
-    <symbol file="HTMLtree">htmlSaveFileFormat</symbol>
-    <symbol file="HTMLtree">htmlSetMetaEncoding</symbol>
-    <symbol file="nanoftp">xmlNanoFTPCheckResponse</symbol>
-    <symbol file="nanoftp">xmlNanoFTPCleanup</symbol>
-    <symbol file="nanoftp">xmlNanoFTPClose</symbol>
-    <symbol file="nanoftp">xmlNanoFTPCloseConnection</symbol>
-    <symbol file="nanoftp">xmlNanoFTPConnect</symbol>
-    <symbol file="nanoftp">xmlNanoFTPConnectTo</symbol>
-    <symbol file="nanoftp">xmlNanoFTPCwd</symbol>
-    <symbol file="nanoftp">xmlNanoFTPFreeCtxt</symbol>
-    <symbol file="nanoftp">xmlNanoFTPGet</symbol>
-    <symbol file="nanoftp">xmlNanoFTPGetConnection</symbol>
-    <symbol file="nanoftp">xmlNanoFTPGetResponse</symbol>
-    <symbol file="nanoftp">xmlNanoFTPGetSocket</symbol>
-    <symbol file="nanoftp">xmlNanoFTPInit</symbol>
-    <symbol file="nanoftp">xmlNanoFTPList</symbol>
-    <symbol file="nanoftp">xmlNanoFTPNewCtxt</symbol>
-    <symbol file="nanoftp">xmlNanoFTPOpen</symbol>
-    <symbol file="nanoftp">xmlNanoFTPProxy</symbol>
-    <symbol file="nanoftp">xmlNanoFTPQuit</symbol>
-    <symbol file="nanoftp">xmlNanoFTPRead</symbol>
-    <symbol file="nanoftp">xmlNanoFTPScanProxy</symbol>
-    <symbol file="nanoftp">xmlNanoFTPUpdateURL</symbol>
-    <symbol file="DOCBparser">docbCreateFileParserCtxt</symbol>
-    <symbol file="DOCBparser">docbCreatePushParserCtxt</symbol>
-    <symbol file="DOCBparser">docbEncodeEntities</symbol>
-    <symbol file="DOCBparser">docbFreeParserCtxt</symbol>
-    <symbol file="DOCBparser">docbParseChunk</symbol>
-    <symbol file="DOCBparser">docbParseDoc</symbol>
-    <symbol file="DOCBparser">docbParseDocument</symbol>
-    <symbol file="DOCBparser">docbParseFile</symbol>
-    <symbol file="DOCBparser">docbSAXParseDoc</symbol>
-    <symbol file="DOCBparser">docbSAXParseFile</symbol>
-    <symbol file="xpath">xmlXPathCastBooleanToNumber</symbol>
-    <symbol file="xpath">xmlXPathCastBooleanToString</symbol>
-    <symbol file="xpath">xmlXPathCastNodeSetToBoolean</symbol>
-    <symbol file="xpath">xmlXPathCastNodeSetToNumber</symbol>
-    <symbol file="xpath">xmlXPathCastNodeSetToString</symbol>
-    <symbol file="xpath">xmlXPathCastNodeToNumber</symbol>
-    <symbol file="xpath">xmlXPathCastNodeToString</symbol>
-    <symbol file="xpath">xmlXPathCastNumberToBoolean</symbol>
-    <symbol file="xpath">xmlXPathCastNumberToString</symbol>
-    <symbol file="xpath">xmlXPathCastStringToBoolean</symbol>
-    <symbol file="xpath">xmlXPathCastStringToNumber</symbol>
-    <symbol file="xpath">xmlXPathCastToBoolean</symbol>
-    <symbol file="xpath">xmlXPathCastToNumber</symbol>
-    <symbol file="xpath">xmlXPathCastToString</symbol>
-    <symbol file="xpath">xmlXPathCmpNodes</symbol>
-    <symbol file="xpath">xmlXPathCompile</symbol>
-    <symbol file="xpath">xmlXPathCompiledEval</symbol>
-    <symbol file="xpath">xmlXPathConvertBoolean</symbol>
-    <symbol file="xpath">xmlXPathConvertNumber</symbol>
-    <symbol file="xpath">xmlXPathConvertString</symbol>
-    <symbol file="xpath">xmlXPathEval</symbol>
-    <symbol file="xpath">xmlXPathEvalExpression</symbol>
-    <symbol file="xpath">xmlXPathEvalPredicate</symbol>
-    <symbol file="xpath">xmlXPathFreeCompExpr</symbol>
-    <symbol file="xpath">xmlXPathFreeContext</symbol>
-    <symbol file="xpath">xmlXPathFreeNodeSet</symbol>
-    <symbol file="xpath">xmlXPathFreeNodeSetList</symbol>
-    <symbol file="xpath">xmlXPathFreeObject</symbol>
-    <symbol file="xpath">xmlXPathInit</symbol>
-    <symbol file="xpath">xmlXPathIsInf</symbol>
-    <symbol file="xpath">xmlXPathIsNaN</symbol>
-    <symbol file="xpath">xmlXPathNAN</symbol>
-    <symbol file="xpath">xmlXPathNINF</symbol>
-    <symbol file="xpath">xmlXPathNewContext</symbol>
-    <symbol file="xpath">xmlXPathNodeSetCreate</symbol>
-    <symbol file="xpath">xmlXPathObjectCopy</symbol>
-    <symbol file="xpath">xmlXPathPINF</symbol>
-    <symbol file="xlink">xlinkGetDefaultDetect</symbol>
-    <symbol file="xlink">xlinkGetDefaultHandler</symbol>
-    <symbol file="xlink">xlinkIsLink</symbol>
-    <symbol file="xlink">xlinkSetDefaultDetect</symbol>
-    <symbol file="xlink">xlinkSetDefaultHandler</symbol>
-    <symbol file="entities">xmlAddDocEntity</symbol>
-    <symbol file="entities">xmlAddDtdEntity</symbol>
-    <symbol file="entities">xmlCleanupPredefinedEntities</symbol>
-    <symbol file="entities">xmlCopyEntitiesTable</symbol>
-    <symbol file="entities">xmlCreateEntitiesTable</symbol>
-    <symbol file="entities">xmlDumpEntitiesTable</symbol>
-    <symbol file="entities">xmlDumpEntityDecl</symbol>
-    <symbol file="entities">xmlEncodeEntities</symbol>
-    <symbol file="entities">xmlEncodeEntitiesReentrant</symbol>
-    <symbol file="entities">xmlEncodeSpecialChars</symbol>
-    <symbol file="entities">xmlFreeEntitiesTable</symbol>
-    <symbol file="entities">xmlGetDocEntity</symbol>
-    <symbol file="entities">xmlGetDtdEntity</symbol>
-    <symbol file="entities">xmlGetParameterEntity</symbol>
-    <symbol file="entities">xmlGetPredefinedEntity</symbol>
-    <symbol file="entities">xmlInitializePredefinedEntities</symbol>
-    <symbol file="xinclude">xmlXIncludeProcess</symbol>
-    <symbol file="list">xmlLinkGetData</symbol>
-    <symbol file="list">xmlListAppend</symbol>
-    <symbol file="list">xmlListClear</symbol>
-    <symbol file="list">xmlListCopy</symbol>
-    <symbol file="list">xmlListCreate</symbol>
-    <symbol file="list">xmlListDelete</symbol>
-    <symbol file="list">xmlListDup</symbol>
-    <symbol file="list">xmlListEmpty</symbol>
-    <symbol file="list">xmlListEnd</symbol>
-    <symbol file="list">xmlListFront</symbol>
-    <symbol file="list">xmlListInsert</symbol>
-    <symbol file="list">xmlListMerge</symbol>
-    <symbol file="list">xmlListPopBack</symbol>
-    <symbol file="list">xmlListPopFront</symbol>
-    <symbol file="list">xmlListPushBack</symbol>
-    <symbol file="list">xmlListPushFront</symbol>
-    <symbol file="list">xmlListRemoveAll</symbol>
-    <symbol file="list">xmlListRemoveFirst</symbol>
-    <symbol file="list">xmlListRemoveLast</symbol>
-    <symbol file="list">xmlListReverse</symbol>
-    <symbol file="list">xmlListReverseSearch</symbol>
-    <symbol file="list">xmlListReverseWalk</symbol>
-    <symbol file="list">xmlListSearch</symbol>
-    <symbol file="list">xmlListSize</symbol>
-    <symbol file="list">xmlListSort</symbol>
-    <symbol file="list">xmlListWalk</symbol>
-    <symbol file="xmlmemory">xmlInitMemory</symbol>
-    <symbol file="xmlmemory">xmlMallocLoc</symbol>
-    <symbol file="xmlmemory">xmlMemDisplay</symbol>
-    <symbol file="xmlmemory">xmlMemFree</symbol>
-    <symbol file="xmlmemory">xmlMemGet</symbol>
-    <symbol file="xmlmemory">xmlMemMalloc</symbol>
-    <symbol file="xmlmemory">xmlMemRealloc</symbol>
-    <symbol file="xmlmemory">xmlMemSetup</symbol>
-    <symbol file="xmlmemory">xmlMemShow</symbol>
-    <symbol file="xmlmemory">xmlMemStrdupLoc</symbol>
-    <symbol file="xmlmemory">xmlMemUsed</symbol>
-    <symbol file="xmlmemory">xmlMemoryDump</symbol>
-    <symbol file="xmlmemory">xmlMemoryStrdup</symbol>
-    <symbol file="xmlmemory">xmlReallocLoc</symbol>
-    <symbol file="xmlIO">xmlAllocOutputBuffer</symbol>
-    <symbol file="xmlIO">xmlAllocParserInputBuffer</symbol>
-    <symbol file="xmlIO">xmlCheckFilename</symbol>
-    <symbol file="xmlIO">xmlCleanupInputCallbacks</symbol>
-    <symbol file="xmlIO">xmlCleanupOutputCallbacks</symbol>
-    <symbol file="xmlIO">xmlFileClose</symbol>
-    <symbol file="xmlIO">xmlFileMatch</symbol>
-    <symbol file="xmlIO">xmlFileOpen</symbol>
-    <symbol file="xmlIO">xmlFileRead</symbol>
-    <symbol file="xmlIO">xmlFreeParserInputBuffer</symbol>
-    <symbol file="xmlIO">xmlIOFTPClose</symbol>
-    <symbol file="xmlIO">xmlIOFTPMatch</symbol>
-    <symbol file="xmlIO">xmlIOFTPOpen</symbol>
-    <symbol file="xmlIO">xmlIOFTPRead</symbol>
-    <symbol file="xmlIO">xmlIOHTTPClose</symbol>
-    <symbol file="xmlIO">xmlIOHTTPMatch</symbol>
-    <symbol file="xmlIO">xmlIOHTTPOpen</symbol>
-    <symbol file="xmlIO">xmlIOHTTPOpenW</symbol>
-    <symbol file="xmlIO">xmlIOHTTPRead</symbol>
-    <symbol file="xmlIO">xmlNoNetExternalEntityLoader</symbol>
-    <symbol file="xmlIO">xmlNormalizeWindowsPath</symbol>
-    <symbol file="xmlIO">xmlOutputBufferClose</symbol>
-    <symbol file="xmlIO">xmlOutputBufferCreateFd</symbol>
-    <symbol file="xmlIO">xmlOutputBufferCreateFile</symbol>
-    <symbol file="xmlIO">xmlOutputBufferCreateFilename</symbol>
-    <symbol file="xmlIO">xmlOutputBufferCreateIO</symbol>
-    <symbol file="xmlIO">xmlOutputBufferFlush</symbol>
-    <symbol file="xmlIO">xmlOutputBufferWrite</symbol>
-    <symbol file="xmlIO">xmlOutputBufferWriteString</symbol>
-    <symbol file="xmlIO">xmlParserGetDirectory</symbol>
-    <symbol file="xmlIO">xmlParserInputBufferCreateFd</symbol>
-    <symbol file="xmlIO">xmlParserInputBufferCreateFile</symbol>
-    <symbol file="xmlIO">xmlParserInputBufferCreateFilename</symbol>
-    <symbol file="xmlIO">xmlParserInputBufferCreateIO</symbol>
-    <symbol file="xmlIO">xmlParserInputBufferCreateMem</symbol>
-    <symbol file="xmlIO">xmlParserInputBufferGrow</symbol>
-    <symbol file="xmlIO">xmlParserInputBufferPush</symbol>
-    <symbol file="xmlIO">xmlParserInputBufferRead</symbol>
-    <symbol file="xmlIO">xmlRegisterDefaultInputCallbacks</symbol>
-    <symbol file="xmlIO">xmlRegisterDefaultOutputCallbacks</symbol>
-    <symbol file="xmlIO">xmlRegisterHTTPPostCallbacks</symbol>
-    <symbol file="xmlIO">xmlRegisterInputCallbacks</symbol>
-    <symbol file="xmlIO">xmlRegisterOutputCallbacks</symbol>
-    <symbol file="xmlversion">xmlCheckVersion</symbol>
-    <symbol file="valid">xmlAddAttributeDecl</symbol>
-    <symbol file="valid">xmlAddElementDecl</symbol>
-    <symbol file="valid">xmlAddID</symbol>
-    <symbol file="valid">xmlAddNotationDecl</symbol>
-    <symbol file="valid">xmlAddRef</symbol>
-    <symbol file="valid">xmlCopyAttributeTable</symbol>
-    <symbol file="valid">xmlCopyElementContent</symbol>
-    <symbol file="valid">xmlCopyElementTable</symbol>
-    <symbol file="valid">xmlCopyEnumeration</symbol>
-    <symbol file="valid">xmlCopyNotationTable</symbol>
-    <symbol file="valid">xmlCreateEnumeration</symbol>
-    <symbol file="valid">xmlDumpAttributeDecl</symbol>
-    <symbol file="valid">xmlDumpAttributeTable</symbol>
-    <symbol file="valid">xmlDumpElementDecl</symbol>
-    <symbol file="valid">xmlDumpElementTable</symbol>
-    <symbol file="valid">xmlDumpNotationDecl</symbol>
-    <symbol file="valid">xmlDumpNotationTable</symbol>
-    <symbol file="valid">xmlFreeAttributeTable</symbol>
-    <symbol file="valid">xmlFreeElementContent</symbol>
-    <symbol file="valid">xmlFreeElementTable</symbol>
-    <symbol file="valid">xmlFreeEnumeration</symbol>
-    <symbol file="valid">xmlFreeIDTable</symbol>
-    <symbol file="valid">xmlFreeNotationTable</symbol>
-    <symbol file="valid">xmlFreeRefTable</symbol>
-    <symbol file="valid">xmlGetDtdAttrDesc</symbol>
-    <symbol file="valid">xmlGetDtdElementDesc</symbol>
-    <symbol file="valid">xmlGetDtdNotationDesc</symbol>
-    <symbol file="valid">xmlGetDtdQAttrDesc</symbol>
-    <symbol file="valid">xmlGetDtdQElementDesc</symbol>
-    <symbol file="valid">xmlGetID</symbol>
-    <symbol file="valid">xmlGetRefs</symbol>
-    <symbol file="valid">xmlIsID</symbol>
-    <symbol file="valid">xmlIsMixedElement</symbol>
-    <symbol file="valid">xmlIsRef</symbol>
-    <symbol file="valid">xmlNewElementContent</symbol>
-    <symbol file="valid">xmlRemoveID</symbol>
-    <symbol file="valid">xmlRemoveRef</symbol>
-    <symbol file="valid">xmlSnprintfElementContent</symbol>
-    <symbol file="tree">xmlSplitQName2</symbol>
-    <symbol file="valid">xmlSprintfElementContent</symbol>
-    <symbol file="valid">xmlValidBuildContentModel</symbol>
-    <symbol file="valid">xmlValidCtxtNormalizeAttributeValue</symbol>
-    <symbol file="valid">xmlValidGetPotentialChildren</symbol>
-    <symbol file="valid">xmlValidGetValidElements</symbol>
-    <symbol file="valid">xmlValidNormalizeAttributeValue</symbol>
-    <symbol file="valid">xmlValidateAttributeDecl</symbol>
-    <symbol file="valid">xmlValidateAttributeValue</symbol>
-    <symbol file="valid">xmlValidateDocument</symbol>
-    <symbol file="valid">xmlValidateDocumentFinal</symbol>
-    <symbol file="valid">xmlValidateDtd</symbol>
-    <symbol file="valid">xmlValidateDtdFinal</symbol>
-    <symbol file="valid">xmlValidateElement</symbol>
-    <symbol file="valid">xmlValidateElementDecl</symbol>
-    <symbol file="valid">xmlValidateNameValue</symbol>
-    <symbol file="valid">xmlValidateNamesValue</symbol>
-    <symbol file="valid">xmlValidateNmtokenValue</symbol>
-    <symbol file="valid">xmlValidateNmtokensValue</symbol>
-    <symbol file="valid">xmlValidateNotationDecl</symbol>
-    <symbol file="valid">xmlValidateNotationUse</symbol>
-    <symbol file="valid">xmlValidateOneAttribute</symbol>
-    <symbol file="valid">xmlValidateOneElement</symbol>
-    <symbol file="valid">xmlValidateOneNamespace</symbol>
-    <symbol file="valid">xmlValidateRoot</symbol>
-    <symbol file="HTMLparser">UTF8ToHtml</symbol>
-    <symbol file="HTMLparser">htmlAutoCloseTag</symbol>
-    <symbol file="HTMLparser">htmlCreatePushParserCtxt</symbol>
-    <symbol file="HTMLparser">htmlEncodeEntities</symbol>
-    <symbol file="HTMLparser">htmlEntityLookup</symbol>
-    <symbol file="HTMLparser">htmlEntityValueLookup</symbol>
-    <symbol file="HTMLparser">htmlFreeParserCtxt</symbol>
-    <symbol file="HTMLparser">htmlHandleOmittedElem</symbol>
-    <symbol file="HTMLparser">htmlIsAutoClosed</symbol>
-    <symbol file="HTMLparser">htmlIsScriptAttribute</symbol>
-    <symbol file="HTMLparser">htmlParseCharRef</symbol>
-    <symbol file="HTMLparser">htmlParseChunk</symbol>
-    <symbol file="HTMLparser">htmlParseDoc</symbol>
-    <symbol file="HTMLparser">htmlParseDocument</symbol>
-    <symbol file="HTMLparser">htmlParseElement</symbol>
-    <symbol file="HTMLparser">htmlParseEntityRef</symbol>
-    <symbol file="HTMLparser">htmlParseFile</symbol>
-    <symbol file="HTMLparser">htmlSAXParseDoc</symbol>
-    <symbol file="HTMLparser">htmlSAXParseFile</symbol>
-    <symbol file="HTMLparser">htmlTagLookup</symbol>
-    <symbol file="xmlstring">xmlCharStrdup</symbol>
-    <symbol file="xmlstring">xmlCharStrndup</symbol>
-    <symbol file="parser">xmlCleanupParser</symbol>
-    <symbol file="parser">xmlClearNodeInfoSeq</symbol>
-    <symbol file="parser">xmlClearParserCtxt</symbol>
-    <symbol file="parser">xmlCreateDocParserCtxt</symbol>
-    <symbol file="parser">xmlCreateIOParserCtxt</symbol>
-    <symbol file="parser">xmlCreatePushParserCtxt</symbol>
-    <symbol file="parser">xmlFreeParserCtxt</symbol>
-    <symbol file="parser">xmlGetExternalEntityLoader</symbol>
-    <symbol file="parser">xmlGetFeature</symbol>
-    <symbol file="parser">xmlGetFeaturesList</symbol>
-    <symbol file="globals">xmlGetWarningsDefaultValue</symbol>
-    <symbol file="parser">xmlIOParseDTD</symbol>
-    <symbol file="parser">xmlInitNodeInfoSeq</symbol>
-    <symbol file="parser">xmlInitParser</symbol>
-    <symbol file="parser">xmlInitParserCtxt</symbol>
-    <symbol file="parser">xmlKeepBlanksDefault</symbol>
-    <symbol file="parser">xmlLineNumbersDefault</symbol>
-    <symbol file="parser">xmlLoadExternalEntity</symbol>
-    <symbol file="parser">xmlNewIOInputStream</symbol>
-    <symbol file="parser">xmlParseBalancedChunkMemory</symbol>
-    <symbol file="parser">xmlParseBalancedChunkMemoryRecover</symbol>
-    <symbol file="parser">xmlParseChunk</symbol>
-    <symbol file="parser">xmlParseCtxtExternalEntity</symbol>
-    <symbol file="parser">xmlParseDTD</symbol>
-    <symbol file="parser">xmlParseDoc</symbol>
-    <symbol file="parser">xmlParseDocument</symbol>
-    <symbol file="parser">xmlParseEntity</symbol>
-    <symbol file="parser">xmlParseExtParsedEnt</symbol>
-    <symbol file="parser">xmlParseExternalEntity</symbol>
-    <symbol file="parser">xmlParseFile</symbol>
-    <symbol file="parser">xmlParseMemory</symbol>
-    <symbol file="parser">xmlParserAddNodeInfo</symbol>
-    <symbol file="parser">xmlParserFindNodeInfo</symbol>
-    <symbol file="parser">xmlParserFindNodeInfoIndex</symbol>
-    <symbol file="parser">xmlParserInputGrow</symbol>
-    <symbol file="parser">xmlParserInputRead</symbol>
-    <symbol file="parser">xmlPedanticParserDefault</symbol>
-    <symbol file="parser">xmlRecoverDoc</symbol>
-    <symbol file="parser">xmlRecoverFile</symbol>
-    <symbol file="parser">xmlRecoverMemory</symbol>
-    <symbol file="parser">xmlSAXParseDTD</symbol>
-    <symbol file="parser">xmlSAXParseDoc</symbol>
-    <symbol file="parser">xmlSAXParseEntity</symbol>
-    <symbol file="parser">xmlSAXParseFile</symbol>
-    <symbol file="parser">xmlSAXParseFileWithData</symbol>
-    <symbol file="parser">xmlSAXParseMemory</symbol>
-    <symbol file="parser">xmlSAXParseMemoryWithData</symbol>
-    <symbol file="parser">xmlSAXUserParseFile</symbol>
-    <symbol file="parser">xmlSAXUserParseMemory</symbol>
-    <symbol file="parser">xmlSetExternalEntityLoader</symbol>
-    <symbol file="parser">xmlSetFeature</symbol>
-    <symbol file="parser">xmlSetupParserForBuffer</symbol>
-    <symbol file="parser">xmlStopParser</symbol>
-    <symbol file="xmlstring">xmlStrEqual</symbol>
-    <symbol file="xmlstring">xmlStrcasecmp</symbol>
-    <symbol file="xmlstring">xmlStrcasestr</symbol>
-    <symbol file="xmlstring">xmlStrcat</symbol>
-    <symbol file="xmlstring">xmlStrchr</symbol>
-    <symbol file="xmlstring">xmlStrcmp</symbol>
-    <symbol file="xmlstring">xmlStrdup</symbol>
-    <symbol file="xmlstring">xmlStrlen</symbol>
-    <symbol file="xmlstring">xmlStrncasecmp</symbol>
-    <symbol file="xmlstring">xmlStrncat</symbol>
-    <symbol file="xmlstring">xmlStrncmp</symbol>
-    <symbol file="xmlstring">xmlStrndup</symbol>
-    <symbol file="xmlstring">xmlStrstr</symbol>
-    <symbol file="xmlstring">xmlStrsub</symbol>
-    <symbol file="parser">xmlSubstituteEntitiesDefault</symbol>
-    <symbol file="xmlreader">xmlFreeTextReader</symbol>
-    <symbol file="xmlreader">xmlNewTextReader</symbol>
-    <symbol file="xmlreader">xmlNewTextReaderFilename</symbol>
-    <symbol file="xmlreader">xmlTextReaderAttributeCount</symbol>
-    <symbol file="xmlreader">xmlTextReaderBaseUri</symbol>
-    <symbol file="xmlreader">xmlTextReaderDepth</symbol>
-    <symbol file="xmlreader">xmlTextReaderHasAttributes</symbol>
-    <symbol file="xmlreader">xmlTextReaderHasValue</symbol>
-    <symbol file="xmlreader">xmlTextReaderIsDefault</symbol>
-    <symbol file="xmlreader">xmlTextReaderIsEmptyElement</symbol>
-    <symbol file="xmlreader">xmlTextReaderLocalName</symbol>
-    <symbol file="xmlreader">xmlTextReaderName</symbol>
-    <symbol file="xmlreader">xmlTextReaderNamespaceUri</symbol>
-    <symbol file="xmlreader">xmlTextReaderNodeType</symbol>
-    <symbol file="xmlreader">xmlTextReaderPrefix</symbol>
-    <symbol file="xmlreader">xmlTextReaderQuoteChar</symbol>
-    <symbol file="xmlreader">xmlTextReaderRead</symbol>
-    <symbol file="xmlreader">xmlTextReaderValue</symbol>
-    <symbol file="xmlreader">xmlTextReaderXmlLang</symbol>
-    <symbol file="globals">docbDefaultSAXHandler</symbol>
-    <symbol file="globals">htmlDefaultSAXHandler</symbol>
-    <symbol file="globals">xmlDefaultSAXHandler</symbol>
-    <symbol file="globals">xmlDefaultSAXLocator</symbol>
-    <symbol file="globals">xmlDoValidityCheckingDefaultValue</symbol>
-    <symbol file="globals">xmlFree</symbol>
-    <symbol file="globals">xmlGenericError</symbol>
-    <symbol file="globals">xmlGenericErrorContext</symbol>
-    <symbol file="globals">xmlInitializeGlobalState</symbol>
-    <symbol file="globals">xmlKeepBlanksDefaultValue</symbol>
-    <symbol file="globals">xmlLineNumbersDefaultValue</symbol>
-    <symbol file="globals">xmlLoadExtDtdDefaultValue</symbol>
-    <symbol file="globals">xmlMalloc</symbol>
-    <symbol file="globals">xmlMemStrdup</symbol>
-    <symbol file="globals">xmlParserDebugEntities</symbol>
-    <symbol file="globals">xmlParserVersion</symbol>
-    <symbol file="globals">xmlPedanticParserDefaultValue</symbol>
-    <symbol file="globals">xmlRealloc</symbol>
-    <symbol file="globals">xmlSaveNoEmptyTags</symbol>
-    <symbol file="globals">xmlSubstituteEntitiesDefaultValue</symbol>
-    <symbol file="globals">xmlTreeIndentString</symbol>
-    <symbol file="threads">xmlCleanupThreads</symbol>
-    <symbol file="threads">xmlFreeMutex</symbol>
-    <symbol file="threads">xmlFreeRMutex</symbol>
-    <symbol file="threads">xmlGetGlobalState</symbol>
-    <symbol file="threads">xmlGetThreadId</symbol>
-    <symbol file="threads">xmlInitThreads</symbol>
-    <symbol file="threads">xmlIsMainThread</symbol>
-    <symbol file="threads">xmlLockLibrary</symbol>
-    <symbol file="threads">xmlMutexLock</symbol>
-    <symbol file="threads">xmlMutexUnlock</symbol>
-    <symbol file="threads">xmlNewMutex</symbol>
-    <symbol file="threads">xmlNewRMutex</symbol>
-    <symbol file="threads">xmlRMutexLock</symbol>
-    <symbol file="threads">xmlRMutexUnlock</symbol>
-    <symbol file="threads">xmlUnlockLibrary</symbol>
-    <symbol file="hash">xmlHashAddEntry</symbol>
-    <symbol file="hash">xmlHashAddEntry2</symbol>
-    <symbol file="hash">xmlHashAddEntry3</symbol>
-    <symbol file="hash">xmlHashCopy</symbol>
-    <symbol file="hash">xmlHashCreate</symbol>
-    <symbol file="hash">xmlHashFree</symbol>
-    <symbol file="hash">xmlHashLookup</symbol>
-    <symbol file="hash">xmlHashLookup2</symbol>
-    <symbol file="hash">xmlHashLookup3</symbol>
-    <symbol file="hash">xmlHashRemoveEntry</symbol>
-    <symbol file="hash">xmlHashRemoveEntry2</symbol>
-    <symbol file="hash">xmlHashRemoveEntry3</symbol>
-    <symbol file="hash">xmlHashScan</symbol>
-    <symbol file="hash">xmlHashScan3</symbol>
-    <symbol file="hash">xmlHashScanFull</symbol>
-    <symbol file="hash">xmlHashScanFull3</symbol>
-    <symbol file="hash">xmlHashSize</symbol>
-    <symbol file="hash">xmlHashUpdateEntry</symbol>
-    <symbol file="hash">xmlHashUpdateEntry2</symbol>
-    <symbol file="hash">xmlHashUpdateEntry3</symbol>
-    <symbol file="xmlerror">initGenericErrorDefaultFunc</symbol>
-    <symbol file="xmlerror">xmlParserError</symbol>
-    <symbol file="xmlerror">xmlParserPrintFileContext</symbol>
-    <symbol file="xmlerror">xmlParserPrintFileInfo</symbol>
-    <symbol file="xmlerror">xmlParserValidityError</symbol>
-    <symbol file="xmlerror">xmlParserValidityWarning</symbol>
-    <symbol file="xmlerror">xmlParserWarning</symbol>
-    <symbol file="xmlerror">xmlSetGenericErrorFunc</symbol>
-    <symbol file="globals">oldXMLWDcompatibility</symbol>
-    <symbol file="tree">xmlAddChild</symbol>
-    <symbol file="tree">xmlAddChildList</symbol>
-    <symbol file="tree">xmlAddNextSibling</symbol>
-    <symbol file="tree">xmlAddPrevSibling</symbol>
-    <symbol file="tree">xmlAddSibling</symbol>
-    <symbol file="tree">xmlBufferAdd</symbol>
-    <symbol file="tree">xmlBufferAddHead</symbol>
-    <symbol file="globals">xmlBufferAllocScheme</symbol>
-    <symbol file="tree">xmlBufferCCat</symbol>
-    <symbol file="tree">xmlBufferCat</symbol>
-    <symbol file="tree">xmlBufferContent</symbol>
-    <symbol file="tree">xmlBufferCreate</symbol>
-    <symbol file="tree">xmlBufferCreateSize</symbol>
-    <symbol file="tree">xmlBufferDump</symbol>
-    <symbol file="tree">xmlBufferEmpty</symbol>
-    <symbol file="tree">xmlBufferFree</symbol>
-    <symbol file="tree">xmlBufferGrow</symbol>
-    <symbol file="tree">xmlBufferLength</symbol>
-    <symbol file="tree">xmlBufferResize</symbol>
-    <symbol file="tree">xmlBufferSetAllocationScheme</symbol>
-    <symbol file="tree">xmlBufferShrink</symbol>
-    <symbol file="tree">xmlBufferWriteCHAR</symbol>
-    <symbol file="tree">xmlBufferWriteChar</symbol>
-    <symbol file="tree">xmlBufferWriteQuotedString</symbol>
-    <symbol file="tree">xmlCopyDoc</symbol>
-    <symbol file="tree">xmlCopyDtd</symbol>
-    <symbol file="tree">xmlCopyNamespace</symbol>
-    <symbol file="tree">xmlCopyNamespaceList</symbol>
-    <symbol file="tree">xmlCopyNode</symbol>
-    <symbol file="tree">xmlCopyNodeList</symbol>
-    <symbol file="tree">xmlCopyProp</symbol>
-    <symbol file="tree">xmlCopyPropList</symbol>
-    <symbol file="tree">xmlCreateIntSubset</symbol>
-    <symbol file="globals">xmlDefaultBufferSize</symbol>
-    <symbol file="tree">xmlDocCopyNode</symbol>
-    <symbol file="tree">xmlDocDump</symbol>
-    <symbol file="tree">xmlDocDumpFormatMemory</symbol>
-    <symbol file="tree">xmlDocDumpFormatMemoryEnc</symbol>
-    <symbol file="tree">xmlDocDumpMemory</symbol>
-    <symbol file="tree">xmlDocDumpMemoryEnc</symbol>
-    <symbol file="tree">xmlDocFormatDump</symbol>
-    <symbol file="tree">xmlDocGetRootElement</symbol>
-    <symbol file="tree">xmlDocSetRootElement</symbol>
-    <symbol file="tree">xmlElemDump</symbol>
-    <symbol file="tree">xmlFreeDoc</symbol>
-    <symbol file="tree">xmlFreeDtd</symbol>
-    <symbol file="tree">xmlFreeNode</symbol>
-    <symbol file="tree">xmlFreeNodeList</symbol>
-    <symbol file="tree">xmlFreeNs</symbol>
-    <symbol file="tree">xmlFreeNsList</symbol>
-    <symbol file="tree">xmlFreeProp</symbol>
-    <symbol file="tree">xmlFreePropList</symbol>
-    <symbol file="tree">xmlGetBufferAllocationScheme</symbol>
-    <symbol file="tree">xmlGetCompressMode</symbol>
-    <symbol file="tree">xmlGetDocCompressMode</symbol>
-    <symbol file="tree">xmlGetIntSubset</symbol>
-    <symbol file="tree">xmlGetLastChild</symbol>
-    <symbol file="tree">xmlGetLineNo</symbol>
-    <symbol file="tree">xmlGetNodePath</symbol>
-    <symbol file="tree">xmlGetNsList</symbol>
-    <symbol file="tree">xmlGetNsProp</symbol>
-    <symbol file="tree">xmlGetProp</symbol>
-    <symbol file="tree">xmlHasNsProp</symbol>
-    <symbol file="tree">xmlHasProp</symbol>
-    <symbol file="globals">xmlIndentTreeOutput</symbol>
-    <symbol file="tree">xmlIsBlankNode</symbol>
-    <symbol file="tree">xmlIsXHTML</symbol>
-    <symbol file="tree">xmlNewCDataBlock</symbol>
-    <symbol file="tree">xmlNewCharRef</symbol>
-    <symbol file="tree">xmlNewChild</symbol>
-    <symbol file="tree">xmlNewComment</symbol>
-    <symbol file="tree">xmlNewDoc</symbol>
-    <symbol file="tree">xmlNewDocComment</symbol>
-    <symbol file="tree">xmlNewDocFragment</symbol>
-    <symbol file="tree">xmlNewDocNode</symbol>
-    <symbol file="tree">xmlNewDocNodeEatName</symbol>
-    <symbol file="tree">xmlNewDocProp</symbol>
-    <symbol file="tree">xmlNewDocRawNode</symbol>
-    <symbol file="tree">xmlNewDocText</symbol>
-    <symbol file="tree">xmlNewDocTextLen</symbol>
-    <symbol file="tree">xmlNewDtd</symbol>
-    <symbol file="tree">xmlNewGlobalNs</symbol>
-    <symbol file="tree">xmlNewNode</symbol>
-    <symbol file="tree">xmlNewNodeEatName</symbol>
-    <symbol file="tree">xmlNewNs</symbol>
-    <symbol file="tree">xmlNewNsProp</symbol>
-    <symbol file="tree">xmlNewNsPropEatName</symbol>
-    <symbol file="tree">xmlNewPI</symbol>
-    <symbol file="tree">xmlNewProp</symbol>
-    <symbol file="tree">xmlNewReference</symbol>
-    <symbol file="tree">xmlNewText</symbol>
-    <symbol file="tree">xmlNewTextChild</symbol>
-    <symbol file="tree">xmlNewTextLen</symbol>
-    <symbol file="tree">xmlNodeAddContent</symbol>
-    <symbol file="tree">xmlNodeAddContentLen</symbol>
-    <symbol file="tree">xmlNodeDump</symbol>
-    <symbol file="tree">xmlNodeDumpOutput</symbol>
-    <symbol file="tree">xmlNodeGetBase</symbol>
-    <symbol file="tree">xmlNodeGetContent</symbol>
-    <symbol file="tree">xmlNodeGetLang</symbol>
-    <symbol file="tree">xmlNodeGetSpacePreserve</symbol>
-    <symbol file="tree">xmlNodeIsText</symbol>
-    <symbol file="tree">xmlNodeListGetRawString</symbol>
-    <symbol file="tree">xmlNodeListGetString</symbol>
-    <symbol file="tree">xmlNodeSetBase</symbol>
-    <symbol file="tree">xmlNodeSetContent</symbol>
-    <symbol file="tree">xmlNodeSetContentLen</symbol>
-    <symbol file="tree">xmlNodeSetLang</symbol>
-    <symbol file="tree">xmlNodeSetName</symbol>
-    <symbol file="tree">xmlNodeSetSpacePreserve</symbol>
-    <symbol file="tree">xmlReconciliateNs</symbol>
-    <symbol file="tree">xmlRemoveProp</symbol>
-    <symbol file="tree">xmlReplaceNode</symbol>
-    <symbol file="tree">xmlSaveFile</symbol>
-    <symbol file="tree">xmlSaveFileEnc</symbol>
-    <symbol file="tree">xmlSaveFileTo</symbol>
-    <symbol file="tree">xmlSaveFormatFile</symbol>
-    <symbol file="tree">xmlSaveFormatFileEnc</symbol>
-    <symbol file="tree">xmlSaveFormatFileTo</symbol>
-    <symbol file="tree">xmlSearchNs</symbol>
-    <symbol file="tree">xmlSearchNsByHref</symbol>
-    <symbol file="tree">xmlSetBufferAllocationScheme</symbol>
-    <symbol file="tree">xmlSetCompressMode</symbol>
-    <symbol file="tree">xmlSetDocCompressMode</symbol>
-    <symbol file="tree">xmlSetListDoc</symbol>
-    <symbol file="tree">xmlSetNs</symbol>
-    <symbol file="tree">xmlSetNsProp</symbol>
-    <symbol file="tree">xmlSetProp</symbol>
-    <symbol file="tree">xmlSetTreeDoc</symbol>
-    <symbol file="tree">xmlStringGetNodeList</symbol>
-    <symbol file="tree">xmlStringLenGetNodeList</symbol>
-    <symbol file="tree">xmlTextConcat</symbol>
-    <symbol file="tree">xmlTextMerge</symbol>
-    <symbol file="tree">xmlUnlinkNode</symbol>
-    <symbol file="tree">xmlUnsetNsProp</symbol>
-    <symbol file="tree">xmlUnsetProp</symbol>
-    <symbol file="xmlregexp">xmlRegExecPushString</symbol>
-    <symbol file="xmlregexp">xmlRegFreeExecCtxt</symbol>
-    <symbol file="xmlregexp">xmlRegFreeRegexp</symbol>
-    <symbol file="xmlregexp">xmlRegNewExecCtxt</symbol>
-    <symbol file="xmlregexp">xmlRegexpCompile</symbol>
-    <symbol file="xmlregexp">xmlRegexpExec</symbol>
-    <symbol file="xmlregexp">xmlRegexpIsDeterminist</symbol>
-    <symbol file="xmlregexp">xmlRegexpPrint</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPAuthHeader</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPCleanup</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPClose</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPFetch</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPInit</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPMethod</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPMethodRedir</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPOpen</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPOpenRedir</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPRead</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPReturnCode</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPSave</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPScanProxy</symbol>
-    <symbol file="xmlunicode">xmlUCSIsAlphabeticPresentationForms</symbol>
-    <symbol file="xmlunicode">xmlUCSIsArabic</symbol>
-    <symbol file="xmlunicode">xmlUCSIsArabicPresentationFormsA</symbol>
-    <symbol file="xmlunicode">xmlUCSIsArabicPresentationFormsB</symbol>
-    <symbol file="xmlunicode">xmlUCSIsArmenian</symbol>
-    <symbol file="xmlunicode">xmlUCSIsArrows</symbol>
-    <symbol file="xmlunicode">xmlUCSIsBasicLatin</symbol>
-    <symbol file="xmlunicode">xmlUCSIsBengali</symbol>
-    <symbol file="xmlunicode">xmlUCSIsBlock</symbol>
-    <symbol file="xmlunicode">xmlUCSIsBlockElements</symbol>
-    <symbol file="xmlunicode">xmlUCSIsBopomofo</symbol>
-    <symbol file="xmlunicode">xmlUCSIsBopomofoExtended</symbol>
-    <symbol file="xmlunicode">xmlUCSIsBoxDrawing</symbol>
-    <symbol file="xmlunicode">xmlUCSIsBraillePatterns</symbol>
-    <symbol file="xmlunicode">xmlUCSIsByzantineMusicalSymbols</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCJKCompatibility</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCJKCompatibilityForms</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCJKCompatibilityIdeographs</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCJKCompatibilityIdeographsSupplement</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCJKRadicalsSupplement</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCJKSymbolsandPunctuation</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCJKUnifiedIdeographs</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCJKUnifiedIdeographsExtensionA</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCJKUnifiedIdeographsExtensionB</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCat</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatC</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatCc</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatCf</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatCo</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatCs</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatL</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatLl</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatLm</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatLo</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatLt</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatLu</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatM</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatMc</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatMe</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatMn</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatN</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatNd</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatNl</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatNo</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatP</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatPc</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatPd</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatPe</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatPf</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatPi</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatPo</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatPs</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatS</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatSc</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatSk</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatSm</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatSo</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatZ</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatZl</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatZp</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCatZs</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCherokee</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCombiningDiacriticalMarks</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCombiningHalfMarks</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCombiningMarksforSymbols</symbol>
-    <symbol file="xmlunicode">xmlUCSIsControlPictures</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCurrencySymbols</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCyrillic</symbol>
-    <symbol file="xmlunicode">xmlUCSIsDeseret</symbol>
-    <symbol file="xmlunicode">xmlUCSIsDevanagari</symbol>
-    <symbol file="xmlunicode">xmlUCSIsDingbats</symbol>
-    <symbol file="xmlunicode">xmlUCSIsEnclosedAlphanumerics</symbol>
-    <symbol file="xmlunicode">xmlUCSIsEnclosedCJKLettersandMonths</symbol>
-    <symbol file="xmlunicode">xmlUCSIsEthiopic</symbol>
-    <symbol file="xmlunicode">xmlUCSIsGeneralPunctuation</symbol>
-    <symbol file="xmlunicode">xmlUCSIsGeometricShapes</symbol>
-    <symbol file="xmlunicode">xmlUCSIsGeorgian</symbol>
-    <symbol file="xmlunicode">xmlUCSIsGothic</symbol>
-    <symbol file="xmlunicode">xmlUCSIsGreek</symbol>
-    <symbol file="xmlunicode">xmlUCSIsGreekExtended</symbol>
-    <symbol file="xmlunicode">xmlUCSIsGujarati</symbol>
-    <symbol file="xmlunicode">xmlUCSIsGurmukhi</symbol>
-    <symbol file="xmlunicode">xmlUCSIsHalfwidthandFullwidthForms</symbol>
-    <symbol file="xmlunicode">xmlUCSIsHangulCompatibilityJamo</symbol>
-    <symbol file="xmlunicode">xmlUCSIsHangulJamo</symbol>
-    <symbol file="xmlunicode">xmlUCSIsHangulSyllables</symbol>
-    <symbol file="xmlunicode">xmlUCSIsHebrew</symbol>
-    <symbol file="xmlunicode">xmlUCSIsHighPrivateUseSurrogates</symbol>
-    <symbol file="xmlunicode">xmlUCSIsHighSurrogates</symbol>
-    <symbol file="xmlunicode">xmlUCSIsHiragana</symbol>
-    <symbol file="xmlunicode">xmlUCSIsIPAExtensions</symbol>
-    <symbol file="xmlunicode">xmlUCSIsIdeographicDescriptionCharacters</symbol>
-    <symbol file="xmlunicode">xmlUCSIsKanbun</symbol>
-    <symbol file="xmlunicode">xmlUCSIsKangxiRadicals</symbol>
-    <symbol file="xmlunicode">xmlUCSIsKannada</symbol>
-    <symbol file="xmlunicode">xmlUCSIsKatakana</symbol>
-    <symbol file="xmlunicode">xmlUCSIsKhmer</symbol>
-    <symbol file="xmlunicode">xmlUCSIsLao</symbol>
-    <symbol file="xmlunicode">xmlUCSIsLatin1Supplement</symbol>
-    <symbol file="xmlunicode">xmlUCSIsLatinExtendedA</symbol>
-    <symbol file="xmlunicode">xmlUCSIsLatinExtendedAdditional</symbol>
-    <symbol file="xmlunicode">xmlUCSIsLatinExtendedB</symbol>
-    <symbol file="xmlunicode">xmlUCSIsLetterlikeSymbols</symbol>
-    <symbol file="xmlunicode">xmlUCSIsLowSurrogates</symbol>
-    <symbol file="xmlunicode">xmlUCSIsMalayalam</symbol>
-    <symbol file="xmlunicode">xmlUCSIsMathematicalAlphanumericSymbols</symbol>
-    <symbol file="xmlunicode">xmlUCSIsMathematicalOperators</symbol>
-    <symbol file="xmlunicode">xmlUCSIsMiscellaneousSymbols</symbol>
-    <symbol file="xmlunicode">xmlUCSIsMiscellaneousTechnical</symbol>
-    <symbol file="xmlunicode">xmlUCSIsMongolian</symbol>
-    <symbol file="xmlunicode">xmlUCSIsMusicalSymbols</symbol>
-    <symbol file="xmlunicode">xmlUCSIsMyanmar</symbol>
-    <symbol file="xmlunicode">xmlUCSIsNumberForms</symbol>
-    <symbol file="xmlunicode">xmlUCSIsOgham</symbol>
-    <symbol file="xmlunicode">xmlUCSIsOldItalic</symbol>
-    <symbol file="xmlunicode">xmlUCSIsOpticalCharacterRecognition</symbol>
-    <symbol file="xmlunicode">xmlUCSIsOriya</symbol>
-    <symbol file="xmlunicode">xmlUCSIsPrivateUse</symbol>
-    <symbol file="xmlunicode">xmlUCSIsRunic</symbol>
-    <symbol file="xmlunicode">xmlUCSIsSinhala</symbol>
-    <symbol file="xmlunicode">xmlUCSIsSmallFormVariants</symbol>
-    <symbol file="xmlunicode">xmlUCSIsSpacingModifierLetters</symbol>
-    <symbol file="xmlunicode">xmlUCSIsSpecials</symbol>
-    <symbol file="xmlunicode">xmlUCSIsSuperscriptsandSubscripts</symbol>
-    <symbol file="xmlunicode">xmlUCSIsSyriac</symbol>
-    <symbol file="xmlunicode">xmlUCSIsTags</symbol>
-    <symbol file="xmlunicode">xmlUCSIsTamil</symbol>
-    <symbol file="xmlunicode">xmlUCSIsTelugu</symbol>
-    <symbol file="xmlunicode">xmlUCSIsThaana</symbol>
-    <symbol file="xmlunicode">xmlUCSIsThai</symbol>
-    <symbol file="xmlunicode">xmlUCSIsTibetan</symbol>
-    <symbol file="xmlunicode">xmlUCSIsUnifiedCanadianAboriginalSyllabics</symbol>
-    <symbol file="xmlunicode">xmlUCSIsYiRadicals</symbol>
-    <symbol file="xmlunicode">xmlUCSIsYiSyllables</symbol>
-    <symbol file="uri">xmlBuildURI</symbol>
-    <symbol file="uri">xmlCreateURI</symbol>
-    <symbol file="uri">xmlFreeURI</symbol>
-    <symbol file="uri">xmlNormalizeURIPath</symbol>
-    <symbol file="uri">xmlParseURI</symbol>
-    <symbol file="uri">xmlParseURIReference</symbol>
-    <symbol file="uri">xmlPrintURI</symbol>
-    <symbol file="uri">xmlSaveUri</symbol>
-    <symbol file="uri">xmlURIEscape</symbol>
-    <symbol file="uri">xmlURIEscapeStr</symbol>
-    <symbol file="uri">xmlURIUnescapeString</symbol>
-    <symbol file="encoding">UTF8Toisolat1</symbol>
-    <symbol file="encoding">isolat1ToUTF8</symbol>
-    <symbol file="encoding">xmlAddEncodingAlias</symbol>
-    <symbol file="encoding">xmlCharEncCloseFunc</symbol>
-    <symbol file="encoding">xmlCharEncFirstLine</symbol>
-    <symbol file="encoding">xmlCharEncInFunc</symbol>
-    <symbol file="encoding">xmlCharEncOutFunc</symbol>
-    <symbol file="xmlstring">xmlCheckUTF8</symbol>
-    <symbol file="encoding">xmlCleanupCharEncodingHandlers</symbol>
-    <symbol file="encoding">xmlCleanupEncodingAliases</symbol>
-    <symbol file="encoding">xmlDelEncodingAlias</symbol>
-    <symbol file="encoding">xmlDetectCharEncoding</symbol>
-    <symbol file="encoding">xmlFindCharEncodingHandler</symbol>
-    <symbol file="encoding">xmlGetCharEncodingHandler</symbol>
-    <symbol file="encoding">xmlGetCharEncodingName</symbol>
-    <symbol file="encoding">xmlGetEncodingAlias</symbol>
-    <symbol file="xmlstring">xmlGetUTF8Char</symbol>
-    <symbol file="encoding">xmlInitCharEncodingHandlers</symbol>
-    <symbol file="encoding">xmlNewCharEncodingHandler</symbol>
-    <symbol file="encoding">xmlParseCharEncoding</symbol>
-    <symbol file="encoding">xmlRegisterCharEncodingHandler</symbol>
-    <symbol file="xmlstring">xmlUTF8Strlen</symbol>
-    <symbol file="xmlstring">xmlUTF8Strloc</symbol>
-    <symbol file="xmlstring">xmlUTF8Strndup</symbol>
-    <symbol file="xmlstring">xmlUTF8Strpos</symbol>
-    <symbol file="xmlstring">xmlUTF8Strsize</symbol>
-    <symbol file="xmlstring">xmlUTF8Strsub</symbol>
-  </release>
-  <release version="2.5.0">
-    <symbol file="globals">xmlDeregisterNodeDefault</symbol>
-    <symbol file="globals">xmlDeregisterNodeDefaultValue</symbol>
-    <symbol file="globals">xmlRegisterNodeDefault</symbol>
-    <symbol file="globals">xmlRegisterNodeDefaultValue</symbol>
-    <symbol file="xmlreader">xmlTextReaderClose</symbol>
-    <symbol file="xmlreader">xmlTextReaderCurrentDoc</symbol>
-    <symbol file="xmlreader">xmlTextReaderCurrentNode</symbol>
-    <symbol file="xmlreader">xmlTextReaderGetAttributeNo</symbol>
-    <symbol file="xmlreader">xmlTextReaderGetAttributeNs</symbol>
-    <symbol file="xmlreader">xmlTextReaderGetAttribute</symbol>
-    <symbol file="xmlreader">xmlTextReaderGetParserProp</symbol>
-    <symbol file="xmlreader">xmlTextReaderGetRemainder</symbol>
-    <symbol file="xmlreader">xmlTextReaderLookupNamespace</symbol>
-    <symbol file="xmlreader">xmlTextReaderMoveToAttributeNo</symbol>
-    <symbol file="xmlreader">xmlTextReaderMoveToAttributeNs</symbol>
-    <symbol file="xmlreader">xmlTextReaderMoveToAttribute</symbol>
-    <symbol file="xmlreader">xmlTextReaderMoveToElement</symbol>
-    <symbol file="xmlreader">xmlTextReaderMoveToFirstAttribute</symbol>
-    <symbol file="xmlreader">xmlTextReaderMoveToNextAttribute</symbol>
-    <symbol file="xmlreader">xmlTextReaderNormalization</symbol>
-    <symbol file="xmlreader">xmlTextReaderReadAttributeValue</symbol>
-    <symbol file="xmlreader">xmlTextReaderReadInnerXml</symbol>
-    <symbol file="xmlreader">xmlTextReaderReadOuterXml</symbol>
-    <symbol file="xmlreader">xmlTextReaderReadState</symbol>
-    <symbol file="xmlreader">xmlTextReaderReadString</symbol>
-    <symbol file="xmlreader">xmlTextReaderSetParserProp</symbol>
-    <symbol file="valid">xmlValidatePopElement</symbol>
-    <symbol file="valid">xmlValidatePushCData</symbol>
-    <symbol file="valid">xmlValidatePushElement</symbol>
-  </release>
-  <release version="2.5.2">
-    <symbol file="tree">xmlGetNoNsProp</symbol>
-    <symbol file="HTMLparser">htmlAttrAllowed</symbol>
-    <symbol file="HTMLparser">htmlElementAllowedHere</symbol>
-    <symbol file="HTMLparser">htmlElementStatusHere</symbol>
-    <symbol file="HTMLparser">htmlNodeStatus</symbol>
-    <symbol file="relaxng">xmlRelaxNGCleanupTypes</symbol>
-    <symbol file="relaxng">xmlRelaxNGDump</symbol>
-    <symbol file="relaxng">xmlRelaxNGFreeParserCtxt</symbol>
-    <symbol file="relaxng">xmlRelaxNGFree</symbol>
-    <symbol file="relaxng">xmlRelaxNGFreeValidCtxt</symbol>
-    <symbol file="relaxng">xmlRelaxNGNewMemParserCtxt</symbol>
-    <symbol file="relaxng">xmlRelaxNGNewParserCtxt</symbol>
-    <symbol file="relaxng">xmlRelaxNGNewValidCtxt</symbol>
-    <symbol file="relaxng">xmlRelaxNGParse</symbol>
-    <symbol file="relaxng">xmlRelaxNGSetParserErrors</symbol>
-    <symbol file="relaxng">xmlRelaxNGSetValidErrors</symbol>
-    <symbol file="relaxng">xmlRelaxNGValidateDoc</symbol>
-    <symbol file="xmlreader">xmlTextReaderGetErrorHandler</symbol>
-    <symbol file="xmlreader">xmlTextReaderLocatorBaseURI</symbol>
-    <symbol file="xmlreader">xmlTextReaderLocatorLineNumber</symbol>
-    <symbol file="xmlreader">xmlTextReaderSetErrorHandler</symbol>
-    <symbol removed="2.5.5" file="relaxng">xmlRelaxNGValidateStream</symbol>
-  </release>
-  <release version="2.5.4">
-    <symbol file="uri">xmlCanonicPath</symbol>
-    <symbol file="relaxng">xmlRelaxNGDumpTree</symbol>
-    <symbol file="tree">xmlValidateName</symbol>
-    <symbol file="tree">xmlValidateNCName</symbol>
-    <symbol file="tree">xmlValidateNMToken</symbol>
-    <symbol file="tree">xmlValidateQName</symbol>
-  </release>
-  <release version="2.5.5">
-    <symbol file="nanoftp">xmlNanoFTPDele</symbol>
-  </release>
-  <release version="2.5.6">
-    <symbol file="xpath">xmlXPathOrderDocElems</symbol>
-  </release>
-  <release version="2.5.7">
-    <symbol file="HTMLparser">htmlCreateMemoryParserCtxt</symbol>
-    <symbol file="xmlautomata">xmlAutomataNewTransition2</symbol>
-    <symbol file="tree">xmlBuildQName</symbol>
-    <symbol file="xmlmemory">xmlGcMemGet</symbol>
-    <symbol file="xmlmemory">xmlGcMemSetup</symbol>
-    <symbol file="globals">xmlMallocAtomic</symbol>
-    <symbol file="xmlregexp">xmlRegExecPushString2</symbol>
-    <symbol file="relaxng">xmlRelaxNGNewDocParserCtxt</symbol>
-    <symbol file="relaxng">xmlRelaxNGValidateFullElement</symbol>
-    <symbol file="relaxng">xmlRelaxNGValidatePopElement</symbol>
-    <symbol file="relaxng">xmlRelaxNGValidatePushCData</symbol>
-    <symbol file="relaxng">xmlRelaxNGValidatePushElement</symbol>
-    <symbol file="xmlreader">xmlTextReaderExpand</symbol>
-    <symbol file="xmlreader">xmlTextReaderIsValid</symbol>
-    <symbol file="xmlreader">xmlTextReaderNext</symbol>
-    <symbol file="xmlreader">xmlTextReaderRelaxNGSetSchema</symbol>
-    <symbol file="xmlreader">xmlTextReaderRelaxNGValidate</symbol>
-  </release>
-  <release version="2.5.8">
-    <symbol file="globals">xmlCleanupGlobals</symbol>
-    <symbol file="globals">xmlInitGlobals</symbol>
-    <symbol file="valid">xmlFreeValidCtxt</symbol>
-    <symbol file="valid">xmlNewValidCtxt</symbol>
-    <symbol file="schemasInternals">xmlSchemaFreeType</symbol>
-    <symbol file="xmlschemas">xmlSchemaDump</symbol>
-    <symbol file="xmlschemas">xmlSchemaFreeParserCtxt</symbol>
-    <symbol file="xmlschemas">xmlSchemaFreeValidCtxt</symbol>
-    <symbol file="xmlschemas">xmlSchemaFree</symbol>
-    <symbol file="xmlschemas">xmlSchemaNewMemParserCtxt</symbol>
-    <symbol file="xmlschemas">xmlSchemaNewParserCtxt</symbol>
-    <symbol file="xmlschemas">xmlSchemaNewValidCtxt</symbol>
-    <symbol file="xmlschemas">xmlSchemaParse</symbol>
-    <symbol file="xmlschemas">xmlSchemaSetParserErrors</symbol>
-    <symbol file="xmlschemas">xmlSchemaSetValidErrors</symbol>
-    <symbol file="xmlschemas">xmlSchemaValidateDoc</symbol>
-    <symbol file="xmlschemas">xmlSchemaValidateStream</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaCheckFacet</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaCleanupTypes</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaCompareValues</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaFreeFacet</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaFreeValue</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaGetPredefinedType</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaInitTypes</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaNewFacet</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValidateFacet</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValidatePredefinedType</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValPredefTypeNode</symbol>
-    <symbol file="globals">xmlThrDefBufferAllocScheme</symbol>
-    <symbol file="globals">xmlThrDefDefaultBufferSize</symbol>
-    <symbol file="globals">xmlThrDefDeregisterNodeDefault</symbol>
-    <symbol file="globals">xmlThrDefDoValidityCheckingDefaultValue</symbol>
-    <symbol file="globals">xmlThrDefGetWarningsDefaultValue</symbol>
-    <symbol file="globals">xmlThrDefIndentTreeOutput</symbol>
-    <symbol file="globals">xmlThrDefKeepBlanksDefaultValue</symbol>
-    <symbol file="globals">xmlThrDefLineNumbersDefaultValue</symbol>
-    <symbol file="globals">xmlThrDefLoadExtDtdDefaultValue</symbol>
-    <symbol file="globals">xmlThrDefParserDebugEntities</symbol>
-    <symbol file="globals">xmlThrDefPedanticParserDefaultValue</symbol>
-    <symbol file="globals">xmlThrDefRegisterNodeDefault</symbol>
-    <symbol file="globals">xmlThrDefSaveNoEmptyTags</symbol>
-    <symbol file="globals">xmlThrDefSetGenericErrorFunc</symbol>
-    <symbol file="globals">xmlThrDefSubstituteEntitiesDefaultValue</symbol>
-    <symbol file="globals">xmlThrDefTreeIndentString</symbol>
-  </release>
-  <release version="2.5.9">
-    <symbol file="xmlmemory">xmlMallocAtomicLoc</symbol>
-    <symbol file="relaxng">xmlRelaxNGGetParserErrors</symbol>
-    <symbol file="relaxng">xmlRelaxNGGetValidErrors</symbol>
-    <symbol file="tree">xmlSplitQName3</symbol>
-    <symbol file="xmlstring">xmlUTF8Charcmp</symbol>
-    <symbol file="xmlstring">xmlUTF8Size</symbol>
-    <symbol file="xinclude">xmlXIncludeProcessTree</symbol>
-  </release>
-  <release version="2.6.0">
-    <symbol file="SAX2">xmlSAX2AttributeDecl</symbol>
-    <symbol file="SAX2">xmlSAX2CDataBlock</symbol>
-    <symbol file="SAX2">xmlSAX2Characters</symbol>
-    <symbol file="SAX2">xmlSAX2Comment</symbol>
-    <symbol file="SAX2">xmlSAX2ElementDecl</symbol>
-    <symbol file="SAX2">xmlSAX2EndDocument</symbol>
-    <symbol file="SAX2">xmlSAX2EndElementNs</symbol>
-    <symbol file="SAX2">xmlSAX2EndElement</symbol>
-    <symbol file="SAX2">xmlSAX2EntityDecl</symbol>
-    <symbol file="SAX2">xmlSAX2ExternalSubset</symbol>
-    <symbol file="SAX2">xmlSAX2GetColumnNumber</symbol>
-    <symbol file="SAX2">xmlSAX2GetEntity</symbol>
-    <symbol file="SAX2">xmlSAX2GetLineNumber</symbol>
-    <symbol file="SAX2">xmlSAX2GetParameterEntity</symbol>
-    <symbol file="SAX2">xmlSAX2GetPublicId</symbol>
-    <symbol file="SAX2">xmlSAX2GetSystemId</symbol>
-    <symbol file="SAX2">xmlSAX2HasExternalSubset</symbol>
-    <symbol file="SAX2">xmlSAX2HasInternalSubset</symbol>
-    <symbol file="SAX2">xmlSAX2IgnorableWhitespace</symbol>
-    <symbol file="SAX2">xmlSAX2InitDefaultSAXHandler</symbol>
-    <symbol file="SAX2">xmlSAX2InitDocbDefaultSAXHandler</symbol>
-    <symbol file="SAX2">xmlSAX2InitHtmlDefaultSAXHandler</symbol>
-    <symbol file="SAX2">xmlSAX2InternalSubset</symbol>
-    <symbol file="SAX2">xmlSAX2IsStandalone</symbol>
-    <symbol file="SAX2">xmlSAX2NotationDecl</symbol>
-    <symbol file="SAX2">xmlSAX2ProcessingInstruction</symbol>
-    <symbol file="SAX2">xmlSAX2Reference</symbol>
-    <symbol file="SAX2">xmlSAX2ResolveEntity</symbol>
-    <symbol file="SAX2">xmlSAX2SetDocumentLocator</symbol>
-    <symbol file="SAX2">xmlSAX2StartDocument</symbol>
-    <symbol file="SAX2">xmlSAX2StartElementNs</symbol>
-    <symbol file="SAX2">xmlSAX2StartElement</symbol>
-    <symbol file="SAX2">xmlSAX2UnparsedEntityDecl</symbol>
-    <symbol file="SAX2">xmlSAXDefaultVersion</symbol>
-    <symbol file="SAX2">xmlSAXVersion</symbol>
-    <symbol file="HTMLparser">htmlCtxtReadDoc</symbol>
-    <symbol file="HTMLparser">htmlCtxtReadFd</symbol>
-    <symbol file="HTMLparser">htmlCtxtReadFile</symbol>
-    <symbol file="HTMLparser">htmlCtxtReadIO</symbol>
-    <symbol file="HTMLparser">htmlCtxtReadMemory</symbol>
-    <symbol file="HTMLparser">htmlCtxtReset</symbol>
-    <symbol file="HTMLparser">htmlCtxtUseOptions</symbol>
-    <symbol file="HTMLparser">htmlReadDoc</symbol>
-    <symbol file="HTMLparser">htmlReadFd</symbol>
-    <symbol file="HTMLparser">htmlReadFile</symbol>
-    <symbol file="HTMLparser">htmlReadIO</symbol>
-    <symbol file="HTMLparser">htmlReadMemory</symbol>
-    <symbol file="tree">xmlBufferCreateStatic</symbol>
-    <symbol file="chvalid">xmlCharInRange</symbol>
-    <symbol file="xmlIO">xmlCheckHTTPInput</symbol>
-    <symbol file="xmlerror">xmlCopyError</symbol>
-    <symbol file="xmlerror">xmlCtxtGetLastError</symbol>
-    <symbol file="xmlerror">xmlGetLastError</symbol>
-    <symbol file="xmlerror">xmlResetError</symbol>
-    <symbol file="xmlerror">xmlResetLastError</symbol>
-    <symbol file="xmlerror">xmlSetStructuredErrorFunc</symbol>
-    <symbol file="parser">xmlCtxtReadDoc</symbol>
-    <symbol file="parser">xmlCtxtReadFd</symbol>
-    <symbol file="parser">xmlCtxtReadFile</symbol>
-    <symbol file="parser">xmlCtxtReadIO</symbol>
-    <symbol file="parser">xmlCtxtReadMemory</symbol>
-    <symbol file="xmlerror">xmlCtxtResetLastError</symbol>
-    <symbol file="parser">xmlCtxtReset</symbol>
-    <symbol file="parser">xmlCtxtUseOptions</symbol>
-    <symbol file="parser">xmlReadDoc</symbol>
-    <symbol file="parser">xmlReadFd</symbol>
-    <symbol file="parser">xmlReadFile</symbol>
-    <symbol file="parser">xmlReadIO</symbol>
-    <symbol file="parser">xmlReadMemory</symbol>
-    <symbol file="xmlstring">xmlStrPrintf</symbol>
-    <symbol file="xmlstring">xmlStrQEqual</symbol>
-    <symbol file="dict">xmlDictCreate</symbol>
-    <symbol file="dict">xmlDictFree</symbol>
-    <symbol file="dict">xmlDictLookup</symbol>
-    <symbol file="dict">xmlDictOwns</symbol>
-    <symbol file="dict">xmlDictQLookup</symbol>
-    <symbol file="dict">xmlDictReference</symbol>
-    <symbol file="dict">xmlDictSize</symbol>
-    <symbol file="parserInternals">xmlErrMemory</symbol>
-    <symbol file="parserInternals">xmlParserMaxDepth</symbol>
-    <symbol file="parserInternals">xmlStringLenDecodeEntities</symbol>
-    <symbol file="parserInternals">xmlSwitchInputEncoding</symbol>
-    <symbol file="xmlwriter">xmlFreeTextWriter</symbol>
-    <symbol file="xmlwriter">xmlNewTextWriterFilename</symbol>
-    <symbol file="xmlwriter">xmlNewTextWriterMemory</symbol>
-    <symbol file="xmlwriter">xmlNewTextWriter</symbol>
-    <symbol file="xmlwriter">xmlTextWriterEndAttribute</symbol>
-    <symbol file="xmlwriter">xmlTextWriterEndCDATA</symbol>
-    <symbol file="xmlwriter">xmlTextWriterEndDocument</symbol>
-    <symbol file="xmlwriter">xmlTextWriterEndDTD</symbol>
-    <symbol file="xmlwriter">xmlTextWriterEndElement</symbol>
-    <symbol file="xmlwriter">xmlTextWriterEndPI</symbol>
-    <symbol file="xmlwriter">xmlTextWriterFlush</symbol>
-    <symbol file="xmlwriter">xmlTextWriterFullEndElement</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartAttributeNS</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartAttribute</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartCDATA</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartDocument</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartDTDAttlist</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartDTDElement</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartDTDEntity</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartDTD</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartElementNS</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartElement</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartPI</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteAttributeNS</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteAttribute</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteBase64</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteBinHex</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteCDATA</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteComment</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteDTDAttlist</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteDTDElement</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteDTDEntity</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteDTDExternalEntity</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteDTDInternalEntity</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteDTDNotation</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteDTD</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteElementNS</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteElement</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatAttributeNS</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatAttribute</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatCDATA</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatComment</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatDTDAttlist</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatDTDElement</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatDTDInternalEntity</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatDTD</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatElementNS</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatElement</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatPI</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatRaw</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteFormatString</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWritePI</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteRawLen</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteRaw</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteString</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatAttributeNS</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatAttribute</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatCDATA</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatComment</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatDTDAttlist</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatDTDElement</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatDTDInternalEntity</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatDTD</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatElementNS</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatElement</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatPI</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatRaw</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteVFormatString</symbol>
-    <symbol file="hash">xmlHashQLookup2</symbol>
-    <symbol file="hash">xmlHashQLookup3</symbol>
-    <symbol file="hash">xmlHashQLookup</symbol>
-    <symbol file="chvalid">xmlIsBaseCharGroup</symbol>
-    <symbol file="chvalid">xmlIsCharGroup</symbol>
-    <symbol file="chvalid">xmlIsCombiningGroup</symbol>
-    <symbol file="chvalid">xmlIsDigitGroup</symbol>
-    <symbol file="chvalid">xmlIsExtenderGroup</symbol>
-    <symbol file="chvalid">xmlIsIdeographicGroup</symbol>
-    <symbol file="chvalid">xmlIsPubidChar_tab</symbol>
-    <symbol file="globals">xmlLastError</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPEncoding</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPMimeType</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPRedir</symbol>
-    <symbol file="tree">xmlNodeBufGetContent</symbol>
-    <symbol file="xmlIO">xmlParserInputBufferCreateStatic</symbol>
-    <symbol file="xmlreader">xmlReaderForDoc</symbol>
-    <symbol file="xmlreader">xmlReaderForFd</symbol>
-    <symbol file="xmlreader">xmlReaderForFile</symbol>
-    <symbol file="xmlreader">xmlReaderForIO</symbol>
-    <symbol file="xmlreader">xmlReaderForMemory</symbol>
-    <symbol file="xmlreader">xmlReaderNewDoc</symbol>
-    <symbol file="xmlreader">xmlReaderNewFd</symbol>
-    <symbol file="xmlreader">xmlReaderNewFile</symbol>
-    <symbol file="xmlreader">xmlReaderNewIO</symbol>
-    <symbol file="xmlreader">xmlReaderNewMemory</symbol>
-    <symbol file="xmlreader">xmlReaderNewWalker</symbol>
-    <symbol file="xmlreader">xmlReaderWalker</symbol>
-    <symbol file="xmlreader">xmlTextReaderConstBaseUri</symbol>
-    <symbol file="xmlreader">xmlTextReaderConstLocalName</symbol>
-    <symbol file="xmlreader">xmlTextReaderConstNamespaceUri</symbol>
-    <symbol file="xmlreader">xmlTextReaderConstName</symbol>
-    <symbol file="xmlreader">xmlTextReaderConstPrefix</symbol>
-    <symbol file="xmlreader">xmlTextReaderConstString</symbol>
-    <symbol file="xmlreader">xmlTextReaderConstValue</symbol>
-    <symbol file="xmlreader">xmlTextReaderConstXmlLang</symbol>
-    <symbol file="xmlreader">xmlTextReaderNextSibling</symbol>
-    <symbol file="xmlreader">xmlTextReaderPreserve</symbol>
-    <symbol file="globals">xmlStructuredError</symbol>
-    <symbol file="globals">xmlThrDefSetStructuredErrorFunc</symbol>
-    <symbol file="xpathInternals">xmlXPathErr</symbol>
-    <symbol removed="2.6.10" file="SAX2">xmlSAX2CheckNamespace</symbol>
-    <symbol removed="2.6.10" file="SAX2">xmlSAX2GetNamespace</symbol>
-    <symbol removed="2.6.10" file="SAX2">xmlSAX2GlobalNamespace</symbol>
-    <symbol removed="2.6.10" file="SAX2">xmlSAX2NamespaceDecl</symbol>
-    <symbol removed="2.6.10" file="SAX2">xmlSAX2SetNamespace</symbol>
-  </release>
-  <release version="2.6.1">
-    <symbol file="parser">xmlCtxtResetPush</symbol>
-  </release>
-  <release version="2.6.2">
-    <symbol file="parserInternals">xmlCreateURLParserCtxt</symbol>
-    <symbol file="xmlschemas">xmlSchemaNewDocParserCtxt</symbol>
-    <symbol file="xmlstring">xmlStrVPrintf</symbol>
-    <symbol file="xinclude">xmlXIncludeFreeContext</symbol>
-    <symbol file="xinclude">xmlXIncludeNewContext</symbol>
-    <symbol file="xinclude">xmlXIncludeProcessNode</symbol>
-  </release>
-  <release version="2.6.3">
-    <symbol file="pattern">xmlFreePatternList</symbol>
-    <symbol file="pattern">xmlFreePattern</symbol>
-    <symbol file="pattern">xmlPatterncompile</symbol>
-    <symbol file="pattern">xmlPatternMatch</symbol>
-    <symbol file="xmlwriter">xmlNewTextWriterDoc</symbol>
-    <symbol file="xmlwriter">xmlNewTextWriterPushParser</symbol>
-    <symbol file="xmlwriter">xmlNewTextWriterTree</symbol>
-    <symbol file="xmlreader">xmlTextReaderPreservePattern</symbol>
-    <symbol file="xmlunicode">xmlUCSIsAegeanNumbers</symbol>
-    <symbol file="xmlunicode">xmlUCSIsBuhid</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCombiningDiacriticalMarksforSymbols</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCypriotSyllabary</symbol>
-    <symbol file="xmlunicode">xmlUCSIsCyrillicSupplement</symbol>
-    <symbol file="xmlunicode">xmlUCSIsGreekandCoptic</symbol>
-    <symbol file="xmlunicode">xmlUCSIsHanunoo</symbol>
-    <symbol file="xmlunicode">xmlUCSIsKatakanaPhoneticExtensions</symbol>
-    <symbol file="xmlunicode">xmlUCSIsKhmerSymbols</symbol>
-    <symbol file="xmlunicode">xmlUCSIsLimbu</symbol>
-    <symbol file="xmlunicode">xmlUCSIsLinearBIdeograms</symbol>
-    <symbol file="xmlunicode">xmlUCSIsLinearBSyllabary</symbol>
-    <symbol file="xmlunicode">xmlUCSIsMiscellaneousMathematicalSymbolsA</symbol>
-    <symbol file="xmlunicode">xmlUCSIsMiscellaneousMathematicalSymbolsB</symbol>
-    <symbol file="xmlunicode">xmlUCSIsMiscellaneousSymbolsandArrows</symbol>
-    <symbol file="xmlunicode">xmlUCSIsOsmanya</symbol>
-    <symbol file="xmlunicode">xmlUCSIsPhoneticExtensions</symbol>
-    <symbol file="xmlunicode">xmlUCSIsPrivateUseArea</symbol>
-    <symbol file="xmlunicode">xmlUCSIsShavian</symbol>
-    <symbol file="xmlunicode">xmlUCSIsSupplementalArrowsA</symbol>
-    <symbol file="xmlunicode">xmlUCSIsSupplementalArrowsB</symbol>
-    <symbol file="xmlunicode">xmlUCSIsSupplementalMathematicalOperators</symbol>
-    <symbol file="xmlunicode">xmlUCSIsSupplementaryPrivateUseAreaA</symbol>
-    <symbol file="xmlunicode">xmlUCSIsSupplementaryPrivateUseAreaB</symbol>
-    <symbol file="xmlunicode">xmlUCSIsTagalog</symbol>
-    <symbol file="xmlunicode">xmlUCSIsTagbanwa</symbol>
-    <symbol file="xmlunicode">xmlUCSIsTaiLe</symbol>
-    <symbol file="xmlunicode">xmlUCSIsTaiXuanJingSymbols</symbol>
-    <symbol file="xmlunicode">xmlUCSIsUgaritic</symbol>
-    <symbol file="xmlunicode">xmlUCSIsVariationSelectorsSupplement</symbol>
-    <symbol file="xmlunicode">xmlUCSIsVariationSelectors</symbol>
-    <symbol file="xmlunicode">xmlUCSIsYijingHexagramSymbols</symbol>
-    <symbol file="xinclude">xmlXIncludeProcessFlags</symbol>
-    <symbol file="xinclude">xmlXIncludeProcessTreeFlags</symbol>
-    <symbol file="xinclude">xmlXIncludeSetFlags</symbol>
-  </release>
-  <release version="2.6.5">
-    <symbol file="xmlmemory">xmlCleanupMemory</symbol>
-    <symbol file="dict">xmlDictCreateSub</symbol>
-    <symbol file="relaxng">xmlRelaxParserSetFlag</symbol>
-    <symbol file="xmlstring">xmlStrncatNew</symbol>
-    <symbol file="xmlwriter">xmlTextWriterSetIndentString</symbol>
-    <symbol file="xmlwriter">xmlTextWriterSetIndent</symbol>
-    <symbol file="xpath">xmlXPathCtxtCompile</symbol>
-  </release>
-  <release version="2.6.6">
-    <symbol file="tree">xmlAttrSerializeTxtContent</symbol>
-    <symbol file="parser">xmlByteConsumed</symbol>
-    <symbol file="xmlreader">xmlTextReaderSetStructuredErrorHandler</symbol>
-  </release>
-  <release version="2.6.7">
-    <symbol file="xmlwriter">xmlTextWriterEndComment</symbol>
-    <symbol file="xmlwriter">xmlTextWriterStartComment</symbol>
-  </release>
-  <release version="2.6.8">
-    <symbol file="xmlsave">xmlSaveClose</symbol>
-    <symbol file="xmlsave">xmlSaveDoc</symbol>
-    <symbol file="xmlsave">xmlSaveFlush</symbol>
-    <symbol file="xmlsave">xmlSaveToFd</symbol>
-    <symbol file="xmlsave">xmlSaveToFilename</symbol>
-    <symbol file="xmlsave">xmlSaveToIO</symbol>
-    <symbol file="xmlsave">xmlSaveTree</symbol>
-    <symbol file="xmlwriter">xmlTextWriterEndDTDAttlist</symbol>
-    <symbol file="xmlwriter">xmlTextWriterEndDTDElement</symbol>
-    <symbol file="xmlwriter">xmlTextWriterEndDTDEntity</symbol>
-    <symbol file="xmlwriter">xmlTextWriterWriteDTDExternalEntityContents</symbol>
-  </release>
-  <release version="2.6.10">
-    <symbol file="xmlIO">xmlOutputBufferWriteEscape</symbol>
-    <symbol file="xmlIO">xmlPopInputCallbacks</symbol>
-    <symbol file="xmlsave">xmlSaveSetAttrEscape</symbol>
-    <symbol file="xmlsave">xmlSaveSetEscape</symbol>
-  </release>
-  <release version="2.6.11">
-    <symbol file="uri">xmlBuildRelativeURI</symbol>
-    <symbol file="globals">xmlOutputBufferCreateFilenameDefault</symbol>
-    <symbol file="globals">xmlOutputBufferCreateFilenameValue</symbol>
-    <symbol file="globals">xmlParserInputBufferCreateFilenameDefault</symbol>
-    <symbol file="globals">xmlParserInputBufferCreateFilenameValue</symbol>
-    <symbol file="globals">xmlThrDefOutputBufferCreateFilenameDefault</symbol>
-    <symbol file="globals">xmlThrDefParserInputBufferCreateFilenameDefault</symbol>
-    <symbol file="schemasInternals">xmlSchemaFreeWildcard</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaCollapseString</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaGetBuiltInListSimpleTypeItemType</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaGetBuiltInType</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaIsBuiltInTypeFacet</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValidateListSimpleTypeFacet</symbol>
-  </release>
-  <release version="2.6.12">
-    <symbol file="parser">xmlParseInNodeContext</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaGetFacetValueAsULong</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValidateLengthFacet</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValPredefTypeNodeNoNorm</symbol>
-    <symbol file="xmlschemas">xmlSchemaGetParserErrors</symbol>
-    <symbol file="xmlschemas">xmlSchemaGetValidErrors</symbol>
-  </release>
-  <release version="2.6.14">
-    <symbol file="xmlautomata">xmlAutomataNewCountTrans2</symbol>
-    <symbol file="xmlautomata">xmlAutomataNewOnceTrans2</symbol>
-    <symbol file="nanohttp">xmlNanoHTTPContentLength</symbol>
-    <symbol file="xmlschemas">xmlSchemaSetValidOptions</symbol>
-    <symbol file="xmlschemas">xmlSchemaValidateOneElement</symbol>
-    <symbol file="xmlschemas">xmlSchemaValidCtxtGetOptions</symbol>
-  </release>
-  <release version="2.6.15">
-    <symbol file="debugXML">xmlDebugCheckDocument</symbol>
-    <symbol file="tree">xmlDocCopyNodeList</symbol>
-    <symbol file="tree">xmlNewDocPI</symbol>
-    <symbol file="xmlreader">xmlTextReaderConstEncoding</symbol>
-    <symbol file="xmlreader">xmlTextReaderConstXmlVersion</symbol>
-    <symbol file="xmlreader">xmlTextReaderIsNamespaceDecl</symbol>
-    <symbol file="xmlreader">xmlTextReaderStandalone</symbol>
-  </release>
-  <release version="2.6.16">
-    <symbol file="xmlmemory">xmlMemBlocks</symbol>
-    <symbol file="relaxng">xmlRelaxNGInitTypes</symbol>
-  </release>
-  <release version="2.6.17">
-    <symbol file="dict">xmlDictExists</symbol>
-    <symbol file="xmlmodule">xmlModuleClose</symbol>
-    <symbol file="xmlmodule">xmlModuleFree</symbol>
-    <symbol file="xmlmodule">xmlModuleOpen</symbol>
-    <symbol file="xmlmodule">xmlModuleSymbol</symbol>
-    <symbol file="xmlregexp">xmlRegExecErrInfo</symbol>
-    <symbol file="xmlregexp">xmlRegExecNextValues</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaWhiteSpaceReplace</symbol>
-    <symbol file="xmlreader">xmlTextReaderGetParserColumnNumber</symbol>
-    <symbol file="xmlreader">xmlTextReaderGetParserLineNumber</symbol>
-  </release>
-  <release version="2.6.18">
-    <symbol file="valid">xmlCopyDocElementContent</symbol>
-    <symbol file="valid">xmlFreeDocElementContent</symbol>
-    <symbol file="valid">xmlNewDocElementContent</symbol>
-    <symbol file="dict">xmlDictCleanup</symbol>
-    <symbol file="hash">xmlHashCreateDict</symbol>
-    <symbol file="pattern">xmlFreeStreamCtxt</symbol>
-    <symbol file="pattern">xmlPatternFromRoot</symbol>
-    <symbol file="pattern">xmlPatternGetStreamCtxt</symbol>
-    <symbol file="pattern">xmlPatternMaxDepth</symbol>
-    <symbol file="pattern">xmlPatternStreamable</symbol>
-    <symbol file="pattern">xmlStreamPop</symbol>
-    <symbol file="pattern">xmlStreamPushAttr</symbol>
-    <symbol file="pattern">xmlStreamPush</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaCompareValuesWhtsp</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaCopyValue</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaGetCanonValue</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaNewNOTATIONValue</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaNewStringValue</symbol>
-    <symbol file="xmlreader">xmlTextReaderByteConsumed</symbol>
-  </release>
-  <release version="2.6.19">
-    <symbol file="xmlschemastypes">xmlSchemaGetValType</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValidateFacetWhtsp</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValidateLengthFacetWhtsp</symbol>
-  </release>
-  <release version="2.6.20">
-    <symbol file="tree">xmlDOMWrapAdoptNode</symbol>
-    <symbol file="tree">xmlDOMWrapFreeCtxt</symbol>
-    <symbol file="tree">xmlDOMWrapNewCtxt</symbol>
-    <symbol file="tree">xmlDOMWrapReconcileNamespaces</symbol>
-    <symbol file="tree">xmlDOMWrapRemoveNode</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaGetCanonValueWhtsp</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaNewQNameValue</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValueAppend</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValueGetAsBoolean</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValueGetAsString</symbol>
-    <symbol file="xmlschemastypes">xmlSchemaValueGetNext</symbol>
-    <symbol file="xmlschemas">xmlSchemaIsValid</symbol>
-    <symbol file="xmlschemas">xmlSchemaSAXPlug</symbol>
-    <symbol file="xmlschemas">xmlSchemaSAXUnplug</symbol>
-    <symbol file="xmlschemas">xmlSchemaValidateFile</symbol>
-    <symbol file="xmlreader">xmlTextReaderSchemaValidate</symbol>
-    <symbol file="xmlreader">xmlTextReaderSetSchema</symbol>
-  </release>
-  <release version="2.6.21">
-    <symbol file="xmlautomata">xmlAutomataNewNegTrans</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">emptyExp</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">forbiddenExp</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpCtxtNbCons</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpCtxtNbNodes</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpDump</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpExpDerive</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpFreeCtxt</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpFree</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpGetLanguage</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpGetStart</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpIsNillable</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpMaxToken</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpNewAtom</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpNewCtxt</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpNewOr</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpNewRange</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpNewSeq</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpParse</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpRef</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpStringDerive</symbol>
-    <symbol removed="2.9.10" file="xmlregexp">xmlExpSubsume</symbol>
-    <symbol file="parser">xmlHasFeature</symbol>
-    <symbol file="uri">xmlParseURIRaw</symbol>
-    <symbol file="pattern">xmlPatternMinDepth</symbol>
-    <symbol file="relaxng">xmlRelaxNGSetValidStructuredErrors</symbol>
-    <symbol file="xmlschemas">xmlSchemaSetValidStructuredErrors</symbol>
-    <symbol file="schematron">xmlSchematronFreeParserCtxt</symbol>
-    <symbol file="schematron">xmlSchematronFree</symbol>
-    <symbol file="schematron">xmlSchematronFreeValidCtxt</symbol>
-    <symbol file="schematron">xmlSchematronNewDocParserCtxt</symbol>
-    <symbol file="schematron">xmlSchematronNewMemParserCtxt</symbol>
-    <symbol file="schematron">xmlSchematronNewParserCtxt</symbol>
-    <symbol file="schematron">xmlSchematronNewValidCtxt</symbol>
-    <symbol file="schematron">xmlSchematronParse</symbol>
-    <symbol file="schematron">xmlSchematronValidateDoc</symbol>
-  </release>
-  <release version="2.6.23">
-    <symbol file="HTMLtree">htmlDocDumpMemoryFormat</symbol>
-    <symbol file="xmlIO">xmlOutputBufferCreateBuffer</symbol>
-    <symbol file="xmlsave" comment="suppressed in 2.6.11, readded in 2.6.23">xmlSaveToBuffer</symbol>
-    <symbol file="xmlschemas">xmlSchemaSetParserStructuredErrors</symbol>
-    <symbol file="pattern">xmlStreamPushNode</symbol>
-    <symbol file="pattern">xmlStreamWantsAnyNode</symbol>
-    <symbol file="xmlreader">xmlTextReaderSchemaValidateCtxt</symbol>
-  </release>
-  <release version="2.6.24">
-    <symbol file="tree">xmlDOMWrapCloneNode</symbol>
-    <symbol file="relaxng">xmlRelaxNGSetParserStructuredErrors</symbol>
-  </release>
-  <release version="2.6.25">
-    <symbol file="xpath">xmlXPathContextSetCache</symbol>
-  </release>
-  <release version="2.6.27">
-    <symbol file="HTMLparser">htmlNewParserCtxt</symbol>
-    <symbol file="uri">xmlPathToURI</symbol>
-    <symbol file="xinclude">xmlXIncludeProcessFlagsData</symbol>
-    <symbol file="xpath">xmlXPathCompiledEvalToBoolean</symbol>
-  </release>
-  <release version="2.6.28">
-    <symbol file="xmlreader">xmlTextReaderSetup</symbol>
-  </release>
-  <release version="2.6.29">
-    <symbol file="threads">xmlDllMain</symbol>
-  </release>
-  <release version="2.6.32">
-    <symbol file="schematron">xmlSchematronSetValidStructuredErrors</symbol>
-  </release>
-  <release version="2.7.0">
-    <symbol file="xmlmemory">xmlMemDisplayLast</symbol>
-    <symbol file="entities">xmlNewEntity</symbol>
-    <symbol file="xmlschemas">xmlSchemaValidCtxtGetParserCtxt</symbol>
-  </release>
-  <release version="2.7.3">
-    <symbol file="tree">xmlChildElementCount</symbol>
-    <symbol file="tree">xmlFirstElementChild</symbol>
-    <symbol file="tree">xmlLastElementChild</symbol>
-    <symbol file="tree">xmlNextElementSibling</symbol>
-    <symbol file="tree">xmlPreviousElementSibling</symbol>
-  </release>
-  <release version="2.7.4">
-    <symbol file="globals">xmlStructuredErrorContext</symbol>
-    <symbol file="xinclude">xmlXIncludeProcessTreeFlagsData</symbol>
-  </release>
-  <release version="2.8.0">
-    <symbol file="xmlreader">xmlTextReaderRelaxNGValidateCtxt</symbol>
-    <symbol file="tree">xmlBufferDetach</symbol>
-    <symbol file="dict">xmlInitializeDict</symbol>
-  </release>
-  <release version="2.9.0">
-    <symbol file="tree">xmlBufContent</symbol>
-    <symbol file="tree">xmlBufEnd</symbol>
-    <symbol file="tree">xmlBufGetNodeContent</symbol>
-    <symbol file="tree">xmlBufNodeDump</symbol>
-    <symbol file="tree">xmlBufShrink</symbol>
-    <symbol file="tree">xmlBufUse</symbol>
-    <symbol file="dict">xmlDictGetUsage</symbol>
-    <symbol file="dict">xmlDictSetLimit</symbol>
-    <symbol file="xmlschemas">xmlSchemaValidateSetFilename</symbol>
-    <symbol file="xmlschemas">xmlSchemaValidateSetLocator</symbol>
-    <symbol file="xmlIO">xmlOutputBufferGetContent</symbol>
-    <symbol file="xmlIO">xmlOutputBufferGetSize</symbol>
-    <symbol file="xmlwriter">xmlTextWriterSetQuoteChar</symbol>
-  </release>
-  <release version="2.9.1">
-    <symbol file="xpath">xmlXPathNodeEval</symbol>
-    <symbol file="xpath">xmlXPathSetContextNode</symbol>
-  </release>
-  <release version="2.9.8">
-    <symbol file="hash">xmlHashDefaultDeallocator</symbol>
-  </release>
-  <release version="2.9.11">
-    <symbol file="xmlIO">xmlPopOutputCallbacks</symbol>
-  </release>
-</symbols>
diff --git a/doc/syms.xsl b/doc/syms.xsl
deleted file mode 100644
index ebca88f..0000000
--- a/doc/syms.xsl
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0">
-  <xsl:output method="text" encoding="UTF-8"/>
-
-  <xsl:variable name="api" select="document('libxml2-api.xml')"/>
-
-  <xsl:template match="/">
-    <xsl:text>#
-# Officially exported symbols, for which header
-# file definitions are installed in /usr/include/libxml2
-#
-# Automatically generated from symbols.xml and syms.xsl
-#
-# Versions here are *fixed* to match the libxml2 version
-# at which the symbol was introduced. This ensures that
-# a new client app requiring symbol foo() can't accidentally
-# run with old libxml2.so not providing foo() - the global
-# soname version info can't enforce this since we never
-# change the soname
-#
-
-</xsl:text>
-    <xsl:apply-templates select="/symbols/release"/>
-  </xsl:template>
-
-  <xsl:template match="release">
-    <xsl:variable name="prev"
-                  select="preceding-sibling::release[position()=1]"/>
-    <xsl:text>LIBXML2_</xsl:text>
-    <xsl:value-of select="string(@version)"/>
-    <xsl:text> {
-    global:
-</xsl:text>
-    <xsl:for-each select="symbol">
-      <xsl:if test="string(preceding-sibling::symbol[position()=1]/@file) != string(@file)">
-        <xsl:text>
-# </xsl:text>
-        <xsl:value-of select="@file"/>
-        <xsl:text>
-</xsl:text>
-      </xsl:if>
-
-      <xsl:apply-templates select="."/>
-    </xsl:for-each>
-
-    <xsl:text>} </xsl:text>
-    <xsl:if test="$prev">
-      <xsl:text>LIBXML2_</xsl:text>
-      <xsl:value-of select="$prev/@version"/>
-    </xsl:if>
-    <xsl:text>;
-
-</xsl:text>
-  </xsl:template>
-
-  <xsl:template match="symbol">
-    <xsl:variable name="name" select="string(.)"/>
-    <xsl:variable name="file" select="string(@file)"/>
-    <xsl:choose>
-      <xsl:when test="@removed">
-        <xsl:text># </xsl:text>
-        <xsl:value-of select="$name"/>
-        <xsl:text>; removed in </xsl:text>
-        <xsl:value-of select="@removed"/>
-        <xsl:text>
-</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- make sure we can find that symbol exported from the API list -->
-        <xsl:variable name="def"
-            select="$api/api/files/file[@name = $file]/exports[@symbol = $name]"/>
-        <xsl:if test="string($def/@symbol) != $name">
-          <xsl:message terminate="yes">
-            <xsl:text>Failed to find definition in libxml2-api.xml:</xsl:text>
-            <xsl:value-of select="$name"/>
-          </xsl:message>
-        </xsl:if>
-
-        <xsl:text>  </xsl:text>
-        <xsl:value-of select="$name"/>
-        <xsl:text>;</xsl:text>
-        <xsl:if test="$def/@type = 'variable'">
-          <xsl:text> # variable</xsl:text>
-        </xsl:if>
-        <xsl:if test="@comment">
-          <xsl:text># </xsl:text>
-          <xsl:value-of select="@comment"/>
-          <xsl:text>
-</xsl:text>
-        </xsl:if>
-        <xsl:text>
-</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-</xsl:stylesheet>
-
diff --git a/doc/threads.html b/doc/threads.html
deleted file mode 100644
index b0f2062..0000000
--- a/doc/threads.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Thread safety</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Thread safety</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Starting with 2.4.7, libxml2 makes provisions to ensure that concurrent
-threads can safely work in parallel parsing different documents. There is
-however a couple of things to do to ensure it:</p><ul>
-  <li>configure the library accordingly using the --with-threads options</li>
-  <li>call xmlInitParser() in the "main" thread before using any of the
-    libxml2 API (except possibly selecting a different memory allocator)</li>
-</ul><p>Note that the thread safety cannot be ensured for multiple threads sharing
-the same document, the locking must be done at the application level, libxml
-exports a basic mutex and reentrant mutexes API in &lt;libxml/threads.h&gt;.
-The parts of the library checked for thread safety are:</p><ul>
-  <li>concurrent loading</li>
-  <li>file access resolution</li>
-  <li>catalog access</li>
-  <li>catalog building</li>
-  <li>entities lookup/accesses</li>
-  <li>validation</li>
-  <li>global variables per-thread override</li>
-  <li>memory handling</li>
-</ul><p>XPath has been tested for threaded usage on non-modified document
-   for example when using libxslt, but make 100% sure the documents
-   are accessed read-only !</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/tree.html b/doc/tree.html
deleted file mode 100644
index 623928c..0000000
--- a/doc/tree.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>The tree output</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The tree output</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The parser returns a tree built during the document analysis. The value
-returned is an <strong>xmlDocPtr</strong> (i.e., a pointer to an
-<strong>xmlDoc</strong> structure). This structure contains information such
-as the file name, the document type, and a <strong>children</strong> pointer
-which is the root of the document (or more exactly the first child under the
-root which is the document). The tree is made of <strong>xmlNode</strong>s,
-chained in double-linked lists of siblings and with a children&lt;-&gt;parent
-relationship. An xmlNode can also carry properties (a chain of xmlAttr
-structures). An attribute may have a value which is a list of TEXT or
-ENTITY_REF nodes.</p><p>Here is an example (erroneous with respect to the XML spec since there
-should be only one ELEMENT under the root):</p><p><img src="structure.gif" alt=" structure.gif " /></p><p>In the source package there is a small program (not installed by default)
-called <strong>xmllint</strong> which parses XML files given as argument and
-prints them back as parsed. This is useful for detecting errors both in XML
-code and in the XML parser itself. It has an option <strong>--debug</strong>
-which prints the actual in-memory structure of the document; here is the
-result with the <a href="#example">example</a> given before:</p><pre>DOCUMENT
-version=1.0
-standalone=true
-  ELEMENT EXAMPLE
-    ATTRIBUTE prop1
-      TEXT
-      content=gnome is great
-    ATTRIBUTE prop2
-      ENTITY_REF
-      TEXT
-      content= linux too 
-    ELEMENT head
-      ELEMENT title
-        TEXT
-        content=Welcome to Gnome
-    ELEMENT chapter
-      ELEMENT title
-        TEXT
-        content=The Linux adventure
-      ELEMENT p
-        TEXT
-        content=bla bla bla ...
-      ELEMENT image
-        ATTRIBUTE href
-          TEXT
-          content=linus.gif
-      ELEMENT p
-        TEXT
-        content=...</pre><p>This should be useful for learning the internal representation model.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/upgrade.html b/doc/upgrade.html
deleted file mode 100644
index 1bd97c9..0000000
--- a/doc/upgrade.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Upgrading 1.x code</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Upgrading 1.x code</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Incompatible changes:</p><p>Version 2 of libxml2 is the first version introducing serious backward
-incompatible changes. The main goals were:</p><ul>
-  <li>a general cleanup. A number of mistakes inherited from the very early
-    versions couldn't be changed due to compatibility constraints. Example
-    the "childs" element in the nodes.</li>
-  <li>Uniformization of the various nodes, at least for their header and link
-    parts (doc, parent, children, prev, next), the goal is a simpler
-    programming model and simplifying the task of the DOM implementors.</li>
-  <li>better conformances to the XML specification, for example version 1.x
-    had an heuristic to try to detect ignorable white spaces. As a result the
-    SAX event generated were ignorableWhitespace() while the spec requires
-    character() in that case. This also mean that a number of DOM node
-    containing blank text may populate the DOM tree which were not present
-    before.</li>
-</ul><h3>How to fix libxml-1.x code:</h3><p>So client code of libxml designed to run with version 1.x may have to be
-changed to compile against version 2.x of libxml. Here is a list of changes
-that I have collected, they may not be sufficient, so in case you find other
-change which are required, <a href="mailto:Daniel.Veillard@w3.org">drop me a
-mail</a>:</p><ol>
-  <li>The package name have changed from libxml to libxml2, the library name
-    is now -lxml2 . There is a new xml2-config script which should be used to
-    select the right parameters libxml2</li>
-  <li>Node <strong>childs</strong> field has been renamed
-    <strong>children</strong> so s/childs/children/g should be  applied
-    (probability of having "childs" anywhere else is close to 0+</li>
-  <li>The document don't have anymore a <strong>root</strong> element it has
-    been replaced by <strong>children</strong> and usually you will get a
-    list of element here. For example a Dtd element for the internal subset
-    and it's declaration may be found in that list, as well as processing
-    instructions or comments found before or after the document root element.
-    Use <strong>xmlDocGetRootElement(doc)</strong> to get the root element of
-    a document. Alternatively if you are sure to not reference DTDs nor have
-    PIs or comments before or after the root element
-    s/-&gt;root/-&gt;children/g will probably do it.</li>
-  <li>The white space issue, this one is more complex, unless special case of
-    validating parsing, the line breaks and spaces usually used for indenting
-    and formatting the document content becomes significant. So they are
-    reported by SAX and if your using the DOM tree, corresponding nodes are
-    generated. Too approach can be taken:
-    <ol>
-      <li>lazy one, use the compatibility call
-        <strong>xmlKeepBlanksDefault(0)</strong> but be aware that you are
-        relying on a special (and possibly broken) set of heuristics of
-        libxml to detect ignorable blanks. Don't complain if it breaks or
-        make your application not 100% clean w.r.t. to it's input.</li>
-      <li>the Right Way: change you code to accept possibly insignificant
-        blanks characters, or have your tree populated with weird blank text
-        nodes. You can spot them using the commodity function
-        <strong>xmlIsBlankNode(node)</strong> returning 1 for such blank
-        nodes.</li>
-    </ol>
-    <p>Note also that with the new default the output functions don't add any
-    extra indentation when saving a tree in order to be able to round trip
-    (read and save) without inflating the document with extra formatting
-    chars.</p>
-  </li>
-  <li>The include path has changed to $prefix/libxml/ and the includes
-    themselves uses this new prefix in includes instructions... If you are
-    using (as expected) the
-    <pre>xml2-config --cflags</pre>
-    <p>output to generate you compile commands this will probably work out of
-    the box</p>
-  </li>
-  <li>xmlDetectCharEncoding takes an extra argument indicating the length in
-    byte of the head of the document available for character detection.</li>
-</ol><h3>Ensuring both libxml-1.x and libxml-2.x compatibility</h3><p>Two new version of libxml (1.8.11) and libxml2 (2.3.4) have been released
-to allow smooth upgrade of existing libxml v1code while retaining
-compatibility. They offers the following:</p><ol>
-  <li>similar include naming, one should use
-    <strong>#include&lt;libxml/...&gt;</strong> in both cases.</li>
-  <li>similar identifiers defined via macros for the child and root fields:
-    respectively <strong>xmlChildrenNode</strong> and
-    <strong>xmlRootNode</strong></li>
-  <li>a new macro <strong>LIBXML_TEST_VERSION</strong> which should be
-    inserted once in the client code</li>
-</ol><p>So the roadmap to upgrade your existing libxml applications is the
-following:</p><ol>
-  <li>install the  libxml-1.8.8 (and libxml-devel-1.8.8) packages</li>
-  <li>find all occurrences where the xmlDoc <strong>root</strong> field is
-    used and change it to <strong>xmlRootNode</strong></li>
-  <li>similarly find all occurrences where the xmlNode
-    <strong>childs</strong> field is used and change it to
-    <strong>xmlChildrenNode</strong></li>
-  <li>add a <strong>LIBXML_TEST_VERSION</strong> macro somewhere in your
-    <strong>main()</strong> or in the library init entry point</li>
-  <li>Recompile, check compatibility, it should still work</li>
-  <li>Change your configure script to look first for xml2-config and fall
-    back using xml-config . Use the --cflags and --libs output of the command
-    as the Include and Linking parameters needed to use libxml.</li>
-  <li>install libxml2-2.3.x and  libxml2-devel-2.3.x (libxml-1.8.y and
-    libxml-devel-1.8.y can be kept simultaneously)</li>
-  <li>remove your config.cache, relaunch your configuration mechanism, and
-    recompile, if steps 2 and 3 were done right it should compile as-is</li>
-  <li>Test that your application is still running correctly, if not this may
-    be due to extra empty nodes due to formatting spaces being kept in libxml2
-    contrary to libxml1, in that case insert xmlKeepBlanksDefault(1) in your
-    code before calling the parser (next to
-    <strong>LIBXML_TEST_VERSION</strong> is a fine place).</li>
-</ol><p>Following those steps should work. It worked for some of my own code.</p><p>Let me put some emphasis on the fact that there is far more changes from
-libxml 1.x to 2.x than the ones you may have to patch for. The overall code
-has been considerably cleaned up and the conformance to the XML specification
-has been drastically improved too. Don't take those changes as an excuse to
-not upgrade, it may cost a lot on the long term ...</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/w3c.png b/doc/w3c.png
deleted file mode 100644
index c541c20..0000000
--- a/doc/w3c.png
+++ /dev/null
Binary files differ
diff --git a/doc/wiki.xsl b/doc/wiki.xsl
deleted file mode 100644
index c072d20..0000000
--- a/doc/wiki.xsl
+++ /dev/null
@@ -1,589 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Stylesheet to generate the HTML documentation from an XML API descriptions:
-  xsltproc wiki.xsl libxml2-api.xml
-
-  Daniel Veillard
--->
-<xsl:stylesheet version="1.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:exsl="http://exslt.org/common"
-  xmlns:str="http://exslt.org/strings"
-  extension-element-prefixes="exsl str"
-  exclude-result-prefixes="exsl str">
-
-  <!-- Generate XHTML-1.0 transitional -->
-  <xsl:output method="xml" encoding="UTF-8" indent="yes"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
-
-  <!-- Build keys for all symbols -->
-  <xsl:key name="symbols" match="/api/symbols/*" use="@name"/>
-
-  <!-- the target directory for the HTML output -->
-  <xsl:variable name="htmldir">wiki</xsl:variable>
-  <xsl:variable name="href_base">../</xsl:variable>
-
-  <xsl:template name="style">
-    <link rel="SHORTCUT ICON" href="/favicon.ico"/> 
-    <style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style>
-  </xsl:template>
-
-  <xsl:template name="docstyle">
-    <style type="text/css">
-      div.deprecated pre.programlisting {border-style: double;border-color:red}
-      pre.programlisting {border-style: double;}
-    </style>
-  </xsl:template>
-
-  <!-- This is convoluted but needed to force the current document to
-       be the API one and not the result tree from the tokenize() result,
-       because the keys are only defined on the main document -->
-  <xsl:template mode="dumptoken" match='*'>
-    <xsl:param name="token"/>
-    <xsl:variable name="ref" select="key('symbols', $token)"/>
-    <xsl:choose>
-      <xsl:when test="$ref">
-        <a href="libxml-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$token"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-  <!-- dumps a string, making cross-reference links -->
-  <xsl:template name="dumptext">
-    <xsl:param name="text"/>
-    <xsl:variable name="ctxt" select='.'/>
-    <!-- <xsl:value-of select="$text"/> -->
-    <xsl:for-each select="str:tokenize($text, ' &#9;')">
-      <xsl:apply-templates select="$ctxt" mode='dumptoken'>
-        <xsl:with-param name="token" select="string(.)"/>
-      </xsl:apply-templates>
-      <xsl:if test="position() != last()">
-        <xsl:text> </xsl:text>
-      </xsl:if>
-    </xsl:for-each>
-  </xsl:template>
-
-  <xsl:template match="macro" mode="toc">
-    <pre class="programlisting">
-    <xsl:text>#define </xsl:text><a href="#{@name}"><xsl:value-of select="@name"/></a>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="variable" mode="toc">
-    <pre class="programlisting">
-    <xsl:text>Variable </xsl:text>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="string(@type)"/>
-    </xsl:call-template>
-    <xsl:text> </xsl:text>
-    <a name="{@name}"></a>
-    <xsl:value-of select="@name"/>
-    <xsl:text>
-
-</xsl:text>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="typedef" mode="toc">
-    <xsl:variable name="name" select="string(@name)"/>
-    <pre class="programlisting">
-    <xsl:choose>
-      <xsl:when test="@type = 'enum'">
-	<xsl:text>Enum </xsl:text>
-	<a href="#{$name}"><xsl:value-of select="$name"/></a>
-	<xsl:text>
-</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:text>Typedef </xsl:text>
-	<xsl:call-template name="dumptext">
-	  <xsl:with-param name="text" select="@type"/>
-	</xsl:call-template>
-	<xsl:text> </xsl:text>
-	<a name="{$name}"><xsl:value-of select="$name"/></a>
-	<xsl:text>
-</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="typedef[@type = 'enum']">
-    <xsl:variable name="name" select="string(@name)"/>
-    <h3>Enum <a name="{$name}"><xsl:value-of select="$name"/></a></h3>
-    <pre class="programlisting">
-      <xsl:text>Enum </xsl:text>
-      <xsl:value-of select="$name"/>
-      <xsl:text> {
-</xsl:text>
-      <xsl:for-each select="/api/symbols/enum[@type = $name]">
-        <xsl:sort select="@value" data-type="number" order="ascending"/>
-        <xsl:text>    </xsl:text>
-        <a name="{@name}"><xsl:value-of select="@name"/></a>
-        <xsl:text> = </xsl:text>
-        <xsl:value-of select="@value"/>
-        <xsl:if test="@info != ''">
-	  <xsl:text> : </xsl:text>
-	  <xsl:call-template name="dumptext">
-	    <xsl:with-param name="text" select="@info"/>
-	  </xsl:call-template>
-        </xsl:if>
-        <xsl:text>
-</xsl:text>
-      </xsl:for-each>
-      <xsl:text>}
-</xsl:text>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="struct" mode="toc">
-    <pre class="programlisting">
-    <xsl:text>Structure </xsl:text><a href="#{@name}"><xsl:value-of select="@name"/></a><br/>
-    <xsl:value-of select="@type"/><xsl:text>
-</xsl:text>
-    <xsl:if test="not(field)">
-      <xsl:text>The content of this structure is not made public by the API.
-</xsl:text>
-    </xsl:if>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="struct">
-    <h3><a name="{@name}">Structure <xsl:value-of select="@name"/></a></h3>
-    <pre class="programlisting">
-    <xsl:text>Structure </xsl:text><xsl:value-of select="@name"/><br/>
-    <xsl:value-of select="@type"/><xsl:text> {
-</xsl:text>
-    <xsl:if test="not(field)">
-      <xsl:text>The content of this structure is not made public by the API.
-</xsl:text>
-    </xsl:if>
-    <xsl:for-each select="field">
-        <xsl:text>    </xsl:text>
-	<xsl:call-template name="dumptext">
-	  <xsl:with-param name="text" select="@type"/>
-	</xsl:call-template>
-	<xsl:text>&#9;</xsl:text>
-	<xsl:value-of select="@name"/>
-	<xsl:if test="@info != ''">
-	  <xsl:text>&#9;: </xsl:text>
-	  <xsl:call-template name="dumptext">
-	    <xsl:with-param name="text" select="substring(@info, 1, 40)"/>
-	  </xsl:call-template>
-	</xsl:if>
-	<xsl:text>
-</xsl:text>
-    </xsl:for-each>
-    <xsl:text>}</xsl:text>
-    </pre>
-  </xsl:template>
-
-  <xsl:template match="macro">
-    <xsl:variable name="name" select="string(@name)"/>
-    <h3><a name="{$name}"></a>Macro: <xsl:value-of select="$name"/></h3>
-    <pre><xsl:text>#define </xsl:text><xsl:value-of select="$name"/></pre>
-    <p>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="info"/>
-    </xsl:call-template>
-    </p><xsl:text>
-</xsl:text>
-  </xsl:template>
-
-  <xsl:template match="function" mode="toc">
-    <xsl:variable name="name" select="string(@name)"/>
-    <xsl:variable name="nlen" select="string-length($name)"/>
-    <xsl:variable name="tlen" select="string-length(return/@type)"/>
-    <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
-    <pre class="programlisting">
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="return/@type"/>
-    </xsl:call-template>
-    <xsl:text>&#9;</xsl:text>
-    <a href="#{@name}"><xsl:value-of select="@name"/></a>
-    <xsl:if test="$blen - 40 &lt; -8">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:if test="$blen - 40 &lt; 0">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:text>&#9;(</xsl:text>
-    <xsl:if test="not(arg)">
-      <xsl:text>void</xsl:text>
-    </xsl:if>
-    <xsl:for-each select="arg">
-      <xsl:call-template name="dumptext">
-        <xsl:with-param name="text" select="@type"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="@name"/>
-      <xsl:if test="position() != last()">
-        <xsl:text>, </xsl:text><br/>
-	<xsl:if test="$blen - 40 &gt; 8">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:if test="$blen - 40 &gt; 0">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
-      </xsl:if>
-    </xsl:for-each>
-    <xsl:text>)</xsl:text>
-    </pre><xsl:text>
-</xsl:text>
-  </xsl:template>
-
-  <xsl:template match="functype" mode="toc">
-    <xsl:variable name="name" select="string(@name)"/>
-    <xsl:variable name="nlen" select="string-length($name)"/>
-    <xsl:variable name="tlen" select="string-length(return/@type)"/>
-    <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
-    <pre class="programlisting">
-    <xsl:text>Function type: </xsl:text>
-    <a href="#{$name}"><xsl:value-of select="$name"/></a>
-    <xsl:text>
-</xsl:text>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="return/@type"/>
-    </xsl:call-template>
-    <xsl:text>&#9;</xsl:text>
-    <a href="#{$name}"><xsl:value-of select="$name"/></a>
-    <xsl:if test="$blen - 40 &lt; -8">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:if test="$blen - 40 &lt; 0">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:text>&#9;(</xsl:text>
-    <xsl:if test="not(arg)">
-      <xsl:text>void</xsl:text>
-    </xsl:if>
-    <xsl:for-each select="arg">
-      <xsl:call-template name="dumptext">
-        <xsl:with-param name="text" select="@type"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="@name"/>
-      <xsl:if test="position() != last()">
-        <xsl:text>, </xsl:text><br/>
-	<xsl:if test="$blen - 40 &gt; 8">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:if test="$blen - 40 &gt; 0">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
-      </xsl:if>
-    </xsl:for-each>
-    <xsl:text>)
-</xsl:text>
-    </pre>
-    <xsl:text>
-</xsl:text>
-  </xsl:template>
-
-  <xsl:template match="functype">
-    <xsl:variable name="name" select="string(@name)"/>
-    <xsl:variable name="nlen" select="string-length($name)"/>
-    <xsl:variable name="tlen" select="string-length(return/@type)"/>
-    <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
-    <h3>
-      <a name="{$name}"></a>
-      <xsl:text>Function type: </xsl:text>
-      <xsl:value-of select="$name"/>
-    </h3>
-    <pre class="programlisting">
-    <xsl:text>Function type: </xsl:text>
-    <xsl:value-of select="$name"/>
-    <xsl:text>
-</xsl:text>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="return/@type"/>
-    </xsl:call-template>
-    <xsl:text>&#9;</xsl:text>
-    <xsl:value-of select="@name"/>
-    <xsl:if test="$blen - 40 &lt; -8">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:if test="$blen - 40 &lt; 0">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:text>&#9;(</xsl:text>
-    <xsl:if test="not(arg)">
-      <xsl:text>void</xsl:text>
-    </xsl:if>
-    <xsl:for-each select="arg">
-      <xsl:call-template name="dumptext">
-        <xsl:with-param name="text" select="@type"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="@name"/>
-      <xsl:if test="position() != last()">
-        <xsl:text>, </xsl:text><br/>
-	<xsl:if test="$blen - 40 &gt; 8">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:if test="$blen - 40 &gt; 0">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
-      </xsl:if>
-    </xsl:for-each>
-    <xsl:text>)
-</xsl:text>
-    </pre>
-    <p>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="info"/>
-    </xsl:call-template>
-    </p>
-    <xsl:if test="arg | return">
-      <div class="variablelist"><table border="0"><col align="left"/><tbody>
-      <xsl:for-each select="arg">
-        <tr>
-          <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
-	  <td>
-	    <xsl:call-template name="dumptext">
-	      <xsl:with-param name="text" select="@info"/>
-	    </xsl:call-template>
-	  </td>
-        </tr>
-      </xsl:for-each>
-      <xsl:if test="return/@info">
-        <tr>
-          <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-	  <td>
-	    <xsl:call-template name="dumptext">
-	      <xsl:with-param name="text" select="return/@info"/>
-	    </xsl:call-template>
-	  </td>
-        </tr>
-      </xsl:if>
-      </tbody></table></div>
-    </xsl:if>
-    <br/>
-    <xsl:text>
-</xsl:text>
-  </xsl:template>
-
-  <xsl:template match="function">
-    <xsl:variable name="name" select="string(@name)"/>
-    <xsl:variable name="nlen" select="string-length($name)"/>
-    <xsl:variable name="tlen" select="string-length(return/@type)"/>
-    <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
-    <h3><a name="{$name}"></a>Function: <xsl:value-of select="$name"/></h3>
-    <pre class="programlisting">
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="return/@type"/>
-    </xsl:call-template>
-    <xsl:text>&#9;</xsl:text>
-    <xsl:value-of select="@name"/>
-    <xsl:if test="$blen - 40 &lt; -8">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:if test="$blen - 40 &lt; 0">
-      <xsl:text>&#9;</xsl:text>
-    </xsl:if>
-    <xsl:text>&#9;(</xsl:text>
-    <xsl:if test="not(arg)">
-      <xsl:text>void</xsl:text>
-    </xsl:if>
-    <xsl:for-each select="arg">
-      <xsl:call-template name="dumptext">
-        <xsl:with-param name="text" select="@type"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="@name"/>
-      <xsl:if test="position() != last()">
-        <xsl:text>, </xsl:text><br/>
-	<xsl:if test="$blen - 40 &gt; 8">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:if test="$blen - 40 &gt; 0">
-	  <xsl:text>&#9;</xsl:text>
-	</xsl:if>
-	<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
-      </xsl:if>
-    </xsl:for-each>
-    <xsl:text>)</xsl:text><br/>
-    <xsl:text>
-</xsl:text>
-    </pre>
-    <p>
-    <xsl:call-template name="dumptext">
-      <xsl:with-param name="text" select="info"/>
-    </xsl:call-template>
-    </p><xsl:text>
-</xsl:text>
-    <xsl:if test="arg | return/@info">
-      <div class="variablelist"><table border="0"><col align="left"/><tbody>
-      <xsl:for-each select="arg">
-        <tr>
-          <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
-	  <td>
-	    <xsl:call-template name="dumptext">
-	      <xsl:with-param name="text" select="@info"/>
-	    </xsl:call-template>
-	  </td>
-        </tr>
-      </xsl:for-each>
-      <xsl:if test="return/@info">
-        <tr>
-          <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-	  <td>
-	    <xsl:call-template name="dumptext">
-	      <xsl:with-param name="text" select="return/@info"/>
-	    </xsl:call-template>
-	  </td>
-        </tr>
-      </xsl:if>
-      </tbody></table></div>
-    </xsl:if>
-  </xsl:template>
-
-  <xsl:template match="exports" mode="toc">
-    <xsl:apply-templates select="key('symbols', string(@symbol))[1]" mode="toc"/>
-  </xsl:template>
-
-  <xsl:template match="exports">
-    <xsl:apply-templates select="key('symbols', string(@symbol))[1]"/>
-  </xsl:template>
-
-  <xsl:template name="description">
-    <xsl:if test="deprecated">
-      <h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2>
-    </xsl:if>
-    <xsl:if test="description">
-      <p><xsl:value-of select="description"/></p>
-    </xsl:if>
-  </xsl:template>
-
-  <xsl:template name="docomponents">
-    <xsl:param name="mode"/>
-    <xsl:apply-templates select="exports[@type='macro']" mode="$mode">
-      <xsl:sort select='@symbol'/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="exports[@type='enum']" mode="$mode">
-      <xsl:sort select='@symbol'/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="exports[@type='typedef']" mode="$mode">
-      <xsl:sort select='@symbol'/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="exports[@type='struct']" mode="$mode">
-      <xsl:sort select='@symbol'/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="exports[@type='function']" mode="$mode">
-      <xsl:sort select='@symbol'/>
-    </xsl:apply-templates>
-  </xsl:template>
-  
-  <xsl:template match="file">
-    <xsl:variable name="name" select="@name"/>
-    <xsl:variable name="title">Module <xsl:value-of select="$name"/> from <xsl:value-of select="/api/@name"/></xsl:variable>
-    <xsl:document href="{$htmldir}/libxml-{$name}.html" method="xml" encoding="UTF-8"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-	    <xsl:call-template name="style"/>
-	    <xsl:call-template name="docstyle"/>
-      <table border="0" cellpadding="3" cellspacing="1" width="100%">
-        <tr>
-          <td>
-	    <xsl:call-template name="description"/>
-	    <xsl:choose>
-	      <xsl:when test="deprecated">
-	        <div class="deprecated">
-		  <h2>Table of Contents</h2>
-		  <xsl:apply-templates select="exports" mode="toc"/>
-		  <h2>Description</h2>
-		  <xsl:text>
-</xsl:text>
-		  <xsl:apply-templates select="exports"/>
-		</div>
-	      </xsl:when>
-	      <xsl:otherwise>
-		<h2>Table of Contents</h2>
-		<xsl:apply-templates select="exports[@type='macro']" mode="toc">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='enum']" mode="toc">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='typedef']" mode="toc">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='struct']" mode="toc">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='function']" mode="toc">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<h2>Description</h2>
-		<xsl:text>
-</xsl:text>
-		<xsl:apply-templates select="exports[@type='macro']">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='enum']">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='typedef']">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='struct']">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-		<xsl:apply-templates select="exports[@type='function']">
-		  <xsl:sort select='@symbol'/>
-		</xsl:apply-templates>
-	      </xsl:otherwise>
-	    </xsl:choose>
-    </td>
-  </tr>
-</table>
-    </xsl:document>
-  </xsl:template>
-
-  <xsl:template match="file" mode="toc">
-    <xsl:variable name="name" select="@name"/>
-    <b><a href="http://xmlsoft.org/wiki/index.php?title=Libxml2:Api:{$name}"><xsl:value-of select="$name"/></a></b><br/>
-      <xsl:value-of select="summary"/>
-      <br/><br/>
-  </xsl:template>
-
-  <xsl:template name="mainpage">
-    <xsl:param name="file" select="concat($htmldir, '/libxml-index.html')"/>
-    <xsl:variable name="title">Reference Manual for <xsl:value-of select="/api/@name"/></xsl:variable>
-    <xsl:document href="{$file}" method="xml" encoding="UTF-8"
-      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-      <xsl:call-template name="style"/>
-      <xsl:call-template name="docstyle"/>
-      <table border="0" cellpadding="3" cellspacing="1" width="100%">
-        <tr>
-          <td>
-            <xsl:apply-templates select="/api/files/file" mode="toc"/>
-          </td>
-        </tr>
-      </table>
-    </xsl:document>
-  </xsl:template>
-
-  <xsl:template match="/">
-    <!-- Save the main libxml-index.html as well as a couple of copies -->
-    <xsl:call-template name="mainpage"/>
-    <!-- now build the file for each of the modules -->
-    <xsl:apply-templates select="/api/files/file"/>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/doc/xml.html b/doc/xml.html
deleted file mode 100644
index 58fc5f6..0000000
--- a/doc/xml.html
+++ /dev/null
@@ -1,6966 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-    "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-  <title>The XML C parser and toolkit of Gnome</title>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-</head>
-<body bgcolor="#ffffff">
-<h1 align="center">The XML C parser and toolkit of Gnome</h1>
-
-<h1>Note: this is the flat content of the <a href="index.html">web
-site</a></h1>
-
-<h1 style="text-align: center">libxml, a.k.a. gnome-xml</h1>
-
-<p></p>
-
-<p
-style="text-align: right; font-style: italic; font-size: 10pt">"Programming
-with libxml2 is like the thrilling embrace of an exotic stranger." <a
-href="http://diveintomark.org/archives/2004/02/18/libxml2">Mark
-Pilgrim</a></p>
-
-<p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
-(but usable outside of the Gnome platform), it is free software available
-under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
-License</a>. XML itself is a metalanguage to design markup languages, i.e.
-text language where semantic and structure are added to the content using
-extra "markup" information enclosed between angle brackets. HTML is the most
-well-known markup language. Though the library is written in C <a
-href="python.html">a variety of language bindings</a> make it available in
-other environments.</p>
-
-<p>Libxml2 is known to be very portable, the library should build and work
-without serious troubles on a variety of systems (Linux, Unix, Windows,
-CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, VxWorks, ...)</p>
-
-<p>Libxml2 implements a number of existing standards related to markup
-languages:</p>
-<ul>
-  <li>the XML standard: <a
-    href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></li>
-  <li>Namespaces in XML: <a
-    href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a></li>
-  <li>XML Base: <a
-    href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a></li>
-  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
-    Uniform Resource Identifiers <a
-    href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a></li>
-  <li>XML Path Language (XPath) 1.0: <a
-    href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a></li>
-  <li>HTML4 parser: <a
-    href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a></li>
-  <li>XML Pointer Language (XPointer) Version 1.0: <a
-    href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a></li>
-  <li>XML Inclusions (XInclude) Version 1.0: <a
-    href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a></li>
-  <li>ISO-8859-x encodings, as well as <a
-    href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
-    and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>
-    [UTF-16] Unicode encodings, and more if using iconv support</li>
-  <li>part of SGML Open Technical Resolution TR9401:1997</li>
-  <li>XML Catalogs Working Draft 06 August 2001: <a
-    href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a></li>
-  <li>Canonical XML Version 1.0: <a
-    href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
-    and the Exclusive XML Canonicalization CR draft <a
-    href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a></li>
-  <li>Relax NG, ISO/IEC 19757-2:2003, <a
-    href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a></li>
-  <li>W3C XML Schemas Part 2: Datatypes <a
-    href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
-    2001</a></li>
-  <li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7
-    April 2004</li>
-</ul>
-
-<p>In most cases libxml2 tries to implement the specifications in a
-relatively strictly compliant way. As of release 2.4.16, libxml2 passed all
-1800+ tests from the <a
-href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
-Suite</a>.</p>
-
-<p>To some extent libxml2 provides support for the following additional
-specifications but doesn't claim to implement them completely:</p>
-<ul>
-  <li>Document Object Model (DOM) <a
-    href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>
-    the document model, but it doesn't implement the API itself, gdome2 does
-    this on top of libxml2</li>
-  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc959.txt">RFC 959</a> :
-    libxml2 implements a basic FTP client code</li>
-  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc1945.txt">RFC 1945</a> :
-    HTTP/1.0, again a basic HTTP client code</li>
-  <li>SAX: a SAX2 like interface and a minimal SAX1 implementation compatible
-    with early expat versions</li>
-</ul>
-
-<p>A partial implementation of <a
-href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part
-1: Structure</a> is being worked on but it would be far too early to make any
-conformance statement about it at the moment.</p>
-
-<p>Separate documents:</p>
-<ul>
-  <li><a href="http://xmlsoft.org/XSLT/">the libxslt page</a> providing an
-    implementation of XSLT 1.0 and common extensions like EXSLT for
-  libxml2</li>
-  <li><a href="http://gdome2.cs.unibo.it/">the gdome2 page</a>
-    : a standard DOM2 implementation for libxml2</li>
-  <li><a href="http://www.aleksey.com/xmlsec/">the XMLSec page</a>: an
-    implementation of <a href="http://www.w3.org/TR/xmldsig-core/">W3C XML
-    Digital Signature</a> for libxml2</li>
-  <li>also check the related links section for more related and active
-    projects.</li>
-</ul>
-<p> Hosting sponsored by <a href="http://www.aoemedia.de/opensource-cms.html"
->Open Source CMS services</a> from AOE media.</p>
-
-<p>Logo designed by <a href="mailto:liyanage@access.ch">Marc Liyanage</a>.</p>
-
-<h2><a name="Introducti">Introduction</a></h2>
-
-<p>This document describes libxml, the <a
-href="http://www.w3.org/XML/">XML</a> C parser and toolkit developed for the
-<a href="http://www.gnome.org/">Gnome</a> project. <a
-href="http://www.w3.org/XML/">XML is a standard</a> for building tag-based
-structured documents/data.</p>
-
-<p>Here are some key points about libxml:</p>
-<ul>
-  <li>Libxml2 exports Push (progressive) and Pull (blocking) type parser
-    interfaces for both XML and HTML.</li>
-  <li>Libxml2 can do DTD validation at parse time, using a parsed document
-    instance, or with an arbitrary DTD.</li>
-  <li>Libxml2 includes complete <a
-    href="http://www.w3.org/TR/xpath">XPath</a>, <a
-    href="http://www.w3.org/TR/xptr">XPointer</a> and <a
-    href="http://www.w3.org/TR/xinclude">XInclude</a> implementations.</li>
-  <li>It is written in plain C, making as few assumptions as possible, and
-    sticking closely to ANSI C/POSIX for easy embedding. Works on
-    Linux/Unix/Windows, ported to a number of other platforms.</li>
-  <li>Basic support for HTTP and FTP client allowing applications to fetch
-    remote resources.</li>
-  <li>The design is modular, most of the extensions can be compiled out.</li>
-  <li>The internal document representation is as close as possible to the <a
-    href="http://www.w3.org/DOM/">DOM</a> interfaces.</li>
-  <li>Libxml2 also has a <a
-    href="http://www.megginson.com/SAX/index.html">SAX like interface</a>;
-    the interface is designed to be compatible with <a
-    href="http://www.jclark.com/xml/expat.html">Expat</a>.</li>
-  <li>This library is released under the <a
-    href="http://www.opensource.org/licenses/mit-license.html">MIT
-    License</a>. See the Copyright file in the distribution for the precise
-    wording.</li>
-</ul>
-
-<p>Warning: unless you are forced to because your application links with a
-Gnome-1.X library requiring it,  <strong><span
-style="background-color: #FF0000">Do Not Use libxml1</span></strong>, use
-libxml2</p>
-
-<h2><a name="FAQ">FAQ</a></h2>
-
-<p>Table of Contents:</p>
-<ul>
-  <li><a href="FAQ.html#License">License(s)</a></li>
-  <li><a href="FAQ.html#Installati">Installation</a></li>
-  <li><a href="FAQ.html#Compilatio">Compilation</a></li>
-  <li><a href="FAQ.html#Developer">Developer corner</a></li>
-</ul>
-
-<h3><a name="License">License</a>(s)</h3>
-<ol>
-  <li><em>Licensing Terms for libxml</em>
-    <p>libxml2 is released under the <a
-    href="http://www.opensource.org/licenses/mit-license.html">MIT
-    License</a>; see the file Copyright in the distribution for the precise
-    wording</p>
-  </li>
-  <li><em>Can I embed libxml2 in a proprietary application ?</em>
-    <p>Yes. The MIT License allows you to keep proprietary the changes you
-    made to libxml, but it would be graceful to send-back bug fixes and
-    improvements as patches for possible incorporation in the main
-    development tree.</p>
-  </li>
-</ol>
-
-<h3><a name="Installati">Installation</a></h3>
-<ol>
-  <li><strong><span style="background-color: #FF0000">Do Not Use
-    libxml1</span></strong>, use libxml2<p></p></li>
-  <li><em>Where can I get libxml</em> ?
-    <p>The original distribution comes from <a
-    href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> or <a
-    href="ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/">gnome.org</a></p>
-    <p>Most Linux and BSD distributions include libxml, this is probably the
-    safer way for end-users to use libxml.</p>
-    <p>David Doolin provides precompiled Windows versions at <a
-    href="http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/         ">http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/</a></p>
-  </li>
-  <li><em>I see libxml and libxml2 releases, which one should I install ?</em>
-    <ul>
-      <li>If you are not constrained by backward compatibility issues with
-        existing applications, install libxml2 only</li>
-      <li>If you are not doing development, you can safely install both.
-        Usually the packages <a
-        href="http://rpmfind.net/linux/RPM/libxml.html">libxml</a> and <a
-        href="http://rpmfind.net/linux/RPM/libxml2.html">libxml2</a> are
-        compatible (this is not the case for development packages).</li>
-      <li>If you are a developer and your system provides separate packaging
-        for shared libraries and the development components, it is possible
-        to install libxml and libxml2, and also <a
-        href="http://rpmfind.net/linux/RPM/libxml-devel.html">libxml-devel</a>
-        and <a
-        href="http://rpmfind.net/linux/RPM/libxml2-devel.html">libxml2-devel</a>
-        too for libxml2 &gt;= 2.3.0</li>
-      <li>If you are developing a new application, please develop against
-        libxml2(-devel)</li>
-    </ul>
-    <p></p>
-  </li>
-  <li><em>I can't install the libxml package, it conflicts with libxml0</em>
-    <p>You probably have an old libxml0 package used to provide the shared
-    library for libxml.so.0, you can probably safely remove it. The libxml
-    packages provided on <a
-    href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> provide
-    libxml.so.0</p>
-  </li>
-  <li><em>I can't install the libxml(2) RPM package due to failed
-    dependencies</em>
-    <p>The most generic solution is to re-fetch the latest src.rpm , and
-    rebuild it locally with</p>
-    <p><code>rpm --rebuild libxml(2)-xxx.src.rpm</code>.</p>
-    <p>If everything goes well it will generate two binary rpm packages (one
-    providing the shared libs and xmllint, and the other one, the -devel
-    package, providing includes, static libraries and scripts needed to build
-    applications with libxml(2)) that you can install locally.</p>
-  </li>
-</ol>
-
-<h3><a name="Compilatio">Compilation</a></h3>
-<ol>
-  <li><em>What is the process to compile libxml2 ?</em>
-    <p>As most UNIX libraries libxml2 follows the "standard":</p>
-    <p><code>gunzip -c xxx.tar.gz | tar xvf -</code></p>
-    <p><code>cd libxml-xxxx</code></p>
-    <p><code>./configure --help</code></p>
-    <p>to see the options, then the compilation/installation proper</p>
-    <p><code>./configure [possible options]</code></p>
-    <p><code>make</code></p>
-    <p><code>make install</code></p>
-    <p>At that point you may have to rerun ldconfig or a similar utility to
-    update your list of installed shared libs.</p>
-  </li>
-  <li><em>What other libraries are needed to compile/install libxml2 ?</em>
-    <p>Libxml2 does not require any other library, the normal C ANSI API
-    should be sufficient (please report any violation to this rule you may
-    find).</p>
-    <p>However if found at configuration time libxml2 will detect and use the
-    following libs:</p>
-    <ul>
-      <li><a href="http://www.info-zip.org/pub/infozip/zlib/">libz</a> : a
-        highly portable and available widely compression library.</li>
-      <li>iconv: a powerful character encoding conversion library. It is
-        included by default in recent glibc libraries, so it doesn't need to
-        be installed specifically on Linux. It now seems a <a
-        href="http://www.opennc.org/onlinepubs/7908799/xsh/iconv.html">part
-        of the official UNIX</a> specification. Here is one <a
-        href="http://www.gnu.org/software/libiconv/">implementation of the
-        library</a> which source can be found <a
-        href="ftp://ftp.ilog.fr/pub/Users/haible/gnu/">here</a>.</li>
-    </ul>
-    <p></p>
-  </li>
-  <li><em>Make check fails on some platforms</em>
-    <p>Sometimes the regression tests' results don't completely match the
-    value produced by the parser, and the makefile uses diff to print the
-    delta. On some platforms the diff return breaks the compilation process;
-    if the diff is small this is probably not a serious problem.</p>
-    <p>Sometimes (especially on Solaris) make checks fail due to limitations
-    in make. Try using GNU-make instead.</p>
-  </li>
-  <li><em>I use the SVN version and there is no configure script</em>
-    <p>The configure script (and other Makefiles) are generated. Use the
-    autogen.sh script to regenerate the configure script and Makefiles,
-    like:</p>
-    <p><code>./autogen.sh --prefix=/usr --disable-shared</code></p>
-  </li>
-  <li><em>I have troubles when running make tests with gcc-3.0</em>
-    <p>It seems the initial release of gcc-3.0 has a problem with the
-    optimizer which miscompiles the URI module. Please use another
-    compiler.</p>
-  </li>
-</ol>
-
-<h3><a name="Developer">Developer</a> corner</h3>
-<ol>
-  <li><em>Troubles compiling or linking programs using libxml2</em>
-    <p>Usually the problem comes from the fact that the compiler doesn't get
-    the right compilation or linking flags. There is a small shell script
-    <code>xml2-config</code> which is installed as part of libxml2 usual
-    install process which provides those flags. Use</p>
-    <p><code>xml2-config --cflags</code></p>
-    <p>to get the compilation flags and</p>
-    <p><code>xml2-config --libs</code></p>
-    <p>to get the linker flags. Usually this is done directly from the
-    Makefile as:</p>
-    <p><code>CFLAGS=`xml2-config --cflags`</code></p>
-    <p><code>LIBS=`xml2-config --libs`</code></p>
-  </li>
-  <li><em>I want to install my own copy of libxml2 in my home directory and
-    link my programs against it, but it doesn't work</em>
-    <p>There are many different ways to accomplish this.  Here is one way to
-    do this under Linux.  Suppose your home directory is <code>/home/user.
-    </code>Then:</p>
-    <ul>
-      <li>Create a subdirectory, let's call it <code>myxml</code></li>
-      <li>unpack the libxml2 distribution into that subdirectory</li>
-      <li>chdir into the unpacked distribution
-        (<code>/home/user/myxml/libxml2 </code>)</li>
-      <li>configure the library using the "<code>--prefix</code>" switch,
-        specifying an installation subdirectory in
-        <code>/home/user/myxml</code>, e.g.
-        <p><code>./configure --prefix /home/user/myxml/xmlinst</code> {other
-        configuration options}</p>
-      </li>
-      <li>now run <code>make</code> followed by <code>make install</code></li>
-      <li>At this point, the installation subdirectory contains the complete
-        "private" include files, library files and binary program files (e.g.
-        xmllint), located in
-        <p><code>/home/user/myxml/xmlinst/lib,
-        /home/user/myxml/xmlinst/include </code> and <code>
-        /home/user/myxml/xmlinst/bin</code></p>
-        respectively.</li>
-      <li>In order to use this "private" library, you should first add it to
-        the beginning of your default PATH (so that your own private program
-        files such as xmllint will be used instead of the normal system
-        ones).  To do this, the Bash command would be
-        <p><code>export PATH=/home/user/myxml/xmlinst/bin:$PATH</code></p>
-      </li>
-      <li>Now suppose you have a program <code>test1.c</code> that you would
-        like to compile with your "private" library.  Simply compile it using
-        the command
-        <p><code>gcc `xml2-config --cflags --libs` -o test test.c</code></p>
-        Note that, because your PATH has been set with <code>
-        /home/user/myxml/xmlinst/bin</code> at the beginning, the xml2-config
-        program which you just installed will be used instead of the system
-        default one, and this will <em>automatically</em> get the correct
-        libraries linked with your program.</li>
-    </ul>
-    <p></p>
-  </li>
-  <li><em>xmlDocDump() generates output on one line.</em>
-    <p>Libxml2 will not <strong>invent</strong> spaces in the content of a
-    document since <strong>all spaces in the content of a document are
-    significant</strong>. If you build a tree from the API and want
-    indentation:</p>
-    <ol>
-      <li>the correct way is to generate those yourself too.</li>
-      <li>the dangerous way is to ask libxml2 to add those blanks to your
-        content <strong>modifying the content of your document in the
-        process</strong>. The result may not be what you expect. There is
-        <strong>NO</strong> way to guarantee that such a modification won't
-        affect other parts of the content of your document. See <a
-        href="http://xmlsoft.org/html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault
-        ()</a> and <a
-        href="http://xmlsoft.org/html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile
-        ()</a></li>
-    </ol>
-    <p></p>
-  </li>
-  <li><em>Extra nodes in the document:</em>
-    <p><em>For an XML file as below:</em></p>
-    <pre>&lt;?xml version="1.0"?&gt;
-&lt;PLAN xmlns="http://www.argus.ca/autotest/1.0/"&gt;
-&lt;NODE CommFlag="0"/&gt;
-&lt;NODE CommFlag="1"/&gt;
-&lt;/PLAN&gt;</pre>
-    <p><em>after parsing it with the function
-    pxmlDoc=xmlParseFile(...);</em></p>
-    <p><em>I want to the get the content of the first node (node with the
-    CommFlag="0")</em></p>
-    <p><em>so I did it as following;</em></p>
-    <pre>xmlNodePtr pnode;
-pnode=pxmlDoc-&gt;children-&gt;children;</pre>
-    <p><em>but it does not work. If I change it to</em></p>
-    <pre>pnode=pxmlDoc-&gt;children-&gt;children-&gt;next;</pre>
-    <p><em>then it works.  Can someone explain it to me.</em></p>
-    <p></p>
-    <p>In XML all characters in the content of the document are significant
-    <strong>including blanks and formatting line breaks</strong>.</p>
-    <p>The extra nodes you are wondering about are just that, text nodes with
-    the formatting spaces which are part of the document but that people tend
-    to forget. There is a function <a
-    href="http://xmlsoft.org/html/libxml-parser.html">xmlKeepBlanksDefault
-    ()</a>  to remove those at parse time, but that's an heuristic, and its
-    use should be limited to cases where you are certain there is no
-    mixed-content in the document.</p>
-  </li>
-  <li><em>I get compilation errors of existing code like when accessing
-    <strong>root</strong> or <strong>child fields</strong> of nodes.</em>
-    <p>You are compiling code developed for libxml version 1 and using a
-    libxml2 development environment. Either switch back to libxml v1 devel or
-    even better fix the code to compile with libxml2 (or both) by <a
-    href="upgrade.html">following the instructions</a>.</p>
-  </li>
-  <li><em>I get compilation errors about non existing
-    <strong>xmlRootNode</strong> or <strong>xmlChildrenNode</strong>
-    fields.</em>
-    <p>The source code you are using has been <a
-    href="upgrade.html">upgraded</a> to be able to compile with both libxml
-    and libxml2, but you need to install a more recent version:
-    libxml(-devel) &gt;= 1.8.8 or libxml2(-devel) &gt;= 2.1.0</p>
-  </li>
-  <li><em>Random crashes in threaded applications</em>
-    <p>Read and follow all advices on the <a href="threads.html">thread
-    safety</a> page, and make 100% sure you never call xmlCleanupParser()
-    while the library or an XML document might still be in use by another
-    thread.</p>
-  </li>
-  <li><em>The example provided in the web page does not compile.</em>
-    <p>It's hard to maintain the documentation in sync with the code
-    &lt;grin/&gt; ...</p>
-    <p>Check the previous points 1/ and 2/ raised before, and please send
-    patches.</p>
-  </li>
-  <li><em>Where can I get more examples and information than provided on the
-    web page?</em>
-    <p>Ideally a libxml2 book would be nice. I have no such plan ... But you
-    can:</p>
-    <ul>
-      <li>check more deeply the <a href="html/libxml-lib.html">existing
-        generated doc</a></li>
-      <li>have a look at <a href="examples/index.html">the set of
-        examples</a>.</li>
-      <li>look for examples of use for libxml2 function using the Gnome code
-          or by asking on Google.</li>
-      <li><a
-        href="http://svn.gnome.org/viewvc/libxml2/trunk/">Browse
-        the libxml2 source</a> , I try to write code as clean and documented
-        as possible, so looking at it may be helpful. In particular the code
-        of <a href="http://svn.gnome.org/viewvc/libxml2/trunk/xmllint.c?view=markup">xmllint.c</a> and of the various testXXX.c test programs should
-        provide good examples of how to do things with the library.</li>
-    </ul>
-    <p></p>
-  </li>
-  <li><em>What about C++ ?</em>
-    <p>libxml2 is written in pure C in order to allow easy reuse on a number
-    of platforms, including embedded systems. I don't intend to convert to
-    C++.</p>
-    <p>There is however a C++ wrapper which may fulfill your needs:</p>
-    <ul>
-      <li>by Ari Johnson &lt;ari@btigate.com&gt;:
-        <p>Website: <a
-        href="https://libxmlplusplus.github.io/libxmlplusplus/">https://libxmlplusplus.github.io/libxmlplusplus/</a></p>
-        <p>Download: <a
-        href="https://download.gnome.org/sources/libxml++/">https://download.gnome.org/sources/libxml++/</a></p>
-      </li>
-    </ul>
-  </li>
-  <li><em>How to validate a document a posteriori ?</em>
-    <p>It is possible to validate documents which had not been validated at
-    initial parsing time or documents which have been built from scratch
-    using the API. Use the <a
-    href="http://xmlsoft.org/html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd()</a>
-    function. It is also possible to simply add a DTD to an existing
-    document:</p>
-    <pre>xmlDocPtr doc; /* your existing document */
-xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */
-
-        dtd-&gt;name = xmlStrDup((xmlChar*)"root_name"); /* use the given root */
-
-        doc-&gt;intSubset = dtd;
-        if (doc-&gt;children == NULL) xmlAddChild((xmlNodePtr)doc, (xmlNodePtr)dtd);
-        else xmlAddPrevSibling(doc-&gt;children, (xmlNodePtr)dtd);
-          </pre>
-  </li>
-  <li><em>So what is this funky "xmlChar" used all the time?</em>
-    <p>It is a null terminated sequence of utf-8 characters. And only utf-8!
-    You need to convert strings encoded in different ways to utf-8 before
-    passing them to the API.  This can be accomplished with the iconv library
-    for instance.</p>
-  </li>
-  <li>etc ...</li>
-</ol>
-
-<p></p>
-
-<h2><a name="Documentat">Developer Menu</a></h2>
-
-<p>There are several on-line resources related to using libxml:</p>
-<ol>
-  <li>Use the <a href="search.php">search engine</a> to look up
-  information.</li>
-  <li>Check the <a href="FAQ.html">FAQ.</a></li>
-  <li>Check the <a href="http://xmlsoft.org/html/libxml-lib.html">extensive
-    documentation</a> automatically extracted from code comments.</li>
-  <li>Look at the documentation about <a href="encoding.html">libxml
-    internationalization support</a>.</li>
-  <li>This page provides a global overview and <a href="example.html">some
-    examples</a> on how to use libxml.</li>
-  <li><a href="examples/index.html">Code examples</a></li>
-  <li>John Fleck's libxml2 tutorial: <a href="tutorial/index.html">html</a>
-    or <a href="tutorial/xmltutorial.pdf">pdf</a>.</li>
-  <li>If you need to parse large files, check the <a
-    href="xmlreader.html">xmlReader</a> API tutorial</li>
-  <li><a href="mailto:james@daa.com.au">James Henstridge</a> wrote <a
-    href="http://www.jamesh.id.au/articles/libxml-sax/libxml-sax.html">some nice
-    documentation</a> explaining how to use the libxml SAX interface.</li>
-  <li>George Lebl wrote <a
-    href="http://www-106.ibm.com/developerworks/library/l-gnome3/">an article
-    for IBM developerWorks</a> about using libxml.</li>
-  <li>Check <a href="http://svn.gnome.org/viewvc/libxml2/trunk/TODO?view=markup">the TODO
-    file</a>.</li>
-  <li>Read the <a href="upgrade.html">1.x to 2.x upgrade path</a>
-    description. If you are starting a new project using libxml you should
-    really use the 2.x version.</li>
-  <li>And don't forget to look at the <a
-    href="http://mail.gnome.org/archives/xml/">mailing-list archive</a>.</li>
-</ol>
-
-<h2><a name="Reporting">Reporting bugs and getting help</a></h2>
-
-<p>Well, bugs or missing features are always possible, and I will make a
-point of fixing them in a timely fashion. The best way to report a bug is to
-use the <a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Gnome
-bug tracking database</a> (make sure to use the "libxml2" module name). I
-look at reports there regularly and it's good to have a reminder when a bug
-is still open. Be sure to specify that the bug is for the package libxml2.</p>
-
-<p>For small problems you can try to get help on IRC, the #xml channel on
-irc.gnome.org (port 6667) usually has a few people subscribed which may help
-(but there is no guarantee and if a real issue is raised it should go on the
-mailing-list for archival).</p>
-
-<p>There is also a mailing-list <a
-href="mailto:xml@gnome.org">xml@gnome.org</a> for libxml, with an  <a
-href="http://mail.gnome.org/archives/xml/">on-line archive</a> (<a
-href="http://xmlsoft.org/messages">old</a>). To subscribe to this list,
-please visit the <a
-href="http://mail.gnome.org/mailman/listinfo/xml">associated Web</a> page and
-follow the instructions. <strong>Do not send code, I won't debug it</strong>
-(but patches are really appreciated!).</p>
-
-<p>Please note that with the current amount of virus and SPAM, sending mail
-to the list without being subscribed won't work. There is *far too many
-bounces* (in the order of a thousand a day !) I cannot approve them manually
-anymore. If your mail to the list bounced waiting for administrator approval,
-it is LOST ! Repost it and fix the problem triggering the error. Also please
-note that <span style="color: #FF0000; background-color: #FFFFFF">emails with
-a legal warning asking to not copy or redistribute freely the information
-they contain</span> are <strong>NOT</strong> acceptable for the mailing-list,
-such mail will as much as possible be discarded automatically, and are less
-likely to be answered if they made it to the list, <strong>DO NOT</strong>
-post to the list from an email address where such legal requirements are
-automatically added, get private paying support if you can't share
-information.</p>
-
-<p>Check the following <strong><span style="color: #FF0000">before
-posting</span></strong>:</p>
-<ul>
-  <li>Read the <a href="FAQ.html">FAQ</a> and <a href="search.php">use the
-    search engine</a> to get information related to your problem.</li>
-  <li>Make sure you are <a href="ftp://xmlsoft.org/libxml2/">using a recent
-    version</a>, and that the problem still shows up in a recent version.</li>
-  <li>Check the <a href="http://mail.gnome.org/archives/xml/">list
-    archives</a> to see if the problem was reported already. In this case
-    there is probably a fix available, similarly check the <a
-    href="https://gitlab.gnome.org/GNOME/libxml2/issues">registered
-    open bugs</a>.</li>
-  <li>Make sure you can reproduce the bug with xmllint or one of the test
-    programs found in source in the distribution.</li>
-  <li>Please send the command showing the error as well as the input (as an
-    attachment)</li>
-</ul>
-
-<p>Then send the bug with associated information to reproduce it to the <a
-href="mailto:xml@gnome.org">xml@gnome.org</a> list; if it's really libxml
-related I will approve it. Please do not send mail to me directly, it makes
-things really hard to track and in some cases I am not the best person to
-answer a given question, ask on the list.</p>
-
-<p>To <span style="color: #E50000">be really clear about support</span>:</p>
-<ul>
-  <li>Support or help <span style="color: #E50000">requests MUST be sent to
-    the list or the bug tracker</span> in case of problems, so that the Question
-    and Answers can be shared publicly. Failing to do so carries the implicit
-    message "I want free support but I don't want to share the benefits with
-    others" and is not welcome. I will automatically Carbon-Copy the
-    xml@gnome.org mailing list for any technical reply made about libxml2 or
-    libxslt.</li>
-  <li>There is <span style="color: #E50000">no guarantee of support</span>. If
-    your question remains unanswered after a week, repost it, making sure you
-    gave all the detail needed and the information requested.</li>
-  <li>Failing to provide information as requested or double checking first
-    for prior feedback also carries the implicit message "the time of the
-    library maintainers is less valuable than my time" and might not be
-    welcome.</li>
-</ul>
-
-<p>Of course, bugs reported with a suggested patch for fixing them will
-probably be processed faster than those without.</p>
-
-<p>If you're looking for help, a quick look at <a
-href="http://mail.gnome.org/archives/xml/">the list archive</a> may actually
-provide the answer. I usually send source samples when answering libxml2
-usage questions. The <a
-href="http://xmlsoft.org/html/book1.html">auto-generated documentation</a> is
-not as polished as I would like (i need to learn more about DocBook), but
-it's a good starting point.</p>
-
-<h2><a name="help">How to help</a></h2>
-
-<p>You can help the project in various ways, the best thing to do first is to
-subscribe to the mailing-list as explained before, check the <a
-href="http://mail.gnome.org/archives/xml/">archives </a>and the <a
-href="https://gitlab.gnome.org/GNOME/libxml2/issues">Gnome bug
-database</a>:</p>
-<ol>
-  <li>Provide patches when you find problems.</li>
-  <li>Provide the diffs when you port libxml2 to a new platform. They may not
-    be integrated in all cases but help pinpointing portability problems
-  and</li>
-  <li>Provide documentation fixes (either as patches to the code comments or
-    as HTML diffs).</li>
-  <li>Provide new documentations pieces (translations, examples, etc
-  ...).</li>
-  <li>Check the TODO file and try to close one of the items.</li>
-  <li>Take one of the points raised in the archive or the bug database and
-    provide a fix. <a href="mailto:daniel@veillard.com">Get in touch with me
-    </a>before to avoid synchronization problems and check that the suggested
-    fix will fit in nicely :-)</li>
-</ol>
-
-<h2><a name="Downloads">Downloads</a></h2>
-
-<p>The latest versions of libxml2 can be found on the <a
-href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> server ( <a
-href="ftp://xmlsoft.org/libxml2/">FTP</a> and rsync are available), there are also
-mirrors (<a href="ftp://fr.rpmfind.net/pub/libxml/">France</a> and
-Antonin Sprinzl also provide <a href="ftp://gd.tuwien.ac.at/pub/libxml/">a
-mirror in Austria</a>). (NOTE that you need both the <a
-href="http://rpmfind.net/linux/RPM/libxml2.html">libxml(2)</a> and <a
-href="http://rpmfind.net/linux/RPM/libxml2-devel.html">libxml(2)-devel</a>
-packages installed to compile applications using libxml if using RPMs.)</p>
-
-<p>You can find all the history of libxml(2) and libxslt releases in the <a
-href="http://xmlsoft.org/sources/old/">old</a> directory. The precompiled
-Windows binaries made by Igor Zlatovic are available in the <a
-href="http://xmlsoft.org/sources/win32/">win32</a> directory.</p>
-
-<p>Binary ports:</p>
-<ul>
-  <li>RPMs for x86_64 are available directly on <a
-    href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a>, the source RPM will compile on
-    any architecture supported.</li>
-  <li><a href="mailto:igor@zlatkovic.com">Igor Zlatkovic</a> is now the
-    maintainer of the Windows port, <a
-    href="http://www.zlatkovic.com/projects/libxml/index.html">he provides
-    binaries</a>.</li>
-  <li>OpenCSW provides <a
-    href="http://opencsw.org/packages/libxml2">Solaris
-  binaries</a>.</li>
-  <li><a href="mailto:Steve.Ball@explain.com.au">Steve Ball</a> provides <a
-    href="http://www.explain.com.au/oss/libxml2xslt.html">Mac Os X
-    binaries</a>.</li>
-  <li>The HP-UX porting center provides <a
-    href="http://hpux.connect.org.uk/hppd/hpux/Gnome/">HP-UX binaries</a></li>
-  <li>Bull provides precompiled <a
-    href="http://gnome.bullfreeware.com/new_index.html">RPMs for AIX</a> as
-    patr of their GNOME packages</li>
-</ul>
-
-<p>If you know other supported binary ports, please <a
-href="http://veillard.com/">contact me</a>.</p>
-
-<p><a name="Snapshot">Snapshot:</a></p>
-<ul>
-  <li>Code from the GNOME GIT base libxml2 module, updated hourly <a
-    href="ftp://xmlsoft.org/libxml2/libxml2-git-snapshot.tar.gz">libxml2-git-snapshot.tar.gz</a>.</li>
-  <li>Docs, content of the web site, the list archive included <a
-    href="ftp://xmlsoft.org/libxml2/libxml-docs.tar.gz">libxml-docs.tar.gz</a>.</li>
-</ul>
-
-<p><a name="Contribs">Contributions:</a></p>
-
-<p>I do accept external contributions, especially if compiling on another
-platform,  get in touch with the list to upload the package, wrappers for
-various languages have been provided, and can be found in the <a
-href="python.html">bindings section</a></p>
-
-<p>Libxml2 is also available from GIT:</p>
-<ul>
-  <li><p>See <a href="https://gitlab.gnome.org/GNOME/libxml2">libxml2 Git web</a>.
-         To checkout a local tree use:</p>
-       <pre>git clone https://gitlab.gnome.org/GNOME/libxml2.git</pre>
-  </li>
-  <li>The <strong>libxslt</strong> module is also present 
-      <a href="https://gitlab.gnome.org/GNOME/libxslt">there</a>.</li>
-</ul>
-
-<h2><a name="News">Releases</a></h2>
-
-<p>The <a href="ChangeLog.html">change log</a> describes the recents commits
-to the <a href="https://gitlab.gnome.org/GNOME/libxml2">GIT</a> code base.</p>
-
-<p>Here is the list of public releases:</p>
-
-<h3>v2.9.13: Feb 19 2022</h3>
-<ul>
-  <li>Security:<br/>
-  [CVE-2022-23308] Use-after-free of ID and IDREF attributes
-  (Thanks to Shinji Sato for the report)<br/>
-  Use-after-free in xmlXIncludeCopyRange (David Kilzer)<br/>
-  Fix Null-deref-in-xmlSchemaGetComponentTargetNs (huangduirong)<br/>
-  Fix memory leak in xmlXPathCompNodeTest<br/>
-  Fix null pointer deref in xmlStringGetNodeList<br/>
-  Fix several memory leaks found by Coverity (David King)<br/>
-  </li>
-
-  <li>Fixed regressions:<br/>
-  Fix regression in RelaxNG pattern matching<br/>
-  Properly handle nested documents in xmlFreeNode<br/>
-  Fix regression with PEs in external DTD<br/>
-  Fix random dropping of characters on dumping ASCII encoded XML (Mohammad Razavi)<br/>
-  Revert "Make schema validation fail with multiple top-level elements"<br/>
-  Fix regression when parsing invalid HTML tags in push mode<br/>
-  Fix regression parsing public IDs literals in HTML<br/>
-  Fix buffering in xmlOutputBufferWrite<br/>
-  Fix whitespace when serializing empty HTML documents<br/>
-  Fix XPath recursion limit<br/>
-  Fix regression in xmlNodeDumpOutputInternal<br/>
-  Work around lxml API abuse<br/>
-  </li>
-
-  <li>Bug fixes:<br/>
-  Fix xmlSetTreeDoc with entity references<br/>
-  Fix double counting of CRLF in comments<br/>
-  Make sure to grow input buffer in xmlParseMisc<br/>
-  Don't ignore xmllint options after "-"<br/>
-  Don't normalize namespace URIs in XPointer xmlns() scheme<br/>
-  Fix handling of XSD with empty namespace<br/>
-  Also register HTML document nodes<br/>
-  Make xmllint return an error if arguments are missing<br/>
-  Fix handling of ctxt-&gt;base in xmlXPtrEvalXPtrPart<br/>
-  Fix xmllint --maxmem<br/>
-  Fix htmlReadFd, which was using a mix of xml and html context functions (Finn Barber)<br/>
-  Move current position before possible calling of ctxt-&gt;sax-&gt;characters (Yulin Li)<br/>
-  Fix parse failure when 4-byte character in UTF-16 BE is split across a chunk (David Kilzer)<br/>
-  Patch to forbid epsilon-reduction of final states (Arne Becker)<br/>
-  Avoid segfault at exit when using custom memory functions (Mike Dalessio)<br/>
-  </li>
-
-  <li>Tests, code quality, fuzzing:<br/>
-  Remove .travis.yml<br/>
-  Make xmlFuzzReadString return a zero size in error case<br/>
-  Fix unused function warning in testapi.c<br/>
-  Update NewsML DTD in test suite<br/>
-  Add more checks for malloc failures in xmllint.c<br/>
-  Avoid potential integer overflow in xmlstring.c<br/>
-  Run CI tests with UBSan implicit-conversion checks<br/>
-  Fix casting of line numbers in SAX2.c<br/>
-  Fix integer conversion warnings in hash.c<br/>
-  Add explicit casts in runtest.c <br/>
-  Fix integer conversion warning in xmlIconvWrapper<br/>
-  Add suffix to unsigned constant in xmlmemory.c<br/>
-  Add explicit casts in testchar.c<br/>
-  Fix integer conversion warnings in xmlstring.c<br/>
-  Add explicit cast in xmlURIUnescapeString<br/>
-  Remove unused variable in xmlCharEncOutFunc (David King)<br/>
-  </li>
-
-  <li>Build system, portability:<br/>
-  Remove xmlwin32version.h<br/>
-  Fix fuzzer test with VPATH build<br/>
-  Support custom prefix when installing Python module<br/>
-  Remove Makefile.win<br/>
-  Remove CVS and SVN-related code<br/>
-  Port python 3.x module to Windows and improve distutils (Chun-wei Fan)<br/>
-  Correctly install the HTML examples into their subdirectory (Mattia Rizzolo)<br/>
-  Refactor the settings of $docdir (Mattia Rizzolo)<br/>
-  Remove unused configure checks (Ben Boeckel)<br/>
-  python/Makefile.am: use *_LIBADD, not *_LDFLAGS for LIBS (Sam James)<br/>
-  Fix check for libtool in autogen.sh<br/>
-  Use version in configure.ac for CMake (Timothy Lyanguzov)<br/>
-  Add CMake alias targets for embedded projects (Markus Rickert)<br/>
-  </li>
-
-  <li>Documentation:<br/>
-  Remove SVN keyword anchors<br/>
-  Rework README<br/>
-  Remove README.cvs-commits<br/>
-  Remove old ChangeLog<br/>
-  Update hyperlinks<br/>
-  Remove README.docs<br/>
-  Remove MAINTAINERS <br/>
-  Remove xmltutorial.pdf<br/>
-  Upload documentation to GitLab pages<br/>
-  Document how to escape XML_CATALOG_FILES<br/>
-  Fix libxml2.doap<br/>
-  Update URL for libxml++ C++ binding (Kjell Ahlstedt)<br/>
-  Generate devhelp2 index file (Emmanuele Bassi)<br/>
-  Mention XML_CATALOG_FILES is space-separated (Jan Tojnar)<br/>
-  Add documentaiton for xmllint exit code 10 (Rainer Canavan)<br/>
-  Fix some validation errors in the FAQ (David King)<br/>
-  Add instructions on how to use CMake to compile libxml (Markus Rickert)<br/>
-  </li>
-</ul>
-
-<h3>v2.9.12: May 13 2021</h3>
-<ul>
-  <li>Build system:<br/>
-  Add fuzz.h and seed/regexp to EXTRA_DIST<br/>
-  </li>
-</ul>
-
-<h3>v2.9.11: May 13 2021</h3>
-<ul>
-  <li>Security:<br/>
-  Patch for security issue CVE-2021-3541 (Daniel Veillard)<br/>
-  </li>
-
-  <li>Documentation:<br/>
-  Clarify xmlNewDocProp documentation (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Portability:<br/>
-  CMake: Only add postfixes if MSVC (Christopher Degawa),<br/>
-  Fix XPath NaN/Inf for older GCC versions (Nick Wellnhofer),<br/>
-  Use CMake PROJECT_VERSION (Markus Rickert),<br/>
-  Fix warnings in libxml.m4 with autoconf 2.70+. (Simon Josefsson),<br/>
-  Add CI for CMake on MSVC (Markus Rickert),<br/>
-  Update minimum required CMake version (Markus Rickert),<br/>
-  Add variables for configured options to CMake config files (Markus Rickert),<br/>
-  Check if variables exist when defining targets (Markus Rickert),<br/>
-  Check if target exists when reading target properties (Markus Rickert),<br/>
-  Add xmlcatalog target and definition to config files (Markus Rickert),<br/>
-  Remove include directories for link-only dependencies (Markus Rickert),<br/>
-  Fix ICU build in CMake (Markus Rickert),<br/>
-  Configure pkgconfig, xml2-config, and xml2Conf.sh file (Markus Rickert),<br/>
-  Update CMake config files (Markus Rickert),<br/>
-  Add xmlcatalog and xmllint to CMake export (Markus Rickert),<br/>
-  Simplify xmlexports.h (Nick Wellnhofer),<br/>
-  Require dependencies based on enabled CMake options (Markus Rickert),<br/>
-  Use NAMELINK_COMPONENT in CMake install (Markus Rickert),<br/>
-  Add CMake files to EXTRA_DIST (Markus Rickert),<br/>
-  Add missing compile definition for static builds to CMake (Markus Rickert),<br/>
-  Add CI for CMake on Linux and MinGW (Markus Rickert),<br/>
-  Fix variable name in win32/configure.js (Nick Wellnhofer),<br/>
-  Fix version parsing in win32/configure.js (Nick Wellnhofer),<br/>
-  Fix autotools warnings (Nick Wellnhofer),<br/>
-  Update config.h.cmake.in (Markus Rickert),<br/>
-  win32: allow passing *FLAGS on command line (Michael Stahl),<br/>
-  Configure file xmlwin32version.h.in on MSVC (Markus Rickert),<br/>
-  List headers individually (Markus Rickert),<br/>
-  Add CMake build files (Markus Rickert),<br/>
-  Parenthesize Py&lt;type&gt;_Check() in ifs (Miro Hrončok),<br/>
-  Minor fixes to configure.js (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Bug Fixes:<br/>
-  Fix null deref in legacy SAX1 parser (Nick Wellnhofer),<br/>
-  Fix handling of unexpected EOF in xmlParseContent (Nick Wellnhofer),<br/>
-  Fix line numbers in error messages for mismatched tags (Nick Wellnhofer),<br/>
-  Fix htmlTagLookup (Nick Wellnhofer),<br/>
-  Propagate error in xmlParseElementChildrenContentDeclPriv (Nick Wellnhofer),<br/>
-  Fix user-after-free with `xmllint --xinclude --dropdtd` (Nick Wellnhofer),<br/>
-  Fix dangling pointer with `xmllint --dropdtd` (Nick Wellnhofer),<br/>
-  Validate UTF8 in xmlEncodeEntities (Joel Hockey),<br/>
-  Fix use-after-free with `xmllint --html --push` (Nick Wellnhofer),<br/>
-  Allow FP division by zero in xmlXPathInit (Nick Wellnhofer),<br/>
-  Fix xmlGetNodePath with invalid node types (Nick Wellnhofer),<br/>
-  Fix exponential behavior with recursive entities (Nick Wellnhofer),<br/>
-  Fix quadratic behavior when looking up xml:* attributes (Nick Wellnhofer),<br/>
-  Fix slow parsing of HTML with encoding errors (Nick Wellnhofer),<br/>
-  Fix null deref introduced with previous commit (Nick Wellnhofer),<br/>
-  Check for invalid redeclarations of predefined entities (Nick Wellnhofer),<br/>
-  Add the copy of type from original xmlDoc in xmlCopyDoc() (SVGAnimate),<br/>
-  parser.c: shrink the input buffer when appropriate (Mike Dalessio),<br/>
-  Fix infinite loop in HTML parser introduced with recent commits (Nick Wellnhofer),<br/>
-  Fix quadratic runtime when parsing CDATA sections (Nick Wellnhofer),<br/>
-  Fix timeout when handling recursive entities (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlParseElementMixedContentDecl (Nick Wellnhofer),<br/>
-  Fix null deref in xmlStringGetNodeList (Nick Wellnhofer),<br/>
-  use new htmlParseLookupCommentEnd to find comment ends (Mike Dalessio),<br/>
-  htmlParseComment: treat `--!&gt;` as if it closed the comment (Mike Dalessio),<br/>
-  Fix integer overflow in xmlSchemaGetParticleTotalRangeMin (Nick Wellnhofer),<br/>
-  encoding: fix memleak in xmlRegisterCharEncodingHandler() (Xiaoming Ni),<br/>
-  xmlschemastypes.c: xmlSchemaGetFacetValueAsULong add, check "facet-&gt;val" (Xiaoming Ni),<br/>
-  Fix null pointer deref in xmlXPtrRangeInsideFunction (Nick Wellnhofer),<br/>
-  Fix quadratic runtime in HTML push parser with null bytes (Nick Wellnhofer),<br/>
-  Avoid quadratic checking of identity-constraints (Michael Matz),<br/>
-  Fix building with ICU 68. (Frederik Seiffert),<br/>
-  Convert python/libxml.c to PY_SSIZE_T_CLEAN (Victor Stinner),<br/>
-  Fix xmlURIEscape memory leaks. (Elliott Hughes),<br/>
-  Avoid call stack overflow with XML reader and recursive XIncludes (Nick Wellnhofer),<br/>
-  Fix caret in regexp character group (Nick Wellnhofer),<br/>
-  parser.c: xmlParseCharData peek behavior fixed wrt newlines (Mike Dalessio),<br/>
-  Fix memory leaks in XPointer string-range function (Nick Wellnhofer),<br/>
-  Fix use-after-free when XIncluding text from Reader (Nick Wellnhofer),<br/>
-  Fix SEGV in xmlSAXParseFileWithData (yanjinjq),<br/>
-  Fix null deref in XPointer expression error path (Nick Wellnhofer),<br/>
-  Don't call xmlXPathInit directly (Nick Wellnhofer),<br/>
-  Fix cleanup of attributes in XML reader (Nick Wellnhofer),<br/>
-  Fix double free in XML reader with XIncludes (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlXIncludeAddNode error paths (Nick Wellnhofer),<br/>
-  Revert "Fix quadratic runtime in xi:fallback processing" (Nick Wellnhofer),<br/>
-  Fix error reporting with xi:fallback (Nick Wellnhofer),<br/>
-  Fix quadratic runtime in xi:fallback processing (Nick Wellnhofer),<br/>
-  Fix corner case with empty xi:fallback (Nick Wellnhofer),<br/>
-  Fix XInclude regression introduced with recent commit (Nick Wellnhofer),<br/>
-  Fix memory leak in runtest.c (Nick Wellnhofer),<br/>
-  Make "xmllint --push --recovery" work (Nick Wellnhofer),<br/>
-  Revert "Do not URI escape in server side includes" (Nick Wellnhofer),<br/>
-  Fix column number accounting in xmlParse*NameAndCompare (Nick Wellnhofer),<br/>
-  Stop counting nbChars in parser context (Nick Wellnhofer),<br/>
-  Fix out-of-bounds read with 'xmllint --htmlout' (Nick Wellnhofer),<br/>
-  Fix exponential runtime and memory in xi:fallback processing (Nick Wellnhofer),<br/>
-  Don't process siblings of root in xmlXIncludeProcess (Nick Wellnhofer),<br/>
-  Don't recurse into xi:include children in xmlXIncludeDoProcess (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlXIncludeIncludeNode error paths (Nick Wellnhofer),<br/>
-  Check for custom free function in global destructor (Nick Wellnhofer),<br/>
-  Fix integer overflow when comparing schema dates (Nick Wellnhofer),<br/>
-  Fix exponential runtime in xmlFARecurseDeterminism (Nick Wellnhofer),<br/>
-  Don't try to handle namespaces when building HTML documents (Nick Wellnhofer),<br/>
-  Fix several quadratic runtime issues in HTML push parser (Nick Wellnhofer),<br/>
-  Fix quadratic runtime when push parsing HTML start tags (Nick Wellnhofer),<br/>
-  Reset XML parser input before reporting errors (David Kilzer),<br/>
-  Fix quadratic runtime when push parsing HTML entity refs (Nick Wellnhofer),<br/>
-  Fix HTML push parser lookahead (Nick Wellnhofer),<br/>
-  Make htmlCurrentChar always translate U+0000 (Nick Wellnhofer),<br/>
-  Fix UTF-8 decoder in HTML parser (Nick Wellnhofer),<br/>
-  Fix quadratic runtime when parsing HTML script content (Nick Wellnhofer),<br/>
-  Reset HTML parser input before reporting error (Nick Wellnhofer),<br/>
-  Fix more quadratic runtime issues in HTML push parser (Nick Wellnhofer),<br/>
-  Fix regression introduced with 477c7f6a (Nick Wellnhofer),<br/>
-  Fix quadratic runtime in HTML parser (Nick Wellnhofer),<br/>
-  Reset HTML parser input before reporting encoding error (Nick Wellnhofer),<br/>
-  Fix integer overflow in xmlFAParseQuantExact (Nick Wellnhofer),<br/>
-  Fix return value of xmlC14NDocDumpMemory (Nick Wellnhofer),<br/>
-  Don't follow next pointer on documents in xmlXPathRunStreamEval (Nick Wellnhofer),<br/>
-  Fix integer overflow in _xmlSchemaParseGYear (Nick Wellnhofer),<br/>
-  Fix integer overflow when parsing {min,max}Occurs (Nick Wellnhofer),<br/>
-  Fix another memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br/>
-  Fix unsigned integer overflow in htmlParseTryOrFinish (Nick Wellnhofer),<br/>
-  Fix integer overflow in htmlParseCharRef (Nick Wellnhofer),<br/>
-  Fix undefined behavior in UTF16LEToUTF8 (Nick Wellnhofer),<br/>
-  Fix return value of xmlCharEncOutput (Nick Wellnhofer),<br/>
-  Never expand parameter entities in text declaration (Nick Wellnhofer),<br/>
-  Fix undefined behavior in xmlXPathTryStreamCompile (Nick Wellnhofer),<br/>
-  Fix use-after-free with validating reader (Nick Wellnhofer),<br/>
-  xmlParseBalancedChunkMemory must not be called with NULL doc (Nick Wellnhofer),<br/>
-  Revert "Fix memory leak in xmlParseBalancedChunkMemoryRecover" (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlXIncludeLoadDoc error path (Nick Wellnhofer),<br/>
-  Make schema validation fail with multiple top-level elements (Nick Wellnhofer),<br/>
-  Call xmlCleanupParser on ELF destruction (Samuel Thibault),<br/>
-  Fix copying of entities in xmlParseReference (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlSchemaValidateStream (Zhipeng Xie),<br/>
-  Fix xmlSchemaGetCanonValue formatting for date and dateTime (Kevin Puetz),<br/>
-  Fix memory leak when shared libxml.dll is unloaded (Kevin Puetz),<br/>
-  Fix potentially-uninitialized critical section in Win32 DLL builds (Kevin Puetz),<br/>
-  Fix integer overflow in xmlBufferResize (Nick Wellnhofer),<br/>
-  Check for overflow when allocating two-dimensional arrays (Nick Wellnhofer),<br/>
-  Remove useless comparisons (Nick Wellnhofer),<br/>
-  Fix overflow check in xmlNodeDump (Nick Wellnhofer),<br/>
-  Fix infinite loop in xmlStringLenDecodeEntities (Zhipeng Xie),<br/>
-  Fix freeing of nested documents (Nick Wellnhofer),<br/>
-  Fix more memory leaks in error paths of XPath parser (Nick Wellnhofer),<br/>
-  Fix memory leaks of encoding handlers in xmlsave.c (Nick Wellnhofer),<br/>
-  Fix xml2-config error code (Nick Wellnhofer),<br/>
-  Fix memory leak in error path of XPath expr parser (Nick Wellnhofer),<br/>
-  Fix overflow handling in xmlBufBackToBuffer (Nick Wellnhofer),<br/>
-  Null pointer handling in catalog.c (raniervf),<br/>
-  xml2-config.in: fix regressions introduced by commit 2f2bf4b2c (Dmitry V. Levin)<br/>
-  </li>
-
-  <li>Improvements:<br/>
-  Store per-element parser state in a struct (Nick Wellnhofer),<br/>
-  update for xsd:language type check (PaulHiggs),<br/>
-  Update INSTALL.libxml2 (Nick Wellnhofer),<br/>
-  Fix include order in c14n.h (Nick Wellnhofer),<br/>
-  Fix duplicate xmlStrEqual calls in htmlParseEndTag (Nick Wellnhofer),<br/>
-  Speed up htmlCheckAutoClose (Nick Wellnhofer),<br/>
-  Speed up htmlTagLookup (Nick Wellnhofer),<br/>
-  Stop checking attributes for UTF-8 validity (Nick Wellnhofer),<br/>
-  Reduce some fuzzer timeouts (Nick Wellnhofer),<br/>
-  Only run a few CI tests unless scheduled (Nick Wellnhofer),<br/>
-  Improve fuzzer stability (Nick Wellnhofer),<br/>
-  Check for feature flags in fuzzer tests (Nick Wellnhofer),<br/>
-  Another attempt at improving fuzzer stability (Nick Wellnhofer),<br/>
-  Revert "Improve HTML fuzzer stability" (Nick Wellnhofer),<br/>
-  Add charset names to fuzzing dictionaries (Nick Wellnhofer),<br/>
-  Improve HTML fuzzer stability (Nick Wellnhofer),<br/>
-  Add CI for MSVC x86 (Markus Rickert),<br/>
-  Add a flag to not output anything when xmllint succeeded (hhb),<br/>
-  Speed up HTML fuzzer (Nick Wellnhofer),<br/>
-  Remove unused encoding parameter of HTML output functions (Nick Wellnhofer),<br/>
-  Handle malloc failures in fuzzing code (Nick Wellnhofer),<br/>
-  add test coverage for incorrectly-closed comments (Mike Dalessio),<br/>
-  Enforce maximum length of fuzz input (Nick Wellnhofer),<br/>
-  Remove temporary members from struct _xmlXPathContext (Nick Wellnhofer),<br/>
-  Build the Python extension with PY_SSIZE_T_CLEAN (Victor Stinner),<br/>
-  Add CI test for Python 3 (Nick Wellnhofer),<br/>
-  Add fuzzing dictionaries to EXTRA_DIST (Nick Wellnhofer),<br/>
-  Add 'fuzz' subdirectory to DIST_SUBDIRS (Nick Wellnhofer),<br/>
-  Allow port numbers up to INT_MAX (Nick Wellnhofer),<br/>
-  Handle dumps of corrupted documents more gracefully (Nick Wellnhofer),<br/>
-  Limit size of free lists in XML reader when fuzzing (Nick Wellnhofer),<br/>
-  Hardcode maximum XPath recursion depth (Nick Wellnhofer),<br/>
-  Pass URL of main entity in XML fuzzer (Nick Wellnhofer),<br/>
-  Consolidate seed corpus generation (Nick Wellnhofer),<br/>
-  Test fuzz targets with dummy driver (Nick Wellnhofer),<br/>
-  Fix regression introduced with commit d88df4b (Nick Wellnhofer),<br/>
-  Fix regression introduced with commit 74dcc10b (Nick Wellnhofer),<br/>
-  Add TODO comment in xinclude.c (Nick Wellnhofer),<br/>
-  Stop using maxParserDepth in xpath.c (Nick Wellnhofer),<br/>
-  Remove dead code in xinclude.c (Nick Wellnhofer),<br/>
-  Don't add formatting newlines to XInclude nodes (Nick Wellnhofer),<br/>
-  Don't use SAX1 if all element handlers are NULL (Nick Wellnhofer),<br/>
-  Remove unneeded progress checks in HTML parser (Nick Wellnhofer),<br/>
-  Use strcmp when fuzzing (Nick Wellnhofer),<br/>
-  Fix XPath fuzzer (Nick Wellnhofer),<br/>
-  Fuzz XInclude engine (Nick Wellnhofer),<br/>
-  Add XPath and XPointer fuzzer (Nick Wellnhofer),<br/>
-  Update fuzzing code (Nick Wellnhofer),<br/>
-  More *NodeDumpOutput fixes (Nick Wellnhofer),<br/>
-  Fix *NodeDumpOutput functions (Nick Wellnhofer),<br/>
-  Make xmlNodeDumpOutputInternal non-recursive (Nick Wellnhofer),<br/>
-  Make xhtmlNodeDumpOutput non-recursive (Nick Wellnhofer),<br/>
-  Make htmlNodeDumpFormatOutput non-recursive (Nick Wellnhofer),<br/>
-  Fix .gitattributes (Nick Wellnhofer),<br/>
-  Rework control flow in htmlCurrentChar (Nick Wellnhofer),<br/>
-  Make 'xmllint --html --push -' read from stdin (Nick Wellnhofer),<br/>
-  Remove misleading comments in xpath.c (Nick Wellnhofer),<br/>
-  Update to Devhelp index file format version 2 (Andre Klapper),<br/>
-  Set project language to C (Markus Rickert),<br/>
-  Add variable for working directory of XML Conformance Test Suite (Markus Rickert),<br/>
-  Add additional tests and XML Conformance Test Suite (Markus Rickert),<br/>
-  Add command line option for temp directory in runtest (Markus Rickert),<br/>
-  Ensure LF line endings for test files (Markus Rickert),<br/>
-  Enable runtests and testThreads (Markus Rickert),<br/>
-  Limit regexp nesting depth (Nick Wellnhofer),<br/>
-  Fix return values and documentation in encoding.c (Nick Wellnhofer),<br/>
-  Add regexp regression tests (David Kilzer),<br/>
-  Report error for invalid regexp quantifiers (Nick Wellnhofer),<br/>
-  Fix rebuilding docs, by hiding __attribute__((...)) behind a macro. (Martin Vidner),<br/>
-  Copy xs:duration parser from libexslt (Nick Wellnhofer),<br/>
-  Fuzz target for XML Schemas (Nick Wellnhofer),<br/>
-  Move entity recorder to fuzz.c (Nick Wellnhofer),<br/>
-  Fuzz target for HTML parser (Nick Wellnhofer),<br/>
-  Update GitLab CI container (Nick Wellnhofer),<br/>
-  Add options file for xml fuzzer (Nick Wellnhofer),<br/>
-  Add a couple of libFuzzer targets (Nick Wellnhofer),<br/>
-  Guard new calls to xmlValidatePopElement in xml_reader.c (Daniel Cheng),<br/>
-  Add LIBXML_VALID_ENABLED to xmlreader (Łukasz Wojniłowicz),<br/>
-  Fix typos (Nick Wellnhofer),<br/>
-  Disable LeakSanitizer (Nick Wellnhofer),<br/>
-  Stop calling SAX getEntity handler from XMLReader (Nick Wellnhofer),<br/>
-  Add test case for recursive external parsed entities (Nick Wellnhofer),<br/>
-  Enable error tests with entity substitution (Nick Wellnhofer),<br/>
-  Don't load external entity from xmlSAX2GetEntity (Nick Wellnhofer),<br/>
-  Merge code paths loading external entities (Nick Wellnhofer),<br/>
-  Copy some XMLReader option flags to parser context (Nick Wellnhofer),<br/>
-  Add xmlPopOutputCallbacks (Nick Wellnhofer),<br/>
-  Updated Python test reader2.py (Pieter van Oostrum),<br/>
-  Updated python/tests/tstLastError.py (Pieter van Oostrum),<br/>
-  Use random seed in xmlDictComputeFastKey (Ranier Vilela),<br/>
-  Enable more undefined behavior sanitizers (Nick Wellnhofer)<br/>
-  </li>
-</ul>
-
-<h3>v2.9.10: Oct 30 2019</h3>
-<ul>
-  <li>Documentation:<br/>
-  Fix a few more typos ("fonction") (Nick Wellnhofer),<br/>
-  Large batch of typo fixes (Jared Yanovich),<br/>
-  Fix typos: tree: move{ -&gt; s}, reconcil{i -&gt; }ed, h{o -&gt; e}ld by... (Jan Pokorný),<br/>
-  Fix typo: xpath: simpli{ -&gt; fi}ed (Jan Pokorný),<br/>
-  Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný),<br/>
-  Fix comments in test code (zhouzhongyuan),<br/>
-  fix comment in testReader.c (zhouzhongyuan)<br/>
-  </li>
-
-  <li>Portability:<br/>
-  Fix some release issues on Fedora 30 (Daniel Veillard),<br/>
-  Fix exponent digits when running tests under old MSVC (Daniel Richard G),<br/>
-  Work around buggy ceil() function on AIX (Daniel Richard G),<br/>
-  Don't call printf with NULL string in runtest.c (Daniel Richard G),<br/>
-  Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney),<br/>
-  timsort.h: support older GCCs (Jérôme Duval),<br/>
-  Make configure.ac work with older pkg-config (Nick Wellnhofer),<br/>
-  Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer),<br/>
-  Fix nanohttp.c on MinGW (Nick Wellnhofer),<br/>
-  Fix Windows compiler warning in testC14N.c (Nick Wellnhofer),<br/>
-  Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer),<br/>
-  Fix Python bindings under Windows (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Bug Fixes:<br/>
-  Another fix for conditional sections at end of document (Nick Wellnhofer),<br/>
-  Fix for conditional sections at end of document (Nick Wellnhofer),<br/>
-  Make sure that Python tests exit with error code (Nick Wellnhofer),<br/>
-  Audit memory error handling in xpath.c (Nick Wellnhofer),<br/>
-  Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer),<br/>
-  Fix integer overflow when counting written bytes (Nick Wellnhofer),<br/>
-  Fix uninitialized memory access in HTML parser (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br/>
-  Disallow conditional sections in internal subset (Nick Wellnhofer),<br/>
-  Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),<br/>
-  Fix Regextests (Nick Wellnhofer),<br/>
-  Fix empty branch in regex (Nick Wellnhofer),<br/>
-  Fix integer overflow in entity recursion check (Nick Wellnhofer),<br/>
-  Don't read external entities or XIncludes from stdin (Nick Wellnhofer),<br/>
-  Fix Schema determinism check of ##other namespaces (Nick Wellnhofer),<br/>
-  Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan),<br/>
-  Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer),<br/>
-  Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan),<br/>
-  14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie),<br/>
-  Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer),<br/>
-  Misleading error message with xs:{min|max}Inclusive (bettermanzzy),<br/>
-  Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin),<br/>
-  Partial fix for comparison of xs:durations (Nick Wellnhofer),<br/>
-  Fix null deref in xmlreader buffer (zhouzhongyuan),<br/>
-  Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),<br/>
-  Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný),<br/>
-  Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan),<br/>
-  fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan),<br/>
-  Fix unsigned int overflow (Jens Eggerstedt),<br/>
-  dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),<br/>
-  Fix another code path in xmlParseQName (Nick Wellnhofer),<br/>
-  Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer),<br/>
-  Fix build without reader but with pattern (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer),<br/>
-  Fix unsigned integer overflow (Nick Wellnhofer),<br/>
-  Fix return value of xmlOutputBufferWrite (Nick Wellnhofer),<br/>
-  Fix parser termination from "Double hyphen within comment" error (David Warring),<br/>
-  Fix call stack overflow in xmlFreePattern (Nick Wellnhofer),<br/>
-  Fix null deref in previous commit (Nick Wellnhofer),<br/>
-  Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer),<br/>
-  Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer),<br/>
-  Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer),<br/>
-  Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer),<br/>
-  Fix null deref in xmlregexp error path (Nick Wellnhofer),<br/>
-  Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer),<br/>
-  Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer),<br/>
-  Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer),<br/>
-  Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer),<br/>
-  Memory leak in xmlFreeTextReader (Nick Wellnhofer),<br/>
-  Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Improvements:<br/>
-  Run XML conformance tests under CI (Nick Wellnhofer),<br/>
-  Update GitLab CI config (Nick Wellnhofer),<br/>
-  Propagate memory errors in valuePush (Nick Wellnhofer),<br/>
-  Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer),<br/>
-  Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),<br/>
-  Enable continuous integration via GitLab CI (Nick Wellnhofer),<br/>
-  Avoid ignored attribute warnings under GCC (Nick Wellnhofer),<br/>
-  Make xmlDumpElementContent non-recursive (Nick Wellnhofer),<br/>
-  Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer),<br/>
-  Mark xmlExp* symbols as removed (Nick Wellnhofer),<br/>
-  Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),<br/>
-  Adjust expected error in Python tests (Nick Wellnhofer),<br/>
-  Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),<br/>
-  Make xmlFreeNodeList non-recursive (Nick Wellnhofer),<br/>
-  Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),<br/>
-  Remove executable bit from non-executable files (Nick Wellnhofer),<br/>
-  Fix expected output of test/schemas/any4 (Nick Wellnhofer),<br/>
-  Optimize build instructions in README (zhouzhongyuan),<br/>
-  xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),<br/>
-  xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),<br/>
-  Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer),<br/>
-  Fix warnings when compiling without reader or push parser (Nick Wellnhofer),<br/>
-  Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer),<br/>
-  Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer),<br/>
-  Remove -Wno-array-bounds (Nick Wellnhofer),<br/>
-  Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer),<br/>
-  Improve XPath predicate and filter evaluation (Nick Wellnhofer),<br/>
-  Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer),<br/>
-  Disable hash randomization when fuzzing (Nick Wellnhofer),<br/>
-  Optional recursion limit when parsing XPath expressions (Nick Wellnhofer),<br/>
-  Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer),<br/>
-  Use break statements in xmlXPathCompOpEval (Nick Wellnhofer),<br/>
-  Optional XPath operation limit (Nick Wellnhofer),<br/>
-  Fix compilation with --with-minimum (Nick Wellnhofer),<br/>
-  Check XPath stack after calling functions (Nick Wellnhofer),<br/>
-  Remove debug printf in xmlreader.c (Nick Wellnhofer),<br/>
-  Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner),<br/>
-  Regenerate NEWS (Nick Wellnhofer),<br/>
-  Change git repo URL (Nick Wellnhofer),<br/>
-  Change bug tracker URL (Nick Wellnhofer),<br/>
-  Remove outdated HTML file (Nick Wellnhofer),<br/>
-  Fix unused function warning in testapi.c (Nick Wellnhofer),<br/>
-  Add some generated test files to .gitignore (Nick Wellnhofer),<br/>
-  Remove unneeded function pointer casts (Nick Wellnhofer),<br/>
-  Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),<br/>
-  Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Cleanups:<br/>
-  Rebuild docs (Nick Wellnhofer),<br/>
-  Disable xmlExp regex code (Nick Wellnhofer),<br/>
-  Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer),<br/>
-  Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer)<br/>
-  </li>
-</ul>
-
-<h3>v2.9.9: Jan 03 2019</h3>
-<ul>
-  <li>Security:<br/>
-  CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer),<br/>
-  CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer),<br/>
-  </li>
-
-  <li>Documentation:<br/>
-  reader: Fix documentation comment (Mohammed Sadiq)<br/>
-  </li>
-
-  <li>Portability:<br/>
-  Fix MSVC build with lzma (Nick Wellnhofer),<br/>
-  Variables need 'extern' in static lib on Cygwin (Michael Haubenwallner),<br/>
-  Really declare dllexport/dllimport for Cygwin (Michael Haubenwallner),<br/>
-  Merge branch 'patch-2' into 'master' (Nick Wellnhofer),<br/>
-  Change dir to $THEDIR after ACLOCAL_PATH check autoreconf creates aclocal.m4 in $srcdir (Vitaly Buka),<br/>
-  Improve error message if pkg.m4 couldn't be found (Nick Wellnhofer),<br/>
-  NaN and Inf fixes for pre-C99 compilers (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Bug Fixes:<br/>
-  Revert "Support xmlTextReaderNextSibling w/o preparsed doc" (Nick Wellnhofer),<br/>
-  Fix building relative URIs (Thomas Holder),<br/>
-  Problem with data in interleave in RelaxNG validation (Nikolai Weibull),<br/>
-  Fix memory leak in xmlSwitchInputEncodingInt error path (Nick Wellnhofer),<br/>
-  Set doc on element obtained from freeElems (Nick Wellnhofer),<br/>
-  Fix HTML serialization with UTF-8 encoding (Nick Wellnhofer),<br/>
-  Use actual doc in xmlTextReaderRead*Xml (Nick Wellnhofer),<br/>
-  Unlink node before freeing it in xmlSAX2StartElement (Nick Wellnhofer),<br/>
-  Check return value of nodePush in xmlSAX2StartElement (Nick Wellnhofer),<br/>
-  Free input buffer in xmlHaltParser (Nick Wellnhofer),<br/>
-  Reset HTML parser input pointers on encoding failure (Nick Wellnhofer),<br/>
-  Don't run icu_parse_test if EUC-JP is unsupported (Nick Wellnhofer),<br/>
-  Fix xmlSchemaValidCtxtPtr reuse memory leak (Greg Hildstrom),<br/>
-  Fix xmlTextReaderNext with preparsed document (Felix Bünemann),<br/>
-  Remove stray character from comment (Nick Wellnhofer),<br/>
-  Remove a misleading line from xmlCharEncOutput (Andrey Bienkowski),<br/>
-  HTML noscript should not close p (Daniel Veillard),<br/>
-  Don't change context node in xmlXPathRoot (Nick Wellnhofer),<br/>
-  Stop using XPATH_OP_RESET (Nick Wellnhofer),<br/>
-  Revert "Change calls to xmlCharEncInput to set flush false" (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Improvements:<br/>
-  Fix "Problem with data in interleave in RelaxNG validation" (Nikolai Weibull),<br/>
-  cleanup: remove some unreachable code (Thomas Holder),<br/>
-  add --relative to testURI (Thomas Holder),<br/>
-  Remove redefined starts and defines inside include elements (Nikolai Weibull),<br/>
-  Allow choice within choice in nameClass in RELAX NG (Nikolai Weibull),<br/>
-  Look inside divs for starts and defines inside include (Nikolai Weibull),<br/>
-  Add compile and libxml2-config.cmake to .gitignore (Nikolai Weibull),<br/>
-  Stop using doc-&gt;charset outside parser code (Nick Wellnhofer),<br/>
-  Add newlines to 'xmllint --xpath' output (Nick Wellnhofer),<br/>
-  Don't include SAX.h from globals.h (Nick Wellnhofer),<br/>
-  Support xmlTextReaderNextSibling w/o preparsed doc (Felix Bünemann),<br/>
-  Don't instruct user to run make when autogen.sh failed (林博仁(Buo-ren Lin)),<br/>
-  Run Travis ASan tests with "sudo: required" (Nick Wellnhofer),<br/>
-  Improve restoring of context size and position (Nick Wellnhofer),<br/>
-  Simplify and harden nodeset filtering (Nick Wellnhofer),<br/>
-  Avoid unnecessary backups of the context node (Nick Wellnhofer),<br/>
-  Fix inconsistency in xmlXPathIsInf (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Cleanups:<br/>
-  </li>
-</ul>
-<h3>v2.9.8: Mar 05 2018</h3>
-<ul>
-  <li>Portability:<br/>
-  python: remove single use of _PyVerify_fd (Patrick Welche),<br/>
-  Build more test executables on Windows/MSVC (Nick Wellnhofer),<br/>
-  Stop including ansidecl.h (Nick Wellnhofer),<br/>
-  Fix libz and liblzma detection (Nick Wellnhofer),<br/>
-  Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Bug Fixes:<br/>
-  Fix xmlParserEntityCheck (Nick Wellnhofer),<br/>
-  Halt parser in case of encoding error (Nick Wellnhofer),<br/>
-  Clear entity content in case of errors (Nick Wellnhofer),<br/>
-  Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to true causes errors for ICU. (Joel Hockey),<br/>
-  Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer),<br/>
-  Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer),<br/>
-  Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer),<br/>
-  Fix -Wenum-compare warnings (Nick Wellnhofer),<br/>
-  Fix callback signature in testapi.c (Nick Wellnhofer),<br/>
-  Fix unused parameter warning without ICU (Nick Wellnhofer),<br/>
-  Fix IO callback signatures (Nick Wellnhofer),<br/>
-  Fix misc callback signatures (Nick Wellnhofer),<br/>
-  Fix list callback signatures (Nick Wellnhofer),<br/>
-  Fix hash callback signatures (Nick Wellnhofer),<br/>
-  Refactor name and type signature for xmlNop (Vlad Tsyrklevich),<br/>
-  Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey),<br/>
-  Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Improvements:<br/>
-  Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer),<br/>
-  Improve handling of context input_id (Daniel Veillard),<br/>
-  Add resource file to Windows DLL (ccpaging),<br/>
-  Run Travis tests with -Werror (Nick Wellnhofer),<br/>
-  Build with "-Wall -Wextra" (Nick Wellnhofer),<br/>
-  Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer),<br/>
-  Remove unused AC_CHECKs (Nick Wellnhofer),<br/>
-  Update information about contributing (Nick Wellnhofer),<br/>
-  Fix -Wmisleading-indentation warnings (Nick Wellnhofer),<br/>
-  Don't touch CFLAGS in configure.ac (Nick Wellnhofer),<br/>
-  Ignore function pointer cast warnings (Nick Wellnhofer),<br/>
-  Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer),<br/>
-  Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer),<br/>
-  Add test for ICU flush and pivot buffer (Nick Wellnhofer),<br/>
-  Compile testapi with -Wno-unused-function (Nick Wellnhofer)<br/>
-  </li>
-</ul>
-<h3>2.9.7: Nov 02 2017</h3>
-<ul>
-  <li>Documentation:<br/>
-  xmlcatalog: refresh man page wrt. querying system catalog easily (Jan Pokorný)<br/>
-  </li>
-
-  <li>Portability:<br/>
-  Fix deprecated Travis compiler flag (Nick Wellnhofer),<br/>
-  Add declaration for DllMain (J. Peter Mugaas),<br/>
-  Fix preprocessor conditional in threads.h (J. Peter Mugaas),<br/>
-  Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas),<br/>
-  Fix macro redefinition warning (J. Peter Mugaas),<br/>
-  Default to native threads on MinGW-w64 (Nick Wellnhofer),<br/>
-  Simplify Windows IO functions (Nick Wellnhofer),<br/>
-  Fix runtest on Windows (Nick Wellnhofer),<br/>
-  socklen_t is always int on Windows (Nick Wellnhofer),<br/>
-  Don't redefine socket error codes on Windows (Nick Wellnhofer),<br/>
-  Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer),<br/>
-  Fix Windows compiler warnings in xmlCanonicPath (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Bug Fixes:<br/>
-  xmlcatalog: restore ability to query system catalog easily (Jan Pokorný),<br/>
-  Fix comparison of nodesets to strings (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Improvements:<br/>
-  Add Makefile rules to rebuild HTML man pages (Nick Wellnhofer),<br/>
-  Fix mixed decls and code in timsort.h (Nick Wellnhofer),<br/>
-  Rework handling of return values in thread tests (Nick Wellnhofer),<br/>
-  Fix unused variable warnings in testrecurse (Nick Wellnhofer),<br/>
-  Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas),<br/>
-  Upgrade timsort.h to latest revision (Nick Wellnhofer),<br/>
-  Increase warning level to /W3 under MSVC (Nick Wellnhofer),<br/>
-  Fix a couple of warnings in dict.c and threads.c (Nick Wellnhofer),<br/>
-  Update .gitignore for Windows (Nick Wellnhofer),<br/>
-  Fix unused variable warnings in nanohttp.c (Nick Wellnhofer),<br/>
-  Fix the Windows header mess (Nick Wellnhofer),<br/>
-  Don't include winsock2.h in xmllint.c (Nick Wellnhofer),<br/>
-  Remove generated file python/setup.py from version control (Nick Wellnhofer),<br/>
-  Use __linux__ macro in generated code (Nick Wellnhofer)<br/>
-  </li>
-
-</ul>
-<h3>v2.9.6: Oct 06 2017</h3>
-<ul>
-  <li>Portability:<br/>
-  Change preprocessor OS tests to __linux__ (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Bug Fixes:<br/>
-  Fix XPath stack frame logic (Nick Wellnhofer),<br/>
-  Report undefined XPath variable error message (Nick Wellnhofer),<br/>
-  Fix regression with librsvg (Nick Wellnhofer),<br/>
-  Handle more invalid entity values in recovery mode (Nick Wellnhofer),<br/>
-  Fix structured validation errors (Nick Wellnhofer),<br/>
-  Fix memory leak in LZMA decompressor (Nick Wellnhofer),<br/>
-  Set memory limit for LZMA decompression (Nick Wellnhofer),<br/>
-  Handle illegal entity values in recovery mode (Nick Wellnhofer),<br/>
-  Fix debug dump of streaming XPath expressions (Nick Wellnhofer),<br/>
-  Fix memory leak in nanoftp (Nick Wellnhofer),<br/>
-  Fix memory leaks in SAX1 parser (Nick Wellnhofer)<br/>
-  </li>
-</ul>
-<h3>v2.9.5: Sep 04 2017</h3>
-<ul>
-
-  <li>Security:<br/>
-  Detect infinite recursion in parameter entities (Nick Wellnhofer),<br/>
-  Fix handling of parameter-entity references (Nick Wellnhofer),<br/>
-  Disallow namespace nodes in XPointer ranges (Nick Wellnhofer),<br/>
-  Fix XPointer paths beginning with range-to (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Documentation:<br/>
-  Documentation fixes (Nick Wellnhofer),<br/>
-  Spelling and grammar fixes (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Portability:<br/>
-  Adding README.zOS to list of extra files for the release (Daniel Veillard),<br/>
-  Description of work needed to compile on zOS (Stéphane Michaut),<br/>
-  Porting libxml2 on zOS encoding of code (Stéphane Michaut),<br/>
-  small changes for OS/400 (Patrick Monnerat),<br/>
-  relaxng.c, xmlschemas.c: Fix build on pre-C99 compilers (Chun-wei Fan)<br/>
-  </li>
-
-  <li>Bug Fixes:<br/>
-  Problem resolving relative URIs (Daniel Veillard),<br/>
-  Fix unwanted warnings when switching encodings (Nick Wellnhofer),<br/>
-  Fix signature of xmlSchemaAugmentImportedIDC (Daniel Veillard),<br/>
-  Heap-buffer-overflow read of size 1 in xmlFAParsePosCharGroup (David Kilzer),<br/>
-  Fix NULL pointer deref in xmlFAParseCharClassEsc (Nick Wellnhofer),<br/>
-  Fix infinite loops with push parser in recovery mode (Nick Wellnhofer),<br/>
-  Send xmllint usage error to stderr (Nick Wellnhofer),<br/>
-  Fix NULL deref in xmlParseExternalEntityPrivate (Nick Wellnhofer),<br/>
-  Make sure not to call IS_BLANK_CH when parsing the DTD (Nick Wellnhofer),<br/>
-  Fix xmlHaltParser (Nick Wellnhofer),<br/>
-  Fix pathological performance when outputting charrefs (Nick Wellnhofer),<br/>
-  Fix invalid-source-encoding warnings in testWriter.c (Nick Wellnhofer),<br/>
-  Fix duplicate SAX callbacks for entity content (David Kilzer),<br/>
-  Treat URIs with scheme as absolute in C14N (Nick Wellnhofer),<br/>
-  Fix copy-paste errors in error messages (Nick Wellnhofer),<br/>
-  Fix sanity check in htmlParseNameComplex (Nick Wellnhofer),<br/>
-  Fix potential infinite loop in xmlStringLenDecodeEntities (Nick Wellnhofer),<br/>
-  Reset parser input pointers on encoding failure (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlParseEntityDecl error path (Nick Wellnhofer),<br/>
-  Fix xmlBuildRelativeURI for URIs starting with './' (Nick Wellnhofer),<br/>
-  Fix type confusion in xmlValidateOneNamespace (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlStringLenGetNodeList (Nick Wellnhofer),<br/>
-  Fix NULL pointer deref in xmlDumpElementContent (Daniel Veillard),<br/>
-  Fix memory leak in xmlBufAttrSerializeTxtContent (Nick Wellnhofer),<br/>
-  Stop parser on unsupported encodings (Nick Wellnhofer),<br/>
-  Check for integer overflow in memory debug code (Nick Wellnhofer),<br/>
-  Fix buffer size checks in xmlSnprintfElementContent (Nick Wellnhofer),<br/>
-  Avoid reparsing in xmlParseStartTag2 (Nick Wellnhofer),<br/>
-  Fix undefined behavior in xmlRegExecPushStringInternal (Nick Wellnhofer),<br/>
-  Check XPath exponents for overflow (Nick Wellnhofer),<br/>
-  Check for overflow in xmlXPathIsPositionalPredicate (Nick Wellnhofer),<br/>
-  Fix spurious error message (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlCanonicPath (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlXPathCompareNodeSetValue (Nick Wellnhofer),<br/>
-  Fix memory leak in pattern error path (Nick Wellnhofer),<br/>
-  Fix memory leak in parser error path (Nick Wellnhofer),<br/>
-  Fix memory leaks in XPointer error paths (Nick Wellnhofer),<br/>
-  Fix memory leak in xmlXPathNodeSetMergeAndClear (Nick Wellnhofer),<br/>
-  Fix memory leak in XPath filter optimizations (Nick Wellnhofer),<br/>
-  Fix memory leaks in XPath error paths (Nick Wellnhofer),<br/>
-  Do not leak the new CData node if adding fails (David Tardon),<br/>
-  Prevent unwanted external entity reference (Neel Mehta),<br/>
-  Increase buffer space for port in HTTP redirect support (Daniel Veillard),<br/>
-  Fix more NULL pointer derefs in xpointer.c (Nick Wellnhofer),<br/>
-  Avoid function/data pointer conversion in xpath.c (Nick Wellnhofer),<br/>
-  Fix format string warnings (Nick Wellnhofer),<br/>
-  Disallow namespace nodes in XPointer points (Nick Wellnhofer),<br/>
-  Fix comparison with root node in xmlXPathCmpNodes (Nick Wellnhofer),<br/>
-  Fix attribute decoding during XML schema validation (Alex Henrie),<br/>
-  Fix NULL pointer deref in XPointer range-to (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Improvements:<br/>
-  Updating the spec file to reflect Fedora 24 (Daniel Veillard),<br/>
-  Add const in five places to move 1 KiB to .rdata (Bruce Dawson),<br/>
-  Fix missing part of comment for function xmlXPathEvalExpression() (Daniel Veillard),<br/>
-  Get rid of "blanks wrapper" for parameter entities (Nick Wellnhofer),<br/>
-  Simplify handling of parameter entity references (Nick Wellnhofer),<br/>
-  Deduplicate code in encoding.c (Nick Wellnhofer),<br/>
-  Make HTML parser functions take const pointers (Nick Wellnhofer),<br/>
-  Build test programs only when needed (Nick Wellnhofer),<br/>
-  Fix doc/examples/index.py (Nick Wellnhofer),<br/>
-  Fix compiler warnings in threads.c (Nick Wellnhofer),<br/>
-  Fix empty-body warning in nanohttp.c (Nick Wellnhofer),<br/>
-  Fix cast-align warnings (Nick Wellnhofer),<br/>
-  Fix unused-parameter warnings (Nick Wellnhofer),<br/>
-  Rework entity boundary checks (Nick Wellnhofer),<br/>
-  Don't switch encoding for internal parameter entities (Nick Wellnhofer),<br/>
-  Merge duplicate code paths handling PE references (Nick Wellnhofer),<br/>
-  Test SAX2 callbacks with entity substitution (Nick Wellnhofer),<br/>
-  Support catalog and threads tests under --without-sax1 (Nick Wellnhofer),<br/>
-  Misc fixes for 'make tests' (Nick Wellnhofer),<br/>
-  Initialize keepBlanks in HTML parser (Nick Wellnhofer),<br/>
-  Add test cases for bug 758518 (David Kilzer),<br/>
-  Fix compiler warning in htmlParseElementInternal (Nick Wellnhofer),<br/>
-  Remove useless check in xmlParseAttributeListDecl (Nick Wellnhofer),<br/>
-  Allow zero sized memory input buffers (Nick Wellnhofer),<br/>
-  Add TODO comment in xmlSwitchEncoding (Nick Wellnhofer),<br/>
-  Check for integer overflow in xmlXPathFormatNumber (Nick Wellnhofer),<br/>
-  Make Travis print UBSan stacktraces (Nick Wellnhofer),<br/>
-  Add .travis.yml (Nick Wellnhofer),<br/>
-  Fix expected error output in Python tests (Nick Wellnhofer),<br/>
-  Simplify control flow in xmlParseStartTag2 (Nick Wellnhofer),<br/>
-  Disable LeakSanitizer when running API tests (Nick Wellnhofer),<br/>
-  Avoid out-of-bound array access in API tests (Nick Wellnhofer),<br/>
-  Avoid spurious UBSan errors in parser.c (Nick Wellnhofer),<br/>
-  Parse small XPath numbers more accurately (Nick Wellnhofer),<br/>
-  Rework XPath rounding functions (Nick Wellnhofer),<br/>
-  Fix white space in test output (Nick Wellnhofer),<br/>
-  Fix axis traversal from attribute and namespace nodes (Nick Wellnhofer),<br/>
-  Check for trailing characters in XPath expressions earlier (Nick Wellnhofer),<br/>
-  Rework final handling of XPath results (Nick Wellnhofer),<br/>
-  Make xmlXPathEvalExpression call xmlXPathEval (Nick Wellnhofer),<br/>
-  Remove unused variables (Nick Wellnhofer),<br/>
-  Don't print generic error messages in XPath tests (Nick Wellnhofer)<br/>
-  </li>
-
-  <li>Cleanups:<br/>
-  Fix a couple of misleading indentation errors (Daniel Veillard),<br/>
-  Remove unnecessary calls to xmlPopInput (Nick Wellnhofer)<br/>
-  </li>
-</ul>
-<h3>2.9.4: May 23 2016</h3>
-<ul>
-  <li>Security:<br/>
-  More format string warnings with possible format string vulnerability (David Kilzer),<br/>
-  Avoid building recursive entities (Daniel Veillard),<br/>
-  Heap-based buffer overread in htmlCurrentChar (Pranjal Jumde),<br/>
-  Heap-based buffer-underreads due to xmlParseName (David Kilzer),<br/>
-  Heap use-after-free in xmlSAX2AttributeNs (Pranjal Jumde),<br/>
-  Heap use-after-free in htmlParsePubidLiteral and htmlParseSystemiteral (Pranjal Jumde),<br/>
-  Fix some format string warnings with possible format string vulnerability (David Kilzer),<br/>
-  Detect change of encoding when parsing HTML names (Hugh Davenport),<br/>
-  Fix inappropriate fetch of entities content (Daniel Veillard),<br/>
-  Bug 759398: Heap use-after-free in xmlDictComputeFastKey &lt;https://bugzilla.gnome.org/show_bug.cgi?id=759398&gt; (Pranjal Jumde),<br/>
-  Bug 758605: Heap-based buffer overread in xmlDictAddString &lt;https://bugzilla.gnome.org/show_bug.cgi?id=758605&gt; (Pranjal Jumde),<br/>
-  Bug 758588: Heap-based buffer overread in xmlParserPrintFileContextInternal &lt;https://bugzilla.gnome.org/show_bug.cgi?id=758588&gt; (David Kilzer),<br/>
-  Bug 757711: heap-buffer-overflow in xmlFAParsePosCharGroup &lt;https://bugzilla.gnome.org/show_bug.cgi?id=757711&gt; (Pranjal Jumde),<br/>
-  Add missing increments of recursion depth counter to XML parser. (Peter Simons)<br/>
-  </li>
-
-  <li>Documentation:<br/>
-  Fix typo: s{ ec -&gt; cr }cipt (Jan Pokorný),<br/>
-  Fix typos: dictio{ nn -&gt; n }ar{y,ies} (Jan Pokorný),<br/>
-  Fix typos: PATH_{ SEAPARATOR -&gt; SEPARATOR } (Jan Pokorný),<br/>
-  Correct a typo. (Shlomi Fish)<br/>
-  </li>
-
-  <li>Portability:<br/>
-  Correct the usage of LDFLAGS (Mattias Hansson),<br/>
-  Revert the use of SAVE_LDFLAGS in configure.ac (Mattias Hansson),<br/>
-  libxml2 hardcodes -L/lib in zlib/lzma tests which breaks cross-compiles (Mike Frysinger),<br/>
-  Fix apibuild for a recently added construct (Daniel Veillard),<br/>
-  Use pkg-config to locate zlib when possible (Stewart Brodie),<br/>
-  Use pkg-config to locate ICU when possible (Stewart Brodie),<br/>
-  Portability to non C99 compliant compilers (Patrick Monnerat),<br/>
-  dict.h: Move xmlDictPtr definition before includes to allow direct inclusion. (Patrick Monnerat),<br/>
-  os400: tell about xmllint and xmlcatalog in README400. (Patrick Monnerat),<br/>
-  os400: properly process SGML add in XMLCATALOG command. (Patrick Monnerat),<br/>
-  os400: implement CL command XMLCATALOG. (Patrick Monnerat),<br/>
-  os400: compile and install program xmlcatalog (qshell-only). (Patrick Monnerat),<br/>
-  os400: expand tabs in sources, strip trailing blanks. (Patrick Monnerat),<br/>
-  os400: implement CL command XMLLINT. (Patrick Monnerat),<br/>
-  os400: compile and install program xmllint (qshell-only). (Patrick Monnerat),<br/>
-  os400: initscript make_module(): Use options instead of positional parameters. (Patrick Monnerat),<br/>
-  os400: c14n.rpgle: allow *omit for nullable reference parameters. (Patrick Monnerat),<br/>
-  os400: use like() for double type. (Patrick Monnerat),<br/>
-  os400: use like() for int type. (Patrick Monnerat),<br/>
-  os400: use like() for unsigned int type. (Patrick Monnerat),<br/>
-  os400: use like() for enum types. (Patrick Monnerat),<br/>
-  Add xz to xml2-config --libs output (Baruch Siach),<br/>
-  Bug 760190: configure.ac should be able to build --with-icu without icu-config tool &lt;https://bugzilla.gnome.org/show_bug.cgi?id=760190&gt; (David Kilzer),<br/>
-  win32\VC10\config.h and VS 2015 (Bruce Dawson),<br/>
-  Add configure maintainer mode (orzen)<br/>
-  </li>
-
-  <li>Bug Fixes:<br/>
-  Avoid an out of bound access when serializing malformed strings (Daniel Veillard),<br/>
-  Unsigned addition may overflow in xmlMallocAtomicLoc() (David Kilzer),<br/>
-  Integer signed/unsigned type mismatch in xmlParserInputGrow() (David Kilzer),<br/>
-  Bug 763071: heap-buffer-overflow in xmlStrncat &lt;https://bugzilla.gnome.org/show_bug.cgi?id=763071&gt; (Pranjal Jumde),<br/>
-  Integer overflow parsing port number in URI (Michael Paddon),<br/>
-  Fix an error with regexp on nullable counted char transition (Daniel Veillard),<br/>
-  Fix memory leak with XPath namespace nodes (Nick Wellnhofer),<br/>
-  Fix namespace axis traversal (Nick Wellnhofer),<br/>
-      Fix null pointer deref in docs with no root element (Hugh Davenport),<br/>
-  Fix XSD validation of URIs with ampersands (Alex Henrie),<br/>
-  xmlschemastypes.c: accept endOfDayFrag Times set to "24:00:00" mean "end of day" and should not cause an error. (Patrick Monnerat),<br/>
-  xmlcatalog: flush stdout before interactive shell input. (Patrick Monnerat),<br/>
-  xmllint: flush stdout before interactive shell input. (Patrick Monnerat),<br/>
-  Don't recurse into OP_VALUEs in xmlXPathOptimizeExpression (Nick Wellnhofer),<br/>
-  Fix namespace::node() XPath expression (Nick Wellnhofer),<br/>
-  Fix OOB write in xmlXPathEmptyNodeSet (Nick Wellnhofer),<br/>
-  Fix parsing of NCNames in XPath (Nick Wellnhofer),<br/>
-  Fix OOB read with invalid UTF-8 in xmlUTF8Strsize (Nick Wellnhofer),<br/>
-  Do normalize string-based datatype value in RelaxNG facet checking (Audric Schiltknecht),<br/>
-  Bug 760921: REGRESSION (8eb55d78): doc/examples/io1 test fails after fix for "xmlSaveUri() incorrectly recomposes URIs with rootless paths" &lt;https://bugzilla.gnome.org/show_bug.cgi?id=760921&gt; (David Kilzer),<br/>
-  Bug 760861: REGRESSION (bf9c1dad): Missing results for test/schemas/regexp-char-ref_[01].xsd &lt;https://bugzilla.gnome.org/show_bug.cgi?id=760861&gt; (David Kilzer),<br/>
-  error.c: *input-&gt;cur == 0 does not mean no error (Pavel Raiskup),<br/>
-  Add missing RNG test files (David Kilzer),<br/>
-  Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte character in large CDATA section is split across buffer &lt;https://bugzilla.gnome.org/show_bug.cgi?id=760183&gt; (David Kilzer),<br/>
-  Bug 758572: ASAN crash in make check &lt;https://bugzilla.gnome.org/show_bug.cgi?id=758572&gt; (David Kilzer),<br/>
-  Bug 721158: Missing ICU string when doing --version on xmllint &lt;https://bugzilla.gnome.org/show_bug.cgi?id=721158&gt; (David Kilzer),<br/>
-  python 3: libxml2.c wrappers create Unicode str already (Michael Stahl),<br/>
-  Add autogen.sh to distrib (orzen),<br/>
-  Heap-based buffer overread in xmlNextChar (Daniel Veillard)<br/>
-  </li>
-
-  <li>Improvements:<br/>
-  Add more debugging info to runtest (Daniel Veillard),<br/>
-  Implement "runtest -u" mode (David Kilzer),<br/>
-  Add a make rule to rebuild for ASAN (Daniel Veillard)<br/>
-  </li>
-</ul>
-<h3>v2.9.3: Nov 20 2015</h3>
-<ul>
-  <li>Security:<br/>
-  CVE-2015-8242 Buffer overead with HTML parser in push mode (Hugh Davenport),<br/>
-  CVE-2015-7500 Fix memory access error due to incorrect entities boundaries (Daniel Veillard),<br/>
-  CVE-2015-7499-2 Detect incoherency on GROW (Daniel Veillard),<br/>
-  CVE-2015-7499-1 Add xmlHaltParser() to stop the parser (Daniel Veillard),<br/>
-  CVE-2015-5312 Another entity expansion issue (David Drysdale),<br/>
-  CVE-2015-7497 Avoid an heap buffer overflow in xmlDictComputeFastQKey (David Drysdale),<br/>
-  CVE-2015-7498 Avoid processing entities after encoding conversion failures (Daniel Veillard),<br/>
-  CVE-2015-8035 Fix XZ compression support loop (Daniel Veillard),<br/>
-  CVE-2015-7942-2 Fix an error in previous Conditional section patch (Daniel Veillard),<br/>
-  CVE-2015-7942 Another variation of overflow in Conditional sections (Daniel Veillard),<br/>
-  CVE-2015-1819 Enforce the reader to run in constant memory (Daniel Veillard)<br/>
-  CVE-2015-7941_2 Cleanup conditional section error handling (Daniel Veillard),<br/>
-  CVE-2015-7941_1 Stop parsing on entities boundaries errors (Daniel Veillard),<br/>
-  </li>
-
-  <li>Documentation:<br/>
-  Correct spelling of "calling" (Alex Henrie),<br/>
-  Fix a small error in xmllint --format description (Fabien Degomme),<br/>
-  Avoid XSS on the search of xmlsoft.org (Daniel Veillard)<br/>
-  </li>
-
-  <li>Portability:<br/>
-  threads: use forward declarations only for glibc (Michael Heimpold),<br/>
-  Update Win32 configure.js to search for configure.ac (Daniel Veillard)<br/>
-  </li>
-
-  <li>Bug Fixes:<br/>
-  Bug on creating new stream from entity (Daniel Veillard),<br/>
-  Fix some loop issues embedding NEXT (Daniel Veillard),<br/>
-  Do not print error context when there is none (Daniel Veillard),<br/>
-  Avoid extra processing of MarkupDecl when EOF (Hugh Davenport),<br/>
-  Fix parsing short unclosed comment uninitialized access (Daniel Veillard),<br/>
-  Add missing Null check in xmlParseExternalEntityPrivate (Gaurav Gupta),<br/>
-  Fix a bug in CData error handling in the push parser (Daniel Veillard),<br/>
-  Fix a bug on name parsing at the end of current input buffer (Daniel Veillard),<br/>
-  Fix the spurious ID already defined error (Daniel Veillard),<br/>
-  Fix previous change to node sort order (Nick Wellnhofer),<br/>
-  Fix a self assignment issue raised by clang (Scott Graham),<br/>
-  Fail parsing early on if encoding conversion failed (Daniel Veillard),<br/>
-  Do not process encoding values if the declaration if broken (Daniel Veillard),<br/>
-  Silence clang's -Wunknown-attribute (Michael Catanzaro),<br/>
-  xmlMemUsed is not thread-safe (Martin von Gagern),<br/>
-  Fix support for except in nameclasses (Daniel Veillard),<br/>
-  Fix order of root nodes (Nick Wellnhofer),<br/>
-  Allow attributes on descendant-or-self axis (Nick Wellnhofer),<br/>
-  Fix the fix to Windows locking (Steve Nairn),<br/>
-  Fix timsort invariant loop re: Envisage article (Christopher Swenson),<br/>
-  Don't add IDs in xmlSetTreeDoc (Nick Wellnhofer),<br/>
-  Account for ID attributes in xmlSetTreeDoc (Nick Wellnhofer),<br/>
-  Remove various unused value assignments (Philip Withnall),<br/>
-  Fix missing entities after CVE-2014-3660 fix (Daniel Veillard),<br/>
-  Revert "Missing initialization for the catalog module" (Daniel Veillard)<br/>
-  </li>
-
-  <li>Improvements:<br/>
-  Reuse xmlHaltParser() where it makes sense (Daniel Veillard),<br/>
-  xmlStopParser reset errNo (Daniel Veillard),<br/>
-  Re-enable xz support by default (Daniel Veillard),<br/>
-  Recover unescaped less-than character in HTML recovery parsing (Daniel Veillard),<br/>
-  Allow HTML serializer to output HTML5 DOCTYPE (Shaun McCance),<br/>
-  Regression test for bug #695699 (Nick Wellnhofer),<br/>
-  Add a couple of XPath tests (Nick Wellnhofer),<br/>
-  Add Python 3 rpm subpackage (Tomas Radej),<br/>
-  libxml2-config.cmake.in: update include directories (Samuel Martin),<br/>
-  Adding example from bugs 738805 to regression tests (Daniel Veillard)<br/>
-  </li>
-
-  <li>Cleanups:<br/>
-  </li>
-</ul>
-<h3>2.9.2: Oct 16 2014</h3>
-<ul>
-  <li>Security:<br/>
-  Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard),<br/>
-  CVE-2014-0191 Do not fetch external parameter entities (Daniel Veillard)<br/>
-  </li>
-
-  <li>Bug Fixes:<br/>
-  fix memory leak xml header encoding field with XML_PARSE_IGNORE_ENC (Bart De Schuymer),<br/>
-  xmlmemory: handle realloc properly (Yegor Yefremov),<br/>
-  Python generator bug raised by the const change (Daniel Veillard),<br/>
-  Windows Critical sections not released correctly (Daniel Veillard),<br/>
-  Parser error on repeated recursive entity expansion containing &amp;lt; (Daniel Veillard),<br/>
-  xpointer : fixing Null Pointers (Gaurav Gupta),<br/>
-  Remove Unnecessary Null check in xpointer.c (Gaurav Gupta),<br/>
-  parser bug on misformed namespace attributes (Dennis Filder),<br/>
-  Pointer dereferenced before null check (Daniel Veillard),<br/>
-  Leak of struct addrinfo in xmlNanoFTPConnect() (Gaurav Gupta),<br/>
-  Possible overflow in HTMLParser.c (Daniel Veillard),<br/>
-  python/tests/sync.py assumes Python dictionaries are ordered (John Beck),<br/>
-  Fix Enum check and missing break (Gaurav Gupta),<br/>
-  xmlIO: Handle error returns from dup() (Philip Withnall),<br/>
-  Fix a problem properly saving URIs (Daniel Veillard),<br/>
-  wrong error column in structured error when parsing attribute values (Juergen Keil),<br/>
-  wrong error column in structured error when skipping whitespace in xml decl (Juergen Keil),<br/>
-  no error column in structured error handler for xml schema validation errors (Juergen Keil),<br/>
-  Couple of Missing Null checks (Gaurav Gupta),<br/>
-  Add couple of missing Null checks (Daniel Veillard),<br/>
-  xmlschemastypes: Fix potential array overflow (Philip Withnall),<br/>
-  runtest: Fix a memory leak on parse failure (Philip Withnall),<br/>
-  xmlIO: Fix an FD leak on gzdopen() failure (Philip Withnall),<br/>
-  xmlcatalog: Fix a memory leak on quit (Philip Withnall),<br/>
-  HTMLparser: Correctly initialise a stack allocated structure (Philip Withnall),<br/>
-  Check for tmon in _xmlSchemaDateAdd() is incorrect (David Kilzer),<br/>
-  Avoid Possible Null Pointer in trio.c (Gaurav Gupta),<br/>
-  Fix processing in SAX2 in case of an allocation failure (Daniel Veillard),<br/>
-  XML Shell command "cd" does not handle "/" at end of path (Daniel Veillard),<br/>
-  Fix various Missing Null checks (Gaurav Gupta),<br/>
-  Fix a potential NULL dereference (Daniel Veillard),<br/>
-  Add a couple of misisng check in xmlRelaxNGCleanupTree (Gaurav Gupta),<br/>
-  Add a missing argument check (Gaurav Gupta),<br/>
-  Adding a check in case of allocation error (Gaurav Gupta),<br/>
-  xmlSaveUri() incorrectly recomposes URIs with rootless paths (Dennis Filder),<br/>
-  Adding some missing NULL checks (Gaurav),<br/>
-  Fixes for xmlInitParserCtxt (Daniel Veillard),<br/>
-  Fix regressions introduced by CVE-2014-0191 patch (Daniel Veillard),<br/>
-  erroneously ignores a validation error if no error callback set (Daniel Veillard),<br/>
-  xmllint was not parsing the --c14n11 flag (Sérgio Batista),<br/>
-  Avoid Possible null pointer dereference in memory debug mode (Gaurav),<br/>
-  Avoid Double Null Check (Gaurav),<br/>
-  Restore context size and position after XPATH_OP_ARG (Nick Wellnhofer),<br/>
-  Fix xmlParseInNodeContext() if node is not element (Daniel Veillard),<br/>
-  Avoid a possible NULL pointer dereference (Gaurav),<br/>
-  Fix xmlTextWriterWriteElement when a null content is given (Daniel Veillard),<br/>
-  Fix an typo 'onrest' in htmlScriptAttributes (Daniel Veillard),<br/>
-  fixing a ptotential uninitialized access (Daniel Veillard),<br/>
-  Fix an fd leak in an error case (Daniel Veillard),<br/>
-  Missing initialization for the catalog module (Daniel Veillard),<br/>
-  Handling of XPath function arguments in error case (Nick Wellnhofer),<br/>
-  Fix a couple of missing NULL checks (Gaurav),<br/>
-  Avoid a possibility of dangling encoding handler (Gaurav),<br/>
-  Fix HTML push parser to accept HTML_PARSE_NODEFDTD (Arnold Hendriks),<br/>
-  Fix a bug loading some compressed files (Mike Alexander),<br/>
-  Fix XPath node comparison bug (Gaurav),<br/>
-  Type mismatch in xmlschemas.c (Gaurav),<br/>
-  Type mismatch in xmlschemastypes.c (Gaurav),<br/>
-  Avoid a deadcode in catalog.c (Daniel Veillard),<br/>
-  run close socket on Solaris, same as we do on other platforms (Denis Pauk),<br/>
-  Fix pointer dereferenced before null check (Gaurav),<br/>
-  Fix a potential NULL dereference in tree code (Daniel Veillard),<br/>
-  Fix potential NULL pointer dereferences in regexp code (Gaurav),<br/>
-  xmllint --pretty crashed without following numeric argument (Tim Galeckas),<br/>
-  Fix XPath expressions of the form '@ns:*' (Nick Wellnhofer),<br/>
-  Fix XPath '//' optimization with predicates (Nick Wellnhofer),<br/>
-  Clear up a potential NULL dereference (Daniel Veillard),<br/>
-  Fix a possible NULL dereference (Gaurav),<br/>
-  Avoid crash if allocation fails (Daniel Veillard),<br/>
-  Remove occasional leading space in XPath number formatting (Daniel Veillard),<br/>
-  Fix handling of mmap errors (Daniel Veillard),<br/>
-  Catch malloc error and exit accordingly (Daniel Veillard),<br/>
-  missing else in xlink.c (Ami Fischman),<br/>
-  Fix a parsing bug on non-ascii element and CR/LF usage (Daniel Veillard),<br/>
-  Fix a regression in xmlGetDocCompressMode() (Daniel Veillard),<br/>
-  properly quote the namespace uris written out during c14n (Aleksey Sanin),<br/>
-  Remove premature XInclude check on URI being relative (Alexey Neyman),<br/>
-  Fix missing break on last() function for attributes (dcb),<br/>
-  Do not URI escape in server side includes (Romain Bondue),<br/>
-  Fix an error in xmlCleanupParser (Alexander Pastukhov)<br/>
-  </li>
-
-  <li>Documentation:<br/>
-  typo in error messages "colon are forbidden from..." (Daniel Veillard),<br/>
-  Fix a link to James SAX documentation old page (Daniel Veillard),<br/>
-  Fix typos in relaxng.c (Jan Pokorný),<br/>
-  Fix a doc typo (Daniel Veillard),<br/>
-  Fix typos in {tree,xpath}.c (errror) (Jan Pokorný),<br/>
-  Add limitations about encoding conversion (Daniel Veillard),<br/>
-  Fix typos in xmlschemas{,types}.c (Jan Pokorný),<br/>
-  Fix incorrect spelling entites-&gt;entities (Jan Pokorný),<br/>
-  Forgot to document 2.9.1 release, regenerate docs (Daniel Veillard)<br/>
-  </li>
-
-  <li>Portability:<br/>
-  AC_CONFIG_FILES and executable bit (Roumen Petrov),<br/>
-  remove HAVE_CONFIG_H dependency in testlimits.c (Roumen Petrov),<br/>
-  fix some tabs mixing incompatible with python3 (Roumen Petrov),<br/>
-  Visual Studio 14 CTP defines snprintf() (Francis Dupont),<br/>
-  OS400: do not try to copy unexisting doc files (Patrick Monnerat),<br/>
-  OS400: use either configure.ac or configure.in. (Patrick Monnerat),<br/>
-  os400: make-src.sh: create physical file with target CCSID (Patrick Monnerat),<br/>
-  OS400: Add some more C macros equivalent procedures. (Patrick Monnerat),<br/>
-  OS400: use C macros to implement equivalent RPG support procedures. (Patrick Monnerat),<br/>
-  OS400: implement XPath macros as procedures for ILE/RPG support. (Patrick Monnerat),<br/>
-  OS400: include in distribution tarball. (Patrick Monnerat),<br/>
-  OS400: Add README: compilation directives and OS/400 specific stuff. (Patrick Monnerat),<br/>
-  OS400: Add compilation scripts. (Patrick Monnerat),<br/>
-  OS400: ILE RPG language header files. (Patrick Monnerat),<br/>
-  OS400: implement some macros as functions for ILE/RPG language support (that as no macros). (Patrick Monnerat),<br/>
-  OS400: UTF8&lt;--&gt;EBCDIC wrappers for system and external library calls (Patrick Monnerat),<br/>
-  OS400: Easy character transcoding support (Patrick Monnerat),<br/>
-  OS400: iconv functions compatibility wrappers and table builder. (Patrick Monnerat),<br/>
-  OS400: create architecture directory. Implement dlfcn emulation. (Patrick Monnerat),<br/>
-  Fix building when configuring without xpath and xptr (Daniel Veillard),<br/>
-  configure: Add --with-python-install-dir (Jonas Eriksson),<br/>
-  Fix compilation with minimum and xinclude. (Nicolas Le Cam),<br/>
-  Compile out use of xmlValidateNCName() when not available. (Nicolas Le Cam),<br/>
-  Fix compilation with minimum and schematron. (Nicolas Le Cam),<br/>
-  Legacy needs xmlSAX2StartElement() and xmlSAX2EndElement(). (Nicolas Le Cam),<br/>
-  Don't use xmlValidateName() when not available. (Nicolas Le Cam),<br/>
-  Fix a portability issue on Windows (Longstreth Jon),<br/>
-  Various portability patches for OpenVMS (Jacob (Jouk) Jansen),<br/>
-  Use specific macros for portability to OS/400 (Patrick Monnerat),<br/>
-  Add macros needed for OS/400 portability (Patrick Monnerat),<br/>
-  Portability patch for fopen on OS/400 (Patrick Monnerat),<br/>
-  Portability fixes for OS/400 (Patrick Monnerat),<br/>
-  Improve va_list portability (Patrick Monnerat),<br/>
-  Portability fix (Patrick Monnerat),<br/>
-  Portability fix (Patrick Monnerat),<br/>
-  Generic portability fix (Patrick Monnerat),<br/>
-  Shortening lines in headers (Patrick Monnerat),<br/>
-  build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall),<br/>
-  build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall),<br/>
-  fix some tabs mixing incompatible with python3 (Daniel Veillard),<br/>
-  add additional defines checks for support "./configure --with-minimum" (Denis Pauk),<br/>
-  Another round of fixes for older versions of Python (Arfrever Frehtes Taifersar Arahesis),<br/>
-  python: fix drv_libxml2.py for python3 compatibility (Alexandre Rostovtsev),<br/>
-  python: Fix compiler warnings when building python3 bindings (Armin K),<br/>
-  Fix for compilation with python 2.6.8 (Petr Sumbera)<br/>
-  </li>
-
-  <li>Improvements:<br/>
-  win32/libxml2.def.src after rebuild in doc (Roumen Petrov),<br/>
-  elfgcchack.h: more legacy needs xmlSAX2StartElement() and xmlSAX2EndElement() (Roumen Petrov),<br/>
-  elfgcchack.h: add xmlXPathNodeEval and xmlXPathSetContextNode (Roumen Petrov),<br/>
-  Provide cmake module (Samuel Martin),<br/>
-  Fix a couple of issues raised by make dist (Daniel Veillard),<br/>
-  Fix and add const qualifiers (Kurt Roeckx),<br/>
-  Preparing for upcoming release of 2.9.2 (Daniel Veillard),<br/>
-  Fix zlib and lzma libraries check via command line (Dmitriy),<br/>
-  wrong error column in structured error when parsing end tag (Juergen Keil),<br/>
-  doc/news.html: small update to avoid line join while generating NEWS. (Patrick Monnerat),<br/>
-  Add methods for python3 iterator (Ron Angeles),<br/>
-  Support element node traversal in document fragments. (Kyle VanderBeek),<br/>
-  xmlNodeSetName: Allow setting the name to a substring of the currently set name (Tristan Van Berkom),<br/>
-  Added macros for argument casts (Eric Zurcher),<br/>
-  adding init calls to xml and html Read parsing entry points (Daniel Veillard),<br/>
-  Get rid of 'REPLACEMENT CHARACTER' Unicode chars in xmlschemas.c (Jan Pokorný),<br/>
-  Implement choice for name classes on attributes (Shaun McCance),<br/>
-  Two small namespace tweaks (Daniel Veillard),<br/>
-  xmllint --memory should fail on empty files (Daniel Veillard),<br/>
-  Cast encoding name to char pointer to match arg type (Nikolay Sivov)<br/>
-  </li>
-
-  <li>Cleanups:<br/>
-  Removal of old configure.in (Daniel Veillard),<br/>
-  Unreachable code in tree.c (Gaurav Gupta),<br/>
-  Remove a couple of dead conditions (Gaurav Gupta),<br/>
-  Avoid some dead code and cleanup in relaxng.c (Gaurav),<br/>
-  Drop not needed checks (Denis Pauk),<br/>
-  Fix a wrong test (Daniel Veillard)<br/>
-  </li>
-</ul>
-<h3>2.9.1: Apr 19 2013</h3>
-<ul>
-  <li> Features:<br/>
-    Support for Python3 (Daniel Veillard),<br/>
-    Add xmlXPathSetContextNode and xmlXPathNodeEval (Alex Bligh)<br/>
-  </li>
-
-  <li> Documentation:<br/>
-    Add documentation for xmllint --xpath (Daniel Veillard),<br/>
-    Fix the URL of the SAX documentation from James (Daniel Veillard),<br/>
-    Fix spelling of "length". (Michael Wood)<br/>
-  </li>
-
-  <li> Portability:<br/>
-    Fix python bindings with versions older than 2.7 (Daniel Veillard),<br/>
-    rebuild docs:Makefile.am (Roumen Petrov),<br/>
-    elfgcchack.h after rebuild in doc (Roumen Petrov),<br/>
-    elfgcchack for buf module (Roumen Petrov),<br/>
-    Fix a uneeded and wrong extra link parameter (Daniel Veillard),<br/>
-    Few cleanup patches for Windows (Denis Pauk),<br/>
-    Fix rpmbuild --nocheck (Mark Salter),<br/>
-    Fix for win32/configure.js and WITH_THREAD_ALLOC (Daniel Richard),<br/>
-    Fix Broken multi-arch support in xml2-config (Daniel Veillard),<br/>
-    Fix a portability issue for GCC &lt; 3.4.0 (Daniel Veillard),<br/>
-    Windows build fixes (Daniel Richard),<br/>
-    Fix a thread portability problem (Friedrich Haubensak),<br/>
-    Downgrade autoconf requirement to 2.63 (Daniel Veillard)<br/>
-  </li>
-
-  <li> Bug Fixes:<br/>
-    Fix a linking error for python bindings (Daniel Veillard),<br/>
-    Fix a couple of return without value (Jüri Aedla),<br/>
-    Improve the hashing functions (Daniel Franke),<br/>
-    Improve handling of xmlStopParser() (Daniel Veillard),<br/>
-    Remove risk of lockup in dictionary initialization (Daniel Veillard),<br/>
-    Activate detection of encoding in external subset (Daniel Veillard),<br/>
-    Fix an output buffer flushing conversion bug (Mikhail Titov),<br/>
-    Fix an old bug in xmlSchemaValidateOneElement (Csaba László),<br/>
-    Fix configure cannot remove messages (Gilles Espinasse),<br/>
-    fix schema validation in combination with xsi:nil (Daniel Veillard),<br/>
-    xmlCtxtReadFile doesn't work with literal IPv6 URLs (Steve Wolf),<br/>
-    Fix a few problems with setEntityLoader (Alexey Neyman),<br/>
-    Detect excessive entities expansion upon replacement (Daniel Veillard),<br/>
-    Fix the flushing out of raw buffers on encoding conversions (Daniel,<br/>
-Veillard),<br/>
-    Fix some buffer conversion issues (Daniel Veillard),<br/>
-    When calling xmlNodeDump make sure we grow the buffer quickly (Daniel,<br/>
-Veillard),<br/>
-    Fix an error in the progressive DTD parsing code (Dan Winship),<br/>
-    xmllint should not load DTD by default when using the reader (Daniel,<br/>
-Veillard),<br/>
-    Try IBM-037 when looking for EBCDIC handlers (Petr Sumbera),<br/>
-    Fix potential out of bound access (Daniel Veillard),<br/>
-    Fix large parse of file from memory (Daniel Veillard),<br/>
-    Fix a bug in the nsclean option of the parser (Daniel Veillard),<br/>
-    Fix a regression in 2.9.0 breaking validation while streaming (Daniel,<br/>
-Veillard),<br/>
-    Remove potential calls to exit() (Daniel Veillard)<br/>
-  </li>
-
-  <li> Improvements:<br/>
-    Regenerated API, and testapi, rebuild documentation (Daniel Veillard),<br/>
-    Fix tree iterators broken by 2to3 script (Daniel Veillard),<br/>
-    update all tests for Python3 and Python2 (Daniel Veillard),<br/>
-    A few more fixes for python 3 affecting libxml2.py (Daniel Veillard),<br/>
-    Fix compilation on Python3 (Daniel Veillard),<br/>
-    Converting apibuild.py to python3 (Daniel Veillard),<br/>
-    First pass at starting porting to python3 (Daniel Veillard),<br/>
-    updated configure.in for python3 (Daniel Veillard),<br/>
-    Add support for xpathRegisterVariable in Python (Shaun McCance),<br/>
-    Added a regression tests from bug 694228 data (Daniel Veillard),<br/>
-    Cache presence of '&lt;' in entities content (Daniel Veillard),<br/>
-    Avoid extra processing on entities (Daniel Veillard),<br/>
-    Python binding for xmlRegisterInputCallback (Alexey Neyman),<br/>
-    Python bindings: DOM casts everything to xmlNode (Alexey Neyman),<br/>
-    Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h (Tim Starling),<br/>
-    Adding streaming validation to runtest checks (Daniel Veillard),<br/>
-    Add a --pushsmall option to xmllint (Daniel Veillard)<br/>
-  </li>
-
-  <li> Cleanups:<br/>
-    Switched comment in file to UTF-8 encoding (Daniel Veillard),<br/>
-    Extend gitignore (Daniel Veillard),<br/>
-    Silent the new python test on input (Alexey Neyman),<br/>
-    Cleanup of a duplicate test (Daniel Veillard),<br/>
-    Cleanup on duplicate test expressions (Daniel Veillard),<br/>
-    Fix compiler warning after 153cf15905cf4ec080612ada6703757d10caba1e (Patrick,<br/>
-Gansterer),<br/>
-    Spec cleanups and a fix for multiarch support (Daniel Veillard),<br/>
-    Silence a clang warning (Daniel Veillard),<br/>
-    Cleanup the Copyright to be pure MIT Licence wording (Daniel Veillard),<br/>
-    rand_seed should be static in dict.c (Wouter Van Rooy),<br/>
-    Fix typos in parser comments (Jan Pokorný)<br/>
-  </li>
-</ul>
-<h3>2.9.0: Sep 11 2012</h3>
-<ul>
-  <li> Features:<br/>
-    A few new API entry points,<br/>
-    More resilient push parser mode,<br/>
-    A lot of portability improvement,<br/>
-    Faster XPath evaluation<br/>
-  </li>
-
-  <li> Documentation:<br/>
-    xml2-config.1 markup error (Christian Weisgerber),<br/>
-    libxml(3) manpage typo fix (John Bradshaw),<br/>
-    More cleanups to the documentation part of libxml2 (Daniel Richard G)<br/>
-  </li>
-
-  <li> Portability:<br/>
-    Bug 676544 - fails to build with --without-sax1 (Akira TAGOH),<br/>
-    fix builds not having stdint.h (Rob Richards),<br/>
-    GetProcAddressA is available only on WinCE (Daniel Veillard),<br/>
-    More updates and cleanups on autotools and Makefiles (Daniel Richard G),<br/>
-    More changes for Win32 compilation (Eric Zurcher),<br/>
-    Basic changes for Win32 builds of release 2.9.0: compile buf.c (Eric Zurcher),<br/>
-    Bundles all generated files for python into the distribution (Daniel Richard G),<br/>
-    Fix compiler warnings of wincecompat.c (Patrick Gansterer),<br/>
-    Fix non __GNUC__ build (Patrick Gansterer),<br/>
-    Fix windows unicode build (Patrick Gansterer),<br/>
-    clean redefinition of {v}snprintf in C-source (Roumen Petrov),<br/>
-    use xmlBuf... if DEBUG_INPUT is defined (Roumen Petrov),<br/>
-    fix runtests to use pthreads support for various Unix platforms (Daniel Richard G),<br/>
-    Various "make distcheck" and portability fixups 2nd part (Daniel Richard G),<br/>
-    Various "make distcheck" and portability fixups (Daniel Richard G),<br/>
-    Fix compilation on older Visual Studio (Daniel Veillard)<br/>
-  </li>
-
-  <li> Bug Fixes:<br/>
-    Change the XPath code to percolate allocation errors (Daniel Veillard),<br/>
-    Fix reuse of xmlInitParser (Daniel Veillard),<br/>
-    Fix potential crash on entities errors (Daniel Veillard),<br/>
-    initialize var (Rob Richards),<br/>
-    Fix the XPath arity check to also check the XPath stack limits (Daniel Veillard),<br/>
-    Fix problem with specific and generic error handlers (Pietro Cerutti),<br/>
-    Avoid a potential infinite recursion (Daniel Veillard),<br/>
-    Fix an XSD error when generating internal automata (Daniel Veillard),<br/>
-    Patch for xinclude of text using multibyte characters (Vitaly Ostanin),<br/>
-    Fix a segfault on XSD validation on pattern error (Daniel Veillard),<br/>
-    Fix missing xmlsave.h module which was ignored in recent builds (Daniel Veillard),<br/>
-    Add a missing element check (Daniel Veillard),<br/>
-    Adding various checks on node type though the API (Daniel Veillard),<br/>
-    Namespace nodes can't be unlinked with xmlUnlinkNode (Daniel Veillard),<br/>
-    Fix make dist to include new private header files (Daniel Veillard),<br/>
-    More fixups on the push parser behaviour (Daniel Veillard),<br/>
-    Strengthen behaviour of the push parser in problematic situations (Daniel Veillard),<br/>
-    Enforce XML_PARSER_EOF state handling through the parser (Daniel Veillard),<br/>
-    Fixup limits parser (Daniel Veillard),<br/>
-    Do not fetch external parsed entities (Daniel Veillard),<br/>
-    Fix an error in previous commit (Aron Xu),<br/>
-    Fix entities local buffers size problems (Daniel Veillard),<br/>
-    Fix parser local buffers size problems (Daniel Veillard),<br/>
-    Fix a failure to report xmlreader parsing failures (Daniel Veillard)<br/>
-  </li>
-
-  <li> Improvements:<br/>
-    Keep libxml2.syms when running "make distclean" (Daniel Veillard),<br/>
-    Allow to set the quoting character of an xmlWriter (Csaba Raduly),<br/>
-    Keep non-significant blanks node in HTML parser (Daniel Veillard),<br/>
-    Add a forbidden variable error number and message to XPath (Daniel Veillard),<br/>
-    Support long path names on WNT (Michael Stahl),<br/>
-    Improve HTML escaping of attribute on output (Daniel Veillard),<br/>
-    Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors (Arfrever Frehtes Taifersar Arahesis),<br/>
-    Switching XPath node sorting to Timsort (Vojtech Fried),<br/>
-    Optimizing '//' in XPath expressions (Nick Wellnhofer),<br/>
-    Expose xmlBufShrink in the public tree API (Daniel Veillard),<br/>
-    Visible HTML elements close the head tag (Conrad Irwin),<br/>
-    Fix file and line report for XSD SAX and reader streaming validation (Daniel Veillard),<br/>
-    Fix const qualifyer to definition of xmlBufferDetach (Daniel Veillard),<br/>
-    minimize use of HAVE_CONFIG_H (Roumen Petrov),<br/>
-    fixup regression in Various "make distcheck" and portability fixups (Roumen Petrov),<br/>
-    Add support for big line numbers in error reporting (Daniel Veillard),<br/>
-    Avoid using xmlBuffer for serialization (Daniel Veillard),<br/>
-    Improve compatibility between xmlBuf and xmlBuffer (Daniel Veillard),<br/>
-    Provide new accessors for xmlOutputBuffer (Daniel Veillard),<br/>
-    Improvements for old buffer compatibility (Daniel Veillard),<br/>
-    Expand the limit test program (Daniel Veillard),<br/>
-    Improve error reporting on parser errors (Daniel Veillard),<br/>
-    Implement some default limits in the XPath module (Daniel Veillard),<br/>
-    Introduce some default parser limits (Daniel Veillard),<br/>
-    Cleanups and new limit APIs for dictionaries (Daniel Veillard),<br/>
-    Fixup for buf.c (Daniel Veillard),<br/>
-    Cleanup URI module memory allocation code (Daniel Veillard),<br/>
-    Extend testlimits (Daniel Veillard),<br/>
-    More avoid quadratic behaviour (Daniel Veillard),<br/>
-    Impose a reasonable limit on PI size (Daniel Veillard),<br/>
-    first version of testlimits new test (Daniel Veillard),<br/>
-    Avoid quadratic behaviour in some push parsing cases (Daniel Veillard),<br/>
-    Impose a reasonable limit on comment size (Daniel Veillard),<br/>
-    Impose a reasonable limit on attribute size (Daniel Veillard),<br/>
-    Harden the buffer code and make it more compatible (Daniel Veillard),<br/>
-    More cleanups for input/buffers code (Daniel Veillard),<br/>
-    Cleanup function xmlBufResetInput(),<br/> to set input from Buffer (Daniel Veillard)
-    Switch the test program for characters to new input buffers (Daniel Veillard),<br/>
-    Convert the HTML tree module to the new buffers (Daniel Veillard),<br/>
-    Convert of the HTML parser to new input buffers (Daniel Veillard),<br/>
-    Convert the writer to new output buffer and save APIs (Daniel Veillard),<br/>
-    Convert XMLReader to the new input buffers (Daniel Veillard),<br/>
-    New saving functions using xmlBuf and conversion (Daniel Veillard),<br/>
-    Provide new xmlBuf based saving functions (Daniel Veillard),<br/>
-    Convert XInclude to the new input buffers (Daniel Veillard),<br/>
-    Convert catalog code to the new input buffers (Daniel Veillard),<br/>
-    Convert C14N to the new Input buffer (Daniel Veillard),<br/>
-    Convert xmlIO.c to the new input and output buffers (Daniel Veillard),<br/>
-    Convert XML parser to the new input buffers (Daniel Veillard),<br/>
-    Incompatible change to the Input and Output buffers (Daniel Veillard),<br/>
-    Adding new encoding function to deal with the new structures (Daniel Veillard),<br/>
-    Convert XPath to xmlBuf (Daniel Veillard),<br/>
-    Adding a new buf module for buffers (Daniel Veillard),<br/>
-    Memory error within SAX2 reuse common framework (Daniel Veillard),<br/>
-    Fix xmllint --xpath node initialization (Daniel Veillard)<br/>
-  </li>
-
-  <li> Cleanups:<br/>
-    Various cleanups to avoid compiler warnings (Daniel Veillard),<br/>
-    Big space and tab cleanup (Daniel Veillard),<br/>
-    Followup to LibXML2 docs/examples cleanup patch (Daniel Veillard),<br/>
-    Second round of cleanups for LibXML2 docs/examples (Daniel Richard),<br/>
-    Remove all .cvsignore as they are not used anymore (Daniel Veillard),<br/>
-    Fix a Timsort function helper comment (Daniel Veillard),<br/>
-    Small cleanup for valgrind target (Daniel Veillard),<br/>
-    Patch for portability of latin characters in C files (Daniel Veillard),<br/>
-    Cleanup some of the parser code (Daniel Veillard),<br/>
-    Fix a variable name in comment (Daniel Veillard),<br/>
-    Regenerated testapi.c (Daniel Veillard),<br/>
-    Regenerating docs and API files (Daniel Veillard),<br/>
-    Small cleanup of unused variables in test (Daniel Veillard),<br/>
-    Expand .gitignore with more files (Daniel Veillard)<br/>
-  </li>
-</ul>
-<h3>2.8.0: May 23 2012</h3>
-<ul>
-  <li>Features:
-  add lzma compression support (Anders F Bjorklund)
-  </li>
-
-  <li>Documentation:
-    xmlcatalog: Add uri and delegateURI to possible add types in man page. (Ville Skyttä),
-    Update README.tests (Daniel Veillard),
-    URI handling code is not OOM resilient (Daniel Veillard),
-    Fix an error in comment (Daniel Veillard),
-    Fixed bug #617016 (Daniel Mustieles),
-    Fixed two typos in the README document (Daniel Neel),
-    add generated html files (Anders F Bjorklund),
-    Clarify the need to use xmlFreeNode after xmlUnlinkNode (Daniel Veillard),
-    Improve documentation a bit (Daniel Veillard),
-    Updated URL for lxml python bindings (Daniel Veillard)
-  </li>
-
-  <li>Portability:
-    Restore code for Windows compilation (Daniel Veillard),
-    Remove git error message during configure (Christian Dywan),
-    xmllint: Build fix for endTimer if !defined(HAVE_GETTIMEOFDAY) (Patrick R. Gansterer),
-    remove a bashism in confgure.in (John Hein),
-    undef ERROR if already defined (Patrick R. Gansterer),
-    Fix library problems with mingw-w64 (Michael Cronenworth),
-    fix windows build. ifdef addition from bug 666491 makes no sense (Rob Richards),
-    prefer native threads on win32 (Sam Thursfield),
-    Allow to compile with Visual Studio 2010 (Thomas Lemm),
-    Fix mingw's snprintf configure check (Andoni Morales),
-    fixed a 64bit big endian issue (Marcus Meissner),
-    Fix portability failure if netdb.h lacks NO_ADDRESS (Daniel Veillard),
-    Fix windows build from lzma addition (Rob Richards),
-    autogen: Only check for libtoolize (Colin Walters),
-    Fix the Windows build files (Patrick von Reth),
-    634846 Remove a linking option breaking Windows VC10 (Daniel Veillard),
-    599241 fix an initialization problem on Win64 (Andrew W. Nosenko),
-    fix win build (Rob Richards)
-  </li>
-
-  <li>Bug fixes:
-    Part for rand_r checking missing (Daniel Veillard),
-    Cleanup on randomization (Daniel Veillard),
-    Fix undefined reference in python module (Pacho Ramos),
-    Fix a race in xmlNewInputStream (Daniel Veillard),
-    Fix weird streaming RelaxNG errors (Noam),
-    Fix various bugs in new code raised by the API checking (Daniel Veillard),
-    Fix various problems with "make dist" (Daniel Veillard),
-    Fix a memory leak in the xzlib code (Daniel Veillard),
-    HTML parser error with &lt;noscript&gt; in the &lt;head&gt; (Denis Pauk),
-    XSD: optional element in complex type extension (Remi Gacogne),
-    Fix html serialization error and htmlSetMetaEncoding() (Daniel Veillard),
-    Fix a wrong return value in previous patch (Daniel Veillard),
-    Fix an uninitialized variable use (Daniel Veillard),
-    Fix a compilation problem with --minimum (Brandon Slack),
-    Remove redundant and ungarded include of resolv.h (Daniel Veillard),
-    xinclude with parse="text" does not use the entity loader (Shaun McCance),
-    Allow to parse 1 byte HTML files (Denis Pauk),
-    Patch that fixes the skipping of the HTML_PARSE_NOIMPLIED flag (Martin Schröder),
-    Avoid memory leak if xmlParserInputBufferCreateIO fails (Lin Yi-Li),
-    Prevent an infinite loop when dumping a node with encoding problems (Timothy Elliott),
-    xmlParseNodeInContext problems with an empty document (Tim Elliott),
-    HTML element position is not detected properly (Pavel Andrejs),
-    Fix an off by one pointer access (Jüri Aedla),
-    Try to fix a problem with entities in SAX mode (Daniel Veillard),
-    Fix a crash with xmllint --path on empty results (Daniel Veillard),
-    Fixed bug #667946 (Daniel Mustieles),
-    Fix a logic error in Schemas Component Constraints (Ryan Sleevi),
-    Fix a wrong enum type use in Schemas Types (Nico Weber),
-    Fix SAX2 builder in case of undefined attributes namespace (Daniel Veillard),
-    Fix SAX2 builder in case of undefined element namespaces (Daniel Veillard),
-    fix reference to STDOUT_FILENO on MSVC (Tay Ray Chuan),
-    fix a pair of possible out of array char references (Daniel Veillard),
-    Fix an allocation error when copying entities (Daniel Veillard),
-    Make sure the parser returns when getting a Stop order (Chris Evans),
-    Fix some potential problems on reallocation failures(parser.c) (Xia Xinfeng),
-    Fix a schema type duration comparison overflow (Daniel Veillard),
-    Fix an unimplemented part in RNG value validation (Daniel Veillard),
-    Fix missing error status in XPath evaluation (Daniel Veillard),
-    Hardening of XPath evaluation (Daniel Veillard),
-    Fix an off by one error in encoding (Daniel Veillard),
-    Fix RELAX NG include bug #655288 (Shaun McCance),
-    Fix XSD validation bug #630130 (Toyoda Eizi),
-    Fix some potential problems on reallocation failures (Chris Evans),
-    __xmlRaiseError: fix use of the structured callback channel (Dmitry V. Levin),
-    __xmlRaiseError: fix the structured callback channel's data initialization (Dmitry V. Levin),
-    Fix memory corruption when xmlParseBalancedChunkMemoryInternal is called from xmlParseBalancedChunk (Rob Richards),
-    Small fix for previous commit (Daniel Veillard),
-    Fix a potential freeing error in XPath (Daniel Veillard),
-    Fix a potential memory access error (Daniel Veillard),
-    Reactivate the shared library versioning script (Daniel Veillard)
-  </li>
-
-  <li>Improvements:
-    use mingw C99 compatible functions {v}snprintf instead those from MSVC runtime (Roumen Petrov),
-    New symbols added for the next release (Daniel Veillard),
-    xmlTextReader bails too quickly on error (Andy Lutomirski),
-    Use a hybrid allocation scheme in xmlNodeSetContent (Conrad Irwin),
-    Use buffers when constructing string node lists. (Conrad Irwin),
-    Add HTML parser support for HTML5 meta charset encoding declaration (Denis Pauk),
-    wrong message for double hyphen in comment XML error (Bryan Henderson),
-    Fix "make tst" to grab lzma lib too (Daniel Veillard),
-    Add "whereis" command to xmllint shell (Ryan),
-    Improve xmllint shell (Ryan),
-    add function xmlTextReaderRelaxNGValidateCtxt() (Noam Postavsky),
-    Add --system support to autogen.sh (Daniel Veillard),
-    Add hash randomization to hash and dict structures (Daniel Veillard),
-    included xzlib in dist (Anders F Bjorklund),
-    move xz/lzma helpers to separate included files (Anders F Bjorklund),
-    add generated devhelp files (Anders F Bjorklund),
-    add XML_WITH_LZMA to api (Anders F Bjorklund),
-    autogen.sh: Honor NOCONFIGURE environment variable (Colin Walters),
-    Improve the error report on undefined REFs (Daniel Veillard),
-    Add exception for new W3C PI xml-model (Daniel Veillard),
-    Add options to ignore the internal encoding (Daniel Veillard),
-    testapi: use the right type for the check (Stefan Kost),
-    various: handle return values of write calls (Stefan Kost),
-    testWriter: xmlTextWriterWriteFormatElement wants an int instead of a long int (Stefan Kost),
-    runxmlconf: update to latest testsuite version (Stefan Kost),
-    configure: add -Wno-long-long to CFLAGS (Stefan Kost),
-    configure: support silent automake rules if possible (Stefan Kost),
-    xmlmemory: add a cast as size_t has no portable printf modifier (Stefan Kost),
-    __xmlRaiseError: remove redundant schannel initialization (Dmitry V. Levin),
-    __xmlRaiseError: do cheap code check early (Dmitry V. Levin)
-  </li>
-
-  <li>Cleanups:
-    Cleanups before 2.8.0-rc2 (Daniel Veillard),
-    Avoid an extra operation (Daniel Veillard),
-    Remove vestigial de-ANSI-fication support. (Javier Jardón),
-    autogen.sh: Fix typo (Javier Jardón),
-    Do not use unsigned but unsigned int (Daniel Veillard),
-    Remove two references to u_short (Daniel Veillard),
-    Fix -Wempty-body warning from clang (Nico Weber),
-    Cleanups of lzma support (Daniel Veillard),
-    Augment the list of ignored files (Daniel Veillard),
-    python: remove unused variable (Stefan Kost),
-    python: flag two unused args (Stefan Kost),
-    configure: acconfig.h is deprecated since autoconf-2.50 (Stefan Kost),
-    xpath: remove unused variable (Stefan Kost)
-  </li>
-</ul>
-<h3>2.7.8: Nov 4 2010</h3>
-<ul>
-  <li> Features:
-    480323 add code to plug in ICU converters by default (Giuseppe Iuculano),
-    Add xmlSaveOption XML_SAVE_WSNONSIG (Adam Spragg)
-  </li>
-  <li> Documentation:
-    Fix devhelp documentation installation (Mike Hommey),
-    Fix web site encoding problems (Daniel Veillard),
-    Fix a couple of typo in HTML parser error messages (Michael Day),
-    Forgot to update the news page for 0.7.7 (Daniel Veillard)
-  </li>
-  <li> Portability:
-    607273 Fix python detection on MSys/Windows (LRN),
-    614087 Fix Socket API usage to allow Windows64 compilation (Ozkan Sezer),
-    Fix compilation with Clang (Koop Mast),
-    Fix Win32 build (Rob Richards)
-  </li>
-  <li> Bug Fixes:
-    595789 fix a remaining potential Solaris problem (Daniel Veillard),
-    617468 fix progressive HTML parsing with style using "'" (Denis Pauk),
-    616478 Fix xmllint shell write command (Gwenn Kahz),
-    614005 Possible erroneous HTML parsing on unterminated script (Pierre Belzile),
-    627987 Fix XSD IDC errors in imported schemas (Jim Panetta),
-    629325 XPath rounding errors first cleanup (Phil Shafer),
-    630140 fix iso995x encoding error (Daniel Veillard),
-    make sure htmlCtxtReset do reset the disableSAX field (Daniel Veillard),
-    Fix a change of semantic on XPath preceding and following axis (Daniel Veillard),
-    Fix a potential segfault due to weak symbols on pthreads (Mike Hommey),
-    Fix a leak in XPath compilation (Daniel Veillard),
-    Fix the semantic of XPath axis for namespace/attribute context nodes (Daniel Veillard),
-    Avoid a descriptor leak in catalog loading code (Carlo Bramini),
-    Fix a small bug in XPath evaluation code (Marius Wachtler),
-    Fix handling of XML-1.0 XML namespace declaration (Daniel Veillard),
-    Fix errors in XSD double validation check (Csaba Raduly),
-    Fix handling of apos in URIs (Daniel Veillard),
-    xmlTextReaderReadOuterXml should handle DTD (Rob Richards),
-    Autogen.sh needs to create m4 directory (Rob Richards)
-  </li>
-  <li> Improvements:
-    606592 update language ID parser to RFC 5646 (Daniel Veillard),
-    Sort python generated stubs (Mike Hommey),
-    Add an HTML parser option to avoid a default doctype (Daniel Veillard)
-  </li>
-  <li> Cleanups:
-    618831 don't ship generated files in git (Adrian Bunk),
-    Switch from the obsolete mkinstalldirs to AC_PROG_MKDIR_P (Adrian Bunk),
-    Various cleanups on encoding handling (Daniel Veillard),
-    Fix xmllint to use format=1 for default formatting (Adam Spragg),
-    Force _xmlSaveCtxt.format to be 0 or 1 (Adam Spragg),
-    Cleanup encoding pointer comparison (Nikolay Sivov),
-    Small code cleanup on previous patch (Daniel Veillard)
-  </li>
-</ul>
-<h3>2.7.7: Mar 15 2010</h3>
-<ul>
-  <li> Improvements:
-    Adding a --xpath option to xmllint (Daniel Veillard),
-    Make HTML parser non-recursive (Eugene Pimenov)
-  </li>
-  <li> Portability:
-    relaxng.c: cast to allow compilation with sun studio 11 (Ben Walton),
-    Fix build failure on Sparc solaris (Roumen Petrov),
-    use autoreconf in autogen.sh (Daniel Veillard),
-    Fix build with mingw (Roumen Petrov),
-    Upgrade some of the configure and autogen (Daniel Veillard),
-    Fix relaxNG tests in runtest for Windows runtest.c: initialize ret (Rob Richards),
-    Fix a const warning in xmlNodeSetBase (Martin Trappel),
-    Fix python generator to not use deprecated xmllib (Daniel Veillard),
-    Update some automake files (Daniel Veillard),
-    598785 Fix nanohttp on Windows (spadix)
-  </li>
-  <li> Bug Fixes:
-    libxml violates the zlib interface and crashes (Mark Adler),
-    Fix broken escape behaviour in regexp ranges (Daniel Veillard),
-    Fix  missing win32 libraries in libxml-2.0.pc (Volker Grabsch),
-    Fix detection of python linker flags (Daniel Macks),
-    fix build error in libxml2/python (Paul Smith),
-    ChunkParser: Incorrect decoding of small xml files (Raul Hudea),
-    htmlCheckEncoding doesn't update input-end after shrink (Eugene Pimenov),
-    Fix a missing #ifdef (Daniel Veillard),
-    Fix encoding selection for xmlParseInNodeContext (Daniel Veillard),
-    xmlPreviousElementSibling mistake (François Delyon),
-    608773 add a missing check in xmlGROW (Daniel Veillard),
-    Fix xmlParseInNodeContext for HTML content (Daniel Veillard),
-    Fix lost namespace when copying node * tree.c: reconcile namespace if not found (Rob Richards),
-    Fix some missing commas in HTML element lists (Eugene Pimenov),
-    Correct variable type to unsigned (Nikolay Sivov),
-    Recognize ID attribute in HTML without DOCTYPE (Daniel Veillard),
-    Fix memory leak in xmlXPathEvalExpression() (Martin),
-    Fix an init bug in global.c (Kai Henning),
-    Fix xmlNodeSetBase() comment (Daniel Veillard),
-    Fix broken escape behaviour in regexp ranges (Daniel Veillard),
-    Don't give default HTML boolean attribute values in parser (Daniel Veillard),
-    xmlCtxtResetLastError should reset ctxt-errNo (Daniel Veillard)
-  </li>
-  <li> Cleanups:
-    Cleanup a couple of weirdness in HTML parser (Eugene Pimenov)
-  </li>
-</ul>
-<h3>2.7.6: Oct  6 2009</h3>
-<ul>
-  <li> Bug Fixes:
-     Restore thread support in default configuration (Andrew W. Nosenko),
-     URI with no path parsing problem (Daniel Veillard),
-     Minor patch for conditional defines in threads.c (Eric Zurcher)
-  </li>
-</ul>
-<h3>2.7.5: Sep 24 2009</h3>
-<ul>
-  <li> Bug Fixes:
-    Restore behavior of --with-threads without argument (Andrew W. Nosenko),
-    Fix memory leak when doc is NULL (Rob Richards),
-    595792 fixing a RelaxNG bug introduced in 2.7.4 (Daniel Veillard),
-    Fix a Relaxng bug raised by libvirt test suite (Daniel Veillard),
-    Fix a parsing problem with little data at startup (Daniel Veillard),
-    link python module with python library (Frederic Crozat),
-    594874 Forgot an fclose in xmllint (Daniel Veillard)
-  </li>
-  <li> Cleanup:
-    Adding symbols.xml to EXTRA_DIST (Daniel Veillard)
-  </li>
-</ul>
-<h3>2.7.4: Sep 10 2009</h3>
-<ul>
-  <li>Improvements:
-    Switch to GIT (GNOME),
-    Add symbol versioning to libxml2 shared libs (Daniel Veillard)
-  </li>
-  <li>Portability:
-    593857 try to work around thread pbm MinGW 4.4 (Daniel Veillard),
-    594250 rename ATTRIBUTE_ALLOC_SIZE to avoid clashes (Daniel Veillard),
-    Fix Windows build * relaxng.c: fix windows build (Rob Richards),
-    Fix the globals.h to use XMLPUBFUN (Paul Smith),
-    Problem with extern extern in header (Daniel Veillard),
-    Add -lnetwork for compiling on Haiku (Scott McCreary),
-    Runtest portability patch for Solaris (Tim Rice),
-    Small patch to accommodate the Haiku OS (Scott McCreary),
-    584605 package VxWorks folder in the distribution (Daniel Veillard),
-    574017 Realloc too expensive on most platform (Daniel Veillard),
-    Fix windows build (Rob Richards),
-    545579 doesn't compile without schema support (Daniel Veillard),
-    xmllint use xmlGetNodePath when not compiled in (Daniel Veillard),
-    Try to avoid __imp__xmlFree link trouble on msys (Daniel Veillard),
-    Allow to select the threading system on Windows (LRN),
-    Fix Solaris binary links, cleanups (Daniel Veillard),
-    Bug 571059 – MSVC doesn't work with the bakefile (Intron),
-    fix ATTRIBUTE_PRINTF header clash (Belgabor and Mike Hommey),
-    fixes for Borland/CodeGear/Embarcadero compilers (Eric Zurcher)
-  </li>
-  <li>Documentation:
-    544910 typo: "renciliateNs" (Leonid Evdokimov),
-    Add VxWorks to list of OSes (Daniel Veillard),
-    Regenerate the documentation and update for git (Daniel Veillard),
-    560524 ¿ xmlTextReaderLocalName description (Daniel Veillard),
-    Added sponsoring by AOE media for the server (Daniel Veillard),
-    updated URLs for GNOME (Vincent Lefevre),
-    more warnings about xmlCleanupThreads and xmlCleanupParser (Daniel Veillard)
-  </li>
-  <li>Bug fixes:
-    594514 memory leaks - duplicate initialization (MOD),
-    Wrong block opening in htmlNodeDumpOutputInternal (Daniel Veillard),
-    492317 Fix  Relax-NG validation problems (Daniel Veillard),
-    558452 fight with reg test and error report (Daniel Veillard),
-    558452 RNG compilation of optional multiple child (Daniel Veillard),
-    579746 XSD validation not correct / nilable groups (Daniel Veillard),
-    502960 provide namespace stack when parsing entity (Daniel Veillard),
-    566012 part 2 fix regression tests and push mode (Daniel Veillard),
-    566012 autodetected encoding and encoding conflict (Daniel Veillard),
-    584220 xpointer(/) and xinclude problems (Daniel Veillard),
-    587663 Incorrect Attribute-Value Normalization (Daniel Veillard),
-    444994 HTML chunked failure for attribute with &lt;&gt; (Daniel Veillard),
-    Fix end of buffer char being split in XML parser (Daniel Veillard),
-    Non ASCII character may be split at buffer end (Adiel Mittmann),
-    440226 Add xmlXIncludeProcessTreeFlagsData API (Stefan Behnel),
-    572129 speed up parsing of large HTML text nodes (Markus Kull),
-    Fix HTML parsing with 0 character in CDATA (Daniel Veillard),
-    Fix SetGenericErrorFunc and SetStructured clash (Wang Lam),
-    566012  Incomplete EBCDIC parsing support (Martin Kogler),
-    541335 HTML avoid creating 2 head or 2 body element (Daniel Veillard),
-    541237 error correcting missing end tags in HTML (Daniel Veillard),
-    583439 missing line numbers in push mode (Daniel Veillard),
-    587867 xmllint --html --xmlout serializing as HTML (Daniel Veillard),
-    559501 avoid select and use poll for nanohttp (Raphael Prevost),
-    559410 -  Regexp bug on (...)? constructs (Daniel Veillard),
-    Fix a small problem on previous HTML parser patch (Daniel Veillard),
-    592430 -  HTML parser runs into endless loop (Daniel Veillard),
-    447899 potential double free in xmlFreeTextReader (Daniel Veillard),
-    446613 small validation bug mixed content with NS (Daniel Veillard),
-    Fix the problem of revalidating a doc with RNG (Daniel Veillard),
-    Fix xmlKeepBlanksDefault to not break indent (Nick Wellnhofer),
-    512131 refs from externalRef part need to be added (Daniel Veillard),
-    512131 crash in xmlRelaxNGValidateFullElement (Daniel Veillard),
-    588441 allow '.' in HTML Names even if invalid (Daniel Veillard),
-    582913 Fix htmlSetMetaEncoding() to be nicer (Daniel Veillard),
-    579317 Try to find the HTML encoding information (Daniel Veillard),
-    575875 don't output charset=html (Daniel Veillard),
-    571271 fix semantic of xsd:all with minOccurs=0 (Daniel Veillard),
-    570702 fix a bug in regexp determinism checking (Daniel Veillard),
-    567619 xmlValidateNotationUse missing param test (Daniel Veillard),
-    574393 ¿ utf-8 filename magic for compressed files (Hans Breuer),
-    Fix a couple of problems in the parser (Daniel Veillard),
-    585505 ¿ Document ids and refs populated by XSD (Wayne Jensen),
-    582906 XSD validating multiple imports of the same schema (Jason Childs),
-    Bug 582887 ¿ problems validating complex schemas (Jason Childs),
-    Bug 579729 ¿ fix XSD schemas parsing crash (Miroslav Bajtos),
-    576368 ¿ htmlChunkParser with special attributes (Jiri Netolicky),
-    Bug 565747 ¿ relax anyURI data character checking (Vincent Lefevre),
-    Preserve attributes of include start on tree copy (Petr Pajas),
-    Skip silently unrecognized XPointer schemes (Jakub Wilk),
-    Fix leak on SAX1, xmllint --sax1 option and debug (Daniel Veillard),
-    potential NULL dereference on non-glibc (Jim Meyering),
-    Fix an XSD validation crash (Daniel Veillard),
-    Fix a regression in streaming entities support (Daniel Veillard),
-    Fix a couple of ABI issues with C14N 1.1 (Aleksey Sanin),
-    Aleksey Sanin support for c14n 1.1 (Aleksey Sanin),
-    reader bug fix with entities (Daniel Veillard),
-    use options from current parser ctxt for external entities (Rob Richards),
-    581612 use %s to printf strings (Christian Persch),
-    584605 change the threading initialization sequence (Igor Novoseltsev),
-    580705 keep line numbers in HTML parser (Aaron Patterson),
-    581803 broken HTML table attributes init (Roland Steiner),
-    do not set error code in xmlNsWarn (Rob Richards),
-    564217 fix structured error handling problems,
-    reuse options from current parser for entities (Rob Richards),
-    xmlXPathRegisterNs should not allow enpty prefixes (Daniel Veillard),
-    add a missing check in xmlAddSibling (Kris Breuker),
-    avoid leaks on errors (Jinmei Tatuya)
-  </li>
-  <li>Cleanup:
-    Chasing dead assignments reported by clang-scan (Daniel Veillard),
-    A few more safety cleanup raised by scan (Daniel Veillard),
-    Fixing assorted potential problems raised by scan (Daniel Veillard),
-    Potential uninitialized arguments raised by scan (Daniel Veillard),
-    Fix a bunch of scan 'dead increments' and cleanup (Daniel Veillard),
-    Remove a pedantic warning (Daniel Veillard),
-    555833 always use rm -f in uninstall-local (Daniel Veillard),
-    542394 xmlRegisterOutputCallbacks MAX_INPUT_CALLBACK (Daniel Veillard),
-    Autoregenerate libxml2.syms automated checkings (Daniel Veillard),
-    Make xmlRecoverDoc const (Martin Trappel) (Daniel Veillard),
-    Both args of xmlStrcasestr are const (Daniel Veillard),
-    hide the nbParse* variables used for debugging (Mike Hommey),
-    570806 changed include of config.h (William M. Brack),
-    cleanups and error reports when xmlTextWriterVSprintf fails (Jinmei Tatuya)
-  </li>
-</ul>
-<h3>2.7.3: Jan 18 2009</h3>
-<ul>
-  <li>Build fix: fix build when HTML support is not included.</li>
-  <li>Bug fixes: avoid memory overflow in gigantic text nodes,
-      indentation problem on the writed (Rob Richards),
-      xmlAddChildList pointer problem (Rob Richards and Kevin Milburn),
-      xmlAddChild problem with attribute (Rob Richards and Kris Breuker),
-      avoid a memory leak in an edge case (Daniel Zimmermann),
-      deallocate some pthread data (Alex Ott).</li>
-  <li>Improvements: configure option to avoid rebuilding docs (Adrian Bunk),
-      limit text nodes to 10MB max by default, add element traversal
-      APIs, add a parser option to enable pre 2.7 SAX behavior (Rob Richards),
-      add gcc malloc checking (Marcus Meissner), add gcc printf like functions
-      parameters checking (Marcus Meissner).</li>
-</ul>
-<h3>2.7.2: Oct 3 2008</h3>
-<ul>
-    <li>Portability fix: fix solaris compilation problem, fix compilation
-        if XPath is not configured in</li>
-    <li>Bug fixes: nasty entity bug introduced in 2.7.0, restore old behaviour
-        when saving an HTML doc with an xml dump function, HTML UTF-8 parsing
-        bug, fix reader custom error handlers (Riccardo Scussat)
-    <li>Improvement: xmlSave options for more flexibility to save as
-        XML/HTML/XHTML, handle leading BOM in HTML documents</li>
-</ul>
-
-<h3>2.7.1: Sep 1 2008</h3>
-<ul>
-    <li>Portability fix: Borland C fix (Moritz Both)</li>
-    <li>Bug fixes: python serialization wrappers, XPath QName corner
-        case handking and leaks (Martin)</li>
-    <li>Improvement: extend the xmlSave to handle HTML documents and trees</li>
-    <li>Cleanup: python serialization wrappers</li>
-</ul>
-
-<h3>2.7.0: Aug 30 2008</h3>
-<ul>
-  <li>Documentation: switch ChangeLog to UTF-8, improve mutithreads and
-      xmlParserCleanup docs</li>
-  <li>Portability fixes: Older Win32 platforms (Rob Richards), MSVC
-      porting fix (Rob Richards), Mac OS X regression tests (Sven Herzberg),
-      non GNUCC builds (Rob Richards), compilation on Haiku (Andreas Färber)
-      </li>
-  <li>Bug fixes: various realloc problems (Ashwin), potential double-free
-      (Ashwin), regexp crash, icrash with invalid whitespace facets (Rob
-      Richards), pattern fix when streaming (William Brack), various XML
-      parsing and validation fixes based on the W3C regression tests, reader
-      tree skipping function fix (Ashwin), Schemas regexps escaping fix
-      (Volker Grabsch), handling of entity push errors (Ashwin), fix a slowdown
-      when encoder can't serialize characters on output</li>
-  <li>Code cleanup: compilation fix without the reader, without the output
-      (Robert Schwebel), python whitespace (Martin), many space/tabs cleanups,
-      serious cleanup of the entity handling code</li>
-  <li>Improvement: switch parser to XML-1.0 5th edition, add parsing flags
-      for old versions, switch URI parsing to RFC 3986,
-      add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer),
-      new hashing functions for dictionaries (based on Stefan Behnel work),
-      improve handling of misplaced html/head/body in HTML parser, better
-      regression test tools and code coverage display, better algorithms
-      to detect various versions of the billion laughts attacks, make
-      arbitrary parser limits avoidable as a parser option</li>
-</ul>
-<h3>2.6.32: Apr 8 2008</h3>
-<ul>
-  <li>Documentation: returning heap memory to kernel (Wolfram Sang),
-      trying to clarify xmlCleanupParser() use, xmlXPathContext improvement
-      (Jack Jansen), improve the *Recover* functions documentation,
-      XmlNodeType doc link fix (Martijn Arts)</li>
-  <li>Bug fixes: internal subset memory leak (Ashwin), avoid problem with
-      paths starting with // (Petr Sumbera), streaming XSD validation callback
-      patches (Ashwin), fix redirection on port other than 80 (William Brack),
-      SAX2 leak (Ashwin), XInclude fragment of own document (Chris Ryan),
-      regexp bug with '.' (Andrew Tosh), flush the writer at the end of the
-      document (Alfred Mickautsch), output I/O bug fix (William Brack),
-      writer CDATA output after a text node (Alex Khesin), UTF-16 encoding
-      detection (William Brack), fix handling of empty CDATA nodes for Safari
-      team, python binding problem with namespace nodes, improve HTML parsing
-      (Arnold Hendriks), regexp automata build bug, memory leak fix (Vasily
-      Chekalkin), XSD test crash, weird system parameter entity parsing problem,
-      allow save to file:///X:/ windows paths, various attribute normalisation
-      problems, externalSubsetSplit fix (Ashwin), attribute redefinition in
-      the DTD (Ashwin), fix in char ref parsing check (Alex Khesin), many
-      out of memory handling fixes (Ashwin), XPath out of memory handling fixes
-      (Alvaro Herrera), various realloc problems (Ashwin), UCS4 encoding
-      conversion buffer size (Christian Fruth), problems with EatName
-      functions on memory errors, BOM handling in external parsed entities
-      (Mark Rowe)</li>
-  <li>Code cleanup: fix build under VS 2008 (David Wimsey), remove useless
-      mutex in xmlDict (Florent Guilian), Mingw32 compilation fix (Carlo
-      Bramini), Win and MacOS EOL cleanups (Florent Guiliani), iconv need
-      a const detection (Roumen Petrov), simplify xmlSetProp (Julien Charbon),
-      cross compilation fixes for Mingw (Roumen Petrov), SCO Openserver build
-      fix (Florent Guiliani), iconv uses const on Win32 (Rob Richards),
-      duplicate code removal (Ashwin), missing malloc test and error reports
-      (Ashwin), VMS makefile fix (Tycho Hilhorst)</li>
-  <li>improvements: better plug of schematron in the normal error handling
-      (Tobias Minich)</li>
-</ul>
-
-<h3>2.6.31: Jan 11 2008</h3>
-<ul>
-  <li>Security fix: missing of checks in UTF-8 parsing</li>
-  <li>Bug fixes: regexp bug, dump attribute from XHTML document, fix
-      xmlFree(NULL) to not crash in debug mode, Schematron parsing crash
-      (Rob Richards), global lock free on Windows (Marc-Antoine Ruel),
-      XSD crash due to double free (Rob Richards), indentation fix in
-      xmlTextWriterFullEndElement (Felipe Pena), error in attribute type
-      parsing if attribute redeclared, avoid crash in hash list scanner if
-      deleting elements, column counter bug fix (Christian Schmidt),
-      HTML embed element saving fix (Stefan Behnel), avoid -L/usr/lib
-      output from xml2-config (Fred Crozat), avoid an xmllint crash 
-      (Stefan Kost), don't stop HTML parsing on out of range chars.
-      </li>
-  <li>Code cleanup: fix open() call third argument, regexp cut'n paste
-      copy error, unused variable in __xmlGlobalInitMutexLock (Hannes Eder),
-      some make distcheck related fixes (John Carr)</li>
-  <li>Improvements: HTTP Header: includes port number (William Brack),
-      testURI --debug option, </li>
-</ul>
-<h3>2.6.30: Aug 23 2007</h3>
-<ul>
-  <li>Portability: Solaris crash on error handling, windows path fixes
-      (Roland Schwarz and Rob Richards), mingw build (Roland Schwarz)</li>
-  <li>Bugfixes: xmlXPathNodeSetSort problem (William Brack), leak when
-      reusing a writer for a new document (Dodji Seketeli), Schemas
-      xsi:nil handling patch (Frank Gross), relative URI build problem
-      (Patrik Fimml), crash in xmlDocFormatDump, invalid char in comment
-      detection bug, fix disparity with xmlSAXUserParseMemory, automata
-      generation for complex regexp counts problems, Schemas IDC import
-      problems (Frank Gross), xpath predicate evailation error handling
-      (William Brack)</li>
-</ul>
-<h3>2.6.29: Jun 12 2007</h3>
-<ul>
-  <li>Portability: patches from Andreas Stricke for WinCEi,
-      fix compilation warnings (William Brack), avoid warnings on Apple OS/X
-      (Wendy Doyle and Mark Rowe), Windows compilation and threading
-      improvements (Rob Richards), compilation against old Python versions,
-      new GNU tar changes (Ryan Hill)</li>
-  <li>Documentation: xmlURIUnescapeString comment, </li>
-  <li>Bugfixes: xmlBufferAdd problem (Richard Jones), 'make valgrind'
-      flag fix (Richard Jones), regexp interpretation of \,
-      htmlCreateDocParserCtxt (Jean-Daniel Dupas), configure.in
-      typo (Bjorn Reese), entity content failure, xmlListAppend() fix
-      (Georges-André Silber), XPath number serialization (William Brack),
-      nanohttp gzipped stream fix (William Brack and Alex Cornejo),
-      xmlCharEncFirstLine typo (Mark Rowe), uri bug (François Delyon),
-      XPath string value of PI nodes (William Brack), XPath node set
-      sorting bugs (William Brack), avoid outputting namespace decl
-      dups in the writer (Rob Richards), xmlCtxtReset bug, UTF-8 encoding
-      error handling, recustion on next in catalogs, fix a Relax-NG crash,
-      workaround wrong file: URIs, htmlNodeDumpFormatOutput on attributes,
-      invalid character in attribute detection bug, big comments before 
-      internal subset streaming bug, HTML parsing of attributes with : in
-      the name, IDness of name in HTML (Dagfinn I. Mannsåker) </li>
-  <li>Improvement: keep URI query parts in raw form (Richard Jones),
-      embed tag support in HTML (Michael Day) </li>
-</ul>
-
-<h3>2.6.28: Apr 17 2007</h3>
-<ul>
-  <li>Documentation: comment fixes (Markus Keim), xpath comments fixes too
-      (James Dennett)</li>
-  <li>Bug fixes: XPath bug (William Brack), HTML parser autoclose stack usage
-      (Usamah Malik), various regexp bug fixes (DV and William), path conversion
-      on Windows (Igor Zlatkovic), htmlCtxtReset fix (Michael Day), XPath
-      principal node of axis bug, HTML serialization of some codepoint
-      (Steven Rainwater), user data propagation in XInclude (Michael Day),
-      standalone and XML decl detection (Michael Day), Python id output
-      for some id, fix the big python string memory leak, URI parsing fixes
-      (Stéphane Bidoul and William), long comments parsing bug (William),
-      concurrent threads initialization (Ted Phelps), invalid char
-      in text XInclude (William), XPath memory leak (William), tab in
-      python problems (Andreas Hanke), XPath node comparison error
-      (Oleg Paraschenko), cleanup patch for reader (Julien Reichel),
-      XML Schemas attribute group (William), HTML parsing problem (William),
-      fix char 0x2d in regexps (William), regexp quantifier range with
-      min occurs of 0 (William), HTML script/style parsing (Mike Day)</li>
-  <li>Improvement: make xmlTextReaderSetup() public</li>
-  <li>Compilation and postability: fix a missing include problem (William),
-      __ss_family on AIX again (Björn Wiberg), compilation without zlib
-      (Michael Day), catalog patch for Win32 (Christian Ehrlicher),
-      Windows CE fixes (Andreas Stricke)</li>
-  <li>Various CVS to SVN infrastructure changes</li>
-</ul>
-<h3>2.6.27: Oct 25 2006</h3>
-<ul>
-  <li>Portability fixes: file names on windows (Roland Schwingel, 
-      Emelyanov Alexey), windows compile fixup (Rob Richards), 
-      AIX iconv() is apparently case sensitive</li>
-  <li>improvements: Python XPath types mapping (Nic Ferrier), XPath optimization
-      (Kasimier), add xmlXPathCompiledEvalToBoolean (Kasimier), Python node
-      equality and comparison (Andreas Pakulat), xmlXPathCollectAndTest
-      improvememt (Kasimier), expose if library was compiled with zlib 
-      support (Andrew Nosenko), cache for xmlSchemaIDCMatcher structs
-      (Kasimier), xmlTextConcat should work with comments and PIs (Rob
-      Richards), export htmlNewParserCtxt needed by Michael Day, refactoring
-      of catalog entity loaders (Michael Day), add XPointer support to 
-      python bindings (Ross Reedstrom, Brian West and Stefan Anca), 
-      try to sort out most file path to URI conversions and xmlPathToUri,
-      add --html --memory case to xmllint</li>
-  <li>building fix: fix --with-minimum (Felipe Contreras), VMS fix, 
-      const'ification of HTML parser structures (Matthias Clasen),
-      portability fix (Emelyanov Alexey), wget autodetection (Peter
-      Breitenlohner),  remove the build path recorded in the python
-      shared module, separate library flags for shared and static builds
-      (Mikhail Zabaluev), fix --with-minimum --with-sax1 builds, fix
-      --with-minimum --with-schemas builds</li>
-  <li>bug fix: xmlGetNodePath fix (Kasimier), xmlDOMWrapAdoptNode and
-      attribute (Kasimier), crash when using the recover mode, 
-      xmlXPathEvalExpr problem (Kasimier), xmlXPathCompExprAdd bug (Kasimier),
-      missing destroy in xmlFreeRMutex (Andrew Nosenko), XML Schemas fixes
-      (Kasimier), warning on entities processing, XHTML script and style
-      serialization (Kasimier), python generator for long types, bug in
-      xmlSchemaClearValidCtxt (Bertrand Fritsch), xmlSchemaXPathEvaluate
-      allocation bug (Marton Illes), error message end of line (Rob Richards),
-      fix attribute serialization in writer (Rob Richards), PHP4 DTD validation
-      crash, parser safety patch (Ben Darnell), _private context propagation
-      when parsing entities (with Michael Day), fix entities behaviour when 
-      using SAX, URI to file path fix (Mikhail Zabaluev), disappearing validity
-      context, arg error in SAX callback (Mike Hommey), fix mixed-content
-      autodetect when using --noblanks, fix xmlIOParseDTD error handling,
-      fix bug in xmlSplitQName on special Names, fix Relax-NG element content
-      validation bug, fix xmlReconciliateNs bug, fix potential attribute 
-      XML parsing bug, fix line/column accounting in XML parser, chunking bug
-      in the HTML parser on script, try to detect obviously buggy HTML
-      meta encoding indications, bugs with encoding BOM and xmlSaveDoc, 
-      HTML entities in attributes parsing, HTML minimized attribute values,
-      htmlReadDoc and htmlReadIO were broken, error handling bug in
-      xmlXPathEvalExpression (Olaf Walkowiak), fix a problem in
-      htmlCtxtUseOptions, xmlNewInputFromFile could leak (Marius Konitzer),
-      bug on misformed SSD regexps (Christopher Boumenot)
-      </li>
-  <li>documentation: warning about XML_PARSE_COMPACT (Kasimier Buchcik),
-      fix xmlXPathCastToString documentation, improve man pages for
-      xmllitn and xmlcatalog (Daniel Leidert), fixed comments of a few
-      functions</li>
-</ul>
-<h3>2.6.26: Jun 6 2006</h3>
-<ul>
-  <li>portability fixes: Python detection (Joseph Sacco), compilation
-    error(William Brack and Graham Bennett), LynxOS patch (Olli Savia)</li>
-  <li>bug fixes: encoding buffer problem, mix of code and data in
-    xmlIO.c(Kjartan Maraas), entities in XSD validation (Kasimier Buchcik),
-    variousXSD validation fixes (Kasimier), memory leak in pattern (Rob
-    Richards andKasimier), attribute with colon in name (Rob Richards), XPath
-    leak inerror reporting (Aleksey Sanin), XInclude text include of
-    selfdocument.</li>
-  <li>improvements: Xpath optimizations (Kasimier), XPath object
-    cache(Kasimier)</li>
-</ul>
-
-<h3>2.6.25: Jun 6 2006:</h3>
-
-<p>Do not use or package 2.6.25</p>
-
-<h3>2.6.24: Apr 28 2006</h3>
-<ul>
-  <li>Portability fixes: configure on Windows, testapi compile on windows
-      (Kasimier Buchcik, venkat naidu), Borland C++ 6 compile (Eric Zurcher),
-      HP-UX compiler workaround (Rick Jones), xml2-config bugfix, gcc-4.1
-      cleanups, Python detection scheme (Joseph Sacco), UTF-8 file paths on
-      Windows (Roland Schwingel).
-      </li>
-  <li>Improvements: xmlDOMWrapReconcileNamespaces xmlDOMWrapCloneNode (Kasimier
-      Buchcik), XML catalog debugging (Rick Jones), update to Unicode 4.01.</li>
-  <li>Bug fixes: xmlParseChunk() problem in 2.6.23, xmlParseInNodeContext()
-      on HTML docs, URI behaviour on Windows (Rob Richards), comment streaming
-      bug, xmlParseComment (with William Brack), regexp bug fixes (DV &amp;
-      Youri Golovanov), xmlGetNodePath on text/CDATA (Kasimier),
-      one Relax-NG interleave bug, xmllint --path and --valid,
-      XSD bugfixes (Kasimier), remove debug
-      left in Python bindings (Nic Ferrier), xmlCatalogAdd bug (Martin Cole),
-      xmlSetProp fixes (Rob Richards), HTML IDness (Rob Richards), a large
-      number of cleanups and small fixes based on Coverity reports, bug
-      in character ranges, Unicode tables const (Aivars Kalvans), schemas
-      fix (Stefan Kost), xmlRelaxNGParse error deallocation, 
-      xmlSchemaAddSchemaDoc error deallocation, error handling on unallowed
-      code point, ixmllint --nonet to never reach the net (Gary Coady),
-      line break in writer after end PI (Jason Viers). </li>
-  <li>Documentation: man pages updates and cleanups (Daniel Leidert).</li>
-  <li>New features: Relax NG structure error handlers.</li>
-</ul>
-
-<h3>2.6.23: Jan 5 2006</h3>
-<ul>
-  <li>portability fixes: Windows (Rob Richards), getaddrinfo on Windows
-    (Kolja Nowak, Rob Richards), icc warnings (Kjartan Maraas),
-    --with-minimum compilation fixes (William Brack), error case handling fix
-    on Solaris (Albert Chin), don't use 'list' as parameter name reported by
-    Samuel Diaz Garcia, more old Unices portability fixes (Albert Chin),
-    MinGW compilation (Mark Junker), HP-UX compiler warnings (Rick
-  Jones),</li>
-  <li>code cleanup: xmlReportError (Adrian Mouat), remove xmlBufferClose
-    (Geert Jansen), unreachable code (Oleksandr Kononenko), refactoring
-    parsing code (Bjorn Reese)</li>
-  <li>bug fixes: xmlBuildRelativeURI and empty path (William Brack),
-    combinatory explosion and performances in regexp code, leak in
-    xmlTextReaderReadString(), xmlStringLenDecodeEntities problem (Massimo
-    Morara), Identity Constraints bugs and a segfault (Kasimier Buchcik),
-    XPath pattern based evaluation bugs (DV &amp; Kasimier),
-    xmlSchemaContentModelDump() memory leak (Kasimier), potential leak in
-    xmlSchemaCheckCSelectorXPath(), xmlTextWriterVSprintf() misuse of
-    vsnprintf (William Brack), XHTML serialization fix (Rob Richards), CRLF
-    split problem (William), issues with non-namespaced attributes in
-    xmlAddChild() xmlAddNextSibling() and xmlAddPrevSibling() (Rob Richards),
-    HTML parsing of script, Python must not output to stdout (Nic Ferrier),
-    exclusive C14N namespace visibility (Aleksey Sanin), XSD datatype
-    totalDigits bug (Kasimier Buchcik), error handling when writing to an
-    xmlBuffer (Rob Richards), runtest schemas error not reported (Hisashi
-    Fujinaka), signed/unsigned problem in date/time code (Albert Chin), fix
-    XSI driven XSD validation (Kasimier), parsing of xs:decimal (Kasimier),
-    fix DTD writer output (Rob Richards), leak in xmlTextReaderReadInnerXml
-    (Gary Coady), regexp bug affecting schemas (Kasimier), configuration of
-    runtime debugging (Kasimier), xmlNodeBufGetContent bug on entity refs
-    (Oleksandr Kononenko), xmlRegExecPushString2 bug (Sreeni Nair),
-    compilation and build fixes (Michael Day), removed dependencies on
-    xmlSchemaValidError (Kasimier), bug with &lt;xml:foo/&gt;, more XPath
-    pattern based evaluation fixes (Kasimier)</li>
-  <li>improvements: XSD Schemas redefinitions/restrictions (Kasimier
-    Buchcik), node copy checks and fix for attribute (Rob Richards), counted
-    transition bug in regexps, ctxt-&gt;standalone = -2 to indicate no
-    standalone attribute was found, add xmlSchemaSetParserStructuredErrors()
-    (Kasimier Buchcik), add xmlTextReaderSchemaValidateCtxt() to API
-    (Kasimier), handle gzipped HTTP resources (Gary Coady), add
-    htmlDocDumpMemoryFormat. (Rob Richards),</li>
-  <li>documentation: typo (Michael Day), libxml man page (Albert Chin), save
-    function to XML buffer (Geert Jansen), small doc fix (Aron Stansvik),</li>
-</ul>
-
-<h3>2.6.22: Sep 12 2005</h3>
-<ul>
-  <li>build fixes: compile without schematron (Stéphane Bidoul)</li>
-  <li>bug fixes: xmlDebugDumpNode on namespace node (Oleg Paraschenko)i,
-    CDATA push parser bug, xmlElemDump problem with XHTML1 doc,
-    XML_FEATURE_xxx clash with expat headers renamed XML_WITH_xxx, fix some
-    output formatting for meta element (Rob Richards), script and style
-    XHTML1 serialization (David Madore), Attribute derivation fixups in XSD
-    (Kasimier Buchcik), better IDC error reports (Kasimier Buchcik)</li>
-  <li>improvements: add XML_SAVE_NO_EMPTY xmlSaveOption (Rob Richards), add
-    XML_SAVE_NO_XHTML xmlSaveOption, XML Schemas improvements preparing for
-    derive (Kasimier Buchcik).</li>
-  <li>documentation: generation of gtk-doc like docs, integration with
-    devhelp.</li>
-</ul>
-
-<h3>2.6.21: Sep 4 2005</h3>
-<ul>
-  <li>build fixes: Cygwin portability fixes (Gerrit P. Haase), calling
-    convention problems on Windows (Marcus Boerger), cleanups based on Linus'
-    sparse tool, update of win32/configure.js (Rob Richards), remove warnings
-    on Windows(Marcus Boerger), compilation without SAX1, detection of the
-    Python binary, use $GCC inestad of $CC = 'gcc' (Andrew W. Nosenko),
-    compilation/link with threads and old gcc, compile problem by C370 on
-    Z/OS,</li>
-  <li>bug fixes: http_proxy environments (Peter Breitenlohner), HTML UTF-8
-    bug (Jiri Netolicky), XPath NaN compare bug (William Brack),
-    htmlParseScript potential bug, Schemas regexp handling of spaces, Base64
-    Schemas comparisons NIST passes, automata build error xsd:all,
-    xmlGetNodePath for namespaced attributes (Alexander Pohoyda), xmlSchemas
-    foreign namespaces handling, XML Schemas facet comparison (Kupriyanov
-    Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier Buchcik), xml:
-    namespace ahndling in Schemas (Kasimier), empty model group in Schemas
-    (Kasimier), wildcard in Schemas (Kasimier), URI composition (William),
-    xs:anyType in Schemas (Kasimier), Python resolver emitting error
-    messages directly, Python xmlAttr.parent (Jakub Piotr Clapa), trying to
-    fix the file path/URI conversion, xmlTextReaderGetAttribute fix (Rob
-    Richards), xmlSchemaFreeAnnot memleak (Kasimier), HTML UTF-8
-    serialization, streaming XPath, Schemas determinism detection problem,
-    XInclude bug, Schemas context type (Dean Hill), validation fix (Derek
-    Poon), xmlTextReaderGetAttribute[Ns] namespaces (Rob Richards), Schemas
-    type fix (Kuba Nowakowski), UTF-8 parser bug, error in encoding handling,
-    xmlGetLineNo fixes, bug on entities handling, entity name extraction in
-    error handling with XInclude, text nodes in HTML body tags (Gary Coady),
-    xml:id and IDness at the treee level fixes, XPath streaming patterns
-  bugs.</li>
-  <li>improvements: structured interfaces for schemas and RNG error reports
-    (Marcus Boerger), optimization of the char data inner loop parsing
-    (thanks to Behdad Esfahbod for the idea), schematron validation though
-    not finished yet, xmlSaveOption to omit XML declaration, keyref match
-    error reports (Kasimier), formal expression handling code not plugged
-    yet, more lax mode for the HTML parser, parser XML_PARSE_COMPACT option
-    for text nodes allocation.</li>
-  <li>documentation: xmllint man page had --nonet duplicated</li>
-</ul>
-
-<h3>2.6.20: Jul 10 2005</h3>
-<ul>
-  <li>build fixes: Windows build (Rob Richards), Mingw compilation (Igor
-    Zlatkovic), Windows Makefile (Igor), gcc warnings (Kasimier and
-    andriy@google.com), use gcc weak references to pthread to avoid the
-    pthread dependency on Linux, compilation problem (Steve Nairn), compiling
-    of subset (Morten Welinder), IPv6/ss_family compilation (William Brack),
-    compilation when disabling parts of the library, standalone test
-    distribution.</li>
-  <li>bug fixes: bug in lang(), memory cleanup on errors (William Brack),
-    HTTP query strings (Aron Stansvik), memory leak in DTD (William), integer
-    overflow in XPath (William), nanoftp buffer size, pattern "." apth fixup
-    (Kasimier), leak in tree reported by Malcolm Rowe, replaceNode patch
-    (Brent Hendricks), CDATA with NULL content (Mark Vakoc), xml:base fixup
-    on XInclude (William), pattern fixes (William), attribute bug in
-    exclusive c14n (Aleksey Sanin), xml:space and xml:lang with SAX2 (Rob
-    Richards), namespace trouble in complex parsing (Malcolm Rowe), XSD type
-    QNames fixes (Kasimier), XPath streaming fixups (William), RelaxNG bug
-    (Rob Richards), Schemas for Schemas fixes (Kasimier), removal of ID (Rob
-    Richards), a small RelaxNG leak, HTML parsing in push mode bug (James
-    Bursa), failure to detect UTF-8 parsing bugs in CDATA sections,
-    areBlanks() heuristic failure, duplicate attributes in DTD bug
-  (William).</li>
-  <li>improvements: lot of work on Schemas by Kasimier Buchcik both on
-    conformance and streaming, Schemas validation messages (Kasimier Buchcik,
-    Matthew Burgess), namespace removal at the python level (Brent
-    Hendricks), Update to new Schemas regression tests from W3C/Nist
-    (Kasimier), xmlSchemaValidateFile() (Kasimier), implementation of
-    xmlTextReaderReadInnerXml and xmlTextReaderReadOuterXml (James Wert),
-    standalone test framework and programs, new DOM import APIs
-    xmlDOMWrapReconcileNamespaces() xmlDOMWrapAdoptNode() and
-    xmlDOMWrapRemoveNode(), extension of xmllint capabilities for SAX and
-    Schemas regression tests, xmlStopParser() available in pull mode too,
-    ienhancement to xmllint --shell namespaces support, Windows port of the
-    standalone testing tools (Kasimier and William),
-    xmlSchemaValidateStream() xmlSchemaSAXPlug() and xmlSchemaSAXUnplug() SAX
-    Schemas APIs, Schemas xmlReader support.</li>
-</ul>
-
-<h3>2.6.19: Apr 02 2005</h3>
-<ul>
-  <li>build fixes: drop .la from RPMs, --with-minimum build fix (William
-    Brack), use XML_SOCKLEN_T instead of SOCKLEN_T because it breaks with AIX
-    5.3 compiler, fixed elfgcchack.h generation and PLT reduction code on
-    Linux/ELF/gcc4</li>
-  <li>bug fixes: schemas type decimal fixups (William Brack), xmmlint return
-    code (Gerry Murphy), small schemas fixes (Matthew Burgess and GUY
-    Fabrice), workaround "DAV:" namespace brokenness in c14n (Aleksey Sanin),
-    segfault in Schemas (Kasimier Buchcik), Schemas attribute validation
-    (Kasimier), Prop related functions and xmlNewNodeEatName (Rob Richards),
-    HTML serialization of name attribute on a elements, Python error handlers
-    leaks and improvement (Brent Hendricks), uninitialized variable in
-    encoding code, Relax-NG validation bug, potential crash if
-    gnorableWhitespace is NULL, xmlSAXParseDoc and xmlParseDoc signatures,
-    switched back to assuming UTF-8 in case no encoding is given at
-    serialization time</li>
-  <li>improvements: lot of work on Schemas by Kasimier Buchcik on facets
-    checking and also mixed handling.</li>
-  <li></li>
-</ul>
-
-<h3>2.6.18: Mar 13 2005</h3>
-<ul>
-  <li>build fixes: warnings (Peter Breitenlohner), testapi.c generation,
-    Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed),
-    some gcc4 fixes, HP-UX portability fixes (Rick Jones).</li>
-  <li>bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and
-    xmlreader stopping on non-fatal errors, thread support for dictionaries
-    reference counting (Gary Coady), internal subset and push problem, URL
-    saved in xmlCopyDoc, various schemas bug fixes (Kasimier), Python paths
-    fixup (Stephane Bidoul), xmlGetNodePath and namespaces, xmlSetNsProp fix
-    (Mike Hommey), warning should not count as error (William Brack),
-    xmlCreatePushParser empty chunk, XInclude parser flags (William), cleanup
-    FTP and HTTP code to reuse the uri parsing and IPv6 (William),
-    xmlTextWriterStartAttributeNS fix (Rob Richards), XMLLINT_INDENT being
-    empty (William), xmlWriter bugs (Rob Richards), multithreading on Windows
-    (Rich Salz), xmlSearchNsByHref fix (Kasimier), Python binding leak (Brent
-    Hendricks), aliasing bug exposed by gcc4 on s390, xmlTextReaderNext bug
-    (Rob Richards), Schemas decimal type fixes (William Brack),
-    xmlByteConsumed static buffer (Ben Maurer).</li>
-  <li>improvement: speedup parsing comments and DTDs, dictionary support for
-    hash tables, Schemas Identity constraints (Kasimier), streaming XPath
-    subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical
-    values handling (Kasimier), add xmlTextReaderByteConsumed (Aron
-  Stansvik),</li>
-  <li>Documentation: Wiki support (Joel Reed)</li>
-</ul>
-
-<h3>2.6.17: Jan 16 2005</h3>
-<ul>
-  <li>build fixes: Windows, warnings removal (William Brack),
-    maintainer-clean dependency(William), build in a different directory
-    (William), fixing --with-minimum configure build (William), BeOS build
-    (Marcin Konicki), Python-2.4 detection (William), compilation on AIX (Dan
-    McNichol)</li>
-  <li>bug fixes: xmlTextReaderHasAttributes (Rob Richards), xmlCtxtReadFile()
-    to use the catalog(s), loop on output (William Brack), XPath memory leak,
-    ID deallocation problem (Steve Shepard), debugDumpNode crash (William),
-    warning not using error callback (William), xmlStopParser bug (William),
-    UTF-16 with BOM on DTDs (William), namespace bug on empty elements in
-    push mode (Rob Richards), line and col computations fixups (Aleksey
-    Sanin), xmlURIEscape fix (William), xmlXPathErr on bad range (William),
-    patterns with too many steps, bug in RNG choice optimization, line number
-    sometimes missing.</li>
-  <li>improvements: XSD Schemas (Kasimier Buchcik), python generator
-    (William), xmlUTF8Strpos speedup (William), unicode Python strings
-    (William), XSD error reports (Kasimier Buchcik), Python __str__ call
-    serialize().</li>
-  <li>new APIs: added xmlDictExists(), GetLineNumber and GetColumnNumber for
-    the xmlReader (Aleksey Sanin), Dynamic Shared Libraries APIs (mostly Joel
-    Reed), error extraction API from regexps, new XMLSave option for format
-    (Phil Shafer)</li>
-  <li>documentation: site improvement (John Fleck), FAQ entries
-  (William).</li>
-</ul>
-
-<h3>2.6.16: Nov 10 2004</h3>
-<ul>
-  <li>general hardening and bug fixing crossing all the API based on new
-    automated regression testing</li>
-  <li>build fix: IPv6 build and test on AIX (Dodji Seketeli)</li>
-  <li>bug fixes: problem with XML::Libxml reported by Petr Pajas,  encoding
-    conversion functions return values, UTF-8 bug affecting XPath reported by
-    Markus Bertheau, catalog problem with NULL entries (William Brack)</li>
-  <li>documentation: fix to xmllint man page, some API function description
-    were updated.</li>
-  <li>improvements: DTD validation APIs provided at the Python level (Brent
-    Hendricks)</li>
-</ul>
-
-<h3>2.6.15: Oct 27 2004</h3>
-<ul>
-  <li>security fixes on the nanoftp and nanohttp modules</li>
-  <li>build fixes: xmllint detection bug in configure, building outside the
-    source tree (Thomas Fitzsimmons)</li>
-  <li>bug fixes: HTML parser on broken ASCII chars in names (William), Python
-    paths (Malcolm Tredinnick), xmlHasNsProp and default namespace (William),
-    saving to python file objects (Malcolm Tredinnick), DTD lookup fix
-    (Malcolm), save back &lt;group&gt; in catalogs (William), tree build
-    fixes (DV and Rob Richards), Schemas memory bug, structured error handler
-    on Python 64bits, thread local memory deallocation, memory leak reported
-    by Volker Roth, xmlValidateDtd in the presence of an internal subset,
-    entities and _private problem (William), xmlBuildRelativeURI error
-    (William).</li>
-  <li>improvements: better XInclude error reports (William), tree debugging
-    module and tests, convenience functions at the Reader API (Graham
-    Bennett), add support for PI in the HTML parser.</li>
-</ul>
-
-<h3>2.6.14: Sep 29 2004</h3>
-<ul>
-  <li>build fixes: configure paths for xmllint and xsltproc, compilation
-    without HTML parser, compilation warning cleanups (William Brack &amp;
-    Malcolm Tredinnick), VMS makefile update (Craig Berry),</li>
-  <li>bug fixes: xmlGetUTF8Char (William Brack), QName properties (Kasimier
-    Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x
-    transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes
-    (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc),
-    handling of failed realloc(), out of bound array addressing in Schemas
-    date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS
-    E20 validation fix (Malcolm),</li>
-  <li>improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add
-    xmlSchemaValidateOneElement (Kasimier), Python exception hierearchy
-    (Malcolm Tredinnick), Python libxml2 driver improvement (Malcolm
-    Tredinnick), Schemas support for xsi:schemaLocation,
-    xsi:noNamespaceSchemaLocation, xsi:type (Kasimier Buchcik)</li>
-</ul>
-
-<h3>2.6.13: Aug 31 2004</h3>
-<ul>
-  <li>build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
-    Solaris compiler warning, fixing RPM BuildRequires,</li>
-  <li>fixes: DTD loading on Windows (Igor), Schemas error reports APIs
-    (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack
-    and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace
-    problem (William), Schemas hexbinary empty values, encoding error could
-    generate a serialization loop.</li>
-  <li>Improvements: Schemas validity improvements (Kasimier), added --path
-    and --load-trace options to xmllint</li>
-  <li>documentation: tutorial update (John Fleck)</li>
-</ul>
-
-<h3>2.6.12: Aug 22 2004</h3>
-<ul>
-  <li>build fixes: fix --with-minimum, elfgcchack.h fixes (Peter
-    Breitenlohner), perl path lookup (William), diff on Solaris (Albert
-    Chin), some 64bits cleanups.</li>
-  <li>Python: avoid a warning with 2.3 (William Brack), tab and space mixes
-    (William), wrapper generator fixes (William), Cygwin support (Gerrit P.
-    Haase), node wrapper fix (Marc-Antoine Parent), XML Schemas support
-    (Torkel Lyng)</li>
-  <li>Schemas: a lot of bug fixes and improvements from Kasimier Buchcik</li>
-  <li>fixes: RVT fixes (William), XPath context resets bug (William), memory
-    debug (Steve Hay), catalog white space handling (Peter Breitenlohner),
-    xmlReader state after attribute reading (William), structured error
-    handler (William), XInclude generated xml:base fixup (William), Windows
-    memory reallocation problem (Steve Hay), Out of Memory conditions
-    handling (William and Olivier Andrieu), htmlNewDoc() charset bug,
-    htmlReadMemory init (William), a posteriori validation DTD base
-    (William), notations serialization missing, xmlGetNodePath (Dodji),
-    xmlCheckUTF8 (Diego Tartara), missing line numbers on entity
-  (William)</li>
-  <li>improvements: DocBook catalog build scrip (William), xmlcatalog tool
-    (Albert Chin), xmllint --c14n option, no_proxy environment (Mike Hommey),
-    xmlParseInNodeContext() addition, extend xmllint --shell, allow XInclude
-    to not generate start/end nodes, extend xmllint --version to include CVS
-    tag (William)</li>
-  <li>documentation: web pages fixes, validity API docs fixes (William)
-    schemas API fix (Eric Haszlakiewicz), xmllint man page (John Fleck)</li>
-</ul>
-
-<h3>2.6.11: July 5 2004</h3>
-<ul>
-  <li>Schemas: a lot of changes and improvements by Kasimier Buchcik for
-    attributes, namespaces and simple types.</li>
-  <li>build fixes: --with-minimum (William Brack),  some gcc cleanup
-    (William), --with-thread-alloc (William)</li>
-  <li>portability: Windows binary package change (Igor Zlatkovic), Catalog
-    path on Windows</li>
-  <li>documentation: update to the tutorial (John Fleck), xmllint return code
-    (John Fleck), man pages (Ville Skytta),</li>
-  <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
-    William), Relax-NG name classes compares (William), XInclude duplicate
-    fallback (William), external DTD encoding detection (William), a DTD
-    validation bug (William), xmlReader Close() fix, recursive extension
-    schemas</li>
-  <li>improvements: use xmlRead* APIs in test tools (Mark Vakoc), indenting
-    save optimization, better handle IIS broken HTTP redirect  behaviour (Ian
-    Hummel), HTML parser frameset (James Bursa), libxml2-python RPM
-    dependency, XML Schemas union support (Kasimier Buchcik), warning removal
-    clanup (William), keep ChangeLog compressed when installing from RPMs</li>
-  <li>documentation: examples and xmlDocDumpMemory docs (John Fleck), new
-    example (load, xpath, modify, save), xmlCatalogDump() comments,</li>
-  <li>Windows: Borland C++ builder (Eric Zurcher), work around Microsoft
-    compiler NaN handling bug (Mark Vakoc)</li>
-</ul>
-
-<h3>2.6.8: Mar 23 2004</h3>
-<ul>
-  <li>First step of the cleanup of the serialization code and APIs</li>
-  <li>XML Schemas: mixed content (Adam Dickmeiss), QName handling fixes (Adam
-    Dickmeiss), anyURI for "" (John Belmonte)</li>
-  <li>Python: Canonicalization C14N support added (Anthony Carrico)</li>
-  <li>xmlDocCopyNode() extension (William)</li>
-  <li>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.</li>
-  <li>xmlWriter: patch for better DTD support (Alfred Mickautsch)</li>
-  <li>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), dictionary reference counting problems,
-    do not close stderr.</li>
-  <li>performance patches from Petr Pajas</li>
-  <li>Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)</li>
-  <li>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)</li>
-</ul>
-
-<h3>2.6.7: Feb 23 2004</h3>
-<ul>
-  <li>documentation: tutorial updates (John Fleck), benchmark results</li>
-  <li>xmlWriter: updates and fixes (Alfred Mickautsch, Lucas Brasilino)</li>
-  <li>XPath optimization (Petr Pajas)</li>
-  <li>DTD ID handling optimization</li>
-  <li>bugfixes: xpath number with  &gt; 19 fractional (William Brack), push
-    mode with unescaped '&gt;' characters, fix xmllint --stream --timing, fix
-    xmllint --memory --stream memory usage, xmlAttrSerializeTxtContent
-    handling NULL, trying to fix Relax-NG/Perl interface.</li>
-  <li>python: 2.3 compatibility, whitespace fixes (Malcolm Tredinnick)</li>
-  <li>Added relaxng option to xmllint --shell</li>
-</ul>
-
-<h3>2.6.6: Feb 12 2004</h3>
-<ul>
-  <li>nanohttp and nanoftp: buffer overflow error on URI parsing (Igor and
-    William) reported by Yuuichi Teranishi</li>
-  <li>bugfixes: make test and path issues, xmlWriter attribute serialization
-    (William Brack), xmlWriter indentation (William), schemas validation
-    (Eric Haszlakiewicz), XInclude dictionaries issues (William and Oleg
-    Paraschenko), XInclude empty fallback (William), HTML warnings (William),
-    XPointer in XInclude (William), Python namespace serialization,
-    isolat1ToUTF8 bound error (Alfred Mickautsch), output of parameter
-    entities in internal subset (William), internal subset bug in push mode,
-    &lt;xs:all&gt; fix (Alexey Sarytchev)</li>
-  <li>Build: fix for automake-1.8 (Alexander Winston), warnings removal
-    (Philip Ludlam), SOCKLEN_T detection fixes (Daniel Richard), fix
-    --with-minimum configuration.</li>
-  <li>XInclude: allow the 2001 namespace without warning.</li>
-  <li>Documentation: missing example/index.html (John Fleck), version
-    dependencies (John Fleck)</li>
-  <li>reader API: structured error reporting (Steve Ball)</li>
-  <li>Windows compilation: mingw, msys (Mikhail Grushinskiy), function
-    prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_
-  patch</li>
-  <li>Parsers: added xmlByteConsumed(ctxt) API to get the byte offset in
-    input.</li>
-</ul>
-
-<h3>2.6.5: Jan 25 2004</h3>
-<ul>
-  <li>Bugfixes: dictionaries for schemas (William Brack), regexp segfault
-    (William), xs:all problem (William), a number of XPointer bugfixes
-    (William), xmllint error go to stderr, DTD validation problem with
-    namespace, memory leak (William), SAX1 cleanup and minimal options fixes
-    (Mark Vadoc), parser context reset on error (Shaun McCance), XPath union
-    evaluation problem (William) , xmlReallocLoc with NULL (Aleksey Sanin),
-    XML Schemas double free (Steve Ball), XInclude with no href, argument
-    callbacks order for XPath callbacks (Frederic Peters)</li>
-  <li>Documentation: python scripts (William Brack), xslt stylesheets (John
-    Fleck), doc (Sven Zimmerman), I/O example.</li>
-  <li>Python bindings: fixes (William), enum support (Stéphane Bidoul),
-    structured error reporting (Stéphane Bidoul)</li>
-  <li>XInclude: various fixes for conformance, problem related to dictionary
-    references (William &amp; me), recursion (William)</li>
-  <li>xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred
-    Mickautsch),</li>
-  <li>xmlSchemas: normalizedString datatype (John Belmonte)</li>
-  <li>code cleanup for strings functions (William)</li>
-  <li>Windows: compiler patches (Mark Vakoc)</li>
-  <li>Parser optimizations, a few new XPath and dictionary APIs for future
-    XSLT optimizations.</li>
-</ul>
-
-<h3>2.6.4: Dec 24 2003</h3>
-<ul>
-  <li>Windows build fixes (Igor Zlatkovic)</li>
-  <li>Some serious XInclude problems reported by Oleg Paraschenko and</li>
-  <li>Unix and Makefile packaging fixes (me, William Brack,</li>
-  <li>Documentation improvements (John Fleck, William Brack), example fix
-    (Lucas Brasilino)</li>
-  <li>bugfixes: xmlTextReaderExpand() with xmlReaderWalker, XPath handling of
-    NULL strings (William Brack) , API building reader or parser from
-    filedescriptor should not close it, changed XPath sorting to be stable
-    again (William Brack), xmlGetNodePath() generating '(null)' (William
-    Brack), DTD validation and namespace bug (William Brack), XML Schemas
-    double inclusion behaviour</li>
-</ul>
-
-<h3>2.6.3: Dec 10 2003</h3>
-<ul>
-  <li>documentation updates and cleanup (DV, William Brack, John Fleck)</li>
-  <li>added a repository of examples, examples from Aleksey Sanin, Dodji
-    Seketeli, Alfred Mickautsch</li>
-  <li>Windows updates: Mark Vakoc, Igor Zlatkovic, Eric Zurcher, Mingw
-    (Kenneth Haley)</li>
-  <li>Unicode range checking (William Brack)</li>
-  <li>code cleanup (William Brack)</li>
-  <li>Python bindings: doc (John Fleck),  bug fixes</li>
-  <li>UTF-16 cleanup and BOM issues (William Brack)</li>
-  <li>bug fixes: ID and xmlReader validation, XPath (William Brack),
-    xmlWriter (Alfred Mickautsch), hash.h inclusion problem, HTML parser
-    (James Bursa), attribute defaulting and validation, some serialization
-    cleanups, XML_GET_LINE macro, memory debug when using threads (William
-    Brack), serialization of attributes and entities content, xmlWriter
-    (Daniel Schulman)</li>
-  <li>XInclude bugfix, new APIs and update to the last version including the
-    namespace change.</li>
-  <li>XML Schemas improvements: include (Robert Stepanek), import and
-    namespace handling, fixed the regression tests troubles, added examples
-    based on Eric van der Vlist book, regexp fixes</li>
-  <li>preliminary pattern support for streaming (needed for schemas
-    constraints), added xmlTextReaderPreservePattern() to collect subdocument
-    when streaming.</li>
-  <li>various fixes in the structured error handling</li>
-</ul>
-
-<h3>2.6.2: Nov 4 2003</h3>
-<ul>
-  <li>XPath context unregistration fixes</li>
-  <li>text node coalescing fixes (Mark Lilback)</li>
-  <li>API to screate a W3C Schemas from an existing document (Steve Ball)</li>
-  <li>BeOS patches (Marcin 'Shard' Konicki)</li>
-  <li>xmlStrVPrintf function added (Aleksey Sanin)</li>
-  <li>compilation fixes (Mark Vakoc)</li>
-  <li>stdin parsing fix (William Brack)</li>
-  <li>a posteriori DTD validation fixes</li>
-  <li>xmlReader bug fixes: Walker fixes, python bindings</li>
-  <li>fixed xmlStopParser() to really stop the parser and errors</li>
-  <li>always generate line numbers when using the new xmlReadxxx
-  functions</li>
-  <li>added XInclude support to the xmlReader interface</li>
-  <li>implemented XML_PARSE_NONET parser option</li>
-  <li>DocBook XSLT processing bug fixed</li>
-  <li>HTML serialization for &lt;p&gt; elements (William Brack and me)</li>
-  <li>XPointer failure in XInclude are now handled as resource errors</li>
-  <li>fixed xmllint --html to use the HTML serializer on output (added
-    --xmlout to implement the previous behaviour of saving it using the XML
-    serializer)</li>
-</ul>
-
-<h3>2.6.1: Oct 28 2003</h3>
-<ul>
-  <li>Mostly bugfixes after the big 2.6.0 changes</li>
-  <li>Unix compilation patches: libxml.m4 (Patrick Welche), warnings cleanup
-    (William Brack)</li>
-  <li>Windows compilation patches (Joachim Bauch, Stephane Bidoul, Igor
-    Zlatkovic)</li>
-  <li>xmlWriter bugfix (Alfred Mickautsch)</li>
-  <li>chvalid.[ch]: couple of fixes from Stephane Bidoul</li>
-  <li>context reset: error state reset, push parser reset (Graham
-  Bennett)</li>
-  <li>context reuse: generate errors if file is not readable</li>
-  <li>defaulted attributes for element coming from internal entities
-    (Stephane Bidoul)</li>
-  <li>Python: tab and spaces mix (William Brack)</li>
-  <li>Error handler could crash in DTD validation in 2.6.0</li>
-  <li>xmlReader: do not use the document or element _private field</li>
-  <li>testSAX.c: avoid a problem with some PIs (Massimo Morara)</li>
-  <li>general bug fixes: mandatory encoding in text decl, serializing
-    Document Fragment nodes, xmlSearchNs 2.6.0 problem (Kasimier Buchcik),
-    XPath errors not reported,  slow HTML parsing of large documents.</li>
-</ul>
-
-<h3>2.6.0: Oct 20 2003</h3>
-<ul>
-  <li>Major revision release: should be API and ABI compatible but got a lot
-    of change</li>
-  <li>Increased the library modularity, far more options can be stripped out,
-    a --with-minimum configuration will weight around 160KBytes</li>
-  <li>Use per parser and per document dictionary, allocate names and small
-    text nodes from the dictionary</li>
-  <li>Switch to a SAX2 like parser rewrote most of the XML parser core,
-    provides namespace resolution and defaulted attributes, minimize memory
-    allocations and copies, namespace checking and specific error handling,
-    immutable buffers, make predefined entities static structures, etc...</li>
-  <li>rewrote all the error handling in the library, all errors can be
-    intercepted at a structured level, with precise information
-  available.</li>
-  <li>New simpler and more generic XML and HTML parser APIs, allowing to
-    easily modify the parsing options and reuse parser context for multiple
-    consecutive documents.</li>
-  <li>Similar new APIs for the xmlReader, for options and reuse, provided new
-    functions to access content as const strings, use them for Python
-  bindings</li>
-  <li>a  lot of other smaller API improvements: xmlStrPrintf (Aleksey Sanin),
-    Walker i.e. reader on a document tree based on Alfred Mickautsch code,
-    make room in nodes for line numbers, reference counting and future PSVI
-    extensions, generation of character ranges to be checked with faster
-    algorithm (William),  xmlParserMaxDepth (Crutcher Dunnavant), buffer
-    access</li>
-  <li>New xmlWriter API provided by Alfred Mickautsch</li>
-  <li>Schemas: base64 support by Anthony Carrico</li>
-  <li>Parser&lt;-&gt;HTTP integration fix, proper processing of the Mime-Type
-    and charset information if available.</li>
-  <li>Relax-NG: bug fixes including the one reported by Martijn Faassen and
-    zeroOrMore, better error reporting.</li>
-  <li>Python bindings (Stéphane Bidoul), never use stdout for errors
-  output</li>
-  <li>Portability: all the headers have macros for export and calling
-    convention definitions (Igor Zlatkovic), VMS update (Craig A. Berry),
-    Windows: threads (Jesse Pelton), Borland compiler (Eric Zurcher,  Igor),
-    Mingw (Igor), typos (Mark Vakoc),  beta version (Stephane Bidoul),
-    warning cleanups on AIX and MIPS compilers (William Brack), BeOS (Marcin
-    'Shard' Konicki)</li>
-  <li>Documentation fixes and README (William Brack), search fix (William),
-    tutorial updates (John Fleck), namespace docs (Stefan Kost)</li>
-  <li>Bug fixes: xmlCleanupParser (Dave Beckett), threading uninitialized
-    mutexes, HTML doctype lowercase,  SAX/IO (William), compression detection
-    and restore (William), attribute declaration in DTDs (William), namespace
-    on attribute in HTML output (William), input filename (Rob Richards),
-    namespace DTD validation, xmlReplaceNode (Chris Ryland), I/O callbacks
-    (Markus Keim), CDATA serialization (Shaun McCance), xmlReader (Peter
-    Derr), high codepoint charref like &amp;#x10FFFF;, buffer access in push
-    mode (Justin Fletcher), TLS threads on Windows (Jesse Pelton), XPath bug
-    (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP
-    error handling.</li>
-  <li>xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat
-    testing,  --nodict for building without tree dictionary, --nocdata to
-    replace CDATA by text, --nsclean to remove surperfluous  namespace
-    declarations</li>
-  <li>added xml2-config --libtool-libs option from Kevin P. Fleming</li>
-  <li>a lot of profiling and tuning of the code, speedup patch for
-    xmlSearchNs() by Luca Padovani. The xmlReader should do far less
-    allocation and it speed should get closer to SAX. Chris Anderson worked
-    on speeding and cleaning up repetitive checking code.</li>
-  <li>cleanup of "make tests"</li>
-  <li>libxml-2.0-uninstalled.pc from Malcolm Tredinnick</li>
-  <li>deactivated the broken docBook SGML parser code and plugged the XML
-    parser instead.</li>
-</ul>
-
-<h3>2.5.11: Sep 9 2003</h3>
-
-<p>A bugfix only release:</p>
-<ul>
-  <li>risk of crash in Relax-NG</li>
-  <li>risk of crash when using multithreaded programs</li>
-</ul>
-
-<h3>2.5.10: Aug 15 2003</h3>
-
-<p>A bugfixes only release</p>
-<ul>
-  <li>Windows Makefiles (William Brack)</li>
-  <li>UTF-16 support fixes (Mark Itzcovitz)</li>
-  <li>Makefile and portability (William Brack) automake, Linux alpha, Mingw
-    on Windows (Mikhail Grushinskiy)</li>
-  <li>HTML parser (Oliver Stoeneberg)</li>
-  <li>XInclude performance problem reported by Kevin Ruscoe</li>
-  <li>XML parser performance problem reported by Grant Goodale</li>
-  <li>xmlSAXParseDTD() bug fix from Malcolm Tredinnick</li>
-  <li>and a couple other cleanup</li>
-</ul>
-
-<h3>2.5.9: Aug 9 2003</h3>
-<ul>
-  <li>bugfixes: IPv6 portability, xmlHasNsProp (Markus Keim), Windows build
-    (Wiliam Brake, Jesse Pelton, Igor), Schemas (Peter Sobisch), threading
-    (Rob Richards), hexBinary type (), UTF-16 BOM (Dodji Seketeli),
-    xmlReader, Relax-NG schemas compilation, namespace handling,  EXSLT (Sean
-    Griffin), HTML parsing problem (William Brack), DTD validation for mixed
-    content + namespaces, HTML serialization, library initialization,
-    progressive HTML parser</li>
-  <li>better interfaces for Relax-NG error handling (Joachim Bauch, )</li>
-  <li>adding xmlXIncludeProcessTree() for XInclud'ing in a subtree</li>
-  <li>doc fixes and improvements (John Fleck)</li>
-  <li>configure flag for -with-fexceptions when embedding in C++</li>
-  <li>couple of new UTF-8 helper functions (William Brack)</li>
-  <li>general encoding cleanup + ISO-8859-x without iconv (Peter Jacobi)</li>
-  <li>xmlTextReader cleanup + enum for node types (Bjorn Reese)</li>
-  <li>general compilation/warning cleanup Solaris/HP-UX/... (William
-  Brack)</li>
-</ul>
-
-<h3>2.5.8: Jul 6 2003</h3>
-<ul>
-  <li>bugfixes: XPath, XInclude, file/URI mapping, UTF-16 save (Mark
-    Itzcovitz), UTF-8 checking, URI saving, error printing (William Brack),
-    PI related memleak, compilation without schemas or without xpath (Joerg
-    Schmitz-Linneweber/Garry Pennington), xmlUnlinkNode problem with DTDs,
-    rpm problem on , i86_64, removed a few compilation problems from 2.5.7,
-    xmlIOParseDTD, and xmlSAXParseDTD (Malcolm Tredinnick)</li>
-  <li>portability: DJGPP (MsDos) , OpenVMS (Craig A. Berry)</li>
-  <li>William Brack fixed multithreading lock problems</li>
-  <li>IPv6 patch for FTP and HTTP accesses (Archana Shah/Wipro)</li>
-  <li>Windows fixes (Igor Zlatkovic,  Eric Zurcher), threading (Stéphane
-    Bidoul)</li>
-  <li>A few W3C Schemas Structure improvements</li>
-  <li>W3C Schemas Datatype improvements (Charlie Bozeman)</li>
-  <li>Python bindings for thread globals (Stéphane Bidoul), and method/class
-    generator</li>
-  <li>added --nonet option to xmllint</li>
-  <li>documentation improvements (John Fleck)</li>
-</ul>
-
-<h3>2.5.7: Apr 25 2003</h3>
-<ul>
-  <li>Relax-NG: Compiling to regexp and streaming validation on top of the
-    xmlReader interface, added to xmllint --stream</li>
-  <li>xmlReader: Expand(), Next() and DOM access glue, bug fixes</li>
-  <li>Support for large files: RGN validated a 4.5GB instance</li>
-  <li>Thread support is now configured in by default</li>
-  <li>Fixes: update of the Trio code (Bjorn), WXS Date and Duration fixes
-    (Charles Bozeman), DTD and namespaces (Brent Hendricks), HTML push parser
-    and zero bytes handling, some missing Windows file path conversions,
-    behaviour of the parser and validator in the presence of "out of memory"
-    error conditions</li>
-  <li>extended the API to be able to plug a garbage collecting memory
-    allocator, added xmlMallocAtomic() and modified the allocations
-    accordingly.</li>
-  <li>Performances: removed excessive malloc() calls, speedup of the push and
-    xmlReader interfaces, removed excessive thread locking</li>
-  <li>Documentation: man page (John Fleck), xmlReader documentation</li>
-  <li>Python: adding binding for xmlCatalogAddLocal (Brent M Hendricks)</li>
-</ul>
-
-<h3>2.5.6: Apr 1 2003</h3>
-<ul>
-  <li>Fixed W3C XML Schemas datatype, should be compliant now except for
-    binHex and base64 which are not supported yet.</li>
-  <li>bug fixes: non-ASCII IDs, HTML output, XInclude on large docs and
-    XInclude entities handling, encoding detection on external subsets, XML
-    Schemas bugs and memory leaks, HTML parser (James Bursa)</li>
-  <li>portability: python/trio (Albert Chin), Sun compiler warnings</li>
-  <li>documentation: added --relaxng option to xmllint man page (John)</li>
-  <li>improved error reporting: xml:space, start/end tag mismatches, Relax NG
-    errors</li>
-</ul>
-
-<h3>2.5.5: Mar 24 2003</h3>
-<ul>
-  <li>Lot of fixes on the Relax NG implementation. More testing including
-    DocBook and TEI examples.</li>
-  <li>Increased the support for W3C XML Schemas datatype</li>
-  <li>Several bug fixes in the URI handling layer</li>
-  <li>Bug fixes: HTML parser, xmlReader, DTD validation, XPath, encoding
-    conversion, line counting in the parser.</li>
-  <li>Added support for $XMLLINT_INDENT environment variable, FTP delete</li>
-  <li>Fixed the RPM spec file name</li>
-</ul>
-
-<h3>2.5.4: Feb 20 2003</h3>
-<ul>
-  <li>Conformance testing and lot of fixes on Relax NG and XInclude
-    implementation</li>
-  <li>Implementation of XPointer element() scheme</li>
-  <li>Bug fixes: XML parser, XInclude entities merge, validity checking on
-    namespaces,
-    <p>2 serialization bugs, node info generation problems, a DTD regexp
-    generation problem.</p>
-  </li>
-  <li>Portability: windows updates and path canonicalization (Igor)</li>
-  <li>A few typo fixes (Kjartan Maraas)</li>
-  <li>Python bindings generator fixes (Stephane Bidoul)</li>
-</ul>
-
-<h3>2.5.3: Feb 10 2003</h3>
-<ul>
-  <li>RelaxNG and XML Schemas datatypes improvements, and added a first
-    version of RelaxNG Python bindings</li>
-  <li>Fixes: XLink (Sean Chittenden), XInclude (Sean Chittenden), API fix for
-    serializing namespace nodes, encoding conversion bug, XHTML1
-  serialization</li>
-  <li>Portability fixes: Windows (Igor), AMD 64bits RPM spec file</li>
-</ul>
-
-<h3>2.5.2: Feb 5 2003</h3>
-<ul>
-  <li>First implementation of RelaxNG, added --relaxng flag to xmllint</li>
-  <li>Schemas support now compiled in by default.</li>
-  <li>Bug fixes: DTD validation, namespace checking, XInclude and entities,
-    delegateURI in XML Catalogs, HTML parser, XML reader (Stéphane Bidoul),
-    XPath parser and evaluation,  UTF8ToUTF8 serialization, XML reader memory
-    consumption, HTML parser, HTML serialization in the presence of
-  namespaces</li>
-  <li>added an HTML API to check elements and attributes.</li>
-  <li>Documentation improvement, PDF for the tutorial (John Fleck), doc
-    patches (Stefan Kost)</li>
-  <li>Portability fixes: NetBSD (Julio Merino), Windows (Igor Zlatkovic)</li>
-  <li>Added python bindings for XPointer, contextual error reporting
-    (Stéphane Bidoul)</li>
-  <li>URI/file escaping problems (Stefano Zacchiroli)</li>
-</ul>
-
-<h3>2.5.1: Jan 8 2003</h3>
-<ul>
-  <li>Fixes a memory leak and configuration/compilation problems in 2.5.0</li>
-  <li>documentation updates (John)</li>
-  <li>a couple of XmlTextReader fixes</li>
-</ul>
-
-<h3>2.5.0: Jan 6 2003</h3>
-<ul>
-  <li>New <a href="xmlreader.html">XmltextReader interface</a> based on C#
-    API (with help of Stéphane Bidoul)</li>
-  <li>Windows: more exports, including the new API (Igor)</li>
-  <li>XInclude fallback fix</li>
-  <li>Python: bindings for the new API, packaging (Stéphane Bidoul),
-    drv_libxml2.py Python xml.sax driver (Stéphane Bidoul), fixes, speedup
-    and iterators for Python-2.2 (Hannu Krosing)</li>
-  <li>Tutorial fixes (john Fleck and Niraj Tolia) xmllint man update
-  (John)</li>
-  <li>Fix an XML parser bug raised by Vyacheslav Pindyura</li>
-  <li>Fix for VMS serialization (Nigel Hall) and config (Craig A. Berry)</li>
-  <li>Entities handling fixes</li>
-  <li>new API to optionally track node creation and deletion (Lukas
-  Schroeder)</li>
-  <li>Added documentation for the XmltextReader interface and some <a
-    href="guidelines.html">XML guidelines</a></li>
-</ul>
-
-<h3>2.4.30: Dec 12 2002</h3>
-<ul>
-  <li>2.4.29 broke the python bindings, rereleasing</li>
-  <li>Improvement/fixes of the XML API generator, and couple of minor code
-    fixes.</li>
-</ul>
-
-<h3>2.4.29: Dec 11 2002</h3>
-<ul>
-  <li>Windows fixes (Igor): Windows CE port, pthread linking, python bindings
-    (Stéphane Bidoul), Mingw (Magnus Henoch), and export list updates</li>
-  <li>Fix for prev in python bindings (ERDI Gergo)</li>
-  <li>Fix for entities handling (Marcus Clarke)</li>
-  <li>Refactored the XML and HTML dumps to a single code path, fixed XHTML1
-    dump</li>
-  <li>Fix for URI parsing when handling URNs with fragment identifiers</li>
-  <li>Fix for HTTP URL escaping problem</li>
-  <li>added an TextXmlReader (C#) like API (work in progress)</li>
-  <li>Rewrote the API in XML generation script, includes a C parser and saves
-    more information needed for C# bindings</li>
-</ul>
-
-<h3>2.4.28: Nov 22 2002</h3>
-<ul>
-  <li>a couple of python binding fixes</li>
-  <li>2 bug fixes in the XML push parser</li>
-  <li>potential memory leak removed (Martin Stoilov)</li>
-  <li>fix to the configure script for Unix (Dimitri Papadopoulos)</li>
-  <li>added encoding support for XInclude parse="text"</li>
-  <li>autodetection of XHTML1 and specific serialization rules added</li>
-  <li>nasty threading bug fixed (William Brack)</li>
-</ul>
-
-<h3>2.4.27: Nov 17 2002</h3>
-<ul>
-  <li>fixes for the Python bindings</li>
-  <li>a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(),
-    HTML parser,  Schemas (Charles Bozeman), document fragment support
-    (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer,
-    xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr
-    Pajas), entities processing</li>
-  <li>added grep to xmllint --shell</li>
-  <li>VMS update patch from Craig A. Berry</li>
-  <li>cleanup of the Windows build with support for more compilers (Igor),
-    better thread support on Windows</li>
-  <li>cleanup of Unix Makefiles and spec file</li>
-  <li>Improvements to the documentation (John Fleck)</li>
-</ul>
-
-<h3>2.4.26: Oct 18 2002</h3>
-<ul>
-  <li>Patches for Windows CE port, improvements on Windows paths handling</li>
-  <li>Fixes to the validation  code (DTD and Schemas), xmlNodeGetPath() ,
-    HTML serialization, Namespace compliance,  and a number of small
-  problems</li>
-</ul>
-
-<h3>2.4.25: Sep 26 2002</h3>
-<ul>
-  <li>A number of bug fixes: XPath, validation, Python bindings, DOM and
-    tree, xmlI/O,  Html</li>
-  <li>Serious rewrite of XInclude</li>
-  <li>Made XML Schemas regexp part of the default build and APIs, small fix
-    and improvement of the regexp core</li>
-  <li>Changed the validation code to reuse XML Schemas regexp APIs</li>
-  <li>Better handling of Windows file paths, improvement of Makefiles (Igor,
-    Daniel Gehriger, Mark Vakoc)</li>
-  <li>Improved the python I/O bindings, the tests, added resolver and regexp
-    APIs</li>
-  <li>New logos from Marc Liyanage</li>
-  <li>Tutorial improvements: John Fleck, Christopher Harris</li>
-  <li>Makefile: Fixes for AMD x86_64 (Mandrake), DESTDIR (Christophe
-  Merlet)</li>
-  <li>removal of all stderr/perror use for error reporting</li>
-  <li>Better error reporting: XPath and DTD validation</li>
-  <li>update of the trio portability layer (Bjorn Reese)</li>
-</ul>
-
-<p><strong>2.4.24: Aug 22 2002</strong></p>
-<ul>
-  <li>XPath fixes (William), xf:escape-uri() (Wesley Terpstra)</li>
-  <li>Python binding fixes: makefiles (William), generator, rpm build, x86-64
-    (fcrozat)</li>
-  <li>HTML &lt;style&gt; and boolean attributes serializer fixes</li>
-  <li>C14N improvements by Aleksey</li>
-  <li>doc cleanups: Rick Jones</li>
-  <li>Windows compiler makefile updates: Igor and Elizabeth Barham</li>
-  <li>XInclude: implementation of fallback and xml:base fixup added</li>
-</ul>
-
-<h3>2.4.23: July 6 2002</h3>
-<ul>
-  <li>performances patches: Peter Jacobi</li>
-  <li>c14n fixes, testsuite and performances: Aleksey Sanin</li>
-  <li>added xmlDocFormatDump: Chema Celorio</li>
-  <li>new tutorial: John Fleck</li>
-  <li>new hash functions and performances: Sander Vesik, portability fix from
-    Peter Jacobi</li>
-  <li>a number of bug fixes: XPath (William Brack, Richard Jinks), XML and
-    HTML parsers, ID lookup function</li>
-  <li>removal of all remaining sprintf: Aleksey Sanin</li>
-</ul>
-
-<h3>2.4.22: May 27 2002</h3>
-<ul>
-  <li>a number of bug fixes: configure scripts, base handling, parser, memory
-    usage, HTML parser, XPath, documentation (Christian Cornelssen),
-    indentation, URI parsing</li>
-  <li>Optimizations for XMLSec, fixing and making public some of the network
-    protocol handlers (Aleksey)</li>
-  <li>performance patch from Gary Pennington</li>
-  <li>Charles Bozeman provided date and time support for XML Schemas
-  datatypes</li>
-</ul>
-
-<h3>2.4.21: Apr 29 2002</h3>
-
-<p>This release is both a bug fix release and also contains the early XML
-Schemas <a href="http://www.w3.org/TR/xmlschema-1/">structures</a> and <a
-href="http://www.w3.org/TR/xmlschema-2/">datatypes</a> code, beware, all
-interfaces are likely to change, there is huge holes, it is clearly a work in
-progress and don't even think of putting this code in a production system,
-it's actually not compiled in by default. The real fixes are:
-</p>
-
-<ul>
-  <li>a couple of bugs or limitations introduced in 2.4.20</li>
-  <li>patches for Borland C++ and MSC by Igor</li>
-  <li>some fixes on XPath strings and conformance patches by Richard
-  Jinks</li>
-  <li>patch from Aleksey for the ExcC14N specification</li>
-  <li>OSF/1 bug fix by Bjorn</li>
-</ul>
-
-<h3>2.4.20: Apr 15 2002</h3>
-<ul>
-  <li>bug fixes: file descriptor leak, XPath, HTML output, DTD validation</li>
-  <li>XPath conformance testing by Richard Jinks</li>
-  <li>Portability fixes: Solaris, MPE/iX, Windows, OSF/1, python bindings,
-    libxml.m4</li>
-</ul>
-
-<h3>2.4.19: Mar 25 2002</h3>
-<ul>
-  <li>bug fixes: half a dozen XPath bugs, Validation, ISO-Latin to UTF8
-    encoder</li>
-  <li>portability fixes in the HTTP code</li>
-  <li>memory allocation checks using valgrind, and profiling tests</li>
-  <li>revamp of the Windows build and Makefiles</li>
-</ul>
-
-<h3>2.4.18: Mar 18 2002</h3>
-<ul>
-  <li>bug fixes: tree, SAX, canonicalization, validation, portability,
-  XPath</li>
-  <li>removed the --with-buffer option it was becoming unmaintainable</li>
-  <li>serious cleanup of the Python makefiles</li>
-  <li>speedup patch to XPath very effective for DocBook stylesheets</li>
-  <li>Fixes for Windows build, cleanup of the documentation</li>
-</ul>
-
-<h3>2.4.17: Mar 8 2002</h3>
-<ul>
-  <li>a lot of bug fixes, including "namespace nodes have no parents in
-  XPath"</li>
-  <li>fixed/improved the Python wrappers, added more examples and more
-    regression tests, XPath extension functions can now return node-sets</li>
-  <li>added the XML Canonicalization support from Aleksey Sanin</li>
-</ul>
-
-<h3>2.4.16: Feb 20 2002</h3>
-<ul>
-  <li>a lot of bug fixes, most of them were triggered by the XML Testsuite
-    from OASIS and W3C. Compliance has been significantly improved.</li>
-  <li>a couple of portability fixes too.</li>
-</ul>
-
-<h3>2.4.15: Feb 11 2002</h3>
-<ul>
-  <li>Fixed the Makefiles, especially the python module ones</li>
-  <li>A few bug fixes and cleanup</li>
-  <li>Includes cleanup</li>
-</ul>
-
-<h3>2.4.14: Feb 8 2002</h3>
-<ul>
-  <li>Change of License to the <a
-    href="http://www.opensource.org/licenses/mit-license.html">MIT
-    License</a> basically for integration in XFree86 codebase, and removing
-    confusion around the previous dual-licensing</li>
-  <li>added Python bindings, beta software but should already be quite
-    complete</li>
-  <li>a large number of fixes and cleanups, especially for all tree
-    manipulations</li>
-  <li>cleanup of the headers, generation of a reference API definition in
-  XML</li>
-</ul>
-
-<h3>2.4.13: Jan 14 2002</h3>
-<ul>
-  <li>update of the documentation: John Fleck and Charlie Bozeman</li>
-  <li>cleanup of timing code from Justin Fletcher</li>
-  <li>fixes for Windows and initial thread support on Win32: Igor and Serguei
-    Narojnyi</li>
-  <li>Cygwin patch from Robert Collins</li>
-  <li>added xmlSetEntityReferenceFunc() for Keith Isdale work on xsldbg</li>
-</ul>
-
-<h3>2.4.12: Dec 7 2001</h3>
-<ul>
-  <li>a few bug fixes: thread (Gary Pennington), xmllint (Geert Kloosterman),
-    XML parser (Robin Berjon), XPointer (Danny Jamshy), I/O cleanups
-  (robert)</li>
-  <li>Eric Lavigne contributed project files for MacOS</li>
-  <li>some makefiles cleanups</li>
-</ul>
-
-<h3>2.4.11: Nov 26 2001</h3>
-<ul>
-  <li>fixed a couple of errors in the includes, fixed a few bugs, some code
-    cleanups</li>
-  <li>xmllint man pages improvement by Heiko Rupp</li>
-  <li>updated VMS build instructions from John A Fotheringham</li>
-  <li>Windows Makefiles updates from Igor</li>
-</ul>
-
-<h3>2.4.10: Nov 10 2001</h3>
-<ul>
-  <li>URI escaping fix (Joel Young)</li>
-  <li>added xmlGetNodePath() (for paths or XPointers generation)</li>
-  <li>Fixes namespace handling problems when using DTD and validation</li>
-  <li>improvements on xmllint: Morus Walter patches for --format and
-    --encode, Stefan Kost and Heiko Rupp improvements on the --shell</li>
-  <li>fixes for xmlcatalog linking pointed by Weiqi Gao</li>
-  <li>fixes to the HTML parser</li>
-</ul>
-
-<h3>2.4.9: Nov 6 2001</h3>
-<ul>
-  <li>fixes more catalog bugs</li>
-  <li>avoid a compilation problem, improve xmlGetLineNo()</li>
-</ul>
-
-<h3>2.4.8: Nov 4 2001</h3>
-<ul>
-  <li>fixed SGML catalogs broken in previous release, updated xmlcatalog
-  tool</li>
-  <li>fixed a compile errors and some includes troubles.</li>
-</ul>
-
-<h3>2.4.7: Oct 30 2001</h3>
-<ul>
-  <li>exported some debugging interfaces</li>
-  <li>serious rewrite of the catalog code</li>
-  <li>integrated Gary Pennington thread safety patch, added configure option
-    and regression tests</li>
-  <li>removed an HTML parser bug</li>
-  <li>fixed a couple of potentially serious validation bugs</li>
-  <li>integrated the SGML DocBook support in xmllint</li>
-  <li>changed the nanoftp anonymous login passwd</li>
-  <li>some I/O cleanup and a couple of interfaces for Perl wrapper</li>
-  <li>general bug fixes</li>
-  <li>updated xmllint man page by John Fleck</li>
-  <li>some VMS and Windows updates</li>
-</ul>
-
-<h3>2.4.6: Oct 10 2001</h3>
-<ul>
-  <li>added an updated man pages by John Fleck</li>
-  <li>portability and configure fixes</li>
-  <li>an infinite loop on the HTML parser was removed (William)</li>
-  <li>Windows makefile patches from Igor</li>
-  <li>fixed half a dozen bugs reported for libxml or libxslt</li>
-  <li>updated xmlcatalog to be able to modify SGML super catalogs</li>
-</ul>
-
-<h3>2.4.5: Sep 14 2001</h3>
-<ul>
-  <li>Remove a few annoying bugs in 2.4.4</li>
-  <li>forces the HTML serializer to output decimal charrefs since some
-    version of Netscape can't handle hexadecimal ones</li>
-</ul>
-
-<h3>1.8.16: Sep 14 2001</h3>
-<ul>
-  <li>maintenance release of the old libxml1 branch, couple of bug and
-    portability fixes</li>
-</ul>
-
-<h3>2.4.4: Sep 12 2001</h3>
-<ul>
-  <li>added --convert to xmlcatalog, bug fixes and cleanups of XML
-  Catalog</li>
-  <li>a few bug fixes and some portability changes</li>
-  <li>some documentation cleanups</li>
-</ul>
-
-<h3>2.4.3:  Aug 23 2001</h3>
-<ul>
-  <li>XML Catalog support see the doc</li>
-  <li>New NaN/Infinity floating point code</li>
-  <li>A few bug fixes</li>
-</ul>
-
-<h3>2.4.2:  Aug 15 2001</h3>
-<ul>
-  <li>adds xmlLineNumbersDefault() to control line number generation</li>
-  <li>lot of bug fixes</li>
-  <li>the Microsoft MSC projects files should now be up to date</li>
-  <li>inheritance of namespaces from DTD defaulted attributes</li>
-  <li>fixes a serious potential security bug</li>
-  <li>added a --format option to xmllint</li>
-</ul>
-
-<h3>2.4.1:  July 24 2001</h3>
-<ul>
-  <li>possibility to keep line numbers in the tree</li>
-  <li>some computation NaN fixes</li>
-  <li>extension of the XPath API</li>
-  <li>cleanup for alpha and ia64 targets</li>
-  <li>patch to allow saving through HTTP PUT or POST</li>
-</ul>
-
-<h3>2.4.0: July 10 2001</h3>
-<ul>
-  <li>Fixed a few bugs in XPath, validation, and tree handling.</li>
-  <li>Fixed XML Base implementation, added a couple of examples to the
-    regression tests</li>
-  <li>A bit of cleanup</li>
-</ul>
-
-<h3>2.3.14: July 5 2001</h3>
-<ul>
-  <li>fixed some entities problems and reduce memory requirement when
-    substituting them</li>
-  <li>lots of improvements in the XPath queries interpreter can be
-    substantially faster</li>
-  <li>Makefiles and configure cleanups</li>
-  <li>Fixes to XPath variable eval, and compare on empty node set</li>
-  <li>HTML tag closing bug fixed</li>
-  <li>Fixed an URI reference computation problem when validating</li>
-</ul>
-
-<h3>2.3.13: June 28 2001</h3>
-<ul>
-  <li>2.3.12 configure.in was broken as well as the push mode XML parser</li>
-  <li>a few more fixes for compilation on Windows MSC by Yon Derek</li>
-</ul>
-
-<h3>1.8.14: June 28 2001</h3>
-<ul>
-  <li>Zbigniew Chyla gave a patch to use the old XML parser in push mode</li>
-  <li>Small Makefile fix</li>
-</ul>
-
-<h3>2.3.12: June 26 2001</h3>
-<ul>
-  <li>lots of cleanup</li>
-  <li>a couple of validation fix</li>
-  <li>fixed line number counting</li>
-  <li>fixed serious problems in the XInclude processing</li>
-  <li>added support for UTF8 BOM at beginning of entities</li>
-  <li>fixed a strange gcc optimizer bugs in xpath handling of float, gcc-3.0
-    miscompile uri.c (William), Thomas Leitner provided a fix for the
-    optimizer on Tru64</li>
-  <li>incorporated Yon Derek and Igor Zlatkovic  fixes and improvements for
-    compilation on Windows MSC</li>
-  <li>update of libxml-doc.el (Felix Natter)</li>
-  <li>fixed 2 bugs in URI normalization code</li>
-</ul>
-
-<h3>2.3.11: June 17 2001</h3>
-<ul>
-  <li>updates to trio, Makefiles and configure should fix some portability
-    problems (alpha)</li>
-  <li>fixed some HTML serialization problems (pre, script, and block/inline
-    handling), added encoding aware APIs, cleanup of this code</li>
-  <li>added xmlHasNsProp()</li>
-  <li>implemented a specific PI for encoding support in the DocBook SGML
-    parser</li>
-  <li>some XPath fixes (-Infinity, / as a function parameter and namespaces
-    node selection)</li>
-  <li>fixed a performance problem and an error in the validation code</li>
-  <li>fixed XInclude routine to implement the recursive behaviour</li>
-  <li>fixed xmlFreeNode problem when libxml is included statically twice</li>
-  <li>added --version to xmllint for bug reports</li>
-</ul>
-
-<h3>2.3.10: June 1 2001</h3>
-<ul>
-  <li>fixed the SGML catalog support</li>
-  <li>a number of reported bugs got fixed, in XPath, iconv detection,
-    XInclude processing</li>
-  <li>XPath string function should now handle unicode correctly</li>
-</ul>
-
-<h3>2.3.9: May 19 2001</h3>
-
-<p>Lots of bugfixes, and added a basic SGML catalog support:
-</p>
-<ul>
-  <li>HTML push bugfix #54891 and another patch from Jonas Borgstrom</li>
-  <li>some serious speed optimization again</li>
-  <li>some documentation cleanups</li>
-  <li>trying to get better linking on Solaris (-R)</li>
-  <li>XPath API cleanup from Thomas Broyer</li>
-  <li>Validation bug fixed #54631, added a patch from Gary Pennington, fixed
-    xmlValidGetValidElements()</li>
-  <li>Added an INSTALL file</li>
-  <li>Attribute removal added to API: #54433</li>
-  <li>added a basic support for SGML catalogs</li>
-  <li>fixed xmlKeepBlanksDefault(0) API</li>
-  <li>bugfix in xmlNodeGetLang()</li>
-  <li>fixed a small configure portability problem</li>
-  <li>fixed an inversion of SYSTEM and PUBLIC identifier in HTML document</li>
-</ul>
-
-<h3>1.8.13: May 14 2001</h3>
-<ul>
-  <li>bugfixes release of the old libxml1 branch used by Gnome</li>
-</ul>
-
-<h3>2.3.8: May 3 2001</h3>
-<ul>
-  <li>Integrated an SGML DocBook parser for the Gnome project</li>
-  <li>Fixed a few things in the HTML parser</li>
-  <li>Fixed some XPath bugs raised by XSLT use, tried to fix the floating
-    point portability issue</li>
-  <li>Speed improvement (8M/s for SAX, 3M/s for DOM, 1.5M/s for
-    DOM+validation using the XML REC as input and a 700MHz celeron).</li>
-  <li>incorporated more Windows cleanup</li>
-  <li>added xmlSaveFormatFile()</li>
-  <li>fixed problems in copying nodes with entities references (gdome)</li>
-  <li>removed some troubles surrounding the new validation module</li>
-</ul>
-
-<h3>2.3.7: April 22 2001</h3>
-<ul>
-  <li>lots of small bug fixes, corrected XPointer</li>
-  <li>Non deterministic content model validation support</li>
-  <li>added xmlDocCopyNode for gdome2</li>
-  <li>revamped the way the HTML parser handles end of tags</li>
-  <li>XPath: corrections of namespaces support and number formatting</li>
-  <li>Windows: Igor Zlatkovic patches for MSC compilation</li>
-  <li>HTML output fixes from P C Chow and William M. Brack</li>
-  <li>Improved validation speed sensible for DocBook</li>
-  <li>fixed a big bug with ID declared in external parsed entities</li>
-  <li>portability fixes, update of Trio from Bjorn Reese</li>
-</ul>
-
-<h3>2.3.6: April 8 2001</h3>
-<ul>
-  <li>Code cleanup using extreme gcc compiler warning options, found and
-    cleared half a dozen potential problem</li>
-  <li>the Eazel team found an XML parser bug</li>
-  <li>cleaned up the user of some of the string formatting function. used the
-    trio library code to provide the one needed when the platform is missing
-    them</li>
-  <li>xpath: removed a memory leak and fixed the predicate evaluation
-    problem, extended the testsuite and cleaned up the result. XPointer seems
-    broken ...</li>
-</ul>
-
-<h3>2.3.5: Mar 23 2001</h3>
-<ul>
-  <li>Biggest change is separate parsing and evaluation of XPath expressions,
-    there is some new APIs for this too</li>
-  <li>included a number of bug fixes(XML push parser, 51876, notations,
-  52299)</li>
-  <li>Fixed some portability issues</li>
-</ul>
-
-<h3>2.3.4: Mar 10 2001</h3>
-<ul>
-  <li>Fixed bugs #51860 and #51861</li>
-  <li>Added a global variable xmlDefaultBufferSize to allow default buffer
-    size to be application tunable.</li>
-  <li>Some cleanup in the validation code, still a bug left and this part
-    should probably be rewritten to support ambiguous content model :-\</li>
-  <li>Fix a couple of serious bugs introduced or raised by changes in 2.3.3
-    parser</li>
-  <li>Fixed another bug in xmlNodeGetContent()</li>
-  <li>Bjorn fixed XPath node collection and Number formatting</li>
-  <li>Fixed a loop reported in the HTML parsing</li>
-  <li>blank space are reported even if the Dtd content model proves that they
-    are formatting spaces, this is for XML conformance</li>
-</ul>
-
-<h3>2.3.3: Mar 1 2001</h3>
-<ul>
-  <li>small change in XPath for XSLT</li>
-  <li>documentation cleanups</li>
-  <li>fix in validation by Gary Pennington</li>
-  <li>serious parsing performances improvements</li>
-</ul>
-
-<h3>2.3.2: Feb 24 2001</h3>
-<ul>
-  <li>chasing XPath bugs, found a bunch, completed some TODO</li>
-  <li>fixed a Dtd parsing bug</li>
-  <li>fixed a bug in xmlNodeGetContent</li>
-  <li>ID/IDREF support partly rewritten by Gary Pennington</li>
-</ul>
-
-<h3>2.3.1: Feb 15 2001</h3>
-<ul>
-  <li>some XPath and HTML bug fixes for XSLT</li>
-  <li>small extension of the hash table interfaces for DOM gdome2
-    implementation</li>
-  <li>A few bug fixes</li>
-</ul>
-
-<h3>2.3.0: Feb 8 2001 (2.2.12 was on 25 Jan but I didn't kept track)</h3>
-<ul>
-  <li>Lots of XPath bug fixes</li>
-  <li>Add a mode with Dtd lookup but without validation error reporting for
-    XSLT</li>
-  <li>Add support for text node without escaping (XSLT)</li>
-  <li>bug fixes for xmlCheckFilename</li>
-  <li>validation code bug fixes from Gary Pennington</li>
-  <li>Patch from Paul D. Smith correcting URI path normalization</li>
-  <li>Patch to allow simultaneous install of libxml-devel and
-  libxml2-devel</li>
-  <li>the example Makefile is now fixed</li>
-  <li>added HTML to the RPM packages</li>
-  <li>tree copying bugfixes</li>
-  <li>updates to Windows makefiles</li>
-  <li>optimization patch from Bjorn Reese</li>
-</ul>
-
-<h3>2.2.11: Jan 4 2001</h3>
-<ul>
-  <li>bunch of bug fixes (memory I/O, xpath, ftp/http, ...)</li>
-  <li>added htmlHandleOmittedElem()</li>
-  <li>Applied Bjorn Reese's IPV6 first patch</li>
-  <li>Applied Paul D. Smith patches for validation of XInclude results</li>
-  <li>added XPointer xmlns() new scheme support</li>
-</ul>
-
-<h3>2.2.10: Nov 25 2000</h3>
-<ul>
-  <li>Fix the Windows problems of 2.2.8</li>
-  <li>integrate OpenVMS patches</li>
-  <li>better handling of some nasty HTML input</li>
-  <li>Improved the XPointer implementation</li>
-  <li>integrate a number of provided patches</li>
-</ul>
-
-<h3>2.2.9: Nov 25 2000</h3>
-<ul>
-  <li>erroneous release :-(</li>
-</ul>
-
-<h3>2.2.8: Nov 13 2000</h3>
-<ul>
-  <li>First version of <a href="http://www.w3.org/TR/xinclude">XInclude</a>
-    support</li>
-  <li>Patch in conditional section handling</li>
-  <li>updated MS compiler project</li>
-  <li>fixed some XPath problems</li>
-  <li>added an URI escaping function</li>
-  <li>some other bug fixes</li>
-</ul>
-
-<h3>2.2.7: Oct 31 2000</h3>
-<ul>
-  <li>added message redirection</li>
-  <li>XPath improvements (thanks TOM !)</li>
-  <li>xmlIOParseDTD() added</li>
-  <li>various small fixes in the HTML, URI, HTTP and XPointer support</li>
-  <li>some cleanup of the Makefile, autoconf and the distribution content</li>
-</ul>
-
-<h3>2.2.6: Oct 25 2000:</h3>
-<ul>
-  <li>Added an hash table module, migrated a number of internal structure to
-    those</li>
-  <li>Fixed a posteriori validation problems</li>
-  <li>HTTP module cleanups</li>
-  <li>HTML parser improvements (tag errors, script/style handling, attribute
-    normalization)</li>
-  <li>coalescing of adjacent text nodes</li>
-  <li>couple of XPath bug fixes, exported the internal API</li>
-</ul>
-
-<h3>2.2.5: Oct 15 2000:</h3>
-<ul>
-  <li>XPointer implementation and testsuite</li>
-  <li>Lot of XPath fixes, added variable and functions registration, more
-    tests</li>
-  <li>Portability fixes, lots of enhancements toward an easy Windows build
-    and release</li>
-  <li>Late validation fixes</li>
-  <li>Integrated a lot of contributed patches</li>
-  <li>added memory management docs</li>
-  <li>a performance problem when using large buffer seems fixed</li>
-</ul>
-
-<h3>2.2.4: Oct 1 2000:</h3>
-<ul>
-  <li>main XPath problem fixed</li>
-  <li>Integrated portability patches for Windows</li>
-  <li>Serious bug fixes on the URI and HTML code</li>
-</ul>
-
-<h3>2.2.3: Sep 17 2000</h3>
-<ul>
-  <li>bug fixes</li>
-  <li>cleanup of entity handling code</li>
-  <li>overall review of all loops in the parsers, all sprintf usage has been
-    checked too</li>
-  <li>Far better handling of larges Dtd. Validating against DocBook XML Dtd
-    works smoothly now.</li>
-</ul>
-
-<h3>1.8.10: Sep 6 2000</h3>
-<ul>
-  <li>bug fix release for some Gnome projects</li>
-</ul>
-
-<h3>2.2.2: August 12 2000</h3>
-<ul>
-  <li>mostly bug fixes</li>
-  <li>started adding routines to access xml parser context options</li>
-</ul>
-
-<h3>2.2.1: July 21 2000</h3>
-<ul>
-  <li>a purely bug fixes release</li>
-  <li>fixed an encoding support problem when parsing from a memory block</li>
-  <li>fixed a DOCTYPE parsing problem</li>
-  <li>removed a bug in the function allowing to override the memory
-    allocation routines</li>
-</ul>
-
-<h3>2.2.0: July 14 2000</h3>
-<ul>
-  <li>applied a lot of portability fixes</li>
-  <li>better encoding support/cleanup and saving (content is now always
-    encoded in UTF-8)</li>
-  <li>the HTML parser now correctly handles encodings</li>
-  <li>added xmlHasProp()</li>
-  <li>fixed a serious problem with &amp;#38;</li>
-  <li>propagated the fix to FTP client</li>
-  <li>cleanup, bugfixes, etc ...</li>
-  <li>Added a page about <a href="encoding.html">libxml Internationalization
-    support</a></li>
-</ul>
-
-<h3>1.8.9:  July 9 2000</h3>
-<ul>
-  <li>fixed the spec the RPMs should be better</li>
-  <li>fixed a serious bug in the FTP implementation, released 1.8.9 to solve
-    rpmfind users problem</li>
-</ul>
-
-<h3>2.1.1: July 1 2000</h3>
-<ul>
-  <li>fixes a couple of bugs in the 2.1.0 packaging</li>
-  <li>improvements on the HTML parser</li>
-</ul>
-
-<h3>2.1.0 and 1.8.8: June 29 2000</h3>
-<ul>
-  <li>1.8.8 is mostly a commodity package for upgrading to libxml2 according
-    to <a href="upgrade.html">new instructions</a>. It fixes a nasty problem
-    about &amp;#38; charref parsing</li>
-  <li>2.1.0 also ease the upgrade from libxml v1 to the recent version. it
-    also contains numerous fixes and enhancements:
-    <ul>
-      <li>added xmlStopParser() to stop parsing</li>
-      <li>improved a lot parsing speed when there is large CDATA blocks</li>
-      <li>includes XPath patches provided by Picdar Technology</li>
-      <li>tried to fix as much as possible DTD validation and namespace
-        related problems</li>
-      <li>output to a given encoding has been added/tested</li>
-      <li>lot of various fixes</li>
-    </ul>
-  </li>
-</ul>
-
-<h3>2.0.0: Apr 12 2000</h3>
-<ul>
-  <li>First public release of libxml2. If you are using libxml, it's a good
-    idea to check the 1.x to 2.x upgrade instructions. NOTE: while initially
-    scheduled for Apr 3 the release occurred only on Apr 12 due to massive
-    workload.</li>
-  <li>The include are now located under $prefix/include/libxml (instead of
-    $prefix/include/gnome-xml), they also are referenced by
-    <pre>#include &lt;libxml/xxx.h&gt;</pre>
-    <p>instead of</p>
-    <pre>#include "xxx.h"</pre>
-  </li>
-  <li>a new URI module for parsing URIs and following strictly RFC 2396</li>
-  <li>the memory allocation routines used by libxml can now be overloaded
-    dynamically by using xmlMemSetup()</li>
-  <li>The previously CVS only tool tester has been renamed
-    <strong>xmllint</strong> and is now installed as part of the libxml2
-    package</li>
-  <li>The I/O interface has been revamped. There is now ways to plug in
-    specific I/O modules, either at the URI scheme detection level using
-    xmlRegisterInputCallbacks()  or by passing I/O functions when creating a
-    parser context using xmlCreateIOParserCtxt()</li>
-  <li>there is a C preprocessor macro LIBXML_VERSION providing the version
-    number of the libxml module in use</li>
-  <li>a number of optional features of libxml can now be excluded at
-    configure time (FTP/HTTP/HTML/XPath/Debug)</li>
-</ul>
-
-<h3>2.0.0beta: Mar 14 2000</h3>
-<ul>
-  <li>This is a first Beta release of libxml version 2</li>
-  <li>It's available only from<a href="ftp://xmlsoft.org/libxml2/">xmlsoft.org
-    FTP</a>, it's packaged as libxml2-2.0.0beta and available as tar and
-  RPMs</li>
-  <li>This version is now the head in the Gnome CVS base, the old one is
-    available under the tag LIB_XML_1_X</li>
-  <li>This includes a very large set of changes. From a  programmatic point
-    of view applications should not have to be modified too much, check the
-    <a href="upgrade.html">upgrade page</a></li>
-  <li>Some interfaces may changes (especially a bit about encoding).</li>
-  <li>the updates includes:
-    <ul>
-      <li>fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
-        handled now</li>
-      <li>Better handling of entities, especially well-formedness checking
-        and proper PEref extensions in external subsets</li>
-      <li>DTD conditional sections</li>
-      <li>Validation now correctly handle entities content</li>
-      <li><a href="http://rpmfind.net/tools/gdome/messages/0039.html">change
-        structures to accommodate DOM</a></li>
-    </ul>
-  </li>
-  <li>Serious progress were made toward compliance, <a
-    href="conf/result.html">here are the result of the test</a> against the
-    OASIS testsuite (except the Japanese tests since I don't support that
-    encoding yet). This URL is rebuilt every couple of hours using the CVS
-    head version.</li>
-</ul>
-
-<h3>1.8.7: Mar 6 2000</h3>
-<ul>
-  <li>This is a bug fix release:</li>
-  <li>It is possible to disable the ignorable blanks heuristic used by
-    libxml-1.x, a new function  xmlKeepBlanksDefault(0) will allow this. Note
-    that for adherence to XML spec, this behaviour will be disabled by
-    default in 2.x . The same function will allow to keep compatibility for
-    old code.</li>
-  <li>Blanks in &lt;a&gt;  &lt;/a&gt; constructs are not ignored anymore,
-    avoiding heuristic is really the Right Way :-\</li>
-  <li>The unchecked use of snprintf which was breaking libxml-1.8.6
-    compilation on some platforms has been fixed</li>
-  <li>nanoftp.c nanohttp.c: Fixed '#' and '?' stripping when processing
-  URIs</li>
-</ul>
-
-<h3>1.8.6: Jan 31 2000</h3>
-<ul>
-  <li>added a nanoFTP transport module, debugged until the new version of <a
-    href="http://rpmfind.net/linux/rpm2html/rpmfind.html">rpmfind</a> can use
-    it without troubles</li>
-</ul>
-
-<h3>1.8.5: Jan 21 2000</h3>
-<ul>
-  <li>adding APIs to parse a well balanced chunk of XML (production <a
-    href="http://www.w3.org/TR/REC-xml#NT-content">[43] content</a> of the
-    XML spec)</li>
-  <li>fixed a hideous bug in xmlGetProp pointed by Rune.Djurhuus@fast.no</li>
-  <li>Jody Goldberg &lt;jgoldberg@home.com&gt; provided another patch trying
-    to solve the zlib checks problems</li>
-  <li>The current state in gnome CVS base is expected to ship as 1.8.5 with
-    gnumeric soon</li>
-</ul>
-
-<h3>1.8.4: Jan 13 2000</h3>
-<ul>
-  <li>bug fixes, reintroduced xmlNewGlobalNs(), fixed xmlNewNs()</li>
-  <li>all exit() call should have been removed from libxml</li>
-  <li>fixed a problem with INCLUDE_WINSOCK on WIN32 platform</li>
-  <li>added newDocFragment()</li>
-</ul>
-
-<h3>1.8.3: Jan 5 2000</h3>
-<ul>
-  <li>a Push interface for the XML and HTML parsers</li>
-  <li>a shell-like interface to the document tree (try tester --shell :-)</li>
-  <li>lots of bug fixes and improvement added over XMas holidays</li>
-  <li>fixed the DTD parsing code to work with the xhtml DTD</li>
-  <li>added xmlRemoveProp(), xmlRemoveID() and xmlRemoveRef()</li>
-  <li>Fixed bugs in xmlNewNs()</li>
-  <li>External entity loading code has been revamped, now it uses
-    xmlLoadExternalEntity(), some fix on entities processing were added</li>
-  <li>cleaned up WIN32 includes of socket stuff</li>
-</ul>
-
-<h3>1.8.2: Dec 21 1999</h3>
-<ul>
-  <li>I got another problem with includes and C++, I hope this issue is fixed
-    for good this time</li>
-  <li>Added a few tree modification functions: xmlReplaceNode,
-    xmlAddPrevSibling, xmlAddNextSibling, xmlNodeSetName and
-    xmlDocSetRootElement</li>
-  <li>Tried to improve the HTML output with help from <a
-    href="mailto:clahey@umich.edu">Chris Lahey</a></li>
-</ul>
-
-<h3>1.8.1: Dec 18 1999</h3>
-<ul>
-  <li>various patches to avoid troubles when using libxml with C++ compilers
-    the "namespace" keyword and C escaping in include files</li>
-  <li>a problem in one of the core macros IS_CHAR was corrected</li>
-  <li>fixed a bug introduced in 1.8.0 breaking default namespace processing,
-    and more specifically the Dia application</li>
-  <li>fixed a posteriori validation (validation after parsing, or by using a
-    Dtd not specified in the original document)</li>
-  <li>fixed a bug in</li>
-</ul>
-
-<h3>1.8.0: Dec 12 1999</h3>
-<ul>
-  <li>cleanup, especially memory wise</li>
-  <li>the parser should be more reliable, especially the HTML one, it should
-    not crash, whatever the input !</li>
-  <li>Integrated various patches, especially a speedup improvement for large
-    dataset from <a href="mailto:cnygard@bellatlantic.net">Carl Nygard</a>,
-    configure with --with-buffers to enable them.</li>
-  <li>attribute normalization, oops should have been added long ago !</li>
-  <li>attributes defaulted from DTDs should be available, xmlSetProp() now
-    does entities escaping by default.</li>
-</ul>
-
-<h3>1.7.4: Oct 25 1999</h3>
-<ul>
-  <li>Lots of HTML improvement</li>
-  <li>Fixed some errors when saving both XML and HTML</li>
-  <li>More examples, the regression tests should now look clean</li>
-  <li>Fixed a bug with contiguous charref</li>
-</ul>
-
-<h3>1.7.3: Sep 29 1999</h3>
-<ul>
-  <li>portability problems fixed</li>
-  <li>snprintf was used unconditionally, leading to link problems on system
-    were it's not available, fixed</li>
-</ul>
-
-<h3>1.7.1: Sep 24 1999</h3>
-<ul>
-  <li>The basic type for strings manipulated by libxml has been renamed in
-    1.7.1 from <strong>CHAR</strong> to <strong>xmlChar</strong>. The reason
-    is that CHAR was conflicting with a predefined type on Windows. However
-    on non WIN32 environment, compatibility is provided by the way of  a
-    <strong>#define </strong>.</li>
-  <li>Changed another error : the use of a structure field called errno, and
-    leading to troubles on platforms where it's a macro</li>
-</ul>
-
-<h3>1.7.0: Sep 23 1999</h3>
-<ul>
-  <li>Added the ability to fetch remote DTD or parsed entities, see the <a
-    href="html/libxml-nanohttp.html">nanohttp</a> module.</li>
-  <li>Added an errno to report errors by another mean than a simple printf
-    like callback</li>
-  <li>Finished ID/IDREF support and checking when validation</li>
-  <li>Serious memory leaks fixed (there is now a <a
-    href="html/libxml-xmlmemory.html">memory wrapper</a> module)</li>
-  <li>Improvement of <a href="http://www.w3.org/TR/xpath">XPath</a>
-    implementation</li>
-  <li>Added an HTML parser front-end</li>
-</ul>
-
-<h2><a name="XML">XML</a></h2>
-
-<p><a href="http://www.w3.org/TR/REC-xml">XML is a standard</a> for
-markup-based structured documents. Here is <a name="example">an example XML
-document</a>:</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;EXAMPLE prop1="gnome is great" prop2="&amp;amp; linux too"&gt;
-  &lt;head&gt;
-   &lt;title&gt;Welcome to Gnome&lt;/title&gt;
-  &lt;/head&gt;
-  &lt;chapter&gt;
-   &lt;title&gt;The Linux adventure&lt;/title&gt;
-   &lt;p&gt;bla bla bla ...&lt;/p&gt;
-   &lt;image href="linus.gif"/&gt;
-   &lt;p&gt;...&lt;/p&gt;
-  &lt;/chapter&gt;
-&lt;/EXAMPLE&gt;</pre>
-
-<p>The first line specifies that it is an XML document and gives useful
-information about its encoding.  Then the rest of the document is a text
-format whose structure is specified by tags between brackets. <strong>Each
-tag opened has to be closed</strong>. XML is pedantic about this. However, if
-a tag is empty (no content), a single tag can serve as both the opening and
-closing tag if it ends with <code>/&gt;</code> rather than with
-<code>&gt;</code>. Note that, for example, the image tag has no content (just
-an attribute) and is closed by ending the tag with <code>/&gt;</code>.</p>
-
-<p>XML can be applied successfully to a wide range of tasks, ranging from
-long term structured document maintenance (where it follows the steps of
-SGML) to simple data encoding mechanisms like configuration file formatting
-(glade), spreadsheets (gnumeric), or even shorter lived documents such as
-WebDAV where it is used to encode remote calls between a client and a
-server.</p>
-
-<h2><a name="XSLT">XSLT</a></h2>
-
-<p>Check <a href="http://xmlsoft.org/XSLT">the separate libxslt page</a></p>
-
-<p><a href="http://www.w3.org/TR/xslt">XSL Transformations</a>,  is a
-language for transforming XML documents into other XML documents (or
-HTML/textual output).</p>
-
-<p>A separate library called libxslt is available implementing XSLT-1.0 for
-libxml2. This module "libxslt" too can be found in the Gnome SVN base.</p>
-
-<p>You can check the progresses on the libxslt <a
-href="http://xmlsoft.org/XSLT/ChangeLog.html">Changelog</a>.</p>
-
-<h2><a name="Python">Python and bindings</a></h2>
-
-<p>There are a number of language bindings and wrappers available for
-libxml2, the list below is not exhaustive. Please contact the <a
-href="http://mail.gnome.org/mailman/listinfo/xml-bindings">xml-bindings@gnome.org</a>
-(<a href="http://mail.gnome.org/archives/xml-bindings/">archives</a>) in
-order to get updates to this list or to discuss the specific topic of libxml2
-or libxslt wrappers or bindings:</p>
-<ul>
-  <li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">Libxml++</a> seems the
-    most up-to-date C++ bindings for libxml2, check the <a
-    href="https://developer-old.gnome.org/libxml++/">documentation</a>
-    and the <a
-    href="https://github.com/libxmlplusplus/libxmlplusplus/tree/master/examples">examples</a>.</li>
-  <li>There is another <a href="http://libgdome-cpp.berlios.de/">C++ wrapper
-    based on the gdome2 bindings</a> maintained by Tobias Peters.</li>
-  <li>and a third C++ wrapper by Peter Jones &lt;pjones@pmade.org&gt;
-    <p>Website: <a
-    href="http://pmade.org/pjones/software/xmlwrapp/">http://pmade.org/pjones/software/xmlwrapp/</a></p>
-  </li>
-  <li>XML::LibXML <a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl
-      bindings</a> are available on CPAN, as well as XML::LibXSLT
-      <a href="http://cpan.uwinnipeg.ca/dist/XML-LibXSLT">Perl libxslt
-      bindings</a>.</li>
-  <li>If you're interested into scripting XML processing, have a look at <a
-    href="http://xsh.sourceforge.net/">XSH</a> an XML editing shell based on
-    Libxml2 Perl bindings.</li>
-  <li><a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provides an
-    earlier version of the libxml/libxslt <a
-    href="http://www.rexx.com/~dkuhlman">wrappers for Python</a>.</li>
-  <li>Gopal.V and Peter Minten develop <a
-    href="http://savannah.gnu.org/projects/libxmlsharp">libxml#</a>, a set of
-    C# libxml2 bindings.</li>
-  <li>Petr Kozelka provides <a
-    href="http://sourceforge.net/projects/libxml2-pas">Pascal units to glue
-    libxml2</a> with Kylix, Delphi and other Pascal compilers.</li>
-  <li>Uwe Fechner also provides <a
-    href="http://sourceforge.net/projects/idom2-pas/">idom2</a>, a DOM2
-    implementation for Kylix2/D5/D6 from Borland.</li>
-  <li>There is <a href="http://libxml.rubyforge.org/">bindings for Ruby</a> 
-    and libxml2 bindings are also available in Ruby through the <a
-    href="http://libgdome-ruby.berlios.de/">libgdome-ruby</a> module
-    maintained by Tobias Peters.</li>
-  <li>Steve Ball and contributors maintains <a
-    href="http://tclxml.sourceforge.net/">libxml2 and libxslt bindings for
-    Tcl</a>.</li>
-  <li>libxml2 and libxslt are the default XML libraries for PHP5.</li>
-  <li><a href="http://savannah.gnu.org/projects/classpathx/">LibxmlJ</a> is
-    an effort to create a 100% JAXP-compatible Java wrapper for libxml2 and
-    libxslt as part of GNU ClasspathX project.</li>
-  <li>Patrick McPhee provides Rexx bindings for libxml2 and libxslt, look for
-    <a href="http://www.interlog.com/~ptjm/software.html">RexxXML</a>.</li>
-  <li><a
-    href="http://www.satimage.fr/software/en/xml_suite.html">Satimage</a>
-    provides <a
-    href="http://www.satimage.fr/software/en/downloads_osaxen.html">XMLLib
-    osax</a>. This is an osax for Mac OS X with a set of commands to
-    implement in AppleScript the XML DOM, XPATH and XSLT. Also includes
-    commands for Property-lists (Apple's fast lookup table XML format.)</li>
-  <li>Francesco Montorsi developed <a
-    href="https://sourceforge.net/project/showfiles.php?group_id=51305&amp;package_id=45182">wxXml2</a>
-    wrappers that interface libxml2, allowing wxWidgets applications to
-    load/save/edit XML instances.</li>
-</ul>
-
-<p>The distribution includes a set of Python bindings, which are guaranteed
-to be maintained as part of the library in the future, though the Python
-interface have not yet reached the completeness of the C API.</p>
-
-<p>Note that some of the Python purist dislike the default set of Python
-bindings, rather than complaining I suggest they have a look at <a
-href="http://lxml.de/">lxml the more pythonic bindings for libxml2
-and libxslt</a> and <a
-href="http://lxml.de/mailinglist/">check the mailing-list</a>.</p>
-
-<p><a href="mailto:stephane.bidoul@softwareag.com">Stéphane Bidoul</a>
-maintains <a href="http://users.skynet.be/sbi/libxml-python/">a Windows port
-of the Python bindings</a>.</p>
-
-<p>Note to people interested in building bindings, the API is formalized as
-<a href="libxml2-api.xml">an XML API description file</a> which allows to
-automate a large part of the Python bindings, this includes function
-descriptions, enums, structures, typedefs, etc... The Python script used to
-build the bindings is python/generator.py in the source distribution.</p>
-
-<p>To install the Python bindings there are 2 options:</p>
-<ul>
-  <li>If you use an RPM based distribution, simply install the <a
-    href="http://rpmfind.net/linux/rpm2html/search.php?query=libxml2-python">libxml2-python
-    RPM</a> (and if needed the <a
-    href="http://rpmfind.net/linux/rpm2html/search.php?query=libxslt-python">libxslt-python
-    RPM</a>).</li>
-  <li>Otherwise use the <a href="ftp://xmlsoft.org/libxml2/python/">libxml2-python
-    module distribution</a> corresponding to your installed version of
-    libxml2 and libxslt. Note that to install it you will need both libxml2
-    and libxslt installed and run "python setup.py build install" in the
-    module tree.</li>
-</ul>
-
-<p>The distribution includes a set of examples and regression tests for the
-python bindings in the <code>python/tests</code> directory. Here are some
-excerpts from those tests:</p>
-
-<h3>tst.py:</h3>
-
-<p>This is a basic test of the file interface and DOM navigation:</p>
-<pre>import libxml2, sys
-
-doc = libxml2.parseFile("tst.xml")
-if doc.name != "tst.xml":
-    print "doc.name failed"
-    sys.exit(1)
-root = doc.children
-if root.name != "doc":
-    print "root.name failed"
-    sys.exit(1)
-child = root.children
-if child.name != "foo":
-    print "child.name failed"
-    sys.exit(1)
-doc.freeDoc()</pre>
-
-<p>The Python module is called libxml2; parseFile is the equivalent of
-xmlParseFile (most of the bindings are automatically generated, and the xml
-prefix is removed and the casing convention are kept). All node seen at the
-binding level share the same subset of accessors:</p>
-<ul>
-  <li><code>name</code> : returns the node name</li>
-  <li><code>type</code> : returns a string indicating the node type</li>
-  <li><code>content</code> : returns the content of the node, it is based on
-    xmlNodeGetContent() and hence is recursive.</li>
-  <li><code>parent</code> , <code>children</code>, <code>last</code>,
-    <code>next</code>, <code>prev</code>, <code>doc</code>,
-    <code>properties</code>: pointing to the associated element in the tree,
-    those may return None in case no such link exists.</li>
-</ul>
-
-<p>Also note the need to explicitly deallocate documents with freeDoc() .
-Reference counting for libxml2 trees would need quite a lot of work to
-function properly, and rather than risk memory leaks if not implemented
-correctly it sounds safer to have an explicit function to free a tree. The
-wrapper python objects like doc, root or child are them automatically garbage
-collected.</p>
-
-<h3>validate.py:</h3>
-
-<p>This test check the validation interfaces and redirection of error
-messages:</p>
-<pre>import libxml2
-
-#deactivate error messages from the validation
-def noerr(ctx, str):
-    pass
-
-libxml2.registerErrorHandler(noerr, None)
-
-ctxt = libxml2.createFileParserCtxt("invalid.xml")
-ctxt.validate(1)
-ctxt.parseDocument()
-doc = ctxt.doc()
-valid = ctxt.isValid()
-doc.freeDoc()
-if valid != 0:
-    print "validity check failed"</pre>
-
-<p>The first thing to notice is the call to registerErrorHandler(), it
-defines a new error handler global to the library. It is used to avoid seeing
-the error messages when trying to validate the invalid document.</p>
-
-<p>The main interest of that test is the creation of a parser context with
-createFileParserCtxt() and how the behaviour can be changed before calling
-parseDocument() . Similarly the information resulting from the parsing phase
-is also available using context methods.</p>
-
-<p>Contexts like nodes are defined as class and the libxml2 wrappers maps the
-C function interfaces in terms of objects method as much as possible. The
-best to get a complete view of what methods are supported is to look at the
-libxml2.py module containing all the wrappers.</p>
-
-<h3>push.py:</h3>
-
-<p>This test show how to activate the push parser interface:</p>
-<pre>import libxml2
-
-ctxt = libxml2.createPushParser(None, "&lt;foo", 4, "test.xml")
-ctxt.parseChunk("/&gt;", 2, 1)
-doc = ctxt.doc()
-
-doc.freeDoc()</pre>
-
-<p>The context is created with a special call based on the
-xmlCreatePushParser() from the C library. The first argument is an optional
-SAX callback object, then the initial set of data, the length and the name of
-the resource in case URI-References need to be computed by the parser.</p>
-
-<p>Then the data are pushed using the parseChunk() method, the last call
-setting the third argument terminate to 1.</p>
-
-<h3>pushSAX.py:</h3>
-
-<p>this test show the use of the event based parsing interfaces. In this case
-the parser does not build a document, but provides callback information as
-the parser makes progresses analyzing the data being provided:</p>
-<pre>import libxml2
-log = ""
-
-class callback:
-    def startDocument(self):
-        global log
-        log = log + "startDocument:"
-
-    def endDocument(self):
-        global log
-        log = log + "endDocument:"
-
-    def startElement(self, tag, attrs):
-        global log
-        log = log + "startElement %s %s:" % (tag, attrs)
-
-    def endElement(self, tag):
-        global log
-        log = log + "endElement %s:" % (tag)
-
-    def characters(self, data):
-        global log
-        log = log + "characters: %s:" % (data)
-
-    def warning(self, msg):
-        global log
-        log = log + "warning: %s:" % (msg)
-
-    def error(self, msg):
-        global log
-        log = log + "error: %s:" % (msg)
-
-    def fatalError(self, msg):
-        global log
-        log = log + "fatalError: %s:" % (msg)
-
-handler = callback()
-
-ctxt = libxml2.createPushParser(handler, "&lt;foo", 4, "test.xml")
-chunk = " url='tst'&gt;b"
-ctxt.parseChunk(chunk, len(chunk), 0)
-chunk = "ar&lt;/foo&gt;"
-ctxt.parseChunk(chunk, len(chunk), 1)
-
-reference = "startDocument:startElement foo {'url': 'tst'}:" + \ 
-            "characters: bar:endElement foo:endDocument:"
-if log != reference:
-    print "Error got: %s" % log
-    print "Expected: %s" % reference</pre>
-
-<p>The key object in that test is the handler, it provides a number of entry
-points which can be called by the parser as it makes progresses to indicate
-the information set obtained. The full set of callback is larger than what
-the callback class in that specific example implements (see the SAX
-definition for a complete list). The wrapper will only call those supplied by
-the object when activated. The startElement receives the names of the element
-and a dictionary containing the attributes carried by this element.</p>
-
-<p>Also note that the reference string generated from the callback shows a
-single character call even though the string "bar" is passed to the parser
-from 2 different call to parseChunk()</p>
-
-<h3>xpath.py:</h3>
-
-<p>This is a basic test of XPath wrappers support</p>
-<pre>import libxml2
-
-doc = libxml2.parseFile("tst.xml")
-ctxt = doc.xpathNewContext()
-res = ctxt.xpathEval("//*")
-if len(res) != 2:
-    print "xpath query: wrong node set size"
-    sys.exit(1)
-if res[0].name != "doc" or res[1].name != "foo":
-    print "xpath query: wrong node set value"
-    sys.exit(1)
-doc.freeDoc()
-ctxt.xpathFreeContext()</pre>
-
-<p>This test parses a file, then create an XPath context to evaluate XPath
-expression on it. The xpathEval() method execute an XPath query and returns
-the result mapped in a Python way. String and numbers are natively converted,
-and node sets are returned as a tuple of libxml2 Python nodes wrappers. Like
-the document, the XPath context need to be freed explicitly, also not that
-the result of the XPath query may point back to the document tree and hence
-the document must be freed after the result of the query is used.</p>
-
-<h3>xpathext.py:</h3>
-
-<p>This test shows how to extend the XPath engine with functions written in
-python:</p>
-<pre>import libxml2
-
-def foo(ctx, x):
-    return x + 1
-
-doc = libxml2.parseFile("tst.xml")
-ctxt = doc.xpathNewContext()
-libxml2.registerXPathFunction(ctxt._o, "foo", None, foo)
-res = ctxt.xpathEval("foo(1)")
-if res != 2:
-    print "xpath extension failure"
-doc.freeDoc()
-ctxt.xpathFreeContext()</pre>
-
-<p>Note how the extension function is registered with the context (but that
-part is not yet finalized, this may change slightly in the future).</p>
-
-<h3>tstxpath.py:</h3>
-
-<p>This test is similar to the previous one but shows how the extension
-function can access the XPath evaluation context:</p>
-<pre>def foo(ctx, x):
-    global called
-
-    #
-    # test that access to the XPath evaluation contexts
-    #
-    pctxt = libxml2.xpathParserContext(_obj=ctx)
-    ctxt = pctxt.context()
-    called = ctxt.function()
-    return x + 1</pre>
-
-<p>All the interfaces around the XPath parser(or rather evaluation) context
-are not finalized, but it should be sufficient to do contextual work at the
-evaluation point.</p>
-
-<h3>Memory debugging:</h3>
-
-<p>last but not least, all tests starts with the following prologue:</p>
-<pre>#memory debug specific
-libxml2.debugMemory(1)</pre>
-
-<p>and ends with the following epilogue:</p>
-<pre>#memory debug specific
-libxml2.cleanupParser()
-if libxml2.debugMemory(1) == 0:
-    print "OK"
-else:
-    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
-    libxml2.dumpMemory()</pre>
-
-<p>Those activate the memory debugging interface of libxml2 where all
-allocated block in the library are tracked. The prologue then cleans up the
-library state and checks that all allocated memory has been freed. If not it
-calls dumpMemory() which saves that list in a <code>.memdump</code> file.</p>
-
-<h2><a name="architecture">libxml2 architecture</a></h2>
-
-<p>Libxml2 is made of multiple components; some of them are optional, and
-most of the block interfaces are public. The main components are:</p>
-<ul>
-  <li>an Input/Output layer</li>
-  <li>FTP and HTTP client layers (optional)</li>
-  <li>an Internationalization layer managing the encodings support</li>
-  <li>a URI module</li>
-  <li>the XML parser and its basic SAX interface</li>
-  <li>an HTML parser using the same SAX interface (optional)</li>
-  <li>a SAX tree module to build an in-memory DOM representation</li>
-  <li>a tree module to manipulate the DOM representation</li>
-  <li>a validation module using the DOM representation (optional)</li>
-  <li>an XPath module for global lookup in a DOM representation
-  (optional)</li>
-  <li>a debug module (optional)</li>
-</ul>
-
-<p>Graphically this gives the following:</p>
-
-<p><img src="libxml.gif" alt="a graphical view of the various"></p>
-
-<p></p>
-
-<h2><a name="tree">The tree output</a></h2>
-
-<p>The parser returns a tree built during the document analysis. The value
-returned is an <strong>xmlDocPtr</strong> (i.e., a pointer to an
-<strong>xmlDoc</strong> structure). This structure contains information such
-as the file name, the document type, and a <strong>children</strong> pointer
-which is the root of the document (or more exactly the first child under the
-root which is the document). The tree is made of <strong>xmlNode</strong>s,
-chained in double-linked lists of siblings and with a children&lt;-&gt;parent
-relationship. An xmlNode can also carry properties (a chain of xmlAttr
-structures). An attribute may have a value which is a list of TEXT or
-ENTITY_REF nodes.</p>
-
-<p>Here is an example (erroneous with respect to the XML spec since there
-should be only one ELEMENT under the root):</p>
-
-<p><img src="structure.gif" alt=" structure.gif "></p>
-
-<p>In the source package there is a small program (not installed by default)
-called <strong>xmllint</strong> which parses XML files given as argument and
-prints them back as parsed. This is useful for detecting errors both in XML
-code and in the XML parser itself. It has an option <strong>--debug</strong>
-which prints the actual in-memory structure of the document; here is the
-result with the <a href="#example">example</a> given before:</p>
-<pre>DOCUMENT
-version=1.0
-standalone=true
-  ELEMENT EXAMPLE
-    ATTRIBUTE prop1
-      TEXT
-      content=gnome is great
-    ATTRIBUTE prop2
-      ENTITY_REF
-      TEXT
-      content= linux too 
-    ELEMENT head
-      ELEMENT title
-        TEXT
-        content=Welcome to Gnome
-    ELEMENT chapter
-      ELEMENT title
-        TEXT
-        content=The Linux adventure
-      ELEMENT p
-        TEXT
-        content=bla bla bla ...
-      ELEMENT image
-        ATTRIBUTE href
-          TEXT
-          content=linus.gif
-      ELEMENT p
-        TEXT
-        content=...</pre>
-
-<p>This should be useful for learning the internal representation model.</p>
-
-<h2><a name="interface">The SAX interface</a></h2>
-
-<p>Sometimes the DOM tree output is just too large to fit reasonably into
-memory. In that case (and if you don't expect to save back the XML document
-loaded using libxml), it's better to use the SAX interface of libxml. SAX is
-a <strong>callback-based interface</strong> to the parser. Before parsing,
-the application layer registers a customized set of callbacks which are
-called by the library as it progresses through the XML input.</p>
-
-<p>To get more detailed step-by-step guidance on using the SAX interface of
-libxml, see the <a
-href="http://www.jamesh.id.au/articles/libxml-sax/libxml-sax.html">nice
-documentation</a>.written by <a href="mailto:james@daa.com.au">James
-Henstridge</a>.</p>
-
-<p>You can debug the SAX behaviour by using the <strong>testSAX</strong>
-program located in the gnome-xml module (it's usually not shipped in the
-binary packages of libxml, but you can find it in the tar source
-distribution). Here is the sequence of callbacks that would be reported by
-testSAX when parsing the example XML document shown earlier:</p>
-<pre>SAX.setDocumentLocator()
-SAX.startDocument()
-SAX.getEntity(amp)
-SAX.startElement(EXAMPLE, prop1='gnome is great', prop2='&amp;amp; linux too')
-SAX.characters(   , 3)
-SAX.startElement(head)
-SAX.characters(    , 4)
-SAX.startElement(title)
-SAX.characters(Welcome to Gnome, 16)
-SAX.endElement(title)
-SAX.characters(   , 3)
-SAX.endElement(head)
-SAX.characters(   , 3)
-SAX.startElement(chapter)
-SAX.characters(    , 4)
-SAX.startElement(title)
-SAX.characters(The Linux adventure, 19)
-SAX.endElement(title)
-SAX.characters(    , 4)
-SAX.startElement(p)
-SAX.characters(bla bla bla ..., 15)
-SAX.endElement(p)
-SAX.characters(    , 4)
-SAX.startElement(image, href='linus.gif')
-SAX.endElement(image)
-SAX.characters(    , 4)
-SAX.startElement(p)
-SAX.characters(..., 3)
-SAX.endElement(p)
-SAX.characters(   , 3)
-SAX.endElement(chapter)
-SAX.characters( , 1)
-SAX.endElement(EXAMPLE)
-SAX.endDocument()</pre>
-
-<p>Most of the other interfaces of libxml2 are based on the DOM tree-building
-facility, so nearly everything up to the end of this document presupposes the
-use of the standard DOM tree build. Note that the DOM tree itself is built by
-a set of registered default callbacks, without internal specific
-interface.</p>
-
-<h2><a name="Validation">Validation &amp; DTDs</a></h2>
-
-<p>Table of Content:</p>
-<ol>
-  <li><a href="#General5">General overview</a></li>
-  <li><a href="#definition">The definition</a></li>
-  <li><a href="#Simple">Simple rules</a>
-    <ol>
-      <li><a href="#reference">How to reference a DTD from a document</a></li>
-      <li><a href="#Declaring">Declaring elements</a></li>
-      <li><a href="#Declaring1">Declaring attributes</a></li>
-    </ol>
-  </li>
-  <li><a href="#Some">Some examples</a></li>
-  <li><a href="#validate">How to validate</a></li>
-  <li><a href="#Other">Other resources</a></li>
-</ol>
-
-<h3><a name="General5">General overview</a></h3>
-
-<p>Well what is validation and what is a DTD ?</p>
-
-<p>DTD is the acronym for Document Type Definition. This is a description of
-the content for a family of XML files. This is part of the XML 1.0
-specification, and allows one to describe and verify that a given document
-instance conforms to the set of rules detailing its structure and content.</p>
-
-<p>Validation is the process of checking a document against a DTD (more
-generally against a set of construction rules).</p>
-
-<p>The validation process and building DTDs are the two most difficult parts
-of the XML life cycle. Briefly a DTD defines all the possible elements to be
-found within your document, what is the formal shape of your document tree
-(by defining the allowed content of an element; either text, a regular
-expression for the allowed list of children, or mixed content i.e. both text
-and children). The DTD also defines the valid attributes for all elements and
-the types of those attributes.</p>
-
-<h3><a name="definition1">The definition</a></h3>
-
-<p>The <a href="http://www.w3.org/TR/REC-xml">W3C XML Recommendation</a> (<a
-href="http://www.xml.com/axml/axml.html">Tim Bray's annotated version of
-Rev1</a>):</p>
-<ul>
-  <li><a href="http://www.w3.org/TR/REC-xml#elemdecls">Declaring
-  elements</a></li>
-  <li><a href="http://www.w3.org/TR/REC-xml#attdecls">Declaring
-  attributes</a></li>
-</ul>
-
-<p>(unfortunately) all this is inherited from the SGML world, the syntax is
-ancient...</p>
-
-<h3><a name="Simple1">Simple rules</a></h3>
-
-<p>Writing DTDs can be done in many ways. The rules to build them if you need
-something permanent or something which can evolve over time can be radically
-different. Really complex DTDs like DocBook ones are flexible but quite
-harder to design. I will just focus on DTDs for a formats with a fixed simple
-structure. It is just a set of basic rules, and definitely not exhaustive nor
-usable for complex DTD design.</p>
-
-<h4><a name="reference1">How to reference a DTD from a document</a>:</h4>
-
-<p>Assuming the top element of the document is <code>spec</code> and the dtd
-is placed in the file <code>mydtd</code> in the subdirectory
-<code>dtds</code> of the directory from where the document were loaded:</p>
-
-<p><code>&lt;!DOCTYPE spec SYSTEM "dtds/mydtd"&gt;</code></p>
-
-<p>Notes:</p>
-<ul>
-  <li>The system string is actually an URI-Reference (as defined in <a
-    href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>) so you can use a
-    full URL string indicating the location of your DTD on the Web. This is a
-    really good thing to do if you want others to validate your document.</li>
-  <li>It is also possible to associate a <code>PUBLIC</code> identifier (a
-    magic string) so that the DTD is looked up in catalogs on the client side
-    without having to locate it on the web.</li>
-  <li>A DTD contains a set of element and attribute declarations, but they
-    don't define what the root of the document should be. This is explicitly
-    told to the parser/validator as the first element of the
-    <code>DOCTYPE</code> declaration.</li>
-</ul>
-
-<h4><a name="Declaring2">Declaring elements</a>:</h4>
-
-<p>The following declares an element <code>spec</code>:</p>
-
-<p><code>&lt;!ELEMENT spec (front, body, back?)&gt;</code></p>
-
-<p>It also expresses that the spec element contains one <code>front</code>,
-one <code>body</code> and one optional <code>back</code> children elements in
-this order. The declaration of one element of the structure and its content
-are done in a single declaration. Similarly the following declares
-<code>div1</code> elements:</p>
-
-<p><code>&lt;!ELEMENT div1 (head, (p | list | note)*, div2?)&gt;</code></p>
-
-<p>which means div1 contains one <code>head</code> then a series of optional
-<code>p</code>, <code>list</code>s and <code>note</code>s and then an
-optional <code>div2</code>. And last but not least an element can contain
-text:</p>
-
-<p><code>&lt;!ELEMENT b (#PCDATA)&gt;</code></p>
-
-<p><code>b</code> contains text or being of mixed content (text and elements
-in no particular order):</p>
-
-<p><code>&lt;!ELEMENT p (#PCDATA|a|ul|b|i|em)*&gt;</code></p>
-
-<p><code>p </code>can contain text or <code>a</code>, <code>ul</code>,
-<code>b</code>, <code>i </code>or <code>em</code> elements in no particular
-order.</p>
-
-<h4><a name="Declaring1">Declaring attributes</a>:</h4>
-
-<p>Again the attributes declaration includes their content definition:</p>
-
-<p><code>&lt;!ATTLIST termdef name CDATA #IMPLIED&gt;</code></p>
-
-<p>means that the element <code>termdef</code> can have a <code>name</code>
-attribute containing text (<code>CDATA</code>) and which is optional
-(<code>#IMPLIED</code>). The attribute value can also be defined within a
-set:</p>
-
-<p><code>&lt;!ATTLIST list type (bullets|ordered|glossary)
-"ordered"&gt;</code></p>
-
-<p>means <code>list</code> element have a <code>type</code> attribute with 3
-allowed values "bullets", "ordered" or "glossary" and which default to
-"ordered" if the attribute is not explicitly specified.</p>
-
-<p>The content type of an attribute can be text (<code>CDATA</code>),
-anchor/reference/references
-(<code>ID</code>/<code>IDREF</code>/<code>IDREFS</code>), entity(ies)
-(<code>ENTITY</code>/<code>ENTITIES</code>) or name(s)
-(<code>NMTOKEN</code>/<code>NMTOKENS</code>). The following defines that a
-<code>chapter</code> element can have an optional <code>id</code> attribute
-of type <code>ID</code>, usable for reference from attribute of type
-IDREF:</p>
-
-<p><code>&lt;!ATTLIST chapter id ID #IMPLIED&gt;</code></p>
-
-<p>The last value of an attribute definition can be <code>#REQUIRED
-</code>meaning that the attribute has to be given, <code>#IMPLIED</code>
-meaning that it is optional, or the default value (possibly prefixed by
-<code>#FIXED</code> if it is the only allowed).</p>
-
-<p>Notes:</p>
-<ul>
-  <li>Usually the attributes pertaining to a given element are declared in a
-    single expression, but it is just a convention adopted by a lot of DTD
-    writers:
-    <pre>&lt;!ATTLIST termdef
-          id      ID      #REQUIRED
-          name    CDATA   #IMPLIED&gt;</pre>
-    <p>The previous construct defines both <code>id</code> and
-    <code>name</code> attributes for the element <code>termdef</code>.</p>
-  </li>
-</ul>
-
-<h3><a name="Some1">Some examples</a></h3>
-
-<p>The directory <code>test/valid/dtds/</code> in the libxml2 distribution
-contains some complex DTD examples. The example in the file
-<code>test/valid/dia.xml</code> shows an XML file where the simple DTD is
-directly included within the document.</p>
-
-<h3><a name="validate1">How to validate</a></h3>
-
-<p>The simplest way is to use the xmllint program included with libxml. The
-<code>--valid</code> option turns-on validation of the files given as input.
-For example the following validates a copy of the first revision of the XML
-1.0 specification:</p>
-
-<p><code>xmllint --valid --noout test/valid/REC-xml-19980210.xml</code></p>
-
-<p>the -- noout is used to disable output of the resulting tree.</p>
-
-<p>The <code>--dtdvalid dtd</code> allows validation of the document(s)
-against a given DTD.</p>
-
-<p>Libxml2 exports an API to handle DTDs and validation, check the <a
-href="http://xmlsoft.org/html/libxml-valid.html">associated
-description</a>.</p>
-
-<h3><a name="Other1">Other resources</a></h3>
-
-<p>DTDs are as old as SGML. So there may be a number of examples on-line, I
-will just list one for now, others pointers welcome:</p>
-<ul>
-  <li><a href="http://www.xml101.com:8081/dtd/">XML-101 DTD</a></li>
-</ul>
-
-<p>I suggest looking at the examples found under test/valid/dtd and any of
-the large number of books available on XML. The dia example in test/valid
-should be both simple and complete enough to allow you to build your own.</p>
-
-<p></p>
-
-<h2><a name="Memory">Memory Management</a></h2>
-
-<p>Table of Content:</p>
-<ol>
-  <li><a href="#General3">General overview</a></li>
-  <li><a href="#setting">Setting libxml2 set of memory routines</a></li>
-  <li><a href="#cleanup">Cleaning up after using the library</a></li>
-  <li><a href="#Debugging">Debugging routines</a></li>
-  <li><a href="#General4">General memory requirements</a></li>
-  <li><a href="#Compacting">Returning memory to the kernel</a></li>
-</ol>
-
-<h3><a name="General3">General overview</a></h3>
-
-<p>The module <code><a
-href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlmemory.h</a></code>
-provides the interfaces to the libxml2 memory system:</p>
-<ul>
-  <li>libxml2 does not use the libc memory allocator directly but xmlFree(),
-    xmlMalloc() and xmlRealloc()</li>
-  <li>those routines can be reallocated to a specific set of routine, by
-    default the libc ones i.e. free(), malloc() and realloc()</li>
-  <li>the xmlmemory.c module includes a set of debugging routine</li>
-</ul>
-
-<h3><a name="setting">Setting libxml2 set of memory routines</a></h3>
-
-<p>It is sometimes useful to not use the default memory allocator, either for
-debugging, analysis or to implement a specific behaviour on memory management
-(like on embedded systems). Two function calls are available to do so:</p>
-<ul>
-  <li><a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemGet
-    ()</a> which return the current set of functions in use by the parser</li>
-  <li><a
-    href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemSetup()</a>
-    which allow to set up a new set of memory allocation functions</li>
-</ul>
-
-<p>Of course a call to xmlMemSetup() should probably be done before calling
-any other libxml2 routines (unless you are sure your allocations routines are
-compatibles).</p>
-
-<h3><a name="cleanup">Cleaning up after using the library</a></h3>
-
-<p>Libxml2 is not stateless, there is a few set of memory structures needing
-allocation before the parser is fully functional (some encoding structures
-for example). This also mean that once parsing is finished there is a tiny
-amount of memory (a few hundred bytes) which can be recollected if you don't
-reuse the library or any document built with it:</p>
-<ul>
-  <li><a href="http://xmlsoft.org/html/libxml-parser.html">xmlCleanupParser
-    ()</a> is a centralized routine to free the library state and data. Note
-    that it won't deallocate any produced tree if any (use the xmlFreeDoc()
-    and related routines for this). This should be called only when the library
-    is not used anymore.</li>
-  <li><a href="http://xmlsoft.org/html/libxml-parser.html">xmlInitParser
-    ()</a> is the dual routine allowing to preallocate the parsing state
-    which can be useful for example to avoid initialization reentrancy
-    problems when using libxml2 in multithreaded applications</li>
-</ul>
-
-<p>Generally xmlCleanupParser() is safe assuming no parsing is ongoing and
-no document is still being used, if needed the state will be rebuild at the
-next invocation of parser routines (or by xmlInitParser()), but be careful
-of the consequences in multithreaded applications.</p>
-
-<h3><a name="Debugging">Debugging routines</a></h3>
-
-<p>When configured using --with-mem-debug flag (off by default), libxml2 uses
-a set of memory allocation debugging routines keeping track of all allocated
-blocks and the location in the code where the routine was called. A couple of
-other debugging routines allow to dump the memory allocated infos to a file
-or call a specific routine when a given block number is allocated:</p>
-<ul>
-  <li><a
-    href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMallocLoc()</a>
-    <a
-    href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlReallocLoc()</a>
-    and <a
-    href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemStrdupLoc()</a>
-    are the memory debugging replacement allocation routines</li>
-  <li><a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemoryDump
-    ()</a> dumps all the information about the allocated memory block lefts
-    in the <code>.memdump</code> file</li>
-</ul>
-
-<p>When developing libxml2 memory debug is enabled, the tests programs call
-xmlMemoryDump () and the "make test" regression tests will check for any
-memory leak during the full regression test sequence, this helps a lot
-ensuring that libxml2  does not leak memory and bullet proof memory
-allocations use (some libc implementations are known to be far too permissive
-resulting in major portability problems!).</p>
-
-<p>If the .memdump reports a leak, it displays the allocation function and
-also tries to give some information about the content and structure of the
-allocated blocks left. This is sufficient in most cases to find the culprit,
-but not always. Assuming the allocation problem is reproducible, it is
-possible to find more easily:</p>
-<ol>
-  <li>write down the block number xxxx not allocated</li>
-  <li>export the environment variable XML_MEM_BREAKPOINT=xxxx , the easiest
-    when using GDB is to simply give the command
-    <p><code>set environment XML_MEM_BREAKPOINT xxxx</code></p>
-    <p>before running the program.</p>
-  </li>
-  <li>run the program under a debugger and set a breakpoint on
-    xmlMallocBreakpoint() a specific function called when this precise block
-    is allocated</li>
-  <li>when the breakpoint is reached you can then do a fine analysis of the
-    allocation an step  to see the condition resulting in the missing
-    deallocation.</li>
-</ol>
-
-<p>I used to use a commercial tool to debug libxml2 memory problems but after
-noticing that it was not detecting memory leaks that simple mechanism was
-used and proved extremely efficient until now. Lately I have also used <a
-href="http://developer.kde.org/~sewardj/">valgrind</a> with quite some
-success, it is tied to the i386 architecture since it works by emulating the
-processor and instruction set, it is slow but  extremely efficient, i.e. it
-spot memory usage errors in a very precise way.</p>
-
-<h3><a name="General4">General memory requirements</a></h3>
-
-<p>How much libxml2 memory require ? It's hard to tell in average it depends
-of a number of things:</p>
-<ul>
-  <li>the parser itself should work  in a fixed amount of memory, except for
-    information maintained about the stacks of names and  entities locations.
-    The I/O and encoding handlers will probably account for a few KBytes.
-    This is true for both the XML and HTML parser (though the HTML parser
-    need more state).</li>
-  <li>If you are generating the DOM tree then memory requirements will grow
-    nearly linear with the size of the data. In general for a balanced
-    textual document the internal memory requirement is about 4 times the
-    size of the UTF8 serialization of this document (example the XML-1.0
-    recommendation is a bit more of 150KBytes and takes 650KBytes of main
-    memory when parsed). Validation will add a amount of memory required for
-    maintaining the external Dtd state which should be linear with the
-    complexity of the content model defined by the Dtd</li>
-  <li>If you need to work with fixed memory requirements or don't need the
-    full DOM tree then using the <a href="xmlreader.html">xmlReader
-    interface</a> is probably the best way to proceed, it still allows to
-    validate or operate on subset of the tree if needed.</li>
-  <li>If you don't care about the advanced features of libxml2 like
-    validation, DOM, XPath or XPointer, don't use entities, need to work with
-    fixed memory requirements, and try to get the fastest parsing possible
-    then the SAX interface should be used, but it has known restrictions.</li>
-</ul>
-
-<p></p>
-<h3><a name="Compacting">Returning memory to the kernel</a></h3>
-
-<p>You may encounter that your process using libxml2 does not have a
-reduced memory usage although you freed the trees. This is because
-libxml2 allocates memory in a number of small chunks. When freeing one
-of those chunks, the OS may decide that giving this little memory back
-to the kernel will cause too much overhead and delay the operation. As
-all chunks are this small, they get actually freed but not returned to
-the kernel. On systems using glibc, there is a function call
-"malloc_trim" from malloc.h which does this missing operation (note that
-it is allowed to fail). Thus, after freeing your tree you may simply try
-"malloc_trim(0);" to really get the memory back. If your OS does not
-provide malloc_trim, try searching for a similar function.</p>
-<p></p>
-
-<h2><a name="Encodings">Encodings support</a></h2>
-
-<p>If you are not really familiar with Internationalization (usual shortcut
-is I18N) , Unicode, characters and glyphs, I suggest you read a <a
-href="http://www.tbray.org/ongoing/When/200x/2003/04/06/Unicode">presentation</a>
-by Tim Bray on Unicode and why you should care about it.</p>
-
-<p>If you don't understand why <b>it does not make sense to have a string
-without knowing what encoding it uses</b>, then as Joel Spolsky said <a
-href="http://www.joelonsoftware.com/articles/Unicode.html">please do not
-write another line of code until you finish reading that article.</a>. It is
-a prerequisite to understand this page, and avoid a lot of problems with
-libxml2, XML or text processing in general.</p>
-
-<p>Table of Content:</p>
-<ol>
-  <li><a href="encoding.html#What">What does internationalization support
-    mean ?</a></li>
-  <li><a href="encoding.html#internal">The internal encoding, how and
-  why</a></li>
-  <li><a href="encoding.html#implemente">How is it implemented ?</a></li>
-  <li><a href="encoding.html#Default">Default supported encodings</a></li>
-  <li><a href="encoding.html#extend">How to extend the existing
-  support</a></li>
-</ol>
-
-<h3><a name="What">What does internationalization support mean ?</a></h3>
-
-<p>XML was designed from the start to allow the support of any character set
-by using Unicode. Any conformant XML parser has to support the UTF-8 and
-UTF-16 default encodings which can both express the full unicode ranges. UTF8
-is a variable length encoding whose greatest points are to reuse the same
-encoding for ASCII and to save space for Western encodings, but it is a bit
-more complex to handle in practice. UTF-16 use 2 bytes per character (and
-sometimes combines two pairs), it makes implementation easier, but looks a
-bit overkill for Western languages encoding. Moreover the XML specification
-allows the document to be encoded in other encodings at the condition that
-they are clearly labeled as such. For example the following is a wellformed
-XML document encoded in ISO-8859-1 and using accentuated letters that we
-French like for both markup and content:</p>
-<pre>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
-&lt;tr&egrave;s&gt;l&agrave; &lt;/tr&egrave;s&gt;</pre>
-
-<p>Having internationalization support in libxml2 means the following:</p>
-<ul>
-  <li>the document is properly parsed</li>
-  <li>information about it's encoding is saved</li>
-  <li>it can be modified</li>
-  <li>it can be saved in its original encoding</li>
-  <li>it can also be saved in another encoding supported by libxml2 (for
-    example straight UTF8 or even an ASCII form)</li>
-</ul>
-
-<p>Another very important point is that the whole libxml2 API, with the
-exception of a few routines to read with a specific encoding or save to a
-specific encoding, is completely agnostic about the original encoding of the
-document.</p>
-
-<p>It should be noted too that the HTML parser embedded in libxml2 now obey
-the same rules too, the following document will be (as of 2.2.2) handled  in
-an internationalized fashion by libxml2 too:</p>
-<pre>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
-                      "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
-&lt;html lang="fr"&gt;
-&lt;head&gt;
-  &lt;META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"&gt;
-&lt;/head&gt;
-&lt;body&gt;
-&lt;p&gt;W3C cr&eacute;e des standards pour le Web.&lt;/body&gt;
-&lt;/html&gt;</pre>
-
-<h3><a name="internal">The internal encoding, how and why</a></h3>
-
-<p>One of the core decisions was to force all documents to be converted to a
-default internal encoding, and that encoding to be UTF-8, here are the
-rationales for those choices:</p>
-<ul>
-  <li>keeping the native encoding in the internal form would force the libxml
-    users (or the code associated) to be fully aware of the encoding of the
-    original document, for examples when adding a text node to a document,
-    the content would have to be provided in the document encoding, i.e. the
-    client code would have to check it before hand, make sure it's conformant
-    to the encoding, etc ... Very hard in practice, though in some specific
-    cases this may make sense.</li>
-  <li>the second decision was which encoding. From the XML spec only UTF8 and
-    UTF16 really makes sense as being the two only encodings for which there
-    is mandatory support. UCS-4 (32 bits fixed size encoding) could be
-    considered an intelligent choice too since it's a direct Unicode mapping
-    support. I selected UTF-8 on the basis of efficiency and compatibility
-    with surrounding software:
-    <ul>
-      <li>UTF-8 while a bit more complex to convert from/to (i.e. slightly
-        more costly to import and export CPU wise) is also far more compact
-        than UTF-16 (and UCS-4) for a majority of the documents I see it used
-        for right now (RPM RDF catalogs, advogato data, various configuration
-        file formats, etc.) and the key point for today's computer
-        architecture is efficient uses of caches. If one nearly double the
-        memory requirement to store the same amount of data, this will trash
-        caches (main memory/external caches/internal caches) and my take is
-        that this harms the system far more than the CPU requirements needed
-        for the conversion to UTF-8</li>
-      <li>Most of libxml2 version 1 users were using it with straight ASCII
-        most of the time, doing the conversion with an internal encoding
-        requiring all their code to be rewritten was a serious show-stopper
-        for using UTF-16 or UCS-4.</li>
-      <li>UTF-8 is being used as the de-facto internal encoding standard for
-        related code like the <a href="http://www.pango.org/">pango</a>
-        upcoming Gnome text widget, and a lot of Unix code (yet another place
-        where Unix programmer base takes a different approach from Microsoft
-        - they are using UTF-16)</li>
-    </ul>
-  </li>
-</ul>
-
-<p>What does this mean in practice for the libxml2 user:</p>
-<ul>
-  <li>xmlChar, the libxml2 data type is a byte, those bytes must be assembled
-    as UTF-8 valid strings. The proper way to terminate an xmlChar * string
-    is simply to append 0 byte, as usual.</li>
-  <li>One just need to make sure that when using chars outside the ASCII set,
-    the values has been properly converted to UTF-8</li>
-</ul>
-
-<h3><a name="implemente">How is it implemented ?</a></h3>
-
-<p>Let's describe how all this works within libxml, basically the I18N
-(internationalization) support get triggered only during I/O operation, i.e.
-when reading a document or saving one. Let's look first at the reading
-sequence:</p>
-<ol>
-  <li>when a document is processed, we usually don't know the encoding, a
-    simple heuristic allows to detect UTF-16 and UCS-4 from encodings where
-    the ASCII range (0-0x7F) maps with ASCII</li>
-  <li>the xml declaration if available is parsed, including the encoding
-    declaration. At that point, if the autodetected encoding is different
-    from the one declared a call to xmlSwitchEncoding() is issued.</li>
-  <li>If there is no encoding declaration, then the input has to be in either
-    UTF-8 or UTF-16, if it is not then at some point when processing the
-    input, the converter/checker of UTF-8 form will raise an encoding error.
-    You may end-up with a garbled document, or no document at all ! Example:
-    <pre>~/XML -&gt; ./xmllint err.xml 
-err.xml:1: error: Input is not proper UTF-8, indicate encoding !
-&lt;tr&egrave;s&gt;l&agrave; &lt;/tr&egrave;s&gt;
-   ^
-err.xml:1: error: Bytes: 0xE8 0x73 0x3E 0x6C
-&lt;tr&egrave;s&gt;l&agrave; &lt;/tr&egrave;s&gt;
-   ^</pre>
-  </li>
-  <li>xmlSwitchEncoding() does an encoding name lookup, canonicalize it, and
-    then search the default registered encoding converters for that encoding.
-    If it's not within the default set and iconv() support has been compiled
-    it, it will ask iconv for such an encoder. If this fails then the parser
-    will report an error and stops processing:
-    <pre>~/XML -&gt; ./xmllint err2.xml 
-err2.xml:1: error: Unsupported encoding UnsupportedEnc
-&lt;?xml version="1.0" encoding="UnsupportedEnc"?&gt;
-                                             ^</pre>
-  </li>
-  <li>From that point the encoder processes progressively the input (it is
-    plugged as a front-end to the I/O module) for that entity. It captures
-    and converts on-the-fly the document to be parsed to UTF-8. The parser
-    itself just does UTF-8 checking of this input and process it
-    transparently. The only difference is that the encoding information has
-    been added to the parsing context (more precisely to the input
-    corresponding to this entity).</li>
-  <li>The result (when using DOM) is an internal form completely in UTF-8
-    with just an encoding information on the document node.</li>
-</ol>
-
-<p>Ok then what happens when saving the document (assuming you
-collected/built an xmlDoc DOM like structure) ? It depends on the function
-called, xmlSaveFile() will just try to save in the original encoding, while
-xmlSaveFileTo() and xmlSaveFileEnc() can optionally save to a given
-encoding:</p>
-<ol>
-  <li>if no encoding is given, libxml2 will look for an encoding value
-    associated to the document and if it exists will try to save to that
-    encoding,
-    <p>otherwise everything is written in the internal form, i.e. UTF-8</p>
-  </li>
-  <li>so if an encoding was specified, either at the API level or on the
-    document, libxml2 will again canonicalize the encoding name, lookup for a
-    converter in the registered set or through iconv. If not found the
-    function will return an error code</li>
-  <li>the converter is placed before the I/O buffer layer, as another kind of
-    buffer, then libxml2 will simply push the UTF-8 serialization to through
-    that buffer, which will then progressively be converted and pushed onto
-    the I/O layer.</li>
-  <li>It is possible that the converter code fails on some input, for example
-    trying to push an UTF-8 encoded Chinese character through the UTF-8 to
-    ISO-8859-1 converter won't work. Since the encoders are progressive they
-    will just report the error and the number of bytes converted, at that
-    point libxml2 will decode the offending character, remove it from the
-    buffer and replace it with the associated charRef encoding &amp;#123; and
-    resume the conversion. This guarantees that any document will be saved
-    without losses (except for markup names where this is not legal, this is
-    a problem in the current version, in practice avoid using non-ascii
-    characters for tag or attribute names). A special "ascii" encoding name
-    is used to save documents to a pure ascii form can be used when
-    portability is really crucial</li>
-</ol>
-
-<p>Here are a few examples based on the same test document and assumin a
-terminal using ISO-8859-1 as the text encoding:</p>
-<pre>~/XML -&gt; ./xmllint isolat1 
-&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
-&lt;tr&egrave;s&gt;là&lt;/tr&egrave;s&gt;
-~/XML -&gt; ./xmllint --encode UTF-8 isolat1 
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;très&gt;là &nbsp;&lt;/très&gt;
-~/XML -&gt; </pre>
-
-<p>The same processing is applied (and reuse most of the code) for HTML I18N
-processing. Looking up and modifying the content encoding is a bit more
-difficult since it is located in a &lt;meta&gt; tag under the &lt;head&gt;,
-so a couple of functions htmlGetMetaEncoding() and htmlSetMetaEncoding() have
-been provided. The parser also attempts to switch encoding on the fly when
-detecting such a tag on input. Except for that the processing is the same
-(and again reuses the same code).</p>
-
-<h3><a name="Default">Default supported encodings</a></h3>
-
-<p>libxml2 has a set of default converters for the following encodings
-(located in encoding.c):</p>
-<ol>
-  <li>UTF-8 is supported by default (null handlers)</li>
-  <li>UTF-16, both little and big endian</li>
-  <li>ISO-Latin-1 (ISO-8859-1) covering most western languages</li>
-  <li>ASCII, useful mostly for saving</li>
-  <li>HTML, a specific handler for the conversion of UTF-8 to ASCII with HTML
-    predefined entities like &amp;copy; for the Copyright sign.</li>
-</ol>
-
-<p>More over when compiled on an Unix platform with iconv support the full
-set of encodings supported by iconv can be instantly be used by libxml. On a
-linux machine with glibc-2.1 the list of supported encodings and aliases fill
-3 full pages, and include UCS-4, the full set of ISO-Latin encodings, and the
-various Japanese ones.</p>
-
-<p>To convert from the UTF-8 values returned from the API to another encoding
-then it is possible to use the function provided from <a
-href="html/libxml-encoding.html">the encoding module</a> like <a
-href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a>, or use the
-POSIX <a
-href="http://www.opengroup.org/onlinepubs/009695399/functions/iconv.html">iconv()</a>
-API directly.</p>
-
-<h4>Encoding aliases</h4>
-
-<p>From 2.2.3, libxml2 has support to register encoding names aliases. The
-goal is to be able to parse document whose encoding is supported but where
-the name differs (for example from the default set of names accepted by
-iconv). The following functions allow to register and handle new aliases for
-existing encodings. Once registered libxml2 will automatically lookup the
-aliases when handling a document:</p>
-<ul>
-  <li>int xmlAddEncodingAlias(const char *name, const char *alias);</li>
-  <li>int xmlDelEncodingAlias(const char *alias);</li>
-  <li>const char * xmlGetEncodingAlias(const char *alias);</li>
-  <li>void xmlCleanupEncodingAliases(void);</li>
-</ul>
-
-<h3><a name="extend">How to extend the existing support</a></h3>
-
-<p>Well adding support for new encoding, or overriding one of the encoders
-(assuming it is buggy) should not be hard, just write input and output
-conversion routines to/from UTF-8, and register them using
-xmlNewCharEncodingHandler(name, xxxToUTF8, UTF8Toxxx),  and they will be
-called automatically if the parser(s) encounter such an encoding name
-(register it uppercase, this will help). The description of the encoders,
-their arguments and expected return values are described in the encoding.h
-header.</p>
-
-<h2><a name="IO">I/O Interfaces</a></h2>
-
-<p>Table of Content:</p>
-<ol>
-  <li><a href="#General1">General overview</a></li>
-  <li><a href="#basic">The basic buffer type</a></li>
-  <li><a href="#Input">Input I/O handlers</a></li>
-  <li><a href="#Output">Output I/O handlers</a></li>
-  <li><a href="#entities">The entities loader</a></li>
-  <li><a href="#Example2">Example of customized I/O</a></li>
-</ol>
-
-<h3><a name="General1">General overview</a></h3>
-
-<p>The module <code><a
-href="http://xmlsoft.org/html/libxml-xmlio.html">xmlIO.h</a></code> provides
-the interfaces to the libxml2 I/O system. This consists of 4 main parts:</p>
-<ul>
-  <li>Entities loader, this is a routine which tries to fetch the entities
-    (files) based on their PUBLIC and SYSTEM identifiers. The default loader
-    don't look at the public identifier since libxml2 do not maintain a
-    catalog. You can redefine you own entity loader by using
-    <code>xmlGetExternalEntityLoader()</code> and
-    <code>xmlSetExternalEntityLoader()</code>. <a href="#entities">Check the
-    example</a>.</li>
-  <li>Input I/O buffers which are a commodity structure used by the parser(s)
-    input layer to handle fetching the information to feed the parser. This
-    provides buffering and is also a placeholder where the encoding
-    converters to UTF8 are piggy-backed.</li>
-  <li>Output I/O buffers are similar to the Input ones and fulfill similar
-    task but when generating a serialization from a tree.</li>
-  <li>A mechanism to register sets of I/O callbacks and associate them with
-    specific naming schemes like the protocol part of the URIs.
-    <p>This affect the default I/O operations and allows to use specific I/O
-    handlers for certain names.</p>
-  </li>
-</ul>
-
-<p>The general mechanism used when loading http://rpmfind.net/xml.html for
-example in the HTML parser is the following:</p>
-<ol>
-  <li>The default entity loader calls <code>xmlNewInputFromFile()</code> with
-    the parsing context and the URI string.</li>
-  <li>the URI string is checked against the existing registered handlers
-    using their match() callback function, if the HTTP module was compiled
-    in, it is registered and its match() function will succeeds</li>
-  <li>the open() function of the handler is called and if successful will
-    return an I/O Input buffer</li>
-  <li>the parser will the start reading from this buffer and progressively
-    fetch information from the resource, calling the read() function of the
-    handler until the resource is exhausted</li>
-  <li>if an encoding change is detected it will be installed on the input
-    buffer, providing buffering and efficient use of the conversion
-  routines</li>
-  <li>once the parser has finished, the close() function of the handler is
-    called once and the Input buffer and associated resources are
-  deallocated.</li>
-</ol>
-
-<p>The user defined callbacks are checked first to allow overriding of the
-default libxml2 I/O routines.</p>
-
-<h3><a name="basic">The basic buffer type</a></h3>
-
-<p>All the buffer manipulation handling is done using the
-<code>xmlBuffer</code> type define in <code><a
-href="http://xmlsoft.org/html/libxml-tree.html">tree.h</a> </code>which is a
-resizable memory buffer. The buffer allocation strategy can be selected to be
-either best-fit or use an exponential doubling one (CPU vs. memory use
-trade-off). The values are <code>XML_BUFFER_ALLOC_EXACT</code> and
-<code>XML_BUFFER_ALLOC_DOUBLEIT</code>, and can be set individually or on a
-system wide basis using <code>xmlBufferSetAllocationScheme()</code>. A number
-of functions allows to manipulate buffers with names starting with the
-<code>xmlBuffer...</code> prefix.</p>
-
-<h3><a name="Input">Input I/O handlers</a></h3>
-
-<p>An Input I/O handler is a simple structure
-<code>xmlParserInputBuffer</code> containing a context associated to the
-resource (file descriptor, or pointer to a protocol handler), the read() and
-close() callbacks to use and an xmlBuffer. And extra xmlBuffer and a charset
-encoding handler are also present to support charset conversion when
-needed.</p>
-
-<h3><a name="Output">Output I/O handlers</a></h3>
-
-<p>An Output handler <code>xmlOutputBuffer</code> is completely similar to an
-Input one except the callbacks are write() and close().</p>
-
-<h3><a name="entities">The entities loader</a></h3>
-
-<p>The entity loader resolves requests for new entities and create inputs for
-the parser. Creating an input from a filename or an URI string is done
-through the xmlNewInputFromFile() routine.  The default entity loader do not
-handle the PUBLIC identifier associated with an entity (if any). So it just
-calls xmlNewInputFromFile() with the SYSTEM identifier (which is mandatory in
-XML).</p>
-
-<p>If you want to hook up a catalog mechanism then you simply need to
-override the default entity loader, here is an example:</p>
-<pre>#include &lt;libxml/xmlIO.h&gt;
-
-xmlExternalEntityLoader defaultLoader = NULL;
-
-xmlParserInputPtr
-xmlMyExternalEntityLoader(const char *URL, const char *ID,
-                               xmlParserCtxtPtr ctxt) {
-    xmlParserInputPtr ret;
-    const char *fileID = NULL;
-    /* lookup for the fileID depending on ID */
-
-    ret = xmlNewInputFromFile(ctxt, fileID);
-    if (ret != NULL)
-        return(ret);
-    if (defaultLoader != NULL)
-        ret = defaultLoader(URL, ID, ctxt);
-    return(ret);
-}
-
-int main(..) {
-    ...
-
-    /*
-     * Install our own entity loader
-     */
-    defaultLoader = xmlGetExternalEntityLoader();
-    xmlSetExternalEntityLoader(xmlMyExternalEntityLoader);
-
-    ...
-}</pre>
-
-<h3><a name="Example2">Example of customized I/O</a></h3>
-
-<p>This example come from <a href="http://xmlsoft.org/messages/0708.html">a
-real use case</a>,  xmlDocDump() closes the FILE * passed by the application
-and this was a problem. The <a
-href="http://xmlsoft.org/messages/0711.html">solution</a> was to redefine a
-new output handler with the closing call deactivated:</p>
-<ol>
-  <li>First define a new I/O output allocator where the output don't close
-    the file:
-    <pre>xmlOutputBufferPtr
-xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) {
-&nbsp;&nbsp;&nbsp;&nbsp;xmlOutputBufferPtr ret;
-&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;&nbsp;if (xmlOutputCallbackInitialized == 0)
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlRegisterDefaultOutputCallbacks();
-
-&nbsp;&nbsp;&nbsp;&nbsp;if (file == NULL) return(NULL);
-&nbsp;&nbsp;&nbsp;&nbsp;ret = xmlAllocOutputBuffer(encoder);
-&nbsp;&nbsp;&nbsp;&nbsp;if (ret != NULL) {
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret-&gt;context = file;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret-&gt;writecallback = xmlFileWrite;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret-&gt;closecallback = NULL;  /* No close callback */
-&nbsp;&nbsp;&nbsp;&nbsp;}
-&nbsp;&nbsp;&nbsp;&nbsp;return(ret);
-} </pre>
-  </li>
-  <li>And then use it to save the document:
-    <pre>FILE *f;
-xmlOutputBufferPtr output;
-xmlDocPtr doc;
-int res;
-
-f = ...
-doc = ....
-
-output = xmlOutputBufferCreateOwn(f, NULL);
-res = xmlSaveFileTo(output, doc, NULL);
-    </pre>
-  </li>
-</ol>
-
-<h2><a name="Catalog">Catalog support</a></h2>
-
-<p>Table of Content:</p>
-<ol>
-  <li><a href="General2">General overview</a></li>
-  <li><a href="#definition">The definition</a></li>
-  <li><a href="#Simple">Using catalogs</a></li>
-  <li><a href="#Some">Some examples</a></li>
-  <li><a href="#reference">How to tune  catalog usage</a></li>
-  <li><a href="#validate">How to debug catalog processing</a></li>
-  <li><a href="#Declaring">How to create and maintain catalogs</a></li>
-  <li><a href="#implemento">The implementor corner quick review of the
-  API</a></li>
-  <li><a href="#Other">Other resources</a></li>
-</ol>
-
-<h3><a name="General2">General overview</a></h3>
-
-<p>What is a catalog? Basically it's a lookup mechanism used when an entity
-(a file or a remote resource) references another entity. The catalog lookup
-is inserted between the moment the reference is recognized by the software
-(XML parser, stylesheet processing, or even images referenced for inclusion
-in a rendering) and the time where loading that resource is actually
-started.</p>
-
-<p>It is basically used for 3 things:</p>
-<ul>
-  <li>mapping from "logical" names, the public identifiers and a more
-    concrete name usable for download (and URI). For example it can associate
-    the logical name
-    <p>"-//OASIS//DTD DocBook XML V4.1.2//EN"</p>
-    <p>of the DocBook 4.1.2 XML DTD with the actual URL where it can be
-    downloaded</p>
-    <p>http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd</p>
-  </li>
-  <li>remapping from a given URL to another one, like an HTTP indirection
-    saying that
-    <p>"http://www.oasis-open.org/committes/tr.xsl"</p>
-    <p>should really be looked at</p>
-    <p>"http://www.oasis-open.org/committes/entity/stylesheets/base/tr.xsl"</p>
-  </li>
-  <li>providing a local cache mechanism allowing to load the entities
-    associated to public identifiers or remote resources, this is a really
-    important feature for any significant deployment of XML or SGML since it
-    allows to avoid the aleas and delays associated to fetching remote
-    resources.</li>
-</ul>
-
-<h3><a name="definition">The definitions</a></h3>
-
-<p>Libxml, as of 2.4.3 implements 2 kind of catalogs:</p>
-<ul>
-  <li>the older SGML catalogs, the official spec is  SGML Open Technical
-    Resolution TR9401:1997, but is better understood by reading <a
-    href="http://www.jclark.com/sp/catalog.htm">the SP Catalog page</a> from
-    James Clark. This is relatively old and not the preferred mode of
-    operation of libxml.</li>
-  <li><a href="http://www.oasis-open.org/committees/entity/spec.html">XML
-    Catalogs</a> is far more flexible, more recent, uses an XML syntax and
-    should scale quite better. This is the default option of libxml.</li>
-</ul>
-
-<p></p>
-
-<h3><a name="Simple">Using catalog</a></h3>
-
-<p>In a normal environment libxml2 will by default check the presence of a
-catalog in /etc/xml/catalog, and assuming it has been correctly populated,
-the processing is completely transparent to the document user. To take a
-concrete example, suppose you are authoring a DocBook document, this one
-starts with the following DOCTYPE definition:</p>
-<pre>&lt;?xml version='1.0'?&gt;
-&lt;!DOCTYPE book PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
-          "http://nwalsh.com/docbook/xml/3.1.4/db3xml.dtd"&gt;</pre>
-
-<p>When validating the document with libxml, the catalog will be
-automatically consulted to lookup the public identifier "-//Norman Walsh//DTD
-DocBk XML V3.1.4//EN" and the system identifier
-"http://nwalsh.com/docbook/xml/3.1.4/db3xml.dtd", and if these entities have
-been installed on your system and the catalogs actually point to them, libxml
-will fetch them from the local disk.</p>
-
-<p style="font-size: 10pt"><strong>Note</strong>: Really don't use this
-DOCTYPE example it's a really old version, but is fine as an example.</p>
-
-<p>Libxml2 will check the catalog each time that it is requested to load an
-entity, this includes DTD, external parsed entities, stylesheets, etc ... If
-your system is correctly configured all the authoring phase and processing
-should use only local files, even if your document stays portable because it
-uses the canonical public and system ID, referencing the remote document.</p>
-
-<h3><a name="Some">Some examples:</a></h3>
-
-<p>Here is a couple of fragments from XML Catalogs used in libxml2 early
-regression tests in <code>test/catalogs</code> :</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE catalog PUBLIC 
-   "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
-   "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
-&lt;catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"&gt;
-  &lt;public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
-   uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/&gt;
-...</pre>
-
-<p>This is the beginning of a catalog for DocBook 4.1.2, XML Catalogs are
-written in XML,  there is a specific namespace for catalog elements
-"urn:oasis:names:tc:entity:xmlns:xml:catalog". The first entry in this
-catalog is a <code>public</code> mapping it allows to associate a Public
-Identifier with an URI.</p>
-<pre>...
-    &lt;rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/"
-                   rewritePrefix="file:///usr/share/xml/docbook/"/&gt;
-...</pre>
-
-<p>A <code>rewriteSystem</code> is a very powerful instruction, it says that
-any URI starting with a given prefix should be looked at another  URI
-constructed by replacing the prefix with an new one. In effect this acts like
-a cache system for a full area of the Web. In practice it is extremely useful
-with a file prefix if you have installed a copy of those resources on your
-local system.</p>
-<pre>...
-&lt;delegatePublic publicIdStartString="-//OASIS//DTD XML Catalog //"
-                catalog="file:///usr/share/xml/docbook.xml"/&gt;
-&lt;delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook XML"
-                catalog="file:///usr/share/xml/docbook.xml"/&gt;
-&lt;delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML"
-                catalog="file:///usr/share/xml/docbook.xml"/&gt;
-&lt;delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/"
-                catalog="file:///usr/share/xml/docbook.xml"/&gt;
-&lt;delegateURI uriStartString="http://www.oasis-open.org/docbook/"
-                catalog="file:///usr/share/xml/docbook.xml"/&gt;
-...</pre>
-
-<p>Delegation is the core features which allows to build a tree of catalogs,
-easier to maintain than a single catalog, based on Public Identifier, System
-Identifier or URI prefixes it instructs the catalog software to look up
-entries in another resource. This feature allow to build hierarchies of
-catalogs, the set of entries presented should be sufficient to redirect the
-resolution of all DocBook references to the specific catalog in
-<code>/usr/share/xml/docbook.xml</code> this one in turn could delegate all
-references for DocBook 4.2.1 to a specific catalog installed at the same time
-as the DocBook resources on the local machine.</p>
-
-<h3><a name="reference">How to tune catalog usage:</a></h3>
-
-<p>The user can change the default catalog behaviour by redirecting queries
-to its own set of catalogs, this can be done by setting the
-<code>XML_CATALOG_FILES</code> environment variable to a list of catalogs, an
-empty one should deactivate loading the default <code>/etc/xml/catalog</code>
-default catalog</p>
-
-<h3><a name="validate">How to debug catalog processing:</a></h3>
-
-<p>Setting up the <code>XML_DEBUG_CATALOG</code> environment variable will
-make libxml2 output debugging information for each catalog operations, for
-example:</p>
-<pre>orchis:~/XML -&gt; xmllint --memory --noout test/ent2
-warning: failed to load external entity "title.xml"
-orchis:~/XML -&gt; export XML_DEBUG_CATALOG=
-orchis:~/XML -&gt; xmllint --memory --noout test/ent2
-Failed to parse catalog /etc/xml/catalog
-Failed to parse catalog /etc/xml/catalog
-warning: failed to load external entity "title.xml"
-Catalogs cleanup
-orchis:~/XML -&gt; </pre>
-
-<p>The test/ent2 references an entity, running the parser from memory makes
-the base URI unavailable and the the "title.xml" entity cannot be loaded.
-Setting up the debug environment variable allows to detect that an attempt is
-made to load the <code>/etc/xml/catalog</code> but since it's not present the
-resolution fails.</p>
-
-<p>But the most advanced way to debug XML catalog processing is to use the
-<strong>xmlcatalog</strong> command shipped with libxml2, it allows to load
-catalogs and make resolution queries to see what is going on. This is also
-used for the regression tests:</p>
-<pre>orchis:~/XML -&gt; ./xmlcatalog test/catalogs/docbook.xml \
-                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
-http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-orchis:~/XML -&gt; </pre>
-
-<p>For debugging what is going on, adding one -v flags increase the verbosity
-level to indicate the processing done (adding a second flag also indicate
-what elements are recognized at parsing):</p>
-<pre>orchis:~/XML -&gt; ./xmlcatalog -v test/catalogs/docbook.xml \
-                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
-Parsing catalog test/catalogs/docbook.xml's content
-Found public match -//OASIS//DTD DocBook XML V4.1.2//EN
-http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-Catalogs cleanup
-orchis:~/XML -&gt; </pre>
-
-<p>A shell interface is also available to debug and process multiple queries
-(and for regression tests):</p>
-<pre>orchis:~/XML -&gt; ./xmlcatalog -shell test/catalogs/docbook.xml \
-                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
-&gt; help   
-Commands available:
-public PublicID: make a PUBLIC identifier lookup
-system SystemID: make a SYSTEM identifier lookup
-resolve PublicID SystemID: do a full resolver lookup
-add 'type' 'orig' 'replace' : add an entry
-del 'values' : remove values
-dump: print the current catalog state
-debug: increase the verbosity level
-quiet: decrease the verbosity level
-exit:  quit the shell
-&gt; public "-//OASIS//DTD DocBook XML V4.1.2//EN"
-http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-&gt; quit
-orchis:~/XML -&gt; </pre>
-
-<p>This should be sufficient for most debugging purpose, this was actually
-used heavily to debug the XML Catalog implementation itself.</p>
-
-<h3><a name="Declaring">How to create and maintain</a> catalogs:</h3>
-
-<p>Basically XML Catalogs are XML files, you can either use XML tools to
-manage them or use  <strong>xmlcatalog</strong> for this. The basic step is
-to create a catalog the -create option provide this facility:</p>
-<pre>orchis:~/XML -&gt; ./xmlcatalog --create tst.xml
-&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
-         "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
-&lt;catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"/&gt;
-orchis:~/XML -&gt; </pre>
-
-<p>By default xmlcatalog does not overwrite the original catalog and save the
-result on the standard output, this can be overridden using the -noout
-option. The <code>-add</code> command allows to add entries in the
-catalog:</p>
-<pre>orchis:~/XML -&gt; ./xmlcatalog --noout --create --add "public" \
-  "-//OASIS//DTD DocBook XML V4.1.2//EN" \
-  http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd tst.xml
-orchis:~/XML -&gt; cat tst.xml
-&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" \
-  "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
-&lt;catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"&gt;
-&lt;public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
-        uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/&gt;
-&lt;/catalog&gt;
-orchis:~/XML -&gt; </pre>
-
-<p>The <code>-add</code> option will always take 3 parameters even if some of
-the XML Catalog constructs (like nextCatalog) will have only a single
-argument, just pass a third empty string, it will be ignored.</p>
-
-<p>Similarly the <code>-del</code> option remove matching entries from the
-catalog:</p>
-<pre>orchis:~/XML -&gt; ./xmlcatalog --del \
-  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" tst.xml
-&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
-    "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
-&lt;catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"/&gt;
-orchis:~/XML -&gt; </pre>
-
-<p>The catalog is now empty. Note that the matching of <code>-del</code> is
-exact and would have worked in a similar fashion with the Public ID
-string.</p>
-
-<p>This is rudimentary but should be sufficient to manage a not too complex
-catalog tree of resources.</p>
-
-<h3><a name="implemento">The implementor corner quick review of the
-API:</a></h3>
-
-<p>First, and like for every other module of libxml, there is an
-automatically generated <a href="html/libxml-catalog.html">API page for
-catalog support</a>.</p>
-
-<p>The header for the catalog interfaces should be included as:</p>
-<pre>#include &lt;libxml/catalog.h&gt;</pre>
-
-<p>The API is voluntarily kept very simple. First it is not obvious that
-applications really need access to it since it is the default behaviour of
-libxml2 (Note: it is possible to completely override libxml2 default catalog
-by using <a href="html/libxml-parser.html">xmlSetExternalEntityLoader</a> to
-plug an application specific resolver).</p>
-
-<p>Basically libxml2 support 2 catalog lists:</p>
-<ul>
-  <li>the default one, global shared by all the application</li>
-  <li>a per-document catalog, this one is built if the document uses the
-    <code>oasis-xml-catalog</code> PIs to specify its own catalog list, it is
-    associated to the parser context and destroyed when the parsing context
-    is destroyed.</li>
-</ul>
-
-<p>the document one will be used first if it exists.</p>
-
-<h4>Initialization routines:</h4>
-
-<p>xmlInitializeCatalog(), xmlLoadCatalog() and xmlLoadCatalogs() should be
-used at startup to initialize the catalog, if the catalog should be
-initialized with specific values xmlLoadCatalog()  or xmlLoadCatalogs()
-should be called before xmlInitializeCatalog() which would otherwise do a
-default initialization first.</p>
-
-<p>The xmlCatalogAddLocal() call is used by the parser to grow the document
-own catalog list if needed.</p>
-
-<h4>Preferences setup:</h4>
-
-<p>The XML Catalog spec requires the possibility to select default
-preferences between  public and system delegation,
-xmlCatalogSetDefaultPrefer() allows this, xmlCatalogSetDefaults() and
-xmlCatalogGetDefaults() allow to control  if XML Catalogs resolution should
-be forbidden, allowed for global catalog, for document catalog or both, the
-default is to allow both.</p>
-
-<p>And of course xmlCatalogSetDebug() allows to generate debug messages
-(through the xmlGenericError() mechanism).</p>
-
-<h4>Querying routines:</h4>
-
-<p>xmlCatalogResolve(), xmlCatalogResolveSystem(), xmlCatalogResolvePublic()
-and xmlCatalogResolveURI() are relatively explicit if you read the XML
-Catalog specification they correspond to section 7 algorithms, they should
-also work if you have loaded an SGML catalog with a simplified semantic.</p>
-
-<p>xmlCatalogLocalResolve() and xmlCatalogLocalResolveURI() are the same but
-operate on the document catalog list</p>
-
-<h4>Cleanup and Miscellaneous:</h4>
-
-<p>xmlCatalogCleanup() free-up the global catalog, xmlCatalogFreeLocal() is
-the per-document equivalent.</p>
-
-<p>xmlCatalogAdd() and xmlCatalogRemove() are used to dynamically modify the
-first catalog in the global list, and xmlCatalogDump() allows to dump a
-catalog state, those routines are primarily designed for xmlcatalog, I'm not
-sure that exposing more complex interfaces (like navigation ones) would be
-really useful.</p>
-
-<p>The xmlParseCatalogFile() is a function used to load XML Catalog files,
-it's similar as xmlParseFile() except it bypass all catalog lookups, it's
-provided because this functionality may be useful for client tools.</p>
-
-<h4>threaded environments:</h4>
-
-<p>Since the catalog tree is built progressively, some care has been taken to
-try to avoid troubles in multithreaded environments. The code is now thread
-safe assuming that the libxml2 library has been compiled with threads
-support.</p>
-
-<p></p>
-
-<h3><a name="Other">Other resources</a></h3>
-
-<p>The XML Catalog specification is relatively recent so there isn't much
-literature to point at:</p>
-<ul>
-  <li>You can find a good rant from Norm Walsh about <a
-    href="http://www.arbortext.com/Think_Tank/XML_Resources/Issue_Three/issue_three.html">the
-    need for catalogs</a>, it provides a lot of context information even if
-    I don't agree with everything presented. Norm also wrote a more recent
-    article <a
-    href="http://wwws.sun.com/software/xml/developers/resolver/article/">XML
-    entities and URI resolvers</a> describing them.</li>
-  <li>An <a href="http://home.ccil.org/~cowan/XML/XCatalog.html">old XML
-    catalog proposal</a> from John Cowan</li>
-  <li>The <a href="http://www.rddl.org/">Resource Directory Description
-    Language</a> (RDDL) another catalog system but more oriented toward
-    providing metadata for XML namespaces.</li>
-  <li>the page from the OASIS Technical <a
-    href="http://www.oasis-open.org/committees/entity/">Committee on Entity
-    Resolution</a> who maintains XML Catalog, you will find pointers to the
-    specification update, some background and pointers to others tools
-    providing XML Catalog support</li>
-  <li>There is a <a href="buildDocBookCatalog">shell script</a> to generate
-    XML Catalogs for DocBook 4.1.2 . If it can write to the /etc/xml/
-    directory, it will set-up /etc/xml/catalog and /etc/xml/docbook based on
-    the resources found on the system. Otherwise it will just create
-    ~/xmlcatalog and ~/dbkxmlcatalog and doing:
-    <p><code>export XML_CATALOG_FILES=$HOME/xmlcatalog</code></p>
-    <p>should allow to process DocBook documentations without requiring
-    network accesses for the DTD or stylesheets</p>
-  </li>
-  <li>I have uploaded <a href="ftp://xmlsoft.org/libxml2/test/dbk412catalog.tar.gz">a
-    small tarball</a> containing XML Catalogs for DocBook 4.1.2 which seems
-    to work fine for me too</li>
-  <li>The <a href="http://www.xmlsoft.org/xmlcatalog_man.html">xmlcatalog
-    manual page</a></li>
-</ul>
-
-<p>If you have suggestions for corrections or additions, simply contact
-me:</p>
-
-<h2><a name="library">The parser interfaces</a></h2>
-
-<p>This section is directly intended to help programmers getting bootstrapped
-using the XML tollkit from the C language. It is not intended to be
-extensive. I hope the automatically generated documents will provide the
-completeness required, but as a separate set of documents. The interfaces of
-the XML parser are by principle low level, Those interested in a higher level
-API should <a href="#DOM">look at DOM</a>.</p>
-
-<p>The <a href="html/libxml-parser.html">parser interfaces for XML</a> are
-separated from the <a href="html/libxml-htmlparser.html">HTML parser
-interfaces</a>.  Let's have a look at how the XML parser can be called:</p>
-
-<h3><a name="Invoking">Invoking the parser : the pull method</a></h3>
-
-<p>Usually, the first thing to do is to read an XML input. The parser accepts
-documents either from in-memory strings or from files.  The functions are
-defined in "parser.h":</p>
-<dl>
-  <dt><code>xmlDocPtr xmlParseMemory(char *buffer, int size);</code></dt>
-    <dd><p>Parse a null-terminated string containing the document.</p>
-    </dd>
-</dl>
-<dl>
-  <dt><code>xmlDocPtr xmlParseFile(const char *filename);</code></dt>
-    <dd><p>Parse an XML document contained in a (possibly compressed)
-      file.</p>
-    </dd>
-</dl>
-
-<p>The parser returns a pointer to the document structure (or NULL in case of
-failure).</p>
-
-<h3 id="Invoking1">Invoking the parser: the push method</h3>
-
-<p>In order for the application to keep the control when the document is
-being fetched (which is common for GUI based programs) libxml2 provides a
-push interface, too, as of version 1.8.3. Here are the interface
-functions:</p>
-<pre>xmlParserCtxtPtr xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
-                                         void *user_data,
-                                         const char *chunk,
-                                         int size,
-                                         const char *filename);
-int              xmlParseChunk          (xmlParserCtxtPtr ctxt,
-                                         const char *chunk,
-                                         int size,
-                                         int terminate);</pre>
-
-<p>and here is a simple example showing how to use the interface:</p>
-<pre>            FILE *f;
-
-            f = fopen(filename, "r");
-            if (f != NULL) {
-                int res, size = 1024;
-                char chars[1024];
-                xmlParserCtxtPtr ctxt;
-
-                res = fread(chars, 1, 4, f);
-                if (res &gt; 0) {
-                    ctxt = xmlCreatePushParserCtxt(NULL, NULL,
-                                chars, res, filename);
-                    while ((res = fread(chars, 1, size, f)) &gt; 0) {
-                        xmlParseChunk(ctxt, chars, res, 0);
-                    }
-                    xmlParseChunk(ctxt, chars, 0, 1);
-                    doc = ctxt-&gt;myDoc;
-                    xmlFreeParserCtxt(ctxt);
-                }
-            }</pre>
-
-<p>The HTML parser embedded into libxml2 also has a push interface; the
-functions are just prefixed by "html" rather than "xml".</p>
-
-<h3 id="Invoking2">Invoking the parser: the SAX interface</h3>
-
-<p>The tree-building interface makes the parser memory-hungry, first loading
-the document in memory and then building the tree itself. Reading a document
-without building the tree is possible using the SAX interfaces (see SAX.h and
-<a href="http://www.daa.com.au/~james/gnome/xml-sax/xml-sax.html">James
-Henstridge's documentation</a>). Note also that the push interface can be
-limited to SAX: just use the two first arguments of
-<code>xmlCreatePushParserCtxt()</code>.</p>
-
-<h3><a name="Building">Building a tree from scratch</a></h3>
-
-<p>The other way to get an XML tree in memory is by building it. Basically
-there is a set of functions dedicated to building new elements. (These are
-also described in &lt;libxml/tree.h&gt;.) For example, here is a piece of
-code that produces the XML document used in the previous examples:</p>
-<pre>    #include &lt;libxml/tree.h&gt;
-    xmlDocPtr doc;
-    xmlNodePtr tree, subtree;
-
-    doc = xmlNewDoc("1.0");
-    doc-&gt;children = xmlNewDocNode(doc, NULL, "EXAMPLE", NULL);
-    xmlSetProp(doc-&gt;children, "prop1", "gnome is great");
-    xmlSetProp(doc-&gt;children, "prop2", "&amp; linux too");
-    tree = xmlNewChild(doc-&gt;children, NULL, "head", NULL);
-    subtree = xmlNewChild(tree, NULL, "title", "Welcome to Gnome");
-    tree = xmlNewChild(doc-&gt;children, NULL, "chapter", NULL);
-    subtree = xmlNewChild(tree, NULL, "title", "The Linux adventure");
-    subtree = xmlNewChild(tree, NULL, "p", "bla bla bla ...");
-    subtree = xmlNewChild(tree, NULL, "image", NULL);
-    xmlSetProp(subtree, "href", "linus.gif");</pre>
-
-<p>Not really rocket science ...</p>
-
-<h3><a name="Traversing">Traversing the tree</a></h3>
-
-<p>Basically by <a href="html/libxml-tree.html">including "tree.h"</a> your
-code has access to the internal structure of all the elements of the tree.
-The names should be somewhat simple like <strong>parent</strong>,
-<strong>children</strong>, <strong>next</strong>, <strong>prev</strong>,
-<strong>properties</strong>, etc... For example, still with the previous
-example:</p>
-<pre><code>doc-&gt;children-&gt;children-&gt;children</code></pre>
-
-<p>points to the title element,</p>
-<pre>doc-&gt;children-&gt;children-&gt;next-&gt;children-&gt;children</pre>
-
-<p>points to the text node containing the chapter title "The Linux
-adventure".</p>
-
-<p><strong>NOTE</strong>: XML allows <em>PI</em>s and <em>comments</em> to be
-present before the document root, so <code>doc-&gt;children</code> may point
-to an element which is not the document Root Element; a function
-<code>xmlDocGetRootElement()</code> was added for this purpose.</p>
-
-<h3><a name="Modifying">Modifying the tree</a></h3>
-
-<p>Functions are provided for reading and writing the document content. Here
-is an excerpt from the <a href="html/libxml-tree.html">tree API</a>:</p>
-<dl>
-  <dt><code>xmlAttrPtr xmlSetProp(xmlNodePtr node, const xmlChar *name, const
-  xmlChar *value);</code></dt>
-    <dd><p>This sets (or changes) an attribute carried by an ELEMENT node.
-      The value can be NULL.</p>
-    </dd>
-</dl>
-<dl>
-  <dt><code>const xmlChar *xmlGetProp(xmlNodePtr node, const xmlChar
-  *name);</code></dt>
-    <dd><p>This function returns a pointer to new copy of the property
-      content. Note that the user must deallocate the result.</p>
-    </dd>
-</dl>
-
-<p>Two functions are provided for reading and writing the text associated
-with elements:</p>
-<dl>
-  <dt><code>xmlNodePtr xmlStringGetNodeList(xmlDocPtr doc, const xmlChar
-  *value);</code></dt>
-    <dd><p>This function takes an "external" string and converts it to one
-      text node or possibly to a list of entity and text nodes. All
-      non-predefined entity references like &amp;Gnome; will be stored
-      internally as entity nodes, hence the result of the function may not be
-      a single node.</p>
-    </dd>
-</dl>
-<dl>
-  <dt><code>xmlChar *xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int
-  inLine);</code></dt>
-    <dd><p>This function is the inverse of
-      <code>xmlStringGetNodeList()</code>. It generates a new string
-      containing the content of the text and entity nodes. Note the extra
-      argument inLine. If this argument is set to 1, the function will expand
-      entity references.  For example, instead of returning the &amp;Gnome;
-      XML encoding in the string, it will substitute it with its value (say,
-      "GNU Network Object Model Environment").</p>
-    </dd>
-</dl>
-
-<h3><a name="Saving">Saving a tree</a></h3>
-
-<p>Basically 3 options are possible:</p>
-<dl>
-  <dt><code>void xmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int
-  *size);</code></dt>
-    <dd><p>Returns a buffer into which the document has been saved.</p>
-    </dd>
-</dl>
-<dl>
-  <dt><code>extern void xmlDocDump(FILE *f, xmlDocPtr doc);</code></dt>
-    <dd><p>Dumps a document to an open file descriptor.</p>
-    </dd>
-</dl>
-<dl>
-  <dt><code>int xmlSaveFile(const char *filename, xmlDocPtr cur);</code></dt>
-    <dd><p>Saves the document to a file. In this case, the compression
-      interface is triggered if it has been turned on.</p>
-    </dd>
-</dl>
-
-<h3><a name="Compressio">Compression</a></h3>
-
-<p>The library transparently handles compression when doing file-based
-accesses. The level of compression on saves can be turned on either globally
-or individually for one file:</p>
-<dl>
-  <dt><code>int  xmlGetDocCompressMode (xmlDocPtr doc);</code></dt>
-    <dd><p>Gets the document compression ratio (0-9).</p>
-    </dd>
-</dl>
-<dl>
-  <dt><code>void xmlSetDocCompressMode (xmlDocPtr doc, int mode);</code></dt>
-    <dd><p>Sets the document compression ratio.</p>
-    </dd>
-</dl>
-<dl>
-  <dt><code>int  xmlGetCompressMode(void);</code></dt>
-    <dd><p>Gets the default compression ratio.</p>
-    </dd>
-</dl>
-<dl>
-  <dt><code>void xmlSetCompressMode(int mode);</code></dt>
-    <dd><p>Sets the default compression ratio.</p>
-    </dd>
-</dl>
-
-<h2><a name="Entities">Entities or no entities</a></h2>
-
-<p>Entities in principle are similar to simple C macros. An entity defines an
-abbreviation for a given string that you can reuse many times throughout the
-content of your document. Entities are especially useful when a given string
-may occur frequently within a document, or to confine the change needed to a
-document to a restricted area in the internal subset of the document (at the
-beginning). Example:</p>
-<pre>1 &lt;?xml version="1.0"?&gt;
-2 &lt;!DOCTYPE EXAMPLE SYSTEM "example.dtd" [
-3 &lt;!ENTITY xml "Extensible Markup Language"&gt;
-4 ]&gt;
-5 &lt;EXAMPLE&gt;
-6    &amp;xml;
-7 &lt;/EXAMPLE&gt;</pre>
-
-<p>Line 3 declares the xml entity. Line 6 uses the xml entity, by prefixing
-its name with '&amp;' and following it by ';' without any spaces added. There
-are 5 predefined entities in libxml2 allowing you to escape characters with
-predefined meaning in some parts of the xml document content:
-<strong>&amp;lt;</strong> for the character '&lt;', <strong>&amp;gt;</strong>
-for the character '&gt;',  <strong>&amp;apos;</strong> for the character ''',
-<strong>&amp;quot;</strong> for the character '"', and
-<strong>&amp;amp;</strong> for the character '&amp;'.</p>
-
-<p>One of the problems related to entities is that you may want the parser to
-substitute an entity's content so that you can see the replacement text in
-your application. Or you may prefer to keep entity references as such in the
-content to be able to save the document back without losing this usually
-precious information (if the user went through the pain of explicitly
-defining entities, he may have a a rather negative attitude if you blindly
-substitute them as saving time). The <a
-href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault()</a>
-function allows you to check and change the behaviour, which is to not
-substitute entities by default.</p>
-
-<p>Here is the DOM tree built by libxml2 for the previous document in the
-default case:</p>
-<pre>/gnome/src/gnome-xml -&gt; ./xmllint --debug test/ent1
-DOCUMENT
-version=1.0
-   ELEMENT EXAMPLE
-     TEXT
-     content=
-     ENTITY_REF
-       INTERNAL_GENERAL_ENTITY xml
-       content=Extensible Markup Language
-     TEXT
-     content=</pre>
-
-<p>And here is the result when substituting entities:</p>
-<pre>/gnome/src/gnome-xml -&gt; ./tester --debug --noent test/ent1
-DOCUMENT
-version=1.0
-   ELEMENT EXAMPLE
-     TEXT
-     content=     Extensible Markup Language</pre>
-
-<p>So, entities or no entities? Basically, it depends on your use case. I
-suggest that you keep the non-substituting default behaviour and avoid using
-entities in your XML document or data if you are not willing to handle the
-entity references elements in the DOM tree.</p>
-
-<p>Note that at save time libxml2 enforces the conversion of the predefined
-entities where necessary to prevent well-formedness problems, and will also
-transparently replace those with chars (i.e. it will not generate entity
-reference elements in the DOM tree or call the reference() SAX callback when
-finding them in the input).</p>
-
-<p><span style="background-color: #FF0000">WARNING</span>: handling entities
-on top of the libxml2 SAX interface is difficult!!! If you plan to use
-non-predefined entities in your documents, then the learning curve to handle
-then using the SAX API may be long. If you plan to use complex documents, I
-strongly suggest you consider using the DOM interface instead and let libxml
-deal with the complexity rather than trying to do it yourself.</p>
-
-<h2><a name="Namespaces">Namespaces</a></h2>
-
-<p>The libxml2 library implements <a
-href="http://www.w3.org/TR/REC-xml-names/">XML namespaces</a> support by
-recognizing namespace constructs in the input, and does namespace lookup
-automatically when building the DOM tree. A namespace declaration is
-associated with an in-memory structure and all elements or attributes within
-that namespace point to it. Hence testing the namespace is a simple and fast
-equality operation at the user level.</p>
-
-<p>I suggest that people using libxml2 use a namespace, and declare it in the
-root element of their document as the default namespace. Then they don't need
-to use the prefix in the content but we will have a basis for future semantic
-refinement and  merging of data from different sources. This doesn't increase
-the size of the XML output significantly, but significantly increases its
-value in the long-term. Example:</p>
-<pre>&lt;mydoc xmlns="http://mydoc.example.org/schemas/"&gt;
-   &lt;elem1&gt;...&lt;/elem1&gt;
-   &lt;elem2&gt;...&lt;/elem2&gt;
-&lt;/mydoc&gt;</pre>
-
-<p>The namespace value has to be an absolute URL, but the URL doesn't have to
-point to any existing resource on the Web. It will bind all the element and
-attributes with that URL. I suggest to use an URL within a domain you
-control, and that the URL should contain some kind of version information if
-possible. For example, <code>"http://www.gnome.org/gnumeric/1.0/"</code> is a
-good namespace scheme.</p>
-
-<p>Then when you load a file, make sure that a namespace carrying the
-version-independent prefix is installed on the root element of your document,
-and if the version information don't match something you know, warn the user
-and be liberal in what you accept as the input. Also do *not* try to base
-namespace checking on the prefix value. &lt;foo:text&gt; may be exactly the
-same as &lt;bar:text&gt; in another document. What really matters is the URI
-associated with the element or the attribute, not the prefix string (which is
-just a shortcut for the full URI). In libxml, element and attributes have an
-<code>ns</code> field pointing to an xmlNs structure detailing the namespace
-prefix and its URI.</p>
-
-<p>@@Interfaces@@</p>
-<pre>xmlNodePtr node;
-if(!strncmp(node-&gt;name,"mytag",5)
-  &amp;&amp; node-&gt;ns
-  &amp;&amp; !strcmp(node-&gt;ns-&gt;href,"http://www.mysite.com/myns/1.0")) {
-  ...
-}</pre>
-
-<p>Usually people object to using namespaces together with validity checking.
-I will try to make sure that using namespaces won't break validity checking,
-so even if you plan to use or currently are using validation I strongly
-suggest adding namespaces to your document. A default namespace scheme
-<code>xmlns="http://...."</code> should not break validity even on less
-flexible parsers. Using namespaces to mix and differentiate content coming
-from multiple DTDs will certainly break current validation schemes. To check
-such documents one needs to use schema-validation, which is supported in
-libxml2 as well. See <a href="http://www.relaxng.org/">relagx-ng</a> and <a
-href="http://www.w3c.org/XML/Schema">w3c-schema</a>.</p>
-
-<h2><a name="Upgrading">Upgrading 1.x code</a></h2>
-
-<p>Incompatible changes:</p>
-
-<p>Version 2 of libxml2 is the first version introducing serious backward
-incompatible changes. The main goals were:</p>
-<ul>
-  <li>a general cleanup. A number of mistakes inherited from the very early
-    versions couldn't be changed due to compatibility constraints. Example
-    the "childs" element in the nodes.</li>
-  <li>Uniformization of the various nodes, at least for their header and link
-    parts (doc, parent, children, prev, next), the goal is a simpler
-    programming model and simplifying the task of the DOM implementors.</li>
-  <li>better conformances to the XML specification, for example version 1.x
-    had an heuristic to try to detect ignorable white spaces. As a result the
-    SAX event generated were ignorableWhitespace() while the spec requires
-    character() in that case. This also mean that a number of DOM node
-    containing blank text may populate the DOM tree which were not present
-    before.</li>
-</ul>
-
-<h3>How to fix libxml-1.x code:</h3>
-
-<p>So client code of libxml designed to run with version 1.x may have to be
-changed to compile against version 2.x of libxml. Here is a list of changes
-that I have collected, they may not be sufficient, so in case you find other
-change which are required, <a href="mailto:Daniel.Veillard@w3.org">drop me a
-mail</a>:</p>
-<ol>
-  <li>The package name have changed from libxml to libxml2, the library name
-    is now -lxml2 . There is a new xml2-config script which should be used to
-    select the right parameters libxml2</li>
-  <li>Node <strong>childs</strong> field has been renamed
-    <strong>children</strong> so s/childs/children/g should be  applied
-    (probability of having "childs" anywhere else is close to 0+</li>
-  <li>The document don't have anymore a <strong>root</strong> element it has
-    been replaced by <strong>children</strong> and usually you will get a
-    list of element here. For example a Dtd element for the internal subset
-    and it's declaration may be found in that list, as well as processing
-    instructions or comments found before or after the document root element.
-    Use <strong>xmlDocGetRootElement(doc)</strong> to get the root element of
-    a document. Alternatively if you are sure to not reference DTDs nor have
-    PIs or comments before or after the root element
-    s/-&gt;root/-&gt;children/g will probably do it.</li>
-  <li>The white space issue, this one is more complex, unless special case of
-    validating parsing, the line breaks and spaces usually used for indenting
-    and formatting the document content becomes significant. So they are
-    reported by SAX and if your using the DOM tree, corresponding nodes are
-    generated. Too approach can be taken:
-    <ol>
-      <li>lazy one, use the compatibility call
-        <strong>xmlKeepBlanksDefault(0)</strong> but be aware that you are
-        relying on a special (and possibly broken) set of heuristics of
-        libxml to detect ignorable blanks. Don't complain if it breaks or
-        make your application not 100% clean w.r.t. to it's input.</li>
-      <li>the Right Way: change you code to accept possibly insignificant
-        blanks characters, or have your tree populated with weird blank text
-        nodes. You can spot them using the commodity function
-        <strong>xmlIsBlankNode(node)</strong> returning 1 for such blank
-        nodes.</li>
-    </ol>
-    <p>Note also that with the new default the output functions don't add any
-    extra indentation when saving a tree in order to be able to round trip
-    (read and save) without inflating the document with extra formatting
-    chars.</p>
-  </li>
-  <li>The include path has changed to $prefix/libxml/ and the includes
-    themselves uses this new prefix in includes instructions... If you are
-    using (as expected) the
-    <pre>xml2-config --cflags</pre>
-    <p>output to generate you compile commands this will probably work out of
-    the box</p>
-  </li>
-  <li>xmlDetectCharEncoding takes an extra argument indicating the length in
-    byte of the head of the document available for character detection.</li>
-</ol>
-
-<h3>Ensuring both libxml-1.x and libxml-2.x compatibility</h3>
-
-<p>Two new version of libxml (1.8.11) and libxml2 (2.3.4) have been released
-to allow smooth upgrade of existing libxml v1code while retaining
-compatibility. They offers the following:</p>
-<ol>
-  <li>similar include naming, one should use
-    <strong>#include&lt;libxml/...&gt;</strong> in both cases.</li>
-  <li>similar identifiers defined via macros for the child and root fields:
-    respectively <strong>xmlChildrenNode</strong> and
-    <strong>xmlRootNode</strong></li>
-  <li>a new macro <strong>LIBXML_TEST_VERSION</strong> which should be
-    inserted once in the client code</li>
-</ol>
-
-<p>So the roadmap to upgrade your existing libxml applications is the
-following:</p>
-<ol>
-  <li>install the  libxml-1.8.8 (and libxml-devel-1.8.8) packages</li>
-  <li>find all occurrences where the xmlDoc <strong>root</strong> field is
-    used and change it to <strong>xmlRootNode</strong></li>
-  <li>similarly find all occurrences where the xmlNode
-    <strong>childs</strong> field is used and change it to
-    <strong>xmlChildrenNode</strong></li>
-  <li>add a <strong>LIBXML_TEST_VERSION</strong> macro somewhere in your
-    <strong>main()</strong> or in the library init entry point</li>
-  <li>Recompile, check compatibility, it should still work</li>
-  <li>Change your configure script to look first for xml2-config and fall
-    back using xml-config . Use the --cflags and --libs output of the command
-    as the Include and Linking parameters needed to use libxml.</li>
-  <li>install libxml2-2.3.x and  libxml2-devel-2.3.x (libxml-1.8.y and
-    libxml-devel-1.8.y can be kept simultaneously)</li>
-  <li>remove your config.cache, relaunch your configuration mechanism, and
-    recompile, if steps 2 and 3 were done right it should compile as-is</li>
-  <li>Test that your application is still running correctly, if not this may
-    be due to extra empty nodes due to formatting spaces being kept in libxml2
-    contrary to libxml1, in that case insert xmlKeepBlanksDefault(1) in your
-    code before calling the parser (next to
-    <strong>LIBXML_TEST_VERSION</strong> is a fine place).</li>
-</ol>
-
-<p>Following those steps should work. It worked for some of my own code.</p>
-
-<p>Let me put some emphasis on the fact that there is far more changes from
-libxml 1.x to 2.x than the ones you may have to patch for. The overall code
-has been considerably cleaned up and the conformance to the XML specification
-has been drastically improved too. Don't take those changes as an excuse to
-not upgrade, it may cost a lot on the long term ...</p>
-
-<h2><a name="Thread">Thread safety</a></h2>
-
-<p>Starting with 2.4.7, libxml2 makes provisions to ensure that concurrent
-threads can safely work in parallel parsing different documents. There is
-however a couple of things to do to ensure it:</p>
-<ul>
-  <li>configure the library accordingly using the --with-threads options</li>
-  <li>call xmlInitParser() in the "main" thread before using any of the
-    libxml2 API (except possibly selecting a different memory allocator)</li>
-</ul>
-
-<p>Note that the thread safety cannot be ensured for multiple threads sharing
-the same document, the locking must be done at the application level, libxml
-exports a basic mutex and reentrant mutexes API in &lt;libxml/threads.h&gt;.
-The parts of the library checked for thread safety are:</p>
-<ul>
-  <li>concurrent loading</li>
-  <li>file access resolution</li>
-  <li>catalog access</li>
-  <li>catalog building</li>
-  <li>entities lookup/accesses</li>
-  <li>validation</li>
-  <li>global variables per-thread override</li>
-  <li>memory handling</li>
-</ul>
-
-<p>XPath has been tested for threaded usage on non-modified document
-   for example when using libxslt, but make 100% sure the documents
-   are accessed read-only !</p>
-
-<h2><a name="DOM"></a><a name="Principles">DOM Principles</a></h2>
-
-<p><a href="http://www.w3.org/DOM/">DOM</a> stands for the <em>Document
-Object Model</em>; this is an API for accessing XML or HTML structured
-documents. Native support for DOM in Gnome is on the way (module gnome-dom),
-and will be based on gnome-xml. This will be a far cleaner interface to
-manipulate XML files within Gnome since it won't expose the internal
-structure.</p>
-
-<p>The current DOM implementation on top of libxml2 is the <a
-href="http://svn.gnome.org/viewvc/gdome2/trunk/">gdome2 Gnome module</a>, this
-is a full DOM interface, thanks to Paolo Casarini, check the <a
-href="http://gdome2.cs.unibo.it/">Gdome2 homepage</a> for more
-information.</p>
-
-<h2><a name="Example"></a><a name="real">A real example</a></h2>
-
-<p>Here is a real size example, where the actual content of the application
-data is not kept in the DOM tree but uses internal structures. It is based on
-a proposal to keep a database of jobs related to Gnome, with an XML based
-storage structure. Here is an <a href="gjobs.xml">XML encoded jobs
-base</a>:</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;gjob:Helping xmlns:gjob="http://www.gnome.org/some-location"&gt;
-  &lt;gjob:Jobs&gt;
-
-    &lt;gjob:Job&gt;
-      &lt;gjob:Project ID="3"/&gt;
-      &lt;gjob:Application&gt;GBackup&lt;/gjob:Application&gt;
-      &lt;gjob:Category&gt;Development&lt;/gjob:Category&gt;
-
-      &lt;gjob:Update&gt;
-        &lt;gjob:Status&gt;Open&lt;/gjob:Status&gt;
-        &lt;gjob:Modified&gt;Mon, 07 Jun 1999 20:27:45 -0400 MET DST&lt;/gjob:Modified&gt;
-        &lt;gjob:Salary&gt;USD 0.00&lt;/gjob:Salary&gt;
-      &lt;/gjob:Update&gt;
-
-      &lt;gjob:Developers&gt;
-        &lt;gjob:Developer&gt;
-        &lt;/gjob:Developer&gt;
-      &lt;/gjob:Developers&gt;
-
-      &lt;gjob:Contact&gt;
-        &lt;gjob:Person&gt;Nathan Clemons&lt;/gjob:Person&gt;
-        &lt;gjob:Email&gt;nathan@windsofstorm.net&lt;/gjob:Email&gt;
-        &lt;gjob:Company&gt;
-        &lt;/gjob:Company&gt;
-        &lt;gjob:Organisation&gt;
-        &lt;/gjob:Organisation&gt;
-        &lt;gjob:Webpage&gt;
-        &lt;/gjob:Webpage&gt;
-        &lt;gjob:Snailmail&gt;
-        &lt;/gjob:Snailmail&gt;
-        &lt;gjob:Phone&gt;
-        &lt;/gjob:Phone&gt;
-      &lt;/gjob:Contact&gt;
-
-      &lt;gjob:Requirements&gt;
-      The program should be released as free software, under the GPL.
-      &lt;/gjob:Requirements&gt;
-
-      &lt;gjob:Skills&gt;
-      &lt;/gjob:Skills&gt;
-
-      &lt;gjob:Details&gt;
-      A GNOME based system that will allow a superuser to configure 
-      compressed and uncompressed files and/or file systems to be backed 
-      up with a supported media in the system.  This should be able to 
-      perform via find commands generating a list of files that are passed 
-      to tar, dd, cpio, cp, gzip, etc., to be directed to the tape machine 
-      or via operations performed on the filesystem itself. Email 
-      notification and GUI status display very important.
-      &lt;/gjob:Details&gt;
-
-    &lt;/gjob:Job&gt;
-
-  &lt;/gjob:Jobs&gt;
-&lt;/gjob:Helping&gt;</pre>
-
-<p>While loading the XML file into an internal DOM tree is a matter of
-calling only a couple of functions, browsing the tree to gather the data and
-generate the internal structures is harder, and more error prone.</p>
-
-<p>The suggested principle is to be tolerant with respect to the input
-structure. For example, the ordering of the attributes is not significant,
-the XML specification is clear about it. It's also usually a good idea not to
-depend on the order of the children of a given node, unless it really makes
-things harder. Here is some code to parse the information for a person:</p>
-<pre>/*
- * A person record
- */
-typedef struct person {
-    char *name;
-    char *email;
-    char *company;
-    char *organisation;
-    char *smail;
-    char *webPage;
-    char *phone;
-} person, *personPtr;
-
-/*
- * And the code needed to parse it
- */
-personPtr parsePerson(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
-    personPtr ret = NULL;
-
-DEBUG("parsePerson\n");
-    /*
-     * allocate the struct
-     */
-    ret = (personPtr) malloc(sizeof(person));
-    if (ret == NULL) {
-        fprintf(stderr,"out of memory\n");
-        return(NULL);
-    }
-    memset(ret, 0, sizeof(person));
-
-    /* We don't care what the top level element name is */
-    cur = cur-&gt;xmlChildrenNode;
-    while (cur != NULL) {
-        if ((!strcmp(cur-&gt;name, "Person")) &amp;&amp; (cur-&gt;ns == ns))
-            ret-&gt;name = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
-        if ((!strcmp(cur-&gt;name, "Email")) &amp;&amp; (cur-&gt;ns == ns))
-            ret-&gt;email = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
-        cur = cur-&gt;next;
-    }
-
-    return(ret);
-}</pre>
-
-<p>Here are a couple of things to notice:</p>
-<ul>
-  <li>Usually a recursive parsing style is the more convenient one: XML data
-    is by nature subject to repetitive constructs and usually exhibits highly
-    structured patterns.</li>
-  <li>The two arguments of type <em>xmlDocPtr</em> and <em>xmlNsPtr</em>,
-    i.e. the pointer to the global XML document and the namespace reserved to
-    the application. Document wide information are needed for example to
-    decode entities and it's a good coding practice to define a namespace for
-    your application set of data and test that the element and attributes
-    you're analyzing actually pertains to your application space. This is
-    done by a simple equality test (cur-&gt;ns == ns).</li>
-  <li>To retrieve text and attributes value, you can use the function
-    <em>xmlNodeListGetString</em> to gather all the text and entity reference
-    nodes generated by the DOM output and produce an single text string.</li>
-</ul>
-
-<p>Here is another piece of code used to parse another level of the
-structure:</p>
-<pre>#include &lt;libxml/tree.h&gt;
-/*
- * a Description for a Job
- */
-typedef struct job {
-    char *projectID;
-    char *application;
-    char *category;
-    personPtr contact;
-    int nbDevelopers;
-    personPtr developers[100]; /* using dynamic alloc is left as an exercise */
-} job, *jobPtr;
-
-/*
- * And the code needed to parse it
- */
-jobPtr parseJob(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
-    jobPtr ret = NULL;
-
-DEBUG("parseJob\n");
-    /*
-     * allocate the struct
-     */
-    ret = (jobPtr) malloc(sizeof(job));
-    if (ret == NULL) {
-        fprintf(stderr,"out of memory\n");
-        return(NULL);
-    }
-    memset(ret, 0, sizeof(job));
-
-    /* We don't care what the top level element name is */
-    cur = cur-&gt;xmlChildrenNode;
-    while (cur != NULL) {
-        
-        if ((!strcmp(cur-&gt;name, "Project")) &amp;&amp; (cur-&gt;ns == ns)) {
-            ret-&gt;projectID = xmlGetProp(cur, "ID");
-            if (ret-&gt;projectID == NULL) {
-                fprintf(stderr, "Project has no ID\n");
-            }
-        }
-        if ((!strcmp(cur-&gt;name, "Application")) &amp;&amp; (cur-&gt;ns == ns))
-            ret-&gt;application = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
-        if ((!strcmp(cur-&gt;name, "Category")) &amp;&amp; (cur-&gt;ns == ns))
-            ret-&gt;category = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
-        if ((!strcmp(cur-&gt;name, "Contact")) &amp;&amp; (cur-&gt;ns == ns))
-            ret-&gt;contact = parsePerson(doc, ns, cur);
-        cur = cur-&gt;next;
-    }
-
-    return(ret);
-}</pre>
-
-<p>Once you are used to it, writing this kind of code is quite simple, but
-boring. Ultimately, it could be possible to write stubbers taking either C
-data structure definitions, a set of XML examples or an XML DTD and produce
-the code needed to import and export the content between C data and XML
-storage. This is left as an exercise to the reader :-)</p>
-
-<p>Feel free to use <a href="example/gjobread.c">the code for the full C
-parsing example</a> as a template, it is also available with Makefile in the
-Gnome SVN base under libxml2/example</p>
-
-<h2><a name="Contributi">Contributions</a></h2>
-<ul>
-  <li>Bjorn Reese, William Brack and Thomas Broyer have provided a number of
-    patches, Gary Pennington worked on the validation API, threading support
-    and Solaris port.</li>
-  <li>John Fleck helps maintaining the documentation and man pages.</li>
-  <li><a href="mailto:igor@zlatkovic.com">Igor  Zlatkovic</a> is now the
-    maintainer of the Windows port, <a
-    href="http://www.zlatkovic.com/projects/libxml/index.html">he provides
-    binaries</a></li>
-  <li><a href="mailto:Gary.Pennington@sun.com">Gary Pennington</a> provides
-    <a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
-  <li><a
-    href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
-    Sergeant</a> developed <a
-    href="http://axkit.org/download/">XML::LibXSLT</a>, a Perl wrapper for
-    libxml2/libxslt as part of the <a href="http://axkit.com/">AxKit XML
-    application server</a></li>
-  <li><a href="mailto:fnatter@gmx.net">Felix Natter</a> and <a
-    href="mailto:geertk@ai.rug.nl">Geert Kloosterman</a> provide <a
-    href="libxml-doc.el">an emacs module</a> to lookup libxml(2) functions
-    documentation</li>
-  <li><a href="mailto:sherwin@nlm.nih.gov">Ziying Sherwin</a> provided <a
-    href="http://xmlsoft.org/messages/0488.html">man pages</a></li>
-  <li>there is a module for <a
-    href="http://acs-misc.sourceforge.net/nsxml.html">libxml/libxslt support
-    in OpenNSD/AOLServer</a></li>
-  <li><a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provided the
-    first version of libxml/libxslt <a
-    href="http://www.rexx.com/~dkuhlman">wrappers for Python</a></li>
-  <li>Petr Kozelka provides <a
-    href="http://sourceforge.net/projects/libxml2-pas">Pascal units to glue
-    libxml2</a> with Kylix and Delphi and other Pascal compilers</li>
-  <li><a href="mailto:aleksey@aleksey.com">Aleksey Sanin</a> implemented the
-    <a href="http://www.w3.org/Signature/">XML Canonicalization and XML
-    Digital Signature</a> <a
-    href="http://www.aleksey.com/xmlsec/">implementations for libxml2</a></li>
-  <li><a href="mailto:Steve.Ball@explain.com.au">Steve Ball</a> and
-    contributors maintain <a href="http://tclxml.sourceforge.net/">tcl
-    bindings for libxml2 and libxslt</a>, as well as <a
-    href="http://tclxml.sf.net/tkxmllint.html">tkxmllint</a> a GUI for
-    xmllint and <a href="http://tclxml.sf.net/tkxsltproc.html">tkxsltproc</a>
-    a GUI for xsltproc.</li>
-</ul>
-
-<p></p>
-</body>
-</html>
diff --git a/doc/xml2-config.1 b/doc/xml2-config.1
new file mode 100644
index 0000000..9bfc979
--- /dev/null
+++ b/doc/xml2-config.1
@@ -0,0 +1,32 @@
+.TH xml2-config 1 "3 April 2022" Version 1.2.0
+.SH NAME
+xml2-config - script to get information about the installed version of libxml2
+.SH SYNOPSIS
+.B xml2-config
+[\-\-prefix\fI[=DIR]\fP] [\-\-libs] [\-\-cflags] [\-\-version] [\-\-help]
+.SH DESCRIPTION
+\fIxml2-config\fP is a tool that is used to determine the compile and
+linker flags that should be used to compile and link programs that use
+\fIlibxml2\fP.
+.SH OPTIONS
+\fIxml2-config\fP accepts the following options:
+.TP 8
+.B  \-\-version
+Print the currently installed version of \fIlibxml2\fP on the standard output.
+.TP 8
+.B  \-\-libs
+Print the linker flags that are necessary to link a \fIlibxml2\fP program.
+Add \-\-dynamic after \-\-libs to print only shared library linking
+information.
+.TP 8
+.B  \-\-cflags
+Print the compiler flags that are necessary to compile a \fIlibxml2\fP program.
+.TP 8
+.B  \-\-prefix=PREFIX
+If specified, use PREFIX instead of the installation prefix that
+\fIlibxml2\fP was built with when computing the output for the
+\-\-cflags and \-\-libs options. This option must be specified before
+any \-\-libs or \-\-cflags options.
+.SH AUTHOR
+This manual page was written by Fredrik Hallenberg <hallon@lysator.liu.se>,
+for the Debian GNU/linux system (but may be used by others).
diff --git a/doc/xmlcatalog.1 b/doc/xmlcatalog.1
index a570fd3..5605bea 100644
--- a/doc/xmlcatalog.1
+++ b/doc/xmlcatalog.1
@@ -2,12 +2,12 @@
 .\"     Title: xmlcatalog
 .\"    Author: John Fleck <jfleck@inkstain.net>
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 02/19/2022
+.\"      Date: 08/17/2022
 .\"    Manual: xmlcatalog Manual
 .\"    Source: libxml2
 .\"  Language: English
 .\"
-.TH "XMLCATALOG" "1" "02/19/2022" "libxml2" "xmlcatalog Manual"
+.TH "XMLCATALOG" "1" "08/17/2022" "libxml2" "xmlcatalog Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/doc/xmlcatalog_man.html b/doc/xmlcatalog.html
similarity index 100%
rename from doc/xmlcatalog_man.html
rename to doc/xmlcatalog.html
diff --git a/doc/xmlcatalog.xml b/doc/xmlcatalog.xml
new file mode 100644
index 0000000..bd3f682
--- /dev/null
+++ b/doc/xmlcatalog.xml
@@ -0,0 +1,475 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl"
+   href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+
+    <!ENTITY xmlcatalog "<command>xmlcatalog</command>">
+]>
+
+<refentry>
+
+<refentryinfo>
+    <title>xmlcatalog Manual</title>
+    <productname>libxml2</productname>
+    <copyright>
+        <year>2001</year>
+        <year>2004</year>
+    </copyright>
+    <author>
+        <firstname>John</firstname>
+        <surname>Fleck</surname>
+        <affiliation>
+            <address>
+                <email>jfleck@inkstain.net</email>
+            </address>
+        </affiliation>
+    </author>
+    <!-- still a bit buggy output, will talk to docbook-xsl upstream to fix this -->
+    <!-- <releaseinfo>This is release 0.3 of the xmlcatalog Manual.</releaseinfo> -->
+    <!-- <edition>0.3</edition> -->
+</refentryinfo>
+
+<refmeta>
+    <refentrytitle>xmlcatalog</refentrytitle>
+    <manvolnum>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+    <refname>xmlcatalog</refname>
+    <refpurpose>
+        Command line tool to parse and manipulate <acronym>XML</acronym>
+        or <acronym>SGML</acronym> catalog files.
+    </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+    <cmdsynopsis>
+    <command>xmlcatalog</command>
+    <group choice="opt">
+        <arg choice="plain"><option>--sgml</option></arg>
+        <arg choice="plain"><option>--shell</option></arg>
+        <arg choice="plain"><option>--convert</option></arg>
+        <arg choice="plain"><option>--create</option></arg>
+        <arg choice="plain"><option>--del <replaceable>VALUE(S)</replaceable></option></arg>
+        <arg choice="plain">
+            <group choice="opt">
+                <arg choice="plain">
+                    <option>--add
+                     <replaceable>TYPE</replaceable>
+                     <replaceable>ORIG</replaceable>
+                     <replaceable>REPLACE</replaceable>
+                    </option>
+                </arg>
+                <arg choice="plain"><option>--add <replaceable>FILENAME</replaceable></option></arg>
+            </group>
+        </arg>
+        <arg choice="plain"><option>--noout</option></arg>
+        <arg choice="plain"><option>--no-super-update</option></arg>
+        <arg choice="plain">
+            <group choice="opt">
+                <arg choice="plain"><option>-v</option></arg>
+                <arg choice="plain"><option>--verbose</option></arg>
+            </group>
+        </arg>
+    </group>
+    <arg choice="req" rep="norepeat"><replaceable>CATALOGFILE</replaceable></arg>
+    <arg choice="req" rep="repeat"><replaceable>ENTITIES</replaceable></arg>
+    </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1 id="description">
+    <title>DESCRIPTION</title>
+    <para>
+        &xmlcatalog; is a command line application allowing users to monitor and
+        manipulate <acronym>XML</acronym> and <acronym>SGML</acronym> catalogs. It
+        is included in <citerefentry>
+            <refentrytitle>libxml</refentrytitle>
+            <manvolnum>3</manvolnum>
+        </citerefentry>.
+    </para>
+    <para>
+        Its functions can be invoked from a single command from the command line,
+        or it can perform multiple functions in interactive mode. It can operate
+        on both <acronym>XML</acronym> and <acronym>SGML</acronym> files.
+    </para>
+</refsect1>
+
+<refsect1 id="options">
+    <title>OPTIONS</title>
+    <para>
+        &xmlcatalog; accepts the following options (in alphabetical order):
+    </para>
+
+    <variablelist>
+
+        <varlistentry>
+            <term>
+                <option>--add
+                 <replaceable>TYPE</replaceable>
+                 <replaceable>ORIG</replaceable>
+                 <replaceable>REPLACE</replaceable>
+                </option>
+            </term>
+            <listitem>
+                <para>
+                    Add an entry to <filename>CATALOGFILE</filename>. <replaceable>TYPE</replaceable>
+                    indicates the type of entry. Possible types are: <simplelist type="inline">
+                        <member><parameter>public</parameter></member>
+                        <member><parameter>system</parameter></member>
+                        <member><parameter>uri</parameter></member>
+                        <member><parameter>rewriteSystem</parameter></member>
+                        <member><parameter>rewriteURI</parameter></member>
+                        <member><parameter>delegatePublic</parameter></member>
+                        <member><parameter>delegateSystem</parameter></member>
+                        <member><parameter>delegateURI</parameter></member>
+                        <member><parameter>nextCatalog</parameter></member>
+                    </simplelist>. <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
+                    <filename>CATALOGFILE</filename>, outputting
+                    to <filename class="devicefile">stdout</filename>, 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 argument.
+                </para>
+                <!--
+                    FIXME - Is my list of possible types correct? Are SGML types the same?
+                -->
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>--add <replaceable>FILENAME</replaceable></option></term>
+            <listitem>
+                <para>
+                    If the <option>--add</option> option is used following
+                    the <option>--sgml</option> option, only a single argument,
+                    a <replaceable>FILENAME</replaceable>, is used. This is used to add
+                    the name of a catalog file to an <acronym>SGML</acronym> supercatalog,
+                    a file that contains references to other included <acronym>SGML</acronym>
+                    catalog files.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>--convert</option></term>
+            <listitem>
+                <para>
+                    Convert SGML catalog to XML.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>--create</option></term>
+            <listitem>
+                <para>
+                    Create a new <acronym>XML</acronym> catalog. Outputs
+                    to <filename class="devicefile">stdout</filename>,
+                    ignoring <replaceable>filename</replaceable> unless <option>--noout</option> is
+                    used, in which case it creates a new catalog
+                    file <replaceable>filename</replaceable>.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>--del <replaceable>VALUE(S)</replaceable></option></term>
+            <listitem>
+                <para>
+                    Remove entries from <replaceable>CATALOGFILE</replaceable>
+                    matching <replaceable>VALUE(S)</replaceable>. The <option>--del</option>
+                    option will not overwrite <replaceable>CATALOGFILE</replaceable>,
+                    outputting to <filename class="devicefile">stdout</filename>,
+                    unless <option>--noout</option> is used.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>--noout</option></term>
+            <listitem>
+                <para>
+                    Save output to the named file rather than outputting
+                    to <filename class="devicefile">stdout</filename>.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>--no-super-update</option></term>
+            <listitem>
+                <para>
+                    Do not update the <acronym>SGML</acronym> super catalog.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>--shell</option></term>
+            <listitem>
+                <para>
+                    Run a shell allowing interactive queries on catalog
+                    file <replaceable>CATALOGFILE</replaceable>. For the set of available
+                    commands see <xref linkend="shell"/>.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>--sgml</option></term>
+            <listitem>
+                <para>
+                    Uses <acronym>SGML</acronym> super catalogs for <option>--add</option>
+                    and <option>--del</option> options.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>-v</option></term>
+            <term><option>--verbose</option></term>
+            <listitem>
+                <para>Output debugging information.</para>
+            </listitem>
+        </varlistentry>
+
+    </variablelist>
+
+    <para>
+        Invoking &xmlcatalog; non-interactively without a designated action
+        (imposed with options like <option>--add</option>) will result in a lookup
+        of the catalog entry for <replaceable>ENTITIES</replaceable> in the
+        catalog denoted with <replaceable>CATALOGFILE</replaceable>. The
+        corresponding entries will be output to the command line. This mode of
+        operation, together with <option>--shell</option> mode and non-modifying
+        (i.e. without <option>--noout</option>) direct actions, allows for
+        a special shortcut of the void <replaceable>CATALOGFILE</replaceable>
+        specification (possibly expressed as &quot;&quot; in the shell
+        environment) appointing the default system catalog. That simplifies the
+        handling when its exact location is irrelevant but the respective built-in
+        still needs to be consulted.
+    </para>
+</refsect1>
+
+<refsect1 id="shell">
+    <title>SHELL COMMANDS</title>
+    <para>
+        Invoking &xmlcatalog; with
+        the <option>--shell <replaceable>CATALOGFILE</replaceable></option> option opens
+        a command line shell allowing interactive access to the catalog file
+        identified by <replaceable>CATALOGFILE</replaceable>. Invoking the shell
+        provides a command line prompt after which the following commands (described in
+        alphabetical order) can be entered.
+    </para>
+
+    <variablelist>
+
+        <varlistentry>
+            <term>
+                <option>add
+                 <replaceable>TYPE</replaceable>
+                 <replaceable>ORIG</replaceable>
+                 <replaceable>REPLACE</replaceable>
+                </option>
+            </term>
+            <listitem>
+                <para>
+                    Add an entry to the catalog file. <replaceable>TYPE</replaceable>
+                    indicates the type of entry. Possible types are: <simplelist type="inline">
+                        <member><parameter>public</parameter></member>
+                        <member><parameter>system</parameter></member>
+                        <member><parameter>uri</parameter></member>
+                        <member><parameter>rewriteSystem</parameter></member>
+                        <member><parameter>rewriteURI</parameter></member>
+                        <member><parameter>delegatePublic</parameter></member>
+                        <member><parameter>delegateSystem</parameter></member>
+                        <member><parameter>delegateURI</parameter></member>
+                        <member><parameter>nextCatalog</parameter></member>
+                    </simplelist>. <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
+                    <filename>CATALOGFILE</filename>, outputting
+                    to <filename class="devicefile">stdout</filename>, 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 argument.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>debug</option></term>
+            <listitem>
+                <para>
+                    Print debugging statements showing the steps &xmlcatalog; is executing.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>del <replaceable>VALUE(S)</replaceable></option></term>
+            <listitem>
+                <para>
+                    Remove the catalog entry corresponding to <replaceable>VALUE(S)</replaceable>.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>dump</option></term>
+            <listitem>
+                <para>Print the current catalog.</para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>exit</option></term>
+            <listitem>
+                <para>Quit the shell.</para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>public <replaceable>PUBLIC-ID</replaceable></option></term>
+            <listitem>
+                <para>
+                    Execute a Formal Public Identifier lookup of the catalog entry
+                    for <replaceable>PUBLIC-ID</replaceable>. The corresponding entry will be
+                    output to the command line.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>quiet</option></term>
+            <listitem>
+                <para>Stop printing debugging statements.</para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>system <replaceable>SYSTEM-ID</replaceable></option></term>
+            <listitem>
+                <para>
+                    Execute a Formal Public Identifier lookup of the catalog entry
+                    for <replaceable>SYSTEM-ID</replaceable>. The corresponding entry will be
+                    output to the command line.
+                </para>
+            </listitem>
+        </varlistentry>
+
+    </variablelist>
+</refsect1>
+
+<refsect1 id="environment">
+    <title>ENVIRONMENT</title>
+    <variablelist>
+
+        <varlistentry>
+            <term><envar>XML_CATALOG_FILES</envar></term>
+            <listitem>
+                <para><acronym>XML</acronym> catalog behavior can be changed by redirecting
+                    queries to the user's own set of catalogs. This can be done by setting
+                    the <envar>XML_CATALOG_FILES</envar> environment variable to a space-separated
+                    list of catalogs. Use percent-encoding to escape spaces or other characters.
+                    An empty variable should deactivate loading the default catalog from
+                    <filename>/etc/xml/catalog</filename> or, more specifically,
+                    <filename>${sysconfdir}/xml/catalog</filename>.
+                </para>
+            </listitem>
+        </varlistentry>
+
+    </variablelist>
+</refsect1>
+
+<refsect1 id="diagnostics">
+    <title>DIAGNOSTICS</title>
+    <para>
+        &xmlcatalog; return codes provide information that can be used when
+        calling it from scripts.
+    </para>
+    <variablelist>
+
+        <varlistentry>
+            <term><errorcode>0</errorcode></term>
+            <listitem>
+                <para>No error</para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><errorcode>1</errorcode></term>
+            <listitem>
+                <para>Failed to remove an entry from the catalog</para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><errorcode>2</errorcode></term>
+            <listitem>
+                <para>Failed to save to the catalog, check file permissions</para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><errorcode>3</errorcode></term>
+            <listitem>
+                <para>Failed to add an entry to the catalog</para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><errorcode>4</errorcode></term>
+            <listitem>
+                <para>Failed to look up an entry in the catalog</para>
+            </listitem>
+        </varlistentry>
+
+    </variablelist>
+</refsect1>
+
+<refsect1 id="seealso">
+    <title>SEE ALSO</title>
+    <para><citerefentry>
+            <refentrytitle>libxml</refentrytitle>
+            <manvolnum>3</manvolnum>
+        </citerefentry>
+    </para>
+    <para>
+        More information can be found at
+        <itemizedlist>
+            <listitem>
+                <para><citerefentry>
+                        <refentrytitle>libxml</refentrytitle>
+                        <manvolnum>3</manvolnum>
+                    </citerefentry> web page <ulink url="https://gitlab.gnome.org/GNOME/libxml2"/>
+                </para>
+            </listitem>
+            <listitem>
+                <para><citerefentry>
+                        <refentrytitle>libxml</refentrytitle>
+                        <manvolnum>3</manvolnum>
+                    </citerefentry> catalog support web page
+                    at <ulink url="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support"/>
+                </para>
+            </listitem>
+            <listitem>
+                <para>James Clark's <acronym>SGML</acronym> catalog
+                    page <ulink url="http://www.jclark.com/sp/catalog.htm"/>
+                </para>
+            </listitem>
+            <listitem>
+                <para><acronym>OASIS</acronym> <acronym>XML</acronym> catalog specification
+                    <ulink url="http://www.oasis-open.org/committees/entity/spec.html"/>
+                </para>
+            </listitem>
+        </itemizedlist>
+    </para>
+</refsect1>
+
+</refentry>
diff --git a/doc/xmlcatalog_man.xml b/doc/xmlcatalog_man.xml
deleted file mode 100644
index 5d94b3b..0000000
--- a/doc/xmlcatalog_man.xml
+++ /dev/null
@@ -1,463 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl"
-   href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-
-    <!ENTITY xmlcatalog "<command>xmlcatalog</command>">
-]>
-
-<refentry>
-
-<refentryinfo>
-	<title>xmlcatalog Manual</title>
-	<productname>libxml2</productname>
-	<copyright>
-		<year>2001</year>
-		<year>2004</year>
-	</copyright>
-	<author>
-		<firstname>John</firstname>
-		<surname>Fleck</surname>
-		<affiliation>
-			<address>
-				<email>jfleck@inkstain.net</email>
-			</address>
-		</affiliation>
-	</author>
-	<!-- still a bit buggy output, will talk to docbook-xsl upstream to fix this -->
-	<!-- <releaseinfo>This is release 0.3 of the xmlcatalog Manual.</releaseinfo> -->
-	<!-- <edition>0.3</edition> -->
-</refentryinfo>
-
-<refmeta>
-	<refentrytitle>xmlcatalog</refentrytitle>
-	<manvolnum>1</manvolnum>
-</refmeta>
-
-<refnamediv>
-	<refname>xmlcatalog</refname>
-	<refpurpose>
-		Command line tool to parse and manipulate <acronym>XML</acronym>
-		or <acronym>SGML</acronym> catalog files.
-	</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-	<cmdsynopsis>
-	<command>xmlcatalog</command>
-	<group choice="opt">
-		<arg choice="plain"><option>--sgml</option></arg>
-		<arg choice="plain"><option>--shell</option></arg>
-		<arg choice="plain"><option>--create</option></arg>
-		<arg choice="plain"><option>--del <replaceable>VALUE(S)</replaceable></option></arg>
-		<arg choice="plain">
-			<group choice="opt">
-				<arg choice="plain">
-					<option>--add
-					 <replaceable>TYPE</replaceable>
-					 <replaceable>ORIG</replaceable>
-					 <replaceable>REPLACE</replaceable>
-					</option>
-				</arg>
-				<arg choice="plain"><option>--add <replaceable>FILENAME</replaceable></option></arg>
-			</group>		
-		</arg>
-		<arg choice="plain"><option>--noout</option></arg>
-		<arg choice="plain"><option>--no-super-update</option></arg>
-		<arg choice="plain">
-			<group choice="opt">
-				<arg choice="plain"><option>-v</option></arg>
-				<arg choice="plain"><option>--verbose</option></arg>
-			</group>
-		</arg>
-	</group>
-	<arg choice="req" rep="norepeat"><replaceable>CATALOGFILE</replaceable></arg>
-	<arg choice="req" rep="repeat"><replaceable>ENTITIES</replaceable></arg>
-	</cmdsynopsis>
-</refsynopsisdiv>
-
-<refsect1 id="description">
-	<title>DESCRIPTION</title>
-	<para>
-		&xmlcatalog; is a command line application allowing users to monitor and
-		manipulate <acronym>XML</acronym> and <acronym>SGML</acronym> catalogs. It
-		is included in <citerefentry>
-			<refentrytitle>libxml</refentrytitle>
-			<manvolnum>3</manvolnum>
-		</citerefentry>.
-	</para>
-	<para>
-		Its functions can be invoked from a single command from the command line,
-		or it can perform multiple functions in interactive mode. It can operate
-		on both <acronym>XML</acronym> and <acronym>SGML</acronym> files.
-	</para>
-</refsect1>
-
-<refsect1 id="options">
-	<title>OPTIONS</title>
-	<para>
-		&xmlcatalog; accepts the following options (in alphabetical order):
-	</para>
-	
-	<variablelist>
-
-		<varlistentry>
-	<term>
-		<option>--add
-		 <replaceable>TYPE</replaceable>
-		 <replaceable>ORIG</replaceable>
-		 <replaceable>REPLACE</replaceable>
-		</option>
-	</term>
-	<listitem>
-		<para>
-			Add an entry to <filename>CATALOGFILE</filename>. <replaceable>TYPE</replaceable>
-			indicates the type of entry. Possible types are: <simplelist type="inline">
-				<member><parameter>public</parameter></member>
-				<member><parameter>system</parameter></member>
-				<member><parameter>uri</parameter></member>
-				<member><parameter>rewriteSystem</parameter></member>
-				<member><parameter>rewriteURI</parameter></member>
-				<member><parameter>delegatePublic</parameter></member>
-				<member><parameter>delegateSystem</parameter></member>
-				<member><parameter>delegateURI</parameter></member>
-				<member><parameter>nextCatalog</parameter></member>
-			</simplelist>. <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
-			<filename>CATALOGFILE</filename>, outputting
-			to <filename class="devicefile">stdout</filename>, 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 argument.
-		</para>
-		<!--
-			FIXME - Is my list of possible types correct? Are SGML types the same?
-		-->
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><option>--add <replaceable>FILENAME</replaceable></option></term>
-	<listitem>
-		<para>
-			If the <option>--add</option> option is used following
-			the <option>--sgml</option> option, only a single argument,
-			a <replaceable>FILENAME</replaceable>, is used. This is used to add
-			the name of a catalog file to an <acronym>SGML</acronym> supercatalog,
-			a file that contains references to other included <acronym>SGML</acronym>
-			catalog files.
-		</para>
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><option>--create</option></term>
-	<listitem>
-		<para>
-			Create a new <acronym>XML</acronym> catalog. Outputs
-			to <filename class="devicefile">stdout</filename>,
-			ignoring <replaceable>filename</replaceable> unless <option>--noout</option> is
-			used, in which case it creates a new catalog
-			file <replaceable>filename</replaceable>.
-		</para>
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><option>--del <replaceable>VALUE(S)</replaceable></option></term>
-	<listitem>
-		<para>
-			Remove entries from <replaceable>CATALOGFILE</replaceable>
-			matching <replaceable>VALUE(S)</replaceable>. The <option>--del</option>
-			option will not overwrite <replaceable>CATALOGFILE</replaceable>,
-			outputting to <filename class="devicefile">stdout</filename>,
-			unless <option>--noout</option> is used.
-		</para>
-	</listitem>
-		</varlistentry>
-		
-		<varlistentry>
-	<term><option>--noout</option></term>
-	<listitem>
-		<para>
-			Save output to the named file rather than outputting
-			to <filename class="devicefile">stdout</filename>.
-		</para>
-	</listitem>
-		</varlistentry>
-		
-		<varlistentry>
-	<term><option>--no-super-update</option></term>
-	<listitem>
-		<para>
-			Do not update the <acronym>SGML</acronym> super catalog.
-		</para>
-	</listitem>
-		</varlistentry>
-		
-		<varlistentry>
-	<term><option>--shell</option></term>
-	<listitem>
-		<para>
-			Run a shell allowing interactive queries on catalog
-			file <replaceable>CATALOGFILE</replaceable>. For the set of available
-			commands see <xref linkend="shell"/>.
-		</para>
-	</listitem>
-		</varlistentry>
-		
-		<varlistentry>
-	<term><option>--sgml</option></term>
-	<listitem>
-		<para>
-			Uses <acronym>SGML</acronym> super catalogs for <option>--add</option>
-			and <option>--del</option> options.
-		</para>
-	</listitem>
-		</varlistentry>
-		
-		<varlistentry>
-	<term><option>-v</option></term>
-	<term><option>--verbose</option></term>
-	<listitem>
-		<para>Output debugging information.</para>
-	</listitem>
-		</varlistentry>
-	
-	</variablelist>
-
-	<para>
-		Invoking &xmlcatalog; non-interactively without a designated action
-		(imposed with options like <option>--add</option>) will result in a lookup
-		of the catalog entry for <replaceable>ENTITIES</replaceable> in the
-		catalog denoted with <replaceable>CATALOGFILE</replaceable>. The
-		corresponding entries will be output to the command line. This mode of
-		operation, together with <option>--shell</option> mode and non-modifying
-		(i.e. without <option>--noout</option>) direct actions, allows for
-		a special shortcut of the void <replaceable>CATALOGFILE</replaceable>
-		specification (possibly expressed as &quot;&quot; in the shell
-		environment) appointing the default system catalog. That simplifies the
-		handling when its exact location is irrelevant but the respective built-in
-		still needs to be consulted.
-	</para>
-</refsect1>
-
-<refsect1 id="shell">
-	<title>SHELL COMMANDS</title>
-	<para>
-		Invoking &xmlcatalog; with
-		the <option>--shell <replaceable>CATALOGFILE</replaceable></option> option opens
-		a command line shell allowing interactive access to the catalog file
-		identified by <replaceable>CATALOGFILE</replaceable>. Invoking the shell
-		provides a command line prompt after which the following commands (described in
-		alphabetical order) can be entered.
-	</para>
-	
-	<variablelist>
-
-		<varlistentry>
-	<term>
-		<option>add
-		 <replaceable>TYPE</replaceable>
-		 <replaceable>ORIG</replaceable>
-		 <replaceable>REPLACE</replaceable>
-		</option>
-	</term>
-	<listitem>
-		<para>
-			Add an entry to the catalog file. <replaceable>TYPE</replaceable>
-			indicates the type of entry. Possible types are: <simplelist type="inline">
-				<member><parameter>public</parameter></member>
-				<member><parameter>system</parameter></member>
-				<member><parameter>uri</parameter></member>
-				<member><parameter>rewriteSystem</parameter></member>
-				<member><parameter>rewriteURI</parameter></member>
-				<member><parameter>delegatePublic</parameter></member>
-				<member><parameter>delegateSystem</parameter></member>
-				<member><parameter>delegateURI</parameter></member>
-				<member><parameter>nextCatalog</parameter></member>
-			</simplelist>. <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
-			<filename>CATALOGFILE</filename>, outputting
-			to <filename class="devicefile">stdout</filename>, 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 argument.
-		</para>
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><option>debug</option></term>
-	<listitem>
-		<para>
-			Print debugging statements showing the steps &xmlcatalog; is executing.
-		</para>
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><option>del <replaceable>VALUE(S)</replaceable></option></term>
-	<listitem>
-		<para>
-			Remove the catalog entry corresponding to <replaceable>VALUE(S)</replaceable>.
-		</para>
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><option>dump</option></term>
-	<listitem>
-		<para>Print the current catalog.</para>
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><option>exit</option></term>
-	<listitem>
-		<para>Quit the shell.</para>
-	</listitem>
-		</varlistentry>
-	
-		<varlistentry>
-	<term><option>public <replaceable>PUBLIC-ID</replaceable></option></term>
-	<listitem>
-		<para>
-			Execute a Formal Public Identifier lookup of the catalog entry
-			for <replaceable>PUBLIC-ID</replaceable>. The corresponding entry will be
-			output to the command line.
-		</para>
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><option>quiet</option></term>
-	<listitem>
-		<para>Stop printing debugging statements.</para>
-	</listitem>
-		</varlistentry>
-		
-		<varlistentry>
-	<term><option>system <replaceable>SYSTEM-ID</replaceable></option></term>
-	<listitem>
-		<para>
-			Execute a Formal Public Identifier lookup of the catalog entry
-			for <replaceable>SYSTEM-ID</replaceable>. The corresponding entry will be
-			output to the command line.
-		</para>
-	</listitem>
-		</varlistentry>
-
-	</variablelist>
-</refsect1>
-
-<refsect1 id="environment">
-	<title>ENVIRONMENT</title>
-	<variablelist>
-
-		<varlistentry>
-	<term><envar>XML_CATALOG_FILES</envar></term>
-	<listitem>
-		<para><acronym>XML</acronym> catalog behavior can be changed by redirecting
-			queries to the user's own set of catalogs. This can be done by setting
-			the <envar>XML_CATALOG_FILES</envar> environment variable to a space-separated
-			list of catalogs. Use percent-encoding to escape spaces or other characters.
-			An empty variable should deactivate loading the default <filename>/etc/xml/catalog</filename> catalog.
-		</para>
-	</listitem>
-		</varlistentry>
-
-	</variablelist>	
-</refsect1>
-
-<refsect1 id="diagnostics">
-	<title>DIAGNOSTICS</title>
-	<para>
-		&xmlcatalog; return codes provide information that can be used when
-		calling it from scripts.
-	</para>
-	<variablelist>
-
-		<varlistentry>
-	<term><errorcode>0</errorcode></term>
-	<listitem>
-		<para>No error</para>
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><errorcode>1</errorcode></term>
-	<listitem>
-		<para>Failed to remove an entry from the catalog</para>
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><errorcode>2</errorcode></term>
-	<listitem>
-		<para>Failed to save to the catalog, check file permissions</para>
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><errorcode>3</errorcode></term>
-	<listitem>
-		<para>Failed to add an entry to the catalog</para>
-	</listitem>
-		</varlistentry>
-
-		<varlistentry>
-	<term><errorcode>4</errorcode></term>
-	<listitem>
-		<para>Failed to look up an entry in the catalog</para>
-	</listitem>
-		</varlistentry>
-
-	</variablelist>
-</refsect1>
-
-<refsect1 id="seealso">
-	<title>SEE ALSO</title>
-	<para><citerefentry>
-			<refentrytitle>libxml</refentrytitle>
-			<manvolnum>3</manvolnum>
-		</citerefentry>
-	</para>
-	<para>
-		More information can be found at
-		<itemizedlist>
-			<listitem>
-				<para><citerefentry>
-						<refentrytitle>libxml</refentrytitle>
-						<manvolnum>3</manvolnum>
-					</citerefentry> web page <ulink url="https://gitlab.gnome.org/GNOME/libxml2"/>
-				</para>
-			</listitem>
-			<listitem>
-				<para><citerefentry>
-						<refentrytitle>libxml</refentrytitle>
-						<manvolnum>3</manvolnum>
-					</citerefentry> catalog support web page
-					at <ulink url="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support"/>
-				</para>
-			</listitem>
-			<listitem>
-				<para>James Clark's <acronym>SGML</acronym> catalog
-					page <ulink url="http://www.jclark.com/sp/catalog.htm"/>
-				</para>
-			</listitem>
-			<listitem>
-				<para><acronym>OASIS</acronym> <acronym>XML</acronym> catalog specification
-					<ulink url="http://www.oasis-open.org/committees/entity/spec.html"/>
-				</para>
-			</listitem>
-		</itemizedlist>
-	</para>
-</refsect1>
-
-</refentry>
diff --git a/doc/xmldtd.html b/doc/xmldtd.html
deleted file mode 100644
index 707eda8..0000000
--- a/doc/xmldtd.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Validation &amp; DTDs</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Validation &amp; DTDs</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol>
-  <li><a href="#General5">General overview</a></li>
-  <li><a href="#definition">The definition</a></li>
-  <li><a href="#Simple">Simple rules</a>
-    <ol>
-      <li><a href="#reference">How to reference a DTD from a document</a></li>
-      <li><a href="#Declaring">Declaring elements</a></li>
-      <li><a href="#Declaring1">Declaring attributes</a></li>
-    </ol>
-  </li>
-  <li><a href="#Some">Some examples</a></li>
-  <li><a href="#validate">How to validate</a></li>
-  <li><a href="#Other">Other resources</a></li>
-</ol><h3><a name="General5" id="General5">General overview</a></h3><p>Well what is validation and what is a DTD ?</p><p>DTD is the acronym for Document Type Definition. This is a description of
-the content for a family of XML files. This is part of the XML 1.0
-specification, and allows one to describe and verify that a given document
-instance conforms to the set of rules detailing its structure and content.</p><p>Validation is the process of checking a document against a DTD (more
-generally against a set of construction rules).</p><p>The validation process and building DTDs are the two most difficult parts
-of the XML life cycle. Briefly a DTD defines all the possible elements to be
-found within your document, what is the formal shape of your document tree
-(by defining the allowed content of an element; either text, a regular
-expression for the allowed list of children, or mixed content i.e. both text
-and children). The DTD also defines the valid attributes for all elements and
-the types of those attributes.</p><h3><a name="definition1" id="definition1">The definition</a></h3><p>The <a href="http://www.w3.org/TR/REC-xml">W3C XML Recommendation</a> (<a href="http://www.xml.com/axml/axml.html">Tim Bray's annotated version of
-Rev1</a>):</p><ul>
-  <li><a href="http://www.w3.org/TR/REC-xml#elemdecls">Declaring
-  elements</a></li>
-  <li><a href="http://www.w3.org/TR/REC-xml#attdecls">Declaring
-  attributes</a></li>
-</ul><p>(unfortunately) all this is inherited from the SGML world, the syntax is
-ancient...</p><h3><a name="Simple1" id="Simple1">Simple rules</a></h3><p>Writing DTDs can be done in many ways. The rules to build them if you need
-something permanent or something which can evolve over time can be radically
-different. Really complex DTDs like DocBook ones are flexible but quite
-harder to design. I will just focus on DTDs for a formats with a fixed simple
-structure. It is just a set of basic rules, and definitely not exhaustive nor
-usable for complex DTD design.</p><h4><a name="reference1" id="reference1">How to reference a DTD from a document</a>:</h4><p>Assuming the top element of the document is <code>spec</code> and the dtd
-is placed in the file <code>mydtd</code> in the subdirectory
-<code>dtds</code> of the directory from where the document were loaded:</p><p><code>&lt;!DOCTYPE spec SYSTEM "dtds/mydtd"&gt;</code></p><p>Notes:</p><ul>
-  <li>The system string is actually an URI-Reference (as defined in <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>) so you can use a
-    full URL string indicating the location of your DTD on the Web. This is a
-    really good thing to do if you want others to validate your document.</li>
-  <li>It is also possible to associate a <code>PUBLIC</code> identifier (a
-    magic string) so that the DTD is looked up in catalogs on the client side
-    without having to locate it on the web.</li>
-  <li>A DTD contains a set of element and attribute declarations, but they
-    don't define what the root of the document should be. This is explicitly
-    told to the parser/validator as the first element of the
-    <code>DOCTYPE</code> declaration.</li>
-</ul><h4><a name="Declaring2" id="Declaring2">Declaring elements</a>:</h4><p>The following declares an element <code>spec</code>:</p><p><code>&lt;!ELEMENT spec (front, body, back?)&gt;</code></p><p>It also expresses that the spec element contains one <code>front</code>,
-one <code>body</code> and one optional <code>back</code> children elements in
-this order. The declaration of one element of the structure and its content
-are done in a single declaration. Similarly the following declares
-<code>div1</code> elements:</p><p><code>&lt;!ELEMENT div1 (head, (p | list | note)*, div2?)&gt;</code></p><p>which means div1 contains one <code>head</code> then a series of optional
-<code>p</code>, <code>list</code>s and <code>note</code>s and then an
-optional <code>div2</code>. And last but not least an element can contain
-text:</p><p><code>&lt;!ELEMENT b (#PCDATA)&gt;</code></p><p><code>b</code> contains text or being of mixed content (text and elements
-in no particular order):</p><p><code>&lt;!ELEMENT p (#PCDATA|a|ul|b|i|em)*&gt;</code></p><p><code>p </code>can contain text or <code>a</code>, <code>ul</code>,
-<code>b</code>, <code>i </code>or <code>em</code> elements in no particular
-order.</p><h4><a name="Declaring1" id="Declaring1">Declaring attributes</a>:</h4><p>Again the attributes declaration includes their content definition:</p><p><code>&lt;!ATTLIST termdef name CDATA #IMPLIED&gt;</code></p><p>means that the element <code>termdef</code> can have a <code>name</code>
-attribute containing text (<code>CDATA</code>) and which is optional
-(<code>#IMPLIED</code>). The attribute value can also be defined within a
-set:</p><p><code>&lt;!ATTLIST list type (bullets|ordered|glossary)
-"ordered"&gt;</code></p><p>means <code>list</code> element have a <code>type</code> attribute with 3
-allowed values "bullets", "ordered" or "glossary" and which default to
-"ordered" if the attribute is not explicitly specified.</p><p>The content type of an attribute can be text (<code>CDATA</code>),
-anchor/reference/references
-(<code>ID</code>/<code>IDREF</code>/<code>IDREFS</code>), entity(ies)
-(<code>ENTITY</code>/<code>ENTITIES</code>) or name(s)
-(<code>NMTOKEN</code>/<code>NMTOKENS</code>). The following defines that a
-<code>chapter</code> element can have an optional <code>id</code> attribute
-of type <code>ID</code>, usable for reference from attribute of type
-IDREF:</p><p><code>&lt;!ATTLIST chapter id ID #IMPLIED&gt;</code></p><p>The last value of an attribute definition can be <code>#REQUIRED
-</code>meaning that the attribute has to be given, <code>#IMPLIED</code>
-meaning that it is optional, or the default value (possibly prefixed by
-<code>#FIXED</code> if it is the only allowed).</p><p>Notes:</p><ul>
-  <li>Usually the attributes pertaining to a given element are declared in a
-    single expression, but it is just a convention adopted by a lot of DTD
-    writers:
-    <pre>&lt;!ATTLIST termdef
-          id      ID      #REQUIRED
-          name    CDATA   #IMPLIED&gt;</pre>
-    <p>The previous construct defines both <code>id</code> and
-    <code>name</code> attributes for the element <code>termdef</code>.</p>
-  </li>
-</ul><h3><a name="Some1" id="Some1">Some examples</a></h3><p>The directory <code>test/valid/dtds/</code> in the libxml2 distribution
-contains some complex DTD examples. The example in the file
-<code>test/valid/dia.xml</code> shows an XML file where the simple DTD is
-directly included within the document.</p><h3><a name="validate1" id="validate1">How to validate</a></h3><p>The simplest way is to use the xmllint program included with libxml. The
-<code>--valid</code> option turns-on validation of the files given as input.
-For example the following validates a copy of the first revision of the XML
-1.0 specification:</p><p><code>xmllint --valid --noout test/valid/REC-xml-19980210.xml</code></p><p>the -- noout is used to disable output of the resulting tree.</p><p>The <code>--dtdvalid dtd</code> allows validation of the document(s)
-against a given DTD.</p><p>Libxml2 exports an API to handle DTDs and validation, check the <a href="http://xmlsoft.org/html/libxml-valid.html">associated
-description</a>.</p><h3><a name="Other1" id="Other1">Other resources</a></h3><p>DTDs are as old as SGML. So there may be a number of examples on-line, I
-will just list one for now, others pointers welcome:</p><ul>
-  <li><a href="http://www.xml101.com:8081/dtd/">XML-101 DTD</a></li>
-</ul><p>I suggest looking at the examples found under test/valid/dtd and any of
-the large number of books available on XML. The dia example in test/valid
-should be both simple and complete enough to allow you to build your own.</p><p></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/xmlio.html b/doc/xmlio.html
deleted file mode 100644
index 2d38ad1..0000000
--- a/doc/xmlio.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>I/O Interfaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>I/O Interfaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol>
-  <li><a href="#General1">General overview</a></li>
-  <li><a href="#basic">The basic buffer type</a></li>
-  <li><a href="#Input">Input I/O handlers</a></li>
-  <li><a href="#Output">Output I/O handlers</a></li>
-  <li><a href="#entities">The entities loader</a></li>
-  <li><a href="#Example2">Example of customized I/O</a></li>
-</ol><h3><a name="General1" id="General1">General overview</a></h3><p>The module <code><a href="http://xmlsoft.org/html/libxml-xmlio.html">xmlIO.h</a></code> provides
-the interfaces to the libxml2 I/O system. This consists of 4 main parts:</p><ul>
-  <li>Entities loader, this is a routine which tries to fetch the entities
-    (files) based on their PUBLIC and SYSTEM identifiers. The default loader
-    don't look at the public identifier since libxml2 do not maintain a
-    catalog. You can redefine you own entity loader by using
-    <code>xmlGetExternalEntityLoader()</code> and
-    <code>xmlSetExternalEntityLoader()</code>. <a href="#entities">Check the
-    example</a>.</li>
-  <li>Input I/O buffers which are a commodity structure used by the parser(s)
-    input layer to handle fetching the information to feed the parser. This
-    provides buffering and is also a placeholder where the encoding
-    converters to UTF8 are piggy-backed.</li>
-  <li>Output I/O buffers are similar to the Input ones and fulfill similar
-    task but when generating a serialization from a tree.</li>
-  <li>A mechanism to register sets of I/O callbacks and associate them with
-    specific naming schemes like the protocol part of the URIs.
-    <p>This affect the default I/O operations and allows to use specific I/O
-    handlers for certain names.</p>
-  </li>
-</ul><p>The general mechanism used when loading http://rpmfind.net/xml.html for
-example in the HTML parser is the following:</p><ol>
-  <li>The default entity loader calls <code>xmlNewInputFromFile()</code> with
-    the parsing context and the URI string.</li>
-  <li>the URI string is checked against the existing registered handlers
-    using their match() callback function, if the HTTP module was compiled
-    in, it is registered and its match() function will succeeds</li>
-  <li>the open() function of the handler is called and if successful will
-    return an I/O Input buffer</li>
-  <li>the parser will the start reading from this buffer and progressively
-    fetch information from the resource, calling the read() function of the
-    handler until the resource is exhausted</li>
-  <li>if an encoding change is detected it will be installed on the input
-    buffer, providing buffering and efficient use of the conversion
-  routines</li>
-  <li>once the parser has finished, the close() function of the handler is
-    called once and the Input buffer and associated resources are
-  deallocated.</li>
-</ol><p>The user defined callbacks are checked first to allow overriding of the
-default libxml2 I/O routines.</p><h3><a name="basic" id="basic">The basic buffer type</a></h3><p>All the buffer manipulation handling is done using the
-<code>xmlBuffer</code> type define in <code><a href="http://xmlsoft.org/html/libxml-tree.html">tree.h</a> </code>which is a
-resizable memory buffer. The buffer allocation strategy can be selected to be
-either best-fit or use an exponential doubling one (CPU vs. memory use
-trade-off). The values are <code>XML_BUFFER_ALLOC_EXACT</code> and
-<code>XML_BUFFER_ALLOC_DOUBLEIT</code>, and can be set individually or on a
-system wide basis using <code>xmlBufferSetAllocationScheme()</code>. A number
-of functions allows to manipulate buffers with names starting with the
-<code>xmlBuffer...</code> prefix.</p><h3><a name="Input" id="Input">Input I/O handlers</a></h3><p>An Input I/O handler is a simple structure
-<code>xmlParserInputBuffer</code> containing a context associated to the
-resource (file descriptor, or pointer to a protocol handler), the read() and
-close() callbacks to use and an xmlBuffer. And extra xmlBuffer and a charset
-encoding handler are also present to support charset conversion when
-needed.</p><h3><a name="Output" id="Output">Output I/O handlers</a></h3><p>An Output handler <code>xmlOutputBuffer</code> is completely similar to an
-Input one except the callbacks are write() and close().</p><h3><a name="entities" id="entities">The entities loader</a></h3><p>The entity loader resolves requests for new entities and create inputs for
-the parser. Creating an input from a filename or an URI string is done
-through the xmlNewInputFromFile() routine.  The default entity loader do not
-handle the PUBLIC identifier associated with an entity (if any). So it just
-calls xmlNewInputFromFile() with the SYSTEM identifier (which is mandatory in
-XML).</p><p>If you want to hook up a catalog mechanism then you simply need to
-override the default entity loader, here is an example:</p><pre>#include &lt;libxml/xmlIO.h&gt;
-
-xmlExternalEntityLoader defaultLoader = NULL;
-
-xmlParserInputPtr
-xmlMyExternalEntityLoader(const char *URL, const char *ID,
-                               xmlParserCtxtPtr ctxt) {
-    xmlParserInputPtr ret;
-    const char *fileID = NULL;
-    /* lookup for the fileID depending on ID */
-
-    ret = xmlNewInputFromFile(ctxt, fileID);
-    if (ret != NULL)
-        return(ret);
-    if (defaultLoader != NULL)
-        ret = defaultLoader(URL, ID, ctxt);
-    return(ret);
-}
-
-int main(..) {
-    ...
-
-    /*
-     * Install our own entity loader
-     */
-    defaultLoader = xmlGetExternalEntityLoader();
-    xmlSetExternalEntityLoader(xmlMyExternalEntityLoader);
-
-    ...
-}</pre><h3><a name="Example2" id="Example2">Example of customized I/O</a></h3><p>This example come from <a href="http://xmlsoft.org/messages/0708.html">a
-real use case</a>,  xmlDocDump() closes the FILE * passed by the application
-and this was a problem. The <a href="http://xmlsoft.org/messages/0711.html">solution</a> was to redefine a
-new output handler with the closing call deactivated:</p><ol>
-  <li>First define a new I/O output allocator where the output don't close
-    the file:
-    <pre>xmlOutputBufferPtr
-xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) {
-    xmlOutputBufferPtr ret;
-    
-    if (xmlOutputCallbackInitialized == 0)
-        xmlRegisterDefaultOutputCallbacks();
-
-    if (file == NULL) return(NULL);
-    ret = xmlAllocOutputBuffer(encoder);
-    if (ret != NULL) {
-        ret-&gt;context = file;
-        ret-&gt;writecallback = xmlFileWrite;
-        ret-&gt;closecallback = NULL;  /* No close callback */
-    }
-    return(ret);
-} </pre>
-  </li>
-  <li>And then use it to save the document:
-    <pre>FILE *f;
-xmlOutputBufferPtr output;
-xmlDocPtr doc;
-int res;
-
-f = ...
-doc = ....
-
-output = xmlOutputBufferCreateOwn(f, NULL);
-res = xmlSaveFileTo(output, doc, NULL);
-    </pre>
-  </li>
-</ol><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>
diff --git a/doc/xmllint.1 b/doc/xmllint.1
index 27f0d57..512dfd6 100644
--- a/doc/xmllint.1
+++ b/doc/xmllint.1
@@ -2,12 +2,12 @@
 .\"     Title: xmllint
 .\"    Author: John Fleck <jfleck@inkstain.net>
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 02/19/2022
+.\"      Date: 08/17/2022
 .\"    Manual: xmllint Manual
 .\"    Source: libxml2
 .\"  Language: English
 .\"
-.TH "XMLLINT" "1" "02/19/2022" "libxml2" "xmllint Manual"
+.TH "XMLLINT" "1" "08/17/2022" "libxml2" "xmllint Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/doc/xmllint.xml b/doc/xmllint.xml
index 73b325a..7763a66 100644
--- a/doc/xmllint.xml
+++ b/doc/xmllint.xml
@@ -3,929 +3,957 @@
    href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
     "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-    
+
     <!ENTITY xmllint "<command>xmllint</command>">
 ]>
 
 <refentry>
 
 <refentryinfo>
-	<title>xmllint Manual</title>
-	<productname>libxml2</productname>
-	<copyright>
-		<year>2001</year>
-		<year>2004</year>
-	</copyright>
-	<authorgroup>
-		<author>
-			<firstname>John</firstname>
-			<surname>Fleck</surname>
-			<affiliation>
-				<address>
-					<email>jfleck@inkstain.net</email>
-				</address>
-			</affiliation>
-		</author>
-		<author>
-			<firstname>Ziying</firstname>
-			<surname>Sherwin</surname>
-			<affiliation>
-				<address>
-					<email>sherwin@nlm.nih.gov</email>
-				</address>
-			</affiliation>
-		</author>
-		<author>
-			<firstname>Heiko</firstname>
-			<surname>Rupp</surname>
-			<affiliation>
-				<address>
-					<email>hwr@pilhuhn.de</email>
-				</address>
-			</affiliation>
-		</author>
-	</authorgroup>
-	<!-- still a bit buggy output, will talk to docbook-xsl upstream to fix this -->
-	<!-- <releaseinfo>This is release 0.5 of the xmllint Manual.</releaseinfo> -->
-	<!-- <edition>0.5</edition> -->
+    <title>xmllint Manual</title>
+    <productname>libxml2</productname>
+    <copyright>
+        <year>2001</year>
+        <year>2004</year>
+    </copyright>
+    <authorgroup>
+        <author>
+            <firstname>John</firstname>
+            <surname>Fleck</surname>
+            <affiliation>
+                <address>
+                    <email>jfleck@inkstain.net</email>
+                </address>
+            </affiliation>
+        </author>
+        <author>
+            <firstname>Ziying</firstname>
+            <surname>Sherwin</surname>
+            <affiliation>
+                <address>
+                    <email>sherwin@nlm.nih.gov</email>
+                </address>
+            </affiliation>
+        </author>
+        <author>
+            <firstname>Heiko</firstname>
+            <surname>Rupp</surname>
+            <affiliation>
+                <address>
+                    <email>hwr@pilhuhn.de</email>
+                </address>
+            </affiliation>
+        </author>
+    </authorgroup>
+    <!-- still a bit buggy output, will talk to docbook-xsl upstream to fix this -->
+    <!-- <releaseinfo>This is release 0.5 of the xmllint Manual.</releaseinfo> -->
+    <!-- <edition>0.5</edition> -->
 </refentryinfo>
 
 <refmeta>
-	<refentrytitle>xmllint</refentrytitle>
-	<manvolnum>1</manvolnum>
+    <refentrytitle>xmllint</refentrytitle>
+    <manvolnum>1</manvolnum>
 </refmeta>
 
 <refnamediv>
-	<refname>xmllint</refname>
-	<refpurpose>command line <acronym>XML</acronym> tool</refpurpose>
+    <refname>xmllint</refname>
+    <refpurpose>command line <acronym>XML</acronym> tool</refpurpose>
 </refnamediv>
 
 <refsynopsisdiv>
-	<cmdsynopsis>
-	<command>xmllint</command>
-		<group choice="opt">
-			<arg choice="plain"><option>--version</option></arg>
-			<arg choice="plain"><option>--debug</option></arg>
-			<arg choice="plain"><option>--shell</option></arg>
-			<arg choice="plain"><option>--xpath "<replaceable class="option">XPath_expression</replaceable>"</option></arg>
-			<arg choice="plain"><option>--debugent</option></arg>
-			<arg choice="plain"><option>--copy</option></arg>
-			<arg choice="plain"><option>--recover</option></arg>
-			<arg choice="plain"><option>--noent</option></arg>
-			<arg choice="plain"><option>--noout</option></arg>
-			<arg choice="plain"><option>--nonet</option></arg>
-			<arg choice="plain"><option>--path "<replaceable class="option">PATH(S)</replaceable>"</option></arg>
-			<arg choice="plain"><option>--load-trace</option></arg>
-			<arg choice="plain"><option>--htmlout</option></arg>
-			<arg choice="plain"><option>--nowrap</option></arg>
-			<arg choice="plain"><option>--valid</option></arg>
-			<arg choice="plain"><option>--postvalid</option></arg>
-			<arg choice="plain"><option>--dtdvalid <replaceable class="option">URL</replaceable></option></arg>
-			<arg choice="plain"><option>--dtdvalidfpi <replaceable class="option">FPI</replaceable></option></arg>
-			<arg choice="plain"><option>--timing</option></arg>
-			<arg choice="plain"><option>--output <replaceable class="option">FILE</replaceable></option></arg>
-			<arg choice="plain"><option>--repeat</option></arg>
-			<arg choice="plain"><option>--insert</option></arg>
-			<arg choice="plain"><option>--compress</option></arg>
-			<arg choice="plain"><option>--html</option></arg>
-			<arg choice="plain"><option>--xmlout</option></arg>
-			<arg choice="plain"><option>--push</option></arg>
-			<arg choice="plain"><option>--memory</option></arg>
-			<arg choice="plain"><option>--maxmem <replaceable class="option">NBBYTES</replaceable></option></arg>
-			<arg choice="plain"><option>--nowarning</option></arg>
-			<arg choice="plain"><option>--noblanks</option></arg>
-			<arg choice="plain"><option>--nocdata</option></arg>
-			<arg choice="plain"><option>--format</option></arg>
-			<arg choice="plain"><option>--encode <replaceable class="option">ENCODING</replaceable></option></arg>
-			<arg choice="plain"><option>--dropdtd</option></arg>
-			<arg choice="plain"><option>--nsclean</option></arg>
-			<arg choice="plain"><option>--testIO</option></arg>
-			<arg choice="plain"><option>--catalogs</option></arg>
-			<arg choice="plain"><option>--nocatalogs</option></arg>
-			<arg choice="plain"><option>--auto</option></arg>
-			<arg choice="plain"><option>--xinclude</option></arg>
-			<arg choice="plain"><option>--noxincludenode</option></arg>
-			<arg choice="plain"><option>--loaddtd</option></arg>
-			<arg choice="plain"><option>--dtdattr</option></arg>
-			<arg choice="plain"><option>--stream</option></arg>
-			<arg choice="plain"><option>--walker</option></arg>
-			<arg choice="plain"><option>--pattern <replaceable class="option">PATTERNVALUE</replaceable></option></arg>
-			<arg choice="plain"><option>--chkregister</option></arg>
-			<arg choice="plain"><option>--relaxng <replaceable class="option">SCHEMA</replaceable></option></arg>
-			<arg choice="plain"><option>--schema <replaceable class="option">SCHEMA</replaceable></option></arg>
-			<arg choice="plain"><option>--c14n</option></arg>
-		</group>
-		<group choice="req">
-			<arg choice="plain" rep="repeat"><replaceable>XML-FILE(S)</replaceable></arg>
-			<arg choice="plain" rep="norepeat">-</arg>
-		</group>
-	</cmdsynopsis>
-	<cmdsynopsis>
-		<command>xmllint</command>
-		<arg choice="plain"><option>--help</option></arg>
-	</cmdsynopsis>
+    <cmdsynopsis>
+    <command>xmllint</command>
+        <group choice="opt">
+            <arg choice="plain"><option>--version</option></arg>
+            <arg choice="plain"><option>--debug</option></arg>
+            <arg choice="plain"><option>--quiet</option></arg>
+            <arg choice="plain"><option>--shell</option></arg>
+            <arg choice="plain"><option>--xpath "<replaceable class="option">XPath_expression</replaceable>"</option></arg>
+            <arg choice="plain"><option>--debugent</option></arg>
+            <arg choice="plain"><option>--copy</option></arg>
+            <arg choice="plain"><option>--recover</option></arg>
+            <arg choice="plain"><option>--nodict</option></arg>
+            <arg choice="plain"><option>--noent</option></arg>
+            <arg choice="plain"><option>--noout</option></arg>
+            <arg choice="plain"><option>--nonet</option></arg>
+            <arg choice="plain"><option>--path "<replaceable class="option">PATH(S)</replaceable>"</option></arg>
+            <arg choice="plain"><option>--load-trace</option></arg>
+            <arg choice="plain"><option>--htmlout</option></arg>
+            <arg choice="plain"><option>--nowrap</option></arg>
+            <arg choice="plain"><option>--valid</option></arg>
+            <arg choice="plain"><option>--postvalid</option></arg>
+            <arg choice="plain"><option>--dtdvalid <replaceable class="option">URL</replaceable></option></arg>
+            <arg choice="plain"><option>--dtdvalidfpi <replaceable class="option">FPI</replaceable></option></arg>
+            <arg choice="plain"><option>--timing</option></arg>
+            <arg choice="plain"><option>--output <replaceable class="option">FILE</replaceable></option></arg>
+            <arg choice="plain"><option>--repeat</option></arg>
+            <arg choice="plain"><option>--insert</option></arg>
+            <arg choice="plain"><option>--compress</option></arg>
+            <arg choice="plain"><option>--html</option></arg>
+            <arg choice="plain"><option>--xmlout</option></arg>
+            <arg choice="plain"><option>--push</option></arg>
+            <arg choice="plain"><option>--memory</option></arg>
+            <arg choice="plain"><option>--maxmem <replaceable class="option">NBBYTES</replaceable></option></arg>
+            <arg choice="plain"><option>--nowarning</option></arg>
+            <arg choice="plain"><option>--noblanks</option></arg>
+            <arg choice="plain"><option>--nocdata</option></arg>
+            <arg choice="plain"><option>--format</option></arg>
+            <arg choice="plain"><option>--encode <replaceable class="option">ENCODING</replaceable></option></arg>
+            <arg choice="plain"><option>--dropdtd</option></arg>
+            <arg choice="plain"><option>--nsclean</option></arg>
+            <arg choice="plain"><option>--testIO</option></arg>
+            <arg choice="plain"><option>--catalogs</option></arg>
+            <arg choice="plain"><option>--nocatalogs</option></arg>
+            <arg choice="plain"><option>--auto</option></arg>
+            <arg choice="plain"><option>--xinclude</option></arg>
+            <arg choice="plain"><option>--noxincludenode</option></arg>
+            <arg choice="plain"><option>--loaddtd</option></arg>
+            <arg choice="plain"><option>--dtdattr</option></arg>
+            <arg choice="plain"><option>--stream</option></arg>
+            <arg choice="plain"><option>--walker</option></arg>
+            <arg choice="plain"><option>--pattern <replaceable class="option">PATTERNVALUE</replaceable></option></arg>
+            <arg choice="plain"><option>--chkregister</option></arg>
+            <arg choice="plain"><option>--relaxng <replaceable class="option">SCHEMA</replaceable></option></arg>
+            <arg choice="plain"><option>--schema <replaceable class="option">SCHEMA</replaceable></option></arg>
+            <arg choice="plain"><option>--c14n</option></arg>
+            <arg choice="plain"><option>--pedantic</option></arg>
+        </group>
+        <group choice="req">
+            <arg choice="plain" rep="repeat"><replaceable>XML-FILE(S)</replaceable></arg>
+            <arg choice="plain" rep="norepeat">-</arg>
+        </group>
+    </cmdsynopsis>
+    <cmdsynopsis>
+        <command>xmllint</command>
+        <arg choice="plain"><option>--help</option></arg>
+    </cmdsynopsis>
 </refsynopsisdiv>
 
 <refsect1 id="description">
-	<title>DESCRIPTION</title>
-	<para>
-		The &xmllint; program parses one or more <acronym>XML</acronym> files,
-		specified on the command line as <replaceable>XML-FILE</replaceable>
-		(or the standard input if the filename provided
-		is <emphasis role="bold">-</emphasis> ). It prints various types of
-		output, depending upon the options selected. It is useful for detecting
-		errors both in <acronym>XML</acronym> code and in
-		the <acronym>XML</acronym> parser itself.
-	</para>
-	<para>&xmllint; is included in <citerefentry>
-		<refentrytitle>libxml</refentrytitle>
-		<manvolnum>3</manvolnum>
-	</citerefentry>.</para>
+    <title>DESCRIPTION</title>
+    <para>
+        The &xmllint; program parses one or more <acronym>XML</acronym> files,
+        specified on the command line as <replaceable>XML-FILE</replaceable>
+        (or the standard input if the filename provided
+        is <emphasis role="bold">-</emphasis> ). It prints various types of
+        output, depending upon the options selected. It is useful for detecting
+        errors both in <acronym>XML</acronym> code and in
+        the <acronym>XML</acronym> parser itself.
+    </para>
+    <para>&xmllint; is included in <citerefentry>
+        <refentrytitle>libxml</refentrytitle>
+        <manvolnum>3</manvolnum>
+    </citerefentry>.</para>
 </refsect1>
 
 <refsect1 id="options">
-	<title>OPTIONS</title>
-	<para>
-		&xmllint; accepts the following options (in alphabetical order):
-	</para>
+    <title>OPTIONS</title>
+    <para>
+        &xmllint; accepts the following options (in alphabetical order):
+    </para>
 
-	<variablelist>
+    <variablelist>
 
-		<varlistentry>
-	<term><option>--auto</option></term>
-	<listitem>
-		<para>Generate a small document for testing purposes.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--auto</option></term>
+            <listitem>
+                <para>Generate a small document for testing purposes.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--catalogs</option></term>
-	<listitem>
-		<para>
-			Use the <acronym>SGML</acronym> catalog(s) from <envar>SGML_CATALOG_FILES</envar>.
-			Otherwise <acronym>XML</acronym> catalogs starting
-			from <filename>/etc/xml/catalog</filename> are used by default.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--catalogs</option></term>
+            <listitem>
+                <para>
+                    Use the <acronym>SGML</acronym> catalog(s) from <envar>SGML_CATALOG_FILES</envar>.
+                    Otherwise <acronym>XML</acronym> catalogs starting
+                    from <filename>/etc/xml/catalog</filename> or, more specifically,
+                    <filename>${sysconfdir}/xml/catalog</filename> are used by default.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--chkregister</option></term>
-	<listitem>
-		<para>
-			Turn on node registration. Useful for developers testing <citerefentry>
-		<refentrytitle>libxml</refentrytitle>
-		<manvolnum>3</manvolnum>
-	</citerefentry> node tracking code.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--chkregister</option></term>
+            <listitem>
+                <para>
+                    Turn on node registration. Useful for developers testing <citerefentry>
+                <refentrytitle>libxml</refentrytitle>
+                <manvolnum>3</manvolnum>
+            </citerefentry> node tracking code.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--compress</option></term>
-	<listitem>
-		<para>
-			Turn on <citerefentry>
-		<refentrytitle>gzip</refentrytitle>
-		<manvolnum>1</manvolnum>
-	</citerefentry> compression of output.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--compress</option></term>
+            <listitem>
+                <para>
+                    Turn on <citerefentry>
+                <refentrytitle>gzip</refentrytitle>
+                <manvolnum>1</manvolnum>
+            </citerefentry> compression of output.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--copy</option></term>
-	<listitem>
-		<para>Test the internal copy implementation.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--copy</option></term>
+            <listitem>
+                <para>Test the internal copy implementation.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--c14n</option></term>
-	<listitem>
-		<para>
-			Use the W3C <acronym>XML</acronym> Canonicalisation (<acronym>C14N</acronym>) to
-			serialize the result of parsing to <filename class="devicefile">stdout</filename>.
-			It keeps comments in the result.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--c14n</option></term>
+            <listitem>
+                <para>
+                    Use the W3C <acronym>XML</acronym> Canonicalisation (<acronym>C14N</acronym>) to
+                    serialize the result of parsing to <filename class="devicefile">stdout</filename>.
+                    It keeps comments in the result.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--dtdvalid <replaceable class="option">URL</replaceable></option></term>
-	<listitem>
-		<para>
-			Use the <acronym>DTD</acronym> specified by
-			an <replaceable>URL</replaceable> for validation.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--dtdvalid <replaceable class="option">URL</replaceable></option></term>
+            <listitem>
+                <para>
+                    Use the <acronym>DTD</acronym> specified by
+                    an <replaceable>URL</replaceable> for validation.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--dtdvalidfpi <replaceable class="option">FPI</replaceable></option></term>
-	<listitem>
-		<para>
-			Use the <acronym>DTD</acronym> specified by a Formal Public
-			Identifier <replaceable>FPI</replaceable> for validation, note that this
-			will require a catalog exporting that Formal Public Identifier to work.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--dtdvalidfpi <replaceable class="option">FPI</replaceable></option></term>
+            <listitem>
+                <para>
+                    Use the <acronym>DTD</acronym> specified by a Formal Public
+                    Identifier <replaceable>FPI</replaceable> for validation, note that this
+                    will require a catalog exporting that Formal Public Identifier to work.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--debug</option></term>
-	<listitem>
-		<para>
-			Parse a file and output an annotated tree of the
-			in-memory version of the document.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--debug</option></term>
+            <listitem>
+                <para>
+                    Parse a file and output an annotated tree of the
+                    in-memory version of the document.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--debugent</option></term>
-	<listitem>
-		<para>Debug the entities defined in the document.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--debugent</option></term>
+            <listitem>
+                <para>Debug the entities defined in the document.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--dropdtd</option></term>
-	<listitem>
-		<para>Remove <acronym>DTD</acronym> from output.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--dropdtd</option></term>
+            <listitem>
+                <para>Remove <acronym>DTD</acronym> from output.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--dtdattr</option></term>
-	<listitem>
-		<para>
-			Fetch external <acronym>DTD</acronym> and populate the tree with
-			inherited attributes.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--dtdattr</option></term>
+            <listitem>
+                <para>
+                    Fetch external <acronym>DTD</acronym> and populate the tree with
+                    inherited attributes.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--encode <replaceable class="option">ENCODING</replaceable></option></term>
-	<listitem>
-		<para>Output in the given encoding. Note that this works for full document not fragments or result from XPath queries.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--encode <replaceable class="option">ENCODING</replaceable></option></term>
+            <listitem>
+                <para>Output in the given encoding. Note that this works for full document not fragments or result from XPath queries.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--format</option></term>
-	<listitem>
-		<para>
-			Reformat and reindent the output. The <envar>XMLLINT_INDENT</envar>
-			environment variable controls the indentation. The default value is two
-			spaces &quot;  &quot;).
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--format</option></term>
+            <listitem>
+                <para>
+                    Reformat and reindent the output. The <envar>XMLLINT_INDENT</envar>
+                    environment variable controls the indentation. The default value is two
+                    spaces &quot;  &quot;).
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--help</option></term>
-	<listitem>
-		<para>Print out a short usage summary for &xmllint;.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--help</option></term>
+            <listitem>
+                <para>Print out a short usage summary for &xmllint;.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--html</option></term>
-	<listitem>
-		<para>Use the <acronym>HTML</acronym> parser.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--html</option></term>
+            <listitem>
+                <para>Use the <acronym>HTML</acronym> parser.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--htmlout</option></term>
-	<listitem>
-		<para>
-			Output results as an <acronym>HTML</acronym> file. This
-			causes &xmllint; to output the necessary <acronym>HTML</acronym>
-			tags surrounding the result tree output so the results can be
-			displayed/viewed in a browser.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--htmlout</option></term>
+            <listitem>
+                <para>
+                    Output results as an <acronym>HTML</acronym> file. This
+                    causes &xmllint; to output the necessary <acronym>HTML</acronym>
+                    tags surrounding the result tree output so the results can be
+                    displayed/viewed in a browser.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--insert</option></term>
-	<listitem>
-		<para>Test for valid insertions.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--insert</option></term>
+            <listitem>
+                <para>Test for valid insertions.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--loaddtd</option></term>
-	<listitem>
-		<para>Fetch an external <acronym>DTD</acronym>.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--loaddtd</option></term>
+            <listitem>
+                <para>Fetch an external <acronym>DTD</acronym>.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--load-trace</option></term>
-	<listitem>
-		<para>
-			Display all the documents loaded during the processing
-			to <filename class="devicefile">stderr</filename>.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--load-trace</option></term>
+            <listitem>
+                <para>
+                    Display all the documents loaded during the processing
+                    to <filename class="devicefile">stderr</filename>.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--maxmem <replaceable class="option">NNBYTES</replaceable></option></term>
-	<listitem>
-		<para>
-			Test the parser memory support. <replaceable>NNBYTES</replaceable>
-			is the maximum number of bytes the library is allowed to allocate.
-			This can also be used to make sure batch processing
-			of <acronym>XML</acronym> files will not exhaust the virtual memory
-			of the server running them.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--maxmem <replaceable class="option">NNBYTES</replaceable></option></term>
+            <listitem>
+                <para>
+                    Test the parser memory support. <replaceable>NNBYTES</replaceable>
+                    is the maximum number of bytes the library is allowed to allocate.
+                    This can also be used to make sure batch processing
+                    of <acronym>XML</acronym> files will not exhaust the virtual memory
+                    of the server running them.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--memory</option></term>
-	<listitem>
-		<para>Parse from memory.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--memory</option></term>
+            <listitem>
+                <para>Parse from memory.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--noblanks</option></term>
-	<listitem>
-		<para>Drop ignorable blank spaces.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--noblanks</option></term>
+            <listitem>
+                <para>Drop ignorable blank spaces.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--nocatalogs</option></term>
-	<listitem>
-		<para>Do not use any catalogs.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--nocatalogs</option></term>
+            <listitem>
+                <para>Do not use any catalogs.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--nocdata</option></term>
-	<listitem>
-		<para>Substitute CDATA section by equivalent text nodes.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--nocdata</option></term>
+            <listitem>
+                <para>Substitute CDATA section by equivalent text nodes.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--noent</option></term>
-	<listitem>
-		<para>
-			Substitute entity values for entity references. By default, &xmllint;
-			leaves entity references in place.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--nodict</option></term>
+            <listitem>
+                <para>
+                    Don't use dictionaries (parser option XML_PARSE_NODICT).
+                    Only for debugging.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--nonet</option></term>
-	<listitem>
-		<para>
-			Do not use the Internet to fetch <acronym>DTD</acronym>s or entities.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--noent</option></term>
+            <listitem>
+                <para>
+                    Substitute entity values for entity references. By default, &xmllint;
+                    leaves entity references in place.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--noout</option></term>
-	<listitem>
-		<para>
-			Suppress output. By default, &xmllint; outputs the result tree.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--nonet</option></term>
+            <listitem>
+                <para>
+                    Do not use the Internet to fetch <acronym>DTD</acronym>s or entities.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--nowarning</option></term>
-	<listitem>
-		<para>Do not emit warnings from the parser and/or validator.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--noout</option></term>
+            <listitem>
+                <para>
+                    Suppress output. By default, &xmllint; outputs the result tree.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--nowrap</option></term>
-	<listitem>
-		<para>Do not output <acronym>HTML</acronym> doc wrapper.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--nowarning</option></term>
+            <listitem>
+                <para>Do not emit warnings from the parser and/or validator.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--noxincludenode</option></term>
-	<listitem>
-		<para>
-			Do XInclude processing but do not generate XInclude start and end nodes.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--nowrap</option></term>
+            <listitem>
+                <para>Do not output <acronym>HTML</acronym> doc wrapper.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--nsclean</option></term>
-	<listitem>
-		<para>Remove redundant namespace declarations.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--noxincludenode</option></term>
+            <listitem>
+                <para>
+                    Do XInclude processing but do not generate XInclude start and end nodes.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--output <replaceable class="option">FILE</replaceable></option></term>
-	<listitem>
-		<para>
-			Define a file path where &xmllint; will save the result of parsing.
-			Usually the programs build a tree and save it
-			on <filename class="devicefile">stdout</filename>, with this option
-			the result <acronym>XML</acronym> instance will be saved onto a file.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--nsclean</option></term>
+            <listitem>
+                <para>Remove redundant namespace declarations.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--path "<replaceable class="option">PATH(S)</replaceable>"</option></term>
-	<listitem>
-		<para>
-			Use the (space- or colon-separated) list of filesystem paths specified
-			by <replaceable>PATHS</replaceable> to load <acronym>DTD</acronym>s or
-			entities. Enclose space-separated lists by quotation marks.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--output <replaceable class="option">FILE</replaceable></option></term>
+            <listitem>
+                <para>
+                    Define a file path where &xmllint; will save the result of parsing.
+                    Usually the programs build a tree and save it
+                    on <filename class="devicefile">stdout</filename>, with this option
+                    the result <acronym>XML</acronym> instance will be saved onto a file.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--pattern <replaceable class="option">PATTERNVALUE</replaceable></option></term>
-	<listitem>
-		<para>
-			Used to exercise the pattern recognition engine, which can be used
-			with the reader interface to the parser. It allows to select some
-			nodes in the document based on an XPath (subset) expression. Used
-			for debugging.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--path "<replaceable class="option">PATH(S)</replaceable>"</option></term>
+            <listitem>
+                <para>
+                    Use the (space- or colon-separated) list of filesystem paths specified
+                    by <replaceable>PATHS</replaceable> to load <acronym>DTD</acronym>s or
+                    entities. Enclose space-separated lists by quotation marks.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--postvalid</option></term>
-	<listitem>
-		<para>Validate after parsing has completed.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--pattern <replaceable class="option">PATTERNVALUE</replaceable></option></term>
+            <listitem>
+                <para>
+                    Used to exercise the pattern recognition engine, which can be used
+                    with the reader interface to the parser. It allows to select some
+                    nodes in the document based on an XPath (subset) expression. Used
+                    for debugging.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--push</option></term>
-	<listitem>
-		<para>Use the push mode of the parser.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--pedantic</option></term>
+            <listitem>
+                <para>Enable additional warnings.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--recover</option></term>
-	<listitem>
-		<para>Output any parsable portions of an invalid document.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--postvalid</option></term>
+            <listitem>
+                <para>Validate after parsing has completed.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--relaxng <replaceable class="option">SCHEMA</replaceable></option></term>
-	<listitem>
-		<para>
-			Use RelaxNG file named <replaceable class="option">SCHEMA</replaceable>
-			for validation.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--push</option></term>
+            <listitem>
+                <para>Use the push mode of the parser.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--repeat</option></term>
-	<listitem>
-		<para>Repeat 100 times, for timing or profiling.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--quiet</option></term>
+            <listitem>
+                <para>Don't print informational messages to stderr.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--schema <replaceable>SCHEMA</replaceable></option></term>
-	<listitem>
-		<para>
-			Use a W3C <acronym>XML</acronym> Schema file
-			named <replaceable>SCHEMA</replaceable> for validation.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--recover</option></term>
+            <listitem>
+                <para>Output any parsable portions of an invalid document.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--shell</option></term>
-	<listitem>
-		<para>
-			Run a navigating shell. Details on available commands in shell mode
-			are below (see <xref linkend="shell"/>).
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--relaxng <replaceable class="option">SCHEMA</replaceable></option></term>
+            <listitem>
+                <para>
+                    Use RelaxNG file named <replaceable class="option">SCHEMA</replaceable>
+                    for validation.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--xpath "<replaceable class="option">XPath_expression</replaceable>"</option></term>
-	<listitem>
-		<para>
-			Run an XPath expression given as argument and print the
-			result. In case of a nodeset result, each node in the
-			node set is serialized in full in the output. In case
-			of an empty node set the "XPath set is empty" result
-			will be shown and an error exit code will be returned.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--repeat</option></term>
+            <listitem>
+                <para>Repeat 100 times, for timing or profiling.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--stream</option></term>
-	<listitem>
-		<para>
-			Use streaming <acronym>API</acronym> - useful when used in combination
-			with <option>--relaxng</option> or <option>--valid</option> options
-			for validation of files that are too large to be held in memory.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--schema <replaceable>SCHEMA</replaceable></option></term>
+            <listitem>
+                <para>
+                    Use a W3C <acronym>XML</acronym> Schema file
+                    named <replaceable>SCHEMA</replaceable> for validation.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--testIO</option></term>
-	<listitem>
-		<para>Test user input/output support.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--shell</option></term>
+            <listitem>
+                <para>
+                    Run a navigating shell. Details on available commands in shell mode
+                    are below (see <xref linkend="shell"/>).
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--timing</option></term>
-	<listitem>
-		<para>
-			Output information about the time it takes &xmllint; to perform the
-			various steps.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--xpath "<replaceable class="option">XPath_expression</replaceable>"</option></term>
+            <listitem>
+                <para>
+                    Run an XPath expression given as argument and print the
+                    result. In case of a nodeset result, each node in the
+                    node set is serialized in full in the output. In case
+                    of an empty node set the "XPath set is empty" result
+                    will be shown and an error exit code will be returned.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--valid</option></term>
-	<listitem>
-		<para>
-			Determine if the document is a valid instance of the included
-			Document Type Definition (<acronym>DTD</acronym>).
-			A <acronym>DTD</acronym> to be validated against also can be
-			specified at the command line using the <option>--dtdvalid</option>
-			option. By default, &xmllint; also checks to determine if the
-			document is well-formed.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--stream</option></term>
+            <listitem>
+                <para>
+                    Use streaming <acronym>API</acronym> - useful when used in combination
+                    with <option>--relaxng</option> or <option>--valid</option> options
+                    for validation of files that are too large to be held in memory.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--version</option></term>
-	<listitem>
-		<para>
-			Display the version of <citerefentry>
-		<refentrytitle>libxml</refentrytitle>
-		<manvolnum>3</manvolnum>
-	</citerefentry> used.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--testIO</option></term>
+            <listitem>
+                <para>Test user input/output support.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--walker</option></term>
-	<listitem>
-		<para>
-			Test the walker module, which is a reader interface but for a
-			document tree, instead of using the reader <acronym>API</acronym> on
-			an unparsed document it works on an existing in-memory tree. Used for
-			debugging.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--timing</option></term>
+            <listitem>
+                <para>
+                    Output information about the time it takes &xmllint; to perform the
+                    various steps.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--xinclude</option></term>
-	<listitem>
-		<para>Do XInclude processing.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--valid</option></term>
+            <listitem>
+                <para>
+                    Determine if the document is a valid instance of the included
+                    Document Type Definition (<acronym>DTD</acronym>).
+                    A <acronym>DTD</acronym> to be validated against also can be
+                    specified at the command line using the <option>--dtdvalid</option>
+                    option. By default, &xmllint; also checks to determine if the
+                    document is well-formed.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>--xmlout</option></term>
-	<listitem>
-		<para>
-			Used in conjunction with <option>--html</option>. Usually
-			when <acronym>HTML</acronym> is parsed the document is saved with
-			the <acronym>HTML</acronym> serializer. But with this option the
-			resulting document is saved with the <acronym>XML</acronym>
-			serializer. This is primarily used to
-			generate <acronym>XHTML</acronym> from <acronym>HTML</acronym> input.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>--version</option></term>
+            <listitem>
+                <para>
+                    Display the version of <citerefentry>
+                <refentrytitle>libxml</refentrytitle>
+                <manvolnum>3</manvolnum>
+            </citerefentry> used.
+                </para>
+            </listitem>
+        </varlistentry>
 
-	</variablelist>
+        <varlistentry>
+            <term><option>--walker</option></term>
+            <listitem>
+                <para>
+                    Test the walker module, which is a reader interface but for a
+                    document tree, instead of using the reader <acronym>API</acronym> on
+                    an unparsed document it works on an existing in-memory tree. Used for
+                    debugging.
+                </para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>--xinclude</option></term>
+            <listitem>
+                <para>Do XInclude processing.</para>
+            </listitem>
+        </varlistentry>
+
+        <varlistentry>
+            <term><option>--xmlout</option></term>
+            <listitem>
+                <para>
+                    Used in conjunction with <option>--html</option>. Usually
+                    when <acronym>HTML</acronym> is parsed the document is saved with
+                    the <acronym>HTML</acronym> serializer. But with this option the
+                    resulting document is saved with the <acronym>XML</acronym>
+                    serializer. This is primarily used to
+                    generate <acronym>XHTML</acronym> from <acronym>HTML</acronym> input.
+                </para>
+            </listitem>
+        </varlistentry>
+
+    </variablelist>
 </refsect1>
 
 <refsect1 id="shell">
-	<title>SHELL COMMANDS</title>
-	<para>
-		&xmllint; offers an interactive shell mode invoked with
-		the <option>--shell</option> command. Available commands in shell mode
-		include (in alphabetical order):
-	</para>
-	<variablelist>
+    <title>SHELL COMMANDS</title>
+    <para>
+        &xmllint; offers an interactive shell mode invoked with
+        the <option>--shell</option> command. Available commands in shell mode
+        include (in alphabetical order):
+    </para>
+    <variablelist>
 
-		<varlistentry>
-	<term><command>base</command></term>
-	<listitem>
-		<para>Display <acronym>XML</acronym> base of the node.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>base</command></term>
+            <listitem>
+                <para>Display <acronym>XML</acronym> base of the node.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>bye</command></term>
-	<listitem>
-		<para>Leave the shell.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>bye</command></term>
+            <listitem>
+                <para>Leave the shell.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>cat <replaceable>NODE</replaceable></command></term>
-	<listitem>
-		<para>Display the given node or the current one.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>cat <replaceable>NODE</replaceable></command></term>
+            <listitem>
+                <para>Display the given node or the current one.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>cd <replaceable>PATH</replaceable></command></term>
-	<listitem>
-		<para>
-			Change the current node to the given path (if unique) or root if no
-			argument is given.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>cd <replaceable>PATH</replaceable></command></term>
+            <listitem>
+                <para>
+                    Change the current node to the given path (if unique) or root if no
+                    argument is given.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>dir <replaceable>PATH</replaceable></command></term>
-	<listitem>
-		<para>
-			Dumps information about the node (namespace, attributes, content).
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>dir <replaceable>PATH</replaceable></command></term>
+            <listitem>
+                <para>
+                    Dumps information about the node (namespace, attributes, content).
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>du <replaceable>PATH</replaceable></command></term>
-	<listitem>
-		<para>
-			Show the structure of the subtree under the given path or the current node.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>du <replaceable>PATH</replaceable></command></term>
+            <listitem>
+                <para>
+                    Show the structure of the subtree under the given path or the current node.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>exit</command></term>
-	<listitem>
-		<para>Leave the shell.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>exit</command></term>
+            <listitem>
+                <para>Leave the shell.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>help</command></term>
-	<listitem>
-		<para>Show this help.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>help</command></term>
+            <listitem>
+                <para>Show this help.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>free</command></term>
-	<listitem>
-		<para>Display memory usage.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>free</command></term>
+            <listitem>
+                <para>Display memory usage.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>load <replaceable>FILENAME</replaceable></command></term>
-	<listitem>
-		<para>Load a new document with the given filename.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>load <replaceable>FILENAME</replaceable></command></term>
+            <listitem>
+                <para>Load a new document with the given filename.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>ls <replaceable>PATH</replaceable></command></term>
-	<listitem>
-		<para>List contents of the given path or the current directory.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>ls <replaceable>PATH</replaceable></command></term>
+            <listitem>
+                <para>List contents of the given path or the current directory.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>pwd</command></term>
-	<listitem>
-		<para>Display the path to the current node.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>pwd</command></term>
+            <listitem>
+                <para>Display the path to the current node.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>quit</command></term>
-	<listitem>
-		<para>Leave the shell.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>quit</command></term>
+            <listitem>
+                <para>Leave the shell.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>save <replaceable>FILENAME</replaceable></command></term>
-	<listitem>
-		<para>
-			Save the current document to the given filename or to the original name.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>save <replaceable>FILENAME</replaceable></command></term>
+            <listitem>
+                <para>
+                    Save the current document to the given filename or to the original name.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><option>validate</option></term>
-	<listitem>
-		<para>Check the document for errors.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><option>validate</option></term>
+            <listitem>
+                <para>Check the document for errors.</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><command>write <replaceable>FILENAME</replaceable></command></term>
-	<listitem>
-		<para>Write the current node to the given filename.</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><command>write <replaceable>FILENAME</replaceable></command></term>
+            <listitem>
+                <para>Write the current node to the given filename.</para>
+            </listitem>
+        </varlistentry>
 
-	</variablelist>
+    </variablelist>
 </refsect1>
 
 <refsect1 id="environment">
-	<title>ENVIRONMENT</title>
-	<variablelist>
+    <title>ENVIRONMENT</title>
+    <variablelist>
 
-		<varlistentry>
-	<term><envar>SGML_CATALOG_FILES</envar></term>
-	<listitem>
-		<para><acronym>SGML</acronym> catalog behavior can be changed by redirecting
-			queries to the user's own set of catalogs. This can be done by setting
-			the <envar>SGML_CATALOG_FILES</envar> environment variable to a list
-			of catalogs. An empty one should deactivate loading the
-			default <filename>/etc/sgml/catalog</filename> catalog.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><envar>SGML_CATALOG_FILES</envar></term>
+            <listitem>
+                <para><acronym>SGML</acronym> catalog behavior can be changed by redirecting
+                    queries to the user's own set of catalogs. This can be done by setting
+                    the <envar>SGML_CATALOG_FILES</envar> environment variable to a list
+                    of catalogs. An empty one should deactivate loading the
+                    default catalog.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><envar>XML_CATALOG_FILES</envar></term>
-	<listitem>
-		<para><acronym>XML</acronym> catalog behavior can be changed by redirecting
-			queries to the user's own set of catalogs. This can be done by setting
-			the <envar>XML_CATALOG_FILES</envar> environment variable to a space-separated
-			list of catalogs. Use percent-encoding to escape spaces or other characters.
-			An empty variable should deactivate loading the default <filename>/etc/xml/catalog</filename> catalog.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><envar>XML_CATALOG_FILES</envar></term>
+            <listitem>
+                <para><acronym>XML</acronym> catalog behavior can be changed by redirecting
+                    queries to the user's own set of catalogs. This can be done by setting
+                    the <envar>XML_CATALOG_FILES</envar> environment variable to a space-separated
+                    list of catalogs. Use percent-encoding to escape spaces or other characters.
+                    An empty variable should deactivate loading the default catalog.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><envar>XML_DEBUG_CATALOG</envar></term>
-	<listitem>
-		<para>Setting the environment variable <envar>XML_DEBUG_CATALOG</envar>
-			to <parameter>non-zero</parameter> using the <command>export</command>
-			command outputs debugging information related to catalog operations.
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><envar>XML_DEBUG_CATALOG</envar></term>
+            <listitem>
+                <para>Setting the environment variable <envar>XML_DEBUG_CATALOG</envar>
+                    to <parameter>non-zero</parameter> using the <command>export</command>
+                    command outputs debugging information related to catalog operations.
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><envar>XMLLINT_INDENT</envar></term>
-	<listitem>
-		<para>Setting the environment variable <envar>XMLLINT_INDENT</envar>
-			controls the indentation. The default value is two spaces &quot;  &quot;.
-		</para>
-	</listitem>
-		</varlistentry>
-		
-	</variablelist>
+        <varlistentry>
+            <term><envar>XMLLINT_INDENT</envar></term>
+            <listitem>
+                <para>Setting the environment variable <envar>XMLLINT_INDENT</envar>
+                    controls the indentation. The default value is two spaces &quot;  &quot;.
+                </para>
+            </listitem>
+        </varlistentry>
+
+    </variablelist>
 </refsect1>
 
 <refsect1 id="diagnostics">
-	<title>DIAGNOSTICS</title>
-	<para>
-		&xmllint; return codes provide information that can be used when
-		calling it from scripts.
-	</para>
-	<!-- better use segmentedlist element later,
-	     which is currently only supported in snapshots -->
-	<variablelist>
+    <title>DIAGNOSTICS</title>
+    <para>
+        &xmllint; return codes provide information that can be used when
+        calling it from scripts.
+    </para>
+    <!-- better use segmentedlist element later,
+         which is currently only supported in snapshots -->
+    <variablelist>
 
-		<varlistentry>
-	<term><errorcode>0</errorcode></term>
-	<listitem>
-		<para>No error</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><errorcode>0</errorcode></term>
+            <listitem>
+                <para>No error</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><errorcode>1</errorcode></term>
-	<listitem>
-		<para>Unclassified</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><errorcode>1</errorcode></term>
+            <listitem>
+                <para>Unclassified</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><errorcode>2</errorcode></term>
-	<listitem>
-		<para>Error in <acronym>DTD</acronym></para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><errorcode>2</errorcode></term>
+            <listitem>
+                <para>Error in <acronym>DTD</acronym></para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><errorcode>3</errorcode></term>
-	<listitem>
-		<para>Validation error</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><errorcode>3</errorcode></term>
+            <listitem>
+                <para>Validation error</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><errorcode>4</errorcode></term>
-	<listitem>
-		<para>Validation error</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><errorcode>4</errorcode></term>
+            <listitem>
+                <para>Validation error</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><errorcode>5</errorcode></term>
-	<listitem>
-		<para>Error in schema compilation</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><errorcode>5</errorcode></term>
+            <listitem>
+                <para>Error in schema compilation</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><errorcode>6</errorcode></term>
-	<listitem>
-		<para>Error writing output</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><errorcode>6</errorcode></term>
+            <listitem>
+                <para>Error writing output</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><errorcode>7</errorcode></term>
-	<listitem>
-		<para>
-			Error in pattern (generated when <option>--pattern</option> option is used)
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><errorcode>7</errorcode></term>
+            <listitem>
+                <para>
+                    Error in pattern (generated when <option>--pattern</option> option is used)
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><errorcode>8</errorcode></term>
-	<listitem>
-		<para>
-			Error in Reader registration (generated
-			when <option>--chkregister</option> option is used)
-		</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><errorcode>8</errorcode></term>
+            <listitem>
+                <para>
+                    Error in Reader registration (generated
+                    when <option>--chkregister</option> option is used)
+                </para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><errorcode>9</errorcode></term>
-	<listitem>
-		<para>Out of memory error</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><errorcode>9</errorcode></term>
+            <listitem>
+                <para>Out of memory error</para>
+            </listitem>
+        </varlistentry>
 
-		<varlistentry>
-	<term><errorcode>10</errorcode></term>
-	<listitem>
-		<para>XPath evaluation error</para>
-	</listitem>
-		</varlistentry>
+        <varlistentry>
+            <term><errorcode>10</errorcode></term>
+            <listitem>
+                <para>XPath evaluation error</para>
+            </listitem>
+        </varlistentry>
 
-	</variablelist>
+    </variablelist>
 </refsect1>
 
 <refsect1 id="seealso">
-	<title>SEE ALSO</title>
-	<para><citerefentry>
-			<refentrytitle>libxml</refentrytitle>
-			<manvolnum>3</manvolnum>
-		</citerefentry>
-	</para>
-	<para>
-		More information can be found at
-		<itemizedlist>
-			<listitem>
-				<para><citerefentry>
-						<refentrytitle>libxml</refentrytitle>
-						<manvolnum>3</manvolnum>
-					</citerefentry> web page <ulink url="https://gitlab.gnome.org/GNOME/libxml2"/>
-				</para>
-			</listitem>
-		</itemizedlist>
-	</para>
+    <title>SEE ALSO</title>
+    <para><citerefentry>
+            <refentrytitle>libxml</refentrytitle>
+            <manvolnum>3</manvolnum>
+        </citerefentry>
+    </para>
+    <para>
+        More information can be found at
+        <itemizedlist>
+            <listitem>
+                <para><citerefentry>
+                        <refentrytitle>libxml</refentrytitle>
+                        <manvolnum>3</manvolnum>
+                    </citerefentry> web page <ulink url="https://gitlab.gnome.org/GNOME/libxml2"/>
+                </para>
+            </listitem>
+        </itemizedlist>
+    </para>
 </refsect1>
 
 </refentry>
diff --git a/doc/xmlmem.html b/doc/xmlmem.html
deleted file mode 100644
index 97b4b5a..0000000
--- a/doc/xmlmem.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Memory Management</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Memory Management</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</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://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="https://libxmlplusplus.github.io/libxmlplusplus/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol>
-  <li><a href="#General3">General overview</a></li>
-  <li><a href="#setting">Setting libxml2 set of memory routines</a></li>
-  <li><a href="#cleanup">Cleaning up after using the library</a></li>
-  <li><a href="#Debugging">Debugging routines</a></li>
-  <li><a href="#General4">General memory requirements</a></li>
-  <li><a href="#Compacting">Returning memory to the kernel</a></li>
-</ol><h3><a name="General3" id="General3">General overview</a></h3><p>The module <code><a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlmemory.h</a></code>
-provides the interfaces to the libxml2 memory system:</p><ul>
-  <li>libxml2 does not use the libc memory allocator directly but xmlFree(),
-    xmlMalloc() and xmlRealloc()</li>
-  <li>those routines can be reallocated to a specific set of routine, by
-    default the libc ones i.e. free(), malloc() and realloc()</li>
-  <li>the xmlmemory.c module includes a set of debugging routine</li>
-</ul><h3><a name="setting" id="setting">Setting libxml2 set of memory routines</a></h3><p>It is sometimes useful to not use the default memory allocator, either for
-debugging, analysis or to implement a specific behaviour on memory management
-(like on embedded systems). Two function calls are available to do so:</p><ul>
-  <li><a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemGet
-    ()</a> which return the current set of functions in use by the parser</li>
-  <li><a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemSetup()</a>
-    which allow to set up a new set of memory allocation functions</li>
-</ul><p>Of course a call to xmlMemSetup() should probably be done before calling
-any other libxml2 routines (unless you are sure your allocations routines are
-compatibles).</p><h3><a name="cleanup" id="cleanup">Cleaning up after using the library</a></h3><p>Libxml2 is not stateless, there is a few set of memory structures needing
-allocation before the parser is fully functional (some encoding structures
-for example). This also mean that once parsing is finished there is a tiny
-amount of memory (a few hundred bytes) which can be recollected if you don't
-reuse the library or any document built with it:</p><ul>
-  <li><a href="http://xmlsoft.org/html/libxml-parser.html">xmlCleanupParser
-    ()</a> is a centralized routine to free the library state and data. Note
-    that it won't deallocate any produced tree if any (use the xmlFreeDoc()
-    and related routines for this). This should be called only when the library
-    is not used anymore.</li>
-  <li><a href="http://xmlsoft.org/html/libxml-parser.html">xmlInitParser
-    ()</a> is the dual routine allowing to preallocate the parsing state
-    which can be useful for example to avoid initialization reentrancy
-    problems when using libxml2 in multithreaded applications</li>
-</ul><p>Generally xmlCleanupParser() is safe assuming no parsing is ongoing and
-no document is still being used, if needed the state will be rebuild at the
-next invocation of parser routines (or by xmlInitParser()), but be careful
-of the consequences in multithreaded applications.</p><h3><a name="Debugging" id="Debugging">Debugging routines</a></h3><p>When configured using --with-mem-debug flag (off by default), libxml2 uses
-a set of memory allocation debugging routines keeping track of all allocated
-blocks and the location in the code where the routine was called. A couple of
-other debugging routines allow to dump the memory allocated infos to a file
-or call a specific routine when a given block number is allocated:</p><ul>
-  <li><a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMallocLoc()</a>
-    <a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlReallocLoc()</a>
-    and <a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemStrdupLoc()</a>
-    are the memory debugging replacement allocation routines</li>
-  <li><a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemoryDump
-    ()</a> dumps all the information about the allocated memory block lefts
-    in the <code>.memdump</code> file</li>
-</ul><p>When developing libxml2 memory debug is enabled, the tests programs call
-xmlMemoryDump () and the "make test" regression tests will check for any
-memory leak during the full regression test sequence, this helps a lot
-ensuring that libxml2  does not leak memory and bullet proof memory
-allocations use (some libc implementations are known to be far too permissive
-resulting in major portability problems!).</p><p>If the .memdump reports a leak, it displays the allocation function and
-also tries to give some information about the content and structure of the
-allocated blocks left. This is sufficient in most cases to find the culprit,
-but not always. Assuming the allocation problem is reproducible, it is
-possible to find more easily:</p><ol>
-  <li>write down the block number xxxx not allocated</li>
-  <li>export the environment variable XML_MEM_BREAKPOINT=xxxx , the easiest
-    when using GDB is to simply give the command
-    <p><code>set environment XML_MEM_BREAKPOINT xxxx</code></p>
-    <p>before running the program.</p>
-  </li>
-  <li>run the program under a debugger and set a breakpoint on
-    xmlMallocBreakpoint() a specific function called when this precise block
-    is allocated</li>
-  <li>when the breakpoint is reached you can then do a fine analysis of the
-    allocation an step  to see the condition resulting in the missing
-    deallocation.</li>
-</ol><p>I used to use a commercial tool to debug libxml2 memory problems but after
-noticing that it was not detecting memory leaks that simple mechanism was
-used and proved extremely efficient until now. Lately I have also used <a href="http://developer.kde.org/~sewardj/">valgrind</a> with quite some
-success, it is tied to the i386 architecture since it works by emulating the
-processor and instruction set, it is slow but  extremely efficient, i.e. it
-spot memory usage errors in a very precise way.</p><h3><a name="General4" id="General4">General memory requirements</a></h3><p>How much libxml2 memory require ? It's hard to tell in average it depends
-of a number of things:</p><ul>
-  <li>the parser itself should work  in a fixed amount of memory, except for
-    information maintained about the stacks of names and  entities locations.
-    The I/O and encoding handlers will probably account for a few KBytes.
-    This is true for both the XML and HTML parser (though the HTML parser
-    need more state).</li>
-  <li>If you are generating the DOM tree then memory requirements will grow
-    nearly linear with the size of the data. In general for a balanced
-    textual document the internal memory requirement is about 4 times the
-    size of the UTF8 serialization of this document (example the XML-1.0
-    recommendation is a bit more of 150KBytes and takes 650KBytes of main
-    memory when parsed). Validation will add a amount of memory required for
-    maintaining the external Dtd state which should be linear with the
-    complexity of the content model defined by the Dtd</li>
-  <li>If you need to work with fixed memory requirements or don't need the
-    full DOM tree then using the <a href="xmlreader.html">xmlReader
-    interface</a> is probably the best way to proceed, it still allows to
-    validate or operate on subset of the tree if needed.</li>
-  <li>If you don't care about the advanced features of libxml2 like
-    validation, DOM, XPath or XPointer, don't use entities, need to work with
-    fixed memory requirements, and try to get the fastest parsing possible
-    then the SAX interface should be used, but it has known restrictions.</li>
-</ul><p></p><h3><a name="Compacting" id="Compacting">Returning memory to the kernel</a></h3><p>You may encounter that your process using libxml2 does not have a
-reduced memory usage although you freed the trees. This is because
-libxml2 allocates memory in a number of small chunks. When freeing one
-of those chunks, the OS may decide that giving this little memory back
-to the kernel will cause too much overhead and delay the operation. As
-all chunks are this small, they get actually freed but not returned to
-the kernel. On systems using glibc, there is a function call
-"malloc_trim" from malloc.h which does this missing operation (note that
-it is allowed to fail). Thus, after freeing your tree you may simply try
-"malloc_trim(0);" to really get the memory back. If your OS does not
-provide malloc_trim, try searching for a similar function.</p><p></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/xmlreader.html b/doc/xmlreader.html
deleted file mode 100644
index 6b4db47..0000000
--- a/doc/xmlreader.html
+++ /dev/null
@@ -1,475 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-    "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html">
-  <style type="text/css"></style>
-<!--
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-  </style>
--->
-  <title>Libxml2 XmlTextReader Interface tutorial</title>
-</head>
-
-<body bgcolor="#fffacd" text="#000000">
-<h1 align="center">Libxml2 XmlTextReader Interface tutorial</h1>
-
-<p></p>
-
-<p>This document describes the use of the XmlTextReader streaming API added
-to libxml2 in version 2.5.0 . This API is closely modeled after the <a
-href="http://dotgnu.org/pnetlib-doc/System/Xml/XmlTextReader.html">XmlTextReader</a>
-and <a
-href="http://dotgnu.org/pnetlib-doc/System/Xml/XmlReader.html">XmlReader</a>
-classes of the C# language.</p>
-
-<p>This tutorial will present the key points of this API, and working
-examples using both C and the Python bindings:</p>
-
-<p>Table of content:</p>
-<ul>
-  <li><a href="#Introducti">Introduction: why a new API</a></li>
-  <li><a href="#Walking">Walking a simple tree</a></li>
-  <li><a href="#Extracting">Extracting information for the current
-  node</a></li>
-  <li><a href="#Extracting1">Extracting information for the
-  attributes</a></li>
-  <li><a href="#Validating">Validating a document</a></li>
-  <li><a href="#Entities">Entities substitution</a></li>
-  <li><a href="#L1142">Relax-NG Validation</a></li>
-  <li><a href="#Mixing">Mixing the reader and tree or XPath
-  operations</a></li>
-</ul>
-
-<p></p>
-
-<h2><a name="Introducti">Introduction: why a new API</a></h2>
-
-<p>Libxml2 <a href="http://xmlsoft.org/html/libxml-tree.html">main API is
-tree based</a>, where the parsing operation results in a document loaded
-completely in memory, and expose it as a tree of nodes all available at the
-same time. This is very simple and quite powerful, but has the major
-limitation that the size of the document that can be hamdled is limited by
-the size of the memory available. Libxml2 also provide a <a
-href="http://www.saxproject.org/">SAX</a> based API, but that version was
-designed upon one of the early <a
-href="http://www.jclark.com/xml/expat.html">expat</a> version of SAX, SAX is
-also not formally defined for C. SAX basically work by registering callbacks
-which are called directly by the parser as it progresses through the document
-streams. The problem is that this programming model is relatively complex,
-not well standardized, cannot provide validation directly, makes entity,
-namespace and base processing relatively hard.</p>
-
-<p>The <a
-href="http://dotgnu.org/pnetlib-doc/System/Xml/XmlTextReader.html">XmlTextReader
-API from C#</a> provides a far simpler programming model. The API acts as a
-cursor going forward on the document stream and stopping at each node in the
-way. The user's code keeps control of the progress and simply calls a
-Read() function repeatedly to progress to each node in sequence in document
-order. There is direct support for namespaces, xml:base, entity handling and
-adding DTD validation on top of it was relatively simple. This API is really
-close to the <a href="http://www.w3.org/TR/DOM-Level-2-Core/">DOM Core
-specification</a> This provides a far more standard, easy to use and powerful
-API than the existing SAX. Moreover integrating extension features based on
-the tree seems relatively easy.</p>
-
-<p>In a nutshell the XmlTextReader API provides a simpler, more standard and
-more extensible interface to handle large documents than the existing SAX
-version.</p>
-
-<h2><a name="Walking">Walking a simple tree</a></h2>
-
-<p>Basically the XmlTextReader API is a forward only tree walking interface.
-The basic steps are:</p>
-<ol>
-  <li>prepare a reader context operating on some input</li>
-  <li>run a loop iterating over all nodes in the document</li>
-  <li>free up the reader context</li>
-</ol>
-
-<p>Here is a basic C sample doing this:</p>
-<pre>#include &lt;libxml/xmlreader.h&gt;
-
-void processNode(xmlTextReaderPtr reader) {
-    /* handling of a node in the tree */
-}
-
-int streamFile(char *filename) {
-    xmlTextReaderPtr reader;
-    int ret;
-
-    reader = xmlNewTextReaderFilename(filename);
-    if (reader != NULL) {
-        ret = xmlTextReaderRead(reader);
-        while (ret == 1) {
-            processNode(reader);
-            ret = xmlTextReaderRead(reader);
-        }
-        xmlFreeTextReader(reader);
-        if (ret != 0) {
-            printf("%s : failed to parse\n", filename);
-        }
-    } else {
-        printf("Unable to open %s\n", filename);
-    }
-}</pre>
-
-<p>A few things to notice:</p>
-<ul>
-  <li>the include file needed : <code>libxml/xmlreader.h</code></li>
-  <li>the creation of the reader using a filename</li>
-  <li>the repeated call to xmlTextReaderRead() and how any return value
-    different from 1 should stop the loop</li>
-  <li>that a negative return means a parsing error</li>
-  <li>how xmlFreeTextReader() should be used to free up the resources used by
-    the reader.</li>
-</ul>
-
-<p>Here is similar code in python for exactly the same processing:</p>
-<pre>import libxml2
-
-def processNode(reader):
-    pass
-
-def streamFile(filename):
-    try:
-        reader = libxml2.newTextReaderFilename(filename)
-    except:
-        print "unable to open %s" % (filename)
-        return
-
-    ret = reader.Read()
-    while ret == 1:
-        processNode(reader)
-        ret = reader.Read()
-
-    if ret != 0:
-        print "%s : failed to parse" % (filename)</pre>
-
-<p>The only things worth adding are that the <a
-href="http://dotgnu.org/pnetlib-doc/System/Xml/XmlTextReader.html">xmlTextReader
-is abstracted as a class like in C#</a> with the same method names (but the
-properties are currently accessed with methods) and that one doesn't need to
-free the reader at the end of the processing. It will get garbage collected
-once all references have disappeared.</p>
-
-<h2><a name="Extracting">Extracting information for the current node</a></h2>
-
-<p>So far the example code did not indicate how information was extracted
-from the reader. It was abstrated as a call to the processNode() routine,
-with the reader as the argument. At each invocation, the parser is stopped on
-a given node and the reader can be used to query those node properties. Each
-<em>Property</em> is available at the C level as a function taking a single
-xmlTextReaderPtr argument whose name is
-<code>xmlTextReader</code><em>Property</em> , if the return type is an
-<code>xmlChar *</code> string then it must be deallocated with
-<code>xmlFree()</code> to avoid leaks. For the Python interface, there is a
-<em>Property</em> method to the reader class that can be called on the
-instance. The list of the properties is based on the <a
-href="http://dotgnu.org/pnetlib-doc/System/Xml/XmlTextReader.html">C#
-XmlTextReader class</a> set of properties and methods:</p>
-<ul>
-  <li><em>NodeType</em>: The node type, 1 for start element, 15 for end of
-    element, 2 for attributes, 3 for text nodes, 4 for CData sections, 5 for
-    entity references, 6 for entity declarations, 7 for PIs, 8 for comments,
-    9 for the document nodes, 10 for DTD/Doctype nodes, 11 for document
-    fragment and 12 for notation nodes.</li>
-  <li><em>Name</em>: the <a
-    href="http://www.w3.org/TR/REC-xml-names/#ns-qualnames">qualified
-    name</a> of the node, equal to (<em>Prefix</em>:)<em>LocalName</em>.</li>
-  <li><em>LocalName</em>: the <a
-    href="http://www.w3.org/TR/REC-xml-names/#NT-LocalPart">local name</a> of
-    the node.</li>
-  <li><em>Prefix</em>: a  shorthand reference to the <a
-    href="http://www.w3.org/TR/REC-xml-names/">namespace</a> associated with
-    the node.</li>
-  <li><em>NamespaceUri</em>: the URI defining the <a
-    href="http://www.w3.org/TR/REC-xml-names/">namespace</a> associated with
-    the node.</li>
-  <li><em>BaseUri:</em> the base URI of the node. See the <a
-    href="http://www.w3.org/TR/xmlbase/">XML Base W3C specification</a>.</li>
-  <li><em>Depth:</em> the depth of the node in the tree, starts at 0 for the
-    root node.</li>
-  <li><em>HasAttributes</em>: whether the node has attributes.</li>
-  <li><em>HasValue</em>: whether the node can have a text value.</li>
-  <li><em>Value</em>: provides the text value of the node if present.</li>
-  <li><em>IsDefault</em>: whether an Attribute  node was generated from the
-    default value defined in the DTD or schema (<em>unsupported
-  yet</em>).</li>
-  <li><em>XmlLang</em>: the <a
-    href="http://www.w3.org/TR/REC-xml#sec-lang-tag">xml:lang</a> scope
-    within which the node resides.</li>
-  <li><em>IsEmptyElement</em>: check if the current node is empty, this is a
-    bit bizarre in the sense that <code>&lt;a/&gt;</code> will be considered
-    empty while <code>&lt;a&gt;&lt;/a&gt;</code> will not.</li>
-  <li><em>AttributeCount</em>: provides the number of attributes of the
-    current node.</li>
-</ul>
-
-<p>Let's look first at a small example to get this in practice by redefining
-the processNode() function in the Python example:</p>
-<pre>def processNode(reader):
-    print "%d %d %s %d" % (reader.Depth(), reader.NodeType(),
-                           reader.Name(), reader.IsEmptyElement())</pre>
-
-<p>and look at the result of calling streamFile("tst.xml") for various
-content of the XML test file.</p>
-
-<p>For the minimal document "<code>&lt;doc/&gt;</code>" we get:</p>
-<pre>0 1 doc 1</pre>
-
-<p>Only one node is found, its depth is 0, type 1 indicate an element start,
-of name "doc" and it is empty. Trying now with
-"<code>&lt;doc&gt;&lt;/doc&gt;</code>" instead leads to:</p>
-<pre>0 1 doc 0
-0 15 doc 0</pre>
-
-<p>The document root node is not flagged as empty anymore and both a start
-and an end of element are detected. The following document shows how
-character data are reported:</p>
-<pre>&lt;doc&gt;&lt;a/&gt;&lt;b&gt;some text&lt;/b&gt;
-&lt;c/&gt;&lt;/doc&gt;</pre>
-
-<p>We modifying the processNode() function to also report the node Value:</p>
-<pre>def processNode(reader):
-    print "%d %d %s %d %s" % (reader.Depth(), reader.NodeType(),
-                              reader.Name(), reader.IsEmptyElement(),
-                              reader.Value())</pre>
-
-<p>The result of the test is:</p>
-<pre>0 1 doc 0 None
-1 1 a 1 None
-1 1 b 0 None
-2 3 #text 0 some text
-1 15 b 0 None
-1 3 #text 0
-
-1 1 c 1 None
-0 15 doc 0 None</pre>
-
-<p>There are a few things to note:</p>
-<ul>
-  <li>the increase of the depth value (first row) as children nodes are
-    explored</li>
-  <li>the text node child of the b element, of type 3 and its content</li>
-  <li>the text node containing the line return between elements b and c</li>
-  <li>that elements have the Value None (or NULL in C)</li>
-</ul>
-
-<p>The equivalent routine for <code>processNode()</code> as used by
-<code>xmllint --stream --debug</code> is the following and can be found in
-the xmllint.c module in the source distribution:</p>
-<pre>static void processNode(xmlTextReaderPtr reader) {
-    xmlChar *name, *value;
-
-    name = xmlTextReaderName(reader);
-    if (name == NULL)
-        name = xmlStrdup(BAD_CAST "--");
-    value = xmlTextReaderValue(reader);
-
-    printf("%d %d %s %d",
-            xmlTextReaderDepth(reader),
-            xmlTextReaderNodeType(reader),
-            name,
-            xmlTextReaderIsEmptyElement(reader));
-    xmlFree(name);
-    if (value == NULL)
-        printf("\n");
-    else {
-        printf(" %s\n", value);
-        xmlFree(value);
-    }
-}</pre>
-
-<h2><a name="Extracting1">Extracting information for the attributes</a></h2>
-
-<p>The previous examples don't indicate how attributes are processed. The
-simple test "<code>&lt;doc a="b"/&gt;</code>" provides the following
-result:</p>
-<pre>0 1 doc 1 None</pre>
-
-<p>This proves that attribute nodes are not traversed by default. The
-<em>HasAttributes</em> property allow to detect their presence. To check
-their content the API has special instructions. Basically two kinds of operations
-are possible:</p>
-<ol>
-  <li>to move the reader to the attribute nodes of the current element, in
-    that case the cursor is positioned on the attribute node</li>
-  <li>to directly query the element node for the attribute value</li>
-</ol>
-
-<p>In both case the attribute can be designed either by its position in the
-list of attribute (<em>MoveToAttributeNo</em> or <em>GetAttributeNo</em>) or
-by their name (and namespace):</p>
-<ul>
-  <li><em>GetAttributeNo</em>(no): provides the value of the attribute with
-    the specified index no relative to the containing element.</li>
-  <li><em>GetAttribute</em>(name): provides the value of the attribute with
-    the specified qualified name.</li>
-  <li>GetAttributeNs(localName, namespaceURI): provides the value of the
-    attribute with the specified local name and namespace URI.</li>
-  <li><em>MoveToAttributeNo</em>(no): moves the position of the current
-    instance to the attribute with the specified index relative to the
-    containing element.</li>
-  <li><em>MoveToAttribute</em>(name): moves the position of the current
-    instance to the attribute with the specified qualified name.</li>
-  <li><em>MoveToAttributeNs</em>(localName, namespaceURI): moves the position
-    of the current instance to the attribute with the specified local name
-    and namespace URI.</li>
-  <li><em>MoveToFirstAttribute</em>: moves the position of the current
-    instance to the first attribute associated with the current node.</li>
-  <li><em>MoveToNextAttribute</em>: moves the position of the current
-    instance to the next attribute associated with the current node.</li>
-  <li><em>MoveToElement</em>: moves the position of the current instance to
-    the node that contains the current Attribute  node.</li>
-</ul>
-
-<p>After modifying the processNode() function to show attributes:</p>
-<pre>def processNode(reader):
-    print "%d %d %s %d %s" % (reader.Depth(), reader.NodeType(),
-                              reader.Name(), reader.IsEmptyElement(),
-                              reader.Value())
-    if reader.NodeType() == 1: # Element
-        while reader.MoveToNextAttribute():
-            print "-- %d %d (%s) [%s]" % (reader.Depth(), reader.NodeType(),
-                                          reader.Name(),reader.Value())</pre>
-
-<p>The output for the same input document reflects the attribute:</p>
-<pre>0 1 doc 1 None
--- 1 2 (a) [b]</pre>
-
-<p>There are a couple of things to note on the attribute processing:</p>
-<ul>
-  <li>Their depth is the one of the carrying element plus one.</li>
-  <li>Namespace declarations are seen as attributes, as in DOM.</li>
-</ul>
-
-<h2><a name="Validating">Validating a document</a></h2>
-
-<p>Libxml2 implementation adds some extra features on top of the XmlTextReader
-API. The main one is the ability to DTD validate the parsed document
-progressively. This is simply the activation of the associated feature of the
-parser used by the reader structure. There are a few options available
-defined as the enum xmlParserProperties in the libxml/xmlreader.h header
-file:</p>
-<ul>
-  <li>XML_PARSER_LOADDTD: force loading the DTD (without validating)</li>
-  <li>XML_PARSER_DEFAULTATTRS: force attribute defaulting (this also imply
-    loading the DTD)</li>
-  <li>XML_PARSER_VALIDATE: activate DTD validation (this also imply loading
-    the DTD)</li>
-  <li>XML_PARSER_SUBST_ENTITIES: substitute entities on the fly, entity
-    reference nodes are not generated and are replaced by their expanded
-    content.</li>
-  <li>more settings might be added, those were the one available at the 2.5.0
-    release...</li>
-</ul>
-
-<p>The GetParserProp() and SetParserProp() methods can then be used to get
-and set the values of those parser properties of the reader. For example</p>
-<pre>def parseAndValidate(file):
-    reader = libxml2.newTextReaderFilename(file)
-    reader.SetParserProp(libxml2.PARSER_VALIDATE, 1)
-    ret = reader.Read()
-    while ret == 1:
-        ret = reader.Read()
-    if ret != 0:
-        print "Error parsing and validating %s" % (file)</pre>
-
-<p>This routine will parse and validate the file. Error messages can be
-captured by registering an error handler. See python/tests/reader2.py for
-more complete Python examples. At the C level the equivalent call to ativate
-the validation feature is just:</p>
-<pre>ret = xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1)</pre>
-
-<p>and a return value of 0 indicates success.</p>
-
-<h2><a name="Entities">Entities substitution</a></h2>
-
-<p>By default the xmlReader will report entities as such and not replace them
-with their content. This default behaviour can however be overridden using:</p>
-
-<p><code>reader.SetParserProp(libxml2.PARSER_SUBST_ENTITIES,1)</code></p>
-
-<h2><a name="L1142">Relax-NG Validation</a></h2>
-
-<p style="font-size: 10pt">Introduced in version 2.5.7</p>
-
-<p>Libxml2 can now validate the document being read using the xmlReader using
-Relax-NG schemas. While the Relax NG validator can't always work in a
-streamable mode, only subsets which cannot be reduced to regular expressions
-need to have their subtree expanded for validation. In practice it means
-that, unless the schemas for the top level element content is not expressible
-as a regexp, only chunk of the document needs to be parsed while
-validating.</p>
-
-<p>The steps to do so are:</p>
-<ul>
-  <li>create a reader working on a document as usual</li>
-  <li>before any call to read associate it to a Relax NG schemas, either the
-    preparsed schemas or the URL to the schemas to use</li>
-  <li>errors will be reported the usual way, and the validity status can be
-    obtained using the IsValid() interface of the reader like for DTDs.</li>
-</ul>
-
-<p>Example, assuming the reader has already being created and that the schema
-string contains the Relax-NG schemas:</p>
-<pre><code>rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))<br>
-rngs = rngp.relaxNGParse()<br>
-reader.RelaxNGSetSchema(rngs)<br>
-ret = reader.Read()<br>
-while ret == 1:<br>
-    ret = reader.Read()<br>
-if ret != 0:<br>
-    print "Error parsing the document"<br>
-if reader.IsValid() != 1:<br>
-    print "Document failed to validate"</code><br>
-</pre>
-
-<p>See <code>reader6.py</code> in the sources or documentation for a complete
-example.</p>
-
-<h2><a name="Mixing">Mixing the reader and tree or XPath operations</a></h2>
-
-<p style="font-size: 10pt">Introduced in version 2.5.7</p>
-
-<p>While the reader is a streaming interface, its underlying implementation
-is based on the DOM builder of libxml2. As a result it is relatively simple
-to mix operations based on both models under some constraints. To do so the
-reader has an Expand() operation allowing to grow the subtree under the
-current node. It returns a pointer to a standard node which can be
-manipulated in the usual ways. The node will get all its ancestors and the
-full subtree available. Usual operations like XPath queries can be used on
-that reduced view of the document. Here is an example extracted from
-reader5.py in the sources which extract and prints the bibliography for the
-"Dragon" compiler book from the XML 1.0 recommendation:</p>
-<pre>f = open('../../test/valid/REC-xml-19980210.xml')
-input = libxml2.inputBuffer(f)
-reader = input.newTextReader("REC")
-res=""
-while reader.Read():
-    while reader.Name() == 'bibl':
-        node = reader.Expand()            # expand the subtree
-        if node.xpathEval("@id = 'Aho'"): # use XPath on it
-            res = res + node.serialize()
-        if reader.Next() != 1:            # skip the subtree
-            break;</pre>
-
-<p>Note, however that the node instance returned by the Expand() call is only
-valid until the next Read() operation. The Expand() operation does not
-affects the Read() ones, however usually once processed the full subtree is
-not useful anymore, and the Next() operation allows to skip it completely and
-process to the successor or return 0 if the document end is reached.</p>
-
-<p><a href="mailto:xml@gnome.org">Daniel Veillard</a></p>
-
-<p>$Id$</p>
-
-<p></p>
-</body>
-</html>
diff --git a/doc/xsa.xsl b/doc/xsa.xsl
deleted file mode 100644
index 05d64de..0000000
--- a/doc/xsa.xsl
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Stylesheet generating the XSA entry for libxml2 based on the 
-  latest News entry.
-  See http://www.garshol.priv.no/download/xsa/ for a description of XSA
- -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-     xmlns:xhtml="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xhtml">
-  <xsl:output method="xml"
-      doctype-public="-//LM Garshol//DTD XML Software Autoupdate 1.0//EN//XML"
-      doctype-system="http://www.garshol.priv.no/download/xsa/xsa.dtd"
-      indent="yes"/>
-
-  <xsl:template match="/">
-<xsa>
-  <vendor>
-    <name>Daniel Veillard</name>
-    <email>daniel@veillard.com</email>
-    <url>http://veillard.com/</url>
-  </vendor>
-  <product id="libxml2">
-    <name>libxml2</name>
-    <version><xsl:value-of select="substring-before(//xhtml:h3[2], ':')"/></version>
-    <last-release><xsl:value-of select="substring-after(//xhtml:h3[2], ':')"/></last-release>
-    <info-url>https://gitlab.gnome.org/GNOME/libxml2</info-url>
-    <changes>
-    <xsl:apply-templates select="//xhtml:h3[2]/following-sibling::*[1]"/>
-    </changes>
-  </product>
-</xsa>
-  </xsl:template>
-  <xsl:template match="xhtml:h3">
-  </xsl:template>
-  <xsl:template match="xhtml:ul">
-    <xsl:apply-templates select=".//xhtml:li"/>
-    <xsl:text>
-</xsl:text>
-  </xsl:template>
-  <xsl:template match="xhtml:li">
-    <xsl:text>   - </xsl:text>
-    <xsl:value-of select="."/>
-    <xsl:text>
-</xsl:text>
-  </xsl:template>
-  <xsl:template match="xhtml:a">
-    <xsl:value-of select="."/>
-    <xsl:text> at 
-</xsl:text>
-    <xsl:value-of select="@href"/>
-    <xsl:text>
-</xsl:text>
-  </xsl:template>
-</xsl:stylesheet>
-
diff --git a/enc.h b/enc.h
deleted file mode 100644
index a69a5d0..0000000
--- a/enc.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Summary: Internal Interfaces for encoding in libxml2
- * Description: this module describes a few interfaces which were
- *              added along with the API changes in 2.9.0
- *              those are private routines at this point
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_ENC_H__
-#define __XML_ENC_H__
-
-#include <libxml/tree.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int xmlCharEncFirstLineInt(xmlCharEncodingHandler *handler, xmlBufferPtr out,
-                           xmlBufferPtr in, int len);
-int xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len);
-int xmlCharEncInput(xmlParserInputBufferPtr input, int flush);
-int xmlCharEncOutput(xmlOutputBufferPtr output, int init);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* __XML_ENC_H__ */
-
-
diff --git a/encoding.c b/encoding.c
index 0847934..101eba9 100644
--- a/encoding.c
+++ b/encoding.c
@@ -25,18 +25,13 @@
 
 #include <string.h>
 #include <limits.h>
-
-#ifdef HAVE_CTYPE_H
 #include <ctype.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
+
 #ifdef LIBXML_ICONV_ENABLED
-#ifdef HAVE_ERRNO_H
 #include <errno.h>
 #endif
-#endif
+
 #include <libxml/encoding.h>
 #include <libxml/xmlmemory.h>
 #ifdef LIBXML_HTML_ENABLED
@@ -45,11 +40,23 @@
 #include <libxml/globals.h>
 #include <libxml/xmlerror.h>
 
-#include "buf.h"
-#include "enc.h"
+#include "private/buf.h"
+#include "private/enc.h"
+#include "private/error.h"
 
-static xmlCharEncodingHandlerPtr xmlUTF16LEHandler = NULL;
-static xmlCharEncodingHandlerPtr xmlUTF16BEHandler = NULL;
+#ifdef LIBXML_ICU_ENABLED
+#include <unicode/ucnv.h>
+/* Size of pivot buffer, same as icu/source/common/ucnv.cpp CHUNK_SIZE */
+#define ICU_PIVOT_BUF_SIZE 1024
+typedef struct _uconv_t uconv_t;
+struct _uconv_t {
+  UConverter *uconv; /* for conversion between an encoding and UTF-16 */
+  UConverter *utf8; /* for conversion between UTF-8 and UTF-16 */
+  UChar      pivot_buf[ICU_PIVOT_BUF_SIZE];
+  UChar      *pivot_source;
+  UChar      *pivot_target;
+};
+#endif
 
 typedef struct _xmlCharEncodingAlias xmlCharEncodingAlias;
 typedef xmlCharEncodingAlias *xmlCharEncodingAliasPtr;
@@ -67,9 +74,6 @@
 #define DEBUG_ENCODING  /* Define this to get encoding traces */
 #endif
 #else
-#ifdef LIBXML_ISO8859X_ENABLED
-static void xmlRegisterCharEncodingHandlersISO8859x (void);
-#endif
 #endif
 
 static int xmlLittleEndian = 1;
@@ -523,7 +527,7 @@
 	} else {
 	    tmp = (unsigned char *) in;
 	    c = *tmp++;
-	    c = c | (((unsigned int)*tmp) << 8);
+	    c = c | (*tmp << 8);
 	    in++;
 	}
         if ((c & 0xFC00) == 0xD800) {    /* surrogates */
@@ -535,7 +539,7 @@
 	    } else {
 		tmp = (unsigned char *) in;
 		d = *tmp++;
-		d = d | (((unsigned int)*tmp) << 8);
+		d = d | (*tmp << 8);
 		in++;
 	    }
             if ((d & 0xFC00) == 0xDC00) {
@@ -646,7 +650,7 @@
 		*out++ = c;
 	    } else {
 		tmp = (unsigned char *) out;
-		*tmp = c ;
+		*tmp = (unsigned char) c; /* Explicit truncation */
 		*(tmp + 1) = c >> 8 ;
 		out++;
 	    }
@@ -661,13 +665,13 @@
 	    } else {
 		tmp1 = 0xD800 | (c >> 10);
 		tmp = (unsigned char *) out;
-		*tmp = (unsigned char) tmp1;
+		*tmp = (unsigned char) tmp1; /* Explicit truncation */
 		*(tmp + 1) = tmp1 >> 8;
 		out++;
 
 		tmp2 = 0xDC00 | (c & 0x03FF);
 		tmp = (unsigned char *) out;
-		*tmp  = (unsigned char) tmp2;
+		*tmp  = (unsigned char) tmp2; /* Explicit truncation */
 		*(tmp + 1) = tmp2 >> 8;
 		out++;
 	    }
@@ -764,7 +768,7 @@
 	if (xmlLittleEndian) {
 	    tmp = (unsigned char *) in;
 	    c = *tmp++;
-	    c = (c << 8) | (unsigned int) *tmp;
+	    c = (c << 8) | *tmp;
 	    in++;
 	} else {
 	    c= *in++;
@@ -776,7 +780,7 @@
 	    if (xmlLittleEndian) {
 		tmp = (unsigned char *) in;
 		d = *tmp++;
-		d = (d << 8) | (unsigned int) *tmp;
+		d = (d << 8) | *tmp;
 		in++;
 	    } else {
 		d= *in++;
@@ -886,7 +890,7 @@
 	    if (xmlLittleEndian) {
 		tmp = (unsigned char *) out;
 		*tmp = c >> 8;
-		*(tmp + 1) = c;
+		*(tmp + 1) = (unsigned char) c; /* Explicit truncation */
 		out++;
 	    } else {
 		*out++ = c;
@@ -899,13 +903,13 @@
 		tmp1 = 0xD800 | (c >> 10);
 		tmp = (unsigned char *) out;
 		*tmp = tmp1 >> 8;
-		*(tmp + 1) = (unsigned char) tmp1;
+		*(tmp + 1) = (unsigned char) tmp1; /* Explicit truncation */
 		out++;
 
 		tmp2 = 0xDC00 | (c & 0x03FF);
 		tmp = (unsigned char *) out;
 		*tmp = tmp2 >> 8;
-		*(tmp + 1) = (unsigned char) tmp2;
+		*(tmp + 1) = (unsigned char) tmp2; /* Explicit truncation */
 		out++;
 	    } else {
 		*out++ = 0xD800 | (c >> 10);
@@ -1038,7 +1042,7 @@
 	return(NULL);
 
     for (i = 0;i < 99;i++) {
-        upper[i] = toupper(alias[i]);
+        upper[i] = (char) toupper((unsigned char) alias[i]);
 	if (upper[i] == 0) break;
     }
     upper[i] = 0;
@@ -1073,7 +1077,7 @@
 	return(-1);
 
     for (i = 0;i < 99;i++) {
-        upper[i] = toupper(alias[i]);
+        upper[i] = (char) toupper((unsigned char) alias[i]);
 	if (upper[i] == 0) break;
     }
     upper[i] = 0;
@@ -1175,7 +1179,7 @@
 	name = alias;
 
     for (i = 0;i < 499;i++) {
-        upper[i] = toupper(name[i]);
+        upper[i] = (char) toupper((unsigned char) name[i]);
 	if (upper[i] == 0) break;
     }
     upper[i] = 0;
@@ -1302,19 +1306,100 @@
  *									*
  ************************************************************************/
 
+#if !defined(LIBXML_ICONV_ENABLED) && !defined(LIBXML_ICU_ENABLED) && \
+    defined(LIBXML_ISO8859X_ENABLED)
+
+#define DECLARE_ISO_FUNCS(n) \
+    static int ISO8859_##n##ToUTF8(unsigned char* out, int *outlen, \
+                                   const unsigned char* in, int *inlen); \
+    static int UTF8ToISO8859_##n(unsigned char* out, int *outlen, \
+                                 const unsigned char* in, int *inlen);
+
+/** DOC_DISABLE */
+DECLARE_ISO_FUNCS(2)
+DECLARE_ISO_FUNCS(3)
+DECLARE_ISO_FUNCS(4)
+DECLARE_ISO_FUNCS(5)
+DECLARE_ISO_FUNCS(6)
+DECLARE_ISO_FUNCS(7)
+DECLARE_ISO_FUNCS(8)
+DECLARE_ISO_FUNCS(9)
+DECLARE_ISO_FUNCS(10)
+DECLARE_ISO_FUNCS(11)
+DECLARE_ISO_FUNCS(13)
+DECLARE_ISO_FUNCS(14)
+DECLARE_ISO_FUNCS(15)
+DECLARE_ISO_FUNCS(16)
+/** DOC_ENABLE */
+
+#endif /* LIBXML_ISO8859X_ENABLED */
+
+#ifdef LIBXML_ICONV_ENABLED
+  #define EMPTY_ICONV , (iconv_t) 0, (iconv_t) 0
+#else
+  #define EMPTY_ICONV
+#endif
+
+#ifdef LIBXML_UCONV_ENABLED
+  #define EMPTY_UCONV , NULL, NULL
+#else
+  #define EMPTY_UCONV
+#endif
+
+#define MAKE_HANDLER(name, in, out) \
+    { (char *) name, in, out EMPTY_ICONV EMPTY_UCONV }
+
+static const xmlCharEncodingHandler defaultHandlers[] = {
+    MAKE_HANDLER("UTF-8", UTF8ToUTF8, UTF8ToUTF8)
+#ifdef LIBXML_OUTPUT_ENABLED
+    ,MAKE_HANDLER("UTF-16LE", UTF16LEToUTF8, UTF8ToUTF16LE)
+    ,MAKE_HANDLER("UTF-16BE", UTF16BEToUTF8, UTF8ToUTF16BE)
+    ,MAKE_HANDLER("UTF-16", UTF16LEToUTF8, UTF8ToUTF16)
+    ,MAKE_HANDLER("ISO-8859-1", isolat1ToUTF8, UTF8Toisolat1)
+    ,MAKE_HANDLER("ASCII", asciiToUTF8, UTF8Toascii)
+    ,MAKE_HANDLER("US-ASCII", asciiToUTF8, UTF8Toascii)
+#ifdef LIBXML_HTML_ENABLED
+    ,MAKE_HANDLER("HTML", NULL, UTF8ToHtml)
+#endif
+#else
+    ,MAKE_HANDLER("UTF-16LE", UTF16LEToUTF8, NULL)
+    ,MAKE_HANDLER("UTF-16BE", UTF16BEToUTF8, NULL)
+    ,MAKE_HANDLER("UTF-16", UTF16LEToUTF8, NULL)
+    ,MAKE_HANDLER("ISO-8859-1", isolat1ToUTF8, NULL)
+    ,MAKE_HANDLER("ASCII", asciiToUTF8, NULL)
+    ,MAKE_HANDLER("US-ASCII", asciiToUTF8, NULL)
+#endif /* LIBXML_OUTPUT_ENABLED */
+
+#if !defined(LIBXML_ICONV_ENABLED) && !defined(LIBXML_ICU_ENABLED) && \
+    defined(LIBXML_ISO8859X_ENABLED)
+    ,MAKE_HANDLER("ISO-8859-2", ISO8859_2ToUTF8, UTF8ToISO8859_2)
+    ,MAKE_HANDLER("ISO-8859-3", ISO8859_3ToUTF8, UTF8ToISO8859_3)
+    ,MAKE_HANDLER("ISO-8859-4", ISO8859_4ToUTF8, UTF8ToISO8859_4)
+    ,MAKE_HANDLER("ISO-8859-5", ISO8859_5ToUTF8, UTF8ToISO8859_5)
+    ,MAKE_HANDLER("ISO-8859-6", ISO8859_6ToUTF8, UTF8ToISO8859_6)
+    ,MAKE_HANDLER("ISO-8859-7", ISO8859_7ToUTF8, UTF8ToISO8859_7)
+    ,MAKE_HANDLER("ISO-8859-8", ISO8859_8ToUTF8, UTF8ToISO8859_8)
+    ,MAKE_HANDLER("ISO-8859-9", ISO8859_9ToUTF8, UTF8ToISO8859_9)
+    ,MAKE_HANDLER("ISO-8859-10", ISO8859_10ToUTF8, UTF8ToISO8859_10)
+    ,MAKE_HANDLER("ISO-8859-11", ISO8859_11ToUTF8, UTF8ToISO8859_11)
+    ,MAKE_HANDLER("ISO-8859-13", ISO8859_13ToUTF8, UTF8ToISO8859_13)
+    ,MAKE_HANDLER("ISO-8859-14", ISO8859_14ToUTF8, UTF8ToISO8859_14)
+    ,MAKE_HANDLER("ISO-8859-15", ISO8859_15ToUTF8, UTF8ToISO8859_15)
+    ,MAKE_HANDLER("ISO-8859-16", ISO8859_16ToUTF8, UTF8ToISO8859_16)
+#endif
+};
+
+#define NUM_DEFAULT_HANDLERS \
+    (sizeof(defaultHandlers) / sizeof(defaultHandlers[0]))
+
+static const xmlCharEncodingHandler *xmlUTF16LEHandler = &defaultHandlers[1];
+static const xmlCharEncodingHandler *xmlUTF16BEHandler = &defaultHandlers[2];
 
 /* the size should be growable, but it's not a big deal ... */
 #define MAX_ENCODING_HANDLERS 50
 static xmlCharEncodingHandlerPtr *handlers = NULL;
 static int nbCharEncodingHandler = 0;
 
-/*
- * The default is UTF-8 for XML, that's also the default used for the
- * parser internals, so the default encoding handler is NULL
- */
-
-static xmlCharEncodingHandlerPtr xmlDefaultCharEncodingHandler = NULL;
-
 /**
  * xmlNewCharEncodingHandler:
  * @name:  the encoding name, in UTF-8 format (ASCII actually)
@@ -1351,7 +1436,7 @@
 	return(NULL);
     }
     for (i = 0;i < 499;i++) {
-        upper[i] = toupper(name[i]);
+        upper[i] = (char) toupper((unsigned char) name[i]);
 	if (upper[i] == 0) break;
     }
     upper[i] = 0;
@@ -1399,66 +1484,39 @@
 /**
  * xmlInitCharEncodingHandlers:
  *
- * Initialize the char encoding support, it registers the default
- * encoding supported.
- * NOTE: while public, this function usually doesn't need to be called
- *       in normal processing.
+ * DEPRECATED: Alias for xmlInitParser.
  */
 void
 xmlInitCharEncodingHandlers(void) {
+    xmlInitParser();
+}
+
+/**
+ * xmlInitEncodingInternal:
+ *
+ * Initialize the char encoding support.
+ */
+void
+xmlInitEncodingInternal(void) {
     unsigned short int tst = 0x1234;
     unsigned char *ptr = (unsigned char *) &tst;
 
-    if (handlers != NULL) return;
-
-    handlers = (xmlCharEncodingHandlerPtr *)
-        xmlMalloc(MAX_ENCODING_HANDLERS * sizeof(xmlCharEncodingHandlerPtr));
-
     if (*ptr == 0x12) xmlLittleEndian = 0;
     else if (*ptr == 0x34) xmlLittleEndian = 1;
     else {
         xmlEncodingErr(XML_ERR_INTERNAL_ERROR,
 	               "Odd problem at endianness detection\n", NULL);
     }
-
-    if (handlers == NULL) {
-        xmlEncodingErrMemory("xmlInitCharEncodingHandlers : out of memory !\n");
-	return;
-    }
-    xmlNewCharEncodingHandler("UTF-8", UTF8ToUTF8, UTF8ToUTF8);
-#ifdef LIBXML_OUTPUT_ENABLED
-    xmlUTF16LEHandler =
-          xmlNewCharEncodingHandler("UTF-16LE", UTF16LEToUTF8, UTF8ToUTF16LE);
-    xmlUTF16BEHandler =
-          xmlNewCharEncodingHandler("UTF-16BE", UTF16BEToUTF8, UTF8ToUTF16BE);
-    xmlNewCharEncodingHandler("UTF-16", UTF16LEToUTF8, UTF8ToUTF16);
-    xmlNewCharEncodingHandler("ISO-8859-1", isolat1ToUTF8, UTF8Toisolat1);
-    xmlNewCharEncodingHandler("ASCII", asciiToUTF8, UTF8Toascii);
-    xmlNewCharEncodingHandler("US-ASCII", asciiToUTF8, UTF8Toascii);
-#ifdef LIBXML_HTML_ENABLED
-    xmlNewCharEncodingHandler("HTML", NULL, UTF8ToHtml);
-#endif
-#else
-    xmlUTF16LEHandler =
-          xmlNewCharEncodingHandler("UTF-16LE", UTF16LEToUTF8, NULL);
-    xmlUTF16BEHandler =
-          xmlNewCharEncodingHandler("UTF-16BE", UTF16BEToUTF8, NULL);
-    xmlNewCharEncodingHandler("UTF-16", UTF16LEToUTF8, NULL);
-    xmlNewCharEncodingHandler("ISO-8859-1", isolat1ToUTF8, NULL);
-    xmlNewCharEncodingHandler("ASCII", asciiToUTF8, NULL);
-    xmlNewCharEncodingHandler("US-ASCII", asciiToUTF8, NULL);
-#endif /* LIBXML_OUTPUT_ENABLED */
-#if !defined(LIBXML_ICONV_ENABLED) && !defined(LIBXML_ICU_ENABLED)
-#ifdef LIBXML_ISO8859X_ENABLED
-    xmlRegisterCharEncodingHandlersISO8859x ();
-#endif
-#endif
-
 }
 
 /**
  * xmlCleanupCharEncodingHandlers:
  *
+ * DEPRECATED: This function will be made private. Call xmlCleanupParser
+ * to free global state but see the warnings there. xmlCleanupParser
+ * should be only called once at program exit. In most cases, you don't
+ * have call cleanup functions at all.
+ *
  * Cleanup the memory allocated for the char encoding support, it
  * unregisters all the encoding handlers and the aliases.
  */
@@ -1479,7 +1537,6 @@
     xmlFree(handlers);
     handlers = NULL;
     nbCharEncodingHandler = 0;
-    xmlDefaultCharEncodingHandler = NULL;
 }
 
 /**
@@ -1490,11 +1547,17 @@
  */
 void
 xmlRegisterCharEncodingHandler(xmlCharEncodingHandlerPtr handler) {
-    if (handlers == NULL) xmlInitCharEncodingHandlers();
-    if ((handler == NULL) || (handlers == NULL)) {
+    if (handler == NULL) {
         xmlEncodingErr(XML_I18N_NO_HANDLER,
-		"xmlRegisterCharEncodingHandler: NULL handler !\n", NULL);
-        goto free_handler;
+		"xmlRegisterCharEncodingHandler: NULL handler\n", NULL);
+        return;
+    }
+    if (handlers == NULL) {
+        handlers = xmlMalloc(MAX_ENCODING_HANDLERS * sizeof(handlers[0]));
+        if (handlers == NULL) {
+            xmlEncodingErrMemory("allocating handler table");
+            goto free_handler;
+        }
     }
 
     if (nbCharEncodingHandler >= MAX_ENCODING_HANDLERS) {
@@ -1527,7 +1590,6 @@
 xmlGetCharEncodingHandler(xmlCharEncoding enc) {
     xmlCharEncodingHandlerPtr handler;
 
-    if (handlers == NULL) xmlInitCharEncodingHandlers();
     switch (enc) {
         case XML_CHAR_ENCODING_ERROR:
 	    return(NULL);
@@ -1536,9 +1598,9 @@
         case XML_CHAR_ENCODING_UTF8:
 	    return(NULL);
         case XML_CHAR_ENCODING_UTF16LE:
-	    return(xmlUTF16LEHandler);
+	    return((xmlCharEncodingHandlerPtr) xmlUTF16LEHandler);
         case XML_CHAR_ENCODING_UTF16BE:
-	    return(xmlUTF16BEHandler);
+	    return((xmlCharEncodingHandlerPtr) xmlUTF16BEHandler);
         case XML_CHAR_ENCODING_EBCDIC:
             handler = xmlFindCharEncodingHandler("EBCDIC");
             if (handler != NULL) return(handler);
@@ -1653,7 +1715,8 @@
  * xmlFindCharEncodingHandler:
  * @name:  a string describing the char encoding.
  *
- * Search in the registered set the handler able to read/write that encoding.
+ * Search in the registered set the handler able to read/write that encoding
+ * or create a new one.
  *
  * Returns the handler or NULL if not found
  */
@@ -1673,9 +1736,8 @@
     char upper[100];
     int i;
 
-    if (handlers == NULL) xmlInitCharEncodingHandlers();
-    if (name == NULL) return(xmlDefaultCharEncodingHandler);
-    if (name[0] == 0) return(xmlDefaultCharEncodingHandler);
+    if (name == NULL) return(NULL);
+    if (name[0] == 0) return(NULL);
 
     /*
      * Do the alias resolution
@@ -1689,11 +1751,16 @@
      * Check first for directly registered encoding names
      */
     for (i = 0;i < 99;i++) {
-        upper[i] = toupper(name[i]);
+        upper[i] = (char) toupper((unsigned char) name[i]);
 	if (upper[i] == 0) break;
     }
     upper[i] = 0;
 
+    for (i = 0; i < (int) NUM_DEFAULT_HANDLERS; i++) {
+        if (strcmp(upper, defaultHandlers[i].name) == 0)
+            return((xmlCharEncodingHandlerPtr) &defaultHandlers[i]);
+    }
+
     if (handlers != NULL) {
         for (i = 0;i < nbCharEncodingHandler; i++) {
             if (!strcmp(upper, handlers[i]->name)) {
@@ -1726,6 +1793,12 @@
 	    }
             memset(enc, 0, sizeof(xmlCharEncodingHandler));
 	    enc->name = xmlMemStrdup(name);
+            if (enc->name == NULL) {
+                xmlFree(enc);
+                iconv_close(icv_in);
+                iconv_close(icv_out);
+                return(NULL);
+            }
 	    enc->input = NULL;
 	    enc->output = NULL;
 	    enc->iconv_in = icv_in;
@@ -1738,6 +1811,10 @@
     } else if ((icv_in != (iconv_t) -1) || icv_out != (iconv_t) -1) {
 	    xmlEncodingErr(XML_ERR_INTERNAL_ERROR,
 		    "iconv : problems with filters for '%s'\n", name);
+	    if (icv_in != (iconv_t) -1)
+		iconv_close(icv_in);
+	    else
+		iconv_close(icv_out);
     }
 #endif /* LIBXML_ICONV_ENABLED */
 #ifdef LIBXML_ICU_ENABLED
@@ -1754,6 +1831,12 @@
 	    }
             memset(encu, 0, sizeof(xmlCharEncodingHandler));
 	    encu->name = xmlMemStrdup(name);
+            if (encu->name == NULL) {
+                xmlFree(encu);
+                closeIcuConverter(ucv_in);
+                closeIcuConverter(ucv_out);
+                return(NULL);
+            }
 	    encu->input = NULL;
 	    encu->output = NULL;
 	    encu->uconv_in = ucv_in;
@@ -1831,7 +1914,10 @@
     }
     icv_inlen = *inlen;
     icv_outlen = *outlen;
-    ret = iconv(cd, (ICONV_CONST char **) &icv_in, &icv_inlen, &icv_out, &icv_outlen);
+    /*
+     * Some versions take const, other versions take non-const input.
+     */
+    ret = iconv(cd, (void *) &icv_in, &icv_inlen, &icv_out, &icv_outlen);
     *inlen -= icv_inlen;
     *outlen -= icv_outlen;
     if ((icv_inlen != 0) || (ret == (size_t) -1)) {
@@ -2032,11 +2118,10 @@
 }
 
 /**
- * xmlCharEncFirstLineInt:
+ * xmlCharEncFirstLine:
  * @handler:	char encoding transformation data structure
  * @out:  an xmlBuffer for the output.
  * @in:  an xmlBuffer for the input
- * @len:  number of bytes to convert for the first line, or -1
  *
  * Front-end for the encoding handler input function, but handle only
  * the very first line, i.e. limit itself to 45 chars.
@@ -2047,8 +2132,8 @@
  *        the result of transformation can't fit into the encoding we want), or
  */
 int
-xmlCharEncFirstLineInt(xmlCharEncodingHandler *handler, xmlBufferPtr out,
-                       xmlBufferPtr in, int len) {
+xmlCharEncFirstLine(xmlCharEncodingHandler *handler, xmlBufferPtr out,
+                    xmlBufferPtr in) {
     int ret;
     int written;
     int toconv;
@@ -2068,13 +2153,8 @@
      * The actual value depending on guessed encoding is passed as @len
      * if provided
      */
-    if (len >= 0) {
-        if (toconv > len)
-            toconv = len;
-    } else {
-        if (toconv > 180)
-            toconv = 180;
-    }
+    if (toconv > 180)
+        toconv = 180;
     if (toconv * 2 >= written) {
         xmlBufferGrow(out, toconv * 2);
 	written = out->size - out->use - 1;
@@ -2119,26 +2199,6 @@
 }
 
 /**
- * xmlCharEncFirstLine:
- * @handler:	char encoding transformation data structure
- * @out:  an xmlBuffer for the output.
- * @in:  an xmlBuffer for the input
- *
- * Front-end for the encoding handler input function, but handle only
- * the very first line, i.e. limit itself to 45 chars.
- *
- * Returns the number of byte written if success, or
- *     -1 general error
- *     -2 if the transcoding fails (for *in is not valid utf8 string or
- *        the result of transformation can't fit into the encoding we want), or
- */
-int
-xmlCharEncFirstLine(xmlCharEncodingHandler *handler, xmlBufferPtr out,
-                 xmlBufferPtr in) {
-    return(xmlCharEncFirstLineInt(handler, out, in, -1));
-}
-
-/**
  * xmlCharEncFirstLineInput:
  * @input: a parser input buffer
  * @len:  number of bytes to convert for the first line, or -1
@@ -2173,7 +2233,7 @@
     toconv = xmlBufUse(in);
     if (toconv == 0)
         return (0);
-    written = xmlBufAvail(out) - 1; /* count '\0' */
+    written = xmlBufAvail(out);
     /*
      * echo '<?xml version="1.0" encoding="UCS4"?>' | wc -c => 38
      * 45 chars should be sufficient to reach the end of the encoding
@@ -2191,7 +2251,7 @@
     }
     if (toconv * 2 >= written) {
         xmlBufGrow(out, toconv * 2);
-        written = xmlBufAvail(out) - 1;
+        written = xmlBufAvail(out);
     }
     if (written > 360)
         written = 360;
@@ -2283,13 +2343,10 @@
     if ((toconv > 64 * 1024) && (flush == 0))
         toconv = 64 * 1024;
     written = xmlBufAvail(out);
-    if (written > 0)
-        written--; /* count '\0' */
     if (toconv * 2 >= written) {
-        xmlBufGrow(out, toconv * 2);
+        if (xmlBufGrow(out, toconv * 2) < 0)
+            return (-1);
         written = xmlBufAvail(out);
-        if (written > 0)
-            written--; /* count '\0' */
     }
     if ((written > 128 * 1024) && (flush == 0))
         written = 128 * 1024;
@@ -2471,8 +2528,6 @@
 retry:
 
     written = xmlBufAvail(out);
-    if (written > 0)
-        written--; /* count '\0' */
 
     /*
      * First specific handling of the initialization call
@@ -2501,7 +2556,7 @@
         toconv = 64 * 1024;
     if (toconv * 4 >= written) {
         xmlBufGrow(out, toconv * 4);
-        written = xmlBufAvail(out) - 1;
+        written = xmlBufAvail(out);
     }
     if (written > 256 * 1024)
         written = 256 * 1024;
@@ -2551,7 +2606,7 @@
             break;
         case -2: {
 	    xmlChar charref[20];
-	    int len = (int) xmlBufUse(in);
+	    int len = xmlBufUse(in);
             xmlChar *content = xmlBufContent(in);
 	    int cur, charrefLen;
 
@@ -2576,7 +2631,7 @@
                              "&#%d;", cur);
             xmlBufShrink(in, len);
             xmlBufGrow(out, charrefLen * 4);
-            c_out = xmlBufAvail(out) - 1;
+            c_out = xmlBufAvail(out);
             c_in = charrefLen;
             ret = xmlEncOutputChunk(output->encoder, xmlBufEnd(out), &c_out,
                                     charref, &c_in);
@@ -2591,8 +2646,7 @@
 		xmlEncodingErr(XML_I18N_CONV_FAILED,
 		    "output conversion failed due to conv error, bytes %s\n",
 			       buf);
-		if (xmlBufGetAllocationScheme(in) != XML_BUFFER_ALLOC_IMMUTABLE)
-		    content[0] = ' ';
+		content[0] = ' ';
                 break;
 	    }
 
@@ -2752,8 +2806,7 @@
 		xmlEncodingErr(XML_I18N_CONV_FAILED,
 		    "output conversion failed due to conv error, bytes %s\n",
 			       buf);
-		if (in->alloc != XML_BUFFER_ALLOC_IMMUTABLE)
-		    in->content[0] = ' ';
+		in->content[0] = ' ';
 	        break;
 	    }
 
@@ -2778,19 +2831,19 @@
 xmlCharEncCloseFunc(xmlCharEncodingHandler *handler) {
     int ret = 0;
     int tofree = 0;
-    int i, handler_in_list = 0;
-
-    /* Avoid unused variable warning if features are disabled. */
-    (void) handler_in_list;
+    int i = 0;
 
     if (handler == NULL) return(-1);
-    if (handler->name == NULL) return(-1);
+
+    for (i = 0; i < (int) NUM_DEFAULT_HANDLERS; i++) {
+        if (handler == &defaultHandlers[i])
+            return(0);
+    }
+
     if (handlers != NULL) {
         for (i = 0;i < nbCharEncodingHandler; i++) {
-            if (handler == handlers[i]) {
-	        handler_in_list = 1;
-		break;
-	    }
+            if (handler == handlers[i])
+                return(0);
 	}
     }
 #ifdef LIBXML_ICONV_ENABLED
@@ -2798,8 +2851,7 @@
      * Iconv handlers can be used only once, free the whole block.
      * and the associated icon resources.
      */
-    if ((handler_in_list == 0) &&
-        ((handler->iconv_out != NULL) || (handler->iconv_in != NULL))) {
+    if ((handler->iconv_out != NULL) || (handler->iconv_in != NULL)) {
         tofree = 1;
 	if (handler->iconv_out != NULL) {
 	    if (iconv_close(handler->iconv_out))
@@ -2814,8 +2866,7 @@
     }
 #endif /* LIBXML_ICONV_ENABLED */
 #ifdef LIBXML_ICU_ENABLED
-    if ((handler_in_list == 0) &&
-        ((handler->uconv_out != NULL) || (handler->uconv_in != NULL))) {
+    if ((handler->uconv_out != NULL) || (handler->uconv_in != NULL)) {
         tofree = 1;
 	if (handler->uconv_out != NULL) {
 	    closeIcuConverter(handler->uconv_out);
@@ -2926,7 +2977,7 @@
 static int
 UTF8ToISO8859x(unsigned char* out, int *outlen,
               const unsigned char* in, int *inlen,
-              unsigned char const *xlattable) {
+              const unsigned char* const xlattable) {
     const unsigned char* outstart = out;
     const unsigned char* inend;
     const unsigned char* instart = in;
@@ -3116,7 +3167,7 @@
     0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_2 [48 + 6 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_2 [48 + 6 * 64] = {
     "\x00\x00\x01\x05\x02\x04\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3165,7 +3216,7 @@
     0x011d, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_3 [48 + 7 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_3 [48 + 7 * 64] = {
     "\x04\x00\x01\x06\x02\x05\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3218,7 +3269,7 @@
     0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x0169, 0x016b, 0x02d9,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_4 [48 + 6 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_4 [48 + 6 * 64] = {
     "\x00\x00\x01\x05\x02\x03\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3267,7 +3318,7 @@
     0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_5 [48 + 6 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_5 [48 + 6 * 64] = {
     "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3316,7 +3367,7 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_6 [48 + 5 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_6 [48 + 5 * 64] = {
     "\x02\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3361,7 +3412,7 @@
     0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0x0000,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_7 [48 + 7 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_7 [48 + 7 * 64] = {
     "\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x06"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3414,7 +3465,7 @@
     0x05e8, 0x05e9, 0x05ea, 0x0000, 0x0000, 0x200e, 0x200f, 0x0000,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_8 [48 + 7 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_8 [48 + 7 * 64] = {
     "\x02\x00\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3467,7 +3518,7 @@
     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_9 [48 + 5 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_9 [48 + 5 * 64] = {
     "\x00\x00\x01\x02\x03\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3512,7 +3563,7 @@
     0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_10 [48 + 7 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_10 [48 + 7 * 64] = {
     "\x00\x00\x01\x06\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3565,7 +3616,7 @@
     0x0e58, 0x0e59, 0x0e5a, 0x0e5b, 0x0000, 0x0000, 0x0000, 0x0000,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_11 [48 + 6 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_11 [48 + 6 * 64] = {
     "\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3614,7 +3665,7 @@
     0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x2019,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_13 [48 + 7 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_13 [48 + 7 * 64] = {
     "\x00\x00\x01\x04\x06\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3667,7 +3718,7 @@
     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_14 [48 + 10 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_14 [48 + 10 * 64] = {
     "\x00\x00\x01\x09\x04\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3732,7 +3783,7 @@
     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_15 [48 + 6 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_15 [48 + 6 * 64] = {
     "\x00\x00\x01\x05\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3781,7 +3832,7 @@
     0x0171, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0119, 0x021b, 0x00ff,
 };
 
-static unsigned char const xmltranscodetable_ISO8859_16 [48 + 9 * 64] = {
+static const unsigned char xmltranscodetable_ISO8859_16 [48 + 9 * 64] = {
     "\x00\x00\x01\x08\x02\x03\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -3954,24 +4005,6 @@
     return UTF8ToISO8859x (out, outlen, in, inlen, xmltranscodetable_ISO8859_16);
 }
 
-static void
-xmlRegisterCharEncodingHandlersISO8859x (void) {
-    xmlNewCharEncodingHandler ("ISO-8859-2", ISO8859_2ToUTF8, UTF8ToISO8859_2);
-    xmlNewCharEncodingHandler ("ISO-8859-3", ISO8859_3ToUTF8, UTF8ToISO8859_3);
-    xmlNewCharEncodingHandler ("ISO-8859-4", ISO8859_4ToUTF8, UTF8ToISO8859_4);
-    xmlNewCharEncodingHandler ("ISO-8859-5", ISO8859_5ToUTF8, UTF8ToISO8859_5);
-    xmlNewCharEncodingHandler ("ISO-8859-6", ISO8859_6ToUTF8, UTF8ToISO8859_6);
-    xmlNewCharEncodingHandler ("ISO-8859-7", ISO8859_7ToUTF8, UTF8ToISO8859_7);
-    xmlNewCharEncodingHandler ("ISO-8859-8", ISO8859_8ToUTF8, UTF8ToISO8859_8);
-    xmlNewCharEncodingHandler ("ISO-8859-9", ISO8859_9ToUTF8, UTF8ToISO8859_9);
-    xmlNewCharEncodingHandler ("ISO-8859-10", ISO8859_10ToUTF8, UTF8ToISO8859_10);
-    xmlNewCharEncodingHandler ("ISO-8859-11", ISO8859_11ToUTF8, UTF8ToISO8859_11);
-    xmlNewCharEncodingHandler ("ISO-8859-13", ISO8859_13ToUTF8, UTF8ToISO8859_13);
-    xmlNewCharEncodingHandler ("ISO-8859-14", ISO8859_14ToUTF8, UTF8ToISO8859_14);
-    xmlNewCharEncodingHandler ("ISO-8859-15", ISO8859_15ToUTF8, UTF8ToISO8859_15);
-    xmlNewCharEncodingHandler ("ISO-8859-16", ISO8859_16ToUTF8, UTF8ToISO8859_16);
-}
-
 #endif
 #endif
 
diff --git a/entities.c b/entities.c
index 37163c1..52eb9d5 100644
--- a/entities.c
+++ b/entities.c
@@ -15,9 +15,8 @@
 #include "libxml.h"
 
 #include <string.h>
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
+
 #include <libxml/xmlmemory.h>
 #include <libxml/hash.h>
 #include <libxml/entities.h>
@@ -27,7 +26,8 @@
 #include <libxml/globals.h>
 #include <libxml/dict.h>
 
-#include "save.h"
+#include "private/entities.h"
+#include "private/error.h"
 
 /*
  * The XML predefined entities.
@@ -38,35 +38,35 @@
     NULL, NULL, NULL, NULL, NULL, NULL,
     BAD_CAST "<", BAD_CAST "<", 1,
     XML_INTERNAL_PREDEFINED_ENTITY,
-    NULL, NULL, NULL, NULL, 0, 1
+    NULL, NULL, NULL, NULL, 0, 0, 0
 };
 static xmlEntity xmlEntityGt = {
     NULL, XML_ENTITY_DECL, BAD_CAST "gt",
     NULL, NULL, NULL, NULL, NULL, NULL,
     BAD_CAST ">", BAD_CAST ">", 1,
     XML_INTERNAL_PREDEFINED_ENTITY,
-    NULL, NULL, NULL, NULL, 0, 1
+    NULL, NULL, NULL, NULL, 0, 0, 0
 };
 static xmlEntity xmlEntityAmp = {
     NULL, XML_ENTITY_DECL, BAD_CAST "amp",
     NULL, NULL, NULL, NULL, NULL, NULL,
     BAD_CAST "&", BAD_CAST "&", 1,
     XML_INTERNAL_PREDEFINED_ENTITY,
-    NULL, NULL, NULL, NULL, 0, 1
+    NULL, NULL, NULL, NULL, 0, 0, 0
 };
 static xmlEntity xmlEntityQuot = {
     NULL, XML_ENTITY_DECL, BAD_CAST "quot",
     NULL, NULL, NULL, NULL, NULL, NULL,
     BAD_CAST "\"", BAD_CAST "\"", 1,
     XML_INTERNAL_PREDEFINED_ENTITY,
-    NULL, NULL, NULL, NULL, 0, 1
+    NULL, NULL, NULL, NULL, 0, 0, 0
 };
 static xmlEntity xmlEntityApos = {
     NULL, XML_ENTITY_DECL, BAD_CAST "apos",
     NULL, NULL, NULL, NULL, NULL, NULL,
     BAD_CAST "'", BAD_CAST "'", 1,
     XML_INTERNAL_PREDEFINED_ENTITY,
-    NULL, NULL, NULL, NULL, 0, 1
+    NULL, NULL, NULL, NULL, 0, 0, 0
 };
 
 /**
@@ -129,36 +129,19 @@
     if ((entity->children) && (entity->owner == 1) &&
         (entity == (xmlEntityPtr) entity->children->parent))
         xmlFreeNodeList(entity->children);
-    if (dict != NULL) {
-        if ((entity->name != NULL) && (!xmlDictOwns(dict, entity->name)))
-            xmlFree((char *) entity->name);
-        if ((entity->ExternalID != NULL) &&
-	    (!xmlDictOwns(dict, entity->ExternalID)))
-            xmlFree((char *) entity->ExternalID);
-        if ((entity->SystemID != NULL) &&
-	    (!xmlDictOwns(dict, entity->SystemID)))
-            xmlFree((char *) entity->SystemID);
-        if ((entity->URI != NULL) && (!xmlDictOwns(dict, entity->URI)))
-            xmlFree((char *) entity->URI);
-        if ((entity->content != NULL)
-            && (!xmlDictOwns(dict, entity->content)))
-            xmlFree((char *) entity->content);
-        if ((entity->orig != NULL) && (!xmlDictOwns(dict, entity->orig)))
-            xmlFree((char *) entity->orig);
-    } else {
-        if (entity->name != NULL)
-            xmlFree((char *) entity->name);
-        if (entity->ExternalID != NULL)
-            xmlFree((char *) entity->ExternalID);
-        if (entity->SystemID != NULL)
-            xmlFree((char *) entity->SystemID);
-        if (entity->URI != NULL)
-            xmlFree((char *) entity->URI);
-        if (entity->content != NULL)
-            xmlFree((char *) entity->content);
-        if (entity->orig != NULL)
-            xmlFree((char *) entity->orig);
-    }
+    if ((entity->name != NULL) &&
+        ((dict == NULL) || (!xmlDictOwns(dict, entity->name))))
+        xmlFree((char *) entity->name);
+    if (entity->ExternalID != NULL)
+        xmlFree((char *) entity->ExternalID);
+    if (entity->SystemID != NULL)
+        xmlFree((char *) entity->SystemID);
+    if (entity->URI != NULL)
+        xmlFree((char *) entity->URI);
+    if (entity->content != NULL)
+        xmlFree((char *) entity->content);
+    if (entity->orig != NULL)
+        xmlFree((char *) entity->orig);
     xmlFree(entity);
 }
 
@@ -180,7 +163,6 @@
     }
     memset(ret, 0, sizeof(xmlEntity));
     ret->type = XML_ENTITY_DECL;
-    ret->checked = 0;
 
     /*
      * fill the structure.
@@ -194,18 +176,12 @@
 	    ret->SystemID = xmlStrdup(SystemID);
     } else {
         ret->name = xmlDictLookup(dict, name, -1);
-	if (ExternalID != NULL)
-	    ret->ExternalID = xmlDictLookup(dict, ExternalID, -1);
-	if (SystemID != NULL)
-	    ret->SystemID = xmlDictLookup(dict, SystemID, -1);
+	ret->ExternalID = xmlStrdup(ExternalID);
+	ret->SystemID = xmlStrdup(SystemID);
     }
     if (content != NULL) {
         ret->length = xmlStrlen(content);
-	if ((dict != NULL) && (ret->length < 5))
-	    ret->content = (xmlChar *)
-	                   xmlDictLookup(dict, content, ret->length);
-	else
-	    ret->content = xmlStrndup(content, ret->length);
+	ret->content = xmlStrndup(content, ret->length);
      } else {
         ret->length = 0;
         ret->content = NULL;
@@ -628,7 +604,7 @@
      * allocate an translation buffer.
      */
     buffer_size = 1000;
-    buffer = (xmlChar *) xmlMalloc(buffer_size * sizeof(xmlChar));
+    buffer = (xmlChar *) xmlMalloc(buffer_size);
     if (buffer == NULL) {
         xmlEntitiesErrMemory("xmlEncodeEntities: malloc failed");
 	return(NULL);
@@ -868,7 +844,7 @@
      * allocate an translation buffer.
      */
     buffer_size = 1000;
-    buffer = (xmlChar *) xmlMalloc(buffer_size * sizeof(xmlChar));
+    buffer = (xmlChar *) xmlMalloc(buffer_size);
     if (buffer == NULL) {
         xmlEntitiesErrMemory("xmlEncodeSpecialChars: malloc failed");
 	return(NULL);
@@ -1034,7 +1010,6 @@
  */
 static void
 xmlDumpEntityContent(xmlBufferPtr buf, const xmlChar *content) {
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
     if (xmlStrchr(content, '%')) {
         const xmlChar * base, *cur;
 
diff --git a/error.c b/error.c
index 5f42ead..4de1418 100644
--- a/error.c
+++ b/error.c
@@ -16,9 +16,9 @@
 #include <libxml/xmlmemory.h>
 #include <libxml/globals.h>
 
-void XMLCDECL xmlGenericErrorDefaultFunc	(void *ctx ATTRIBUTE_UNUSED,
-				 const char *msg,
-				 ...) LIBXML_ATTR_FORMAT(2,3);
+#include "private/error.h"
+
+#define XML_MAX_ERRORS 100
 
 #define XML_GET_VAR_STR(msg, str) {				\
     int       size, prev_size = -1;				\
@@ -67,7 +67,7 @@
  *
  * Default handler for out of context error messages.
  */
-void XMLCDECL
+void
 xmlGenericErrorDefaultFunc(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) {
     va_list args;
 
@@ -83,6 +83,8 @@
  * initGenericErrorDefaultFunc:
  * @handler:  the handler
  *
+ * DEPRECATED: Use xmlSetGenericErrorFunc.
+ *
  * Set or reset (if NULL) the default handler for generic errors
  * to the builtin error function.
  */
@@ -163,7 +165,7 @@
 }
 
 /**
- * xmlParserPrintFileContext:
+ * xmlParserPrintFileContextInternal:
  * @input:  an xmlParserInputPtr input
  *
  * Displays current context within the input content for error tracking
@@ -172,7 +174,7 @@
 static void
 xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
 		xmlGenericErrorFunc channel, void *data ) {
-    const xmlChar *cur, *base;
+    const xmlChar *cur, *base, *start;
     unsigned int n, col;	/* GCC warns if signed, because compared with sizeof() */
     xmlChar  content[81]; /* space for 80 chars + line terminator */
     xmlChar *ctnt;
@@ -188,22 +190,35 @@
     }
     n = 0;
     /* search backwards for beginning-of-line (to max buff size) */
-    while ((n++ < (sizeof(content)-1)) && (cur > base) &&
-	   (*(cur) != '\n') && (*(cur) != '\r'))
+    while ((n < sizeof(content) - 1) && (cur > base) &&
+	   (*cur != '\n') && (*cur != '\r')) {
         cur--;
-    if ((*(cur) == '\n') || (*(cur) == '\r')) cur++;
+        n++;
+    }
+    if ((n > 0) && ((*cur == '\n') || (*cur == '\r'))) {
+        cur++;
+    } else {
+        /* skip over continuation bytes */
+        while ((cur < input->cur) && ((*cur & 0xC0) == 0x80))
+            cur++;
+    }
     /* calculate the error position in terms of the current position */
     col = input->cur - cur;
     /* search forward for end-of-line (to max buff size) */
     n = 0;
-    ctnt = content;
+    start = cur;
     /* copy selected text to our buffer */
-    while ((*cur != 0) && (*(cur) != '\n') &&
-	   (*(cur) != '\r') && (n < sizeof(content)-1)) {
-		*ctnt++ = *cur++;
-	n++;
+    while ((*cur != 0) && (*(cur) != '\n') && (*(cur) != '\r')) {
+        int len = input->end - cur;
+        int c = xmlGetUTF8Char(cur, &len);
+
+        if ((c < 0) || (n + len > sizeof(content)-1))
+            break;
+        cur += len;
+	n += len;
     }
-    *ctnt = 0;
+    memcpy(content, start, n);
+    content[n] = 0;
     /* print out the selected text */
     channel(data ,"%s\n", content);
     /* create blank line with problem pointer */
@@ -451,7 +466,7 @@
  * then forward the error message down the parser or generic
  * error callback handler
  */
-void XMLCDECL
+void
 __xmlRaiseError(xmlStructuredErrorFunc schannel,
               xmlGenericErrorFunc channel, void *data, void *ctx,
               void *nod, int domain, int code, xmlErrorLevel level,
@@ -474,12 +489,25 @@
         (domain == XML_FROM_DTD) || (domain == XML_FROM_NAMESPACE) ||
 	(domain == XML_FROM_IO) || (domain == XML_FROM_VALID)) {
 	ctxt = (xmlParserCtxtPtr) ctx;
-	if ((schannel == NULL) && (ctxt != NULL) && (ctxt->sax != NULL) &&
-	    (ctxt->sax->initialized == XML_SAX2_MAGIC) &&
-	    (ctxt->sax->serror != NULL)) {
-	    schannel = ctxt->sax->serror;
-	    data = ctxt->userData;
-	}
+
+        if (ctxt != NULL) {
+            if (level == XML_ERR_WARNING) {
+                if (ctxt->nbWarnings >= XML_MAX_ERRORS)
+                    return;
+                ctxt->nbWarnings += 1;
+            } else {
+                if (ctxt->nbErrors >= XML_MAX_ERRORS)
+                    return;
+                ctxt->nbErrors += 1;
+            }
+
+            if ((schannel == NULL) && (ctxt->sax != NULL) &&
+                (ctxt->sax->initialized == XML_SAX2_MAGIC) &&
+                (ctxt->sax->serror != NULL)) {
+                schannel = ctxt->sax->serror;
+                data = ctxt->userData;
+            }
+        }
     }
     /*
      * Check if structured error handler set
@@ -677,7 +705,7 @@
  * Display and format an error messages, gives file, line, position and
  * extra parameters.
  */
-void XMLCDECL
+void
 xmlParserError(void *ctx, const char *msg, ...)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
@@ -720,7 +748,7 @@
  * Display and format a warning messages, gives file, line, position and
  * extra parameters.
  */
-void XMLCDECL
+void
 xmlParserWarning(void *ctx, const char *msg, ...)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
@@ -769,7 +797,7 @@
  * Display and format an validity error messages, gives file,
  * line, position and extra parameters.
  */
-void XMLCDECL
+void
 xmlParserValidityError(void *ctx, const char *msg, ...)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
@@ -813,7 +841,7 @@
  * Display and format a validity warning messages, gives file, line,
  * position and extra parameters.
  */
-void XMLCDECL
+void
 xmlParserValidityWarning(void *ctx, const char *msg, ...)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
diff --git a/example/Makefile.am b/example/Makefile.am
index 5839bd0..21130b9 100644
--- a/example/Makefile.am
+++ b/example/Makefile.am
@@ -1,7 +1,6 @@
 check_PROGRAMS = gjobread
 
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir)/include
-AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS)
-LDADD = $(RDL_LIBS) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(ICONV_LIBS) -lm $(WIN32_EXTRA_LIBADD)
+AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+LDADD = $(top_builddir)/libxml2.la
 
 gjobread_SOURCES=gjobread.c
diff --git a/fuzz/.gitignore b/fuzz/.gitignore
index 9a5f72a..0406fc5 100644
--- a/fuzz/.gitignore
+++ b/fuzz/.gitignore
@@ -6,5 +6,7 @@
 seed/
 testFuzzer
 uri
+valid
+xinclude
 xml
 xpath
diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am
index 69410bc..8e24b59 100644
--- a/fuzz/Makefile.am
+++ b/fuzz/Makefile.am
@@ -1,12 +1,12 @@
 AUTOMAKE_OPTIONS = -Wno-syntax
-EXTRA_PROGRAMS = genSeed html regexp schema uri xml xpath
+EXTRA_PROGRAMS = genSeed html regexp schema uri valid xinclude xml xpath
 check_PROGRAMS = testFuzzer
 EXTRA_DIST = html.dict regexp.dict schema.dict xml.dict xpath.dict \
 	     static_seed/uri static_seed/regexp fuzz.h
 CLEANFILES = $(EXTRA_PROGRAMS)
 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include
 DEPENDENCIES = $(top_builddir)/libxml2.la
-LDADD = $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
+LDADD = $(top_builddir)/libxml2.la
 
 XML_MAX_LEN = 80000
 # Single quotes to avoid wildcard expansion by the shell
@@ -15,22 +15,22 @@
     '$(top_srcdir)/test/errors/*.xml' \
     '$(top_srcdir)/test/errors10/*.xml' \
     '$(top_srcdir)/test/namespaces/*' \
+    '$(top_srcdir)/test/recurse/*.xml' \
+    '$(top_srcdir)/test/SVG/*.xml' \
     '$(top_srcdir)/test/valid/*.xml' \
     '$(top_srcdir)/test/VC/*' \
     '$(top_srcdir)/test/VCM/*' \
-    '$(top_srcdir)/test/XInclude/docs/*' \
     '$(top_srcdir)/test/xmlid/*'
 
 testFuzzer_SOURCES = testFuzzer.c fuzz.c
 
-.PHONY: tests corpus clean-corpus
+.PHONY: corpus clean-corpus
 
 corpus: seed/html.stamp seed/regexp.stamp seed/schema.stamp seed/uri.stamp \
-    seed/xml.stamp seed/xpath.stamp
+    seed/valid.stamp seed/xinclude.stamp seed/xml.stamp seed/xpath.stamp
 
-tests: testFuzzer$(EXEEXT) corpus
-	@echo "## Running fuzzer tests"
-	@./testFuzzer$(EXEEXT)
+check-local: corpus
+	./testFuzzer$(EXEEXT)
 
 clean-corpus:
 	rm -rf seed
@@ -49,7 +49,7 @@
 	@touch seed/xml.stamp
 
 xml_SOURCES = xml.c fuzz.c
-xml_LDFLAGS = -fsanitize=fuzzer
+xml_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
 
 fuzz-xml: xml$(EXEEXT) seed/xml.stamp
 	@mkdir -p corpus/xml
@@ -59,6 +59,44 @@
 	    -timeout=20 \
 	    corpus/xml seed/xml
 
+# DTD validation fuzzer
+
+seed/valid.stamp: genSeed$(EXEEXT)
+	@mkdir -p seed/valid
+	./genSeed$(EXEEXT) valid $(XML_SEED_CORPUS_SRC)
+	@touch seed/valid.stamp
+
+valid_SOURCES = valid.c fuzz.c
+valid_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
+
+fuzz-valid: valid$(EXEEXT) seed/valid.stamp
+	@mkdir -p corpus/valid
+	./valid$(EXEEXT) \
+	    -dict=xml.dict \
+	    -max_len=$(XML_MAX_LEN) \
+	    -timeout=20 \
+	    corpus/valid seed/valid
+
+# XInclude fuzzer
+
+seed/xinclude.stamp: genSeed$(EXEEXT)
+	@mkdir -p seed/xinclude
+	./genSeed$(EXEEXT) xinclude \
+	    '$(top_srcdir)/test/XInclude/docs/*' \
+	    '$(top_srcdir)/test/XInclude/without-reader/*'
+	@touch seed/xinclude.stamp
+
+xinclude_SOURCES = xinclude.c fuzz.c
+xinclude_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
+
+fuzz-xinclude: xinclude$(EXEEXT) seed/xinclude.stamp
+	@mkdir -p corpus/xinclude
+	./xinclude$(EXEEXT) \
+	    -dict=xml.dict \
+	    -max_len=$(XML_MAX_LEN) \
+	    -timeout=20 \
+	    corpus/xinclude seed/xinclude
+
 # HTML fuzzer
 
 seed/html.stamp: genSeed$(EXEEXT)
@@ -67,7 +105,7 @@
 	@touch seed/html.stamp
 
 html_SOURCES = html.c fuzz.c
-html_LDFLAGS = -fsanitize=fuzzer
+html_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
 
 fuzz-html: html$(EXEEXT) seed/html.stamp
 	@mkdir -p corpus/html
@@ -85,9 +123,9 @@
 	@touch seed/regexp.stamp
 
 regexp_SOURCES = regexp.c fuzz.c
-regexp_LDFLAGS = -fsanitize=fuzzer
+regexp_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
 
-fuzz-regexp: regexp$(EXEEXT)
+fuzz-regexp: regexp$(EXEEXT) seed/regexp.stamp
 	@mkdir -p corpus/regexp
 	./regexp$(EXEEXT) \
 	    -dict=regexp.dict \
@@ -103,9 +141,9 @@
 	@touch seed/uri.stamp
 
 uri_SOURCES = uri.c fuzz.c
-uri_LDFLAGS = -fsanitize=fuzzer
+uri_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
 
-fuzz-uri: uri$(EXEEXT)
+fuzz-uri: uri$(EXEEXT) seed/uri.stamp
 	@mkdir -p corpus/uri
 	./uri$(EXEEXT) \
 	    -max_len=10000 \
@@ -120,7 +158,7 @@
 	@touch seed/schema.stamp
 
 schema_SOURCES = schema.c fuzz.c
-schema_LDFLAGS = -fsanitize=fuzzer
+schema_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
 
 fuzz-schema: schema$(EXEEXT) seed/schema.stamp
 	@mkdir -p corpus/schema
@@ -138,7 +176,7 @@
 	@touch seed/xpath.stamp
 
 xpath_SOURCES = xpath.c fuzz.c
-xpath_LDFLAGS = -fsanitize=fuzzer
+xpath_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
 
 fuzz-xpath: xpath$(EXEEXT) seed/xpath.stamp
 	@mkdir -p corpus/xpath
diff --git a/fuzz/fuzz.c b/fuzz/fuzz.c
index be2f065..7625131 100644
--- a/fuzz/fuzz.c
+++ b/fuzz/fuzz.c
@@ -42,6 +42,9 @@
     xmlFuzzEntityInfo *mainEntity;
 } fuzzData;
 
+size_t fuzzNumAllocs;
+size_t fuzzMaxAllocs;
+
 /**
  * xmlFuzzErrorFunc:
  *
@@ -52,6 +55,58 @@
                  ...) {
 }
 
+/*
+ * Malloc failure injection.
+ *
+ * Quick tip to debug complicated issues: Increase MALLOC_OFFSET until
+ * the crash disappears (or a different issue is triggered). Then set
+ * the offset to the highest value that produces a crash and set
+ * MALLOC_ABORT to 1 to see which failed memory allocation causes the
+ * issue.
+ */
+
+#define XML_FUZZ_MALLOC_OFFSET  0
+#define XML_FUZZ_MALLOC_ABORT   0
+
+static void *
+xmlFuzzMalloc(size_t size) {
+    if (fuzzMaxAllocs > 0) {
+        if (fuzzNumAllocs >= fuzzMaxAllocs - 1)
+#if XML_FUZZ_MALLOC_ABORT
+            abort();
+#else
+            return(NULL);
+#endif
+        fuzzNumAllocs += 1;
+    }
+    return malloc(size);
+}
+
+static void *
+xmlFuzzRealloc(void *ptr, size_t size) {
+    if (fuzzMaxAllocs > 0) {
+        if (fuzzNumAllocs >= fuzzMaxAllocs - 1)
+#if XML_FUZZ_MALLOC_ABORT
+            abort();
+#else
+            return(NULL);
+#endif
+        fuzzNumAllocs += 1;
+    }
+    return realloc(ptr, size);
+}
+
+void
+xmlFuzzMemSetup(void) {
+    xmlMemSetup(free, xmlFuzzMalloc, xmlFuzzRealloc, xmlMemStrdup);
+}
+
+void
+xmlFuzzMemSetLimit(size_t limit) {
+    fuzzNumAllocs = 0;
+    fuzzMaxAllocs = limit ? limit + XML_FUZZ_MALLOC_OFFSET : 0;
+}
+
 /**
  * xmlFuzzDataInit:
  *
@@ -84,20 +139,45 @@
 }
 
 /**
+ * xmlFuzzWriteInt:
+ * @out:  output file
+ * @v:  integer to write
+ * @size:  size of integer in bytes
+ *
+ * Write an integer to the fuzz data.
+ */
+void
+xmlFuzzWriteInt(FILE *out, size_t v, int size) {
+    int shift;
+
+    while (size > (int) sizeof(size_t)) {
+        putc(0, out);
+        size--;
+    }
+
+    shift = size * 8;
+    while (shift > 0) {
+        shift -= 8;
+        putc((v >> shift) & 255, out);
+    }
+}
+
+/**
  * xmlFuzzReadInt:
- * @size:  size of string in bytes
+ * @size:  size of integer in bytes
  *
  * Read an integer from the fuzz data.
  */
-int
-xmlFuzzReadInt() {
-    int ret;
+size_t
+xmlFuzzReadInt(int size) {
+    size_t ret = 0;
 
-    if (fuzzData.remaining < sizeof(int))
-        return(0);
-    memcpy(&ret, fuzzData.ptr, sizeof(int));
-    fuzzData.ptr += sizeof(int);
-    fuzzData.remaining -= sizeof(int);
+    while ((size > 0) && (fuzzData.remaining > 0)) {
+        unsigned char c = (unsigned char) *fuzzData.ptr++;
+        fuzzData.remaining--;
+        ret = (ret << 8) | c;
+        size--;
+    }
 
     return ret;
 }
@@ -166,7 +246,8 @@
             if (c2 == '\n') {
                 fuzzData.ptr++;
                 fuzzData.remaining--;
-                *size = fuzzData.outPtr - out;
+                if (size != NULL)
+                    *size = fuzzData.outPtr - out;
                 *fuzzData.outPtr++ = '\0';
                 return(out);
             }
@@ -180,12 +261,14 @@
     }
 
     if (fuzzData.outPtr > out) {
-        *size = fuzzData.outPtr - out;
+        if (size != NULL)
+            *size = fuzzData.outPtr - out;
         *fuzzData.outPtr++ = '\0';
         return(out);
     }
 
-    *size = 0;
+    if (size != NULL)
+        *size = 0;
     return(NULL);
 }
 
@@ -201,10 +284,10 @@
 
     while (1) {
         const char *url, *entity;
-        size_t urlSize, entitySize;
+        size_t entitySize;
         xmlFuzzEntityInfo *entityInfo;
-        
-        url = xmlFuzzReadString(&urlSize);
+
+        url = xmlFuzzReadString(NULL);
         if (url == NULL) break;
 
         entity = xmlFuzzReadString(&entitySize);
@@ -271,7 +354,9 @@
         return(NULL);
 
     input = xmlNewInputStream(ctxt);
-    input->filename = NULL;
+    if (input == NULL)
+        return(NULL);
+    input->filename = (char *) xmlCharStrdup(URL);
     input->buf = xmlParserInputBufferCreateMem(entity->data, entity->size,
                                                XML_CHAR_ENCODING_NONE);
     if (input->buf == NULL) {
@@ -284,47 +369,6 @@
     return input;
 }
 
-/**
- * xmlFuzzExtractStrings:
- *
- * Extract C strings from input data. Use exact-size allocations to detect
- * potential memory errors.
- */
-size_t
-xmlFuzzExtractStrings(const char *data, size_t size, char **strings,
-                      size_t numStrings) {
-    const char *start = data;
-    const char *end = data + size;
-    size_t i = 0, ret;
-
-    while (i < numStrings) {
-        size_t strSize = end - start;
-        const char *zero = memchr(start, 0, strSize);
-
-        if (zero != NULL)
-            strSize = zero - start;
-
-        strings[i] = xmlMalloc(strSize + 1);
-        memcpy(strings[i], start, strSize);
-        strings[i][strSize] = '\0';
-
-        i++;
-        if (zero != NULL)
-            start = zero + 1;
-        else
-            break;
-    }
-
-    ret = i;
-
-    while (i < numStrings) {
-        strings[i] = NULL;
-        i++;
-    }
-
-    return(ret);
-}
-
 char *
 xmlSlurpFile(const char *path, size_t *sizeRet) {
     FILE *file;
diff --git a/fuzz/fuzz.h b/fuzz/fuzz.h
index a51b398..0668b2f 100644
--- a/fuzz/fuzz.h
+++ b/fuzz/fuzz.h
@@ -27,9 +27,16 @@
 #if 1
   #define HAVE_URI_FUZZER
 #endif
+#if defined(LIBXML_VALID_ENABLED) && \
+    defined(LIBXML_READER_ENABLED)
+  #define HAVE_VALID_FUZZER
+#endif
+#if defined(LIBXML_XINCLUDE_ENABLED) && \
+    defined(LIBXML_READER_ENABLED)
+  #define HAVE_XINCLUDE_FUZZER
+#endif
 #if defined(LIBXML_OUTPUT_ENABLED) && \
-    defined(LIBXML_READER_ENABLED) && \
-    defined(LIBXML_XINCLUDE_ENABLED)
+    defined(LIBXML_READER_ENABLED)
   #define HAVE_XML_FUZZER
 #endif
 #if defined(LIBXML_XPATH_ENABLED)
@@ -47,13 +54,22 @@
                  ...);
 
 void
+xmlFuzzMemSetup(void);
+
+void
+xmlFuzzMemSetLimit(size_t limit);
+
+void
 xmlFuzzDataInit(const char *data, size_t size);
 
 void
 xmlFuzzDataCleanup(void);
 
-int
-xmlFuzzReadInt(void);
+void
+xmlFuzzWriteInt(FILE *out, size_t v, int size);
+
+size_t
+xmlFuzzReadInt(int size);
 
 const char *
 xmlFuzzReadRemaining(size_t *size);
@@ -76,10 +92,6 @@
 xmlParserInputPtr
 xmlFuzzEntityLoader(const char *URL, const char *ID, xmlParserCtxtPtr ctxt);
 
-size_t
-xmlFuzzExtractStrings(const char *data, size_t size, char **strings,
-                      size_t numStrings);
-
 char *
 xmlSlurpFile(const char *path, size_t *size);
 
diff --git a/fuzz/genSeed.c b/fuzz/genSeed.c
index 2f03802..d08d135 100644
--- a/fuzz/genSeed.c
+++ b/fuzz/genSeed.c
@@ -43,6 +43,8 @@
     char cwd[PATH_SIZE];
 } globalData;
 
+#if defined(HAVE_SCHEMA_FUZZER) || \
+    defined(HAVE_XML_FUZZER)
 /*
  * A custom entity loader that writes all external DTDs or entities to a
  * single file in the format expected by xmlFuzzEntityLoader.
@@ -80,7 +82,8 @@
 
     xmlFreeInputStream(in);
 
-    xmlHashAddEntry(globalData.entities, (const xmlChar *) URL, NULL);
+    xmlHashAddEntry(globalData.entities, (const xmlChar *) URL,
+                    globalData.entities);
 
     return(xmlNoNetExternalEntityLoader(URL, ID, ctxt));
 }
@@ -94,13 +97,14 @@
 }
 
 static void
-fuzzRecorderCleanup() {
+fuzzRecorderCleanup(void) {
     xmlSetExternalEntityLoader(globalData.oldLoader);
-    xmlHashFree(globalData.entities, xmlHashDefaultDeallocator);
+    xmlHashFree(globalData.entities, NULL);
     globalData.out = NULL;
     globalData.entities = NULL;
     globalData.oldLoader = NULL;
 }
+#endif
 
 #ifdef HAVE_XML_FUZZER
 static int
@@ -108,7 +112,10 @@
     int opts = XML_PARSE_NOENT | XML_PARSE_DTDLOAD;
     xmlDocPtr doc;
 
-    fwrite(&opts, sizeof(opts), 1, out);
+    /* Parser options. */
+    xmlFuzzWriteInt(out, opts, 4);
+    /* Max allocations. */
+    xmlFuzzWriteInt(out, 0, 4);
 
     fuzzRecorderInit(out);
 
@@ -128,9 +135,11 @@
     char buf[SEED_BUF_SIZE];
     FILE *file;
     size_t size;
-    int opts = 0;
 
-    fwrite(&opts, sizeof(opts), 1, out);
+    /* Parser options. */
+    xmlFuzzWriteInt(out, 0, 4);
+    /* Max allocations. */
+    xmlFuzzWriteInt(out, 0, 4);
 
     /* Copy file */
     file = fopen(docFile, "rb");
@@ -155,6 +164,9 @@
     xmlSchemaPtr schema;
     xmlSchemaParserCtxtPtr pctxt;
 
+    /* Max allocations. */
+    xmlFuzzWriteInt(out, 0, 4);
+
     fuzzRecorderInit(out);
 
     pctxt = xmlSchemaNewParserCtxt(docFile);
@@ -169,11 +181,15 @@
 }
 #endif
 
+#if defined(HAVE_HTML_FUZZER) || \
+    defined(HAVE_SCHEMA_FUZZER) || \
+    defined(HAVE_XML_FUZZER)
 static int
 processPattern(const char *pattern) {
     glob_t globbuf;
     int ret = 0;
-    int res, i;
+    int res;
+    size_t i;
 
     res = glob(pattern, 0, NULL, &globbuf);
     if (res == GLOB_NOMATCH)
@@ -245,6 +261,7 @@
     globfree(&globbuf);
     return(ret);
 }
+#endif
 
 #ifdef HAVE_XPATH_FUZZER
 static int
@@ -282,7 +299,7 @@
             continue;
         }
 
-        while (fgets(expr, EXPR_SIZE, in) > 0) {
+        while (fgets(expr, EXPR_SIZE, in) != NULL) {
             char outPath[PATH_SIZE];
             FILE *out;
             int j;
@@ -304,6 +321,9 @@
                 continue;
             }
 
+            /* Max allocations. */
+            xmlFuzzWriteInt(out, 0, 4);
+
             if (xptr) {
                 xmlFuzzWriteString(out, expr);
             } else {
@@ -328,7 +348,7 @@
     return(ret);
 }
 
-int
+static int
 processXPathDir(const char *testDir) {
     char pattern[PATH_SIZE];
     glob_t globbuf;
@@ -362,6 +382,8 @@
             ret = -1;
         if (processXPath(testDir, docFile, docFile, data, "xptr", 1) != 0)
             ret = -1;
+        if (processXPath(testDir, docFile, docFile, data, "xptr-xp1", 1) != 0)
+            ret = -1;
 
         xmlFree(data);
     }
@@ -377,7 +399,6 @@
     mainFunc processArg = NULL;
     const char *fuzzer;
     int ret = 0;
-    int xpath = 0;
     int i;
 
     if (argc < 3) {
@@ -398,6 +419,16 @@
         processArg = processPattern;
         globalData.processFile = processSchema;
 #endif
+    } else if (strcmp(fuzzer, "valid") == 0) {
+#ifdef HAVE_XINCLUDE_FUZZER
+        processArg = processPattern;
+        globalData.processFile = processXml;
+#endif
+    } else if (strcmp(fuzzer, "xinclude") == 0) {
+#ifdef HAVE_XINCLUDE_FUZZER
+        processArg = processPattern;
+        globalData.processFile = processXml;
+#endif
     } else if (strcmp(fuzzer, "xml") == 0) {
 #ifdef HAVE_XML_FUZZER
         processArg = processPattern;
diff --git a/fuzz/html.c b/fuzz/html.c
index 116b3df..a2bd97a 100644
--- a/fuzz/html.c
+++ b/fuzz/html.c
@@ -12,6 +12,7 @@
 int
 LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED,
                      char ***argv ATTRIBUTE_UNUSED) {
+    xmlFuzzMemSetup();
     xmlInitParser();
 #ifdef LIBXML_CATALOG_ENABLED
     xmlInitializeCatalog();
@@ -28,11 +29,12 @@
     htmlParserCtxtPtr ctxt;
     xmlOutputBufferPtr out;
     const char *docBuffer;
-    size_t docSize, consumed, chunkSize;
-    int opts, outSize;
+    size_t maxAlloc, docSize, consumed, chunkSize;
+    int opts;
 
     xmlFuzzDataInit(data, size);
-    opts = xmlFuzzReadInt();
+    opts = (int) xmlFuzzReadInt(4);
+    maxAlloc = xmlFuzzReadInt(4) % (size + 1);
 
     docBuffer = xmlFuzzReadRemaining(&docSize);
     if (docBuffer == NULL) {
@@ -42,6 +44,7 @@
 
     /* Pull parser */
 
+    xmlFuzzMemSetLimit(maxAlloc);
     doc = htmlReadMemory(docBuffer, docSize, NULL, NULL, opts);
 
     /*
@@ -57,23 +60,28 @@
 
     /* Push parser */
 
+    xmlFuzzMemSetLimit(maxAlloc);
     ctxt = htmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL,
                                     XML_CHAR_ENCODING_NONE);
-    htmlCtxtUseOptions(ctxt, opts);
 
-    for (consumed = 0; consumed < docSize; consumed += chunkSize) {
-        chunkSize = docSize - consumed;
-        if (chunkSize > maxChunkSize)
-            chunkSize = maxChunkSize;
-        htmlParseChunk(ctxt, docBuffer + consumed, chunkSize, 0);
+    if (ctxt != NULL) {
+        htmlCtxtUseOptions(ctxt, opts);
+
+        for (consumed = 0; consumed < docSize; consumed += chunkSize) {
+            chunkSize = docSize - consumed;
+            if (chunkSize > maxChunkSize)
+                chunkSize = maxChunkSize;
+            htmlParseChunk(ctxt, docBuffer + consumed, chunkSize, 0);
+        }
+
+        htmlParseChunk(ctxt, NULL, 0, 1);
+        xmlFreeDoc(ctxt->myDoc);
+        htmlFreeParserCtxt(ctxt);
     }
 
-    htmlParseChunk(ctxt, NULL, 0, 1);
-    xmlFreeDoc(ctxt->myDoc);
-    htmlFreeParserCtxt(ctxt);
-
     /* Cleanup */
 
+    xmlFuzzMemSetLimit(0);
     xmlFuzzDataCleanup();
     xmlResetLastError();
 
diff --git a/fuzz/regexp.c b/fuzz/regexp.c
index af1210a..0514059 100644
--- a/fuzz/regexp.c
+++ b/fuzz/regexp.c
@@ -10,6 +10,7 @@
 int
 LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED,
                      char ***argv ATTRIBUTE_UNUSED) {
+    xmlFuzzMemSetup();
     xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc);
 
     return 0;
@@ -18,28 +19,29 @@
 int
 LLVMFuzzerTestOneInput(const char *data, size_t size) {
     xmlRegexpPtr regexp;
-    char *str[2] = { NULL, NULL };
-    size_t numStrings;
+    size_t maxAlloc;
+    const char *str1;
 
     if (size > 200)
         return(0);
 
-    numStrings = xmlFuzzExtractStrings(data, size, str, 2);
+    xmlFuzzDataInit(data, size);
+    maxAlloc = xmlFuzzReadInt(4) % (size * 8 + 1);
+    str1 = xmlFuzzReadString(NULL);
 
     /* CUR_SCHAR doesn't handle invalid UTF-8 and may cause infinite loops. */
-    if (xmlCheckUTF8(BAD_CAST str[0]) != 0) {
-        regexp = xmlRegexpCompile(BAD_CAST str[0]);
+    if (xmlCheckUTF8(BAD_CAST str1) != 0) {
+        xmlFuzzMemSetLimit(maxAlloc);
+        regexp = xmlRegexpCompile(BAD_CAST str1);
         /* xmlRegexpExec has pathological performance in too many cases. */
 #if 0
-        if ((regexp != NULL) && (numStrings >= 2)) {
-            xmlRegexpExec(regexp, BAD_CAST str[1]);
-        }
+        xmlRegexpExec(regexp, BAD_CAST str2);
 #endif
         xmlRegFreeRegexp(regexp);
     }
 
-    xmlFree(str[0]);
-    xmlFree(str[1]);
+    xmlFuzzMemSetLimit(0);
+    xmlFuzzDataCleanup();
     xmlResetLastError();
 
     return 0;
diff --git a/fuzz/schema.c b/fuzz/schema.c
index 689bffe..04e92f9 100644
--- a/fuzz/schema.c
+++ b/fuzz/schema.c
@@ -11,6 +11,7 @@
 int
 LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED,
                      char ***argv ATTRIBUTE_UNUSED) {
+    xmlFuzzMemSetup();
     xmlInitParser();
 #ifdef LIBXML_CATALOG_ENABLED
     xmlInitializeCatalog();
@@ -24,18 +25,23 @@
 int
 LLVMFuzzerTestOneInput(const char *data, size_t size) {
     xmlSchemaParserCtxtPtr pctxt;
+    size_t maxAlloc;
 
     if (size > 50000)
         return(0);
 
+    maxAlloc = xmlFuzzReadInt(4) % (size + 1);
+
     xmlFuzzDataInit(data, size);
     xmlFuzzReadEntities();
 
+    xmlFuzzMemSetLimit(maxAlloc);
     pctxt = xmlSchemaNewParserCtxt(xmlFuzzMainUrl());
     xmlSchemaSetParserErrors(pctxt, xmlFuzzErrorFunc, xmlFuzzErrorFunc, NULL);
     xmlSchemaFree(xmlSchemaParse(pctxt));
     xmlSchemaFreeParserCtxt(pctxt);
 
+    xmlFuzzMemSetLimit(0);
     xmlFuzzDataCleanup();
     xmlResetLastError();
 
diff --git a/fuzz/static_seed/regexp/branch-1 b/fuzz/static_seed/regexp/branch-1
new file mode 100644
index 0000000..2a61d0d
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-1
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-10 b/fuzz/static_seed/regexp/branch-10
new file mode 100644
index 0000000..a867afe
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-10
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-11 b/fuzz/static_seed/regexp/branch-11
new file mode 100644
index 0000000..cf22034
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-11
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-12 b/fuzz/static_seed/regexp/branch-12
new file mode 100644
index 0000000..1dd06d5
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-12
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-13 b/fuzz/static_seed/regexp/branch-13
new file mode 100644
index 0000000..d3033d2
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-13
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-2 b/fuzz/static_seed/regexp/branch-2
new file mode 100644
index 0000000..cd27911
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-2
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-3 b/fuzz/static_seed/regexp/branch-3
new file mode 100644
index 0000000..64437c8
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-3
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-4 b/fuzz/static_seed/regexp/branch-4
new file mode 100644
index 0000000..556bba2
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-4
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-5 b/fuzz/static_seed/regexp/branch-5
new file mode 100644
index 0000000..cdf9098
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-5
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-6 b/fuzz/static_seed/regexp/branch-6
new file mode 100644
index 0000000..f68f552
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-6
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-7 b/fuzz/static_seed/regexp/branch-7
new file mode 100644
index 0000000..a7e8e91
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-7
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-8 b/fuzz/static_seed/regexp/branch-8
new file mode 100644
index 0000000..0637a69
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-8
Binary files differ
diff --git a/fuzz/static_seed/regexp/branch-9 b/fuzz/static_seed/regexp/branch-9
new file mode 100644
index 0000000..6cbd35e
--- /dev/null
+++ b/fuzz/static_seed/regexp/branch-9
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-1 b/fuzz/static_seed/regexp/bug316338-1
new file mode 100644
index 0000000..742782c
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-1
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-10 b/fuzz/static_seed/regexp/bug316338-10
new file mode 100644
index 0000000..09eaccc
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-10
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-11 b/fuzz/static_seed/regexp/bug316338-11
new file mode 100644
index 0000000..991d19a
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-11
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-12 b/fuzz/static_seed/regexp/bug316338-12
new file mode 100644
index 0000000..dd43da8
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-12
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-13 b/fuzz/static_seed/regexp/bug316338-13
new file mode 100644
index 0000000..8b7bc0c
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-13
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-14 b/fuzz/static_seed/regexp/bug316338-14
new file mode 100644
index 0000000..4cd8318
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-14
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-15 b/fuzz/static_seed/regexp/bug316338-15
new file mode 100644
index 0000000..456dda7
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-15
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-16 b/fuzz/static_seed/regexp/bug316338-16
new file mode 100644
index 0000000..94a4810
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-16
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-2 b/fuzz/static_seed/regexp/bug316338-2
new file mode 100644
index 0000000..6dd04e3
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-2
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-3 b/fuzz/static_seed/regexp/bug316338-3
new file mode 100644
index 0000000..5be0b2d
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-3
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-4 b/fuzz/static_seed/regexp/bug316338-4
new file mode 100644
index 0000000..e7d786c
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-4
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-5 b/fuzz/static_seed/regexp/bug316338-5
new file mode 100644
index 0000000..e06cf23
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-5
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-6 b/fuzz/static_seed/regexp/bug316338-6
new file mode 100644
index 0000000..c65a26e
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-6
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-7 b/fuzz/static_seed/regexp/bug316338-7
new file mode 100644
index 0000000..8d0ec0f
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-7
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-8 b/fuzz/static_seed/regexp/bug316338-8
new file mode 100644
index 0000000..a17aac4
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-8
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug316338-9 b/fuzz/static_seed/regexp/bug316338-9
new file mode 100644
index 0000000..3c37fb4
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug316338-9
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug420596-1 b/fuzz/static_seed/regexp/bug420596-1
new file mode 100644
index 0000000..9b6a838
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug420596-1
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug420596-2 b/fuzz/static_seed/regexp/bug420596-2
new file mode 100644
index 0000000..f3ee539
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug420596-2
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug420596-3 b/fuzz/static_seed/regexp/bug420596-3
new file mode 100644
index 0000000..590bad9
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug420596-3
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug420596-4 b/fuzz/static_seed/regexp/bug420596-4
new file mode 100644
index 0000000..233a92b
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug420596-4
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug420596-5 b/fuzz/static_seed/regexp/bug420596-5
new file mode 100644
index 0000000..ca35ec2
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug420596-5
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug420596-6 b/fuzz/static_seed/regexp/bug420596-6
new file mode 100644
index 0000000..d433d91
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug420596-6
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug420596-7 b/fuzz/static_seed/regexp/bug420596-7
new file mode 100644
index 0000000..80d821e
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug420596-7
Binary files differ
diff --git a/fuzz/static_seed/regexp/bug420596-8 b/fuzz/static_seed/regexp/bug420596-8
new file mode 100644
index 0000000..17456c9
--- /dev/null
+++ b/fuzz/static_seed/regexp/bug420596-8
Binary files differ
diff --git a/fuzz/static_seed/regexp/content-1 b/fuzz/static_seed/regexp/content-1
new file mode 100644
index 0000000..edcb943
--- /dev/null
+++ b/fuzz/static_seed/regexp/content-1
Binary files differ
diff --git a/fuzz/static_seed/regexp/content-10 b/fuzz/static_seed/regexp/content-10
new file mode 100644
index 0000000..f0cd363
--- /dev/null
+++ b/fuzz/static_seed/regexp/content-10
Binary files differ
diff --git a/fuzz/static_seed/regexp/content-2 b/fuzz/static_seed/regexp/content-2
new file mode 100644
index 0000000..d9f4a93
--- /dev/null
+++ b/fuzz/static_seed/regexp/content-2
Binary files differ
diff --git a/fuzz/static_seed/regexp/content-3 b/fuzz/static_seed/regexp/content-3
new file mode 100644
index 0000000..309c920
--- /dev/null
+++ b/fuzz/static_seed/regexp/content-3
Binary files differ
diff --git a/fuzz/static_seed/regexp/content-4 b/fuzz/static_seed/regexp/content-4
new file mode 100644
index 0000000..20ffbb7
--- /dev/null
+++ b/fuzz/static_seed/regexp/content-4
Binary files differ
diff --git a/fuzz/static_seed/regexp/content-5 b/fuzz/static_seed/regexp/content-5
new file mode 100644
index 0000000..faa7b53
--- /dev/null
+++ b/fuzz/static_seed/regexp/content-5
Binary files differ
diff --git a/fuzz/static_seed/regexp/content-6 b/fuzz/static_seed/regexp/content-6
new file mode 100644
index 0000000..98ef3aa
--- /dev/null
+++ b/fuzz/static_seed/regexp/content-6
Binary files differ
diff --git a/fuzz/static_seed/regexp/content-7 b/fuzz/static_seed/regexp/content-7
new file mode 100644
index 0000000..b0d17af
--- /dev/null
+++ b/fuzz/static_seed/regexp/content-7
Binary files differ
diff --git a/fuzz/static_seed/regexp/content-8 b/fuzz/static_seed/regexp/content-8
new file mode 100644
index 0000000..51aeb7b
--- /dev/null
+++ b/fuzz/static_seed/regexp/content-8
Binary files differ
diff --git a/fuzz/static_seed/regexp/content-9 b/fuzz/static_seed/regexp/content-9
new file mode 100644
index 0000000..589d928
--- /dev/null
+++ b/fuzz/static_seed/regexp/content-9
Binary files differ
diff --git a/fuzz/static_seed/regexp/hard-1 b/fuzz/static_seed/regexp/hard-1
new file mode 100644
index 0000000..9959fb4
--- /dev/null
+++ b/fuzz/static_seed/regexp/hard-1
Binary files differ
diff --git a/fuzz/static_seed/regexp/hard-10 b/fuzz/static_seed/regexp/hard-10
new file mode 100644
index 0000000..36db287
--- /dev/null
+++ b/fuzz/static_seed/regexp/hard-10
Binary files differ
diff --git a/fuzz/static_seed/regexp/hard-2 b/fuzz/static_seed/regexp/hard-2
new file mode 100644
index 0000000..17016bd
--- /dev/null
+++ b/fuzz/static_seed/regexp/hard-2
Binary files differ
diff --git a/fuzz/static_seed/regexp/hard-3 b/fuzz/static_seed/regexp/hard-3
new file mode 100644
index 0000000..f3f1c0b
--- /dev/null
+++ b/fuzz/static_seed/regexp/hard-3
Binary files differ
diff --git a/fuzz/static_seed/regexp/hard-4 b/fuzz/static_seed/regexp/hard-4
new file mode 100644
index 0000000..13bcd77
--- /dev/null
+++ b/fuzz/static_seed/regexp/hard-4
Binary files differ
diff --git a/fuzz/static_seed/regexp/hard-5 b/fuzz/static_seed/regexp/hard-5
new file mode 100644
index 0000000..41e5310
--- /dev/null
+++ b/fuzz/static_seed/regexp/hard-5
Binary files differ
diff --git a/fuzz/static_seed/regexp/hard-6 b/fuzz/static_seed/regexp/hard-6
new file mode 100644
index 0000000..d55d808
--- /dev/null
+++ b/fuzz/static_seed/regexp/hard-6
Binary files differ
diff --git a/fuzz/static_seed/regexp/hard-7 b/fuzz/static_seed/regexp/hard-7
new file mode 100644
index 0000000..0dfd684
--- /dev/null
+++ b/fuzz/static_seed/regexp/hard-7
Binary files differ
diff --git a/fuzz/static_seed/regexp/hard-8 b/fuzz/static_seed/regexp/hard-8
new file mode 100644
index 0000000..8159843
--- /dev/null
+++ b/fuzz/static_seed/regexp/hard-8
Binary files differ
diff --git a/fuzz/static_seed/regexp/hard-9 b/fuzz/static_seed/regexp/hard-9
new file mode 100644
index 0000000..a4e9ece
--- /dev/null
+++ b/fuzz/static_seed/regexp/hard-9
Binary files differ
diff --git a/fuzz/static_seed/regexp/ncname-1 b/fuzz/static_seed/regexp/ncname-1
new file mode 100644
index 0000000..6d43f81
--- /dev/null
+++ b/fuzz/static_seed/regexp/ncname-1
Binary files differ
diff --git a/fuzz/static_seed/regexp/ncname-2 b/fuzz/static_seed/regexp/ncname-2
new file mode 100644
index 0000000..bb9ff54
--- /dev/null
+++ b/fuzz/static_seed/regexp/ncname-2
Binary files differ
diff --git a/fuzz/static_seed/regexp/ncname-3 b/fuzz/static_seed/regexp/ncname-3
new file mode 100644
index 0000000..605ccc5
--- /dev/null
+++ b/fuzz/static_seed/regexp/ncname-3
Binary files differ
diff --git a/fuzz/static_seed/regexp/ncname-4 b/fuzz/static_seed/regexp/ncname-4
new file mode 100644
index 0000000..facf97d
--- /dev/null
+++ b/fuzz/static_seed/regexp/ncname-4
Binary files differ
diff --git a/fuzz/static_seed/regexp/ncname-5 b/fuzz/static_seed/regexp/ncname-5
new file mode 100644
index 0000000..ad22334
--- /dev/null
+++ b/fuzz/static_seed/regexp/ncname-5
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-1 b/fuzz/static_seed/regexp/ranges-1
new file mode 100644
index 0000000..2c4bb3d
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-1
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-10 b/fuzz/static_seed/regexp/ranges-10
new file mode 100644
index 0000000..61c3d3d
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-10
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-11 b/fuzz/static_seed/regexp/ranges-11
new file mode 100644
index 0000000..6133262
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-11
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-12 b/fuzz/static_seed/regexp/ranges-12
new file mode 100644
index 0000000..4b6be37
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-12
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-2 b/fuzz/static_seed/regexp/ranges-2
new file mode 100644
index 0000000..f766e22
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-2
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-3 b/fuzz/static_seed/regexp/ranges-3
new file mode 100644
index 0000000..7c03f87
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-3
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-4 b/fuzz/static_seed/regexp/ranges-4
new file mode 100644
index 0000000..08a0a9a
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-4
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-5 b/fuzz/static_seed/regexp/ranges-5
new file mode 100644
index 0000000..ce3f25a
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-5
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-6 b/fuzz/static_seed/regexp/ranges-6
new file mode 100644
index 0000000..523b637
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-6
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-7 b/fuzz/static_seed/regexp/ranges-7
new file mode 100644
index 0000000..091ff05
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-7
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-8 b/fuzz/static_seed/regexp/ranges-8
new file mode 100644
index 0000000..210f709
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-8
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges-9 b/fuzz/static_seed/regexp/ranges-9
new file mode 100644
index 0000000..7da8a2a
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges-9
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-1 b/fuzz/static_seed/regexp/ranges2-1
new file mode 100644
index 0000000..003c2c5
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-1
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-10 b/fuzz/static_seed/regexp/ranges2-10
new file mode 100644
index 0000000..261bf56
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-10
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-11 b/fuzz/static_seed/regexp/ranges2-11
new file mode 100644
index 0000000..c6c5bd0
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-11
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-12 b/fuzz/static_seed/regexp/ranges2-12
new file mode 100644
index 0000000..0a729f2
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-12
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-2 b/fuzz/static_seed/regexp/ranges2-2
new file mode 100644
index 0000000..9fc2ce1
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-2
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-3 b/fuzz/static_seed/regexp/ranges2-3
new file mode 100644
index 0000000..08a3963
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-3
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-4 b/fuzz/static_seed/regexp/ranges2-4
new file mode 100644
index 0000000..c965555
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-4
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-5 b/fuzz/static_seed/regexp/ranges2-5
new file mode 100644
index 0000000..2e65f5d
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-5
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-6 b/fuzz/static_seed/regexp/ranges2-6
new file mode 100644
index 0000000..4990264
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-6
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-7 b/fuzz/static_seed/regexp/ranges2-7
new file mode 100644
index 0000000..5f3e2c3
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-7
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-8 b/fuzz/static_seed/regexp/ranges2-8
new file mode 100644
index 0000000..9b384e5
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-8
Binary files differ
diff --git a/fuzz/static_seed/regexp/ranges2-9 b/fuzz/static_seed/regexp/ranges2-9
new file mode 100644
index 0000000..e08ad99
--- /dev/null
+++ b/fuzz/static_seed/regexp/ranges2-9
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-1 b/fuzz/static_seed/regexp/xpath-1
new file mode 100644
index 0000000..20e37e0
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-1
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-10 b/fuzz/static_seed/regexp/xpath-10
new file mode 100644
index 0000000..1bdb0a8
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-10
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-11 b/fuzz/static_seed/regexp/xpath-11
new file mode 100644
index 0000000..5e26ec2
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-11
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-12 b/fuzz/static_seed/regexp/xpath-12
new file mode 100644
index 0000000..e044486
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-12
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-13 b/fuzz/static_seed/regexp/xpath-13
new file mode 100644
index 0000000..9cb2874
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-13
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-14 b/fuzz/static_seed/regexp/xpath-14
new file mode 100644
index 0000000..3b9003f
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-14
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-15 b/fuzz/static_seed/regexp/xpath-15
new file mode 100644
index 0000000..64b071e
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-15
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-16 b/fuzz/static_seed/regexp/xpath-16
new file mode 100644
index 0000000..44b612b
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-16
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-17 b/fuzz/static_seed/regexp/xpath-17
new file mode 100644
index 0000000..0370668
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-17
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-18 b/fuzz/static_seed/regexp/xpath-18
new file mode 100644
index 0000000..0351911
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-18
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-19 b/fuzz/static_seed/regexp/xpath-19
new file mode 100644
index 0000000..f4a153c
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-19
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-2 b/fuzz/static_seed/regexp/xpath-2
new file mode 100644
index 0000000..0a8bae7
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-2
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-20 b/fuzz/static_seed/regexp/xpath-20
new file mode 100644
index 0000000..44b612b
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-20
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-21 b/fuzz/static_seed/regexp/xpath-21
new file mode 100644
index 0000000..2d6c7df
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-21
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-22 b/fuzz/static_seed/regexp/xpath-22
new file mode 100644
index 0000000..1e8db88
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-22
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-23 b/fuzz/static_seed/regexp/xpath-23
new file mode 100644
index 0000000..233f27e
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-23
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-24 b/fuzz/static_seed/regexp/xpath-24
new file mode 100644
index 0000000..c970a5e
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-24
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-25 b/fuzz/static_seed/regexp/xpath-25
new file mode 100644
index 0000000..649e8f4
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-25
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-26 b/fuzz/static_seed/regexp/xpath-26
new file mode 100644
index 0000000..13f6f24
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-26
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-27 b/fuzz/static_seed/regexp/xpath-27
new file mode 100644
index 0000000..3fea5c9
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-27
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-28 b/fuzz/static_seed/regexp/xpath-28
new file mode 100644
index 0000000..8d28581
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-28
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-29 b/fuzz/static_seed/regexp/xpath-29
new file mode 100644
index 0000000..a62aafe
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-29
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-3 b/fuzz/static_seed/regexp/xpath-3
new file mode 100644
index 0000000..40bba5a
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-3
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-30 b/fuzz/static_seed/regexp/xpath-30
new file mode 100644
index 0000000..60105af
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-30
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-31 b/fuzz/static_seed/regexp/xpath-31
new file mode 100644
index 0000000..f7d319d
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-31
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-32 b/fuzz/static_seed/regexp/xpath-32
new file mode 100644
index 0000000..b3708da
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-32
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-33 b/fuzz/static_seed/regexp/xpath-33
new file mode 100644
index 0000000..4ad749f
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-33
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-34 b/fuzz/static_seed/regexp/xpath-34
new file mode 100644
index 0000000..c3e184c
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-34
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-35 b/fuzz/static_seed/regexp/xpath-35
new file mode 100644
index 0000000..41ec109
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-35
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-4 b/fuzz/static_seed/regexp/xpath-4
new file mode 100644
index 0000000..d8c875e
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-4
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-5 b/fuzz/static_seed/regexp/xpath-5
new file mode 100644
index 0000000..1e282d0
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-5
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-6 b/fuzz/static_seed/regexp/xpath-6
new file mode 100644
index 0000000..52405e4
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-6
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-7 b/fuzz/static_seed/regexp/xpath-7
new file mode 100644
index 0000000..81ebb61
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-7
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-8 b/fuzz/static_seed/regexp/xpath-8
new file mode 100644
index 0000000..9132035
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-8
Binary files differ
diff --git a/fuzz/static_seed/regexp/xpath-9 b/fuzz/static_seed/regexp/xpath-9
new file mode 100644
index 0000000..fb88269
--- /dev/null
+++ b/fuzz/static_seed/regexp/xpath-9
Binary files differ
diff --git a/fuzz/static_seed/uri/dot b/fuzz/static_seed/uri/dot
new file mode 100644
index 0000000..6cac6b0
--- /dev/null
+++ b/fuzz/static_seed/uri/dot
Binary files differ
diff --git a/fuzz/static_seed/uri/full b/fuzz/static_seed/uri/full
new file mode 100644
index 0000000..833329f
--- /dev/null
+++ b/fuzz/static_seed/uri/full
Binary files differ
diff --git a/fuzz/testFuzzer.c b/fuzz/testFuzzer.c
index b0c7ffb..d7c775f 100644
--- a/fuzz/testFuzzer.c
+++ b/fuzz/testFuzzer.c
@@ -13,51 +13,83 @@
 #include "fuzz.h"
 
 #ifdef HAVE_HTML_FUZZER
-  #define LLVMFuzzerInitialize fuzzHtmlInit
-  #define LLVMFuzzerTestOneInput fuzzHtml
-  #include "html.c"
-  #undef LLVMFuzzerInitialize
-  #undef LLVMFuzzerTestOneInput
+int fuzzHtmlInit(int *argc, char ***argv);
+int fuzzHtml(const char *data, size_t size);
+#define LLVMFuzzerInitialize fuzzHtmlInit
+#define LLVMFuzzerTestOneInput fuzzHtml
+#include "html.c"
+#undef LLVMFuzzerInitialize
+#undef LLVMFuzzerTestOneInput
 #endif
 
 #ifdef HAVE_REGEXP_FUZZER
-  #define LLVMFuzzerInitialize fuzzRegexpInit
-  #define LLVMFuzzerTestOneInput fuzzRegexp
-  #include "regexp.c"
-  #undef LLVMFuzzerInitialize
-  #undef LLVMFuzzerTestOneInput
+int fuzzRegexpInit(int *argc, char ***argv);
+int fuzzRegexp(const char *data, size_t size);
+#define LLVMFuzzerInitialize fuzzRegexpInit
+#define LLVMFuzzerTestOneInput fuzzRegexp
+#include "regexp.c"
+#undef LLVMFuzzerInitialize
+#undef LLVMFuzzerTestOneInput
 #endif
 
 #ifdef HAVE_SCHEMA_FUZZER
-  #define LLVMFuzzerInitialize fuzzSchemaInit
-  #define LLVMFuzzerTestOneInput fuzzSchema
-  #include "schema.c"
-  #undef LLVMFuzzerInitialize
-  #undef LLVMFuzzerTestOneInput
+int fuzzSchemaInit(int *argc, char ***argv);
+int fuzzSchema(const char *data, size_t size);
+#define LLVMFuzzerInitialize fuzzSchemaInit
+#define LLVMFuzzerTestOneInput fuzzSchema
+#include "schema.c"
+#undef LLVMFuzzerInitialize
+#undef LLVMFuzzerTestOneInput
 #endif
 
 #ifdef HAVE_URI_FUZZER
-  #define LLVMFuzzerInitialize fuzzUriInit
-  #define LLVMFuzzerTestOneInput fuzzUri
-  #include "uri.c"
-  #undef LLVMFuzzerInitialize
-  #undef LLVMFuzzerTestOneInput
+int fuzzUriInit(int *argc, char ***argv);
+int fuzzUri(const char *data, size_t size);
+#define LLVMFuzzerInitialize fuzzUriInit
+#define LLVMFuzzerTestOneInput fuzzUri
+#include "uri.c"
+#undef LLVMFuzzerInitialize
+#undef LLVMFuzzerTestOneInput
+#endif
+
+#ifdef HAVE_VALID_FUZZER
+int fuzzValidInit(int *argc, char ***argv);
+int fuzzValid(const char *data, size_t size);
+#define LLVMFuzzerInitialize fuzzValidInit
+#define LLVMFuzzerTestOneInput fuzzValid
+#include "valid.c"
+#undef LLVMFuzzerInitialize
+#undef LLVMFuzzerTestOneInput
+#endif
+
+#ifdef HAVE_XINCLUDE_FUZZER
+int fuzzXIncludeInit(int *argc, char ***argv);
+int fuzzXInclude(const char *data, size_t size);
+#define LLVMFuzzerInitialize fuzzXIncludeInit
+#define LLVMFuzzerTestOneInput fuzzXInclude
+#include "xinclude.c"
+#undef LLVMFuzzerInitialize
+#undef LLVMFuzzerTestOneInput
 #endif
 
 #ifdef HAVE_XML_FUZZER
-  #define LLVMFuzzerInitialize fuzzXmlInit
-  #define LLVMFuzzerTestOneInput fuzzXml
-  #include "xml.c"
-  #undef LLVMFuzzerInitialize
-  #undef LLVMFuzzerTestOneInput
+int fuzzXmlInit(int *argc, char ***argv);
+int fuzzXml(const char *data, size_t size);
+#define LLVMFuzzerInitialize fuzzXmlInit
+#define LLVMFuzzerTestOneInput fuzzXml
+#include "xml.c"
+#undef LLVMFuzzerInitialize
+#undef LLVMFuzzerTestOneInput
 #endif
 
 #ifdef HAVE_XPATH_FUZZER
-  #define LLVMFuzzerInitialize fuzzXPathInit
-  #define LLVMFuzzerTestOneInput fuzzXPath
-  #include "xpath.c"
-  #undef LLVMFuzzerInitialize
-  #undef LLVMFuzzerTestOneInput
+int fuzzXPathInit(int *argc, char ***argv);
+int fuzzXPath(const char *data, size_t size);
+#define LLVMFuzzerInitialize fuzzXPathInit
+#define LLVMFuzzerTestOneInput fuzzXPath
+#include "xpath.c"
+#undef LLVMFuzzerInitialize
+#undef LLVMFuzzerTestOneInput
 #endif
 
 typedef int
@@ -71,7 +103,7 @@
 testFuzzer(initFunc init, fuzzFunc fuzz, const char *pattern) {
     glob_t globbuf;
     int ret = -1;
-    int i;
+    size_t i;
 
     if (glob(pattern, 0, NULL, &globbuf) != 0) {
         fprintf(stderr, "pattern %s matches no files\n", pattern);
@@ -105,7 +137,7 @@
 
 #ifdef HAVE_XML_FUZZER
 static int
-testEntityLoader() {
+testEntityLoader(void) {
     static const char data[] =
         "doc.xml\\\n"
         "<!DOCTYPE doc SYSTEM \"doc.dtd\">\n"
@@ -148,7 +180,7 @@
 #endif
 
 int
-main() {
+main(void) {
     int ret = 0;
 
 #ifdef HAVE_XML_FUZZER
@@ -168,7 +200,15 @@
         ret = 1;
 #endif
 #ifdef HAVE_URI_FUZZER
-    if (testFuzzer(NULL, fuzzUri, "seed/uri/*") != 0)
+    if (testFuzzer(fuzzUriInit, fuzzUri, "seed/uri/*") != 0)
+        ret = 1;
+#endif
+#ifdef HAVE_VALID_FUZZER
+    if (testFuzzer(fuzzValidInit, fuzzValid, "seed/valid/*") != 0)
+        ret = 1;
+#endif
+#ifdef HAVE_XINCLUDE_FUZZER
+    if (testFuzzer(fuzzXIncludeInit, fuzzXInclude, "seed/xinclude/*") != 0)
         ret = 1;
 #endif
 #ifdef HAVE_XML_FUZZER
diff --git a/fuzz/uri.c b/fuzz/uri.c
index 5e4c099..5bc279f 100644
--- a/fuzz/uri.c
+++ b/fuzz/uri.c
@@ -8,40 +8,54 @@
 #include "fuzz.h"
 
 int
+LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED,
+                     char ***argv ATTRIBUTE_UNUSED) {
+    xmlFuzzMemSetup();
+    xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc);
+
+    return 0;
+}
+
+int
 LLVMFuzzerTestOneInput(const char *data, size_t size) {
     xmlURIPtr uri;
-    char *str[2] = { NULL, NULL };
-    size_t numStrings;
+    size_t maxAlloc;
+    const char *str1, *str2;
+    char *copy;
 
     if (size > 10000)
         return(0);
 
-    numStrings = xmlFuzzExtractStrings(data, size, str, 2);
+    xmlFuzzDataInit(data, size);
+    maxAlloc = xmlFuzzReadInt(4) % (size * 8 + 1);
+    str1 = xmlFuzzReadString(NULL);
+    str2 = xmlFuzzReadString(NULL);
 
-    uri = xmlParseURI(str[0]);
+    xmlFuzzMemSetLimit(maxAlloc);
+
+    uri = xmlParseURI(str1);
     xmlFree(xmlSaveUri(uri));
     xmlFreeURI(uri);
 
-    uri = xmlParseURIRaw(str[0], 1);
+    uri = xmlParseURIRaw(str1, 1);
     xmlFree(xmlSaveUri(uri));
     xmlFreeURI(uri);
 
-    xmlFree(xmlURIUnescapeString(str[0], -1, NULL));
-    xmlFree(xmlURIEscape(BAD_CAST str[0]));
-    xmlFree(xmlCanonicPath(BAD_CAST str[0]));
-    xmlFree(xmlPathToURI(BAD_CAST str[0]));
+    xmlFree(xmlURIUnescapeString(str1, -1, NULL));
+    xmlFree(xmlURIEscape(BAD_CAST str1));
+    xmlFree(xmlCanonicPath(BAD_CAST str1));
+    xmlFree(xmlPathToURI(BAD_CAST str1));
 
-    if (numStrings >= 2) {
-        xmlFree(xmlBuildURI(BAD_CAST str[1], BAD_CAST str[0]));
-        xmlFree(xmlBuildRelativeURI(BAD_CAST str[1], BAD_CAST str[0]));
-        xmlFree(xmlURIEscapeStr(BAD_CAST str[0], BAD_CAST str[1]));
-    }
+    xmlFree(xmlBuildURI(BAD_CAST str2, BAD_CAST str1));
+    xmlFree(xmlBuildRelativeURI(BAD_CAST str2, BAD_CAST str1));
+    xmlFree(xmlURIEscapeStr(BAD_CAST str1, BAD_CAST str2));
 
-    /* Modifies string, so must come last. */
-    xmlNormalizeURIPath(str[0]);
+    copy = (char *) xmlCharStrdup(str1);
+    xmlNormalizeURIPath(copy);
+    xmlFree(copy);
 
-    xmlFree(str[0]);
-    xmlFree(str[1]);
+    xmlFuzzMemSetLimit(0);
+    xmlFuzzDataCleanup();
 
     return 0;
 }
diff --git a/fuzz/valid.c b/fuzz/valid.c
new file mode 100644
index 0000000..9d4a904
--- /dev/null
+++ b/fuzz/valid.c
@@ -0,0 +1,108 @@
+/*
+ * valid.c: a libFuzzer target to test DTD validation.
+ *
+ * See Copyright for the status of this software.
+ */
+
+#include <libxml/catalog.h>
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+#include <libxml/xmlerror.h>
+#include <libxml/xmlreader.h>
+#include "fuzz.h"
+
+int
+LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED,
+                     char ***argv ATTRIBUTE_UNUSED) {
+    xmlFuzzMemSetup();
+    xmlInitParser();
+#ifdef LIBXML_CATALOG_ENABLED
+    xmlInitializeCatalog();
+#endif
+    xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc);
+    xmlSetExternalEntityLoader(xmlFuzzEntityLoader);
+
+    return 0;
+}
+
+int
+LLVMFuzzerTestOneInput(const char *data, size_t size) {
+    static const size_t maxChunkSize = 128;
+    xmlDocPtr doc;
+    xmlParserCtxtPtr ctxt;
+    xmlValidCtxtPtr vctxt;
+    xmlTextReaderPtr reader;
+    const char *docBuffer, *docUrl;
+    size_t maxAlloc, docSize, consumed, chunkSize;
+    int opts;
+
+    xmlFuzzDataInit(data, size);
+    opts = (int) xmlFuzzReadInt(4);
+    opts &= ~XML_PARSE_XINCLUDE;
+    opts |= XML_PARSE_DTDVALID;
+    maxAlloc = xmlFuzzReadInt(4) % (size + 1);
+
+    xmlFuzzReadEntities();
+    docBuffer = xmlFuzzMainEntity(&docSize);
+    docUrl = xmlFuzzMainUrl();
+    if (docBuffer == NULL)
+        goto exit;
+
+    /* Pull parser */
+
+    xmlFuzzMemSetLimit(maxAlloc);
+    doc = xmlReadMemory(docBuffer, docSize, docUrl, NULL, opts);
+    xmlFreeDoc(doc);
+
+    /* Post validation */
+
+    xmlFuzzMemSetLimit(maxAlloc);
+    doc = xmlReadMemory(docBuffer, docSize, docUrl, NULL, opts & ~XML_PARSE_DTDVALID);
+    vctxt = xmlNewValidCtxt();
+    xmlValidateDocument(vctxt, doc);
+    xmlFreeValidCtxt(vctxt);
+    xmlFreeDoc(doc);
+
+    /* Push parser */
+
+    xmlFuzzMemSetLimit(maxAlloc);
+    ctxt = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0, docUrl);
+    if (ctxt == NULL)
+        goto exit;
+    xmlCtxtUseOptions(ctxt, opts);
+
+    for (consumed = 0; consumed < docSize; consumed += chunkSize) {
+        chunkSize = docSize - consumed;
+        if (chunkSize > maxChunkSize)
+            chunkSize = maxChunkSize;
+        xmlParseChunk(ctxt, docBuffer + consumed, chunkSize, 0);
+    }
+
+    xmlParseChunk(ctxt, NULL, 0, 1);
+    xmlFreeDoc(ctxt->myDoc);
+    xmlFreeParserCtxt(ctxt);
+
+    /* Reader */
+
+    xmlFuzzMemSetLimit(maxAlloc);
+    reader = xmlReaderForMemory(docBuffer, docSize, NULL, NULL, opts);
+    if (reader == NULL)
+        goto exit;
+    while (xmlTextReaderRead(reader) == 1) {
+        if (xmlTextReaderNodeType(reader) == XML_ELEMENT_NODE) {
+            int i, n = xmlTextReaderAttributeCount(reader);
+            for (i=0; i<n; i++) {
+                xmlTextReaderMoveToAttributeNo(reader, i);
+                while (xmlTextReaderReadAttributeValue(reader) == 1);
+            }
+        }
+    }
+    xmlFreeTextReader(reader);
+
+exit:
+    xmlFuzzMemSetLimit(0);
+    xmlFuzzDataCleanup();
+    xmlResetLastError();
+    return(0);
+}
+
diff --git a/fuzz/valid.options b/fuzz/valid.options
new file mode 100644
index 0000000..dda14e0
--- /dev/null
+++ b/fuzz/valid.options
@@ -0,0 +1,3 @@
+[libfuzzer]
+dict = xml.dict
+timeout = 20
diff --git a/fuzz/xinclude.c b/fuzz/xinclude.c
new file mode 100644
index 0000000..18de3f4
--- /dev/null
+++ b/fuzz/xinclude.c
@@ -0,0 +1,79 @@
+/*
+ * xinclude.c: a libFuzzer target to test the XInclude engine.
+ *
+ * See Copyright for the status of this software.
+ */
+
+#include <libxml/catalog.h>
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+#include <libxml/xmlerror.h>
+#include <libxml/xinclude.h>
+#include <libxml/xmlreader.h>
+#include "fuzz.h"
+
+int
+LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED,
+                     char ***argv ATTRIBUTE_UNUSED) {
+    xmlFuzzMemSetup();
+    xmlInitParser();
+#ifdef LIBXML_CATALOG_ENABLED
+    xmlInitializeCatalog();
+#endif
+    xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc);
+    xmlSetExternalEntityLoader(xmlFuzzEntityLoader);
+
+    return 0;
+}
+
+int
+LLVMFuzzerTestOneInput(const char *data, size_t size) {
+    xmlDocPtr doc;
+    xmlTextReaderPtr reader;
+    const char *docBuffer, *docUrl;
+    size_t maxAlloc, docSize;
+    int opts;
+
+    xmlFuzzDataInit(data, size);
+    opts = (int) xmlFuzzReadInt(4);
+    opts &= ~XML_PARSE_DTDVALID;
+    opts |= XML_PARSE_XINCLUDE;
+    maxAlloc = xmlFuzzReadInt(4) % (size + 1);
+
+    xmlFuzzReadEntities();
+    docBuffer = xmlFuzzMainEntity(&docSize);
+    docUrl = xmlFuzzMainUrl();
+    if (docBuffer == NULL)
+        goto exit;
+
+    /* Pull parser */
+
+    xmlFuzzMemSetLimit(maxAlloc);
+    doc = xmlReadMemory(docBuffer, docSize, docUrl, NULL, opts);
+    xmlXIncludeProcessFlags(doc, opts);
+    xmlFreeDoc(doc);
+
+    /* Reader */
+
+    xmlFuzzMemSetLimit(maxAlloc);
+    reader = xmlReaderForMemory(docBuffer, docSize, NULL, NULL, opts);
+    if (reader == NULL)
+        goto exit;
+    while (xmlTextReaderRead(reader) == 1) {
+        if (xmlTextReaderNodeType(reader) == XML_ELEMENT_NODE) {
+            int i, n = xmlTextReaderAttributeCount(reader);
+            for (i=0; i<n; i++) {
+                xmlTextReaderMoveToAttributeNo(reader, i);
+                while (xmlTextReaderReadAttributeValue(reader) == 1);
+            }
+        }
+    }
+    xmlFreeTextReader(reader);
+
+exit:
+    xmlFuzzMemSetLimit(0);
+    xmlFuzzDataCleanup();
+    xmlResetLastError();
+    return(0);
+}
+
diff --git a/fuzz/xinclude.options b/fuzz/xinclude.options
new file mode 100644
index 0000000..dda14e0
--- /dev/null
+++ b/fuzz/xinclude.options
@@ -0,0 +1,3 @@
+[libfuzzer]
+dict = xml.dict
+timeout = 20
diff --git a/fuzz/xml.c b/fuzz/xml.c
index 8b4c4ef..0ac765d 100644
--- a/fuzz/xml.c
+++ b/fuzz/xml.c
@@ -8,13 +8,13 @@
 #include <libxml/parser.h>
 #include <libxml/tree.h>
 #include <libxml/xmlerror.h>
-#include <libxml/xinclude.h>
 #include <libxml/xmlreader.h>
 #include "fuzz.h"
 
 int
 LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED,
                      char ***argv ATTRIBUTE_UNUSED) {
+    xmlFuzzMemSetup();
     xmlInitParser();
 #ifdef LIBXML_CATALOG_ENABLED
     xmlInitializeCatalog();
@@ -33,16 +33,13 @@
     xmlTextReaderPtr reader;
     xmlChar *out;
     const char *docBuffer, *docUrl;
-    size_t maxSize, docSize, consumed, chunkSize;
+    size_t maxAlloc, docSize, consumed, chunkSize;
     int opts, outSize;
 
     xmlFuzzDataInit(data, size);
-    opts = xmlFuzzReadInt();
-
-    /* Lower maximum size when processing entities for now. */
-    maxSize = opts & XML_PARSE_NOENT ? 50000 : 500000;
-    if (size > maxSize)
-        goto exit;
+    opts = (int) xmlFuzzReadInt(4);
+    opts &= ~XML_PARSE_XINCLUDE & ~XML_PARSE_DTDVALID;
+    maxAlloc = xmlFuzzReadInt(4) % (size + 1);
 
     xmlFuzzReadEntities();
     docBuffer = xmlFuzzMainEntity(&docSize);
@@ -52,9 +49,8 @@
 
     /* Pull parser */
 
+    xmlFuzzMemSetLimit(maxAlloc);
     doc = xmlReadMemory(docBuffer, docSize, docUrl, NULL, opts);
-    if (opts & XML_PARSE_XINCLUDE)
-        xmlXIncludeProcessFlags(doc, opts);
     /* Also test the serializer. */
     xmlDocDumpMemory(doc, &out, &outSize);
     xmlFree(out);
@@ -62,6 +58,7 @@
 
     /* Push parser */
 
+    xmlFuzzMemSetLimit(maxAlloc);
     ctxt = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0, docUrl);
     if (ctxt == NULL)
         goto exit;
@@ -75,13 +72,12 @@
     }
 
     xmlParseChunk(ctxt, NULL, 0, 1);
-    if (opts & XML_PARSE_XINCLUDE)
-        xmlXIncludeProcessFlags(ctxt->myDoc, opts);
     xmlFreeDoc(ctxt->myDoc);
     xmlFreeParserCtxt(ctxt);
 
     /* Reader */
 
+    xmlFuzzMemSetLimit(maxAlloc);
     reader = xmlReaderForMemory(docBuffer, docSize, NULL, NULL, opts);
     if (reader == NULL)
         goto exit;
@@ -97,6 +93,7 @@
     xmlFreeTextReader(reader);
 
 exit:
+    xmlFuzzMemSetLimit(0);
     xmlFuzzDataCleanup();
     xmlResetLastError();
     return(0);
diff --git a/fuzz/xpath.c b/fuzz/xpath.c
index 47652bd..a5eb70b 100644
--- a/fuzz/xpath.c
+++ b/fuzz/xpath.c
@@ -11,6 +11,7 @@
 int
 LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED,
                      char ***argv ATTRIBUTE_UNUSED) {
+    xmlFuzzMemSetup();
     xmlInitParser();
     xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc);
 
@@ -21,28 +22,36 @@
 LLVMFuzzerTestOneInput(const char *data, size_t size) {
     xmlDocPtr doc;
     const char *expr, *xml;
-    size_t exprSize, xmlSize;
+    size_t maxAlloc, exprSize, xmlSize;
 
     if (size > 10000)
         return(0);
 
     xmlFuzzDataInit(data, size);
 
+    maxAlloc = xmlFuzzReadInt(4) % (size + 1);
     expr = xmlFuzzReadString(&exprSize);
     xml = xmlFuzzReadString(&xmlSize);
 
     /* Recovery mode allows more input to be fuzzed. */
     doc = xmlReadMemory(xml, xmlSize, NULL, NULL, XML_PARSE_RECOVER);
     if (doc != NULL) {
-        xmlXPathContextPtr xpctxt = xmlXPathNewContext(doc);
+        xmlXPathContextPtr xpctxt;
 
-        /* Operation limit to avoid timeout */
-        xpctxt->opLimit = 500000;
+        xmlFuzzMemSetLimit(maxAlloc);
 
-        xmlXPathFreeObject(xmlXPtrEval(BAD_CAST expr, xpctxt));
-        xmlXPathFreeContext(xpctxt);
+        xpctxt = xmlXPathNewContext(doc);
+        if (xpctxt != NULL) {
+            /* Operation limit to avoid timeout */
+            xpctxt->opLimit = 500000;
+
+            xmlXPathFreeObject(xmlXPtrEval(BAD_CAST expr, xpctxt));
+            xmlXPathFreeContext(xpctxt);
+        }
+
+        xmlFuzzMemSetLimit(0);
+        xmlFreeDoc(doc);
     }
-    xmlFreeDoc(doc);
 
     xmlFuzzDataCleanup();
     xmlResetLastError();
diff --git a/genChRanges.py b/genChRanges.py
index 200fb20..4e229d1 100755
--- a/genChRanges.py
+++ b/genChRanges.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # Portions of this script have been (shamelessly) stolen from the
 # prior work of Daniel Veillard (genUnicode.py)
@@ -16,7 +16,6 @@
 #
 
 import sys
-import string
 import time
 
 #
@@ -28,21 +27,21 @@
     ret = []
     pos = 0
     while pos < len(lst):
-	try:		# index generates exception if not present
-	    s = lst[pos:].index(1)	# look for start of next range
-	except:
-	    break			# if no more, finished
-	pos += s			# pointer to start of possible range
-	try:
-	    e = lst[pos:].index(0)	# look for end of range
-	    e += pos
-	except:				# if no end, set to end of list
-	    e = len(lst)
-	ret.append((pos, e-1))		# append range tuple to list
-	pos = e + 1			# ready to check for next range
+        try:            # index generates exception if not present
+            s = lst[pos:].index(1)      # look for start of next range
+        except:
+            break                       # if no more, finished
+        pos += s                        # pointer to start of possible range
+        try:
+            e = lst[pos:].index(0)      # look for end of range
+            e += pos
+        except:                         # if no end, set to end of list
+            e = len(lst)
+        ret.append((pos, e-1))          # append range tuple to list
+        pos = e + 1                     # ready to check for next range
     return ret
 
-sources = "chvalid.def"			# input filename
+sources = "chvalid.def"                 # input filename
 
 # minTableSize gives the minimum number of ranges which must be present
 # before a 256-byte lookup table is produced.  If there are less than this
@@ -57,13 +56,13 @@
 try:
     defines = open("chvalid.def", "r")
 except:
-    print "Missing chvalid.def, aborting ..."
+    print("Missing chvalid.def, aborting ...")
     sys.exit(1)
 
 #
 # The lines in the .def file have three types:-
 #   name:   Defines a new function block
-#   ur:	    Defines individual or ranges of unicode values
+#   ur:     Defines individual or ranges of unicode values
 #   end:    Indicates the end of the function block
 #
 # These lines are processed below.
@@ -72,111 +71,111 @@
     # ignore blank lines, or lines beginning with '#'
     if line[0] == '#':
         continue
-    line = string.strip(line)
+    line = line.strip()
     if line == '':
         continue
     # split line into space-separated fields, then split on type
     try:
-        fields = string.split(line, ' ')
-	#
-	# name line:
-	#   validate any previous function block already ended
-	#   validate this function not already defined
-	#   initialize an entry in the function dicitonary
-	#	including a mask table with no values yet defined
-	#
-	if fields[0] == 'name':
-	    name = fields[1]
-	    if state != 0:
-		print "'name' %s found before previous name" \
-		      "completed" % (fields[1])
-		continue
-	    state = 1
-	    if Functs.has_key(name):
-		print "name '%s' already present - may give" \
-		      " wrong results" % (name)
-	    else:
-		# dict entry with two list elements (chdata, rangedata)
-		Functs[name] = [ [], [] ]
-		for v in range(256):
-		    Functs[name][0].append(0)
-	#
-	# end line:
-	#   validate there was a preceding function name line
-	#   set state to show no current function active
-	#
-	elif fields[0] == 'end':
-	    if state == 0:
-		print "'end' found outside of function block"
-		continue
-	    state = 0
+        fields = line.split(' ')
+        #
+        # name line:
+        #   validate any previous function block already ended
+        #   validate this function not already defined
+        #   initialize an entry in the function dicitonary
+        #       including a mask table with no values yet defined
+        #
+        if fields[0] == 'name':
+            name = fields[1]
+            if state != 0:
+                print("'name' %s found before previous name" \
+                      "completed" % (fields[1]))
+                continue
+            state = 1
+            if name in Functs:
+                print("name '%s' already present - may give" \
+                      " wrong results" % (name))
+            else:
+                # dict entry with two list elements (chdata, rangedata)
+                Functs[name] = [ [], [] ]
+                for v in range(256):
+                    Functs[name][0].append(0)
+        #
+        # end line:
+        #   validate there was a preceding function name line
+        #   set state to show no current function active
+        #
+        elif fields[0] == 'end':
+            if state == 0:
+                print("'end' found outside of function block")
+                continue
+            state = 0
 
-	#
-	# ur line:
-	#   validate function has been defined
-	#   process remaining fields on the line, which may be either
-	#	individual unicode values or ranges of values
-	#
-	elif fields[0] == 'ur':
-	    if state != 1:
-		raise ValidationError, "'ur' found outside of 'name' block"
-	    for el in fields[1:]:
-		pos = string.find(el, '..')
-		# pos <=0 means not a range, so must be individual value
-		if pos <= 0:
-		    # cheap handling of hex or decimal values
-		    if el[0:2] == '0x':
-		        value = int(el[2:],16)
-		    elif el[0] == "'":
-			value = ord(el[1])
-		    else:
-			value = int(el)
-		    if ((value < 0) | (value > 0x1fffff)):
-			raise ValidationError, 'Illegal value (%s) in ch for'\
-				' name %s' % (el,name)
-		    # for ur we have only ranges (makes things simpler),
-		    # so convert val to range
-		    currange = (value, value)
-		# pos > 0 means this is a range, so isolate/validate
-		# the interval
-		else:
-		    # split the range into it's first-val, last-val
-		    (first, last) = string.split(el, "..")
-		    # convert values from text into binary
-		    if first[0:2] == '0x':	
-			start = int(first[2:],16)
-		    elif first[0] == "'":
-			start = ord(first[1])
-		    else:
-			start = int(first)
-		    if last[0:2] == '0x':
-			end = int(last[2:],16)
-		    elif last[0] == "'":
-			end = ord(last[1])
-		    else:
-			end = int(last)
-		    if (start < 0) | (end > 0x1fffff) | (start > end):
-			raise ValidationError, "Invalid range '%s'" % el
-		    currange = (start, end)
-		# common path - 'currange' has the range, now take care of it
-		# We split on single-byte values vs. multibyte
-		if currange[1] < 0x100:	# single-byte
-		    for ch in range(currange[0],currange[1]+1):
-			# validate that value not previously defined
-			if Functs[name][0][ch]:
-			    msg = "Duplicate ch value '%s' for name '%s'" % (el, name)
-			    raise ValidationError, msg
-			Functs[name][0][ch] = 1
-		else:			# multi-byte
-		    if currange in Functs[name][1]:
-			raise ValidationError, "range already defined in" \
-				" function"
-		    else:
-			Functs[name][1].append(currange)
+        #
+        # ur line:
+        #   validate function has been defined
+        #   process remaining fields on the line, which may be either
+        #       individual unicode values or ranges of values
+        #
+        elif fields[0] == 'ur':
+            if state != 1:
+                raise Exception("'ur' found outside of 'name' block")
+            for el in fields[1:]:
+                pos = el.find('..')
+                # pos <=0 means not a range, so must be individual value
+                if pos <= 0:
+                    # cheap handling of hex or decimal values
+                    if el[0:2] == '0x':
+                        value = int(el[2:],16)
+                    elif el[0] == "'":
+                        value = ord(el[1])
+                    else:
+                        value = int(el)
+                    if ((value < 0) | (value > 0x1fffff)):
+                        raise Exception('Illegal value (%s) in ch for'\
+                                ' name %s' % (el,name))
+                    # for ur we have only ranges (makes things simpler),
+                    # so convert val to range
+                    currange = (value, value)
+                # pos > 0 means this is a range, so isolate/validate
+                # the interval
+                else:
+                    # split the range into it's first-val, last-val
+                    (first, last) = el.split("..")
+                    # convert values from text into binary
+                    if first[0:2] == '0x':
+                        start = int(first[2:],16)
+                    elif first[0] == "'":
+                        start = ord(first[1])
+                    else:
+                        start = int(first)
+                    if last[0:2] == '0x':
+                        end = int(last[2:],16)
+                    elif last[0] == "'":
+                        end = ord(last[1])
+                    else:
+                        end = int(last)
+                    if (start < 0) | (end > 0x1fffff) | (start > end):
+                        raise Exception("Invalid range '%s'" % el)
+                    currange = (start, end)
+                # common path - 'currange' has the range, now take care of it
+                # We split on single-byte values vs. multibyte
+                if currange[1] < 0x100: # single-byte
+                    for ch in range(currange[0],currange[1]+1):
+                        # validate that value not previously defined
+                        if Functs[name][0][ch]:
+                            msg = "Duplicate ch value '%s' for name '%s'" % (el, name)
+                            raise Exception(msg)
+                        Functs[name][0][ch] = 1
+                else:                   # multi-byte
+                    if currange in Functs[name][1]:
+                        raise Exception("range already defined in" \
+                                " function")
+                    else:
+                        Functs[name][1].append(currange)
 
     except:
-	print "Failed to process line: %s" % (line)
-	raise
+        print("Failed to process line: %s" % (line))
+        raise
 #
 # At this point, the entire definition file has been processed.  Now we
 # enter the output phase, where we generate the two files chvalid.c and'
@@ -194,13 +193,13 @@
 try:
     header = open("include/libxml/chvalid.h", "w")
 except:
-    print "Failed to open include/libxml/chvalid.h"
+    print("Failed to open include/libxml/chvalid.h")
     sys.exit(1)
 
 try:
     output = open("chvalid.c", "w")
 except:
-    print "Failed to open chvalid.c"
+    print("Failed to open chvalid.c")
     sys.exit(1)
 
 date = time.asctime(time.localtime(time.time()))
@@ -236,37 +235,37 @@
 typedef struct _xmlChSRange xmlChSRange;
 typedef xmlChSRange *xmlChSRangePtr;
 struct _xmlChSRange {
-    unsigned short	low;
-    unsigned short	high;
+    unsigned short\tlow;
+    unsigned short\thigh;
 };
 
 typedef struct _xmlChLRange xmlChLRange;
 typedef xmlChLRange *xmlChLRangePtr;
 struct _xmlChLRange {
-    unsigned int	low;
-    unsigned int	high;
+    unsigned int\tlow;
+    unsigned int\thigh;
 };
 
 typedef struct _xmlChRangeGroup xmlChRangeGroup;
 typedef xmlChRangeGroup *xmlChRangeGroupPtr;
 struct _xmlChRangeGroup {
-    int			nbShortRange;
-    int			nbLongRange;
-    const xmlChSRange	*shortRange;	/* points to an array of ranges */
-    const xmlChLRange	*longRange;
+    int\t\t\tnbShortRange;
+    int\t\t\tnbLongRange;
+    const xmlChSRange\t*shortRange;\t/* points to an array of ranges */
+    const xmlChLRange\t*longRange;
 };
 
 /**
  * Range checking routine
  */
-XMLPUBFUN int XMLCALL
-		xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);
+XMLPUBFUN int
+\t\txmlCharInRange(unsigned int val, const xmlChRangeGroup *group);
 
 """ % (date, sources));
 output.write(
 """/*
- * chvalid.c:	this module implements the character range
- *		validation APIs
+ * chvalid.c:\tthis module implements the character range
+ *\t\tvalidation APIs
  *
  * This file is automatically generated from the cvs source
  * definition files using the genChRanges.py Python script
@@ -280,6 +279,8 @@
 #include "libxml.h"
 #include <libxml/chvalid.h>
 
+#include <stddef.h>
+
 /*
  * The initial tables ({func_name}_tab) are used to validate whether a
  * single-byte character is within the specified group.  Each table
@@ -299,8 +300,7 @@
 # compares, otherwise we output a 256-byte table and a macro to use it.
 #
 
-fkeys = Functs.keys()	# Dictionary of all defined functions
-fkeys.sort()		# Put some order to our output
+fkeys = sorted(Functs.keys())
 
 for f in fkeys:
 
@@ -308,12 +308,12 @@
 # If the total number of such ranges is less than minTableSize, we generate
 # an inline macro for direct comparisons; if greater, we generate a lookup
 # table.
-    if max(Functs[f][0]) > 0:	# only check if at least one entry
+    if max(Functs[f][0]) > 0:   # only check if at least one entry
         rangeTable = makeRange(Functs[f][0])
-	numRanges = len(rangeTable)
-	if numRanges >= minTableSize:	# table is worthwhile
-	    header.write("XMLPUBVAR const unsigned char %s_tab[256];\n" % f)
-	    header.write("""
+        numRanges = len(rangeTable)
+        if numRanges >= minTableSize:   # table is worthwhile
+            header.write("XMLPUBVAR const unsigned char %s_tab[256];\n" % f)
+            header.write("""
 /**
  * %s_ch:
  * @c: char to validate
@@ -321,29 +321,29 @@
  * Automatically generated by genChRanges.py
  */
 """ % f)
-	    header.write("#define %s_ch(c)\t(%s_tab[(c)])\n" % (f, f))
+            header.write("#define %s_ch(c)\t(%s_tab[(c)])\n" % (f, f))
 
-	    # write the constant data to the code file
-	    output.write("const unsigned char %s_tab[256] = {\n" % f)
-	    pline = "   "
-	    for n in range(255):
-		pline += " 0x%02x," % Functs[f][0][n]
-		if len(pline) > 72:
-		    output.write(pline + "\n")
-		    pline = "   "
-	    output.write(pline + " 0x%02x };\n\n" % Functs[f][0][255])
+            # write the constant data to the code file
+            output.write("const unsigned char %s_tab[256] = {\n" % f)
+            pline = "   "
+            for n in range(255):
+                pline += " 0x%02x," % Functs[f][0][n]
+                if len(pline) > 72:
+                    output.write(pline + "\n")
+                    pline = "   "
+            output.write(pline + " 0x%02x };\n\n" % Functs[f][0][255])
 
-	else:		# inline check is used
-	    # first another little optimisation - if space is present,
-	    # put it at the front of the list so it is checked first
-	    try:
-		ix = rangeTable.remove((0x20, 0x20))
-		rangeTable.insert(0, (0x20, 0x20))
-	    except:
-		pass
-	    firstFlag = 1
-	    
-	    header.write("""
+        else:           # inline check is used
+            # first another little optimisation - if space is present,
+            # put it at the front of the list so it is checked first
+            try:
+                ix = rangeTable.remove((0x20, 0x20))
+                rangeTable.insert(0, (0x20, 0x20))
+            except:
+                pass
+            firstFlag = 1
+
+            header.write("""
 /**
  * %s_ch:
  * @c: char to validate
@@ -351,32 +351,32 @@
  * Automatically generated by genChRanges.py
  */
 """ % f)
-	    # okay, I'm tired of the messy lineup - let's automate it!
-	    pline = "#define %s_ch(c)" % f
-	    # 'ntab' is number of tabs needed to position to col. 33 from name end
-	    ntab = 4 - (len(pline)) / 8
-	    if ntab < 0:
-		ntab = 0
-	    just = ""
-	    for i in range(ntab):
-		just += "\t"
-	    pline = pline + just + "("
-	    for rg in rangeTable:
-		if not firstFlag:
-		    pline += " || \\\n\t\t\t\t "
-		else:
-		    firstFlag = 0
-		if rg[0] == rg[1]:		# single value - check equal
-		    pline += "((c) == 0x%x)" % rg[0]
-		else:				# value range
-		# since we are doing char, also change range ending in 0xff
-		    if rg[1] != 0xff:
-		        pline += "((0x%x <= (c)) &&" % rg[0]
-		        pline += " ((c) <= 0x%x))" % rg[1]
-		    else:
-		        pline += " (0x%x <= (c))" % rg[0]
-	    pline += ")\n"
-	    header.write(pline)
+            # okay, I'm tired of the messy lineup - let's automate it!
+            pline = "#define %s_ch(c)" % f
+            # 'ntab' is number of tabs needed to position to col. 33 from name end
+            ntab = 4 - (len(pline)) // 8
+            if ntab < 0:
+                ntab = 0
+            just = ""
+            for i in range(ntab):
+                just += "\t"
+            pline = pline + just + "("
+            for rg in rangeTable:
+                if not firstFlag:
+                    pline += " || \\\n\t\t\t\t "
+                else:
+                    firstFlag = 0
+                if rg[0] == rg[1]:              # single value - check equal
+                    pline += "((c) == 0x%x)" % rg[0]
+                else:                           # value range
+                # since we are doing char, also change range ending in 0xff
+                    if rg[1] != 0xff:
+                        pline += "((0x%x <= (c)) &&" % rg[0]
+                        pline += " ((c) <= 0x%x))" % rg[1]
+                    else:
+                        pline += " (0x%x <= (c))" % rg[0]
+            pline += ")\n"
+            header.write(pline)
 
     header.write("""
 /**
@@ -387,44 +387,44 @@
  */
 """ % f)
     pline = "#define %sQ(c)" % f
-    ntab = 4 - (len(pline)) / 8
+    ntab = 4 - (len(pline)) // 8
     if ntab < 0:
-	ntab = 0
+        ntab = 0
     just = ""
     for i in range(ntab):
-	just += "\t"
+        just += "\t"
     header.write(pline + just + "(((c) < 0x100) ? \\\n\t\t\t\t ")
     if max(Functs[f][0]) > 0:
-	header.write("%s_ch((c)) :" % f)
+        header.write("%s_ch((c)) :" % f)
     else:
-	header.write("0 :")
+        header.write("0 :")
 
     # if no ranges defined, value invalid if >= 0x100
     numRanges = len(Functs[f][1])
     if numRanges == 0:
-	header.write(" 0)\n\n")
+        header.write(" 0)\n\n")
     else:
-	if numRanges >= minTableSize:
-	    header.write(" \\\n\t\t\t\t xmlCharInRange((c), &%sGroup))\n\n"  % f)
-	else:		# if < minTableSize, generate inline code
-	    firstFlag = 1
-	    for rg in Functs[f][1]:
-		if not firstFlag:
-		    pline += " || \\\n\t\t\t\t "
-		else:
-		    firstFlag = 0
-		    pline = "\\\n\t\t\t\t("
-		if rg[0] == rg[1]:		# single value - check equal
-		    pline += "((c) == 0x%x)" % rg[0]
-		else:				# value range
-		    pline += "((0x%x <= (c)) &&" % rg[0]
-		    pline += " ((c) <= 0x%x))" % rg[1]
-	    pline += "))\n\n"
-	    header.write(pline)
+        if numRanges >= minTableSize:
+            header.write(" \\\n\t\t\t\t xmlCharInRange((c), &%sGroup))\n\n"  % f)
+        else:           # if < minTableSize, generate inline code
+            firstFlag = 1
+            for rg in Functs[f][1]:
+                if not firstFlag:
+                    pline += " || \\\n\t\t\t\t "
+                else:
+                    firstFlag = 0
+                    pline = "\\\n\t\t\t\t("
+                if rg[0] == rg[1]:              # single value - check equal
+                    pline += "((c) == 0x%x)" % rg[0]
+                else:                           # value range
+                    pline += "((0x%x <= (c)) &&" % rg[0]
+                    pline += " ((c) <= 0x%x))" % rg[1]
+            pline += "))\n\n"
+            header.write(pline)
 
 
     if len(Functs[f][1]) > 0:
-	header.write("XMLPUBVAR const xmlChRangeGroup %sGroup;\n" % f)
+        header.write("XMLPUBVAR const xmlChRangeGroup %sGroup;\n" % f)
 
 
 #
@@ -432,47 +432,49 @@
 #
 
 for f in fkeys:
-    if len(Functs[f][1]) > 0:	# only generate if unicode ranges present
-	rangeTable = Functs[f][1]
-	rangeTable.sort()	# ascending tuple sequence
-	numShort = 0
-	numLong  = 0
-	for rg in rangeTable:
-	    if rg[1] < 0x10000:	# if short value
-		if numShort == 0:	# first occurrence
-		    pline = "static const xmlChSRange %s_srng[] = { " % f
-		else:
-		    pline += ", "
-		numShort += 1
-		if len(pline) > 60:
-		    output.write(pline + "\n")
-		    pline = "    "
-		pline += "{0x%x, 0x%x}" % (rg[0], rg[1])
-	    else:		# if long value
-		if numLong == 0:	# first occurrence
-		    if numShort > 0:	# if there were shorts, finish them off
-			output.write(pline + "};\n")
-		    pline = "static const xmlChLRange %s_lrng[] = { " % f
-		else:
-		    pline += ", "
-		numLong += 1
-		if len(pline) > 60:
-		    output.write(pline + "\n")
-		    pline = "    "
-		pline += "{0x%x, 0x%x}" % (rg[0], rg[1])
-	output.write(pline + "};\n")	# finish off last group
+    if len(Functs[f][1]) > 0:   # only generate if unicode ranges present
+        rangeTable = Functs[f][1]
+        rangeTable.sort()       # ascending tuple sequence
+        numShort = 0
+        numLong  = 0
+        for rg in rangeTable:
+            if rg[1] < 0x10000: # if short value
+                if numShort == 0:       # first occurrence
+                    pline = "static const xmlChSRange %s_srng[] = {" % f
+                else:
+                    pline += ","
+                numShort += 1
+                if len(pline) > 60:
+                    output.write(pline + "\n")
+                    pline = "    "
+                else:
+                    pline += " "
+                pline += "{0x%x, 0x%x}" % (rg[0], rg[1])
+            else:               # if long value
+                if numLong == 0:        # first occurrence
+                    if numShort > 0:    # if there were shorts, finish them off
+                        output.write(pline + "};\n")
+                    pline = "static const xmlChLRange %s_lrng[] = { " % f
+                else:
+                    pline += ", "
+                numLong += 1
+                if len(pline) > 60:
+                    output.write(pline + "\n")
+                    pline = "    "
+                pline += "{0x%x, 0x%x}" % (rg[0], rg[1])
+        output.write(pline + "};\n")    # finish off last group
 
-	pline = "const xmlChRangeGroup %sGroup =\n\t{%d, %d, " % (f, numShort, numLong)
-	if numShort > 0:
-	    pline += "%s_srng" % f
-	else:
-	    pline += "(xmlChSRangePtr)0"
-	if numLong > 0:
-	    pline += ", %s_lrng" % f
-	else:
-	    pline += ", (xmlChLRangePtr)0"
-	
-	output.write(pline + "};\n\n")
+        pline = "const xmlChRangeGroup %sGroup =\n\t{%d, %d, " % (f, numShort, numLong)
+        if numShort > 0:
+            pline += "%s_srng" % f
+        else:
+            pline += "(xmlChSRangePtr)0"
+        if numLong > 0:
+            pline += ", %s_lrng" % f
+        else:
+            pline += ", (xmlChLRangePtr)0"
+
+        output.write(pline + "};\n\n")
 
 output.write(
 """
@@ -493,43 +495,43 @@
     const xmlChLRange *lptr;
 
     if (rptr == NULL) return(0);
-    if (val < 0x10000) {	/* is val in 'short' or 'long'  array? */
-	if (rptr->nbShortRange == 0)
-	    return 0;
-	low = 0;
-	high = rptr->nbShortRange - 1;
-	sptr = rptr->shortRange;
-	while (low <= high) {
-	    mid = (low + high) / 2;
-	    if ((unsigned short) val < sptr[mid].low) {
-		high = mid - 1;
-	    } else {
-	        if ((unsigned short) val > sptr[mid].high) {
-		    low = mid + 1;
-		} else {
-		    return 1;
-		}
-	    }
-	}
+    if (val < 0x10000) {\t/* is val in 'short' or 'long'  array? */
+\tif (rptr->nbShortRange == 0)
+\t    return 0;
+\tlow = 0;
+\thigh = rptr->nbShortRange - 1;
+\tsptr = rptr->shortRange;
+\twhile (low <= high) {
+\t    mid = (low + high) / 2;
+\t    if ((unsigned short) val < sptr[mid].low) {
+\t\thigh = mid - 1;
+\t    } else {
+\t\tif ((unsigned short) val > sptr[mid].high) {
+\t\t    low = mid + 1;
+\t\t} else {
+\t\t    return 1;
+\t\t}
+\t    }
+\t}
     } else {
-	if (rptr->nbLongRange == 0) {
-	    return 0;
-	}
-	low = 0;
-	high = rptr->nbLongRange - 1;
-	lptr = rptr->longRange;
-	while (low <= high) {
-	    mid = (low + high) / 2;
-	    if (val < lptr[mid].low) {
-		high = mid - 1;
-	    } else {
-	        if (val > lptr[mid].high) {
-		    low = mid + 1;
-		} else {
-		    return 1;
-		}
-	    }
-	}
+\tif (rptr->nbLongRange == 0) {
+\t    return 0;
+\t}
+\tlow = 0;
+\thigh = rptr->nbLongRange - 1;
+\tlptr = rptr->longRange;
+\twhile (low <= high) {
+\t    mid = (low + high) / 2;
+\t    if (val < lptr[mid].low) {
+\t\thigh = mid - 1;
+\t    } else {
+\t\tif (val > lptr[mid].high) {
+\t\t    low = mid + 1;
+\t\t} else {
+\t\t    return 1;
+\t\t}
+\t    }
+\t}
     }
     return 0;
 }
@@ -557,7 +559,7 @@
  */
 """)
     output.write("int\n%s(unsigned int ch) {\n    return(%sQ(ch));\n}\n\n" % (f,f))
-    header.write("XMLPUBFUN int XMLCALL\n\t\t%s(unsigned int ch);\n" % f);
+    header.write("XMLPUBFUN int\n\t\t%s(unsigned int ch);\n" % f);
 #
 # Run complete - write trailers and close the output files
 #
diff --git a/genUnicode.py b/genUnicode.py
index f431201..c6e13a8 100755
--- a/genUnicode.py
+++ b/genUnicode.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # Original script modified in November 2003 to take advantage of
 # the character-validation range routines, and updated to the
@@ -31,7 +31,7 @@
 # number, inline comparisons are generated
 minTableSize = 8
 
-(blockfile, catfile) = string.split(sources)
+(blockfile, catfile) = sources.split()
 
 
 #
@@ -43,23 +43,23 @@
 try:
     blocks = open(blockfile, "r")
 except:
-    print "Missing %s, aborting ..." % blockfile
+    print("Missing %s, aborting ..." % blockfile)
     sys.exit(1)
 
 for line in blocks.readlines():
     if line[0] == '#':
         continue
-    line = string.strip(line)
+    line = line.strip()
     if line == '':
         continue
     try:
-        fields = string.split(line, ';')
-        range = string.strip(fields[0])
-        (start, end) = string.split(range, "..")
-        name = string.strip(fields[1])
-        name = string.replace(name, ' ', '')
+        fields = line.split(';')
+        range = fields[0].strip()
+        (start, end) = range.split("..")
+        name = fields[1].strip()
+        name = name.replace(' ', '')
     except:
-        print "Failed to process line: %s" % (line)
+        print("Failed to process line: %s" % (line))
         continue
     start = "0x" + start
     end = "0x" + end
@@ -68,19 +68,19 @@
     except:
         BlockNames[name] = [(start, end)]
 blocks.close()
-print "Parsed %d blocks descriptions" % (len(BlockNames.keys()))
+print("Parsed %d blocks descriptions" % (len(BlockNames.keys())))
 
 for block in blockAliases:
-    alias = string.split(block,':')
-    alist = string.split(alias[1],',')
+    alias = block.split(':')
+    alist = alias[1].split(',')
     for comp in alist:
-        if BlockNames.has_key(comp):
+        if comp in BlockNames:
             if alias[0] not in BlockNames:
                 BlockNames[alias[0]] = []
             for r in BlockNames[comp]:
                 BlockNames[alias[0]].append(r)
         else:
-            print "Alias %s: %s not in Blocks" % (alias[0], comp)
+            print("Alias %s: %s not in Blocks" % (alias[0], comp))
             continue
 
 #
@@ -96,7 +96,7 @@
 try:
     data = open(catfile, "r")
 except:
-    print "Missing %s, aborting ..." % catfile
+    print("Missing %s, aborting ..." % catfile)
     sys.exit(1)
 
 nbchar = 0;
@@ -104,12 +104,12 @@
 for line in data.readlines():
     if line[0] == '#':
         continue
-    line = string.strip(line)
+    line = line.strip()
     if line == '':
         continue
     try:
-        fields = string.split(line, ';')
-        point = string.strip(fields[0])
+        fields = line.split(';')
+        point = fields[0].strip()
         value = 0
         while point != '':
             value = value * 16
@@ -122,7 +122,7 @@
             point = point[1:]
         name = fields[2]
     except:
-        print "Failed to process line: %s" % (line)
+        print("Failed to process line: %s" % (line))
         continue
     
     nbchar = nbchar + 1
@@ -133,7 +133,7 @@
         try:
             Categories[name] = [value]
         except:
-            print "Failed to process line: %s" % (line)
+            print("Failed to process line: %s" % (line))
     # update "general category" name
     try:
         Categories[name[0]].append(value)
@@ -141,10 +141,10 @@
         try:
             Categories[name[0]] = [value]
         except:
-            print "Failed to process line: %s" % (line)
+            print("Failed to process line: %s" % (line))
 
 blocks.close()
-print "Parsed %d char generating %d categories" % (nbchar, len(Categories.keys()))
+print("Parsed %d char generating %d categories" % (nbchar, len(Categories.keys())))
 
 #
 # The data is now all read.  Time to process it into a more useful form.
@@ -184,11 +184,9 @@
 # Assure all data is in alphabetic order, since we will be doing binary
 # searches on the tables.
 #
-bkeys = BlockNames.keys()
-bkeys.sort()
+bkeys = sorted(BlockNames.keys())
 
-ckeys = Categories.keys()
-ckeys.sort()
+ckeys = sorted(Categories.keys())
 
 #
 # Generate the resulting files
@@ -196,13 +194,13 @@
 try:
     header = open("include/libxml/xmlunicode.h", "w")
 except:
-    print "Failed to open include/libxml/xmlunicode.h"
+    print("Failed to open include/libxml/xmlunicode.h")
     sys.exit(1)
 
 try:
     output = open("xmlunicode.c", "w")
 except:
-    print "Failed to open xmlunicode.c"
+    print("Failed to open xmlunicode.c")
     sys.exit(1)
 
 date = time.asctime(time.localtime(time.time()))
@@ -272,14 +270,14 @@
 } xmlUnicodeNameTable;
 
 
-static xmlIntFunc *xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname);
+static xmlIntFunc *xmlUnicodeLookup(const xmlUnicodeNameTable *tptr, const char *tname);
 
 static const xmlUnicodeRange xmlUnicodeBlocks[] = {
 """ % (webpage, date, sources));
 
 flag = 0
 for block in bkeys:
-    name = string.replace(block, '-', '')
+    name = block.replace('-', '')
     if flag:
         output.write(',\n')
     else:
@@ -287,7 +285,7 @@
     output.write('  {"%s", xmlUCSIs%s}' % (block, name))
 output.write('};\n\n')
 
-output.write('static xmlUnicodeRange xmlUnicodeCats[] = {\n')
+output.write('static const xmlUnicodeRange xmlUnicodeCats[] = {\n')
 flag = 0;
 for name in ckeys:
     if flag:
@@ -315,7 +313,7 @@
           pline = "static const xmlChSRange xml%sS[] = {" % name
           sptr = "xml%sS" % name
         else:
-          pline += ", "
+          pline += ","
         numshort += 1
       else:
         if numlong == 0:
@@ -324,19 +322,21 @@
           pline = "static const xmlChLRange xml%sL[] = {" % name
           lptr = "xml%sL" % name
         else:
-          pline += ", "
+          pline += ","
         numlong += 1
       if len(pline) > 60:
         output.write(pline + "\n")
         pline = "    "
+      elif pline[-1:] == ",":
+        pline += " "
       pline += "{%s, %s}" % (hex(low), hex(high))
-    output.write(pline + " };\nstatic xmlChRangeGroup xml%sG = {%s,%s,%s,%s};\n\n"
+    output.write(pline + " };\nstatic const xmlChRangeGroup xml%sG = {%s,%s,%s,%s};\n\n"
          % (name, numshort, numlong, sptr, lptr))
 
 
 output.write(
-"""static xmlUnicodeNameTable xmlUnicodeBlockTbl = {xmlUnicodeBlocks, %s};
-static xmlUnicodeNameTable xmlUnicodeCatTbl = {xmlUnicodeCats, %s};
+"""static const xmlUnicodeNameTable xmlUnicodeBlockTbl = {xmlUnicodeBlocks, %s};
+static const xmlUnicodeNameTable xmlUnicodeCatTbl = {xmlUnicodeCats, %s};
 
 /**
  * xmlUnicodeLookup:
@@ -348,9 +348,9 @@
  * Returns pointer to range function if found, otherwise NULL
  */
 static xmlIntFunc
-*xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname) {
+*xmlUnicodeLookup(const xmlUnicodeNameTable *tptr, const char *tname) {
     int low, high, mid, cmp;
-    xmlUnicodeRange *sptr;
+    const xmlUnicodeRange *sptr;
 
     if ((tptr == NULL) || (tname == NULL)) return(NULL);
 
@@ -366,14 +366,14 @@
 	else
 	    low = mid + 1;
     }
-    return (NULL);    
+    return (NULL);
 }
 
 """ % (len(BlockNames), len(Categories)) )
 
 for block in bkeys:
-    name = string.replace(block, '-', '')
-    header.write("XMLPUBFUN int XMLCALL xmlUCSIs%s\t(int code);\n" % name)
+    name = block.replace('-', '')
+    header.write("XMLPUBFUN int xmlUCSIs%s\t(int code);\n" % name)
     output.write("/**\n * xmlUCSIs%s:\n * @code: UCS code point\n" % (name))
     output.write(" *\n * Check whether the character is part of %s UCS Block\n"%
                  (block))
@@ -388,7 +388,7 @@
         output.write("((code >= %s) && (code <= %s))" % (start, end))
     output.write(");\n}\n\n")
 
-header.write("\nXMLPUBFUN int XMLCALL xmlUCSIsBlock\t(int code, const char *block);\n\n")
+header.write("\nXMLPUBFUN int xmlUCSIsBlock\t(int code, const char *block);\n\n")
 output.write(
 """/**
  * xmlUCSIsBlock:
@@ -413,7 +413,7 @@
 
 for name in ckeys:
     ranges = Categories[name]
-    header.write("XMLPUBFUN int XMLCALL xmlUCSIsCat%s\t(int code);\n" % name)
+    header.write("XMLPUBFUN int xmlUCSIsCat%s\t(int code);\n" % name)
     output.write("/**\n * xmlUCSIsCat%s:\n * @code: UCS code point\n" % (name))
     output.write(" *\n * Check whether the character is part of %s UCS Category\n"%
                  (name))
@@ -438,7 +438,7 @@
                          hex(begin), hex(end)))
     output.write(");\n}\n\n")
 
-header.write("\nXMLPUBFUN int XMLCALL xmlUCSIsCat\t(int code, const char *cat);\n")
+header.write("\nXMLPUBFUN int xmlUCSIsCat\t(int code, const char *cat);\n")
 output.write(
 """/**
  * xmlUCSIsCat:
diff --git a/gentest.py b/gentest.py
index 88f88f1..40d963b 100755
--- a/gentest.py
+++ b/gentest.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # generate a tester program for the API
 #
@@ -8,7 +8,7 @@
 try:
     import libxml2
 except:
-    print "libxml2 python bindings not available, skipping testapi.c generation"
+    print("libxml2 python bindings not available, skipping testapi.c generation")
     sys.exit(0)
 
 if len(sys.argv) > 1:
@@ -21,8 +21,6 @@
 #
 skipped_modules = [ "SAX", "xlink", "threads", "globals",
   "xmlmemory", "xmlversion", "xmlexports",
-  #deprecated
-  "DOCBparser",
 ]
 
 #
@@ -43,7 +41,6 @@
     "xmlregexp" : "LIBXML_REGEXP_ENABLED",
     "xmlautomata" : "LIBXML_AUTOMATA_ENABLED",
     "xmlsave" : "LIBXML_OUTPUT_ENABLED",
-    "DOCBparser" : "LIBXML_DOCB_ENABLED",
     "xmlmodule" : "LIBXML_MODULES_ENABLED",
     "pattern" : "LIBXML_PATTERN_ENABLED",
     "schematron" : "LIBXML_SCHEMATRON_ENABLED",
@@ -94,7 +91,6 @@
     "xmlSprintfElementContent": "LIBXML_OUTPUT_ENABLED",
     "xmlValidGetPotentialChildren" : "LIBXML_VALID_ENABLED",
     "xmlValidGetValidElements" : "LIBXML_VALID_ENABLED",
-    "docbDefaultSAXHandlerInit" : "LIBXML_DOCB_ENABLED",
     "xmlTextReaderPreservePattern" : "LIBXML_PATTERN_ENABLED",
 }
 
@@ -159,6 +155,13 @@
 # Legacy
 "xmlCleanupPredefinedEntities", "xmlInitializePredefinedEntities",
 "xmlSetFeature", "xmlGetFeature", "xmlGetFeaturesList",
+# location sets
+"xmlXPtrLocationSetAdd",
+"xmlXPtrLocationSetCreate",
+"xmlXPtrLocationSetDel",
+"xmlXPtrLocationSetMerge",
+"xmlXPtrLocationSetRemove",
+"xmlXPtrWrapLocationSet",
 ]
 
 #
@@ -225,7 +228,7 @@
           if (old != NULL) {
               xmlUnlinkNode(old);
               xmlFreeNode(old) ; old = NULL ; }
-	  ret_val = NULL;""",
+\t  ret_val = NULL;""",
    "xmlTextMerge": 
        """if ((first != NULL) && (first->type != XML_TEXT_NODE)) {
               xmlUnlinkNode(second);
@@ -234,7 +237,7 @@
        """if ((ret_val != NULL) && (ret_val != ncname) &&
               (ret_val != prefix) && (ret_val != memory))
               xmlFree(ret_val);
-	  ret_val = NULL;""",
+\t  ret_val = NULL;""",
    "xmlNewDocElementContent":
        """xmlFreeDocElementContent(doc, ret_val); ret_val = NULL;""",
    "xmlDictReference": "xmlDictFree(dict);",
@@ -258,7 +261,6 @@
    "xmlParseChunk": "if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}",
    "xmlParseExtParsedEnt": "if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}",
    "xmlDOMWrapAdoptNode": "if ((node != NULL) && (node->parent == NULL)) {xmlUnlinkNode(node);xmlFreeNode(node);node = NULL;}",
-   "xmlBufferSetAllocationScheme": "if ((buf != NULL) && (scheme == XML_BUFFER_ALLOC_IMMUTABLE) && (buf->content != NULL) && (buf->content != static_buf_content)) { xmlFree(buf->content); buf->content = NULL;}"
 }
 
 modules = []
@@ -266,29 +268,29 @@
 def is_skipped_module(name):
     for mod in skipped_modules:
         if mod == name:
-	    return 1
+            return 1
     return 0
 
 def is_skipped_function(name):
     for fun in skipped_functions:
         if fun == name:
-	    return 1
+            return 1
     # Do not test destructors
-    if string.find(name, 'Free') != -1:
+    if name.find('Free') != -1:
         return 1
     return 0
 
 def is_skipped_memcheck(name):
     for fun in skipped_memcheck:
         if fun == name:
-	    return 1
+            return 1
     return 0
 
 missing_types = {}
 def add_missing_type(name, func):
     try:
         list = missing_types[name]
-	list.append(func)
+        list.append(func)
     except:
         missing_types[name] = [func]
 
@@ -308,7 +310,7 @@
     missing_functions_nr = missing_functions_nr + 1
     try:
         list = missing_functions[module]
-	list.append(name)
+        list.append(name)
     except:
         missing_functions[module] = [name]
 
@@ -317,45 +319,45 @@
 #
 
 def type_convert(str, name, info, module, function, pos):
-#    res = string.replace(str, "    ", " ")
-#    res = string.replace(str, "   ", " ")
-#    res = string.replace(str, "  ", " ")
-    res = string.replace(str, " *", "_ptr")
-#    res = string.replace(str, "*", "_ptr")
-    res = string.replace(res, " ", "_")
+#    res = str.replace("    ", " ")
+#    res = str.replace("   ", " ")
+#    res = str.replace("  ", " ")
+    res = str.replace(" *", "_ptr")
+#    res = str.replace("*", "_ptr")
+    res = res.replace(" ", "_")
     if res == 'const_char_ptr':
-        if string.find(name, "file") != -1 or \
-           string.find(name, "uri") != -1 or \
-           string.find(name, "URI") != -1 or \
-           string.find(info, "filename") != -1 or \
-           string.find(info, "URI") != -1 or \
-           string.find(info, "URL") != -1:
-	    if string.find(function, "Save") != -1 or \
-	       string.find(function, "Create") != -1 or \
-	       string.find(function, "Write") != -1 or \
-	       string.find(function, "Fetch") != -1:
-	        return('fileoutput')
-	    return('filepath')
+        if name.find("file") != -1 or \
+           name.find("uri") != -1 or \
+           name.find("URI") != -1 or \
+           info.find("filename") != -1 or \
+           info.find("URI") != -1 or \
+           info.find("URL") != -1:
+            if function.find("Save") != -1 or \
+               function.find("Create") != -1 or \
+               function.find("Write") != -1 or \
+               function.find("Fetch") != -1:
+                return('fileoutput')
+            return('filepath')
     if res == 'void_ptr':
         if module == 'nanoftp' and name == 'ctx':
-	    return('xmlNanoFTPCtxtPtr')
+            return('xmlNanoFTPCtxtPtr')
         if function == 'xmlNanoFTPNewCtxt' or \
-	   function == 'xmlNanoFTPConnectTo' or \
-	   function == 'xmlNanoFTPOpen':
-	    return('xmlNanoFTPCtxtPtr')
+           function == 'xmlNanoFTPConnectTo' or \
+           function == 'xmlNanoFTPOpen':
+            return('xmlNanoFTPCtxtPtr')
         if module == 'nanohttp' and name == 'ctx':
-	    return('xmlNanoHTTPCtxtPtr')
-	if function == 'xmlNanoHTTPMethod' or \
-	   function == 'xmlNanoHTTPMethodRedir' or \
-	   function == 'xmlNanoHTTPOpen' or \
-	   function == 'xmlNanoHTTPOpenRedir':
-	    return('xmlNanoHTTPCtxtPtr');
+            return('xmlNanoHTTPCtxtPtr')
+        if function == 'xmlNanoHTTPMethod' or \
+           function == 'xmlNanoHTTPMethodRedir' or \
+           function == 'xmlNanoHTTPOpen' or \
+           function == 'xmlNanoHTTPOpenRedir':
+            return('xmlNanoHTTPCtxtPtr');
         if function == 'xmlIOHTTPOpen':
-	    return('xmlNanoHTTPCtxtPtr')
-	if string.find(name, "data") != -1:
-	    return('userdata')
-	if string.find(name, "user") != -1:
-	    return('userdata')
+            return('xmlNanoHTTPCtxtPtr')
+        if name.find("data") != -1:
+            return('userdata')
+        if name.find("user") != -1:
+            return('userdata')
     if res == 'xmlDoc_ptr':
         res = 'xmlDocPtr'
     if res == 'xmlNode_ptr':
@@ -364,18 +366,18 @@
         res = 'xmlDictPtr'
     if res == 'xmlNodePtr' and pos != 0:
         if (function == 'xmlAddChild' and pos == 2) or \
-	   (function == 'xmlAddChildList' and pos == 2) or \
+           (function == 'xmlAddChildList' and pos == 2) or \
            (function == 'xmlAddNextSibling' and pos == 2) or \
            (function == 'xmlAddSibling' and pos == 2) or \
            (function == 'xmlDocSetRootElement' and pos == 2) or \
            (function == 'xmlReplaceNode' and pos == 2) or \
            (function == 'xmlTextMerge') or \
-	   (function == 'xmlAddPrevSibling' and pos == 2):
-	    return('xmlNodePtr_in');
+           (function == 'xmlAddPrevSibling' and pos == 2):
+            return('xmlNodePtr_in');
     if res == 'const xmlBufferPtr':
         res = 'xmlBufferPtr'
     if res == 'xmlChar_ptr' and name == 'name' and \
-       string.find(function, "EatName") != -1:
+       function.find("EatName") != -1:
         return('eaten_name')
     if res == 'void_ptr*':
         res = 'void_ptr_ptr'
@@ -391,7 +393,7 @@
         res = 'debug_FILE_ptr';
     if res == 'int' and name == 'options':
         if module == 'parser' or module == 'xmlreader':
-	    res = 'parseroptions'
+            res = 'parseroptions'
 
     return res
 
@@ -400,38 +402,35 @@
 def is_known_param_type(name):
     for type in known_param_types:
         if type == name:
-	    return 1
+            return 1
     return name[-3:] == 'Ptr' or name[-4:] == '_ptr'
 
 def generate_param_type(name, rtype):
     global test
     for type in known_param_types:
         if type == name:
-	    return
+            return
     for type in generated_param_types:
         if type == name:
-	    return
+            return
 
     if name[-3:] == 'Ptr' or name[-4:] == '_ptr':
         if rtype[0:6] == 'const ':
-	    crtype = rtype[6:]
-	else:
-	    crtype = rtype
+            crtype = rtype[6:]
+        else:
+            crtype = rtype
 
         define = 0
-	if modules_defines.has_key(module):
-	    test.write("#ifdef %s\n" % (modules_defines[module]))
-	    define = 1
+        if module in modules_defines:
+            test.write("#ifdef %s\n" % (modules_defines[module]))
+            define = 1
         test.write("""
 #define gen_nb_%s 1
-static %s gen_%s(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_%s(int no ATTRIBUTE_UNUSED, %s val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-""" % (name, crtype, name, name, rtype))
+#define gen_%s(no, nr) NULL
+#define des_%s(no, val, nr)
+""" % (name, name, name))
         if define == 1:
-	    test.write("#endif\n\n")
+            test.write("#endif\n\n")
         add_generated_param_type(name)
 
 #
@@ -443,7 +442,7 @@
 def is_known_return_type(name):
     for type in known_return_types:
         if type == name:
-	    return 1
+            return 1
     return 0
 
 #
@@ -469,7 +468,7 @@
         try:
             os.system("rm testapi.c; mv testapi.c.new testapi.c")
         except:
-	    os.system("mv testapi.c.new testapi.c")
+            os.system("mv testapi.c.new testapi.c")
         print("Updated testapi.c")
     else:
         print("Generated testapi.c is identical")
@@ -479,17 +478,17 @@
     if line == "/* CUT HERE: everything below that line is generated */\n":
         break;
     if line[0:15] == "#define gen_nb_":
-        type = string.split(line[15:])[0]
-	known_param_types.append(type)
+        type = line[15:].split()[0]
+        known_param_types.append(type)
     if line[0:19] == "static void desret_":
-        type = string.split(line[19:], '(')[0]
-	known_return_types.append(type)
+        type = line[19:].split('(')[0]
+        known_return_types.append(type)
     test.write(line)
     line = input.readline()
 input.close()
 
 if line == "":
-    print "Could not find the CUT marker in testapi.c skipping generation"
+    print("Could not find the CUT marker in testapi.c skipping generation")
     test.close()
     sys.exit(0)
 
@@ -503,7 +502,7 @@
 #
 doc = libxml2.readFile(srcPref + 'doc/libxml2-api.xml', None, 0)
 if doc == None:
-    print "Failed to load doc/libxml2-api.xml"
+    print("Failed to load doc/libxml2-api.xml")
     sys.exit(1)
 ctxt = doc.xpathNewContext()
 
@@ -517,9 +516,9 @@
     mod = arg.xpathEval('string(../@file)')
     func = arg.xpathEval('string(../@name)')
     if (mod not in skipped_modules) and (func not in skipped_functions):
-	type = arg.xpathEval('string(@type)')
-	if not argtypes.has_key(type):
-	    argtypes[type] = func
+        type = arg.xpathEval('string(@type)')
+        if type not in argtypes:
+            argtypes[type] = func
 
 # similarly for return types
 rettypes = {}
@@ -529,8 +528,8 @@
     func = ret.xpathEval('string(../@name)')
     if (mod not in skipped_modules) and (func not in skipped_functions):
         type = ret.xpathEval('string(@type)')
-	if not rettypes.has_key(type):
-	    rettypes[type] = func
+        if type not in rettypes:
+            rettypes[type] = func
 
 #
 # Generate constructors and return type handling for all enums
@@ -547,49 +546,49 @@
         continue;
     define = 0
 
-    if argtypes.has_key(name) and is_known_param_type(name) == 0:
-	values = ctxt.xpathEval("/api/symbols/enum[@type='%s']" % name)
-	i = 0
-	vals = []
-	for value in values:
-	    vname = value.xpathEval('string(@name)')
-	    if vname == None:
-		continue;
-	    i = i + 1
-	    if i >= 5:
-		break;
-	    vals.append(vname)
-	if vals == []:
-	    print "Didn't find any value for enum %s" % (name)
-	    continue
-	if modules_defines.has_key(module):
-	    test.write("#ifdef %s\n" % (modules_defines[module]))
-	    define = 1
-	test.write("#define gen_nb_%s %d\n" % (name, len(vals)))
-	test.write("""static %s gen_%s(int no, int nr ATTRIBUTE_UNUSED) {\n""" %
-	           (name, name))
-	i = 1
-	for value in vals:
-	    test.write("    if (no == %d) return(%s);\n" % (i, value))
-	    i = i + 1
-	test.write("""    return(0);
+    if (name in argtypes) and is_known_param_type(name) == 0:
+        values = ctxt.xpathEval("/api/symbols/enum[@type='%s']" % name)
+        i = 0
+        vals = []
+        for value in values:
+            vname = value.xpathEval('string(@name)')
+            if vname == None:
+                continue;
+            i = i + 1
+            if i >= 5:
+                break;
+            vals.append(vname)
+        if vals == []:
+            print("Didn't find any value for enum %s" % (name))
+            continue
+        if module in modules_defines:
+            test.write("#ifdef %s\n" % (modules_defines[module]))
+            define = 1
+        test.write("#define gen_nb_%s %d\n" % (name, len(vals)))
+        test.write("""static %s gen_%s(int no, int nr ATTRIBUTE_UNUSED) {\n""" %
+                   (name, name))
+        i = 1
+        for value in vals:
+            test.write("    if (no == %d) return(%s);\n" % (i, value))
+            i = i + 1
+        test.write("""    return(0);
 }
 
 static void des_%s(int no ATTRIBUTE_UNUSED, %s val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 }
 
 """ % (name, name));
-	known_param_types.append(name)
+        known_param_types.append(name)
 
     if (is_known_return_type(name) == 0) and (name in rettypes):
-	if define == 0 and modules_defines.has_key(module):
-	    test.write("#ifdef %s\n" % (modules_defines[module]))
-	    define = 1
+        if define == 0 and (module in modules_defines):
+            test.write("#ifdef %s\n" % (modules_defines[module]))
+            define = 1
         test.write("""static void desret_%s(%s val ATTRIBUTE_UNUSED) {
 }
 
 """ % (name, name))
-	known_return_types.append(name)
+        known_return_types.append(name)
     if define == 1:
         test.write("#endif\n\n")
 
@@ -613,9 +612,9 @@
     # do not test deprecated APIs
     #
     desc = file.xpathEval('string(description)')
-    if string.find(desc, 'DEPRECATED') != -1:
-        print "Skipping deprecated interface %s" % name
-	continue;
+    if desc.find('DEPRECATED') != -1:
+        print("Skipping deprecated interface %s" % name)
+        continue;
 
     test.write("#include <libxml/%s.h>\n" % name)
     modules.append(name)
@@ -677,7 +676,7 @@
     # and store the information for the generation
     #
     try:
-	args = node.xpathEval("arg")
+        args = node.xpathEval("arg")
     except:
         args = []
     t_args = []
@@ -685,37 +684,37 @@
     for arg in args:
         n = n + 1
         rtype = arg.xpathEval("string(@type)")
-	if rtype == 'void':
-	    break;
-	info = arg.xpathEval("string(@info)")
-	nam = arg.xpathEval("string(@name)")
+        if rtype == 'void':
+            break;
+        info = arg.xpathEval("string(@info)")
+        nam = arg.xpathEval("string(@name)")
         type = type_convert(rtype, nam, info, module, name, n)
-	if is_known_param_type(type) == 0:
-	    add_missing_type(type, name);
-	    no_gen = 1
+        if is_known_param_type(type) == 0:
+            add_missing_type(type, name);
+            no_gen = 1
         if (type[-3:] == 'Ptr' or type[-4:] == '_ptr') and \
-	    rtype[0:6] == 'const ':
-	    crtype = rtype[6:]
-	else:
-	    crtype = rtype
-	t_args.append((nam, type, rtype, crtype, info))
+            rtype[0:6] == 'const ':
+            crtype = rtype[6:]
+        else:
+            crtype = rtype
+        t_args.append((nam, type, rtype, crtype, info))
     
     try:
-	rets = node.xpathEval("return")
+        rets = node.xpathEval("return")
     except:
         rets = []
     t_ret = None
     for ret in rets:
         rtype = ret.xpathEval("string(@type)")
-	info = ret.xpathEval("string(@info)")
+        info = ret.xpathEval("string(@info)")
         type = type_convert(rtype, 'return', info, module, name, 0)
-	if rtype == 'void':
-	    break
-	if is_known_return_type(type) == 0:
-	    add_missing_type(type, name);
-	    no_gen = 1
-	t_ret = (type, rtype, info)
-	break
+        if rtype == 'void':
+            break
+        if is_known_return_type(type) == 0:
+            add_missing_type(type, name);
+            no_gen = 1
+        t_ret = (type, rtype, info)
+        break
 
     if no_gen == 0:
         for t_arg in t_args:
@@ -731,7 +730,7 @@
 
     if no_gen == 1:
         add_missing_functions(name, module)
-	test.write("""
+        test.write("""
     /* missing type support */
     return(test_ret);
 }
@@ -740,22 +739,22 @@
         return
 
     try:
-	conds = node.xpathEval("cond")
-	for cond in conds:
-	    test.write("#if %s\n" % (cond.get_content()))
-	    nb_cond = nb_cond + 1
+        conds = node.xpathEval("cond")
+        for cond in conds:
+            test.write("#if %s\n" % (cond.get_content()))
+            nb_cond = nb_cond + 1
     except:
         pass
 
     define = 0
-    if function_defines.has_key(name):
+    if name in function_defines:
         test.write("#ifdef %s\n" % (function_defines[name]))
-	define = 1
+        define = 1
     
     # Declare the memory usage counter
     no_mem = is_skipped_memcheck(name)
     if no_mem == 0:
-	test.write("    int mem_base;\n");
+        test.write("    int mem_base;\n");
 
     # Declare the return value
     if t_ret != None:
@@ -764,29 +763,29 @@
     # Declare the arguments
     for arg in t_args:
         (nam, type, rtype, crtype, info) = arg;
-	# add declaration
-	test.write("    %s %s; /* %s */\n" % (crtype, nam, info))
-	test.write("    int n_%s;\n" % (nam))
+        # add declaration
+        test.write("    %s %s; /* %s */\n" % (crtype, nam, info))
+        test.write("    int n_%s;\n" % (nam))
     test.write("\n")
 
     # Cascade loop on of each argument list of values
     for arg in t_args:
         (nam, type, rtype, crtype, info) = arg;
-	#
-	test.write("    for (n_%s = 0;n_%s < gen_nb_%s;n_%s++) {\n" % (
-	           nam, nam, type, nam))
+        #
+        test.write("    for (n_%s = 0;n_%s < gen_nb_%s;n_%s++) {\n" % (
+                   nam, nam, type, nam))
     
     # log the memory usage
     if no_mem == 0:
-	test.write("        mem_base = xmlMemBlocks();\n");
+        test.write("        mem_base = xmlMemBlocks();\n");
 
     # prepare the call
     i = 0;
     for arg in t_args:
         (nam, type, rtype, crtype, info) = arg;
-	#
-	test.write("        %s = gen_%s(n_%s, %d);\n" % (nam, type, nam, i))
-	i = i + 1;
+        #
+        test.write("        %s = gen_%s(n_%s, %d);\n" % (nam, type, nam, i))
+        i = i + 1;
 
     # add checks to avoid out-of-bounds array access
     i = 0;
@@ -795,51 +794,51 @@
         # assume that "size", "len", and "start" parameters apply to either
         # the nearest preceding or following char pointer
         if type == "int" and (nam == "size" or nam == "len" or nam == "start"):
-            for j in range(i - 1, -1, -1) + range(i + 1, len(t_args)):
+            for j in (list(range(i - 1, -1, -1)) + list(range(i + 1, len(t_args)))):
                 (bnam, btype) = t_args[j][:2]
                 if btype == "const_char_ptr" or btype == "const_xmlChar_ptr":
                     test.write(
                         "        if ((%s != NULL) &&\n"
-                        "            (%s > (int) strlen((const char *) %s) + 1))\n"
-                        "            continue;\n"
-                        % (bnam, nam, bnam))
+                        "            (%s > xmlStrlen(BAD_CAST %s)))\n"
+                        "            %s = 0;\n"
+                        % (bnam, nam, bnam, nam))
                     break
-	i = i + 1;
+        i = i + 1;
 
     # do the call, and clanup the result
-    if extra_pre_call.has_key(name):
-	test.write("        %s\n"% (extra_pre_call[name]))
+    if name in extra_pre_call:
+        test.write("        %s\n"% (extra_pre_call[name]))
     if t_ret != None:
-	test.write("\n        ret_val = %s(" % (name))
-	need = 0
-	for arg in t_args:
-	    (nam, type, rtype, crtype, info) = arg
-	    if need:
-	        test.write(", ")
-	    else:
-	        need = 1
-	    if rtype != crtype:
-	        test.write("(%s)" % rtype)
-	    test.write("%s" % nam);
-	test.write(");\n")
-	if extra_post_call.has_key(name):
-	    test.write("        %s\n"% (extra_post_call[name]))
-	test.write("        desret_%s(ret_val);\n" % t_ret[0])
+        test.write("\n        ret_val = %s(" % (name))
+        need = 0
+        for arg in t_args:
+            (nam, type, rtype, crtype, info) = arg
+            if need:
+                test.write(", ")
+            else:
+                need = 1
+            if rtype != crtype:
+                test.write("(%s)" % rtype)
+            test.write("%s" % nam);
+        test.write(");\n")
+        if name in extra_post_call:
+            test.write("        %s\n"% (extra_post_call[name]))
+        test.write("        desret_%s(ret_val);\n" % t_ret[0])
     else:
-	test.write("\n        %s(" % (name));
-	need = 0;
-	for arg in t_args:
-	    (nam, type, rtype, crtype, info) = arg;
-	    if need:
-	        test.write(", ")
-	    else:
-	        need = 1
-	    if rtype != crtype:
-	        test.write("(%s)" % rtype)
-	    test.write("%s" % nam)
-	test.write(");\n")
-	if extra_post_call.has_key(name):
-	    test.write("        %s\n"% (extra_post_call[name]))
+        test.write("\n        %s(" % (name));
+        need = 0;
+        for arg in t_args:
+            (nam, type, rtype, crtype, info) = arg;
+            if need:
+                test.write(", ")
+            else:
+                need = 1
+            if rtype != crtype:
+                test.write("(%s)" % rtype)
+            test.write("%s" % nam)
+        test.write(");\n")
+        if name in extra_post_call:
+            test.write("        %s\n"% (extra_post_call[name]))
 
     test.write("        call_tests++;\n");
 
@@ -847,32 +846,32 @@
     i = 0;
     for arg in t_args:
         (nam, type, rtype, crtype, info) = arg;
-	# This is a hack to prevent generating a destructor for the
-	# 'input' argument in xmlTextReaderSetup.  There should be
-	# a better, more generic way to do this!
-	if string.find(info, 'destroy') == -1:
-	    test.write("        des_%s(n_%s, " % (type, nam))
-	    if rtype != crtype:
-	        test.write("(%s)" % rtype)
-	    test.write("%s, %d);\n" % (nam, i))
-	i = i + 1;
+        # This is a hack to prevent generating a destructor for the
+        # 'input' argument in xmlTextReaderSetup.  There should be
+        # a better, more generic way to do this!
+        if info.find('destroy') == -1:
+            test.write("        des_%s(n_%s, " % (type, nam))
+            if rtype != crtype:
+                test.write("(%s)" % rtype)
+            test.write("%s, %d);\n" % (nam, i))
+        i = i + 1;
 
     test.write("        xmlResetLastError();\n");
     # Check the memory usage
     if no_mem == 0:
-	test.write("""        if (mem_base != xmlMemBlocks()) {
+        test.write("""        if (mem_base != xmlMemBlocks()) {
             printf("Leak of %%d blocks found in %s",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
+\t           xmlMemBlocks() - mem_base);
+\t    test_ret++;
 """ % (name));
-	for arg in t_args:
-	    (nam, type, rtype, crtype, info) = arg;
-	    test.write("""            printf(" %%d", n_%s);\n""" % (nam))
-	test.write("""            printf("\\n");\n""")
-	test.write("        }\n")
+        for arg in t_args:
+            (nam, type, rtype, crtype, info) = arg;
+            test.write("""            printf(" %%d", n_%s);\n""" % (nam))
+        test.write("""            printf("\\n");\n""")
+        test.write("        }\n")
 
     for arg in t_args:
-	test.write("    }\n")
+        test.write("    }\n")
 
     test.write("    function_tests++;\n")
     #
@@ -880,7 +879,7 @@
     #
     while nb_cond > 0:
         test.write("#endif\n")
-	nb_cond = nb_cond -1
+        nb_cond = nb_cond -1
     if define == 1:
         test.write("#endif\n")
 
@@ -898,10 +897,10 @@
 for module in modules:
     # gather all the functions exported by that module
     try:
-	functions = ctxt.xpathEval("/api/symbols/function[@file='%s']" % (module))
+        functions = ctxt.xpathEval("/api/symbols/function[@file='%s']" % (module))
     except:
-        print "Failed to gather functions from module %s" % (module)
-	continue;
+        print("Failed to gather functions from module %s" % (module))
+        continue;
 
     # iterate over all functions in the module generating the test
     i = 0
@@ -921,14 +920,14 @@
     # iterate over all functions in the module generating the call
     for function in functions:
         name = function.xpathEval('string(@name)')
-	if is_skipped_function(name):
-	    continue
-	test.write("    test_ret += test_%s();\n" % (name))
+        if is_skipped_function(name):
+            continue
+        test.write("    test_ret += test_%s();\n" % (name))
 
     # footer
     test.write("""
     if (test_ret != 0)
-	printf("Module %s: %%d errors\\n", test_ret);
+\tprintf("Module %s: %%d errors\\n", test_ret);
     return(test_ret);
 }
 """ % (module))
@@ -946,7 +945,7 @@
 }
 """);
 
-print "Generated test for %d modules and %d functions" %(len(modules), nb_tests)
+print("Generated test for %d modules and %d functions" %(len(modules), nb_tests))
 
 compare_and_save()
 
@@ -958,11 +957,8 @@
     n = len(missing_types[missing])
     missing_list.append((n, missing))
 
-def compare_missing(a, b):
-    return b[0] - a[0]
-
-missing_list.sort(compare_missing)
-print "Missing support for %d functions and %d types see missing.lst" % (missing_functions_nr, len(missing_list))
+missing_list.sort(key=lambda a: a[0])
+print("Missing support for %d functions and %d types see missing.lst" % (missing_functions_nr, len(missing_list)))
 lst = open("missing.lst", "w")
 lst.write("Missing support for %d types" % (len(missing_list)))
 lst.write("\n")
@@ -972,9 +968,9 @@
     for n in missing_types[miss[1]]:
         i = i + 1
         if i > 5:
-	    lst.write(" ...")
-	    break
-	lst.write(" %s" % (n))
+            lst.write(" ...")
+            break
+        lst.write(" %s" % (n))
     lst.write("\n")
 lst.write("\n")
 lst.write("\n")
diff --git a/globals.c b/globals.c
index 94f78dd..c3e10a7 100644
--- a/globals.c
+++ b/globals.c
@@ -14,15 +14,18 @@
 #define IN_LIBXML
 #include "libxml.h"
 
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 #include <string.h>
 
 #include <libxml/globals.h>
 #include <libxml/xmlmemory.h>
 #include <libxml/threads.h>
 
+#include "private/error.h"
+#include "private/globals.h"
+#include "private/threads.h"
+#include "private/tree.h"
+
 /* #define DEBUG_GLOBALS */
 
 /*
@@ -37,31 +40,24 @@
 /*
  * Mutex to protect "ForNewThreads" variables
  */
-static xmlMutexPtr xmlThrDefMutex = NULL;
+static xmlMutex xmlThrDefMutex;
 
 /**
  * xmlInitGlobals:
  *
- * Additional initialisation for multi-threading
+ * DEPRECATED: Alias for xmlInitParser.
  */
-void xmlInitGlobals(void)
-{
-    if (xmlThrDefMutex == NULL)
-        xmlThrDefMutex = xmlNewMutex();
+void xmlInitGlobals(void) {
+    xmlInitParser();
 }
 
 /**
- * xmlCleanupGlobals:
+ * xmlInitGlobalsInternal:
  *
- * Additional cleanup for multi-threading
+ * Additional initialisation for multi-threading
  */
-void xmlCleanupGlobals(void)
-{
-    if (xmlThrDefMutex != NULL) {
-	xmlFreeMutex(xmlThrDefMutex);
-	xmlThrDefMutex = NULL;
-    }
-    __xmlGlobalInitMutexDestroy();
+void xmlInitGlobalsInternal(void) {
+    xmlInitMutex(&xmlThrDefMutex);
 }
 
 /************************************************************************
@@ -150,7 +146,6 @@
 #include <libxml/globals.h>
 #include <libxml/SAX.h>
 
-#undef	docbDefaultSAXHandler
 #undef	htmlDefaultSAXHandler
 #undef	oldXMLWDcompatibility
 #undef	xmlBufferAllocScheme
@@ -189,6 +184,8 @@
 /**
  * xmlBufferAllocScheme:
  *
+ * DEPRECATED: Don't use.
+ *
  * Global setting, default allocation policy for buffers, default is
  * XML_BUFFER_ALLOC_EXACT
  */
@@ -197,6 +194,8 @@
 /**
  * xmlDefaultBufferSize:
  *
+ * DEPRECATED: Don't use.
+ *
  * Global setting, default buffer size. Default value is BASE_BUFFER_SIZE
  */
 int xmlDefaultBufferSize = BASE_BUFFER_SIZE;
@@ -215,6 +214,8 @@
 /**
  * xmlParserDebugEntities:
  *
+ * DEPRECATED: Don't use
+ *
  * Global setting, asking the parser to print out debugging information.
  * while handling entities.
  * Disabled by default
@@ -224,6 +225,8 @@
 /**
  * xmlDoValidityCheckingDefaultValue:
  *
+ * DEPRECATED: Use the modern options API with XML_PARSE_DTDVALID.
+ *
  * Global setting, indicate that the parser should work in validating mode.
  * Disabled by default.
  */
@@ -232,7 +235,9 @@
 /**
  * xmlGetWarningsDefaultValue:
  *
- * Global setting, indicate that the parser should provide warnings.
+ * DEPRECATED: Don't use
+ *
+ * Global setting, indicate that the DTD validation should provide warnings.
  * Activated by default.
  */
 int xmlGetWarningsDefaultValue = 1;
@@ -240,6 +245,8 @@
 /**
  * xmlLoadExtDtdDefaultValue:
  *
+ * DEPRECATED: Use the modern options API with XML_PARSE_DTDLOAD.
+ *
  * Global setting, indicate that the parser should load DTD while not
  * validating.
  * Disabled by default.
@@ -249,6 +256,8 @@
 /**
  * xmlPedanticParserDefaultValue:
  *
+ * DEPRECATED: Use the modern options API with XML_PARSE_PEDANTIC.
+ *
  * Global setting, indicate that the parser be pedantic
  * Disabled by default.
  */
@@ -257,6 +266,8 @@
 /**
  * xmlLineNumbersDefaultValue:
  *
+ * DEPRECATED: The modern options API always enables line numbers.
+ *
  * Global setting, indicate that the parser should store the line number
  * in the content field of elements in the DOM tree.
  * Disabled by default since this may not be safe for old classes of
@@ -267,6 +278,8 @@
 /**
  * xmlKeepBlanksDefaultValue:
  *
+ * DEPRECATED: Use the modern options API with XML_PARSE_NOBLANKS.
+ *
  * Global setting, indicate that the parser should keep all blanks
  * nodes found in the content
  * Activated by default, this is actually needed to have the parser
@@ -278,6 +291,8 @@
 /**
  * xmlSubstituteEntitiesDefaultValue:
  *
+ * DEPRECATED: Use the modern options API with XML_PARSE_NOENT.
+ *
  * Global setting, indicate that the parser should not generate entity
  * references but replace them with the actual content of the entity
  * Disabled by default, this should be activated when using XPath since
@@ -287,26 +302,38 @@
 int xmlSubstituteEntitiesDefaultValue = 0;
 static int xmlSubstituteEntitiesDefaultValueThrDef = 0;
 
+/**
+ * xmlRegisterNodeDefaultValue:
+ *
+ * DEPRECATED: Don't use
+ */
 xmlRegisterNodeFunc xmlRegisterNodeDefaultValue = NULL;
 static xmlRegisterNodeFunc xmlRegisterNodeDefaultValueThrDef = NULL;
+
+/**
+ * xmlDeregisterNodeDefaultValue:
+ *
+ * DEPRECATED: Don't use
+ */
 xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue = NULL;
 static xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValueThrDef = NULL;
 
+/**
+ * xmlParserInputBufferCreateFilenameValue:
+ *
+ * DEPRECATED: Don't use
+ */
 xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue = NULL;
 static xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValueThrDef = NULL;
 
+/**
+ * xmlOutputBufferCreateFilenameValue:
+ *
+ * DEPRECATED: Don't use
+ */
 xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue = NULL;
 static xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValueThrDef = NULL;
 
-/*
- * Error handling
- */
-
-/* xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc; */
-/* Must initialize xmlGenericError in xmlInitParser */
-void XMLCDECL xmlGenericErrorDefaultFunc	(void *ctx ATTRIBUTE_UNUSED,
-				 const char *msg,
-				 ...);
 /**
  * xmlGenericError:
  *
@@ -372,6 +399,9 @@
 /**
  * xmlDefaultSAXHandler:
  *
+ * DEPRECATED: This handler is unused and will be removed from future
+ * versions.
+ *
  * Default SAX version1 handler for XML, builds the DOM tree
  */
 xmlSAXHandlerV1 xmlDefaultSAXHandler = {
@@ -402,13 +432,15 @@
     xmlSAX2GetParameterEntity,
     xmlSAX2CDataBlock,
     xmlSAX2ExternalSubset,
-    0,
+    1,
 };
 #endif /* LIBXML_SAX1_ENABLED */
 
 /**
  * xmlDefaultSAXLocator:
  *
+ * DEPRECATED: Don't use
+ *
  * The default SAX Locator
  * { getPublicId, getSystemId, getLineNumber, getColumnNumber}
  */
@@ -419,10 +451,13 @@
     xmlSAX2GetColumnNumber
 };
 
-#ifdef LIBXML_HTML_ENABLED
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_SAX1_ENABLED)
 /**
  * htmlDefaultSAXHandler:
  *
+ * DEPRECATED: This handler is unused and will be removed from future
+ * versions.
+ *
  * Default old SAX v1 handler for HTML, builds the DOM tree
  */
 xmlSAXHandlerV1 htmlDefaultSAXHandler = {
@@ -450,51 +485,13 @@
     xmlParserWarning,
     xmlParserError,
     xmlParserError,
-    xmlSAX2GetParameterEntity,
+    NULL,
     xmlSAX2CDataBlock,
     NULL,
-    0,
+    1,
 };
 #endif /* LIBXML_HTML_ENABLED */
 
-#ifdef LIBXML_DOCB_ENABLED
-/**
- * docbDefaultSAXHandler:
- *
- * Default old SAX v1 handler for SGML DocBook, builds the DOM tree
- */
-xmlSAXHandlerV1 docbDefaultSAXHandler = {
-    xmlSAX2InternalSubset,
-    xmlSAX2IsStandalone,
-    xmlSAX2HasInternalSubset,
-    xmlSAX2HasExternalSubset,
-    xmlSAX2ResolveEntity,
-    xmlSAX2GetEntity,
-    xmlSAX2EntityDecl,
-    NULL,
-    NULL,
-    NULL,
-    NULL,
-    xmlSAX2SetDocumentLocator,
-    xmlSAX2StartDocument,
-    xmlSAX2EndDocument,
-    xmlSAX2StartElement,
-    xmlSAX2EndElement,
-    xmlSAX2Reference,
-    xmlSAX2Characters,
-    xmlSAX2IgnorableWhitespace,
-    NULL,
-    xmlSAX2Comment,
-    xmlParserWarning,
-    xmlParserError,
-    xmlParserError,
-    xmlSAX2GetParameterEntity,
-    NULL,
-    NULL,
-    0,
-};
-#endif /* LIBXML_DOCB_ENABLED */
-
 /**
  * xmlInitializeGlobalState:
  * @gs: a pointer to a newly allocated global state
@@ -506,21 +503,12 @@
 xmlInitializeGlobalState(xmlGlobalStatePtr gs)
 {
 #ifdef DEBUG_GLOBALS
-    fprintf(stderr, "Initializing globals at %lu for thread %d\n",
-	    (unsigned long) gs, xmlGetThreadId());
+    fprintf(stderr, "Initializing globals at %p for thread %d\n",
+	    (void *) gs, xmlGetThreadId());
 #endif
 
-    /*
-     * Perform initialization as required by libxml
-     */
-    if (xmlThrDefMutex == NULL)
-        xmlInitGlobals();
+    xmlMutexLock(&xmlThrDefMutex);
 
-    xmlMutexLock(xmlThrDefMutex);
-
-#if defined(LIBXML_DOCB_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED)
-    initdocbDefaultSAXHandler(&gs->docbDefaultSAXHandler);
-#endif
 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED)
     inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler);
 #endif
@@ -574,30 +562,49 @@
 	gs->xmlOutputBufferCreateFilenameValue = xmlOutputBufferCreateFilenameValueThrDef;
     memset(&gs->xmlLastError, 0, sizeof(xmlError));
 
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
 }
 
 /**
- * DOC_DISABLE : we ignore missing doc for the xmlThrDef functions,
- *               those are really internal work
+ * xmlCleanupGlobals:
+ *
+ * DEPRECATED: This function is a no-op. Call xmlCleanupParser
+ * to free global state but see the warnings there. xmlCleanupParser
+ * should be only called once at program exit. In most cases, you don't
+ * have call cleanup functions at all.
  */
+void xmlCleanupGlobals(void) {
+}
+
+/**
+ * xmlCleanupGlobalsInternal:
+ *
+ * Additional cleanup for multi-threading
+ */
+void xmlCleanupGlobalsInternal(void) {
+    xmlResetError(&xmlLastError);
+
+    xmlCleanupMutex(&xmlThrDefMutex);
+    __xmlGlobalInitMutexDestroy();
+}
+
 void
 xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) {
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     xmlGenericErrorContextThrDef = ctx;
     if (handler != NULL)
 	xmlGenericErrorThrDef = handler;
     else
 	xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
 }
 
 void
 xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) {
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     xmlStructuredErrorContextThrDef = ctx;
     xmlStructuredErrorThrDef = handler;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
 }
 
 /**
@@ -623,12 +630,12 @@
 {
     xmlRegisterNodeFunc old;
 
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     old = xmlRegisterNodeDefaultValueThrDef;
 
     __xmlRegisterCallbacks = 1;
     xmlRegisterNodeDefaultValueThrDef = func;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
 
     return(old);
 }
@@ -656,12 +663,12 @@
 {
     xmlDeregisterNodeFunc old;
 
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     old = xmlDeregisterNodeDefaultValueThrDef;
 
     __xmlRegisterCallbacks = 1;
     xmlDeregisterNodeDefaultValueThrDef = func;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
 
     return(old);
 }
@@ -671,14 +678,14 @@
 {
     xmlParserInputBufferCreateFilenameFunc old;
 
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     old = xmlParserInputBufferCreateFilenameValueThrDef;
     if (old == NULL) {
 		old = __xmlParserInputBufferCreateFilename;
 	}
 
     xmlParserInputBufferCreateFilenameValueThrDef = func;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
 
     return(old);
 }
@@ -688,7 +695,7 @@
 {
     xmlOutputBufferCreateFilenameFunc old;
 
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     old = xmlOutputBufferCreateFilenameValueThrDef;
 #ifdef LIBXML_OUTPUT_ENABLED
     if (old == NULL) {
@@ -696,23 +703,12 @@
 	}
 #endif
     xmlOutputBufferCreateFilenameValueThrDef = func;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
 
     return(old);
 }
 
-#ifdef LIBXML_DOCB_ENABLED
-#undef	docbDefaultSAXHandler
-xmlSAXHandlerV1 *
-__docbDefaultSAXHandler(void) {
-    if (IS_MAIN_THREAD)
-	return (&docbDefaultSAXHandler);
-    else
-	return (&xmlGetGlobalState()->docbDefaultSAXHandler);
-}
-#endif
-
-#ifdef LIBXML_HTML_ENABLED
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_SAX1_ENABLED)
 #undef	htmlDefaultSAXHandler
 xmlSAXHandlerV1 *
 __htmlDefaultSAXHandler(void) {
@@ -810,10 +806,10 @@
 }
 xmlBufferAllocationScheme xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v) {
     xmlBufferAllocationScheme ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlBufferAllocSchemeThrDef;
     xmlBufferAllocSchemeThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -827,10 +823,10 @@
 }
 int xmlThrDefDefaultBufferSize(int v) {
     int ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlDefaultBufferSizeThrDef;
     xmlDefaultBufferSizeThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -864,10 +860,10 @@
 }
 int xmlThrDefDoValidityCheckingDefaultValue(int v) {
     int ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlDoValidityCheckingDefaultValueThrDef;
     xmlDoValidityCheckingDefaultValueThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -917,10 +913,10 @@
 }
 int xmlThrDefGetWarningsDefaultValue(int v) {
     int ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlGetWarningsDefaultValueThrDef;
     xmlGetWarningsDefaultValueThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -934,10 +930,10 @@
 }
 int xmlThrDefIndentTreeOutput(int v) {
     int ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlIndentTreeOutputThrDef;
     xmlIndentTreeOutputThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -951,10 +947,10 @@
 }
 const char * xmlThrDefTreeIndentString(const char * v) {
     const char * ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlTreeIndentStringThrDef;
     xmlTreeIndentStringThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -968,10 +964,10 @@
 }
 int xmlThrDefKeepBlanksDefaultValue(int v) {
     int ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlKeepBlanksDefaultValueThrDef;
     xmlKeepBlanksDefaultValueThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -985,10 +981,10 @@
 }
 int xmlThrDefLineNumbersDefaultValue(int v) {
     int ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlLineNumbersDefaultValueThrDef;
     xmlLineNumbersDefaultValueThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -1002,10 +998,10 @@
 }
 int xmlThrDefLoadExtDtdDefaultValue(int v) {
     int ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlLoadExtDtdDefaultValueThrDef;
     xmlLoadExtDtdDefaultValueThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -1019,10 +1015,10 @@
 }
 int xmlThrDefParserDebugEntities(int v) {
     int ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlParserDebugEntitiesThrDef;
     xmlParserDebugEntitiesThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -1045,10 +1041,10 @@
 }
 int xmlThrDefPedanticParserDefaultValue(int v) {
     int ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlPedanticParserDefaultValueThrDef;
     xmlPedanticParserDefaultValueThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -1062,10 +1058,10 @@
 }
 int xmlThrDefSaveNoEmptyTags(int v) {
     int ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlSaveNoEmptyTagsThrDef;
     xmlSaveNoEmptyTagsThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
@@ -1079,10 +1075,10 @@
 }
 int xmlThrDefSubstituteEntitiesDefaultValue(int v) {
     int ret;
-    xmlMutexLock(xmlThrDefMutex);
+    xmlMutexLock(&xmlThrDefMutex);
     ret = xmlSubstituteEntitiesDefaultValueThrDef;
     xmlSubstituteEntitiesDefaultValueThrDef = v;
-    xmlMutexUnlock(xmlThrDefMutex);
+    xmlMutexUnlock(&xmlThrDefMutex);
     return ret;
 }
 
diff --git a/hash.c b/hash.c
index 005401b..479ff46 100644
--- a/hash.c
+++ b/hash.c
@@ -21,20 +21,15 @@
 #include "libxml.h"
 
 #include <string.h>
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
-#ifdef HAVE_TIME_H
 #include <time.h>
-#endif
 
 /*
  * Following http://www.ocert.org/advisories/ocert-2011-003.html
  * it seems that having hash randomization might be a good idea
  * when using XML with untrusted data
  */
-#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME) && \
-    !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
+#if !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
 #define HASH_RANDOMIZATION
 #endif
 
@@ -44,6 +39,8 @@
 #include <libxml/xmlerror.h>
 #include <libxml/globals.h>
 
+#include "private/dict.h"
+
 #define MAX_HASH_LEN 8
 
 /* #define DEBUG_GROW */
@@ -81,6 +78,7 @@
  */
 #ifdef __clang__
 ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow")
+ATTRIBUTE_NO_SANITIZE("unsigned-shift-base")
 #endif
 static unsigned long
 xmlHashComputeKey(xmlHashTablePtr table, const xmlChar *name,
@@ -114,6 +112,7 @@
 
 #ifdef __clang__
 ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow")
+ATTRIBUTE_NO_SANITIZE("unsigned-shift-base")
 #endif
 static unsigned long
 xmlHashComputeQKey(xmlHashTablePtr table,
@@ -135,7 +134,7 @@
 	while ((ch = *prefix++) != 0) {
 	    value = value ^ ((value << 5) + (value >> 3) + ch);
 	}
-	value = value ^ ((value << 5) + (value >> 3) + (unsigned long)':');
+	value = value ^ ((value << 5) + (value >> 3) + ':');
     }
     if (name != NULL) {
 	while ((ch = *name++) != 0) {
@@ -147,7 +146,7 @@
 	while ((ch = *prefix2++) != 0) {
 	    value = value ^ ((value << 5) + (value >> 3) + ch);
 	}
-	value = value ^ ((value << 5) + (value >> 3) + (unsigned long)':');
+	value = value ^ ((value << 5) + (value >> 3) + ':');
     }
     if (name2 != NULL) {
 	while ((ch = *name2++) != 0) {
@@ -159,7 +158,7 @@
 	while ((ch = *prefix3++) != 0) {
 	    value = value ^ ((value << 5) + (value >> 3) + ch);
 	}
-	value = value ^ ((value << 5) + (value >> 3) + (unsigned long)':');
+	value = value ^ ((value << 5) + (value >> 3) + ':');
     }
     if (name3 != NULL) {
 	while ((ch = *name3++) != 0) {
@@ -614,8 +613,24 @@
         entry->name3 = (xmlChar *) name3;
     } else {
 	entry->name = xmlStrdup(name);
-	entry->name2 = xmlStrdup(name2);
-	entry->name3 = xmlStrdup(name3);
+        if (entry->name == NULL) {
+            entry->name2 = NULL;
+            goto error;
+        }
+        if (name2 == NULL) {
+            entry->name2 = NULL;
+        } else {
+	    entry->name2 = xmlStrdup(name2);
+            if (entry->name2 == NULL)
+                goto error;
+        }
+        if (name3 == NULL) {
+            entry->name3 = NULL;
+        } else {
+	    entry->name3 = xmlStrdup(name3);
+            if (entry->name3 == NULL)
+                goto error;
+        }
     }
     entry->payload = userdata;
     entry->next = NULL;
@@ -631,6 +646,13 @@
 	xmlHashGrow(table, MAX_HASH_LEN * table->size);
 
     return(0);
+
+error:
+    xmlFree(entry->name2);
+    xmlFree(entry->name);
+    if (insert != NULL)
+        xmlFree(entry);
+    return(-1);
 }
 
 /**
@@ -744,8 +766,24 @@
         entry->name3 = (xmlChar *) name3;
     } else {
 	entry->name = xmlStrdup(name);
-	entry->name2 = xmlStrdup(name2);
-	entry->name3 = xmlStrdup(name3);
+        if (entry->name == NULL) {
+            entry->name2 = NULL;
+            goto error;
+        }
+        if (name2 == NULL) {
+            entry->name2 = NULL;
+        } else {
+	    entry->name2 = xmlStrdup(name2);
+            if (entry->name2 == NULL)
+                goto error;
+        }
+        if (name3 == NULL) {
+            entry->name3 = NULL;
+        } else {
+	    entry->name3 = xmlStrdup(name3);
+            if (entry->name3 == NULL)
+                goto error;
+        }
     }
     entry->payload = userdata;
     entry->next = NULL;
@@ -757,6 +795,13 @@
 	insert->next = entry;
     }
     return(0);
+
+error:
+    xmlFree(entry->name2);
+    xmlFree(entry->name);
+    if (insert != NULL)
+        xmlFree(entry);
+    return(-1);
 }
 
 /**
diff --git a/include/Makefile.am b/include/Makefile.am
index 7dbfaa5..2603acc 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-SUBDIRS=libxml
+SUBDIRS=libxml private
 
 EXTRA_DIST = win32config.h wsockcompat.h
 
diff --git a/include/libxml/DOCBparser.h b/include/libxml/DOCBparser.h
deleted file mode 100644
index 748e1ab..0000000
--- a/include/libxml/DOCBparser.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Summary: old DocBook SGML parser
- * Description: interface for a DocBook SGML non-verifying parser
- * This code is DEPRECATED, and should not be used anymore.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __DOCB_PARSER_H__
-#define __DOCB_PARSER_H__
-#include <libxml/xmlversion.h>
-
-#ifdef LIBXML_DOCB_ENABLED
-
-#include <libxml/parser.h>
-#include <libxml/parserInternals.h>
-
-#ifndef IN_LIBXML
-#ifdef __GNUC__
-#warning "The DOCBparser module has been deprecated in libxml2-2.6.0"
-#endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Most of the back-end structures from XML and SGML are shared.
- */
-typedef xmlParserCtxt docbParserCtxt;
-typedef xmlParserCtxtPtr docbParserCtxtPtr;
-typedef xmlSAXHandler docbSAXHandler;
-typedef xmlSAXHandlerPtr docbSAXHandlerPtr;
-typedef xmlParserInput docbParserInput;
-typedef xmlParserInputPtr docbParserInputPtr;
-typedef xmlDocPtr docbDocPtr;
-
-/*
- * There is only few public functions.
- */
-XML_DEPRECATED
-XMLPUBFUN int XMLCALL
-		     docbEncodeEntities(unsigned char *out,
-                                        int *outlen,
-                                        const unsigned char *in,
-                                        int *inlen, int quoteChar);
-
-XML_DEPRECATED
-XMLPUBFUN docbDocPtr XMLCALL
-		     docbSAXParseDoc   (xmlChar *cur,
-                                        const char *encoding,
-                                        docbSAXHandlerPtr sax,
-                                        void *userData);
-XML_DEPRECATED
-XMLPUBFUN docbDocPtr XMLCALL
-		     docbParseDoc      (xmlChar *cur,
-                                        const char *encoding);
-XML_DEPRECATED
-XMLPUBFUN docbDocPtr XMLCALL
-		     docbSAXParseFile  (const char *filename,
-                                        const char *encoding,
-                                        docbSAXHandlerPtr sax,
-                                        void *userData);
-XML_DEPRECATED
-XMLPUBFUN docbDocPtr XMLCALL
-		     docbParseFile     (const char *filename,
-                                        const char *encoding);
-
-/**
- * Interfaces for the Push mode.
- */
-XML_DEPRECATED
-XMLPUBFUN void XMLCALL
-		     docbFreeParserCtxt      (docbParserCtxtPtr ctxt);
-XML_DEPRECATED
-XMLPUBFUN docbParserCtxtPtr XMLCALL
-		     docbCreatePushParserCtxt(docbSAXHandlerPtr sax,
-                                              void *user_data,
-                                              const char *chunk,
-                                              int size,
-                                              const char *filename,
-                                              xmlCharEncoding enc);
-XML_DEPRECATED
-XMLPUBFUN int XMLCALL
-		     docbParseChunk          (docbParserCtxtPtr ctxt,
-                                              const char *chunk,
-                                              int size,
-                                              int terminate);
-XML_DEPRECATED
-XMLPUBFUN docbParserCtxtPtr XMLCALL
-		     docbCreateFileParserCtxt(const char *filename,
-                                              const char *encoding);
-XML_DEPRECATED
-XMLPUBFUN int XMLCALL
-		     docbParseDocument       (docbParserCtxtPtr ctxt);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* LIBXML_DOCB_ENABLED */
-
-#endif /* __DOCB_PARSER_H__ */
diff --git a/include/libxml/HTMLparser.h b/include/libxml/HTMLparser.h
index 1d4fec2..e43feee 100644
--- a/include/libxml/HTMLparser.h
+++ b/include/libxml/HTMLparser.h
@@ -83,87 +83,101 @@
 /*
  * There is only few public functions.
  */
-XMLPUBFUN const htmlElemDesc * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
+			htmlInitAutoClose	(void);
+XMLPUBFUN const htmlElemDesc *
 			htmlTagLookup	(const xmlChar *tag);
-XMLPUBFUN const htmlEntityDesc * XMLCALL
+XMLPUBFUN const htmlEntityDesc *
 			htmlEntityLookup(const xmlChar *name);
-XMLPUBFUN const htmlEntityDesc * XMLCALL
+XMLPUBFUN const htmlEntityDesc *
 			htmlEntityValueLookup(unsigned int value);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			htmlIsAutoClosed(htmlDocPtr doc,
 					 htmlNodePtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			htmlAutoCloseTag(htmlDocPtr doc,
 					 const xmlChar *name,
 					 htmlNodePtr elem);
-XMLPUBFUN const htmlEntityDesc * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN const htmlEntityDesc *
 			htmlParseEntityRef(htmlParserCtxtPtr ctxt,
 					 const xmlChar **str);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 			htmlParseCharRef(htmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			htmlParseElement(htmlParserCtxtPtr ctxt);
 
-XMLPUBFUN htmlParserCtxtPtr XMLCALL
+XMLPUBFUN htmlParserCtxtPtr
 			htmlNewParserCtxt(void);
+XMLPUBFUN htmlParserCtxtPtr
+			htmlNewSAXParserCtxt(const htmlSAXHandler *sax,
+					     void *userData);
 
-XMLPUBFUN htmlParserCtxtPtr XMLCALL
+XMLPUBFUN htmlParserCtxtPtr
 			htmlCreateMemoryParserCtxt(const char *buffer,
 						   int size);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			htmlParseDocument(htmlParserCtxtPtr ctxt);
-XMLPUBFUN htmlDocPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN htmlDocPtr
 			htmlSAXParseDoc	(const xmlChar *cur,
 					 const char *encoding,
 					 htmlSAXHandlerPtr sax,
 					 void *userData);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 			htmlParseDoc	(const xmlChar *cur,
 					 const char *encoding);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlParserCtxtPtr
+			htmlCreateFileParserCtxt(const char *filename,
+	                                         const char *encoding);
+XML_DEPRECATED
+XMLPUBFUN htmlDocPtr
 			htmlSAXParseFile(const char *filename,
 					 const char *encoding,
 					 htmlSAXHandlerPtr sax,
 					 void *userData);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 			htmlParseFile	(const char *filename,
 					 const char *encoding);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			UTF8ToHtml	(unsigned char *out,
 					 int *outlen,
 					 const unsigned char *in,
 					 int *inlen);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			htmlEncodeEntities(unsigned char *out,
 					 int *outlen,
 					 const unsigned char *in,
 					 int *inlen, int quoteChar);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			htmlIsScriptAttribute(const xmlChar *name);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			htmlHandleOmittedElem(int val);
 
 #ifdef LIBXML_PUSH_ENABLED
 /**
  * Interfaces for the Push mode.
  */
-XMLPUBFUN htmlParserCtxtPtr XMLCALL
+XMLPUBFUN htmlParserCtxtPtr
 			htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax,
 						 void *user_data,
 						 const char *chunk,
 						 int size,
 						 const char *filename,
 						 xmlCharEncoding enc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			htmlParseChunk		(htmlParserCtxtPtr ctxt,
 						 const char *chunk,
 						 int size,
 						 int terminate);
 #endif /* LIBXML_PUSH_ENABLED */
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			htmlFreeParserCtxt	(htmlParserCtxtPtr ctxt);
 
 /*
@@ -188,63 +202,63 @@
     HTML_PARSE_IGNORE_ENC=1<<21 /* ignore internal document encoding hint */
 } htmlParserOption;
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		htmlCtxtReset		(htmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		htmlCtxtUseOptions	(htmlParserCtxtPtr ctxt,
 					 int options);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlReadDoc		(const xmlChar *cur,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlReadFile		(const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlReadMemory		(const char *buffer,
 					 int size,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlReadFd		(int fd,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlReadIO		(xmlInputReadCallback ioread,
 					 xmlInputCloseCallback ioclose,
 					 void *ioctx,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlCtxtReadDoc		(xmlParserCtxtPtr ctxt,
 					 const xmlChar *cur,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlCtxtReadFile		(xmlParserCtxtPtr ctxt,
 					 const char *filename,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlCtxtReadMemory		(xmlParserCtxtPtr ctxt,
 					 const char *buffer,
 					 int size,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlCtxtReadFd		(xmlParserCtxtPtr ctxt,
 					 int fd,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlCtxtReadIO		(xmlParserCtxtPtr ctxt,
 					 xmlInputReadCallback ioread,
 					 xmlInputCloseCallback ioclose,
@@ -266,10 +280,10 @@
 /* Using htmlElemDesc rather than name here, to emphasise the fact
    that otherwise there's a lookup overhead
 */
-XMLPUBFUN htmlStatus XMLCALL htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ;
-XMLPUBFUN int XMLCALL htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ;
-XMLPUBFUN htmlStatus XMLCALL htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ;
-XMLPUBFUN htmlStatus XMLCALL htmlNodeStatus(const htmlNodePtr, int) ;
+XMLPUBFUN htmlStatus htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ;
+XMLPUBFUN int htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ;
+XMLPUBFUN htmlStatus htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ;
+XMLPUBFUN htmlStatus htmlNodeStatus(const htmlNodePtr, int) ;
 /**
  * htmlDefaultSubelement:
  * @elt: HTML element
diff --git a/include/libxml/HTMLtree.h b/include/libxml/HTMLtree.h
index c0e1103..8e1ba90 100644
--- a/include/libxml/HTMLtree.h
+++ b/include/libxml/HTMLtree.h
@@ -59,73 +59,73 @@
  */
 #define HTML_PI_NODE		XML_PI_NODE
 
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlNewDoc		(const xmlChar *URI,
 					 const xmlChar *ExternalID);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr
 		htmlNewDocNoDtD		(const xmlChar *URI,
 					 const xmlChar *ExternalID);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		htmlGetMetaEncoding	(htmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		htmlSetMetaEncoding	(htmlDocPtr doc,
 					 const xmlChar *encoding);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		htmlDocDumpMemory	(xmlDocPtr cur,
 					 xmlChar **mem,
 					 int *size);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		htmlDocDumpMemoryFormat	(xmlDocPtr cur,
 					 xmlChar **mem,
 					 int *size,
 					 int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		htmlDocDump		(FILE *f,
 					 xmlDocPtr cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		htmlSaveFile		(const char *filename,
 					 xmlDocPtr cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		htmlNodeDump		(xmlBufferPtr buf,
 					 xmlDocPtr doc,
 					 xmlNodePtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		htmlNodeDumpFile	(FILE *out,
 					 xmlDocPtr doc,
 					 xmlNodePtr cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		htmlNodeDumpFileFormat	(FILE *out,
 					 xmlDocPtr doc,
 					 xmlNodePtr cur,
 					 const char *encoding,
 					 int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		htmlSaveFileEnc		(const char *filename,
 					 xmlDocPtr cur,
 					 const char *encoding);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		htmlSaveFileFormat	(const char *filename,
 					 xmlDocPtr cur,
 					 const char *encoding,
 					 int format);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
 					 xmlDocPtr doc,
 					 xmlNodePtr cur,
 					 const char *encoding,
 					 int format);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
 					 xmlDocPtr cur,
 					 const char *encoding);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
 					 xmlDocPtr cur,
 					 const char *encoding,
 					 int format);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		htmlNodeDumpOutput	(xmlOutputBufferPtr buf,
 					 xmlDocPtr doc,
 					 xmlNodePtr cur,
@@ -133,7 +133,7 @@
 
 #endif /* LIBXML_OUTPUT_ENABLED */
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		htmlIsBooleanAttr	(const xmlChar *name);
 
 
diff --git a/include/libxml/Makefile.am b/include/libxml/Makefile.am
index cf9297a..5915e3e 100644
--- a/include/libxml/Makefile.am
+++ b/include/libxml/Makefile.am
@@ -26,8 +26,6 @@
 		uri.h \
 		valid.h \
 		xlink.h \
-		xmlversion.h \
-		DOCBparser.h \
 		catalog.h \
 		threads.h \
 		globals.h \
@@ -51,4 +49,6 @@
 		xmlsave.h \
 		schematron.h
 
+nodist_xmlinc_HEADERS = xmlversion.h
+
 EXTRA_DIST = xmlversion.h.in
diff --git a/include/libxml/SAX.h b/include/libxml/SAX.h
index 61876d1..ecd3211 100644
--- a/include/libxml/SAX.h
+++ b/include/libxml/SAX.h
@@ -16,7 +16,6 @@
 #include <stdlib.h>
 #include <libxml/xmlversion.h>
 #include <libxml/parser.h>
-#include <libxml/xlink.h>
 
 #ifdef LIBXML_LEGACY_ENABLED
 
@@ -24,61 +23,61 @@
 extern "C" {
 #endif
 XML_DEPRECATED
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		getPublicId			(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		getSystemId			(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		setDocumentLocator		(void *ctx,
 						 xmlSAXLocatorPtr loc);
 
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		getLineNumber			(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		getColumnNumber			(void *ctx);
 
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		isStandalone			(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		hasInternalSubset		(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		hasExternalSubset		(void *ctx);
 
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		internalSubset			(void *ctx,
 						 const xmlChar *name,
 						 const xmlChar *ExternalID,
 						 const xmlChar *SystemID);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		externalSubset			(void *ctx,
 						 const xmlChar *name,
 						 const xmlChar *ExternalID,
 						 const xmlChar *SystemID);
 XML_DEPRECATED
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr
 		getEntity			(void *ctx,
 						 const xmlChar *name);
 XML_DEPRECATED
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr
 		getParameterEntity		(void *ctx,
 						 const xmlChar *name);
 XML_DEPRECATED
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr
 		resolveEntity			(void *ctx,
 						 const xmlChar *publicId,
 						 const xmlChar *systemId);
 
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		entityDecl			(void *ctx,
 						 const xmlChar *name,
 						 int type,
@@ -86,7 +85,7 @@
 						 const xmlChar *systemId,
 						 xmlChar *content);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		attributeDecl			(void *ctx,
 						 const xmlChar *elem,
 						 const xmlChar *fullname,
@@ -95,19 +94,19 @@
 						 const xmlChar *defaultValue,
 						 xmlEnumerationPtr tree);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		elementDecl			(void *ctx,
 						 const xmlChar *name,
 						 int type,
 						 xmlElementContentPtr content);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		notationDecl			(void *ctx,
 						 const xmlChar *name,
 						 const xmlChar *publicId,
 						 const xmlChar *systemId);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		unparsedEntityDecl		(void *ctx,
 						 const xmlChar *name,
 						 const xmlChar *publicId,
@@ -115,90 +114,85 @@
 						 const xmlChar *notationName);
 
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		startDocument			(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		endDocument			(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		attribute			(void *ctx,
 						 const xmlChar *fullname,
 						 const xmlChar *value);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		startElement			(void *ctx,
 						 const xmlChar *fullname,
 						 const xmlChar **atts);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		endElement			(void *ctx,
 						 const xmlChar *name);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		reference			(void *ctx,
 						 const xmlChar *name);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		characters			(void *ctx,
 						 const xmlChar *ch,
 						 int len);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		ignorableWhitespace		(void *ctx,
 						 const xmlChar *ch,
 						 int len);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		processingInstruction		(void *ctx,
 						 const xmlChar *target,
 						 const xmlChar *data);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		globalNamespace			(void *ctx,
 						 const xmlChar *href,
 						 const xmlChar *prefix);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		setNamespace			(void *ctx,
 						 const xmlChar *name);
 XML_DEPRECATED
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr
 		getNamespace			(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		checkNamespace			(void *ctx,
 						 xmlChar *nameSpace);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		namespaceDecl			(void *ctx,
 						 const xmlChar *href,
 						 const xmlChar *prefix);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		comment				(void *ctx,
 						 const xmlChar *value);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		cdataBlock			(void *ctx,
 						 const xmlChar *value,
 						 int len);
 
 #ifdef LIBXML_SAX1_ENABLED
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		initxmlDefaultSAXHandler	(xmlSAXHandlerV1 *hdlr,
 						 int warning);
 #ifdef LIBXML_HTML_ENABLED
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		inithtmlDefaultSAXHandler	(xmlSAXHandlerV1 *hdlr);
 #endif
-#ifdef LIBXML_DOCB_ENABLED
-XML_DEPRECATED
-XMLPUBFUN void XMLCALL
-		initdocbDefaultSAXHandler	(xmlSAXHandlerV1 *hdlr);
-#endif
 #endif /* LIBXML_SAX1_ENABLED */
 
 #ifdef __cplusplus
diff --git a/include/libxml/SAX2.h b/include/libxml/SAX2.h
index a55212e..35e7a5f 100644
--- a/include/libxml/SAX2.h
+++ b/include/libxml/SAX2.h
@@ -16,60 +16,59 @@
 #include <stdlib.h>
 #include <libxml/xmlversion.h>
 #include <libxml/parser.h>
-#include <libxml/xlink.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		xmlSAX2GetPublicId		(void *ctx);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		xmlSAX2GetSystemId		(void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2SetDocumentLocator	(void *ctx,
 						 xmlSAXLocatorPtr loc);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSAX2GetLineNumber		(void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSAX2GetColumnNumber		(void *ctx);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSAX2IsStandalone		(void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSAX2HasInternalSubset	(void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSAX2HasExternalSubset	(void *ctx);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2InternalSubset		(void *ctx,
 						 const xmlChar *name,
 						 const xmlChar *ExternalID,
 						 const xmlChar *SystemID);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2ExternalSubset		(void *ctx,
 						 const xmlChar *name,
 						 const xmlChar *ExternalID,
 						 const xmlChar *SystemID);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr
 		xmlSAX2GetEntity		(void *ctx,
 						 const xmlChar *name);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr
 		xmlSAX2GetParameterEntity	(void *ctx,
 						 const xmlChar *name);
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr
 		xmlSAX2ResolveEntity		(void *ctx,
 						 const xmlChar *publicId,
 						 const xmlChar *systemId);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2EntityDecl		(void *ctx,
 						 const xmlChar *name,
 						 int type,
 						 const xmlChar *publicId,
 						 const xmlChar *systemId,
 						 xmlChar *content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2AttributeDecl		(void *ctx,
 						 const xmlChar *elem,
 						 const xmlChar *fullname,
@@ -77,39 +76,38 @@
 						 int def,
 						 const xmlChar *defaultValue,
 						 xmlEnumerationPtr tree);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2ElementDecl		(void *ctx,
 						 const xmlChar *name,
 						 int type,
 						 xmlElementContentPtr content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2NotationDecl		(void *ctx,
 						 const xmlChar *name,
 						 const xmlChar *publicId,
 						 const xmlChar *systemId);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2UnparsedEntityDecl	(void *ctx,
 						 const xmlChar *name,
 						 const xmlChar *publicId,
 						 const xmlChar *systemId,
 						 const xmlChar *notationName);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2StartDocument		(void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2EndDocument		(void *ctx);
 #if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
-    defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || \
-    defined(LIBXML_LEGACY_ENABLED)
-XMLPUBFUN void XMLCALL
+    defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
+XMLPUBFUN void
 		xmlSAX2StartElement		(void *ctx,
 						 const xmlChar *fullname,
 						 const xmlChar **atts);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2EndElement		(void *ctx,
 						 const xmlChar *name);
 #endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2StartElementNs		(void *ctx,
 						 const xmlChar *localname,
 						 const xmlChar *prefix,
@@ -119,58 +117,55 @@
 						 int nb_attributes,
 						 int nb_defaulted,
 						 const xmlChar **attributes);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2EndElementNs		(void *ctx,
 						 const xmlChar *localname,
 						 const xmlChar *prefix,
 						 const xmlChar *URI);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2Reference		(void *ctx,
 						 const xmlChar *name);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2Characters		(void *ctx,
 						 const xmlChar *ch,
 						 int len);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2IgnorableWhitespace	(void *ctx,
 						 const xmlChar *ch,
 						 int len);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2ProcessingInstruction	(void *ctx,
 						 const xmlChar *target,
 						 const xmlChar *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2Comment			(void *ctx,
 						 const xmlChar *value);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2CDataBlock		(void *ctx,
 						 const xmlChar *value,
 						 int len);
 
 #ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 		xmlSAXDefaultVersion		(int version);
 #endif /* LIBXML_SAX1_ENABLED */
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSAXVersion			(xmlSAXHandler *hdlr,
 						 int version);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2InitDefaultSAXHandler    (xmlSAXHandler *hdlr,
 						 int warning);
 #ifdef LIBXML_HTML_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 		htmlDefaultSAXHandlerInit	(void);
 #endif
-#ifdef LIBXML_DOCB_ENABLED
-XMLPUBFUN void XMLCALL
-		xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
-XMLPUBFUN void XMLCALL
-		docbDefaultSAXHandlerInit	(void);
-#endif
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 		xmlDefaultSAXHandlerInit	(void);
 #ifdef __cplusplus
 }
diff --git a/include/libxml/c14n.h b/include/libxml/c14n.h
index af93de6..51e5419 100644
--- a/include/libxml/c14n.h
+++ b/include/libxml/c14n.h
@@ -66,7 +66,7 @@
     XML_C14N_1_1            = 2     /* C14N 1.1 spec */
 } xmlC14NMode;
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlC14NDocSaveTo	(xmlDocPtr doc,
 					 xmlNodeSetPtr nodes,
 					 int mode, /* a xmlC14NMode */
@@ -74,7 +74,7 @@
 					 int with_comments,
 					 xmlOutputBufferPtr buf);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlC14NDocDumpMemory	(xmlDocPtr doc,
 					 xmlNodeSetPtr nodes,
 					 int mode, /* a xmlC14NMode */
@@ -82,7 +82,7 @@
 					 int with_comments,
 					 xmlChar **doc_txt_ptr);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlC14NDocSave		(xmlDocPtr doc,
 					 xmlNodeSetPtr nodes,
 					 int mode, /* a xmlC14NMode */
@@ -109,7 +109,7 @@
 					 xmlNodePtr node,
 					 xmlNodePtr parent);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlC14NExecute		(xmlDocPtr doc,
 					 xmlC14NIsVisibleCallback is_visible_callback,
 					 void* user_data,
diff --git a/include/libxml/catalog.h b/include/libxml/catalog.h
index 26b178d..02fa7ab 100644
--- a/include/libxml/catalog.h
+++ b/include/libxml/catalog.h
@@ -66,113 +66,113 @@
 /*
  * Operations on a given catalog.
  */
-XMLPUBFUN xmlCatalogPtr XMLCALL
+XMLPUBFUN xmlCatalogPtr
 		xmlNewCatalog		(int sgml);
-XMLPUBFUN xmlCatalogPtr XMLCALL
+XMLPUBFUN xmlCatalogPtr
 		xmlLoadACatalog		(const char *filename);
-XMLPUBFUN xmlCatalogPtr XMLCALL
+XMLPUBFUN xmlCatalogPtr
 		xmlLoadSGMLSuperCatalog	(const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlConvertSGMLCatalog	(xmlCatalogPtr catal);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlACatalogAdd		(xmlCatalogPtr catal,
 					 const xmlChar *type,
 					 const xmlChar *orig,
 					 const xmlChar *replace);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlACatalogRemove	(xmlCatalogPtr catal,
 					 const xmlChar *value);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlACatalogResolve	(xmlCatalogPtr catal,
 					 const xmlChar *pubID,
 	                                 const xmlChar *sysID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlACatalogResolveSystem(xmlCatalogPtr catal,
 					 const xmlChar *sysID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlACatalogResolvePublic(xmlCatalogPtr catal,
 					 const xmlChar *pubID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlACatalogResolveURI	(xmlCatalogPtr catal,
 					 const xmlChar *URI);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlACatalogDump		(xmlCatalogPtr catal,
 					 FILE *out);
 #endif /* LIBXML_OUTPUT_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeCatalog		(xmlCatalogPtr catal);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlCatalogIsEmpty	(xmlCatalogPtr catal);
 
 /*
  * Global operations.
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlInitializeCatalog	(void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlLoadCatalog		(const char *filename);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlLoadCatalogs		(const char *paths);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlCatalogCleanup	(void);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlCatalogDump		(FILE *out);
 #endif /* LIBXML_OUTPUT_ENABLED */
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlCatalogResolve	(const xmlChar *pubID,
 	                                 const xmlChar *sysID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlCatalogResolveSystem	(const xmlChar *sysID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlCatalogResolvePublic	(const xmlChar *pubID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlCatalogResolveURI	(const xmlChar *URI);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlCatalogAdd		(const xmlChar *type,
 					 const xmlChar *orig,
 					 const xmlChar *replace);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlCatalogRemove	(const xmlChar *value);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlParseCatalogFile	(const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlCatalogConvert	(void);
 
 /*
  * Strictly minimal interfaces for per-document catalogs used
  * by the parser.
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlCatalogFreeLocal	(void *catalogs);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 		xmlCatalogAddLocal	(void *catalogs,
 					 const xmlChar *URL);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlCatalogLocalResolve	(void *catalogs,
 					 const xmlChar *pubID,
 	                                 const xmlChar *sysID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlCatalogLocalResolveURI(void *catalogs,
 					 const xmlChar *URI);
 /*
  * Preference settings.
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlCatalogSetDebug	(int level);
-XMLPUBFUN xmlCatalogPrefer XMLCALL
+XMLPUBFUN xmlCatalogPrefer
 		xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlCatalogSetDefaults	(xmlCatalogAllow allow);
-XMLPUBFUN xmlCatalogAllow XMLCALL
+XMLPUBFUN xmlCatalogAllow
 		xmlCatalogGetDefaults	(void);
 
 
 /* DEPRECATED interfaces */
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		xmlCatalogGetSystem	(const xmlChar *sysID);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		xmlCatalogGetPublic	(const xmlChar *pubID);
 
 #ifdef __cplusplus
diff --git a/include/libxml/chvalid.h b/include/libxml/chvalid.h
index fb43016..8225c95 100644
--- a/include/libxml/chvalid.h
+++ b/include/libxml/chvalid.h
@@ -51,7 +51,7 @@
 /**
  * Range checking routine
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);
 
 
@@ -207,21 +207,21 @@
 #define xmlIsPubidCharQ(c)	(((c) < 0x100) ? \
 				 xmlIsPubidChar_ch((c)) : 0)
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsBaseChar(unsigned int ch);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsBlank(unsigned int ch);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsChar(unsigned int ch);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsCombining(unsigned int ch);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsDigit(unsigned int ch);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsExtender(unsigned int ch);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsIdeographic(unsigned int ch);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsPubidChar(unsigned int ch);
 
 #ifdef __cplusplus
diff --git a/include/libxml/debugXML.h b/include/libxml/debugXML.h
index 5b3be13..8274687 100644
--- a/include/libxml/debugXML.h
+++ b/include/libxml/debugXML.h
@@ -25,39 +25,39 @@
 /*
  * The standard Dump routines.
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlDebugDumpString	(FILE *output,
 				 const xmlChar *str);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlDebugDumpAttr	(FILE *output,
 				 xmlAttrPtr attr,
 				 int depth);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlDebugDumpAttrList	(FILE *output,
 				 xmlAttrPtr attr,
 				 int depth);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlDebugDumpOneNode	(FILE *output,
 				 xmlNodePtr node,
 				 int depth);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlDebugDumpNode	(FILE *output,
 				 xmlNodePtr node,
 				 int depth);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlDebugDumpNodeList	(FILE *output,
 				 xmlNodePtr node,
 				 int depth);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlDebugDumpDocumentHead(FILE *output,
 				 xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlDebugDumpDocument	(FILE *output,
 				 xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlDebugDumpDTD		(FILE *output,
 				 xmlDtdPtr dtd);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlDebugDumpEntities	(FILE *output,
 				 xmlDocPtr doc);
 
@@ -67,7 +67,7 @@
  *								*
  ****************************************************************/
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlDebugCheckDocument	(FILE * output,
 				 xmlDocPtr doc);
 
@@ -77,12 +77,12 @@
  *								*
  ****************************************************************/
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlLsOneNode		(FILE *output, xmlNodePtr node);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlLsCountNode		(xmlNodePtr node);
 
-XMLPUBFUN const char * XMLCALL
+XMLPUBFUN const char *
 	xmlBoolToText		(int boolval);
 
 /****************************************************************
@@ -136,63 +136,63 @@
 			     xmlNodePtr node,
 			     xmlNodePtr node2);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlShellPrintXPathError	(int errorType,
 				 const char *arg);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlShellPrintXPathResult(xmlXPathObjectPtr list);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlShellList		(xmlShellCtxtPtr ctxt,
 				 char *arg,
 				 xmlNodePtr node,
 				 xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlShellBase		(xmlShellCtxtPtr ctxt,
 				 char *arg,
 				 xmlNodePtr node,
 				 xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlShellDir		(xmlShellCtxtPtr ctxt,
 				 char *arg,
 				 xmlNodePtr node,
 				 xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlShellLoad		(xmlShellCtxtPtr ctxt,
 				 char *filename,
 				 xmlNodePtr node,
 				 xmlNodePtr node2);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlShellPrintNode	(xmlNodePtr node);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlShellCat		(xmlShellCtxtPtr ctxt,
 				 char *arg,
 				 xmlNodePtr node,
 				 xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlShellWrite		(xmlShellCtxtPtr ctxt,
 				 char *filename,
 				 xmlNodePtr node,
 				 xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlShellSave		(xmlShellCtxtPtr ctxt,
 				 char *filename,
 				 xmlNodePtr node,
 				 xmlNodePtr node2);
 #endif /* LIBXML_OUTPUT_ENABLED */
 #ifdef LIBXML_VALID_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlShellValidate	(xmlShellCtxtPtr ctxt,
 				 char *dtd,
 				 xmlNodePtr node,
 				 xmlNodePtr node2);
 #endif /* LIBXML_VALID_ENABLED */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlShellDu		(xmlShellCtxtPtr ctxt,
 				 char *arg,
 				 xmlNodePtr tree,
 				 xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlShellPwd		(xmlShellCtxtPtr ctxt,
 				 char *buffer,
 				 xmlNodePtr node,
@@ -201,7 +201,7 @@
 /*
  * The Shell interface.
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlShell		(xmlDocPtr doc,
 				 char *filename,
 				 xmlShellReadlineFunc input,
diff --git a/include/libxml/dict.h b/include/libxml/dict.h
index cf54af1..eb8f85d 100644
--- a/include/libxml/dict.h
+++ b/include/libxml/dict.h
@@ -27,50 +27,52 @@
 /*
  * Initializer
  */
-XMLPUBFUN int XMLCALL  xmlInitializeDict(void);
+XML_DEPRECATED
+XMLPUBFUN int  xmlInitializeDict(void);
 
 /*
  * Constructor and destructor.
  */
-XMLPUBFUN xmlDictPtr XMLCALL
+XMLPUBFUN xmlDictPtr
 			xmlDictCreate	(void);
-XMLPUBFUN size_t XMLCALL
+XMLPUBFUN size_t
 			xmlDictSetLimit	(xmlDictPtr dict,
                                          size_t limit);
-XMLPUBFUN size_t XMLCALL
+XMLPUBFUN size_t
 			xmlDictGetUsage (xmlDictPtr dict);
-XMLPUBFUN xmlDictPtr XMLCALL
+XMLPUBFUN xmlDictPtr
 			xmlDictCreateSub(xmlDictPtr sub);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlDictReference(xmlDictPtr dict);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlDictFree	(xmlDictPtr dict);
 
 /*
  * Lookup of entry in the dictionary.
  */
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 			xmlDictLookup	(xmlDictPtr dict,
 		                         const xmlChar *name,
 		                         int len);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 			xmlDictExists	(xmlDictPtr dict,
 		                         const xmlChar *name,
 		                         int len);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 			xmlDictQLookup	(xmlDictPtr dict,
 		                         const xmlChar *prefix,
 		                         const xmlChar *name);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlDictOwns	(xmlDictPtr dict,
 					 const xmlChar *str);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlDictSize	(xmlDictPtr dict);
 
 /*
  * Cleanup function
  */
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
                         xmlDictCleanup  (void);
 
 #ifdef __cplusplus
diff --git a/include/libxml/encoding.h b/include/libxml/encoding.h
index c875af6..231b0be 100644
--- a/include/libxml/encoding.h
+++ b/include/libxml/encoding.h
@@ -27,9 +27,7 @@
 #ifdef LIBXML_ICONV_ENABLED
 #include <iconv.h>
 #endif
-#ifdef LIBXML_ICU_ENABLED
-#include <unicode/ucnv.h>
-#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -128,19 +126,6 @@
  * Block defining the handlers for non UTF-8 encodings.
  * If iconv is supported, there are two extra fields.
  */
-#ifdef LIBXML_ICU_ENABLED
-/* Size of pivot buffer, same as icu/source/common/ucnv.cpp CHUNK_SIZE */
-#define ICU_PIVOT_BUF_SIZE 1024
-struct _uconv_t {
-  UConverter *uconv; /* for conversion between an encoding and UTF-16 */
-  UConverter *utf8; /* for conversion between UTF-8 and UTF-16 */
-  UChar      pivot_buf[ICU_PIVOT_BUF_SIZE];
-  UChar      *pivot_source;
-  UChar      *pivot_target;
-};
-typedef struct _uconv_t uconv_t;
-#endif
-
 typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
 typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
 struct _xmlCharEncodingHandler {
@@ -152,8 +137,8 @@
     iconv_t                    iconv_out;
 #endif /* LIBXML_ICONV_ENABLED */
 #ifdef LIBXML_ICU_ENABLED
-    uconv_t                    *uconv_in;
-    uconv_t                    *uconv_out;
+    struct _uconv_t            *uconv_in;
+    struct _uconv_t            *uconv_out;
 #endif /* LIBXML_ICU_ENABLED */
 };
 
@@ -168,17 +153,19 @@
 /*
  * Interfaces for encoding handlers.
  */
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 	xmlInitCharEncodingHandlers	(void);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 	xmlCleanupCharEncodingHandlers	(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlRegisterCharEncodingHandler	(xmlCharEncodingHandlerPtr handler);
-XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
+XMLPUBFUN xmlCharEncodingHandlerPtr
 	xmlGetCharEncodingHandler	(xmlCharEncoding enc);
-XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
+XMLPUBFUN xmlCharEncodingHandlerPtr
 	xmlFindCharEncodingHandler	(const char *name);
-XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
+XMLPUBFUN xmlCharEncodingHandlerPtr
 	xmlNewCharEncodingHandler	(const char *name,
 					 xmlCharEncodingInputFunc input,
 					 xmlCharEncodingOutputFunc output);
@@ -186,54 +173,54 @@
 /*
  * Interfaces for encoding names and aliases.
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlAddEncodingAlias		(const char *name,
 					 const char *alias);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlDelEncodingAlias		(const char *alias);
-XMLPUBFUN const char * XMLCALL
+XMLPUBFUN const char *
 	xmlGetEncodingAlias		(const char *alias);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlCleanupEncodingAliases	(void);
-XMLPUBFUN xmlCharEncoding XMLCALL
+XMLPUBFUN xmlCharEncoding
 	xmlParseCharEncoding		(const char *name);
-XMLPUBFUN const char * XMLCALL
+XMLPUBFUN const char *
 	xmlGetCharEncodingName		(xmlCharEncoding enc);
 
 /*
  * Interfaces directly used by the parsers.
  */
-XMLPUBFUN xmlCharEncoding XMLCALL
+XMLPUBFUN xmlCharEncoding
 	xmlDetectCharEncoding		(const unsigned char *in,
 					 int len);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlCharEncOutFunc		(xmlCharEncodingHandler *handler,
 					 xmlBufferPtr out,
 					 xmlBufferPtr in);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlCharEncInFunc		(xmlCharEncodingHandler *handler,
 					 xmlBufferPtr out,
 					 xmlBufferPtr in);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlCharEncFirstLine		(xmlCharEncodingHandler *handler,
 					 xmlBufferPtr out,
 					 xmlBufferPtr in);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlCharEncCloseFunc		(xmlCharEncodingHandler *handler);
 
 /*
  * Export a few useful functions
  */
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	UTF8Toisolat1			(unsigned char *out,
 					 int *outlen,
 					 const unsigned char *in,
 					 int *inlen);
 #endif /* LIBXML_OUTPUT_ENABLED */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	isolat1ToUTF8			(unsigned char *out,
 					 int *outlen,
 					 const unsigned char *in,
diff --git a/include/libxml/entities.h b/include/libxml/entities.h
index 2b60d9e..2c69514 100644
--- a/include/libxml/entities.h
+++ b/include/libxml/entities.h
@@ -56,10 +56,8 @@
     struct _xmlEntity     *nexte;	/* unused */
     const xmlChar           *URI;	/* the full URI as computed */
     int                    owner;	/* does the entity own the childrens */
-    int			 checked;	/* was the entity content checked */
-					/* this is also used to count entities
-					 * references done from that entity
-					 * and if it contains '<' */
+    int                    flags;       /* various flags */
+    unsigned long   expandedSize;       /* expanded size */
 };
 
 /*
@@ -76,72 +74,72 @@
 
 #ifdef LIBXML_LEGACY_ENABLED
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlInitializePredefinedEntities	(void);
 #endif /* LIBXML_LEGACY_ENABLED */
 
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr
 			xmlNewEntity		(xmlDocPtr doc,
 						 const xmlChar *name,
 						 int type,
 						 const xmlChar *ExternalID,
 						 const xmlChar *SystemID,
 						 const xmlChar *content);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr
 			xmlAddDocEntity		(xmlDocPtr doc,
 						 const xmlChar *name,
 						 int type,
 						 const xmlChar *ExternalID,
 						 const xmlChar *SystemID,
 						 const xmlChar *content);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr
 			xmlAddDtdEntity		(xmlDocPtr doc,
 						 const xmlChar *name,
 						 int type,
 						 const xmlChar *ExternalID,
 						 const xmlChar *SystemID,
 						 const xmlChar *content);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr
 			xmlGetPredefinedEntity	(const xmlChar *name);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr
 			xmlGetDocEntity		(const xmlDoc *doc,
 						 const xmlChar *name);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr
 			xmlGetDtdEntity		(xmlDocPtr doc,
 						 const xmlChar *name);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr
 			xmlGetParameterEntity	(xmlDocPtr doc,
 						 const xmlChar *name);
 #ifdef LIBXML_LEGACY_ENABLED
 XML_DEPRECATED
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 			xmlEncodeEntities	(xmlDocPtr doc,
 						 const xmlChar *input);
 #endif /* LIBXML_LEGACY_ENABLED */
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlEncodeEntitiesReentrant(xmlDocPtr doc,
 						 const xmlChar *input);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlEncodeSpecialChars	(const xmlDoc *doc,
 						 const xmlChar *input);
-XMLPUBFUN xmlEntitiesTablePtr XMLCALL
+XMLPUBFUN xmlEntitiesTablePtr
 			xmlCreateEntitiesTable	(void);
 #ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlEntitiesTablePtr XMLCALL
+XMLPUBFUN xmlEntitiesTablePtr
 			xmlCopyEntitiesTable	(xmlEntitiesTablePtr table);
 #endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlFreeEntitiesTable	(xmlEntitiesTablePtr table);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlDumpEntitiesTable	(xmlBufferPtr buf,
 						 xmlEntitiesTablePtr table);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlDumpEntityDecl	(xmlBufferPtr buf,
 						 xmlEntityPtr ent);
 #endif /* LIBXML_OUTPUT_ENABLED */
 #ifdef LIBXML_LEGACY_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlCleanupPredefinedEntities(void);
 #endif /* LIBXML_LEGACY_ENABLED */
 
diff --git a/include/libxml/globals.h b/include/libxml/globals.h
index 5e41b7b..5969729 100644
--- a/include/libxml/globals.h
+++ b/include/libxml/globals.h
@@ -24,8 +24,10 @@
 extern "C" {
 #endif
 
-XMLPUBFUN void XMLCALL xmlInitGlobals(void);
-XMLPUBFUN void XMLCALL xmlCleanupGlobals(void);
+XML_DEPRECATED
+XMLPUBFUN void xmlInitGlobals(void);
+XML_DEPRECATED
+XMLPUBFUN void xmlCleanupGlobals(void);
 
 /**
  * xmlParserInputBufferCreateFilenameFunc:
@@ -58,16 +60,15 @@
 								 int compression);
 
 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
-XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
+xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
 XMLPUBFUN xmlOutputBufferCreateFilenameFunc
-XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);
+xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);
 
 /*
  * Externally global symbols which need to be protected for backwards
  * compatibility support.
  */
 
-#undef	docbDefaultSAXHandler
 #undef	htmlDefaultSAXHandler
 #undef	oldXMLWDcompatibility
 #undef	xmlBufferAllocScheme
@@ -124,7 +125,7 @@
 
 	xmlSAXLocator xmlDefaultSAXLocator;
 	xmlSAXHandlerV1 xmlDefaultSAXHandler;
-	xmlSAXHandlerV1 docbDefaultSAXHandler;
+	xmlSAXHandlerV1 docbDefaultSAXHandler; /* unused */
 	xmlSAXHandlerV1 htmlDefaultSAXHandler;
 
 	xmlFreeFunc xmlFree;
@@ -174,24 +175,23 @@
 extern "C" {
 #endif
 
-XMLPUBFUN void XMLCALL	xmlInitializeGlobalState(xmlGlobalStatePtr gs);
+XMLPUBFUN void	xmlInitializeGlobalState(xmlGlobalStatePtr gs);
 
-XMLPUBFUN void XMLCALL xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
+XMLPUBFUN void xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
 
-XMLPUBFUN void XMLCALL xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);
+XMLPUBFUN void xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);
 
-XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
-XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
-XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
-XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
+XMLPUBFUN xmlRegisterNodeFunc xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
+XMLPUBFUN xmlRegisterNodeFunc xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
+XMLPUBFUN xmlDeregisterNodeFunc xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
+XMLPUBFUN xmlDeregisterNodeFunc xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
 
-XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
+XMLPUBFUN xmlOutputBufferCreateFilenameFunc
 	xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
-XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
+XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
 	xmlThrDefParserInputBufferCreateFilenameDefault(
 				xmlParserInputBufferCreateFilenameFunc func);
 
-/** DOC_DISABLE */
 /*
  * In general the memory allocation entry points are not kept
  * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
@@ -203,8 +203,10 @@
  */
 
 #ifdef LIBXML_THREAD_ALLOC_ENABLED
+/** DOC_DISABLE */
+
 #ifdef LIBXML_THREAD_ENABLED
-XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMalloc(void);
+XMLPUBFUN  xmlMallocFunc * __xmlMalloc(void);
 #define xmlMalloc \
 (*(__xmlMalloc()))
 #else
@@ -212,7 +214,7 @@
 #endif
 
 #ifdef LIBXML_THREAD_ENABLED
-XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMallocAtomic(void);
+XMLPUBFUN  xmlMallocFunc * __xmlMallocAtomic(void);
 #define xmlMallocAtomic \
 (*(__xmlMallocAtomic()))
 #else
@@ -220,7 +222,7 @@
 #endif
 
 #ifdef LIBXML_THREAD_ENABLED
-XMLPUBFUN  xmlReallocFunc * XMLCALL __xmlRealloc(void);
+XMLPUBFUN  xmlReallocFunc * __xmlRealloc(void);
 #define xmlRealloc \
 (*(__xmlRealloc()))
 #else
@@ -228,7 +230,7 @@
 #endif
 
 #ifdef LIBXML_THREAD_ENABLED
-XMLPUBFUN  xmlFreeFunc * XMLCALL __xmlFree(void);
+XMLPUBFUN  xmlFreeFunc * __xmlFree(void);
 #define xmlFree \
 (*(__xmlFree()))
 #else
@@ -236,13 +238,14 @@
 #endif
 
 #ifdef LIBXML_THREAD_ENABLED
-XMLPUBFUN  xmlStrdupFunc * XMLCALL __xmlMemStrdup(void);
+XMLPUBFUN  xmlStrdupFunc * __xmlMemStrdup(void);
 #define xmlMemStrdup \
 (*(__xmlMemStrdup()))
 #else
 XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
 #endif
 
+/** DOC_ENABLE */
 #else /* !LIBXML_THREAD_ALLOC_ENABLED */
 XMLPUBVAR xmlMallocFunc xmlMalloc;
 XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
@@ -251,27 +254,19 @@
 XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
 #endif /* LIBXML_THREAD_ALLOC_ENABLED */
 
-#ifdef LIBXML_DOCB_ENABLED
-XMLPUBFUN  xmlSAXHandlerV1 * XMLCALL __docbDefaultSAXHandler(void);
-#ifdef LIBXML_THREAD_ENABLED
-#define docbDefaultSAXHandler \
-(*(__docbDefaultSAXHandler()))
-#else
-XMLPUBVAR xmlSAXHandlerV1 docbDefaultSAXHandler;
-#endif
-#endif
-
 #ifdef LIBXML_HTML_ENABLED
-XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __htmlDefaultSAXHandler(void);
+XML_DEPRECATED
+XMLPUBFUN xmlSAXHandlerV1 * __htmlDefaultSAXHandler(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define htmlDefaultSAXHandler \
 (*(__htmlDefaultSAXHandler()))
 #else
+XML_DEPRECATED
 XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler;
 #endif
 #endif
 
-XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
+XMLPUBFUN xmlError * __xmlLastError(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlLastError \
 (*(__xmlLastError()))
@@ -286,59 +281,71 @@
  */
 
 
-XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
+XML_DEPRECATED
+XMLPUBFUN int * __oldXMLWDcompatibility(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define oldXMLWDcompatibility \
 (*(__oldXMLWDcompatibility()))
 #else
+XML_DEPRECATED
 XMLPUBVAR int oldXMLWDcompatibility;
 #endif
 
-XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
+XML_DEPRECATED
+XMLPUBFUN xmlBufferAllocationScheme * __xmlBufferAllocScheme(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlBufferAllocScheme \
 (*(__xmlBufferAllocScheme()))
 #else
+XML_DEPRECATED
 XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
 #endif
-XMLPUBFUN xmlBufferAllocationScheme XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlBufferAllocationScheme
 	xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
 
-XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
+XML_DEPRECATED
+XMLPUBFUN int * __xmlDefaultBufferSize(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlDefaultBufferSize \
 (*(__xmlDefaultBufferSize()))
 #else
+XML_DEPRECATED
 XMLPUBVAR int xmlDefaultBufferSize;
 #endif
-XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);
+XML_DEPRECATED
+XMLPUBFUN int xmlThrDefDefaultBufferSize(int v);
 
-XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
+XML_DEPRECATED
+XMLPUBFUN xmlSAXHandlerV1 * __xmlDefaultSAXHandler(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlDefaultSAXHandler \
 (*(__xmlDefaultSAXHandler()))
 #else
+XML_DEPRECATED
 XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
 #endif
 
-XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
+XML_DEPRECATED
+XMLPUBFUN xmlSAXLocator * __xmlDefaultSAXLocator(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlDefaultSAXLocator \
 (*(__xmlDefaultSAXLocator()))
 #else
+XML_DEPRECATED
 XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
 #endif
 
-XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
+XMLPUBFUN int * __xmlDoValidityCheckingDefaultValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlDoValidityCheckingDefaultValue \
 (*(__xmlDoValidityCheckingDefaultValue()))
 #else
 XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
 #endif
-XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);
+XMLPUBFUN int xmlThrDefDoValidityCheckingDefaultValue(int v);
 
-XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
+XMLPUBFUN xmlGenericErrorFunc * __xmlGenericError(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlGenericError \
 (*(__xmlGenericError()))
@@ -346,7 +353,7 @@
 XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
 #endif
 
-XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
+XMLPUBFUN xmlStructuredErrorFunc * __xmlStructuredError(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlStructuredError \
 (*(__xmlStructuredError()))
@@ -354,7 +361,7 @@
 XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
 #endif
 
-XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
+XMLPUBFUN void * * __xmlGenericErrorContext(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlGenericErrorContext \
 (*(__xmlGenericErrorContext()))
@@ -362,7 +369,7 @@
 XMLPUBVAR void * xmlGenericErrorContext;
 #endif
 
-XMLPUBFUN void * * XMLCALL __xmlStructuredErrorContext(void);
+XMLPUBFUN void * * __xmlStructuredErrorContext(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlStructuredErrorContext \
 (*(__xmlStructuredErrorContext()))
@@ -370,70 +377,73 @@
 XMLPUBVAR void * xmlStructuredErrorContext;
 #endif
 
-XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
+XMLPUBFUN int * __xmlGetWarningsDefaultValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlGetWarningsDefaultValue \
 (*(__xmlGetWarningsDefaultValue()))
 #else
 XMLPUBVAR int xmlGetWarningsDefaultValue;
 #endif
-XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);
+XMLPUBFUN int xmlThrDefGetWarningsDefaultValue(int v);
 
-XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
+XMLPUBFUN int * __xmlIndentTreeOutput(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlIndentTreeOutput \
 (*(__xmlIndentTreeOutput()))
 #else
 XMLPUBVAR int xmlIndentTreeOutput;
 #endif
-XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);
+XMLPUBFUN int xmlThrDefIndentTreeOutput(int v);
 
-XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
+XMLPUBFUN const char * * __xmlTreeIndentString(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlTreeIndentString \
 (*(__xmlTreeIndentString()))
 #else
 XMLPUBVAR const char * xmlTreeIndentString;
 #endif
-XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);
+XMLPUBFUN const char * xmlThrDefTreeIndentString(const char * v);
 
-XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
+XMLPUBFUN int * __xmlKeepBlanksDefaultValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlKeepBlanksDefaultValue \
 (*(__xmlKeepBlanksDefaultValue()))
 #else
 XMLPUBVAR int xmlKeepBlanksDefaultValue;
 #endif
-XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);
+XMLPUBFUN int xmlThrDefKeepBlanksDefaultValue(int v);
 
-XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
+XML_DEPRECATED
+XMLPUBFUN int * __xmlLineNumbersDefaultValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlLineNumbersDefaultValue \
 (*(__xmlLineNumbersDefaultValue()))
 #else
+XML_DEPRECATED
 XMLPUBVAR int xmlLineNumbersDefaultValue;
 #endif
-XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);
+XML_DEPRECATED
+XMLPUBFUN int xmlThrDefLineNumbersDefaultValue(int v);
 
-XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
+XMLPUBFUN int * __xmlLoadExtDtdDefaultValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlLoadExtDtdDefaultValue \
 (*(__xmlLoadExtDtdDefaultValue()))
 #else
 XMLPUBVAR int xmlLoadExtDtdDefaultValue;
 #endif
-XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);
+XMLPUBFUN int xmlThrDefLoadExtDtdDefaultValue(int v);
 
-XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
+XMLPUBFUN int * __xmlParserDebugEntities(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlParserDebugEntities \
 (*(__xmlParserDebugEntities()))
 #else
 XMLPUBVAR int xmlParserDebugEntities;
 #endif
-XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);
+XMLPUBFUN int xmlThrDefParserDebugEntities(int v);
 
-XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
+XMLPUBFUN const char * * __xmlParserVersion(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlParserVersion \
 (*(__xmlParserVersion()))
@@ -441,63 +451,74 @@
 XMLPUBVAR const char * xmlParserVersion;
 #endif
 
-XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
+XML_DEPRECATED
+XMLPUBFUN int * __xmlPedanticParserDefaultValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlPedanticParserDefaultValue \
 (*(__xmlPedanticParserDefaultValue()))
 #else
+XML_DEPRECATED
 XMLPUBVAR int xmlPedanticParserDefaultValue;
 #endif
-XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);
+XML_DEPRECATED
+XMLPUBFUN int xmlThrDefPedanticParserDefaultValue(int v);
 
-XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
+XMLPUBFUN int * __xmlSaveNoEmptyTags(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlSaveNoEmptyTags \
 (*(__xmlSaveNoEmptyTags()))
 #else
 XMLPUBVAR int xmlSaveNoEmptyTags;
 #endif
-XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);
+XMLPUBFUN int xmlThrDefSaveNoEmptyTags(int v);
 
-XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
+XMLPUBFUN int * __xmlSubstituteEntitiesDefaultValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlSubstituteEntitiesDefaultValue \
 (*(__xmlSubstituteEntitiesDefaultValue()))
 #else
 XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
 #endif
-XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);
+XMLPUBFUN int xmlThrDefSubstituteEntitiesDefaultValue(int v);
 
-XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
+XML_DEPRECATED
+XMLPUBFUN xmlRegisterNodeFunc * __xmlRegisterNodeDefaultValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlRegisterNodeDefaultValue \
 (*(__xmlRegisterNodeDefaultValue()))
 #else
+XML_DEPRECATED
 XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
 #endif
 
-XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
+XML_DEPRECATED
+XMLPUBFUN xmlDeregisterNodeFunc * __xmlDeregisterNodeDefaultValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlDeregisterNodeDefaultValue \
 (*(__xmlDeregisterNodeDefaultValue()))
 #else
+XML_DEPRECATED
 XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
 #endif
 
-XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL \
+XML_DEPRECATED
+XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * \
 				__xmlParserInputBufferCreateFilenameValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlParserInputBufferCreateFilenameValue \
 (*(__xmlParserInputBufferCreateFilenameValue()))
 #else
+XML_DEPRECATED
 XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
 #endif
 
-XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
+XML_DEPRECATED
+XMLPUBFUN xmlOutputBufferCreateFilenameFunc * __xmlOutputBufferCreateFilenameValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlOutputBufferCreateFilenameValue \
 (*(__xmlOutputBufferCreateFilenameValue()))
 #else
+XML_DEPRECATED
 XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
 #endif
 
diff --git a/include/libxml/hash.h b/include/libxml/hash.h
index b682b6b..1dac035 100644
--- a/include/libxml/hash.h
+++ b/include/libxml/hash.h
@@ -103,48 +103,48 @@
 /*
  * Constructor and destructor.
  */
-XMLPUBFUN xmlHashTablePtr XMLCALL
+XMLPUBFUN xmlHashTablePtr
 			xmlHashCreate	(int size);
-XMLPUBFUN xmlHashTablePtr XMLCALL
+XMLPUBFUN xmlHashTablePtr
 			xmlHashCreateDict(int size,
 					 xmlDictPtr dict);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlHashFree	(xmlHashTablePtr table,
 					 xmlHashDeallocator f);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlHashDefaultDeallocator(void *entry,
 					 const xmlChar *name);
 
 /*
  * Add a new entry to the hash table.
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlHashAddEntry	(xmlHashTablePtr table,
 		                         const xmlChar *name,
 		                         void *userdata);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlHashUpdateEntry(xmlHashTablePtr table,
 		                         const xmlChar *name,
 		                         void *userdata,
 					 xmlHashDeallocator f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlHashAddEntry2(xmlHashTablePtr table,
 		                         const xmlChar *name,
 		                         const xmlChar *name2,
 		                         void *userdata);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlHashUpdateEntry2(xmlHashTablePtr table,
 		                         const xmlChar *name,
 		                         const xmlChar *name2,
 		                         void *userdata,
 					 xmlHashDeallocator f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlHashAddEntry3(xmlHashTablePtr table,
 		                         const xmlChar *name,
 		                         const xmlChar *name2,
 		                         const xmlChar *name3,
 		                         void *userdata);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlHashUpdateEntry3(xmlHashTablePtr table,
 		                         const xmlChar *name,
 		                         const xmlChar *name2,
@@ -155,13 +155,13 @@
 /*
  * Remove an entry from the hash table.
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name,
                            xmlHashDeallocator f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name,
                             const xmlChar *name2, xmlHashDeallocator f);
-XMLPUBFUN int  XMLCALL
+XMLPUBFUN int 
 			xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name,
                             const xmlChar *name2, const xmlChar *name3,
                             xmlHashDeallocator f);
@@ -169,29 +169,29 @@
 /*
  * Retrieve the userdata.
  */
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 			xmlHashLookup	(xmlHashTablePtr table,
 					 const xmlChar *name);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 			xmlHashLookup2	(xmlHashTablePtr table,
 					 const xmlChar *name,
 					 const xmlChar *name2);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 			xmlHashLookup3	(xmlHashTablePtr table,
 					 const xmlChar *name,
 					 const xmlChar *name2,
 					 const xmlChar *name3);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 			xmlHashQLookup	(xmlHashTablePtr table,
 					 const xmlChar *name,
 					 const xmlChar *prefix);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 			xmlHashQLookup2	(xmlHashTablePtr table,
 					 const xmlChar *name,
 					 const xmlChar *prefix,
 					 const xmlChar *name2,
 					 const xmlChar *prefix2);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 			xmlHashQLookup3	(xmlHashTablePtr table,
 					 const xmlChar *name,
 					 const xmlChar *prefix,
@@ -203,27 +203,27 @@
 /*
  * Helpers.
  */
-XMLPUBFUN xmlHashTablePtr XMLCALL
+XMLPUBFUN xmlHashTablePtr
 			xmlHashCopy	(xmlHashTablePtr table,
 					 xmlHashCopier f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlHashSize	(xmlHashTablePtr table);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlHashScan	(xmlHashTablePtr table,
 					 xmlHashScanner f,
 					 void *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlHashScan3	(xmlHashTablePtr table,
 					 const xmlChar *name,
 					 const xmlChar *name2,
 					 const xmlChar *name3,
 					 xmlHashScanner f,
 					 void *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlHashScanFull	(xmlHashTablePtr table,
 					 xmlHashScannerFull f,
 					 void *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlHashScanFull3(xmlHashTablePtr table,
 					 const xmlChar *name,
 					 const xmlChar *name2,
diff --git a/include/libxml/list.h b/include/libxml/list.h
index 3211c75..5eab8f5 100644
--- a/include/libxml/list.h
+++ b/include/libxml/list.h
@@ -52,79 +52,79 @@
 typedef int (*xmlListWalker) (const void *data, void *user);
 
 /* Creation/Deletion */
-XMLPUBFUN xmlListPtr XMLCALL
+XMLPUBFUN xmlListPtr
 		xmlListCreate		(xmlListDeallocator deallocator,
 	                                 xmlListDataCompare compare);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlListDelete		(xmlListPtr l);
 
 /* Basic Operators */
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 		xmlListSearch		(xmlListPtr l,
 					 void *data);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 		xmlListReverseSearch	(xmlListPtr l,
 					 void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlListInsert		(xmlListPtr l,
 					 void *data) ;
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlListAppend		(xmlListPtr l,
 					 void *data) ;
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlListRemoveFirst	(xmlListPtr l,
 					 void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlListRemoveLast	(xmlListPtr l,
 					 void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlListRemoveAll	(xmlListPtr l,
 					 void *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlListClear		(xmlListPtr l);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlListEmpty		(xmlListPtr l);
-XMLPUBFUN xmlLinkPtr XMLCALL
+XMLPUBFUN xmlLinkPtr
 		xmlListFront		(xmlListPtr l);
-XMLPUBFUN xmlLinkPtr XMLCALL
+XMLPUBFUN xmlLinkPtr
 		xmlListEnd		(xmlListPtr l);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlListSize		(xmlListPtr l);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlListPopFront		(xmlListPtr l);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlListPopBack		(xmlListPtr l);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlListPushFront	(xmlListPtr l,
 					 void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlListPushBack		(xmlListPtr l,
 					 void *data);
 
 /* Advanced Operators */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlListReverse		(xmlListPtr l);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlListSort		(xmlListPtr l);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlListWalk		(xmlListPtr l,
 					 xmlListWalker walker,
 					 void *user);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlListReverseWalk	(xmlListPtr l,
 					 xmlListWalker walker,
 					 void *user);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlListMerge		(xmlListPtr l1,
 					 xmlListPtr l2);
-XMLPUBFUN xmlListPtr XMLCALL
+XMLPUBFUN xmlListPtr
 		xmlListDup		(const xmlListPtr old);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlListCopy		(xmlListPtr cur,
 					 const xmlListPtr old);
 /* Link operators */
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 		xmlLinkGetData          (xmlLinkPtr lk);
 
 /* xmlListUnique() */
diff --git a/include/libxml/nanoftp.h b/include/libxml/nanoftp.h
index 37f47d7..87a22aa 100644
--- a/include/libxml/nanoftp.h
+++ b/include/libxml/nanoftp.h
@@ -17,7 +17,7 @@
 #ifdef LIBXML_FTP_ENABLED
 
 /* Needed for portability to Windows 64 bits */
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
 #include <winsock2.h>
 #else
 /**
@@ -80,52 +80,52 @@
  * Init
  */
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlNanoFTPInit		(void);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlNanoFTPCleanup	(void);
 
 /*
  * Creating/freeing contexts.
  */
 XML_DEPRECATED
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlNanoFTPNewCtxt	(const char *URL);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlNanoFTPFreeCtxt	(void * ctx);
 XML_DEPRECATED
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlNanoFTPConnectTo	(const char *server,
 				 int port);
 /*
  * Opening/closing session connections.
  */
 XML_DEPRECATED
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlNanoFTPOpen		(const char *URL);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPConnect	(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPClose		(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPQuit		(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlNanoFTPScanProxy	(const char *URL);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlNanoFTPProxy		(const char *host,
 				 int port,
 				 const char *user,
 				 const char *passwd,
 				 int type);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPUpdateURL	(void *ctx,
 				 const char *URL);
 
@@ -133,48 +133,48 @@
  * Rather internal commands.
  */
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPGetResponse	(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPCheckResponse	(void *ctx);
 
 /*
  * CD/DIR/GET handlers.
  */
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPCwd		(void *ctx,
 				 const char *directory);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPDele		(void *ctx,
 				 const char *file);
 
 XML_DEPRECATED
-XMLPUBFUN SOCKET XMLCALL
+XMLPUBFUN SOCKET
 	xmlNanoFTPGetConnection	(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPCloseConnection(void *ctx);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPList		(void *ctx,
 				 ftpListCallback callback,
 				 void *userData,
 				 const char *filename);
 XML_DEPRECATED
-XMLPUBFUN SOCKET XMLCALL
+XMLPUBFUN SOCKET
 	xmlNanoFTPGetSocket	(void *ctx,
 				 const char *filename);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPGet		(void *ctx,
 				 ftpDataCallback callback,
 				 void *userData,
 				 const char *filename);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoFTPRead		(void *ctx,
 				 void *dest,
 				 int len);
diff --git a/include/libxml/nanohttp.h b/include/libxml/nanohttp.h
index 22b8fb4..3b5e037 100644
--- a/include/libxml/nanohttp.h
+++ b/include/libxml/nanohttp.h
@@ -18,24 +18,24 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlNanoHTTPInit		(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlNanoHTTPCleanup	(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlNanoHTTPScanProxy	(const char *URL);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoHTTPFetch	(const char *URL,
 				 const char *filename,
 				 char **contentType);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlNanoHTTPMethod	(const char *URL,
 				 const char *method,
 				 const char *input,
 				 char **contentType,
 				 const char *headers,
 				 int   ilen);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlNanoHTTPMethodRedir	(const char *URL,
 				 const char *method,
 				 const char *input,
@@ -43,35 +43,35 @@
 				 char **redir,
 				 const char *headers,
 				 int   ilen);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlNanoHTTPOpen		(const char *URL,
 				 char **contentType);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlNanoHTTPOpenRedir	(const char *URL,
 				 char **contentType,
 				 char **redir);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoHTTPReturnCode	(void *ctx);
-XMLPUBFUN const char * XMLCALL
+XMLPUBFUN const char *
 	xmlNanoHTTPAuthHeader	(void *ctx);
-XMLPUBFUN const char * XMLCALL
+XMLPUBFUN const char *
 	xmlNanoHTTPRedir	(void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoHTTPContentLength( void * ctx );
-XMLPUBFUN const char * XMLCALL
+XMLPUBFUN const char *
 	xmlNanoHTTPEncoding	(void *ctx);
-XMLPUBFUN const char * XMLCALL
+XMLPUBFUN const char *
 	xmlNanoHTTPMimeType	(void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoHTTPRead		(void *ctx,
 				 void *dest,
 				 int len);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlNanoHTTPSave		(void *ctxt,
 				 const char *filename);
 #endif /* LIBXML_OUTPUT_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlNanoHTTPClose	(void *ctx);
 #ifdef __cplusplus
 }
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index 5dad587..950ebe3 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -10,8 +10,6 @@
 #ifndef __XML_PARSER_H__
 #define __XML_PARSER_H__
 
-#include <stdarg.h>
-
 #include <libxml/xmlversion.h>
 #include <libxml/tree.h>
 #include <libxml/dict.h>
@@ -63,17 +61,14 @@
     int length;                       /* length if known */
     int line;                         /* Current line */
     int col;                          /* Current column */
-    /*
-     * NOTE: consumed is only tested for equality in the parser code,
-     *       so even if there is an overflow this should not give troubles
-     *       for parsing very large instances.
-     */
     unsigned long consumed;           /* How many xmlChars already consumed */
     xmlParserInputDeallocate free;    /* function to deallocate the base */
     const xmlChar *encoding;          /* the encoding string for entity */
     const xmlChar *version;           /* the version string for entity */
     int standalone;                   /* Was that entity marked standalone */
     int id;                           /* an unique identifier for the entity */
+    unsigned long parentConsumed;     /* consumed bytes from parents */
+    xmlEntityPtr entity;              /* entity, if any */
 };
 
 /**
@@ -192,7 +187,7 @@
     const xmlChar    *version;        /* the XML version string */
     const xmlChar   *encoding;        /* the declared encoding, if any */
     int            standalone;        /* standalone document */
-    int                  html;        /* an HTML(1)/Docbook(2) document
+    int                  html;        /* an HTML(1) document
                                        * 3 is HTML after <head>
                                        * 10 is HTML after <body>
                                        */
@@ -302,7 +297,7 @@
      */
     xmlError          lastError;
     xmlParserMode     parseMode;    /* the parser mode */
-    unsigned long    nbentities;    /* number of entities references */
+    unsigned long    nbentities;    /* unused */
     unsigned long  sizeentities;    /* size of parsed entities */
 
     /* for use by HTML non-recursive parser */
@@ -313,6 +308,10 @@
 
     int                input_id;      /* we need to label inputs */
     unsigned long      sizeentcopy;   /* volume of entity copy */
+
+    int           endCheckState;    /* quote state for push parser */
+    unsigned short     nbErrors;    /* number of errors */
+    unsigned short   nbWarnings;    /* number of warnings */
 };
 
 /**
@@ -607,7 +606,7 @@
  *
  * Display and format a warning messages, callback.
  */
-typedef void (XMLCDECL *warningSAXFunc) (void *ctx,
+typedef void (*warningSAXFunc) (void *ctx,
 				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 /**
  * errorSAXFunc:
@@ -617,7 +616,7 @@
  *
  * Display and format an error messages, callback.
  */
-typedef void (XMLCDECL *errorSAXFunc) (void *ctx,
+typedef void (*errorSAXFunc) (void *ctx,
 				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 /**
  * fatalErrorSAXFunc:
@@ -629,7 +628,7 @@
  * Note: so far fatalError() SAX callbacks are not used, error()
  *       get all the callbacks for errors.
  */
-typedef void (XMLCDECL *fatalErrorSAXFunc) (void *ctx,
+typedef void (*fatalErrorSAXFunc) (void *ctx,
 				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 /**
  * isStandaloneSAXFunc:
@@ -821,18 +820,20 @@
 /*
  * Init/Cleanup
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlInitParser		(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlCleanupParser	(void);
 
 /*
  * Input functions
  */
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 		xmlParserInputRead	(xmlParserInputPtr in,
 					 int len);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 		xmlParserInputGrow	(xmlParserInputPtr in,
 					 int len);
 
@@ -840,101 +841,114 @@
  * Basic parsing Interfaces
  */
 #ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlParseDoc		(const xmlChar *cur);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlParseFile		(const char *filename);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlParseMemory		(const char *buffer,
 					 int size);
 #endif /* LIBXML_SAX1_ENABLED */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSubstituteEntitiesDefault(int val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlKeepBlanksDefault	(int val);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlStopParser		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlPedanticParserDefault(int val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlLineNumbersDefault	(int val);
 
 #ifdef LIBXML_SAX1_ENABLED
 /*
  * Recovery mode
  */
-XMLPUBFUN xmlDocPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlDocPtr
 		xmlRecoverDoc		(const xmlChar *cur);
-XMLPUBFUN xmlDocPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlDocPtr
 		xmlRecoverMemory	(const char *buffer,
 					 int size);
-XMLPUBFUN xmlDocPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlDocPtr
 		xmlRecoverFile		(const char *filename);
 #endif /* LIBXML_SAX1_ENABLED */
 
 /*
  * Less common routines and SAX interfaces
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlParseDocument	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlParseExtParsedEnt	(xmlParserCtxtPtr ctxt);
 #ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 		xmlSAXUserParseFile	(xmlSAXHandlerPtr sax,
 					 void *user_data,
 					 const char *filename);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 		xmlSAXUserParseMemory	(xmlSAXHandlerPtr sax,
 					 void *user_data,
 					 const char *buffer,
 					 int size);
-XMLPUBFUN xmlDocPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlDocPtr
 		xmlSAXParseDoc		(xmlSAXHandlerPtr sax,
 					 const xmlChar *cur,
 					 int recovery);
-XMLPUBFUN xmlDocPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlDocPtr
 		xmlSAXParseMemory	(xmlSAXHandlerPtr sax,
 					 const char *buffer,
 					 int size,
 					 int recovery);
-XMLPUBFUN xmlDocPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlDocPtr
 		xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax,
 					 const char *buffer,
 					 int size,
 					 int recovery,
 					 void *data);
-XMLPUBFUN xmlDocPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlDocPtr
 		xmlSAXParseFile		(xmlSAXHandlerPtr sax,
 					 const char *filename,
 					 int recovery);
-XMLPUBFUN xmlDocPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlDocPtr
 		xmlSAXParseFileWithData	(xmlSAXHandlerPtr sax,
 					 const char *filename,
 					 int recovery,
 					 void *data);
-XMLPUBFUN xmlDocPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlDocPtr
 		xmlSAXParseEntity	(xmlSAXHandlerPtr sax,
 					 const char *filename);
-XMLPUBFUN xmlDocPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlDocPtr
 		xmlParseEntity		(const char *filename);
 #endif /* LIBXML_SAX1_ENABLED */
 
 #ifdef LIBXML_VALID_ENABLED
-XMLPUBFUN xmlDtdPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlDtdPtr
 		xmlSAXParseDTD		(xmlSAXHandlerPtr sax,
 					 const xmlChar *ExternalID,
 					 const xmlChar *SystemID);
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr
 		xmlParseDTD		(const xmlChar *ExternalID,
 					 const xmlChar *SystemID);
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr
 		xmlIOParseDTD		(xmlSAXHandlerPtr sax,
 					 xmlParserInputBufferPtr input,
 					 xmlCharEncoding enc);
 #endif /* LIBXML_VALID_ENABLE */
 #ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlParseBalancedChunkMemory(xmlDocPtr doc,
 					 xmlSAXHandlerPtr sax,
 					 void *user_data,
@@ -942,14 +956,14 @@
 					 const xmlChar *string,
 					 xmlNodePtr *lst);
 #endif /* LIBXML_SAX1_ENABLED */
-XMLPUBFUN xmlParserErrors XMLCALL
+XMLPUBFUN xmlParserErrors
 		xmlParseInNodeContext	(xmlNodePtr node,
 					 const char *data,
 					 int datalen,
 					 int options,
 					 xmlNodePtr *lst);
 #ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc,
                      xmlSAXHandlerPtr sax,
                      void *user_data,
@@ -957,7 +971,8 @@
                      const xmlChar *string,
                      xmlNodePtr *lst,
                      int recover);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 		xmlParseExternalEntity	(xmlDocPtr doc,
 					 xmlSAXHandlerPtr sax,
 					 void *user_data,
@@ -966,7 +981,7 @@
 					 const xmlChar *ID,
 					 xmlNodePtr *lst);
 #endif /* LIBXML_SAX1_ENABLED */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx,
 					 const xmlChar *URL,
 					 const xmlChar *ID,
@@ -975,21 +990,25 @@
 /*
  * Parser contexts handling.
  */
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr
 		xmlNewParserCtxt	(void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN xmlParserCtxtPtr
+		xmlNewSAXParserCtxt	(const xmlSAXHandler *sax,
+					 void *userData);
+XMLPUBFUN int
 		xmlInitParserCtxt	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlClearParserCtxt	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeParserCtxt	(xmlParserCtxtPtr ctxt);
 #ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 		xmlSetupParserForBuffer	(xmlParserCtxtPtr ctxt,
 					 const xmlChar* buffer,
 					 const char *filename);
 #endif /* LIBXML_SAX1_ENABLED */
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr
 		xmlCreateDocParserCtxt	(const xmlChar *cur);
 
 #ifdef LIBXML_LEGACY_ENABLED
@@ -997,16 +1016,16 @@
  * Reading/setting optional parsing features.
  */
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlGetFeaturesList	(int *len,
 					 const char **result);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlGetFeature		(xmlParserCtxtPtr ctxt,
 					 const char *name,
 					 void *result);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSetFeature		(xmlParserCtxtPtr ctxt,
 					 const char *name,
 					 void *value);
@@ -1016,13 +1035,13 @@
 /*
  * Interfaces for the Push mode.
  */
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr
 		xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
 					 void *user_data,
 					 const char *chunk,
 					 int size,
 					 const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlParseChunk		(xmlParserCtxtPtr ctxt,
 					 const char *chunk,
 					 int size,
@@ -1033,7 +1052,7 @@
  * Special I/O mode.
  */
 
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr
 		xmlCreateIOParserCtxt	(xmlSAXHandlerPtr sax,
 					 void *user_data,
 					 xmlInputReadCallback   ioread,
@@ -1041,7 +1060,7 @@
 					 void *ioctx,
 					 xmlCharEncoding enc);
 
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr
 		xmlNewIOInputStream	(xmlParserCtxtPtr ctxt,
 					 xmlParserInputBufferPtr input,
 					 xmlCharEncoding enc);
@@ -1049,17 +1068,17 @@
 /*
  * Node infos.
  */
-XMLPUBFUN const xmlParserNodeInfo* XMLCALL
+XMLPUBFUN const xmlParserNodeInfo*
 		xmlParserFindNodeInfo	(const xmlParserCtxtPtr ctxt,
 				         const xmlNodePtr node);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlInitNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlClearNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
-XMLPUBFUN unsigned long XMLCALL
+XMLPUBFUN unsigned long
 		xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq,
                                          const xmlNodePtr node);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlParserAddNodeInfo	(xmlParserCtxtPtr ctxt,
 					 const xmlParserNodeInfoPtr info);
 
@@ -1067,11 +1086,11 @@
  * External entities handling actually implemented in xmlIO.
  */
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSetExternalEntityLoader(xmlExternalEntityLoader f);
-XMLPUBFUN xmlExternalEntityLoader XMLCALL
+XMLPUBFUN xmlExternalEntityLoader
 		xmlGetExternalEntityLoader(void);
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr
 		xmlLoadExternalEntity	(const char *URL,
 					 const char *ID,
 					 xmlParserCtxtPtr ctxt);
@@ -1079,7 +1098,7 @@
 /*
  * Index lookup, actually implemented in the encoding module
  */
-XMLPUBFUN long XMLCALL
+XMLPUBFUN long
 		xmlByteConsumed		(xmlParserCtxtPtr ctxt);
 
 /*
@@ -1119,69 +1138,69 @@
     XML_PARSE_BIG_LINES = 1<<22 /* Store big lines numbers in text PSVI field */
 } xmlParserOption;
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlCtxtReset		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlCtxtResetPush	(xmlParserCtxtPtr ctxt,
 					 const char *chunk,
 					 int size,
 					 const char *filename,
 					 const char *encoding);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlCtxtUseOptions	(xmlParserCtxtPtr ctxt,
 					 int options);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlReadDoc		(const xmlChar *cur,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlReadFile		(const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlReadMemory		(const char *buffer,
 					 int size,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlReadFd		(int fd,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlReadIO		(xmlInputReadCallback ioread,
 					 xmlInputCloseCallback ioclose,
 					 void *ioctx,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlCtxtReadDoc		(xmlParserCtxtPtr ctxt,
 					 const xmlChar *cur,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlCtxtReadFile		(xmlParserCtxtPtr ctxt,
 					 const char *filename,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlCtxtReadMemory		(xmlParserCtxtPtr ctxt,
 					 const char *buffer,
 					 int size,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlCtxtReadFd		(xmlParserCtxtPtr ctxt,
 					 int fd,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlCtxtReadIO		(xmlParserCtxtPtr ctxt,
 					 xmlInputReadCallback ioread,
 					 xmlInputCloseCallback ioclose,
@@ -1237,7 +1256,7 @@
     XML_WITH_NONE = 99999 /* just to be sure of allocation size */
 } xmlFeature;
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlHasFeature		(xmlFeature feature);
 
 #ifdef __cplusplus
diff --git a/include/libxml/parserInternals.h b/include/libxml/parserInternals.h
index 9f3c76f..ab51249 100644
--- a/include/libxml/parserInternals.h
+++ b/include/libxml/parserInternals.h
@@ -41,6 +41,13 @@
 #define XML_MAX_TEXT_LENGTH 10000000
 
 /**
+ * XML_MAX_HUGE_LENGTH:
+ *
+ * Maximum size allowed when XML_PARSE_HUGE is set.
+ */
+#define XML_MAX_HUGE_LENGTH 1000000000
+
+/**
  * XML_MAX_NAME_LENGTH:
  *
  * Maximum size allowed for a markup identifier.
@@ -279,34 +286,6 @@
 #define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c)
 
 /**
- * SKIP_EOL:
- * @p:  and UTF8 string pointer
- *
- * Skips the end of line chars.
- */
-#define SKIP_EOL(p)							\
-    if (*(p) == 0x13) { p++ ; if (*(p) == 0x10) p++; }			\
-    if (*(p) == 0x10) { p++ ; if (*(p) == 0x13) p++; }
-
-/**
- * MOVETO_ENDTAG:
- * @p:  and UTF8 string pointer
- *
- * Skips to the next '>' char.
- */
-#define MOVETO_ENDTAG(p)						\
-    while ((*p) && (*(p) != '>')) (p)++
-
-/**
- * MOVETO_STARTTAG:
- * @p:  and UTF8 string pointer
- *
- * Skips to the next '<' char.
- */
-#define MOVETO_STARTTAG(p)						\
-    while ((*p) && (*(p) != '<')) (p)++
-
-/**
  * Global variables used for predefined strings.
  */
 XMLPUBVAR const xmlChar xmlStringText[];
@@ -316,70 +295,61 @@
 /*
  * Function to finish the work of the macros where needed.
  */
-XMLPUBFUN int XMLCALL                   xmlIsLetter     (int c);
+XMLPUBFUN int                   xmlIsLetter     (int c);
 
 /**
  * Parser context.
  */
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr
 			xmlCreateFileParserCtxt	(const char *filename);
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr
 			xmlCreateURLParserCtxt	(const char *filename,
 						 int options);
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr
 			xmlCreateMemoryParserCtxt(const char *buffer,
 						 int size);
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr
 			xmlCreateEntityParserCtxt(const xmlChar *URL,
 						 const xmlChar *ID,
 						 const xmlChar *base);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlSwitchEncoding	(xmlParserCtxtPtr ctxt,
 						 xmlCharEncoding enc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlSwitchToEncoding	(xmlParserCtxtPtr ctxt,
 					 xmlCharEncodingHandlerPtr handler);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 			xmlSwitchInputEncoding	(xmlParserCtxtPtr ctxt,
 						 xmlParserInputPtr input,
 					 xmlCharEncodingHandlerPtr handler);
 
-#ifdef IN_LIBXML
-/* internal error reporting */
-XMLPUBFUN void XMLCALL
-			__xmlErrEncoding	(xmlParserCtxtPtr ctxt,
-						 xmlParserErrors xmlerr,
-						 const char *msg,
-						 const xmlChar * str1,
-						 const xmlChar * str2) LIBXML_ATTR_FORMAT(3,0);
-#endif
-
 /**
  * Input Streams.
  */
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr
 			xmlNewStringInputStream	(xmlParserCtxtPtr ctxt,
 						 const xmlChar *buffer);
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr
 			xmlNewEntityInputStream	(xmlParserCtxtPtr ctxt,
 						 xmlEntityPtr entity);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlPushInput		(xmlParserCtxtPtr ctxt,
 						 xmlParserInputPtr input);
-XMLPUBFUN xmlChar XMLCALL
+XMLPUBFUN xmlChar
 			xmlPopInput		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlFreeInputStream	(xmlParserInputPtr input);
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr
 			xmlNewInputFromFile	(xmlParserCtxtPtr ctxt,
 						 const char *filename);
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr
 			xmlNewInputStream	(xmlParserCtxtPtr ctxt);
 
 /**
  * Namespaces.
  */
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlSplitQName		(xmlParserCtxtPtr ctxt,
 						 const xmlChar *name,
 						 xmlChar **prefix);
@@ -387,109 +357,151 @@
 /**
  * Generic production rules.
  */
-XMLPUBFUN const xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN const xmlChar *
 			xmlParseName		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlChar *
 			xmlParseNmtoken		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlChar *
 			xmlParseEntityValue	(xmlParserCtxtPtr ctxt,
 						 xmlChar **orig);
-XMLPUBFUN xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlChar *
 			xmlParseAttValue	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlChar *
 			xmlParseSystemLiteral	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlChar *
 			xmlParsePubidLiteral	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseCharData	(xmlParserCtxtPtr ctxt,
 						 int cdata);
-XMLPUBFUN xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlChar *
 			xmlParseExternalID	(xmlParserCtxtPtr ctxt,
 						 xmlChar **publicID,
 						 int strict);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseComment		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN const xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN const xmlChar *
 			xmlParsePITarget	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParsePI		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseNotationDecl	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseEntityDecl	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 			xmlParseDefaultDecl	(xmlParserCtxtPtr ctxt,
 						 xmlChar **value);
-XMLPUBFUN xmlEnumerationPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlEnumerationPtr
 			xmlParseNotationType	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlEnumerationPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlEnumerationPtr
 			xmlParseEnumerationType	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 			xmlParseEnumeratedType	(xmlParserCtxtPtr ctxt,
 						 xmlEnumerationPtr *tree);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 			xmlParseAttributeType	(xmlParserCtxtPtr ctxt,
 						 xmlEnumerationPtr *tree);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlElementContentPtr
 			xmlParseElementMixedContentDecl
 						(xmlParserCtxtPtr ctxt,
 						 int inputchk);
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlElementContentPtr
 			xmlParseElementChildrenContentDecl
 						(xmlParserCtxtPtr ctxt,
 						 int inputchk);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 			xmlParseElementContentDecl(xmlParserCtxtPtr ctxt,
 						 const xmlChar *name,
 						 xmlElementContentPtr *result);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 			xmlParseElementDecl	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseMarkupDecl	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 			xmlParseCharRef		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlEntityPtr
 			xmlParseEntityRef	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseReference	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParsePEReference	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseDocTypeDecl	(xmlParserCtxtPtr ctxt);
 #ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN const xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN const xmlChar *
 			xmlParseAttribute	(xmlParserCtxtPtr ctxt,
 						 xmlChar **value);
-XMLPUBFUN const xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN const xmlChar *
 			xmlParseStartTag	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseEndTag		(xmlParserCtxtPtr ctxt);
 #endif /* LIBXML_SAX1_ENABLED */
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseCDSect		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlParseContent		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseElement		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlChar *
 			xmlParseVersionNum	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlChar *
 			xmlParseVersionInfo	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlChar *
 			xmlParseEncName		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN const xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN const xmlChar *
 			xmlParseEncodingDecl	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 			xmlParseSDDecl		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseXMLDecl		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseTextDecl	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlParseMisc		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlParseExternalSubset	(xmlParserCtxtPtr ctxt,
 						 const xmlChar *ExternalID,
 						 const xmlChar *SystemID);
@@ -518,14 +530,16 @@
  */
 #define XML_SUBSTITUTE_BOTH	3
 
-XMLPUBFUN xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlChar *
 		xmlStringDecodeEntities		(xmlParserCtxtPtr ctxt,
 						 const xmlChar *str,
 						 int what,
 						 xmlChar end,
 						 xmlChar  end2,
 						 xmlChar end3);
-XMLPUBFUN xmlChar * XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlChar *
 		xmlStringLenDecodeEntities	(xmlParserCtxtPtr ctxt,
 						 const xmlChar *str,
 						 int len,
@@ -537,47 +551,39 @@
 /*
  * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP.
  */
-XMLPUBFUN int XMLCALL			nodePush		(xmlParserCtxtPtr ctxt,
+XMLPUBFUN int			nodePush		(xmlParserCtxtPtr ctxt,
 						 xmlNodePtr value);
-XMLPUBFUN xmlNodePtr XMLCALL		nodePop			(xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL			inputPush		(xmlParserCtxtPtr ctxt,
+XMLPUBFUN xmlNodePtr		nodePop			(xmlParserCtxtPtr ctxt);
+XMLPUBFUN int			inputPush		(xmlParserCtxtPtr ctxt,
 						 xmlParserInputPtr value);
-XMLPUBFUN xmlParserInputPtr XMLCALL	inputPop		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN const xmlChar * XMLCALL	namePop			(xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL			namePush		(xmlParserCtxtPtr ctxt,
+XMLPUBFUN xmlParserInputPtr	inputPop		(xmlParserCtxtPtr ctxt);
+XMLPUBFUN const xmlChar *	namePop			(xmlParserCtxtPtr ctxt);
+XMLPUBFUN int			namePush		(xmlParserCtxtPtr ctxt,
 						 const xmlChar *value);
 
 /*
  * other commodities shared between parser.c and parserInternals.
  */
-XMLPUBFUN int XMLCALL			xmlSkipBlankChars	(xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL			xmlStringCurrentChar	(xmlParserCtxtPtr ctxt,
+XMLPUBFUN int			xmlSkipBlankChars	(xmlParserCtxtPtr ctxt);
+XMLPUBFUN int			xmlStringCurrentChar	(xmlParserCtxtPtr ctxt,
 						 const xmlChar *cur,
 						 int *len);
-XMLPUBFUN void XMLCALL			xmlParserHandlePEReference(xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL			xmlCheckLanguageID	(const xmlChar *lang);
+XMLPUBFUN void			xmlParserHandlePEReference(xmlParserCtxtPtr ctxt);
+XMLPUBFUN int			xmlCheckLanguageID	(const xmlChar *lang);
 
 /*
  * Really core function shared with HTML parser.
  */
-XMLPUBFUN int XMLCALL			xmlCurrentChar		(xmlParserCtxtPtr ctxt,
+XMLPUBFUN int			xmlCurrentChar		(xmlParserCtxtPtr ctxt,
 						 int *len);
-XMLPUBFUN int XMLCALL		xmlCopyCharMultiByte	(xmlChar *out,
+XMLPUBFUN int		xmlCopyCharMultiByte	(xmlChar *out,
 						 int val);
-XMLPUBFUN int XMLCALL			xmlCopyChar		(int len,
+XMLPUBFUN int			xmlCopyChar		(int len,
 						 xmlChar *out,
 						 int val);
-XMLPUBFUN void XMLCALL			xmlNextChar		(xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL			xmlParserInputShrink	(xmlParserInputPtr in);
-
-#ifdef LIBXML_HTML_ENABLED
-/*
- * Actually comes from the HTML parser but launched from the init stuff.
- */
-XMLPUBFUN void XMLCALL			htmlInitAutoClose	(void);
-XMLPUBFUN htmlParserCtxtPtr XMLCALL	htmlCreateFileParserCtxt(const char *filename,
-	                                         const char *encoding);
-#endif
+XMLPUBFUN void			xmlNextChar		(xmlParserCtxtPtr ctxt);
+XML_DEPRECATED
+XMLPUBFUN void			xmlParserInputShrink	(xmlParserInputPtr in);
 
 /*
  * Specific function to keep track of entities references
@@ -598,34 +604,34 @@
 						 xmlNodePtr lastNode);
 
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL		xmlSetEntityReferenceFunc	(xmlEntityReferenceFunc func);
+XMLPUBFUN void		xmlSetEntityReferenceFunc	(xmlEntityReferenceFunc func);
 
 XML_DEPRECATED
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlParseQuotedString	(xmlParserCtxtPtr ctxt);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
                         xmlParseNamespace       (xmlParserCtxtPtr ctxt);
 XML_DEPRECATED
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlNamespaceParseNSDef	(xmlParserCtxtPtr ctxt);
 XML_DEPRECATED
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlScanName		(xmlParserCtxtPtr ctxt);
 XML_DEPRECATED
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlNamespaceParseNCName	(xmlParserCtxtPtr ctxt);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL	xmlParserHandleReference(xmlParserCtxtPtr ctxt);
+XMLPUBFUN void	xmlParserHandleReference(xmlParserCtxtPtr ctxt);
 XML_DEPRECATED
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlNamespaceParseQName	(xmlParserCtxtPtr ctxt,
 						 xmlChar **prefix);
 /**
  * Entities
  */
 XML_DEPRECATED
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlDecodeEntities		(xmlParserCtxtPtr ctxt,
 						 int len,
 						 int what,
@@ -633,21 +639,12 @@
 						 xmlChar  end2,
 						 xmlChar end3);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlHandleEntity		(xmlParserCtxtPtr ctxt,
 						 xmlEntityPtr entity);
 
 #endif /* LIBXML_LEGACY_ENABLED */
 
-#ifdef IN_LIBXML
-/*
- * internal only
- */
-XMLPUBFUN void XMLCALL
-	xmlErrMemory		(xmlParserCtxtPtr ctxt,
-				 const char *extra);
-#endif
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/libxml/pattern.h b/include/libxml/pattern.h
index 97d2cd2..72bf239 100644
--- a/include/libxml/pattern.h
+++ b/include/libxml/pattern.h
@@ -43,18 +43,18 @@
     XML_PATTERN_XSFIELD		= 1<<2	/* XPath subset for schema field */
 } xmlPatternFlags;
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlFreePattern		(xmlPatternPtr comp);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlFreePatternList	(xmlPatternPtr comp);
 
-XMLPUBFUN xmlPatternPtr XMLCALL
+XMLPUBFUN xmlPatternPtr
 			xmlPatterncompile	(const xmlChar *pattern,
 						 xmlDict *dict,
 						 int flags,
 						 const xmlChar **namespaces);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlPatternMatch		(xmlPatternPtr comp,
 						 xmlNodePtr node);
 
@@ -62,34 +62,34 @@
 typedef struct _xmlStreamCtxt xmlStreamCtxt;
 typedef xmlStreamCtxt *xmlStreamCtxtPtr;
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlPatternStreamable	(xmlPatternPtr comp);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlPatternMaxDepth	(xmlPatternPtr comp);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlPatternMinDepth	(xmlPatternPtr comp);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlPatternFromRoot	(xmlPatternPtr comp);
-XMLPUBFUN xmlStreamCtxtPtr XMLCALL
+XMLPUBFUN xmlStreamCtxtPtr
 			xmlPatternGetStreamCtxt	(xmlPatternPtr comp);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlFreeStreamCtxt	(xmlStreamCtxtPtr stream);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlStreamPushNode	(xmlStreamCtxtPtr stream,
 						 const xmlChar *name,
 						 const xmlChar *ns,
 						 int nodeType);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlStreamPush		(xmlStreamCtxtPtr stream,
 						 const xmlChar *name,
 						 const xmlChar *ns);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlStreamPushAttr	(xmlStreamCtxtPtr stream,
 						 const xmlChar *name,
 						 const xmlChar *ns);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlStreamPop		(xmlStreamCtxtPtr stream);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlStreamWantsAnyNode	(xmlStreamCtxtPtr stream);
 #ifdef __cplusplus
 }
diff --git a/include/libxml/relaxng.h b/include/libxml/relaxng.h
index f269c9e..aecaea3 100644
--- a/include/libxml/relaxng.h
+++ b/include/libxml/relaxng.h
@@ -32,7 +32,7 @@
  *
  * Signature of an error callback from a Relax-NG validation
  */
-typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx,
+typedef void (*xmlRelaxNGValidityErrorFunc) (void *ctx,
 						      const char *msg,
 						      ...) LIBXML_ATTR_FORMAT(2,3);
 
@@ -44,7 +44,7 @@
  *
  * Signature of a warning callback from a Relax-NG validation
  */
-typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx,
+typedef void (*xmlRelaxNGValidityWarningFunc) (void *ctx,
 							const char *msg,
 							...) LIBXML_ATTR_FORMAT(2,3);
 
@@ -116,94 +116,95 @@
     XML_RELAXNGP_CRNG = 2
 } xmlRelaxNGParserFlag;
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRelaxNGInitTypes		(void);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 		    xmlRelaxNGCleanupTypes	(void);
 
 /*
  * Interfaces for parsing.
  */
-XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
+XMLPUBFUN xmlRelaxNGParserCtxtPtr
 		    xmlRelaxNGNewParserCtxt	(const char *URL);
-XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
+XMLPUBFUN xmlRelaxNGParserCtxtPtr
 		    xmlRelaxNGNewMemParserCtxt	(const char *buffer,
 						 int size);
-XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
+XMLPUBFUN xmlRelaxNGParserCtxtPtr
 		    xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRelaxParserSetFlag	(xmlRelaxNGParserCtxtPtr ctxt,
 						 int flag);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
 					 xmlRelaxNGValidityErrorFunc err,
 					 xmlRelaxNGValidityWarningFunc warn,
 					 void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
 					 xmlRelaxNGValidityErrorFunc *err,
 					 xmlRelaxNGValidityWarningFunc *warn,
 					 void **ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlRelaxNGSetParserStructuredErrors(
 					 xmlRelaxNGParserCtxtPtr ctxt,
 					 xmlStructuredErrorFunc serror,
 					 void *ctx);
-XMLPUBFUN xmlRelaxNGPtr XMLCALL
+XMLPUBFUN xmlRelaxNGPtr
 		    xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlRelaxNGFree		(xmlRelaxNGPtr schema);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlRelaxNGDump		(FILE *output,
 					 xmlRelaxNGPtr schema);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlRelaxNGDumpTree	(FILE * output,
 					 xmlRelaxNGPtr schema);
 #endif /* LIBXML_OUTPUT_ENABLED */
 /*
  * Interfaces for validating
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
 					 xmlRelaxNGValidityErrorFunc err,
 					 xmlRelaxNGValidityWarningFunc warn,
 					 void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
 					 xmlRelaxNGValidityErrorFunc *err,
 					 xmlRelaxNGValidityWarningFunc *warn,
 					 void **ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt,
 					  xmlStructuredErrorFunc serror, void *ctx);
-XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL
+XMLPUBFUN xmlRelaxNGValidCtxtPtr
 		    xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlRelaxNGFreeValidCtxt	(xmlRelaxNGValidCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRelaxNGValidateDoc	(xmlRelaxNGValidCtxtPtr ctxt,
 						 xmlDocPtr doc);
 /*
  * Interfaces for progressive validation when possible
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 xmlNodePtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt,
 					 const xmlChar *data,
 					 int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 xmlNodePtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 xmlNodePtr elem);
diff --git a/include/libxml/schemasInternals.h b/include/libxml/schemasInternals.h
index c521d1c..5806f01 100644
--- a/include/libxml/schemasInternals.h
+++ b/include/libxml/schemasInternals.h
@@ -947,8 +947,8 @@
     void *volatiles; /* Obsolete */
 };
 
-XMLPUBFUN void XMLCALL         xmlSchemaFreeType        (xmlSchemaTypePtr type);
-XMLPUBFUN void XMLCALL         xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
+XMLPUBFUN void         xmlSchemaFreeType        (xmlSchemaTypePtr type);
+XMLPUBFUN void         xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
 
 #ifdef __cplusplus
 }
diff --git a/include/libxml/schematron.h b/include/libxml/schematron.h
index 364eaec..6e3d837 100644
--- a/include/libxml/schematron.h
+++ b/include/libxml/schematron.h
@@ -1,5 +1,5 @@
 /*
- * Summary: XML Schemastron implementation
+ * Summary: XML Schematron implementation
  * Description: interface to the XML Schematron validity checking.
  *
  * Copy: See Copyright for the status of this software.
@@ -69,68 +69,68 @@
 /*
  * Interfaces for parsing.
  */
-XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
+XMLPUBFUN xmlSchematronParserCtxtPtr
 	    xmlSchematronNewParserCtxt	(const char *URL);
-XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
+XMLPUBFUN xmlSchematronParserCtxtPtr
 	    xmlSchematronNewMemParserCtxt(const char *buffer,
 					 int size);
-XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
+XMLPUBFUN xmlSchematronParserCtxtPtr
 	    xmlSchematronNewDocParserCtxt(xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchematronFreeParserCtxt	(xmlSchematronParserCtxtPtr ctxt);
 /*****
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt,
 					 xmlSchematronValidityErrorFunc err,
 					 xmlSchematronValidityWarningFunc warn,
 					 void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt,
 					xmlSchematronValidityErrorFunc * err,
 					xmlSchematronValidityWarningFunc * warn,
 					void **ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchematronIsValid	(xmlSchematronValidCtxtPtr ctxt);
  *****/
-XMLPUBFUN xmlSchematronPtr XMLCALL
+XMLPUBFUN xmlSchematronPtr
 	    xmlSchematronParse		(xmlSchematronParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchematronFree		(xmlSchematronPtr schema);
 /*
  * Interfaces for validating
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchematronSetValidStructuredErrors(
 	                                  xmlSchematronValidCtxtPtr ctxt,
 					  xmlStructuredErrorFunc serror,
 					  void *ctx);
 /******
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchematronSetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
 					 xmlSchematronValidityErrorFunc err,
 					 xmlSchematronValidityWarningFunc warn,
 					 void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlSchematronGetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
 					 xmlSchematronValidityErrorFunc *err,
 					 xmlSchematronValidityWarningFunc *warn,
 					 void **ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt,
 					 int options);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
             xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt,
 			                 xmlNodePtr elem);
  *******/
 
-XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL
+XMLPUBFUN xmlSchematronValidCtxtPtr
 	    xmlSchematronNewValidCtxt	(xmlSchematronPtr schema,
 					 int options);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchematronFreeValidCtxt	(xmlSchematronValidCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlSchematronValidateDoc	(xmlSchematronValidCtxtPtr ctxt,
 					 xmlDocPtr instance);
 
diff --git a/include/libxml/threads.h b/include/libxml/threads.h
index 9969ae7..dd2304c 100644
--- a/include/libxml/threads.h
+++ b/include/libxml/threads.h
@@ -36,50 +36,55 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
-XMLPUBFUN xmlMutexPtr XMLCALL
+XMLPUBFUN xmlMutexPtr
 			xmlNewMutex	(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlMutexLock	(xmlMutexPtr tok);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlMutexUnlock	(xmlMutexPtr tok);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlFreeMutex	(xmlMutexPtr tok);
 
-XMLPUBFUN xmlRMutexPtr XMLCALL
+XMLPUBFUN xmlRMutexPtr
 			xmlNewRMutex	(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlRMutexLock	(xmlRMutexPtr tok);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlRMutexUnlock	(xmlRMutexPtr tok);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlFreeRMutex	(xmlRMutexPtr tok);
 
 /*
  * Library wide APIs.
  */
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlInitThreads	(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlLockLibrary	(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlUnlockLibrary(void);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 			xmlGetThreadId	(void);
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 			xmlIsMainThread	(void);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 			xmlCleanupThreads(void);
-XMLPUBFUN xmlGlobalStatePtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlGlobalStatePtr
 			xmlGetGlobalState(void);
 
-#ifdef HAVE_PTHREAD_H
-#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
-#if defined(LIBXML_STATIC_FOR_DLL)
-int XMLCALL
+/** DOC_DISABLE */
+#if defined(LIBXML_THREAD_ENABLED) && defined(_WIN32) && \
+    !defined(HAVE_COMPILER_TLS) && defined(LIBXML_STATIC_FOR_DLL)
+int
 xmlDllMain(void *hinstDLL, unsigned long fdwReason,
            void *lpvReserved);
 #endif
-#endif
+/** DOC_ENABLE */
 
 #ifdef __cplusplus
 }
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index 9823654..b498966 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -74,7 +74,7 @@
 typedef enum {
     XML_BUFFER_ALLOC_DOUBLEIT,	/* double each time one need to grow */
     XML_BUFFER_ALLOC_EXACT,	/* grow only to the minimal size */
-    XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */
+    XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer, deprecated */
     XML_BUFFER_ALLOC_IO,	/* special allocation scheme used for I/O */
     XML_BUFFER_ALLOC_HYBRID,	/* exact up to a threshold, and doubleit thereafter */
     XML_BUFFER_ALLOC_BOUNDED	/* limit the upper size of the buffer */
@@ -117,10 +117,10 @@
  * A few public routines for xmlBuf. As those are expected to be used
  * mostly internally the bulk of the routines are internal in buf.h
  */
-XMLPUBFUN xmlChar* XMLCALL       xmlBufContent	(const xmlBuf* buf);
-XMLPUBFUN xmlChar* XMLCALL       xmlBufEnd      (xmlBufPtr buf);
-XMLPUBFUN size_t XMLCALL         xmlBufUse      (const xmlBufPtr buf);
-XMLPUBFUN size_t XMLCALL         xmlBufShrink	(xmlBufPtr buf, size_t len);
+XMLPUBFUN xmlChar*       xmlBufContent	(const xmlBuf* buf);
+XMLPUBFUN xmlChar*       xmlBufEnd      (xmlBufPtr buf);
+XMLPUBFUN size_t         xmlBufUse      (const xmlBufPtr buf);
+XMLPUBFUN size_t         xmlBufShrink	(xmlBufPtr buf, size_t len);
 
 /*
  * LIBXML2_NEW_BUFFER:
@@ -177,11 +177,13 @@
     XML_NAMESPACE_DECL=		18,
     XML_XINCLUDE_START=		19,
     XML_XINCLUDE_END=		20
-#ifdef LIBXML_DOCB_ENABLED
-   ,XML_DOCB_DOCUMENT_NODE=	21
-#endif
+    /* XML_DOCB_DOCUMENT_NODE=	21 */ /* removed */
 } xmlElementType;
 
+/** DOC_DISABLE */
+/* For backward compatibility */
+#define XML_DOCB_DOCUMENT_NODE 21
+/** DOC_ENABLE */
 
 /**
  * xmlNotation:
@@ -659,33 +661,33 @@
     defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || \
     defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || \
     defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || \
-    defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
-XMLPUBFUN int XMLCALL
+    defined(LIBXML_LEGACY_ENABLED)
+XMLPUBFUN int
 		xmlValidateNCName	(const xmlChar *value,
 					 int space);
 #endif
 
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateQName	(const xmlChar *value,
 					 int space);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateName		(const xmlChar *value,
 					 int space);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateNMToken	(const xmlChar *value,
 					 int space);
 #endif
 
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlBuildQName		(const xmlChar *ncname,
 					 const xmlChar *prefix,
 					 xmlChar *memory,
 					 int len);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlSplitQName2		(const xmlChar *name,
 					 xmlChar **prefix);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		xmlSplitQName3		(const xmlChar *name,
 					 int *len);
 
@@ -693,318 +695,318 @@
  * Handling Buffers, the old ones see @xmlBuf for the new ones.
  */
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
-XMLPUBFUN xmlBufferAllocationScheme XMLCALL
+XMLPUBFUN xmlBufferAllocationScheme
 		xmlGetBufferAllocationScheme(void);
 
-XMLPUBFUN xmlBufferPtr XMLCALL
+XMLPUBFUN xmlBufferPtr
 		xmlBufferCreate		(void);
-XMLPUBFUN xmlBufferPtr XMLCALL
+XMLPUBFUN xmlBufferPtr
 		xmlBufferCreateSize	(size_t size);
-XMLPUBFUN xmlBufferPtr XMLCALL
+XMLPUBFUN xmlBufferPtr
 		xmlBufferCreateStatic	(void *mem,
 					 size_t size);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlBufferResize		(xmlBufferPtr buf,
 					 unsigned int size);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlBufferFree		(xmlBufferPtr buf);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlBufferDump		(FILE *file,
 					 xmlBufferPtr buf);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlBufferAdd		(xmlBufferPtr buf,
 					 const xmlChar *str,
 					 int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlBufferAddHead	(xmlBufferPtr buf,
 					 const xmlChar *str,
 					 int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlBufferCat		(xmlBufferPtr buf,
 					 const xmlChar *str);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlBufferCCat		(xmlBufferPtr buf,
 					 const char *str);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlBufferShrink		(xmlBufferPtr buf,
 					 unsigned int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlBufferGrow		(xmlBufferPtr buf,
 					 unsigned int len);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlBufferEmpty		(xmlBufferPtr buf);
-XMLPUBFUN const xmlChar* XMLCALL
+XMLPUBFUN const xmlChar*
 		xmlBufferContent	(const xmlBuffer *buf);
-XMLPUBFUN xmlChar* XMLCALL
+XMLPUBFUN xmlChar*
 		xmlBufferDetach         (xmlBufferPtr buf);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlBufferSetAllocationScheme(xmlBufferPtr buf,
 					 xmlBufferAllocationScheme scheme);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlBufferLength		(const xmlBuffer *buf);
 
 /*
  * Creating/freeing new structures.
  */
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr
 		xmlCreateIntSubset	(xmlDocPtr doc,
 					 const xmlChar *name,
 					 const xmlChar *ExternalID,
 					 const xmlChar *SystemID);
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr
 		xmlNewDtd		(xmlDocPtr doc,
 					 const xmlChar *name,
 					 const xmlChar *ExternalID,
 					 const xmlChar *SystemID);
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr
 		xmlGetIntSubset		(const xmlDoc *doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeDtd		(xmlDtdPtr cur);
 #ifdef LIBXML_LEGACY_ENABLED
 XML_DEPRECATED
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr
 		xmlNewGlobalNs		(xmlDocPtr doc,
 					 const xmlChar *href,
 					 const xmlChar *prefix);
 #endif /* LIBXML_LEGACY_ENABLED */
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr
 		xmlNewNs		(xmlNodePtr node,
 					 const xmlChar *href,
 					 const xmlChar *prefix);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeNs		(xmlNsPtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeNsList		(xmlNsPtr cur);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlNewDoc		(const xmlChar *version);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeDoc		(xmlDocPtr cur);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr
 		xmlNewDocProp		(xmlDocPtr doc,
 					 const xmlChar *name,
 					 const xmlChar *value);
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
     defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr
 		xmlNewProp		(xmlNodePtr node,
 					 const xmlChar *name,
 					 const xmlChar *value);
 #endif
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr
 		xmlNewNsProp		(xmlNodePtr node,
 					 xmlNsPtr ns,
 					 const xmlChar *name,
 					 const xmlChar *value);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr
 		xmlNewNsPropEatName	(xmlNodePtr node,
 					 xmlNsPtr ns,
 					 xmlChar *name,
 					 const xmlChar *value);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreePropList		(xmlAttrPtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeProp		(xmlAttrPtr cur);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr
 		xmlCopyProp		(xmlNodePtr target,
 					 xmlAttrPtr cur);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr
 		xmlCopyPropList		(xmlNodePtr target,
 					 xmlAttrPtr cur);
 #ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr
 		xmlCopyDtd		(xmlDtdPtr dtd);
 #endif /* LIBXML_TREE_ENABLED */
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		xmlCopyDoc		(xmlDocPtr doc,
 					 int recursive);
 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
 /*
  * Creating new nodes.
  */
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewDocNode		(xmlDocPtr doc,
 					 xmlNsPtr ns,
 					 const xmlChar *name,
 					 const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewDocNodeEatName	(xmlDocPtr doc,
 					 xmlNsPtr ns,
 					 xmlChar *name,
 					 const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewNode		(xmlNsPtr ns,
 					 const xmlChar *name);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewNodeEatName	(xmlNsPtr ns,
 					 xmlChar *name);
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewChild		(xmlNodePtr parent,
 					 xmlNsPtr ns,
 					 const xmlChar *name,
 					 const xmlChar *content);
 #endif
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewDocText		(const xmlDoc *doc,
 					 const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewText		(const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewDocPI		(xmlDocPtr doc,
 					 const xmlChar *name,
 					 const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewPI		(const xmlChar *name,
 					 const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewDocTextLen	(xmlDocPtr doc,
 					 const xmlChar *content,
 					 int len);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewTextLen		(const xmlChar *content,
 					 int len);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewDocComment	(xmlDocPtr doc,
 					 const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewComment		(const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewCDataBlock	(xmlDocPtr doc,
 					 const xmlChar *content,
 					 int len);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewCharRef		(xmlDocPtr doc,
 					 const xmlChar *name);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewReference		(const xmlDoc *doc,
 					 const xmlChar *name);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlCopyNode		(xmlNodePtr node,
 					 int recursive);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlDocCopyNode		(xmlNodePtr node,
 					 xmlDocPtr doc,
 					 int recursive);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlDocCopyNodeList	(xmlDocPtr doc,
 					 xmlNodePtr node);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlCopyNodeList		(xmlNodePtr node);
 #ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewTextChild		(xmlNodePtr parent,
 					 xmlNsPtr ns,
 					 const xmlChar *name,
 					 const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewDocRawNode	(xmlDocPtr doc,
 					 xmlNsPtr ns,
 					 const xmlChar *name,
 					 const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlNewDocFragment	(xmlDocPtr doc);
 #endif /* LIBXML_TREE_ENABLED */
 
 /*
  * Navigating.
  */
-XMLPUBFUN long XMLCALL
+XMLPUBFUN long
 		xmlGetLineNo		(const xmlNode *node);
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlGetNodePath		(const xmlNode *node);
 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlDocGetRootElement	(const xmlDoc *doc);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlGetLastChild		(const xmlNode *parent);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlNodeIsText		(const xmlNode *node);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsBlankNode		(const xmlNode *node);
 
 /*
  * Changing the structure.
  */
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlDocSetRootElement	(xmlDocPtr doc,
 					 xmlNodePtr root);
 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
 #ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlNodeSetName		(xmlNodePtr cur,
 					 const xmlChar *name);
 #endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlAddChild		(xmlNodePtr parent,
 					 xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlAddChildList		(xmlNodePtr parent,
 					 xmlNodePtr cur);
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlReplaceNode		(xmlNodePtr old,
 					 xmlNodePtr cur);
 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
     defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlAddPrevSibling	(xmlNodePtr cur,
 					 xmlNodePtr elem);
 #endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlAddSibling		(xmlNodePtr cur,
 					 xmlNodePtr elem);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlAddNextSibling	(xmlNodePtr cur,
 					 xmlNodePtr elem);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlUnlinkNode		(xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlTextMerge		(xmlNodePtr first,
 					 xmlNodePtr second);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlTextConcat		(xmlNodePtr node,
 					 const xmlChar *content,
 					 int len);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeNodeList		(xmlNodePtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeNode		(xmlNodePtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSetTreeDoc		(xmlNodePtr tree,
 					 xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSetListDoc		(xmlNodePtr list,
 					 xmlDocPtr doc);
 /*
  * Namespaces.
  */
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr
 		xmlSearchNs		(xmlDocPtr doc,
 					 xmlNodePtr node,
 					 const xmlChar *nameSpace);
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr
 		xmlSearchNsByHref	(xmlDocPtr doc,
 					 xmlNodePtr node,
 					 const xmlChar *href);
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
     defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN xmlNsPtr * XMLCALL
+XMLPUBFUN xmlNsPtr *
 		xmlGetNsList		(const xmlDoc *doc,
 					 const xmlNode *node);
 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSetNs		(xmlNodePtr node,
 					 xmlNsPtr ns);
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr
 		xmlCopyNamespace	(xmlNsPtr cur);
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr
 		xmlCopyNamespaceList	(xmlNsPtr cur);
 
 /*
@@ -1012,94 +1014,94 @@
  */
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
     defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr
 		xmlSetProp		(xmlNodePtr node,
 					 const xmlChar *name,
 					 const xmlChar *value);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr
 		xmlSetNsProp		(xmlNodePtr node,
 					 xmlNsPtr ns,
 					 const xmlChar *name,
 					 const xmlChar *value);
 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
 	  defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlGetNoNsProp		(const xmlNode *node,
 					 const xmlChar *name);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlGetProp		(const xmlNode *node,
 					 const xmlChar *name);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr
 		xmlHasProp		(const xmlNode *node,
 					 const xmlChar *name);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr
 		xmlHasNsProp		(const xmlNode *node,
 					 const xmlChar *name,
 					 const xmlChar *nameSpace);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlGetNsProp		(const xmlNode *node,
 					 const xmlChar *name,
 					 const xmlChar *nameSpace);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlStringGetNodeList	(const xmlDoc *doc,
 					 const xmlChar *value);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		xmlStringLenGetNodeList	(const xmlDoc *doc,
 					 const xmlChar *value,
 					 int len);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlNodeListGetString	(xmlDocPtr doc,
 					 const xmlNode *list,
 					 int inLine);
 #ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlNodeListGetRawString	(const xmlDoc *doc,
 					 const xmlNode *list,
 					 int inLine);
 #endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlNodeSetContent	(xmlNodePtr cur,
 					 const xmlChar *content);
 #ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlNodeSetContentLen	(xmlNodePtr cur,
 					 const xmlChar *content,
 					 int len);
 #endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlNodeAddContent	(xmlNodePtr cur,
 					 const xmlChar *content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlNodeAddContentLen	(xmlNodePtr cur,
 					 const xmlChar *content,
 					 int len);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlNodeGetContent	(const xmlNode *cur);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlNodeBufGetContent	(xmlBufferPtr buffer,
 					 const xmlNode *cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlBufGetNodeContent	(xmlBufPtr buf,
 					 const xmlNode *cur);
 
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlNodeGetLang		(const xmlNode *cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlNodeGetSpacePreserve	(const xmlNode *cur);
 #ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlNodeSetLang		(xmlNodePtr cur,
 					 const xmlChar *lang);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlNodeSetSpacePreserve (xmlNodePtr cur,
 					 int val);
 #endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlNodeGetBase		(const xmlDoc *doc,
 					 const xmlNode *cur);
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlNodeSetBase		(xmlNodePtr cur,
 					 const xmlChar *uri);
 #endif
@@ -1107,14 +1109,14 @@
 /*
  * Removing content.
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlRemoveProp		(xmlAttrPtr cur);
 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlUnsetNsProp		(xmlNodePtr node,
 					 xmlNsPtr ns,
 					 const xmlChar *name);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlUnsetProp		(xmlNodePtr node,
 					 const xmlChar *name);
 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
@@ -1122,13 +1124,13 @@
 /*
  * Internal, don't use.
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlBufferWriteCHAR	(xmlBufferPtr buf,
 					 const xmlChar *string);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlBufferWriteChar	(xmlBufferPtr buf,
 					 const char *string);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlBufferWriteQuotedString(xmlBufferPtr buf,
 					 const xmlChar *string);
 
@@ -1143,7 +1145,7 @@
 /*
  * Namespace handling.
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlReconciliateNs	(xmlDocPtr doc,
 					 xmlNodePtr tree);
 #endif
@@ -1152,67 +1154,67 @@
 /*
  * Saving.
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlDocDumpFormatMemory	(xmlDocPtr cur,
 					 xmlChar **mem,
 					 int *size,
 					 int format);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlDocDumpMemory	(xmlDocPtr cur,
 					 xmlChar **mem,
 					 int *size);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlDocDumpMemoryEnc	(xmlDocPtr out_doc,
 					 xmlChar **doc_txt_ptr,
 					 int * doc_txt_len,
 					 const char *txt_encoding);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
 					 xmlChar **doc_txt_ptr,
 					 int * doc_txt_len,
 					 const char *txt_encoding,
 					 int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlDocFormatDump	(FILE *f,
 					 xmlDocPtr cur,
 					 int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlDocDump		(FILE *f,
 					 xmlDocPtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlElemDump		(FILE *f,
 					 xmlDocPtr doc,
 					 xmlNodePtr cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSaveFile		(const char *filename,
 					 xmlDocPtr cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSaveFormatFile	(const char *filename,
 					 xmlDocPtr cur,
 					 int format);
-XMLPUBFUN size_t XMLCALL
+XMLPUBFUN size_t
 		xmlBufNodeDump		(xmlBufPtr buf,
 					 xmlDocPtr doc,
 					 xmlNodePtr cur,
 					 int level,
 					 int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlNodeDump		(xmlBufferPtr buf,
 					 xmlDocPtr doc,
 					 xmlNodePtr cur,
 					 int level,
 					 int format);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSaveFileTo		(xmlOutputBufferPtr buf,
 					 xmlDocPtr cur,
 					 const char *encoding);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSaveFormatFileTo     (xmlOutputBufferPtr buf,
 					 xmlDocPtr cur,
 				         const char *encoding,
 				         int format);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlNodeDumpOutput	(xmlOutputBufferPtr buf,
 					 xmlDocPtr doc,
 					 xmlNodePtr cur,
@@ -1220,13 +1222,13 @@
 					 int format,
 					 const char *encoding);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSaveFormatFileEnc    (const char *filename,
 					 xmlDocPtr cur,
 					 const char *encoding,
 					 int format);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSaveFileEnc		(const char *filename,
 					 xmlDocPtr cur,
 					 const char *encoding);
@@ -1235,47 +1237,47 @@
 /*
  * XHTML
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsXHTML		(const xmlChar *systemID,
 					 const xmlChar *publicID);
 
 /*
  * Compression.
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlGetDocCompressMode	(const xmlDoc *doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSetDocCompressMode	(xmlDocPtr doc,
 					 int mode);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlGetCompressMode	(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSetCompressMode	(int mode);
 
 /*
 * DOM-wrapper helper functions.
 */
-XMLPUBFUN xmlDOMWrapCtxtPtr XMLCALL
+XMLPUBFUN xmlDOMWrapCtxtPtr
 		xmlDOMWrapNewCtxt	(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlDOMWrapFreeCtxt	(xmlDOMWrapCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt,
 					 xmlNodePtr elem,
 					 int options);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlDOMWrapAdoptNode		(xmlDOMWrapCtxtPtr ctxt,
 					 xmlDocPtr sourceDoc,
 					 xmlNodePtr node,
 					 xmlDocPtr destDoc,
 					 xmlNodePtr destParent,
 					 int options);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlDOMWrapRemoveNode	(xmlDOMWrapCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 xmlNodePtr node,
 					 int options);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlDOMWrapCloneNode		(xmlDOMWrapCtxtPtr ctxt,
 					 xmlDocPtr sourceDoc,
 					 xmlNodePtr node,
@@ -1290,15 +1292,15 @@
  * 5 interfaces from DOM ElementTraversal, but different in entities
  * traversal.
  */
-XMLPUBFUN unsigned long XMLCALL
+XMLPUBFUN unsigned long
             xmlChildElementCount        (xmlNodePtr parent);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
             xmlNextElementSibling       (xmlNodePtr node);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
             xmlFirstElementChild        (xmlNodePtr parent);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
             xmlLastElementChild         (xmlNodePtr parent);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
             xmlPreviousElementSibling   (xmlNodePtr node);
 #endif
 #ifdef __cplusplus
diff --git a/include/libxml/uri.h b/include/libxml/uri.h
index db48262..0470a5d 100644
--- a/include/libxml/uri.h
+++ b/include/libxml/uri.h
@@ -49,43 +49,43 @@
  * xmlChar *	xmlNodeGetBase	(xmlDocPtr doc,
  *                               xmlNodePtr cur);
  */
-XMLPUBFUN xmlURIPtr XMLCALL
+XMLPUBFUN xmlURIPtr
 		xmlCreateURI		(void);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlBuildURI		(const xmlChar *URI,
 					 const xmlChar *base);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlBuildRelativeURI	(const xmlChar *URI,
 					 const xmlChar *base);
-XMLPUBFUN xmlURIPtr XMLCALL
+XMLPUBFUN xmlURIPtr
 		xmlParseURI		(const char *str);
-XMLPUBFUN xmlURIPtr XMLCALL
+XMLPUBFUN xmlURIPtr
 		xmlParseURIRaw		(const char *str,
 					 int raw);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlParseURIReference	(xmlURIPtr uri,
 					 const char *str);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlSaveUri		(xmlURIPtr uri);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlPrintURI		(FILE *stream,
 					 xmlURIPtr uri);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlURIEscapeStr         (const xmlChar *str,
 					 const xmlChar *list);
-XMLPUBFUN char * XMLCALL
+XMLPUBFUN char *
 		xmlURIUnescapeString	(const char *str,
 					 int len,
 					 char *target);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlNormalizeURIPath	(char *path);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlURIEscape		(const xmlChar *str);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeURI		(xmlURIPtr uri);
-XMLPUBFUN xmlChar* XMLCALL
+XMLPUBFUN xmlChar*
 		xmlCanonicPath		(const xmlChar *path);
-XMLPUBFUN xmlChar* XMLCALL
+XMLPUBFUN xmlChar*
 		xmlPathToURI		(const xmlChar *path);
 
 #ifdef __cplusplus
diff --git a/include/libxml/valid.h b/include/libxml/valid.h
index 3eaf84a..b19cbac 100644
--- a/include/libxml/valid.h
+++ b/include/libxml/valid.h
@@ -39,7 +39,7 @@
  * Callback called when a validity error is found. This is a message
  * oriented function similar to an *printf function.
  */
-typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
+typedef void (*xmlValidityErrorFunc) (void *ctx,
 			     const char *msg,
 			     ...) LIBXML_ATTR_FORMAT(2,3);
 
@@ -54,25 +54,10 @@
  * Callback called when a validity warning is found. This is a message
  * oriented function similar to an *printf function.
  */
-typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
+typedef void (*xmlValidityWarningFunc) (void *ctx,
 			       const char *msg,
 			       ...) LIBXML_ATTR_FORMAT(2,3);
 
-#ifdef IN_LIBXML
-/**
- * XML_VCTXT_DTD_VALIDATED:
- *
- * Set after xmlValidateDtdFinal was called.
- */
-#define XML_VCTXT_DTD_VALIDATED (1u << 0)
-/**
- * XML_VCTXT_USE_PCTXT:
- *
- * Set if the validation context is part of a parser context.
- */
-#define XML_VCTXT_USE_PCTXT (1u << 1)
-#endif
-
 /*
  * xmlValidCtxt:
  * An xmlValidCtxt is used for error reporting when validating.
@@ -150,55 +135,55 @@
 typedef xmlRefTable *xmlRefTablePtr;
 
 /* Notation */
-XMLPUBFUN xmlNotationPtr XMLCALL
+XMLPUBFUN xmlNotationPtr
 		xmlAddNotationDecl	(xmlValidCtxtPtr ctxt,
 					 xmlDtdPtr dtd,
 					 const xmlChar *name,
 					 const xmlChar *PublicID,
 					 const xmlChar *SystemID);
 #ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlNotationTablePtr XMLCALL
+XMLPUBFUN xmlNotationTablePtr
 		xmlCopyNotationTable	(xmlNotationTablePtr table);
 #endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeNotationTable	(xmlNotationTablePtr table);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlDumpNotationDecl	(xmlBufferPtr buf,
 					 xmlNotationPtr nota);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlDumpNotationTable	(xmlBufferPtr buf,
 					 xmlNotationTablePtr table);
 #endif /* LIBXML_OUTPUT_ENABLED */
 
 /* Element Content */
 /* the non Doc version are being deprecated */
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XMLPUBFUN xmlElementContentPtr
 		xmlNewElementContent	(const xmlChar *name,
 					 xmlElementContentType type);
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XMLPUBFUN xmlElementContentPtr
 		xmlCopyElementContent	(xmlElementContentPtr content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeElementContent	(xmlElementContentPtr cur);
 /* the new versions with doc argument */
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XMLPUBFUN xmlElementContentPtr
 		xmlNewDocElementContent	(xmlDocPtr doc,
 					 const xmlChar *name,
 					 xmlElementContentType type);
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XMLPUBFUN xmlElementContentPtr
 		xmlCopyDocElementContent(xmlDocPtr doc,
 					 xmlElementContentPtr content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeDocElementContent(xmlDocPtr doc,
 					 xmlElementContentPtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSnprintfElementContent(char *buf,
 					 int size,
 	                                 xmlElementContentPtr content,
 					 int englob);
 #ifdef LIBXML_OUTPUT_ENABLED
 /* DEPRECATED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSprintfElementContent(char *buf,
 	                                 xmlElementContentPtr content,
 					 int englob);
@@ -206,39 +191,39 @@
 /* DEPRECATED */
 
 /* Element */
-XMLPUBFUN xmlElementPtr XMLCALL
+XMLPUBFUN xmlElementPtr
 		xmlAddElementDecl	(xmlValidCtxtPtr ctxt,
 					 xmlDtdPtr dtd,
 					 const xmlChar *name,
 					 xmlElementTypeVal type,
 					 xmlElementContentPtr content);
 #ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlElementTablePtr XMLCALL
+XMLPUBFUN xmlElementTablePtr
 		xmlCopyElementTable	(xmlElementTablePtr table);
 #endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeElementTable	(xmlElementTablePtr table);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlDumpElementTable	(xmlBufferPtr buf,
 					 xmlElementTablePtr table);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlDumpElementDecl	(xmlBufferPtr buf,
 					 xmlElementPtr elem);
 #endif /* LIBXML_OUTPUT_ENABLED */
 
 /* Enumeration */
-XMLPUBFUN xmlEnumerationPtr XMLCALL
+XMLPUBFUN xmlEnumerationPtr
 		xmlCreateEnumeration	(const xmlChar *name);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeEnumeration	(xmlEnumerationPtr cur);
 #ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlEnumerationPtr XMLCALL
+XMLPUBFUN xmlEnumerationPtr
 		xmlCopyEnumeration	(xmlEnumerationPtr cur);
 #endif /* LIBXML_TREE_ENABLED */
 
 /* Attribute */
-XMLPUBFUN xmlAttributePtr XMLCALL
+XMLPUBFUN xmlAttributePtr
 		xmlAddAttributeDecl	(xmlValidCtxtPtr ctxt,
 					 xmlDtdPtr dtd,
 					 const xmlChar *elem,
@@ -249,60 +234,60 @@
 					 const xmlChar *defaultValue,
 					 xmlEnumerationPtr tree);
 #ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlAttributeTablePtr XMLCALL
+XMLPUBFUN xmlAttributeTablePtr
 		xmlCopyAttributeTable  (xmlAttributeTablePtr table);
 #endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeAttributeTable  (xmlAttributeTablePtr table);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlDumpAttributeTable  (xmlBufferPtr buf,
 					xmlAttributeTablePtr table);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlDumpAttributeDecl   (xmlBufferPtr buf,
 					xmlAttributePtr attr);
 #endif /* LIBXML_OUTPUT_ENABLED */
 
 /* IDs */
-XMLPUBFUN xmlIDPtr XMLCALL
+XMLPUBFUN xmlIDPtr
 		xmlAddID	       (xmlValidCtxtPtr ctxt,
 					xmlDocPtr doc,
 					const xmlChar *value,
 					xmlAttrPtr attr);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeIDTable	       (xmlIDTablePtr table);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr
 		xmlGetID	       (xmlDocPtr doc,
 					const xmlChar *ID);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsID		       (xmlDocPtr doc,
 					xmlNodePtr elem,
 					xmlAttrPtr attr);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlRemoveID	       (xmlDocPtr doc,
 					xmlAttrPtr attr);
 
 /* IDREFs */
 XML_DEPRECATED
-XMLPUBFUN xmlRefPtr XMLCALL
+XMLPUBFUN xmlRefPtr
 		xmlAddRef	       (xmlValidCtxtPtr ctxt,
 					xmlDocPtr doc,
 					const xmlChar *value,
 					xmlAttrPtr attr);
 XML_DEPRECATED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeRefTable	       (xmlRefTablePtr table);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsRef	       (xmlDocPtr doc,
 					xmlNodePtr elem,
 					xmlAttrPtr attr);
 XML_DEPRECATED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlRemoveRef	       (xmlDocPtr doc,
 					xmlAttrPtr attr);
 XML_DEPRECATED
-XMLPUBFUN xmlListPtr XMLCALL
+XMLPUBFUN xmlListPtr
 		xmlGetRefs	       (xmlDocPtr doc,
 					const xmlChar *ID);
 
@@ -311,146 +296,146 @@
  */
 #ifdef LIBXML_VALID_ENABLED
 /* Allocate/Release Validation Contexts */
-XMLPUBFUN xmlValidCtxtPtr XMLCALL
+XMLPUBFUN xmlValidCtxtPtr
 		xmlNewValidCtxt(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlFreeValidCtxt(xmlValidCtxtPtr);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateRoot		(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateElementDecl	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 		                         xmlElementPtr elem);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlValidNormalizeAttributeValue(xmlDocPtr doc,
 					 xmlNodePtr elem,
 					 const xmlChar *name,
 					 const xmlChar *value);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 xmlNodePtr elem,
 					 const xmlChar *name,
 					 const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 		                         xmlAttributePtr attr);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateAttributeValue(xmlAttributeType type,
 					 const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateNotationDecl	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 		                         xmlNotationPtr nota);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateDtd		(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 xmlDtdPtr dtd);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateDtdFinal	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateDocument	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateElement	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 xmlNodePtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateOneElement	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 		                         xmlNodePtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateOneAttribute	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 xmlNodePtr	elem,
 					 xmlAttrPtr attr,
 					 const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateOneNamespace	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 xmlNodePtr elem,
 					 const xmlChar *prefix,
 					 xmlNsPtr ns,
 					 const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc);
 #endif /* LIBXML_VALID_ENABLED */
 
 #if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateNotationUse	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 const xmlChar *notationName);
 #endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlIsMixedElement	(xmlDocPtr doc,
 					 const xmlChar *name);
-XMLPUBFUN xmlAttributePtr XMLCALL
+XMLPUBFUN xmlAttributePtr
 		xmlGetDtdAttrDesc	(xmlDtdPtr dtd,
 					 const xmlChar *elem,
 					 const xmlChar *name);
-XMLPUBFUN xmlAttributePtr XMLCALL
+XMLPUBFUN xmlAttributePtr
 		xmlGetDtdQAttrDesc	(xmlDtdPtr dtd,
 					 const xmlChar *elem,
 					 const xmlChar *name,
 					 const xmlChar *prefix);
-XMLPUBFUN xmlNotationPtr XMLCALL
+XMLPUBFUN xmlNotationPtr
 		xmlGetDtdNotationDesc	(xmlDtdPtr dtd,
 					 const xmlChar *name);
-XMLPUBFUN xmlElementPtr XMLCALL
+XMLPUBFUN xmlElementPtr
 		xmlGetDtdQElementDesc	(xmlDtdPtr dtd,
 					 const xmlChar *name,
 					 const xmlChar *prefix);
-XMLPUBFUN xmlElementPtr XMLCALL
+XMLPUBFUN xmlElementPtr
 		xmlGetDtdElementDesc	(xmlDtdPtr dtd,
 					 const xmlChar *name);
 
 #ifdef LIBXML_VALID_ENABLED
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidGetPotentialChildren(xmlElementContent *ctree,
 					 const xmlChar **names,
 					 int *len,
 					 int max);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidGetValidElements(xmlNode *prev,
 					 xmlNode *next,
 					 const xmlChar **names,
 					 int max);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateNameValue	(const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateNamesValue	(const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateNmtokenValue	(const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidateNmtokensValue(const xmlChar *value);
 
 #ifdef LIBXML_REGEXP_ENABLED
 /*
  * Validation based on the regexp support
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
 					 xmlElementPtr elem);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidatePushElement	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 xmlNodePtr elem,
 					 const xmlChar *qname);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidatePushCData	(xmlValidCtxtPtr ctxt,
 					 const xmlChar *data,
 					 int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlValidatePopElement	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 xmlNodePtr elem,
diff --git a/include/libxml/xinclude.h b/include/libxml/xinclude.h
index 863ab25..e1d135b 100644
--- a/include/libxml/xinclude.h
+++ b/include/libxml/xinclude.h
@@ -89,35 +89,35 @@
 /*
  * standalone processing
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXIncludeProcess	(xmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXIncludeProcessFlags	(xmlDocPtr doc,
 					 int flags);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXIncludeProcessFlagsData(xmlDocPtr doc,
 					 int flags,
 					 void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
                 xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree,
                                          int flags,
                                          void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXIncludeProcessTree	(xmlNodePtr tree);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXIncludeProcessTreeFlags(xmlNodePtr tree,
 					 int flags);
 /*
  * contextual processing
  */
-XMLPUBFUN xmlXIncludeCtxtPtr XMLCALL
+XMLPUBFUN xmlXIncludeCtxtPtr
 		xmlXIncludeNewContext	(xmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXIncludeSetFlags	(xmlXIncludeCtxtPtr ctxt,
 					 int flags);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXIncludeFreeContext	(xmlXIncludeCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXIncludeProcessNode	(xmlXIncludeCtxtPtr ctxt,
 					 xmlNodePtr tree);
 #ifdef __cplusplus
diff --git a/include/libxml/xlink.h b/include/libxml/xlink.h
index 04e4b32..1065736 100644
--- a/include/libxml/xlink.h
+++ b/include/libxml/xlink.h
@@ -160,23 +160,23 @@
  * detection callbacks.
  */
 
-XMLPUBFUN xlinkNodeDetectFunc XMLCALL
+XMLPUBFUN xlinkNodeDetectFunc
 		xlinkGetDefaultDetect	(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xlinkSetDefaultDetect	(xlinkNodeDetectFunc func);
 
 /*
  * Routines to set/get the default handlers.
  */
-XMLPUBFUN xlinkHandlerPtr XMLCALL
+XMLPUBFUN xlinkHandlerPtr
 		xlinkGetDefaultHandler	(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xlinkSetDefaultHandler	(xlinkHandlerPtr handler);
 
 /*
  * Link detection module itself.
  */
-XMLPUBFUN xlinkType XMLCALL
+XMLPUBFUN xlinkType
 		xlinkIsLink		(xmlDocPtr doc,
 					 xmlNodePtr node);
 
diff --git a/include/libxml/xmlIO.h b/include/libxml/xmlIO.h
index 095b2f5..55d25ed 100644
--- a/include/libxml/xmlIO.h
+++ b/include/libxml/xmlIO.h
@@ -31,7 +31,7 @@
  *
  * Returns 1 if yes and 0 if another Input module should be used
  */
-typedef int (XMLCALL *xmlInputMatchCallback) (char const *filename);
+typedef int (*xmlInputMatchCallback) (char const *filename);
 /**
  * xmlInputOpenCallback:
  * @filename: the filename or URI
@@ -40,7 +40,7 @@
  *
  * Returns an Input context or NULL in case or error
  */
-typedef void * (XMLCALL *xmlInputOpenCallback) (char const *filename);
+typedef void * (*xmlInputOpenCallback) (char const *filename);
 /**
  * xmlInputReadCallback:
  * @context:  an Input context
@@ -51,7 +51,7 @@
  *
  * Returns the number of bytes read or -1 in case of error
  */
-typedef int (XMLCALL *xmlInputReadCallback) (void * context, char * buffer, int len);
+typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len);
 /**
  * xmlInputCloseCallback:
  * @context:  an Input context
@@ -60,7 +60,7 @@
  *
  * Returns 0 or -1 in case of error
  */
-typedef int (XMLCALL *xmlInputCloseCallback) (void * context);
+typedef int (*xmlInputCloseCallback) (void * context);
 
 #ifdef LIBXML_OUTPUT_ENABLED
 /*
@@ -77,7 +77,7 @@
  *
  * Returns 1 if yes and 0 if another Output module should be used
  */
-typedef int (XMLCALL *xmlOutputMatchCallback) (char const *filename);
+typedef int (*xmlOutputMatchCallback) (char const *filename);
 /**
  * xmlOutputOpenCallback:
  * @filename: the filename or URI
@@ -86,7 +86,7 @@
  *
  * Returns an Output context or NULL in case or error
  */
-typedef void * (XMLCALL *xmlOutputOpenCallback) (char const *filename);
+typedef void * (*xmlOutputOpenCallback) (char const *filename);
 /**
  * xmlOutputWriteCallback:
  * @context:  an Output context
@@ -97,7 +97,7 @@
  *
  * Returns the number of bytes written or -1 in case of error
  */
-typedef int (XMLCALL *xmlOutputWriteCallback) (void * context, const char * buffer,
+typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer,
                                        int len);
 /**
  * xmlOutputCloseCallback:
@@ -107,7 +107,7 @@
  *
  * Returns 0 or -1 in case of error
  */
-typedef int (XMLCALL *xmlOutputCloseCallback) (void * context);
+typedef int (*xmlOutputCloseCallback) (void * context);
 #endif /* LIBXML_OUTPUT_ENABLED */
 
 #ifdef __cplusplus
@@ -155,53 +155,54 @@
 /*
  * Interfaces for input
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlCleanupInputCallbacks		(void);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlPopInputCallbacks			(void);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlRegisterDefaultInputCallbacks	(void);
-XMLPUBFUN xmlParserInputBufferPtr XMLCALL
+XMLPUBFUN xmlParserInputBufferPtr
 	xmlAllocParserInputBuffer		(xmlCharEncoding enc);
 
-XMLPUBFUN xmlParserInputBufferPtr XMLCALL
+XMLPUBFUN xmlParserInputBufferPtr
 	xmlParserInputBufferCreateFilename	(const char *URI,
                                                  xmlCharEncoding enc);
-XMLPUBFUN xmlParserInputBufferPtr XMLCALL
+XMLPUBFUN xmlParserInputBufferPtr
 	xmlParserInputBufferCreateFile		(FILE *file,
                                                  xmlCharEncoding enc);
-XMLPUBFUN xmlParserInputBufferPtr XMLCALL
+XMLPUBFUN xmlParserInputBufferPtr
 	xmlParserInputBufferCreateFd		(int fd,
 	                                         xmlCharEncoding enc);
-XMLPUBFUN xmlParserInputBufferPtr XMLCALL
+XMLPUBFUN xmlParserInputBufferPtr
 	xmlParserInputBufferCreateMem		(const char *mem, int size,
 	                                         xmlCharEncoding enc);
-XMLPUBFUN xmlParserInputBufferPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlParserInputBufferPtr
 	xmlParserInputBufferCreateStatic	(const char *mem, int size,
 	                                         xmlCharEncoding enc);
-XMLPUBFUN xmlParserInputBufferPtr XMLCALL
+XMLPUBFUN xmlParserInputBufferPtr
 	xmlParserInputBufferCreateIO		(xmlInputReadCallback   ioread,
 						 xmlInputCloseCallback  ioclose,
 						 void *ioctx,
 	                                         xmlCharEncoding enc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlParserInputBufferRead		(xmlParserInputBufferPtr in,
 						 int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlParserInputBufferGrow		(xmlParserInputBufferPtr in,
 						 int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlParserInputBufferPush		(xmlParserInputBufferPtr in,
 						 int len,
 						 const char *buf);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlFreeParserInputBuffer		(xmlParserInputBufferPtr in);
-XMLPUBFUN char * XMLCALL
+XMLPUBFUN char *
 	xmlParserGetDirectory			(const char *filename);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlRegisterInputCallbacks		(xmlInputMatchCallback matchFunc,
 						 xmlInputOpenCallback openFunc,
 						 xmlInputReadCallback readFunc,
@@ -215,62 +216,62 @@
 /*
  * Interfaces for output
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlCleanupOutputCallbacks		(void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlPopOutputCallbacks			(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlRegisterDefaultOutputCallbacks(void);
-XMLPUBFUN xmlOutputBufferPtr XMLCALL
+XMLPUBFUN xmlOutputBufferPtr
 	xmlAllocOutputBuffer		(xmlCharEncodingHandlerPtr encoder);
 
-XMLPUBFUN xmlOutputBufferPtr XMLCALL
+XMLPUBFUN xmlOutputBufferPtr
 	xmlOutputBufferCreateFilename	(const char *URI,
 					 xmlCharEncodingHandlerPtr encoder,
 					 int compression);
 
-XMLPUBFUN xmlOutputBufferPtr XMLCALL
+XMLPUBFUN xmlOutputBufferPtr
 	xmlOutputBufferCreateFile	(FILE *file,
 					 xmlCharEncodingHandlerPtr encoder);
 
-XMLPUBFUN xmlOutputBufferPtr XMLCALL
+XMLPUBFUN xmlOutputBufferPtr
 	xmlOutputBufferCreateBuffer	(xmlBufferPtr buffer,
 					 xmlCharEncodingHandlerPtr encoder);
 
-XMLPUBFUN xmlOutputBufferPtr XMLCALL
+XMLPUBFUN xmlOutputBufferPtr
 	xmlOutputBufferCreateFd		(int fd,
 					 xmlCharEncodingHandlerPtr encoder);
 
-XMLPUBFUN xmlOutputBufferPtr XMLCALL
+XMLPUBFUN xmlOutputBufferPtr
 	xmlOutputBufferCreateIO		(xmlOutputWriteCallback   iowrite,
 					 xmlOutputCloseCallback  ioclose,
 					 void *ioctx,
 					 xmlCharEncodingHandlerPtr encoder);
 
 /* Couple of APIs to get the output without digging into the buffers */
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
         xmlOutputBufferGetContent       (xmlOutputBufferPtr out);
-XMLPUBFUN size_t XMLCALL
+XMLPUBFUN size_t
         xmlOutputBufferGetSize          (xmlOutputBufferPtr out);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlOutputBufferWrite		(xmlOutputBufferPtr out,
 					 int len,
 					 const char *buf);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlOutputBufferWriteString	(xmlOutputBufferPtr out,
 					 const char *str);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlOutputBufferWriteEscape	(xmlOutputBufferPtr out,
 					 const xmlChar *str,
 					 xmlCharEncodingOutputFunc escaping);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlOutputBufferFlush		(xmlOutputBufferPtr out);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlOutputBufferClose		(xmlOutputBufferPtr out);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlRegisterOutputCallbacks	(xmlOutputMatchCallback matchFunc,
 					 xmlOutputOpenCallback openFunc,
 					 xmlOutputWriteCallback writeFunc,
@@ -283,20 +284,20 @@
 
 #ifdef LIBXML_HTTP_ENABLED
 /*  This function only exists if HTTP support built into the library  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlRegisterHTTPPostCallbacks	(void );
 #endif /* LIBXML_HTTP_ENABLED */
 
 #endif /* LIBXML_OUTPUT_ENABLED */
 
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr
 	xmlCheckHTTPInput		(xmlParserCtxtPtr ctxt,
 					 xmlParserInputPtr ret);
 
 /*
  * A predefined entity loader disabling network accesses
  */
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr
 	xmlNoNetExternalEntityLoader	(const char *URL,
 					 const char *ID,
 					 xmlParserCtxtPtr ctxt);
@@ -305,43 +306,43 @@
  * xmlNormalizeWindowsPath is obsolete, don't use it.
  * Check xmlCanonicPath in uri.h for a better alternative.
  */
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 	xmlNormalizeWindowsPath		(const xmlChar *path);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlCheckFilename		(const char *path);
 /**
  * Default 'file://' protocol callbacks
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlFileMatch			(const char *filename);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlFileOpen			(const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlFileRead			(void * context,
 					 char * buffer,
 					 int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlFileClose			(void * context);
 
 /**
  * Default 'http://' protocol callbacks
  */
 #ifdef LIBXML_HTTP_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlIOHTTPMatch			(const char *filename);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlIOHTTPOpen			(const char *filename);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlIOHTTPOpenW			(const char * post_uri,
 					 int   compression );
 #endif /* LIBXML_OUTPUT_ENABLED */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlIOHTTPRead			(void * context,
 					 char * buffer,
 					 int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlIOHTTPClose			(void * context);
 #endif /* LIBXML_HTTP_ENABLED */
 
@@ -349,15 +350,15 @@
  * Default 'ftp://' protocol callbacks
  */
 #ifdef LIBXML_FTP_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlIOFTPMatch			(const char *filename);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlIOFTPOpen			(const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlIOFTPRead			(void * context,
 					 char * buffer,
 					 int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlIOFTPClose			(void * context);
 #endif /* LIBXML_FTP_ENABLED */
 
diff --git a/include/libxml/xmlautomata.h b/include/libxml/xmlautomata.h
index bf1b131..ea38eb3 100644
--- a/include/libxml/xmlautomata.h
+++ b/include/libxml/xmlautomata.h
@@ -11,11 +11,11 @@
 #define __XML_AUTOMATA_H__
 
 #include <libxml/xmlversion.h>
-#include <libxml/tree.h>
 
 #ifdef LIBXML_REGEXP_ENABLED
 #ifdef LIBXML_AUTOMATA_ENABLED
-#include <libxml/xmlregexp.h>
+
+#include <libxml/xmlstring.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -40,32 +40,32 @@
 /*
  * Building API
  */
-XMLPUBFUN xmlAutomataPtr XMLCALL
+XMLPUBFUN xmlAutomataPtr
 		    xmlNewAutomata		(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlFreeAutomata		(xmlAutomataPtr am);
 
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataGetInitState	(xmlAutomataPtr am);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlAutomataSetFinalState	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr state);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataNewState		(xmlAutomataPtr am);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataNewTransition	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
 						 const xmlChar *token,
 						 void *data);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataNewTransition2	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
 						 const xmlChar *token,
 						 const xmlChar *token2,
 						 void *data);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
                     xmlAutomataNewNegTrans	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
@@ -73,7 +73,7 @@
 						 const xmlChar *token2,
 						 void *data);
 
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataNewCountTrans	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
@@ -81,7 +81,7 @@
 						 int min,
 						 int max,
 						 void *data);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataNewCountTrans2	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
@@ -90,7 +90,7 @@
 						 int min,
 						 int max,
 						 void *data);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataNewOnceTrans	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
@@ -98,7 +98,7 @@
 						 int min,
 						 int max,
 						 void *data);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataNewOnceTrans2	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
@@ -107,33 +107,33 @@
 						 int min,
 						 int max,
 						 void *data);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataNewAllTrans	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
 						 int lax);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataNewEpsilon	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataNewCountedTrans	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
 						 int counter);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr
 		    xmlAutomataNewCounterTrans	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
 						 int counter);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlAutomataNewCounter	(xmlAutomataPtr am,
 						 int min,
 						 int max);
 
-XMLPUBFUN xmlRegexpPtr XMLCALL
+XMLPUBFUN struct _xmlRegexp *
 		    xmlAutomataCompile		(xmlAutomataPtr am);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlAutomataIsDeterminist	(xmlAutomataPtr am);
 
 #ifdef __cplusplus
diff --git a/include/libxml/xmlerror.h b/include/libxml/xmlerror.h
index c101997..830b4a6 100644
--- a/include/libxml/xmlerror.h
+++ b/include/libxml/xmlerror.h
@@ -209,6 +209,7 @@
     XML_ERR_VERSION_MISMATCH, /* 109 */
     XML_ERR_NAME_TOO_LONG, /* 110 */
     XML_ERR_USER_STOP, /* 111 */
+    XML_ERR_COMMENT_ABRUPTLY_ENDED, /* 112 */
     XML_NS_ERR_XML_NAMESPACE = 200,
     XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */
     XML_NS_ERR_QNAME, /* 202 */
@@ -259,6 +260,7 @@
     XML_DTD_DUP_TOKEN, /* 541 */
     XML_HTML_STRUCURE_ERROR = 800,
     XML_HTML_UNKNOWN_TAG, /* 801 */
+    XML_HTML_INCORRECTLY_OPENED_COMMENT, /* 802 */
     XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000,
     XML_RNGP_ATTR_CONFLICT, /* 1001 */
     XML_RNGP_ATTRIBUTE_CHILDREN, /* 1002 */
@@ -842,7 +844,7 @@
  * Signature of the function to use when there is an error and
  * no parsing or validity context available .
  */
-typedef void (XMLCDECL *xmlGenericErrorFunc) (void *ctx,
+typedef void (*xmlGenericErrorFunc) (void *ctx,
 				 const char *msg,
 				 ...) LIBXML_ATTR_FORMAT(2,3);
 /**
@@ -853,92 +855,64 @@
  * Signature of the function to use when there is an error and
  * the module handles the new error reporting mechanism.
  */
-typedef void (XMLCALL *xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error);
+typedef void (*xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error);
 
 /*
  * Use the following function to reset the two global variables
  * xmlGenericError and xmlGenericErrorContext.
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
     xmlSetGenericErrorFunc	(void *ctx,
 				 xmlGenericErrorFunc handler);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
     initGenericErrorDefaultFunc	(xmlGenericErrorFunc *handler);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
     xmlSetStructuredErrorFunc	(void *ctx,
 				 xmlStructuredErrorFunc handler);
 /*
  * Default message routines used by SAX and Valid context for error
  * and warning reporting.
  */
-XMLPUBFUN void XMLCDECL
+XMLPUBFUN void
     xmlParserError		(void *ctx,
 				 const char *msg,
 				 ...) LIBXML_ATTR_FORMAT(2,3);
-XMLPUBFUN void XMLCDECL
+XMLPUBFUN void
     xmlParserWarning		(void *ctx,
 				 const char *msg,
 				 ...) LIBXML_ATTR_FORMAT(2,3);
-XMLPUBFUN void XMLCDECL
+XMLPUBFUN void
     xmlParserValidityError	(void *ctx,
 				 const char *msg,
 				 ...) LIBXML_ATTR_FORMAT(2,3);
-XMLPUBFUN void XMLCDECL
+XMLPUBFUN void
     xmlParserValidityWarning	(void *ctx,
 				 const char *msg,
 				 ...) LIBXML_ATTR_FORMAT(2,3);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
     xmlParserPrintFileInfo	(xmlParserInputPtr input);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
     xmlParserPrintFileContext	(xmlParserInputPtr input);
 
 /*
  * Extended error information routines
  */
-XMLPUBFUN xmlErrorPtr XMLCALL
+XMLPUBFUN xmlErrorPtr
     xmlGetLastError		(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
     xmlResetLastError		(void);
-XMLPUBFUN xmlErrorPtr XMLCALL
+XMLPUBFUN xmlErrorPtr
     xmlCtxtGetLastError		(void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
     xmlCtxtResetLastError	(void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
     xmlResetError		(xmlErrorPtr err);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
     xmlCopyError		(xmlErrorPtr from,
 				 xmlErrorPtr to);
 
-#ifdef IN_LIBXML
-/*
- * Internal callback reporting routine
- */
-XMLPUBFUN void XMLCALL
-    __xmlRaiseError		(xmlStructuredErrorFunc schannel,
-				 xmlGenericErrorFunc channel,
-				 void *data,
-                                 void *ctx,
-				 void *node,
-				 int domain,
-				 int code,
-				 xmlErrorLevel level,
-				 const char *file,
-				 int line,
-				 const char *str1,
-				 const char *str2,
-				 const char *str3,
-				 int int1,
-				 int col,
-				 const char *msg,
-				 ...) LIBXML_ATTR_FORMAT(16,17);
-XMLPUBFUN void XMLCALL
-    __xmlSimpleError		(int domain,
-				 int code,
-				 xmlNodePtr node,
-				 const char *msg,
-				 const char *extra) LIBXML_ATTR_FORMAT(4,0);
-#endif
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/libxml/xmlexports.h b/include/libxml/xmlexports.h
index aceede5..3b063e7 100644
--- a/include/libxml/xmlexports.h
+++ b/include/libxml/xmlexports.h
@@ -8,50 +8,19 @@
 #ifndef __XML_EXPORTS_H__
 #define __XML_EXPORTS_H__
 
-#if defined(_WIN32) || defined(__CYGWIN__)
 /** DOC_DISABLE */
-
-#ifdef LIBXML_STATIC
-  #define XMLPUBLIC
-#elif defined(IN_LIBXML)
-  #define XMLPUBLIC __declspec(dllexport)
-#else
-  #define XMLPUBLIC __declspec(dllimport)
-#endif
-
-#if defined(LIBXML_FASTCALL)
-  #define XMLCALL __fastcall
-#else
-  #define XMLCALL __cdecl
-#endif
-#define XMLCDECL __cdecl
-
-/** DOC_ENABLE */
+#if defined(_WIN32) || defined(__CYGWIN__)
+  #ifdef LIBXML_STATIC
+    #define XMLPUBLIC
+  #elif defined(IN_LIBXML)
+    #define XMLPUBLIC __declspec(dllexport)
+  #else
+    #define XMLPUBLIC __declspec(dllimport)
+  #endif
 #else /* not Windows */
-
-/**
- * XMLPUBLIC:
- *
- * Macro which declares a public symbol
- */
-#define XMLPUBLIC
-
-/**
- * XMLCALL:
- *
- * Macro which declares the calling convention for exported functions
- */
-#define XMLCALL
-
-/**
- * XMLCDECL:
- *
- * Macro which declares the calling convention for exported functions that
- * use '...'.
- */
-#define XMLCDECL
-
+  #define XMLPUBLIC
 #endif /* platform switch */
+/** DOC_ENABLE */
 
 /*
  * XMLPUBFUN:
@@ -67,10 +36,14 @@
  */
 #define XMLPUBVAR XMLPUBLIC extern
 
+/** DOC_DISABLE */
 /* Compatibility */
+#define XMLCALL
+#define XMLCDECL
 #if !defined(LIBXML_DLL_IMPORT)
 #define LIBXML_DLL_IMPORT XMLPUBVAR
 #endif
+/** DOC_ENABLE */
 
 #endif /* __XML_EXPORTS_H__ */
 
diff --git a/include/libxml/xmlmemory.h b/include/libxml/xmlmemory.h
index 17e375a..969d687 100644
--- a/include/libxml/xmlmemory.h
+++ b/include/libxml/xmlmemory.h
@@ -54,7 +54,7 @@
  *
  * Signature for a free() implementation.
  */
-typedef void (XMLCALL *xmlFreeFunc)(void *mem);
+typedef void (*xmlFreeFunc)(void *mem);
 /**
  * xmlMallocFunc:
  * @size:  the size requested in bytes
@@ -63,7 +63,7 @@
  *
  * Returns a pointer to the newly allocated block or NULL in case of error.
  */
-typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) XMLCALL *xmlMallocFunc)(size_t size);
+typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) *xmlMallocFunc)(size_t size);
 
 /**
  * xmlReallocFunc:
@@ -74,7 +74,7 @@
  *
  * Returns a pointer to the newly reallocated block or NULL in case of error.
  */
-typedef void *(XMLCALL *xmlReallocFunc)(void *mem, size_t size);
+typedef void *(*xmlReallocFunc)(void *mem, size_t size);
 
 /**
  * xmlStrdupFunc:
@@ -84,7 +84,7 @@
  *
  * Returns the copy of the string or NULL in case of error.
  */
-typedef char *(XMLCALL *xmlStrdupFunc)(const char *str);
+typedef char *(*xmlStrdupFunc)(const char *str);
 
 /*
  * The 4 interfaces used for all memory handling within libxml.
@@ -100,23 +100,23 @@
  * The xmlGc function have an extra entry for atomic block
  * allocations useful for garbage collected memory allocators
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlMemSetup	(xmlFreeFunc freeFunc,
 			 xmlMallocFunc mallocFunc,
 			 xmlReallocFunc reallocFunc,
 			 xmlStrdupFunc strdupFunc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlMemGet	(xmlFreeFunc *freeFunc,
 			 xmlMallocFunc *mallocFunc,
 			 xmlReallocFunc *reallocFunc,
 			 xmlStrdupFunc *strdupFunc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlGcMemSetup	(xmlFreeFunc freeFunc,
 			 xmlMallocFunc mallocFunc,
 			 xmlMallocFunc mallocAtomicFunc,
 			 xmlReallocFunc reallocFunc,
 			 xmlStrdupFunc strdupFunc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlGcMemGet	(xmlFreeFunc *freeFunc,
 			 xmlMallocFunc *mallocFunc,
 			 xmlMallocFunc *mallocAtomicFunc,
@@ -126,44 +126,46 @@
 /*
  * Initialization of the memory layer.
  */
-XMLPUBFUN int XMLCALL
+XML_DEPRECATED
+XMLPUBFUN int
 	xmlInitMemory	(void);
 
 /*
  * Cleanup of the memory layer.
  */
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
                 xmlCleanupMemory        (void);
 /*
  * These are specific to the XML debug memory wrapper.
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlMemUsed	(void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	xmlMemBlocks	(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlMemDisplay	(FILE *fp);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlMemDisplayLast(FILE *fp, long nbBytes);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlMemShow	(FILE *fp, int nr);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlMemoryDump	(void);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlMemMalloc	(size_t size) LIBXML_ATTR_ALLOC_SIZE(1);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlMemRealloc	(void *ptr,size_t size);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlMemFree	(void *ptr);
-XMLPUBFUN char * XMLCALL
+XMLPUBFUN char *
 	xmlMemoryStrdup	(const char *str);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlMallocLoc	(size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlReallocLoc	(void *ptr, size_t size, const char *file, int line);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 	xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
-XMLPUBFUN char * XMLCALL
+XMLPUBFUN char *
 	xmlMemStrdupLoc	(const char *str, const char *file, int line);
 
 
diff --git a/include/libxml/xmlmodule.h b/include/libxml/xmlmodule.h
index 9667820..279986c 100644
--- a/include/libxml/xmlmodule.h
+++ b/include/libxml/xmlmodule.h
@@ -37,16 +37,16 @@
     XML_MODULE_LOCAL= 2		/* local binding */
 } xmlModuleOption;
 
-XMLPUBFUN xmlModulePtr XMLCALL xmlModuleOpen	(const char *filename,
+XMLPUBFUN xmlModulePtr xmlModuleOpen	(const char *filename,
 						 int options);
 
-XMLPUBFUN int XMLCALL xmlModuleSymbol		(xmlModulePtr module,
+XMLPUBFUN int xmlModuleSymbol		(xmlModulePtr module,
 						 const char* name,
 						 void **result);
 
-XMLPUBFUN int XMLCALL xmlModuleClose		(xmlModulePtr module);
+XMLPUBFUN int xmlModuleClose		(xmlModulePtr module);
 
-XMLPUBFUN int XMLCALL xmlModuleFree		(xmlModulePtr module);
+XMLPUBFUN int xmlModuleFree		(xmlModulePtr module);
 
 #ifdef __cplusplus
 }
diff --git a/include/libxml/xmlreader.h b/include/libxml/xmlreader.h
index e8a8bcc..1ac1510 100644
--- a/include/libxml/xmlreader.h
+++ b/include/libxml/xmlreader.h
@@ -108,16 +108,16 @@
 /*
  * Constructors & Destructor
  */
-XMLPUBFUN xmlTextReaderPtr XMLCALL
+XMLPUBFUN xmlTextReaderPtr
 			xmlNewTextReader	(xmlParserInputBufferPtr input,
 	                                         const char *URI);
-XMLPUBFUN xmlTextReaderPtr XMLCALL
+XMLPUBFUN xmlTextReaderPtr
 			xmlNewTextReaderFilename(const char *URI);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlFreeTextReader	(xmlTextReaderPtr reader);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
             xmlTextReaderSetup(xmlTextReaderPtr reader,
                    xmlParserInputBufferPtr input, const char *URL,
                    const char *encoding, int options);
@@ -125,222 +125,222 @@
 /*
  * Iterators
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlTextReaderRead	(xmlTextReaderPtr reader);
 
 #ifdef LIBXML_WRITER_ENABLED
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlTextReaderReadInnerXml(xmlTextReaderPtr reader);
 
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlTextReaderReadOuterXml(xmlTextReaderPtr reader);
 #endif
 
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlTextReaderReadString	(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader);
 
 /*
  * Attributes of the node
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlTextReaderDepth	(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlTextReaderHasValue(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlTextReaderIsDefault	(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlTextReaderNodeType	(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlTextReaderReadState	(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
                         xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
 
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		    xmlTextReaderConstLocalName	(xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		    xmlTextReaderConstName	(xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		    xmlTextReaderConstPrefix	(xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		    xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		    xmlTextReaderConstString	(xmlTextReaderPtr reader,
 						 const xmlChar *str);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		    xmlTextReaderConstValue	(xmlTextReaderPtr reader);
 
 /*
  * use the Const version of the routine for
  * better performance and simpler code
  */
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlTextReaderBaseUri	(xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlTextReaderLocalName	(xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlTextReaderName	(xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlTextReaderPrefix	(xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlTextReaderXmlLang	(xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 			xmlTextReaderValue	(xmlTextReaderPtr reader);
 
 /*
  * Methods of the XmlTextReader
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderClose		(xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		    xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader,
 						 int no);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		    xmlTextReaderGetAttribute	(xmlTextReaderPtr reader,
 						 const xmlChar *name);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		    xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader,
 						 const xmlChar *localName,
 						 const xmlChar *namespaceURI);
-XMLPUBFUN xmlParserInputBufferPtr XMLCALL
+XMLPUBFUN xmlParserInputBufferPtr
 		    xmlTextReaderGetRemainder	(xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		    xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
 						 const xmlChar *prefix);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
 						 int no);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
 						 const xmlChar *name);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
 						 const xmlChar *localName,
 						 const xmlChar *namespaceURI);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderMoveToElement	(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderNormalization	(xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		    xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);
 
 /*
  * Extensions
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderSetParserProp	(xmlTextReaderPtr reader,
 						 int prop,
 						 int value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderGetParserProp	(xmlTextReaderPtr reader,
 						 int prop);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		    xmlTextReaderCurrentNode	(xmlTextReaderPtr reader);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
             xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
             xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
 
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		    xmlTextReaderPreserve	(xmlTextReaderPtr reader);
 #ifdef LIBXML_PATTERN_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
 						 const xmlChar *pattern,
 						 const xmlChar **namespaces);
 #endif /* LIBXML_PATTERN_ENABLED */
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr
 		    xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr
 		    xmlTextReaderExpand		(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderNext		(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderNextSibling	(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderIsValid	(xmlTextReaderPtr reader);
 #ifdef LIBXML_SCHEMAS_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
 						 const char *rng);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader,
 						 xmlRelaxNGValidCtxtPtr ctxt,
 						 int options);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
 						 xmlRelaxNGPtr schema);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderSchemaValidate	(xmlTextReaderPtr reader,
 						 const char *xsd);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
 						 xmlSchemaValidCtxtPtr ctxt,
 						 int options);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderSetSchema	(xmlTextReaderPtr reader,
 						 xmlSchemaPtr schema);
 #endif
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlTextReaderStandalone     (xmlTextReaderPtr reader);
 
 
 /*
  * Index lookup
  */
-XMLPUBFUN long XMLCALL
+XMLPUBFUN long
 		xmlTextReaderByteConsumed	(xmlTextReaderPtr reader);
 
 /*
  * New more complete APIs for simpler creation and reuse of readers
  */
-XMLPUBFUN xmlTextReaderPtr XMLCALL
+XMLPUBFUN xmlTextReaderPtr
 		xmlReaderWalker		(xmlDocPtr doc);
-XMLPUBFUN xmlTextReaderPtr XMLCALL
+XMLPUBFUN xmlTextReaderPtr
 		xmlReaderForDoc		(const xmlChar * cur,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlTextReaderPtr XMLCALL
+XMLPUBFUN xmlTextReaderPtr
 		xmlReaderForFile	(const char *filename,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlTextReaderPtr XMLCALL
+XMLPUBFUN xmlTextReaderPtr
 		xmlReaderForMemory	(const char *buffer,
 					 int size,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlTextReaderPtr XMLCALL
+XMLPUBFUN xmlTextReaderPtr
 		xmlReaderForFd		(int fd,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlTextReaderPtr XMLCALL
+XMLPUBFUN xmlTextReaderPtr
 		xmlReaderForIO		(xmlInputReadCallback ioread,
 					 xmlInputCloseCallback ioclose,
 					 void *ioctx,
@@ -348,34 +348,34 @@
 					 const char *encoding,
 					 int options);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlReaderNewWalker	(xmlTextReaderPtr reader,
 					 xmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlReaderNewDoc		(xmlTextReaderPtr reader,
 					 const xmlChar * cur,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlReaderNewFile	(xmlTextReaderPtr reader,
 					 const char *filename,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlReaderNewMemory	(xmlTextReaderPtr reader,
 					 const char *buffer,
 					 int size,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlReaderNewFd		(xmlTextReaderPtr reader,
 					 int fd,
 					 const char *URL,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlReaderNewIO		(xmlTextReaderPtr reader,
 					 xmlInputReadCallback ioread,
 					 xmlInputCloseCallback ioclose,
@@ -397,23 +397,23 @@
  *
  * Signature of an error callback from a reader parser
  */
-typedef void (XMLCALL *xmlTextReaderErrorFunc)(void *arg,
+typedef void (*xmlTextReaderErrorFunc)(void *arg,
 					       const char *msg,
 					       xmlParserSeverities severity,
 					       xmlTextReaderLocatorPtr locator);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 	    xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
 					 xmlTextReaderErrorFunc f,
 					 void *arg);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
 						   xmlStructuredErrorFunc f,
 						   void *arg);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
 					 xmlTextReaderErrorFunc *f,
 					 void **arg);
diff --git a/include/libxml/xmlregexp.h b/include/libxml/xmlregexp.h
index 7009645..39a72ab 100644
--- a/include/libxml/xmlregexp.h
+++ b/include/libxml/xmlregexp.h
@@ -48,16 +48,16 @@
 /*
  * The POSIX like API
  */
-XMLPUBFUN xmlRegexpPtr XMLCALL
+XMLPUBFUN xmlRegexpPtr
 		    xmlRegexpCompile	(const xmlChar *regexp);
-XMLPUBFUN void XMLCALL			 xmlRegFreeRegexp(xmlRegexpPtr regexp);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN void			 xmlRegFreeRegexp(xmlRegexpPtr regexp);
+XMLPUBFUN int
 		    xmlRegexpExec	(xmlRegexpPtr comp,
 					 const xmlChar *value);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlRegexpPrint	(FILE *output,
 					 xmlRegexpPtr regexp);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRegexpIsDeterminist(xmlRegexpPtr comp);
 
 /**
@@ -77,29 +77,29 @@
 /*
  * The progressive API
  */
-XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
+XMLPUBFUN xmlRegExecCtxtPtr
 		    xmlRegNewExecCtxt	(xmlRegexpPtr comp,
 					 xmlRegExecCallbacks callback,
 					 void *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlRegFreeExecCtxt	(xmlRegExecCtxtPtr exec);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRegExecPushString(xmlRegExecCtxtPtr exec,
 					 const xmlChar *value,
 					 void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
 					 const xmlChar *value,
 					 const xmlChar *value2,
 					 void *data);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
 					 int *nbval,
 					 int *nbneg,
 					 xmlChar **values,
 					 int *terminal);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlRegExecErrInfo	(xmlRegExecCtxtPtr exec,
 					 const xmlChar **string,
 					 int *nbval,
@@ -116,15 +116,15 @@
 typedef struct _xmlExpCtxt xmlExpCtxt;
 typedef xmlExpCtxt *xmlExpCtxtPtr;
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlExpFreeCtxt	(xmlExpCtxtPtr ctxt);
-XMLPUBFUN xmlExpCtxtPtr XMLCALL
+XMLPUBFUN xmlExpCtxtPtr
 			xmlExpNewCtxt	(int maxNodes,
 					 xmlDictPtr dict);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt);
 
 /* Expressions are trees but the tree is opaque */
@@ -150,31 +150,31 @@
 /*
  * Expressions are reference counted internally
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlExpFree	(xmlExpCtxtPtr ctxt,
 					 xmlExpNodePtr expr);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlExpRef	(xmlExpNodePtr expr);
 
 /*
  * constructors can be either manual or from a string
  */
-XMLPUBFUN xmlExpNodePtr XMLCALL
+XMLPUBFUN xmlExpNodePtr
 			xmlExpParse	(xmlExpCtxtPtr ctxt,
 					 const char *expr);
-XMLPUBFUN xmlExpNodePtr XMLCALL
+XMLPUBFUN xmlExpNodePtr
 			xmlExpNewAtom	(xmlExpCtxtPtr ctxt,
 					 const xmlChar *name,
 					 int len);
-XMLPUBFUN xmlExpNodePtr XMLCALL
+XMLPUBFUN xmlExpNodePtr
 			xmlExpNewOr	(xmlExpCtxtPtr ctxt,
 					 xmlExpNodePtr left,
 					 xmlExpNodePtr right);
-XMLPUBFUN xmlExpNodePtr XMLCALL
+XMLPUBFUN xmlExpNodePtr
 			xmlExpNewSeq	(xmlExpCtxtPtr ctxt,
 					 xmlExpNodePtr left,
 					 xmlExpNodePtr right);
-XMLPUBFUN xmlExpNodePtr XMLCALL
+XMLPUBFUN xmlExpNodePtr
 			xmlExpNewRange	(xmlExpCtxtPtr ctxt,
 					 xmlExpNodePtr subset,
 					 int min,
@@ -182,34 +182,34 @@
 /*
  * The really interesting APIs
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlExpIsNillable(xmlExpNodePtr expr);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlExpMaxToken	(xmlExpNodePtr expr);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlExpGetLanguage(xmlExpCtxtPtr ctxt,
 					 xmlExpNodePtr expr,
 					 const xmlChar**langList,
 					 int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlExpGetStart	(xmlExpCtxtPtr ctxt,
 					 xmlExpNodePtr expr,
 					 const xmlChar**tokList,
 					 int len);
-XMLPUBFUN xmlExpNodePtr XMLCALL
+XMLPUBFUN xmlExpNodePtr
 			xmlExpStringDerive(xmlExpCtxtPtr ctxt,
 					 xmlExpNodePtr expr,
 					 const xmlChar *str,
 					 int len);
-XMLPUBFUN xmlExpNodePtr XMLCALL
+XMLPUBFUN xmlExpNodePtr
 			xmlExpExpDerive	(xmlExpCtxtPtr ctxt,
 					 xmlExpNodePtr expr,
 					 xmlExpNodePtr sub);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 			xmlExpSubsume	(xmlExpCtxtPtr ctxt,
 					 xmlExpNodePtr expr,
 					 xmlExpNodePtr sub);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 			xmlExpDump	(xmlBufferPtr buf,
 					 xmlExpNodePtr expr);
 #endif /* LIBXML_EXPR_ENABLED */
diff --git a/include/libxml/xmlsave.h b/include/libxml/xmlsave.h
index fb329b2..a744b7a 100644
--- a/include/libxml/xmlsave.h
+++ b/include/libxml/xmlsave.h
@@ -41,42 +41,42 @@
 typedef struct _xmlSaveCtxt xmlSaveCtxt;
 typedef xmlSaveCtxt *xmlSaveCtxtPtr;
 
-XMLPUBFUN xmlSaveCtxtPtr XMLCALL
+XMLPUBFUN xmlSaveCtxtPtr
 		xmlSaveToFd		(int fd,
 					 const char *encoding,
 					 int options);
-XMLPUBFUN xmlSaveCtxtPtr XMLCALL
+XMLPUBFUN xmlSaveCtxtPtr
 		xmlSaveToFilename	(const char *filename,
 					 const char *encoding,
 					 int options);
 
-XMLPUBFUN xmlSaveCtxtPtr XMLCALL
+XMLPUBFUN xmlSaveCtxtPtr
 		xmlSaveToBuffer		(xmlBufferPtr buffer,
 					 const char *encoding,
 					 int options);
 
-XMLPUBFUN xmlSaveCtxtPtr XMLCALL
+XMLPUBFUN xmlSaveCtxtPtr
 		xmlSaveToIO		(xmlOutputWriteCallback iowrite,
 					 xmlOutputCloseCallback ioclose,
 					 void *ioctx,
 					 const char *encoding,
 					 int options);
 
-XMLPUBFUN long XMLCALL
+XMLPUBFUN long
 		xmlSaveDoc		(xmlSaveCtxtPtr ctxt,
 					 xmlDocPtr doc);
-XMLPUBFUN long XMLCALL
+XMLPUBFUN long
 		xmlSaveTree		(xmlSaveCtxtPtr ctxt,
 					 xmlNodePtr node);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSaveFlush		(xmlSaveCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSaveClose		(xmlSaveCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSaveSetEscape	(xmlSaveCtxtPtr ctxt,
 					 xmlCharEncodingOutputFunc escape);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSaveSetAttrEscape	(xmlSaveCtxtPtr ctxt,
 					 xmlCharEncodingOutputFunc escape);
 #ifdef __cplusplus
diff --git a/include/libxml/xmlschemas.h b/include/libxml/xmlschemas.h
index b90e9d1..4d61ad0 100644
--- a/include/libxml/xmlschemas.h
+++ b/include/libxml/xmlschemas.h
@@ -92,7 +92,7 @@
  *
  * Signature of an error callback from an XSD validation
  */
-typedef void (XMLCDECL *xmlSchemaValidityErrorFunc)
+typedef void (*xmlSchemaValidityErrorFunc)
                  (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 
 /**
@@ -103,7 +103,7 @@
  *
  * Signature of a warning callback from an XSD validation
  */
-typedef void (XMLCDECL *xmlSchemaValidityWarningFunc)
+typedef void (*xmlSchemaValidityWarningFunc)
                  (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 
 /**
@@ -128,95 +128,95 @@
  * Returns: 0 in case of success and -1 in case of error
  */
 
-typedef int (XMLCDECL *xmlSchemaValidityLocatorFunc) (void *ctx,
+typedef int (*xmlSchemaValidityLocatorFunc) (void *ctx,
                            const char **file, unsigned long *line);
 
 /*
  * Interfaces for parsing.
  */
-XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
+XMLPUBFUN xmlSchemaParserCtxtPtr
 	    xmlSchemaNewParserCtxt	(const char *URL);
-XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
+XMLPUBFUN xmlSchemaParserCtxtPtr
 	    xmlSchemaNewMemParserCtxt	(const char *buffer,
 					 int size);
-XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
+XMLPUBFUN xmlSchemaParserCtxtPtr
 	    xmlSchemaNewDocParserCtxt	(xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchemaFreeParserCtxt	(xmlSchemaParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchemaSetParserErrors	(xmlSchemaParserCtxtPtr ctxt,
 					 xmlSchemaValidityErrorFunc err,
 					 xmlSchemaValidityWarningFunc warn,
 					 void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt,
 					 xmlStructuredErrorFunc serror,
 					 void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt,
 					xmlSchemaValidityErrorFunc * err,
 					xmlSchemaValidityWarningFunc * warn,
 					void **ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaIsValid	(xmlSchemaValidCtxtPtr ctxt);
 
-XMLPUBFUN xmlSchemaPtr XMLCALL
+XMLPUBFUN xmlSchemaPtr
 	    xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchemaFree		(xmlSchemaPtr schema);
 #ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchemaDump		(FILE *output,
 					 xmlSchemaPtr schema);
 #endif /* LIBXML_OUTPUT_ENABLED */
 /*
  * Interfaces for validating
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchemaSetValidErrors	(xmlSchemaValidCtxtPtr ctxt,
 					 xmlSchemaValidityErrorFunc err,
 					 xmlSchemaValidityWarningFunc warn,
 					 void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt,
 					 xmlStructuredErrorFunc serror,
 					 void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlSchemaGetValidErrors	(xmlSchemaValidCtxtPtr ctxt,
 					 xmlSchemaValidityErrorFunc *err,
 					 xmlSchemaValidityWarningFunc *warn,
 					 void **ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlSchemaSetValidOptions	(xmlSchemaValidCtxtPtr ctxt,
 					 int options);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
             xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt,
 	                                 const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);
 
-XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL
+XMLPUBFUN xmlSchemaValidCtxtPtr
 	    xmlSchemaNewValidCtxt	(xmlSchemaPtr schema);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlSchemaFreeValidCtxt	(xmlSchemaValidCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlSchemaValidateDoc	(xmlSchemaValidCtxtPtr ctxt,
 					 xmlDocPtr instance);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
             xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
 			                 xmlNodePtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlSchemaValidateStream	(xmlSchemaValidCtxtPtr ctxt,
 					 xmlParserInputBufferPtr input,
 					 xmlCharEncoding enc,
 					 xmlSAXHandlerPtr sax,
 					 void *user_data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 	    xmlSchemaValidateFile	(xmlSchemaValidCtxtPtr ctxt,
 					 const char * filename,
 					 int options);
 
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr
 	    xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt);
 
 /*
@@ -225,15 +225,15 @@
 typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct;
 typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr;
 
-XMLPUBFUN xmlSchemaSAXPlugPtr XMLCALL
+XMLPUBFUN xmlSchemaSAXPlugPtr
             xmlSchemaSAXPlug		(xmlSchemaValidCtxtPtr ctxt,
 					 xmlSAXHandlerPtr *sax,
 					 void **user_data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
             xmlSchemaSAXUnplug		(xmlSchemaSAXPlugPtr plug);
 
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
             xmlSchemaValidateSetLocator	(xmlSchemaValidCtxtPtr vctxt,
 					 xmlSchemaValidityLocatorFunc f,
 					 void *ctxt);
diff --git a/include/libxml/xmlschemastypes.h b/include/libxml/xmlschemastypes.h
index 35d48d4..eb1388d 100644
--- a/include/libxml/xmlschemastypes.h
+++ b/include/libxml/xmlschemastypes.h
@@ -30,117 +30,118 @@
     XML_SCHEMA_WHITESPACE_COLLAPSE = 3
 } xmlSchemaWhitespaceValueType;
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSchemaInitTypes		(void);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 		xmlSchemaCleanupTypes		(void);
-XMLPUBFUN xmlSchemaTypePtr XMLCALL
+XMLPUBFUN xmlSchemaTypePtr
 		xmlSchemaGetPredefinedType	(const xmlChar *name,
 						 const xmlChar *ns);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaValidatePredefinedType	(xmlSchemaTypePtr type,
 						 const xmlChar *value,
 						 xmlSchemaValPtr *val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaValPredefTypeNode	(xmlSchemaTypePtr type,
 						 const xmlChar *value,
 						 xmlSchemaValPtr *val,
 						 xmlNodePtr node);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaValidateFacet		(xmlSchemaTypePtr base,
 						 xmlSchemaFacetPtr facet,
 						 const xmlChar *value,
 						 xmlSchemaValPtr val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaValidateFacetWhtsp	(xmlSchemaFacetPtr facet,
 						 xmlSchemaWhitespaceValueType fws,
 						 xmlSchemaValType valType,
 						 const xmlChar *value,
 						 xmlSchemaValPtr val,
 						 xmlSchemaWhitespaceValueType ws);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSchemaFreeValue		(xmlSchemaValPtr val);
-XMLPUBFUN xmlSchemaFacetPtr XMLCALL
+XMLPUBFUN xmlSchemaFacetPtr
 		xmlSchemaNewFacet		(void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaCheckFacet		(xmlSchemaFacetPtr facet,
 						 xmlSchemaTypePtr typeDecl,
 						 xmlSchemaParserCtxtPtr ctxt,
 						 const xmlChar *name);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlSchemaFreeFacet		(xmlSchemaFacetPtr facet);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaCompareValues		(xmlSchemaValPtr x,
 						 xmlSchemaValPtr y);
-XMLPUBFUN xmlSchemaTypePtr XMLCALL
+XMLPUBFUN xmlSchemaTypePtr
     xmlSchemaGetBuiltInListSimpleTypeItemType	(xmlSchemaTypePtr type);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
     xmlSchemaValidateListSimpleTypeFacet	(xmlSchemaFacetPtr facet,
 						 const xmlChar *value,
 						 unsigned long actualLen,
 						 unsigned long *expectedLen);
-XMLPUBFUN xmlSchemaTypePtr XMLCALL
+XMLPUBFUN xmlSchemaTypePtr
 		xmlSchemaGetBuiltInType		(xmlSchemaValType type);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaIsBuiltInTypeFacet	(xmlSchemaTypePtr type,
 						 int facetType);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlSchemaCollapseString		(const xmlChar *value);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlSchemaWhiteSpaceReplace	(const xmlChar *value);
-XMLPUBFUN unsigned long  XMLCALL
+XMLPUBFUN unsigned long 
 		xmlSchemaGetFacetValueAsULong	(xmlSchemaFacetPtr facet);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaValidateLengthFacet	(xmlSchemaTypePtr type,
 						 xmlSchemaFacetPtr facet,
 						 const xmlChar *value,
 						 xmlSchemaValPtr val,
 						 unsigned long *length);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
 						  xmlSchemaValType valType,
 						  const xmlChar *value,
 						  xmlSchemaValPtr val,
 						  unsigned long *length,
 						  xmlSchemaWhitespaceValueType ws);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
 						 const xmlChar *value,
 						 xmlSchemaValPtr *val,
 						 xmlNodePtr node);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaGetCanonValue		(xmlSchemaValPtr val,
 						 const xmlChar **retValue);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaGetCanonValueWhtsp	(xmlSchemaValPtr val,
 						 const xmlChar **retValue,
 						 xmlSchemaWhitespaceValueType ws);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaValueAppend		(xmlSchemaValPtr prev,
 						 xmlSchemaValPtr cur);
-XMLPUBFUN xmlSchemaValPtr XMLCALL
+XMLPUBFUN xmlSchemaValPtr
 		xmlSchemaValueGetNext		(xmlSchemaValPtr cur);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		xmlSchemaValueGetAsString	(xmlSchemaValPtr val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaValueGetAsBoolean	(xmlSchemaValPtr val);
-XMLPUBFUN xmlSchemaValPtr XMLCALL
+XMLPUBFUN xmlSchemaValPtr
 		xmlSchemaNewStringValue		(xmlSchemaValType type,
 						 const xmlChar *value);
-XMLPUBFUN xmlSchemaValPtr XMLCALL
+XMLPUBFUN xmlSchemaValPtr
 		xmlSchemaNewNOTATIONValue	(const xmlChar *name,
 						 const xmlChar *ns);
-XMLPUBFUN xmlSchemaValPtr XMLCALL
+XMLPUBFUN xmlSchemaValPtr
 		xmlSchemaNewQNameValue		(const xmlChar *namespaceName,
 						 const xmlChar *localName);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlSchemaCompareValuesWhtsp	(xmlSchemaValPtr x,
 						 xmlSchemaWhitespaceValueType xws,
 						 xmlSchemaValPtr y,
 						 xmlSchemaWhitespaceValueType yws);
-XMLPUBFUN xmlSchemaValPtr XMLCALL
+XMLPUBFUN xmlSchemaValPtr
 		xmlSchemaCopyValue		(xmlSchemaValPtr val);
-XMLPUBFUN xmlSchemaValType XMLCALL
+XMLPUBFUN xmlSchemaValType
 		xmlSchemaGetValType		(xmlSchemaValPtr val);
 
 #ifdef __cplusplus
diff --git a/include/libxml/xmlstring.h b/include/libxml/xmlstring.h
index 2d0b2d1..db11a0b 100644
--- a/include/libxml/xmlstring.h
+++ b/include/libxml/xmlstring.h
@@ -37,100 +37,100 @@
 /*
  * xmlChar handling
  */
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
                 xmlStrdup                (const xmlChar *cur);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
                 xmlStrndup               (const xmlChar *cur,
                                          int len);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
                 xmlCharStrndup           (const char *cur,
                                          int len);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
                 xmlCharStrdup            (const char *cur);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
                 xmlStrsub                (const xmlChar *str,
                                          int start,
                                          int len);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
                 xmlStrchr                (const xmlChar *str,
                                          xmlChar val);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
                 xmlStrstr                (const xmlChar *str,
                                          const xmlChar *val);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
                 xmlStrcasestr            (const xmlChar *str,
                                          const xmlChar *val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
                 xmlStrcmp                (const xmlChar *str1,
                                          const xmlChar *str2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
                 xmlStrncmp               (const xmlChar *str1,
                                          const xmlChar *str2,
                                          int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
                 xmlStrcasecmp            (const xmlChar *str1,
                                          const xmlChar *str2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
                 xmlStrncasecmp           (const xmlChar *str1,
                                          const xmlChar *str2,
                                          int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
                 xmlStrEqual              (const xmlChar *str1,
                                          const xmlChar *str2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
                 xmlStrQEqual             (const xmlChar *pref,
                                          const xmlChar *name,
                                          const xmlChar *str);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
                 xmlStrlen                (const xmlChar *str);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
                 xmlStrcat                (xmlChar *cur,
                                          const xmlChar *add);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
                 xmlStrncat               (xmlChar *cur,
                                          const xmlChar *add,
                                          int len);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
                 xmlStrncatNew            (const xmlChar *str1,
                                          const xmlChar *str2,
                                          int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
                 xmlStrPrintf             (xmlChar *buf,
                                          int len,
                                          const char *msg,
                                          ...) LIBXML_ATTR_FORMAT(3,4);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
                 xmlStrVPrintf                (xmlChar *buf,
                                          int len,
                                          const char *msg,
                                          va_list ap) LIBXML_ATTR_FORMAT(3,0);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
         xmlGetUTF8Char                   (const unsigned char *utf,
                                          int *len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
         xmlCheckUTF8                     (const unsigned char *utf);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
         xmlUTF8Strsize                   (const xmlChar *utf,
                                          int len);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
         xmlUTF8Strndup                   (const xmlChar *utf,
                                          int len);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
         xmlUTF8Strpos                    (const xmlChar *utf,
                                          int pos);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
         xmlUTF8Strloc                    (const xmlChar *utf,
                                          const xmlChar *utfchar);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
         xmlUTF8Strsub                    (const xmlChar *utf,
                                          int start,
                                          int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
         xmlUTF8Strlen                    (const xmlChar *utf);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
         xmlUTF8Size                      (const xmlChar *utf);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
         xmlUTF8Charcmp                   (const xmlChar *utf1,
                                          const xmlChar *utf2);
 
diff --git a/include/libxml/xmlunicode.h b/include/libxml/xmlunicode.h
index 01ac8b6..2e50a49 100644
--- a/include/libxml/xmlunicode.h
+++ b/include/libxml/xmlunicode.h
@@ -23,175 +23,175 @@
 extern "C" {
 #endif
 
-XMLPUBFUN int XMLCALL xmlUCSIsAegeanNumbers	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsAlphabeticPresentationForms	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsArabic	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsA	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsB	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsArmenian	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsArrows	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsBasicLatin	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsBengali	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsBlockElements	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsBopomofo	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsBopomofoExtended	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsBoxDrawing	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsBraillePatterns	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsBuhid	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsByzantineMusicalSymbols	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibility	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityForms	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographs	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCJKRadicalsSupplement	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCJKSymbolsandPunctuation	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographs	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCherokee	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarks	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCombiningHalfMarks	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCombiningMarksforSymbols	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsControlPictures	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCurrencySymbols	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCypriotSyllabary	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCyrillic	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCyrillicSupplement	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsDeseret	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsDevanagari	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsDingbats	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsEnclosedAlphanumerics	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsEnclosedCJKLettersandMonths	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsEthiopic	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsGeneralPunctuation	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsGeometricShapes	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsGeorgian	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsGothic	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsGreek	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsGreekExtended	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsGreekandCoptic	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsGujarati	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsGurmukhi	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsHalfwidthandFullwidthForms	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsHangulCompatibilityJamo	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsHangulJamo	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsHangulSyllables	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsHanunoo	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsHebrew	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsHighPrivateUseSurrogates	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsHighSurrogates	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsHiragana	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsIPAExtensions	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsIdeographicDescriptionCharacters	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsKanbun	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsKangxiRadicals	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsKannada	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsKatakana	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsKatakanaPhoneticExtensions	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsKhmer	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsKhmerSymbols	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsLao	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsLatin1Supplement	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedA	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedB	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedAdditional	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsLetterlikeSymbols	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsLimbu	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsLinearBIdeograms	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsLinearBSyllabary	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsLowSurrogates	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsMalayalam	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsMathematicalAlphanumericSymbols	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsMathematicalOperators	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbols	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbolsandArrows	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousTechnical	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsMongolian	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsMusicalSymbols	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsMyanmar	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsNumberForms	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsOgham	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsOldItalic	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsOpticalCharacterRecognition	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsOriya	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsOsmanya	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsPhoneticExtensions	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsPrivateUse	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsPrivateUseArea	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsRunic	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsShavian	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsSinhala	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsSmallFormVariants	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsSpacingModifierLetters	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsSpecials	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsSuperscriptsandSubscripts	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsA	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsB	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsSupplementalMathematicalOperators	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaA	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaB	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsSyriac	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsTagalog	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsTagbanwa	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsTags	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsTaiLe	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsTaiXuanJingSymbols	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsTamil	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsTelugu	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsThaana	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsThai	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsTibetan	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsUgaritic	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectors	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectorsSupplement	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsYiRadicals	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsYiSyllables	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsYijingHexagramSymbols	(int code);
+XMLPUBFUN int xmlUCSIsAegeanNumbers	(int code);
+XMLPUBFUN int xmlUCSIsAlphabeticPresentationForms	(int code);
+XMLPUBFUN int xmlUCSIsArabic	(int code);
+XMLPUBFUN int xmlUCSIsArabicPresentationFormsA	(int code);
+XMLPUBFUN int xmlUCSIsArabicPresentationFormsB	(int code);
+XMLPUBFUN int xmlUCSIsArmenian	(int code);
+XMLPUBFUN int xmlUCSIsArrows	(int code);
+XMLPUBFUN int xmlUCSIsBasicLatin	(int code);
+XMLPUBFUN int xmlUCSIsBengali	(int code);
+XMLPUBFUN int xmlUCSIsBlockElements	(int code);
+XMLPUBFUN int xmlUCSIsBopomofo	(int code);
+XMLPUBFUN int xmlUCSIsBopomofoExtended	(int code);
+XMLPUBFUN int xmlUCSIsBoxDrawing	(int code);
+XMLPUBFUN int xmlUCSIsBraillePatterns	(int code);
+XMLPUBFUN int xmlUCSIsBuhid	(int code);
+XMLPUBFUN int xmlUCSIsByzantineMusicalSymbols	(int code);
+XMLPUBFUN int xmlUCSIsCJKCompatibility	(int code);
+XMLPUBFUN int xmlUCSIsCJKCompatibilityForms	(int code);
+XMLPUBFUN int xmlUCSIsCJKCompatibilityIdeographs	(int code);
+XMLPUBFUN int xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code);
+XMLPUBFUN int xmlUCSIsCJKRadicalsSupplement	(int code);
+XMLPUBFUN int xmlUCSIsCJKSymbolsandPunctuation	(int code);
+XMLPUBFUN int xmlUCSIsCJKUnifiedIdeographs	(int code);
+XMLPUBFUN int xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code);
+XMLPUBFUN int xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code);
+XMLPUBFUN int xmlUCSIsCherokee	(int code);
+XMLPUBFUN int xmlUCSIsCombiningDiacriticalMarks	(int code);
+XMLPUBFUN int xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code);
+XMLPUBFUN int xmlUCSIsCombiningHalfMarks	(int code);
+XMLPUBFUN int xmlUCSIsCombiningMarksforSymbols	(int code);
+XMLPUBFUN int xmlUCSIsControlPictures	(int code);
+XMLPUBFUN int xmlUCSIsCurrencySymbols	(int code);
+XMLPUBFUN int xmlUCSIsCypriotSyllabary	(int code);
+XMLPUBFUN int xmlUCSIsCyrillic	(int code);
+XMLPUBFUN int xmlUCSIsCyrillicSupplement	(int code);
+XMLPUBFUN int xmlUCSIsDeseret	(int code);
+XMLPUBFUN int xmlUCSIsDevanagari	(int code);
+XMLPUBFUN int xmlUCSIsDingbats	(int code);
+XMLPUBFUN int xmlUCSIsEnclosedAlphanumerics	(int code);
+XMLPUBFUN int xmlUCSIsEnclosedCJKLettersandMonths	(int code);
+XMLPUBFUN int xmlUCSIsEthiopic	(int code);
+XMLPUBFUN int xmlUCSIsGeneralPunctuation	(int code);
+XMLPUBFUN int xmlUCSIsGeometricShapes	(int code);
+XMLPUBFUN int xmlUCSIsGeorgian	(int code);
+XMLPUBFUN int xmlUCSIsGothic	(int code);
+XMLPUBFUN int xmlUCSIsGreek	(int code);
+XMLPUBFUN int xmlUCSIsGreekExtended	(int code);
+XMLPUBFUN int xmlUCSIsGreekandCoptic	(int code);
+XMLPUBFUN int xmlUCSIsGujarati	(int code);
+XMLPUBFUN int xmlUCSIsGurmukhi	(int code);
+XMLPUBFUN int xmlUCSIsHalfwidthandFullwidthForms	(int code);
+XMLPUBFUN int xmlUCSIsHangulCompatibilityJamo	(int code);
+XMLPUBFUN int xmlUCSIsHangulJamo	(int code);
+XMLPUBFUN int xmlUCSIsHangulSyllables	(int code);
+XMLPUBFUN int xmlUCSIsHanunoo	(int code);
+XMLPUBFUN int xmlUCSIsHebrew	(int code);
+XMLPUBFUN int xmlUCSIsHighPrivateUseSurrogates	(int code);
+XMLPUBFUN int xmlUCSIsHighSurrogates	(int code);
+XMLPUBFUN int xmlUCSIsHiragana	(int code);
+XMLPUBFUN int xmlUCSIsIPAExtensions	(int code);
+XMLPUBFUN int xmlUCSIsIdeographicDescriptionCharacters	(int code);
+XMLPUBFUN int xmlUCSIsKanbun	(int code);
+XMLPUBFUN int xmlUCSIsKangxiRadicals	(int code);
+XMLPUBFUN int xmlUCSIsKannada	(int code);
+XMLPUBFUN int xmlUCSIsKatakana	(int code);
+XMLPUBFUN int xmlUCSIsKatakanaPhoneticExtensions	(int code);
+XMLPUBFUN int xmlUCSIsKhmer	(int code);
+XMLPUBFUN int xmlUCSIsKhmerSymbols	(int code);
+XMLPUBFUN int xmlUCSIsLao	(int code);
+XMLPUBFUN int xmlUCSIsLatin1Supplement	(int code);
+XMLPUBFUN int xmlUCSIsLatinExtendedA	(int code);
+XMLPUBFUN int xmlUCSIsLatinExtendedB	(int code);
+XMLPUBFUN int xmlUCSIsLatinExtendedAdditional	(int code);
+XMLPUBFUN int xmlUCSIsLetterlikeSymbols	(int code);
+XMLPUBFUN int xmlUCSIsLimbu	(int code);
+XMLPUBFUN int xmlUCSIsLinearBIdeograms	(int code);
+XMLPUBFUN int xmlUCSIsLinearBSyllabary	(int code);
+XMLPUBFUN int xmlUCSIsLowSurrogates	(int code);
+XMLPUBFUN int xmlUCSIsMalayalam	(int code);
+XMLPUBFUN int xmlUCSIsMathematicalAlphanumericSymbols	(int code);
+XMLPUBFUN int xmlUCSIsMathematicalOperators	(int code);
+XMLPUBFUN int xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code);
+XMLPUBFUN int xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code);
+XMLPUBFUN int xmlUCSIsMiscellaneousSymbols	(int code);
+XMLPUBFUN int xmlUCSIsMiscellaneousSymbolsandArrows	(int code);
+XMLPUBFUN int xmlUCSIsMiscellaneousTechnical	(int code);
+XMLPUBFUN int xmlUCSIsMongolian	(int code);
+XMLPUBFUN int xmlUCSIsMusicalSymbols	(int code);
+XMLPUBFUN int xmlUCSIsMyanmar	(int code);
+XMLPUBFUN int xmlUCSIsNumberForms	(int code);
+XMLPUBFUN int xmlUCSIsOgham	(int code);
+XMLPUBFUN int xmlUCSIsOldItalic	(int code);
+XMLPUBFUN int xmlUCSIsOpticalCharacterRecognition	(int code);
+XMLPUBFUN int xmlUCSIsOriya	(int code);
+XMLPUBFUN int xmlUCSIsOsmanya	(int code);
+XMLPUBFUN int xmlUCSIsPhoneticExtensions	(int code);
+XMLPUBFUN int xmlUCSIsPrivateUse	(int code);
+XMLPUBFUN int xmlUCSIsPrivateUseArea	(int code);
+XMLPUBFUN int xmlUCSIsRunic	(int code);
+XMLPUBFUN int xmlUCSIsShavian	(int code);
+XMLPUBFUN int xmlUCSIsSinhala	(int code);
+XMLPUBFUN int xmlUCSIsSmallFormVariants	(int code);
+XMLPUBFUN int xmlUCSIsSpacingModifierLetters	(int code);
+XMLPUBFUN int xmlUCSIsSpecials	(int code);
+XMLPUBFUN int xmlUCSIsSuperscriptsandSubscripts	(int code);
+XMLPUBFUN int xmlUCSIsSupplementalArrowsA	(int code);
+XMLPUBFUN int xmlUCSIsSupplementalArrowsB	(int code);
+XMLPUBFUN int xmlUCSIsSupplementalMathematicalOperators	(int code);
+XMLPUBFUN int xmlUCSIsSupplementaryPrivateUseAreaA	(int code);
+XMLPUBFUN int xmlUCSIsSupplementaryPrivateUseAreaB	(int code);
+XMLPUBFUN int xmlUCSIsSyriac	(int code);
+XMLPUBFUN int xmlUCSIsTagalog	(int code);
+XMLPUBFUN int xmlUCSIsTagbanwa	(int code);
+XMLPUBFUN int xmlUCSIsTags	(int code);
+XMLPUBFUN int xmlUCSIsTaiLe	(int code);
+XMLPUBFUN int xmlUCSIsTaiXuanJingSymbols	(int code);
+XMLPUBFUN int xmlUCSIsTamil	(int code);
+XMLPUBFUN int xmlUCSIsTelugu	(int code);
+XMLPUBFUN int xmlUCSIsThaana	(int code);
+XMLPUBFUN int xmlUCSIsThai	(int code);
+XMLPUBFUN int xmlUCSIsTibetan	(int code);
+XMLPUBFUN int xmlUCSIsUgaritic	(int code);
+XMLPUBFUN int xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code);
+XMLPUBFUN int xmlUCSIsVariationSelectors	(int code);
+XMLPUBFUN int xmlUCSIsVariationSelectorsSupplement	(int code);
+XMLPUBFUN int xmlUCSIsYiRadicals	(int code);
+XMLPUBFUN int xmlUCSIsYiSyllables	(int code);
+XMLPUBFUN int xmlUCSIsYijingHexagramSymbols	(int code);
 
-XMLPUBFUN int XMLCALL xmlUCSIsBlock	(int code, const char *block);
+XMLPUBFUN int xmlUCSIsBlock	(int code, const char *block);
 
-XMLPUBFUN int XMLCALL xmlUCSIsCatC	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatCc	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatCf	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatCo	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatCs	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatL	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatLl	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatLm	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatLo	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatLt	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatLu	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatM	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatMc	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatMe	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatMn	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatN	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatNd	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatNl	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatNo	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatP	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatPc	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatPd	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatPe	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatPf	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatPi	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatPo	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatPs	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatS	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatSc	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatSk	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatSm	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatSo	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatZ	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatZl	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatZp	(int code);
-XMLPUBFUN int XMLCALL xmlUCSIsCatZs	(int code);
+XMLPUBFUN int xmlUCSIsCatC	(int code);
+XMLPUBFUN int xmlUCSIsCatCc	(int code);
+XMLPUBFUN int xmlUCSIsCatCf	(int code);
+XMLPUBFUN int xmlUCSIsCatCo	(int code);
+XMLPUBFUN int xmlUCSIsCatCs	(int code);
+XMLPUBFUN int xmlUCSIsCatL	(int code);
+XMLPUBFUN int xmlUCSIsCatLl	(int code);
+XMLPUBFUN int xmlUCSIsCatLm	(int code);
+XMLPUBFUN int xmlUCSIsCatLo	(int code);
+XMLPUBFUN int xmlUCSIsCatLt	(int code);
+XMLPUBFUN int xmlUCSIsCatLu	(int code);
+XMLPUBFUN int xmlUCSIsCatM	(int code);
+XMLPUBFUN int xmlUCSIsCatMc	(int code);
+XMLPUBFUN int xmlUCSIsCatMe	(int code);
+XMLPUBFUN int xmlUCSIsCatMn	(int code);
+XMLPUBFUN int xmlUCSIsCatN	(int code);
+XMLPUBFUN int xmlUCSIsCatNd	(int code);
+XMLPUBFUN int xmlUCSIsCatNl	(int code);
+XMLPUBFUN int xmlUCSIsCatNo	(int code);
+XMLPUBFUN int xmlUCSIsCatP	(int code);
+XMLPUBFUN int xmlUCSIsCatPc	(int code);
+XMLPUBFUN int xmlUCSIsCatPd	(int code);
+XMLPUBFUN int xmlUCSIsCatPe	(int code);
+XMLPUBFUN int xmlUCSIsCatPf	(int code);
+XMLPUBFUN int xmlUCSIsCatPi	(int code);
+XMLPUBFUN int xmlUCSIsCatPo	(int code);
+XMLPUBFUN int xmlUCSIsCatPs	(int code);
+XMLPUBFUN int xmlUCSIsCatS	(int code);
+XMLPUBFUN int xmlUCSIsCatSc	(int code);
+XMLPUBFUN int xmlUCSIsCatSk	(int code);
+XMLPUBFUN int xmlUCSIsCatSm	(int code);
+XMLPUBFUN int xmlUCSIsCatSo	(int code);
+XMLPUBFUN int xmlUCSIsCatZ	(int code);
+XMLPUBFUN int xmlUCSIsCatZl	(int code);
+XMLPUBFUN int xmlUCSIsCatZp	(int code);
+XMLPUBFUN int xmlUCSIsCatZs	(int code);
 
-XMLPUBFUN int XMLCALL xmlUCSIsCat	(int code, const char *cat);
+XMLPUBFUN int xmlUCSIsCat	(int code, const char *cat);
 
 #ifdef __cplusplus
 }
diff --git a/include/libxml/xmlversion.h b/include/libxml/xmlversion.h
index 400c80f..94ec8d3 100644
--- a/include/libxml/xmlversion.h
+++ b/include/libxml/xmlversion.h
@@ -21,7 +21,7 @@
  * your library and includes mismatch
  */
 #ifndef LIBXML2_COMPILING_MSCCDEF
-XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
+XMLPUBFUN void xmlCheckVersion(int version);
 #endif /* LIBXML2_COMPILING_MSCCDEF */
 
 /**
@@ -29,28 +29,28 @@
  *
  * the version string like "1.2.3"
  */
-#define LIBXML_DOTTED_VERSION "2.9.13"
+#define LIBXML_DOTTED_VERSION "2.11.0"
 
 /**
  * LIBXML_VERSION:
  *
  * the version number: 1.2.3 value is 10203
  */
-#define LIBXML_VERSION 20913
+#define LIBXML_VERSION 21100
 
 /**
  * LIBXML_VERSION_STRING:
  *
  * the version number string, 1.2.3 value is "10203"
  */
-#define LIBXML_VERSION_STRING "20913"
+#define LIBXML_VERSION_STRING "21100"
 
 /**
  * LIBXML_VERSION_EXTRA:
  *
  * extra version information, used to show a git commit description
  */
-#define LIBXML_VERSION_EXTRA ""
+#define LIBXML_VERSION_EXTRA "-GITv2.10.0-1216-gfecc7898"
 
 /**
  * LIBXML_TEST_VERSION:
@@ -58,7 +58,7 @@
  * Macro to check that the libxml version in use is compatible with
  * the version the software has been compiled against
  */
-#define LIBXML_TEST_VERSION xmlCheckVersion(20913);
+#define LIBXML_TEST_VERSION xmlCheckVersion(21100);
 
 #ifndef VMS
 #if 0
@@ -230,15 +230,6 @@
 #endif
 
 /**
- * LIBXML_DOCB_ENABLED:
- *
- * Whether the SGML Docbook support is configured in
- */
-#if 0
-#define LIBXML_DOCB_ENABLED
-#endif
-
-/**
  * LIBXML_XPATH_ENABLED:
  *
  * Whether XPath is configured in
@@ -257,6 +248,15 @@
 #endif
 
 /**
+ * LIBXML_XPTR_LOCS_ENABLED:
+ *
+ * Whether support for XPointer locations is configured in
+ */
+#if 0
+#define LIBXML_XPTR_LOCS_ENABLED
+#endif
+
+/**
  * LIBXML_XINCLUDE_ENABLED:
  *
  * Whether XInclude is configured in
@@ -324,7 +324,7 @@
 /**
  * LIBXML_DEBUG_RUNTIME:
  *
- * Whether the runtime debugging is configured in
+ * Removed
  */
 #if 0
 #define LIBXML_DEBUG_RUNTIME
@@ -420,12 +420,7 @@
 #endif
 
 #ifdef __GNUC__
-
-/**
- * ATTRIBUTE_UNUSED:
- *
- * Macro used to signal to GCC unused function parameters
- */
+/** DOC_DISABLE */
 
 #ifndef ATTRIBUTE_UNUSED
 # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
@@ -435,12 +430,6 @@
 # endif
 #endif
 
-/**
- * LIBXML_ATTR_ALLOC_SIZE:
- *
- * Macro used to indicate to GCC this is an allocator function
- */
-
 #ifndef LIBXML_ATTR_ALLOC_SIZE
 # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
 #  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
@@ -451,12 +440,6 @@
 # define LIBXML_ATTR_ALLOC_SIZE(x)
 #endif
 
-/**
- * LIBXML_ATTR_FORMAT:
- *
- * Macro used to indicate to GCC the parameter are printf like
- */
-
 #ifndef LIBXML_ATTR_FORMAT
 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
 #  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
@@ -468,14 +451,27 @@
 #endif
 
 #ifndef XML_DEPRECATED
-#  ifdef IN_LIBXML
+#  if defined (IN_LIBXML) || (__GNUC__ * 100 + __GNUC_MINOR__ < 301)
 #    define XML_DEPRECATED
-#  else
 /* Available since at least GCC 3.1 */
+#  else
 #    define XML_DEPRECATED __attribute__((deprecated))
 #  endif
 #endif
 
+#if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 406)
+#define XML_IGNORE_FPTR_CAST_WARNINGS \
+    _Pragma("GCC diagnostic push") \
+    _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
+    _Pragma("GCC diagnostic ignored \"-Wcast-function-type\"")
+#define XML_POP_WARNINGS \
+    _Pragma("GCC diagnostic pop")
+#else
+#define XML_IGNORE_FPTR_CAST_WARNINGS
+#define XML_POP_WARNINGS
+#endif
+
+/** DOC_ENABLE */
 #else /* ! __GNUC__ */
 /**
  * ATTRIBUTE_UNUSED:
@@ -502,7 +498,34 @@
  * is deprecated.
  */
 #ifndef XML_DEPRECATED
-#define XML_DEPRECATED
+#  if defined (IN_LIBXML) || !defined (_MSC_VER)
+#    define XML_DEPRECATED
+/* Available since Visual Studio 2005 */
+#  elif defined (_MSC_VER) && (_MSC_VER >= 1400)
+#    define XML_DEPRECATED __declspec(deprecated)
+#  endif
+#endif
+/**
+ * LIBXML_IGNORE_FPTR_CAST_WARNINGS:
+ *
+ * Macro used to ignore pointer cast warnings that can't be worked around.
+ */
+#if defined (_MSC_VER) && (_MSC_VER >= 1400)
+#  define XML_IGNORE_FPTR_CAST_WARNINGS __pragma(warning(push))
+#else
+#  define XML_IGNORE_FPTR_CAST_WARNINGS
+#endif
+/**
+ * XML_POP_WARNINGS:
+ *
+ * Macro used to restore warnings state.
+ */
+#ifndef XML_POP_WARNINGS
+#  if defined (_MSC_VER) && (_MSC_VER >= 1400)
+#    define XML_POP_WARNINGS __pragma(warning(pop))
+#  else
+#    define XML_POP_WARNINGS
+#  endif
 #endif
 #endif /* __GNUC__ */
 
diff --git a/include/libxml/xmlversion.h.in b/include/libxml/xmlversion.h.in
index b1d2a20..166269e 100644
--- a/include/libxml/xmlversion.h.in
+++ b/include/libxml/xmlversion.h.in
@@ -21,7 +21,7 @@
  * your library and includes mismatch
  */
 #ifndef LIBXML2_COMPILING_MSCCDEF
-XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
+XMLPUBFUN void xmlCheckVersion(int version);
 #endif /* LIBXML2_COMPILING_MSCCDEF */
 
 /**
@@ -230,15 +230,6 @@
 #endif
 
 /**
- * LIBXML_DOCB_ENABLED:
- *
- * Whether the SGML Docbook support is configured in
- */
-#if @WITH_DOCB@
-#define LIBXML_DOCB_ENABLED
-#endif
-
-/**
  * LIBXML_XPATH_ENABLED:
  *
  * Whether XPath is configured in
@@ -257,6 +248,15 @@
 #endif
 
 /**
+ * LIBXML_XPTR_LOCS_ENABLED:
+ *
+ * Whether support for XPointer locations is configured in
+ */
+#if @WITH_XPTR_LOCS@
+#define LIBXML_XPTR_LOCS_ENABLED
+#endif
+
+/**
  * LIBXML_XINCLUDE_ENABLED:
  *
  * Whether XInclude is configured in
@@ -313,9 +313,9 @@
 /**
  * LIBXML_DEBUG_RUNTIME:
  *
- * Whether the runtime debugging is configured in
+ * Removed
  */
-#if @WITH_RUN_DEBUG@
+#if 0
 #define LIBXML_DEBUG_RUNTIME
 #endif
 
@@ -409,12 +409,7 @@
 #endif
 
 #ifdef __GNUC__
-
-/**
- * ATTRIBUTE_UNUSED:
- *
- * Macro used to signal to GCC unused function parameters
- */
+/** DOC_DISABLE */
 
 #ifndef ATTRIBUTE_UNUSED
 # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
@@ -424,12 +419,6 @@
 # endif
 #endif
 
-/**
- * LIBXML_ATTR_ALLOC_SIZE:
- *
- * Macro used to indicate to GCC this is an allocator function
- */
-
 #ifndef LIBXML_ATTR_ALLOC_SIZE
 # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
 #  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
@@ -440,12 +429,6 @@
 # define LIBXML_ATTR_ALLOC_SIZE(x)
 #endif
 
-/**
- * LIBXML_ATTR_FORMAT:
- *
- * Macro used to indicate to GCC the parameter are printf like
- */
-
 #ifndef LIBXML_ATTR_FORMAT
 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
 #  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
@@ -457,14 +440,27 @@
 #endif
 
 #ifndef XML_DEPRECATED
-#  ifdef IN_LIBXML
+#  if defined (IN_LIBXML) || (__GNUC__ * 100 + __GNUC_MINOR__ < 301)
 #    define XML_DEPRECATED
-#  else
 /* Available since at least GCC 3.1 */
+#  else
 #    define XML_DEPRECATED __attribute__((deprecated))
 #  endif
 #endif
 
+#if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 406)
+#define XML_IGNORE_FPTR_CAST_WARNINGS \
+    _Pragma("GCC diagnostic push") \
+    _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
+    _Pragma("GCC diagnostic ignored \"-Wcast-function-type\"")
+#define XML_POP_WARNINGS \
+    _Pragma("GCC diagnostic pop")
+#else
+#define XML_IGNORE_FPTR_CAST_WARNINGS
+#define XML_POP_WARNINGS
+#endif
+
+/** DOC_ENABLE */
 #else /* ! __GNUC__ */
 /**
  * ATTRIBUTE_UNUSED:
@@ -491,7 +487,34 @@
  * is deprecated.
  */
 #ifndef XML_DEPRECATED
-#define XML_DEPRECATED
+#  if defined (IN_LIBXML) || !defined (_MSC_VER)
+#    define XML_DEPRECATED
+/* Available since Visual Studio 2005 */
+#  elif defined (_MSC_VER) && (_MSC_VER >= 1400)
+#    define XML_DEPRECATED __declspec(deprecated)
+#  endif
+#endif
+/**
+ * LIBXML_IGNORE_FPTR_CAST_WARNINGS:
+ *
+ * Macro used to ignore pointer cast warnings that can't be worked around.
+ */
+#if defined (_MSC_VER) && (_MSC_VER >= 1400)
+#  define XML_IGNORE_FPTR_CAST_WARNINGS __pragma(warning(push))
+#else
+#  define XML_IGNORE_FPTR_CAST_WARNINGS
+#endif
+/**
+ * XML_POP_WARNINGS:
+ *
+ * Macro used to restore warnings state.
+ */
+#ifndef XML_POP_WARNINGS
+#  if defined (_MSC_VER) && (_MSC_VER >= 1400)
+#    define XML_POP_WARNINGS __pragma(warning(pop))
+#  else
+#    define XML_POP_WARNINGS
+#  endif
 #endif
 #endif /* __GNUC__ */
 
diff --git a/include/libxml/xmlwriter.h b/include/libxml/xmlwriter.h
index dd5add3..339f251 100644
--- a/include/libxml/xmlwriter.h
+++ b/include/libxml/xmlwriter.h
@@ -29,20 +29,20 @@
 /*
  * Constructors & Destructor
  */
-    XMLPUBFUN xmlTextWriterPtr XMLCALL
+    XMLPUBFUN xmlTextWriterPtr
         xmlNewTextWriter(xmlOutputBufferPtr out);
-    XMLPUBFUN xmlTextWriterPtr XMLCALL
+    XMLPUBFUN xmlTextWriterPtr
         xmlNewTextWriterFilename(const char *uri, int compression);
-    XMLPUBFUN xmlTextWriterPtr XMLCALL
+    XMLPUBFUN xmlTextWriterPtr
         xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
-    XMLPUBFUN xmlTextWriterPtr XMLCALL
+    XMLPUBFUN xmlTextWriterPtr
         xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
-    XMLPUBFUN xmlTextWriterPtr XMLCALL
+    XMLPUBFUN xmlTextWriterPtr
         xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
-    XMLPUBFUN xmlTextWriterPtr XMLCALL
+    XMLPUBFUN xmlTextWriterPtr
         xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
                              int compression);
-    XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);
+    XMLPUBFUN void xmlFreeTextWriter(xmlTextWriterPtr writer);
 
 /*
  * Functions
@@ -52,30 +52,30 @@
 /*
  * Document
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterStartDocument(xmlTextWriterPtr writer,
                                    const char *version,
                                    const char *encoding,
                                    const char *standalone);
-    XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterEndDocument(xmlTextWriterPtr
                                                    writer);
 
 /*
  * Comments
  */
-    XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterStartComment(xmlTextWriterPtr
                                                     writer);
-    XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int xmlTextWriterEndComment(xmlTextWriterPtr writer);
+    XMLPUBFUN int
         xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
                                         const char *format, ...)
 					LIBXML_ATTR_FORMAT(2,3);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
                                          const char *format,
                                          va_list argptr)
 					 LIBXML_ATTR_FORMAT(2,0);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterWriteComment(xmlTextWriterPtr
                                                     writer,
                                                     const xmlChar *
                                                     content);
@@ -83,47 +83,47 @@
 /*
  * Elements
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterStartElement(xmlTextWriterPtr writer,
                                   const xmlChar * name);
-    XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterStartElementNS(xmlTextWriterPtr
                                                       writer,
                                                       const xmlChar *
                                                       prefix,
                                                       const xmlChar * name,
                                                       const xmlChar *
                                                       namespaceURI);
-    XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
-    XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterEndElement(xmlTextWriterPtr writer);
+    XMLPUBFUN int xmlTextWriterFullEndElement(xmlTextWriterPtr
                                                       writer);
 
 /*
  * Elements conveniency functions
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
                                         const xmlChar * name,
                                         const char *format, ...)
 					LIBXML_ATTR_FORMAT(3,4);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
                                          const xmlChar * name,
                                          const char *format,
                                          va_list argptr)
 					 LIBXML_ATTR_FORMAT(3,0);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterWriteElement(xmlTextWriterPtr
                                                     writer,
                                                     const xmlChar * name,
                                                     const xmlChar *
                                                     content);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
                                           const xmlChar * prefix,
                                           const xmlChar * name,
                                           const xmlChar * namespaceURI,
                                           const char *format, ...)
 					  LIBXML_ATTR_FORMAT(5,6);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
                                            const xmlChar * prefix,
                                            const xmlChar * name,
@@ -131,7 +131,7 @@
                                            const char *format,
                                            va_list argptr)
 					   LIBXML_ATTR_FORMAT(5,0);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterWriteElementNS(xmlTextWriterPtr
                                                       writer,
                                                       const xmlChar *
                                                       prefix,
@@ -144,48 +144,48 @@
 /*
  * Text
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
                                     const char *format, ...)
 				    LIBXML_ATTR_FORMAT(2,3);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
                                      const char *format, va_list argptr)
 				     LIBXML_ATTR_FORMAT(2,0);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
                                  const xmlChar * content, int len);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
                               const xmlChar * content);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterWriteFormatString(xmlTextWriterPtr
                                                          writer,
                                                          const char
                                                          *format, ...)
 							 LIBXML_ATTR_FORMAT(2,3);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterWriteVFormatString(xmlTextWriterPtr
                                                           writer,
                                                           const char
                                                           *format,
                                                           va_list argptr)
 							  LIBXML_ATTR_FORMAT(2,0);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
+    XMLPUBFUN int xmlTextWriterWriteString(xmlTextWriterPtr writer,
                                                    const xmlChar *
                                                    content);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
+    XMLPUBFUN int xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
                                                    const char *data,
                                                    int start, int len);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
+    XMLPUBFUN int xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
                                                    const char *data,
                                                    int start, int len);
 
 /*
  * Attributes
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
                                     const xmlChar * name);
-    XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterStartAttributeNS(xmlTextWriterPtr
                                                         writer,
                                                         const xmlChar *
                                                         prefix,
@@ -193,36 +193,36 @@
                                                         name,
                                                         const xmlChar *
                                                         namespaceURI);
-    XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterEndAttribute(xmlTextWriterPtr
                                                     writer);
 
 /*
  * Attributes conveniency functions
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
                                           const xmlChar * name,
                                           const char *format, ...)
 					  LIBXML_ATTR_FORMAT(3,4);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
                                            const xmlChar * name,
                                            const char *format,
                                            va_list argptr)
 					   LIBXML_ATTR_FORMAT(3,0);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterWriteAttribute(xmlTextWriterPtr
                                                       writer,
                                                       const xmlChar * name,
                                                       const xmlChar *
                                                       content);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
                                             const xmlChar * prefix,
                                             const xmlChar * name,
                                             const xmlChar * namespaceURI,
                                             const char *format, ...)
 					    LIBXML_ATTR_FORMAT(5,6);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
                                              const xmlChar * prefix,
                                              const xmlChar * name,
@@ -230,7 +230,7 @@
                                              const char *format,
                                              va_list argptr)
 					     LIBXML_ATTR_FORMAT(5,0);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
                                                         writer,
                                                         const xmlChar *
                                                         prefix,
@@ -244,25 +244,25 @@
 /*
  * PI's
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterStartPI(xmlTextWriterPtr writer,
                              const xmlChar * target);
-    XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
+    XMLPUBFUN int xmlTextWriterEndPI(xmlTextWriterPtr writer);
 
 /*
  * PI conveniency functions
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
                                    const xmlChar * target,
                                    const char *format, ...)
 				   LIBXML_ATTR_FORMAT(3,4);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
                                     const xmlChar * target,
                                     const char *format, va_list argptr)
 				    LIBXML_ATTR_FORMAT(3,0);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWritePI(xmlTextWriterPtr writer,
                              const xmlChar * target,
                              const xmlChar * content);
@@ -277,52 +277,52 @@
 /*
  * CDATA
  */
-    XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
-    XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
+    XMLPUBFUN int xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
+    XMLPUBFUN int xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
 
 /*
  * CDATA conveniency functions
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
                                       const char *format, ...)
 				      LIBXML_ATTR_FORMAT(2,3);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
                                        const char *format, va_list argptr)
 				       LIBXML_ATTR_FORMAT(2,0);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
                                 const xmlChar * content);
 
 /*
  * DTD
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterStartDTD(xmlTextWriterPtr writer,
                               const xmlChar * name,
                               const xmlChar * pubid,
                               const xmlChar * sysid);
-    XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);
+    XMLPUBFUN int xmlTextWriterEndDTD(xmlTextWriterPtr writer);
 
 /*
  * DTD conveniency functions
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
                                     const xmlChar * name,
                                     const xmlChar * pubid,
                                     const xmlChar * sysid,
                                     const char *format, ...)
 				    LIBXML_ATTR_FORMAT(5,6);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
                                      const xmlChar * name,
                                      const xmlChar * pubid,
                                      const xmlChar * sysid,
                                      const char *format, va_list argptr)
 				     LIBXML_ATTR_FORMAT(5,0);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
                               const xmlChar * name,
                               const xmlChar * pubid,
@@ -339,27 +339,27 @@
 /*
  * DTD element definition
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
                                      const xmlChar * name);
-    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterEndDTDElement(xmlTextWriterPtr
                                                      writer);
 
 /*
  * DTD element definition conveniency functions
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
                                            const xmlChar * name,
                                            const char *format, ...)
 					   LIBXML_ATTR_FORMAT(3,4);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
                                             const xmlChar * name,
                                             const char *format,
                                             va_list argptr)
 					    LIBXML_ATTR_FORMAT(3,0);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterWriteDTDElement(xmlTextWriterPtr
                                                        writer,
                                                        const xmlChar *
                                                        name,
@@ -369,27 +369,27 @@
 /*
  * DTD attribute list definition
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
                                      const xmlChar * name);
-    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
                                                      writer);
 
 /*
  * DTD attribute list definition conveniency functions
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
                                            const xmlChar * name,
                                            const char *format, ...)
 					   LIBXML_ATTR_FORMAT(3,4);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
                                             const xmlChar * name,
                                             const char *format,
                                             va_list argptr)
 					    LIBXML_ATTR_FORMAT(3,0);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
                                                        writer,
                                                        const xmlChar *
                                                        name,
@@ -399,48 +399,48 @@
 /*
  * DTD entity definition
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
                                     int pe, const xmlChar * name);
-    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterEndDTDEntity(xmlTextWriterPtr
                                                     writer);
 
 /*
  * DTD entity definition conveniency functions
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
                                                   int pe,
                                                   const xmlChar * name,
                                                   const char *format, ...)
 						  LIBXML_ATTR_FORMAT(4,5);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
                                                    int pe,
                                                    const xmlChar * name,
                                                    const char *format,
                                                    va_list argptr)
 						   LIBXML_ATTR_FORMAT(4,0);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
                                             int pe,
                                             const xmlChar * name,
                                             const xmlChar * content);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
                                             int pe,
                                             const xmlChar * name,
                                             const xmlChar * pubid,
                                             const xmlChar * sysid,
                                             const xmlChar * ndataid);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
                                                     writer,
                                                     const xmlChar * pubid,
                                                     const xmlChar * sysid,
                                                     const xmlChar *
                                                     ndataid);
-    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
+    XMLPUBFUN int xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
                                                       writer, int pe,
                                                       const xmlChar * name,
                                                       const xmlChar *
@@ -455,7 +455,7 @@
 /*
  * DTD notation definition
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
                                       const xmlChar * name,
                                       const xmlChar * pubid,
@@ -464,20 +464,20 @@
 /*
  * Indentation
  */
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
                                      const xmlChar * str);
 
-    XMLPUBFUN int XMLCALL
+    XMLPUBFUN int
         xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
 
 
 /*
  * misc
  */
-    XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);
+    XMLPUBFUN int xmlTextWriterFlush(xmlTextWriterPtr writer);
 
 #ifdef __cplusplus
 }
diff --git a/include/libxml/xpath.h b/include/libxml/xpath.h
index 539593f..b57985a 100644
--- a/include/libxml/xpath.h
+++ b/include/libxml/xpath.h
@@ -104,13 +104,23 @@
     XPATH_BOOLEAN = 2,
     XPATH_NUMBER = 3,
     XPATH_STRING = 4,
+#ifdef LIBXML_XPTR_LOCS_ENABLED
     XPATH_POINT = 5,
     XPATH_RANGE = 6,
     XPATH_LOCATIONSET = 7,
+#endif
     XPATH_USERS = 8,
     XPATH_XSLT_TREE = 9  /* An XSLT value tree, non modifiable */
 } xmlXPathObjectType;
 
+#ifndef LIBXML_XPTR_LOCS_ENABLED
+/** DOC_DISABLE */
+#define XPATH_POINT 5
+#define XPATH_RANGE 6
+#define XPATH_LOCATIONSET 7
+/** DOC_ENABLE */
+#endif
+
 typedef struct _xmlXPathObject xmlXPathObject;
 typedef xmlXPathObject *xmlXPathObjectPtr;
 struct _xmlXPathObject {
@@ -390,7 +400,7 @@
     int xptr;				/* it this an XPointer expression */
     xmlNodePtr         ancestor;	/* used for walking preceding axis */
 
-    int              valueFrame;        /* used to limit Pop on the stack */
+    int              valueFrame;        /* unused */
 };
 
 /************************************************************************
@@ -444,68 +454,68 @@
     (((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL))
 
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlXPathFreeObject		(xmlXPathObjectPtr obj);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		    xmlXPathNodeSetCreate	(xmlNodePtr val);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlXPathFreeNodeSetList	(xmlXPathObjectPtr obj);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlXPathFreeNodeSet		(xmlNodeSetPtr obj);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPathObjectCopy		(xmlXPathObjectPtr val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlXPathCmpNodes		(xmlNodePtr node1,
 						 xmlNodePtr node2);
 /**
  * Conversion functions to basic types.
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlXPathCastNumberToBoolean	(double val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlXPathCastStringToBoolean	(const xmlChar * val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlXPathCastNodeSetToBoolean(xmlNodeSetPtr ns);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlXPathCastToBoolean	(xmlXPathObjectPtr val);
 
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double
 		    xmlXPathCastBooleanToNumber	(int val);
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double
 		    xmlXPathCastStringToNumber	(const xmlChar * val);
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double
 		    xmlXPathCastNodeToNumber	(xmlNodePtr node);
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double
 		    xmlXPathCastNodeSetToNumber	(xmlNodeSetPtr ns);
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double
 		    xmlXPathCastToNumber	(xmlXPathObjectPtr val);
 
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		    xmlXPathCastBooleanToString	(int val);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		    xmlXPathCastNumberToString	(double val);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		    xmlXPathCastNodeToString	(xmlNodePtr node);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		    xmlXPathCastNodeSetToString	(xmlNodeSetPtr ns);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		    xmlXPathCastToString	(xmlXPathObjectPtr val);
 
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPathConvertBoolean	(xmlXPathObjectPtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPathConvertNumber	(xmlXPathObjectPtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPathConvertString	(xmlXPathObjectPtr val);
 
 /**
  * Context handling.
  */
-XMLPUBFUN xmlXPathContextPtr XMLCALL
+XMLPUBFUN xmlXPathContextPtr
 		    xmlXPathNewContext		(xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlXPathFreeContext		(xmlXPathContextPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlXPathContextSetCache(xmlXPathContextPtr ctxt,
 				            int active,
 					    int value,
@@ -513,47 +523,48 @@
 /**
  * Evaluation functions.
  */
-XMLPUBFUN long XMLCALL
+XMLPUBFUN long
 		    xmlXPathOrderDocElems	(xmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlXPathSetContextNode	(xmlNodePtr node,
 						 xmlXPathContextPtr ctx);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPathNodeEval		(xmlNodePtr node,
 						 const xmlChar *str,
 						 xmlXPathContextPtr ctx);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPathEval		(const xmlChar *str,
 						 xmlXPathContextPtr ctx);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPathEvalExpression	(const xmlChar *str,
 						 xmlXPathContextPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlXPathEvalPredicate	(xmlXPathContextPtr ctxt,
 						 xmlXPathObjectPtr res);
 /**
  * Separate compilation/evaluation entry points.
  */
-XMLPUBFUN xmlXPathCompExprPtr XMLCALL
+XMLPUBFUN xmlXPathCompExprPtr
 		    xmlXPathCompile		(const xmlChar *str);
-XMLPUBFUN xmlXPathCompExprPtr XMLCALL
+XMLPUBFUN xmlXPathCompExprPtr
 		    xmlXPathCtxtCompile		(xmlXPathContextPtr ctxt,
 						 const xmlChar *str);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPathCompiledEval	(xmlXPathCompExprPtr comp,
 						 xmlXPathContextPtr ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		    xmlXPathCompiledEvalToBoolean(xmlXPathCompExprPtr comp,
 						 xmlXPathContextPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		    xmlXPathFreeCompExpr	(xmlXPathCompExprPtr comp);
 #endif /* LIBXML_XPATH_ENABLED */
 #if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 		    xmlXPathInit		(void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathIsNaN	(double val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathIsInf	(double val);
 
 #ifdef __cplusplus
diff --git a/include/libxml/xpathInternals.h b/include/libxml/xpathInternals.h
index 76a6b48..cb0991d 100644
--- a/include/libxml/xpathInternals.h
+++ b/include/libxml/xpathInternals.h
@@ -100,15 +100,15 @@
  */
 #define xmlXPathGetContextNode(ctxt)	((ctxt)->context->node)
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathPopBoolean	(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double
 		xmlXPathPopNumber	(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlXPathPopString	(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathPopNodeSet	(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void *
 		xmlXPathPopExternal	(xmlXPathParserContextPtr ctxt);
 
 /**
@@ -331,7 +331,7 @@
  * Variable Lookup forwarding.
  */
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	xmlXPathRegisterVariableLookup	(xmlXPathContextPtr ctxt,
 					 xmlXPathVariableLookupFunc f,
 					 void *data);
@@ -340,7 +340,7 @@
  * Function Lookup forwarding.
  */
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlXPathRegisterFuncLookup	(xmlXPathContextPtr ctxt,
 					 xmlXPathFuncLookupFunc f,
 					 void *funcCtxt);
@@ -348,22 +348,22 @@
 /*
  * Error reporting.
  */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPatherror	(xmlXPathParserContextPtr ctxt,
 				 const char *file,
 				 int line,
 				 int no);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathErr	(xmlXPathParserContextPtr ctxt,
 				 int error);
 
 #ifdef LIBXML_DEBUG_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathDebugDumpObject	(FILE *output,
 					 xmlXPathObjectPtr cur,
 					 int depth);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 	    xmlXPathDebugDumpCompExpr(FILE *output,
 					 xmlXPathCompExprPtr comp,
 					 int depth);
@@ -371,48 +371,48 @@
 /**
  * NodeSet handling.
  */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathNodeSetContains		(xmlNodeSetPtr cur,
 						 xmlNodePtr val);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathDifference		(xmlNodeSetPtr nodes1,
 						 xmlNodeSetPtr nodes2);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathIntersection		(xmlNodeSetPtr nodes1,
 						 xmlNodeSetPtr nodes2);
 
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathDistinctSorted		(xmlNodeSetPtr nodes);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathDistinct		(xmlNodeSetPtr nodes);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathHasSameNodes		(xmlNodeSetPtr nodes1,
 						 xmlNodeSetPtr nodes2);
 
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathNodeLeadingSorted	(xmlNodeSetPtr nodes,
 						 xmlNodePtr node);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathLeadingSorted		(xmlNodeSetPtr nodes1,
 						 xmlNodeSetPtr nodes2);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathNodeLeading		(xmlNodeSetPtr nodes,
 						 xmlNodePtr node);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathLeading			(xmlNodeSetPtr nodes1,
 						 xmlNodeSetPtr nodes2);
 
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathNodeTrailingSorted	(xmlNodeSetPtr nodes,
 						 xmlNodePtr node);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathTrailingSorted		(xmlNodeSetPtr nodes1,
 						 xmlNodeSetPtr nodes2);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathNodeTrailing		(xmlNodeSetPtr nodes,
 						 xmlNodePtr node);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathTrailing		(xmlNodeSetPtr nodes1,
 						 xmlNodeSetPtr nodes2);
 
@@ -421,208 +421,208 @@
  * Extending a context.
  */
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathRegisterNs		(xmlXPathContextPtr ctxt,
 						 const xmlChar *prefix,
 						 const xmlChar *ns_uri);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar *
 		xmlXPathNsLookup		(xmlXPathContextPtr ctxt,
 						 const xmlChar *prefix);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathRegisteredNsCleanup	(xmlXPathContextPtr ctxt);
 
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathRegisterFunc		(xmlXPathContextPtr ctxt,
 						 const xmlChar *name,
 						 xmlXPathFunction f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathRegisterFuncNS		(xmlXPathContextPtr ctxt,
 						 const xmlChar *name,
 						 const xmlChar *ns_uri,
 						 xmlXPathFunction f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathRegisterVariable	(xmlXPathContextPtr ctxt,
 						 const xmlChar *name,
 						 xmlXPathObjectPtr value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathRegisterVariableNS	(xmlXPathContextPtr ctxt,
 						 const xmlChar *name,
 						 const xmlChar *ns_uri,
 						 xmlXPathObjectPtr value);
-XMLPUBFUN xmlXPathFunction XMLCALL
+XMLPUBFUN xmlXPathFunction
 		xmlXPathFunctionLookup		(xmlXPathContextPtr ctxt,
 						 const xmlChar *name);
-XMLPUBFUN xmlXPathFunction XMLCALL
+XMLPUBFUN xmlXPathFunction
 		xmlXPathFunctionLookupNS	(xmlXPathContextPtr ctxt,
 						 const xmlChar *name,
 						 const xmlChar *ns_uri);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathRegisteredFuncsCleanup	(xmlXPathContextPtr ctxt);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathVariableLookup		(xmlXPathContextPtr ctxt,
 						 const xmlChar *name);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathVariableLookupNS	(xmlXPathContextPtr ctxt,
 						 const xmlChar *name,
 						 const xmlChar *ns_uri);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt);
 
 /**
  * Utilities to extend XPath.
  */
-XMLPUBFUN xmlXPathParserContextPtr XMLCALL
+XMLPUBFUN xmlXPathParserContextPtr
 		  xmlXPathNewParserContext	(const xmlChar *str,
 						 xmlXPathContextPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathFreeParserContext	(xmlXPathParserContextPtr ctxt);
 
 /* TODO: remap to xmlXPathValuePop and Push. */
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		valuePop			(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		valuePush			(xmlXPathParserContextPtr ctxt,
 						 xmlXPathObjectPtr value);
 
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathNewString		(const xmlChar *val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathNewCString		(const char *val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathWrapString		(xmlChar *val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathWrapCString		(char * val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathNewFloat		(double val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathNewBoolean		(int val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathNewNodeSet		(xmlNodePtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathNewValueTree		(xmlNodePtr val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathNodeSetAdd		(xmlNodeSetPtr cur,
 						 xmlNodePtr val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathNodeSetAddUnique	(xmlNodeSetPtr cur,
 						 xmlNodePtr val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathNodeSetAddNs		(xmlNodeSetPtr cur,
 						 xmlNodePtr node,
 						 xmlNsPtr ns);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathNodeSetSort		(xmlNodeSetPtr set);
 
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathRoot			(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathEvalExpr		(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlXPathParseName		(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar *
 		xmlXPathParseNCName		(xmlXPathParserContextPtr ctxt);
 
 /*
  * Existing functions.
  */
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double
 		xmlXPathStringEvalNumber	(const xmlChar *str);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int
 		xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt,
 						 xmlXPathObjectPtr res);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathRegisterAllFunctions	(xmlXPathContextPtr ctxt);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr
 		xmlXPathNodeSetMerge		(xmlNodeSetPtr val1,
 						 xmlNodeSetPtr val2);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathNodeSetDel		(xmlNodeSetPtr cur,
 						 xmlNodePtr val);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void
 		xmlXPathNodeSetRemove		(xmlNodeSetPtr cur,
 						 int val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathNewNodeSetList		(xmlNodeSetPtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathWrapNodeSet		(xmlNodeSetPtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		xmlXPathWrapExternal		(void *val);
 
-XMLPUBFUN int XMLCALL xmlXPathEqualValues(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN int XMLCALL xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN int XMLCALL xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict);
-XMLPUBFUN void XMLCALL xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN void XMLCALL xmlXPathAddValues(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN void XMLCALL xmlXPathSubValues(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN void XMLCALL xmlXPathMultValues(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN void XMLCALL xmlXPathDivValues(xmlXPathParserContextPtr ctxt);
-XMLPUBFUN void XMLCALL xmlXPathModValues(xmlXPathParserContextPtr ctxt);
+XMLPUBFUN int xmlXPathEqualValues(xmlXPathParserContextPtr ctxt);
+XMLPUBFUN int xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt);
+XMLPUBFUN int xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict);
+XMLPUBFUN void xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt);
+XMLPUBFUN void xmlXPathAddValues(xmlXPathParserContextPtr ctxt);
+XMLPUBFUN void xmlXPathSubValues(xmlXPathParserContextPtr ctxt);
+XMLPUBFUN void xmlXPathMultValues(xmlXPathParserContextPtr ctxt);
+XMLPUBFUN void xmlXPathDivValues(xmlXPathParserContextPtr ctxt);
+XMLPUBFUN void xmlXPathModValues(xmlXPathParserContextPtr ctxt);
 
-XMLPUBFUN int XMLCALL xmlXPathIsNodeType(const xmlChar *name);
+XMLPUBFUN int xmlXPathIsNodeType(const xmlChar *name);
 
 /*
  * Some of the axis navigation routines.
  */
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextSelf(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextSelf(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextChild(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextChild(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextParent(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextParent(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt,
+XMLPUBFUN xmlNodePtr xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt,
 			xmlNodePtr cur);
 /*
  * The official core of XPath functions.
  */
-XMLPUBFUN void XMLCALL xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs);
-XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs);
+XMLPUBFUN void xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs);
 
 /**
  * Really internal functions
  */
-XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns);
+XMLPUBFUN void xmlXPathNodeSetFreeNs(xmlNsPtr ns);
 
 #ifdef __cplusplus
 }
diff --git a/include/libxml/xpointer.h b/include/libxml/xpointer.h
index b99112b..12ce9ed 100644
--- a/include/libxml/xpointer.h
+++ b/include/libxml/xpointer.h
@@ -28,6 +28,7 @@
 extern "C" {
 #endif
 
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 /*
  * A Location Set
  */
@@ -43,69 +44,91 @@
  * Handling of location sets.
  */
 
-XMLPUBFUN xmlLocationSetPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlLocationSetPtr
 		    xmlXPtrLocationSetCreate	(xmlXPathObjectPtr val);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 		    xmlXPtrFreeLocationSet	(xmlLocationSetPtr obj);
-XMLPUBFUN xmlLocationSetPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlLocationSetPtr
 		    xmlXPtrLocationSetMerge	(xmlLocationSetPtr val1,
 						 xmlLocationSetPtr val2);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPtrNewRange		(xmlNodePtr start,
 						 int startindex,
 						 xmlNodePtr end,
 						 int endindex);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPtrNewRangePoints	(xmlXPathObjectPtr start,
 						 xmlXPathObjectPtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPtrNewRangeNodePoint	(xmlNodePtr start,
 						 xmlXPathObjectPtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPtrNewRangePointNode	(xmlXPathObjectPtr start,
 						 xmlNodePtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPtrNewRangeNodes	(xmlNodePtr start,
 						 xmlNodePtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPtrNewLocationSetNodes	(xmlNodePtr start,
 						 xmlNodePtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPtrNewRangeNodeObject	(xmlNodePtr start,
 						 xmlXPathObjectPtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPtrNewCollapsedRange	(xmlNodePtr start);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 		    xmlXPtrLocationSetAdd	(xmlLocationSetPtr cur,
 						 xmlXPathObjectPtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPtrWrapLocationSet	(xmlLocationSetPtr val);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 		    xmlXPtrLocationSetDel	(xmlLocationSetPtr cur,
 						 xmlXPathObjectPtr val);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 		    xmlXPtrLocationSetRemove	(xmlLocationSetPtr cur,
 						 int val);
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 
 /*
  * Functions.
  */
-XMLPUBFUN xmlXPathContextPtr XMLCALL
+XMLPUBFUN xmlXPathContextPtr
 		    xmlXPtrNewContext		(xmlDocPtr doc,
 						 xmlNodePtr here,
 						 xmlNodePtr origin);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr
 		    xmlXPtrEval			(const xmlChar *str,
 						 xmlXPathContextPtr ctx);
-XMLPUBFUN void XMLCALL
+#ifdef LIBXML_XPTR_LOCS_ENABLED
+XML_DEPRECATED
+XMLPUBFUN void
 		    xmlXPtrRangeToFunction	(xmlXPathParserContextPtr ctxt,
 						 int nargs);
-XMLPUBFUN xmlNodePtr XMLCALL
+XML_DEPRECATED
+XMLPUBFUN xmlNodePtr
 		    xmlXPtrBuildNodeList	(xmlXPathObjectPtr obj);
-XMLPUBFUN void XMLCALL
+XML_DEPRECATED
+XMLPUBFUN void
 		    xmlXPtrEvalRangePredicate	(xmlXPathParserContextPtr ctxt);
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/private/Makefile.am b/include/private/Makefile.am
new file mode 100644
index 0000000..29c0bdd
--- /dev/null
+++ b/include/private/Makefile.am
@@ -0,0 +1,19 @@
+EXTRA_DIST = \
+	buf.h \
+	dict.h \
+	enc.h \
+	entities.h \
+	error.h \
+	globals.h \
+	html.h \
+	io.h \
+	memory.h \
+	parser.h \
+	regexp.h \
+	save.h \
+	string.h \
+	threads.h \
+	tree.h \
+	xinclude.h \
+	xpath.h \
+	xzlib.h
diff --git a/include/private/buf.h b/include/private/buf.h
new file mode 100644
index 0000000..c18eed4
--- /dev/null
+++ b/include/private/buf.h
@@ -0,0 +1,70 @@
+#ifndef XML_BUF_H_PRIVATE__
+#define XML_BUF_H_PRIVATE__
+
+#include <libxml/tree.h>
+
+XML_HIDDEN xmlBufPtr
+xmlBufCreate(void);
+XML_HIDDEN xmlBufPtr
+xmlBufCreateSize(size_t size);
+
+XML_HIDDEN int
+xmlBufSetAllocationScheme(xmlBufPtr buf, xmlBufferAllocationScheme scheme);
+XML_HIDDEN int
+xmlBufGetAllocationScheme(xmlBufPtr buf);
+
+XML_HIDDEN void
+xmlBufFree(xmlBufPtr buf);
+XML_HIDDEN void
+xmlBufEmpty(xmlBufPtr buf);
+
+/* size_t xmlBufShrink(xmlBufPtr buf, size_t len); */
+XML_HIDDEN int
+xmlBufGrow(xmlBufPtr buf, int len);
+XML_HIDDEN int
+xmlBufResize(xmlBufPtr buf, size_t len);
+
+XML_HIDDEN int
+xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len);
+XML_HIDDEN int
+xmlBufCat(xmlBufPtr buf, const xmlChar *str);
+XML_HIDDEN int
+xmlBufCCat(xmlBufPtr buf, const char *str);
+XML_HIDDEN int
+xmlBufWriteQuotedString(xmlBufPtr buf, const xmlChar *string);
+
+XML_HIDDEN size_t
+xmlBufAvail(const xmlBufPtr buf);
+XML_HIDDEN size_t
+xmlBufLength(const xmlBufPtr buf);
+/* size_t xmlBufUse(const xmlBufPtr buf); */
+XML_HIDDEN int
+xmlBufIsEmpty(const xmlBufPtr buf);
+XML_HIDDEN int
+xmlBufAddLen(xmlBufPtr buf, size_t len);
+
+/* const xmlChar * xmlBufContent(const xmlBuf *buf); */
+/* const xmlChar * xmlBufEnd(xmlBufPtr buf); */
+
+XML_HIDDEN xmlChar *
+xmlBufDetach(xmlBufPtr buf);
+
+XML_HIDDEN size_t
+xmlBufDump(FILE *file, xmlBufPtr buf);
+
+XML_HIDDEN xmlBufPtr
+xmlBufFromBuffer(xmlBufferPtr buffer);
+XML_HIDDEN xmlBufferPtr
+xmlBufBackToBuffer(xmlBufPtr buf);
+XML_HIDDEN int
+xmlBufMergeBuffer(xmlBufPtr buf, xmlBufferPtr buffer);
+
+XML_HIDDEN int
+xmlBufResetInput(xmlBufPtr buf, xmlParserInputPtr input);
+XML_HIDDEN size_t
+xmlBufGetInputBase(xmlBufPtr buf, xmlParserInputPtr input);
+XML_HIDDEN int
+xmlBufSetInputBaseCur(xmlBufPtr buf, xmlParserInputPtr input,
+                      size_t base, size_t cur);
+
+#endif /* XML_BUF_H_PRIVATE__ */
diff --git a/include/private/dict.h b/include/private/dict.h
new file mode 100644
index 0000000..fcc10ba
--- /dev/null
+++ b/include/private/dict.h
@@ -0,0 +1,11 @@
+#ifndef XML_DICT_H_PRIVATE__
+#define XML_DICT_H_PRIVATE__
+
+XML_HIDDEN int
+__xmlInitializeDict(void);
+XML_HIDDEN void
+xmlCleanupDictInternal(void);
+XML_HIDDEN int
+__xmlRandom(void);
+
+#endif /* XML_DICT_H_PRIVATE__ */
diff --git a/include/private/enc.h b/include/private/enc.h
new file mode 100644
index 0000000..ddfc8ae
--- /dev/null
+++ b/include/private/enc.h
@@ -0,0 +1,17 @@
+#ifndef XML_ENC_H_PRIVATE__
+#define XML_ENC_H_PRIVATE__
+
+#include <libxml/encoding.h>
+#include <libxml/tree.h>
+
+XML_HIDDEN void
+xmlInitEncodingInternal(void);
+
+XML_HIDDEN int
+xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len);
+XML_HIDDEN int
+xmlCharEncInput(xmlParserInputBufferPtr input, int flush);
+XML_HIDDEN int
+xmlCharEncOutput(xmlOutputBufferPtr output, int init);
+
+#endif /* XML_ENC_H_PRIVATE__ */
diff --git a/include/private/entities.h b/include/private/entities.h
new file mode 100644
index 0000000..c3f15e6
--- /dev/null
+++ b/include/private/entities.h
@@ -0,0 +1,23 @@
+#ifndef XML_ENTITIES_H_PRIVATE__
+#define XML_ENTITIES_H_PRIVATE__
+
+#include <libxml/tree.h>
+#include <libxml/xmlstring.h>
+
+/*
+ * Entity flags
+ *
+ * XML_ENT_PARSED: The entity was parsed and `children` points to the
+ * content.
+ * XML_ENT_CHECKED: The entity was checked for loops.
+ */
+#define XML_ENT_PARSED      (1<<0)
+#define XML_ENT_CHECKED     (1<<1)
+#define XML_ENT_EXPANDING   (1<<2)
+#define XML_ENT_CHECKED_LT  (1<<3)
+#define XML_ENT_CONTAINS_LT (1<<4)
+
+XML_HIDDEN xmlChar *
+xmlEncodeAttributeEntities(xmlDocPtr doc, const xmlChar *input);
+
+#endif /* XML_ENTITIES_H_PRIVATE__ */
diff --git a/include/private/error.h b/include/private/error.h
new file mode 100644
index 0000000..7f284f9
--- /dev/null
+++ b/include/private/error.h
@@ -0,0 +1,21 @@
+#ifndef XML_ERROR_H_PRIVATE__
+#define XML_ERROR_H_PRIVATE__
+
+#include <libxml/xmlerror.h>
+#include <libxml/xmlversion.h>
+
+XML_HIDDEN void
+__xmlRaiseError(xmlStructuredErrorFunc schannel,
+                xmlGenericErrorFunc channel, void *data, void *ctx,
+                void *nod, int domain, int code, xmlErrorLevel level,
+                const char *file, int line, const char *str1,
+                const char *str2, const char *str3, int int1, int col,
+	        const char *msg, ...) LIBXML_ATTR_FORMAT(16,17);
+XML_HIDDEN void
+__xmlSimpleError(int domain, int code, xmlNodePtr node,
+                 const char *msg, const char *extra) LIBXML_ATTR_FORMAT(4,0);
+XML_HIDDEN void
+xmlGenericErrorDefaultFunc(void *ctx, const char *msg,
+                           ...) LIBXML_ATTR_FORMAT(2,3);
+
+#endif /* XML_ERROR_H_PRIVATE__ */
diff --git a/include/private/globals.h b/include/private/globals.h
new file mode 100644
index 0000000..5f3f112
--- /dev/null
+++ b/include/private/globals.h
@@ -0,0 +1,9 @@
+#ifndef XML_GLOBALS_H_PRIVATE__
+#define XML_GLOBALS_H_PRIVATE__
+
+XML_HIDDEN void
+xmlInitGlobalsInternal(void);
+XML_HIDDEN void
+xmlCleanupGlobalsInternal(void);
+
+#endif /* XML_GLOBALS_H_PRIVATE__ */
diff --git a/include/private/html.h b/include/private/html.h
new file mode 100644
index 0000000..6b49929
--- /dev/null
+++ b/include/private/html.h
@@ -0,0 +1,14 @@
+#ifndef XML_HTML_H_PRIVATE__
+#define XML_HTML_H_PRIVATE__
+
+#include <libxml/xmlversion.h>
+
+#ifdef LIBXML_HTML_ENABLED
+
+XML_HIDDEN void
+__htmlParseContent(void *ctx);
+
+#endif /* LIBXML_HTML_ENABLED */
+
+#endif /* XML_HTML_H_PRIVATE__ */
+
diff --git a/include/private/io.h b/include/private/io.h
new file mode 100644
index 0000000..86a72e1
--- /dev/null
+++ b/include/private/io.h
@@ -0,0 +1,19 @@
+#ifndef XML_IO_H_PRIVATE__
+#define XML_IO_H_PRIVATE__
+
+#include <libxml/encoding.h>
+#include <libxml/tree.h>
+#include <libxml/xmlversion.h>
+
+XML_HIDDEN void
+__xmlIOErr(int domain, int code, const char *extra);
+XML_HIDDEN void
+__xmlLoaderErr(void *ctx, const char *msg,
+               const char *filename) LIBXML_ATTR_FORMAT(2,0);
+
+#ifdef LIBXML_OUTPUT_ENABLED
+XML_HIDDEN xmlOutputBufferPtr
+xmlAllocOutputBufferInternal(xmlCharEncodingHandlerPtr encoder);
+#endif
+
+#endif /* XML_IO_H_PRIVATE__ */
diff --git a/include/private/memory.h b/include/private/memory.h
new file mode 100644
index 0000000..ef0497c
--- /dev/null
+++ b/include/private/memory.h
@@ -0,0 +1,9 @@
+#ifndef XML_MEMORY_H_PRIVATE__
+#define XML_MEMORY_H_PRIVATE__
+
+XML_HIDDEN void
+xmlInitMemoryInternal(void);
+XML_HIDDEN void
+xmlCleanupMemoryInternal(void);
+
+#endif /* XML_MEMORY_H_PRIVATE__ */
diff --git a/include/private/parser.h b/include/private/parser.h
new file mode 100644
index 0000000..628f5a9
--- /dev/null
+++ b/include/private/parser.h
@@ -0,0 +1,31 @@
+#ifndef XML_PARSER_H_PRIVATE__
+#define XML_PARSER_H_PRIVATE__
+
+#include <libxml/parser.h>
+#include <libxml/xmlversion.h>
+
+/**
+ * XML_VCTXT_DTD_VALIDATED:
+ *
+ * Set after xmlValidateDtdFinal was called.
+ */
+#define XML_VCTXT_DTD_VALIDATED (1u << 0)
+/**
+ * XML_VCTXT_USE_PCTXT:
+ *
+ * Set if the validation context is part of a parser context.
+ */
+#define XML_VCTXT_USE_PCTXT (1u << 1)
+
+XML_HIDDEN void
+xmlErrMemory(xmlParserCtxtPtr ctxt, const char *extra);
+XML_HIDDEN void
+__xmlErrEncoding(xmlParserCtxtPtr ctxt, xmlParserErrors xmlerr,
+                 const char *msg, const xmlChar *str1,
+                 const xmlChar *str2) LIBXML_ATTR_FORMAT(3,0);
+XML_HIDDEN int
+xmlParserGrow(xmlParserCtxtPtr ctxt);
+XML_HIDDEN int
+xmlParserShrink(xmlParserCtxtPtr ctxt);
+
+#endif /* XML_PARSER_H_PRIVATE__ */
diff --git a/include/private/regexp.h b/include/private/regexp.h
new file mode 100644
index 0000000..f202493
--- /dev/null
+++ b/include/private/regexp.h
@@ -0,0 +1,9 @@
+#ifndef XML_REGEXP_H_PRIVATE__
+#define XML_REGEXP_H_PRIVATE__
+
+#include <libxml/xmlautomata.h>
+
+XML_HIDDEN void
+xmlAutomataSetFlags(xmlAutomataPtr am, int flags);
+
+#endif /* XML_REGEXP_H_PRIVATE__ */
diff --git a/include/private/save.h b/include/private/save.h
new file mode 100644
index 0000000..873aad7
--- /dev/null
+++ b/include/private/save.h
@@ -0,0 +1,18 @@
+#ifndef XML_SAVE_H_PRIVATE__
+#define XML_SAVE_H_PRIVATE__
+
+#include <libxml/tree.h>
+#include <libxml/xmlversion.h>
+
+#ifdef LIBXML_OUTPUT_ENABLED
+
+XML_HIDDEN void
+xmlBufAttrSerializeTxtContent(xmlBufPtr buf, xmlDocPtr doc,
+                              xmlAttrPtr attr, const xmlChar * string);
+XML_HIDDEN void
+xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur);
+
+#endif /* LIBXML_OUTPUT_ENABLED */
+
+#endif /* XML_SAVE_H_PRIVATE__ */
+
diff --git a/include/private/string.h b/include/private/string.h
new file mode 100644
index 0000000..9665fc4
--- /dev/null
+++ b/include/private/string.h
@@ -0,0 +1,9 @@
+#ifndef XML_STRING_H_PRIVATE__
+#define XML_STRING_H_PRIVATE__
+
+#include <libxml/xmlstring.h>
+
+XML_HIDDEN xmlChar *
+xmlEscapeFormatString(xmlChar **msg);
+
+#endif /* XML_STRING_H_PRIVATE__ */
diff --git a/include/private/threads.h b/include/private/threads.h
new file mode 100644
index 0000000..b337bfa
--- /dev/null
+++ b/include/private/threads.h
@@ -0,0 +1,50 @@
+#ifndef XML_THREADS_H_PRIVATE__
+#define XML_THREADS_H_PRIVATE__
+
+#include <libxml/threads.h>
+
+#ifdef LIBXML_THREAD_ENABLED
+  #ifdef HAVE_PTHREAD_H
+    #include <pthread.h>
+    #define HAVE_POSIX_THREADS
+  #elif defined(_WIN32)
+    #define WIN32_LEAN_AND_MEAN
+    #include <windows.h>
+    #ifndef HAVE_COMPILER_TLS
+      #include <process.h>
+    #endif
+    #define HAVE_WIN32_THREADS
+  #endif
+#endif
+
+/*
+ * xmlMutex are a simple mutual exception locks
+ */
+struct _xmlMutex {
+#ifdef HAVE_POSIX_THREADS
+    pthread_mutex_t lock;
+#elif defined HAVE_WIN32_THREADS
+    CRITICAL_SECTION cs;
+#else
+    int empty;
+#endif
+};
+
+XML_HIDDEN void
+__xmlGlobalInitMutexLock(void);
+XML_HIDDEN void
+__xmlGlobalInitMutexUnlock(void);
+XML_HIDDEN void
+__xmlGlobalInitMutexDestroy(void);
+
+XML_HIDDEN void
+xmlInitThreadsInternal(void);
+XML_HIDDEN void
+xmlCleanupThreadsInternal(void);
+
+XML_HIDDEN void
+xmlInitMutex(xmlMutexPtr mutex);
+XML_HIDDEN void
+xmlCleanupMutex(xmlMutexPtr mutex);
+
+#endif /* XML_THREADS_H_PRIVATE__ */
diff --git a/include/private/tree.h b/include/private/tree.h
new file mode 100644
index 0000000..fb5e162
--- /dev/null
+++ b/include/private/tree.h
@@ -0,0 +1,18 @@
+#ifndef XML_TREE_H_PRIVATE__
+#define XML_TREE_H_PRIVATE__
+
+/*
+ * Internal variable indicating if a callback has been registered for
+ * node creation/destruction. It avoids spending a lot of time in locking
+ * function while checking if the callback exists.
+ */
+XML_HIDDEN extern int
+__xmlRegisterCallbacks;
+
+XML_HIDDEN xmlNodePtr
+xmlStaticCopyNode(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent,
+                  int extended);
+XML_HIDDEN xmlNodePtr
+xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent);
+
+#endif /* XML_TREE_H_PRIVATE__ */
diff --git a/include/private/xinclude.h b/include/private/xinclude.h
new file mode 100644
index 0000000..43c77e5
--- /dev/null
+++ b/include/private/xinclude.h
@@ -0,0 +1,9 @@
+#ifndef XML_INCLUDE_H_PRIVATE__
+#define XML_INCLUDE_H_PRIVATE__
+
+#include <libxml/xinclude.h>
+
+XML_HIDDEN int
+xmlXIncludeSetStreamingMode(xmlXIncludeCtxtPtr ctxt, int mode);
+
+#endif /* XML_INCLUDE_H_PRIVATE__ */
diff --git a/include/private/xpath.h b/include/private/xpath.h
new file mode 100644
index 0000000..0e8d752
--- /dev/null
+++ b/include/private/xpath.h
@@ -0,0 +1,7 @@
+#ifndef XML_XPATH_H_PRIVATE__
+#define XML_XPATH_H_PRIVATE__
+
+XML_HIDDEN void
+xmlInitXPathInternal(void);
+
+#endif /* XML_XPATH_H_PRIVATE__ */
diff --git a/include/private/xzlib.h b/include/private/xzlib.h
new file mode 100644
index 0000000..b332698
--- /dev/null
+++ b/include/private/xzlib.h
@@ -0,0 +1,32 @@
+/**
+ * xzlib.h: header for the front end for the transparent support of lzma
+ *          compression at the I/O layer
+ *
+ * See Copyright for the status of this software.
+ *
+ * Anders F Bjorklund <afb@users.sourceforge.net>
+ */
+
+#ifndef LIBXML2_XZLIB_H
+#define LIBXML2_XZLIB_H
+
+#include <libxml/xmlversion.h>
+
+#ifdef LIBXML_LZMA_ENABLED
+
+typedef void *xzFile;           /* opaque lzma file descriptor */
+
+XML_HIDDEN xzFile
+__libxml2_xzopen(const char *path, const char *mode);
+XML_HIDDEN xzFile
+__libxml2_xzdopen(int fd, const char *mode);
+XML_HIDDEN int
+__libxml2_xzread(xzFile file, void *buf, unsigned len);
+XML_HIDDEN int
+__libxml2_xzclose(xzFile file);
+XML_HIDDEN int
+__libxml2_xzcompressed(xzFile f);
+
+#endif /* LIBXML_LZMA_ENABLED */
+
+#endif /* LIBXML2_XZLIB_H */
diff --git a/include/win32config.h b/include/win32config.h
index 54392f4..a25e038 100644
--- a/include/win32config.h
+++ b/include/win32config.h
@@ -1,121 +1,21 @@
 #ifndef __LIBXML_WIN32_CONFIG__
 #define __LIBXML_WIN32_CONFIG__
 
-#define HAVE_CTYPE_H
-#define HAVE_STDARG_H
-#define HAVE_MALLOC_H
-#define HAVE_ERRNO_H
-#define SEND_ARG2_CAST
-#define GETHOSTBYNAME_ARG_CAST
-
-#if defined(_WIN32_WCE)
-#undef HAVE_ERRNO_H
-#include "wincecompat.h"
-#else
 #define HAVE_SYS_STAT_H
 #define HAVE_STAT
-#define HAVE_STDLIB_H
-#define HAVE_TIME_H
 #define HAVE_FCNTL_H
-#include <io.h>
-#include <direct.h>
-#endif
 
-#include <libxml/xmlversion.h>
-
-#ifndef ICONV_CONST
-#define ICONV_CONST const
+#if defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER >= 1600)
+  #define HAVE_STDINT_H
 #endif
 
-/*
- * Windows platforms may define except 
- */
-#undef except
-
-#define HAVE_ISINF
-#define HAVE_ISNAN
-#include <math.h>
-#if defined(_MSC_VER) || defined(__BORLANDC__)
-/* MS C-runtime has functions which can be used in order to determine if
-   a given floating-point variable contains NaN, (+-)INF. These are 
-   preferred, because floating-point technology is considered proprietary
-   by MS and we can assume that their functions know more about their 
-   oddities than we do. */
-#include <float.h>
-/* Bjorn Reese figured a quite nice construct for isinf() using the _fpclass
-   function. */
-#ifndef isinf
-#define isinf(d) ((_fpclass(d) == _FPCLASS_PINF) ? 1 \
-	: ((_fpclass(d) == _FPCLASS_NINF) ? -1 : 0))
-#endif
-/* _isnan(x) returns nonzero if (x == NaN) and zero otherwise. */
-#ifndef isnan
-#define isnan(d) (_isnan(d))
-#endif
-#else /* _MSC_VER */
-#ifndef isinf
-static int isinf (double d) {
-    int expon = 0;
-    double val = frexp (d, &expon);
-    if (expon == 1025) {
-        if (val == 0.5) {
-            return 1;
-        } else if (val == -0.5) {
-            return -1;
-        } else {
-            return 0;
-        }
-    } else {
-        return 0;
-    }
-}
-#endif
-#ifndef isnan
-static int isnan (double d) {
-    int expon = 0;
-    double val = frexp (d, &expon);
-    if (expon == 1025) {
-        if (val == 0.5) {
-            return 0;
-        } else if (val == -0.5) {
-            return 0;
-        } else {
-            return 1;
-        }
-    } else {
-        return 0;
-    }
-}
-#endif
-#endif /* _MSC_VER */
-
 #if defined(_MSC_VER)
-#define mkdir(p,m) _mkdir(p)
-#if _MSC_VER < 1900
-#define snprintf _snprintf
-#endif
-#if _MSC_VER < 1500
-#define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a)
-#endif
-#elif defined(__MINGW32__)
-#define mkdir(p,m) _mkdir(p)
-#endif
-
-/* Threading API to use should be specified here for compatibility reasons.
-   This is however best specified on the compiler's command-line. */
-#if defined(LIBXML_THREAD_ENABLED)
-#if !defined(HAVE_PTHREAD_H) && !defined(HAVE_WIN32_THREADS) && !defined(_WIN32_WCE)
-#define HAVE_WIN32_THREADS
-#endif
-#endif
-
-/* Some third-party libraries far from our control assume the following
-   is defined, which it is not if we don't include windows.h. */
-#if !defined(FALSE)
-#define FALSE 0
-#endif
-#if !defined(TRUE)
-#define TRUE (!(FALSE))
+  #if _MSC_VER < 1900
+    #define snprintf _snprintf
+  #endif
+  #if _MSC_VER < 1500
+    #define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a)
+  #endif
 #endif
 
 #endif /* __LIBXML_WIN32_CONFIG__ */
diff --git a/include/wsockcompat.h b/include/wsockcompat.h
index e57ca8e..141de0c 100644
--- a/include/wsockcompat.h
+++ b/include/wsockcompat.h
@@ -5,9 +5,6 @@
 #if !defined __XML_WSOCKCOMPAT_H__
 #define __XML_WSOCKCOMPAT_H__
 
-#ifdef _WIN32_WCE
-#include <winsock.h>
-#else
 #include <errno.h>
 #include <winsock2.h>
 
@@ -28,12 +25,14 @@
 /* Check if ws2tcpip.h is a recent version which provides getaddrinfo() */
 #if defined(GetAddrInfo)
 #include <wspiapi.h>
-#define HAVE_GETADDRINFO
+#ifndef SUPPORT_IP6
+  #define SUPPORT_IP6
 #endif
 #endif
 
-#undef XML_SOCKLEN_T
+#ifndef XML_SOCKLEN_T
 #define XML_SOCKLEN_T int
+#endif
 
 #ifndef ECONNRESET
 #define ECONNRESET WSAECONNRESET
diff --git a/legacy.c b/legacy.c
index c9fddc5..bde3854 100644
--- a/legacy.c
+++ b/legacy.c
@@ -85,7 +85,7 @@
 {
 }
 
-static const char *xmlFeaturesList[] = {
+static const char* const xmlFeaturesList[] = {
     "validate",
     "load subset",
     "keep blanks",
diff --git a/libxml-2.0-uninstalled.pc.in b/libxml-2.0-uninstalled.pc.in
index 60b886b..0c3186f 100644
--- a/libxml-2.0-uninstalled.pc.in
+++ b/libxml-2.0-uninstalled.pc.in
@@ -2,11 +2,12 @@
 exec_prefix=
 libdir=${pcfiledir}
 includedir=${pcfiledir}/include
-
+modules=@WITH_MODULES@
 
 Name: libXML
 Version: @VERSION@
 Description: libXML library version2.
 Requires:
-Libs: -L${libdir} -lxml2 @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@
-Cflags: -I${includedir} @XML_INCLUDEDIR@ @XML_CFLAGS@
+Libs: -L${libdir} @XML_LIBS@
+Libs.private: @XML_PRIVATE_LIBS@ @LIBS@
+Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@
diff --git a/libxml-2.0.pc.in b/libxml-2.0.pc.in
index 2653a7c..88e3963 100644
--- a/libxml-2.0.pc.in
+++ b/libxml-2.0.pc.in
@@ -8,6 +8,6 @@
 Version: @VERSION@
 Description: libXML library version2.
 Requires:
-Libs: -L${libdir} -lxml2
-Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@
+Libs: -L${libdir} @XML_LIBS@
+Libs.private: @XML_PRIVATE_LIBS@ @LIBS@
 Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@
diff --git a/libxml.3 b/libxml.3
deleted file mode 100644
index b3e9fef..0000000
--- a/libxml.3
+++ /dev/null
@@ -1,71 +0,0 @@
-.TH libxml 3 "12 April 2000"
-.SH NAME
-libxml \- library used to parse XML files
-.SH DESCRIPTION
-The
-.I  libxml
-library is used to parse XML files. 
-Its internal document representation is as close as possible to the 
-.I DOM 
-(Document Object Model) interface,
-an API for accessing XML or HTML structured documents.
-.LP
-The
-.I libxml
-library also has a 
-.IR SAX -like
-interface, 
-which is designed to be compatible with 
-.IR expat (1).
-NOTE:
-.IR SAX , 
-the Simple API for XML,
-is a standard interface for event-based XML parsing,
-developed collaboratively by the members of the XML-DEV mailing list, 
-currently hosted by OASIS.
-The
-.I expat
-library is a XML 1.0 parser written in C,
-which aims to be fully conforming. 
-It is currently not a validating XML processor.
-.LP
-The
-.I libxml 
-library now includes a nearly complete 
-.I XPath 
-implementation. 
-The
-.I XPath
-(XML Path Language) is a language for addressing parts of an 
-XML document,
-designed to be used by both 
-.I XSLT 
-and 
-.IR XPointer .
-.LP
-The
-.I libxml 
-library exports Push and Pull type parser interfaces for both XML and 
-.IR html . 
-.SH FILES
-.TP 2.2i
-.B /depot/lib/libxml_2.0.0/libxml.a
-static library
-.TP
-.B /depot/lib/libxml_2.0.0/libxml.so
-shared library
-.TP
-.B /depot/package/libxml_2.0.0/bin/xmllint
-binary application for parsing XML files
-.SH AUTHORS
-Daniel Veillard (daniel@veillard.com).
-Red Hat Inc.
-Manual page by Ziying Sherwin (sherwin@nlm.nih.gov),
-Lister Hill National Center for Biomedical Communications,
-U.S. National Library of Medicine.
-.SH SEE ALSO
-.IR xmllint (1),
-.IR libxslt (3),
-.IR libexslt (3),
-.IR xsltproc (1)
-.\" end of manual page
diff --git a/libxml.h b/libxml.h
index 38afbef..c3d04bc 100644
--- a/libxml.h
+++ b/libxml.h
@@ -9,115 +9,54 @@
 #ifndef __XML_LIBXML_H__
 #define __XML_LIBXML_H__
 
-#include <libxml/xmlstring.h>
-
-#ifndef NO_LARGEFILE_SOURCE
-#ifndef _LARGEFILE_SOURCE
-#define _LARGEFILE_SOURCE
-#endif
-#ifndef _FILE_OFFSET_BITS
-#define _FILE_OFFSET_BITS 64
-#endif
-#endif
-
-#if defined(macintosh)
-#include "config-mac.h"
-#elif defined(_WIN32_WCE)
 /*
- * Windows CE compatibility definitions and functions
- * This is needed to compile libxml2 for Windows CE.
- * At least I tested it with WinCE 5.0 for Emulator and WinCE 4.2/SH4 target
+ * These macros must be defined before including system headers.
+ * Do not add any #include directives above this block.
  */
-#include <win32config.h>
-#include <libxml/xmlversion.h>
-#else
+#ifndef NO_LARGEFILE_SOURCE
+  #ifndef _LARGEFILE_SOURCE
+    #define _LARGEFILE_SOURCE
+  #endif
+  #ifndef _FILE_OFFSET_BITS
+    #define _FILE_OFFSET_BITS 64
+  #endif
+#endif
+
 /*
- * Currently supported platforms use either autoconf or
- * copy to config.h own "preset" configuration file.
- * As result ifdef HAVE_CONFIG_H is omitted here.
+ * These files are generated by the build system and contain private
+ * and public build configuration.
  */
 #include "config.h"
 #include <libxml/xmlversion.h>
-#endif
 
-#if defined(__Lynx__)
-#include <stdio.h> /* pull definition of size_t */
-#include <varargs.h>
-int snprintf(char *, size_t, const char *, ...);
-int vfprintf(FILE *, const char *, va_list);
-#endif
-
-#ifndef WITH_TRIO
-#include <stdio.h>
-#else
-/**
- * TRIO_REPLACE_STDIO:
- *
- * This macro is defined if the trio string formatting functions are to
- * be used instead of the default stdio ones.
+/*
+ * Due to some Autotools limitations, this variable must be passed as
+ * compiler flag. Define a default value if the macro wasn't set by the
+ * build system.
  */
-#define TRIO_REPLACE_STDIO
-#include "trio.h"
+#ifndef SYSCONFDIR
+  #define SYSCONFDIR "/etc"
 #endif
 
-#if defined(__clang__) || \
-    (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 406))
-#define XML_IGNORE_PEDANTIC_WARNINGS \
-    _Pragma("GCC diagnostic push") \
-    _Pragma("GCC diagnostic ignored \"-Wpedantic\"")
-#define XML_POP_WARNINGS \
-    _Pragma("GCC diagnostic pop")
+#ifdef WITH_TRIO
+  #define TRIO_REPLACE_STDIO
+  #include "trio.h"
+#endif
+
+#if !defined(_WIN32) && \
+    !defined(__CYGWIN__) && \
+    (defined(__clang__) || \
+     (defined(__GNUC__) && (__GNUC__ >= 4)))
+  #define XML_HIDDEN __attribute__((visibility("hidden")))
 #else
-#define XML_IGNORE_PEDANTIC_WARNINGS
-#define XML_POP_WARNINGS
+  #define XML_HIDDEN
 #endif
 
 #if defined(__clang__) || \
     (defined(__GNUC__) && (__GNUC__ >= 8))
-#define ATTRIBUTE_NO_SANITIZE(arg) __attribute__((no_sanitize(arg)))
+  #define ATTRIBUTE_NO_SANITIZE(arg) __attribute__((no_sanitize(arg)))
 #else
-#define ATTRIBUTE_NO_SANITIZE(arg)
+  #define ATTRIBUTE_NO_SANITIZE(arg)
 #endif
 
-/*
- * Internal variable indicating if a callback has been registered for
- * node creation/destruction. It avoids spending a lot of time in locking
- * function while checking if the callback exists.
- */
-extern int __xmlRegisterCallbacks;
-/*
- * internal error reporting routines, shared but not part of the API.
- */
-void __xmlIOErr(int domain, int code, const char *extra);
-void __xmlLoaderErr(void *ctx, const char *msg, const char *filename) LIBXML_ATTR_FORMAT(2,0);
-#ifdef LIBXML_HTML_ENABLED
-/*
- * internal function of HTML parser needed for xmlParseInNodeContext
- * but not part of the API
- */
-void __htmlParseContent(void *ctx);
-#endif
-
-/*
- * internal global initialization critical section routines.
- */
-void __xmlGlobalInitMutexLock(void);
-void __xmlGlobalInitMutexUnlock(void);
-void __xmlGlobalInitMutexDestroy(void);
-
-int __xmlInitializeDict(void);
-
-#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME)
-/*
- * internal thread safe random function
- */
-int __xmlRandom(void);
-#endif
-
-XMLPUBFUN xmlChar * XMLCALL xmlEscapeFormatString(xmlChar **msg);
-int xmlInputReadCallbackNop(void *context, char *buffer, int len);
-
-#if !defined(PIC) && !defined(NOLIBTOOL) && !defined(LIBXML_STATIC)
-#  define LIBXML_STATIC
-#endif
 #endif /* ! __XML_LIBXML_H__ */
diff --git a/libxml.m4 b/libxml.m4
index fc7790c..622a749 100644
--- a/libxml.m4
+++ b/libxml.m4
@@ -1,191 +1,14 @@
-# Configure paths for LIBXML2
-# Simon Josefsson 2020-02-12
-# Fix autoconf 2.70+ warnings
-# 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
-
 dnl AM_PATH_XML2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
 dnl Test for XML, and define XML_CPPFLAGS and XML_LIBS
 dnl
-AC_DEFUN([AM_PATH_XML2],[ 
-AC_ARG_WITH(xml-prefix,
-            [  --with-xml-prefix=PFX   Prefix where libxml is installed (optional)],
-            xml_config_prefix="$withval", xml_config_prefix="")
-AC_ARG_WITH(xml-exec-prefix,
-            [  --with-xml-exec-prefix=PFX Exec prefix where libxml is installed (optional)],
-            xml_config_exec_prefix="$withval", xml_config_exec_prefix="")
-AC_ARG_ENABLE(xmltest,
-              [  --disable-xmltest       Do not try to compile and run a test LIBXML program],,
-              enable_xmltest=yes)
+AC_DEFUN([AM_PATH_XML2],[
+  AC_MSG_WARN([AM_PATH_XML2 is deprecated, use PKG_CHECK_MODULES instead])
+  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
 
-  if test x$xml_config_exec_prefix != x ; then
-     xml_config_args="$xml_config_args"
-     if test x${XML2_CONFIG+set} != xset ; then
-        XML2_CONFIG=$xml_config_exec_prefix/bin/xml2-config
-     fi
-  fi
-  if test x$xml_config_prefix != x ; then
-     xml_config_args="$xml_config_args --prefix=$xml_config_prefix"
-     if test x${XML2_CONFIG+set} != xset ; then
-        XML2_CONFIG=$xml_config_prefix/bin/xml2-config
-     fi
-  fi
+  verdep=ifelse([$1], [], [], [">= $1"])
+  PKG_CHECK_MODULES(XML, [libxml-2.0 $verdep], [$2], [$3])
 
-  AC_PATH_PROG(XML2_CONFIG, xml2-config, no)
-  min_xml_version=ifelse([$1], ,2.0.0,[$1])
-  AC_MSG_CHECKING(for libxml - version >= $min_xml_version)
-  no_xml=""
-  if test "$XML2_CONFIG" = "no" ; then
-    no_xml=yes
-  else
-    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/'`
-    xml_config_minor_version=`$XML2_CONFIG $xml_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-    xml_config_micro_version=`$XML2_CONFIG $xml_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-    if test "x$enable_xmltest" = "xyes" ; then
-      ac_save_CPPFLAGS="$CPPFLAGS"
-      ac_save_LIBS="$LIBS"
-      CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
-      LIBS="$XML_LIBS $LIBS"
-dnl
-dnl Now check if the installed libxml is sufficiently new.
-dnl (Also sanity checks the results of xml2-config to some extent)
-dnl
-      rm -f conf.xmltest
-      AC_RUN_IFELSE(
-            [AC_LANG_SOURCE([[
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <libxml/xmlversion.h>
-
-int 
-main()
-{
-  int xml_major_version, xml_minor_version, xml_micro_version;
-  int major, minor, micro;
-  char *tmp_version;
-
-  system("touch conf.xmltest");
-
-  /* Capture xml2-config output via autoconf/configure variables */
-  /* HP/UX 9 (%@#!) writes to sscanf strings */
-  tmp_version = (char *)strdup("$min_xml_version");
-  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
-     printf("%s, bad version string from xml2-config\n", "$min_xml_version");
-     exit(1);
-   }
-   free(tmp_version);
-
-   /* Capture the version information from the header files */
-   tmp_version = (char *)strdup(LIBXML_DOTTED_VERSION);
-   if (sscanf(tmp_version, "%d.%d.%d", &xml_major_version, &xml_minor_version, &xml_micro_version) != 3) {
-     printf("%s, bad version string from libxml includes\n", "LIBXML_DOTTED_VERSION");
-     exit(1);
-   }
-   free(tmp_version);
-
- /* Compare xml2-config output to the libxml headers */
-  if ((xml_major_version != $xml_config_major_version) ||
-      (xml_minor_version != $xml_config_minor_version) ||
-      (xml_micro_version != $xml_config_micro_version))
-    {
-      printf("*** libxml header files (version %d.%d.%d) do not match\n",
-         xml_major_version, xml_minor_version, xml_micro_version);
-      printf("*** xml2-config (version %d.%d.%d)\n",
-         $xml_config_major_version, $xml_config_minor_version, $xml_config_micro_version);
-      return 1;
-    } 
-/* Compare the headers to the library to make sure we match */
-  /* Less than ideal -- doesn't provide us with return value feedback, 
-   * only exits if there's a serious mismatch between header and library.
-   */
-    LIBXML_TEST_VERSION;
-
-    /* Test that the library is greater than our minimum version */
-    if ((xml_major_version > major) ||
-        ((xml_major_version == major) && (xml_minor_version > minor)) ||
-        ((xml_major_version == major) && (xml_minor_version == minor) &&
-        (xml_micro_version >= micro)))
-      {
-        return 0;
-       }
-     else
-      {
-        printf("\n*** An old version of libxml (%d.%d.%d) was found.\n",
-               xml_major_version, xml_minor_version, xml_micro_version);
-        printf("*** You need a version of libxml newer than %d.%d.%d.\n",
-           major, minor, micro);
-        printf("***\n");
-        printf("*** If you have already installed a sufficiently new version, this error\n");
-        printf("*** probably means that the wrong copy of the xml2-config shell script is\n");
-        printf("*** being found. The easiest way to fix this is to remove the old version\n");
-        printf("*** of LIBXML, but you can also set the XML2_CONFIG environment to point to the\n");
-        printf("*** correct copy of xml2-config. (In this case, you will have to\n");
-        printf("*** modify your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf\n");
-        printf("*** so that the correct libraries are found at run-time))\n");
-    }
-  return 1;
-}
-]])],, no_xml=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-       CPPFLAGS="$ac_save_CPPFLAGS"
-       LIBS="$ac_save_LIBS"
-     fi
-  fi
-
-  if test "x$no_xml" = x ; then
-     AC_MSG_RESULT(yes (version $xml_config_major_version.$xml_config_minor_version.$xml_config_micro_version))
-     ifelse([$2], , :, [$2])     
-  else
-     AC_MSG_RESULT(no)
-     if test "$XML2_CONFIG" = "no" ; then
-       echo "*** The xml2-config script installed by LIBXML could not be found"
-       echo "*** If libxml was installed in PREFIX, make sure PREFIX/bin is in"
-       echo "*** your path, or set the XML2_CONFIG environment variable to the"
-       echo "*** full path to xml2-config."
-     else
-       if test -f conf.xmltest ; then
-        :
-       else
-          echo "*** Could not run libxml test program, checking why..."
-          CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
-          LIBS="$LIBS $XML_LIBS"
-	  AC_LINK_IFELSE(
-            [AC_LANG_PROGRAM([[
-#include <libxml/xmlversion.h>
-#include <stdio.h>
-]],    [[ LIBXML_TEST_VERSION; return 0;]])],
-        [ echo "*** The test program compiled, but did not run. This usually means"
-          echo "*** that the run-time linker is not finding LIBXML or finding the wrong"
-          echo "*** version of LIBXML. If it is not finding LIBXML, you'll need to set your"
-          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
-          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
-          echo "*** is required on your system"
-          echo "***"
-          echo "*** If you have an old version installed, it is best to remove it, although"
-          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
-        [ echo "*** The test program failed to compile or link. See the file config.log for the"
-          echo "*** exact error that occurred. This usually means LIBXML was incorrectly installed"
-          echo "*** or that you have moved LIBXML since it was installed. In the latter case, you"
-          echo "*** may want to edit the xml2-config script: $XML2_CONFIG" ])
-          CPPFLAGS="$ac_save_CPPFLAGS"
-          LIBS="$ac_save_LIBS"
-       fi
-     fi
-
-     XML_CPPFLAGS=""
-     XML_LIBS=""
-     ifelse([$3], , :, [$3])
-  fi
+  XML_CPPFLAGS=$XML_CFLAGS
   AC_SUBST(XML_CPPFLAGS)
   AC_SUBST(XML_LIBS)
-  rm -f conf.xmltest
 ])
diff --git a/libxml.spec.in b/libxml.spec.in
deleted file mode 100644
index 73c6fd9..0000000
--- a/libxml.spec.in
+++ /dev/null
@@ -1,209 +0,0 @@
-%global with_python3 1
-
-Summary: Library providing XML and HTML support
-Name: libxml2
-Version: @VERSION@
-Release: 1%{?dist}%{?extra_release}
-License: MIT
-Group: Development/Libraries
-Source: https://download.gnome.org/sources/libxml2/@LIBXML_MAJOR_VERSION@.@LIBXML_MINOR_VERSION@/libxml2-%{version}.tar.xz
-BuildRoot: %{_tmppath}/%{name}-%{version}-root
-BuildRequires: python-devel
-%if 0%{?with_python3}
-BuildRequires: python3-devel
-%endif # with_python3
-BuildRequires: zlib-devel
-BuildRequires: pkgconfig
-BuildRequires: xz-devel
-URL: https://gitlab.gnome.org/GNOME/libxml2
-
-%description
-This library allows to manipulate XML files. It includes support
-to read, modify and write XML and HTML files. There is DTDs support
-this includes parsing and validation even with complex DtDs, either
-at parse time or later once the document has been modified. The output
-can be a simple SAX stream or and in-memory DOM like representations.
-In this case one can use the built-in XPath and XPointer implementation
-to select sub nodes or ranges. A flexible Input/Output mechanism is
-available, with existing HTTP and FTP modules and combined to an
-URI library.
-
-%package devel
-Summary: Libraries, includes, etc. to develop XML and HTML applications
-Group: Development/Libraries
-Requires: libxml2 = %{version}-%{release}
-Requires: zlib-devel
-Requires: xz-devel
-Requires: pkgconfig
-
-%description devel
-Libraries, include files, etc you can use to develop XML applications.
-This library allows to manipulate XML files. It includes support
-to read, modify and write XML and HTML files. There is DTDs support
-this includes parsing and validation even with complex DtDs, either
-at parse time or later once the document has been modified. The output
-can be a simple SAX stream or and in-memory DOM like representations.
-In this case one can use the built-in XPath and XPointer implementation
-to select sub nodes or ranges. A flexible Input/Output mechanism is
-available, with existing HTTP and FTP modules and combined to an
-URI library.
-
-%package static
-Summary: Static library for libxml2
-Group: Development/Libraries
-Requires: libxml2 = %{version}-%{release}
-
-%description static
-Static library for libxml2 provided for specific uses or shaving a few
-microseconds when parsing, do not link to them for generic purpose packages.
-
-%package -n python-%{name}
-%{?python_provide:%python_provide python-%{name}}
-Summary: Python bindings for the libxml2 library
-Group: Development/Libraries
-Requires: libxml2 = %{version}-%{release}
-Obsoletes: %{name}-python < %{version}-%{release}
-Provides: %{name}-python = %{version}-%{release}
-
-%description -n python-%{name}
-The libxml2-python package contains a Python 2 module that permits applications
-written in the Python programming language, version 2, to use the interface
-supplied by the libxml2 library to manipulate XML files.
-
-This library allows to manipulate XML files. It includes support
-to read, modify and write XML and HTML files. There is DTDs support
-this includes parsing and validation even with complex DTDs, either
-at parse time or later once the document has been modified.
-
-%if 0%{?with_python3}
-%package -n python3-%{name}
-Summary: Python 3 bindings for the libxml2 library
-Group: Development/Libraries
-Requires: libxml2 = %{version}-%{release}
-Obsoletes: %{name}-python3 < %{version}-%{release}
-Provides: %{name}-python3 = %{version}-%{release}
-
-%description -n python3-%{name}
-The libxml2-python3 package contains a Python 3 module that permits
-applications written in the Python programming language, version 3, to use the
-interface supplied by the libxml2 library to manipulate XML files.
-
-This library allows to manipulate XML files. It includes support
-to read, modify and write XML and HTML files. There is DTDs support
-this includes parsing and validation even with complex DTDs, either
-at parse time or later once the document has been modified.
-%endif # with_python3
-
-%prep
-%setup -q
-
-mkdir py3doc
-cp doc/*.py py3doc
-sed -i 's|#!/usr/bin/python |#!%{__python3} |' py3doc/*.py
-
-%build
-%configure
-make %{_smp_mflags}
-
-find doc -type f -exec chmod 0644 \{\} \;
-
-%install
-rm -fr %{buildroot}
-
-make install DESTDIR=%{buildroot}
-
-%if 0%{?with_python3}
-make clean
-%configure --with-python=%{__python3}
-make install DESTDIR=%{buildroot}
-%endif # with_python3
-
-
-rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
-rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
-rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
-rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libxml2-%{version}/*
-rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libxml2-python-%{version}/*
-(cd doc/examples ; make clean ; rm -rf .deps Makefile)
-gzip -9 -c doc/libxml2-api.xml > doc/libxml2-api.xml.gz
-
-%check
-#disabling python tests from rpm build as broken in Fedora 30
-make PYTHON_SUBDIR="" runtests
-
-%clean
-rm -fr %{buildroot}
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%files
-%defattr(-, root, root)
-
-%doc NEWS README.md Copyright TODO
-%doc %{_mandir}/man1/xmllint.1*
-%doc %{_mandir}/man1/xmlcatalog.1*
-%doc %{_mandir}/man3/libxml.3*
-
-%{_libdir}/lib*.so.*
-%{_bindir}/xmllint
-%{_bindir}/xmlcatalog
-
-%files devel
-%defattr(-, root, root)
-
-%doc %{_mandir}/man1/xml2-config.1*
-%doc NEWS README.md Copyright
-%doc doc/*.html doc/html doc/*.gif doc/*.png
-%doc doc/tutorial doc/libxml2-api.xml.gz
-%doc doc/examples
-%doc %dir %{_datadir}/gtk-doc/html/libxml2
-%doc %{_datadir}/gtk-doc/html/libxml2/*.devhelp
-%doc %{_datadir}/gtk-doc/html/libxml2/*.html
-%doc %{_datadir}/gtk-doc/html/libxml2/*.png
-%doc %{_datadir}/gtk-doc/html/libxml2/*.css
-
-%{_libdir}/lib*.so
-%{_libdir}/*.sh
-%{_includedir}/*
-%{_bindir}/xml2-config
-%{_datadir}/aclocal/libxml.m4
-%{_libdir}/pkgconfig/libxml-2.0.pc
-%{_libdir}/cmake/libxml2/libxml2-config.cmake
-
-%files static
-%defattr(-, root, root)
-
-%{_libdir}/*a
-
-%files -n python-%{name}
-%defattr(-, root, root)
-
-%{_libdir}/python2*/site-packages/libxml2.py*
-%{_libdir}/python2*/site-packages/drv_libxml2.py*
-%{_libdir}/python2*/site-packages/libxml2mod*
-%doc python/TODO
-%doc python/libxml2class.txt
-%doc python/tests/*.py
-%doc doc/*.py
-%doc doc/python.html
-
-%if 0%{?with_python3}
-%files -n python3-%{name}
-%defattr(-, root, root)
-
-%{_libdir}/python3*/site-packages/libxml2.py*
-%{_libdir}/python3*/site-packages/drv_libxml2.py*
-%{_libdir}/python3*/site-packages/__pycache__/*py*
-%{_libdir}/python3*/site-packages/libxml2mod*
-%doc python/TODO
-%doc python/libxml2class.txt
-%doc py3doc/*.py
-%doc doc/python.html
-%endif # with_python3
-
-%changelog
-* @RELDATE@ Daniel Veillard <veillard@redhat.com>
-- upstream release @VERSION@
-
diff --git a/libxml2.doap b/libxml2.doap
index 14a653d..c2a263c 100644
--- a/libxml2.doap
+++ b/libxml2.doap
@@ -16,7 +16,7 @@
 
 Libxml2 is known to be very portable, the library should build and work
 without serious troubles on a variety of systems (Linux, Unix, Windows,
-CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, VxWorks,
+CygWin, MacOS X, RISC Os, OS/2, VMS, QNX, MVS,
 ...)</description>
   <mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/xml" />
   <category rdf:resource="http://api.gnome.org/doap-extensions#infrastructure" />
diff --git a/libxml2.syms b/libxml2.syms
index 33bc112..7794596 100644
--- a/libxml2.syms
+++ b/libxml2.syms
@@ -1,2295 +1,52 @@
 #
-# Officially exported symbols, for which header
-# file definitions are installed in /usr/include/libxml2
+# Retained for backward compatibility.
 #
-# Automatically generated from symbols.xml and syms.xsl
-#
-# Versions here are *fixed* to match the libxml2 version
-# at which the symbol was introduced. This ensures that
-# a new client app requiring symbol foo() can't accidentally
-# run with old libxml2.so not providing foo() - the global
-# soname version info can't enforce this since we never
-# change the soname
+# The original version script didn't account for configuration options.
+# Since libxml2 never made use of symbol versioning, all symbols were
+# removed in version 2.11.0. Only the version nodes are kept to avoid
+# errors when running binaries linked against older versions.
 #
 
-LIBXML2_2.4.30 {
-    global:
-
-# debugXML
-  xmlBoolToText;
-  xmlDebugDumpAttr;
-  xmlDebugDumpAttrList;
-  xmlDebugDumpDTD;
-  xmlDebugDumpDocument;
-  xmlDebugDumpDocumentHead;
-  xmlDebugDumpEntities;
-  xmlDebugDumpNode;
-  xmlDebugDumpNodeList;
-  xmlDebugDumpOneNode;
-  xmlDebugDumpString;
-  xmlLsCountNode;
-  xmlLsOneNode;
-  xmlShell;
-  xmlShellBase;
-  xmlShellCat;
-  xmlShellDir;
-  xmlShellDu;
-  xmlShellList;
-  xmlShellLoad;
-  xmlShellPrintNode;
-  xmlShellPrintXPathError;
-  xmlShellPrintXPathResult;
-  xmlShellPwd;
-  xmlShellSave;
-  xmlShellValidate;
-  xmlShellWrite;
-
-# xpointer
-  xmlXPtrBuildNodeList;
-  xmlXPtrEval;
-  xmlXPtrEvalRangePredicate;
-  xmlXPtrFreeLocationSet;
-  xmlXPtrLocationSetAdd;
-  xmlXPtrLocationSetCreate;
-  xmlXPtrLocationSetDel;
-  xmlXPtrLocationSetMerge;
-  xmlXPtrLocationSetRemove;
-  xmlXPtrNewCollapsedRange;
-  xmlXPtrNewContext;
-  xmlXPtrNewLocationSetNodeSet;
-  xmlXPtrNewLocationSetNodes;
-  xmlXPtrNewRange;
-  xmlXPtrNewRangeNodeObject;
-  xmlXPtrNewRangeNodePoint;
-  xmlXPtrNewRangeNodes;
-  xmlXPtrNewRangePointNode;
-  xmlXPtrNewRangePoints;
-  xmlXPtrRangeToFunction;
-  xmlXPtrWrapLocationSet;
-
-# SAX
-  attribute;
-  attributeDecl;
-  cdataBlock;
-  characters;
-  checkNamespace;
-  comment;
-
-# SAX2
-  docbDefaultSAXHandlerInit;
-
-# SAX
-  elementDecl;
-  endDocument;
-  endElement;
-  entityDecl;
-  externalSubset;
-  getColumnNumber;
-  getEntity;
-  getLineNumber;
-  getNamespace;
-  getParameterEntity;
-  getPublicId;
-  getSystemId;
-  globalNamespace;
-  hasExternalSubset;
-  hasInternalSubset;
-
-# SAX2
-  htmlDefaultSAXHandlerInit;
-
-# SAX
-  ignorableWhitespace;
-  initdocbDefaultSAXHandler;
-  inithtmlDefaultSAXHandler;
-  initxmlDefaultSAXHandler;
-  internalSubset;
-  isStandalone;
-  namespaceDecl;
-  notationDecl;
-  processingInstruction;
-  reference;
-  resolveEntity;
-  setDocumentLocator;
-  setNamespace;
-  startDocument;
-  startElement;
-  unparsedEntityDecl;
-
-# SAX2
-  xmlDefaultSAXHandlerInit;
-
-# parserInternals
-  htmlCreateFileParserCtxt;
-  htmlInitAutoClose;
-  inputPop;
-  inputPush;
-  namePop;
-  namePush;
-  nodePop;
-  nodePush;
-  xmlCheckLanguageID;
-  xmlCopyChar;
-  xmlCopyCharMultiByte;
-  xmlCreateEntityParserCtxt;
-  xmlCreateFileParserCtxt;
-  xmlCreateMemoryParserCtxt;
-  xmlCurrentChar;
-  xmlDecodeEntities;
-  xmlFreeInputStream;
-  xmlHandleEntity;
-
-# chvalid
-  xmlIsBaseChar;
-  xmlIsBlank;
-  xmlIsChar;
-  xmlIsCombining;
-  xmlIsDigit;
-  xmlIsExtender;
-  xmlIsIdeographic;
-
-# parserInternals
-  xmlIsLetter;
-
-# chvalid
-  xmlIsPubidChar;
-
-# parserInternals
-  xmlNamespaceParseNCName;
-  xmlNamespaceParseNSDef;
-  xmlNamespaceParseQName;
-  xmlNewEntityInputStream;
-  xmlNewInputFromFile;
-  xmlNewInputStream;
-
-# parser
-  xmlNewParserCtxt;
-
-# parserInternals
-  xmlNewStringInputStream;
-  xmlNextChar;
-  xmlParseAttValue;
-  xmlParseAttribute;
-  xmlParseAttributeListDecl;
-  xmlParseAttributeType;
-  xmlParseCDSect;
-  xmlParseCharData;
-  xmlParseCharRef;
-  xmlParseComment;
-  xmlParseContent;
-  xmlParseDefaultDecl;
-  xmlParseDocTypeDecl;
-  xmlParseElement;
-  xmlParseElementChildrenContentDecl;
-  xmlParseElementContentDecl;
-  xmlParseElementDecl;
-  xmlParseElementMixedContentDecl;
-  xmlParseEncName;
-  xmlParseEncodingDecl;
-  xmlParseEndTag;
-  xmlParseEntityDecl;
-  xmlParseEntityRef;
-  xmlParseEntityValue;
-  xmlParseEnumeratedType;
-  xmlParseEnumerationType;
-  xmlParseExternalID;
-  xmlParseExternalSubset;
-  xmlParseMarkupDecl;
-  xmlParseMisc;
-  xmlParseName;
-  xmlParseNamespace;
-  xmlParseNmtoken;
-  xmlParseNotationDecl;
-  xmlParseNotationType;
-  xmlParsePEReference;
-  xmlParsePI;
-  xmlParsePITarget;
-  xmlParsePubidLiteral;
-  xmlParseQuotedString;
-  xmlParseReference;
-  xmlParseSDDecl;
-  xmlParseStartTag;
-  xmlParseSystemLiteral;
-  xmlParseTextDecl;
-  xmlParseVersionInfo;
-  xmlParseVersionNum;
-  xmlParseXMLDecl;
-  xmlParserHandlePEReference;
-  xmlParserHandleReference;
-  xmlParserInputShrink;
-  xmlPopInput;
-  xmlPushInput;
-  xmlScanName;
-  xmlSetEntityReferenceFunc;
-  xmlSkipBlankChars;
-  xmlSplitQName;
-  xmlStringComment; # variable
-  xmlStringCurrentChar;
-  xmlStringDecodeEntities;
-  xmlStringText; # variable
-  xmlStringTextNoenc; # variable
-  xmlSwitchEncoding;
-  xmlSwitchToEncoding;
-
-# c14n
-  xmlC14NDocDumpMemory;
-  xmlC14NDocSave;
-  xmlC14NDocSaveTo;
-  xmlC14NExecute;
-
-# catalog
-  xmlACatalogAdd;
-  xmlACatalogDump;
-  xmlACatalogRemove;
-  xmlACatalogResolve;
-  xmlACatalogResolvePublic;
-  xmlACatalogResolveSystem;
-  xmlACatalogResolveURI;
-  xmlCatalogAdd;
-  xmlCatalogAddLocal;
-  xmlCatalogCleanup;
-  xmlCatalogConvert;
-  xmlCatalogDump;
-  xmlCatalogFreeLocal;
-  xmlCatalogGetDefaults;
-  xmlCatalogGetPublic;
-  xmlCatalogGetSystem;
-  xmlCatalogIsEmpty;
-  xmlCatalogLocalResolve;
-  xmlCatalogLocalResolveURI;
-  xmlCatalogRemove;
-  xmlCatalogResolve;
-  xmlCatalogResolvePublic;
-  xmlCatalogResolveSystem;
-  xmlCatalogResolveURI;
-  xmlCatalogSetDebug;
-  xmlCatalogSetDefaultPrefer;
-  xmlCatalogSetDefaults;
-  xmlConvertSGMLCatalog;
-  xmlFreeCatalog;
-  xmlInitializeCatalog;
-  xmlLoadACatalog;
-  xmlLoadCatalog;
-  xmlLoadCatalogs;
-  xmlLoadSGMLSuperCatalog;
-  xmlNewCatalog;
-  xmlParseCatalogFile;
-
-# xpathInternals
-  valuePop;
-  valuePush;
-  xmlXPathAddValues;
-  xmlXPathBooleanFunction;
-  xmlXPathCeilingFunction;
-  xmlXPathCompareValues;
-  xmlXPathConcatFunction;
-  xmlXPathContainsFunction;
-  xmlXPathCountFunction;
-  xmlXPathDebugDumpCompExpr;
-  xmlXPathDebugDumpObject;
-  xmlXPathDifference;
-  xmlXPathDistinct;
-  xmlXPathDistinctSorted;
-  xmlXPathDivValues;
-  xmlXPathEqualValues;
-  xmlXPathEvalExpr;
-  xmlXPathEvaluatePredicateResult;
-  xmlXPathFalseFunction;
-  xmlXPathFloorFunction;
-  xmlXPathFreeParserContext;
-  xmlXPathFunctionLookup;
-  xmlXPathFunctionLookupNS;
-  xmlXPathHasSameNodes;
-  xmlXPathIdFunction;
-  xmlXPathIntersection;
-  xmlXPathIsNodeType;
-  xmlXPathLangFunction;
-  xmlXPathLastFunction;
-  xmlXPathLeading;
-  xmlXPathLeadingSorted;
-  xmlXPathLocalNameFunction;
-  xmlXPathModValues;
-  xmlXPathMultValues;
-  xmlXPathNamespaceURIFunction;
-  xmlXPathNewBoolean;
-  xmlXPathNewCString;
-  xmlXPathNewFloat;
-  xmlXPathNewNodeSet;
-  xmlXPathNewNodeSetList;
-  xmlXPathNewParserContext;
-  xmlXPathNewString;
-  xmlXPathNewValueTree;
-  xmlXPathNextAncestor;
-  xmlXPathNextAncestorOrSelf;
-  xmlXPathNextAttribute;
-  xmlXPathNextChild;
-  xmlXPathNextDescendant;
-  xmlXPathNextDescendantOrSelf;
-  xmlXPathNextFollowing;
-  xmlXPathNextFollowingSibling;
-  xmlXPathNextNamespace;
-  xmlXPathNextParent;
-  xmlXPathNextPreceding;
-  xmlXPathNextPrecedingSibling;
-  xmlXPathNextSelf;
-  xmlXPathNodeLeading;
-  xmlXPathNodeLeadingSorted;
-  xmlXPathNodeSetAdd;
-  xmlXPathNodeSetAddNs;
-  xmlXPathNodeSetAddUnique;
-  xmlXPathNodeSetContains;
-  xmlXPathNodeSetDel;
-  xmlXPathNodeSetFreeNs;
-  xmlXPathNodeSetMerge;
-  xmlXPathNodeSetRemove;
-  xmlXPathNodeSetSort;
-  xmlXPathNodeTrailing;
-  xmlXPathNodeTrailingSorted;
-  xmlXPathNormalizeFunction;
-  xmlXPathNotEqualValues;
-  xmlXPathNotFunction;
-  xmlXPathNsLookup;
-  xmlXPathNumberFunction;
-  xmlXPathParseNCName;
-  xmlXPathParseName;
-  xmlXPathPopBoolean;
-  xmlXPathPopExternal;
-  xmlXPathPopNodeSet;
-  xmlXPathPopNumber;
-  xmlXPathPopString;
-  xmlXPathPositionFunction;
-  xmlXPathRegisterAllFunctions;
-  xmlXPathRegisterFunc;
-  xmlXPathRegisterFuncLookup;
-  xmlXPathRegisterFuncNS;
-  xmlXPathRegisterNs;
-  xmlXPathRegisterVariable;
-  xmlXPathRegisterVariableLookup;
-  xmlXPathRegisterVariableNS;
-  xmlXPathRegisteredFuncsCleanup;
-  xmlXPathRegisteredNsCleanup;
-  xmlXPathRegisteredVariablesCleanup;
-  xmlXPathRoot;
-  xmlXPathRoundFunction;
-  xmlXPathStartsWithFunction;
-  xmlXPathStringEvalNumber;
-  xmlXPathStringFunction;
-  xmlXPathStringLengthFunction;
-  xmlXPathSubValues;
-  xmlXPathSubstringAfterFunction;
-  xmlXPathSubstringBeforeFunction;
-  xmlXPathSubstringFunction;
-  xmlXPathSumFunction;
-  xmlXPathTrailing;
-  xmlXPathTrailingSorted;
-  xmlXPathTranslateFunction;
-  xmlXPathTrueFunction;
-  xmlXPathValueFlipSign;
-  xmlXPathVariableLookup;
-  xmlXPathVariableLookupNS;
-  xmlXPathWrapCString;
-  xmlXPathWrapExternal;
-  xmlXPathWrapNodeSet;
-  xmlXPathWrapString;
-  xmlXPatherror;
-
-# xmlautomata
-  xmlAutomataCompile;
-  xmlAutomataGetInitState;
-  xmlAutomataIsDeterminist;
-  xmlAutomataNewAllTrans;
-  xmlAutomataNewCountTrans;
-  xmlAutomataNewCountedTrans;
-  xmlAutomataNewCounter;
-  xmlAutomataNewCounterTrans;
-  xmlAutomataNewEpsilon;
-  xmlAutomataNewOnceTrans;
-  xmlAutomataNewState;
-  xmlAutomataNewTransition;
-  xmlAutomataSetFinalState;
-  xmlFreeAutomata;
-  xmlNewAutomata;
-
-# HTMLtree
-  htmlDocContentDumpFormatOutput;
-  htmlDocContentDumpOutput;
-  htmlDocDump;
-  htmlDocDumpMemory;
-  htmlGetMetaEncoding;
-  htmlIsBooleanAttr;
-  htmlNewDoc;
-  htmlNewDocNoDtD;
-  htmlNodeDump;
-  htmlNodeDumpFile;
-  htmlNodeDumpFileFormat;
-  htmlNodeDumpFormatOutput;
-  htmlNodeDumpOutput;
-  htmlSaveFile;
-  htmlSaveFileEnc;
-  htmlSaveFileFormat;
-  htmlSetMetaEncoding;
-
-# nanoftp
-  xmlNanoFTPCheckResponse;
-  xmlNanoFTPCleanup;
-  xmlNanoFTPClose;
-  xmlNanoFTPCloseConnection;
-  xmlNanoFTPConnect;
-  xmlNanoFTPConnectTo;
-  xmlNanoFTPCwd;
-  xmlNanoFTPFreeCtxt;
-  xmlNanoFTPGet;
-  xmlNanoFTPGetConnection;
-  xmlNanoFTPGetResponse;
-  xmlNanoFTPGetSocket;
-  xmlNanoFTPInit;
-  xmlNanoFTPList;
-  xmlNanoFTPNewCtxt;
-  xmlNanoFTPOpen;
-  xmlNanoFTPProxy;
-  xmlNanoFTPQuit;
-  xmlNanoFTPRead;
-  xmlNanoFTPScanProxy;
-  xmlNanoFTPUpdateURL;
-
-# DOCBparser
-  docbCreateFileParserCtxt;
-  docbCreatePushParserCtxt;
-  docbEncodeEntities;
-  docbFreeParserCtxt;
-  docbParseChunk;
-  docbParseDoc;
-  docbParseDocument;
-  docbParseFile;
-  docbSAXParseDoc;
-  docbSAXParseFile;
-
-# xpath
-  xmlXPathCastBooleanToNumber;
-  xmlXPathCastBooleanToString;
-  xmlXPathCastNodeSetToBoolean;
-  xmlXPathCastNodeSetToNumber;
-  xmlXPathCastNodeSetToString;
-  xmlXPathCastNodeToNumber;
-  xmlXPathCastNodeToString;
-  xmlXPathCastNumberToBoolean;
-  xmlXPathCastNumberToString;
-  xmlXPathCastStringToBoolean;
-  xmlXPathCastStringToNumber;
-  xmlXPathCastToBoolean;
-  xmlXPathCastToNumber;
-  xmlXPathCastToString;
-  xmlXPathCmpNodes;
-  xmlXPathCompile;
-  xmlXPathCompiledEval;
-  xmlXPathConvertBoolean;
-  xmlXPathConvertNumber;
-  xmlXPathConvertString;
-  xmlXPathEval;
-  xmlXPathEvalExpression;
-  xmlXPathEvalPredicate;
-  xmlXPathFreeCompExpr;
-  xmlXPathFreeContext;
-  xmlXPathFreeNodeSet;
-  xmlXPathFreeNodeSetList;
-  xmlXPathFreeObject;
-  xmlXPathInit;
-  xmlXPathIsInf;
-  xmlXPathIsNaN;
-  xmlXPathNAN; # variable
-  xmlXPathNINF; # variable
-  xmlXPathNewContext;
-  xmlXPathNodeSetCreate;
-  xmlXPathObjectCopy;
-  xmlXPathPINF; # variable
-
-# xlink
-  xlinkGetDefaultDetect;
-  xlinkGetDefaultHandler;
-  xlinkIsLink;
-  xlinkSetDefaultDetect;
-  xlinkSetDefaultHandler;
-
-# entities
-  xmlAddDocEntity;
-  xmlAddDtdEntity;
-  xmlCleanupPredefinedEntities;
-  xmlCopyEntitiesTable;
-  xmlCreateEntitiesTable;
-  xmlDumpEntitiesTable;
-  xmlDumpEntityDecl;
-  xmlEncodeEntities;
-  xmlEncodeEntitiesReentrant;
-  xmlEncodeSpecialChars;
-  xmlFreeEntitiesTable;
-  xmlGetDocEntity;
-  xmlGetDtdEntity;
-  xmlGetParameterEntity;
-  xmlGetPredefinedEntity;
-  xmlInitializePredefinedEntities;
-
-# xinclude
-  xmlXIncludeProcess;
-
-# list
-  xmlLinkGetData;
-  xmlListAppend;
-  xmlListClear;
-  xmlListCopy;
-  xmlListCreate;
-  xmlListDelete;
-  xmlListDup;
-  xmlListEmpty;
-  xmlListEnd;
-  xmlListFront;
-  xmlListInsert;
-  xmlListMerge;
-  xmlListPopBack;
-  xmlListPopFront;
-  xmlListPushBack;
-  xmlListPushFront;
-  xmlListRemoveAll;
-  xmlListRemoveFirst;
-  xmlListRemoveLast;
-  xmlListReverse;
-  xmlListReverseSearch;
-  xmlListReverseWalk;
-  xmlListSearch;
-  xmlListSize;
-  xmlListSort;
-  xmlListWalk;
-
-# xmlmemory
-  xmlInitMemory;
-  xmlMallocLoc;
-  xmlMemDisplay;
-  xmlMemFree;
-  xmlMemGet;
-  xmlMemMalloc;
-  xmlMemRealloc;
-  xmlMemSetup;
-  xmlMemShow;
-  xmlMemStrdupLoc;
-  xmlMemUsed;
-  xmlMemoryDump;
-  xmlMemoryStrdup;
-  xmlReallocLoc;
-
-# xmlIO
-  xmlAllocOutputBuffer;
-  xmlAllocParserInputBuffer;
-  xmlCheckFilename;
-  xmlCleanupInputCallbacks;
-  xmlCleanupOutputCallbacks;
-  xmlFileClose;
-  xmlFileMatch;
-  xmlFileOpen;
-  xmlFileRead;
-  xmlFreeParserInputBuffer;
-  xmlIOFTPClose;
-  xmlIOFTPMatch;
-  xmlIOFTPOpen;
-  xmlIOFTPRead;
-  xmlIOHTTPClose;
-  xmlIOHTTPMatch;
-  xmlIOHTTPOpen;
-  xmlIOHTTPOpenW;
-  xmlIOHTTPRead;
-  xmlNoNetExternalEntityLoader;
-  xmlNormalizeWindowsPath;
-  xmlOutputBufferClose;
-  xmlOutputBufferCreateFd;
-  xmlOutputBufferCreateFile;
-  xmlOutputBufferCreateFilename;
-  xmlOutputBufferCreateIO;
-  xmlOutputBufferFlush;
-  xmlOutputBufferWrite;
-  xmlOutputBufferWriteString;
-  xmlParserGetDirectory;
-  xmlParserInputBufferCreateFd;
-  xmlParserInputBufferCreateFile;
-  xmlParserInputBufferCreateFilename;
-  xmlParserInputBufferCreateIO;
-  xmlParserInputBufferCreateMem;
-  xmlParserInputBufferGrow;
-  xmlParserInputBufferPush;
-  xmlParserInputBufferRead;
-  xmlRegisterDefaultInputCallbacks;
-  xmlRegisterDefaultOutputCallbacks;
-  xmlRegisterHTTPPostCallbacks;
-  xmlRegisterInputCallbacks;
-  xmlRegisterOutputCallbacks;
-
-# xmlversion
-  xmlCheckVersion;
-
-# valid
-  xmlAddAttributeDecl;
-  xmlAddElementDecl;
-  xmlAddID;
-  xmlAddNotationDecl;
-  xmlAddRef;
-  xmlCopyAttributeTable;
-  xmlCopyElementContent;
-  xmlCopyElementTable;
-  xmlCopyEnumeration;
-  xmlCopyNotationTable;
-  xmlCreateEnumeration;
-  xmlDumpAttributeDecl;
-  xmlDumpAttributeTable;
-  xmlDumpElementDecl;
-  xmlDumpElementTable;
-  xmlDumpNotationDecl;
-  xmlDumpNotationTable;
-  xmlFreeAttributeTable;
-  xmlFreeElementContent;
-  xmlFreeElementTable;
-  xmlFreeEnumeration;
-  xmlFreeIDTable;
-  xmlFreeNotationTable;
-  xmlFreeRefTable;
-  xmlGetDtdAttrDesc;
-  xmlGetDtdElementDesc;
-  xmlGetDtdNotationDesc;
-  xmlGetDtdQAttrDesc;
-  xmlGetDtdQElementDesc;
-  xmlGetID;
-  xmlGetRefs;
-  xmlIsID;
-  xmlIsMixedElement;
-  xmlIsRef;
-  xmlNewElementContent;
-  xmlRemoveID;
-  xmlRemoveRef;
-  xmlSnprintfElementContent;
-
-# tree
-  xmlSplitQName2;
-
-# valid
-  xmlSprintfElementContent;
-  xmlValidBuildContentModel;
-  xmlValidCtxtNormalizeAttributeValue;
-  xmlValidGetPotentialChildren;
-  xmlValidGetValidElements;
-  xmlValidNormalizeAttributeValue;
-  xmlValidateAttributeDecl;
-  xmlValidateAttributeValue;
-  xmlValidateDocument;
-  xmlValidateDocumentFinal;
-  xmlValidateDtd;
-  xmlValidateDtdFinal;
-  xmlValidateElement;
-  xmlValidateElementDecl;
-  xmlValidateNameValue;
-  xmlValidateNamesValue;
-  xmlValidateNmtokenValue;
-  xmlValidateNmtokensValue;
-  xmlValidateNotationDecl;
-  xmlValidateNotationUse;
-  xmlValidateOneAttribute;
-  xmlValidateOneElement;
-  xmlValidateOneNamespace;
-  xmlValidateRoot;
-
-# HTMLparser
-  UTF8ToHtml;
-  htmlAutoCloseTag;
-  htmlCreatePushParserCtxt;
-  htmlEncodeEntities;
-  htmlEntityLookup;
-  htmlEntityValueLookup;
-  htmlFreeParserCtxt;
-  htmlHandleOmittedElem;
-  htmlIsAutoClosed;
-  htmlIsScriptAttribute;
-  htmlParseCharRef;
-  htmlParseChunk;
-  htmlParseDoc;
-  htmlParseDocument;
-  htmlParseElement;
-  htmlParseEntityRef;
-  htmlParseFile;
-  htmlSAXParseDoc;
-  htmlSAXParseFile;
-  htmlTagLookup;
-
-# xmlstring
-  xmlCharStrdup;
-  xmlCharStrndup;
-
-# parser
-  xmlCleanupParser;
-  xmlClearNodeInfoSeq;
-  xmlClearParserCtxt;
-  xmlCreateDocParserCtxt;
-  xmlCreateIOParserCtxt;
-  xmlCreatePushParserCtxt;
-  xmlFreeParserCtxt;
-  xmlGetExternalEntityLoader;
-  xmlGetFeature;
-  xmlGetFeaturesList;
-
-# globals
-  xmlGetWarningsDefaultValue; # variable
-
-# parser
-  xmlIOParseDTD;
-  xmlInitNodeInfoSeq;
-  xmlInitParser;
-  xmlInitParserCtxt;
-  xmlKeepBlanksDefault;
-  xmlLineNumbersDefault;
-  xmlLoadExternalEntity;
-  xmlNewIOInputStream;
-  xmlParseBalancedChunkMemory;
-  xmlParseBalancedChunkMemoryRecover;
-  xmlParseChunk;
-  xmlParseCtxtExternalEntity;
-  xmlParseDTD;
-  xmlParseDoc;
-  xmlParseDocument;
-  xmlParseEntity;
-  xmlParseExtParsedEnt;
-  xmlParseExternalEntity;
-  xmlParseFile;
-  xmlParseMemory;
-  xmlParserAddNodeInfo;
-  xmlParserFindNodeInfo;
-  xmlParserFindNodeInfoIndex;
-  xmlParserInputGrow;
-  xmlParserInputRead;
-  xmlPedanticParserDefault;
-  xmlRecoverDoc;
-  xmlRecoverFile;
-  xmlRecoverMemory;
-  xmlSAXParseDTD;
-  xmlSAXParseDoc;
-  xmlSAXParseEntity;
-  xmlSAXParseFile;
-  xmlSAXParseFileWithData;
-  xmlSAXParseMemory;
-  xmlSAXParseMemoryWithData;
-  xmlSAXUserParseFile;
-  xmlSAXUserParseMemory;
-  xmlSetExternalEntityLoader;
-  xmlSetFeature;
-  xmlSetupParserForBuffer;
-  xmlStopParser;
-
-# xmlstring
-  xmlStrEqual;
-  xmlStrcasecmp;
-  xmlStrcasestr;
-  xmlStrcat;
-  xmlStrchr;
-  xmlStrcmp;
-  xmlStrdup;
-  xmlStrlen;
-  xmlStrncasecmp;
-  xmlStrncat;
-  xmlStrncmp;
-  xmlStrndup;
-  xmlStrstr;
-  xmlStrsub;
-
-# parser
-  xmlSubstituteEntitiesDefault;
-
-# xmlreader
-  xmlFreeTextReader;
-  xmlNewTextReader;
-  xmlNewTextReaderFilename;
-  xmlTextReaderAttributeCount;
-  xmlTextReaderBaseUri;
-  xmlTextReaderDepth;
-  xmlTextReaderHasAttributes;
-  xmlTextReaderHasValue;
-  xmlTextReaderIsDefault;
-  xmlTextReaderIsEmptyElement;
-  xmlTextReaderLocalName;
-  xmlTextReaderName;
-  xmlTextReaderNamespaceUri;
-  xmlTextReaderNodeType;
-  xmlTextReaderPrefix;
-  xmlTextReaderQuoteChar;
-  xmlTextReaderRead;
-  xmlTextReaderValue;
-  xmlTextReaderXmlLang;
-
-# globals
-  docbDefaultSAXHandler; # variable
-  htmlDefaultSAXHandler; # variable
-  xmlDefaultSAXHandler; # variable
-  xmlDefaultSAXLocator; # variable
-  xmlDoValidityCheckingDefaultValue; # variable
-  xmlFree; # variable
-  xmlGenericError; # variable
-  xmlGenericErrorContext; # variable
-  xmlInitializeGlobalState;
-  xmlKeepBlanksDefaultValue; # variable
-  xmlLineNumbersDefaultValue; # variable
-  xmlLoadExtDtdDefaultValue; # variable
-  xmlMalloc; # variable
-  xmlMemStrdup; # variable
-  xmlParserDebugEntities; # variable
-  xmlParserVersion; # variable
-  xmlPedanticParserDefaultValue; # variable
-  xmlRealloc; # variable
-  xmlSaveNoEmptyTags; # variable
-  xmlSubstituteEntitiesDefaultValue; # variable
-  xmlTreeIndentString; # variable
-
-# threads
-  xmlCleanupThreads;
-  xmlFreeMutex;
-  xmlFreeRMutex;
-  xmlGetGlobalState;
-  xmlGetThreadId;
-  xmlInitThreads;
-  xmlIsMainThread;
-  xmlLockLibrary;
-  xmlMutexLock;
-  xmlMutexUnlock;
-  xmlNewMutex;
-  xmlNewRMutex;
-  xmlRMutexLock;
-  xmlRMutexUnlock;
-  xmlUnlockLibrary;
-
-# hash
-  xmlHashAddEntry;
-  xmlHashAddEntry2;
-  xmlHashAddEntry3;
-  xmlHashCopy;
-  xmlHashCreate;
-  xmlHashFree;
-  xmlHashLookup;
-  xmlHashLookup2;
-  xmlHashLookup3;
-  xmlHashRemoveEntry;
-  xmlHashRemoveEntry2;
-  xmlHashRemoveEntry3;
-  xmlHashScan;
-  xmlHashScan3;
-  xmlHashScanFull;
-  xmlHashScanFull3;
-  xmlHashSize;
-  xmlHashUpdateEntry;
-  xmlHashUpdateEntry2;
-  xmlHashUpdateEntry3;
-
-# xmlerror
-  initGenericErrorDefaultFunc;
-  xmlParserError;
-  xmlParserPrintFileContext;
-  xmlParserPrintFileInfo;
-  xmlParserValidityError;
-  xmlParserValidityWarning;
-  xmlParserWarning;
-  xmlSetGenericErrorFunc;
-
-# globals
-  oldXMLWDcompatibility; # variable
-
-# tree
-  xmlAddChild;
-  xmlAddChildList;
-  xmlAddNextSibling;
-  xmlAddPrevSibling;
-  xmlAddSibling;
-  xmlBufferAdd;
-  xmlBufferAddHead;
-
-# globals
-  xmlBufferAllocScheme; # variable
-
-# tree
-  xmlBufferCCat;
-  xmlBufferCat;
-  xmlBufferContent;
-  xmlBufferCreate;
-  xmlBufferCreateSize;
-  xmlBufferDump;
-  xmlBufferEmpty;
-  xmlBufferFree;
-  xmlBufferGrow;
-  xmlBufferLength;
-  xmlBufferResize;
-  xmlBufferSetAllocationScheme;
-  xmlBufferShrink;
-  xmlBufferWriteCHAR;
-  xmlBufferWriteChar;
-  xmlBufferWriteQuotedString;
-  xmlCopyDoc;
-  xmlCopyDtd;
-  xmlCopyNamespace;
-  xmlCopyNamespaceList;
-  xmlCopyNode;
-  xmlCopyNodeList;
-  xmlCopyProp;
-  xmlCopyPropList;
-  xmlCreateIntSubset;
-
-# globals
-  xmlDefaultBufferSize; # variable
-
-# tree
-  xmlDocCopyNode;
-  xmlDocDump;
-  xmlDocDumpFormatMemory;
-  xmlDocDumpFormatMemoryEnc;
-  xmlDocDumpMemory;
-  xmlDocDumpMemoryEnc;
-  xmlDocFormatDump;
-  xmlDocGetRootElement;
-  xmlDocSetRootElement;
-  xmlElemDump;
-  xmlFreeDoc;
-  xmlFreeDtd;
-  xmlFreeNode;
-  xmlFreeNodeList;
-  xmlFreeNs;
-  xmlFreeNsList;
-  xmlFreeProp;
-  xmlFreePropList;
-  xmlGetBufferAllocationScheme;
-  xmlGetCompressMode;
-  xmlGetDocCompressMode;
-  xmlGetIntSubset;
-  xmlGetLastChild;
-  xmlGetLineNo;
-  xmlGetNodePath;
-  xmlGetNsList;
-  xmlGetNsProp;
-  xmlGetProp;
-  xmlHasNsProp;
-  xmlHasProp;
-
-# globals
-  xmlIndentTreeOutput; # variable
-
-# tree
-  xmlIsBlankNode;
-  xmlIsXHTML;
-  xmlNewCDataBlock;
-  xmlNewCharRef;
-  xmlNewChild;
-  xmlNewComment;
-  xmlNewDoc;
-  xmlNewDocComment;
-  xmlNewDocFragment;
-  xmlNewDocNode;
-  xmlNewDocNodeEatName;
-  xmlNewDocProp;
-  xmlNewDocRawNode;
-  xmlNewDocText;
-  xmlNewDocTextLen;
-  xmlNewDtd;
-  xmlNewGlobalNs;
-  xmlNewNode;
-  xmlNewNodeEatName;
-  xmlNewNs;
-  xmlNewNsProp;
-  xmlNewNsPropEatName;
-  xmlNewPI;
-  xmlNewProp;
-  xmlNewReference;
-  xmlNewText;
-  xmlNewTextChild;
-  xmlNewTextLen;
-  xmlNodeAddContent;
-  xmlNodeAddContentLen;
-  xmlNodeDump;
-  xmlNodeDumpOutput;
-  xmlNodeGetBase;
-  xmlNodeGetContent;
-  xmlNodeGetLang;
-  xmlNodeGetSpacePreserve;
-  xmlNodeIsText;
-  xmlNodeListGetRawString;
-  xmlNodeListGetString;
-  xmlNodeSetBase;
-  xmlNodeSetContent;
-  xmlNodeSetContentLen;
-  xmlNodeSetLang;
-  xmlNodeSetName;
-  xmlNodeSetSpacePreserve;
-  xmlReconciliateNs;
-  xmlRemoveProp;
-  xmlReplaceNode;
-  xmlSaveFile;
-  xmlSaveFileEnc;
-  xmlSaveFileTo;
-  xmlSaveFormatFile;
-  xmlSaveFormatFileEnc;
-  xmlSaveFormatFileTo;
-  xmlSearchNs;
-  xmlSearchNsByHref;
-  xmlSetBufferAllocationScheme;
-  xmlSetCompressMode;
-  xmlSetDocCompressMode;
-  xmlSetListDoc;
-  xmlSetNs;
-  xmlSetNsProp;
-  xmlSetProp;
-  xmlSetTreeDoc;
-  xmlStringGetNodeList;
-  xmlStringLenGetNodeList;
-  xmlTextConcat;
-  xmlTextMerge;
-  xmlUnlinkNode;
-  xmlUnsetNsProp;
-  xmlUnsetProp;
-
-# xmlregexp
-  xmlRegExecPushString;
-  xmlRegFreeExecCtxt;
-  xmlRegFreeRegexp;
-  xmlRegNewExecCtxt;
-  xmlRegexpCompile;
-  xmlRegexpExec;
-  xmlRegexpIsDeterminist;
-  xmlRegexpPrint;
-
-# nanohttp
-  xmlNanoHTTPAuthHeader;
-  xmlNanoHTTPCleanup;
-  xmlNanoHTTPClose;
-  xmlNanoHTTPFetch;
-  xmlNanoHTTPInit;
-  xmlNanoHTTPMethod;
-  xmlNanoHTTPMethodRedir;
-  xmlNanoHTTPOpen;
-  xmlNanoHTTPOpenRedir;
-  xmlNanoHTTPRead;
-  xmlNanoHTTPReturnCode;
-  xmlNanoHTTPSave;
-  xmlNanoHTTPScanProxy;
-
-# xmlunicode
-  xmlUCSIsAlphabeticPresentationForms;
-  xmlUCSIsArabic;
-  xmlUCSIsArabicPresentationFormsA;
-  xmlUCSIsArabicPresentationFormsB;
-  xmlUCSIsArmenian;
-  xmlUCSIsArrows;
-  xmlUCSIsBasicLatin;
-  xmlUCSIsBengali;
-  xmlUCSIsBlock;
-  xmlUCSIsBlockElements;
-  xmlUCSIsBopomofo;
-  xmlUCSIsBopomofoExtended;
-  xmlUCSIsBoxDrawing;
-  xmlUCSIsBraillePatterns;
-  xmlUCSIsByzantineMusicalSymbols;
-  xmlUCSIsCJKCompatibility;
-  xmlUCSIsCJKCompatibilityForms;
-  xmlUCSIsCJKCompatibilityIdeographs;
-  xmlUCSIsCJKCompatibilityIdeographsSupplement;
-  xmlUCSIsCJKRadicalsSupplement;
-  xmlUCSIsCJKSymbolsandPunctuation;
-  xmlUCSIsCJKUnifiedIdeographs;
-  xmlUCSIsCJKUnifiedIdeographsExtensionA;
-  xmlUCSIsCJKUnifiedIdeographsExtensionB;
-  xmlUCSIsCat;
-  xmlUCSIsCatC;
-  xmlUCSIsCatCc;
-  xmlUCSIsCatCf;
-  xmlUCSIsCatCo;
-  xmlUCSIsCatCs;
-  xmlUCSIsCatL;
-  xmlUCSIsCatLl;
-  xmlUCSIsCatLm;
-  xmlUCSIsCatLo;
-  xmlUCSIsCatLt;
-  xmlUCSIsCatLu;
-  xmlUCSIsCatM;
-  xmlUCSIsCatMc;
-  xmlUCSIsCatMe;
-  xmlUCSIsCatMn;
-  xmlUCSIsCatN;
-  xmlUCSIsCatNd;
-  xmlUCSIsCatNl;
-  xmlUCSIsCatNo;
-  xmlUCSIsCatP;
-  xmlUCSIsCatPc;
-  xmlUCSIsCatPd;
-  xmlUCSIsCatPe;
-  xmlUCSIsCatPf;
-  xmlUCSIsCatPi;
-  xmlUCSIsCatPo;
-  xmlUCSIsCatPs;
-  xmlUCSIsCatS;
-  xmlUCSIsCatSc;
-  xmlUCSIsCatSk;
-  xmlUCSIsCatSm;
-  xmlUCSIsCatSo;
-  xmlUCSIsCatZ;
-  xmlUCSIsCatZl;
-  xmlUCSIsCatZp;
-  xmlUCSIsCatZs;
-  xmlUCSIsCherokee;
-  xmlUCSIsCombiningDiacriticalMarks;
-  xmlUCSIsCombiningHalfMarks;
-  xmlUCSIsCombiningMarksforSymbols;
-  xmlUCSIsControlPictures;
-  xmlUCSIsCurrencySymbols;
-  xmlUCSIsCyrillic;
-  xmlUCSIsDeseret;
-  xmlUCSIsDevanagari;
-  xmlUCSIsDingbats;
-  xmlUCSIsEnclosedAlphanumerics;
-  xmlUCSIsEnclosedCJKLettersandMonths;
-  xmlUCSIsEthiopic;
-  xmlUCSIsGeneralPunctuation;
-  xmlUCSIsGeometricShapes;
-  xmlUCSIsGeorgian;
-  xmlUCSIsGothic;
-  xmlUCSIsGreek;
-  xmlUCSIsGreekExtended;
-  xmlUCSIsGujarati;
-  xmlUCSIsGurmukhi;
-  xmlUCSIsHalfwidthandFullwidthForms;
-  xmlUCSIsHangulCompatibilityJamo;
-  xmlUCSIsHangulJamo;
-  xmlUCSIsHangulSyllables;
-  xmlUCSIsHebrew;
-  xmlUCSIsHighPrivateUseSurrogates;
-  xmlUCSIsHighSurrogates;
-  xmlUCSIsHiragana;
-  xmlUCSIsIPAExtensions;
-  xmlUCSIsIdeographicDescriptionCharacters;
-  xmlUCSIsKanbun;
-  xmlUCSIsKangxiRadicals;
-  xmlUCSIsKannada;
-  xmlUCSIsKatakana;
-  xmlUCSIsKhmer;
-  xmlUCSIsLao;
-  xmlUCSIsLatin1Supplement;
-  xmlUCSIsLatinExtendedA;
-  xmlUCSIsLatinExtendedAdditional;
-  xmlUCSIsLatinExtendedB;
-  xmlUCSIsLetterlikeSymbols;
-  xmlUCSIsLowSurrogates;
-  xmlUCSIsMalayalam;
-  xmlUCSIsMathematicalAlphanumericSymbols;
-  xmlUCSIsMathematicalOperators;
-  xmlUCSIsMiscellaneousSymbols;
-  xmlUCSIsMiscellaneousTechnical;
-  xmlUCSIsMongolian;
-  xmlUCSIsMusicalSymbols;
-  xmlUCSIsMyanmar;
-  xmlUCSIsNumberForms;
-  xmlUCSIsOgham;
-  xmlUCSIsOldItalic;
-  xmlUCSIsOpticalCharacterRecognition;
-  xmlUCSIsOriya;
-  xmlUCSIsPrivateUse;
-  xmlUCSIsRunic;
-  xmlUCSIsSinhala;
-  xmlUCSIsSmallFormVariants;
-  xmlUCSIsSpacingModifierLetters;
-  xmlUCSIsSpecials;
-  xmlUCSIsSuperscriptsandSubscripts;
-  xmlUCSIsSyriac;
-  xmlUCSIsTags;
-  xmlUCSIsTamil;
-  xmlUCSIsTelugu;
-  xmlUCSIsThaana;
-  xmlUCSIsThai;
-  xmlUCSIsTibetan;
-  xmlUCSIsUnifiedCanadianAboriginalSyllabics;
-  xmlUCSIsYiRadicals;
-  xmlUCSIsYiSyllables;
-
-# uri
-  xmlBuildURI;
-  xmlCreateURI;
-  xmlFreeURI;
-  xmlNormalizeURIPath;
-  xmlParseURI;
-  xmlParseURIReference;
-  xmlPrintURI;
-  xmlSaveUri;
-  xmlURIEscape;
-  xmlURIEscapeStr;
-  xmlURIUnescapeString;
-
-# encoding
-  UTF8Toisolat1;
-  isolat1ToUTF8;
-  xmlAddEncodingAlias;
-  xmlCharEncCloseFunc;
-  xmlCharEncFirstLine;
-  xmlCharEncInFunc;
-  xmlCharEncOutFunc;
-
-# xmlstring
-  xmlCheckUTF8;
-
-# encoding
-  xmlCleanupCharEncodingHandlers;
-  xmlCleanupEncodingAliases;
-  xmlDelEncodingAlias;
-  xmlDetectCharEncoding;
-  xmlFindCharEncodingHandler;
-  xmlGetCharEncodingHandler;
-  xmlGetCharEncodingName;
-  xmlGetEncodingAlias;
-
-# xmlstring
-  xmlGetUTF8Char;
-
-# encoding
-  xmlInitCharEncodingHandlers;
-  xmlNewCharEncodingHandler;
-  xmlParseCharEncoding;
-  xmlRegisterCharEncodingHandler;
-
-# xmlstring
-  xmlUTF8Strlen;
-  xmlUTF8Strloc;
-  xmlUTF8Strndup;
-  xmlUTF8Strpos;
-  xmlUTF8Strsize;
-  xmlUTF8Strsub;
-} ;
-
-LIBXML2_2.5.0 {
-    global:
-
-# globals
-  xmlDeregisterNodeDefault;
-  xmlDeregisterNodeDefaultValue; # variable
-  xmlRegisterNodeDefault;
-  xmlRegisterNodeDefaultValue; # variable
-
-# xmlreader
-  xmlTextReaderClose;
-  xmlTextReaderCurrentDoc;
-  xmlTextReaderCurrentNode;
-  xmlTextReaderGetAttributeNo;
-  xmlTextReaderGetAttributeNs;
-  xmlTextReaderGetAttribute;
-  xmlTextReaderGetParserProp;
-  xmlTextReaderGetRemainder;
-  xmlTextReaderLookupNamespace;
-  xmlTextReaderMoveToAttributeNo;
-  xmlTextReaderMoveToAttributeNs;
-  xmlTextReaderMoveToAttribute;
-  xmlTextReaderMoveToElement;
-  xmlTextReaderMoveToFirstAttribute;
-  xmlTextReaderMoveToNextAttribute;
-  xmlTextReaderNormalization;
-  xmlTextReaderReadAttributeValue;
-  xmlTextReaderReadInnerXml;
-  xmlTextReaderReadOuterXml;
-  xmlTextReaderReadState;
-  xmlTextReaderReadString;
-  xmlTextReaderSetParserProp;
-
-# valid
-  xmlValidatePopElement;
-  xmlValidatePushCData;
-  xmlValidatePushElement;
-} LIBXML2_2.4.30;
-
-LIBXML2_2.5.2 {
-    global:
-
-# tree
-  xmlGetNoNsProp;
-
-# HTMLparser
-  htmlAttrAllowed;
-  htmlElementAllowedHere;
-  htmlElementStatusHere;
-  htmlNodeStatus;
-
-# relaxng
-  xmlRelaxNGCleanupTypes;
-  xmlRelaxNGDump;
-  xmlRelaxNGFreeParserCtxt;
-  xmlRelaxNGFree;
-  xmlRelaxNGFreeValidCtxt;
-  xmlRelaxNGNewMemParserCtxt;
-  xmlRelaxNGNewParserCtxt;
-  xmlRelaxNGNewValidCtxt;
-  xmlRelaxNGParse;
-  xmlRelaxNGSetParserErrors;
-  xmlRelaxNGSetValidErrors;
-  xmlRelaxNGValidateDoc;
-
-# xmlreader
-  xmlTextReaderGetErrorHandler;
-  xmlTextReaderLocatorBaseURI;
-  xmlTextReaderLocatorLineNumber;
-  xmlTextReaderSetErrorHandler;
-
-# relaxng
-# xmlRelaxNGValidateStream; removed in 2.5.5
-} LIBXML2_2.5.0;
-
-LIBXML2_2.5.4 {
-    global:
-
-# uri
-  xmlCanonicPath;
-
-# relaxng
-  xmlRelaxNGDumpTree;
-
-# tree
-  xmlValidateName;
-  xmlValidateNCName;
-  xmlValidateNMToken;
-  xmlValidateQName;
-} LIBXML2_2.5.2;
-
-LIBXML2_2.5.5 {
-    global:
-
-# nanoftp
-  xmlNanoFTPDele;
-} LIBXML2_2.5.4;
-
-LIBXML2_2.5.6 {
-    global:
-
-# xpath
-  xmlXPathOrderDocElems;
-} LIBXML2_2.5.5;
-
-LIBXML2_2.5.7 {
-    global:
-
-# HTMLparser
-  htmlCreateMemoryParserCtxt;
-
-# xmlautomata
-  xmlAutomataNewTransition2;
-
-# tree
-  xmlBuildQName;
-
-# xmlmemory
-  xmlGcMemGet;
-  xmlGcMemSetup;
-
-# globals
-  xmlMallocAtomic; # variable
-
-# xmlregexp
-  xmlRegExecPushString2;
-
-# relaxng
-  xmlRelaxNGNewDocParserCtxt;
-  xmlRelaxNGValidateFullElement;
-  xmlRelaxNGValidatePopElement;
-  xmlRelaxNGValidatePushCData;
-  xmlRelaxNGValidatePushElement;
-
-# xmlreader
-  xmlTextReaderExpand;
-  xmlTextReaderIsValid;
-  xmlTextReaderNext;
-  xmlTextReaderRelaxNGSetSchema;
-  xmlTextReaderRelaxNGValidate;
-} LIBXML2_2.5.6;
-
-LIBXML2_2.5.8 {
-    global:
-
-# globals
-  xmlCleanupGlobals;
-  xmlInitGlobals;
-
-# valid
-  xmlFreeValidCtxt;
-  xmlNewValidCtxt;
-
-# schemasInternals
-  xmlSchemaFreeType;
-
-# xmlschemas
-  xmlSchemaDump;
-  xmlSchemaFreeParserCtxt;
-  xmlSchemaFreeValidCtxt;
-  xmlSchemaFree;
-  xmlSchemaNewMemParserCtxt;
-  xmlSchemaNewParserCtxt;
-  xmlSchemaNewValidCtxt;
-  xmlSchemaParse;
-  xmlSchemaSetParserErrors;
-  xmlSchemaSetValidErrors;
-  xmlSchemaValidateDoc;
-  xmlSchemaValidateStream;
-
-# xmlschemastypes
-  xmlSchemaCheckFacet;
-  xmlSchemaCleanupTypes;
-  xmlSchemaCompareValues;
-  xmlSchemaFreeFacet;
-  xmlSchemaFreeValue;
-  xmlSchemaGetPredefinedType;
-  xmlSchemaInitTypes;
-  xmlSchemaNewFacet;
-  xmlSchemaValidateFacet;
-  xmlSchemaValidatePredefinedType;
-  xmlSchemaValPredefTypeNode;
-
-# globals
-  xmlThrDefBufferAllocScheme;
-  xmlThrDefDefaultBufferSize;
-  xmlThrDefDeregisterNodeDefault;
-  xmlThrDefDoValidityCheckingDefaultValue;
-  xmlThrDefGetWarningsDefaultValue;
-  xmlThrDefIndentTreeOutput;
-  xmlThrDefKeepBlanksDefaultValue;
-  xmlThrDefLineNumbersDefaultValue;
-  xmlThrDefLoadExtDtdDefaultValue;
-  xmlThrDefParserDebugEntities;
-  xmlThrDefPedanticParserDefaultValue;
-  xmlThrDefRegisterNodeDefault;
-  xmlThrDefSaveNoEmptyTags;
-  xmlThrDefSetGenericErrorFunc;
-  xmlThrDefSubstituteEntitiesDefaultValue;
-  xmlThrDefTreeIndentString;
-} LIBXML2_2.5.7;
-
-LIBXML2_2.5.9 {
-    global:
-
-# xmlmemory
-  xmlMallocAtomicLoc;
-
-# relaxng
-  xmlRelaxNGGetParserErrors;
-  xmlRelaxNGGetValidErrors;
-
-# tree
-  xmlSplitQName3;
-
-# xmlstring
-  xmlUTF8Charcmp;
-  xmlUTF8Size;
-
-# xinclude
-  xmlXIncludeProcessTree;
-} LIBXML2_2.5.8;
-
-LIBXML2_2.6.0 {
-    global:
-
-# SAX2
-  xmlSAX2AttributeDecl;
-  xmlSAX2CDataBlock;
-  xmlSAX2Characters;
-  xmlSAX2Comment;
-  xmlSAX2ElementDecl;
-  xmlSAX2EndDocument;
-  xmlSAX2EndElementNs;
-  xmlSAX2EndElement;
-  xmlSAX2EntityDecl;
-  xmlSAX2ExternalSubset;
-  xmlSAX2GetColumnNumber;
-  xmlSAX2GetEntity;
-  xmlSAX2GetLineNumber;
-  xmlSAX2GetParameterEntity;
-  xmlSAX2GetPublicId;
-  xmlSAX2GetSystemId;
-  xmlSAX2HasExternalSubset;
-  xmlSAX2HasInternalSubset;
-  xmlSAX2IgnorableWhitespace;
-  xmlSAX2InitDefaultSAXHandler;
-  xmlSAX2InitDocbDefaultSAXHandler;
-  xmlSAX2InitHtmlDefaultSAXHandler;
-  xmlSAX2InternalSubset;
-  xmlSAX2IsStandalone;
-  xmlSAX2NotationDecl;
-  xmlSAX2ProcessingInstruction;
-  xmlSAX2Reference;
-  xmlSAX2ResolveEntity;
-  xmlSAX2SetDocumentLocator;
-  xmlSAX2StartDocument;
-  xmlSAX2StartElementNs;
-  xmlSAX2StartElement;
-  xmlSAX2UnparsedEntityDecl;
-  xmlSAXDefaultVersion;
-  xmlSAXVersion;
-
-# HTMLparser
-  htmlCtxtReadDoc;
-  htmlCtxtReadFd;
-  htmlCtxtReadFile;
-  htmlCtxtReadIO;
-  htmlCtxtReadMemory;
-  htmlCtxtReset;
-  htmlCtxtUseOptions;
-  htmlReadDoc;
-  htmlReadFd;
-  htmlReadFile;
-  htmlReadIO;
-  htmlReadMemory;
-
-# tree
-  xmlBufferCreateStatic;
-
-# chvalid
-  xmlCharInRange;
-
-# xmlIO
-  xmlCheckHTTPInput;
-
-# xmlerror
-  xmlCopyError;
-  xmlCtxtGetLastError;
-  xmlGetLastError;
-  xmlResetError;
-  xmlResetLastError;
-  xmlSetStructuredErrorFunc;
-
-# parser
-  xmlCtxtReadDoc;
-  xmlCtxtReadFd;
-  xmlCtxtReadFile;
-  xmlCtxtReadIO;
-  xmlCtxtReadMemory;
-
-# xmlerror
-  xmlCtxtResetLastError;
-
-# parser
-  xmlCtxtReset;
-  xmlCtxtUseOptions;
-  xmlReadDoc;
-  xmlReadFd;
-  xmlReadFile;
-  xmlReadIO;
-  xmlReadMemory;
-
-# xmlstring
-  xmlStrPrintf;
-  xmlStrQEqual;
-
-# dict
-  xmlDictCreate;
-  xmlDictFree;
-  xmlDictLookup;
-  xmlDictOwns;
-  xmlDictQLookup;
-  xmlDictReference;
-  xmlDictSize;
-
-# parserInternals
-  xmlErrMemory;
-  xmlParserMaxDepth; # variable
-  xmlStringLenDecodeEntities;
-  xmlSwitchInputEncoding;
-
-# xmlwriter
-  xmlFreeTextWriter;
-  xmlNewTextWriterFilename;
-  xmlNewTextWriterMemory;
-  xmlNewTextWriter;
-  xmlTextWriterEndAttribute;
-  xmlTextWriterEndCDATA;
-  xmlTextWriterEndDocument;
-  xmlTextWriterEndDTD;
-  xmlTextWriterEndElement;
-  xmlTextWriterEndPI;
-  xmlTextWriterFlush;
-  xmlTextWriterFullEndElement;
-  xmlTextWriterStartAttributeNS;
-  xmlTextWriterStartAttribute;
-  xmlTextWriterStartCDATA;
-  xmlTextWriterStartDocument;
-  xmlTextWriterStartDTDAttlist;
-  xmlTextWriterStartDTDElement;
-  xmlTextWriterStartDTDEntity;
-  xmlTextWriterStartDTD;
-  xmlTextWriterStartElementNS;
-  xmlTextWriterStartElement;
-  xmlTextWriterStartPI;
-  xmlTextWriterWriteAttributeNS;
-  xmlTextWriterWriteAttribute;
-  xmlTextWriterWriteBase64;
-  xmlTextWriterWriteBinHex;
-  xmlTextWriterWriteCDATA;
-  xmlTextWriterWriteComment;
-  xmlTextWriterWriteDTDAttlist;
-  xmlTextWriterWriteDTDElement;
-  xmlTextWriterWriteDTDEntity;
-  xmlTextWriterWriteDTDExternalEntity;
-  xmlTextWriterWriteDTDInternalEntity;
-  xmlTextWriterWriteDTDNotation;
-  xmlTextWriterWriteDTD;
-  xmlTextWriterWriteElementNS;
-  xmlTextWriterWriteElement;
-  xmlTextWriterWriteFormatAttributeNS;
-  xmlTextWriterWriteFormatAttribute;
-  xmlTextWriterWriteFormatCDATA;
-  xmlTextWriterWriteFormatComment;
-  xmlTextWriterWriteFormatDTDAttlist;
-  xmlTextWriterWriteFormatDTDElement;
-  xmlTextWriterWriteFormatDTDInternalEntity;
-  xmlTextWriterWriteFormatDTD;
-  xmlTextWriterWriteFormatElementNS;
-  xmlTextWriterWriteFormatElement;
-  xmlTextWriterWriteFormatPI;
-  xmlTextWriterWriteFormatRaw;
-  xmlTextWriterWriteFormatString;
-  xmlTextWriterWritePI;
-  xmlTextWriterWriteRawLen;
-  xmlTextWriterWriteRaw;
-  xmlTextWriterWriteString;
-  xmlTextWriterWriteVFormatAttributeNS;
-  xmlTextWriterWriteVFormatAttribute;
-  xmlTextWriterWriteVFormatCDATA;
-  xmlTextWriterWriteVFormatComment;
-  xmlTextWriterWriteVFormatDTDAttlist;
-  xmlTextWriterWriteVFormatDTDElement;
-  xmlTextWriterWriteVFormatDTDInternalEntity;
-  xmlTextWriterWriteVFormatDTD;
-  xmlTextWriterWriteVFormatElementNS;
-  xmlTextWriterWriteVFormatElement;
-  xmlTextWriterWriteVFormatPI;
-  xmlTextWriterWriteVFormatRaw;
-  xmlTextWriterWriteVFormatString;
-
-# hash
-  xmlHashQLookup2;
-  xmlHashQLookup3;
-  xmlHashQLookup;
-
-# chvalid
-  xmlIsBaseCharGroup; # variable
-  xmlIsCharGroup; # variable
-  xmlIsCombiningGroup; # variable
-  xmlIsDigitGroup; # variable
-  xmlIsExtenderGroup; # variable
-  xmlIsIdeographicGroup; # variable
-  xmlIsPubidChar_tab; # variable
-
-# globals
-  xmlLastError; # variable
-
-# nanohttp
-  xmlNanoHTTPEncoding;
-  xmlNanoHTTPMimeType;
-  xmlNanoHTTPRedir;
-
-# tree
-  xmlNodeBufGetContent;
-
-# xmlIO
-  xmlParserInputBufferCreateStatic;
-
-# xmlreader
-  xmlReaderForDoc;
-  xmlReaderForFd;
-  xmlReaderForFile;
-  xmlReaderForIO;
-  xmlReaderForMemory;
-  xmlReaderNewDoc;
-  xmlReaderNewFd;
-  xmlReaderNewFile;
-  xmlReaderNewIO;
-  xmlReaderNewMemory;
-  xmlReaderNewWalker;
-  xmlReaderWalker;
-  xmlTextReaderConstBaseUri;
-  xmlTextReaderConstLocalName;
-  xmlTextReaderConstNamespaceUri;
-  xmlTextReaderConstName;
-  xmlTextReaderConstPrefix;
-  xmlTextReaderConstString;
-  xmlTextReaderConstValue;
-  xmlTextReaderConstXmlLang;
-  xmlTextReaderNextSibling;
-  xmlTextReaderPreserve;
-
-# globals
-  xmlStructuredError; # variable
-  xmlThrDefSetStructuredErrorFunc;
-
-# xpathInternals
-  xmlXPathErr;
-
-# SAX2
-# xmlSAX2CheckNamespace; removed in 2.6.10
-# xmlSAX2GetNamespace; removed in 2.6.10
-# xmlSAX2GlobalNamespace; removed in 2.6.10
-# xmlSAX2NamespaceDecl; removed in 2.6.10
-# xmlSAX2SetNamespace; removed in 2.6.10
-} LIBXML2_2.5.9;
-
-LIBXML2_2.6.1 {
-    global:
-
-# parser
-  xmlCtxtResetPush;
-} LIBXML2_2.6.0;
-
-LIBXML2_2.6.2 {
-    global:
-
-# parserInternals
-  xmlCreateURLParserCtxt;
-
-# xmlschemas
-  xmlSchemaNewDocParserCtxt;
-
-# xmlstring
-  xmlStrVPrintf;
-
-# xinclude
-  xmlXIncludeFreeContext;
-  xmlXIncludeNewContext;
-  xmlXIncludeProcessNode;
-} LIBXML2_2.6.1;
-
-LIBXML2_2.6.3 {
-    global:
-
-# pattern
-  xmlFreePatternList;
-  xmlFreePattern;
-  xmlPatterncompile;
-  xmlPatternMatch;
-
-# xmlwriter
-  xmlNewTextWriterDoc;
-  xmlNewTextWriterPushParser;
-  xmlNewTextWriterTree;
-
-# xmlreader
-  xmlTextReaderPreservePattern;
-
-# xmlunicode
-  xmlUCSIsAegeanNumbers;
-  xmlUCSIsBuhid;
-  xmlUCSIsCombiningDiacriticalMarksforSymbols;
-  xmlUCSIsCypriotSyllabary;
-  xmlUCSIsCyrillicSupplement;
-  xmlUCSIsGreekandCoptic;
-  xmlUCSIsHanunoo;
-  xmlUCSIsKatakanaPhoneticExtensions;
-  xmlUCSIsKhmerSymbols;
-  xmlUCSIsLimbu;
-  xmlUCSIsLinearBIdeograms;
-  xmlUCSIsLinearBSyllabary;
-  xmlUCSIsMiscellaneousMathematicalSymbolsA;
-  xmlUCSIsMiscellaneousMathematicalSymbolsB;
-  xmlUCSIsMiscellaneousSymbolsandArrows;
-  xmlUCSIsOsmanya;
-  xmlUCSIsPhoneticExtensions;
-  xmlUCSIsPrivateUseArea;
-  xmlUCSIsShavian;
-  xmlUCSIsSupplementalArrowsA;
-  xmlUCSIsSupplementalArrowsB;
-  xmlUCSIsSupplementalMathematicalOperators;
-  xmlUCSIsSupplementaryPrivateUseAreaA;
-  xmlUCSIsSupplementaryPrivateUseAreaB;
-  xmlUCSIsTagalog;
-  xmlUCSIsTagbanwa;
-  xmlUCSIsTaiLe;
-  xmlUCSIsTaiXuanJingSymbols;
-  xmlUCSIsUgaritic;
-  xmlUCSIsVariationSelectorsSupplement;
-  xmlUCSIsVariationSelectors;
-  xmlUCSIsYijingHexagramSymbols;
-
-# xinclude
-  xmlXIncludeProcessFlags;
-  xmlXIncludeProcessTreeFlags;
-  xmlXIncludeSetFlags;
-} LIBXML2_2.6.2;
-
-LIBXML2_2.6.5 {
-    global:
-
-# xmlmemory
-  xmlCleanupMemory;
-
-# dict
-  xmlDictCreateSub;
-
-# relaxng
-  xmlRelaxParserSetFlag;
-
-# xmlstring
-  xmlStrncatNew;
-
-# xmlwriter
-  xmlTextWriterSetIndentString;
-  xmlTextWriterSetIndent;
-
-# xpath
-  xmlXPathCtxtCompile;
-} LIBXML2_2.6.3;
-
-LIBXML2_2.6.6 {
-    global:
-
-# tree
-  xmlAttrSerializeTxtContent;
-
-# parser
-  xmlByteConsumed;
-
-# xmlreader
-  xmlTextReaderSetStructuredErrorHandler;
-} LIBXML2_2.6.5;
-
-LIBXML2_2.6.7 {
-    global:
-
-# xmlwriter
-  xmlTextWriterEndComment;
-  xmlTextWriterStartComment;
-} LIBXML2_2.6.6;
-
-LIBXML2_2.6.8 {
-    global:
-
-# xmlsave
-  xmlSaveClose;
-  xmlSaveDoc;
-  xmlSaveFlush;
-  xmlSaveToFd;
-  xmlSaveToFilename;
-  xmlSaveToIO;
-  xmlSaveTree;
-
-# xmlwriter
-  xmlTextWriterEndDTDAttlist;
-  xmlTextWriterEndDTDElement;
-  xmlTextWriterEndDTDEntity;
-  xmlTextWriterWriteDTDExternalEntityContents;
-} LIBXML2_2.6.7;
-
-LIBXML2_2.6.10 {
-    global:
-
-# xmlIO
-  xmlOutputBufferWriteEscape;
-  xmlPopInputCallbacks;
-
-# xmlsave
-  xmlSaveSetAttrEscape;
-  xmlSaveSetEscape;
-} LIBXML2_2.6.8;
-
-LIBXML2_2.6.11 {
-    global:
-
-# uri
-  xmlBuildRelativeURI;
-
-# globals
-  xmlOutputBufferCreateFilenameDefault;
-  xmlOutputBufferCreateFilenameValue; # variable
-  xmlParserInputBufferCreateFilenameDefault;
-  xmlParserInputBufferCreateFilenameValue; # variable
-  xmlThrDefOutputBufferCreateFilenameDefault;
-  xmlThrDefParserInputBufferCreateFilenameDefault;
-
-# schemasInternals
-  xmlSchemaFreeWildcard;
-
-# xmlschemastypes
-  xmlSchemaCollapseString;
-  xmlSchemaGetBuiltInListSimpleTypeItemType;
-  xmlSchemaGetBuiltInType;
-  xmlSchemaIsBuiltInTypeFacet;
-  xmlSchemaValidateListSimpleTypeFacet;
-} LIBXML2_2.6.10;
-
-LIBXML2_2.6.12 {
-    global:
-
-# parser
-  xmlParseInNodeContext;
-
-# xmlschemastypes
-  xmlSchemaGetFacetValueAsULong;
-  xmlSchemaValidateLengthFacet;
-  xmlSchemaValPredefTypeNodeNoNorm;
-
-# xmlschemas
-  xmlSchemaGetParserErrors;
-  xmlSchemaGetValidErrors;
-} LIBXML2_2.6.11;
-
-LIBXML2_2.6.14 {
-    global:
-
-# xmlautomata
-  xmlAutomataNewCountTrans2;
-  xmlAutomataNewOnceTrans2;
-
-# nanohttp
-  xmlNanoHTTPContentLength;
-
-# xmlschemas
-  xmlSchemaSetValidOptions;
-  xmlSchemaValidateOneElement;
-  xmlSchemaValidCtxtGetOptions;
-} LIBXML2_2.6.12;
-
-LIBXML2_2.6.15 {
-    global:
-
-# debugXML
-  xmlDebugCheckDocument;
-
-# tree
-  xmlDocCopyNodeList;
-  xmlNewDocPI;
-
-# xmlreader
-  xmlTextReaderConstEncoding;
-  xmlTextReaderConstXmlVersion;
-  xmlTextReaderIsNamespaceDecl;
-  xmlTextReaderStandalone;
-} LIBXML2_2.6.14;
-
-LIBXML2_2.6.16 {
-    global:
-
-# xmlmemory
-  xmlMemBlocks;
-
-# relaxng
-  xmlRelaxNGInitTypes;
-} LIBXML2_2.6.15;
-
-LIBXML2_2.6.17 {
-    global:
-
-# dict
-  xmlDictExists;
-
-# xmlmodule
-  xmlModuleClose;
-  xmlModuleFree;
-  xmlModuleOpen;
-  xmlModuleSymbol;
-
-# xmlregexp
-  xmlRegExecErrInfo;
-  xmlRegExecNextValues;
-
-# xmlschemastypes
-  xmlSchemaWhiteSpaceReplace;
-
-# xmlreader
-  xmlTextReaderGetParserColumnNumber;
-  xmlTextReaderGetParserLineNumber;
-} LIBXML2_2.6.16;
-
-LIBXML2_2.6.18 {
-    global:
-
-# valid
-  xmlCopyDocElementContent;
-  xmlFreeDocElementContent;
-  xmlNewDocElementContent;
-
-# dict
-  xmlDictCleanup;
-
-# hash
-  xmlHashCreateDict;
-
-# pattern
-  xmlFreeStreamCtxt;
-  xmlPatternFromRoot;
-  xmlPatternGetStreamCtxt;
-  xmlPatternMaxDepth;
-  xmlPatternStreamable;
-  xmlStreamPop;
-  xmlStreamPushAttr;
-  xmlStreamPush;
-
-# xmlschemastypes
-  xmlSchemaCompareValuesWhtsp;
-  xmlSchemaCopyValue;
-  xmlSchemaGetCanonValue;
-  xmlSchemaNewNOTATIONValue;
-  xmlSchemaNewStringValue;
-
-# xmlreader
-  xmlTextReaderByteConsumed;
-} LIBXML2_2.6.17;
-
-LIBXML2_2.6.19 {
-    global:
-
-# xmlschemastypes
-  xmlSchemaGetValType;
-  xmlSchemaValidateFacetWhtsp;
-  xmlSchemaValidateLengthFacetWhtsp;
-} LIBXML2_2.6.18;
-
-LIBXML2_2.6.20 {
-    global:
-
-# tree
-  xmlDOMWrapAdoptNode;
-  xmlDOMWrapFreeCtxt;
-  xmlDOMWrapNewCtxt;
-  xmlDOMWrapReconcileNamespaces;
-  xmlDOMWrapRemoveNode;
-
-# xmlschemastypes
-  xmlSchemaGetCanonValueWhtsp;
-  xmlSchemaNewQNameValue;
-  xmlSchemaValueAppend;
-  xmlSchemaValueGetAsBoolean;
-  xmlSchemaValueGetAsString;
-  xmlSchemaValueGetNext;
-
-# xmlschemas
-  xmlSchemaIsValid;
-  xmlSchemaSAXPlug;
-  xmlSchemaSAXUnplug;
-  xmlSchemaValidateFile;
-
-# xmlreader
-  xmlTextReaderSchemaValidate;
-  xmlTextReaderSetSchema;
-} LIBXML2_2.6.19;
-
-LIBXML2_2.6.21 {
-    global:
-
-# xmlautomata
-  xmlAutomataNewNegTrans;
-
-# xmlregexp
-# emptyExp; removed in 2.9.10
-# forbiddenExp; removed in 2.9.10
-# xmlExpCtxtNbCons; removed in 2.9.10
-# xmlExpCtxtNbNodes; removed in 2.9.10
-# xmlExpDump; removed in 2.9.10
-# xmlExpExpDerive; removed in 2.9.10
-# xmlExpFreeCtxt; removed in 2.9.10
-# xmlExpFree; removed in 2.9.10
-# xmlExpGetLanguage; removed in 2.9.10
-# xmlExpGetStart; removed in 2.9.10
-# xmlExpIsNillable; removed in 2.9.10
-# xmlExpMaxToken; removed in 2.9.10
-# xmlExpNewAtom; removed in 2.9.10
-# xmlExpNewCtxt; removed in 2.9.10
-# xmlExpNewOr; removed in 2.9.10
-# xmlExpNewRange; removed in 2.9.10
-# xmlExpNewSeq; removed in 2.9.10
-# xmlExpParse; removed in 2.9.10
-# xmlExpRef; removed in 2.9.10
-# xmlExpStringDerive; removed in 2.9.10
-# xmlExpSubsume; removed in 2.9.10
-
-# parser
-  xmlHasFeature;
-
-# uri
-  xmlParseURIRaw;
-
-# pattern
-  xmlPatternMinDepth;
-
-# relaxng
-  xmlRelaxNGSetValidStructuredErrors;
-
-# xmlschemas
-  xmlSchemaSetValidStructuredErrors;
-
-# schematron
-  xmlSchematronFreeParserCtxt;
-  xmlSchematronFree;
-  xmlSchematronFreeValidCtxt;
-  xmlSchematronNewDocParserCtxt;
-  xmlSchematronNewMemParserCtxt;
-  xmlSchematronNewParserCtxt;
-  xmlSchematronNewValidCtxt;
-  xmlSchematronParse;
-  xmlSchematronValidateDoc;
-} LIBXML2_2.6.20;
-
-LIBXML2_2.6.23 {
-    global:
-
-# HTMLtree
-  htmlDocDumpMemoryFormat;
-
-# xmlIO
-  xmlOutputBufferCreateBuffer;
-
-# xmlsave
-  xmlSaveToBuffer;# suppressed in 2.6.11, readded in 2.6.23
-
-
-# xmlschemas
-  xmlSchemaSetParserStructuredErrors;
-
-# pattern
-  xmlStreamPushNode;
-  xmlStreamWantsAnyNode;
-
-# xmlreader
-  xmlTextReaderSchemaValidateCtxt;
-} LIBXML2_2.6.21;
-
-LIBXML2_2.6.24 {
-    global:
-
-# tree
-  xmlDOMWrapCloneNode;
-
-# relaxng
-  xmlRelaxNGSetParserStructuredErrors;
-} LIBXML2_2.6.23;
-
-LIBXML2_2.6.25 {
-    global:
-
-# xpath
-  xmlXPathContextSetCache;
-} LIBXML2_2.6.24;
-
-LIBXML2_2.6.27 {
-    global:
-
-# HTMLparser
-  htmlNewParserCtxt;
-
-# uri
-  xmlPathToURI;
-
-# xinclude
-  xmlXIncludeProcessFlagsData;
-
-# xpath
-  xmlXPathCompiledEvalToBoolean;
-} LIBXML2_2.6.25;
-
-LIBXML2_2.6.28 {
-    global:
-
-# xmlreader
-  xmlTextReaderSetup;
-} LIBXML2_2.6.27;
-
-LIBXML2_2.6.29 {
-    global:
-
-# threads
-  xmlDllMain;
-} LIBXML2_2.6.28;
-
-LIBXML2_2.6.32 {
-    global:
-
-# schematron
-  xmlSchematronSetValidStructuredErrors;
-} LIBXML2_2.6.29;
-
-LIBXML2_2.7.0 {
-    global:
-
-# xmlmemory
-  xmlMemDisplayLast;
-
-# entities
-  xmlNewEntity;
-
-# xmlschemas
-  xmlSchemaValidCtxtGetParserCtxt;
-} LIBXML2_2.6.32;
-
-LIBXML2_2.7.3 {
-    global:
-
-# tree
-  xmlChildElementCount;
-  xmlFirstElementChild;
-  xmlLastElementChild;
-  xmlNextElementSibling;
-  xmlPreviousElementSibling;
-} LIBXML2_2.7.0;
-
-LIBXML2_2.7.4 {
-    global:
-
-# globals
-  xmlStructuredErrorContext; # variable
-
-# xinclude
-  xmlXIncludeProcessTreeFlagsData;
-} LIBXML2_2.7.3;
-
-LIBXML2_2.8.0 {
-    global:
-
-# xmlreader
-  xmlTextReaderRelaxNGValidateCtxt;
-
-# tree
-  xmlBufferDetach;
-
-# dict
-  xmlInitializeDict;
-} LIBXML2_2.7.4;
-
-LIBXML2_2.9.0 {
-    global:
-
-# tree
-  xmlBufContent;
-  xmlBufEnd;
-  xmlBufGetNodeContent;
-  xmlBufNodeDump;
-  xmlBufShrink;
-  xmlBufUse;
-
-# dict
-  xmlDictGetUsage;
-  xmlDictSetLimit;
-
-# xmlschemas
-  xmlSchemaValidateSetFilename;
-  xmlSchemaValidateSetLocator;
-
-# xmlIO
-  xmlOutputBufferGetContent;
-  xmlOutputBufferGetSize;
-
-# xmlwriter
-  xmlTextWriterSetQuoteChar;
-} LIBXML2_2.8.0;
-
-LIBXML2_2.9.1 {
-    global:
-
-# xpath
-  xmlXPathNodeEval;
-  xmlXPathSetContextNode;
-} LIBXML2_2.9.0;
-
-LIBXML2_2.9.8 {
-    global:
-
-# hash
-  xmlHashDefaultDeallocator;
-} LIBXML2_2.9.1;
-
-LIBXML2_2.9.11 {
-    global:
-
-# xmlIO
-  xmlPopOutputCallbacks;
-} LIBXML2_2.9.8;
-
+LIBXML2_2.4.30 {};
+LIBXML2_2.5.0 {} LIBXML2_2.4.30;
+LIBXML2_2.5.2 {} LIBXML2_2.5.0;
+LIBXML2_2.5.4 {} LIBXML2_2.5.2;
+LIBXML2_2.5.5 {} LIBXML2_2.5.4;
+LIBXML2_2.5.6 {} LIBXML2_2.5.5;
+LIBXML2_2.5.7 {} LIBXML2_2.5.6;
+LIBXML2_2.5.8 {} LIBXML2_2.5.7;
+LIBXML2_2.5.9 {} LIBXML2_2.5.8;
+LIBXML2_2.6.0 {} LIBXML2_2.5.9;
+LIBXML2_2.6.1 {} LIBXML2_2.6.0;
+LIBXML2_2.6.2 {} LIBXML2_2.6.1;
+LIBXML2_2.6.3 {} LIBXML2_2.6.2;
+LIBXML2_2.6.5 {} LIBXML2_2.6.3;
+LIBXML2_2.6.6 {} LIBXML2_2.6.5;
+LIBXML2_2.6.7 {} LIBXML2_2.6.6;
+LIBXML2_2.6.8 {} LIBXML2_2.6.7;
+LIBXML2_2.6.10 {} LIBXML2_2.6.8;
+LIBXML2_2.6.11 {} LIBXML2_2.6.10;
+LIBXML2_2.6.12 {} LIBXML2_2.6.11;
+LIBXML2_2.6.14 {} LIBXML2_2.6.12;
+LIBXML2_2.6.15 {} LIBXML2_2.6.14;
+LIBXML2_2.6.16 {} LIBXML2_2.6.15;
+LIBXML2_2.6.17 {} LIBXML2_2.6.16;
+LIBXML2_2.6.18 {} LIBXML2_2.6.17;
+LIBXML2_2.6.19 {} LIBXML2_2.6.18;
+LIBXML2_2.6.20 {} LIBXML2_2.6.19;
+LIBXML2_2.6.21 {} LIBXML2_2.6.20;
+LIBXML2_2.6.23 {} LIBXML2_2.6.21;
+LIBXML2_2.6.24 {} LIBXML2_2.6.23;
+LIBXML2_2.6.25 {} LIBXML2_2.6.24;
+LIBXML2_2.6.27 {} LIBXML2_2.6.25;
+LIBXML2_2.6.28 {} LIBXML2_2.6.27;
+LIBXML2_2.6.32 {} LIBXML2_2.6.28;
+LIBXML2_2.7.0 {} LIBXML2_2.6.32;
+LIBXML2_2.7.3 {} LIBXML2_2.7.0;
+LIBXML2_2.7.4 {} LIBXML2_2.7.3;
+LIBXML2_2.8.0 {} LIBXML2_2.7.4;
+LIBXML2_2.9.0 {} LIBXML2_2.8.0;
+LIBXML2_2.9.1 {} LIBXML2_2.9.0;
+LIBXML2_2.9.8 {} LIBXML2_2.9.1;
+LIBXML2_2.9.11 {} LIBXML2_2.9.8;
+LIBXML2_2.11.0 {} LIBXML2_2.9.11;
diff --git a/acinclude.m4 b/m4/ac_try_compile2.m4
similarity index 100%
rename from acinclude.m4
rename to m4/ac_try_compile2.m4
diff --git a/macos/README b/macos/README
deleted file mode 100644
index 434aece..0000000
--- a/macos/README
+++ /dev/null
@@ -1,8 +0,0 @@
-This is a MacOS port contribution (not to be used for MacOS-X)
-for the CodeWarrior environment.
-Please contact the author directly in case of problems:
-   Eric <erlavigne@wanadoo.fr>
-
-  thanks,
-
-Daniel
diff --git a/macos/libxml2.mcp.xml.sit.hqx b/macos/libxml2.mcp.xml.sit.hqx
deleted file mode 100644
index 758554d..0000000
--- a/macos/libxml2.mcp.xml.sit.hqx
+++ /dev/null
Binary files differ
diff --git a/macos/src/XMLTestPrefix.h b/macos/src/XMLTestPrefix.h
deleted file mode 100644
index 3e84255..0000000
--- a/macos/src/XMLTestPrefix.h
+++ /dev/null
Binary files differ
diff --git a/macos/src/XMLTestPrefix2.h b/macos/src/XMLTestPrefix2.h
deleted file mode 100644
index 55df51e..0000000
--- a/macos/src/XMLTestPrefix2.h
+++ /dev/null
Binary files differ
diff --git a/macos/src/config-mac.h b/macos/src/config-mac.h
deleted file mode 100644
index c82d2b9..0000000
--- a/macos/src/config-mac.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/* config.h generated manually for macos.  */
-
-/* Define if you have the strftime function.  */
-#define HAVE_STRFTIME
-
-/* Define if you have the ANSI C header files.  */
-#define STDC_HEADERS
-
-#define PACKAGE
-#define VERSION
-
-#undef HAVE_LIBM
-#undef HAVE_LIBHISTORY
-#undef HAVE_LIBREADLINE
-
-#define XML_SOCKLEN_T socklen_t
-#define HAVE_PTHREAD_H
-#define LIBXML_THREAD_ENABLED
-
-/* Define if you have the fprintf function.  */
-#define HAVE_FPRINTF
-
-/* Define if you have the localtime function.  */
-#define HAVE_LOCALTIME
-
-/* Define if you have the printf function.  */
-#define HAVE_PRINTF
-
-/* Define if you have the snprintf function.  */
-#define HAVE_SNPRINTF
-
-/* Define if you have the sprintf function.  */
-#define HAVE_SPRINTF
-
-/* Define if you have the sscanf function.  */
-#define HAVE_SSCANF
-
-/* Define if you have the stat function.  */
-#define HAVE_STAT
-
-/* Define if you have the strftime function.  */
-#define HAVE_STRFTIME
-
-/* Define if you have the vfprintf function.  */
-#define HAVE_VFPRINTF
-
-/* Define if you have the vsnprintf function.  */
-#define HAVE_VSNPRINTF
-
-/* Define if you have the vsprintf function.  */
-#define HAVE_VSPRINTF
-
-/* Define if you have the <arpa/inet.h> header file.  */
-#define HAVE_ARPA_INET_H
-
-/* Define if you have the <ctype.h> header file.  */
-#define HAVE_CTYPE_H
-
-/* Define if you have the <dlfcn.h> header file.  */
-#define HAVE_DLFCN_H
-
-/* Define if you have the <errno.h> header file.  */
-#define HAVE_ERRNO_H
-
-/* Define if you have the <fcntl.h> header file.  */
-#define HAVE_FCNTL_H
-
-/* Define if you have the <float.h> header file.  */
-#define HAVE_FLOAT_H
-
-/* Define if you have the <malloc.h> header file.  */
-#undef HAVE_MALLOC_H
-
-/* Define if you have the <math.h> header file.  */
-#define HAVE_MATH_H
-
-/* Define if you have the <netdb.h> header file.  */
-#define HAVE_NETDB_H
-
-/* Define if you have the <netinet/in.h> header file.  */
-#define HAVE_NETINET_IN_H
-
-/* Define if you have the <signal.h> header file.  */
-#define HAVE_SIGNAL_H
-
-/* Define if you have the <stdarg.h> header file.  */
-#define HAVE_STDARG_H
-
-/* Define if you have the <stdlib.h> header file.  */
-#define HAVE_STDLIB_H
-
-/* Define if you have the <string.h> header file.  */
-#define HAVE_STRING_H
-
-/* Define if you have the <sys/mman.h> header file.  */
-#undef HAVE_SYS_MMAN_H
-
-/* Define if you have the <sys/select.h> header file.  */
-#define HAVE_SYS_SELECT_H
-
-/* Define if you have the <sys/socket.h> header file.  */
-#define HAVE_SYS_SOCKET_H
-
-/* Define if you have the <sys/stat.h> header file.  */
-#define HAVE_SYS_STAT_H
-
-/* Define if you have the <sys/time.h> header file.  */
-#define HAVE_SYS_TIME_H
-
-/* Define if you have the <sys/types.h> header file.  */
-#define HAVE_SYS_TYPES_H
-
-/* Define if you have the <time.h> header file.  */
-#define HAVE_TIME_H
-
-/* Define if you have the <unistd.h> header file.  */
-#define HAVE_UNISTD_H
-
-/* Name of package */
-#define PACKAGE
-
-/* Version number of package */
-#define VERSION
-
-/* Define if compiler has function prototypes */
-#define PROTOTYPES
-
-#include <libxml/xmlversion.h>
-#include <sys/types.h>
-#include <extra/stricmp.h>
-#include <extra/strdup.h>
diff --git a/macos/src/libxml2_GUSIConfig.cp b/macos/src/libxml2_GUSIConfig.cp
deleted file mode 100644
index 77d0c93..0000000
--- a/macos/src/libxml2_GUSIConfig.cp
+++ /dev/null
Binary files differ
diff --git a/macos/src/macos_main.c b/macos/src/macos_main.c
deleted file mode 100644
index 2625000..0000000
--- a/macos/src/macos_main.c
+++ /dev/null
Binary files differ
diff --git a/nanoftp.c b/nanoftp.c
index 93ad0fc..2bfba85 100644
--- a/nanoftp.c
+++ b/nanoftp.c
@@ -6,7 +6,6 @@
 
 #ifdef TESTING
 #define STANDALONE
-#define HAVE_STDLIB_H
 #define HAVE_UNISTD_H
 #define HAVE_SYS_SOCKET_H
 #define HAVE_NETINET_IN_H
@@ -19,12 +18,13 @@
 
 #ifdef LIBXML_FTP_ENABLED
 #include <string.h>
-
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
+#include <errno.h>
+
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#elif defined (_WIN32)
+#include <io.h>
 #endif
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
@@ -41,9 +41,6 @@
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
-#ifdef HAVE_ERRNO_H
-#include <errno.h>
-#endif
 #ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif
@@ -53,12 +50,6 @@
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
 
 #include <libxml/xmlmemory.h>
 #include <libxml/parser.h>
@@ -67,6 +58,9 @@
 #include <libxml/nanoftp.h>
 #include <libxml/globals.h>
 
+#include "private/error.h"
+#include "private/io.h"
+
 /* #define DEBUG_FTP 1  */
 #ifdef STANDALONE
 #ifndef DEBUG_FTP
@@ -75,7 +69,7 @@
 #endif
 
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
 #include <wsockcompat.h>
 #endif
 
@@ -83,27 +77,16 @@
  * A couple portability macros
  */
 #ifndef _WINSOCKAPI_
-#if !defined(__BEOS__) || defined(__HAIKU__)
 #define closesocket(s) close(s)
 #endif
-#endif
-
-#ifdef __BEOS__
-#ifndef PF_INET
-#define PF_INET AF_INET
-#endif
-#endif
-
-#ifdef _AIX
-#ifdef HAVE_BROKEN_SS_FAMILY
-#define ss_family __ss_family
-#endif
-#endif
 
 #ifndef XML_SOCKLEN_T
 #define XML_SOCKLEN_T unsigned int
 #endif
 
+#define GETHOSTBYNAME_ARG_CAST (char *)
+#define SEND_ARG2_CAST (char *)
+
 #define FTP_COMMAND_OK		200
 #define FTP_SYNTAX_ERROR	500
 #define FTP_GET_PASSWD		331
diff --git a/nanohttp.c b/nanohttp.c
index a4e5fd3..e014fe4 100644
--- a/nanohttp.c
+++ b/nanohttp.c
@@ -16,15 +16,14 @@
 
 #ifdef LIBXML_HTTP_ENABLED
 #include <string.h>
-
-#ifdef HAVE_STDLIB_H
+#include <ctype.h>
 #include <stdlib.h>
-#endif
+#include <errno.h>
+
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
+#elif defined (_WIN32)
+#include <io.h>
 #endif
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
@@ -38,18 +37,9 @@
 #ifdef HAVE_NETDB_H
 #include <netdb.h>
 #endif
-#ifdef HAVE_RESOLV_H
-#ifdef HAVE_ARPA_NAMESER_H
-#include <arpa/nameser.h>
-#endif
-#include <resolv.h>
-#endif
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
-#ifdef HAVE_ERRNO_H
-#include <errno.h>
-#endif
 #ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif
@@ -60,9 +50,6 @@
 #else
 #include <poll.h>
 #endif
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
 #ifdef LIBXML_ZLIB_ENABLED
 #include <zlib.h>
 #endif
@@ -73,7 +60,7 @@
 #define XML_SOCKLEN_T unsigned int
 #endif
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
 #include <wsockcompat.h>
 #endif
 
@@ -85,27 +72,25 @@
 #include <libxml/globals.h>
 #include <libxml/uri.h>
 
+#include "private/error.h"
+#include "private/io.h"
+
 /**
  * A couple portability macros
  */
 #ifndef _WINSOCKAPI_
-#if !defined(__BEOS__) || defined(__HAIKU__)
 #define closesocket(s) close(s)
-#endif
 #define SOCKET int
 #define INVALID_SOCKET (-1)
 #endif
 
-#ifdef __BEOS__
-#ifndef PF_INET
-#define PF_INET AF_INET
-#endif
-#endif
-
 #ifndef XML_SOCKLEN_T
 #define XML_SOCKLEN_T unsigned int
 #endif
 
+#define GETHOSTBYNAME_ARG_CAST (char *)
+#define SEND_ARG2_CAST (char *)
+
 #ifdef STANDALONE
 #define DEBUG_HTTP
 #define xmlStrncasecmp(a, b, n) strncasecmp((char *)a, (char *)b, n)
@@ -195,20 +180,6 @@
 #endif
 }
 
-#ifdef SUPPORT_IP6
-static
-int have_ipv6(void) {
-    SOCKET s;
-
-    s = socket (AF_INET6, SOCK_STREAM, 0);
-    if (s != INVALID_SOCKET) {
-	close (s);
-	return (1);
-    }
-    return (0);
-}
-#endif
-
 /**
  * xmlNanoHTTPInit:
  *
@@ -542,7 +513,7 @@
 
     while (ctxt->state & XML_NANO_HTTP_READ) {
         if (ctxt->in == NULL) {
-            ctxt->in = (char *) xmlMallocAtomic(65000 * sizeof(char));
+            ctxt->in = (char *) xmlMallocAtomic(65000);
             if (ctxt->in == NULL) {
                 xmlHTTPErrMemory("allocating input");
                 ctxt->last = -1;
@@ -903,15 +874,6 @@
         status = ioctl(s, FIONBIO, &enable);
     }
 #else /* VMS */
-#if defined(__BEOS__) && !defined(__HAIKU__)
-    {
-        bool noblock = true;
-
-        status =
-            setsockopt(s, SOL_SOCKET, SO_NONBLOCK, &noblock,
-                       sizeof(noblock));
-    }
-#else /* __BEOS__ */
     if ((status = fcntl(s, F_GETFL, 0)) != -1) {
 #ifdef O_NONBLOCK
         status |= O_NONBLOCK;
@@ -930,7 +892,6 @@
         closesocket(s);
         return INVALID_SOCKET;
     }
-#endif /* !__BEOS__ */
 #endif /* !VMS */
 #endif /* !_WINSOCKAPI_ */
 
@@ -1049,33 +1010,19 @@
     struct sockaddr_in sockin;
 
 #ifdef SUPPORT_IP6
-    struct in6_addr ia6;
     struct sockaddr_in6 sockin6;
 #endif
     SOCKET s;
 
     memset (&sockin, 0, sizeof(sockin));
-#ifdef SUPPORT_IP6
-    memset (&sockin6, 0, sizeof(sockin6));
-#endif
 
-#if !defined(HAVE_GETADDRINFO) && defined(SUPPORT_IP6) && defined(RES_USE_INET6)
-    if (have_ipv6 ())
-    {
-	if (!(_res.options & RES_INIT))
-	    res_init();
-	_res.options |= RES_USE_INET6;
-    }
-#endif
-
-#if defined(HAVE_GETADDRINFO) && defined(SUPPORT_IP6) && !defined(_WIN32)
-    if (have_ipv6 ())
-#endif
-#if defined(HAVE_GETADDRINFO) && (defined(SUPPORT_IP6) || defined(_WIN32))
+#if defined(SUPPORT_IP6)
     {
 	int status;
 	struct addrinfo hints, *res, *result;
 
+        memset (&sockin6, 0, sizeof(sockin6));
+
 	result = NULL;
 	memset (&hints, 0,sizeof(hints));
 	hints.ai_socktype = SOCK_STREAM;
@@ -1096,8 +1043,7 @@
 		memcpy (&sockin, res->ai_addr, res->ai_addrlen);
 		sockin.sin_port = htons (port);
 		addr = (struct sockaddr *)&sockin;
-#ifdef SUPPORT_IP6
-	    } else if (have_ipv6 () && (res->ai_family == AF_INET6)) {
+	    } else if (res->ai_family == AF_INET6) {
 		if ((size_t)res->ai_addrlen > sizeof(sockin6)) {
 		    __xmlIOErr(XML_FROM_HTTP, 0, "address size mismatch\n");
 		    freeaddrinfo (result);
@@ -1106,7 +1052,6 @@
 		memcpy (&sockin6, res->ai_addr, res->ai_addrlen);
 		sockin6.sin6_port = htons (port);
 		addr = (struct sockaddr *)&sockin6;
-#endif
 	    } else
 		continue;              /* for */
 
@@ -1120,11 +1065,7 @@
 	if (result)
 	    freeaddrinfo (result);
     }
-#endif
-#if defined(HAVE_GETADDRINFO) && defined(SUPPORT_IP6) && !defined(_WIN32)
-    else
-#endif
-#if !defined(HAVE_GETADDRINFO) || !defined(_WIN32)
+#else
     {
         struct hostent *h;
         struct in_addr ia;
@@ -1186,19 +1127,6 @@
 		sockin.sin_addr = ia;
 		sockin.sin_port = (unsigned short)htons ((unsigned short)port);
 		addr = (struct sockaddr *) &sockin;
-#ifdef SUPPORT_IP6
-	    } else if (have_ipv6 () && (h->h_addrtype == AF_INET6)) {
-		/* AAAA records (IPv6) */
-		if ((unsigned int) h->h_length > sizeof(ia6)) {
-		    __xmlIOErr(XML_FROM_HTTP, 0, "address size mismatch\n");
-		    return INVALID_SOCKET;
-		}
-		memcpy (&ia6, h->h_addr_list[i], h->h_length);
-		sockin6.sin6_family = h->h_addrtype;
-		sockin6.sin6_addr = ia6;
-		sockin6.sin6_port = htons (port);
-		addr = (struct sockaddr *) &sockin6;
-#endif
 	    } else
 		break;              /* for */
 
@@ -1334,6 +1262,107 @@
     xmlNanoHTTPFreeCtxt(ctxt);
 }
 
+
+/**
+ * xmlNanoHTTPHostnameMatch:
+ * @pattern: The pattern as it appears in no_proxy environment variable
+ * @hostname: The hostname to test as it appears in the URL
+ *
+ * This function tests whether a given hostname matches a pattern. The pattern
+ * usually is a token from the no_proxy environment variable. Wildcards in the
+ * pattern are not supported.
+ *
+ * Returns true, iff hostname matches the pattern.
+ */
+
+static int 
+xmlNanoHTTPHostnameMatch(const char *pattern, const char *hostname) {
+    int idx_pattern, idx_hostname;
+    const char * pattern_start;
+
+    if (!pattern || *pattern == '\0' || !hostname)
+	return 0;
+
+    /* Ignore trailing '.' */
+    if (*pattern == '.') {
+        idx_pattern = strlen(pattern) -1;
+        pattern_start = pattern + 1;
+    }
+    else {
+        idx_pattern = strlen(pattern);
+        pattern_start = pattern;
+    }
+    idx_hostname = strlen(hostname);
+
+    for (; idx_pattern >= 0 && idx_hostname >= 0; 
+           --idx_pattern, --idx_hostname) {
+	if (tolower(pattern_start[idx_pattern]) != tolower(hostname[idx_hostname]))
+	    break;
+    }
+
+    return idx_pattern == -1 && (idx_hostname == -1|| hostname[idx_hostname] == '.');
+}
+
+
+/**
+ * xmlNanoHTTPBypassProxy:
+ * @hostname: The hostname as it appears in the URL
+ *
+ * This function evaluates the no_proxy environment variable and returns
+ * whether the proxy server should be bypassed for a given host.
+ *
+ * Returns true, iff a proxy server should be bypassed for the given hostname.
+ */
+
+static int
+xmlNanoHTTPBypassProxy(const char *hostname) {
+    size_t envlen;
+    char *env = getenv("no_proxy"), *cpy=NULL, *p=NULL;
+    if (!env)
+	return 0;
+
+    /* (Avoid strdup because it's not portable.) */
+    envlen = strlen(env) + 1;
+    cpy = xmlMalloc(envlen);
+    memcpy(cpy, env, envlen);
+    env = cpy;
+
+    /* The remainder of the function is basically a tokenizing: */
+    while (isspace(*env))
+    	++env;
+    if (*env == '\0') {
+    	xmlFree(cpy);
+	return 0;
+    }
+
+    p = env;
+    while (*env) {
+
+    	if (*env != ',') {
+	    ++env;
+	    continue;
+	}
+
+	*(env++) = '\0';
+	if (xmlNanoHTTPHostnameMatch(p, hostname)) {
+	    xmlFree(cpy);
+	    return 1;
+	}
+
+	while (isspace(*env))
+	    ++env;
+	p = env;
+    }
+    if (xmlNanoHTTPHostnameMatch(p, hostname)) {
+    	xmlFree(cpy);
+    	return 1;
+    }
+
+    xmlFree(cpy);
+    return 0;
+}
+
+
 /**
  * xmlNanoHTTPMethodRedir:
  * @URL:  The URL to load
@@ -1361,6 +1390,7 @@
     int blen;
     SOCKET ret;
     int nbRedirects = 0;
+    int use_proxy;
     char *redirURL = NULL;
 #ifdef DEBUG_HTTP
     int xmt_bytes;
@@ -1395,7 +1425,8 @@
 	if (redirURL != NULL) xmlFree(redirURL);
         return(NULL);
     }
-    if (proxy) {
+    use_proxy = proxy && !xmlNanoHTTPBypassProxy(ctxt->hostname);
+    if (use_proxy) {
 	blen = strlen(ctxt->hostname) * 2 + 16;
 	ret = xmlNanoHTTPConnectHost(proxy, proxyPort);
     }
@@ -1430,7 +1461,7 @@
 #endif
     if (ctxt->port != 80) {
 	/* reserve space for ':xxxxx', incl. potential proxy */
-	if (proxy)
+	if (use_proxy)
 	    blen += 17;
 	else
 	    blen += 11;
@@ -1444,7 +1475,7 @@
 
     p = bp;
 
-    if (proxy) {
+    if (use_proxy) {
 	if (ctxt->port != 80) {
 	    p += snprintf( p, blen - (p - bp), "%s http://%s:%d%s",
 			method, ctxt->hostname,
@@ -1485,7 +1516,7 @@
 
 #ifdef DEBUG_HTTP
     xmlGenericError(xmlGenericErrorContext,
-	    "-> %s%s", proxy? "(Proxy) " : "", bp);
+	    "-> %s%s", use_proxy ? "(Proxy) " : "", bp);
     if ((blen -= strlen(bp)+1) < 0)
 	xmlGenericError(xmlGenericErrorContext,
 		"ERROR: overflowed buffer by %d bytes\n", -blen);
diff --git a/optim/TOTRY b/optim/TOTRY
deleted file mode 100644
index 5b37b0b..0000000
--- a/optim/TOTRY
+++ /dev/null
@@ -1,23 +0,0 @@
-XML:
-====
-  - I/O avoid copies when parsing mmap'ed files, need to use
-    unmutable buffers except for the last 4K to make it 0 terminated
-    (or get rid of 0 termination check in the whole parser, hard !)
-  - recheck > 4Gb instances for parsing, and RNG validation.
-    
-
-XSLT:
-=====
-  - global variable access
-     for each expr in stylesheet : allocate index
-     for each transformation context
-       create an index table
-         cache values in the transformation
-	   - context evaluation
-	     - cache
-	     - constants at the XPAth level
-	   - provide more info on compiled expressions
-	     - dependances w.r.t. variables (which ones)
-	     - dependency on the current node
-	     - dependency on the current document
-  - do not use _private but other fields in the node structures.
diff --git a/optim/hash_dict.patch b/optim/hash_dict.patch
deleted file mode 100644
index 6c50abc..0000000
--- a/optim/hash_dict.patch
+++ /dev/null
@@ -1,257 +0,0 @@
-Index: hash.c
-===================================================================
-RCS file: /cvs/gnome/gnome-xml/hash.c,v
-retrieving revision 1.30
-diff -u -r1.30 hash.c
---- hash.c	29 Oct 2003 11:18:37 -0000	1.30
-+++ hash.c	24 Feb 2004 17:18:42 -0000
-@@ -26,6 +26,7 @@
- #include <libxml/xmlmemory.h>
- #include <libxml/xmlerror.h>
- #include <libxml/globals.h>
-+#include <libxml/dict.h>
- 
- #define MAX_HASH_LEN 8
- 
-@@ -38,9 +39,9 @@
- typedef xmlHashEntry *xmlHashEntryPtr;
- struct _xmlHashEntry {
-     struct _xmlHashEntry *next;
--    xmlChar *name;
--    xmlChar *name2;
--    xmlChar *name3;
-+    const xmlChar *name;
-+    const xmlChar *name2;
-+    const xmlChar *name3;
-     void *payload;
-     int valid;
- };
-@@ -52,6 +53,7 @@
-     struct _xmlHashEntry *table;
-     int size;
-     int nbElems;
-+    xmlDictPtr dict;
- };
- 
- /*
-@@ -143,12 +145,16 @@
- xmlHashTablePtr
- xmlHashCreate(int size) {
-     xmlHashTablePtr table;
-+    xmlDictPtr dict;
-   
-     if (size <= 0)
-         size = 256;
-   
-+    dict = xmlDictCreate();
-+    if (dict == NULL) return(NULL);
-     table = xmlMalloc(sizeof(xmlHashTable));
-     if (table) {
-+        table->dict = dict;
-         table->size = size;
- 	table->nbElems = 0;
-         table->table = xmlMalloc(size * sizeof(xmlHashEntry));
-@@ -158,6 +164,7 @@
-         }
-         xmlFree(table);
-     }
-+    xmlDictFree(dict);
-     return(NULL);
- }
- 
-@@ -282,12 +289,6 @@
- 		next = iter->next;
- 		if ((f != NULL) && (iter->payload != NULL))
- 		    f(iter->payload, iter->name);
--		if (iter->name)
--		    xmlFree(iter->name);
--		if (iter->name2)
--		    xmlFree(iter->name2);
--		if (iter->name3)
--		    xmlFree(iter->name3);
- 		iter->payload = NULL;
- 		if (!inside_table)
- 		    xmlFree(iter);
-@@ -299,6 +300,7 @@
- 	}
- 	xmlFree(table->table);
-     }
-+    xmlDictFree(table->dict);
-     xmlFree(table);
- }
- 
-@@ -465,6 +467,9 @@
- 
-     if ((table == NULL) || name == NULL)
- 	return(-1);
-+    if (name) name = xmlDictLookup(table->dict, name, -1);
-+    if (name2) name2 = xmlDictLookup(table->dict, name2, -1);
-+    if (name3) name3 = xmlDictLookup(table->dict, name3, -1);
- 
-     /*
-      * Check for duplicate and insertion location.
-@@ -475,15 +480,15 @@
-     } else {
- 	for (insert = &(table->table[key]); insert->next != NULL;
- 	     insert = insert->next) {
--	    if ((xmlStrEqual(insert->name, name)) &&
--		(xmlStrEqual(insert->name2, name2)) &&
--		(xmlStrEqual(insert->name3, name3)))
-+	    if ((insert->name == name) &&
-+		(insert->name2 == name2) &&
-+		(insert->name3 == name3))
- 		return(-1);
- 	    len++;
- 	}
--	if ((xmlStrEqual(insert->name, name)) &&
--	    (xmlStrEqual(insert->name2, name2)) &&
--	    (xmlStrEqual(insert->name3, name3)))
-+	if ((insert->name == name) &&
-+	    (insert->name2 == name2) &&
-+	    (insert->name3 == name3))
- 	    return(-1);
-     }
- 
-@@ -495,9 +500,9 @@
- 	     return(-1);
-     }
- 
--    entry->name = xmlStrdup(name);
--    entry->name2 = xmlStrdup(name2);
--    entry->name3 = xmlStrdup(name3);
-+    entry->name = name;
-+    entry->name2 = name2;
-+    entry->name3 = name3;
-     entry->payload = userdata;
-     entry->next = NULL;
-     entry->valid = 1;
-@@ -539,6 +544,9 @@
- 
-     if ((table == NULL) || name == NULL)
- 	return(-1);
-+    if (name) name = xmlDictLookup(table->dict, name, -1);
-+    if (name2) name2 = xmlDictLookup(table->dict, name2, -1);
-+    if (name3) name3 = xmlDictLookup(table->dict, name3, -1);
- 
-     /*
-      * Check for duplicate and insertion location.
-@@ -549,18 +557,18 @@
-     } else {
- 	for (insert = &(table->table[key]); insert->next != NULL;
- 	     insert = insert->next) {
--	    if ((xmlStrEqual(insert->name, name)) &&
--		(xmlStrEqual(insert->name2, name2)) &&
--		(xmlStrEqual(insert->name3, name3))) {
-+	    if ((insert->name == name) &&
-+		(insert->name2 == name2) &&
-+		(insert->name3 == name3)) {
- 		if (f)
- 		    f(insert->payload, insert->name);
- 		insert->payload = userdata;
- 		return(0);
- 	    }
- 	}
--	if ((xmlStrEqual(insert->name, name)) &&
--	    (xmlStrEqual(insert->name2, name2)) &&
--	    (xmlStrEqual(insert->name3, name3))) {
-+	if ((insert->name == name) &&
-+	    (insert->name2 == name2) &&
-+	    (insert->name3 == name3)) {
- 	    if (f)
- 		f(insert->payload, insert->name);
- 	    insert->payload = userdata;
-@@ -576,9 +584,9 @@
- 	     return(-1);
-     }
- 
--    entry->name = xmlStrdup(name);
--    entry->name2 = xmlStrdup(name2);
--    entry->name3 = xmlStrdup(name3);
-+    entry->name = name;
-+    entry->name2 = name2;
-+    entry->name3 = name3;
-     entry->payload = userdata;
-     entry->next = NULL;
-     entry->valid = 1;
-@@ -615,10 +623,13 @@
-     key = xmlHashComputeKey(table, name, name2, name3);
-     if (table->table[key].valid == 0)
- 	return(NULL);
-+    if (name) name = xmlDictLookup(table->dict, name, -1);
-+    if (name2) name2 = xmlDictLookup(table->dict, name2, -1);
-+    if (name3) name3 = xmlDictLookup(table->dict, name3, -1);
-     for (entry = &(table->table[key]); entry != NULL; entry = entry->next) {
--	if ((xmlStrEqual(entry->name, name)) &&
--	    (xmlStrEqual(entry->name2, name2)) &&
--	    (xmlStrEqual(entry->name3, name3)))
-+	if ((entry->name == name) &&
-+	    (entry->name2 == name2) &&
-+	    (entry->name3 == name3))
- 	    return(entry->payload);
-     }
-     return(NULL);
-@@ -774,6 +785,9 @@
-     if (f == NULL)
- 	return;
- 
-+    if (name) name = xmlDictLookup(table->dict, name, -1);
-+    if (name2) name2 = xmlDictLookup(table->dict, name2, -1);
-+    if (name3) name3 = xmlDictLookup(table->dict, name3, -1);
-     if (table->table) {
- 	for(i = 0; i < table->size; i++) {
- 	    if (table->table[i].valid == 0)
-@@ -781,9 +795,9 @@
- 	    iter = &(table->table[i]);
- 	    while (iter) {
- 		next = iter->next;
--		if (((name == NULL) || (xmlStrEqual(name, iter->name))) &&
--		    ((name2 == NULL) || (xmlStrEqual(name2, iter->name2))) &&
--		    ((name3 == NULL) || (xmlStrEqual(name3, iter->name3))) &&
-+		if (((name == NULL) || (name == iter->name)) &&
-+		    ((name2 == NULL) || (name2 == iter->name2)) &&
-+		    ((name3 == NULL) || (name3 == iter->name3)) &&
- 		    (iter->payload != NULL)) {
- 		    f(iter->payload, data, iter->name,
- 		      iter->name2, iter->name3);
-@@ -913,19 +927,16 @@
-     if (table->table[key].valid == 0) {
-         return(-1);
-     } else {
-+	if (name) name = xmlDictLookup(table->dict, name, -1);
-+	if (name2) name2 = xmlDictLookup(table->dict, name2, -1);
-+	if (name3) name3 = xmlDictLookup(table->dict, name3, -1);
-         for (entry = &(table->table[key]); entry != NULL; entry = entry->next) {
--            if (xmlStrEqual(entry->name, name) &&
--                    xmlStrEqual(entry->name2, name2) &&
--                    xmlStrEqual(entry->name3, name3)) {
-+            if ((entry->name == name) &&
-+		(entry->name2 == name2) &&
-+		(entry->name3 == name3)) {
-                 if ((f != NULL) && (entry->payload != NULL))
-                     f(entry->payload, entry->name);
-                 entry->payload = NULL;
--                if(entry->name)
--                    xmlFree(entry->name);
--                if(entry->name2)
--                    xmlFree(entry->name2);
--                if(entry->name3)
--                    xmlFree(entry->name3);
-                 if(prev) {
-                     prev->next = entry->next;
- 		    xmlFree(entry);
-Index: include/libxml/hash.h
-===================================================================
-RCS file: /cvs/gnome/gnome-xml/include/libxml/hash.h,v
-retrieving revision 1.15
-diff -u -r1.15 hash.h
---- include/libxml/hash.h	20 Nov 2003 11:59:07 -0000	1.15
-+++ include/libxml/hash.h	24 Feb 2004 17:18:42 -0000
-@@ -42,7 +42,7 @@
-  *
-  * Callback to free data from a hash.
-  */
--typedef void (*xmlHashDeallocator)(void *payload, xmlChar *name);
-+typedef void (*xmlHashDeallocator)(void *payload, const xmlChar *name);
- /**
-  * xmlHashCopier:
-  * @payload:  the data in the hash
diff --git a/optim/hash_dict.txt b/optim/hash_dict.txt
deleted file mode 100644
index a447b7e..0000000
--- a/optim/hash_dict.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-Reuses a dictionary for the hash table to reduce the string compare
-costs. Not worth it unless validating big DTDs
-
-		without		with
-db10000  tree	175/79		179/81
-db100000 stream	1222		1217
-dba100000stream	593		601
-REC validation	1986		2098
-Docbook valid	10808		10649
-
-Tue Feb 24 19:09:49 CET 2004
diff --git a/os400/libxmlrpg/schematron.rpgle b/os400/libxmlrpg/schematron.rpgle
index 8271ca5..3f0ae33 100644
--- a/os400/libxmlrpg/schematron.rpgle
+++ b/os400/libxmlrpg/schematron.rpgle
@@ -1,4 +1,4 @@
-      * Summary: XML Schemastron implementation
+      * Summary: XML Schematron implementation
       * Description: interface to the XML Schematron validity checking.
       *
       * Copy: See Copyright for the status of this software.
diff --git a/os400/os400config.h.in b/os400/os400config.h.in
index 1588cfa..785cd7f 100644
--- a/os400/os400config.h.in
+++ b/os400/os400config.h.in
@@ -15,9 +15,6 @@
 /* Whether struct sockaddr::__ss_family exists */
 #undef HAVE_BROKEN_SS_FAMILY
 
-/* Define to 1 if you have the <ctype.h> header file. */
-#define HAVE_CTYPE_H            1
-
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #define HAVE_DLFCN_H            1       /* Locally emulated. */
 
@@ -27,18 +24,9 @@
 /* Define to 1 if you have the <dl.h> header file. */
 #undef HAVE_DL_H
 
-/* Define to 1 if you have the <errno.h> header file. */
-#define HAVE_ERRNO_H            1
-
 /* Define to 1 if you have the <fcntl.h> header file. */
 #define HAVE_FCNTL_H            1
 
-/* Define to 1 if you have the <float.h> header file. */
-#define HAVE_FLOAT_H            1
-
-/* Define to 1 if you have the `fprintf' function. */
-#undef HAVE_FPRINTF                     /* Use trio. */
-
 /* Define to 1 if you have the `ftime' function. */
 #undef HAVE_FTIME
 
@@ -60,18 +48,6 @@
 /* Define if readline library is there (-lreadline) */
 #undef HAVE_LIBREADLINE
 
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H           1
-
-/* Define to 1 if you have the `localtime' function. */
-#define HAVE_LOCALTIME          1
-
-/* Define to 1 if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
-
-/* Define to 1 if you have the <math.h> header file. */
-#define HAVE_MATH_H             1
-
 /* Define to 1 if you have the `mmap' function. */
 #undef HAVE_MMAP
 
@@ -92,21 +68,12 @@
 /* Define to 1 if you have the <poll.h> header file. */
 #undef HAVE_POLL_H
 
-/* Define to 1 if you have the `printf' function. */
-#undef HAVE_PRINTF                      /* Use trio. */
-
-/* Define to 1 if you have the `vprintf' function. */
-#undef HAVE_VPRINTF                     /* Use trio. */
-
 /* Define if <pthread.h> is there */
 #define HAVE_PTHREAD_H          1
 
 /* Define to 1 if you have the `putenv' function. */
 #define HAVE_PUTENV             1
 
-/* Define to 1 if you have the `rand' function. */
-#define HAVE_RAND               1
-
 /* Define to 1 if you have the `rand_r' function. */
 #define HAVE_RAND_R             1
 
@@ -116,48 +83,12 @@
 /* Have shl_load based dso */
 #undef HAVE_SHLLOAD
 
-/* Define to 1 if you have the <signal.h> header file. */
-#define HAVE_SIGNAL_H           1
-
-/* Define to 1 if you have the `snprintf' function. */
-#undef HAVE_SNPRINTF                    /* Use trio. */
-
-/* Define to 1 if you have the `sprintf' function. */
-#undef HAVE_SPRINTF                     /* Use trio. */
-
-/* Define to 1 if you have the `srand' function. */
-#define HAVE_SRAND              1
-
-/* Define to 1 if you have the `scanf' function. */
-#undef HAVE_SCANF                       /* Use trio. */
-
-/* Define to 1 if you have the `fscanf' function. */
-#undef HAVE_FSCANF                      /* Use trio. */
-
-/* Define to 1 if you have the `sscanf' function. */
-#undef HAVE_SSCANF                      /* Use trio. */
-
 /* Define to 1 if you have the `stat' function. */
 #define HAVE_STAT               1
 
-/* Define to 1 if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H           1       /* Overloaded */
-
 /* Define to 1 if you have the <stdint.h> header file. */
 #define HAVE_STDINT_H           1
 
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H           1
-
-/* Define to 1 if you have the `strftime' function. */
-#define HAVE_STRFTIME           1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H          1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H           1
-
 /* Define to 1 if you have the <sys/mman.h> header file. */
 #define HAVE_SYS_MMAN_H         1
 
@@ -179,33 +110,15 @@
 /* Define to 1 if you have the <sys/types.h> header file. */
 #define HAVE_SYS_TYPES_H        1
 
-/* Define to 1 if you have the `time' function. */
-#define HAVE_TIME               1
-
-/* Define to 1 if you have the <time.h> header file. */
-#define HAVE_TIME_H             1
-
 /* Define to 1 if you have the <unistd.h> header file. */
 #define HAVE_UNISTD_H           1
 
 /* Whether va_copy() is available */
 #undef HAVE_VA_COPY
 
-/* Define to 1 if you have the `vfprintf' function. */
-#undef HAVE_VFPRINTF                    /* Use trio. */
-
-/* Define to 1 if you have the `vsnprintf' function. */
-#undef HAVE_VSNPRINTF                   /* Use trio. */
-
-/* Define to 1 if you have the `vsprintf' function. */
-#undef HAVE_VSPRINTF                    /* Use trio. */
-
 /* Whether __va_copy() is available */
 #undef HAVE___VA_COPY
 
-/* Define as const if the declaration of iconv() needs const. */
-#define ICONV_CONST
-
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
    */
 #undef LT_OBJDIR
@@ -231,9 +144,6 @@
 /* Define to the version of this package. */
 #define PACKAGE_VERSION         ""
 
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS            1
-
 /* Support for IPv6 */
 #define SUPPORT_IP6
 
diff --git a/parser.c b/parser.c
index 5384e55..53289c7 100644
--- a/parser.c
+++ b/parser.c
@@ -38,7 +38,7 @@
 #define IN_LIBXML
 #include "libxml.h"
 
-#if defined(_WIN32) && !defined (__CYGWIN__)
+#if defined(_WIN32)
 #define XML_DIR_SEP '\\'
 #else
 #define XML_DIR_SEP '/'
@@ -49,12 +49,15 @@
 #include <string.h>
 #include <stdarg.h>
 #include <stddef.h>
+#include <ctype.h>
+#include <stdlib.h>
 #include <libxml/xmlmemory.h>
 #include <libxml/threads.h>
 #include <libxml/globals.h>
 #include <libxml/tree.h>
 #include <libxml/parser.h>
 #include <libxml/parserInternals.h>
+#include <libxml/HTMLparser.h>
 #include <libxml/valid.h>
 #include <libxml/entities.h>
 #include <libxml/xmlerror.h>
@@ -68,24 +71,22 @@
 #include <libxml/xmlschemastypes.h>
 #include <libxml/relaxng.h>
 #endif
-#ifdef HAVE_CTYPE_H
-#include <ctype.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
+#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#include <libxml/xpath.h>
 #endif
 
-#include "buf.h"
-#include "enc.h"
+#include "private/buf.h"
+#include "private/dict.h"
+#include "private/enc.h"
+#include "private/entities.h"
+#include "private/error.h"
+#include "private/globals.h"
+#include "private/html.h"
+#include "private/io.h"
+#include "private/memory.h"
+#include "private/parser.h"
+#include "private/threads.h"
+#include "private/xpath.h"
 
 struct _xmlStartTag {
     const xmlChar *prefix;
@@ -94,12 +95,10 @@
     int nsNr;
 };
 
-static void
-xmlFatalErr(xmlParserCtxtPtr ctxt, xmlParserErrors error, const char *info);
-
 static xmlParserCtxtPtr
-xmlCreateEntityParserCtxtInternal(const xmlChar *URL, const xmlChar *ID,
-	                  const xmlChar *base, xmlParserCtxtPtr pctx);
+xmlCreateEntityParserCtxtInternal(xmlSAXHandlerPtr sax, void *userData,
+        const xmlChar *URL, const xmlChar *ID, const xmlChar *base,
+        xmlParserCtxtPtr pctx);
 
 static void xmlHaltParser(xmlParserCtxtPtr ctxt);
 
@@ -119,156 +118,27 @@
 #define XML_PARSER_LOT_ENTITY 5000
 
 /*
- * XML_PARSER_NON_LINEAR is the threshold where the ratio of parsed entity
- *    replacement over the size in byte of the input indicates that you have
- *    and exponential behaviour. A value of 10 correspond to at least 3 entity
- *    replacement per byte of input.
+ * Constants for protection against abusive entity expansion
+ * ("billion laughs").
  */
-#define XML_PARSER_NON_LINEAR 10
 
 /*
- * xmlParserEntityCheck
- *
- * Function to check non-linear entity expansion behaviour
- * This is here to detect and stop exponential linear entity expansion
- * This is not a limitation of the parser but a safety
- * boundary feature. It can be disabled with the XML_PARSE_HUGE
- * parser option.
+ * XML_PARSER_NON_LINEAR is roughly the maximum allowed amplification factor
+ * of serialized output after entity expansion.
  */
-static int
-xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size,
-                     xmlEntityPtr ent, size_t replacement)
-{
-    size_t consumed = 0;
-    int i;
+#define XML_PARSER_NON_LINEAR 5
 
-    if ((ctxt == NULL) || (ctxt->options & XML_PARSE_HUGE))
-        return (0);
-    if (ctxt->lastError.code == XML_ERR_ENTITY_LOOP)
-        return (1);
+/*
+ * A certain amount is always allowed.
+ */
+#define XML_PARSER_ALLOWED_EXPANSION 1000000
 
-    /*
-     * This may look absurd but is needed to detect
-     * entities problems
-     */
-    if ((ent != NULL) && (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) &&
-	(ent->content != NULL) && (ent->checked == 0) &&
-	(ctxt->errNo != XML_ERR_ENTITY_LOOP)) {
-	unsigned long oldnbent = ctxt->nbentities, diff;
-	xmlChar *rep;
-
-	ent->checked = 1;
-
-        ++ctxt->depth;
-	rep = xmlStringDecodeEntities(ctxt, ent->content,
-				  XML_SUBSTITUTE_REF, 0, 0, 0);
-        --ctxt->depth;
-	if ((rep == NULL) || (ctxt->errNo == XML_ERR_ENTITY_LOOP)) {
-	    ent->content[0] = 0;
-	}
-
-        diff = ctxt->nbentities - oldnbent + 1;
-        if (diff > INT_MAX / 2)
-            diff = INT_MAX / 2;
-	ent->checked = diff * 2;
-	if (rep != NULL) {
-	    if (xmlStrchr(rep, '<'))
-		ent->checked |= 1;
-	    xmlFree(rep);
-	    rep = NULL;
-	}
-    }
-
-    /*
-     * Prevent entity exponential check, not just replacement while
-     * parsing the DTD
-     * The check is potentially costly so do that only once in a thousand
-     */
-    if ((ctxt->instate == XML_PARSER_DTD) && (ctxt->nbentities > 10000) &&
-        (ctxt->nbentities % 1024 == 0)) {
-	for (i = 0;i < ctxt->inputNr;i++) {
-	    consumed += ctxt->inputTab[i]->consumed +
-	               (ctxt->inputTab[i]->cur - ctxt->inputTab[i]->base);
-	}
-	if (ctxt->nbentities > consumed * XML_PARSER_NON_LINEAR) {
-	    xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
-	    ctxt->instate = XML_PARSER_EOF;
-	    return (1);
-	}
-	consumed = 0;
-    }
-
-
-
-    if (replacement != 0) {
-	if (replacement < XML_MAX_TEXT_LENGTH)
-	    return(0);
-
-        /*
-	 * If the volume of entity copy reaches 10 times the
-	 * amount of parsed data and over the large text threshold
-	 * then that's very likely to be an abuse.
-	 */
-        if (ctxt->input != NULL) {
-	    consumed = ctxt->input->consumed +
-	               (ctxt->input->cur - ctxt->input->base);
-	}
-        consumed += ctxt->sizeentities;
-
-        if (replacement < XML_PARSER_NON_LINEAR * consumed)
-	    return(0);
-    } else if (size != 0) {
-        /*
-         * Do the check based on the replacement size of the entity
-         */
-        if (size < XML_PARSER_BIG_ENTITY)
-	    return(0);
-
-        /*
-         * A limit on the amount of text data reasonably used
-         */
-        if (ctxt->input != NULL) {
-            consumed = ctxt->input->consumed +
-                (ctxt->input->cur - ctxt->input->base);
-        }
-        consumed += ctxt->sizeentities;
-
-        if ((size < XML_PARSER_NON_LINEAR * consumed) &&
-	    (ctxt->nbentities * 3 < XML_PARSER_NON_LINEAR * consumed))
-            return (0);
-    } else if (ent != NULL) {
-        /*
-         * use the number of parsed entities in the replacement
-         */
-        size = ent->checked / 2;
-
-        /*
-         * The amount of data parsed counting entities size only once
-         */
-        if (ctxt->input != NULL) {
-            consumed = ctxt->input->consumed +
-                (ctxt->input->cur - ctxt->input->base);
-        }
-        consumed += ctxt->sizeentities;
-
-        /*
-         * Check the density of entities for the amount of data
-	 * knowing an entity reference will take at least 3 bytes
-         */
-        if (size * 3 < consumed * XML_PARSER_NON_LINEAR)
-            return (0);
-    } else {
-        /*
-         * strange we got no data for checking
-         */
-	if (((ctxt->lastError.code != XML_ERR_UNDECLARED_ENTITY) &&
-	     (ctxt->lastError.code != XML_WAR_UNDECLARED_ENTITY)) ||
-	    (ctxt->nbentities <= 10000))
-	    return (0);
-    }
-    xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
-    return (1);
-}
+/*
+ * Fixed cost for each entity reference. This crudely models processing time
+ * as well to protect, for example, against exponential expansion of empty
+ * or very short entities.
+ */
+#define XML_ENT_FIXED_COST 20
 
 /**
  * xmlParserMaxDepth:
@@ -302,7 +172,7 @@
  * List of XML prefixed PI allowed by W3C specs
  */
 
-static const char *xmlW3CPIs[] = {
+static const char* const xmlW3CPIs[] = {
     "xml-stylesheet",
     "xml-model",
     NULL
@@ -565,7 +435,7 @@
             errmsg = "Malformed declaration expecting version";
             break;
         case XML_ERR_NAME_TOO_LONG:
-            errmsg = "Name too long use XML_PARSE_HUGE option";
+            errmsg = "Name too long";
             break;
 #if 0
         case:
@@ -865,6 +735,89 @@
                     info1, info2, info3);
 }
 
+static void
+xmlSaturatedAdd(unsigned long *dst, unsigned long val) {
+    if (val > ULONG_MAX - *dst)
+        *dst = ULONG_MAX;
+    else
+        *dst += val;
+}
+
+static void
+xmlSaturatedAddSizeT(unsigned long *dst, unsigned long val) {
+    if (val > ULONG_MAX - *dst)
+        *dst = ULONG_MAX;
+    else
+        *dst += val;
+}
+
+/**
+ * xmlParserEntityCheck:
+ * @ctxt:  parser context
+ * @extra:  sum of unexpanded entity sizes
+ *
+ * Check for non-linear entity expansion behaviour.
+ *
+ * In some cases like xmlStringDecodeEntities, this function is called
+ * for each, possibly nested entity and its unexpanded content length.
+ *
+ * In other cases like xmlParseReference, it's only called for each
+ * top-level entity with its unexpanded content length plus the sum of
+ * the unexpanded content lengths (plus fixed cost) of all nested
+ * entities.
+ *
+ * Summing the unexpanded lengths also adds the length of the reference.
+ * This is by design. Taking the length of the entity name into account
+ * discourages attacks that try to waste CPU time with abusively long
+ * entity names. See test/recurse/lol6.xml for example. Each call also
+ * adds some fixed cost XML_ENT_FIXED_COST to discourage attacks with
+ * short entities.
+ *
+ * Returns 1 on error, 0 on success.
+ */
+static int
+xmlParserEntityCheck(xmlParserCtxtPtr ctxt, unsigned long extra)
+{
+    unsigned long consumed;
+    xmlParserInputPtr input = ctxt->input;
+    xmlEntityPtr entity = input->entity;
+
+    /*
+     * Compute total consumed bytes so far, including input streams of
+     * external entities.
+     */
+    consumed = input->parentConsumed;
+    if ((entity == NULL) ||
+        ((entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
+         ((entity->flags & XML_ENT_PARSED) == 0))) {
+        xmlSaturatedAdd(&consumed, input->consumed);
+        xmlSaturatedAddSizeT(&consumed, input->cur - input->base);
+    }
+    xmlSaturatedAdd(&consumed, ctxt->sizeentities);
+
+    /*
+     * Add extra cost and some fixed cost.
+     */
+    xmlSaturatedAdd(&ctxt->sizeentcopy, extra);
+    xmlSaturatedAdd(&ctxt->sizeentcopy, XML_ENT_FIXED_COST);
+
+    /*
+     * It's important to always use saturation arithmetic when tracking
+     * entity sizes to make the size checks reliable. If "sizeentcopy"
+     * overflows, we have to abort.
+     */
+    if ((ctxt->sizeentcopy > XML_PARSER_ALLOWED_EXPANSION) &&
+        ((ctxt->sizeentcopy >= ULONG_MAX) ||
+         (ctxt->sizeentcopy / XML_PARSER_NON_LINEAR > consumed))) {
+        xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_LOOP,
+                       "Maximum entity amplification factor exceeded");
+        xmlHaltParser(ctxt);
+        return(1);
+    }
+
+    return(0);
+}
+
 /************************************************************************
  *									*
  *		Library wide options					*
@@ -1060,11 +1013,7 @@
             return(0);
 #endif
         case XML_WITH_DEBUG_RUN:
-#ifdef LIBXML_DEBUG_RUNTIME
-            return(1);
-#else
             return(0);
-#endif
         case XML_WITH_ZLIB:
 #ifdef LIBXML_ZLIB_ENABLED
             return(1);
@@ -1230,7 +1179,7 @@
 	    return(NULL);
 	}
 	xmlAttrNormalizeSpace(ret, ret);
-	*len = (int) strlen((const char *)ret);
+	*len = strlen((const char *)ret);
         return(ret);
     } else if (remove_head) {
         *len -= remove_head;
@@ -1336,6 +1285,8 @@
     /* intern the string and precompute the end */
     len = xmlStrlen(value);
     value = xmlDictLookup(ctxt->dict, value, len);
+    if (value == NULL)
+        goto mem_error;
     defaults->values[5 * defaults->nbAttrs + 2] = value;
     defaults->values[5 * defaults->nbAttrs + 3] = value + len;
     if (ctxt->external)
@@ -1715,25 +1666,21 @@
     int *attallocs;
     int maxatts;
 
-    if (ctxt->atts == NULL) {
-	maxatts = 55; /* allow for 10 attrs by default */
-	atts = (const xmlChar **)
-	       xmlMalloc(maxatts * sizeof(xmlChar *));
-	if (atts == NULL) goto mem_error;
-	ctxt->atts = atts;
-	attallocs = (int *) xmlMalloc((maxatts / 5) * sizeof(int));
-	if (attallocs == NULL) goto mem_error;
-	ctxt->attallocs = attallocs;
-	ctxt->maxatts = maxatts;
-    } else if (nr + 5 > ctxt->maxatts) {
-	maxatts = (nr + 5) * 2;
-	atts = (const xmlChar **) xmlRealloc((void *) ctxt->atts,
+    if (nr + 5 > ctxt->maxatts) {
+	maxatts = ctxt->maxatts == 0 ? 55 : (nr + 5) * 2;
+	atts = (const xmlChar **) xmlMalloc(
 				     maxatts * sizeof(const xmlChar *));
 	if (atts == NULL) goto mem_error;
-	ctxt->atts = atts;
 	attallocs = (int *) xmlRealloc((void *) ctxt->attallocs,
 	                             (maxatts / 5) * sizeof(int));
-	if (attallocs == NULL) goto mem_error;
+	if (attallocs == NULL) {
+            xmlFree(atts);
+            goto mem_error;
+        }
+        if (ctxt->maxatts > 0)
+            memcpy(atts, ctxt->atts, ctxt->maxatts * sizeof(const xmlChar *));
+        xmlFree(ctxt->atts);
+	ctxt->atts = atts;
 	ctxt->attallocs = attallocs;
 	ctxt->maxatts = maxatts;
     }
@@ -1758,18 +1705,17 @@
     if ((ctxt == NULL) || (value == NULL))
         return(-1);
     if (ctxt->inputNr >= ctxt->inputMax) {
-        ctxt->inputMax *= 2;
-        ctxt->inputTab =
-            (xmlParserInputPtr *) xmlRealloc(ctxt->inputTab,
-                                             ctxt->inputMax *
-                                             sizeof(ctxt->inputTab[0]));
-        if (ctxt->inputTab == NULL) {
+        size_t newSize = ctxt->inputMax * 2;
+        xmlParserInputPtr *tmp;
+
+        tmp = (xmlParserInputPtr *) xmlRealloc(ctxt->inputTab,
+                                               newSize * sizeof(*tmp));
+        if (tmp == NULL) {
             xmlErrMemory(ctxt, NULL);
-	    xmlFreeInputStream(value);
-	    ctxt->inputMax /= 2;
-	    value = NULL;
             return (-1);
         }
+        ctxt->inputTab = tmp;
+        ctxt->inputMax = newSize;
     }
     ctxt->inputTab[ctxt->inputNr] = value;
     ctxt->input = value;
@@ -2101,7 +2047,7 @@
 #define SKIP(val) do {							\
     ctxt->input->cur += (val),ctxt->input->col+=(val);			\
     if (*ctxt->input->cur == 0)						\
-        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);			\
+        xmlParserGrow(ctxt);						\
   } while (0)
 
 #define SKIPL(val) do {							\
@@ -2113,47 +2059,17 @@
 	ctxt->input->cur++;						\
     }									\
     if (*ctxt->input->cur == 0)						\
-        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);			\
+        xmlParserGrow(ctxt);						\
   } while (0)
 
 #define SHRINK if ((ctxt->progressive == 0) &&				\
 		   (ctxt->input->cur - ctxt->input->base > 2 * INPUT_CHUNK) && \
 		   (ctxt->input->end - ctxt->input->cur < 2 * INPUT_CHUNK)) \
-	xmlSHRINK (ctxt);
-
-static void xmlSHRINK (xmlParserCtxtPtr ctxt) {
-    xmlParserInputShrink(ctxt->input);
-    if (*ctxt->input->cur == 0)
-        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
-}
+	xmlParserShrink(ctxt);
 
 #define GROW if ((ctxt->progressive == 0) &&				\
 		 (ctxt->input->end - ctxt->input->cur < INPUT_CHUNK))	\
-	xmlGROW (ctxt);
-
-static void xmlGROW (xmlParserCtxtPtr ctxt) {
-    ptrdiff_t curEnd = ctxt->input->end - ctxt->input->cur;
-    ptrdiff_t curBase = ctxt->input->cur - ctxt->input->base;
-
-    if (((curEnd > XML_MAX_LOOKUP_LIMIT) ||
-         (curBase > XML_MAX_LOOKUP_LIMIT)) &&
-         ((ctxt->input->buf) &&
-          (ctxt->input->buf->readcallback != xmlInputReadCallbackNop)) &&
-        ((ctxt->options & XML_PARSE_HUGE) == 0)) {
-        xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "Huge input lookup");
-        xmlHaltParser(ctxt);
-	return;
-    }
-    xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
-    if ((ctxt->input->cur > ctxt->input->end) ||
-        (ctxt->input->cur < ctxt->input->base)) {
-        xmlHaltParser(ctxt);
-        xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "cur index out of bound");
-	return;
-    }
-    if ((ctxt->input->cur != NULL) && (*ctxt->input->cur == 0))
-        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
-}
+	xmlParserGrow(ctxt);
 
 #define SKIP_BLANKS xmlSkipBlankChars(ctxt)
 
@@ -2163,7 +2079,7 @@
 	ctxt->input->col++;						\
 	ctxt->input->cur++;						\
 	if (*ctxt->input->cur == 0)					\
-	    xmlParserInputGrow(ctxt->input, INPUT_CHUNK);		\
+	    xmlParserGrow(ctxt);						\
     }
 
 #define NEXTL(l) do {							\
@@ -2177,7 +2093,7 @@
 #define CUR_SCHAR(s, l) xmlStringCurrentChar(ctxt, s, &l)
 
 #define COPY_BUF(l,b,i,v)						\
-    if (l == 1) b[i++] = (xmlChar) v;					\
+    if (l == 1) b[i++] = v;						\
     else i += xmlCopyCharMultiByte(&b[i],v)
 
 /**
@@ -2212,10 +2128,11 @@
 		ctxt->input->col++;
 	    }
 	    cur++;
-	    res++;
+	    if (res < INT_MAX)
+		res++;
 	    if (*cur == 0) {
 		ctxt->input->cur = cur;
-		xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+		xmlParserGrow(ctxt);
 		cur = ctxt->input->cur;
 	    }
 	}
@@ -2223,7 +2140,7 @@
     } else {
         int expandPE = ((ctxt->external != 0) || (ctxt->inputNr != 1));
 
-	while (1) {
+	while (ctxt->instate != XML_PARSER_EOF) {
             if (IS_BLANK_CH(CUR)) { /* CHECKED tstblanks.xml */
 		NEXT;
 	    } else if (CUR == '%') {
@@ -2234,8 +2151,30 @@
                     break;
 	        xmlParsePEReference(ctxt);
             } else if (CUR == 0) {
+                unsigned long consumed;
+                xmlEntityPtr ent;
+
                 if (ctxt->inputNr <= 1)
                     break;
+
+                consumed = ctxt->input->consumed;
+                xmlSaturatedAddSizeT(&consumed,
+                                     ctxt->input->cur - ctxt->input->base);
+
+                /*
+                 * Add to sizeentities when parsing an external entity
+                 * for the first time.
+                 */
+                ent = ctxt->input->entity;
+                if ((ent->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
+                    ((ent->flags & XML_ENT_PARSED) == 0)) {
+                    ent->flags |= XML_ENT_PARSED;
+
+                    xmlSaturatedAdd(&ctxt->sizeentities, consumed);
+                }
+
+                xmlParserEntityCheck(ctxt, consumed);
+
                 xmlPopInput(ctxt);
             } else {
                 break;
@@ -2248,7 +2187,8 @@
              * by the attachment of one leading and one following space (#x20)
              * character."
              */
-	    res++;
+	    if (res < INT_MAX)
+		res++;
         }
     }
     return(res);
@@ -2271,6 +2211,8 @@
  */
 xmlChar
 xmlPopInput(xmlParserCtxtPtr ctxt) {
+    xmlParserInputPtr input;
+
     if ((ctxt == NULL) || (ctxt->inputNr <= 1)) return(0);
     if (xmlParserDebugEntities)
 	xmlGenericError(xmlGenericErrorContext,
@@ -2279,9 +2221,12 @@
         (ctxt->instate != XML_PARSER_EOF))
         xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
                     "Unfinished entity outside the DTD");
-    xmlFreeInputStream(inputPop(ctxt));
+    input = inputPop(ctxt);
+    if (input->entity != NULL)
+        input->entity->flags &= ~XML_ENT_EXPANDING;
+    xmlFreeInputStream(input);
     if (*ctxt->input->cur == 0)
-        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+        xmlParserGrow(ctxt);
     return(CUR);
 }
 
@@ -2308,7 +2253,7 @@
 		"Pushing input %d : %.30s\n", ctxt->inputNr+1, input->cur);
     }
     if (((ctxt->inputNr > 40) && ((ctxt->options & XML_PARSE_HUGE) == 0)) ||
-        (ctxt->inputNr > 1024)) {
+        (ctxt->inputNr > 100)) {
         xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
         while (ctxt->inputNr > 1)
             xmlFreeInputStream(inputPop(ctxt));
@@ -2325,7 +2270,9 @@
  * xmlParseCharRef:
  * @ctxt:  an XML parser context
  *
- * parse Reference declarations
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse a numeric character reference. Always consumes '&'.
  *
  * [66] CharRef ::= '&#' [0-9]+ ';' |
  *                  '&#x' [0-9a-fA-F]+ ';'
@@ -2406,6 +2353,8 @@
 	    ctxt->input->cur++;
 	}
     } else {
+        if (RAW == '&')
+            SKIP(1);
         xmlFatalErr(ctxt, XML_ERR_INVALID_CHARREF, NULL);
     }
 
@@ -2629,7 +2578,7 @@
 }
 
 /**
- * xmlStringLenDecodeEntities:
+ * xmlStringDecodeEntitiesInt:
  * @ctxt:  the parser context
  * @str:  the input string
  * @len: the string length
@@ -2637,19 +2586,12 @@
  * @end:  an end marker xmlChar, 0 if none
  * @end2:  an end marker xmlChar, 0 if none
  * @end3:  an end marker xmlChar, 0 if none
- *
- * Takes a entity string content and process to do the adequate substitutions.
- *
- * [67] Reference ::= EntityRef | CharRef
- *
- * [69] PEReference ::= '%' Name ';'
- *
- * Returns A newly allocated string with the substitution done. The caller
- *      must deallocate it !
+ * @check:  whether to perform entity checks
  */
-xmlChar *
-xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
-		      int what, xmlChar end, xmlChar  end2, xmlChar end3) {
+static xmlChar *
+xmlStringDecodeEntitiesInt(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
+		           int what, xmlChar end, xmlChar  end2, xmlChar end3,
+                           int check) {
     xmlChar *buffer = NULL;
     size_t buffer_size = 0;
     size_t nbchars = 0;
@@ -2660,14 +2602,15 @@
     xmlEntityPtr ent;
     int c,l;
 
-    if ((ctxt == NULL) || (str == NULL) || (len < 0))
-	return(NULL);
+    if (str == NULL)
+        return(NULL);
     last = str + len;
 
     if (((ctxt->depth > 40) &&
          ((ctxt->options & XML_PARSE_HUGE) == 0)) ||
-	(ctxt->depth > 1024)) {
-	xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
+	(ctxt->depth > 100)) {
+	xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_LOOP,
+                       "Maximum entity nesting depth exceeded");
 	return(NULL);
     }
 
@@ -2705,9 +2648,6 @@
 			"String decoding Entity Reference: %.30s\n",
 			str);
 	    ent = xmlParseStringEntityRef(ctxt, &str);
-	    xmlParserEntityCheck(ctxt, 0, ent, 0);
-	    if (ent != NULL)
-	        ctxt->nbentities += ent->checked / 2;
 	    if ((ent != NULL) &&
 		(ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) {
 		if (ent->content != NULL) {
@@ -2721,10 +2661,23 @@
                     goto int_error;
 		}
 	    } else if ((ent != NULL) && (ent->content != NULL)) {
+	        if ((check) && (xmlParserEntityCheck(ctxt, ent->length)))
+                    goto int_error;
+
+                if (ent->flags & XML_ENT_EXPANDING) {
+	            xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
+                    xmlHaltParser(ctxt);
+                    ent->content[0] = 0;
+                    goto int_error;
+                }
+
+                ent->flags |= XML_ENT_EXPANDING;
 		ctxt->depth++;
-		rep = xmlStringDecodeEntities(ctxt, ent->content, what,
-			                      0, 0, 0);
+		rep = xmlStringDecodeEntitiesInt(ctxt, ent->content,
+                        ent->length, what, 0, 0, 0, check);
 		ctxt->depth--;
+                ent->flags &= ~XML_ENT_EXPANDING;
+
 		if (rep == NULL) {
                     ent->content[0] = 0;
                     goto int_error;
@@ -2734,8 +2687,6 @@
                 while (*current != 0) { /* non input consuming loop */
                     buffer[nbchars++] = *current++;
                     if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
-                        if (xmlParserEntityCheck(ctxt, nbchars, ent, 0))
-                            goto int_error;
                         growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
                     }
                 }
@@ -2758,9 +2709,6 @@
 		xmlGenericError(xmlGenericErrorContext,
 			"String decoding PE Reference: %.30s\n", str);
 	    ent = xmlParseStringPEReference(ctxt, &str);
-	    xmlParserEntityCheck(ctxt, 0, ent, 0);
-	    if (ent != NULL)
-	        ctxt->nbentities += ent->checked / 2;
 	    if (ent != NULL) {
                 if (ent->content == NULL) {
 		    /*
@@ -2779,10 +2727,25 @@
 		                      ent->name, NULL);
 		    }
 		}
+
+	        if ((check) && (xmlParserEntityCheck(ctxt, ent->length)))
+                    goto int_error;
+
+                if (ent->flags & XML_ENT_EXPANDING) {
+	            xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
+                    xmlHaltParser(ctxt);
+                    if (ent->content != NULL)
+                        ent->content[0] = 0;
+                    goto int_error;
+                }
+
+                ent->flags |= XML_ENT_EXPANDING;
 		ctxt->depth++;
-		rep = xmlStringDecodeEntities(ctxt, ent->content, what,
-			                      0, 0, 0);
+		rep = xmlStringDecodeEntitiesInt(ctxt, ent->content,
+                        ent->length, what, 0, 0, 0, check);
 		ctxt->depth--;
+                ent->flags &= ~XML_ENT_EXPANDING;
+
 		if (rep == NULL) {
                     if (ent->content != NULL)
                         ent->content[0] = 0;
@@ -2792,8 +2755,6 @@
                 while (*current != 0) { /* non input consuming loop */
                     buffer[nbchars++] = *current++;
                     if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
-                        if (xmlParserEntityCheck(ctxt, nbchars, ent, 0))
-                            goto int_error;
                         growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
                     }
                 }
@@ -2826,6 +2787,37 @@
 }
 
 /**
+ * xmlStringLenDecodeEntities:
+ * @ctxt:  the parser context
+ * @str:  the input string
+ * @len: the string length
+ * @what:  combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
+ * @end:  an end marker xmlChar, 0 if none
+ * @end2:  an end marker xmlChar, 0 if none
+ * @end3:  an end marker xmlChar, 0 if none
+ *
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Takes a entity string content and process to do the adequate substitutions.
+ *
+ * [67] Reference ::= EntityRef | CharRef
+ *
+ * [69] PEReference ::= '%' Name ';'
+ *
+ * Returns A newly allocated string with the substitution done. The caller
+ *      must deallocate it !
+ */
+xmlChar *
+xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
+                           int what, xmlChar end, xmlChar  end2,
+                           xmlChar end3) {
+    if ((ctxt == NULL) || (str == NULL) || (len < 0))
+        return(NULL);
+    return(xmlStringDecodeEntitiesInt(ctxt, str, len, what,
+                                      end, end2, end3, 0));
+}
+
+/**
  * xmlStringDecodeEntities:
  * @ctxt:  the parser context
  * @str:  the input string
@@ -2834,6 +2826,8 @@
  * @end2:  an end marker xmlChar, 0 if none
  * @end3:  an end marker xmlChar, 0 if none
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * Takes a entity string content and process to do the adequate substitutions.
  *
  * [67] Reference ::= EntityRef | CharRef
@@ -2847,8 +2841,8 @@
 xmlStringDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int what,
 		        xmlChar end, xmlChar  end2, xmlChar end3) {
     if ((ctxt == NULL) || (str == NULL)) return(NULL);
-    return(xmlStringLenDecodeEntities(ctxt, str, xmlStrlen(str), what,
-           end, end2, end3));
+    return(xmlStringDecodeEntitiesInt(ctxt, str, xmlStrlen(str), what,
+                                      end, end2, end3, 0));
 }
 
 /************************************************************************
@@ -2988,7 +2982,7 @@
 	 */
 	max = len * 2;
 
-	buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
+	buffer = (xmlChar *) xmlMallocAtomic(max);
 	if (buffer == NULL) {
 	    xmlErrMemory(ctxt, NULL);
 	    return(NULL);
@@ -2999,8 +2993,7 @@
 	        xmlChar *tmp;
 
 		max *= 2;
-		tmp = (xmlChar *) xmlRealloc(buffer,
-						max * sizeof(xmlChar));
+		tmp = (xmlChar *) xmlRealloc(buffer, max);
 		if (tmp == NULL) {
 		    xmlFree(buffer);
 		    xmlErrMemory(ctxt, NULL);
@@ -3067,7 +3060,7 @@
 	     */
 	    max = len * 2;
 
-	    buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
+	    buffer = (xmlChar *) xmlMallocAtomic(max);
 	    if (buffer == NULL) {
 	        xmlErrMemory(ctxt, NULL);
 		return(NULL);
@@ -3078,8 +3071,7 @@
 		    xmlChar *tmp;
 
 		    max *= 2;
-		    tmp = (xmlChar *) xmlRealloc(buffer,
-						    max * sizeof(xmlChar));
+		    tmp = (xmlChar *) xmlRealloc(buffer, max);
 		    if (tmp == NULL) {
 			xmlErrMemory(ctxt, NULL);
 			xmlFree(buffer);
@@ -3212,6 +3204,9 @@
     int len = 0, l;
     int c;
     int count = 0;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_TEXT_LENGTH :
+                    XML_MAX_NAME_LENGTH;
 
 #ifdef DEBUG
     nbParseNameComplex++;
@@ -3277,7 +3272,8 @@
                 if (ctxt->instate == XML_PARSER_EOF)
                     return(NULL);
 	    }
-	    len += l;
+            if (len <= INT_MAX - l)
+	        len += l;
 	    NEXTL(l);
 	    c = CUR_CHAR(l);
 	}
@@ -3303,13 +3299,13 @@
                 if (ctxt->instate == XML_PARSER_EOF)
                     return(NULL);
 	    }
-	    len += l;
+            if (len <= INT_MAX - l)
+	        len += l;
 	    NEXTL(l);
 	    c = CUR_CHAR(l);
 	}
     }
-    if ((len > XML_MAX_NAME_LENGTH) &&
-        ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+    if (len > maxLength) {
         xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Name");
         return(NULL);
     }
@@ -3332,6 +3328,8 @@
  * xmlParseName:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an XML name.
  *
  * [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
@@ -3348,7 +3346,10 @@
 xmlParseName(xmlParserCtxtPtr ctxt) {
     const xmlChar *in;
     const xmlChar *ret;
-    int count = 0;
+    size_t count = 0;
+    size_t maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                       XML_MAX_TEXT_LENGTH :
+                       XML_MAX_NAME_LENGTH;
 
     GROW;
 
@@ -3372,8 +3373,7 @@
 	    in++;
 	if ((*in > 0) && (*in < 0x80)) {
 	    count = in - ctxt->input->cur;
-            if ((count > XML_MAX_NAME_LENGTH) &&
-                ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+            if (count > maxLength) {
                 xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Name");
                 return(NULL);
             }
@@ -3394,6 +3394,9 @@
     int len = 0, l;
     int c;
     int count = 0;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_TEXT_LENGTH :
+                    XML_MAX_NAME_LENGTH;
     size_t startPosition = 0;
 
 #ifdef DEBUG
@@ -3414,17 +3417,13 @@
     while ((c != ' ') && (c != '>') && (c != '/') && /* test bigname.xml */
 	   (xmlIsNameChar(ctxt, c) && (c != ':'))) {
 	if (count++ > XML_PARSER_CHUNK_SIZE) {
-            if ((len > XML_MAX_NAME_LENGTH) &&
-                ((ctxt->options & XML_PARSE_HUGE) == 0)) {
-                xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName");
-                return(NULL);
-            }
 	    count = 0;
 	    GROW;
             if (ctxt->instate == XML_PARSER_EOF)
                 return(NULL);
 	}
-	len += l;
+        if (len <= INT_MAX - l)
+	    len += l;
 	NEXTL(l);
 	c = CUR_CHAR(l);
 	if (c == 0) {
@@ -3442,8 +3441,7 @@
 	    c = CUR_CHAR(l);
 	}
     }
-    if ((len > XML_MAX_NAME_LENGTH) &&
-        ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+    if (len > maxLength) {
         xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName");
         return(NULL);
     }
@@ -3469,7 +3467,10 @@
 xmlParseNCName(xmlParserCtxtPtr ctxt) {
     const xmlChar *in, *e;
     const xmlChar *ret;
-    int count = 0;
+    size_t count = 0;
+    size_t maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                       XML_MAX_TEXT_LENGTH :
+                       XML_MAX_NAME_LENGTH;
 
 #ifdef DEBUG
     nbParseNCName++;
@@ -3494,8 +3495,7 @@
 	    goto complex;
 	if ((*in > 0) && (*in < 0x80)) {
 	    count = in - ctxt->input->cur;
-            if ((count > XML_MAX_NAME_LENGTH) &&
-                ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+            if (count > maxLength) {
                 xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName");
                 return(NULL);
             }
@@ -3577,6 +3577,9 @@
     const xmlChar *cur = *str;
     int len = 0, l;
     int c;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_TEXT_LENGTH :
+                    XML_MAX_NAME_LENGTH;
 
 #ifdef DEBUG
     nbParseStringName++;
@@ -3602,7 +3605,7 @@
 	    xmlChar *buffer;
 	    int max = len * 2;
 
-	    buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
+	    buffer = (xmlChar *) xmlMallocAtomic(max);
 	    if (buffer == NULL) {
 	        xmlErrMemory(ctxt, NULL);
 		return(NULL);
@@ -3612,15 +3615,8 @@
 		if (len + 10 > max) {
 		    xmlChar *tmp;
 
-                    if ((len > XML_MAX_NAME_LENGTH) &&
-                        ((ctxt->options & XML_PARSE_HUGE) == 0)) {
-                        xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName");
-			xmlFree(buffer);
-                        return(NULL);
-                    }
 		    max *= 2;
-		    tmp = (xmlChar *) xmlRealloc(buffer,
-			                            max * sizeof(xmlChar));
+		    tmp = (xmlChar *) xmlRealloc(buffer, max);
 		    if (tmp == NULL) {
 			xmlErrMemory(ctxt, NULL);
 			xmlFree(buffer);
@@ -3631,14 +3627,18 @@
 		COPY_BUF(l,buffer,len,c);
 		cur += l;
 		c = CUR_SCHAR(cur, l);
+                if (len > maxLength) {
+                    xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName");
+                    xmlFree(buffer);
+                    return(NULL);
+                }
 	    }
 	    buffer[len] = 0;
 	    *str = cur;
 	    return(buffer);
 	}
     }
-    if ((len > XML_MAX_NAME_LENGTH) &&
-        ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+    if (len > maxLength) {
         xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName");
         return(NULL);
     }
@@ -3650,6 +3650,8 @@
  * xmlParseNmtoken:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an XML Nmtoken.
  *
  * [7] Nmtoken ::= (NameChar)+
@@ -3665,6 +3667,9 @@
     int len = 0, l;
     int c;
     int count = 0;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_TEXT_LENGTH :
+                    XML_MAX_NAME_LENGTH;
 
 #ifdef DEBUG
     nbParseNmToken++;
@@ -3698,7 +3703,7 @@
 	    xmlChar *buffer;
 	    int max = len * 2;
 
-	    buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
+	    buffer = (xmlChar *) xmlMallocAtomic(max);
 	    if (buffer == NULL) {
 	        xmlErrMemory(ctxt, NULL);
 		return(NULL);
@@ -3716,15 +3721,8 @@
 		if (len + 10 > max) {
 		    xmlChar *tmp;
 
-                    if ((max > XML_MAX_NAME_LENGTH) &&
-                        ((ctxt->options & XML_PARSE_HUGE) == 0)) {
-                        xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NmToken");
-                        xmlFree(buffer);
-                        return(NULL);
-                    }
 		    max *= 2;
-		    tmp = (xmlChar *) xmlRealloc(buffer,
-			                            max * sizeof(xmlChar));
+		    tmp = (xmlChar *) xmlRealloc(buffer, max);
 		    if (tmp == NULL) {
 			xmlErrMemory(ctxt, NULL);
 			xmlFree(buffer);
@@ -3735,6 +3733,11 @@
 		COPY_BUF(l,buffer,len,c);
 		NEXTL(l);
 		c = CUR_CHAR(l);
+                if (len > maxLength) {
+                    xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NmToken");
+                    xmlFree(buffer);
+                    return(NULL);
+                }
 	    }
 	    buffer[len] = 0;
 	    return(buffer);
@@ -3742,8 +3745,7 @@
     }
     if (len == 0)
         return(NULL);
-    if ((len > XML_MAX_NAME_LENGTH) &&
-        ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+    if (len > maxLength) {
         xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NmToken");
         return(NULL);
     }
@@ -3755,6 +3757,8 @@
  * @ctxt:  an XML parser context
  * @orig:  if non-NULL store a copy of the original entity value
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse a value for ENTITY declarations
  *
  * [9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"' |
@@ -3769,6 +3773,9 @@
     int len = 0;
     int size = XML_PARSER_BUFFER_SIZE;
     int c, l;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_HUGE_LENGTH :
+                    XML_MAX_TEXT_LENGTH;
     xmlChar stop;
     xmlChar *ret = NULL;
     const xmlChar *cur = NULL;
@@ -3780,7 +3787,7 @@
 	xmlFatalErr(ctxt, XML_ERR_ENTITY_NOT_STARTED, NULL);
 	return(NULL);
     }
-    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+    buf = (xmlChar *) xmlMallocAtomic(size);
     if (buf == NULL) {
 	xmlErrMemory(ctxt, NULL);
 	return(NULL);
@@ -3812,7 +3819,7 @@
 	    xmlChar *tmp;
 
 	    size *= 2;
-	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    tmp = (xmlChar *) xmlRealloc(buf, size);
 	    if (tmp == NULL) {
 		xmlErrMemory(ctxt, NULL);
                 goto error;
@@ -3828,6 +3835,12 @@
 	    GROW;
 	    c = CUR_CHAR(l);
 	}
+
+        if (len > maxLength) {
+            xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_NOT_FINISHED,
+                           "entity value too long\n");
+            goto error;
+        }
     }
     buf[len] = 0;
     if (ctxt->instate == XML_PARSER_EOF)
@@ -3882,9 +3895,10 @@
      * so XML_SUBSTITUTE_REF is not set here.
      */
     ++ctxt->depth;
-    ret = xmlStringDecodeEntities(ctxt, buf, XML_SUBSTITUTE_PEREF,
-                                  0, 0, 0);
+    ret = xmlStringDecodeEntitiesInt(ctxt, buf, len, XML_SUBSTITUTE_PEREF,
+                                     0, 0, 0, /* check */ 1);
     --ctxt->depth;
+
     if (orig != NULL) {
         *orig = buf;
         buf = NULL;
@@ -3915,6 +3929,9 @@
     xmlChar *rep = NULL;
     size_t len = 0;
     size_t buf_size = 0;
+    size_t maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                       XML_MAX_HUGE_LENGTH :
+                       XML_MAX_TEXT_LENGTH;
     int c, l, in_space = 0;
     xmlChar *current = NULL;
     xmlEntityPtr ent;
@@ -3946,16 +3963,6 @@
     while (((NXT(0) != limit) && /* checked */
             (IS_CHAR(c)) && (c != '<')) &&
             (ctxt->instate != XML_PARSER_EOF)) {
-        /*
-         * Impose a reasonable limit on attribute size, unless XML_PARSE_HUGE
-         * special option is given
-         */
-        if ((len > XML_MAX_TEXT_LENGTH) &&
-            ((ctxt->options & XML_PARSE_HUGE) == 0)) {
-            xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
-                           "AttValue length too long\n");
-            goto mem_error;
-        }
 	if (c == '&') {
 	    in_space = 0;
 	    if (NXT(1) == '#') {
@@ -3989,9 +3996,6 @@
 		}
 	    } else {
 		ent = xmlParseEntityRef(ctxt);
-		ctxt->nbentities++;
-		if (ent != NULL)
-		    ctxt->nbentities += ent->owner;
 		if ((ent != NULL) &&
 		    (ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) {
 		    if (len + 10 > buf_size) {
@@ -4010,10 +4014,13 @@
 		} else if ((ent != NULL) &&
 		           (ctxt->replaceEntities != 0)) {
 		    if (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) {
+                        if (xmlParserEntityCheck(ctxt, ent->length))
+                            goto error;
+
 			++ctxt->depth;
-			rep = xmlStringDecodeEntities(ctxt, ent->content,
-						      XML_SUBSTITUTE_REF,
-						      0, 0, 0);
+			rep = xmlStringDecodeEntitiesInt(ctxt, ent->content,
+                                ent->length, XML_SUBSTITUTE_REF, 0, 0, 0,
+                                /* check */ 1);
 			--ctxt->depth;
 			if (rep != NULL) {
 			    current = rep;
@@ -4043,29 +4050,47 @@
 		    const xmlChar *cur = ent->name;
 
 		    /*
-		     * This may look absurd but is needed to detect
-		     * entities problems
+                     * We also check for recursion and amplification
+                     * when entities are not substituted. They're
+                     * often expanded later.
 		     */
 		    if ((ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) &&
-			(ent->content != NULL) && (ent->checked == 0)) {
-			unsigned long oldnbent = ctxt->nbentities, diff;
+			(ent->content != NULL)) {
+                        if ((ent->flags & XML_ENT_CHECKED) == 0) {
+                            unsigned long oldCopy = ctxt->sizeentcopy;
 
-			++ctxt->depth;
-			rep = xmlStringDecodeEntities(ctxt, ent->content,
-						  XML_SUBSTITUTE_REF, 0, 0, 0);
-			--ctxt->depth;
+                            ctxt->sizeentcopy = ent->length;
 
-                        diff = ctxt->nbentities - oldnbent + 1;
-                        if (diff > INT_MAX / 2)
-                            diff = INT_MAX / 2;
-                        ent->checked = diff * 2;
-			if (rep != NULL) {
-			    if (xmlStrchr(rep, '<'))
-			        ent->checked |= 1;
-			    xmlFree(rep);
-			    rep = NULL;
-			} else {
-                            ent->content[0] = 0;
+                            ++ctxt->depth;
+                            rep = xmlStringDecodeEntitiesInt(ctxt,
+                                    ent->content, ent->length,
+                                    XML_SUBSTITUTE_REF, 0, 0, 0,
+                                    /* check */ 1);
+                            --ctxt->depth;
+
+                            /*
+                             * If we're parsing DTD content, the entity
+                             * might reference other entities which
+                             * weren't defined yet, so the check isn't
+                             * reliable.
+                             */
+                            if (ctxt->inSubset == 0) {
+                                ent->flags |= XML_ENT_CHECKED;
+                                ent->expandedSize = ctxt->sizeentcopy;
+                            }
+
+                            if (rep != NULL) {
+                                xmlFree(rep);
+                                rep = NULL;
+                            } else {
+                                ent->content[0] = 0;
+                            }
+
+                            if (xmlParserEntityCheck(ctxt, oldCopy))
+                                goto error;
+                        } else {
+                            if (xmlParserEntityCheck(ctxt, ent->expandedSize))
+                                goto error;
                         }
 		    }
 
@@ -4103,6 +4128,11 @@
 	}
 	GROW;
 	c = CUR_CHAR(l);
+        if (len > maxLength) {
+            xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+                           "AttValue length too long\n");
+            goto mem_error;
+        }
     }
     if (ctxt->instate == XML_PARSER_EOF)
         goto error;
@@ -4124,17 +4154,7 @@
     } else
 	NEXT;
 
-    /*
-     * There we potentially risk an overflow, don't allow attribute value of
-     * length more than INT_MAX it is a very reasonable assumption !
-     */
-    if (len >= INT_MAX) {
-        xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
-                       "AttValue length too long\n");
-        goto mem_error;
-    }
-
-    if (attlen != NULL) *attlen = (int) len;
+    if (attlen != NULL) *attlen = len;
     return(buf);
 
 mem_error:
@@ -4151,6 +4171,8 @@
  * xmlParseAttValue:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse a value for an attribute
  * Note: the parser won't do substitution of entities here, this
  * will be handled later in xmlStringGetNodeList
@@ -4191,6 +4213,8 @@
  * xmlParseSystemLiteral:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an XML Literal
  *
  * [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")
@@ -4204,6 +4228,9 @@
     int len = 0;
     int size = XML_PARSER_BUFFER_SIZE;
     int cur, l;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_TEXT_LENGTH :
+                    XML_MAX_NAME_LENGTH;
     xmlChar stop;
     int state = ctxt->instate;
     int count = 0;
@@ -4220,7 +4247,7 @@
 	return(NULL);
     }
 
-    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+    buf = (xmlChar *) xmlMallocAtomic(size);
     if (buf == NULL) {
         xmlErrMemory(ctxt, NULL);
 	return(NULL);
@@ -4231,15 +4258,8 @@
 	if (len + 5 >= size) {
 	    xmlChar *tmp;
 
-            if ((size > XML_MAX_NAME_LENGTH) &&
-                ((ctxt->options & XML_PARSE_HUGE) == 0)) {
-                xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "SystemLiteral");
-                xmlFree(buf);
-		ctxt->instate = (xmlParserInputState) state;
-                return(NULL);
-            }
 	    size *= 2;
-	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    tmp = (xmlChar *) xmlRealloc(buf, size);
 	    if (tmp == NULL) {
 	        xmlFree(buf);
 		xmlErrMemory(ctxt, NULL);
@@ -4266,6 +4286,12 @@
 	    SHRINK;
 	    cur = CUR_CHAR(l);
 	}
+        if (len > maxLength) {
+            xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "SystemLiteral");
+            xmlFree(buf);
+            ctxt->instate = (xmlParserInputState) state;
+            return(NULL);
+        }
     }
     buf[len] = 0;
     ctxt->instate = (xmlParserInputState) state;
@@ -4281,6 +4307,8 @@
  * xmlParsePubidLiteral:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an XML public literal
  *
  * [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"
@@ -4293,6 +4321,9 @@
     xmlChar *buf = NULL;
     int len = 0;
     int size = XML_PARSER_BUFFER_SIZE;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_TEXT_LENGTH :
+                    XML_MAX_NAME_LENGTH;
     xmlChar cur;
     xmlChar stop;
     int count = 0;
@@ -4309,7 +4340,7 @@
 	xmlFatalErr(ctxt, XML_ERR_LITERAL_NOT_STARTED, NULL);
 	return(NULL);
     }
-    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+    buf = (xmlChar *) xmlMallocAtomic(size);
     if (buf == NULL) {
 	xmlErrMemory(ctxt, NULL);
 	return(NULL);
@@ -4320,14 +4351,8 @@
 	if (len + 1 >= size) {
 	    xmlChar *tmp;
 
-            if ((size > XML_MAX_NAME_LENGTH) &&
-                ((ctxt->options & XML_PARSE_HUGE) == 0)) {
-                xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Public ID");
-                xmlFree(buf);
-                return(NULL);
-            }
 	    size *= 2;
-	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    tmp = (xmlChar *) xmlRealloc(buf, size);
 	    if (tmp == NULL) {
 		xmlErrMemory(ctxt, NULL);
 		xmlFree(buf);
@@ -4353,6 +4378,11 @@
 	    SHRINK;
 	    cur = CUR;
 	}
+        if (len > maxLength) {
+            xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Public ID");
+            xmlFree(buf);
+            return(NULL);
+        }
     }
     buf[len] = 0;
     if (cur != stop) {
@@ -4364,7 +4394,7 @@
     return(buf);
 }
 
-static void xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int cdata);
+static void xmlParseCharDataComplex(xmlParserCtxtPtr ctxt);
 
 /*
  * used for the test in the inner loop of the char data testing
@@ -4407,9 +4437,13 @@
 /**
  * xmlParseCharData:
  * @ctxt:  an XML parser context
- * @cdata:  int indicating whether we are within a CDATA section
+ * @cdata:  unused
  *
- * parse a CharData section.
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse character data. Always makes progress if the first char isn't
+ * '<' or '&'.
+ *
  * if we are within a CDATA section ']]>' marks an end of section.
  *
  * The right angle bracket (>) may be represented using the string "&gt;",
@@ -4421,7 +4455,7 @@
  */
 
 void
-xmlParseCharData(xmlParserCtxtPtr ctxt, int cdata) {
+xmlParseCharData(xmlParserCtxtPtr ctxt, ATTRIBUTE_UNUSED int cdata) {
     const xmlChar *in;
     int nbchar = 0;
     int line = ctxt->input->line;
@@ -4434,132 +4468,127 @@
      * Accelerated common case where input don't need to be
      * modified before passing it to the handler.
      */
-    if (!cdata) {
-	in = ctxt->input->cur;
-	do {
+    in = ctxt->input->cur;
+    do {
 get_more_space:
-	    while (*in == 0x20) { in++; ctxt->input->col++; }
-	    if (*in == 0xA) {
-		do {
-		    ctxt->input->line++; ctxt->input->col = 1;
-		    in++;
-		} while (*in == 0xA);
-		goto get_more_space;
-	    }
-	    if (*in == '<') {
-		nbchar = in - ctxt->input->cur;
-		if (nbchar > 0) {
-		    const xmlChar *tmp = ctxt->input->cur;
-		    ctxt->input->cur = in;
+        while (*in == 0x20) { in++; ctxt->input->col++; }
+        if (*in == 0xA) {
+            do {
+                ctxt->input->line++; ctxt->input->col = 1;
+                in++;
+            } while (*in == 0xA);
+            goto get_more_space;
+        }
+        if (*in == '<') {
+            nbchar = in - ctxt->input->cur;
+            if (nbchar > 0) {
+                const xmlChar *tmp = ctxt->input->cur;
+                ctxt->input->cur = in;
 
-		    if ((ctxt->sax != NULL) &&
-		        (ctxt->sax->ignorableWhitespace !=
-		         ctxt->sax->characters)) {
-			if (areBlanks(ctxt, tmp, nbchar, 1)) {
-			    if (ctxt->sax->ignorableWhitespace != NULL)
-				ctxt->sax->ignorableWhitespace(ctxt->userData,
-						       tmp, nbchar);
-			} else {
-			    if (ctxt->sax->characters != NULL)
-				ctxt->sax->characters(ctxt->userData,
-						      tmp, nbchar);
-			    if (*ctxt->space == -1)
-			        *ctxt->space = -2;
-			}
-		    } else if ((ctxt->sax != NULL) &&
-		               (ctxt->sax->characters != NULL)) {
-			ctxt->sax->characters(ctxt->userData,
-					      tmp, nbchar);
-		    }
-		}
-		return;
-	    }
+                if ((ctxt->sax != NULL) &&
+                    (ctxt->sax->ignorableWhitespace !=
+                     ctxt->sax->characters)) {
+                    if (areBlanks(ctxt, tmp, nbchar, 1)) {
+                        if (ctxt->sax->ignorableWhitespace != NULL)
+                            ctxt->sax->ignorableWhitespace(ctxt->userData,
+                                                   tmp, nbchar);
+                    } else {
+                        if (ctxt->sax->characters != NULL)
+                            ctxt->sax->characters(ctxt->userData,
+                                                  tmp, nbchar);
+                        if (*ctxt->space == -1)
+                            *ctxt->space = -2;
+                    }
+                } else if ((ctxt->sax != NULL) &&
+                           (ctxt->sax->characters != NULL)) {
+                    ctxt->sax->characters(ctxt->userData,
+                                          tmp, nbchar);
+                }
+            }
+            return;
+        }
 
 get_more:
-            ccol = ctxt->input->col;
-	    while (test_char_data[*in]) {
-		in++;
-		ccol++;
-	    }
-	    ctxt->input->col = ccol;
-	    if (*in == 0xA) {
-		do {
-		    ctxt->input->line++; ctxt->input->col = 1;
-		    in++;
-		} while (*in == 0xA);
-		goto get_more;
-	    }
-	    if (*in == ']') {
-		if ((in[1] == ']') && (in[2] == '>')) {
-		    xmlFatalErr(ctxt, XML_ERR_MISPLACED_CDATA_END, NULL);
-		    ctxt->input->cur = in + 1;
-		    return;
-		}
-		in++;
-		ctxt->input->col++;
-		goto get_more;
-	    }
-	    nbchar = in - ctxt->input->cur;
-	    if (nbchar > 0) {
-		if ((ctxt->sax != NULL) &&
-		    (ctxt->sax->ignorableWhitespace !=
-		     ctxt->sax->characters) &&
-		    (IS_BLANK_CH(*ctxt->input->cur))) {
-		    const xmlChar *tmp = ctxt->input->cur;
-		    ctxt->input->cur = in;
+        ccol = ctxt->input->col;
+        while (test_char_data[*in]) {
+            in++;
+            ccol++;
+        }
+        ctxt->input->col = ccol;
+        if (*in == 0xA) {
+            do {
+                ctxt->input->line++; ctxt->input->col = 1;
+                in++;
+            } while (*in == 0xA);
+            goto get_more;
+        }
+        if (*in == ']') {
+            if ((in[1] == ']') && (in[2] == '>')) {
+                xmlFatalErr(ctxt, XML_ERR_MISPLACED_CDATA_END, NULL);
+                ctxt->input->cur = in + 1;
+                return;
+            }
+            in++;
+            ctxt->input->col++;
+            goto get_more;
+        }
+        nbchar = in - ctxt->input->cur;
+        if (nbchar > 0) {
+            if ((ctxt->sax != NULL) &&
+                (ctxt->sax->ignorableWhitespace !=
+                 ctxt->sax->characters) &&
+                (IS_BLANK_CH(*ctxt->input->cur))) {
+                const xmlChar *tmp = ctxt->input->cur;
+                ctxt->input->cur = in;
 
-		    if (areBlanks(ctxt, tmp, nbchar, 0)) {
-		        if (ctxt->sax->ignorableWhitespace != NULL)
-			    ctxt->sax->ignorableWhitespace(ctxt->userData,
-							   tmp, nbchar);
-		    } else {
-		        if (ctxt->sax->characters != NULL)
-			    ctxt->sax->characters(ctxt->userData,
-						  tmp, nbchar);
-			if (*ctxt->space == -1)
-			    *ctxt->space = -2;
-		    }
-                    line = ctxt->input->line;
-                    col = ctxt->input->col;
-		} else if (ctxt->sax != NULL) {
-		    if (ctxt->sax->characters != NULL)
-			ctxt->sax->characters(ctxt->userData,
-					      ctxt->input->cur, nbchar);
-                    line = ctxt->input->line;
-                    col = ctxt->input->col;
-		}
-                /* something really bad happened in the SAX callback */
-                if (ctxt->instate != XML_PARSER_CONTENT)
-                    return;
-	    }
-	    ctxt->input->cur = in;
-	    if (*in == 0xD) {
-		in++;
-		if (*in == 0xA) {
-		    ctxt->input->cur = in;
-		    in++;
-		    ctxt->input->line++; ctxt->input->col = 1;
-		    continue; /* while */
-		}
-		in--;
-	    }
-	    if (*in == '<') {
-		return;
-	    }
-	    if (*in == '&') {
-		return;
-	    }
-	    SHRINK;
-	    GROW;
-            if (ctxt->instate == XML_PARSER_EOF)
-		return;
-	    in = ctxt->input->cur;
-	} while (((*in >= 0x20) && (*in <= 0x7F)) || (*in == 0x09) || (*in == 0x0a));
-	nbchar = 0;
-    }
+                if (areBlanks(ctxt, tmp, nbchar, 0)) {
+                    if (ctxt->sax->ignorableWhitespace != NULL)
+                        ctxt->sax->ignorableWhitespace(ctxt->userData,
+                                                       tmp, nbchar);
+                } else {
+                    if (ctxt->sax->characters != NULL)
+                        ctxt->sax->characters(ctxt->userData,
+                                              tmp, nbchar);
+                    if (*ctxt->space == -1)
+                        *ctxt->space = -2;
+                }
+                line = ctxt->input->line;
+                col = ctxt->input->col;
+            } else if (ctxt->sax != NULL) {
+                if (ctxt->sax->characters != NULL)
+                    ctxt->sax->characters(ctxt->userData,
+                                          ctxt->input->cur, nbchar);
+                line = ctxt->input->line;
+                col = ctxt->input->col;
+            }
+        }
+        ctxt->input->cur = in;
+        if (*in == 0xD) {
+            in++;
+            if (*in == 0xA) {
+                ctxt->input->cur = in;
+                in++;
+                ctxt->input->line++; ctxt->input->col = 1;
+                continue; /* while */
+            }
+            in--;
+        }
+        if (*in == '<') {
+            return;
+        }
+        if (*in == '&') {
+            return;
+        }
+        SHRINK;
+        GROW;
+        if (ctxt->instate == XML_PARSER_EOF)
+            return;
+        in = ctxt->input->cur;
+    } while (((*in >= 0x20) && (*in <= 0x7F)) ||
+             (*in == 0x09) || (*in == 0x0a));
     ctxt->input->line = line;
     ctxt->input->col = col;
-    xmlParseCharDataComplex(ctxt, cdata);
+    xmlParseCharDataComplex(ctxt);
 }
 
 /**
@@ -4567,12 +4596,14 @@
  * @ctxt:  an XML parser context
  * @cdata:  int indicating whether we are within a CDATA section
  *
+ * Always makes progress if the first char isn't '<' or '&'.
+ *
  * parse a CharData section.this is the fallback function
  * of xmlParseCharData() when the parsing requires handling
  * of non-ASCII characters.
  */
 static void
-xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int cdata) {
+xmlParseCharDataComplex(xmlParserCtxtPtr ctxt) {
     xmlChar buf[XML_PARSER_BIG_BUFFER_SIZE + 5];
     int nbchar = 0;
     int cur, l;
@@ -4584,12 +4615,8 @@
     while ((cur != '<') && /* checked */
            (cur != '&') &&
 	   (IS_CHAR(cur))) /* test also done in xmlCurrentChar() */ {
-	if ((cur == ']') && (NXT(1) == ']') &&
-	    (NXT(2) == '>')) {
-	    if (cdata) break;
-	    else {
-		xmlFatalErr(ctxt, XML_ERR_MISPLACED_CDATA_END, NULL);
-	    }
+	if ((cur == ']') && (NXT(1) == ']') && (NXT(2) == '>')) {
+	    xmlFatalErr(ctxt, XML_ERR_MISPLACED_CDATA_END, NULL);
 	}
 	COPY_BUF(l,buf,nbchar,cur);
 	/* move current position before possible calling of ctxt->sax->characters */
@@ -4647,12 +4674,12 @@
 	    }
 	}
     }
-    if ((cur != 0) && (!IS_CHAR(cur))) {
+    if ((ctxt->input->cur < ctxt->input->end) && (!IS_CHAR(cur))) {
 	/* Generate the error and skip the offending character */
         xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR,
                           "PCDATA invalid Char value %d\n",
-	                  cur);
-	NEXTL(l);
+	                  cur ? cur : CUR);
+	NEXT;
     }
 }
 
@@ -4663,6 +4690,8 @@
  * @strict: indicate whether we should restrict parsing to only
  *          production [75], see NOTE below
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * Parse an External ID or a Public ID
  *
  * NOTE: Productions [75] and [83] interact badly since [75] can generate
@@ -4752,6 +4781,9 @@
     int r, rl;
     int cur, l;
     size_t count = 0;
+    size_t maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                       XML_MAX_HUGE_LENGTH :
+                       XML_MAX_TEXT_LENGTH;
     int inputid;
 
     inputid = ctxt->input->id;
@@ -4759,7 +4791,7 @@
     if (buf == NULL) {
         len = 0;
 	size = XML_PARSER_BUFFER_SIZE;
-	buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+	buf = (xmlChar *) xmlMallocAtomic(size);
 	if (buf == NULL) {
 	    xmlErrMemory(ctxt, NULL);
 	    return;
@@ -4783,7 +4815,7 @@
     if (!IS_CHAR(r)) {
         xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR,
                           "xmlParseComment: invalid xmlChar value %d\n",
-	                  q);
+	                  r);
 	xmlFree (buf);
 	return;
     }
@@ -4797,13 +4829,6 @@
 	if ((r == '-') && (q == '-')) {
 	    xmlFatalErr(ctxt, XML_ERR_HYPHEN_IN_COMMENT, NULL);
 	}
-        if ((len > XML_MAX_TEXT_LENGTH) &&
-            ((ctxt->options & XML_PARSE_HUGE) == 0)) {
-            xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
-                         "Comment too big found", NULL);
-            xmlFree (buf);
-            return;
-        }
 	if (len + 5 >= size) {
 	    xmlChar *new_buf;
             size_t new_size;
@@ -4841,6 +4866,13 @@
 	    GROW;
 	    cur = CUR_CHAR(l);
 	}
+
+        if (len > maxLength) {
+            xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
+                         "Comment too big found", NULL);
+            xmlFree (buf);
+            return;
+        }
     }
     buf[len] = 0;
     if (cur == 0) {
@@ -4874,7 +4906,10 @@
  * xmlParseComment:
  * @ctxt:  an XML parser context
  *
- * Skip an XML (SGML) comment <!-- .... -->
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse an XML (SGML) comment. Always consumes '<!'.
+ *
  *  The spec says that "For compatibility, the string "--" (double-hyphen)
  *  must not occur within comments. "
  *
@@ -4885,6 +4920,9 @@
     xmlChar *buf = NULL;
     size_t size = XML_PARSER_BUFFER_SIZE;
     size_t len = 0;
+    size_t maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                       XML_MAX_HUGE_LENGTH :
+                       XML_MAX_TEXT_LENGTH;
     xmlParserInputState state;
     const xmlChar *in;
     size_t nbchar = 0;
@@ -4894,12 +4932,15 @@
     /*
      * Check that there is a comment right here.
      */
-    if ((RAW != '<') || (NXT(1) != '!') ||
-        (NXT(2) != '-') || (NXT(3) != '-')) return;
+    if ((RAW != '<') || (NXT(1) != '!'))
+        return;
+    SKIP(2);
+    if ((RAW != '-') || (NXT(1) != '-'))
+        return;
     state = ctxt->instate;
     ctxt->instate = XML_PARSER_COMMENT;
     inputid = ctxt->input->id;
-    SKIP(4);
+    SKIP(2);
     SHRINK;
     GROW;
 
@@ -4943,7 +4984,7 @@
 		        size = nbchar + 1;
 		    else
 		        size = XML_PARSER_BUFFER_SIZE + nbchar;
-		    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+		    buf = (xmlChar *) xmlMallocAtomic(size);
 		    if (buf == NULL) {
 		        xmlErrMemory(ctxt, NULL);
 			ctxt->instate = state;
@@ -4953,8 +4994,7 @@
 		} else if (len + nbchar + 1 >= size) {
 		    xmlChar *new_buf;
 		    size  += len + nbchar + XML_PARSER_BUFFER_SIZE;
-		    new_buf = (xmlChar *) xmlRealloc(buf,
-		                                     size * sizeof(xmlChar));
+		    new_buf = (xmlChar *) xmlRealloc(buf, size);
 		    if (new_buf == NULL) {
 		        xmlFree (buf);
 			xmlErrMemory(ctxt, NULL);
@@ -4968,8 +5008,7 @@
 		buf[len] = 0;
 	    }
 	}
-        if ((len > XML_MAX_TEXT_LENGTH) &&
-            ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+        if (len > maxLength) {
             xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
                          "Comment too big found", NULL);
             xmlFree (buf);
@@ -5049,6 +5088,8 @@
  * xmlParsePITarget:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse the name of a PI
  *
  * [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))
@@ -5157,6 +5198,8 @@
  * xmlParsePI:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an XML Processing Instruction.
  *
  * [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'
@@ -5169,6 +5212,9 @@
     xmlChar *buf = NULL;
     size_t len = 0;
     size_t size = XML_PARSER_BUFFER_SIZE;
+    size_t maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                       XML_MAX_HUGE_LENGTH :
+                       XML_MAX_TEXT_LENGTH;
     int cur, l;
     const xmlChar *target;
     xmlParserInputState state;
@@ -5209,7 +5255,7 @@
 		    ctxt->instate = state;
 		return;
 	    }
-	    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+	    buf = (xmlChar *) xmlMallocAtomic(size);
 	    if (buf == NULL) {
 		xmlErrMemory(ctxt, NULL);
 		ctxt->instate = state;
@@ -5244,14 +5290,6 @@
                         return;
                     }
 		    count = 0;
-                    if ((len > XML_MAX_TEXT_LENGTH) &&
-                        ((ctxt->options & XML_PARSE_HUGE) == 0)) {
-                        xmlFatalErrMsgStr(ctxt, XML_ERR_PI_NOT_FINISHED,
-                                          "PI %s too big found", target);
-                        xmlFree(buf);
-                        ctxt->instate = state;
-                        return;
-                    }
 		}
 		COPY_BUF(l,buf,len,cur);
 		NEXTL(l);
@@ -5261,15 +5299,14 @@
 		    GROW;
 		    cur = CUR_CHAR(l);
 		}
+                if (len > maxLength) {
+                    xmlFatalErrMsgStr(ctxt, XML_ERR_PI_NOT_FINISHED,
+                                      "PI %s too big found", target);
+                    xmlFree(buf);
+                    ctxt->instate = state;
+                    return;
+                }
 	    }
-            if ((len > XML_MAX_TEXT_LENGTH) &&
-                ((ctxt->options & XML_PARSE_HUGE) == 0)) {
-                xmlFatalErrMsgStr(ctxt, XML_ERR_PI_NOT_FINISHED,
-                                  "PI %s too big found", target);
-                xmlFree(buf);
-                ctxt->instate = state;
-                return;
-            }
 	    buf[len] = 0;
 	    if (cur != '?') {
 		xmlFatalErrMsgStr(ctxt, XML_ERR_PI_NOT_FINISHED,
@@ -5315,7 +5352,9 @@
  * xmlParseNotationDecl:
  * @ctxt:  an XML parser context
  *
- * parse a notation declaration
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse a notation declaration. Always consumes '<!'.
  *
  * [82] NotationDecl ::= '<!NOTATION' S Name S (ExternalID |  PublicID) S? '>'
  *
@@ -5333,10 +5372,14 @@
     xmlChar *Pubid;
     xmlChar *Systemid;
 
-    if (CMP10(CUR_PTR, '<', '!', 'N', 'O', 'T', 'A', 'T', 'I', 'O', 'N')) {
+    if ((CUR != '<') || (NXT(1) != '!'))
+        return;
+    SKIP(2);
+
+    if (CMP8(CUR_PTR, 'N', 'O', 'T', 'A', 'T', 'I', 'O', 'N')) {
 	int inputid = ctxt->input->id;
 	SHRINK;
-	SKIP(10);
+	SKIP(8);
 	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "Space required after '<!NOTATION'\n");
@@ -5387,7 +5430,9 @@
  * xmlParseEntityDecl:
  * @ctxt:  an XML parser context
  *
- * parse <!ENTITY declarations
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse an entity declaration. Always consumes '<!'.
  *
  * [70] EntityDecl ::= GEDecl | PEDecl
  *
@@ -5414,11 +5459,15 @@
     int isParameter = 0;
     xmlChar *orig = NULL;
 
+    if ((CUR != '<') || (NXT(1) != '!'))
+        return;
+    SKIP(2);
+
     /* GROW; done in the caller */
-    if (CMP8(CUR_PTR, '<', '!', 'E', 'N', 'T', 'I', 'T', 'Y')) {
+    if (CMP6(CUR_PTR, 'E', 'N', 'T', 'I', 'T', 'Y')) {
 	int inputid = ctxt->input->id;
 	SHRINK;
-	SKIP(8);
+	SKIP(6);
 	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "Space required after '<!ENTITY'\n");
@@ -5516,7 +5565,7 @@
 			ctxt->myDoc = xmlNewDoc(SAX_COMPAT_MODE);
 			if (ctxt->myDoc == NULL) {
 			    xmlErrMemory(ctxt, "New Doc failed");
-			    return;
+			    goto done;
 			}
 			ctxt->myDoc->properties = XML_DOC_INTERNAL;
 		    }
@@ -5587,7 +5636,7 @@
 			    ctxt->myDoc = xmlNewDoc(SAX_COMPAT_MODE);
 			    if (ctxt->myDoc == NULL) {
 			        xmlErrMemory(ctxt, "New Doc failed");
-				return;
+				goto done;
 			    }
 			    ctxt->myDoc->properties = XML_DOC_INTERNAL;
 			}
@@ -5654,6 +5703,8 @@
  * @ctxt:  an XML parser context
  * @value:  Receive a possible fixed default value for the attribute
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * Parse an attribute default declaration
  *
  * [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue)
@@ -5715,6 +5766,8 @@
  * xmlParseNotationType:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an Notation attribute type.
  *
  * Note: the leading 'NOTATION' S part has already being parsed...
@@ -5787,6 +5840,8 @@
  * xmlParseEnumerationType:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an Enumeration attribute type.
  *
  * [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')'
@@ -5857,6 +5912,8 @@
  * @ctxt:  an XML parser context
  * @tree:  the enumeration tree built while parsing
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an Enumerated attribute type.
  *
  * [57] EnumeratedType ::= NotationType | Enumeration
@@ -5890,6 +5947,8 @@
  * @ctxt:  an XML parser context
  * @tree:  the enumeration tree built while parsing
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse the Attribute list def for an element
  *
  * [54] AttType ::= StringType | TokenizedType | EnumeratedType
@@ -5965,7 +6024,9 @@
  * xmlParseAttributeListDecl:
  * @ctxt:  an XML parser context
  *
- * : parse the Attribute list def for an element
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse an attribute list declaration for an element. Always consumes '<!'.
  *
  * [52] AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'
  *
@@ -5978,10 +6039,14 @@
     const xmlChar *attrName;
     xmlEnumerationPtr tree;
 
-    if (CMP9(CUR_PTR, '<', '!', 'A', 'T', 'T', 'L', 'I', 'S', 'T')) {
+    if ((CUR != '<') || (NXT(1) != '!'))
+        return;
+    SKIP(2);
+
+    if (CMP7(CUR_PTR, 'A', 'T', 'T', 'L', 'I', 'S', 'T')) {
 	int inputid = ctxt->input->id;
 
-	SKIP(9);
+	SKIP(7);
 	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 		                 "Space required after '<!ATTLIST'\n");
@@ -6086,6 +6151,8 @@
  * @ctxt:  an XML parser context
  * @inputchk:  the input used for the current entity, needed for boundary checks
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse the declaration for a Mixed Element content
  * The leading '(' and spaces have been skipped in xmlParseElementContentDecl
  *
@@ -6504,6 +6571,8 @@
  * @ctxt:  an XML parser context
  * @inputchk:  the input used for the current entity, needed for boundary checks
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse the declaration for a Mixed Element content
  * The leading '(' and spaces have been skipped in xmlParseElementContentDecl
  *
@@ -6541,6 +6610,8 @@
  * @name:  the name of the element being defined.
  * @result:  the Element Content pointer will be stored here if any
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse the declaration for an Element content either Mixed or Children,
  * the cases EMPTY and ANY are handled directly in xmlParseElementDecl
  *
@@ -6585,7 +6656,9 @@
  * xmlParseElementDecl:
  * @ctxt:  an XML parser context
  *
- * parse an Element declaration.
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse an element declaration. Always consumes '<!'.
  *
  * [45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>'
  *
@@ -6600,11 +6673,15 @@
     int ret = -1;
     xmlElementContentPtr content  = NULL;
 
+    if ((CUR != '<') || (NXT(1) != '!'))
+        return(ret);
+    SKIP(2);
+
     /* GROW; done in the caller */
-    if (CMP9(CUR_PTR, '<', '!', 'E', 'L', 'E', 'M', 'E', 'N', 'T')) {
+    if (CMP7(CUR_PTR, 'E', 'L', 'E', 'M', 'E', 'N', 'T')) {
 	int inputid = ctxt->input->id;
 
-	SKIP(9);
+	SKIP(7);
 	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 		           "Space required after 'ELEMENT'\n");
@@ -6692,6 +6769,8 @@
  * xmlParseConditionalSections
  * @ctxt:  an XML parser context
  *
+ * Parse a conditional section. Always consumes '<!['.
+ *
  * [61] conditionalSect ::= includeSect | ignoreSect
  * [62] includeSect ::= '<![' S? 'INCLUDE' S? '[' extSubsetDecl ']]>'
  * [63] ignoreSect ::= '<![' S? 'IGNORE' S? '[' ignoreSectContents* ']]>'
@@ -6742,8 +6821,6 @@
                 inputIds[depth] = id;
                 depth++;
             } else if (CMP6(CUR_PTR, 'I', 'G', 'N', 'O', 'R', 'E')) {
-                int state;
-                xmlParserInputState instate;
                 size_t ignoreDepth = 0;
 
                 SKIP(6);
@@ -6760,15 +6837,6 @@
                 }
                 NEXT;
 
-                /*
-                 * Parse up to the end of the conditional section but disable
-                 * SAX event generating DTD building in the meantime
-                 */
-                state = ctxt->disableSAX;
-                instate = ctxt->instate;
-                if (ctxt->recovery == 0) ctxt->disableSAX = 1;
-                ctxt->instate = XML_PARSER_IGNORE;
-
                 while (RAW != 0) {
                     if ((RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) {
                         SKIP(3);
@@ -6789,9 +6857,6 @@
                     }
                 }
 
-                ctxt->disableSAX = state;
-                ctxt->instate = instate;
-
 		if (RAW == 0) {
 		    xmlFatalErr(ctxt, XML_ERR_CONDSEC_NOT_FINISHED, NULL);
                     goto error;
@@ -6816,17 +6881,12 @@
                                " in the same entity\n");
             }
             SKIP(3);
-        } else {
-            const xmlChar *check = CUR_PTR;
-            unsigned int cons = ctxt->input->consumed;
-
+        } else if ((RAW == '<') && ((NXT(1) == '!') || (NXT(1) == '?'))) {
             xmlParseMarkupDecl(ctxt);
-
-            if ((CUR_PTR == check) && (cons == ctxt->input->consumed)) {
-                xmlFatalErr(ctxt, XML_ERR_EXT_SUBSET_NOT_FINISHED, NULL);
-                xmlHaltParser(ctxt);
-                goto error;
-            }
+        } else {
+            xmlFatalErr(ctxt, XML_ERR_EXT_SUBSET_NOT_FINISHED, NULL);
+            xmlHaltParser(ctxt);
+            goto error;
         }
 
         if (depth == 0)
@@ -6844,7 +6904,9 @@
  * xmlParseMarkupDecl:
  * @ctxt:  an XML parser context
  *
- * parse Markup declarations
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse markup declarations. Always consumes '<!' or '<?'.
  *
  * [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl |
  *                     NotationDecl | PI | Comment
@@ -6873,6 +6935,8 @@
 			xmlParseElementDecl(ctxt);
 		    else if (NXT(3) == 'N')
 			xmlParseEntityDecl(ctxt);
+                    else
+                        SKIP(2);
 		    break;
 	        case 'A':
 		    xmlParseAttributeListDecl(ctxt);
@@ -6885,6 +6949,7 @@
 		    break;
 		default:
 		    /* there is an error but it will be detected later */
+                    SKIP(2);
 		    break;
 	    }
 	} else if (NXT(1) == '?') {
@@ -6906,6 +6971,8 @@
  * xmlParseTextDecl:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an XML declaration header for external entities
  *
  * [77] TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>'
@@ -6954,6 +7021,8 @@
      * We must have the encoding declaration
      */
     encoding = xmlParseEncodingDecl(ctxt);
+    if (ctxt->instate == XML_PARSER_EOF)
+        return;
     if (ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) {
 	/*
 	 * The XML REC instructs us to stop parsing right here
@@ -6974,9 +7043,14 @@
 	xmlFatalErr(ctxt, XML_ERR_XMLDECL_NOT_FINISHED, NULL);
 	NEXT;
     } else {
+        int c;
+
 	xmlFatalErr(ctxt, XML_ERR_XMLDECL_NOT_FINISHED, NULL);
-	MOVETO_ENDTAG(CUR_PTR);
-	NEXT;
+        while ((c = CUR) != 0) {
+            NEXT;
+            if (c == '>')
+                break;
+        }
     }
 
     ctxt->instate = oldstate;
@@ -7038,23 +7112,18 @@
     ctxt->instate = XML_PARSER_DTD;
     ctxt->external = 1;
     SKIP_BLANKS;
-    while (((RAW == '<') && (NXT(1) == '?')) ||
-           ((RAW == '<') && (NXT(1) == '!')) ||
-	   (RAW == '%')) {
-	const xmlChar *check = CUR_PTR;
-	unsigned int cons = ctxt->input->consumed;
-
+    while ((ctxt->instate != XML_PARSER_EOF) && (RAW != 0)) {
 	GROW;
         if ((RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) {
-	    xmlParseConditionalSections(ctxt);
-	} else
-	    xmlParseMarkupDecl(ctxt);
+            xmlParseConditionalSections(ctxt);
+        } else if ((RAW == '<') && ((NXT(1) == '!') || (NXT(1) == '?'))) {
+            xmlParseMarkupDecl(ctxt);
+        } else {
+            xmlFatalErr(ctxt, XML_ERR_EXT_SUBSET_NOT_FINISHED, NULL);
+            xmlHaltParser(ctxt);
+            return;
+        }
         SKIP_BLANKS;
-
-	if ((CUR_PTR == check) && (cons == ctxt->input->consumed)) {
-	    xmlFatalErr(ctxt, XML_ERR_EXT_SUBSET_NOT_FINISHED, NULL);
-	    break;
-	}
     }
 
     if (RAW != 0) {
@@ -7067,11 +7136,15 @@
  * xmlParseReference:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse and handle entity references in content, depending on the SAX
  * interface, this may end-up in a call to character() if this is a
  * CharRef, a predefined entity, if there is no reference() callback.
  * or if the parser was asked to switch to that mode.
  *
+ * Always consumes '&'.
+ *
  * [67] Reference ::= EntityRef | CharRef
  */
 void
@@ -7138,7 +7211,7 @@
     if (ent == NULL) return;
     if (!ctxt->wellFormed)
 	return;
-    was_checked = ent->checked;
+    was_checked = ent->flags & XML_ENT_PARSED;
 
     /* special case of predefined entities */
     if ((ent->name == NULL) ||
@@ -7164,11 +7237,10 @@
      * far more secure as the parser will only process data coming from
      * the document entity by default.
      */
-    if (((ent->checked == 0) ||
-         ((ent->children == NULL) && (ctxt->options & XML_PARSE_NOENT))) &&
+    if (((ent->flags & XML_ENT_PARSED) == 0) &&
         ((ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) ||
          (ctxt->options & (XML_PARSE_NOENT | XML_PARSE_DTDVALID)))) {
-	unsigned long oldnbent = ctxt->nbentities, diff;
+	unsigned long oldsizeentcopy = ctxt->sizeentcopy;
 
 	/*
 	 * This is a bit hackish but this seems the best
@@ -7181,6 +7253,17 @@
 	else
 	    user_data = ctxt->userData;
 
+        /* Avoid overflow as much as possible */
+        ctxt->sizeentcopy = 0;
+
+        if (ent->flags & XML_ENT_EXPANDING) {
+            xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
+            xmlHaltParser(ctxt);
+            return;
+        }
+
+        ent->flags |= XML_ENT_EXPANDING;
+
 	/*
 	 * Check that this entity is well formed
 	 * 4.3.2: An internal general parsed entity is well-formed
@@ -7205,86 +7288,67 @@
 			 "invalid entity type found\n", NULL);
 	}
 
-	/*
-	 * Store the number of entities needing parsing for this entity
-	 * content and do checkings
-	 */
-        diff = ctxt->nbentities - oldnbent + 1;
-        if (diff > INT_MAX / 2)
-            diff = INT_MAX / 2;
-        ent->checked = diff * 2;
-	if ((ent->content != NULL) && (xmlStrchr(ent->content, '<')))
-	    ent->checked |= 1;
+        ent->flags &= ~XML_ENT_EXPANDING;
+        ent->flags |= XML_ENT_PARSED | XML_ENT_CHECKED;
+        ent->expandedSize = ctxt->sizeentcopy;
 	if (ret == XML_ERR_ENTITY_LOOP) {
-	    xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
             xmlHaltParser(ctxt);
 	    xmlFreeNodeList(list);
 	    return;
 	}
-	if (xmlParserEntityCheck(ctxt, 0, ent, 0)) {
+	if (xmlParserEntityCheck(ctxt, oldsizeentcopy)) {
 	    xmlFreeNodeList(list);
 	    return;
 	}
 
 	if ((ret == XML_ERR_OK) && (list != NULL)) {
-	    if (((ent->etype == XML_INTERNAL_GENERAL_ENTITY) ||
-	     (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY))&&
-		(ent->children == NULL)) {
-		ent->children = list;
-                /*
-                 * Prune it directly in the generated document
-                 * except for single text nodes.
-                 */
-                if ((ctxt->replaceEntities == 0) ||
-                    (ctxt->parseMode == XML_PARSE_READER) ||
-                    ((list->type == XML_TEXT_NODE) &&
-                     (list->next == NULL))) {
-                    ent->owner = 1;
-                    while (list != NULL) {
-                        list->parent = (xmlNodePtr) ent;
+            ent->children = list;
+            /*
+             * Prune it directly in the generated document
+             * except for single text nodes.
+             */
+            if ((ctxt->replaceEntities == 0) ||
+                (ctxt->parseMode == XML_PARSE_READER) ||
+                ((list->type == XML_TEXT_NODE) &&
+                 (list->next == NULL))) {
+                ent->owner = 1;
+                while (list != NULL) {
+                    list->parent = (xmlNodePtr) ent;
+                    if (list->doc != ent->doc)
                         xmlSetTreeDoc(list, ent->doc);
-                        if (list->next == NULL)
-                            ent->last = list;
-                        list = list->next;
-                    }
-                    list = NULL;
-                } else {
-                    ent->owner = 0;
-                    while (list != NULL) {
-                        list->parent = (xmlNodePtr) ctxt->node;
-                        list->doc = ctxt->myDoc;
-                        if (list->next == NULL)
-                            ent->last = list;
-                        list = list->next;
-                    }
-                    list = ent->children;
-#ifdef LIBXML_LEGACY_ENABLED
-                    if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)
-                        xmlAddEntityReference(ent, list, NULL);
-#endif /* LIBXML_LEGACY_ENABLED */
+                    if (list->next == NULL)
+                        ent->last = list;
+                    list = list->next;
                 }
-	    } else {
-		xmlFreeNodeList(list);
-		list = NULL;
-	    }
+                list = NULL;
+            } else {
+                ent->owner = 0;
+                while (list != NULL) {
+                    list->parent = (xmlNodePtr) ctxt->node;
+                    list->doc = ctxt->myDoc;
+                    if (list->next == NULL)
+                        ent->last = list;
+                    list = list->next;
+                }
+                list = ent->children;
+#ifdef LIBXML_LEGACY_ENABLED
+                if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)
+                    xmlAddEntityReference(ent, list, NULL);
+#endif /* LIBXML_LEGACY_ENABLED */
+            }
 	} else if ((ret != XML_ERR_OK) &&
 		   (ret != XML_WAR_UNDECLARED_ENTITY)) {
 	    xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
 		     "Entity '%s' failed to parse\n", ent->name);
             if (ent->content != NULL)
                 ent->content[0] = 0;
-	    xmlParserEntityCheck(ctxt, 0, ent, 0);
 	} else if (list != NULL) {
 	    xmlFreeNodeList(list);
 	    list = NULL;
 	}
-	if (ent->checked == 0)
-	    ent->checked = 2;
 
         /* Prevent entity from being parsed and expanded twice (Bug 760367). */
         was_checked = 0;
-    } else if (ent->checked != 1) {
-	ctxt->nbentities += ent->checked / 2;
     }
 
     /*
@@ -7318,11 +7382,16 @@
 		ctxt->depth--;
 	    } else if (ent->etype ==
 		       XML_EXTERNAL_GENERAL_PARSED_ENTITY) {
+	        unsigned long oldsizeentities = ctxt->sizeentities;
+
 		ctxt->depth++;
 		ret = xmlParseExternalEntityPrivate(ctxt->myDoc, ctxt,
 			   ctxt->sax, user_data, ctxt->depth,
 			   ent->URI, ent->ExternalID, NULL);
 		ctxt->depth--;
+
+                /* Undo the change to sizeentities */
+                ctxt->sizeentities = oldsizeentities;
 	    } else {
 		ret = XML_ERR_ENTITY_PE_INTERNAL;
 		xmlErrMsgStr(ctxt, XML_ERR_INTERNAL_ERROR,
@@ -7332,6 +7401,8 @@
 		xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
 		return;
 	    }
+            if (xmlParserEntityCheck(ctxt, 0))
+                return;
 	}
 	if ((ctxt->sax != NULL) && (ctxt->sax->reference != NULL) &&
 	    (ctxt->replaceEntities == 0) && (!ctxt->disableSAX)) {
@@ -7345,6 +7416,14 @@
     }
 
     /*
+     * We also check for amplification if entities aren't substituted.
+     * They might be expanded later.
+     */
+    if ((was_checked != 0) &&
+        (xmlParserEntityCheck(ctxt, ent->expandedSize)))
+        return;
+
+    /*
      * If we didn't get any children for the entity being built
      */
     if ((ctxt->sax != NULL) && (ctxt->sax->reference != NULL) &&
@@ -7356,7 +7435,7 @@
 	return;
     }
 
-    if ((ctxt->replaceEntities) || (ent->children == NULL))  {
+    if (ctxt->replaceEntities)  {
 	/*
 	 * There is a problem on the handling of _private for entities
 	 * (bug 155816): Should we copy the content of the field from
@@ -7370,7 +7449,7 @@
 	 * hack - maybe we should have further tests to determine
 	 * what to do.
 	 */
-	if ((ctxt->node != NULL) && (ent->children != NULL)) {
+	if (ctxt->node != NULL) {
 	    /*
 	     * Seems we are generating the DOM content, do
 	     * a simple tree copy for all references except the first
@@ -7381,13 +7460,6 @@
 		xmlNodePtr nw = NULL, cur, firstChild = NULL;
 
 		/*
-		 * We are copying here, make sure there is no abuse
-		 */
-		ctxt->sizeentcopy += ent->length + 5;
-		if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy))
-		    return;
-
-		/*
 		 * when operating on a reader, the entities definitions
 		 * are always owning the entities subtree.
 		if (ctxt->parseMode == XML_PARSE_READER)
@@ -7429,13 +7501,6 @@
 			   firstChild = NULL;
 
 		/*
-		 * We are copying here, make sure there is no abuse
-		 */
-		ctxt->sizeentcopy += ent->length + 5;
-		if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy))
-		    return;
-
-		/*
 		 * Copy the entity child list and make it the new
 		 * entity child list. The goal is to make sure any
 		 * ID or REF referenced will be the one from the
@@ -7457,8 +7522,8 @@
 			    firstChild = cur;
 			}
 			xmlAddChild((xmlNodePtr) ent, nw);
-			xmlAddChild(ctxt->node, cur);
 		    }
+		    xmlAddChild(ctxt->node, cur);
 		    if (cur == last)
 			break;
 		    cur = next;
@@ -7502,7 +7567,9 @@
  * xmlParseEntityRef:
  * @ctxt:  an XML parser context
  *
- * parse ENTITY references declarations
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse an entitiy reference. Always consumes '&'.
  *
  * [68] EntityRef ::= '&' Name ';'
  *
@@ -7560,11 +7627,6 @@
     }
 
     /*
-     * Increase the number of entity references parsed
-     */
-    ctxt->nbentities++;
-
-    /*
      * Ask first SAX for entity resolution, otherwise try the
      * entities which may have stored in the parser context.
      */
@@ -7617,7 +7679,6 @@
 		ctxt->sax->reference(ctxt->userData, name);
 	    }
 	}
-	xmlParserEntityCheck(ctxt, 0, ent, 0);
 	ctxt->valid = 0;
     }
 
@@ -7648,13 +7709,16 @@
      * not contain a <.
      */
     else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
-	     (ent != NULL) && 
 	     (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY)) {
-	if (((ent->checked & 1) || (ent->checked == 0)) &&
-	     (ent->content != NULL) && (xmlStrchr(ent->content, '<'))) {
-	    xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE,
-	"'<' in entity '%s' is not allowed in attributes values\n", name);
+	if ((ent->flags & XML_ENT_CHECKED_LT) == 0) {
+            if ((ent->content != NULL) && (xmlStrchr(ent->content, '<')))
+                ent->flags |= XML_ENT_CONTAINS_LT;
+            ent->flags |= XML_ENT_CHECKED_LT;
         }
+        if (ent->flags & XML_ENT_CONTAINS_LT)
+            xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE,
+                    "'<' in entity '%s' is not allowed in attributes "
+                    "values\n", name);
     }
 
     /*
@@ -7757,11 +7821,6 @@
     }
 
     /*
-     * Increase the number of entity references parsed
-     */
-    ctxt->nbentities++;
-
-    /*
      * Ask first SAX for entity resolution, otherwise try the
      * entities which may have stored in the parser context.
      */
@@ -7811,7 +7870,6 @@
 			  "Entity '%s' not defined\n",
 			  name);
 	}
-	xmlParserEntityCheck(ctxt, 0, ent, 0);
 	/* TODO ? check regressions ctxt->valid = 0; */
     }
 
@@ -7842,12 +7900,16 @@
      * not contain a <.
      */
     else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
-	     (ent != NULL) && (ent->content != NULL) &&
-	     (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) &&
-	     (xmlStrchr(ent->content, '<'))) {
-	xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE,
-     "'<' in entity '%s' is not allowed in attributes values\n",
-			  name);
+	     (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY)) {
+	if ((ent->flags & XML_ENT_CHECKED_LT) == 0) {
+            if ((ent->content != NULL) && (xmlStrchr(ent->content, '<')))
+                ent->flags |= XML_ENT_CONTAINS_LT;
+            ent->flags |= XML_ENT_CHECKED_LT;
+        }
+        if (ent->flags & XML_ENT_CONTAINS_LT)
+            xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE,
+                    "'<' in entity '%s' is not allowed in attributes "
+                    "values\n", name);
     }
 
     /*
@@ -7882,7 +7944,10 @@
  * xmlParsePEReference:
  * @ctxt:  an XML parser context
  *
- * parse PEReference declarations
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse a parameter entity reference. Always consumes '%'.
+ *
  * The entity content is handled directly by pushing it's content as
  * a new input stream.
  *
@@ -7933,11 +7998,6 @@
     NEXT;
 
     /*
-     * Increase the number of entity references parsed
-     */
-    ctxt->nbentities++;
-
-    /*
      * Request the entity from SAX
      */
     if ((ctxt->sax != NULL) &&
@@ -7978,7 +8038,6 @@
                               name, NULL);
             ctxt->valid = 0;
 	}
-	xmlParserEntityCheck(ctxt, 0, NULL, 0);
     } else {
 	/*
 	 * Internal checking in case the entity quest barfed
@@ -7991,9 +8050,8 @@
 	} else {
             xmlChar start[4];
             xmlCharEncoding enc;
-
-	    if (xmlParserEntityCheck(ctxt, 0, entity, 0))
-	        return;
+            unsigned long parentConsumed;
+            xmlEntityPtr oldEnt;
 
 	    if ((entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
 	        ((ctxt->options & XML_PARSE_NOENT) == 0) &&
@@ -8004,12 +8062,33 @@
 		(ctxt->validate == 0))
 		return;
 
+            if (entity->flags & XML_ENT_EXPANDING) {
+                xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
+                xmlHaltParser(ctxt);
+                return;
+            }
+
+            /* Must be computed from old input before pushing new input. */
+            parentConsumed = ctxt->input->parentConsumed;
+            oldEnt = ctxt->input->entity;
+            if ((oldEnt == NULL) ||
+                ((oldEnt->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
+                 ((oldEnt->flags & XML_ENT_PARSED) == 0))) {
+                xmlSaturatedAdd(&parentConsumed, ctxt->input->consumed);
+                xmlSaturatedAddSizeT(&parentConsumed,
+                                     ctxt->input->cur - ctxt->input->base);
+            }
+
 	    input = xmlNewEntityInputStream(ctxt, entity);
 	    if (xmlPushInput(ctxt, input) < 0) {
                 xmlFreeInputStream(input);
 		return;
             }
 
+            entity->flags |= XML_ENT_EXPANDING;
+
+            input->parentConsumed = parentConsumed;
+
 	    if (entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) {
                 /*
                  * Get the 4 first bytes and decode the charset
@@ -8081,6 +8160,7 @@
 	            "xmlLoadEntityContent parameter error");
         return(-1);
     }
+    xmlBufferSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT);
 
     input = xmlNewEntityInputStream(ctxt, entity);
     if (input == NULL) {
@@ -8096,6 +8176,7 @@
      */
     if (xmlPushInput(ctxt, input) < 0) {
         xmlBufferFree(buf);
+	xmlFreeInputStream(input);
 	return(-1);
     }
 
@@ -8126,6 +8207,7 @@
     }
 
     if ((ctxt->input == input) && (ctxt->input->cur >= ctxt->input->end)) {
+        xmlSaturatedAdd(&ctxt->sizeentities, ctxt->input->consumed);
         xmlPopInput(ctxt);
     } else if (!IS_CHAR(c)) {
         xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR,
@@ -8135,6 +8217,7 @@
 	return(-1);
     }
     entity->content = buf->content;
+    entity->length = buf->use;
     buf->content = NULL;
     xmlBufferFree(buf);
 
@@ -8202,11 +8285,6 @@
     ptr++;
 
     /*
-     * Increase the number of entity references parsed
-     */
-    ctxt->nbentities++;
-
-    /*
      * Request the entity from SAX
      */
     if ((ctxt->sax != NULL) &&
@@ -8243,7 +8321,6 @@
 			  name, NULL);
 	    ctxt->valid = 0;
 	}
-	xmlParserEntityCheck(ctxt, 0, NULL, 0);
     } else {
 	/*
 	 * Internal checking in case the entity quest barfed
@@ -8265,6 +8342,8 @@
  * xmlParseDocTypeDecl:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse a DOCTYPE declaration
  *
  * [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S?
@@ -8361,14 +8440,9 @@
 	 * PEReferences.
 	 * Subsequence (markupdecl | PEReference | S)*
 	 */
+	SKIP_BLANKS;
 	while (((RAW != ']') || (ctxt->inputNr > baseInputNr)) &&
                (ctxt->instate != XML_PARSER_EOF)) {
-	    const xmlChar *check = CUR_PTR;
-	    unsigned int cons = ctxt->input->consumed;
-
-	    SKIP_BLANKS;
-	    xmlParseMarkupDecl(ctxt);
-	    xmlParsePEReference(ctxt);
 
             /*
              * Conditional sections are allowed from external entities included
@@ -8377,16 +8451,18 @@
             if ((ctxt->inputNr > 1) && (ctxt->input->filename != NULL) &&
                 (RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) {
                 xmlParseConditionalSections(ctxt);
-            }
-
-	    if ((CUR_PTR == check) && (cons == ctxt->input->consumed)) {
+            } else if ((RAW == '<') && ((NXT(1) == '!') || (NXT(1) == '?'))) {
+	        xmlParseMarkupDecl(ctxt);
+            } else if (RAW == '%') {
+	        xmlParsePEReference(ctxt);
+            } else {
 		xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
-	     "xmlParseInternalSubset: error detected in Markup declaration\n");
-                if (ctxt->inputNr > baseInputNr)
-                    xmlPopInput(ctxt);
-                else
-		    break;
-	    }
+                        "xmlParseInternalSubset: error detected in"
+                        " Markup declaration\n");
+                xmlHaltParser(ctxt);
+                return;
+            }
+	    SKIP_BLANKS;
 	}
 	if (RAW == ']') {
 	    NEXT;
@@ -8410,6 +8486,8 @@
  * @ctxt:  an XML parser context
  * @value:  a xmlChar ** used to store the value of the attribute
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an attribute
  *
  * [41] Attribute ::= Name Eq AttValue
@@ -8464,7 +8542,7 @@
     } else {
 	xmlFatalErrMsgStr(ctxt, XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
 	       "Specification mandates value for attribute %s\n", name);
-	return(NULL);
+	return(name);
     }
 
     /*
@@ -8503,8 +8581,9 @@
  * xmlParseStartTag:
  * @ctxt:  an XML parser context
  *
- * parse a start of tag either for rule element or
- * EmptyElement. In both case we don't parse the tag closing chars.
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse a start tag. Always consumes '<'.
  *
  * [40] STag ::= '<' Name (S Attribute)* S? '>'
  *
@@ -8558,11 +8637,13 @@
     while (((RAW != '>') &&
 	   ((RAW != '/') || (NXT(1) != '>')) &&
 	   (IS_BYTE_CHAR(RAW))) && (ctxt->instate != XML_PARSER_EOF)) {
-	const xmlChar *q = CUR_PTR;
-	unsigned int cons = ctxt->input->consumed;
-
 	attname = xmlParseAttribute(ctxt, &attvalue);
-        if ((attname != NULL) && (attvalue != NULL)) {
+        if (attname == NULL) {
+	    xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
+			   "xmlParseStartTag: problem parsing attributes\n");
+	    break;
+	}
+        if (attvalue != NULL) {
 	    /*
 	     * [ WFC: Unique Att Spec ]
 	     * No attribute name may appear more than once in the same
@@ -8624,12 +8705,6 @@
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "attributes construct error\n");
 	}
-        if ((cons == ctxt->input->consumed) && (q == CUR_PTR) &&
-            (attname == NULL) && (attvalue == NULL)) {
-	    xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
-			   "xmlParseStartTag: problem parsing attributes\n");
-	    break;
-	}
 	SHRINK;
         GROW;
     }
@@ -8660,7 +8735,7 @@
  * @line:  line of the start tag
  * @nsNr:  number of namespaces on the start tag
  *
- * parse an end of tag
+ * Parse an end tag. Always consumes '</'.
  *
  * [42] ETag ::= '</' Name S? '>'
  *
@@ -8722,6 +8797,8 @@
  * xmlParseEndTag:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an end of tag
  *
  * [42] ETag ::= '</' Name S? '>'
@@ -8961,6 +9038,9 @@
     const xmlChar *in = NULL, *start, *end, *last;
     xmlChar *ret = NULL;
     int line, col;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_HUGE_LENGTH :
+                    XML_MAX_TEXT_LENGTH;
 
     GROW;
     in = (xmlChar *) CUR_PTR;
@@ -9000,8 +9080,7 @@
 	    start = in;
 	    if (in >= end) {
                 GROW_PARSE_ATT_VALUE_INTERNAL(ctxt, in, start, end)
-                if (((in - start) > XML_MAX_TEXT_LENGTH) &&
-                    ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+                if ((in - start) > maxLength) {
                     xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
                                    "AttValue length too long\n");
                     return(NULL);
@@ -9014,8 +9093,7 @@
 	    if ((*in++ == 0x20) && (*in == 0x20)) break;
 	    if (in >= end) {
                 GROW_PARSE_ATT_VALUE_INTERNAL(ctxt, in, start, end)
-                if (((in - start) > XML_MAX_TEXT_LENGTH) &&
-                    ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+                if ((in - start) > maxLength) {
                     xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
                                    "AttValue length too long\n");
                     return(NULL);
@@ -9048,16 +9126,14 @@
 		    last = last + delta;
 		}
 		end = ctxt->input->end;
-                if (((in - start) > XML_MAX_TEXT_LENGTH) &&
-                    ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+                if ((in - start) > maxLength) {
                     xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
                                    "AttValue length too long\n");
                     return(NULL);
                 }
 	    }
 	}
-        if (((in - start) > XML_MAX_TEXT_LENGTH) &&
-            ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+        if ((in - start) > maxLength) {
             xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
                            "AttValue length too long\n");
             return(NULL);
@@ -9070,8 +9146,7 @@
 	    col++;
 	    if (in >= end) {
                 GROW_PARSE_ATT_VALUE_INTERNAL(ctxt, in, start, end)
-                if (((in - start) > XML_MAX_TEXT_LENGTH) &&
-                    ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+                if ((in - start) > maxLength) {
                     xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
                                    "AttValue length too long\n");
                     return(NULL);
@@ -9079,8 +9154,7 @@
 	    }
 	}
 	last = in;
-        if (((in - start) > XML_MAX_TEXT_LENGTH) &&
-            ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+        if ((in - start) > maxLength) {
             xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
                            "AttValue length too long\n");
             return(NULL);
@@ -9090,6 +9164,7 @@
     in++;
     col++;
     if (len != NULL) {
+        if (alloc) *alloc = 0;
         *len = last - start;
         ret = (xmlChar *) start;
     } else {
@@ -9099,7 +9174,6 @@
     CUR_PTR = in;
     ctxt->input->line = line;
     ctxt->input->col = col;
-    if (alloc) *alloc = 0;
     return ret;
 need_complex:
     if (alloc) *alloc = 1;
@@ -9160,6 +9234,8 @@
         NEXT;
         SKIP_BLANKS;
         val = xmlParseAttValueInternal(ctxt, len, alloc, normalize);
+        if (val == NULL)
+            return (NULL);
 	if (normalize) {
 	    /*
 	     * Sometimes a second normalisation pass for spaces is needed
@@ -9182,7 +9258,7 @@
         xmlFatalErrMsgStr(ctxt, XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
                           "Specification mandates value for attribute %s\n",
                           name);
-        return (NULL);
+        return (name);
     }
 
     if (*prefix == ctxt->str_xml) {
@@ -9227,8 +9303,8 @@
  * xmlParseStartTag2:
  * @ctxt:  an XML parser context
  *
- * parse a start of tag either for rule element or
- * EmptyElement. In both case we don't parse the tag closing chars.
+ * Parse a start tag. Always consumes '<'.
+ *
  * This routine is called when running SAX2 parsing
  *
  * [40] STag ::= '<' Name (S Attribute)* S? '>'
@@ -9265,7 +9341,7 @@
     int maxatts = ctxt->maxatts;
     int nratts, nbatts, nbdef, inputid;
     int i, j, nbNs, attval;
-    unsigned long cur;
+    size_t cur;
     int nsNr = ctxt->nsNr;
 
     if (RAW != '<') return(NULL);
@@ -9308,13 +9384,16 @@
     while (((RAW != '>') &&
 	   ((RAW != '/') || (NXT(1) != '>')) &&
 	   (IS_BYTE_CHAR(RAW))) && (ctxt->instate != XML_PARSER_EOF)) {
-	const xmlChar *q = CUR_PTR;
-	unsigned int cons = ctxt->input->consumed;
 	int len = -1, alloc = 0;
 
 	attname = xmlParseAttribute2(ctxt, prefix, localname,
 	                             &aprefix, &attvalue, &len, &alloc);
-        if ((attname == NULL) || (attvalue == NULL))
+        if (attname == NULL) {
+	    xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
+	         "xmlParseStartTag: problem parsing attributes\n");
+	    break;
+	}
+        if (attvalue == NULL)
             goto next_attr;
 	if (len < 0) len = xmlStrlen(attvalue);
 
@@ -9490,12 +9569,6 @@
 			   "attributes construct error\n");
 	    break;
 	}
-        if ((cons == ctxt->input->consumed) && (q == CUR_PTR) &&
-            (attname == NULL) && (attvalue == NULL)) {
-	    xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
-	         "xmlParseStartTag: problem parsing attributes\n");
-	    break;
-	}
         GROW;
     }
 
@@ -9513,10 +9586,10 @@
              * Arithmetic on dangling pointers is technically undefined
              * behavior, but well...
              */
-            ptrdiff_t offset = ctxt->input->base - atts[i+2];
+            const xmlChar *old = atts[i+2];
             atts[i+2]  = NULL;    /* Reset repurposed namespace URI */
-            atts[i+3] += offset;  /* value */
-            atts[i+4] += offset;  /* valuend */
+            atts[i+3] = ctxt->input->base + (atts[i+3] - old);  /* value */
+            atts[i+4] = ctxt->input->base + (atts[i+4] - old);  /* valuend */
         }
     }
 
@@ -9560,7 +9633,7 @@
 	            if (j <= nbNs) continue;
 
 		    nsname = xmlGetNamespace(ctxt, attname);
-		    if (nsname != defaults->values[2]) {
+		    if (nsname != defaults->values[5 * i + 2]) {
 			if (nsPush(ctxt, attname,
 			           defaults->values[5 * i + 2]) > 0)
 			    nbNs++;
@@ -9684,7 +9757,7 @@
  * @line:  line of the start tag
  * @nsNr:  number of namespaces on the start tag
  *
- * parse an end of tag
+ * Parse an end tag. Always consumes '</'.
  *
  * [42] ETag ::= '</' Name S? '>'
  *
@@ -9751,7 +9824,9 @@
  * xmlParseCDSect:
  * @ctxt:  an XML parser context
  *
- * Parse escaped pure raw content.
+ * DEPRECATED: Internal function, don't use.
+ *
+ * Parse escaped pure raw content. Always consumes '<!['.
  *
  * [18] CDSect ::= CDStart CData CDEnd
  *
@@ -9770,51 +9845,46 @@
     int	s, sl;
     int cur, l;
     int count = 0;
+    int maxLength = (ctxt->options & XML_PARSE_HUGE) ?
+                    XML_MAX_HUGE_LENGTH :
+                    XML_MAX_TEXT_LENGTH;
 
-    /* Check 2.6.0 was NXT(0) not RAW */
-    if (CMP9(CUR_PTR, '<', '!', '[', 'C', 'D', 'A', 'T', 'A', '[')) {
-	SKIP(9);
-    } else
+    if ((CUR != '<') || (NXT(1) != '!') || (NXT(2) != '['))
         return;
+    SKIP(3);
+
+    if (!CMP6(CUR_PTR, 'C', 'D', 'A', 'T', 'A', '['))
+        return;
+    SKIP(6);
 
     ctxt->instate = XML_PARSER_CDATA_SECTION;
     r = CUR_CHAR(rl);
     if (!IS_CHAR(r)) {
 	xmlFatalErr(ctxt, XML_ERR_CDATA_NOT_FINISHED, NULL);
-	ctxt->instate = XML_PARSER_CONTENT;
-        return;
+        goto out;
     }
     NEXTL(rl);
     s = CUR_CHAR(sl);
     if (!IS_CHAR(s)) {
 	xmlFatalErr(ctxt, XML_ERR_CDATA_NOT_FINISHED, NULL);
-	ctxt->instate = XML_PARSER_CONTENT;
-        return;
+        goto out;
     }
     NEXTL(sl);
     cur = CUR_CHAR(l);
-    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+    buf = (xmlChar *) xmlMallocAtomic(size);
     if (buf == NULL) {
 	xmlErrMemory(ctxt, NULL);
-	return;
+        goto out;
     }
     while (IS_CHAR(cur) &&
            ((r != ']') || (s != ']') || (cur != '>'))) {
 	if (len + 5 >= size) {
 	    xmlChar *tmp;
 
-            if ((size > XML_MAX_TEXT_LENGTH) &&
-                ((ctxt->options & XML_PARSE_HUGE) == 0)) {
-                xmlFatalErrMsgStr(ctxt, XML_ERR_CDATA_NOT_FINISHED,
-                             "CData section too big found", NULL);
-                xmlFree (buf);
-                return;
-            }
-	    tmp = (xmlChar *) xmlRealloc(buf, size * 2 * sizeof(xmlChar));
+	    tmp = (xmlChar *) xmlRealloc(buf, size * 2);
 	    if (tmp == NULL) {
-	        xmlFree(buf);
 		xmlErrMemory(ctxt, NULL);
-		return;
+                goto out;
 	    }
 	    buf = tmp;
 	    size *= 2;
@@ -9829,21 +9899,23 @@
 	    SHRINK;
 	    GROW;
             if (ctxt->instate == XML_PARSER_EOF) {
-		xmlFree(buf);
-		return;
+                goto out;
             }
 	    count = 0;
 	}
 	NEXTL(l);
 	cur = CUR_CHAR(l);
+        if (len > maxLength) {
+            xmlFatalErrMsg(ctxt, XML_ERR_CDATA_NOT_FINISHED,
+                           "CData section too big found\n");
+            goto out;
+        }
     }
     buf[len] = 0;
-    ctxt->instate = XML_PARSER_CONTENT;
     if (cur != '>') {
 	xmlFatalErrMsgStr(ctxt, XML_ERR_CDATA_NOT_FINISHED,
 	                     "CData section not finished\n%.50s\n", buf);
-	xmlFree(buf);
-        return;
+        goto out;
     }
     NEXTL(l);
 
@@ -9856,6 +9928,10 @@
 	else if (ctxt->sax->characters != NULL)
 	    ctxt->sax->characters(ctxt->userData, buf, len);
     }
+
+out:
+    if (ctxt->instate != XML_PARSER_EOF)
+        ctxt->instate = XML_PARSER_CONTENT;
     xmlFree(buf);
 }
 
@@ -9874,8 +9950,6 @@
     GROW;
     while ((RAW != 0) &&
 	   (ctxt->instate != XML_PARSER_EOF)) {
-	const xmlChar *test = CUR_PTR;
-	unsigned int cons = ctxt->input->consumed;
 	const xmlChar *cur = ctxt->input->cur;
 
 	/*
@@ -9933,13 +10007,6 @@
 
 	GROW;
 	SHRINK;
-
-	if ((cons == ctxt->input->consumed) && (test == CUR_PTR)) {
-	    xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
-	                "detected an error in element content\n");
-	    xmlHaltParser(ctxt);
-            break;
-	}
     }
 }
 
@@ -9971,6 +10038,8 @@
  * xmlParseElement:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an XML element
  *
  * [39] element ::= EmptyElemTag | STag content ETag
@@ -10008,6 +10077,8 @@
  *
  * Parse the start of an XML element. Returns -1 in case of error, 0 if an
  * opening tag was parsed, 1 if an empty element was parsed.
+ *
+ * Always consumes '<'.
  */
 static int
 xmlParseElementStart(xmlParserCtxtPtr ctxt) {
@@ -10136,15 +10207,18 @@
  * xmlParseElementEnd:
  * @ctxt:  an XML parser context
  *
- * Parse the end of an XML element.
+ * Parse the end of an XML element. Always consumes '</'.
  */
 static void
 xmlParseElementEnd(xmlParserCtxtPtr ctxt) {
     xmlParserNodeInfo node_info;
     xmlNodePtr ret = ctxt->node;
 
-    if (ctxt->nameNr <= 0)
+    if (ctxt->nameNr <= 0) {
+        if ((RAW == '<') && (NXT(1) == '/'))
+            SKIP(2);
         return;
+    }
 
     /*
      * parse the end of tag: '</' should be here.
@@ -10174,6 +10248,8 @@
  * xmlParseVersionNum:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse the XML version value.
  *
  * [26] VersionNum ::= '1.' [0-9]+
@@ -10189,7 +10265,7 @@
     int size = 10;
     xmlChar cur;
 
-    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+    buf = (xmlChar *) xmlMallocAtomic(size);
     if (buf == NULL) {
 	xmlErrMemory(ctxt, NULL);
 	return(NULL);
@@ -10214,7 +10290,7 @@
 	    xmlChar *tmp;
 
 	    size *= 2;
-	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    tmp = (xmlChar *) xmlRealloc(buf, size);
 	    if (tmp == NULL) {
 	        xmlFree(buf);
 		xmlErrMemory(ctxt, NULL);
@@ -10234,6 +10310,8 @@
  * xmlParseVersionInfo:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse the XML version.
  *
  * [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ")
@@ -10281,6 +10359,8 @@
  * xmlParseEncName:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse the XML encoding name
  *
  * [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*
@@ -10297,7 +10377,7 @@
     cur = CUR;
     if (((cur >= 'a') && (cur <= 'z')) ||
         ((cur >= 'A') && (cur <= 'Z'))) {
-	buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+	buf = (xmlChar *) xmlMallocAtomic(size);
 	if (buf == NULL) {
 	    xmlErrMemory(ctxt, NULL);
 	    return(NULL);
@@ -10315,7 +10395,7 @@
 	        xmlChar *tmp;
 
 		size *= 2;
-		tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+		tmp = (xmlChar *) xmlRealloc(buf, size);
 		if (tmp == NULL) {
 		    xmlErrMemory(ctxt, NULL);
 		    xmlFree(buf);
@@ -10343,6 +10423,8 @@
  * xmlParseEncodingDecl:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse the XML encoding declaration
  *
  * [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' |  "'" EncName "'")
@@ -10457,6 +10539,8 @@
  * xmlParseSDDecl:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse the XML standalone declaration
  *
  * [32] SDDecl ::= S 'standalone' Eq
@@ -10541,6 +10625,8 @@
  * xmlParseXMLDecl:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an XML declaration header
  *
  * [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'
@@ -10646,9 +10732,14 @@
 	xmlFatalErr(ctxt, XML_ERR_XMLDECL_NOT_FINISHED, NULL);
 	NEXT;
     } else {
+        int c;
+
 	xmlFatalErr(ctxt, XML_ERR_XMLDECL_NOT_FINISHED, NULL);
-	MOVETO_ENDTAG(CUR_PTR);
-	NEXT;
+        while ((c = CUR) != 0) {
+            NEXT;
+            if (c == '>')
+                break;
+        }
     }
 }
 
@@ -10656,6 +10747,8 @@
  * xmlParseMisc:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Internal function, don't use.
+ *
  * parse an XML Misc* optional field.
  *
  * [27] Misc ::= Comment | PI |  S
@@ -10891,8 +10984,6 @@
     if ((ctxt == NULL) || (ctxt->input == NULL))
         return(-1);
 
-    xmlDefaultSAXHandlerInit();
-
     xmlDetectSAX2(ctxt);
 
     GROW;
@@ -10985,142 +11076,263 @@
  ************************************************************************/
 
 /**
- * xmlParseLookupSequence:
+ * xmlParseLookupChar:
  * @ctxt:  an XML parser context
- * @first:  the first char to lookup
- * @next:  the next char to lookup or zero
- * @third:  the next char to lookup or zero
+ * @c:  character
  *
- * Try to find if a sequence (first, next, third) or  just (first next) or
- * (first) is available in the input stream.
- * This function has a side effect of (possibly) incrementing ctxt->checkIndex
- * to avoid rescanning sequences of bytes, it DOES change the state of the
- * parser, do not use liberally.
- *
- * Returns the index to the current parsing point if the full sequence
- *      is available, -1 otherwise.
+ * Check whether the input buffer contains a character.
  */
 static int
-xmlParseLookupSequence(xmlParserCtxtPtr ctxt, xmlChar first,
-                       xmlChar next, xmlChar third) {
-    int base, len;
-    xmlParserInputPtr in;
-    const xmlChar *buf;
+xmlParseLookupChar(xmlParserCtxtPtr ctxt, int c) {
+    const xmlChar *cur;
 
-    in = ctxt->input;
-    if (in == NULL) return(-1);
-    base = in->cur - in->base;
-    if (base < 0) return(-1);
-    if (ctxt->checkIndex > base)
-        base = ctxt->checkIndex;
-    if (in->buf == NULL) {
-	buf = in->base;
-	len = in->length;
+    if (ctxt->checkIndex == 0) {
+        cur = ctxt->input->cur + 1;
     } else {
-	buf = xmlBufContent(in->buf->buffer);
-	len = xmlBufUse(in->buf->buffer);
+        cur = ctxt->input->cur + ctxt->checkIndex;
     }
-    /* take into account the sequence length */
-    if (third) len -= 2;
-    else if (next) len --;
-    for (;base < len;base++) {
-        if (buf[base] == first) {
-	    if (third != 0) {
-		if ((buf[base + 1] != next) ||
-		    (buf[base + 2] != third)) continue;
-	    } else if (next != 0) {
-		if (buf[base + 1] != next) continue;
-	    }
-	    ctxt->checkIndex = 0;
-#ifdef DEBUG_PUSH
-	    if (next == 0)
-		xmlGenericError(xmlGenericErrorContext,
-			"PP: lookup '%c' found at %d\n",
-			first, base);
-	    else if (third == 0)
-		xmlGenericError(xmlGenericErrorContext,
-			"PP: lookup '%c%c' found at %d\n",
-			first, next, base);
-	    else
-		xmlGenericError(xmlGenericErrorContext,
-			"PP: lookup '%c%c%c' found at %d\n",
-			first, next, third, base);
-#endif
-	    return(base - (in->cur - in->base));
-	}
+
+    if (memchr(cur, c, ctxt->input->end - cur) == NULL) {
+        size_t index = ctxt->input->end - ctxt->input->cur;
+
+        if (index > LONG_MAX) {
+            ctxt->checkIndex = 0;
+            return(1);
+        }
+        ctxt->checkIndex = index;
+        return(0);
+    } else {
+        ctxt->checkIndex = 0;
+        return(1);
     }
-    ctxt->checkIndex = base;
-#ifdef DEBUG_PUSH
-    if (next == 0)
-	xmlGenericError(xmlGenericErrorContext,
-		"PP: lookup '%c' failed\n", first);
-    else if (third == 0)
-	xmlGenericError(xmlGenericErrorContext,
-		"PP: lookup '%c%c' failed\n", first, next);
-    else
-	xmlGenericError(xmlGenericErrorContext,
-		"PP: lookup '%c%c%c' failed\n", first, next, third);
-#endif
-    return(-1);
 }
 
 /**
- * xmlParseGetLasts:
+ * xmlParseLookupString:
  * @ctxt:  an XML parser context
- * @lastlt:  pointer to store the last '<' from the input
- * @lastgt:  pointer to store the last '>' from the input
+ * @startDelta: delta to apply at the start
+ * @str:  string
+ * @strLen:  length of string
  *
- * Lookup the last < and > in the current chunk
+ * Check whether the input buffer contains a string.
  */
-static void
-xmlParseGetLasts(xmlParserCtxtPtr ctxt, const xmlChar **lastlt,
-                 const xmlChar **lastgt) {
-    const xmlChar *tmp;
+static const xmlChar *
+xmlParseLookupString(xmlParserCtxtPtr ctxt, size_t startDelta,
+                     const char *str, size_t strLen) {
+    const xmlChar *cur, *term;
 
-    if ((ctxt == NULL) || (lastlt == NULL) || (lastgt == NULL)) {
-	xmlGenericError(xmlGenericErrorContext,
-		    "Internal error: xmlParseGetLasts\n");
-	return;
-    }
-    if ((ctxt->progressive != 0) && (ctxt->inputNr == 1)) {
-        tmp = ctxt->input->end;
-	tmp--;
-	while ((tmp >= ctxt->input->base) && (*tmp != '<')) tmp--;
-	if (tmp < ctxt->input->base) {
-	    *lastlt = NULL;
-	    *lastgt = NULL;
-	} else {
-	    *lastlt = tmp;
-	    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 {
-	        tmp = *lastlt;
-		tmp--;
-		while ((tmp >= ctxt->input->base) && (*tmp != '>')) tmp--;
-		if (tmp >= ctxt->input->base)
-		    *lastgt = tmp;
-		else
-		    *lastgt = NULL;
-	    }
-	}
+    if (ctxt->checkIndex == 0) {
+        cur = ctxt->input->cur + startDelta;
     } else {
-        *lastlt = NULL;
-	*lastgt = NULL;
+        cur = ctxt->input->cur + ctxt->checkIndex;
     }
+
+    term = BAD_CAST strstr((const char *) cur, str);
+    if (term == NULL) {
+        const xmlChar *end = ctxt->input->end;
+        size_t index;
+
+        /* Rescan (strLen - 1) characters. */
+        if ((size_t) (end - cur) < strLen)
+            end = cur;
+        else
+            end -= strLen - 1;
+        index = end - ctxt->input->cur;
+        if (index > LONG_MAX) {
+            ctxt->checkIndex = 0;
+            return(ctxt->input->end - strLen);
+        }
+        ctxt->checkIndex = index;
+    } else {
+        ctxt->checkIndex = 0;
+    }
+
+    return(term);
 }
+
+/**
+ * xmlParseLookupCharData:
+ * @ctxt:  an XML parser context
+ *
+ * Check whether the input buffer contains terminated char data.
+ */
+static int
+xmlParseLookupCharData(xmlParserCtxtPtr ctxt) {
+    const xmlChar *cur = ctxt->input->cur + ctxt->checkIndex;
+    const xmlChar *end = ctxt->input->end;
+    size_t index;
+
+    while (cur < end) {
+        if ((*cur == '<') || (*cur == '&')) {
+            ctxt->checkIndex = 0;
+            return(1);
+        }
+        cur++;
+    }
+
+    index = cur - ctxt->input->cur;
+    if (index > LONG_MAX) {
+        ctxt->checkIndex = 0;
+        return(1);
+    }
+    ctxt->checkIndex = index;
+    return(0);
+}
+
+/**
+ * xmlParseLookupGt:
+ * @ctxt:  an XML parser context
+ *
+ * Check whether there's enough data in the input buffer to finish parsing
+ * a start tag. This has to take quotes into account.
+ */
+static int
+xmlParseLookupGt(xmlParserCtxtPtr ctxt) {
+    const xmlChar *cur;
+    const xmlChar *end = ctxt->input->end;
+    int state = ctxt->endCheckState;
+    size_t index;
+
+    if (ctxt->checkIndex == 0)
+        cur = ctxt->input->cur + 1;
+    else
+        cur = ctxt->input->cur + ctxt->checkIndex;
+
+    while (cur < end) {
+        if (state) {
+            if (*cur == state)
+                state = 0;
+        } else if (*cur == '\'' || *cur == '"') {
+            state = *cur;
+        } else if (*cur == '>') {
+            ctxt->checkIndex = 0;
+            ctxt->endCheckState = 0;
+            return(1);
+        }
+        cur++;
+    }
+
+    index = cur - ctxt->input->cur;
+    if (index > LONG_MAX) {
+        ctxt->checkIndex = 0;
+        ctxt->endCheckState = 0;
+        return(1);
+    }
+    ctxt->checkIndex = index;
+    ctxt->endCheckState = state;
+    return(0);
+}
+
+/**
+ * xmlParseLookupInternalSubset:
+ * @ctxt:  an XML parser context
+ *
+ * Check whether there's enough data in the input buffer to finish parsing
+ * the internal subset.
+ */
+static int
+xmlParseLookupInternalSubset(xmlParserCtxtPtr ctxt) {
+    /*
+     * Sorry, but progressive parsing of the internal subset is not
+     * supported. We first check that the full content of the internal
+     * subset is available and parsing is launched only at that point.
+     * Internal subset ends with "']' S? '>'" in an unescaped section and
+     * not in a ']]>' sequence which are conditional sections.
+     */
+    const xmlChar *cur, *start;
+    const xmlChar *end = ctxt->input->end;
+    int state = ctxt->endCheckState;
+    size_t index;
+
+    if (ctxt->checkIndex == 0) {
+        cur = ctxt->input->cur + 1;
+    } else {
+        cur = ctxt->input->cur + ctxt->checkIndex;
+    }
+    start = cur;
+
+    while (cur < end) {
+        if (state == '-') {
+            if ((*cur == '-') &&
+                (cur[1] == '-') &&
+                (cur[2] == '>')) {
+                state = 0;
+                cur += 3;
+                start = cur;
+                continue;
+            }
+        }
+        else if (state == ']') {
+            if (*cur == '>') {
+                ctxt->checkIndex = 0;
+                ctxt->endCheckState = 0;
+                return(1);
+            }
+            if (IS_BLANK_CH(*cur)) {
+                state = ' ';
+            } else if (*cur != ']') {
+                state = 0;
+                start = cur;
+                continue;
+            }
+        }
+        else if (state == ' ') {
+            if (*cur == '>') {
+                ctxt->checkIndex = 0;
+                ctxt->endCheckState = 0;
+                return(1);
+            }
+            if (!IS_BLANK_CH(*cur)) {
+                state = 0;
+                start = cur;
+                continue;
+            }
+        }
+        else if (state != 0) {
+            if (*cur == state) {
+                state = 0;
+                start = cur + 1;
+            }
+        }
+        else if (*cur == '<') {
+            if ((cur[1] == '!') &&
+                (cur[2] == '-') &&
+                (cur[3] == '-')) {
+                state = '-';
+                cur += 4;
+                /* Don't treat <!--> as comment */
+                start = cur;
+                continue;
+            }
+        }
+        else if ((*cur == '"') || (*cur == '\'') || (*cur == ']')) {
+            state = *cur;
+        }
+
+        cur++;
+    }
+
+    /*
+     * Rescan the three last characters to detect "<!--" and "-->"
+     * split across chunks.
+     */
+    if ((state == 0) || (state == '-')) {
+        if (cur - start < 3)
+            cur = start;
+        else
+            cur -= 3;
+    }
+    index = cur - ctxt->input->cur;
+    if (index > LONG_MAX) {
+        ctxt->checkIndex = 0;
+        ctxt->endCheckState = 0;
+        return(1);
+    }
+    ctxt->checkIndex = index;
+    ctxt->endCheckState = state;
+    return(0);
+}
+
 /**
  * xmlCheckCdataPush:
  * @cur: pointer to the block of characters
@@ -11201,9 +11413,9 @@
 static int
 xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
     int ret = 0;
-    int avail, tlen;
+    int tlen;
+    size_t avail;
     xmlChar cur, next;
-    const xmlChar *lastlt, *lastgt;
 
     if (ctxt->input == NULL)
         return(0);
@@ -11263,20 +11475,15 @@
 
     if ((ctxt->input != NULL) &&
         (ctxt->input->cur - ctxt->input->base > 4096)) {
-	xmlSHRINK(ctxt);
-	ctxt->checkIndex = 0;
+        xmlParserShrink(ctxt);
     }
-    xmlParseGetLasts(ctxt, &lastlt, &lastgt);
 
     while (ctxt->instate != XML_PARSER_EOF) {
 	if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1))
 	    return(0);
 
 	if (ctxt->input == NULL) break;
-	if (ctxt->input->buf == NULL)
-	    avail = ctxt->input->length -
-	            (ctxt->input->cur - ctxt->input->base);
-	else {
+	if (ctxt->input->buf != NULL) {
 	    /*
 	     * If we are operating on converted input, try to flush
 	     * remaining chars to avoid them stalling in the non-converted
@@ -11295,9 +11502,8 @@
                 xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input,
                                       base, current);
 	    }
-	    avail = xmlBufUse(ctxt->input->buf->buffer) -
-		    (ctxt->input->cur - ctxt->input->base);
 	}
+        avail = ctxt->input->end - ctxt->input->cur;
         if (avail < 1)
 	    goto done;
         switch (ctxt->instate) {
@@ -11353,10 +11559,10 @@
 		}
 	        if ((cur == '<') && (next == '?')) {
 		    /* PI or XML decl */
-		    if (avail < 5) return(ret);
+		    if (avail < 5) goto done;
 		    if ((!terminate) &&
-		        (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
-			return(ret);
+                        (!xmlParseLookupString(ctxt, 2, "?>", 2)))
+			goto done;
 		    if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
 			ctxt->sax->setDocumentLocator(ctxt->userData,
 						      &xmlDefaultSAXLocator);
@@ -11437,15 +11643,8 @@
 			ctxt->sax->endDocument(ctxt->userData);
 		    goto done;
 		}
-		if (!terminate) {
-		    if (ctxt->progressive) {
-		        /* > 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;
-		    }
-		}
+		if ((!terminate) && (!xmlParseLookupGt(ctxt)))
+                    goto done;
 		if (ctxt->spaceNr == 0)
 		    spacePush(ctxt, -1);
 		else if (*ctxt->space == -2)
@@ -11510,7 +11709,6 @@
 		    } else {
 			ctxt->instate = XML_PARSER_CONTENT;
 		    }
-                    ctxt->progressive = 1;
 		    break;
 		}
 		if (RAW == '>') {
@@ -11525,51 +11723,34 @@
                 nameNsPush(ctxt, name, prefix, URI, line, ctxt->nsNr - nsNr);
 
 		ctxt->instate = XML_PARSER_CONTENT;
-                ctxt->progressive = 1;
                 break;
 	    }
             case XML_PARSER_CONTENT: {
-		const xmlChar *test;
-		unsigned int cons;
 		if ((avail < 2) && (ctxt->inputNr == 1))
 		    goto done;
 		cur = ctxt->input->cur[0];
 		next = ctxt->input->cur[1];
 
-		test = CUR_PTR;
-	        cons = ctxt->input->consumed;
 		if ((cur == '<') && (next == '/')) {
 		    ctxt->instate = XML_PARSER_END_TAG;
 		    break;
 	        } else if ((cur == '<') && (next == '?')) {
 		    if ((!terminate) &&
-		        (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)) {
-                        ctxt->progressive = XML_PARSER_PI;
+		        (!xmlParseLookupString(ctxt, 2, "?>", 2)))
 			goto done;
-                    }
 		    xmlParsePI(ctxt);
 		    ctxt->instate = XML_PARSER_CONTENT;
-                    ctxt->progressive = 1;
 		} else if ((cur == '<') && (next != '!')) {
 		    ctxt->instate = XML_PARSER_START_TAG;
 		    break;
 		} else if ((cur == '<') && (next == '!') &&
 		           (ctxt->input->cur[2] == '-') &&
 			   (ctxt->input->cur[3] == '-')) {
-		    int term;
-
-	            if (avail < 4)
-		        goto done;
-		    ctxt->input->cur += 4;
-		    term = xmlParseLookupSequence(ctxt, '-', '-', '>');
-		    ctxt->input->cur -= 4;
-		    if ((!terminate) && (term < 0)) {
-                        ctxt->progressive = XML_PARSER_COMMENT;
+		    if ((!terminate) &&
+		        (!xmlParseLookupString(ctxt, 4, "-->", 3)))
 			goto done;
-                    }
 		    xmlParseComment(ctxt);
 		    ctxt->instate = XML_PARSER_CONTENT;
-                    ctxt->progressive = 1;
 		} else if ((cur == '<') && (ctxt->input->cur[1] == '!') &&
 		    (ctxt->input->cur[2] == '[') &&
 		    (ctxt->input->cur[3] == 'C') &&
@@ -11584,9 +11765,12 @@
 		} else if ((cur == '<') && (next == '!') &&
 		           (avail < 9)) {
 		    goto done;
+		} else if (cur == '<') {
+		    xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
+		                "detected an error in element content\n");
+                    SKIP(1);
 		} else if (cur == '&') {
-		    if ((!terminate) &&
-		        (xmlParseLookupSequence(ctxt, ';', 0, 0) < 0))
+		    if ((!terminate) && (!xmlParseLookupChar(ctxt, ';')))
 			goto done;
 		    xmlParseReference(ctxt);
 		} else {
@@ -11604,40 +11788,19 @@
 		     */
 		    if ((ctxt->inputNr == 1) &&
 		        (avail < XML_PARSER_BIG_BUFFER_SIZE)) {
-			if (!terminate) {
-			    if (ctxt->progressive) {
-				if ((lastlt == NULL) ||
-				    (ctxt->input->cur > lastlt))
-				    goto done;
-			    } else if (xmlParseLookupSequence(ctxt,
-			                                      '<', 0, 0) < 0) {
-				goto done;
-			    }
-			}
+			if ((!terminate) && (!xmlParseLookupCharData(ctxt)))
+			    goto done;
                     }
-		    ctxt->checkIndex = 0;
+                    ctxt->checkIndex = 0;
 		    xmlParseCharData(ctxt, 0);
 		}
-		if ((cons == ctxt->input->consumed) && (test == CUR_PTR)) {
-		    xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
-		                "detected an error in element content\n");
-		    xmlHaltParser(ctxt);
-		    break;
-		}
 		break;
 	    }
             case XML_PARSER_END_TAG:
 		if (avail < 2)
 		    goto done;
-		if (!terminate) {
-		    if (ctxt->progressive) {
-		        /* > 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;
-		    }
-		}
+		if ((!terminate) && (!xmlParseLookupChar(ctxt, '>')))
+		    goto done;
 		if (ctxt->sax2) {
 	            xmlParseEndTag2(ctxt, &ctxt->pushTab[ctxt->nameNr - 1]);
 		    nameNsPop(ctxt);
@@ -11659,35 +11822,51 @@
 		 * The Push mode need to have the SAX callback for
 		 * cdataBlock merge back contiguous callbacks.
 		 */
-		int base;
+		const xmlChar *term;
 
-		base = xmlParseLookupSequence(ctxt, ']', ']', '>');
-		if (base < 0) {
-		    if (avail >= XML_PARSER_BIG_BUFFER_SIZE + 2) {
-		        int tmp;
+                if (terminate) {
+                    /*
+                     * Don't call xmlParseLookupString. If 'terminate'
+                     * is set, checkIndex is invalid.
+                     */
+                    term = BAD_CAST strstr((const char *) ctxt->input->cur,
+                                           "]]>");
+                } else {
+		    term = xmlParseLookupString(ctxt, 0, "]]>", 3);
+                }
 
-			tmp = xmlCheckCdataPush(ctxt->input->cur,
-			                        XML_PARSER_BIG_BUFFER_SIZE, 0);
-			if (tmp < 0) {
-			    tmp = -tmp;
-			    ctxt->input->cur += tmp;
-			    goto encoding_error;
-			}
-			if ((ctxt->sax != NULL) && (!ctxt->disableSAX)) {
-			    if (ctxt->sax->cdataBlock != NULL)
-				ctxt->sax->cdataBlock(ctxt->userData,
-				                      ctxt->input->cur, tmp);
-			    else if (ctxt->sax->characters != NULL)
-				ctxt->sax->characters(ctxt->userData,
-				                      ctxt->input->cur, tmp);
-			}
-			if (ctxt->instate == XML_PARSER_EOF)
-			    goto done;
-			SKIPL(tmp);
-			ctxt->checkIndex = 0;
-		    }
-		    goto done;
+		if (term == NULL) {
+		    int tmp, size;
+
+                    if (terminate) {
+                        /* Unfinished CDATA section */
+                        size = ctxt->input->end - ctxt->input->cur;
+                    } else {
+                        if (avail < XML_PARSER_BIG_BUFFER_SIZE + 2)
+                            goto done;
+                        ctxt->checkIndex = 0;
+                        /* XXX: Why don't we pass the full buffer? */
+                        size = XML_PARSER_BIG_BUFFER_SIZE;
+                    }
+                    tmp = xmlCheckCdataPush(ctxt->input->cur, size, 0);
+                    if (tmp <= 0) {
+                        tmp = -tmp;
+                        ctxt->input->cur += tmp;
+                        goto encoding_error;
+                    }
+                    if ((ctxt->sax != NULL) && (!ctxt->disableSAX)) {
+                        if (ctxt->sax->cdataBlock != NULL)
+                            ctxt->sax->cdataBlock(ctxt->userData,
+                                                  ctxt->input->cur, tmp);
+                        else if (ctxt->sax->characters != NULL)
+                            ctxt->sax->characters(ctxt->userData,
+                                                  ctxt->input->cur, tmp);
+                    }
+                    if (ctxt->instate == XML_PARSER_EOF)
+                        goto done;
+                    SKIPL(tmp);
 		} else {
+                    int base = term - CUR_PTR;
 		    int tmp;
 
 		    tmp = xmlCheckCdataPush(ctxt->input->cur, base, 1);
@@ -11721,7 +11900,6 @@
 		    if (ctxt->instate == XML_PARSER_EOF)
 			goto done;
 		    SKIPL(base + 3);
-		    ctxt->checkIndex = 0;
 		    ctxt->instate = XML_PARSER_CONTENT;
 #ifdef DEBUG_PUSH
 		    xmlGenericError(xmlGenericErrorContext,
@@ -11731,23 +11909,18 @@
 		break;
 	    }
             case XML_PARSER_MISC:
+            case XML_PARSER_PROLOG:
+            case XML_PARSER_EPILOG:
 		SKIP_BLANKS;
-		if (ctxt->input->buf == NULL)
-		    avail = ctxt->input->length -
-		            (ctxt->input->cur - ctxt->input->base);
-		else
-		    avail = xmlBufUse(ctxt->input->buf->buffer) -
-		            (ctxt->input->cur - ctxt->input->base);
+                avail = ctxt->input->end - ctxt->input->cur;
 		if (avail < 2)
 		    goto done;
 		cur = ctxt->input->cur[0];
 		next = ctxt->input->cur[1];
 	        if ((cur == '<') && (next == '?')) {
 		    if ((!terminate) &&
-		        (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)) {
-                        ctxt->progressive = XML_PARSER_PI;
+                        (!xmlParseLookupString(ctxt, 2, "?>", 2)))
 			goto done;
-                    }
 #ifdef DEBUG_PUSH
 		    xmlGenericError(xmlGenericErrorContext,
 			    "PP: Parsing PI\n");
@@ -11755,17 +11928,12 @@
 		    xmlParsePI(ctxt);
 		    if (ctxt->instate == XML_PARSER_EOF)
 			goto done;
-		    ctxt->instate = XML_PARSER_MISC;
-                    ctxt->progressive = 1;
-		    ctxt->checkIndex = 0;
 		} else if ((cur == '<') && (next == '!') &&
 		    (ctxt->input->cur[2] == '-') &&
 		    (ctxt->input->cur[3] == '-')) {
 		    if ((!terminate) &&
-		        (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0)) {
-                        ctxt->progressive = XML_PARSER_COMMENT;
+                        (!xmlParseLookupString(ctxt, 4, "-->", 3)))
 			goto done;
-                    }
 #ifdef DEBUG_PUSH
 		    xmlGenericError(xmlGenericErrorContext,
 			    "PP: Parsing Comment\n");
@@ -11773,10 +11941,8 @@
 		    xmlParseComment(ctxt);
 		    if (ctxt->instate == XML_PARSER_EOF)
 			goto done;
-		    ctxt->instate = XML_PARSER_MISC;
-                    ctxt->progressive = 1;
-		    ctxt->checkIndex = 0;
-		} else if ((cur == '<') && (next == '!') &&
+		} else if ((ctxt->instate == XML_PARSER_MISC) &&
+                    (cur == '<') && (next == '!') &&
 		    (ctxt->input->cur[2] == 'D') &&
 		    (ctxt->input->cur[3] == 'O') &&
 		    (ctxt->input->cur[4] == 'C') &&
@@ -11784,18 +11950,13 @@
 		    (ctxt->input->cur[6] == 'Y') &&
 		    (ctxt->input->cur[7] == 'P') &&
 		    (ctxt->input->cur[8] == 'E')) {
-		    if ((!terminate) &&
-		        (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0)) {
-                        ctxt->progressive = XML_PARSER_DTD;
-			goto done;
-                    }
+		    if ((!terminate) && (!xmlParseLookupGt(ctxt)))
+                        goto done;
 #ifdef DEBUG_PUSH
 		    xmlGenericError(xmlGenericErrorContext,
 			    "PP: Parsing internal subset\n");
 #endif
 		    ctxt->inSubset = 1;
-                    ctxt->progressive = 0;
-		    ctxt->checkIndex = 0;
 		    xmlParseDocTypeDecl(ctxt);
 		    if (ctxt->instate == XML_PARSER_EOF)
 			goto done;
@@ -11824,120 +11985,10 @@
 #endif
 		    }
 		} else if ((cur == '<') && (next == '!') &&
-		           (avail < 9)) {
+		           (avail <
+                            (ctxt->instate == XML_PARSER_MISC ? 9 : 4))) {
 		    goto done;
-		} else {
-		    ctxt->instate = XML_PARSER_START_TAG;
-		    ctxt->progressive = XML_PARSER_START_TAG;
-		    xmlParseGetLasts(ctxt, &lastlt, &lastgt);
-#ifdef DEBUG_PUSH
-		    xmlGenericError(xmlGenericErrorContext,
-			    "PP: entering START_TAG\n");
-#endif
-		}
-		break;
-            case XML_PARSER_PROLOG:
-		SKIP_BLANKS;
-		if (ctxt->input->buf == NULL)
-		    avail = ctxt->input->length - (ctxt->input->cur - ctxt->input->base);
-		else
-		    avail = xmlBufUse(ctxt->input->buf->buffer) -
-                            (ctxt->input->cur - ctxt->input->base);
-		if (avail < 2)
-		    goto done;
-		cur = ctxt->input->cur[0];
-		next = ctxt->input->cur[1];
-	        if ((cur == '<') && (next == '?')) {
-		    if ((!terminate) &&
-		        (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)) {
-                        ctxt->progressive = XML_PARSER_PI;
-			goto done;
-                    }
-#ifdef DEBUG_PUSH
-		    xmlGenericError(xmlGenericErrorContext,
-			    "PP: Parsing PI\n");
-#endif
-		    xmlParsePI(ctxt);
-		    if (ctxt->instate == XML_PARSER_EOF)
-			goto done;
-		    ctxt->instate = XML_PARSER_PROLOG;
-                    ctxt->progressive = 1;
-		} else if ((cur == '<') && (next == '!') &&
-		    (ctxt->input->cur[2] == '-') && (ctxt->input->cur[3] == '-')) {
-		    if ((!terminate) &&
-		        (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0)) {
-                        ctxt->progressive = XML_PARSER_COMMENT;
-			goto done;
-                    }
-#ifdef DEBUG_PUSH
-		    xmlGenericError(xmlGenericErrorContext,
-			    "PP: Parsing Comment\n");
-#endif
-		    xmlParseComment(ctxt);
-		    if (ctxt->instate == XML_PARSER_EOF)
-			goto done;
-		    ctxt->instate = XML_PARSER_PROLOG;
-                    ctxt->progressive = 1;
-		} else if ((cur == '<') && (next == '!') &&
-		           (avail < 4)) {
-		    goto done;
-		} else {
-		    ctxt->instate = XML_PARSER_START_TAG;
-		    if (ctxt->progressive == 0)
-			ctxt->progressive = XML_PARSER_START_TAG;
-		    xmlParseGetLasts(ctxt, &lastlt, &lastgt);
-#ifdef DEBUG_PUSH
-		    xmlGenericError(xmlGenericErrorContext,
-			    "PP: entering START_TAG\n");
-#endif
-		}
-		break;
-            case XML_PARSER_EPILOG:
-		SKIP_BLANKS;
-		if (ctxt->input->buf == NULL)
-		    avail = ctxt->input->length - (ctxt->input->cur - ctxt->input->base);
-		else
-		    avail = xmlBufUse(ctxt->input->buf->buffer) -
-                            (ctxt->input->cur - ctxt->input->base);
-		if (avail < 2)
-		    goto done;
-		cur = ctxt->input->cur[0];
-		next = ctxt->input->cur[1];
-	        if ((cur == '<') && (next == '?')) {
-		    if ((!terminate) &&
-		        (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)) {
-                        ctxt->progressive = XML_PARSER_PI;
-			goto done;
-                    }
-#ifdef DEBUG_PUSH
-		    xmlGenericError(xmlGenericErrorContext,
-			    "PP: Parsing PI\n");
-#endif
-		    xmlParsePI(ctxt);
-		    if (ctxt->instate == XML_PARSER_EOF)
-			goto done;
-		    ctxt->instate = XML_PARSER_EPILOG;
-                    ctxt->progressive = 1;
-		} else if ((cur == '<') && (next == '!') &&
-		    (ctxt->input->cur[2] == '-') && (ctxt->input->cur[3] == '-')) {
-		    if ((!terminate) &&
-		        (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0)) {
-                        ctxt->progressive = XML_PARSER_COMMENT;
-			goto done;
-                    }
-#ifdef DEBUG_PUSH
-		    xmlGenericError(xmlGenericErrorContext,
-			    "PP: Parsing Comment\n");
-#endif
-		    xmlParseComment(ctxt);
-		    if (ctxt->instate == XML_PARSER_EOF)
-			goto done;
-		    ctxt->instate = XML_PARSER_EPILOG;
-                    ctxt->progressive = 1;
-		} else if ((cur == '<') && (next == '!') &&
-		           (avail < 4)) {
-		    goto done;
-		} else {
+		} else if (ctxt->instate == XML_PARSER_EPILOG) {
 		    xmlFatalErr(ctxt, XML_ERR_DOCUMENT_END, NULL);
 		    xmlHaltParser(ctxt);
 #ifdef DEBUG_PUSH
@@ -11947,120 +11998,17 @@
 		    if ((ctxt->sax) && (ctxt->sax->endDocument != NULL))
 			ctxt->sax->endDocument(ctxt->userData);
 		    goto done;
+                } else {
+		    ctxt->instate = XML_PARSER_START_TAG;
+#ifdef DEBUG_PUSH
+		    xmlGenericError(xmlGenericErrorContext,
+			    "PP: entering START_TAG\n");
+#endif
 		}
 		break;
             case XML_PARSER_DTD: {
-	        /*
-		 * Sorry but progressive parsing of the internal subset
-		 * is not expected to be supported. We first check that
-		 * the full content of the internal subset is available and
-		 * the parsing is launched only at that point.
-		 * Internal subset ends up with "']' S? '>'" in an unescaped
-		 * section and not in a ']]>' sequence which are conditional
-		 * sections (whoever argued to keep that crap in XML deserve
-		 * a place in hell !).
-		 */
-		int base, i;
-		xmlChar *buf;
-	        xmlChar quote = 0;
-                size_t use;
-
-		base = ctxt->input->cur - ctxt->input->base;
-		if (base < 0) return(0);
-		if (ctxt->checkIndex > base)
-		    base = ctxt->checkIndex;
-		buf = xmlBufContent(ctxt->input->buf->buffer);
-                use = xmlBufUse(ctxt->input->buf->buffer);
-		for (;(unsigned int) base < use; base++) {
-		    if (quote != 0) {
-		        if (buf[base] == quote)
-			    quote = 0;
-			continue;
-		    }
-		    if ((quote == 0) && (buf[base] == '<')) {
-		        int found  = 0;
-			/* special handling of comments */
-		        if (((unsigned int) base + 4 < use) &&
-			    (buf[base + 1] == '!') &&
-			    (buf[base + 2] == '-') &&
-			    (buf[base + 3] == '-')) {
-			    for (;(unsigned int) base + 3 < use; base++) {
-				if ((buf[base] == '-') &&
-				    (buf[base + 1] == '-') &&
-				    (buf[base + 2] == '>')) {
-				    found = 1;
-				    base += 2;
-				    break;
-				}
-		            }
-			    if (!found) {
-#if 0
-			        fprintf(stderr, "unfinished comment\n");
-#endif
-			        break; /* for */
-		            }
-		            continue;
-			}
-		    }
-		    if (buf[base] == '"') {
-		        quote = '"';
-			continue;
-		    }
-		    if (buf[base] == '\'') {
-		        quote = '\'';
-			continue;
-		    }
-		    if (buf[base] == ']') {
-#if 0
-		        fprintf(stderr, "%c%c%c%c: ", buf[base],
-			        buf[base + 1], buf[base + 2], buf[base + 3]);
-#endif
-		        if ((unsigned int) base +1 >= use)
-			    break;
-			if (buf[base + 1] == ']') {
-			    /* conditional crap, skip both ']' ! */
-			    base++;
-			    continue;
-			}
-		        for (i = 1; (unsigned int) base + i < use; i++) {
-			    if (buf[base + i] == '>') {
-#if 0
-			        fprintf(stderr, "found\n");
-#endif
-			        goto found_end_int_subset;
-			    }
-			    if (!IS_BLANK_CH(buf[base + i])) {
-#if 0
-			        fprintf(stderr, "not found\n");
-#endif
-			        goto not_end_of_int_subset;
-			    }
-			}
-#if 0
-			fprintf(stderr, "end of stream\n");
-#endif
-		        break;
-
-		    }
-not_end_of_int_subset:
-                    continue; /* for */
-		}
-		/*
-		 * We didn't found the end of the Internal subset
-		 */
-                if (quote == 0)
-                    ctxt->checkIndex = base;
-                else
-                    ctxt->checkIndex = 0;
-#ifdef DEBUG_PUSH
-		if (next == 0)
-		    xmlGenericError(xmlGenericErrorContext,
-			    "PP: lookup of int subset end filed\n");
-#endif
-	        goto done;
-
-found_end_int_subset:
-                ctxt->checkIndex = 0;
+                if ((!terminate) && (!xmlParseLookupInternalSubset(ctxt)))
+                    goto done;
 		xmlParseInternalSubset(ctxt);
 		if (ctxt->instate == XML_PARSER_EOF)
 		    goto done;
@@ -12074,7 +12022,6 @@
 		if (ctxt->instate == XML_PARSER_EOF)
 		    goto done;
 		ctxt->instate = XML_PARSER_PROLOG;
-		ctxt->checkIndex = 0;
 #ifdef DEBUG_PUSH
 		xmlGenericError(xmlGenericErrorContext,
 			"PP: entering PROLOG\n");
@@ -12161,7 +12108,11 @@
 #endif
     return(ret);
 encoding_error:
-    {
+    if (ctxt->input->end - ctxt->input->cur < 4) {
+	__xmlErrEncoding(ctxt, XML_ERR_INVALID_CHAR,
+		     "Input is not proper UTF-8, indicate encoding !\n",
+		     NULL, NULL);
+    } else {
         char buffer[150];
 
 	snprintf(buffer, 149, "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
@@ -12175,55 +12126,6 @@
 }
 
 /**
- * xmlParseCheckTransition:
- * @ctxt:  an XML parser context
- * @chunk:  a char array
- * @size:  the size in byte of the chunk
- *
- * Check depending on the current parser state if the chunk given must be
- * processed immediately or one need more data to advance on parsing.
- *
- * Returns -1 in case of error, 0 if the push is not needed and 1 if needed
- */
-static int
-xmlParseCheckTransition(xmlParserCtxtPtr ctxt, const char *chunk, int size) {
-    if ((ctxt == NULL) || (chunk == NULL) || (size < 0))
-        return(-1);
-    if (ctxt->instate == XML_PARSER_START_TAG) {
-        if (memchr(chunk, '>', size) != NULL)
-            return(1);
-        return(0);
-    }
-    if (ctxt->progressive == XML_PARSER_COMMENT) {
-        if (memchr(chunk, '>', size) != NULL)
-            return(1);
-        return(0);
-    }
-    if (ctxt->instate == XML_PARSER_CDATA_SECTION) {
-        if (memchr(chunk, '>', size) != NULL)
-            return(1);
-        return(0);
-    }
-    if (ctxt->progressive == XML_PARSER_PI) {
-        if (memchr(chunk, '>', size) != NULL)
-            return(1);
-        return(0);
-    }
-    if (ctxt->instate == XML_PARSER_END_TAG) {
-        if (memchr(chunk, '>', size) != NULL)
-            return(1);
-        return(0);
-    }
-    if ((ctxt->progressive == XML_PARSER_DTD) ||
-        (ctxt->instate == XML_PARSER_DTD)) {
-        if (memchr(chunk, '>', size) != NULL)
-            return(1);
-        return(0);
-    }
-    return(1);
-}
-
-/**
  * xmlParseChunk:
  * @ctxt:  an XML parser context
  * @chunk:  an char array
@@ -12239,8 +12141,6 @@
               int terminate) {
     int end_in_lf = 0;
     int remain = 0;
-    size_t old_avail = 0;
-    size_t avail = 0;
 
     if (ctxt == NULL)
         return(XML_ERR_INTERNAL_ERROR);
@@ -12248,6 +12148,10 @@
         return(ctxt->errNo);
     if (ctxt->instate == XML_PARSER_EOF)
         return(-1);
+    if (ctxt->input == NULL)
+        return(-1);
+
+    ctxt->progressive = 1;
     if (ctxt->instate == XML_PARSER_START)
         xmlDetectSAX2(ctxt);
     if ((size > 0) && (chunk != NULL) && (!terminate) &&
@@ -12264,7 +12168,6 @@
 	size_t cur = ctxt->input->cur - ctxt->input->base;
 	int res;
 
-        old_avail = xmlBufUse(ctxt->input->buf->buffer);
         /*
          * Specific handling if we autodetected an encoding, we should not
          * push more than the first line ... which depend on the encoding
@@ -12332,23 +12235,11 @@
 	    }
 	}
     }
+
     if (remain != 0) {
         xmlParseTryOrFinish(ctxt, 0);
     } else {
-        if ((ctxt->input != NULL) && (ctxt->input->buf != NULL))
-            avail = xmlBufUse(ctxt->input->buf->buffer);
-        /*
-         * Depending on the current state it may not be such
-         * a good idea to try parsing if there is nothing in the chunk
-         * which would be worth doing a parser state transition and we
-         * need to wait for more data
-         */
-        if ((terminate) || (avail > XML_MAX_TEXT_LENGTH) ||
-            (old_avail == 0) || (avail == 0) ||
-            (xmlParseCheckTransition(ctxt,
-                       (const char *)&ctxt->input->base[old_avail],
-                                     avail - old_avail)))
-            xmlParseTryOrFinish(ctxt, terminate);
+        xmlParseTryOrFinish(ctxt, terminate);
     }
     if (ctxt->instate == XML_PARSER_EOF)
         return(ctxt->errNo);
@@ -12384,22 +12275,12 @@
 	/*
 	 * Check for termination
 	 */
-	int cur_avail = 0;
-
-	if (ctxt->input != NULL) {
-	    if (ctxt->input->buf == NULL)
-		cur_avail = ctxt->input->length -
-			    (ctxt->input->cur - ctxt->input->base);
-	    else
-		cur_avail = xmlBufUse(ctxt->input->buf->buffer) -
-			              (ctxt->input->cur - ctxt->input->base);
-	}
-
 	if ((ctxt->instate != XML_PARSER_EOF) &&
 	    (ctxt->instate != XML_PARSER_EPILOG)) {
 	    xmlFatalErr(ctxt, XML_ERR_DOCUMENT_END, NULL);
 	}
-	if ((ctxt->instate == XML_PARSER_EPILOG) && (cur_avail > 0)) {
+	if ((ctxt->instate == XML_PARSER_EPILOG) &&
+            (ctxt->input->cur < ctxt->input->end)) {
 	    xmlFatalErr(ctxt, XML_ERR_DOCUMENT_END, NULL);
 	}
 	if (ctxt->instate != XML_PARSER_EOF) {
@@ -12456,33 +12337,13 @@
     buf = xmlAllocParserInputBuffer(enc);
     if (buf == NULL) return(NULL);
 
-    ctxt = xmlNewParserCtxt();
+    ctxt = xmlNewSAXParserCtxt(sax, user_data);
     if (ctxt == NULL) {
         xmlErrMemory(NULL, "creating parser: out of memory\n");
 	xmlFreeParserInputBuffer(buf);
 	return(NULL);
     }
     ctxt->dictNames = 1;
-    if (sax != NULL) {
-#ifdef LIBXML_SAX1_ENABLED
-	if (ctxt->sax != (xmlSAXHandlerPtr) &xmlDefaultSAXHandler)
-#endif /* LIBXML_SAX1_ENABLED */
-	    xmlFree(ctxt->sax);
-	ctxt->sax = (xmlSAXHandlerPtr) xmlMalloc(sizeof(xmlSAXHandler));
-	if (ctxt->sax == NULL) {
-	    xmlErrMemory(ctxt, NULL);
-	    xmlFreeParserInputBuffer(buf);
-	    xmlFreeParserCtxt(ctxt);
-	    return(NULL);
-	}
-	memset(ctxt->sax, 0, sizeof(xmlSAXHandler));
-	if (sax->initialized == XML_SAX2_MAGIC)
-	    memcpy(ctxt->sax, sax, sizeof(xmlSAXHandler));
-	else
-	    memcpy(ctxt->sax, sax, sizeof(xmlSAXHandlerV1));
-	if (user_data != NULL)
-	    ctxt->userData = user_data;
-    }
     if (filename == NULL) {
 	ctxt->directory = NULL;
     } else {
@@ -12502,6 +12363,7 @@
 	inputStream->filename = (char *)
 	    xmlCanonicPath((const xmlChar *) filename);
 	if (inputStream->filename == NULL) {
+            xmlFreeInputStream(inputStream);
 	    xmlFreeParserCtxt(ctxt);
 	    xmlFreeParserInputBuffer(buf);
 	    return(NULL);
@@ -12516,9 +12378,10 @@
      * the encoding, we set the context to XML_CHAR_ENCODING_NONE so
      * that it can be automatically determined later
      */
-    if ((size == 0) || (chunk == NULL)) {
-	ctxt->charset = XML_CHAR_ENCODING_NONE;
-    } else if ((ctxt->input != NULL) && (ctxt->input->buf != NULL)) {
+    ctxt->charset = XML_CHAR_ENCODING_NONE;
+
+    if ((size != 0) && (chunk != NULL) &&
+        (ctxt->input != NULL) && (ctxt->input->buf != NULL)) {
 	size_t base = xmlBufGetInputBase(ctxt->input->buf->buffer, ctxt->input);
 	size_t cur = ctxt->input->cur - ctxt->input->base;
 
@@ -12618,31 +12481,11 @@
         return (NULL);
     }
 
-    ctxt = xmlNewParserCtxt();
+    ctxt = xmlNewSAXParserCtxt(sax, user_data);
     if (ctxt == NULL) {
 	xmlFreeParserInputBuffer(buf);
 	return(NULL);
     }
-    if (sax != NULL) {
-#ifdef LIBXML_SAX1_ENABLED
-	if (ctxt->sax != (xmlSAXHandlerPtr) &xmlDefaultSAXHandler)
-#endif /* LIBXML_SAX1_ENABLED */
-	    xmlFree(ctxt->sax);
-	ctxt->sax = (xmlSAXHandlerPtr) xmlMalloc(sizeof(xmlSAXHandler));
-	if (ctxt->sax == NULL) {
-	    xmlFreeParserInputBuffer(buf);
-	    xmlErrMemory(ctxt, NULL);
-	    xmlFreeParserCtxt(ctxt);
-	    return(NULL);
-	}
-	memset(ctxt->sax, 0, sizeof(xmlSAXHandler));
-	if (sax->initialized == XML_SAX2_MAGIC)
-	    memcpy(ctxt->sax, sax, sizeof(xmlSAXHandler));
-	else
-	    memcpy(ctxt->sax, sax, sizeof(xmlSAXHandlerV1));
-	if (user_data != NULL)
-	    ctxt->userData = user_data;
-    }
 
     inputStream = xmlNewIOInputStream(ctxt, buf, enc);
     if (inputStream == NULL) {
@@ -12684,7 +12527,7 @@
     if (input == NULL)
 	return(NULL);
 
-    ctxt = xmlNewParserCtxt();
+    ctxt = xmlNewSAXParserCtxt(sax, NULL);
     if (ctxt == NULL) {
         xmlFreeParserInputBuffer(input);
 	return(NULL);
@@ -12693,15 +12536,6 @@
     /* We are loading a DTD */
     ctxt->options |= XML_PARSE_DTDLOAD;
 
-    /*
-     * Set-up the SAX context
-     */
-    if (sax != NULL) {
-	if (ctxt->sax != NULL)
-	    xmlFree(ctxt->sax);
-        ctxt->sax = sax;
-        ctxt->userData = ctxt;
-    }
     xmlDetectSAX2(ctxt);
 
     /*
@@ -12710,7 +12544,6 @@
 
     pinput = xmlNewIOInputStream(ctxt, input, XML_CHAR_ENCODING_NONE);
     if (pinput == NULL) {
-        if (sax != NULL) ctxt->sax = NULL;
         xmlFreeParserInputBuffer(input);
 	xmlFreeParserCtxt(ctxt);
 	return(NULL);
@@ -12720,7 +12553,6 @@
      * plug some encoding conversion routines here.
      */
     if (xmlPushInput(ctxt, pinput) < 0) {
-        if (sax != NULL) ctxt->sax = NULL;
 	xmlFreeParserCtxt(ctxt);
 	return(NULL);
     }
@@ -12787,7 +12619,6 @@
         xmlFreeDoc(ctxt->myDoc);
         ctxt->myDoc = NULL;
     }
-    if (sax != NULL) ctxt->sax = NULL;
     xmlFreeParserCtxt(ctxt);
 
     return(ret);
@@ -12799,6 +12630,8 @@
  * @ExternalID:  a NAME* containing the External ID of the DTD
  * @SystemID:  a NAME* containing the URL to the DTD
  *
+ * DEPRECATED: Don't use.
+ *
  * Load and parse an external subset.
  *
  * Returns the resulting xmlDtdPtr or NULL in case of error.
@@ -12815,7 +12648,7 @@
 
     if ((ExternalID == NULL) && (SystemID == NULL)) return(NULL);
 
-    ctxt = xmlNewParserCtxt();
+    ctxt = xmlNewSAXParserCtxt(sax, NULL);
     if (ctxt == NULL) {
 	return(NULL);
     }
@@ -12824,16 +12657,6 @@
     ctxt->options |= XML_PARSE_DTDLOAD;
 
     /*
-     * Set-up the SAX context
-     */
-    if (sax != NULL) {
-	if (ctxt->sax != NULL)
-	    xmlFree(ctxt->sax);
-        ctxt->sax = sax;
-        ctxt->userData = ctxt;
-    }
-
-    /*
      * Canonicalise the system ID
      */
     systemIdCanonic = xmlCanonicPath(SystemID);
@@ -12850,7 +12673,6 @@
 	input = ctxt->sax->resolveEntity(ctxt->userData, ExternalID,
 	                                 systemIdCanonic);
     if (input == NULL) {
-        if (sax != NULL) ctxt->sax = NULL;
 	xmlFreeParserCtxt(ctxt);
 	if (systemIdCanonic != NULL)
 	    xmlFree(systemIdCanonic);
@@ -12861,7 +12683,6 @@
      * plug some encoding conversion routines here.
      */
     if (xmlPushInput(ctxt, input) < 0) {
-        if (sax != NULL) ctxt->sax = NULL;
 	xmlFreeParserCtxt(ctxt);
 	if (systemIdCanonic != NULL)
 	    xmlFree(systemIdCanonic);
@@ -12889,7 +12710,6 @@
     ctxt->myDoc = xmlNewDoc(BAD_CAST "1.0");
     if (ctxt->myDoc == NULL) {
 	xmlErrMemory(ctxt, "New Doc failed");
-        if (sax != NULL) ctxt->sax = NULL;
 	xmlFreeParserCtxt(ctxt);
 	return(NULL);
     }
@@ -12918,7 +12738,6 @@
         xmlFreeDoc(ctxt->myDoc);
         ctxt->myDoc = NULL;
     }
-    if (sax != NULL) ctxt->sax = NULL;
     xmlFreeParserCtxt(ctxt);
 
     return(ret);
@@ -13009,15 +12828,16 @@
     xmlParserCtxtPtr ctxt;
     xmlDocPtr newDoc;
     xmlNodePtr newRoot;
-    xmlSAXHandlerPtr oldsax = NULL;
     xmlParserErrors ret = XML_ERR_OK;
     xmlChar start[4];
     xmlCharEncoding enc;
 
     if (((depth > 40) &&
 	((oldctxt == NULL) || (oldctxt->options & XML_PARSE_HUGE) == 0)) ||
-	(depth > 1024)) {
-	return(XML_ERR_ENTITY_LOOP);
+	(depth > 100)) {
+	xmlFatalErrMsg(oldctxt, XML_ERR_ENTITY_LOOP,
+                       "Maximum entity nesting depth exceeded");
+        return(XML_ERR_ENTITY_LOOP);
     }
 
     if (list != NULL)
@@ -13027,17 +12847,15 @@
     if (doc == NULL)
 	return(XML_ERR_INTERNAL_ERROR);
 
-
-    ctxt = xmlCreateEntityParserCtxtInternal(URL, ID, NULL, oldctxt);
+    ctxt = xmlCreateEntityParserCtxtInternal(sax, user_data, URL, ID, NULL,
+                                             oldctxt);
     if (ctxt == NULL) return(XML_WAR_UNDECLARED_ENTITY);
-    ctxt->userData = ctxt;
-    if (sax != NULL) {
-	oldsax = ctxt->sax;
-        ctxt->sax = sax;
-	if (user_data != NULL)
-	    ctxt->userData = user_data;
+    if (oldctxt != NULL) {
+        ctxt->nbErrors = oldctxt->nbErrors;
+        ctxt->nbWarnings = oldctxt->nbWarnings;
     }
     xmlDetectSAX2(ctxt);
+
     newDoc = xmlNewDoc(BAD_CAST "1.0");
     if (newDoc == NULL) {
 	xmlFreeParserCtxt(ctxt);
@@ -13058,7 +12876,6 @@
     newRoot = xmlNewDocNode(newDoc, NULL, BAD_CAST "pseudoroot", NULL);
     if (newRoot == NULL) {
 	if (sax != NULL)
-	    ctxt->sax = oldsax;
 	xmlFreeParserCtxt(ctxt);
 	newDoc->intSubset = NULL;
 	newDoc->extSubset = NULL;
@@ -13118,6 +12935,7 @@
             ctxt->vctxt.error = oldctxt->vctxt.error;
             ctxt->vctxt.warning = oldctxt->vctxt.warning;
             ctxt->vctxt.userData = oldctxt->vctxt.userData;
+            ctxt->vctxt.flags = oldctxt->vctxt.flags;
         }
 	ctxt->external = oldctxt->external;
         if (ctxt->dict) xmlDictFree(ctxt->dict);
@@ -13156,10 +12974,12 @@
     }
 
     if (!ctxt->wellFormed) {
-        if (ctxt->errNo == 0)
-	    ret = XML_ERR_INTERNAL_ERROR;
-	else
-	    ret = (xmlParserErrors)ctxt->errNo;
+	ret = (xmlParserErrors)ctxt->errNo;
+        if (oldctxt != NULL) {
+            oldctxt->errNo = ctxt->errNo;
+            oldctxt->wellFormed = 0;
+            xmlCopyError(&ctxt->lastError, &oldctxt->lastError);
+        }
     } else {
 	if (list != NULL) {
 	    xmlNodePtr cur;
@@ -13180,31 +13000,26 @@
     }
 
     /*
-     * Record in the parent context the number of entities replacement
-     * done when parsing that reference.
-     */
-    if (oldctxt != NULL)
-        oldctxt->nbentities += ctxt->nbentities;
-
-    /*
      * Also record the size of the entity parsed
      */
     if (ctxt->input != NULL && oldctxt != NULL) {
-	oldctxt->sizeentities += ctxt->input->consumed;
-	oldctxt->sizeentities += (ctxt->input->cur - ctxt->input->base);
-    }
-    /*
-     * And record the last error if any
-     */
-    if ((oldctxt != NULL) && (ctxt->lastError.code != XML_ERR_OK))
-        xmlCopyError(&ctxt->lastError, &oldctxt->lastError);
+        unsigned long consumed = ctxt->input->consumed;
 
-    if (sax != NULL)
-	ctxt->sax = oldsax;
+        xmlSaturatedAddSizeT(&consumed, ctxt->input->cur - ctxt->input->base);
+
+        xmlSaturatedAdd(&oldctxt->sizeentities, consumed);
+        xmlSaturatedAdd(&oldctxt->sizeentities, ctxt->sizeentities);
+
+        xmlSaturatedAdd(&oldctxt->sizeentcopy, consumed);
+        xmlSaturatedAdd(&oldctxt->sizeentcopy, ctxt->sizeentcopy);
+    }
+
     if (oldctxt != NULL) {
         ctxt->dict = NULL;
         ctxt->attsDefault = NULL;
         ctxt->attsSpecial = NULL;
+        oldctxt->nbErrors = ctxt->nbErrors;
+        oldctxt->nbWarnings = ctxt->nbWarnings;
         oldctxt->validate = ctxt->validate;
         oldctxt->valid = ctxt->valid;
         oldctxt->node_seq.maximum = ctxt->node_seq.maximum;
@@ -13315,7 +13130,9 @@
 #endif
 
     if (((oldctxt->depth > 40) && ((oldctxt->options & XML_PARSE_HUGE) == 0)) ||
-        (oldctxt->depth >  1024)) {
+        (oldctxt->depth >  100)) {
+	xmlFatalErrMsg(oldctxt, XML_ERR_ENTITY_LOOP,
+                       "Maximum entity nesting depth exceeded");
 	return(XML_ERR_ENTITY_LOOP);
     }
 
@@ -13329,13 +13146,15 @@
 
     ctxt = xmlCreateMemoryParserCtxt((char *) string, size);
     if (ctxt == NULL) return(XML_WAR_UNDECLARED_ENTITY);
+    ctxt->nbErrors = oldctxt->nbErrors;
+    ctxt->nbWarnings = oldctxt->nbWarnings;
     if (user_data != NULL)
 	ctxt->userData = user_data;
     else
 	ctxt->userData = ctxt;
     if (ctxt->dict != NULL) xmlDictFree(ctxt->dict);
     ctxt->dict = oldctxt->dict;
-    ctxt->input_id = oldctxt->input_id + 1;
+    ctxt->input_id = oldctxt->input_id;
     ctxt->str_xml = xmlDictLookup(ctxt->dict, BAD_CAST "xml", 3);
     ctxt->str_xmlns = xmlDictLookup(ctxt->dict, BAD_CAST "xmlns", 5);
     ctxt->str_xml_ns = xmlDictLookup(ctxt->dict, XML_XML_NAMESPACE, 36);
@@ -13386,7 +13205,7 @@
     xmlAddChild((xmlNodePtr) ctxt->myDoc, newRoot);
     nodePush(ctxt, ctxt->myDoc->children);
     ctxt->instate = XML_PARSER_CONTENT;
-    ctxt->depth = oldctxt->depth + 1;
+    ctxt->depth = oldctxt->depth;
 
     ctxt->validate = 0;
     ctxt->loadsubset = oldctxt->loadsubset;
@@ -13411,12 +13230,12 @@
     }
 
     if (!ctxt->wellFormed) {
-        if (ctxt->errNo == 0)
-	    ret = XML_ERR_INTERNAL_ERROR;
-	else
-	    ret = (xmlParserErrors)ctxt->errNo;
+	ret = (xmlParserErrors)ctxt->errNo;
+        oldctxt->errNo = ctxt->errNo;
+        oldctxt->wellFormed = 0;
+        xmlCopyError(&ctxt->lastError, &oldctxt->lastError);
     } else {
-      ret = XML_ERR_OK;
+        ret = XML_ERR_OK;
     }
 
     if ((lst != NULL) && (ret == XML_ERR_OK)) {
@@ -13449,18 +13268,19 @@
     }
 
     /*
-     * Record in the parent context the number of entities replacement
-     * done when parsing that reference.
+     * Also record the size of the entity parsed
      */
-    if (oldctxt != NULL)
-        oldctxt->nbentities += ctxt->nbentities;
+    if (ctxt->input != NULL && oldctxt != NULL) {
+        unsigned long consumed = ctxt->input->consumed;
 
-    /*
-     * Also record the last error if any
-     */
-    if (ctxt->lastError.code != XML_ERR_OK)
-        xmlCopyError(&ctxt->lastError, &oldctxt->lastError);
+        xmlSaturatedAddSizeT(&consumed, ctxt->input->cur - ctxt->input->base);
 
+        xmlSaturatedAdd(&oldctxt->sizeentcopy, consumed);
+        xmlSaturatedAdd(&oldctxt->sizeentcopy, ctxt->sizeentcopy);
+    }
+
+    oldctxt->nbErrors = ctxt->nbErrors;
+    oldctxt->nbWarnings = ctxt->nbWarnings;
     ctxt->sax = oldsax;
     ctxt->dict = NULL;
     ctxt->attsDefault = NULL;
@@ -13592,7 +13412,7 @@
     ctxt->input_id = 2;
     ctxt->instate = XML_PARSER_CONTENT;
 
-    fake = xmlNewComment(NULL);
+    fake = xmlNewDocComment(node->doc, NULL);
     if (fake == NULL) {
         xmlFreeParserCtxt(ctxt);
 	return(XML_ERR_NO_MEMORY);
@@ -13875,6 +13695,8 @@
  * @sax:  the SAX handler block
  * @filename:  the filename
  *
+ * DEPRECATED: Don't use.
+ *
  * parse an XML external entity out of context and build a tree.
  * It use the given SAX function block to handle the parsing callback.
  * If sax is NULL, fallback to the default DOM tree building routines.
@@ -13951,14 +13773,15 @@
  * Returns the new parser context or NULL
  */
 static xmlParserCtxtPtr
-xmlCreateEntityParserCtxtInternal(const xmlChar *URL, const xmlChar *ID,
-	                  const xmlChar *base, xmlParserCtxtPtr pctx) {
+xmlCreateEntityParserCtxtInternal(xmlSAXHandlerPtr sax, void *userData,
+        const xmlChar *URL, const xmlChar *ID, const xmlChar *base,
+        xmlParserCtxtPtr pctx) {
     xmlParserCtxtPtr ctxt;
     xmlParserInputPtr inputStream;
     char *directory = NULL;
     xmlChar *uri;
 
-    ctxt = xmlNewParserCtxt();
+    ctxt = xmlNewSAXParserCtxt(sax, userData);
     if (ctxt == NULL) {
 	return(NULL);
     }
@@ -13966,11 +13789,7 @@
     if (pctx != NULL) {
         ctxt->options = pctx->options;
         ctxt->_private = pctx->_private;
-	/*
-	 * this is a subparser of pctx, so the input_id should be
-	 * incremented to distinguish from main entity
-	 */
-	ctxt->input_id = pctx->input_id + 1;
+	ctxt->input_id = pctx->input_id;
     }
 
     /* Don't read from stdin. */
@@ -14026,7 +13845,7 @@
 xmlParserCtxtPtr
 xmlCreateEntityParserCtxt(const xmlChar *URL, const xmlChar *ID,
 	                  const xmlChar *base) {
-    return xmlCreateEntityParserCtxtInternal(URL, ID, base, NULL);
+    return xmlCreateEntityParserCtxtInternal(NULL, NULL, URL, ID, base, NULL);
 
 }
 
@@ -14104,6 +13923,8 @@
  *             documents
  * @data:  the userdata
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.
+ *
  * parse an XML 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.
@@ -14172,6 +13993,8 @@
  * @recovery:  work in recovery mode, i.e. tries to read no Well Formed
  *             documents
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.
+ *
  * parse an XML 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.
@@ -14190,6 +14013,8 @@
  * xmlRecoverDoc:
  * @cur:  a pointer to an array of xmlChar
  *
+ * DEPRECATED: Use xmlReadDoc with XML_PARSE_RECOVER.
+ *
  * parse an XML in-memory document and build a tree.
  * In the case the document is not Well Formed, a attempt to build a
  * tree is tried anyway
@@ -14206,6 +14031,8 @@
  * xmlParseFile:
  * @filename:  the filename
  *
+ * DEPRECATED: Use xmlReadFile.
+ *
  * parse an XML file and build a tree. Automatic support for ZLIB/Compress
  * compressed document is provided by default if found at compile-time.
  *
@@ -14222,6 +14049,8 @@
  * xmlRecoverFile:
  * @filename:  the filename
  *
+ * DEPRECATED: Use xmlReadFile with XML_PARSE_RECOVER.
+ *
  * parse an XML file and build a tree. Automatic support for ZLIB/Compress
  * compressed document is provided by default if found at compile-time.
  * In the case the document is not Well Formed, it attempts to build
@@ -14242,6 +14071,8 @@
  * @buffer:  a xmlChar * buffer
  * @filename:  a file name
  *
+ * DEPRECATED: Don't use.
+ *
  * Setup the parser context to parse a new buffer; Clears any prior
  * contents from the parser context. The buffer parameter must not be
  * NULL, but the filename parameter can be
@@ -14277,6 +14108,8 @@
  * @user_data:  The user data returned on SAX callbacks
  * @filename:  a file name
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.
+ *
  * parse an XML file and call the given SAX handler routines.
  * Automatic support for ZLIB/Compress compressed document is provided
  *
@@ -14350,7 +14183,6 @@
     if (ctxt == NULL)
 	return(NULL);
 
-    /* TODO: xmlParserInputBufferCreateStatic, requires some serious changes */
     buf = xmlParserInputBufferCreateMem(buffer, size, XML_CHAR_ENCODING_NONE);
     if (buf == NULL) {
 	xmlFreeParserCtxt(ctxt);
@@ -14382,6 +14214,8 @@
  *             documents
  * @data:  the userdata
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.
+ *
  * parse an XML in-memory block and use the given SAX function block
  * to handle the parsing callback. If sax is NULL, fallback to the default
  * DOM tree building routines.
@@ -14437,6 +14271,8 @@
  * @recovery:  work in recovery mode, i.e. tries to read not Well Formed
  *             documents
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.
+ *
  * parse an XML in-memory block and use the given SAX function block
  * to handle the parsing callback. If sax is NULL, fallback to the default
  * DOM tree building routines.
@@ -14454,6 +14290,8 @@
  * @buffer:  an pointer to a char array
  * @size:  the size of the array
  *
+ * DEPRECATED: Use xmlReadMemory.
+ *
  * parse an XML in-memory block and build a tree.
  *
  * Returns the resulting document tree
@@ -14468,6 +14306,8 @@
  * @buffer:  an pointer to a char array
  * @size:  the size of the array
  *
+ * DEPRECATED: Use xmlReadMemory with XML_PARSE_RECOVER.
+ *
  * parse an XML in-memory block and build a tree.
  * In the case the document is not Well Formed, an attempt to
  * build a tree is tried anyway
@@ -14486,7 +14326,8 @@
  * @buffer:  an in-memory XML document input
  * @size:  the length of the XML document in bytes
  *
- * A better SAX parsing routine.
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.
+ *
  * parse an XML in-memory buffer and call the given SAX handler routines.
  *
  * Returns 0 in case of success or a error number otherwise
@@ -14556,6 +14397,8 @@
  * @recovery:  work in recovery mode, i.e. tries to read no Well Formed
  *             documents
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadDoc.
+ *
  * parse an XML in-memory document and build a tree.
  * It use the given SAX function block to handle the parsing callback.
  * If sax is NULL, fallback to the default DOM tree building routines.
@@ -14599,6 +14442,8 @@
  * xmlParseDoc:
  * @cur:  a pointer to an array of xmlChar
  *
+ * DEPRECATED: Use xmlReadDoc.
+ *
  * parse an XML in-memory document and build a tree.
  *
  * Returns the resulting document tree
@@ -14657,11 +14502,6 @@
  *									*
  ************************************************************************/
 
-#ifdef LIBXML_XPATH_ENABLED
-#include <libxml/xpath.h>
-#endif
-
-extern void XMLCDECL xmlGenericErrorDefaultFunc(void *ctx, const char *msg, ...);
 static int xmlParserInitialized = 0;
 
 /**
@@ -14674,37 +14514,32 @@
 
 void
 xmlInitParser(void) {
+    /*
+     * Note that the initialization code must not make memory allocations.
+     */
     if (xmlParserInitialized != 0)
 	return;
 
-#if defined(_WIN32) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
-    if (xmlFree == free)
-        atexit(xmlCleanupParser);
-#endif
-
 #ifdef LIBXML_THREAD_ENABLED
     __xmlGlobalInitMutexLock();
     if (xmlParserInitialized == 0) {
 #endif
-	xmlInitThreads();
-	xmlInitGlobals();
-	if ((xmlGenericError == xmlGenericErrorDefaultFunc) ||
-	    (xmlGenericError == NULL))
-	    initGenericErrorDefaultFunc(NULL);
-	xmlInitMemory();
-        xmlInitializeDict();
-	xmlInitCharEncodingHandlers();
-	xmlDefaultSAXHandlerInit();
+#if defined(_WIN32) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
+        if (xmlFree == free)
+            atexit(xmlCleanupParser);
+#endif
+
+	xmlInitThreadsInternal();
+	xmlInitGlobalsInternal();
+	xmlInitMemoryInternal();
+        __xmlInitializeDict();
+	xmlInitEncodingInternal();
 	xmlRegisterDefaultInputCallbacks();
 #ifdef LIBXML_OUTPUT_ENABLED
 	xmlRegisterDefaultOutputCallbacks();
 #endif /* LIBXML_OUTPUT_ENABLED */
-#ifdef LIBXML_HTML_ENABLED
-	htmlInitAutoClose();
-	htmlDefaultSAXHandlerInit();
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-	xmlXPathInit();
+#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+	xmlInitXPathInternal();
 #endif
 	xmlParserInitialized = 1;
 #ifdef LIBXML_THREAD_ENABLED
@@ -14744,7 +14579,7 @@
 #ifdef LIBXML_CATALOG_ENABLED
     xmlCatalogCleanup();
 #endif
-    xmlDictCleanup();
+    xmlCleanupDictInternal();
     xmlCleanupInputCallbacks();
 #ifdef LIBXML_OUTPUT_ENABLED
     xmlCleanupOutputCallbacks();
@@ -14753,10 +14588,9 @@
     xmlSchemaCleanupTypes();
     xmlRelaxNGCleanupTypes();
 #endif
-    xmlResetLastError();
-    xmlCleanupGlobals();
-    xmlCleanupThreads(); /* must be last if called not from the main thread */
-    xmlCleanupMemory();
+    xmlCleanupGlobalsInternal();
+    xmlCleanupThreadsInternal();
+    xmlCleanupMemoryInternal();
     xmlParserInitialized = 0;
 }
 
@@ -14830,6 +14664,8 @@
     ctxt->nameNr = 0;
     ctxt->name = NULL;
 
+    ctxt->nsNr = 0;
+
     DICT_FREE(ctxt->version);
     ctxt->version = NULL;
     DICT_FREE(ctxt->encoding);
@@ -14863,12 +14699,12 @@
 #endif
     ctxt->record_info = 0;
     ctxt->checkIndex = 0;
+    ctxt->endCheckState = 0;
     ctxt->inSubset = 0;
     ctxt->errNo = XML_ERR_OK;
     ctxt->depth = 0;
     ctxt->charset = XML_CHAR_ENCODING_UTF8;
     ctxt->catalogs = NULL;
-    ctxt->nbentities = 0;
     ctxt->sizeentities = 0;
     ctxt->sizeentcopy = 0;
     xmlInitNodeInfoSeq(&ctxt->node_seq);
@@ -14886,6 +14722,8 @@
     if (ctxt->catalogs != NULL)
 	xmlCatalogFreeLocal(ctxt->catalogs);
 #endif
+    ctxt->nbErrors = 0;
+    ctxt->nbWarnings = 0;
     if (ctxt->lastError.code != XML_ERR_OK)
         xmlResetError(&ctxt->lastError);
 }
@@ -15367,22 +15205,10 @@
 xmlCtxtReadDoc(xmlParserCtxtPtr ctxt, const xmlChar * cur,
                const char *URL, const char *encoding, int options)
 {
-    xmlParserInputPtr stream;
-
     if (cur == NULL)
         return (NULL);
-    if (ctxt == NULL)
-        return (NULL);
-    xmlInitParser();
-
-    xmlCtxtReset(ctxt);
-
-    stream = xmlNewStringInputStream(ctxt, cur);
-    if (stream == NULL) {
-        return (NULL);
-    }
-    inputPush(ctxt, stream);
-    return (xmlDoRead(ctxt, URL, encoding, options, 1));
+    return (xmlCtxtReadMemory(ctxt, (const char *) cur, xmlStrlen(cur), URL,
+                              encoding, options));
 }
 
 /**
diff --git a/parserInternals.c b/parserInternals.c
index 270270b..90c428d 100644
--- a/parserInternals.c
+++ b/parserInternals.c
@@ -10,31 +10,15 @@
 #define IN_LIBXML
 #include "libxml.h"
 
-#if defined(_WIN32) && !defined (__CYGWIN__)
+#if defined(_WIN32)
 #define XML_DIR_SEP '\\'
 #else
 #define XML_DIR_SEP '/'
 #endif
 
 #include <string.h>
-#ifdef HAVE_CTYPE_H
 #include <ctype.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef LIBXML_ZLIB_ENABLED
-#include <zlib.h>
-#endif
 
 #include <libxml/xmlmemory.h>
 #include <libxml/tree.h>
@@ -59,8 +43,11 @@
 #define END(ctxt) ctxt->input->end
 #define VALID_CTXT(ctxt) (CUR(ctxt) <= END(ctxt))
 
-#include "buf.h"
-#include "enc.h"
+#include "private/buf.h"
+#include "private/enc.h"
+#include "private/error.h"
+#include "private/io.h"
+#include "private/parser.h"
 
 /*
  * Various global defaults for parsing
@@ -75,7 +62,7 @@
  */
 void
 xmlCheckVersion(int version) {
-    int myversion = (int) LIBXML_VERSION;
+    int myversion = LIBXML_VERSION;
 
     xmlInitParser();
 
@@ -261,9 +248,9 @@
         xmlGenericError(xmlGenericErrorContext,
 		"xmlParserInput: cur > base + use problem\n");
     }
-    xmlGenericError(xmlGenericErrorContext,"buffer %x : content %x, cur %d, use %d\n",
-            (int) in, (int) xmlBufContent(in->buf->buffer), in->cur - in->base,
-	    xmlBufUse(in->buf->buffer));
+    xmlGenericError(xmlGenericErrorContext,"buffer %p : content %x, cur %d, use %d\n",
+            (void *) in, (int) xmlBufContent(in->buf->buffer),
+            in->cur - in->base, xmlBufUse(in->buf->buffer));
 }
 
 #else
@@ -276,7 +263,7 @@
  * @in:  an XML parser input
  * @len:  an indicative size for the lookahead
  *
- * This function was internal and is deprecated.
+ * DEPRECATED: This function was internal and is deprecated.
  *
  * Returns -1 as this is an error to use it.
  */
@@ -286,10 +273,63 @@
 }
 
 /**
+ * xmlParserGrow:
+ * @ctxt:  an XML parser context
+ */
+int
+xmlParserGrow(xmlParserCtxtPtr ctxt) {
+    xmlParserInputPtr in = ctxt->input;
+    xmlParserInputBufferPtr buf = in->buf;
+    ptrdiff_t curEnd = in->end - in->cur;
+    ptrdiff_t curBase = in->cur - in->base;
+    int ret;
+
+    if (buf == NULL)
+        return(0);
+    /* Don't grow memory buffers. */
+    if ((buf->encoder == NULL) && (buf->readcallback == NULL))
+        return(0);
+
+    if (((curEnd > XML_MAX_LOOKUP_LIMIT) ||
+         (curBase > XML_MAX_LOOKUP_LIMIT)) &&
+        ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+        xmlErrInternal(ctxt, "Huge input lookup", NULL);
+        ctxt->instate = XML_PARSER_EOF;
+	return(-1);
+    }
+
+    if (curEnd >= INPUT_CHUNK)
+        return(0);
+
+    ret = xmlParserInputBufferGrow(buf, INPUT_CHUNK);
+
+    in->base = xmlBufContent(buf->buffer);
+    if (in->base == NULL) {
+        in->base = BAD_CAST "";
+        in->cur = in->base;
+        in->end = in->base;
+        xmlErrMemory(ctxt, NULL);
+        return(-1);
+    }
+    in->cur = in->base + curBase;
+    in->end = xmlBufEnd(buf->buffer);
+
+    /* TODO: Get error code from xmlParserInputBufferGrow */
+    if (ret < 0) {
+        xmlErrInternal(ctxt, "Growing input buffer", NULL);
+        ctxt->instate = XML_PARSER_EOF;
+    }
+
+    return(ret);
+}
+
+/**
  * xmlParserInputGrow:
  * @in:  an XML parser input
  * @len:  an indicative size for the lookahead
  *
+ * DEPRECATED: Don't use.
+ *
  * This function increase the input for the parser. It tries to
  * preserve pointers to the input buffer, and keep already read data
  *
@@ -300,7 +340,6 @@
 xmlParserInputGrow(xmlParserInputPtr in, int len) {
     int ret;
     size_t indx;
-    const xmlChar *content;
 
     if ((in == NULL) || (len < 0)) return(-1);
 #ifdef DEBUG_INPUT
@@ -311,6 +350,10 @@
     if (in->cur == NULL) return(-1);
     if (in->buf->buffer == NULL) return(-1);
 
+    /* Don't grow memory buffers. */
+    if ((in->buf->encoder == NULL) && (in->buf->readcallback == NULL))
+        return(0);
+
     CHECK_BUFFER(in);
 
     indx = in->cur - in->base;
@@ -320,27 +363,16 @@
 
         return(0);
     }
-    if (in->buf->readcallback != NULL) {
-	ret = xmlParserInputBufferGrow(in->buf, len);
-    } else
-        return(0);
+    ret = xmlParserInputBufferGrow(in->buf, len);
 
-    /*
-     * NOTE : in->base may be a "dangling" i.e. freed pointer in this
-     *        block, but we use it really as an integer to do some
-     *        pointer arithmetic. Insure will raise it as a bug but in
-     *        that specific case, that's not !
-     */
-
-    content = xmlBufContent(in->buf->buffer);
-    if (in->base != content) {
-        /*
-	 * the buffer has been reallocated
-	 */
-	indx = in->cur - in->base;
-	in->base = content;
-	in->cur = &content[indx];
+    in->base = xmlBufContent(in->buf->buffer);
+    if (in->base == NULL) {
+        in->base = BAD_CAST "";
+        in->cur = in->base;
+        in->end = in->base;
+        return(-1);
     }
+    in->cur = in->base + indx;
     in->end = xmlBufEnd(in->buf->buffer);
 
     CHECK_BUFFER(in);
@@ -349,17 +381,74 @@
 }
 
 /**
+ * xmlParserShrink:
+ * @ctxt:  an XML parser context
+ */
+int
+xmlParserShrink(xmlParserCtxtPtr ctxt) {
+    xmlParserInputPtr in = ctxt->input;
+    xmlParserInputBufferPtr buf = in->buf;
+    size_t used;
+    int ret = 0;
+
+    /* Don't shrink memory buffers. */
+    if ((buf == NULL) ||
+        ((buf->encoder == NULL) && (buf->readcallback == NULL)))
+        return(0);
+
+    used = in->cur - in->base;
+    /*
+     * Do not shrink on large buffers whose only a tiny fraction
+     * was consumed
+     */
+    if (used > INPUT_CHUNK) {
+	size_t res = xmlBufShrink(buf->buffer, used - LINE_LEN);
+
+	if (res > 0) {
+            used -= res;
+            if ((res > ULONG_MAX) ||
+                (in->consumed > ULONG_MAX - (unsigned long)res))
+                in->consumed = ULONG_MAX;
+            else
+                in->consumed += res;
+	}
+    }
+
+    if (xmlBufUse(buf->buffer) < INPUT_CHUNK)
+        ret = xmlParserInputBufferGrow(buf, INPUT_CHUNK);
+
+    in->base = xmlBufContent(buf->buffer);
+    if (in->base == NULL) {
+        in->base = BAD_CAST "";
+        in->cur = in->base;
+        in->end = in->base;
+        xmlErrMemory(ctxt, NULL);
+        return(-1);
+    }
+    in->cur = in->base + used;
+    in->end = xmlBufEnd(buf->buffer);
+
+    /* TODO: Get error code from xmlParserInputBufferGrow */
+    if (ret < 0) {
+        xmlErrInternal(ctxt, "Growing input buffer", NULL);
+        ctxt->instate = XML_PARSER_EOF;
+    }
+
+    return(ret);
+}
+
+/**
  * xmlParserInputShrink:
  * @in:  an XML parser input
  *
+ * DEPRECATED: Don't use.
+ *
  * This function removes used input for the parser.
  */
 void
 xmlParserInputShrink(xmlParserInputPtr in) {
     size_t used;
     size_t ret;
-    size_t indx;
-    const xmlChar *content;
 
 #ifdef DEBUG_INPUT
     xmlGenericError(xmlGenericErrorContext, "Shrink\n");
@@ -372,7 +461,7 @@
 
     CHECK_BUFFER(in);
 
-    used = in->cur - xmlBufContent(in->buf->buffer);
+    used = in->cur - in->base;
     /*
      * Do not shrink on large buffers whose only a tiny fraction
      * was consumed
@@ -380,27 +469,28 @@
     if (used > INPUT_CHUNK) {
 	ret = xmlBufShrink(in->buf->buffer, used - LINE_LEN);
 	if (ret > 0) {
-	    in->cur -= ret;
-	    in->consumed += ret;
+            used -= ret;
+            if ((ret > ULONG_MAX) ||
+                (in->consumed > ULONG_MAX - (unsigned long)ret))
+                in->consumed = ULONG_MAX;
+            else
+                in->consumed += ret;
 	}
-	in->end = xmlBufEnd(in->buf->buffer);
     }
 
-    CHECK_BUFFER(in);
+    if (xmlBufUse(in->buf->buffer) <= INPUT_CHUNK) {
+        xmlParserInputBufferRead(in->buf, 2 * INPUT_CHUNK);
+    }
 
-    if (xmlBufUse(in->buf->buffer) > INPUT_CHUNK) {
+    in->base = xmlBufContent(in->buf->buffer);
+    if (in->base == NULL) {
+        /* TODO: raise error */
+        in->base = BAD_CAST "";
+        in->cur = in->base;
+        in->end = in->base;
         return;
     }
-    xmlParserInputBufferRead(in->buf, 2 * INPUT_CHUNK);
-    content = xmlBufContent(in->buf->buffer);
-    if (in->base != content) {
-        /*
-	 * the buffer has been reallocated
-	 */
-	indx = in->cur - in->base;
-	in->base = content;
-	in->cur = &content[indx];
-    }
+    in->cur = in->base + used;
     in->end = xmlBufEnd(in->buf->buffer);
 
     CHECK_BUFFER(in);
@@ -433,8 +523,7 @@
 	return;
     }
 
-    if ((*ctxt->input->cur == 0) &&
-        (xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0)) {
+    if ((ctxt->input->cur >= ctxt->input->end) && (xmlParserGrow(ctxt) <= 0)) {
         return;
     }
 
@@ -471,7 +560,7 @@
             if (c == 0xC0)
 	        goto encoding_error;
             if (cur[1] == 0) {
-                xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+                xmlParserGrow(ctxt);
                 cur = ctxt->input->cur;
             }
             if ((cur[1] & 0xc0) != 0x80)
@@ -480,14 +569,14 @@
                 unsigned int val;
 
                 if (cur[2] == 0) {
-                    xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+                    xmlParserGrow(ctxt);
                     cur = ctxt->input->cur;
                 }
                 if ((cur[2] & 0xc0) != 0x80)
                     goto encoding_error;
                 if ((c & 0xf0) == 0xf0) {
                     if (cur[3] == 0) {
-                        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+                        xmlParserGrow(ctxt);
                         cur = ctxt->input->cur;
                     }
                     if (((c & 0xf8) != 0xf0) ||
@@ -533,7 +622,7 @@
         ctxt->input->cur++;
     }
     if (*ctxt->input->cur == 0)
-        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+        xmlParserGrow(ctxt);
     return;
 encoding_error:
     /*
@@ -589,7 +678,7 @@
 
     if ((*ctxt->input->cur >= 0x20) && (*ctxt->input->cur <= 0x7F)) {
 	    *len = 1;
-	    return((int) *ctxt->input->cur);
+	    return(*ctxt->input->cur);
     }
     if (ctxt->charset == XML_CHAR_ENCODING_UTF8) {
 	/*
@@ -612,21 +701,21 @@
 	    if (((c & 0x40) == 0) || (c == 0xC0))
 		goto encoding_error;
 	    if (cur[1] == 0) {
-		xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+		xmlParserGrow(ctxt);
                 cur = ctxt->input->cur;
             }
 	    if ((cur[1] & 0xc0) != 0x80)
 		goto encoding_error;
 	    if ((c & 0xe0) == 0xe0) {
 		if (cur[2] == 0) {
-		    xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+		    xmlParserGrow(ctxt);
                     cur = ctxt->input->cur;
                 }
 		if ((cur[2] & 0xc0) != 0x80)
 		    goto encoding_error;
 		if ((c & 0xf0) == 0xf0) {
 		    if (cur[3] == 0) {
-			xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+			xmlParserGrow(ctxt);
                         cur = ctxt->input->cur;
                     }
 		    if (((c & 0xf8) != 0xf0) ||
@@ -666,7 +755,7 @@
 	    /* 1-byte code */
 	    *len = 1;
 	    if (*ctxt->input->cur == 0)
-		xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+		xmlParserGrow(ctxt);
 	    if ((*ctxt->input->cur == 0) &&
 	        (ctxt->input->end > ctxt->input->cur)) {
 	        xmlErrEncodingInt(ctxt, XML_ERR_INVALID_CHAR,
@@ -678,7 +767,7 @@
 		}
 		return(0xA);
 	    }
-	    return((int) *ctxt->input->cur);
+	    return(*ctxt->input->cur);
 	}
     }
     /*
@@ -693,7 +782,7 @@
 	}
 	return(0xA);
     }
-    return((int) *ctxt->input->cur);
+    return(*ctxt->input->cur);
 encoding_error:
     /*
      * An encoding problem may arise from a truncated input buffer
@@ -724,7 +813,7 @@
     }
     ctxt->charset = XML_CHAR_ENCODING_8859_1;
     *len = 1;
-    return((int) *ctxt->input->cur);
+    return(*ctxt->input->cur);
 }
 
 /**
@@ -796,7 +885,7 @@
         } else {
             /* 1-byte code */
             *len = 1;
-            return ((int) *cur);
+            return (*cur);
         }
     }
     /*
@@ -805,7 +894,7 @@
      * XML constructs only use < 128 chars
      */
     *len = 1;
-    return ((int) *cur);
+    return (*cur);
 encoding_error:
 
     /*
@@ -836,7 +925,7 @@
 		     BAD_CAST buffer, NULL);
     }
     *len = 1;
-    return ((int) *cur);
+    return (*cur);
 }
 
 /**
@@ -850,7 +939,7 @@
  */
 int
 xmlCopyCharMultiByte(xmlChar *out, int val) {
-    if (out == NULL) return(0);
+    if ((out == NULL) || (val < 0)) return(0);
     /*
      * We are supposed to handle UTF8, check it's valid
      * From rfc2044: encoding of the Unicode values on UTF-8:
@@ -876,7 +965,7 @@
 	    *out++= ((val >> bits) & 0x3F) | 0x80 ;
 	return (out - savedout);
     }
-    *out = (xmlChar) val;
+    *out = val;
     return 1;
 }
 
@@ -893,12 +982,12 @@
 
 int
 xmlCopyChar(int len ATTRIBUTE_UNUSED, xmlChar *out, int val) {
-    if (out == NULL) return(0);
+    if ((out == NULL) || (val < 0)) return(0);
     /* the len parameter is ignored */
     if  (val >= 0x80) {
 	return(xmlCopyCharMultiByte (out, val));
     }
-    *out = (xmlChar) val;
+    *out = val;
     return 1;
 }
 
@@ -909,9 +998,6 @@
  ************************************************************************/
 
 static int
-xmlSwitchToEncodingInt(xmlParserCtxtPtr ctxt,
-                       xmlCharEncodingHandlerPtr handler, int len);
-static int
 xmlSwitchInputEncodingInt(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
                           xmlCharEncodingHandlerPtr handler, int len);
 /**
@@ -1011,55 +1097,7 @@
 		/* default encoding, no conversion should be needed */
 		ctxt->charset = XML_CHAR_ENCODING_UTF8;
 		return(0);
-	    case XML_CHAR_ENCODING_UTF16LE:
-		break;
-	    case XML_CHAR_ENCODING_UTF16BE:
-		break;
-	    case XML_CHAR_ENCODING_UCS4LE:
-		__xmlErrEncoding(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
-			       "encoding not supported %s\n",
-			       BAD_CAST "USC4 little endian", NULL);
-		break;
-	    case XML_CHAR_ENCODING_UCS4BE:
-		__xmlErrEncoding(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
-			       "encoding not supported %s\n",
-			       BAD_CAST "USC4 big endian", NULL);
-		break;
-	    case XML_CHAR_ENCODING_EBCDIC:
-		__xmlErrEncoding(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
-			       "encoding not supported %s\n",
-			       BAD_CAST "EBCDIC", NULL);
-		break;
-	    case XML_CHAR_ENCODING_UCS4_2143:
-		__xmlErrEncoding(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
-			       "encoding not supported %s\n",
-			       BAD_CAST "UCS4 2143", NULL);
-		break;
-	    case XML_CHAR_ENCODING_UCS4_3412:
-		__xmlErrEncoding(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
-			       "encoding not supported %s\n",
-			       BAD_CAST "UCS4 3412", NULL);
-		break;
-	    case XML_CHAR_ENCODING_UCS2:
-		__xmlErrEncoding(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
-			       "encoding not supported %s\n",
-			       BAD_CAST "UCS2", NULL);
-		break;
 	    case XML_CHAR_ENCODING_8859_1:
-	    case XML_CHAR_ENCODING_8859_2:
-	    case XML_CHAR_ENCODING_8859_3:
-	    case XML_CHAR_ENCODING_8859_4:
-	    case XML_CHAR_ENCODING_8859_5:
-	    case XML_CHAR_ENCODING_8859_6:
-	    case XML_CHAR_ENCODING_8859_7:
-	    case XML_CHAR_ENCODING_8859_8:
-	    case XML_CHAR_ENCODING_8859_9:
-		/*
-		 * We used to keep the internal content in the
-		 * document encoding however this turns being unmaintainable
-		 * So xmlGetCharEncodingHandler() will return non-null
-		 * values for this now.
-		 */
 		if ((ctxt->inputNr == 1) &&
 		    (ctxt->encoding == NULL) &&
 		    (ctxt->input != NULL) &&
@@ -1068,36 +1106,20 @@
 		}
 		ctxt->charset = enc;
 		return(0);
-	    case XML_CHAR_ENCODING_2022_JP:
-		__xmlErrEncoding(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
-			       "encoding not supported %s\n",
-			       BAD_CAST "ISO-2022-JP", NULL);
-		break;
-	    case XML_CHAR_ENCODING_SHIFT_JIS:
-		__xmlErrEncoding(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
-			       "encoding not supported %s\n",
-			       BAD_CAST "Shift_JIS", NULL);
-		break;
-	    case XML_CHAR_ENCODING_EUC_JP:
-		__xmlErrEncoding(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
-			       "encoding not supported %s\n",
-			       BAD_CAST "EUC-JP", NULL);
-		break;
 	    default:
-	        break;
-	}
+		__xmlErrEncoding(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
+                        "encoding not supported: %s\n",
+			BAD_CAST xmlGetCharEncodingName(enc), NULL);
+                /*
+                 * TODO: We could recover from errors in external entities
+                 * if we didn't stop the parser. But most callers of this
+                 * function don't check the return value.
+                 */
+                xmlStopParser(ctxt);
+                return(-1);
+        }
     }
-    /*
-     * TODO: We could recover from errors in external entities if we
-     * didn't stop the parser. But most callers of this function don't
-     * check the return value.
-     */
-    if (handler == NULL) {
-        xmlStopParser(ctxt);
-	return(-1);
-    }
-    ctxt->charset = XML_CHAR_ENCODING_UTF8;
-    ret = xmlSwitchToEncodingInt(ctxt, handler, len);
+    ret = xmlSwitchInputEncodingInt(ctxt, ctxt->input, handler, len);
     if ((ret < 0) || (ctxt->errNo == XML_I18N_CONV_FAILED)) {
         /*
 	 * on encoding conversion errors, stop the parser
@@ -1109,7 +1131,7 @@
 }
 
 /**
- * xmlSwitchInputEncoding:
+ * xmlSwitchInputEncodingInt:
  * @ctxt:  the parser context
  * @input:  the input stream
  * @handler:  the encoding handler
@@ -1125,121 +1147,16 @@
                           xmlCharEncodingHandlerPtr handler, int len)
 {
     int nbchars;
+    xmlParserInputBufferPtr in;
 
     if (handler == NULL)
         return (-1);
     if (input == NULL)
         return (-1);
-    if (input->buf != NULL) {
-        if (input->buf->encoder != NULL) {
-            /*
-             * Check in case the auto encoding detection triggered
-             * in already.
-             */
-            if (input->buf->encoder == handler)
-                return (0);
-
-            /*
-             * "UTF-16" can be used for both LE and BE
-             if ((!xmlStrncmp(BAD_CAST input->buf->encoder->name,
-             BAD_CAST "UTF-16", 6)) &&
-             (!xmlStrncmp(BAD_CAST handler->name,
-             BAD_CAST "UTF-16", 6))) {
-             return(0);
-             }
-             */
-
-            /*
-             * Note: this is a bit dangerous, but that's what it
-             * takes to use nearly compatible signature for different
-             * encodings.
-             *
-             * FIXME: Encoders might buffer partial byte sequences, so
-             * this probably can't work. We should return an error and
-             * make sure that callers never try to switch the encoding
-             * twice.
-             */
-            xmlCharEncCloseFunc(input->buf->encoder);
-            input->buf->encoder = handler;
-            return (0);
-        }
-        input->buf->encoder = handler;
-
-        /*
-         * Is there already some content down the pipe to convert ?
-         */
-        if (xmlBufIsEmpty(input->buf->buffer) == 0) {
-            int processed;
-	    unsigned int use;
-
-            /*
-             * Specific handling of the Byte Order Mark for
-             * UTF-16
-             */
-            if ((handler->name != NULL) &&
-                (!strcmp(handler->name, "UTF-16LE") ||
-                 !strcmp(handler->name, "UTF-16")) &&
-                (input->cur[0] == 0xFF) && (input->cur[1] == 0xFE)) {
-                input->cur += 2;
-            }
-            if ((handler->name != NULL) &&
-                (!strcmp(handler->name, "UTF-16BE")) &&
-                (input->cur[0] == 0xFE) && (input->cur[1] == 0xFF)) {
-                input->cur += 2;
-            }
-            /*
-             * Errata on XML-1.0 June 20 2001
-             * Specific handling of the Byte Order Mark for
-             * UTF-8
-             */
-            if ((handler->name != NULL) &&
-                (!strcmp(handler->name, "UTF-8")) &&
-                (input->cur[0] == 0xEF) &&
-                (input->cur[1] == 0xBB) && (input->cur[2] == 0xBF)) {
-                input->cur += 3;
-            }
-
-            /*
-             * Shrink the current input buffer.
-             * Move it as the raw buffer and create a new input buffer
-             */
-            processed = input->cur - input->base;
-            xmlBufShrink(input->buf->buffer, processed);
-            input->buf->raw = input->buf->buffer;
-            input->buf->buffer = xmlBufCreate();
-	    input->buf->rawconsumed = processed;
-	    use = xmlBufUse(input->buf->raw);
-
-            if (ctxt->html) {
-                /*
-                 * convert as much as possible of the buffer
-                 */
-                nbchars = xmlCharEncInput(input->buf, 1);
-            } else {
-                /*
-                 * convert just enough to get
-                 * '<?xml version="1.0" encoding="xxx"?>'
-                 * parsed with the autodetected encoding
-                 * into the parser reading buffer.
-                 */
-                nbchars = xmlCharEncFirstLineInput(input->buf, len);
-            }
-            xmlBufResetInput(input->buf->buffer, input);
-            if (nbchars < 0) {
-                xmlErrInternal(ctxt,
-                               "switching encoding: encoder error\n",
-                               NULL);
-                return (-1);
-            }
-	    input->buf->rawconsumed += use - xmlBufUse(input->buf->raw);
-        }
-        return (0);
-    } else if (input->length == 0) {
-	/*
-	 * When parsing a static memory array one must know the
-	 * size to be able to convert the buffer.
-	 */
-	xmlErrInternal(ctxt, "switching encoding : no input\n", NULL);
+    in = input->buf;
+    if (in == NULL) {
+	xmlErrInternal(ctxt,
+                "static memory buffer doesn't support encoding\n", NULL);
         /*
          * Callers assume that the input buffer takes ownership of the
          * encoding handler. xmlCharEncCloseFunc frees unregistered
@@ -1248,10 +1165,106 @@
         xmlCharEncCloseFunc(handler);
 	return (-1);
     }
+
+    ctxt->charset = XML_CHAR_ENCODING_UTF8;
+
+    if (in->encoder != NULL) {
+        /*
+         * Check in case the auto encoding detection triggered
+         * in already.
+         */
+        if (in->encoder == handler)
+            return (0);
+
+        /*
+         * Note: this is a bit dangerous, but that's what it
+         * takes to use nearly compatible signature for different
+         * encodings.
+         *
+         * FIXME: Encoders might buffer partial byte sequences, so
+         * this probably can't work. We should return an error and
+         * make sure that callers never try to switch the encoding
+         * twice.
+         */
+        xmlCharEncCloseFunc(in->encoder);
+        in->encoder = handler;
+        return (0);
+    }
+    in->encoder = handler;
+
     /*
-     * We should actually raise an error here, see issue #34.
+     * Is there already some content down the pipe to convert ?
      */
-    xmlCharEncCloseFunc(handler);
+    if (xmlBufIsEmpty(in->buffer) == 0) {
+        size_t processed, use, consumed;
+
+        /*
+         * Specific handling of the Byte Order Mark for
+         * UTF-16
+         */
+        if ((handler->name != NULL) &&
+            (!strcmp(handler->name, "UTF-16LE") ||
+             !strcmp(handler->name, "UTF-16")) &&
+            (input->cur[0] == 0xFF) && (input->cur[1] == 0xFE)) {
+            input->cur += 2;
+        }
+        if ((handler->name != NULL) &&
+            (!strcmp(handler->name, "UTF-16BE")) &&
+            (input->cur[0] == 0xFE) && (input->cur[1] == 0xFF)) {
+            input->cur += 2;
+        }
+        /*
+         * Errata on XML-1.0 June 20 2001
+         * Specific handling of the Byte Order Mark for
+         * UTF-8
+         */
+        if ((handler->name != NULL) &&
+            (!strcmp(handler->name, "UTF-8")) &&
+            (input->cur[0] == 0xEF) &&
+            (input->cur[1] == 0xBB) && (input->cur[2] == 0xBF)) {
+            input->cur += 3;
+        }
+
+        /*
+         * Shrink the current input buffer.
+         * Move it as the raw buffer and create a new input buffer
+         */
+        processed = input->cur - input->base;
+        xmlBufShrink(in->buffer, processed);
+        input->consumed += processed;
+        in->raw = in->buffer;
+        in->buffer = xmlBufCreate();
+        in->rawconsumed = processed;
+        use = xmlBufUse(in->raw);
+
+        if (ctxt->html) {
+            /*
+             * convert as much as possible of the buffer
+             */
+            nbchars = xmlCharEncInput(in, 1);
+        } else {
+            /*
+             * convert just enough to get
+             * '<?xml version="1.0" encoding="xxx"?>'
+             * parsed with the autodetected encoding
+             * into the parser reading buffer.
+             */
+            nbchars = xmlCharEncFirstLineInput(in, len);
+        }
+        xmlBufResetInput(in->buffer, input);
+        if (nbchars < 0) {
+            xmlErrInternal(ctxt,
+                           "switching encoding: encoder error\n",
+                           NULL);
+            return (-1);
+        }
+        consumed = use - xmlBufUse(in->raw);
+        if ((consumed > ULONG_MAX) ||
+            (in->rawconsumed > ULONG_MAX - (unsigned long)consumed))
+            in->rawconsumed = ULONG_MAX;
+        else
+	    in->rawconsumed += consumed;
+    }
     return (0);
 }
 
@@ -1261,6 +1274,8 @@
  * @input:  the input stream
  * @handler:  the encoding handler
  *
+ * DEPRECATED: Use xmlSwitchToEncoding
+ *
  * change the input functions when discovering the character encoding
  * of a given entity.
  *
@@ -1273,41 +1288,6 @@
 }
 
 /**
- * xmlSwitchToEncodingInt:
- * @ctxt:  the parser context
- * @handler:  the encoding handler
- * @len: the length to convert or -1
- *
- * change the input functions when discovering the character encoding
- * of a given entity, and convert only @len bytes of the output, this
- * is needed on auto detect to allows any declared encoding later to
- * convert the actual content after the xmlDecl
- *
- * Returns 0 in case of success, -1 otherwise
- */
-static int
-xmlSwitchToEncodingInt(xmlParserCtxtPtr ctxt,
-                       xmlCharEncodingHandlerPtr handler, int len) {
-    int ret = 0;
-
-    if (handler != NULL) {
-        if (ctxt->input != NULL) {
-	    ret = xmlSwitchInputEncodingInt(ctxt, ctxt->input, handler, len);
-	} else {
-	    xmlErrInternal(ctxt, "xmlSwitchToEncoding : no input\n",
-	                   NULL);
-	    return(-1);
-	}
-	/*
-	 * The parsing is now done in UTF8 natively
-	 */
-	ctxt->charset = XML_CHAR_ENCODING_UTF8;
-    } else
-	return(-1);
-    return(ret);
-}
-
-/**
  * xmlSwitchToEncoding:
  * @ctxt:  the parser context
  * @handler:  the encoding handler
@@ -1320,7 +1300,9 @@
 int
 xmlSwitchToEncoding(xmlParserCtxtPtr ctxt, xmlCharEncodingHandlerPtr handler)
 {
-    return (xmlSwitchToEncodingInt(ctxt, handler, -1));
+    if (ctxt == NULL)
+        return(-1);
+    return(xmlSwitchInputEncodingInt(ctxt, ctxt->input, handler, -1));
 }
 
 /************************************************************************
@@ -1377,8 +1359,13 @@
      * should not happen while parsing which is the situation where
      * the id is actually needed.
      */
-    if (ctxt != NULL)
+    if (ctxt != NULL) {
+        if (input->id >= INT_MAX) {
+            xmlErrMemory(ctxt, "Input ID overflow\n");
+            return(NULL);
+        }
         input->id = ctxt->input_id++;
+    }
 
     return(input);
 }
@@ -1446,8 +1433,11 @@
                 break;
             case XML_EXTERNAL_GENERAL_PARSED_ENTITY:
             case XML_EXTERNAL_PARAMETER_ENTITY:
-		return(xmlLoadExternalEntity((char *) entity->URI,
-		       (char *) entity->ExternalID, ctxt));
+		input = xmlLoadExternalEntity((char *) entity->URI,
+		       (char *) entity->ExternalID, ctxt);
+                if (input != NULL)
+                    input->entity = entity;
+                return(input);
             case XML_INTERNAL_GENERAL_ENTITY:
 	        xmlErrInternal(ctxt,
 		      "Internal entity %s without content !\n",
@@ -1478,6 +1468,7 @@
     input->cur = entity->content;
     input->length = entity->length;
     input->end = &entity->content[input->length];
+    input->entity = entity;
     return(input);
 }
 
@@ -1492,6 +1483,7 @@
 xmlParserInputPtr
 xmlNewStringInputStream(xmlParserCtxtPtr ctxt, const xmlChar *buffer) {
     xmlParserInputPtr input;
+    xmlParserInputBufferPtr buf;
 
     if (buffer == NULL) {
         xmlErrInternal(ctxt, "xmlNewStringInputStream string = NULL\n",
@@ -1501,15 +1493,21 @@
     if (xmlParserDebugEntities)
 	xmlGenericError(xmlGenericErrorContext,
 		"new fixed input: %.30s\n", buffer);
+    buf = xmlParserInputBufferCreateMem((const char *) buffer,
+                                        xmlStrlen(buffer),
+                                        XML_CHAR_ENCODING_NONE);
+    if (buf == NULL) {
+	xmlErrMemory(ctxt, NULL);
+        return(NULL);
+    }
     input = xmlNewInputStream(ctxt);
     if (input == NULL) {
         xmlErrMemory(ctxt,  "couldn't allocate a new input stream\n");
+	xmlFreeParserInputBuffer(buf);
 	return(NULL);
     }
-    input->base = buffer;
-    input->cur = buffer;
-    input->length = xmlStrlen(buffer);
-    input->end = &buffer[input->length];
+    input->buf = buf;
+    xmlBufResetInput(input->buf->buffer, input);
     return(input);
 }
 
@@ -1579,16 +1577,19 @@
  ************************************************************************/
 
 /**
- * xmlInitParserCtxt:
- * @ctxt:  an XML parser context
+ * xmlInitSAXParserCtxt:
+ * @ctxt:  XML parser context
+ * @sax:  SAX handlert
+ * @userData:  user data
  *
- * Initialize a parser context
+ * Initialize a SAX parser context
  *
  * Returns 0 in case of success and -1 in case of error
  */
 
-int
-xmlInitParserCtxt(xmlParserCtxtPtr ctxt)
+static int
+xmlInitSAXParserCtxt(xmlParserCtxtPtr ctxt, const xmlSAXHandler *sax,
+                     void *userData)
 {
     xmlParserInputPtr input;
 
@@ -1597,7 +1598,7 @@
         return(-1);
     }
 
-    xmlDefaultSAXHandlerInit();
+    xmlInitParser();
 
     if (ctxt->dict == NULL)
 	ctxt->dict = xmlDictCreate();
@@ -1613,8 +1614,19 @@
         xmlErrMemory(NULL, "cannot initialize parser context\n");
 	return(-1);
     }
-    else
+    if (sax == NULL) {
+	memset(ctxt->sax, 0, sizeof(xmlSAXHandler));
         xmlSAXVersion(ctxt->sax, 2);
+        ctxt->userData = ctxt;
+    } else {
+	if (sax->initialized == XML_SAX2_MAGIC) {
+	    memcpy(ctxt->sax, sax, sizeof(xmlSAXHandler));
+        } else {
+	    memset(ctxt->sax, 0, sizeof(xmlSAXHandler));
+	    memcpy(ctxt->sax, sax, sizeof(xmlSAXHandlerV1));
+        }
+        ctxt->userData = userData ? userData : ctxt;
+    }
 
     ctxt->maxatts = 0;
     ctxt->atts = NULL;
@@ -1712,7 +1724,6 @@
     ctxt->spaceMax = 10;
     ctxt->spaceTab[0] = -1;
     ctxt->space = &ctxt->spaceTab[0];
-    ctxt->userData = ctxt;
     ctxt->myDoc = NULL;
     ctxt->wellFormed = 1;
     ctxt->nsWellFormed = 1;
@@ -1756,7 +1767,6 @@
     ctxt->depth = 0;
     ctxt->charset = XML_CHAR_ENCODING_UTF8;
     ctxt->catalogs = NULL;
-    ctxt->nbentities = 0;
     ctxt->sizeentities = 0;
     ctxt->sizeentcopy = 0;
     ctxt->input_id = 1;
@@ -1765,6 +1775,24 @@
 }
 
 /**
+ * xmlInitParserCtxt:
+ * @ctxt:  an XML parser context
+ *
+ * DEPRECATED: Internal function which will be made private in a future
+ * version.
+ *
+ * Initialize a parser context
+ *
+ * Returns 0 in case of success and -1 in case of error
+ */
+
+int
+xmlInitParserCtxt(xmlParserCtxtPtr ctxt)
+{
+    return(xmlInitSAXParserCtxt(ctxt, NULL, NULL));
+}
+
+/**
  * xmlFreeParserCtxt:
  * @ctxt:  an XML parser context
  *
@@ -1861,6 +1889,23 @@
 xmlParserCtxtPtr
 xmlNewParserCtxt(void)
 {
+    return(xmlNewSAXParserCtxt(NULL, NULL));
+}
+
+/**
+ * xmlNewSAXParserCtxt:
+ * @sax:  SAX handler
+ * @userData:  user data
+ *
+ * Allocate and initialize a new SAX parser context. If userData is NULL,
+ * the parser context will be passed as user data.
+ *
+ * Returns the xmlParserCtxtPtr or NULL if memory allocation failed.
+ */
+
+xmlParserCtxtPtr
+xmlNewSAXParserCtxt(const xmlSAXHandler *sax, void *userData)
+{
     xmlParserCtxtPtr ctxt;
 
     ctxt = (xmlParserCtxtPtr) xmlMalloc(sizeof(xmlParserCtxt));
@@ -1869,7 +1914,7 @@
 	return(NULL);
     }
     memset(ctxt, 0, sizeof(xmlParserCtxt));
-    if (xmlInitParserCtxt(ctxt) < 0) {
+    if (xmlInitSAXParserCtxt(ctxt, sax, userData) < 0) {
         xmlFreeParserCtxt(ctxt);
 	return(NULL);
     }
@@ -1904,6 +1949,8 @@
  * @ctx:  an XML parser context
  * @node:  an XML node within the tree
  *
+ * DEPRECATED: Don't use.
+ *
  * Find the parser node info struct for a given node
  *
  * Returns an xmlParserNodeInfo block pointer or NULL
@@ -1929,6 +1976,8 @@
  * xmlInitNodeInfoSeq:
  * @seq:  a node info sequence pointer
  *
+ * DEPRECATED: Don't use.
+ *
  * -- Initialize (set to initial state) node info sequence
  */
 void
@@ -1945,6 +1994,8 @@
  * xmlClearNodeInfoSeq:
  * @seq:  a node info sequence pointer
  *
+ * DEPRECATED: Don't use.
+ *
  * -- Clear (release memory and reinitialize) node
  *   info sequence
  */
@@ -1963,6 +2014,7 @@
  * @seq:  a node info sequence pointer
  * @node:  an XML node pointer
  *
+ * DEPRECATED: Don't use.
  *
  * xmlParserFindNodeInfoIndex : Find the index that the info record for
  *   the given node is or should be at in a sorted sequence
@@ -2006,6 +2058,8 @@
  * @ctxt:  an XML parser context
  * @info:  a node info sequence pointer
  *
+ * DEPRECATED: Don't use.
+ *
  * Insert node info record into the sorted sequence
  */
 void
@@ -2076,6 +2130,8 @@
  * xmlPedanticParserDefault:
  * @val:  int 0 or 1
  *
+ * DEPRECATED: Use the modern options API with XML_PARSE_PEDANTIC.
+ *
  * Set and return the previous value for enabling pedantic warnings.
  *
  * Returns the last value for 0 for no substitution, 1 for substitution.
@@ -2093,6 +2149,8 @@
  * xmlLineNumbersDefault:
  * @val:  int 0 or 1
  *
+ * DEPRECATED: The modern options API always enables line numbers.
+ *
  * Set and return the previous value for enabling line numbers in elements
  * contents. This may break on old application and is turned off by default.
  *
@@ -2111,6 +2169,8 @@
  * xmlSubstituteEntitiesDefault:
  * @val:  int 0 or 1
  *
+ * DEPRECATED: Use the modern options API with XML_PARSE_NOENT.
+ *
  * Set and return the previous value for default entity support.
  * Initially the parser always keep entity references instead of substituting
  * entity values in the output. This function has to be used to change the
@@ -2133,6 +2193,8 @@
  * xmlKeepBlanksDefault:
  * @val:  int 0 or 1
  *
+ * DEPRECATED: Use the modern options API with XML_PARSE_NOBLANKS.
+ *
  * Set and return the previous value for default blanks text nodes support.
  * The 1.x version of the parser used an heuristic to try to detect
  * ignorable white spaces. As a result the SAX callback was generating
diff --git a/pattern.c b/pattern.c
index 73851a1..04a4eb7 100644
--- a/pattern.c
+++ b/pattern.c
@@ -516,9 +516,6 @@
 		    goto rollback;
 		node = node->parent;
 		if ((node->type == XML_DOCUMENT_NODE) ||
-#ifdef LIBXML_DOCB_ENABLED
-		    (node->type == XML_DOCB_DOCUMENT_NODE) ||
-#endif
 		    (node->type == XML_HTML_DOCUMENT_NODE))
 		    continue;
 		goto rollback;
@@ -548,9 +545,6 @@
 
 		if ((node->type != XML_ELEMENT_NODE) &&
 		    (node->type != XML_DOCUMENT_NODE) &&
-#ifdef LIBXML_DOCB_ENABLED
-		    (node->type != XML_DOCB_DOCUMENT_NODE) &&
-#endif
 		    (node->type != XML_HTML_DOCUMENT_NODE))
 		    goto rollback;
 
@@ -590,9 +584,6 @@
             case XML_OP_PARENT:
 		if ((node->type == XML_DOCUMENT_NODE) ||
 		    (node->type == XML_HTML_DOCUMENT_NODE) ||
-#ifdef LIBXML_DOCB_ENABLED
-		    (node->type == XML_DOCB_DOCUMENT_NODE) ||
-#endif
 		    (node->type == XML_NAMESPACE_DECL))
 		    goto rollback;
 		node = node->parent;
@@ -631,9 +622,6 @@
 		    goto rollback;
 		if ((node->type == XML_DOCUMENT_NODE) ||
 		    (node->type == XML_HTML_DOCUMENT_NODE) ||
-#ifdef LIBXML_DOCB_ENABLED
-		    (node->type == XML_DOCB_DOCUMENT_NODE) ||
-#endif
 		    (node->type == XML_NAMESPACE_DECL))
 		    goto rollback;
 		node = node->parent;
@@ -2051,22 +2039,12 @@
 #endif /* if 0 ------------------------------------------------------- */
 	    if (match) {
 		final = step.flags & XML_STREAM_STEP_FINAL;
-		if (desc) {
-		    if (final) {
-			ret = 1;
-		    } else {
-			/* descending match create a new state */
-			xmlStreamCtxtAddState(stream, stepNr + 1,
-			                      stream->level + 1);
-		    }
-		} else {
-		    if (final) {
-			ret = 1;
-		    } else {
-			xmlStreamCtxtAddState(stream, stepNr + 1,
-			                      stream->level + 1);
-		    }
-		}
+                if (final) {
+                    ret = 1;
+                } else {
+                    xmlStreamCtxtAddState(stream, stepNr + 1,
+                                          stream->level + 1);
+                }
 		if ((ret != 1) && (step.flags & XML_STREAM_STEP_IN_SET)) {
 		    /*
 		    * Check if we have a special case like "foo/bar//.", where
@@ -2219,7 +2197,7 @@
 int
 xmlStreamPush(xmlStreamCtxtPtr stream,
               const xmlChar *name, const xmlChar *ns) {
-    return (xmlStreamPushInternal(stream, name, ns, (int) XML_ELEMENT_NODE));
+    return (xmlStreamPushInternal(stream, name, ns, XML_ELEMENT_NODE));
 }
 
 /**
@@ -2269,7 +2247,7 @@
 int
 xmlStreamPushAttr(xmlStreamCtxtPtr stream,
 		  const xmlChar *name, const xmlChar *ns) {
-    return (xmlStreamPushInternal(stream, name, ns, (int) XML_ATTRIBUTE_NODE));
+    return (xmlStreamPushInternal(stream, name, ns, XML_ATTRIBUTE_NODE));
 }
 
 /**
diff --git a/python/Makefile.am b/python/Makefile.am
index 726e693..1773fd3 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -1,55 +1,50 @@
 # Makefile for libxml2 python library
-AUTOMAKE_OPTIONS = 1.4 foreign
+
+# We use a rule with multiple output files which creates problems with
+# parallel builds.
+.NOTPARALLEL:
 
 SUBDIRS = . tests
 
-docsdir = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)
-dist_docs_DATA = TODO
-
 EXTRA_DIST = 			\
-	setup.py		\
 	generator.py		\
 	libxml.py		\
-	libxml2-export.c	\
-	libxml2-python-api.xml	\
-	libxml2class.py		\
-	libxml2class.txt
+	libxml2-python-api.xml
 
 if WITH_PYTHON
 AM_CPPFLAGS = \
 	-I$(top_builddir)/include \
 	-I$(top_srcdir)/include	\
-	-I$(PYTHON_INCLUDES)
+	$(PYTHON_CFLAGS)
 
-python_LTLIBRARIES = libxml2mod.la
+pyexec_LTLIBRARIES = libxml2mod.la
 
-libxml2mod_la_SOURCES = libxml.c libxml_wrap.h libxml2-py.h libxml2-py.c types.c
-libxml2mod_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) -module -avoid-version \
-        $(top_builddir)/libxml2.la
-libxml2mod_la_LIBADD = $(CYGWIN_EXTRA_PYTHON_LIBADD) $(WIN32_EXTRA_PYTHON_LIBADD) $(PYTHON_LIBS)
+libxml2mod_la_SOURCES = libxml.c libxml_wrap.h types.c
+nodist_libxml2mod_la_SOURCES = libxml2-py.h libxml2-py.c
+libxml2mod_la_LDFLAGS = $(AM_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
+libxml2mod_la_LIBADD = $(top_builddir)/libxml2.la $(PYTHON_LIBS)
 
 BUILT_SOURCES = libxml2-export.c libxml2-py.h libxml2-py.c
 
+python_PYTHON = drv_libxml2.py
+nodist_python_PYTHON = libxml2.py
+
+API_DESC = $(top_srcdir)/doc/libxml2-api.xml $(srcdir)/libxml2-python-api.xml
+GENERATED = libxml2class.py libxml2class.txt $(BUILT_SOURCES)
+CLEANFILES = libxml2.py $(GENERATED)
+
+all-local: libxml2.py
+
+$(GENERATED): $(srcdir)/generator.py $(API_DESC)
+	$(PYTHON) $(srcdir)/generator.py $(srcdir)
+
 # libxml.c #includes libxml2-export.c
 libxml.$(OBJEXT): libxml2-export.c
 
 libxml2.py: $(srcdir)/libxml.py libxml2class.py
 	cat $(srcdir)/libxml.py `test -f libxml2class.py || echo $(srcdir)/`libxml2class.py > $@
 
-dist_python_DATA = \
-	drv_libxml2.py \
-	libxml2.py
-	
-CLEANFILES = *.pyc
+clean-local:
+	rm -rf __pycache__ *.pyc
 
-MAINTAINERCLEANFILES = libxml2.py libxml2class.*
-
-API_DESC = $(top_srcdir)/doc/libxml2-api.xml $(srcdir)/libxml2-python-api.xml
-GENERATED = libxml2class.py libxml2class.txt $(BUILT_SOURCES)
-
-$(GENERATED): $(srcdir)/generator.py $(API_DESC)
-	$(PYTHON) $(srcdir)/generator.py $(srcdir)
 endif
-
-tests test: all
-	cd tests && $(MAKE) tests
diff --git a/python/TODO b/python/TODO
deleted file mode 100644
index 4ea1eb1..0000000
--- a/python/TODO
+++ /dev/null
@@ -1,55 +0,0 @@
-             TODO for the libxml2 Python wrappers
-
-Things to do:
--------------
-
-- SAX interfaces
-  - push is done but no generic interface
-  - elementDecl need some work
-  - need more testing and check full callbacks for xmllib/sgmlop replacement
-- enums -> libxml.py
-- access to XPath variables
-- xmlBuffer exposure
-- xpathContext, being able to set/get info and clean it up
-- more work needed on context handling for function lookup
-  and use of an hash table.
-- add regression tests
-   - SAX flow
-- DTD element and attributes content accesses
-   - attribute handled in SAX
-   - element needed in both
-
-
-Done:
------
-- class hierarchy:
-  + make specific node type inherit from xmlNode
-    done, had to sort the classes in the output
-  + get the generator to output a classes.txt description
-    done libxml2class.txt
-- add regression tests
-   - tests/Makefile.am: export the Python class path
-   - xpath queries
-   - xpath extension
-   - check memory
-   - build tree
-   - saving
-- extensions based on a python.xml description of the new specific
-  interfaces
-   file libxml2-python-api.xml , first entry is xmlRegisterXPathFunction
-- spec file: automatically generate for pythonX.Y if found
-  Done, a bit ugly by running new makes in %install for each level
-  found.
-- error redirections and preformat
-- handling of node.content
-- access to xmlParserCtxt and push mode
-   - needed for SAX too
-   - entry points
-   - wrappers
-   - decent interface for setting/getting behaviour
-- memory debug interfaces
-- SAX interfaces
-   - basic stuff with push is available
-   - basic xmllib replacement
-
-Daniel Veillard
diff --git a/python/generator.py b/python/generator.py
index 299bf2f..989c38e 100755
--- a/python/generator.py
+++ b/python/generator.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # generate python wrappers from the XML API description
 #
@@ -152,7 +152,6 @@
 
 skipped_modules = {
     'xmlmemory': None,
-    'DOCBparser': None,
     'SAX': None,
     'hash': None,
     'list': None,
@@ -290,13 +289,90 @@
 )
 
 deprecated_funcs = {
+    'htmlDefaultSAXHandlerInit': True,
+    'htmlInitAutoClose': True,
+    'htmlParseCharRef': True,
+    'htmlParseElement': True,
+    'xmlCleanupCharEncodingHandlers': True,
+    'xmlCleanupGlobals': True,
+    'xmlDefaultSAXHandlerInit': True,
+    'xmlDecodeEntities': True,
+    'xmlDictCleanup': True,
+    'xmlEncodeEntities': True,
+    'xmlHandleEntity': True,
+    'xmlInitCharEncodingHandlers': True,
+    'xmlInitGlobals': True,
+    'xmlInitializeDict': True,
+    'xmlInitializePredefinedEntities': True,
     'xmlIsRef': True,
+    'xmlNamespaceParseNCName': True,
+    'xmlNamespaceParseNSDef': True,
+    'xmlNanoFTPCleanup': True,
+    'xmlNanoFTPInit': True,
+    'xmlNanoFTPProxy': True,
+    'xmlNanoFTPScanProxy': True,
+    'xmlNewGlobalNs': True,
+    'xmlParseAttValue': True,
+    'xmlParseAttributeListDecl': True,
+    'xmlParseCDSect': True,
+    'xmlParseCharData': True,
+    'xmlParseCharRef': True,
+    'xmlParseComment': True,
+    'xmlParseDocTypeDecl': True,
+    'xmlParseElement': True,
+    'xmlParseElementDecl': True,
+    'xmlParseEncName': True,
+    'xmlParseEncodingDecl': True,
+    'xmlParseEndTag': True,
+    'xmlParseEntity': True,
+    'xmlParseEntityDecl': True,
+    'xmlParseEntityRef': True,
+    'xmlParseMarkupDecl': True,
+    'xmlParseMisc': True,
+    'xmlParseName': True,
+    'xmlParseNamespace': True,
+    'xmlParseNmtoken': True,
+    'xmlParseNotationDecl': True,
+    'xmlParsePEReference': True,
+    'xmlParsePI': True,
+    'xmlParsePITarget': True,
+    'xmlParsePubidLiteral': True,
+    'xmlParseQuotedString': True,
+    'xmlParseReference': True,
+    'xmlParseSDDecl': True,
+    'xmlParseStartTag': True,
+    'xmlParseSystemLiteral': True,
+    'xmlParseTextDecl': True,
+    'xmlParseVersionInfo': True,
+    'xmlParseVersionNum': True,
+    'xmlParseXMLDecl': True,
+    'xmlParserHandleReference': True,
+    'xmlRecoverDoc': True,
+    'xmlRecoverFile': True,
+    'xmlRecoverMemory': True,
+    'xmlRelaxNGCleanupTypes': True,
+    'xmlRelaxNGInitTypes': True,
     'xmlRemoveRef': True,
+    'xmlSAXDefaultVersion': True,
+    'xmlScanName': True,
+    'xmlSchemaCleanupTypes': True,
+    'xmlSchemaInitTypes': True,
+    'xmlSetupParserForBuffer': True,
+    'xmlStringDecodeEntities': True,
+    'xmlStringLenDecodeEntities': True,
+    'xmlThrDefDefaultBufferSize': True,
+    'xmlThrDefLineNumbersDefaultValue': True,
+    'xmlThrDefPedanticParserDefaultValue': True,
+    'xmlXPathInit': True,
+    'xmlXPtrEvalRangePredicate': True,
+    'xmlXPtrNewCollapsedRange': True,
+    'xmlXPtrNewLocationSetNodes': True,
+    'xmlXPtrNewRange': True,
+    'xmlXPtrNewRangeNodes': True,
+    'xmlXPtrRangeToFunction': True,
 }
 
 def skip_function(name):
-    if name in deprecated_funcs:
-        return 1
     if name[0:12] == "xmlXPathWrap":
         return 1
     if name == "xmlFreeParserCtxt":
@@ -371,6 +447,8 @@
         # Don't delete the function entry in the caller.
         return 1
 
+    is_deprecated = name in deprecated_funcs
+
     c_call = ""
     format=""
     format_args=""
@@ -484,6 +562,8 @@
             output.write("#endif\n")
         return 1
 
+    if is_deprecated:
+        output.write("XML_IGNORE_DEPRECATION_WARNINGS\n")
     output.write("PyObject *\n")
     output.write("libxml_%s(PyObject *self ATTRIBUTE_UNUSED," % (name))
     output.write(" PyObject *args")
@@ -496,6 +576,10 @@
         output.write(c_return)
     if c_args != "":
         output.write(c_args)
+    if is_deprecated:
+        output.write("\n    if (libxml_deprecationWarning(\"%s\") == -1)\n" %
+                     name)
+        output.write("        return(NULL);\n")
     if format != "":
         output.write("\n    if (!PyArg_ParseTuple(args, (char *)\"%s\"%s))\n" %
                      (format, format_args))
@@ -507,7 +591,11 @@
     if c_release != "":
         output.write(c_release)
     output.write(ret_convert)
-    output.write("}\n\n")
+    output.write("}\n")
+    if is_deprecated:
+        output.write("XML_POP_WARNINGS\n")
+    output.write("\n")
+
     if cond != None and cond != "":
         include.write("#endif /* %s */\n" % cond)
         export.write("#endif /* %s */\n" % cond)
@@ -583,12 +671,12 @@
     export.close()
     wrapper.close()
 
-    print("Generated %d wrapper functions, %d failed, %d skipped\n" % (nb_wrap,
+    print("Generated %d wrapper functions, %d failed, %d skipped" % (nb_wrap,
                                                               failed, skipped))
-    print("Missing type converters: ")
-    for type in list(unknown_types.keys()):
-        print("%s:%d " % (type, len(unknown_types[type])))
-    print()
+#    print("Missing type converters: ")
+#    for type in list(unknown_types.keys()):
+#        print("%s:%d " % (type, len(unknown_types[type])))
+#    print()
 
 #######################################################################
 #
diff --git a/python/libxml.c b/python/libxml.c
index ef63025..fb14c7a 100644
--- a/python/libxml.c
+++ b/python/libxml.c
@@ -145,23 +145,13 @@
             if ((freeFunc == xmlMemFree) && (mallocFunc == xmlMemMalloc) &&
                 (reallocFunc == xmlMemRealloc) &&
                 (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();
             }
+            libxmlMemoryAllocatedBase = xmlMemUsed();
             ret = 0;
         } else if (libxmlMemoryDebugActivated == 0) {
             libxmlMemoryAllocatedBase = xmlMemUsed();
@@ -188,13 +178,7 @@
                               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...
@@ -212,12 +196,7 @@
 	libxml_xpathCallbacks = NULL;
     }
 
-    if (libxmlMemoryDebug) {
-        freed -= xmlMemUsed();
-	libxmlMemoryAllocatedBase -= freed;
-	if (libxmlMemoryAllocatedBase < 0)
-	    libxmlMemoryAllocatedBase = 0;
-    }
+    xmlCleanupParser();
 
     Py_INCREF(Py_None);
     return(Py_None);
@@ -257,7 +236,7 @@
 #endif
     file = (PyObject *) context;
     if (file == NULL) return(-1);
-    ret = PyEval_CallMethod(file, (char *) "close", (char *) "()");
+    ret = PyObject_CallMethod(file, (char *) "close", (char *) "()");
     if (ret != NULL) {
 	Py_DECREF(ret);
     }
@@ -287,7 +266,7 @@
 #endif
     file = (PyObject *) context;
     if (file == NULL) return(-1);
-    ret = PyEval_CallMethod(file, (char *) "read", (char *) "(i)", len);
+    ret = PyObject_CallMethod(file, (char *) "read", (char *) "(i)", len);
     if (ret == NULL) {
 	printf("xmlPythonFileReadRaw: result is NULL\n");
 	return(-1);
@@ -352,7 +331,7 @@
 #endif
     file = (PyObject *) context;
     if (file == NULL) return(-1);
-    ret = PyEval_CallMethod(file, (char *) "io_read", (char *) "(i)", len);
+    ret = PyObject_CallMethod(file, (char *) "io_read", (char *) "(i)", len);
     if (ret == NULL) {
 	printf("xmlPythonFileRead: result is NULL\n");
 	return(-1);
@@ -420,10 +399,10 @@
     string = PY_IMPORT_STRING_SIZE(buffer, len);
     if (string == NULL) return(-1);
     if (PyObject_HasAttrString(file, (char *) "io_write")) {
-        ret = PyEval_CallMethod(file, (char *) "io_write", (char *) "(O)",
+        ret = PyObject_CallMethod(file, (char *) "io_write", (char *) "(O)",
 	                        string);
     } else if (PyObject_HasAttrString(file, (char *) "write")) {
-        ret = PyEval_CallMethod(file, (char *) "write", (char *) "(O)",
+        ret = PyObject_CallMethod(file, (char *) "write", (char *) "(O)",
 	                        string);
     }
     Py_DECREF(string);
@@ -459,9 +438,9 @@
     file = (PyObject *) context;
     if (file == NULL) return(-1);
     if (PyObject_HasAttrString(file, (char *) "io_close")) {
-        ret = PyEval_CallMethod(file, (char *) "io_close", (char *) "()");
+        ret = PyObject_CallMethod(file, (char *) "io_close", (char *) "()");
     } else if (PyObject_HasAttrString(file, (char *) "flush")) {
-        ret = PyEval_CallMethod(file, (char *) "flush", (char *) "()");
+        ret = PyObject_CallMethod(file, (char *) "flush", (char *) "()");
     }
     if (ret != NULL) {
 	Py_DECREF(ret);
@@ -1524,6 +1503,7 @@
     const char *URI;
     PyObject *pyobj_SAX = NULL;
     xmlSAXHandlerPtr SAX = NULL;
+    xmlParserCtxtPtr ctxt;
 
     if (!PyArg_ParseTuple(args, (char *) "Osi:xmlSAXParseFile", &pyobj_SAX,
                           &URI, &recover))
@@ -1540,7 +1520,9 @@
     SAX = &pythonSaxHandler;
     Py_INCREF(pyobj_SAX);
     /* The reference is released in pythonEndDocument() */
-    xmlSAXUserParseFile(SAX, pyobj_SAX, URI);
+    ctxt = xmlNewSAXParserCtxt(SAX, pyobj_SAX);
+    xmlCtxtReadFile(ctxt, URI, NULL, 0);
+    xmlFreeParserCtxt(ctxt);
 #endif /* LIBXML_SAX1_ENABLED */
     Py_INCREF(Py_None);
     return (Py_None);
@@ -1554,6 +1536,7 @@
     const char *encoding;
     PyObject *pyobj_SAX = NULL;
     xmlSAXHandlerPtr SAX = NULL;
+    htmlParserCtxtPtr ctxt;
 
     if (!PyArg_ParseTuple
         (args, (char *) "Osz:htmlSAXParseFile", &pyobj_SAX, &URI,
@@ -1571,7 +1554,9 @@
     SAX = &pythonSaxHandler;
     Py_INCREF(pyobj_SAX);
     /* The reference is released in pythonEndDocument() */
-    htmlSAXParseFile(URI, encoding, SAX, pyobj_SAX);
+    ctxt = htmlNewSAXParserCtxt(SAX, pyobj_SAX);
+    htmlCtxtReadFile(ctxt, URI, encoding, 0);
+    htmlFreeParserCtxt(ctxt);
     Py_INCREF(Py_None);
     return (Py_None);
 #else
@@ -1642,7 +1627,7 @@
         Py_XINCREF(libxml_xmlPythonErrorFuncCtxt);
         message = libxml_charPtrConstWrap(str);
         PyTuple_SetItem(list, 1, message);
-        result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list);
+        result = PyObject_CallObject(libxml_xmlPythonErrorFuncHandler, list);
         Py_XDECREF(list);
         Py_XDECREF(result);
     }
@@ -1730,7 +1715,7 @@
     PyTuple_SetItem(list, 2, libxml_intWrap(severity));
     PyTuple_SetItem(list, 3, Py_None);
     Py_INCREF(Py_None);
-    result = PyEval_CallObject(pyCtxt->f, list);
+    result = PyObject_CallObject(pyCtxt->f, list);
     if (result == NULL) 
     {
 	/* TODO: manage for the exception to be propagated... */
@@ -1916,7 +1901,7 @@
     PyTuple_SetItem(list, 0, libxml_charPtrWrap(str));
     PyTuple_SetItem(list, 1, pyCtxt->arg);
     Py_XINCREF(pyCtxt->arg);
-    result = PyEval_CallObject(pyCtxt->error, list);
+    result = PyObject_CallObject(pyCtxt->error, list);
     if (result == NULL) 
     {
 	/* TODO: manage for the exception to be propagated... */
@@ -1943,7 +1928,7 @@
     PyTuple_SetItem(list, 0, libxml_charPtrWrap(str));
     PyTuple_SetItem(list, 1, pyCtxt->arg);
     Py_XINCREF(pyCtxt->arg);
-    result = PyEval_CallObject(pyCtxt->warn, list);
+    result = PyObject_CallObject(pyCtxt->warn, list);
     if (result == NULL) 
     {
 	/* TODO: manage for the exception to be propagated... */
@@ -2078,7 +2063,7 @@
     PyTuple_SetItem(list, 1, libxml_charPtrConstWrap(msg));
     PyTuple_SetItem(list, 2, libxml_intWrap(severity));
     PyTuple_SetItem(list, 3, libxml_xmlTextReaderLocatorPtrWrap(locator));
-    result = PyEval_CallObject(pyCtxt->f, list);
+    result = PyObject_CallObject(pyCtxt->f, list);
     if (result == NULL)
     {
 	/* TODO: manage for the exception to be propagated... */
@@ -2273,7 +2258,7 @@
         cur = libxml_xmlXPathObjectPtrWrap(obj);
         PyTuple_SetItem(list, i + 1, cur);
     }
-    result = PyEval_CallObject(current_function, list);
+    result = PyObject_CallObject(current_function, list);
     Py_DECREF(list);
 
     obj = libxml_xmlXPathObjectPtrConvert(result);
@@ -2438,9 +2423,6 @@
 
     switch (cur->type) {
         case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
         case XML_HTML_DOCUMENT_NODE:{
                 xmlDocPtr doc = (xmlDocPtr) cur;
 
@@ -2485,9 +2467,6 @@
 
     switch (cur->type) {
         case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
         case XML_HTML_DOCUMENT_NODE:
             res = NULL;
             break;
@@ -2543,9 +2522,6 @@
 
     switch (cur->type) {
         case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
         case XML_HTML_DOCUMENT_NODE:
             res = NULL;
             break;
@@ -2587,9 +2563,6 @@
 
     switch (cur->type) {
         case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
         case XML_HTML_DOCUMENT_NODE:
             res = NULL;
             break;
@@ -2632,9 +2605,6 @@
         case XML_PI_NODE:
         case XML_COMMENT_NODE:
         case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
         case XML_HTML_DOCUMENT_NODE:
         case XML_DTD_NODE:
             res = cur->children;
@@ -2675,9 +2645,6 @@
         case XML_PI_NODE:
         case XML_COMMENT_NODE:
         case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
         case XML_HTML_DOCUMENT_NODE:
         case XML_DTD_NODE:
             res = cur->last;
@@ -2714,9 +2681,6 @@
     switch (cur->type) {
         case XML_DOCUMENT_NODE:
         case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
             res = NULL;
             break;
         case XML_ATTRIBUTE_NODE:{
@@ -2819,11 +2783,6 @@
         case XML_XINCLUDE_END:
             res = (const xmlChar *) "xinclude_end";
             break;
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-            res = (const xmlChar *) "document_docbook";
-            break;
-#endif
     }
 #ifdef DEBUG
     printf("libxml_type: cur = %p: %s\n", cur, res);
@@ -3176,7 +3135,7 @@
     PyTuple_SetItem(list, 0, libxml_charPtrWrap(str));
     PyTuple_SetItem(list, 1, pyCtxt->arg);
     Py_XINCREF(pyCtxt->arg);
-    result = PyEval_CallObject(pyCtxt->error, list);
+    result = PyObject_CallObject(pyCtxt->error, list);
     if (result == NULL) 
     {
         /* TODO: manage for the exception to be propagated... */
@@ -3203,7 +3162,7 @@
     PyTuple_SetItem(list, 0, libxml_charPtrWrap(str));
     PyTuple_SetItem(list, 1, pyCtxt->arg);
     Py_XINCREF(pyCtxt->arg);
-    result = PyEval_CallObject(pyCtxt->warn, list);
+    result = PyObject_CallObject(pyCtxt->warn, list);
     if (result == NULL) 
     {
         /* TODO: manage for the exception to be propagated... */
@@ -3340,7 +3299,7 @@
 	PyTuple_SetItem(list, 0, libxml_charPtrWrap(str));
 	PyTuple_SetItem(list, 1, pyCtxt->arg);
 	Py_XINCREF(pyCtxt->arg);
-	result = PyEval_CallObject(pyCtxt->error, list);
+	result = PyObject_CallObject(pyCtxt->error, list);
 	if (result == NULL) 
 	{
 		/* TODO: manage for the exception to be propagated... */
@@ -3367,7 +3326,7 @@
 	PyTuple_SetItem(list, 0, libxml_charPtrWrap(str));
 	PyTuple_SetItem(list, 1, pyCtxt->arg);
 	Py_XINCREF(pyCtxt->arg);
-	result = PyEval_CallObject(pyCtxt->warn, list);
+	result = PyObject_CallObject(pyCtxt->warn, list);
 	if (result == NULL)
 	{
 		/* TODO: manage for the exception to be propagated... */
@@ -3824,6 +3783,23 @@
 
 /************************************************************************
  *									*
+ *		Deprecation warnings					*
+ *									*
+ ************************************************************************/
+
+int
+libxml_deprecationWarning(const char *func) {
+#if PY_VERSION_HEX >= 0x03020000
+    return PyErr_WarnFormat(PyExc_PendingDeprecationWarning, 1,
+            "libxml2mod.%s is deprecated and will be removed "
+            "in future versions", func);
+#else
+    return PyErr_WarnEx(PyExc_PendingDeprecationWarning, func, 1);
+#endif
+}
+
+/************************************************************************
+ *									*
  *			The registration stuff				*
  *									*
  ************************************************************************/
diff --git a/python/libxml_wrap.h b/python/libxml_wrap.h
index 53a0618..f4c3aee 100644
--- a/python/libxml_wrap.h
+++ b/python/libxml_wrap.h
@@ -60,6 +60,22 @@
 #define ATTRIBUTE_UNUSED
 #endif
 
+/*
+ * Macros to ignore deprecation warnings
+ */
+#if defined(__clang__) || \
+    (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 406))
+#define XML_IGNORE_DEPRECATION_WARNINGS \
+    _Pragma("GCC diagnostic push") \
+    _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
+#elif defined (_MSC_VER) && (_MSC_VER >= 1400)
+#define XML_IGNORE_DEPRECATION_WARNINGS \
+    __pragma(warning(push)) \
+    __pragma(warning(disable : 4996))
+#else
+#define XML_IGNORE_DEPRECATION_WARNINGS
+#endif
+
 #define PyxmlNode_Get(v) (((v) == Py_None) ? NULL : \
 	(((PyxmlNode_Object *)(v))->obj))
 
@@ -277,3 +293,5 @@
 PyObject * libxml_xmlRegisterInputCallback(PyObject *self, PyObject *args);
 PyObject * libxml_xmlUnregisterInputCallback(PyObject *self, PyObject *args);
 PyObject * libxml_xmlNodeRemoveNsDef(PyObject * self, PyObject * args);
+
+int libxml_deprecationWarning(const char *func);
diff --git a/python/setup.py.in b/python/setup.py.in
index 4a997b4..bcc4da4 100755
--- a/python/setup.py.in
+++ b/python/setup.py.in
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # Setup script for libxml2 and libxslt if found
 #
@@ -6,7 +6,7 @@
 
 try:
     import setuptools
-except ModuleNotFoundError:
+except ImportError:
     pass
 
 from distutils.core import setup, Extension
@@ -45,6 +45,11 @@
 # dlls must be found somewhere in the PATH at runtime.
 WITHDLLS = 1 and sys.platform.startswith('win')
 
+if WITHDLLS:
+    def altImport(s):
+        s = s.replace("import libxml2mod","from libxmlmods import libxml2mod")
+        return s
+
 def missing(file):
     if os.access(file, os.R_OK) == 0:
         return 1
@@ -182,11 +187,6 @@
         os.mkdir("libxmlmods")
         open("libxmlmods/__init__.py","w").close()
 
-    def altImport(s):
-        s = s.replace("import libxml2mod","from libxmlmods import libxml2mod")
-        s = s.replace("import libxsltmod","from libxmlmods import libxsltmod")
-        return s
-
     packaged_dlls = [os.path.join(ROOT,'bin',dll) for dll in dlls]
 
 descr = "libxml2 package"
diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
index 227e24d..c2270ce 100644
--- a/python/tests/Makefile.am
+++ b/python/tests/Makefile.am
@@ -1,4 +1,4 @@
-exampledir = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)/examples
+exampledir = $(docdir)/python/examples
 dist_example_DATA = $(PYTESTS) $(XMLS)
 
 PYTESTS=	\
@@ -59,11 +59,12 @@
 CLEANFILES = core tmp.xml *.pyc
 
 if WITH_PYTHON
-tests: $(PYTESTS)
+check-local:
 	@for f in $(XMLS) ; do test -f $$f || $(LN_S) $(srcdir)/$$f . ; done
 	@echo "## running Python regression tests"
 	@(export PYTHONPATH="..:../.libs:$(srcdir)/..:$$PYTHONPATH" ; \
 	  export LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
+	  export DYLD_LIBRARY_PATH="$(top_builddir)/.libs:$$DYLD_LIBRARY_PATH" ; \
 	  export PATH="$(top_builddir)/.libs:$$PATH" ; \
 	  for test in $(PYTESTS) ; do \
 	    log=`$(PYTHON) $(srcdir)/$$test` ; \
@@ -73,6 +74,4 @@
 	      exit 1 ; \
 	    fi ; \
 	  done)
-else
-tests:
 endif
diff --git a/python/tests/attribs.py b/python/tests/attribs.py
index 99132c2..9170cb7 100755
--- a/python/tests/attribs.py
+++ b/python/tests/attribs.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/build.py b/python/tests/build.py
index b2d3f78..1ff4a5b 100755
--- a/python/tests/build.py
+++ b/python/tests/build.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import libxml2
 import sys
 
diff --git a/python/tests/compareNodes.py b/python/tests/compareNodes.py
index ca5a5a2..322754d 100755
--- a/python/tests/compareNodes.py
+++ b/python/tests/compareNodes.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/ctxterror.py b/python/tests/ctxterror.py
index ac64624..4823194 100755
--- a/python/tests/ctxterror.py
+++ b/python/tests/ctxterror.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # This test exercise the redirection of error messages with a
 # functions defined in Python.
diff --git a/python/tests/cutnpaste.py b/python/tests/cutnpaste.py
index 7787246..6134d88 100755
--- a/python/tests/cutnpaste.py
+++ b/python/tests/cutnpaste.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/dtdvalid.py b/python/tests/dtdvalid.py
index d4049b8..dc3af12 100755
--- a/python/tests/dtdvalid.py
+++ b/python/tests/dtdvalid.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import libxml2
 import sys
 
diff --git a/python/tests/error.py b/python/tests/error.py
index 530c2ee..09102ad 100755
--- a/python/tests/error.py
+++ b/python/tests/error.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # This test exercise the redirection of error messages with a
 # functions defined in Python.
diff --git a/python/tests/inbuf.py b/python/tests/inbuf.py
index 0c16674..10a9cf0 100755
--- a/python/tests/inbuf.py
+++ b/python/tests/inbuf.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 try:
diff --git a/python/tests/indexes.py b/python/tests/indexes.py
index e41a0d9..d64dfb8 100755
--- a/python/tests/indexes.py
+++ b/python/tests/indexes.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 # -*- coding: ISO-8859-1 -*-
 import sys
 import libxml2
diff --git a/python/tests/input_callback.py b/python/tests/input_callback.py
index 495ab62..9151e76 100755
--- a/python/tests/input_callback.py
+++ b/python/tests/input_callback.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # This tests custom input callbacks
 #
diff --git a/python/tests/nsdel.py b/python/tests/nsdel.py
index 8558248..7d4aa96 100755
--- a/python/tests/nsdel.py
+++ b/python/tests/nsdel.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # this test exercise the XPath basic engine, parser, etc, and
 # allows to detect memory leaks
diff --git a/python/tests/outbuf.py b/python/tests/outbuf.py
index 62761cc..2bafcc8 100755
--- a/python/tests/outbuf.py
+++ b/python/tests/outbuf.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 try:
diff --git a/python/tests/push.py b/python/tests/push.py
index 0edd61d..0b6ae1d 100755
--- a/python/tests/push.py
+++ b/python/tests/push.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/pushSAX.py b/python/tests/pushSAX.py
index 48f6e82..a2df0a8 100755
--- a/python/tests/pushSAX.py
+++ b/python/tests/pushSAX.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/pushSAXhtml.py b/python/tests/pushSAXhtml.py
index 159d308..eabbfca 100755
--- a/python/tests/pushSAXhtml.py
+++ b/python/tests/pushSAXhtml.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/reader.py b/python/tests/reader.py
index 173ce66..d8e6fff 100755
--- a/python/tests/reader.py
+++ b/python/tests/reader.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 # -*- coding: ISO-8859-1 -*-
 #
 # this tests the basic APIs of the XmlTextReader interface
diff --git a/python/tests/reader2.py b/python/tests/reader2.py
index b50180d..802d848 100755
--- a/python/tests/reader2.py
+++ b/python/tests/reader2.py
@@ -1,11 +1,11 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 #
 # this tests the DTD validation with the XmlTextReader interface
 #
 import sys
 import glob
-import string
+import os
 import libxml2
 try:
     import StringIO
@@ -18,103 +18,77 @@
 libxml2.debugMemory(1)
 
 err = ""
-dir_prefix = "../../test/valid/"
+basedir = os.path.dirname(os.path.realpath(__file__))
+dir_prefix = os.path.realpath(os.path.join(basedir, "..", "..", "test", "valid"))
+
 # This dictionary reflects the contents of the files
 # ../../test/valid/*.xml.err that are not empty, except that
 # the file paths in the messages start with ../../test/
 
 expect = {
     '766956':
-"""../../test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';'
+"""{0}/dtds/766956.dtd:2: parser error : PEReference: expecting ';'
 %ä%ent;
    ^
-../../test/valid/dtds/766956.dtd:2: parser error : Content error in the external subset
+{0}/dtds/766956.dtd:2: parser error : Content error in the external subset
 %ä%ent;
         ^
 Entity: line 1: 
 value
 ^
-""",
+""".format(dir_prefix),
     '781333':
-"""../../test/valid/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got 
+"""{0}/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got 
 <a/>
     ^
-../../test/valid/781333.xml:5: element a: validity error : Element a content does not follow the DTD, Expecting more child
+{0}/781333.xml:5: element a: validity error : Element a content does not follow the DTD, Expecting more child
 
 ^
-""",
+""".format(dir_prefix),
     'cond_sect2':
-"""../../test/valid/dtds/cond_sect2.dtd:15: parser error : All markup of the conditional section is not in the same entity
+"""{0}/dtds/cond_sect2.dtd:15: parser error : All markup of the conditional section is not in the same entity
     %ent;
          ^
 Entity: line 1: 
 ]]>
 ^
-../../test/valid/dtds/cond_sect2.dtd:17: parser error : Content error in the external subset
+{0}/dtds/cond_sect2.dtd:17: parser error : Content error in the external subset
 
 ^
-""",
+""".format(dir_prefix),
     'rss':
-"""../../test/valid/rss.xml:177: element rss: validity error : Element rss does not carry attribute version
+"""{0}/rss.xml:177: element rss: validity error : Element rss does not carry attribute version
 </rss>
       ^
-""",
+""".format(dir_prefix),
     't8':
-"""../../test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+"""{0}/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
 
 %defroot; %defmiddle; %deftest;
          ^
 Entity: line 1: 
 &lt;!ELEMENT root (middle) >
 ^
-../../test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot; %defmiddle; %deftest;
-                     ^
-Entity: line 1: 
-&lt;!ELEMENT middle (test) >
-^
-../../test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot; %defmiddle; %deftest;
-                               ^
-Entity: line 1: 
-&lt;!ELEMENT test (#PCDATA) >
-^
-""",
+""".format(dir_prefix),
     't8a':
-"""../../test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+"""{0}/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
 
 %defroot;%defmiddle;%deftest;
          ^
 Entity: line 1: 
 &lt;!ELEMENT root (middle) >
 ^
-../../test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot;%defmiddle;%deftest;
-                    ^
-Entity: line 1: 
-&lt;!ELEMENT middle (test) >
-^
-../../test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot;%defmiddle;%deftest;
-                             ^
-Entity: line 1: 
-&lt;!ELEMENT test (#PCDATA) >
-^
-""",
+""".format(dir_prefix),
     'xlink':
-"""../../test/valid/xlink.xml:450: element termdef: validity error : ID dt-arc already defined
+"""{0}/xlink.xml:450: element termdef: validity error : ID dt-arc already defined
 	<p><termdef id="dt-arc" term="Arc">An <ter
 	                                  ^
 validity error : attribute def line 199 references an unknown ID "dt-xlg"
-""",
+""".format(dir_prefix),
 }
 
 # Add prefix_dir and extension to the keys
-expect = {"{}{}.xml".format(dir_prefix, key): val for key, val in expect.items()}
+expect = {os.path.join(dir_prefix, key + ".xml"): val for key, val in expect.items()}
 
 def callback(ctx, str):
     global err
@@ -122,10 +96,12 @@
 libxml2.registerErrorHandler(callback, "")
 
 parsing_error_files = ["766956", "cond_sect2", "t8", "t8a"]
-expect_parsing_error = ["{}{}.xml".format(dir_prefix, f) for f in parsing_error_files]
+expect_parsing_error = [os.path.join(dir_prefix, f + ".xml") for f in parsing_error_files]
 
-valid_files = glob.glob(dir_prefix + "*.x*")
+valid_files = glob.glob(os.path.join(dir_prefix, "*.x*"))
+assert valid_files, "found no valid files in '{}'".format(dir_prefix)
 valid_files.sort()
+failures = 0
 for file in valid_files:
     err = ""
     reader = libxml2.newTextReaderFilename(file)
@@ -139,9 +115,15 @@
         #sys.exit(1)
     if (err):
         if not(file in expect and err == expect[file]):
+            failures += 1
             print("Error: ", err)
             if file in expect:
                 print("Expected: ", expect[file])
+
+if failures:
+    print("Failed %d tests" % failures)
+    sys.exit(1)
+
 #
 # another separate test based on Stephane Bidoul one
 #
@@ -334,9 +316,11 @@
 if res != expect:
     print("test5 failed: unexpected output")
     print(res)
+    sys.exit(1)
 if err != "":
     print("test5 failed: validation error found")
     print(err)
+    sys.exit(1)
 
 #
 # cleanup
diff --git a/python/tests/reader3.py b/python/tests/reader3.py
index 4302b6c..6507a7b 100755
--- a/python/tests/reader3.py
+++ b/python/tests/reader3.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # this tests the entities substitutions with the XmlTextReader interface
 #
diff --git a/python/tests/reader4.py b/python/tests/reader4.py
index 0bb3e3f..5aeed28 100755
--- a/python/tests/reader4.py
+++ b/python/tests/reader4.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # this tests the basic APIs of the XmlTextReader interface
 #
diff --git a/python/tests/reader5.py b/python/tests/reader5.py
index 82d0dae..19d1c3b 100755
--- a/python/tests/reader5.py
+++ b/python/tests/reader5.py
@@ -1,9 +1,10 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # this tests the Expand() API of the xmlTextReader interface
 # this extract the Dragon bibliography entries from the XML specification
 #
 import libxml2
+import os
 import sys
 
 # Memory debug specific
@@ -14,7 +15,8 @@
 <emph>Compilers:  Principles, Techniques, and Tools</emph>.
 Reading:  Addison-Wesley, 1986, rpt. corr. 1988.</bibl>"""
 
-f = open('../../test/valid/REC-xml-19980210.xml', 'rb')
+basedir = os.path.dirname(os.path.realpath(__file__))
+f = open(os.path.join(basedir, '../../test/valid/REC-xml-19980210.xml'), 'rb')
 input = libxml2.inputBuffer(f)
 reader = input.newTextReader("REC")
 res=""
diff --git a/python/tests/reader6.py b/python/tests/reader6.py
index ef33b18..7d293c6 100755
--- a/python/tests/reader6.py
+++ b/python/tests/reader6.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # this tests the entities substitutions with the XmlTextReader interface
 #
diff --git a/python/tests/reader7.py b/python/tests/reader7.py
index c88e370..8cb7a73 100755
--- a/python/tests/reader7.py
+++ b/python/tests/reader7.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # this tests the entities substitutions with the XmlTextReader interface
 #
diff --git a/python/tests/reader8.py b/python/tests/reader8.py
index de2dcd6..1e4b7c0 100755
--- a/python/tests/reader8.py
+++ b/python/tests/reader8.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # this tests the entities substitutions with the XmlTextReader interface
 #
diff --git a/python/tests/readererr.py b/python/tests/readererr.py
index c8ceba5..6c9f85e 100755
--- a/python/tests/readererr.py
+++ b/python/tests/readererr.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # this tests the basic APIs of the XmlTextReader interface
 #
diff --git a/python/tests/readernext.py b/python/tests/readernext.py
index fcb9ae3..112283e 100755
--- a/python/tests/readernext.py
+++ b/python/tests/readernext.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 # -*- coding: ISO-8859-1 -*-
 #
 # this tests the next API of the XmlTextReader interface
diff --git a/python/tests/regexp.py b/python/tests/regexp.py
index a03e459..ccef3f6 100755
--- a/python/tests/regexp.py
+++ b/python/tests/regexp.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import libxml2
 
 # Memory debug specific
diff --git a/python/tests/relaxng.py b/python/tests/relaxng.py
index fa3d327..277ac5f 100755
--- a/python/tests/relaxng.py
+++ b/python/tests/relaxng.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import libxml2
 import sys
 
diff --git a/python/tests/resolver.py b/python/tests/resolver.py
index 6f21f52..c39edc9 100755
--- a/python/tests/resolver.py
+++ b/python/tests/resolver.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 try:
diff --git a/python/tests/schema.py b/python/tests/schema.py
index 8089272..28501f8 100755
--- a/python/tests/schema.py
+++ b/python/tests/schema.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import libxml2
 import sys
 
diff --git a/python/tests/serialize.py b/python/tests/serialize.py
index 80b901a..6c8a94e 100755
--- a/python/tests/serialize.py
+++ b/python/tests/serialize.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/sync.py b/python/tests/sync.py
index 5a8609e..a9a89c7 100755
--- a/python/tests/sync.py
+++ b/python/tests/sync.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/thread2.py b/python/tests/thread2.py
index 2749eb0..9a171e9 100755
--- a/python/tests/thread2.py
+++ b/python/tests/thread2.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import string, sys, time
 try:
     from _thread import get_ident
diff --git a/python/tests/tst.py b/python/tests/tst.py
index 57a7318..d528bf0 100755
--- a/python/tests/tst.py
+++ b/python/tests/tst.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/tstLastError.py b/python/tests/tstLastError.py
index 36ffe5f..ea57e39 100755
--- a/python/tests/tstLastError.py
+++ b/python/tests/tstLastError.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys, unittest
 
 import libxml2
diff --git a/python/tests/tstURI.py b/python/tests/tstURI.py
index e4d58af..b3ac87b 100755
--- a/python/tests/tstURI.py
+++ b/python/tests/tstURI.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/tstmem.py b/python/tests/tstmem.py
index 4e33991..a9dbdea 100755
--- a/python/tests/tstmem.py
+++ b/python/tests/tstmem.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import libxml2
 
 try:
diff --git a/python/tests/tstxpath.py b/python/tests/tstxpath.py
index 0ba5a6d..ea49012 100755
--- a/python/tests/tstxpath.py
+++ b/python/tests/tstxpath.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/validDTD.py b/python/tests/validDTD.py
index 4b03b8e..1afb93f 100755
--- a/python/tests/validDTD.py
+++ b/python/tests/validDTD.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import libxml2
 import sys
 
diff --git a/python/tests/validRNG.py b/python/tests/validRNG.py
index 57f13a4..0b3d60e 100755
--- a/python/tests/validRNG.py
+++ b/python/tests/validRNG.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import libxml2
 import sys
 
diff --git a/python/tests/validSchemas.py b/python/tests/validSchemas.py
index cc543f3..b68747d 100755
--- a/python/tests/validSchemas.py
+++ b/python/tests/validSchemas.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import libxml2
 import sys
 
diff --git a/python/tests/validate.py b/python/tests/validate.py
index cec9cb0..afdf0e9 100755
--- a/python/tests/validate.py
+++ b/python/tests/validate.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/walker.py b/python/tests/walker.py
index 47f0557..62b48dc 100755
--- a/python/tests/walker.py
+++ b/python/tests/walker.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # this tests the entities substitutions with the XmlTextReader interface
 #
diff --git a/python/tests/xpath.py b/python/tests/xpath.py
index 72e6c9d..816de8a 100755
--- a/python/tests/xpath.py
+++ b/python/tests/xpath.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 # this test exercise the XPath basic engine, parser, etc, and
 # allows to detect memory leaks
diff --git a/python/tests/xpathext.py b/python/tests/xpathext.py
index b83d283..69e1fc9 100755
--- a/python/tests/xpathext.py
+++ b/python/tests/xpathext.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/tests/xpathleak.py b/python/tests/xpathleak.py
index 6940b79..438c13f 100755
--- a/python/tests/xpathleak.py
+++ b/python/tests/xpathleak.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
 import sys, libxml2
 
 libxml2.debugMemory(True)
diff --git a/python/tests/xpathns.py b/python/tests/xpathns.py
index 379535e..a450905 100755
--- a/python/tests/xpathns.py
+++ b/python/tests/xpathns.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 #
 import libxml2
 
@@ -11,6 +11,7 @@
 res=""
 for n in d.xpathEval("//namespace::*"):
     res = res + n.serialize()
+del n
 d.freeDoc()
 
 if res != expect:
@@ -18,7 +19,6 @@
     print(res)
 del res
 del d
-del n
 # Memory debug specific
 libxml2.cleanupParser()
 
diff --git a/python/tests/xpathret.py b/python/tests/xpathret.py
index 11c8b32..8517c42 100755
--- a/python/tests/xpathret.py
+++ b/python/tests/xpathret.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 import sys
 import libxml2
 
diff --git a/python/types.c b/python/types.c
index 75213dd..5efeef9 100644
--- a/python/types.c
+++ b/python/types.c
@@ -78,14 +78,12 @@
 
 FILE *
 libxml_PyFileGet(PyObject *f) {
-    int flags;
     FILE *res;
     const char *mode;
-
     int fd = PyObject_AsFileDescriptor(f);
-    intptr_t w_fh = -1;
 
 #ifdef _WIN32
+    intptr_t w_fh = -1;
     HMODULE hntdll = NULL;
     IO_STATUS_BLOCK status_block;
     FILE_ACCESS_INFORMATION ai;
@@ -113,8 +111,9 @@
 
     if (hntdll == NULL)
         return(NULL);
-
+XML_IGNORE_FPTR_CAST_WARNINGS
     NtQueryInformationFile = (t_NtQueryInformationFile)GetProcAddress(hntdll, "NtQueryInformationFile");
+XML_POP_WARNINGS
 
     if (NtQueryInformationFile != NULL &&
         (NtQueryInformationFile((HANDLE)w_fh,
@@ -130,23 +129,24 @@
             if (ai.AccessFlags & FILE_APPEND_DATA)
                 is_append = TRUE;
 
-            if (is_write && is_read)
-                if (is_append)
-                    mode = "a+";
-                else
-                    mode = "rw";
-
-            if (!is_write && is_read)
+            if (is_write) {
+                if (is_read) {
+                    if (is_append)
+                        mode = "a+";
+                    else
+                        mode = "rw";
+                } else {
+                    if (is_append)
+                        mode = "a";
+                    else
+                        mode = "w";
+                }
+            } else {
                 if (is_append)
                     mode = "r+";
                 else
                     mode = "r";
-
-            if (is_write && !is_read)
-                if (is_append)
-                    mode = "a";
-                else
-                    mode = "w";
+            }
         }
 
     FreeLibrary(hntdll);
@@ -154,31 +154,47 @@
     if (!is_write && !is_read) /* also happens if we did not load or run NtQueryInformationFile() successfully */
         return(NULL);
 #else
+    int flags;
+
     /*
-     * Get the flags on the fd to understand how it was opened
+     * macOS returns O_RDWR for standard streams, but fails to write to
+     * stdout or stderr when opened with fdopen(dup_fd, "rw").
      */
-    flags = fcntl(fd, F_GETFL, 0);
-    switch (flags & O_ACCMODE) {
-        case O_RDWR:
-	    if (flags & O_APPEND)
-	        mode = "a+";
-	    else
-	        mode = "rw";
-	    break;
-        case O_RDONLY:
-	    if (flags & O_APPEND)
-	        mode = "r+";
-	    else
-	        mode = "r";
-	    break;
-	case O_WRONLY:
-	    if (flags & O_APPEND)
-	        mode = "a";
-	    else
-	        mode = "w";
-	    break;
-	default:
-	    return(NULL);
+    switch (fd) {
+        case STDIN_FILENO:
+            mode = "r";
+            break;
+        case STDOUT_FILENO:
+        case STDERR_FILENO:
+            mode = "w";
+            break;
+        default:
+            /*
+             * Get the flags on the fd to understand how it was opened
+             */
+            flags = fcntl(fd, F_GETFL, 0);
+            switch (flags & O_ACCMODE) {
+                case O_RDWR:
+                    if (flags & O_APPEND)
+                        mode = "a+";
+                    else
+                        mode = "rw";
+                    break;
+                case O_RDONLY:
+                    if (flags & O_APPEND)
+                        mode = "r+";
+                    else
+                        mode = "r";
+                    break;
+                case O_WRONLY:
+                    if (flags & O_APPEND)
+                        mode = "a";
+                    else
+                        mode = "w";
+                    break;
+                default:
+                    return(NULL);
+            }
     }
 #endif
 
@@ -603,6 +619,7 @@
         case XPATH_STRING:
 	    ret = PY_IMPORT_STRING((char *) obj->stringval);
             break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
         case XPATH_POINT:
         {
             PyObject *node;
@@ -704,6 +721,7 @@
             }
             break;
         }
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
         default:
 #ifdef DEBUG
             printf("Unable to convert XPath object type %d\n", obj->type);
diff --git a/regressions.py b/regressions.py
deleted file mode 100755
index 0e813c2..0000000
--- a/regressions.py
+++ /dev/null
@@ -1,350 +0,0 @@
-#!/usr/bin/python -u
-import glob, os, string, sys, thread, time
-# import difflib
-import libxml2
-
-###
-#
-# This is a "Work in Progress" attempt at a python script to run the
-# various regression tests.  The rationale for this is that it should be
-# possible to run this on most major platforms, including those (such as
-# Windows) which don't support gnu Make.
-#
-# The script is driven by a parameter file which defines the various tests
-# to be run, together with the unique settings for each of these tests.  A
-# script for Linux is included (regressions.xml), with comments indicating
-# the significance of the various parameters.  To run the tests under Windows,
-# edit regressions.xml and remove the comment around the default parameter
-# "<execpath>" (i.e. make it point to the location of the binary executables).
-#
-# Note that this current version requires the Python bindings for libxml2 to
-# have been previously installed and accessible
-#
-# See Copyright for the status of this software.
-# William Brack (wbrack@mmm.com.hk)
-#
-###
-defaultParams = {}	# will be used as a dictionary to hold the parsed params
-
-# This routine is used for comparing the expected stdout / stdin with the results.
-# The expected data has already been read in; the result is a file descriptor.
-# Within the two sets of data, lines may begin with a path string.  If so, the
-# code "relativises" it by removing the path component.  The first argument is a
-# list already read in by a separate thread; the second is a file descriptor.
-# The two 'base' arguments are to let me "relativise" the results files, allowing
-# the script to be run from any directory.
-def compFiles(res, expected, base1, base2):
-    l1 = len(base1)
-    exp = expected.readlines()
-    expected.close()
-    # the "relativisation" is done here
-    for i in range(len(res)):
-        j = string.find(res[i],base1)
-        if (j == 0) or ((j == 2) and (res[i][0:2] == './')):
-            col = string.find(res[i],':')
-            if col > 0:
-                start = string.rfind(res[i][:col], '/')
-                if start > 0:
-                    res[i] = res[i][start+1:]
-
-    for i in range(len(exp)):
-        j = string.find(exp[i],base2)
-        if (j == 0) or ((j == 2) and (exp[i][0:2] == './')):
-            col = string.find(exp[i],':')
-            if col > 0:
-                start = string.rfind(exp[i][:col], '/')
-                if start > 0:
-                    exp[i] = exp[i][start+1:]
-
-    ret = 0
-    # ideally we would like to use difflib functions here to do a
-    # nice comparison of the two sets.  Unfortunately, during testing
-    # (using python 2.3.3 and 2.3.4) the following code went into
-    # a dead loop under windows.  I'll pursue this later.
-#    diff = difflib.ndiff(res, exp)
-#    diff = list(diff)
-#    for line in diff:
-#        if line[:2] != '  ':
-#            print string.strip(line)
-#            ret = -1
-
-    # the following simple compare is fine for when the two data sets
-    # (actual result vs. expected result) are equal, which should be true for
-    # us.  Unfortunately, if the test fails it's not nice at all.
-    rl = len(res)
-    el = len(exp)
-    if el != rl:
-        print 'Length of expected is %d, result is %d' % (el, rl)
-	ret = -1
-    for i in range(min(el, rl)):
-        if string.strip(res[i]) != string.strip(exp[i]):
-            print '+:%s-:%s' % (res[i], exp[i])
-            ret = -1
-    if el > rl:
-        for i in range(rl, el):
-            print '-:%s' % exp[i]
-            ret = -1
-    elif rl > el:
-        for i in range (el, rl):
-            print '+:%s' % res[i]
-            ret = -1
-    return ret
-
-# Separate threads to handle stdout and stderr are created to run this function
-def readPfile(file, list, flag):
-    data = file.readlines()	# no call by reference, so I cheat
-    for l in data:
-        list.append(l)
-    file.close()
-    flag.append('ok')
-
-# This routine runs the test program (e.g. xmllint)
-def runOneTest(testDescription, filename, inbase, errbase):
-    if 'execpath' in testDescription:
-        dir = testDescription['execpath'] + '/'
-    else:
-        dir = ''
-    cmd = os.path.abspath(dir + testDescription['testprog'])
-    if 'flag' in testDescription:
-        for f in string.split(testDescription['flag']):
-            cmd += ' ' + f
-    if 'stdin' not in testDescription:
-        cmd += ' ' + inbase + filename
-    if 'extarg' in testDescription:
-        cmd += ' ' + testDescription['extarg']
-
-    noResult = 0
-    expout = None
-    if 'resext' in testDescription:
-        if testDescription['resext'] == 'None':
-            noResult = 1
-        else:
-            ext = '.' + testDescription['resext']
-    else:
-        ext = ''
-    if not noResult:
-        try:
-            fname = errbase + filename + ext
-            expout = open(fname, 'rt')
-        except:
-            print "Can't open result file %s - bypassing test" % fname
-            return
-
-    noErrors = 0
-    if 'reserrext' in testDescription:
-        if testDescription['reserrext'] == 'None':
-            noErrors = 1
-        else:
-            if len(testDescription['reserrext'])>0:
-                ext = '.' + testDescription['reserrext']
-            else:
-                ext = ''
-    else:
-        ext = ''
-    if not noErrors:
-        try:
-            fname = errbase + filename + ext
-            experr = open(fname, 'rt')
-        except:
-            experr = None
-    else:
-        experr = None
-
-    pin, pout, perr = os.popen3(cmd)
-    if 'stdin' in testDescription:
-        infile = open(inbase + filename, 'rt')
-        pin.writelines(infile.readlines())
-        infile.close()
-        pin.close()
-
-    # popen is great fun, but can lead to the old "deadly embrace", because
-    # synchronizing the writing (by the task being run) of stdout and stderr
-    # with respect to the reading (by this task) is basically impossible.  I
-    # tried several ways to cheat, but the only way I have found which works
-    # is to do a *very* elementary multi-threading approach.  We can only hope
-    # that Python threads are implemented on the target system (it's okay for
-    # Linux and Windows)
-
-    th1Flag = []	# flags to show when threads finish
-    th2Flag = []
-    outfile = []	# lists to contain the pipe data
-    errfile = []
-    th1 = thread.start_new_thread(readPfile, (pout, outfile, th1Flag))
-    th2 = thread.start_new_thread(readPfile, (perr, errfile, th2Flag))
-    while (len(th1Flag)==0) or (len(th2Flag)==0):
-        time.sleep(0.001)
-    if not noResult:
-        ret = compFiles(outfile, expout, inbase, 'test/')
-        if ret != 0:
-            print 'trouble with %s' % cmd
-    else:
-        if len(outfile) != 0:
-            for l in outfile:
-                print l
-            print 'trouble with %s' % cmd
-    if experr != None:
-        ret = compFiles(errfile, experr, inbase, 'test/')
-        if ret != 0:
-            print 'trouble with %s' % cmd
-    else:
-        if not noErrors:
-            if len(errfile) != 0:
-                for l in errfile:
-                    print l
-                print 'trouble with %s' % cmd
-
-    if 'stdin' not in testDescription:
-        pin.close()
-
-# This routine is called by the parameter decoding routine whenever the end of a
-# 'test' section is encountered.  Depending upon file globbing, a large number of
-# individual tests may be run.
-def runTest(description):
-    testDescription = defaultParams.copy()		# set defaults
-    testDescription.update(description)			# override with current ent
-    if 'testname' in testDescription:
-        print "## %s" % testDescription['testname']
-    if not 'file' in testDescription:
-        print "No file specified - can't run this test!"
-        return
-    # Set up the source and results directory paths from the decoded params
-    dir = ''
-    if 'srcdir' in testDescription:
-        dir += testDescription['srcdir'] + '/'
-    if 'srcsub' in testDescription:
-        dir += testDescription['srcsub'] + '/'
-
-    rdir = ''
-    if 'resdir' in testDescription:
-        rdir += testDescription['resdir'] + '/'
-    if 'ressub' in testDescription:
-        rdir += testDescription['ressub'] + '/'
-
-    testFiles = glob.glob(os.path.abspath(dir + testDescription['file']))
-    if testFiles == []:
-        print "No files result from '%s'" % testDescription['file']
-        return
-
-    # Some test programs just don't work (yet).  For now we exclude them.
-    count = 0
-    excl = []
-    if 'exclfile' in testDescription:
-        for f in string.split(testDescription['exclfile']):
-            glb = glob.glob(dir + f)
-            for g in glb:
-                excl.append(os.path.abspath(g))
-
-    # Run the specified test program
-    for f in testFiles:
-        if not os.path.isdir(f):
-            if f not in excl:
-                count = count + 1
-                runOneTest(testDescription, os.path.basename(f), dir, rdir)
-
-#
-# The following classes are used with the xmlreader interface to interpret the
-# parameter file.  Once a test section has been identified, runTest is called
-# with a dictionary containing the parsed results of the interpretation.
-#
-
-class testDefaults:
-    curText = ''	# accumulates text content of parameter
-
-    def addToDict(self, key):
-        txt = string.strip(self.curText)
-#        if txt == '':
-#            return
-        if key not in defaultParams:
-            defaultParams[key] = txt
-        else:
-            defaultParams[key] += ' ' + txt
-        
-    def processNode(self, reader, curClass):
-        if reader.Depth() == 2:
-            if reader.NodeType() == 1:
-                self.curText = ''	# clear the working variable
-            elif reader.NodeType() == 15:
-                if (reader.Name() != '#text') and (reader.Name() != '#comment'):
-                    self.addToDict(reader.Name())
-        elif reader.Depth() == 3:
-            if reader.Name() == '#text':
-                self.curText += reader.Value()
-
-        elif reader.NodeType() == 15:	# end of element
-            print "Defaults have been set to:"
-            for k in defaultParams.keys():
-                print "   %s : '%s'" % (k, defaultParams[k])
-            curClass = rootClass()
-        return curClass
-
-
-class testClass:
-    def __init__(self):
-        self.testParams = {}	# start with an empty set of params
-        self.curText = ''	# and empty text
-
-    def addToDict(self, key):
-        data = string.strip(self.curText)
-        if key not in self.testParams:
-            self.testParams[key] = data
-        else:
-            if self.testParams[key] != '':
-                data = ' ' + data
-            self.testParams[key] += data
-
-    def processNode(self, reader, curClass):
-        if reader.Depth() == 2:
-            if reader.NodeType() == 1:
-                self.curText = ''	# clear the working variable
-                if reader.Name() not in self.testParams:
-                    self.testParams[reader.Name()] = ''
-            elif reader.NodeType() == 15:
-                if (reader.Name() != '#text') and (reader.Name() != '#comment'):
-                    self.addToDict(reader.Name())
-        elif reader.Depth() == 3:
-            if reader.Name() == '#text':
-                self.curText += reader.Value()
-
-        elif reader.NodeType() == 15:	# end of element
-            runTest(self.testParams)
-            curClass = rootClass()
-        return curClass
-
-
-class rootClass:
-    def processNode(self, reader, curClass):
-        if reader.Depth() == 0:
-            return curClass
-        if reader.Depth() != 1:
-            print "Unexpected junk: Level %d, type %d, name %s" % (
-                  reader.Depth(), reader.NodeType(), reader.Name())
-            return curClass
-        if reader.Name() == 'test':
-            curClass = testClass()
-            curClass.testParams = {}
-        elif reader.Name() == 'defaults':
-            curClass = testDefaults()
-        return curClass
-
-def streamFile(filename):
-    try:
-        reader = libxml2.newTextReaderFilename(filename)
-    except:
-        print "unable to open %s" % (filename)
-        return
-
-    curClass = rootClass()
-    ret = reader.Read()
-    while ret == 1:
-        curClass = curClass.processNode(reader, curClass)
-        ret = reader.Read()
-
-    if ret != 0:
-        print "%s : failed to parse" % (filename)
-
-# OK, we're finished with all the routines.  Now for the main program:-
-if len(sys.argv) != 2:
-    print "Usage: maketest {filename}"
-    sys.exit(-1)
-
-streamFile(sys.argv[1])
diff --git a/regressions.xml b/regressions.xml
deleted file mode 100644
index c78838a..0000000
--- a/regressions.xml
+++ /dev/null
@@ -1,226 +0,0 @@
-<RegressionTests>
-<!--
-  Within the following test descriptions the possible elements are:
-    Element Name    Description
-     testname       Plain text name of test
-     execpath       pathname for test program(s)
-     testprog       program to run for the test 
-     flag           flags for program (may have several)
-     file           filename of input file (several, or glob ok)
-     exclfile       filename to be excuded (several, or glob ok)
-     srcdir         global source directory for input file(s)
-     srcsub         subdirectory for input
-     resdir         directory for results file(s)
-     ressub         subdirectory for results    
-     resext         extension for expected result
-     reserrext      extension for error result ('None' => no chk)
-     extarg         additional argument for command
-     errexcl        string to ignore when checking diffs
-     stdin          pipe input file to stdin
--->
-
-<!--
-  Note:  These defaults are set to run from the root of the build directory
--->
-  <defaults>
-    <testname>noname</testname>
-<!--    <execpath>win32/bin.msvc</execpath> -->
-    <execpath>.</execpath>
-    <testprog>xmllint</testprog>
-    <srcdir>test</srcdir>
-    <resdir>result</resdir>
-    <file>*.xml</file>
-    <reserrext>err</reserrext>
-    <errexcl/>
-  </defaults>
-
-  <test>
-    <testname>XML Regression Tests</testname>
-    <errexcl>failed to load external entity</errexcl>
-  </test>
-  <test>
-    <testname>XML Entity Subst Regression Tests</testname>
-    <ressub>noent</ressub>
-    <flag>--noent</flag>
-  </test>
-  <test>
-    <testname>XML Namespaces Regression Tests</testname>
-    <srcsub>namespaces</srcsub>
-    <ressub>namespaces</ressub>
-  </test>
-  <test>
-    <testname>xml:id Regression Tests</testname>
-    <testprog>testXPath</testprog>
-    <srcsub>xmlid</srcsub>
-    <ressub>xmlid</ressub>
-    <flag>-i</flag>
-    <file>id_*.xml</file>
-    <extarg>"id('bar')"</extarg>
-  </test>
-  <test>
-    <testname>Error Cases Regression Tests</testname>
-    <srcsub>errors</srcsub>
-    <ressub>errors</ressub>
-  </test>
-  <test>
-    <testname>Error Cases Stream Regression Tests</testname>
-    <srcsub>errors</srcsub>
-    <ressub>errors</ressub>
-    <reserrext>str</reserrext>
-    <flag>--stream</flag>
-  </test>
-  <test>
-    <testname>Reader Regression Tests</testname>
-    <resext>rdr</resext>
-    <flag>--nonet</flag>
-    <flag>--debug</flag>
-    <flag>--stream</flag>
-    <file>*</file>
-    <reserrext>None</reserrext>
-  </test>
-  <test>
-    <testname>Walker Regression Tests</testname>
-    <resext>rdr</resext>
-    <flag>--nonet</flag>
-    <flag>--debug</flag>
-    <flag>--walker</flag>
-    <file>*</file>
-    <reserrext>None</reserrext>
-  </test>
-  <test>
-    <testname>Reader Entities Substitution Regression Tests</testname>
-    <resext>rde</resext>
-    <flag>--nonet</flag>
-    <flag>--debug</flag>
-    <flag>--stream</flag>
-    <flag>--noent</flag>
-    <file>*</file>
-    <reserrext>None</reserrext>
-  </test>
-  <test>
-    <testname>SAX Callbacks Regression Tests</testname>
-    <testprog>testSAX</testprog>
-    <resext>sax</resext>
-    <file>*</file>
-    <exclfile>utf16*.xml</exclfile>
-    <reserrext>None</reserrext>
-  </test>
-  <test>
-    <testname>XML Push Regression Tests</testname>
-    <flag>--push</flag>
-    <errexcl>failed to load external entity</errexcl>
-  </test>
-  <test>
-    <testname>HTML Regression Tests</testname>
-    <testprog>testHTML</testprog>
-    <srcsub>HTML</srcsub>
-    <ressub>HTML</ressub>
-    <file>*</file>
-    <exclfile>wired.html</exclfile>
-  </test>
-  <test>
-    <testname>Push HTML Regression Tests</testname>
-    <testprog>testHTML</testprog>
-    <flag>--push</flag>
-    <srcsub>HTML</srcsub>
-    <ressub>HTML</ressub>
-    <file>*</file>
-  </test>
-  <test>
-    <testname>HTML SAX Regression Tests</testname>
-    <testprog>testHTML</testprog>
-    <flag>--sax</flag>
-    <srcsub>HTML</srcsub>
-    <ressub>HTML</ressub>
-    <resext>sax</resext>
-    <reserrext>None</reserrext>
-    <file>*</file>
-  </test>
-  <test>
-    <testname>Push HTML SAX Regression Tests</testname>
-    <testprog>testHTML</testprog>
-    <flag>--sax</flag>
-    <flag>--push</flag>
-    <srcsub>HTML</srcsub>
-    <ressub>HTML</ressub>
-    <resext>sax</resext>
-    <reserrext>None</reserrext>
-    <file>*</file>
-  </test>
-  <test>
-    <testname>Valid Documents Regression Tests</testname>
-    <srcsub>VCM</srcsub>
-    <ressub>VCM</ressub>
-    <resext>None</resext>
-    <reserrext>None</reserrext>
-    <file>*</file>
-    <flag>--valid</flag>
-    <flag>--noout</flag>
-    <flag>--nowarning</flag>
-  </test>
-  <test>
-    <testname>Validity Checking Regression Tests</testname>
-    <srcsub>VC</srcsub>
-    <ressub>VC</ressub>
-    <resext>None</resext>
-    <reserrext/>
-    <file>*</file>
-    <flag>--valid</flag>
-    <flag>--noout</flag>
-  </test>
-  <test>
-    <testname>General Documents Valid Regression Tests</testname>
-    <srcsub>valid</srcsub>
-    <ressub>valid</ressub>
-    <file>*</file>
-    <flag>--valid</flag>
-  </test>
-  <test>
-    <testname>URI Module Regression Tests (1)</testname>
-    <testprog>testURI</testprog>
-    <srcsub>URI</srcsub>
-    <stdin/>
-    <ressub>URI</ressub>
-    <reserrext>None</reserrext>
-    <file>*.data</file>
-    <!-- Note - the following arg needs to use ", not ' -->
-    <flag>-base "http://foo.com/path/to/index.html?orig#help"</flag>
-  </test>
-  <test>
-    <testname>URI Module Regression Tests (2)</testname>
-    <testprog>testURI</testprog>
-    <srcsub>URI</srcsub>
-    <stdin/>
-    <ressub>URI</ressub>
-    <reserrext>None</reserrext>
-    <file>*.uri</file>
-  </test>
-  <test>
-    <testname>XPath Regression Tests (1)</testname>
-    <testprog>testXPath</testprog>
-    <srcsub>XPath/expr</srcsub>
-    <ressub>XPath/expr</ressub>
-    <file>*</file>
-    <flag>-f</flag>
-    <flag>--expr</flag>
-  </test>
-  <test>
-    <testname>XInclude Regression Tests</testname>
-    <srcsub>XInclude/docs</srcsub>
-    <ressub>XInclude</ressub>
-    <file>*</file>
-    <flag>--nowarning</flag>
-    <flag>--xinclude</flag>
-  </test>
-  <test>
-    <testname>XInclude xmlReader Regression Tests</testname>
-    <srcsub>XInclude/docs</srcsub>
-    <ressub>XInclude</ressub>
-    <resext>rdr</resext>
-    <file>*</file>
-    <flag>--nowarning</flag>
-    <flag>--xinclude</flag>
-    <flag>--stream</flag>
-    <flag>--debug</flag>
-  </test>
-</RegressionTests>
diff --git a/relaxng.c b/relaxng.c
index 312a2c8..acf536a 100644
--- a/relaxng.c
+++ b/relaxng.c
@@ -34,6 +34,10 @@
 #include <libxml/xmlregexp.h>
 #include <libxml/xmlschemastypes.h>
 
+#include "private/error.h"
+#include "private/regexp.h"
+#include "private/string.h"
+
 /*
  * The Relax-NG namespace
  */
@@ -2849,6 +2853,11 @@
 /**
  * xmlRelaxNGCleanupTypes:
  *
+ * DEPRECATED: This function will be made private. Call xmlCleanupParser
+ * to free global state but see the warnings there. xmlCleanupParser
+ * should be only called once at program exit. In most cases, you don't
+ * have call cleanup functions at all.
+ *
  * Cleanup the default Schemas type library associated to RelaxNG
  */
 void
@@ -2870,10 +2879,6 @@
  *									*
  ************************************************************************/
 
-/* from automata.c but not exported */
-void xmlAutomataSetFlags(xmlAutomataPtr am, int flags);
-
-
 static int xmlRelaxNGTryCompile(xmlRelaxNGParserCtxtPtr ctxt,
                                 xmlRelaxNGDefinePtr def);
 
@@ -7228,7 +7233,7 @@
 			                         BAD_CAST "name", NULL);
                             if (node != NULL) {
                                 xmlAddPrevSibling(cur->children, node);
-                                text = xmlNewText(name);
+                                text = xmlNewDocText(node->doc, name);
                                 xmlAddChild(node, text);
                                 text = node;
                             }
@@ -7982,12 +7987,7 @@
             ctxt->errNo = XML_RELAXNG_ERR_INTERNAL;
         return;
     }
-    if ((ctxt == NULL) || (define == NULL)) {
-        fprintf(stderr, "callback on %s missing info\n", token);
-        if ((ctxt != NULL) && (ctxt->errNo == XML_RELAXNG_OK))
-            ctxt->errNo = XML_RELAXNG_ERR_INTERNAL;
-        return;
-    } else if (define->type != XML_RELAXNG_ELEMENT) {
+    if (define->type != XML_RELAXNG_ELEMENT) {
         fprintf(stderr, "callback on %s define is not element\n", token);
         if (ctxt->errNo == XML_RELAXNG_OK)
             ctxt->errNo = XML_RELAXNG_ERR_INTERNAL;
@@ -8583,7 +8583,7 @@
         tmp++;
     len = tmp - str;
 
-    ret = (xmlChar *) xmlMallocAtomic((len + 1) * sizeof(xmlChar));
+    ret = (xmlChar *) xmlMallocAtomic(len + 1);
     if (ret == NULL) {
         xmlRngVErrMemory(ctxt, "validating\n");
         return (NULL);
diff --git a/result/HTML/53867.html.err b/result/HTML/53867.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/53867.html.err
+++ /dev/null
diff --git a/result/HTML/Down.html.err b/result/HTML/Down.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/Down.html.err
+++ /dev/null
diff --git a/result/HTML/attrents.html.err b/result/HTML/attrents.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/attrents.html.err
+++ /dev/null
diff --git a/result/HTML/autoclose.html.err b/result/HTML/autoclose.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/autoclose.html.err
+++ /dev/null
diff --git a/result/HTML/autoclose2.html.err b/result/HTML/autoclose2.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/autoclose2.html.err
+++ /dev/null
diff --git a/result/HTML/autoclose3.html.err b/result/HTML/autoclose3.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/autoclose3.html.err
+++ /dev/null
diff --git a/result/HTML/cf_128.html.err b/result/HTML/cf_128.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/cf_128.html.err
+++ /dev/null
diff --git a/result/HTML/chunked_attr.html.err b/result/HTML/chunked_attr.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/chunked_attr.html.err
+++ /dev/null
diff --git a/result/HTML/comments3.html b/result/HTML/comments3.html
new file mode 100644
index 0000000..da965ce
--- /dev/null
+++ b/result/HTML/comments3.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html>
+  <body>
+    <div>
+      <h3>
+        <a href="https://html.spec.whatwg.org/multipage/parsing.html#parse-error-abrupt-closing-of-empty-comment">
+          Abruptly closed comment
+        </a>
+      </h3>
+      <div>
+        <!---->the previous node should be an empty comment, and this should be a text node--&gt;
+      </div>
+      <div>
+        <!---->the previous node should be an empty comment, and this should be a text node--&gt;
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/result/HTML/comments3.html.err b/result/HTML/comments3.html.err
new file mode 100644
index 0000000..60e927b
--- /dev/null
+++ b/result/HTML/comments3.html.err
@@ -0,0 +1,6 @@
+./test/HTML/comments3.html:10: HTML parser error : Comment abruptly ended
+        <!-->the previous node should be an empty comment, and this should be a 
+            ^
+./test/HTML/comments3.html:13: HTML parser error : Comment abruptly ended
+        <!--->the previous node should be an empty comment, and this should be a
+             ^
diff --git a/result/HTML/comments3.html.sax b/result/HTML/comments3.html.sax
new file mode 100644
index 0000000..ab783f9
--- /dev/null
+++ b/result/HTML/comments3.html.sax
@@ -0,0 +1,49 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.characters(
+  , 3)
+SAX.startElement(body)
+SAX.characters(
+    , 5)
+SAX.startElement(div)
+SAX.characters(
+      , 7)
+SAX.startElement(h3)
+SAX.characters(
+        , 9)
+SAX.startElement(a, href='https://html.spec.whatwg.org/multipage/parsing.html#parse-error-abrupt-closing-of-empty-comment')
+SAX.characters(
+          Abruptly closed com, 43)
+SAX.endElement(a)
+SAX.characters(
+      , 7)
+SAX.endElement(h3)
+SAX.characters(
+      , 7)
+SAX.startElement(div)
+SAX.characters(
+        , 9)
+SAX.error: Comment abruptly endedSAX.comment()
+SAX.characters(the previous node should be an, 86)
+SAX.endElement(div)
+SAX.characters(
+      , 7)
+SAX.startElement(div)
+SAX.characters(
+        , 9)
+SAX.error: Comment abruptly endedSAX.comment()
+SAX.characters(the previous node should be an, 86)
+SAX.endElement(div)
+SAX.characters(
+    , 5)
+SAX.endElement(div)
+SAX.characters(
+  , 3)
+SAX.endElement(body)
+SAX.characters(
+, 1)
+SAX.endElement(html)
+SAX.characters(
+, 1)
+SAX.endDocument()
diff --git a/result/HTML/doc3.htm b/result/HTML/doc3.htm
index 2cc68b9..8e45a5a 100644
--- a/result/HTML/doc3.htm
+++ b/result/HTML/doc3.htm
@@ -47,7 +47,7 @@
     <td valign="top" width="31"><a href="http://bp6.gamesquad.net/"><img align="bottom" border="0" height="74" src="doc3_files/logo.gif" width="252"></a></td>

     <td align="left" bgcolor="#000000">
 <img height="15" src="doc3_files/spacer.gif" width="15"><!-- START GAMESQUAD.NET IFRAME RICH MEDIA CODE --> <!-- © 2000 GameSquad.net All Rights Reserved. --><iframe border="0" frameborder="no" height="60" marginheight="0" marginwidth="0" scrolling="no" src="doc3_files/adcycle.htm" width="468">
-<a href="http://ads.gamesquad.net/addclick.exe/adclick.cgi?REGION=game%7Ctech%7Cent&amp;id=1" target="_top"><img src="http://ads.gamesquad.net/addclick.exe/adcycle.cgi?group=52&amp;media=1&amp;id=1" width="468" height="60" border="0" alt="GSN ROS Ad"></a>
+<a href="http://ads.gamesquad.net/addclick.exe/adclick.cgi?REGION=game|tech|ent&amp;id=1" target="_top"><img src="http://ads.gamesquad.net/addclick.exe/adcycle.cgi?group=52&amp;media=1&amp;id=1" width="468" height="60" border="0" alt="GSN ROS Ad"></a>
 </iframe><!-- END GAMESQUAD.NET IFRAME RICH MEDIA CODE --><br><img height="15" src="doc3_files/spacer.gif" width="400"> </td>
 </tr>

   <tr>

diff --git a/result/HTML/entities2.html.err b/result/HTML/entities2.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/entities2.html.err
+++ /dev/null
diff --git a/result/HTML/html5_enc.html.err b/result/HTML/html5_enc.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/html5_enc.html.err
+++ /dev/null
diff --git a/result/HTML/issue318.html.err b/result/HTML/issue318.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/issue318.html.err
+++ /dev/null
diff --git a/result/HTML/issue380.html b/result/HTML/issue380.html
new file mode 100644
index 0000000..1fcf496
--- /dev/null
+++ b/result/HTML/issue380.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html>
+  <body>
+    ...
+  </body>
+</html>
diff --git a/result/HTML/issue380.html.err b/result/HTML/issue380.html.err
new file mode 100644
index 0000000..efbb8bd
--- /dev/null
+++ b/result/HTML/issue380.html.err
@@ -0,0 +1,6 @@
+./test/HTML/issue380.html:3: HTML parser error : Incorrectly opened comment
+    <![if !supportLists]>...<![endif]>
+    ^
+./test/HTML/issue380.html:3: HTML parser error : Incorrectly opened comment
+    <![if !supportLists]>...<![endif]>
+                            ^
diff --git a/result/HTML/issue380.html.sax b/result/HTML/issue380.html.sax
new file mode 100644
index 0000000..5df2b50
--- /dev/null
+++ b/result/HTML/issue380.html.sax
@@ -0,0 +1,20 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.characters(
+  , 3)
+SAX.startElement(body)
+SAX.characters(
+    , 5)
+SAX.error: Incorrectly opened comment
+SAX.characters(..., 3)
+SAX.error: Incorrectly opened comment
+SAX.characters(
+  , 3)
+SAX.endElement(body)
+SAX.characters(
+, 1)
+SAX.endElement(html)
+SAX.characters(
+, 1)
+SAX.endDocument()
diff --git a/result/HTML/liclose.html.err b/result/HTML/liclose.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/liclose.html.err
+++ /dev/null
diff --git a/result/HTML/lt.html.err b/result/HTML/lt.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/lt.html.err
+++ /dev/null
diff --git a/result/HTML/noscript.html.err b/result/HTML/noscript.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/noscript.html.err
+++ /dev/null
diff --git a/result/HTML/pre.html.err b/result/HTML/pre.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/pre.html.err
+++ /dev/null
diff --git a/result/HTML/python.html.err b/result/HTML/python.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/python.html.err
+++ /dev/null
diff --git a/result/HTML/reg1.html.err b/result/HTML/reg1.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/reg1.html.err
+++ /dev/null
diff --git a/result/HTML/reg2.html.err b/result/HTML/reg2.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/reg2.html.err
+++ /dev/null
diff --git a/result/HTML/reg3.html.err b/result/HTML/reg3.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/reg3.html.err
+++ /dev/null
diff --git a/result/HTML/repeat.html.err b/result/HTML/repeat.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/repeat.html.err
+++ /dev/null
diff --git a/result/HTML/script.html.err b/result/HTML/script.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/script.html.err
+++ /dev/null
diff --git a/result/HTML/script2.html.err b/result/HTML/script2.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/script2.html.err
+++ /dev/null
diff --git a/result/HTML/test2.html.err b/result/HTML/test2.html.err
deleted file mode 100644
index e69de29..0000000
--- a/result/HTML/test2.html.err
+++ /dev/null
diff --git a/result/HTML/utf8bug.html b/result/HTML/utf8bug.html
index 66a498a..b497aa6 100644
--- a/result/HTML/utf8bug.html
+++ b/result/HTML/utf8bug.html
@@ -43,7 +43,7 @@
 درباره من </a></span> <span class="Item">
 <a href="RSS2.asp">
 
-<img src="showimage.aspx?path=Files_Upload%5C192.png&amp;width=%&gt;" border="0">
+<img src="showimage.aspx?path=Files_Upload\192.png&amp;width=%&gt;" border="0">
 RSS </a></span> <span class="Item">
 <a href="">
  </a></span>
@@ -117,8 +117,8 @@
 			
 			<div class="Image">
 				
-				<a href="showimage.aspx?path=Files_Upload%5C302.JPG&amp;Width=" rel="lightbox" title="شهير بلاگ">
-				<img src="showimage.aspx?path=Files_Upload%5C302.JPG&amp;Width=220" align="left" border="1">
+				<a href="showimage.aspx?path=Files_Upload\302.JPG&amp;Width=" rel="lightbox" title="شهير بلاگ">
+				<img src="showimage.aspx?path=Files_Upload\302.JPG&amp;Width=220" align="left" border="1">
 				</a>
 </div>
 			<strong><font size="4"><font color="#0000ff">عکس</font> <font color="#0000ff">محصول هنر یکی از همکاران است. روی آن کلیک کند.</font></font></strong><s1>  </s1>
diff --git a/result/HTML/utf8bug.html.err b/result/HTML/utf8bug.html.err
index a6ef047..b51aa95 100644
--- a/result/HTML/utf8bug.html.err
+++ b/result/HTML/utf8bug.html.err
@@ -11,5 +11,5 @@
 ز همکاران است. روی آن کلیک کند.</FONT></FONT></STRONG><S1
                                                                                ^
 ./test/HTML/utf8bug.html:177: HTML parser error : htmlParseEntityRef: expecting ';'
-§ÛŒÙ† پاسخ را برای نویسنده مقاله رجانیوز copy&paste
+ین پاسخ را برای نویسنده مقاله رجانیوز copy&paste 
                                                                                ^
diff --git a/result/HTML/wired.html b/result/HTML/wired.html
index 3da303f..916630d 100644
--- a/result/HTML/wired.html
+++ b/result/HTML/wired.html
@@ -234,7 +234,7 @@
     <td bgcolor="#99FF99"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000"><a href="http://redirect.wired.com/redir/51/http://stocks.wired.com/">Today's Summary</a></font></td>
   </tr>
   <tr> 
-    <td bgcolor="#CCFFCC"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000"><a href="http://r.wired.com/r/hb_fin_r_wn_top/http://stocks.wired.com/stocks_indexes_detail.asp?Symbol=%24WIRED">Wired Index</a> | <a href="http://redirect.wired.com/redir/52/http://stocks.wired.com/stocks_indexes.asp%20">All Indexes</a></font></td>
+    <td bgcolor="#CCFFCC"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000"><a href="http://r.wired.com/r/hb_fin_r_wn_top/http://stocks.wired.com/stocks_indexes_detail.asp?Symbol=$WIRED">Wired Index</a> | <a href="http://redirect.wired.com/redir/52/http://stocks.wired.com/stocks_indexes.asp%20">All Indexes</a></font></td>
   </tr>
   <tr> 
     <td bgcolor="#99FF99"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000"><a href="http://redirect.wired.com/redir/53/http://stocks.wired.com/stocks_portfolios.asp">Portfolios</a></font></td>
diff --git a/result/SVG/4rects.xml b/result/SVG/4rects.xml
index dfaa02d..7676351 100644
--- a/result/SVG/4rects.xml
+++ b/result/SVG/4rects.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>Four separate rectangles

+  <desc>Four separate rectangles
   </desc>
-  <rect width="20" height="60"/>
-  <rect width="30" height="70"/>
-  <rect width="40" height="80"/>
-  <rect width="50" height="90"/>
+    <rect width="20" height="60"/>
+    <rect width="30" height="70"/>
+    <rect width="40" height="80"/>
+    <rect width="50" height="90"/>
 </svg>
diff --git a/result/SVG/a-valid.xml b/result/SVG/a-valid.xml
index 8f4a204..7693cde 100644
--- a/result/SVG/a-valid.xml
+++ b/result/SVG/a-valid.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>This valid svg document draws a triangle which is a hyperlink

+  <desc>This valid svg document draws a triangle which is a hyperlink
   </desc>
   <a href="http://www.w3.org">
     <p d="M 0 0 L 200 0 L 100 200 Z"/>
diff --git a/result/SVG/a-wf.xml b/result/SVG/a-wf.xml
index 7facfd5..69ffacb 100644
--- a/result/SVG/a-wf.xml
+++ b/result/SVG/a-wf.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" standalone="yes"?>
 <svg xmlns="http://www.w3.org/Graphics/SVG/svg-19990412.dtd" width="4in" height="3in">
-  <desc>This well formed svg document draws a triangle which is a hyperlink

+  <desc>This well formed svg document draws a triangle which is a hyperlink
   </desc>
   <a xml:link="simple" show="replace" actuate="user" href="http://www.w3.org">
     <p d="M 0 0 L 200 0 L 100 200 Z"/>
diff --git a/result/SVG/bike-errors.xml b/result/SVG/bike-errors.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/SVG/bike-errors.xml
+++ /dev/null
diff --git a/result/SVG/bike.xml b/result/SVG/bike.xml
index 410869d..2ce3060 100644
--- a/result/SVG/bike.xml
+++ b/result/SVG/bike.xml
@@ -1,44 +1,40 @@
 <?xml version="1.0"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
+<!--DOCTYPE svg SYSTEM "svg-19990412.dtd"-->
 <svg width="4in" height="3in">
-  <title>Kona Lavadome mountain bike

+  <title>Kona Lavadome mountain bike
   </title>
-  <desc>This picture shows a mountain bike, a human-propelled, 

-  multi-terrain vehicle. While it can be succesfully used on moorland, 

-  forest, roads, and large hills it is not actually suitable for going 

-  up mountains.

+  <desc>This picture shows a mountain bike, a human-propelled, 
+  multi-terrain vehicle. While it can be succesfully used on moorland, 
+  forest, roads, and large hills it is not actually suitable for going 
+  up mountains.
   </desc>
   <g id="bike">
     <defs>
-      <symbol id="spoke">
-        <desc>14/12 gauge double butted spoke</desc>
-<!-- the path data goes here -->
-      </symbol>
-      <symbol id="hub">
-        <desc>black anodised low torsion hub</desc>
-<!--the path data goes here -->
-      </symbol>
-      <symbol id="rim">
-        <desc>twin wall, eyeletted rim</desc>
-<!-- the path data goes here-->
-      </symbol>
-      <symbol id="cogs">
-        <desc>8 speed, wide ratio gearing</desc>
-<!--the path data goes here -->
-      </symbol>
-      <symbol id="lacing">
-        <desc>double cross lacing of 32 spokes</desc>
-      </symbol>
+     <symbol id="spoke"><desc>14/12 gauge double butted spoke</desc>
+     <!-- the path data goes here --></symbol>
+     
+     <symbol id="hub"><desc>black anodised low torsion hub</desc>
+     <!--the path data goes here --></symbol>
+     
+     <symbol id="rim"><desc>twin wall, eyeletted rim</desc>
+     <!-- the path data goes here--></symbol>
+     
+     <symbol id="cogs"><desc>8 speed, wide ratio gearing</desc>
+     <!--the path data goes here --></symbol>
+     
+     <symbol id="lacing"><desc>double cross lacing of 32 spokes</desc>
+     </symbol>
     </defs>
-<!-- the overall bike drawing goes here -->
+    <!-- the overall bike drawing goes here -->
     <g id="frontwheel">
-      <title>Front wheel</title>
-      <desc>The front wheel provides grip, steering and some shock absorption</desc>
-      <use href="id(lacing)" style="rotation: 20deg; fillcolor: black"/>
+    <title>Front wheel</title>
+    <desc>The front wheel provides grip, steering and some shock absorption</desc>
+    <use href="id(lacing)" style="rotation: 20deg; fillcolor: black"/>
     </g>
-    <g id="backwheel"/>
-    <g id="frame">
-<!-- and so on -->
+    <g id="backwheel">
+    </g>
+    <g id="frame"><!-- and so on -->
     </g>
   </g>
 </svg>
diff --git a/result/SVG/circle.xml b/result/SVG/circle.xml
index ae7d545..fc1e781 100644
--- a/result/SVG/circle.xml
+++ b/result/SVG/circle.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>This is a blue circle with a red outline

+  <desc>This is a blue circle with a red outline
   </desc>
   <g>
     <circle style="fill: blue; stroke: red" cx="200" cy="200" r="100"/>
diff --git a/result/SVG/defs.xml b/result/SVG/defs.xml
index 78c6beb..92121b8 100644
--- a/result/SVG/defs.xml
+++ b/result/SVG/defs.xml
@@ -7,8 +7,8 @@
       <gradientstop offset="30%" color="#39F"/>
     </lineargradient>
   </defs>
-  <desc>Defining things for later use

+  <desc>Defining things for later use
   </desc>
-<!-- SVG elements in here would reference/use 

+  <!-- SVG elements in here would reference/use 
        the elements defined in the <defs> -->
 </svg>
diff --git a/result/SVG/desc.xml b/result/SVG/desc.xml
index 6fde966..9ef710f 100644
--- a/result/SVG/desc.xml
+++ b/result/SVG/desc.xml
@@ -1,14 +1,14 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg SYSTEM "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <g>
-    <title>

-    Company sales by region

+<g>
+  <title>
+    Company sales by region
   </title>
-    <desc>

-    This is a bar chart which shows 

-    company sales by region.

+  <desc>
+    This is a bar chart which shows 
+    company sales by region.
   </desc>
-<!-- Bar chart defined as vector data -->
-  </g>
+  <!-- Bar chart defined as vector data -->
+</g>
 </svg>
diff --git a/result/SVG/ellipse.xml b/result/SVG/ellipse.xml
index 1f72346..dc65d3e 100644
--- a/result/SVG/ellipse.xml
+++ b/result/SVG/ellipse.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>This is an ellipse, axis aligned and centered on the origin

+  <desc>This is an ellipse, axis aligned and centered on the origin
   </desc>
   <g>
     <ellipse major="85" minor="45"/>
diff --git a/result/SVG/flower2.xml b/result/SVG/flower2.xml
index f6cd2ba..f714f43 100644
--- a/result/SVG/flower2.xml
+++ b/result/SVG/flower2.xml
@@ -2,9 +2,9 @@
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="800px" height="800px">
   <desc>This sample SVG file draws a flower</desc>
-  <g style="transform: matrix(1 0 0 -1 -25.88 798.60);       stroke: #000; stroke-width: 1">
-    <path style="fill: #1A5466" d="m 242.33 684.19            C 346.44 757.48 271.45 647.38 213.17 641.37            C 271.45 647.38 383.43 575.21 256.71 613.30            C 383.43 575.21 251.04 565.90 205.23 609.68            C 251.04 565.90 265.13 432.88 210.71 557.95            C 265.13 432.88 175.04 531.37 175.67 596.26            C 175.04 531.37 80.63  437.67 138.96 559.82            C  80.63 437.67 100.67 569.80 146.75 611.20            C 100.67 569.80 -31.14 585.98 95.49  617.49            C -31.14 585.98 83.94  652.25 140.24 643.26            C 83.94  652.25 13.98  766.12 113.04 687.55            C 13.98  766.12 137.45 716.63 161.05 668.30            C 137.45 716.63 182.02 842.45 178.39 717.23            C 182.02 842.45 220.90 714.46 193.51 667.46            C 220.90 714.46 346.44 757.48 242.33 684.19 z"/>
-    <path style="fill: #34AACD" d="M 235.33 691.19            C 339.44 764.48 264.45 654.38 206.17 648.37            C 264.45 654.38 376.43 582.21 249.71 620.30            C 376.43 582.21 244.04 572.90 198.23 616.68            C 244.04 572.90 258.13 439.88 203.71 564.95            C 258.13 439.88 168.04 538.37 168.67 603.26            C 168.04 538.37 73.63  444.67 131.96 566.82            C 73.63  444.67 93.67  576.80 139.75 618.20            C 93.67  576.80 -38.14 592.98  88.49 624.49            C -38.14 592.98 76.94  659.25 133.24 650.26            C 76.94  659.25 6.98   773.12 106.04 694.55            C 6.98   773.12 130.45 723.63 154.05 675.30            C 130.45 723.63 175.02 849.45 171.39 724.23            C 175.02 849.45 213.90 721.46 186.51 674.46            C 213.90 721.46 339.44 764.48 235.33 691.19 z"/>
-    <path style="fill: #F881BF" d="M 199.44 634.43            C 199.44 622.16 189.19 612.21 176.54 612.21            C 163.89 612.21 153.63 622.16 153.63 634.43            C 153.63 646.71 163.89 656.66 176.54 656.66            C 189.19 656.66 199.44 646.71 199.44 634.43 z"/>
+  <g style="transform: matrix(1 0 0 -1 -25.88 798.60);      stroke: #000; stroke-width: 1">
+   <path style="fill: #1A5466" d="m 242.33 684.19           C 346.44 757.48 271.45 647.38 213.17 641.37           C 271.45 647.38 383.43 575.21 256.71 613.30           C 383.43 575.21 251.04 565.90 205.23 609.68           C 251.04 565.90 265.13 432.88 210.71 557.95           C 265.13 432.88 175.04 531.37 175.67 596.26           C 175.04 531.37 80.63  437.67 138.96 559.82           C  80.63 437.67 100.67 569.80 146.75 611.20           C 100.67 569.80 -31.14 585.98 95.49  617.49           C -31.14 585.98 83.94  652.25 140.24 643.26           C 83.94  652.25 13.98  766.12 113.04 687.55           C 13.98  766.12 137.45 716.63 161.05 668.30           C 137.45 716.63 182.02 842.45 178.39 717.23           C 182.02 842.45 220.90 714.46 193.51 667.46           C 220.90 714.46 346.44 757.48 242.33 684.19 z"/>
+   <path style="fill: #34AACD" d="M 235.33 691.19           C 339.44 764.48 264.45 654.38 206.17 648.37           C 264.45 654.38 376.43 582.21 249.71 620.30           C 376.43 582.21 244.04 572.90 198.23 616.68           C 244.04 572.90 258.13 439.88 203.71 564.95           C 258.13 439.88 168.04 538.37 168.67 603.26           C 168.04 538.37 73.63  444.67 131.96 566.82           C 73.63  444.67 93.67  576.80 139.75 618.20           C 93.67  576.80 -38.14 592.98  88.49 624.49           C -38.14 592.98 76.94  659.25 133.24 650.26           C 76.94  659.25 6.98   773.12 106.04 694.55           C 6.98   773.12 130.45 723.63 154.05 675.30           C 130.45 723.63 175.02 849.45 171.39 724.23           C 175.02 849.45 213.90 721.46 186.51 674.46           C 213.90 721.46 339.44 764.48 235.33 691.19 z"/>
+   <path style="fill: #F881BF" d="M 199.44 634.43           C 199.44 622.16 189.19 612.21 176.54 612.21           C 163.89 612.21 153.63 622.16 153.63 634.43           C 153.63 646.71 163.89 656.66 176.54 656.66           C 189.19 656.66 199.44 646.71 199.44 634.43 z"/>
   </g>
 </svg>
diff --git a/result/SVG/gradient.xml b/result/SVG/gradient.xml
index 4570b76..c572cd8 100644
--- a/result/SVG/gradient.xml
+++ b/result/SVG/gradient.xml
@@ -1,12 +1,12 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>Gradient example

+  <desc>Gradient example
   </desc>
   <g>
     <defs>
       <lineargradient id="MyGradient">
-<!-- Define linear gradient here -->
+        <!-- Define linear gradient here -->
         <gradientstop offset="0%" color="#F60"/>
         <gradientstop offset="70%" color="#FF6"/>
       </lineargradient>
diff --git a/result/SVG/group01.xml b/result/SVG/group01.xml
index f39ad88..b5a8d0f 100644
--- a/result/SVG/group01.xml
+++ b/result/SVG/group01.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>Two groups, each of two rectangles

+  <desc>Two groups, each of two rectangles
   </desc>
   <g style="fillcolor:red">
     <rect x="100" y="100" width="100" height="100"/>
diff --git a/result/SVG/group02.xml b/result/SVG/group02.xml
index 85e1f52..0454295 100644
--- a/result/SVG/group02.xml
+++ b/result/SVG/group02.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>Two named groups

+  <desc>Two named groups
   </desc>
   <g id="OBJECT1">
     <rect x="100" y="100" width="100" height="100"/>
diff --git a/result/SVG/group03.xml b/result/SVG/group03.xml
index 20d75ad..0fcb5bc 100644
--- a/result/SVG/group03.xml
+++ b/result/SVG/group03.xml
@@ -1,11 +1,12 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>Groups can nest

+  <desc>Groups can nest
   </desc>
   <g>
-    <g>
-      <g/>
-    </g>
-  </g>
+     <g>
+       <g>
+       </g>
+     </g>
+   </g>
 </svg>
diff --git a/result/SVG/image-valid.xml b/result/SVG/image-valid.xml
index d45d229..cfb7547 100644
--- a/result/SVG/image-valid.xml
+++ b/result/SVG/image-valid.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>This graphic links to an external image

+  <desc>This graphic links to an external image
   </desc>
   <image x="200" y="200" style="width: 100px; height: 100px" href="myimage.png">
     <title>My image</title>
diff --git a/result/SVG/image-wf.xml b/result/SVG/image-wf.xml
index e11a12f..ee1acac 100644
--- a/result/SVG/image-wf.xml
+++ b/result/SVG/image-wf.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" standalone="yes"?>
 <svg xmlns="http://www.w3.org/Graphics/SVG/svg-19990412.dtd" width="4in" height="3in">
-  <desc>This links to an external image

+  <desc>This links to an external image
   </desc>
-  <image xml:link="simple" x="200" y="200" style="width: 100px; height: 100px" show="embed" actuate="auto" href="myimage.png">
+  <image x="200" y="200" style="width: 100px; height: 100px" xml:link="simple" show="embed" actuate="auto" href="myimage.png">
     <title>My image</title>
   </image>
 </svg>
diff --git a/result/SVG/lin-gradient.xml b/result/SVG/lin-gradient.xml
index 645bdce..f49f203 100644
--- a/result/SVG/lin-gradient.xml
+++ b/result/SVG/lin-gradient.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>Linear gradient example

+  <desc>Linear gradient example
   </desc>
   <g>
     <defs>
diff --git a/result/SVG/marker.xml b/result/SVG/marker.xml
index 1b41714..88f3be5 100644
--- a/result/SVG/marker.xml
+++ b/result/SVG/marker.xml
@@ -4,19 +4,21 @@
   <defs>
     <symbol id="Triangle" min-x="0" min-y="0" max-x="100" max-y="100" ref-x="0" ref-y="50">
       <path d="M 0 0 L 0 100 L 100 50 z"/>
-    </symbol>
-  </defs>
-  <desc>An double-headed arrow example using markers

+     </symbol>
+   </defs>
+  <desc>An double-headed arrow example using markers
   </desc>
   <path d="M0 0">
-<!-- Place an arrowhead rotated 180 degrees at the 

+    <!-- Place an arrowhead rotated 180 degrees at the 
          beginning of the path -->
     <marker href="#Triangle" width="200" height="200" style="text-transform: rotate(180)"/>
     <data d="M 2000 2000"/>
-<!-- Turn off markers in the middle of the path -->
+
+    <!-- Turn off markers in the middle of the path -->
     <marker href=""/>
     <data d="L 4000 2000 L 4000 4000"/>
-<!-- Place an arrowhead at the end of the path-->
+
+    <!-- Place an arrowhead at the end of the path-->
     <marker href="#Triangle" width="200" height="200"/>
     <data d="L 6000 4000"/>
   </path>
diff --git a/result/SVG/mask.xml b/result/SVG/mask.xml
index 1204e06..3a2357c 100644
--- a/result/SVG/mask.xml
+++ b/result/SVG/mask.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>Example of using a mask

+  <desc>Example of using a mask
   </desc>
   <g>
     <defs>
diff --git a/result/SVG/mathswitch.xml b/result/SVG/mathswitch.xml
index b291384..7f9b704 100644
--- a/result/SVG/mathswitch.xml
+++ b/result/SVG/mathswitch.xml
@@ -1,26 +1,29 @@
 <?xml version="1.0" standalone="yes"?>
 <svg xmlns="http://www.w3.org/Graphics/SVG/svg-19990412.dtd" width="4in" height="3in">
-  <desc>This example uses the switch element to provide a 

-  fallback graphical representation of an equation, if 

-  MathML is not supported.

+  <desc>This example uses the switch element to provide a 
+  fallback graphical representation of an equation, if 
+  MathML is not supported.
   </desc>
-<!-- The <switch> element will process the first child element

+  <!-- The <switch> element will process the first child element
        whose testing attributes evaluate to true.-->
   <switch>
-<!-- Process the MathML if the system-required attribute

-         evaluates to true (i.e., the user agent supports MathML

+
+    <!-- Process the MathML if the system-required attribute
+         evaluates to true (i.e., the user agent supports MathML
          embedded within SVG). -->
     <foreignobject system-required="http://www.w3.org/TR/REC-MathML-19980407" width="100" height="50">
-<!-- MathML content goes here -->
+      <!-- MathML content goes here -->
     </foreignobject>
-<!-- Else, process the following alternate SVG.

-         Note that there are no testing attributes on the <g> element.

-         If no testing attributes are provided, it is as if there

+
+    <!-- Else, process the following alternate SVG.
+         Note that there are no testing attributes on the <g> element.
+         If no testing attributes are provided, it is as if there
          were testing attributes and they evaluated to true.-->
     <g>
-<!-- Draw a red rectangle with a text string on top. -->
+      <!-- Draw a red rectangle with a text string on top. -->
       <rect style="fill: red"/>
       <text>Formula goes here</text>
     </g>
+
   </switch>
 </svg>
diff --git a/result/SVG/parentns.xml b/result/SVG/parentns.xml
index 5b2ed46..a42053c 100644
--- a/result/SVG/parentns.xml
+++ b/result/SVG/parentns.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0"?>
 <ABC xmlns="http://parent.name.space" xmlns:svg="http://www.w3.org/Graphics/SVG/1.0">
-<!-- document in the parent namespace -->
+  <!-- document in the parent namespace -->
   <svg:svg width="40%" height="40%">
-    <svg:rectangle width="43.6" height="31.5"/>
-<!-- svg graphic continues -->
-  </svg:svg>
-<!-- document in parent namespace continues -->
+     <svg:rectangle width="43.6" height="31.5"/>
+     <!-- svg graphic continues -->
+   </svg:svg>
+   <!-- document in parent namespace continues -->
 </ABC>
diff --git a/result/SVG/path01.xml b/result/SVG/path01.xml
index 646940b..c64bf5b 100644
--- a/result/SVG/path01.xml
+++ b/result/SVG/path01.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" standalone="yes"?>
 <svg xmlns="http://www.w3.org/Graphics/SVG/svg-19990412.dtd" width="4in" height="3in">
-  <path d="M 100 100 L 140 100 L 120 140 z"/>
+<path d="M 100 100 L 140 100 L 120 140 z"/>
 </svg>
diff --git a/result/SVG/patternfill.xml b/result/SVG/patternfill.xml
index c520ae8..d6c0685 100644
--- a/result/SVG/patternfill.xml
+++ b/result/SVG/patternfill.xml
@@ -3,7 +3,7 @@
 <svg width="4in" height="3in">
   <defs>
     <symbol id="fourstar">
-<!-- Define the pattern using standard graphics elements

+      <!-- Define the pattern using standard graphics elements
            such as paths, images, text and shapes -->
     </symbol>
   </defs>
diff --git a/result/SVG/polyline.xml b/result/SVG/polyline.xml
index 9fa4071..6fc9903 100644
--- a/result/SVG/polyline.xml
+++ b/result/SVG/polyline.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>A sample polyline, and equivalent path

+  <desc>A sample polyline, and equivalent path
   </desc>
   <polyline verts="20,20 50,100 200,80 70,300"/>
   <path d="M20,20 L50,100 L200,80 L70,300"/>
diff --git a/result/SVG/private.xml b/result/SVG/private.xml
index edfe366..d06034f 100644
--- a/result/SVG/private.xml
+++ b/result/SVG/private.xml
@@ -7,12 +7,12 @@
         <myapp:piece label="Eastern Region" value="2.53"/>
         <myapp:piece label="Southern Region" value="3.89"/>
         <myapp:piece label="Western Region" value="2.04"/>
-<!-- Other private data goes here -->
+        <!-- Other private data goes here -->
       </myapp:piechart>
     </private>
   </defs>
-  <desc>This chart includes private data in another namespace

+    <desc>This chart includes private data in another namespace
   </desc>
-<!-- In here would be the actual graphics elements which

+  <!-- In here would be the actual graphics elements which
        draw the pie chart -->
 </svg>
diff --git a/result/SVG/rad-gradient.xml b/result/SVG/rad-gradient.xml
index d5aadf0..503cf9d 100644
--- a/result/SVG/rad-gradient.xml
+++ b/result/SVG/rad-gradient.xml
@@ -1,14 +1,14 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>Radial gradient example with three gradient stops

+  <desc>Radial gradient example with three gradient stops
   </desc>
   <g>
     <defs>
       <radialgradient id="MyGradient">
-        <gradientstop offset="0%" color="white"/>
-        <gradientstop offset="50%" color="red"/>
-        <gradientstop offset="100%" color="black"/>
+         <gradientstop offset="0%" color="white"/>
+         <gradientstop offset="50%" color="red"/>
+         <gradientstop offset="100%" color="black"/>
       </radialgradient>
     </defs>
     <circle style="fill: url(#MyGradient)" r="42"/>
diff --git a/result/SVG/rectangle.xml b/result/SVG/rectangle.xml
index 919cd23..2c2a92d 100644
--- a/result/SVG/rectangle.xml
+++ b/result/SVG/rectangle.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>This is a rectangle

+  <desc>This is a rectangle
   </desc>
   <g>
     <rect x="20" y="30" width="100" height="80"/>
diff --git a/result/SVG/richdesc.xml b/result/SVG/richdesc.xml
index eba1f05..698e40d 100644
--- a/result/SVG/richdesc.xml
+++ b/result/SVG/richdesc.xml
@@ -1,11 +1,11 @@
 <?xml version="1.0" standalone="yes"?>
 <svg xmlns="http://www.w3.org/Graphics/SVG/svg-19990412.dtd" width="4in" height="3in">
-  <desc xmlns:mydoc="http://foo.org/mydoc">
-    <mydoc:title>This is an example SVG file</mydoc:title>
-    <mydoc:para>The global description uses markup from the 

+   <desc xmlns:mydoc="http://foo.org/mydoc">
+      <mydoc:title>This is an example SVG file</mydoc:title>
+      <mydoc:para>The global description uses markup from the 
         <mydoc:emph>mydoc</mydoc:emph> namespace.</mydoc:para>
-  </desc>
-  <g>
-<!-- the picture goes here -->
-  </g>
+   </desc>
+   <g>
+   <!-- the picture goes here -->
+   </g>
 </svg>
diff --git a/result/SVG/script.xml b/result/SVG/script.xml
index c98af0f..e5af1e9 100644
--- a/result/SVG/script.xml
+++ b/result/SVG/script.xml
@@ -2,10 +2,9 @@
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
   <defs>
-    <script>
-<![CDATA[

-      /* Beep on mouseclick */

-      MouseClickHandler() { beep(); }

+    <script><![CDATA[
+      /* Beep on mouseclick */
+      MouseClickHandler() { beep(); }
      ]]>
     </script>
   </defs>
diff --git a/result/SVG/structure01.xml b/result/SVG/structure01.xml
index 46af5e8..9cc9b5f 100644
--- a/result/SVG/structure01.xml
+++ b/result/SVG/structure01.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" standalone="yes"?>
 <parent xmlns="http://someplace.org" xmlns:svg="http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
-<!-- parent stuff here -->
-  <svg:svg width="5cm" height="8cm">
-    <svg:ellipse major="200" minor="130"/>
-  </svg:svg>
-<!-- ... -->
+   <!-- parent stuff here -->
+   <svg:svg width="5cm" height="8cm">
+      <svg:ellipse major="200" minor="130"/>
+   </svg:svg>
+   <!-- ... -->
 </parent>
diff --git a/result/SVG/style.xml b/result/SVG/style.xml
index 7176912..ef59bf9 100644
--- a/result/SVG/style.xml
+++ b/result/SVG/style.xml
@@ -2,8 +2,7 @@
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
   <defs>
-    <style>
-<![CDATA[

+    <style><![CDATA[
       .TitleText { font-size: 16; font-family: Helvetica } ]]>
     </style>
   </defs>
diff --git a/result/SVG/switch.xml b/result/SVG/switch.xml
index 87eb364..c7bfd60 100644
--- a/result/SVG/switch.xml
+++ b/result/SVG/switch.xml
@@ -1,15 +1,17 @@
 <?xml version="1.0" standalone="yes"?>
 <smil>
   <body>
-<!-- The SMIL <switch> element will process the

-         first child element which tests true and skip

+    <!-- The SMIL <switch> element will process the
+         first child element which tests true and skip
          past all others. -->
     <switch>
-<!-- The system-required attribute tests to see if

-           the user agent supports SVG. If true, then

+
+      <!-- The system-required attribute tests to see if
+           the user agent supports SVG. If true, then
            render the file drawing.svg. -->
       <ref system-required="http://www.w3.org/Graphics/SVG/svg-19990412.dtd" type="image/svg" src="drawing.svg"/>
-<!-- Else, render the alternate image. -->
+
+      <!-- Else, render the alternate image. -->
       <img src="alternate_image.jpg"/>
     </switch>
   </body>
diff --git a/result/SVG/symbol-use.xml b/result/SVG/symbol-use.xml
index a9b395c..ad05933 100644
--- a/result/SVG/symbol-use.xml
+++ b/result/SVG/symbol-use.xml
@@ -3,20 +3,25 @@
 <svg width="4in" height="3in">
   <defs>
     <symbol id="TemplateObject01">
-<!-- symbol definition here -->
+      <!-- symbol definition here -->
     </symbol>
   </defs>
-  <desc>Examples of inline and referenced content

+
+  <desc>Examples of inline and referenced content
   </desc>
-<!-- <g> with inline content -->
+  
+  <!-- <g> with inline content -->
   <g>
-<!-- Inline content goes here -->
+    <!-- Inline content goes here -->
   </g>
-<!-- referenced content -->
+
+  <!-- referenced content -->
   <use href="#TemplateObject01"/>
-<!-- <g> with both referenced and inline content -->
+
+  <!-- <g> with both referenced and inline content -->
   <g>
     <use href="#TemplateObject01"/>
-<!-- Inline content goes here -->
+    <!-- Inline content goes here -->
   </g>
+
 </svg>
diff --git a/result/SVG/template.xml b/result/SVG/template.xml
index 607cd91..a452896 100644
--- a/result/SVG/template.xml
+++ b/result/SVG/template.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <svg xmlns="http://www.w3.org/Graphics/SVG/svg-19990412.dtd" width="4in" height="3in">
-  <desc>This well formed svg document contains a hyperlink

+  <desc>This well formed svg document contains a hyperlink
   </desc>
   <a xml:link="simple" show="replace" actuate="user" href="http://www.w3.org">
     <p d="M 0 0 L 200 0 L 100 200 Z"/>
diff --git a/result/SVG/text02.xml b/result/SVG/text02.xml
index 9656ea5..6dac61f 100644
--- a/result/SVG/text02.xml
+++ b/result/SVG/text02.xml
@@ -10,16 +10,7 @@
       <t href="#T4"/>
     </textflow>
   </defs>
-  <text x="100" y="100" id="T1">
-    <tf href="#TF1">123</tf>
-  </text>
-  <text x="100" y="200" id="T2">
-    <tf href="#TF2">ABC</tf>
-  </text>
-  <text x="150" y="100" id="T3">
-    <tf href="#TF1">456</tf>
-  </text>
-  <text x="150" y="200" id="T4">
-    <tf href="#TF2">DEF</tf>
-  </text>
-</svg>
+  <text x="100" y="100" id="T1"><tf href="#TF1">123</tf></text>
+  <text x="100" y="200" id="T2"><tf href="#TF2">ABC</tf></text>
+  <text x="150" y="100" id="T3"><tf href="#TF1">456</tf></text>
+  <text x="150" y="200" id="T4"><tf href="#TF2">DEF</tf></text></svg>
diff --git a/result/SVG/toap01.xml b/result/SVG/toap01.xml
index fac024c..9aa70f8 100644
--- a/result/SVG/toap01.xml
+++ b/result/SVG/toap01.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>Simple text on a path

+  <desc>Simple text on a path
   </desc>
   <path id="MyPath" style="visibility: hidden" d="M 100 100 C 125 125 175 125 200 100"/>
   <text><textpath href="#MyPath"/>Text on path</text>
diff --git a/result/SVG/toap02.xml b/result/SVG/toap02.xml
index c62aa04..dbd8bcd 100644
--- a/result/SVG/toap02.xml
+++ b/result/SVG/toap02.xml
@@ -9,8 +9,10 @@
       <path d="M 50 0 L 250 200 L 250 0 z"/>
     </symbol>
   </defs>
-  <desc>General graphics on a path

+  
+  <desc>General graphics on a path
   </desc>
+  
   <text>
     <textpath href="#MyPath"/>
     <use href="#Triangle1"/>
@@ -24,4 +26,5 @@
     <use href="#Triangle1"/>
     <use href="#Triangle2"/>
   </text>
+
 </svg>
diff --git a/result/SVG/transform.xml b/result/SVG/transform.xml
index db00dbd..c5fd8c9 100644
--- a/result/SVG/transform.xml
+++ b/result/SVG/transform.xml
@@ -1,20 +1,25 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>Demonstration of coordinate transforms

+  <desc>Demonstration of coordinate transforms
   </desc>
-<!-- The following two text elements will both draw with a 

+  <!-- The following two text elements will both draw with a 
         font height of 12 pixels -->
-  <text style="font-size: 12">This prints 12 pixels high.</text>
-  <text style="font-size: 12px">This prints 12 pixels high.</text>
-<!-- Now scale the coordinate system by 2. -->
-  <g style="transform: scale(2)">
-<!-- The following text will actually draw 24 pixels high

-           because each unit in the new coordinate system equals

+   <text style="font-size: 12">This prints 12 pixels high.</text>
+   <text style="font-size: 12px">This prints 12 pixels high.</text>
+
+   <!-- Now scale the coordinate system by 2. -->
+   <g style="transform: scale(2)">
+
+      <!-- The following text will actually draw 24 pixels high
+           because each unit in the new coordinate system equals
            2 units in the previous coordinate system. -->
-    <text style="font-size: 12">This prints 24 pixels high.</text>
-<!-- The following text will actually still draw 12 pixels high

+      <text style="font-size: 12">This prints 24 pixels high.</text>
+
+      <!-- The following text will actually still draw 12 pixels high
            because the CSS unit specifier has been provided. -->
-    <text style="font-size: 12px">This prints 12 pixels high.</text>
-  </g>
+      <text style="font-size: 12px">This prints 12 pixels high.</text>
+
+   </g>
+
 </svg>
diff --git a/result/SVG/trivial.xml b/result/SVG/trivial.xml
index db12583..e30fd29 100644
--- a/result/SVG/trivial.xml
+++ b/result/SVG/trivial.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" standalone="yes"?>
 <svg xmlns="http://www.w3.org/Graphics/SVG/svg-19990412.dtd" width="4in" height="3in">
-<!-- Insert drawing elements here -->
+ <!-- Insert drawing elements here -->
 </svg>
diff --git a/result/SVG/twin-gradients.xml b/result/SVG/twin-gradients.xml
index 5ce25cc..bd30810 100644
--- a/result/SVG/twin-gradients.xml
+++ b/result/SVG/twin-gradients.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>Gradients apply to leaf nodes

+  <desc>Gradients apply to leaf nodes
   </desc>
   <g>
     <defs>
@@ -13,6 +13,6 @@
     <g style="fill: url(#MyGradient)">
       <rect width="20" height="15.8"/>
       <rect width="35" height="8"/>
-    </g>
+   </g>
   </g>
 </svg>
diff --git a/result/SVG/v-template.xml b/result/SVG/v-template.xml
index 20d19fc..0d09808 100644
--- a/result/SVG/v-template.xml
+++ b/result/SVG/v-template.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc/>
-  <g/>
+  <desc>
+  </desc>
+  <g>
+  </g>
 </svg>
diff --git a/result/SVG/viewport-nest.xml b/result/SVG/viewport-nest.xml
index b6a19a7..879e21e 100644
--- a/result/SVG/viewport-nest.xml
+++ b/result/SVG/viewport-nest.xml
@@ -1,12 +1,12 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="4in" height="3in">
-  <desc>This SVG drawing embeds another one,

-    thus establishing a new viewport

+  <desc>This SVG drawing embeds another one,
+    thus establishing a new viewport
   </desc>
-<!-- The following statement establishing a new viewport

+  <!-- The following statement establishing a new viewport
        and renders SVG drawing B into that viewport -->
   <svg style="left: 25%; top: 25%" width="50%" height="50%">
-<!-- drawing B goes here -->
+     <!-- drawing B goes here -->
   </svg>
 </svg>
diff --git a/result/SVG/viewport-transform.xml b/result/SVG/viewport-transform.xml
index 3a95fbd..77a7547 100644
--- a/result/SVG/viewport-transform.xml
+++ b/result/SVG/viewport-transform.xml
@@ -1,36 +1,44 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG April 1999//EN" "http://www.w3.org/Graphics/SVG/svg-19990412.dtd">
 <svg width="300px" height="3oopx">
-  <desc>Transformation with establishment of a new viewport

+  <desc>Transformation with establishment of a new viewport
   </desc>
-<!-- The following two text elements will both draw with a 

+  <!-- The following two text elements will both draw with a 
         font height of 12 pixels -->
-  <text style="font-size: 12">This prints 12 pixels high.</text>
-  <text style="font-size: 12px">This prints 12 pixels high.</text>
-<!-- Now scale the coordinate system by 2. -->
-  <g style="transform: scale(2)">
-<!-- The following text will actually draw 24 pixels high

-           because each unit in the new coordinate system equals

+   <text style="font-size: 12">This prints 12 pixels high.</text>
+   <text style="font-size: 12px">This prints 12 pixels high.</text>
+
+   <!-- Now scale the coordinate system by 2. -->
+   <g style="transform: scale(2)">
+
+      <!-- The following text will actually draw 24 pixels high
+           because each unit in the new coordinate system equals
            2 units in the previous coordinate system. -->
-    <text style="font-size: 12">This prints 24 pixels high.</text>
-<!-- The following text will actually still draw 12 pixels high

+      <text style="font-size: 12">This prints 24 pixels high.</text>
+
+      <!-- The following text will actually still draw 12 pixels high
            because the CSS unit specifier has been provided. -->
-    <text style="font-size: 12px">This prints 12 pixels high.</text>
-  </g>
-<!-- This time, scale the coordinate system by 3. -->
-  <g style="transform: scale(3)">
-<!-- Establish a new viewport and thus change the meaning of

+      <text style="font-size: 12px">This prints 12 pixels high.</text>
+   </g>
+
+   <!-- This time, scale the coordinate system by 3. -->
+   <g style="transform: scale(3)">
+
+      <!-- Establish a new viewport and thus change the meaning of
            some CSS unit specifiers. -->
-    <svg style="left:0; top:0; right:100; bottom:100" width="100%" height="100%">
-<!-- The following two text elements will both draw with a 

-              font height of 36 screen pixels. The first text element

-              defines its height in user coordinates, which have been

-              scaled by 3. The second text element defines its height

-              in CSS px units, which have been redefined to be three times

-              as big as screen pixels due the <svg> element establishing

+      <svg style="left:0; top:0; right:100; bottom:100" width="100%" height="100%">
+
+         <!-- The following two text elements will both draw with a 
+              font height of 36 screen pixels. The first text element
+              defines its height in user coordinates, which have been
+              scaled by 3. The second text element defines its height
+              in CSS px units, which have been redefined to be three times
+              as big as screen pixels due the <svg> element establishing
               a new viewport. -->
-      <text style="font-size: 12">This prints 36 pixels high.</text>
-      <text style="font-size: 12px">This prints 36 pixels high.</text>
-    </svg>
-  </g>
+         <text style="font-size: 12">This prints 36 pixels high.</text>
+         <text style="font-size: 12px">This prints 36 pixels high.</text>
+
+      </svg>
+   </g>
+
 </svg>
diff --git a/result/SVG/viewport.xml b/result/SVG/viewport.xml
index 22d1ad3..98e15aa 100644
--- a/result/SVG/viewport.xml
+++ b/result/SVG/viewport.xml
@@ -1,8 +1,10 @@
 <?xml version="1.0" standalone="yes"?>
 <parent xmlns="http://some.url">
-<!-- SVG graphic -->
-  <svg xmlns="http://www.w3.org/Graphics/SVG/svg-19990412.dtd" width="100px" height="200px">
-    <path d="M100,100 Q200,400,300,100"/>
-<!-- rest of SVG graphic would go here -->
-  </svg>
+   
+   <!-- SVG graphic -->
+   <svg xmlns="http://www.w3.org/Graphics/SVG/svg-19990412.dtd" width="100px" height="200px">
+      <path d="M100,100 Q200,400,300,100"/>
+      <!-- rest of SVG graphic would go here -->
+   </svg>   
+   
 </parent>
diff --git a/result/SVG/wf-template.xml b/result/SVG/wf-template.xml
index d30d8de..f9593c7 100644
--- a/result/SVG/wf-template.xml
+++ b/result/SVG/wf-template.xml
@@ -1,4 +1,6 @@
 <?xml version="1.0" standalone="yes"?>
 <svg xmlns="http://www.w3.org/Graphics/SVG/svg-19990412.dtd" width="4in" height="3in">
-  <desc/>
+  <desc>
+  </desc>
+
 </svg>
diff --git a/result/URI/file.uri b/result/URI/file.uri
new file mode 100644
index 0000000..8d8b7a7
--- /dev/null
+++ b/result/URI/file.uri
@@ -0,0 +1 @@
+file:///foo.txt
diff --git a/result/URI/port.uri b/result/URI/port.uri
new file mode 100644
index 0000000..4b22322
--- /dev/null
+++ b/result/URI/port.uri
@@ -0,0 +1,2 @@
+nbd://:10888
+https://example.com:12345/
diff --git a/result/URI/uri.data b/result/URI/uri.data
index f22b4db..90c7905 100644
--- a/result/URI/uri.data
+++ b/result/URI/uri.data
@@ -16,3 +16,6 @@
 http://elsewhere.com/#deep
 http://elsewhere.com/?deep
 http://elsewhere.com/?deep#deep2
+http://elsewhere.com/bar
+http://elsewhere.com:8080/bar
+http://:8080
diff --git a/result/VC/ElementValid8 b/result/VC/ElementValid8
index f1b0dad..7962630 100644
--- a/result/VC/ElementValid8
+++ b/result/VC/ElementValid8
@@ -1,3 +1,3 @@
-./test/VC/ElementValid8:7: validity error : Content model of doc is not determinist: ((a , b) | (a , c))
+./test/VC/ElementValid8:7: validity error : Content model of doc is not deterministic: ((a , b) | (a , c))
 <doc><a/><c> doc is non-deterministic </c></doc>
                                                 ^
diff --git a/result/VC/ElementValid8.rdr b/result/VC/ElementValid8.rdr
index f1b0dad..7962630 100644
--- a/result/VC/ElementValid8.rdr
+++ b/result/VC/ElementValid8.rdr
@@ -1,3 +1,3 @@
-./test/VC/ElementValid8:7: validity error : Content model of doc is not determinist: ((a , b) | (a , c))
+./test/VC/ElementValid8:7: validity error : Content model of doc is not deterministic: ((a , b) | (a , c))
 <doc><a/><c> doc is non-deterministic </c></doc>
                                                 ^
diff --git a/result/VC/NS1 b/result/VC/NS1
deleted file mode 100644
index e69de29..0000000
--- a/result/VC/NS1
+++ /dev/null
diff --git a/result/VC/NS1.rdr b/result/VC/NS1.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/VC/NS1.rdr
+++ /dev/null
diff --git a/result/XInclude/coalesce.xml b/result/XInclude/coalesce.xml
new file mode 100644
index 0000000..192015a
--- /dev/null
+++ b/result/XInclude/coalesce.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test xmlns:xi="http://www.w3.org/2001/XInclude">
+    <t1 xmlns:xi="http://www.w3.org/2001/XInclude" xml:base="../ents/coalesce1.xml">
+    start
+    
+    start
+    
+    end
+</t1>
+</test>
diff --git a/result/XInclude/coalesce.xml.rdr b/result/XInclude/coalesce.xml.rdr
new file mode 100644
index 0000000..95a32aa
--- /dev/null
+++ b/result/XInclude/coalesce.xml.rdr
@@ -0,0 +1,17 @@
+0 1 test 0 0
+1 14 #text 0 1 
+    
+1 1 t1 0 0
+2 3 #text 0 1 
+    start
+    
+2 3 #text 0 1 
+    start
+    
+2 3 #text 0 1 
+    end
+
+1 15 t1 0 0
+1 14 #text 0 1 
+
+0 15 test 0 0
diff --git a/result/XInclude/docids.xml.err b/result/XInclude/docids.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/XInclude/docids.xml.err
+++ /dev/null
diff --git a/result/XInclude/fallback.xml.err b/result/XInclude/fallback.xml.err
index e69de29..68b5cc0 100644
--- a/result/XInclude/fallback.xml.err
+++ b/result/XInclude/fallback.xml.err
@@ -0,0 +1 @@
+I/O warning : failed to load external entity "test/XInclude/docs/something.xml"
diff --git a/result/XInclude/fallback2.xml.err b/result/XInclude/fallback2.xml.err
index e69de29..5a35a2b 100644
--- a/result/XInclude/fallback2.xml.err
+++ b/result/XInclude/fallback2.xml.err
@@ -0,0 +1,2 @@
+I/O warning : failed to load external entity "test/XInclude/docs/b.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/c.xml"
diff --git a/result/XInclude/fallback3.xml.err b/result/XInclude/fallback3.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/XInclude/fallback3.xml.err
+++ /dev/null
diff --git a/result/XInclude/fallback4.xml.err b/result/XInclude/fallback4.xml.err
index e69de29..2861bba 100644
--- a/result/XInclude/fallback4.xml.err
+++ b/result/XInclude/fallback4.xml.err
@@ -0,0 +1 @@
+I/O warning : failed to load external entity "test/XInclude/docs/c.xml"
diff --git a/result/XInclude/fallback5.xml.err b/result/XInclude/fallback5.xml.err
new file mode 100644
index 0000000..84dd18e
--- /dev/null
+++ b/result/XInclude/fallback5.xml.err
@@ -0,0 +1,16 @@
+I/O warning : failed to load external entity "test/XInclude/docs/a01.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a02.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a03.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a04.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a05.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a06.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a07.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a08.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a09.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a10.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a11.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a12.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a13.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a14.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a15.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/a16.xml"
diff --git a/result/XInclude/fallback6.xml.err b/result/XInclude/fallback6.xml.err
new file mode 100644
index 0000000..5a35a2b
--- /dev/null
+++ b/result/XInclude/fallback6.xml.err
@@ -0,0 +1,2 @@
+I/O warning : failed to load external entity "test/XInclude/docs/b.xml"
+I/O warning : failed to load external entity "test/XInclude/docs/c.xml"
diff --git a/result/XInclude/fallback6.xml.rdr b/result/XInclude/fallback6.xml.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/XInclude/fallback6.xml.rdr
+++ /dev/null
diff --git a/result/XInclude/fallback7.xml b/result/XInclude/fallback7.xml
new file mode 100644
index 0000000..f5d3718
--- /dev/null
+++ b/result/XInclude/fallback7.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<x xmlns:xi="http://www.w3.org/2001/XInclude">
+    <a>text</a>
+    <b>
+                <a>text</a>
+            </b>
+    
+            <b>
+                <a>text</a>
+            </b>
+        
+    <b>
+                <a>text</a>
+            </b>
+</x>
diff --git a/result/XInclude/fallback7.xml.err b/result/XInclude/fallback7.xml.err
new file mode 100644
index 0000000..828a73a
--- /dev/null
+++ b/result/XInclude/fallback7.xml.err
@@ -0,0 +1 @@
+I/O warning : failed to load external entity "test/XInclude/without-reader/404.xml"
diff --git a/result/XInclude/include.xml.err b/result/XInclude/include.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/XInclude/include.xml.err
+++ /dev/null
diff --git a/result/XInclude/invalid_char.xml.err b/result/XInclude/invalid_char.xml.err
new file mode 100644
index 0000000..c28c109
--- /dev/null
+++ b/result/XInclude/invalid_char.xml.err
@@ -0,0 +1,2 @@
+./test/XInclude/docs/invalid_char.xml:2: element include: XInclude error : test/XInclude/ents/invalid_char.txt contains invalid char
+./test/XInclude/docs/invalid_char.xml:2: element include: XInclude error : could not load test/XInclude/ents/invalid_char.txt, and no fallback was found
diff --git a/result/XInclude/invalid_char.xml.rdr b/result/XInclude/invalid_char.xml.rdr
new file mode 100644
index 0000000..1fb5774
--- /dev/null
+++ b/result/XInclude/invalid_char.xml.rdr
@@ -0,0 +1,7 @@
+0 1 x 0 0
+1 14 #text 0 1 
+   
+1 1 xinclude:include 1 0
+1 14 #text 0 1 
+
+0 15 x 0 0
diff --git a/result/XInclude/issue424-1.xml b/result/XInclude/issue424-1.xml
new file mode 100644
index 0000000..ff87b0e
--- /dev/null
+++ b/result/XInclude/issue424-1.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<x xmlns:xinclude="http://www.w3.org/2001/XInclude">
+   <p>Something</p>
+   <d><p>Something</p></d>
+   <d><p>Something</p></d>
+</x>
diff --git a/result/XInclude/issue424-2.xml b/result/XInclude/issue424-2.xml
new file mode 100644
index 0000000..ff87b0e
--- /dev/null
+++ b/result/XInclude/issue424-2.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<x xmlns:xinclude="http://www.w3.org/2001/XInclude">
+   <p>Something</p>
+   <d><p>Something</p></d>
+   <d><p>Something</p></d>
+</x>
diff --git a/result/XInclude/loop.xml.err b/result/XInclude/loop.xml.err
new file mode 100644
index 0000000..ec8534f
--- /dev/null
+++ b/result/XInclude/loop.xml.err
@@ -0,0 +1 @@
+./test/XInclude/without-reader/loop.xml:2: element include: XInclude error : inclusion loop detected
diff --git a/result/XInclude/max-recurse.xml.err b/result/XInclude/max-recurse.xml.err
new file mode 100644
index 0000000..38ff72a
--- /dev/null
+++ b/result/XInclude/max-recurse.xml.err
@@ -0,0 +1 @@
+./test/XInclude/without-reader/max-recurse.xml:42: element include: XInclude error : maximum recursion depth exceeded
diff --git a/result/XInclude/nodes.xml.err b/result/XInclude/nodes.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/XInclude/nodes.xml.err
+++ /dev/null
diff --git a/result/XInclude/nodes2.xml.err b/result/XInclude/nodes2.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/XInclude/nodes2.xml.err
+++ /dev/null
diff --git a/result/XInclude/nodes3.xml b/result/XInclude/nodes3.xml
deleted file mode 100644
index 9ab2044..0000000
--- a/result/XInclude/nodes3.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?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 -->
-   <xinclude:include href="../ents/something.xml#xpointer(//p)"/>
-</x>
diff --git a/result/XInclude/ns1.xml.err b/result/XInclude/ns1.xml.err
new file mode 100644
index 0000000..b05fffb
--- /dev/null
+++ b/result/XInclude/ns1.xml.err
@@ -0,0 +1 @@
+I/O warning : failed to load external entity "test/XInclude/without-reader/b.xml"
diff --git a/result/XInclude/ns1.xml.rdr b/result/XInclude/ns1.xml.rdr
deleted file mode 100644
index 9a3a5e7..0000000
--- a/result/XInclude/ns1.xml.rdr
+++ /dev/null
@@ -1,23 +0,0 @@
-0 1 doc 0 0
-1 14 #text 0 1 
-    
-1 1 xi:include 1 0
-1 14 #text 0 1 
-    
-1 1 elem 0 0
-2 14 #text 0 1 
-        
-2 1 ns:elem 1 0
-2 14 #text 0 1 
-    
-1 15 elem 0 0
-1 14 #text 0 1 
-    
-1 14 #text 0 1 
-            
-1 1 ns:elem 1 0
-1 14 #text 0 1 
-        
-1 14 #text 0 1 
-
-0 15 doc 0 0
diff --git a/result/XInclude/recursive.xml.err b/result/XInclude/recursive.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/XInclude/recursive.xml.err
+++ /dev/null
diff --git a/result/XInclude/red.xml b/result/XInclude/red.xml
new file mode 100644
index 0000000..87adf84
--- /dev/null
+++ b/result/XInclude/red.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<book xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <chapter>
+     <para xml:id="t100">Introduction</para>
+  </chapter>
+  <chapter>
+     <para xml:id="t100">Introduction</para>
+  </chapter>
+</book>
diff --git a/result/XInclude/red.xml.rdr b/result/XInclude/red.xml.rdr
new file mode 100644
index 0000000..de332db
--- /dev/null
+++ b/result/XInclude/red.xml.rdr
@@ -0,0 +1,26 @@
+0 1 book 0 0
+1 14 #text 0 1 
+  
+1 1 chapter 0 0
+2 14 #text 0 1 
+     
+2 1 para 0 0
+3 3 #text 0 1 Introduction
+2 15 para 0 0
+2 14 #text 0 1 
+  
+1 15 chapter 0 0
+1 14 #text 0 1 
+  
+1 1 chapter 0 0
+2 14 #text 0 1 
+     
+2 1 para 0 0
+3 3 #text 0 1 Introduction
+2 15 para 0 0
+2 14 #text 0 1 
+  
+1 15 chapter 0 0
+1 14 #text 0 1 
+
+0 15 book 0 0
diff --git a/result/XInclude/tstencoding.xml.err b/result/XInclude/tstencoding.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/XInclude/tstencoding.xml.err
+++ /dev/null
diff --git a/result/XInclude/txtinclude.xml.err b/result/XInclude/txtinclude.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/XInclude/txtinclude.xml.err
+++ /dev/null
diff --git a/result/XPath/expr/functions b/result/XPath/expr/functions
index e09eb4a..4ff9c58 100644
--- a/result/XPath/expr/functions
+++ b/result/XPath/expr/functions
@@ -20,6 +20,10 @@
 Object is a number : NaN
 
 ========================
+Expression: number('-')
+Object is a number : NaN
+
+========================
 Expression: floor(0.1)
 Object is a number : 0
 
diff --git a/result/XPath/expr/strings b/result/XPath/expr/strings
index 4b0125c..5527b50 100644
--- a/result/XPath/expr/strings
+++ b/result/XPath/expr/strings
@@ -150,3 +150,27 @@
 ========================
 Expression: string-length("titi")
 Object is a number : 4
+
+========================
+Expression: normalize-space("  abc  def  ")
+Object is a string : abc def
+
+========================
+Expression: normalize-space("  abc  def")
+Object is a string : abc def
+
+========================
+Expression: normalize-space("abc  def  ")
+Object is a string : abc def
+
+========================
+Expression: normalize-space(" abcdef   ")
+Object is a string : abcdef
+
+========================
+Expression: normalize-space("   abcdef")
+Object is a string : abcdef
+
+========================
+Expression: normalize-space("abcdef ")
+Object is a string : abcdef
diff --git a/result/XPath/xptr/chapterschildseq b/result/XPath/xptr-xp1/chapterschildseq
similarity index 100%
rename from result/XPath/xptr/chapterschildseq
rename to result/XPath/xptr-xp1/chapterschildseq
diff --git a/result/XPath/xptr-xp1/chaptersparts b/result/XPath/xptr-xp1/chaptersparts
new file mode 100644
index 0000000..83e0569
--- /dev/null
+++ b/result/XPath/xptr-xp1/chaptersparts
@@ -0,0 +1,44 @@
+
+========================
+Expression: xpath1(//chapitre[2])
+Object is empty (NULL)
+
+========================
+Expression: xpath1(//chapter[2])
+Object is a Node Set :
+Set contains 1 nodes:
+1  ELEMENT chapter
+    ATTRIBUTE id
+      TEXT
+        content=chapter2
+
+========================
+Expression: xpath1(//chapitre[2])xpath1(//chapter[2])
+Object is a Node Set :
+Set contains 1 nodes:
+1  ELEMENT chapter
+    ATTRIBUTE id
+      TEXT
+        content=chapter2
+
+========================
+Expression: xpath1(id("chapter1"))
+Object is empty (NULL)
+
+========================
+Expression: xpath1(//*[@id="chapter1"])
+Object is a Node Set :
+Set contains 1 nodes:
+1  ELEMENT chapter
+    ATTRIBUTE id
+      TEXT
+        content=chapter1
+
+========================
+Expression: xpath1(id("chapter1"))xpath1(//*[@id="chapter1"])
+Object is a Node Set :
+Set contains 1 nodes:
+1  ELEMENT chapter
+    ATTRIBUTE id
+      TEXT
+        content=chapter1
diff --git a/result/XPath/xptr-xp1/issue289base b/result/XPath/xptr-xp1/issue289base
new file mode 100644
index 0000000..ffae7e8
--- /dev/null
+++ b/result/XPath/xptr-xp1/issue289base
@@ -0,0 +1,7 @@
+
+========================
+Expression: xmlns(b=abc://d/e:f) xpath1(/b:rootB)
+Object is a Node Set :
+Set contains 1 nodes:
+1  ELEMENT rootB
+    default namespace href=abc://d/e:f
diff --git a/result/XPath/xptr-xp1/vidbase b/result/XPath/xptr-xp1/vidbase
new file mode 100644
index 0000000..a5447b0
--- /dev/null
+++ b/result/XPath/xptr-xp1/vidbase
@@ -0,0 +1,9 @@
+
+========================
+Expression: xpath1(id('chapter1')/p)
+Object is a Node Set :
+Set contains 4 nodes:
+1  ELEMENT p
+2  ELEMENT p
+3  ELEMENT p
+4  ELEMENT p
diff --git a/result/XPath/xptr/vidchildseq b/result/XPath/xptr-xp1/vidchildseq
similarity index 100%
rename from result/XPath/xptr/vidchildseq
rename to result/XPath/xptr-xp1/vidchildseq
diff --git a/result/XPath/xptr-xp1/viderror b/result/XPath/xptr-xp1/viderror
new file mode 100644
index 0000000..562cab4
--- /dev/null
+++ b/result/XPath/xptr-xp1/viderror
@@ -0,0 +1,4 @@
+
+========================
+Expression: xpath1(non-existing-fn())
+Object is empty (NULL)
diff --git a/result/XPath/xptr-xp1/vidparts b/result/XPath/xptr-xp1/vidparts
new file mode 100644
index 0000000..918a08f
--- /dev/null
+++ b/result/XPath/xptr-xp1/vidparts
@@ -0,0 +1,27 @@
+
+========================
+Expression: xpath1(id("chapter1"))
+Object is a Node Set :
+Set contains 1 nodes:
+1  ELEMENT chapter
+    ATTRIBUTE id
+      TEXT
+        content=chapter1
+
+========================
+Expression: xpath1(//*[@id="chapter1"])
+Object is a Node Set :
+Set contains 1 nodes:
+1  ELEMENT chapter
+    ATTRIBUTE id
+      TEXT
+        content=chapter1
+
+========================
+Expression: xpath1(id("chapter1"))xpath1(//*[@id="chapter1"])
+Object is a Node Set :
+Set contains 1 nodes:
+1  ELEMENT chapter
+    ATTRIBUTE id
+      TEXT
+        content=chapter1
diff --git a/result/boundaries1.xml b/result/boundaries1.xml
new file mode 100644
index 0000000..dc1848f
--- /dev/null
+++ b/result/boundaries1.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<!DOCTYPE d [
+<!ENTITY a "]>">
+<!ENTITY b "]>">
+<!--> ]> -->]>
+<?pi p1?>
+<!--> c1 -->
+<d a="&gt;" b="&gt;">
+text&a;text
+<![CDATA[cdata]]>
+<?pi p2?>
+<!--> c2 -->
+</d>
+<?pi p3?>
+<!--> c3 -->
diff --git a/result/boundaries1.xml.rde b/result/boundaries1.xml.rde
new file mode 100644
index 0000000..113b487
--- /dev/null
+++ b/result/boundaries1.xml.rde
@@ -0,0 +1,19 @@
+0 10 d 0 0
+0 7 pi 0 1 p1
+0 8 #comment 0 1 > c1 
+0 1 d 0 0
+1 3 #text 0 1 
+text]>text
+
+1 4 #cdata-section 0 1 cdata
+1 14 #text 0 1 
+
+1 7 pi 0 1 p2
+1 14 #text 0 1 
+
+1 8 #comment 0 1 > c2 
+1 14 #text 0 1 
+
+0 15 d 0 0
+0 7 pi 0 1 p3
+0 8 #comment 0 1 > c3 
diff --git a/result/boundaries1.xml.rdr b/result/boundaries1.xml.rdr
new file mode 100644
index 0000000..784ece0
--- /dev/null
+++ b/result/boundaries1.xml.rdr
@@ -0,0 +1,21 @@
+0 10 d 0 0
+0 7 pi 0 1 p1
+0 8 #comment 0 1 > c1 
+0 1 d 0 0
+1 3 #text 0 1 
+text
+1 5 a 0 0
+1 3 #text 0 1 text
+
+1 4 #cdata-section 0 1 cdata
+1 14 #text 0 1 
+
+1 7 pi 0 1 p2
+1 14 #text 0 1 
+
+1 8 #comment 0 1 > c2 
+1 14 #text 0 1 
+
+0 15 d 0 0
+0 7 pi 0 1 p3
+0 8 #comment 0 1 > c3 
diff --git a/result/boundaries1.xml.sax b/result/boundaries1.xml.sax
new file mode 100644
index 0000000..19e3181
--- /dev/null
+++ b/result/boundaries1.xml.sax
@@ -0,0 +1,32 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(d, , )
+SAX.entityDecl(a, 1, (null), (null), ]>)
+SAX.getEntity(a)
+SAX.entityDecl(b, 1, (null), (null), ]>)
+SAX.getEntity(b)
+SAX.comment(> ]> )
+SAX.externalSubset(d, , )
+SAX.processingInstruction(pi, p1)
+SAX.comment(> c1 )
+SAX.startElement(d, a='>', b='>')
+SAX.characters(
+text, 5)
+SAX.getEntity(a)
+SAX.characters(]>, 2)
+SAX.reference(a)
+SAX.characters(text
+, 5)
+SAX.pcdata(cdata, 5)
+SAX.characters(
+, 1)
+SAX.processingInstruction(pi, p2)
+SAX.characters(
+, 1)
+SAX.comment(> c2 )
+SAX.characters(
+, 1)
+SAX.endElement(d)
+SAX.processingInstruction(pi, p3)
+SAX.comment(> c3 )
+SAX.endDocument()
diff --git a/result/boundaries1.xml.sax2 b/result/boundaries1.xml.sax2
new file mode 100644
index 0000000..b3ad5e8
--- /dev/null
+++ b/result/boundaries1.xml.sax2
@@ -0,0 +1,33 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(d, , )
+SAX.entityDecl(a, 1, (null), (null), ]>)
+SAX.getEntity(a)
+SAX.entityDecl(b, 1, (null), (null), ]>)
+SAX.getEntity(b)
+SAX.comment(> ]> )
+SAX.externalSubset(d, , )
+SAX.processingInstruction(pi, p1)
+SAX.comment(> c1 )
+SAX.startElementNs(d, NULL, NULL, 0, 2, 0, a='>" b...', 1, b='>'>
+...', 1)
+SAX.characters(
+text, 5)
+SAX.getEntity(a)
+SAX.characters(]>, 2)
+SAX.reference(a)
+SAX.characters(text
+, 5)
+SAX.pcdata(cdata, 5)
+SAX.characters(
+, 1)
+SAX.processingInstruction(pi, p2)
+SAX.characters(
+, 1)
+SAX.comment(> c2 )
+SAX.characters(
+, 1)
+SAX.endElementNs(d, NULL, NULL)
+SAX.processingInstruction(pi, p3)
+SAX.comment(> c3 )
+SAX.endDocument()
diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-15 b/result/c14n/exc-without-comments/merlin-c14n-two-15
deleted file mode 100644
index e69de29..0000000
--- a/result/c14n/exc-without-comments/merlin-c14n-two-15
+++ /dev/null
diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-16 b/result/c14n/exc-without-comments/merlin-c14n-two-16
deleted file mode 100644
index e69de29..0000000
--- a/result/c14n/exc-without-comments/merlin-c14n-two-16
+++ /dev/null
diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-25 b/result/c14n/exc-without-comments/merlin-c14n-two-25
deleted file mode 100644
index e69de29..0000000
--- a/result/c14n/exc-without-comments/merlin-c14n-two-25
+++ /dev/null
diff --git a/result/errors/754946.xml b/result/errors/754946.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/754946.xml
+++ /dev/null
diff --git a/result/errors/754946.xml.ent b/result/errors/754946.xml.ent
index be77781..7dc0bb0 100644
--- a/result/errors/754946.xml.ent
+++ b/result/errors/754946.xml.ent
@@ -5,16 +5,3 @@
 Entity: line 1: 
 A<lbbbbbbbbbbbbbbbbbbb_
 ^
-./test/errors/754946.xml:4: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-  <![
-  ^
-./test/errors/754946.xml:4: parser error : DOCTYPE improperly terminated
-  <![
-  ^
-./test/errors/754946.xml:4: parser error : StartTag: invalid element name
-  <![
-   ^
-./test/errors/754946.xml:4: parser error : Extra content at the end of the document
-  <![
-   ^
diff --git a/result/errors/754946.xml.err b/result/errors/754946.xml.err
index be77781..7dc0bb0 100644
--- a/result/errors/754946.xml.err
+++ b/result/errors/754946.xml.err
@@ -5,16 +5,3 @@
 Entity: line 1: 
 A<lbbbbbbbbbbbbbbbbbbb_
 ^
-./test/errors/754946.xml:4: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-  <![
-  ^
-./test/errors/754946.xml:4: parser error : DOCTYPE improperly terminated
-  <![
-  ^
-./test/errors/754946.xml:4: parser error : StartTag: invalid element name
-  <![
-   ^
-./test/errors/754946.xml:4: parser error : Extra content at the end of the document
-  <![
-   ^
diff --git a/result/errors/754946.xml.str b/result/errors/754946.xml.str
index 49395b6..5d6a8b2 100644
--- a/result/errors/754946.xml.str
+++ b/result/errors/754946.xml.str
@@ -1,4 +1,8 @@
-./test/errors/754946.xml:1: parser error : Extra content at the end of the document
-<!DOCTYPE A [
-            ^
+./test/errors/754946.xml:3: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+  %SYSTEM;
+          ^
+Entity: line 1: 
+A<lbbbbbbbbbbbbbbbbbbb_
+^
 ./test/errors/754946.xml : failed to parse
diff --git a/result/errors/754947.xml b/result/errors/754947.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/754947.xml
+++ /dev/null
diff --git a/result/errors/754947.xml.ent b/result/errors/754947.xml.ent
index f45cb5a..1ea73d1 100644
--- a/result/errors/754947.xml.ent
+++ b/result/errors/754947.xml.ent
@@ -1,7 +1,7 @@
 ./test/errors/754947.xml:1: parser error : Input is not proper UTF-8, indicate encoding !
 Bytes: 0xEE 0x5D 0x5D 0x3E
-<d><![CDATA[0000000000000î]]>
+<d><![CDATA[0000000000000
                          ^
 ./test/errors/754947.xml:1: parser error : Premature end of data in tag d line 1
-<d><![CDATA[0000000000000î]]>
-                             ^
+<d><![CDATA[0000000000000
+                         ^
diff --git a/result/errors/754947.xml.err b/result/errors/754947.xml.err
index f45cb5a..1ea73d1 100644
--- a/result/errors/754947.xml.err
+++ b/result/errors/754947.xml.err
@@ -1,7 +1,7 @@
 ./test/errors/754947.xml:1: parser error : Input is not proper UTF-8, indicate encoding !
 Bytes: 0xEE 0x5D 0x5D 0x3E
-<d><![CDATA[0000000000000î]]>
+<d><![CDATA[0000000000000
                          ^
 ./test/errors/754947.xml:1: parser error : Premature end of data in tag d line 1
-<d><![CDATA[0000000000000î]]>
-                             ^
+<d><![CDATA[0000000000000
+                         ^
diff --git a/result/errors/754947.xml.str b/result/errors/754947.xml.str
index 4d2f52e..d248323 100644
--- a/result/errors/754947.xml.str
+++ b/result/errors/754947.xml.str
@@ -1,5 +1,5 @@
 ./test/errors/754947.xml:1: parser error : Input is not proper UTF-8, indicate encoding !
 Bytes: 0xEE 0x5D 0x5D 0x3E
-<d><![CDATA[0000000000000î]]>
+<d><![CDATA[0000000000000
                          ^
 ./test/errors/754947.xml : failed to parse
diff --git a/result/errors/758588.xml b/result/errors/758588.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/758588.xml
+++ /dev/null
diff --git a/result/errors/759020.xml b/result/errors/759020.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/759020.xml
+++ /dev/null
diff --git a/result/errors/759398.xml b/result/errors/759398.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/759398.xml
+++ /dev/null
diff --git a/result/errors/759573-2.xml b/result/errors/759573-2.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/759573-2.xml
+++ /dev/null
diff --git a/result/errors/759573-2.xml.ent b/result/errors/759573-2.xml.ent
index 4c45475..01c8157 100644
--- a/result/errors/759573-2.xml.ent
+++ b/result/errors/759573-2.xml.ent
@@ -18,18 +18,8 @@
                    ^
 ./test/errors/759573-2.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
 
-%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
+%xx;
     ^
 Entity: line 2: 
 <![INCLUDE[
-^
-./test/errors/759573-2.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
-    ^
-./test/errors/759573-2.xml:6: parser error : DOCTYPE improperly terminated
-%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
-    ^
-./test/errors/759573-2.xml:6: parser error : Start tag expected, '<' not found
-%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
-    ^
+  ^
diff --git a/result/errors/759573-2.xml.err b/result/errors/759573-2.xml.err
index 4c45475..01c8157 100644
--- a/result/errors/759573-2.xml.err
+++ b/result/errors/759573-2.xml.err
@@ -18,18 +18,8 @@
                    ^
 ./test/errors/759573-2.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
 
-%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
+%xx;
     ^
 Entity: line 2: 
 <![INCLUDE[
-^
-./test/errors/759573-2.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
-    ^
-./test/errors/759573-2.xml:6: parser error : DOCTYPE improperly terminated
-%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
-    ^
-./test/errors/759573-2.xml:6: parser error : Start tag expected, '<' not found
-%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
-    ^
+  ^
diff --git a/result/errors/759573-2.xml.str b/result/errors/759573-2.xml.str
index baac164..39f77a6 100644
--- a/result/errors/759573-2.xml.str
+++ b/result/errors/759573-2.xml.str
@@ -1,4 +1,26 @@
-./test/errors/759573-2.xml:2: parser error : Extra content at the end of the document
-<!DOCTYPE test [
-               ^
+Entity: line 1: parser error : Space required after '<!ENTITY'
+%zz;
+    ^
+Entity: line 1: 
+<!ENTITY<?xDOCTYPEm~?>
+        ^
+Entity: line 1: parser error : xmlParseEntityDecl: no name
+%zz;
+    ^
+Entity: line 1: 
+<!ENTITY<?xDOCTYPEm~?>
+        ^
+Entity: line 1: parser error : ParsePI: PI xDOCTYPEm space expected
+%zz;
+    ^
+Entity: line 1: 
+<!ENTITY<?xDOCTYPEm~?>
+                   ^
+./test/errors/759573-2.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+%xx;
+    ^
+Entity: line 2: 
+<![INCLUDE[
+  ^
 ./test/errors/759573-2.xml : failed to parse
diff --git a/result/errors/759573.xml b/result/errors/759573.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/759573.xml
+++ /dev/null
diff --git a/result/errors/759573.xml.ent b/result/errors/759573.xml.ent
index 5524750..74322b6 100644
--- a/result/errors/759573.xml.ent
+++ b/result/errors/759573.xml.ent
@@ -19,14 +19,4 @@
                                                                                ^
 Entity: line 1: 
 %<![INCLUDE[000%ஸ000%z;
- ^
-./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
-                                                                               ^
-./test/errors/759573.xml:1: parser error : DOCTYPE improperly terminated
-T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
-                                                                               ^
-./test/errors/759573.xml:1: parser error : Start tag expected, '<' not found
-T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
-                                                                               ^
+   ^
diff --git a/result/errors/759573.xml.err b/result/errors/759573.xml.err
index 5524750..74322b6 100644
--- a/result/errors/759573.xml.err
+++ b/result/errors/759573.xml.err
@@ -19,14 +19,4 @@
                                                                                ^
 Entity: line 1: 
 %<![INCLUDE[000%ஸ000%z;
- ^
-./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
-                                                                               ^
-./test/errors/759573.xml:1: parser error : DOCTYPE improperly terminated
-T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
-                                                                               ^
-./test/errors/759573.xml:1: parser error : Start tag expected, '<' not found
-T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
-                                                                               ^
+   ^
diff --git a/result/errors/759573.xml.str b/result/errors/759573.xml.str
index 1b6addb..37df762 100644
--- a/result/errors/759573.xml.str
+++ b/result/errors/759573.xml.str
@@ -1,4 +1,23 @@
-./test/errors/759573.xml:1: parser error : Extra content at the end of the document
-<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
-               ^
+./test/errors/759573.xml:1: parser error : Space required after '<!ENTITY'
+ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITY
+                                                                               ^
+./test/errors/759573.xml:1: parser error : Space required after the entity name
+LEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz
+                                                                               ^
+./test/errors/759573.xml:1: parser error : Entity value required
+LEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz
+                                                                               ^
+./test/errors/759573.xml:1: parser error : PEReference: no name
+T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
+                                                                               ^
+Entity: line 1: 
+%<![INCLUDE[000%ஸ000%z;
+ ^
+./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
+                                                                               ^
+Entity: line 1: 
+%<![INCLUDE[000%ஸ000%z;
+   ^
 ./test/errors/759573.xml : failed to parse
diff --git a/result/errors/759579.xml b/result/errors/759579.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/759579.xml
+++ /dev/null
diff --git a/result/errors/759579.xml.ent b/result/errors/759579.xml.ent
index 288026e..dd0e68a 100644
--- a/result/errors/759579.xml.ent
+++ b/result/errors/759579.xml.ent
@@ -1,6 +1,6 @@
-Entity: line 2: parser error : Detected an entity reference loop
-        %z; %z; %z; %z; %z;
-           ^
+./test/errors/759579.xml:9: parser error : Detected an entity reference loop
+    %z;
+       ^
 Entity: line 2: 
         %z; %z; %z; %z; %z;
            ^
diff --git a/result/errors/759579.xml.err b/result/errors/759579.xml.err
index 288026e..dd0e68a 100644
--- a/result/errors/759579.xml.err
+++ b/result/errors/759579.xml.err
@@ -1,6 +1,6 @@
-Entity: line 2: parser error : Detected an entity reference loop
-        %z; %z; %z; %z; %z;
-           ^
+./test/errors/759579.xml:9: parser error : Detected an entity reference loop
+    %z;
+       ^
 Entity: line 2: 
         %z; %z; %z; %z; %z;
            ^
diff --git a/result/errors/759579.xml.str b/result/errors/759579.xml.str
index 09408f5..e9a929c 100644
--- a/result/errors/759579.xml.str
+++ b/result/errors/759579.xml.str
@@ -1,6 +1,6 @@
-Entity: line 2: parser error : Detected an entity reference loop
-        %z; %z; %z; %z; %z;
-           ^
+./test/errors/759579.xml:9: parser error : Detected an entity reference loop
+    %z;
+       ^
 Entity: line 2: 
         %z; %z; %z; %z; %z;
            ^
diff --git a/result/errors/attr1.xml b/result/errors/attr1.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/attr1.xml
+++ /dev/null
diff --git a/result/errors/attr2.xml b/result/errors/attr2.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/attr2.xml
+++ /dev/null
diff --git a/result/errors/attr4.xml b/result/errors/attr4.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/attr4.xml
+++ /dev/null
diff --git a/result/errors/cdata.xml b/result/errors/cdata.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/cdata.xml
+++ /dev/null
diff --git a/result/errors/cdata.xml.ent b/result/errors/cdata.xml.ent
index f757963..f7c7b48 100644
--- a/result/errors/cdata.xml.ent
+++ b/result/errors/cdata.xml.ent
@@ -1,4 +1,4 @@
 ./test/errors/cdata.xml:2: parser error : Input is not proper UTF-8, indicate encoding !
 Bytes: 0xE1 0x72 0x5D 0x5D
-<A><![CDATA[Cár]]></A>
+<A><![CDATA[C
              ^
diff --git a/result/errors/cdata.xml.err b/result/errors/cdata.xml.err
index f757963..f7c7b48 100644
--- a/result/errors/cdata.xml.err
+++ b/result/errors/cdata.xml.err
@@ -1,4 +1,4 @@
 ./test/errors/cdata.xml:2: parser error : Input is not proper UTF-8, indicate encoding !
 Bytes: 0xE1 0x72 0x5D 0x5D
-<A><![CDATA[Cár]]></A>
+<A><![CDATA[C
              ^
diff --git a/result/errors/cdata.xml.str b/result/errors/cdata.xml.str
index cf83d2b..af1321e 100644
--- a/result/errors/cdata.xml.str
+++ b/result/errors/cdata.xml.str
@@ -1,5 +1,5 @@
 ./test/errors/cdata.xml:2: parser error : Input is not proper UTF-8, indicate encoding !
 Bytes: 0xE1 0x72 0x5D 0x5D
-<A><![CDATA[Cár]]></A>
+<A><![CDATA[C
              ^
 ./test/errors/cdata.xml : failed to parse
diff --git a/result/errors/charref1.xml b/result/errors/charref1.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/charref1.xml
+++ /dev/null
diff --git a/result/errors/comment1.xml b/result/errors/comment1.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/comment1.xml
+++ /dev/null
diff --git a/result/errors/content1.xml b/result/errors/content1.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/content1.xml
+++ /dev/null
diff --git a/result/errors/content1.xml.ent b/result/errors/content1.xml.ent
index 9fcd603..6451157 100644
--- a/result/errors/content1.xml.ent
+++ b/result/errors/content1.xml.ent
@@ -8,9 +8,3 @@
 
 <!ELEMENT aElement (a |b * >
                          ^
-./test/errors/content1.xml:7: parser error : DOCTYPE improperly terminated
-<!ELEMENT aElement (a |b * >
-                         ^
-./test/errors/content1.xml:7: parser error : Start tag expected, '<' not found
-<!ELEMENT aElement (a |b * >
-                         ^
diff --git a/result/errors/content1.xml.err b/result/errors/content1.xml.err
index 9fcd603..6451157 100644
--- a/result/errors/content1.xml.err
+++ b/result/errors/content1.xml.err
@@ -8,9 +8,3 @@
 
 <!ELEMENT aElement (a |b * >
                          ^
-./test/errors/content1.xml:7: parser error : DOCTYPE improperly terminated
-<!ELEMENT aElement (a |b * >
-                         ^
-./test/errors/content1.xml:7: parser error : Start tag expected, '<' not found
-<!ELEMENT aElement (a |b * >
-                         ^
diff --git a/result/errors/content1.xml.str b/result/errors/content1.xml.str
index d806a63..47a6b6f 100644
--- a/result/errors/content1.xml.str
+++ b/result/errors/content1.xml.str
@@ -8,7 +8,4 @@
 
 <!ELEMENT aElement (a |b * >
                          ^
-./test/errors/content1.xml:7: parser error : DOCTYPE improperly terminated
-<!ELEMENT aElement (a |b * >
-                         ^
 ./test/errors/content1.xml : failed to parse
diff --git a/result/errors/extparsedent.xml.err b/result/errors/extparsedent.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/extparsedent.xml.err
+++ /dev/null
diff --git a/result/errors/extparsedent.xml.str b/result/errors/extparsedent.xml.str
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/extparsedent.xml.str
+++ /dev/null
diff --git a/result/errors/issue151.xml b/result/errors/issue151.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/issue151.xml
+++ /dev/null
diff --git a/result/errors/name.xml b/result/errors/name.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/name.xml
+++ /dev/null
diff --git a/result/errors/name2.xml b/result/errors/name2.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/name2.xml
+++ /dev/null
diff --git a/result/errors/rec_att_default.xml.ent b/result/errors/rec_att_default.xml.ent
new file mode 100644
index 0000000..375a0d6
--- /dev/null
+++ b/result/errors/rec_att_default.xml.ent
@@ -0,0 +1,6 @@
+./test/errors/rec_att_default.xml:3: parser error : Entity 'b' not defined
+  <!ATTLIST x y CDATA "&a;">
+                          ^
+./test/errors/rec_att_default.xml:6: parser error : Detected an entity reference loop
+<doc attr="&a;"/>
+              ^
diff --git a/result/errors/rec_att_default.xml.err b/result/errors/rec_att_default.xml.err
new file mode 100644
index 0000000..375a0d6
--- /dev/null
+++ b/result/errors/rec_att_default.xml.err
@@ -0,0 +1,6 @@
+./test/errors/rec_att_default.xml:3: parser error : Entity 'b' not defined
+  <!ATTLIST x y CDATA "&a;">
+                          ^
+./test/errors/rec_att_default.xml:6: parser error : Detected an entity reference loop
+<doc attr="&a;"/>
+              ^
diff --git a/result/errors/rec_att_default.xml.str b/result/errors/rec_att_default.xml.str
new file mode 100644
index 0000000..11e6556
--- /dev/null
+++ b/result/errors/rec_att_default.xml.str
@@ -0,0 +1,7 @@
+./test/errors/rec_att_default.xml:3: parser error : Entity 'b' not defined
+  <!ATTLIST x y CDATA "&a;">
+                          ^
+./test/errors/rec_att_default.xml:6: parser error : Detected an entity reference loop
+<doc attr="&a;"/>
+              ^
+./test/errors/rec_att_default.xml : failed to parse
diff --git a/result/errors/rec_ext_ent.xml.ent b/result/errors/rec_ext_ent.xml.ent
index d8ccec1..1b5f50f 100644
--- a/result/errors/rec_ext_ent.xml.ent
+++ b/result/errors/rec_ext_ent.xml.ent
@@ -1,123 +1,3 @@
 test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
 <ent>&e; &e; &e; &e;</ent>
         ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop
-<ent>&e; &e; &e; &e;</ent>
-        ^
-./test/errors/rec_ext_ent.xml:4: parser error : Detected an entity reference loop
-<doc>&e; &e; &e; &e;</doc>
-        ^
diff --git a/result/errors/rec_ext_ent.xml.err b/result/errors/rec_ext_ent.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/rec_ext_ent.xml.err
+++ /dev/null
diff --git a/result/errors/rec_ext_ent.xml.str b/result/errors/rec_ext_ent.xml.str
deleted file mode 100644
index e69de29..0000000
--- a/result/errors/rec_ext_ent.xml.str
+++ /dev/null
diff --git a/result/errors/utf8-1.xml.ent b/result/errors/utf8-1.xml.ent
new file mode 100644
index 0000000..35d8498
--- /dev/null
+++ b/result/errors/utf8-1.xml.ent
@@ -0,0 +1,9 @@
+./test/errors/utf8-1.xml:1: parser error : StartTag: invalid element name
+..............................................................................<<
+                                                                               ^
+./test/errors/utf8-1.xml:1: parser error : StartTag: invalid element name
+..............................................................................<<
+                                                                               ^
+./test/errors/utf8-1.xml:2: parser error : Premature end of data in tag d line 1
+
+^
diff --git a/result/errors/utf8-1.xml.err b/result/errors/utf8-1.xml.err
new file mode 100644
index 0000000..35d8498
--- /dev/null
+++ b/result/errors/utf8-1.xml.err
@@ -0,0 +1,9 @@
+./test/errors/utf8-1.xml:1: parser error : StartTag: invalid element name
+..............................................................................<<
+                                                                               ^
+./test/errors/utf8-1.xml:1: parser error : StartTag: invalid element name
+..............................................................................<<
+                                                                               ^
+./test/errors/utf8-1.xml:2: parser error : Premature end of data in tag d line 1
+
+^
diff --git a/result/errors/utf8-1.xml.str b/result/errors/utf8-1.xml.str
new file mode 100644
index 0000000..8c6df1d
--- /dev/null
+++ b/result/errors/utf8-1.xml.str
@@ -0,0 +1,4 @@
+./test/errors/utf8-1.xml:1: parser error : StartTag: invalid element name
+..............................................................................<<
+                                                                               ^
+./test/errors/utf8-1.xml : failed to parse
diff --git a/result/errors/utf8-2.xml.ent b/result/errors/utf8-2.xml.ent
new file mode 100644
index 0000000..1631d66
--- /dev/null
+++ b/result/errors/utf8-2.xml.ent
@@ -0,0 +1,9 @@
+./test/errors/utf8-2.xml:1: parser error : StartTag: invalid element name
+<d>.<<€€€€€€€€€€€€€€€€€€€€€€€€
+     ^
+./test/errors/utf8-2.xml:2: parser error : Couldn't find end of Start Tag €€€€€€€€€€€€€€€€€€€€€€€€€ line 1
+
+^
+./test/errors/utf8-2.xml:2: parser error : Premature end of data in tag d line 1
+
+^
diff --git a/result/errors/utf8-2.xml.err b/result/errors/utf8-2.xml.err
new file mode 100644
index 0000000..1631d66
--- /dev/null
+++ b/result/errors/utf8-2.xml.err
@@ -0,0 +1,9 @@
+./test/errors/utf8-2.xml:1: parser error : StartTag: invalid element name
+<d>.<<€€€€€€€€€€€€€€€€€€€€€€€€
+     ^
+./test/errors/utf8-2.xml:2: parser error : Couldn't find end of Start Tag €€€€€€€€€€€€€€€€€€€€€€€€€ line 1
+
+^
+./test/errors/utf8-2.xml:2: parser error : Premature end of data in tag d line 1
+
+^
diff --git a/result/errors/utf8-2.xml.str b/result/errors/utf8-2.xml.str
new file mode 100644
index 0000000..f8db7f7
--- /dev/null
+++ b/result/errors/utf8-2.xml.str
@@ -0,0 +1,4 @@
+./test/errors/utf8-2.xml:1: parser error : StartTag: invalid element name
+<d>.<<€€€€€€€€€€€€€€€€€€€€€€€€
+     ^
+./test/errors/utf8-2.xml : failed to parse
diff --git a/result/errors10/781205.xml b/result/errors10/781205.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors10/781205.xml
+++ /dev/null
diff --git a/result/errors10/781205.xml.err b/result/errors10/781205.xml.err
index 3ddc203..f4e0892 100644
--- a/result/errors10/781205.xml.err
+++ b/result/errors10/781205.xml.err
@@ -5,13 +5,3 @@
 Entity: line 1: 
 <:0000
 ^
-./test/errors10/781205.xml:4: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-
-^
-./test/errors10/781205.xml:4: parser error : DOCTYPE improperly terminated
-
-^
-./test/errors10/781205.xml:4: parser error : Start tag expected, '<' not found
-
-^
diff --git a/result/errors10/781361.xml b/result/errors10/781361.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/errors10/781361.xml
+++ /dev/null
diff --git a/result/errors10/781361.xml.err b/result/errors10/781361.xml.err
index 655f41a..6153cc9 100644
--- a/result/errors10/781361.xml.err
+++ b/result/errors10/781361.xml.err
@@ -5,9 +5,3 @@
 
 
 ^
-./test/errors10/781361.xml:4: parser error : DOCTYPE improperly terminated
-
-^
-./test/errors10/781361.xml:4: parser error : Start tag expected, '<' not found
-
-^
diff --git a/result/example.dtd b/result/example.dtd
deleted file mode 100644
index e69de29..0000000
--- a/result/example.dtd
+++ /dev/null
diff --git a/result/namespaces/err_0.xml.err b/result/namespaces/err_0.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/namespaces/err_0.xml.err
+++ /dev/null
diff --git a/result/namespaces/err_10.xml b/result/namespaces/err_10.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/namespaces/err_10.xml
+++ /dev/null
diff --git a/result/namespaces/err_11.xml b/result/namespaces/err_11.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/namespaces/err_11.xml
+++ /dev/null
diff --git a/result/noent/boundaries1.xml b/result/noent/boundaries1.xml
new file mode 100644
index 0000000..da20872
--- /dev/null
+++ b/result/noent/boundaries1.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<!DOCTYPE d [
+<!ENTITY a "]>">
+<!ENTITY b "]>">
+<!--> ]> -->]>
+<?pi p1?>
+<!--> c1 -->
+<d a="&gt;" b="&gt;">
+text]&gt;text
+<![CDATA[cdata]]>
+<?pi p2?>
+<!--> c2 -->
+</d>
+<?pi p3?>
+<!--> c3 -->
diff --git a/result/noent/boundaries1.xml.sax2 b/result/noent/boundaries1.xml.sax2
new file mode 100644
index 0000000..093ac3b
--- /dev/null
+++ b/result/noent/boundaries1.xml.sax2
@@ -0,0 +1,32 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(d, , )
+SAX.entityDecl(a, 1, (null), (null), ]>)
+SAX.getEntity(a)
+SAX.entityDecl(b, 1, (null), (null), ]>)
+SAX.getEntity(b)
+SAX.comment(> ]> )
+SAX.externalSubset(d, , )
+SAX.processingInstruction(pi, p1)
+SAX.comment(> c1 )
+SAX.startElementNs(d, NULL, NULL, 0, 2, 0, a='>" b...', 1, b='>'>
+...', 1)
+SAX.characters(
+text, 5)
+SAX.getEntity(a)
+SAX.characters(]>, 2)
+SAX.characters(text
+, 5)
+SAX.pcdata(cdata, 5)
+SAX.characters(
+, 1)
+SAX.processingInstruction(pi, p2)
+SAX.characters(
+, 1)
+SAX.comment(> c2 )
+SAX.characters(
+, 1)
+SAX.endElementNs(d, NULL, NULL)
+SAX.processingInstruction(pi, p3)
+SAX.comment(> c3 )
+SAX.endDocument()
diff --git a/result/regexp/issue301 b/result/regexp/issue301
new file mode 100644
index 0000000..90e7c4c
--- /dev/null
+++ b/result/regexp/issue301
@@ -0,0 +1,4 @@
+Regexp: (a{1,2}|ab){2}
+abab: Ok
+Regexp: ((1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
+192.168.254.0: Ok
diff --git a/result/regexp/issue370 b/result/regexp/issue370
new file mode 100644
index 0000000..42a74ec
--- /dev/null
+++ b/result/regexp/issue370
@@ -0,0 +1,3 @@
+Regexp: [A-Za-[G]]
+G: Fail
+a: Ok
diff --git a/result/regexp/issue65 b/result/regexp/issue65
new file mode 100644
index 0000000..46bacd3
--- /dev/null
+++ b/result/regexp/issue65
@@ -0,0 +1,2 @@
+Regexp: ( (a|bc{0,2})){0,2} d
+ b d: Ok
diff --git a/result/relaxng/302836_0 b/result/relaxng/302836_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/302836_0
+++ /dev/null
diff --git a/result/relaxng/302836_err b/result/relaxng/302836_err
deleted file mode 100644
index fab2d78..0000000
--- a/result/relaxng/302836_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/302836.rng validates
diff --git a/result/relaxng/302836_valid b/result/relaxng/302836_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/302836_valid
+++ /dev/null
diff --git a/result/relaxng/307377_0 b/result/relaxng/307377_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/307377_0
+++ /dev/null
diff --git a/result/relaxng/307377_1 b/result/relaxng/307377_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/307377_1
+++ /dev/null
diff --git a/result/relaxng/307377_2 b/result/relaxng/307377_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/307377_2
+++ /dev/null
diff --git a/result/relaxng/307377_err b/result/relaxng/307377_err
deleted file mode 100644
index 5705eab..0000000
--- a/result/relaxng/307377_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/307377.rng validates
diff --git a/result/relaxng/307377_valid b/result/relaxng/307377_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/307377_valid
+++ /dev/null
diff --git a/result/relaxng/492317_0 b/result/relaxng/492317_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/492317_0
+++ /dev/null
diff --git a/result/relaxng/492317_1 b/result/relaxng/492317_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/492317_1
+++ /dev/null
diff --git a/result/relaxng/492317_2 b/result/relaxng/492317_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/492317_2
+++ /dev/null
diff --git a/result/relaxng/492317_err b/result/relaxng/492317_err
deleted file mode 100644
index 1f07539..0000000
--- a/result/relaxng/492317_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/492317.rng validates
diff --git a/result/relaxng/492317_valid b/result/relaxng/492317_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/492317_valid
+++ /dev/null
diff --git a/result/relaxng/558452_0 b/result/relaxng/558452_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/558452_0
+++ /dev/null
diff --git a/result/relaxng/558452_1 b/result/relaxng/558452_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/558452_1
+++ /dev/null
diff --git a/result/relaxng/558452_2 b/result/relaxng/558452_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/558452_2
+++ /dev/null
diff --git a/result/relaxng/558452_3 b/result/relaxng/558452_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/558452_3
+++ /dev/null
diff --git a/result/relaxng/558452_4 b/result/relaxng/558452_4
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/558452_4
+++ /dev/null
diff --git a/result/relaxng/558452_err b/result/relaxng/558452_err
deleted file mode 100644
index b162846..0000000
--- a/result/relaxng/558452_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/558452.rng validates
diff --git a/result/relaxng/558452_valid b/result/relaxng/558452_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/558452_valid
+++ /dev/null
diff --git a/result/relaxng/565219_0 b/result/relaxng/565219_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/565219_0
+++ /dev/null
diff --git a/result/relaxng/565219_1 b/result/relaxng/565219_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/565219_1
+++ /dev/null
diff --git a/result/relaxng/565219_2 b/result/relaxng/565219_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/565219_2
+++ /dev/null
diff --git a/result/relaxng/565219_err b/result/relaxng/565219_err
deleted file mode 100644
index c43e67c..0000000
--- a/result/relaxng/565219_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/565219.rng validates
diff --git a/result/relaxng/565219_valid b/result/relaxng/565219_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/565219_valid
+++ /dev/null
diff --git a/result/relaxng/595792-ext_err b/result/relaxng/595792-ext_err
deleted file mode 100644
index 092fdbd..0000000
--- a/result/relaxng/595792-ext_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/595792-ext.rng validates
diff --git a/result/relaxng/595792-ext_valid b/result/relaxng/595792-ext_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/595792-ext_valid
+++ /dev/null
diff --git a/result/relaxng/595792_0 b/result/relaxng/595792_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/595792_0
+++ /dev/null
diff --git a/result/relaxng/595792_err b/result/relaxng/595792_err
deleted file mode 100644
index e9f3192..0000000
--- a/result/relaxng/595792_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/595792.rng validates
diff --git a/result/relaxng/595792_valid b/result/relaxng/595792_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/595792_valid
+++ /dev/null
diff --git a/result/relaxng/710744_1 b/result/relaxng/710744_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/710744_1
+++ /dev/null
diff --git a/result/relaxng/710744_2 b/result/relaxng/710744_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/710744_2
+++ /dev/null
diff --git a/result/relaxng/710744_err b/result/relaxng/710744_err
deleted file mode 100644
index 54f0226..0000000
--- a/result/relaxng/710744_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/710744.rng validates
diff --git a/result/relaxng/710744_valid b/result/relaxng/710744_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/710744_valid
+++ /dev/null
diff --git a/result/relaxng/OpenDocumentSub_0 b/result/relaxng/OpenDocumentSub_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/OpenDocumentSub_0
+++ /dev/null
diff --git a/result/relaxng/OpenDocumentSub_err b/result/relaxng/OpenDocumentSub_err
deleted file mode 100644
index 941d6c4..0000000
--- a/result/relaxng/OpenDocumentSub_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/OpenDocumentSub.rng validates
diff --git a/result/relaxng/OpenDocumentSub_valid b/result/relaxng/OpenDocumentSub_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/OpenDocumentSub_valid
+++ /dev/null
diff --git a/result/relaxng/addressBook_err b/result/relaxng/addressBook_err
deleted file mode 100644
index 584d55a..0000000
--- a/result/relaxng/addressBook_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/addressBook.rng validates
diff --git a/result/relaxng/addressBook_valid b/result/relaxng/addressBook_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/addressBook_valid
+++ /dev/null
diff --git a/result/relaxng/ambig_name-class2_err b/result/relaxng/ambig_name-class2_err
deleted file mode 100644
index 2c1ba8d..0000000
--- a/result/relaxng/ambig_name-class2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/ambig_name-class2.rng validates
diff --git a/result/relaxng/ambig_name-class2_valid b/result/relaxng/ambig_name-class2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/ambig_name-class2_valid
+++ /dev/null
diff --git a/result/relaxng/ambig_name-class_err b/result/relaxng/ambig_name-class_err
deleted file mode 100644
index 0afe5cd..0000000
--- a/result/relaxng/ambig_name-class_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/ambig_name-class.rng validates
diff --git a/result/relaxng/ambig_name-class_valid b/result/relaxng/ambig_name-class_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/ambig_name-class_valid
+++ /dev/null
diff --git a/result/relaxng/anyName0_0 b/result/relaxng/anyName0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/anyName0_0
+++ /dev/null
diff --git a/result/relaxng/anyName0_err b/result/relaxng/anyName0_err
deleted file mode 100644
index ab6f08d..0000000
--- a/result/relaxng/anyName0_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/anyName0.rng validates
diff --git a/result/relaxng/anyName0_valid b/result/relaxng/anyName0_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/anyName0_valid
+++ /dev/null
diff --git a/result/relaxng/choice0_0 b/result/relaxng/choice0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/choice0_0
+++ /dev/null
diff --git a/result/relaxng/choice0_1 b/result/relaxng/choice0_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/choice0_1
+++ /dev/null
diff --git a/result/relaxng/choice0_2 b/result/relaxng/choice0_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/choice0_2
+++ /dev/null
diff --git a/result/relaxng/choice0_3 b/result/relaxng/choice0_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/choice0_3
+++ /dev/null
diff --git a/result/relaxng/choice0_4 b/result/relaxng/choice0_4
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/choice0_4
+++ /dev/null
diff --git a/result/relaxng/choice0_5 b/result/relaxng/choice0_5
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/choice0_5
+++ /dev/null
diff --git a/result/relaxng/choice0_6 b/result/relaxng/choice0_6
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/choice0_6
+++ /dev/null
diff --git a/result/relaxng/choice0_7 b/result/relaxng/choice0_7
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/choice0_7
+++ /dev/null
diff --git a/result/relaxng/choice0_8 b/result/relaxng/choice0_8
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/choice0_8
+++ /dev/null
diff --git a/result/relaxng/choice0_err b/result/relaxng/choice0_err
deleted file mode 100644
index cf12431..0000000
--- a/result/relaxng/choice0_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/choice0.rng validates
diff --git a/result/relaxng/choice0_valid b/result/relaxng/choice0_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/choice0_valid
+++ /dev/null
diff --git a/result/relaxng/compare0_0 b/result/relaxng/compare0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/compare0_0
+++ /dev/null
diff --git a/result/relaxng/compare0_err b/result/relaxng/compare0_err
deleted file mode 100644
index 543d734..0000000
--- a/result/relaxng/compare0_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/compare0.rng validates
diff --git a/result/relaxng/compare0_valid b/result/relaxng/compare0_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/compare0_valid
+++ /dev/null
diff --git a/result/relaxng/comps_0 b/result/relaxng/comps_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/comps_0
+++ /dev/null
diff --git a/result/relaxng/comps_err b/result/relaxng/comps_err
deleted file mode 100644
index 67dd402..0000000
--- a/result/relaxng/comps_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/comps.rng validates
diff --git a/result/relaxng/comps_valid b/result/relaxng/comps_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/comps_valid
+++ /dev/null
diff --git a/result/relaxng/demo2_err b/result/relaxng/demo2_err
deleted file mode 100644
index 9bdaeb9..0000000
--- a/result/relaxng/demo2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/demo2.rng validates
diff --git a/result/relaxng/demo2_valid b/result/relaxng/demo2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/demo2_valid
+++ /dev/null
diff --git a/result/relaxng/demo3_err b/result/relaxng/demo3_err
deleted file mode 100644
index ccced98..0000000
--- a/result/relaxng/demo3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/demo3.rng validates
diff --git a/result/relaxng/demo3_valid b/result/relaxng/demo3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/demo3_valid
+++ /dev/null
diff --git a/result/relaxng/demo_err b/result/relaxng/demo_err
deleted file mode 100644
index 4f397f8..0000000
--- a/result/relaxng/demo_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/demo.rng validates
diff --git a/result/relaxng/demo_valid b/result/relaxng/demo_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/demo_valid
+++ /dev/null
diff --git a/result/relaxng/docbook_0 b/result/relaxng/docbook_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/docbook_0
+++ /dev/null
diff --git a/result/relaxng/docbook_err b/result/relaxng/docbook_err
deleted file mode 100644
index 8124012..0000000
--- a/result/relaxng/docbook_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/docbook.rng validates
diff --git a/result/relaxng/docbook_valid b/result/relaxng/docbook_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/docbook_valid
+++ /dev/null
diff --git a/result/relaxng/empty0_0 b/result/relaxng/empty0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/empty0_0
+++ /dev/null
diff --git a/result/relaxng/empty0_err b/result/relaxng/empty0_err
deleted file mode 100644
index c4060cf..0000000
--- a/result/relaxng/empty0_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/empty0.rng validates
diff --git a/result/relaxng/empty0_valid b/result/relaxng/empty0_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/empty0_valid
+++ /dev/null
diff --git a/result/relaxng/empty1_0 b/result/relaxng/empty1_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/empty1_0
+++ /dev/null
diff --git a/result/relaxng/empty1_1 b/result/relaxng/empty1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/empty1_1
+++ /dev/null
diff --git a/result/relaxng/empty1_err b/result/relaxng/empty1_err
deleted file mode 100644
index f52d95c..0000000
--- a/result/relaxng/empty1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/empty1.rng validates
diff --git a/result/relaxng/empty1_valid b/result/relaxng/empty1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/empty1_valid
+++ /dev/null
diff --git a/result/relaxng/include0_0 b/result/relaxng/include0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/include0_0
+++ /dev/null
diff --git a/result/relaxng/include0_err b/result/relaxng/include0_err
deleted file mode 100644
index cd16cbe..0000000
--- a/result/relaxng/include0_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/include0.rng validates
diff --git a/result/relaxng/include0_valid b/result/relaxng/include0_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/include0_valid
+++ /dev/null
diff --git a/result/relaxng/include1_0 b/result/relaxng/include1_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/include1_0
+++ /dev/null
diff --git a/result/relaxng/include1_err b/result/relaxng/include1_err
deleted file mode 100644
index ad4850b..0000000
--- a/result/relaxng/include1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/include1.rng validates
diff --git a/result/relaxng/include1_valid b/result/relaxng/include1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/include1_valid
+++ /dev/null
diff --git a/result/relaxng/inline2_err b/result/relaxng/inline2_err
deleted file mode 100644
index 027408e..0000000
--- a/result/relaxng/inline2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/inline2.rng validates
diff --git a/result/relaxng/inline2_valid b/result/relaxng/inline2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/inline2_valid
+++ /dev/null
diff --git a/result/relaxng/inline3_err b/result/relaxng/inline3_err
deleted file mode 100644
index 1ceccb8..0000000
--- a/result/relaxng/inline3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/inline3.rng validates
diff --git a/result/relaxng/inline3_valid b/result/relaxng/inline3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/inline3_valid
+++ /dev/null
diff --git a/result/relaxng/inline_err b/result/relaxng/inline_err
deleted file mode 100644
index 8ba0e5c..0000000
--- a/result/relaxng/inline_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/inline.rng validates
diff --git a/result/relaxng/inline_valid b/result/relaxng/inline_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/inline_valid
+++ /dev/null
diff --git a/result/relaxng/interleave0_0_err b/result/relaxng/interleave0_0_err
deleted file mode 100644
index 0d865ec..0000000
--- a/result/relaxng/interleave0_0_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/interleave0_0.rng validates
diff --git a/result/relaxng/interleave0_0_valid b/result/relaxng/interleave0_0_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/interleave0_0_valid
+++ /dev/null
diff --git a/result/relaxng/interleave1_0_err b/result/relaxng/interleave1_0_err
deleted file mode 100644
index 4802352..0000000
--- a/result/relaxng/interleave1_0_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/interleave1_0.rng validates
diff --git a/result/relaxng/interleave1_0_valid b/result/relaxng/interleave1_0_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/interleave1_0_valid
+++ /dev/null
diff --git a/result/relaxng/libvirt_0 b/result/relaxng/libvirt_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/libvirt_0
+++ /dev/null
diff --git a/result/relaxng/libvirt_err b/result/relaxng/libvirt_err
deleted file mode 100644
index 4acf3ed..0000000
--- a/result/relaxng/libvirt_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/libvirt.rng validates
diff --git a/result/relaxng/libvirt_valid b/result/relaxng/libvirt_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/libvirt_valid
+++ /dev/null
diff --git a/result/relaxng/list_0 b/result/relaxng/list_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/list_0
+++ /dev/null
diff --git a/result/relaxng/list_1 b/result/relaxng/list_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/list_1
+++ /dev/null
diff --git a/result/relaxng/list_err b/result/relaxng/list_err
deleted file mode 100644
index 748e21b..0000000
--- a/result/relaxng/list_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/list.rng validates
diff --git a/result/relaxng/list_valid b/result/relaxng/list_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/list_valid
+++ /dev/null
diff --git a/result/relaxng/pattern1_err b/result/relaxng/pattern1_err
deleted file mode 100644
index 8856446..0000000
--- a/result/relaxng/pattern1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/pattern1.rng validates
diff --git a/result/relaxng/pattern1_valid b/result/relaxng/pattern1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/pattern1_valid
+++ /dev/null
diff --git a/result/relaxng/pattern2_err b/result/relaxng/pattern2_err
deleted file mode 100644
index acccc55..0000000
--- a/result/relaxng/pattern2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/pattern2.rng validates
diff --git a/result/relaxng/pattern2_valid b/result/relaxng/pattern2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/pattern2_valid
+++ /dev/null
diff --git a/result/relaxng/pattern3_1 b/result/relaxng/pattern3_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/pattern3_1
+++ /dev/null
diff --git a/result/relaxng/pattern3_err b/result/relaxng/pattern3_err
deleted file mode 100644
index a7a1f46..0000000
--- a/result/relaxng/pattern3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/pattern3.rng validates
diff --git a/result/relaxng/pattern3_valid b/result/relaxng/pattern3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/pattern3_valid
+++ /dev/null
diff --git a/result/relaxng/proofsystem_err b/result/relaxng/proofsystem_err
deleted file mode 100644
index 9fbcfdc..0000000
--- a/result/relaxng/proofsystem_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/proofsystem.rng validates
diff --git a/result/relaxng/proofsystem_valid b/result/relaxng/proofsystem_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/proofsystem_valid
+++ /dev/null
diff --git a/result/relaxng/rngbug-001_err b/result/relaxng/rngbug-001_err
deleted file mode 100644
index 4c30153..0000000
--- a/result/relaxng/rngbug-001_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/rngbug-001.rng validates
diff --git a/result/relaxng/rngbug-001_valid b/result/relaxng/rngbug-001_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/rngbug-001_valid
+++ /dev/null
diff --git a/result/relaxng/spec1_1 b/result/relaxng/spec1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/spec1_1
+++ /dev/null
diff --git a/result/relaxng/spec1_err b/result/relaxng/spec1_err
deleted file mode 100644
index 8551c1e..0000000
--- a/result/relaxng/spec1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/spec1.rng validates
diff --git a/result/relaxng/spec1_valid b/result/relaxng/spec1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/spec1_valid
+++ /dev/null
diff --git a/result/relaxng/spec_0 b/result/relaxng/spec_0
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/spec_0
+++ /dev/null
diff --git a/result/relaxng/spec_err b/result/relaxng/spec_err
deleted file mode 100644
index 27336e1..0000000
--- a/result/relaxng/spec_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/spec.rng validates
diff --git a/result/relaxng/spec_valid b/result/relaxng/spec_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/spec_valid
+++ /dev/null
diff --git a/result/relaxng/table_err b/result/relaxng/table_err
deleted file mode 100644
index 47e7996..0000000
--- a/result/relaxng/table_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/table.rng validates
diff --git a/result/relaxng/table_valid b/result/relaxng/table_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/table_valid
+++ /dev/null
diff --git a/result/relaxng/tutor10_10_1 b/result/relaxng/tutor10_10_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_10_1
+++ /dev/null
diff --git a/result/relaxng/tutor10_10_err b/result/relaxng/tutor10_10_err
deleted file mode 100644
index 24a5f7e..0000000
--- a/result/relaxng/tutor10_10_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor10_10.rng validates
diff --git a/result/relaxng/tutor10_10_valid b/result/relaxng/tutor10_10_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_10_valid
+++ /dev/null
diff --git a/result/relaxng/tutor10_1_1 b/result/relaxng/tutor10_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor10_1_2 b/result/relaxng/tutor10_1_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_1_2
+++ /dev/null
diff --git a/result/relaxng/tutor10_1_3 b/result/relaxng/tutor10_1_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_1_3
+++ /dev/null
diff --git a/result/relaxng/tutor10_1_4 b/result/relaxng/tutor10_1_4
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_1_4
+++ /dev/null
diff --git a/result/relaxng/tutor10_1_5 b/result/relaxng/tutor10_1_5
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_1_5
+++ /dev/null
diff --git a/result/relaxng/tutor10_1_6 b/result/relaxng/tutor10_1_6
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_1_6
+++ /dev/null
diff --git a/result/relaxng/tutor10_1_err b/result/relaxng/tutor10_1_err
deleted file mode 100644
index 85be3be..0000000
--- a/result/relaxng/tutor10_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor10_1.rng validates
diff --git a/result/relaxng/tutor10_1_valid b/result/relaxng/tutor10_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor10_2_1 b/result/relaxng/tutor10_2_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_2_1
+++ /dev/null
diff --git a/result/relaxng/tutor10_2_2 b/result/relaxng/tutor10_2_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_2_2
+++ /dev/null
diff --git a/result/relaxng/tutor10_2_3 b/result/relaxng/tutor10_2_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_2_3
+++ /dev/null
diff --git a/result/relaxng/tutor10_2_4 b/result/relaxng/tutor10_2_4
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_2_4
+++ /dev/null
diff --git a/result/relaxng/tutor10_2_err b/result/relaxng/tutor10_2_err
deleted file mode 100644
index b3e32a6..0000000
--- a/result/relaxng/tutor10_2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor10_2.rng validates
diff --git a/result/relaxng/tutor10_2_valid b/result/relaxng/tutor10_2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_2_valid
+++ /dev/null
diff --git a/result/relaxng/tutor10_3_1 b/result/relaxng/tutor10_3_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_3_1
+++ /dev/null
diff --git a/result/relaxng/tutor10_3_err b/result/relaxng/tutor10_3_err
deleted file mode 100644
index 3c714aa..0000000
--- a/result/relaxng/tutor10_3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor10_3.rng validates
diff --git a/result/relaxng/tutor10_3_valid b/result/relaxng/tutor10_3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_3_valid
+++ /dev/null
diff --git a/result/relaxng/tutor10_4_1 b/result/relaxng/tutor10_4_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_4_1
+++ /dev/null
diff --git a/result/relaxng/tutor10_4_err b/result/relaxng/tutor10_4_err
deleted file mode 100644
index 3208137..0000000
--- a/result/relaxng/tutor10_4_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor10_4.rng validates
diff --git a/result/relaxng/tutor10_4_valid b/result/relaxng/tutor10_4_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_4_valid
+++ /dev/null
diff --git a/result/relaxng/tutor10_5_1 b/result/relaxng/tutor10_5_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_5_1
+++ /dev/null
diff --git a/result/relaxng/tutor10_5_err b/result/relaxng/tutor10_5_err
deleted file mode 100644
index 49808cf..0000000
--- a/result/relaxng/tutor10_5_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor10_5.rng validates
diff --git a/result/relaxng/tutor10_5_valid b/result/relaxng/tutor10_5_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_5_valid
+++ /dev/null
diff --git a/result/relaxng/tutor10_6_1 b/result/relaxng/tutor10_6_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_6_1
+++ /dev/null
diff --git a/result/relaxng/tutor10_6_err b/result/relaxng/tutor10_6_err
deleted file mode 100644
index 09368c1..0000000
--- a/result/relaxng/tutor10_6_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor10_6.rng validates
diff --git a/result/relaxng/tutor10_6_valid b/result/relaxng/tutor10_6_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_6_valid
+++ /dev/null
diff --git a/result/relaxng/tutor10_7_1 b/result/relaxng/tutor10_7_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_7_1
+++ /dev/null
diff --git a/result/relaxng/tutor10_7_2 b/result/relaxng/tutor10_7_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_7_2
+++ /dev/null
diff --git a/result/relaxng/tutor10_7_3 b/result/relaxng/tutor10_7_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_7_3
+++ /dev/null
diff --git a/result/relaxng/tutor10_7_err b/result/relaxng/tutor10_7_err
deleted file mode 100644
index 081a230..0000000
--- a/result/relaxng/tutor10_7_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor10_7.rng validates
diff --git a/result/relaxng/tutor10_7_valid b/result/relaxng/tutor10_7_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_7_valid
+++ /dev/null
diff --git a/result/relaxng/tutor10_8_1 b/result/relaxng/tutor10_8_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_8_1
+++ /dev/null
diff --git a/result/relaxng/tutor10_8_2 b/result/relaxng/tutor10_8_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_8_2
+++ /dev/null
diff --git a/result/relaxng/tutor10_8_3 b/result/relaxng/tutor10_8_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_8_3
+++ /dev/null
diff --git a/result/relaxng/tutor10_8_err b/result/relaxng/tutor10_8_err
deleted file mode 100644
index 1a864cc..0000000
--- a/result/relaxng/tutor10_8_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor10_8.rng validates
diff --git a/result/relaxng/tutor10_8_valid b/result/relaxng/tutor10_8_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_8_valid
+++ /dev/null
diff --git a/result/relaxng/tutor10_9_1 b/result/relaxng/tutor10_9_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_9_1
+++ /dev/null
diff --git a/result/relaxng/tutor10_9_err b/result/relaxng/tutor10_9_err
deleted file mode 100644
index 942058e..0000000
--- a/result/relaxng/tutor10_9_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor10_9.rng validates
diff --git a/result/relaxng/tutor10_9_valid b/result/relaxng/tutor10_9_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor10_9_valid
+++ /dev/null
diff --git a/result/relaxng/tutor11_1_1 b/result/relaxng/tutor11_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor11_1_2 b/result/relaxng/tutor11_1_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_1_2
+++ /dev/null
diff --git a/result/relaxng/tutor11_1_3 b/result/relaxng/tutor11_1_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_1_3
+++ /dev/null
diff --git a/result/relaxng/tutor11_1_err b/result/relaxng/tutor11_1_err
deleted file mode 100644
index 88347fe..0000000
--- a/result/relaxng/tutor11_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor11_1.rng validates
diff --git a/result/relaxng/tutor11_1_valid b/result/relaxng/tutor11_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor11_2_1 b/result/relaxng/tutor11_2_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_2_1
+++ /dev/null
diff --git a/result/relaxng/tutor11_2_2 b/result/relaxng/tutor11_2_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_2_2
+++ /dev/null
diff --git a/result/relaxng/tutor11_2_3 b/result/relaxng/tutor11_2_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_2_3
+++ /dev/null
diff --git a/result/relaxng/tutor11_2_err b/result/relaxng/tutor11_2_err
deleted file mode 100644
index 3294c13..0000000
--- a/result/relaxng/tutor11_2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor11_2.rng validates
diff --git a/result/relaxng/tutor11_2_valid b/result/relaxng/tutor11_2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_2_valid
+++ /dev/null
diff --git a/result/relaxng/tutor11_3_1 b/result/relaxng/tutor11_3_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_3_1
+++ /dev/null
diff --git a/result/relaxng/tutor11_3_err b/result/relaxng/tutor11_3_err
deleted file mode 100644
index 14d9d44..0000000
--- a/result/relaxng/tutor11_3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor11_3.rng validates
diff --git a/result/relaxng/tutor11_3_valid b/result/relaxng/tutor11_3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_3_valid
+++ /dev/null
diff --git a/result/relaxng/tutor11_4_1 b/result/relaxng/tutor11_4_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_4_1
+++ /dev/null
diff --git a/result/relaxng/tutor11_4_err b/result/relaxng/tutor11_4_err
deleted file mode 100644
index f0a8339..0000000
--- a/result/relaxng/tutor11_4_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor11_4.rng validates
diff --git a/result/relaxng/tutor11_4_valid b/result/relaxng/tutor11_4_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor11_4_valid
+++ /dev/null
diff --git a/result/relaxng/tutor12_1_1 b/result/relaxng/tutor12_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor12_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor12_1_err b/result/relaxng/tutor12_1_err
deleted file mode 100644
index a02fb41..0000000
--- a/result/relaxng/tutor12_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor12_1.rng validates
diff --git a/result/relaxng/tutor12_1_valid b/result/relaxng/tutor12_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor12_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor13_1_1 b/result/relaxng/tutor13_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor13_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor13_1_err b/result/relaxng/tutor13_1_err
deleted file mode 100644
index ccd11ad..0000000
--- a/result/relaxng/tutor13_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor13_1.rng validates
diff --git a/result/relaxng/tutor13_1_valid b/result/relaxng/tutor13_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor13_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor14_1_err b/result/relaxng/tutor14_1_err
deleted file mode 100644
index 191ec3d..0000000
--- a/result/relaxng/tutor14_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor14_1.rng validates
diff --git a/result/relaxng/tutor14_1_valid b/result/relaxng/tutor14_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor14_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor1_1_1 b/result/relaxng/tutor1_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor1_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor1_1_err b/result/relaxng/tutor1_1_err
deleted file mode 100644
index d7cbfe8..0000000
--- a/result/relaxng/tutor1_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor1_1.rng validates
diff --git a/result/relaxng/tutor1_1_valid b/result/relaxng/tutor1_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor1_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor1_2_1 b/result/relaxng/tutor1_2_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor1_2_1
+++ /dev/null
diff --git a/result/relaxng/tutor1_2_err b/result/relaxng/tutor1_2_err
deleted file mode 100644
index 97d32b2..0000000
--- a/result/relaxng/tutor1_2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor1_2.rng validates
diff --git a/result/relaxng/tutor1_2_valid b/result/relaxng/tutor1_2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor1_2_valid
+++ /dev/null
diff --git a/result/relaxng/tutor1_3_1 b/result/relaxng/tutor1_3_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor1_3_1
+++ /dev/null
diff --git a/result/relaxng/tutor1_3_err b/result/relaxng/tutor1_3_err
deleted file mode 100644
index 4941f8f..0000000
--- a/result/relaxng/tutor1_3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor1_3.rng validates
diff --git a/result/relaxng/tutor1_3_valid b/result/relaxng/tutor1_3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor1_3_valid
+++ /dev/null
diff --git a/result/relaxng/tutor1_4_1 b/result/relaxng/tutor1_4_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor1_4_1
+++ /dev/null
diff --git a/result/relaxng/tutor1_4_err b/result/relaxng/tutor1_4_err
deleted file mode 100644
index a1fd60c..0000000
--- a/result/relaxng/tutor1_4_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor1_4.rng validates
diff --git a/result/relaxng/tutor1_4_valid b/result/relaxng/tutor1_4_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor1_4_valid
+++ /dev/null
diff --git a/result/relaxng/tutor2_1_1 b/result/relaxng/tutor2_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor2_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor2_1_err b/result/relaxng/tutor2_1_err
deleted file mode 100644
index df4778e..0000000
--- a/result/relaxng/tutor2_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor2_1.rng validates
diff --git a/result/relaxng/tutor2_1_valid b/result/relaxng/tutor2_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor2_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor3_1_1 b/result/relaxng/tutor3_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor3_1_2 b/result/relaxng/tutor3_1_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_1_2
+++ /dev/null
diff --git a/result/relaxng/tutor3_1_err b/result/relaxng/tutor3_1_err
deleted file mode 100644
index 949ef9a..0000000
--- a/result/relaxng/tutor3_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor3_1.rng validates
diff --git a/result/relaxng/tutor3_1_valid b/result/relaxng/tutor3_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor3_2_1 b/result/relaxng/tutor3_2_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_2_1
+++ /dev/null
diff --git a/result/relaxng/tutor3_2_err b/result/relaxng/tutor3_2_err
deleted file mode 100644
index b6cb1ad..0000000
--- a/result/relaxng/tutor3_2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor3_2.rng validates
diff --git a/result/relaxng/tutor3_2_valid b/result/relaxng/tutor3_2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_2_valid
+++ /dev/null
diff --git a/result/relaxng/tutor3_3_1 b/result/relaxng/tutor3_3_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_3_1
+++ /dev/null
diff --git a/result/relaxng/tutor3_3_err b/result/relaxng/tutor3_3_err
deleted file mode 100644
index 92e83b6..0000000
--- a/result/relaxng/tutor3_3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor3_3.rng validates
diff --git a/result/relaxng/tutor3_3_valid b/result/relaxng/tutor3_3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_3_valid
+++ /dev/null
diff --git a/result/relaxng/tutor3_4_1 b/result/relaxng/tutor3_4_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_4_1
+++ /dev/null
diff --git a/result/relaxng/tutor3_4_err b/result/relaxng/tutor3_4_err
deleted file mode 100644
index 61ef41f..0000000
--- a/result/relaxng/tutor3_4_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor3_4.rng validates
diff --git a/result/relaxng/tutor3_4_valid b/result/relaxng/tutor3_4_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_4_valid
+++ /dev/null
diff --git a/result/relaxng/tutor3_5_1 b/result/relaxng/tutor3_5_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_5_1
+++ /dev/null
diff --git a/result/relaxng/tutor3_5_2 b/result/relaxng/tutor3_5_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_5_2
+++ /dev/null
diff --git a/result/relaxng/tutor3_5_err b/result/relaxng/tutor3_5_err
deleted file mode 100644
index 2e36868..0000000
--- a/result/relaxng/tutor3_5_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor3_5.rng validates
diff --git a/result/relaxng/tutor3_5_valid b/result/relaxng/tutor3_5_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_5_valid
+++ /dev/null
diff --git a/result/relaxng/tutor3_6_1 b/result/relaxng/tutor3_6_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_6_1
+++ /dev/null
diff --git a/result/relaxng/tutor3_6_err b/result/relaxng/tutor3_6_err
deleted file mode 100644
index 8479bea..0000000
--- a/result/relaxng/tutor3_6_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor3_6.rng validates
diff --git a/result/relaxng/tutor3_6_valid b/result/relaxng/tutor3_6_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_6_valid
+++ /dev/null
diff --git a/result/relaxng/tutor3_7_1 b/result/relaxng/tutor3_7_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_7_1
+++ /dev/null
diff --git a/result/relaxng/tutor3_7_err b/result/relaxng/tutor3_7_err
deleted file mode 100644
index 2546132..0000000
--- a/result/relaxng/tutor3_7_err
+++ /dev/null
@@ -1,4 +0,0 @@
-./test/relaxng/tutor3_7.rng:1: element element: Relax-NG validity error : Expecting an element , got nothing
-./test/relaxng/tutor3_7.rng:1: element element: Relax-NG validity error : Invalid sequence in interleave
-./test/relaxng/tutor3_7.rng:1: element element: Relax-NG validity error : Element element failed to validate content
-./test/relaxng/tutor3_7.rng fails to validate
diff --git a/result/relaxng/tutor3_7_valid b/result/relaxng/tutor3_7_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_7_valid
+++ /dev/null
diff --git a/result/relaxng/tutor3_8_1 b/result/relaxng/tutor3_8_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_8_1
+++ /dev/null
diff --git a/result/relaxng/tutor3_8_err b/result/relaxng/tutor3_8_err
deleted file mode 100644
index 44fe75d..0000000
--- a/result/relaxng/tutor3_8_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor3_8.rng validates
diff --git a/result/relaxng/tutor3_8_valid b/result/relaxng/tutor3_8_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_8_valid
+++ /dev/null
diff --git a/result/relaxng/tutor3_9_1 b/result/relaxng/tutor3_9_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_9_1
+++ /dev/null
diff --git a/result/relaxng/tutor3_9_err b/result/relaxng/tutor3_9_err
deleted file mode 100644
index d54fbe0..0000000
--- a/result/relaxng/tutor3_9_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor3_9.rng validates
diff --git a/result/relaxng/tutor3_9_valid b/result/relaxng/tutor3_9_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor3_9_valid
+++ /dev/null
diff --git a/result/relaxng/tutor4_1_1 b/result/relaxng/tutor4_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor4_1_err b/result/relaxng/tutor4_1_err
deleted file mode 100644
index 94f0289..0000000
--- a/result/relaxng/tutor4_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor4_1.rng validates
diff --git a/result/relaxng/tutor4_1_valid b/result/relaxng/tutor4_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor4_2_1 b/result/relaxng/tutor4_2_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_2_1
+++ /dev/null
diff --git a/result/relaxng/tutor4_2_err b/result/relaxng/tutor4_2_err
deleted file mode 100644
index 82085d0..0000000
--- a/result/relaxng/tutor4_2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor4_2.rng validates
diff --git a/result/relaxng/tutor4_2_valid b/result/relaxng/tutor4_2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_2_valid
+++ /dev/null
diff --git a/result/relaxng/tutor4_3_1 b/result/relaxng/tutor4_3_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_3_1
+++ /dev/null
diff --git a/result/relaxng/tutor4_3_2 b/result/relaxng/tutor4_3_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_3_2
+++ /dev/null
diff --git a/result/relaxng/tutor4_3_3 b/result/relaxng/tutor4_3_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_3_3
+++ /dev/null
diff --git a/result/relaxng/tutor4_3_4 b/result/relaxng/tutor4_3_4
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_3_4
+++ /dev/null
diff --git a/result/relaxng/tutor4_3_5 b/result/relaxng/tutor4_3_5
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_3_5
+++ /dev/null
diff --git a/result/relaxng/tutor4_3_6 b/result/relaxng/tutor4_3_6
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_3_6
+++ /dev/null
diff --git a/result/relaxng/tutor4_3_err b/result/relaxng/tutor4_3_err
deleted file mode 100644
index 74eb8b2..0000000
--- a/result/relaxng/tutor4_3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor4_3.rng validates
diff --git a/result/relaxng/tutor4_3_valid b/result/relaxng/tutor4_3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_3_valid
+++ /dev/null
diff --git a/result/relaxng/tutor4_4_1 b/result/relaxng/tutor4_4_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_4_1
+++ /dev/null
diff --git a/result/relaxng/tutor4_4_err b/result/relaxng/tutor4_4_err
deleted file mode 100644
index 641ee87..0000000
--- a/result/relaxng/tutor4_4_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor4_4.rng validates
diff --git a/result/relaxng/tutor4_4_valid b/result/relaxng/tutor4_4_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor4_4_valid
+++ /dev/null
diff --git a/result/relaxng/tutor5_1_1 b/result/relaxng/tutor5_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor5_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor5_1_err b/result/relaxng/tutor5_1_err
deleted file mode 100644
index 586fd98..0000000
--- a/result/relaxng/tutor5_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor5_1.rng validates
diff --git a/result/relaxng/tutor5_1_valid b/result/relaxng/tutor5_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor5_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor5_2_1 b/result/relaxng/tutor5_2_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor5_2_1
+++ /dev/null
diff --git a/result/relaxng/tutor5_2_err b/result/relaxng/tutor5_2_err
deleted file mode 100644
index de8f423..0000000
--- a/result/relaxng/tutor5_2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor5_2.rng validates
diff --git a/result/relaxng/tutor5_2_valid b/result/relaxng/tutor5_2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor5_2_valid
+++ /dev/null
diff --git a/result/relaxng/tutor5_3_1 b/result/relaxng/tutor5_3_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor5_3_1
+++ /dev/null
diff --git a/result/relaxng/tutor5_3_err b/result/relaxng/tutor5_3_err
deleted file mode 100644
index f00a543..0000000
--- a/result/relaxng/tutor5_3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor5_3.rng validates
diff --git a/result/relaxng/tutor5_3_valid b/result/relaxng/tutor5_3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor5_3_valid
+++ /dev/null
diff --git a/result/relaxng/tutor5_4_1 b/result/relaxng/tutor5_4_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor5_4_1
+++ /dev/null
diff --git a/result/relaxng/tutor5_4_err b/result/relaxng/tutor5_4_err
deleted file mode 100644
index 669b41d..0000000
--- a/result/relaxng/tutor5_4_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor5_4.rng validates
diff --git a/result/relaxng/tutor5_4_valid b/result/relaxng/tutor5_4_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor5_4_valid
+++ /dev/null
diff --git a/result/relaxng/tutor5_5_err b/result/relaxng/tutor5_5_err
deleted file mode 100644
index 4f9f0f5..0000000
--- a/result/relaxng/tutor5_5_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor5_5.rng validates
diff --git a/result/relaxng/tutor5_5_valid b/result/relaxng/tutor5_5_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor5_5_valid
+++ /dev/null
diff --git a/result/relaxng/tutor6_1_1 b/result/relaxng/tutor6_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor6_1_2 b/result/relaxng/tutor6_1_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_1_2
+++ /dev/null
diff --git a/result/relaxng/tutor6_1_3 b/result/relaxng/tutor6_1_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_1_3
+++ /dev/null
diff --git a/result/relaxng/tutor6_1_4 b/result/relaxng/tutor6_1_4
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_1_4
+++ /dev/null
diff --git a/result/relaxng/tutor6_1_5 b/result/relaxng/tutor6_1_5
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_1_5
+++ /dev/null
diff --git a/result/relaxng/tutor6_1_err b/result/relaxng/tutor6_1_err
deleted file mode 100644
index 7440829..0000000
--- a/result/relaxng/tutor6_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor6_1.rng validates
diff --git a/result/relaxng/tutor6_1_valid b/result/relaxng/tutor6_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor6_2_1 b/result/relaxng/tutor6_2_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_2_1
+++ /dev/null
diff --git a/result/relaxng/tutor6_2_2 b/result/relaxng/tutor6_2_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_2_2
+++ /dev/null
diff --git a/result/relaxng/tutor6_2_3 b/result/relaxng/tutor6_2_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_2_3
+++ /dev/null
diff --git a/result/relaxng/tutor6_2_4 b/result/relaxng/tutor6_2_4
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_2_4
+++ /dev/null
diff --git a/result/relaxng/tutor6_2_err b/result/relaxng/tutor6_2_err
deleted file mode 100644
index ba78ec9..0000000
--- a/result/relaxng/tutor6_2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor6_2.rng validates
diff --git a/result/relaxng/tutor6_2_valid b/result/relaxng/tutor6_2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_2_valid
+++ /dev/null
diff --git a/result/relaxng/tutor6_3_1 b/result/relaxng/tutor6_3_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_3_1
+++ /dev/null
diff --git a/result/relaxng/tutor6_3_err b/result/relaxng/tutor6_3_err
deleted file mode 100644
index 35dbe51..0000000
--- a/result/relaxng/tutor6_3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor6_3.rng validates
diff --git a/result/relaxng/tutor6_3_valid b/result/relaxng/tutor6_3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor6_3_valid
+++ /dev/null
diff --git a/result/relaxng/tutor7_1_1 b/result/relaxng/tutor7_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor7_1_2 b/result/relaxng/tutor7_1_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_1_2
+++ /dev/null
diff --git a/result/relaxng/tutor7_1_3 b/result/relaxng/tutor7_1_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_1_3
+++ /dev/null
diff --git a/result/relaxng/tutor7_1_4 b/result/relaxng/tutor7_1_4
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_1_4
+++ /dev/null
diff --git a/result/relaxng/tutor7_1_err b/result/relaxng/tutor7_1_err
deleted file mode 100644
index 03d273f..0000000
--- a/result/relaxng/tutor7_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor7_1.rng validates
diff --git a/result/relaxng/tutor7_1_valid b/result/relaxng/tutor7_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor7_2_1 b/result/relaxng/tutor7_2_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_2_1
+++ /dev/null
diff --git a/result/relaxng/tutor7_2_2 b/result/relaxng/tutor7_2_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_2_2
+++ /dev/null
diff --git a/result/relaxng/tutor7_2_3 b/result/relaxng/tutor7_2_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_2_3
+++ /dev/null
diff --git a/result/relaxng/tutor7_2_4 b/result/relaxng/tutor7_2_4
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_2_4
+++ /dev/null
diff --git a/result/relaxng/tutor7_2_err b/result/relaxng/tutor7_2_err
deleted file mode 100644
index cec5245..0000000
--- a/result/relaxng/tutor7_2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor7_2.rng validates
diff --git a/result/relaxng/tutor7_2_valid b/result/relaxng/tutor7_2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_2_valid
+++ /dev/null
diff --git a/result/relaxng/tutor7_3_1 b/result/relaxng/tutor7_3_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_3_1
+++ /dev/null
diff --git a/result/relaxng/tutor7_3_2 b/result/relaxng/tutor7_3_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_3_2
+++ /dev/null
diff --git a/result/relaxng/tutor7_3_3 b/result/relaxng/tutor7_3_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_3_3
+++ /dev/null
diff --git a/result/relaxng/tutor7_3_4 b/result/relaxng/tutor7_3_4
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_3_4
+++ /dev/null
diff --git a/result/relaxng/tutor7_3_5 b/result/relaxng/tutor7_3_5
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_3_5
+++ /dev/null
diff --git a/result/relaxng/tutor7_3_err b/result/relaxng/tutor7_3_err
deleted file mode 100644
index 9f1c5a3..0000000
--- a/result/relaxng/tutor7_3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor7_3.rng validates
diff --git a/result/relaxng/tutor7_3_valid b/result/relaxng/tutor7_3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor7_3_valid
+++ /dev/null
diff --git a/result/relaxng/tutor8_1_1 b/result/relaxng/tutor8_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor8_1_2 b/result/relaxng/tutor8_1_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_1_2
+++ /dev/null
diff --git a/result/relaxng/tutor8_1_err b/result/relaxng/tutor8_1_err
deleted file mode 100644
index a4f6ce5..0000000
--- a/result/relaxng/tutor8_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor8_1.rng validates
diff --git a/result/relaxng/tutor8_1_valid b/result/relaxng/tutor8_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor8_2_1 b/result/relaxng/tutor8_2_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_2_1
+++ /dev/null
diff --git a/result/relaxng/tutor8_2_2 b/result/relaxng/tutor8_2_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_2_2
+++ /dev/null
diff --git a/result/relaxng/tutor8_2_3 b/result/relaxng/tutor8_2_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_2_3
+++ /dev/null
diff --git a/result/relaxng/tutor8_2_4 b/result/relaxng/tutor8_2_4
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_2_4
+++ /dev/null
diff --git a/result/relaxng/tutor8_2_5 b/result/relaxng/tutor8_2_5
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_2_5
+++ /dev/null
diff --git a/result/relaxng/tutor8_2_6 b/result/relaxng/tutor8_2_6
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_2_6
+++ /dev/null
diff --git a/result/relaxng/tutor8_2_err b/result/relaxng/tutor8_2_err
deleted file mode 100644
index fa3dcb2..0000000
--- a/result/relaxng/tutor8_2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor8_2.rng validates
diff --git a/result/relaxng/tutor8_2_valid b/result/relaxng/tutor8_2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_2_valid
+++ /dev/null
diff --git a/result/relaxng/tutor8_3_1 b/result/relaxng/tutor8_3_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_3_1
+++ /dev/null
diff --git a/result/relaxng/tutor8_3_err b/result/relaxng/tutor8_3_err
deleted file mode 100644
index 01c6184..0000000
--- a/result/relaxng/tutor8_3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor8_3.rng validates
diff --git a/result/relaxng/tutor8_3_valid b/result/relaxng/tutor8_3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor8_3_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_10_1 b/result/relaxng/tutor9_10_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_10_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_10_err b/result/relaxng/tutor9_10_err
deleted file mode 100644
index a8a7cb6..0000000
--- a/result/relaxng/tutor9_10_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_10.rng validates
diff --git a/result/relaxng/tutor9_10_valid b/result/relaxng/tutor9_10_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_10_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_11_1 b/result/relaxng/tutor9_11_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_11_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_11_err b/result/relaxng/tutor9_11_err
deleted file mode 100644
index edd98bf..0000000
--- a/result/relaxng/tutor9_11_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_11.rng validates
diff --git a/result/relaxng/tutor9_11_valid b/result/relaxng/tutor9_11_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_11_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_12_1 b/result/relaxng/tutor9_12_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_12_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_12_err b/result/relaxng/tutor9_12_err
deleted file mode 100644
index 8881730..0000000
--- a/result/relaxng/tutor9_12_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_12.rng validates
diff --git a/result/relaxng/tutor9_12_valid b/result/relaxng/tutor9_12_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_12_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_1_1 b/result/relaxng/tutor9_1_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_1_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_1_err b/result/relaxng/tutor9_1_err
deleted file mode 100644
index 22c5f37..0000000
--- a/result/relaxng/tutor9_1_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_1.rng validates
diff --git a/result/relaxng/tutor9_1_valid b/result/relaxng/tutor9_1_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_1_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_2_1 b/result/relaxng/tutor9_2_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_2_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_2_2 b/result/relaxng/tutor9_2_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_2_2
+++ /dev/null
diff --git a/result/relaxng/tutor9_2_err b/result/relaxng/tutor9_2_err
deleted file mode 100644
index 83c34ff..0000000
--- a/result/relaxng/tutor9_2_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_2.rng validates
diff --git a/result/relaxng/tutor9_2_valid b/result/relaxng/tutor9_2_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_2_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_3_1 b/result/relaxng/tutor9_3_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_3_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_3_2 b/result/relaxng/tutor9_3_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_3_2
+++ /dev/null
diff --git a/result/relaxng/tutor9_3_err b/result/relaxng/tutor9_3_err
deleted file mode 100644
index 0a82f8e..0000000
--- a/result/relaxng/tutor9_3_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_3.rng validates
diff --git a/result/relaxng/tutor9_3_valid b/result/relaxng/tutor9_3_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_3_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_4_1 b/result/relaxng/tutor9_4_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_4_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_4_2 b/result/relaxng/tutor9_4_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_4_2
+++ /dev/null
diff --git a/result/relaxng/tutor9_4_err b/result/relaxng/tutor9_4_err
deleted file mode 100644
index 42d087f..0000000
--- a/result/relaxng/tutor9_4_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_4.rng validates
diff --git a/result/relaxng/tutor9_4_valid b/result/relaxng/tutor9_4_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_4_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_5_1 b/result/relaxng/tutor9_5_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_5_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_5_2 b/result/relaxng/tutor9_5_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_5_2
+++ /dev/null
diff --git a/result/relaxng/tutor9_5_3 b/result/relaxng/tutor9_5_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_5_3
+++ /dev/null
diff --git a/result/relaxng/tutor9_5_err b/result/relaxng/tutor9_5_err
deleted file mode 100644
index e6ddd7a..0000000
--- a/result/relaxng/tutor9_5_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_5.rng validates
diff --git a/result/relaxng/tutor9_5_valid b/result/relaxng/tutor9_5_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_5_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_6.rng b/result/relaxng/tutor9_6.rng
deleted file mode 100644
index 17e6492..0000000
--- a/result/relaxng/tutor9_6.rng
+++ /dev/null
@@ -1,24 +0,0 @@
-<grammar>
-
-  <start>
-    <element name="addressBook">
-      <zeroOrMore>
-	<element name="card">
-	  <ref name="card.attlist"/>
-	</element>
-      </zeroOrMore>
-    </element>
-  </start>
-
-  <define name="card.attlist">
-    <group>
-      <attribute name="name">
-	<text/>
-      </attribute>
-      <attribute name="email">
-	<text/>
-      </attribute>
-    </group>
-  </define>
-
-</grammar>
diff --git a/result/relaxng/tutor9_6_1 b/result/relaxng/tutor9_6_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_6_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_6_2 b/result/relaxng/tutor9_6_2
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_6_2
+++ /dev/null
diff --git a/result/relaxng/tutor9_6_3 b/result/relaxng/tutor9_6_3
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_6_3
+++ /dev/null
diff --git a/result/relaxng/tutor9_6_err b/result/relaxng/tutor9_6_err
deleted file mode 100644
index 897a092..0000000
--- a/result/relaxng/tutor9_6_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_6.rng validates
diff --git a/result/relaxng/tutor9_6_valid b/result/relaxng/tutor9_6_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_6_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_7_1 b/result/relaxng/tutor9_7_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_7_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_7_err b/result/relaxng/tutor9_7_err
deleted file mode 100644
index e171320..0000000
--- a/result/relaxng/tutor9_7_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_7.rng validates
diff --git a/result/relaxng/tutor9_7_valid b/result/relaxng/tutor9_7_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_7_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_8_1 b/result/relaxng/tutor9_8_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_8_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_8_err b/result/relaxng/tutor9_8_err
deleted file mode 100644
index 41a926c..0000000
--- a/result/relaxng/tutor9_8_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_8.rng validates
diff --git a/result/relaxng/tutor9_8_valid b/result/relaxng/tutor9_8_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_8_valid
+++ /dev/null
diff --git a/result/relaxng/tutor9_9_1 b/result/relaxng/tutor9_9_1
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_9_1
+++ /dev/null
diff --git a/result/relaxng/tutor9_9_err b/result/relaxng/tutor9_9_err
deleted file mode 100644
index c4a95fd..0000000
--- a/result/relaxng/tutor9_9_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutor9_9.rng validates
diff --git a/result/relaxng/tutor9_9_valid b/result/relaxng/tutor9_9_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutor9_9_valid
+++ /dev/null
diff --git a/result/relaxng/tutorA_err b/result/relaxng/tutorA_err
deleted file mode 100644
index b4ab892..0000000
--- a/result/relaxng/tutorA_err
+++ /dev/null
@@ -1 +0,0 @@
-./test/relaxng/tutorA.rng validates
diff --git a/result/relaxng/tutorA_valid b/result/relaxng/tutorA_valid
deleted file mode 100644
index e69de29..0000000
--- a/result/relaxng/tutorA_valid
+++ /dev/null
diff --git a/result/schemas/570702_0_0.err b/result/schemas/570702_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/570702_0_0.err
+++ /dev/null
diff --git a/result/schemas/579746_0_0.err b/result/schemas/579746_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/579746_0_0.err
+++ /dev/null
diff --git a/result/schemas/579746_0_1.err b/result/schemas/579746_0_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/579746_0_1.err
+++ /dev/null
diff --git a/result/schemas/579746_0_2.err b/result/schemas/579746_0_2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/579746_0_2.err
+++ /dev/null
diff --git a/result/schemas/579746_0_4.err b/result/schemas/579746_0_4.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/579746_0_4.err
+++ /dev/null
diff --git a/result/schemas/579746_1_0.err b/result/schemas/579746_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/579746_1_0.err
+++ /dev/null
diff --git a/result/schemas/579746_1_1.err b/result/schemas/579746_1_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/579746_1_1.err
+++ /dev/null
diff --git a/result/schemas/579746_1_2.err b/result/schemas/579746_1_2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/579746_1_2.err
+++ /dev/null
diff --git a/result/schemas/579746_1_4.err b/result/schemas/579746_1_4.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/579746_1_4.err
+++ /dev/null
diff --git a/result/schemas/582887_0_0.err b/result/schemas/582887_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/582887_0_0.err
+++ /dev/null
diff --git a/result/schemas/582906-1_0_0.err b/result/schemas/582906-1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/582906-1_0_0.err
+++ /dev/null
diff --git a/result/schemas/582906-2_0_0 b/result/schemas/582906-2_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/582906-2_0_0
+++ /dev/null
diff --git a/result/schemas/all1_0_0.err b/result/schemas/all1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/all1_0_0.err
+++ /dev/null
diff --git a/result/schemas/all_0_0.err b/result/schemas/all_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/all_0_0.err
+++ /dev/null
diff --git a/result/schemas/all_0_1.err b/result/schemas/all_0_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/all_0_1.err
+++ /dev/null
diff --git a/result/schemas/all_0_2.err b/result/schemas/all_0_2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/all_0_2.err
+++ /dev/null
diff --git a/result/schemas/all_1_0.err b/result/schemas/all_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/all_1_0.err
+++ /dev/null
diff --git a/result/schemas/all_1_1.err b/result/schemas/all_1_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/all_1_1.err
+++ /dev/null
diff --git a/result/schemas/all_1_2.err b/result/schemas/all_1_2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/all_1_2.err
+++ /dev/null
diff --git a/result/schemas/all_1_4.err b/result/schemas/all_1_4.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/all_1_4.err
+++ /dev/null
diff --git a/result/schemas/all_2_3.err b/result/schemas/all_2_3.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/all_2_3.err
+++ /dev/null
diff --git a/result/schemas/all_2_6.err b/result/schemas/all_2_6.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/all_2_6.err
+++ /dev/null
diff --git a/result/schemas/all_2_7.err b/result/schemas/all_2_7.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/all_2_7.err
+++ /dev/null
diff --git a/result/schemas/allsg_0_0.err b/result/schemas/allsg_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/allsg_0_0.err
+++ /dev/null
diff --git a/result/schemas/allsg_0_1.err b/result/schemas/allsg_0_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/allsg_0_1.err
+++ /dev/null
diff --git a/result/schemas/allsg_0_2.err b/result/schemas/allsg_0_2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/allsg_0_2.err
+++ /dev/null
diff --git a/result/schemas/annot-err_0_0 b/result/schemas/annot-err_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/annot-err_0_0
+++ /dev/null
diff --git a/result/schemas/any1_0_0.err b/result/schemas/any1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/any1_0_0.err
+++ /dev/null
diff --git a/result/schemas/any2_0_0.err b/result/schemas/any2_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/any2_0_0.err
+++ /dev/null
diff --git a/result/schemas/any4_0_0 b/result/schemas/any4_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/any4_0_0
+++ /dev/null
diff --git a/result/schemas/any5_0_3.err b/result/schemas/any5_0_3.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/any5_0_3.err
+++ /dev/null
diff --git a/result/schemas/any5_1_2.err b/result/schemas/any5_1_2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/any5_1_2.err
+++ /dev/null
diff --git a/result/schemas/any5_1_5.err b/result/schemas/any5_1_5.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/any5_1_5.err
+++ /dev/null
diff --git a/result/schemas/any6_1_0.err b/result/schemas/any6_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/any6_1_0.err
+++ /dev/null
diff --git a/result/schemas/any6_2_0.err b/result/schemas/any6_2_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/any6_2_0.err
+++ /dev/null
diff --git a/result/schemas/any7_1_2.err b/result/schemas/any7_1_2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/any7_1_2.err
+++ /dev/null
diff --git a/result/schemas/any7_2_2.err b/result/schemas/any7_2_2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/any7_2_2.err
+++ /dev/null
diff --git a/result/schemas/any8_1_0.err b/result/schemas/any8_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/any8_1_0.err
+++ /dev/null
diff --git a/result/schemas/anyAttr-derive-errors1_0_0.err b/result/schemas/anyAttr-derive-errors1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/anyAttr-derive-errors1_0_0.err
+++ /dev/null
diff --git a/result/schemas/anyAttr-derive1_0_0.err b/result/schemas/anyAttr-derive1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/anyAttr-derive1_0_0.err
+++ /dev/null
diff --git a/result/schemas/anyAttr-derive2_0_0.err b/result/schemas/anyAttr-derive2_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/anyAttr-derive2_0_0.err
+++ /dev/null
diff --git a/result/schemas/anyAttr-processContents1_0_0.err b/result/schemas/anyAttr-processContents1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/anyAttr-processContents1_0_0.err
+++ /dev/null
diff --git a/result/schemas/anyAttr1_0_0.err b/result/schemas/anyAttr1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/anyAttr1_0_0.err
+++ /dev/null
diff --git a/result/schemas/attr0_0_0.err b/result/schemas/attr0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/attr0_0_0.err
+++ /dev/null
diff --git a/result/schemas/attruse_0_0.err b/result/schemas/attruse_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/attruse_0_0.err
+++ /dev/null
diff --git a/result/schemas/bug141312_0_0.err b/result/schemas/bug141312_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug141312_0_0.err
+++ /dev/null
diff --git a/result/schemas/bug141333_0_0.err b/result/schemas/bug141333_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug141333_0_0.err
+++ /dev/null
diff --git a/result/schemas/bug143951_0_0.err b/result/schemas/bug143951_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug143951_0_0.err
+++ /dev/null
diff --git a/result/schemas/bug145246_0_0.err b/result/schemas/bug145246_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug145246_0_0.err
+++ /dev/null
diff --git a/result/schemas/bug152470_1_1.err b/result/schemas/bug152470_1_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug152470_1_1.err
+++ /dev/null
diff --git a/result/schemas/bug167754_0_0.err b/result/schemas/bug167754_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug167754_0_0.err
+++ /dev/null
diff --git a/result/schemas/bug306806_1_0.err b/result/schemas/bug306806_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug306806_1_0.err
+++ /dev/null
diff --git a/result/schemas/bug309338_1_0.err b/result/schemas/bug309338_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug309338_1_0.err
+++ /dev/null
diff --git a/result/schemas/bug310264_0_0.err b/result/schemas/bug310264_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug310264_0_0.err
+++ /dev/null
diff --git a/result/schemas/bug313982_0_0.err b/result/schemas/bug313982_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug313982_0_0.err
+++ /dev/null
diff --git a/result/schemas/bug321475_1_0.err b/result/schemas/bug321475_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug321475_1_0.err
+++ /dev/null
diff --git a/result/schemas/bug322411_1_0.err b/result/schemas/bug322411_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug322411_1_0.err
+++ /dev/null
diff --git a/result/schemas/bug455953_0_0.err b/result/schemas/bug455953_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/bug455953_0_0.err
+++ /dev/null
diff --git a/result/schemas/choice_0_0.err b/result/schemas/choice_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/choice_0_0.err
+++ /dev/null
diff --git a/result/schemas/choice_0_1.err b/result/schemas/choice_0_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/choice_0_1.err
+++ /dev/null
diff --git a/result/schemas/choice_1_0.err b/result/schemas/choice_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/choice_1_0.err
+++ /dev/null
diff --git a/result/schemas/choice_1_1.err b/result/schemas/choice_1_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/choice_1_1.err
+++ /dev/null
diff --git a/result/schemas/choice_1_4.err b/result/schemas/choice_1_4.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/choice_1_4.err
+++ /dev/null
diff --git a/result/schemas/choice_2_0.err b/result/schemas/choice_2_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/choice_2_0.err
+++ /dev/null
diff --git a/result/schemas/choice_2_1.err b/result/schemas/choice_2_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/choice_2_1.err
+++ /dev/null
diff --git a/result/schemas/choice_2_2.err b/result/schemas/choice_2_2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/choice_2_2.err
+++ /dev/null
diff --git a/result/schemas/choice_2_3.err b/result/schemas/choice_2_3.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/choice_2_3.err
+++ /dev/null
diff --git a/result/schemas/choice_2_5.err b/result/schemas/choice_2_5.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/choice_2_5.err
+++ /dev/null
diff --git a/result/schemas/complex-type-extension_0_0.err b/result/schemas/complex-type-extension_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/complex-type-extension_0_0.err
+++ /dev/null
diff --git a/result/schemas/cos-ct-extends-1-3_0_0.err b/result/schemas/cos-ct-extends-1-3_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/cos-ct-extends-1-3_0_0.err
+++ /dev/null
diff --git a/result/schemas/ct-sc-nobase_0_0.err b/result/schemas/ct-sc-nobase_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/ct-sc-nobase_0_0.err
+++ /dev/null
diff --git a/result/schemas/date_0_0.err b/result/schemas/date_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/date_0_0.err
+++ /dev/null
diff --git a/result/schemas/derivation-ok-extension-err_0_0 b/result/schemas/derivation-ok-extension-err_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/derivation-ok-extension-err_0_0
+++ /dev/null
diff --git a/result/schemas/derivation-ok-restriction-2-1-1_0_0 b/result/schemas/derivation-ok-restriction-2-1-1_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/derivation-ok-restriction-2-1-1_0_0
+++ /dev/null
diff --git a/result/schemas/derivation-ok-restriction-4-1-err_0_0 b/result/schemas/derivation-ok-restriction-4-1-err_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/derivation-ok-restriction-4-1-err_0_0
+++ /dev/null
diff --git a/result/schemas/derivation-restriction-anyAttr_0_0.err b/result/schemas/derivation-restriction-anyAttr_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/derivation-restriction-anyAttr_0_0.err
+++ /dev/null
diff --git a/result/schemas/deter0_0_0 b/result/schemas/deter0_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/deter0_0_0
+++ /dev/null
diff --git a/result/schemas/dur_0_0.err b/result/schemas/dur_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/dur_0_0.err
+++ /dev/null
diff --git a/result/schemas/elem0_0_0.err b/result/schemas/elem0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/elem0_0_0.err
+++ /dev/null
diff --git a/result/schemas/element-err_0_0 b/result/schemas/element-err_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/element-err_0_0
+++ /dev/null
diff --git a/result/schemas/element-minmax-err_0_0 b/result/schemas/element-minmax-err_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/element-minmax-err_0_0
+++ /dev/null
diff --git a/result/schemas/empty-value_1_0.err b/result/schemas/empty-value_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/empty-value_1_0.err
+++ /dev/null
diff --git a/result/schemas/empty-value_1_1.err b/result/schemas/empty-value_1_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/empty-value_1_1.err
+++ /dev/null
diff --git a/result/schemas/empty_0_0.err b/result/schemas/empty_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/empty_0_0.err
+++ /dev/null
diff --git a/result/schemas/empty_1_0.err b/result/schemas/empty_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/empty_1_0.err
+++ /dev/null
diff --git a/result/schemas/extension0_0_0.err b/result/schemas/extension0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/extension0_0_0.err
+++ /dev/null
diff --git a/result/schemas/extension1_0_0.err b/result/schemas/extension1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/extension1_0_0.err
+++ /dev/null
diff --git a/result/schemas/extension2_1_0.err b/result/schemas/extension2_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/extension2_1_0.err
+++ /dev/null
diff --git a/result/schemas/facet-whiteSpace_0_0.err b/result/schemas/facet-whiteSpace_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/facet-whiteSpace_0_0.err
+++ /dev/null
diff --git a/result/schemas/group0_0_0.err b/result/schemas/group0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/group0_0_0.err
+++ /dev/null
diff --git a/result/schemas/hexbinary_0_0.err b/result/schemas/hexbinary_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/hexbinary_0_0.err
+++ /dev/null
diff --git a/result/schemas/import0_0_0.err b/result/schemas/import0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/import0_0_0.err
+++ /dev/null
diff --git a/result/schemas/import1_0_0 b/result/schemas/import1_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/import1_0_0
+++ /dev/null
diff --git a/result/schemas/import2_0_0.err b/result/schemas/import2_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/import2_0_0.err
+++ /dev/null
diff --git a/result/schemas/include1_0_0.err b/result/schemas/include1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/include1_0_0.err
+++ /dev/null
diff --git a/result/schemas/include2_0_0.err b/result/schemas/include2_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/include2_0_0.err
+++ /dev/null
diff --git a/result/schemas/include3_0_0 b/result/schemas/include3_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/include3_0_0
+++ /dev/null
diff --git a/result/schemas/issue40_0_0.err b/result/schemas/issue40_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/issue40_0_0.err
+++ /dev/null
diff --git a/result/schemas/item_0_0.err b/result/schemas/item_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/item_0_0.err
+++ /dev/null
diff --git a/result/schemas/item_1_0.err b/result/schemas/item_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/item_1_0.err
+++ /dev/null
diff --git a/result/schemas/length1_0_0.err b/result/schemas/length1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/length1_0_0.err
+++ /dev/null
diff --git a/result/schemas/length2_0_0.err b/result/schemas/length2_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/length2_0_0.err
+++ /dev/null
diff --git a/result/schemas/length3_0_0 b/result/schemas/length3_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/length3_0_0
+++ /dev/null
diff --git a/result/schemas/list0_0_0.err b/result/schemas/list0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/list0_0_0.err
+++ /dev/null
diff --git a/result/schemas/list0_0_2.err b/result/schemas/list0_0_2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/list0_0_2.err
+++ /dev/null
diff --git a/result/schemas/list0_1_2.err b/result/schemas/list0_1_2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/list0_1_2.err
+++ /dev/null
diff --git a/result/schemas/mixed0_0_0.err b/result/schemas/mixed0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/mixed0_0_0.err
+++ /dev/null
diff --git a/result/schemas/mixed1_0_0.err b/result/schemas/mixed1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/mixed1_0_0.err
+++ /dev/null
diff --git a/result/schemas/ns0_0_0.err b/result/schemas/ns0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/ns0_0_0.err
+++ /dev/null
diff --git a/result/schemas/ns0_0_1.err b/result/schemas/ns0_0_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/ns0_0_1.err
+++ /dev/null
diff --git a/result/schemas/ns0_1_3.err b/result/schemas/ns0_1_3.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/ns0_1_3.err
+++ /dev/null
diff --git a/result/schemas/ns0_1_4.err b/result/schemas/ns0_1_4.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/ns0_1_4.err
+++ /dev/null
diff --git a/result/schemas/ns1_0_0.err b/result/schemas/ns1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/ns1_0_0.err
+++ /dev/null
diff --git a/result/schemas/ns2_0_0.err b/result/schemas/ns2_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/ns2_0_0.err
+++ /dev/null
diff --git a/result/schemas/nvdcve_0_0.err b/result/schemas/nvdcve_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/nvdcve_0_0.err
+++ /dev/null
diff --git a/result/schemas/oss-fuzz-51295_0_0.err b/result/schemas/oss-fuzz-51295_0_0.err
new file mode 100644
index 0000000..1e89524
--- /dev/null
+++ b/result/schemas/oss-fuzz-51295_0_0.err
@@ -0,0 +1,2 @@
+./test/schemas/oss-fuzz-51295_0.xsd:2: element element: Schemas parser error : element decl. 'e': The element declaration 'e' defines a circular substitution group to element declaration 'e'.
+./test/schemas/oss-fuzz-51295_0.xsd:2: element element: Schemas parser error : element decl. 'e': The element declaration 'e' defines a circular substitution group to element declaration 'e'.
diff --git a/result/schemas/po0_0_0.err b/result/schemas/po0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/po0_0_0.err
+++ /dev/null
diff --git a/result/schemas/po1_0_0.err b/result/schemas/po1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/po1_0_0.err
+++ /dev/null
diff --git a/result/schemas/poschargrp0_0_0.err b/result/schemas/poschargrp0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/poschargrp0_0_0.err
+++ /dev/null
diff --git a/result/schemas/regexp-char-ref_0_0.err b/result/schemas/regexp-char-ref_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/regexp-char-ref_0_0.err
+++ /dev/null
diff --git a/result/schemas/regexp-char-ref_1_0.err b/result/schemas/regexp-char-ref_1_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/regexp-char-ref_1_0.err
+++ /dev/null
diff --git a/result/schemas/restrict-CT-attr-ref_0_0.err b/result/schemas/restrict-CT-attr-ref_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/restrict-CT-attr-ref_0_0.err
+++ /dev/null
diff --git a/result/schemas/restriction-attr1_0_0 b/result/schemas/restriction-attr1_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/restriction-attr1_0_0
+++ /dev/null
diff --git a/result/schemas/restriction0_0_0.err b/result/schemas/restriction0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/restriction0_0_0.err
+++ /dev/null
diff --git a/result/schemas/scc-no-xmlns_0_0 b/result/schemas/scc-no-xmlns_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/scc-no-xmlns_0_0
+++ /dev/null
diff --git a/result/schemas/scc-no-xsi_0_0 b/result/schemas/scc-no-xsi_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/scc-no-xsi_0_0
+++ /dev/null
diff --git a/result/schemas/seq-dubl-elem1_0_0.err b/result/schemas/seq-dubl-elem1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/seq-dubl-elem1_0_0.err
+++ /dev/null
diff --git a/result/schemas/seq0_0_0.err b/result/schemas/seq0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/seq0_0_0.err
+++ /dev/null
diff --git a/result/schemas/src-attribute1_0_0 b/result/schemas/src-attribute1_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/src-attribute1_0_0
+++ /dev/null
diff --git a/result/schemas/src-attribute2_0_0 b/result/schemas/src-attribute2_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/src-attribute2_0_0
+++ /dev/null
diff --git a/result/schemas/src-attribute3-1_0_0 b/result/schemas/src-attribute3-1_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/src-attribute3-1_0_0
+++ /dev/null
diff --git a/result/schemas/src-attribute3-2-form_0_0 b/result/schemas/src-attribute3-2-form_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/src-attribute3-2-form_0_0
+++ /dev/null
diff --git a/result/schemas/src-attribute3-2-st_0_0 b/result/schemas/src-attribute3-2-st_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/src-attribute3-2-st_0_0
+++ /dev/null
diff --git a/result/schemas/src-attribute3-2-type_0_0 b/result/schemas/src-attribute3-2-type_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/src-attribute3-2-type_0_0
+++ /dev/null
diff --git a/result/schemas/src-attribute4_0_0 b/result/schemas/src-attribute4_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/src-attribute4_0_0
+++ /dev/null
diff --git a/result/schemas/src-element1_0_0 b/result/schemas/src-element1_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/src-element1_0_0
+++ /dev/null
diff --git a/result/schemas/src-element2-1_0_0 b/result/schemas/src-element2-1_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/src-element2-1_0_0
+++ /dev/null
diff --git a/result/schemas/src-element2-2_0_0 b/result/schemas/src-element2-2_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/src-element2-2_0_0
+++ /dev/null
diff --git a/result/schemas/src-element3_0_0 b/result/schemas/src-element3_0_0
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/src-element3_0_0
+++ /dev/null
diff --git a/result/schemas/subst-group-1_0_1.err b/result/schemas/subst-group-1_0_1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/subst-group-1_0_1.err
+++ /dev/null
diff --git a/result/schemas/union_0_0.err b/result/schemas/union_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/union_0_0.err
+++ /dev/null
diff --git a/result/schemas/vdv-first0_0_0.err b/result/schemas/vdv-first0_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/vdv-first0_0_0.err
+++ /dev/null
diff --git a/result/schemas/vdv-first1_0_0.err b/result/schemas/vdv-first1_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/vdv-first1_0_0.err
+++ /dev/null
diff --git a/result/schemas/vdv-first2_0_0.err b/result/schemas/vdv-first2_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/vdv-first2_0_0.err
+++ /dev/null
diff --git a/result/schemas/vdv-first3_0_0.err b/result/schemas/vdv-first3_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/vdv-first3_0_0.err
+++ /dev/null
diff --git a/result/schemas/vdv-first4_0_0.err b/result/schemas/vdv-first4_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/vdv-first4_0_0.err
+++ /dev/null
diff --git a/result/schemas/vdv-first5_0_0.err b/result/schemas/vdv-first5_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/vdv-first5_0_0.err
+++ /dev/null
diff --git a/result/schemas/xsd-list-itemType_0_0.err b/result/schemas/xsd-list-itemType_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/xsd-list-itemType_0_0.err
+++ /dev/null
diff --git a/result/schemas/xsd-simpleType-varieties_0_0.err b/result/schemas/xsd-simpleType-varieties_0_0.err
deleted file mode 100644
index e69de29..0000000
--- a/result/schemas/xsd-simpleType-varieties_0_0.err
+++ /dev/null
diff --git a/result/scripts/base.err b/result/scripts/base.err
deleted file mode 100644
index e69de29..0000000
--- a/result/scripts/base.err
+++ /dev/null
diff --git a/result/scripts/base2.err b/result/scripts/base2.err
deleted file mode 100644
index e69de29..0000000
--- a/result/scripts/base2.err
+++ /dev/null
diff --git a/result/scripts/set1.err b/result/scripts/set1.err
deleted file mode 100644
index e69de29..0000000
--- a/result/scripts/set1.err
+++ /dev/null
diff --git a/result/scripts/set4.err b/result/scripts/set4.err
deleted file mode 100644
index e69de29..0000000
--- a/result/scripts/set4.err
+++ /dev/null
diff --git a/result/valid/127772.xml.err b/result/valid/127772.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/127772.xml.err
+++ /dev/null
diff --git a/result/valid/127772.xml.err.rdr b/result/valid/127772.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/127772.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/694228.xml.err b/result/valid/694228.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/694228.xml.err
+++ /dev/null
diff --git a/result/valid/694228.xml.err.rdr b/result/valid/694228.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/694228.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/737840.xml.err b/result/valid/737840.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/737840.xml.err
+++ /dev/null
diff --git a/result/valid/737840.xml.err.rdr b/result/valid/737840.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/737840.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/766956.xml b/result/valid/766956.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/766956.xml
+++ /dev/null
diff --git a/result/valid/REC-xml-19980210.xml.err b/result/valid/REC-xml-19980210.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/REC-xml-19980210.xml.err
+++ /dev/null
diff --git a/result/valid/REC-xml-19980210.xml.err.rdr b/result/valid/REC-xml-19980210.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/REC-xml-19980210.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/UTF16Entity.xml.err b/result/valid/UTF16Entity.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/UTF16Entity.xml.err
+++ /dev/null
diff --git a/result/valid/UTF16Entity.xml.err.rdr b/result/valid/UTF16Entity.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/UTF16Entity.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/cond_sect1.xml.err b/result/valid/cond_sect1.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/cond_sect1.xml.err
+++ /dev/null
diff --git a/result/valid/cond_sect1.xml.err.rdr b/result/valid/cond_sect1.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/cond_sect1.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/cond_sect2.xml b/result/valid/cond_sect2.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/cond_sect2.xml
+++ /dev/null
diff --git a/result/valid/dia.xml.err b/result/valid/dia.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/dia.xml.err
+++ /dev/null
diff --git a/result/valid/dia.xml.err.rdr b/result/valid/dia.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/dia.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/id1.xml.err b/result/valid/id1.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/id1.xml.err
+++ /dev/null
diff --git a/result/valid/id1.xml.err.rdr b/result/valid/id1.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/id1.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/id2.xml.err b/result/valid/id2.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/id2.xml.err
+++ /dev/null
diff --git a/result/valid/id2.xml.err.rdr b/result/valid/id2.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/id2.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/id3.xml.err b/result/valid/id3.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/id3.xml.err
+++ /dev/null
diff --git a/result/valid/id3.xml.err.rdr b/result/valid/id3.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/id3.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/index.xml.err b/result/valid/index.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/index.xml.err
+++ /dev/null
diff --git a/result/valid/index.xml.err.rdr b/result/valid/index.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/index.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/mixed_ns.xml.err b/result/valid/mixed_ns.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/mixed_ns.xml.err
+++ /dev/null
diff --git a/result/valid/mixed_ns.xml.err.rdr b/result/valid/mixed_ns.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/mixed_ns.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/notes.xml.err b/result/valid/notes.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/notes.xml.err
+++ /dev/null
diff --git a/result/valid/notes.xml.err.rdr b/result/valid/notes.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/notes.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/ns.xml.err b/result/valid/ns.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/ns.xml.err
+++ /dev/null
diff --git a/result/valid/ns.xml.err.rdr b/result/valid/ns.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/ns.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/ns2.xml.err b/result/valid/ns2.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/ns2.xml.err
+++ /dev/null
diff --git a/result/valid/ns2.xml.err.rdr b/result/valid/ns2.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/ns2.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/objednavka.xml.err b/result/valid/objednavka.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/objednavka.xml.err
+++ /dev/null
diff --git a/result/valid/objednavka.xml.err.rdr b/result/valid/objednavka.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/objednavka.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/pe-test.xml.err b/result/valid/pe-test.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/pe-test.xml.err
+++ /dev/null
diff --git a/result/valid/pe-test.xml.err.rdr b/result/valid/pe-test.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/pe-test.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/t10.xml.err b/result/valid/t10.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t10.xml.err
+++ /dev/null
diff --git a/result/valid/t10.xml.err.rdr b/result/valid/t10.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t10.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/t11.xml.err b/result/valid/t11.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t11.xml.err
+++ /dev/null
diff --git a/result/valid/t11.xml.err.rdr b/result/valid/t11.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t11.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/t4.dtd b/result/valid/t4.dtd
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t4.dtd
+++ /dev/null
diff --git a/result/valid/t4.dtd.err.rdr b/result/valid/t4.dtd.err.rdr
deleted file mode 100644
index 23a3258..0000000
--- a/result/valid/t4.dtd.err.rdr
+++ /dev/null
@@ -1,6 +0,0 @@
-./test/valid/t4.dtd:1: parser error : StartTag: invalid element name
-<!ENTITY % percent "&#x25;">
- ^
-./test/valid/t4.dtd:1: parser error : Extra content at the end of the document
-<!ENTITY % percent "&#x25;">
- ^
diff --git a/result/valid/t4.xml.err b/result/valid/t4.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t4.xml.err
+++ /dev/null
diff --git a/result/valid/t4.xml.err.rdr b/result/valid/t4.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t4.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/t4a.dtd b/result/valid/t4a.dtd
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t4a.dtd
+++ /dev/null
diff --git a/result/valid/t4a.dtd.err.rdr b/result/valid/t4a.dtd.err.rdr
deleted file mode 100644
index 48cdd5f..0000000
--- a/result/valid/t4a.dtd.err.rdr
+++ /dev/null
@@ -1,6 +0,0 @@
-./test/valid/t4a.dtd:1: parser error : StartTag: invalid element name
-<!ENTITY % percent "&#x25;">
- ^
-./test/valid/t4a.dtd:1: parser error : Extra content at the end of the document
-<!ENTITY % percent "&#x25;">
- ^
diff --git a/result/valid/t4a.xml.err b/result/valid/t4a.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t4a.xml.err
+++ /dev/null
diff --git a/result/valid/t4a.xml.err.rdr b/result/valid/t4a.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t4a.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/t6.dtd b/result/valid/t6.dtd
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t6.dtd
+++ /dev/null
diff --git a/result/valid/t6.dtd.err.rdr b/result/valid/t6.dtd.err.rdr
deleted file mode 100644
index 6e84d68..0000000
--- a/result/valid/t6.dtd.err.rdr
+++ /dev/null
@@ -1,6 +0,0 @@
-./test/valid/t6.dtd:1: parser error : StartTag: invalid element name
-<!ENTITY % xdef "def">
- ^
-./test/valid/t6.dtd:1: parser error : Extra content at the end of the document
-<!ENTITY % xdef "def">
- ^
diff --git a/result/valid/t6.xml.err b/result/valid/t6.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t6.xml.err
+++ /dev/null
diff --git a/result/valid/t6.xml.err.rdr b/result/valid/t6.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t6.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/t8.xml b/result/valid/t8.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t8.xml
+++ /dev/null
diff --git a/result/valid/t8.xml.err b/result/valid/t8.xml.err
index 5272694..8f87417 100644
--- a/result/valid/t8.xml.err
+++ b/result/valid/t8.xml.err
@@ -5,17 +5,3 @@
 Entity: line 1: 
 &lt;!ELEMENT root (middle) >
 ^
-./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot; %defmiddle; %deftest;
-                     ^
-Entity: line 1: 
-&lt;!ELEMENT middle (test) >
-^
-./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot; %defmiddle; %deftest;
-                               ^
-Entity: line 1: 
-&lt;!ELEMENT test (#PCDATA) >
-^
diff --git a/result/valid/t8.xml.err.rdr b/result/valid/t8.xml.err.rdr
index 8da08fb..06b7baf 100644
--- a/result/valid/t8.xml.err.rdr
+++ b/result/valid/t8.xml.err.rdr
@@ -5,18 +5,4 @@
 Entity: line 1: 
 &lt;!ELEMENT root (middle) >
 ^
-./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot; %defmiddle; %deftest;
-                     ^
-Entity: line 1: 
-&lt;!ELEMENT middle (test) >
-^
-./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot; %defmiddle; %deftest;
-                               ^
-Entity: line 1: 
-&lt;!ELEMENT test (#PCDATA) >
-^
 ./test/valid/t8.xml : failed to parse
diff --git a/result/valid/t8a.xml b/result/valid/t8a.xml
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t8a.xml
+++ /dev/null
diff --git a/result/valid/t8a.xml.err b/result/valid/t8a.xml.err
index 2846b19..211e9e8 100644
--- a/result/valid/t8a.xml.err
+++ b/result/valid/t8a.xml.err
@@ -5,17 +5,3 @@
 Entity: line 1: 
 &lt;!ELEMENT root (middle) >
 ^
-./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot;%defmiddle;%deftest;
-                    ^
-Entity: line 1: 
-&lt;!ELEMENT middle (test) >
-^
-./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot;%defmiddle;%deftest;
-                             ^
-Entity: line 1: 
-&lt;!ELEMENT test (#PCDATA) >
-^
diff --git a/result/valid/t8a.xml.err.rdr b/result/valid/t8a.xml.err.rdr
index 6abe75a..2ae90c9 100644
--- a/result/valid/t8a.xml.err.rdr
+++ b/result/valid/t8a.xml.err.rdr
@@ -5,18 +5,4 @@
 Entity: line 1: 
 &lt;!ELEMENT root (middle) >
 ^
-./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot;%defmiddle;%deftest;
-                    ^
-Entity: line 1: 
-&lt;!ELEMENT middle (test) >
-^
-./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-
-%defroot;%defmiddle;%deftest;
-                             ^
-Entity: line 1: 
-&lt;!ELEMENT test (#PCDATA) >
-^
 ./test/valid/t8a.xml : failed to parse
diff --git a/result/valid/t9.xml.err b/result/valid/t9.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t9.xml.err
+++ /dev/null
diff --git a/result/valid/t9.xml.err.rdr b/result/valid/t9.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t9.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/t9a.xml.err b/result/valid/t9a.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t9a.xml.err
+++ /dev/null
diff --git a/result/valid/t9a.xml.err.rdr b/result/valid/t9a.xml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/t9a.xml.err.rdr
+++ /dev/null
diff --git a/result/valid/xhtml1.xhtml.err b/result/valid/xhtml1.xhtml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/xhtml1.xhtml.err
+++ /dev/null
diff --git a/result/valid/xhtml1.xhtml.err.rdr b/result/valid/xhtml1.xhtml.err.rdr
deleted file mode 100644
index e69de29..0000000
--- a/result/valid/xhtml1.xhtml.err.rdr
+++ /dev/null
diff --git a/result/xmlid/id_tst1.xml.err b/result/xmlid/id_tst1.xml.err
deleted file mode 100644
index e69de29..0000000
--- a/result/xmlid/id_tst1.xml.err
+++ /dev/null
diff --git a/runsuite.c b/runsuite.c
index d24b5ec..0880e0a 100644
--- a/runsuite.c
+++ b/runsuite.c
@@ -9,13 +9,8 @@
 #include "libxml.h"
 #include <stdio.h>
 
-#if !defined(_WIN32) || defined(__CYGWIN__)
-#include <unistd.h>
-#endif
 #include <string.h>
-#include <sys/types.h>
 #include <sys/stat.h>
-#include <fcntl.h>
 
 #include <libxml/parser.h>
 #include <libxml/parserInternals.h>
@@ -48,7 +43,7 @@
     if (stat(filename, &buf) == -1)
         return(0);
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
     if (!(buf.st_mode & _S_IFREG))
         return(0);
 #else
@@ -325,6 +320,7 @@
         fprintf(stderr, "out of memory !\n");
 	fatalError();
     }
+    xmlBufferSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT);
     xmlNodeDump(buf, test->doc, test, 0, 0);
     pctxt = xmlRelaxNGNewMemParserCtxt((const char *)buf->content, buf->use);
     xmlRelaxNGSetParserErrors(pctxt, testErrorHandler, testErrorHandler,
@@ -363,6 +359,7 @@
         fprintf(stderr, "out of memory !\n");
 	fatalError();
     }
+    xmlBufferSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT);
     xmlNodeDump(buf, tst->doc, tst, 0, 0);
 
     while (tst != NULL) {
@@ -458,6 +455,7 @@
         fprintf(stderr, "out of memory !\n");
 	fatalError();
     }
+    xmlBufferSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT);
     xmlNodeDump(buf, test->doc, test, 0, 0);
     pctxt = xmlRelaxNGNewMemParserCtxt((const char *)buf->content, buf->use);
     xmlRelaxNGSetParserErrors(pctxt, testErrorHandler, testErrorHandler,
@@ -1051,13 +1049,19 @@
     old_tests = nb_tests;
     old_leaks = nb_leaks;
     xsdTest();
-    if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-	printf("Ran %d tests, no errors\n", nb_tests - old_tests);
-    else
-	printf("Ran %d tests, %d errors, %d leaks\n",
-	       nb_tests - old_tests,
-	       nb_errors - old_errors,
-	       nb_leaks - old_leaks);
+    printf("Ran %d tests, %d errors, %d leaks\n",
+           nb_tests - old_tests,
+           nb_errors - old_errors,
+           nb_leaks - old_leaks);
+    if (nb_errors - old_errors == 10) {
+        printf("10 errors were expected\n");
+        nb_errors = old_errors;
+    } else {
+        printf("10 errors were expected, got %d errors\n",
+               nb_errors - old_errors);
+        nb_errors = old_errors + 1;
+    }
+
     old_errors = nb_errors;
     old_tests = nb_tests;
     old_leaks = nb_leaks;
@@ -1069,6 +1073,7 @@
 	       nb_tests - old_tests,
 	       nb_errors - old_errors,
 	       nb_leaks - old_leaks);
+
     old_errors = nb_errors;
     old_tests = nb_tests;
     old_leaks = nb_leaks;
@@ -1080,6 +1085,7 @@
 	       nb_tests - old_tests,
 	       nb_errors - old_errors,
 	       nb_leaks - old_leaks);
+
     old_errors = nb_errors;
     old_tests = nb_tests;
     old_leaks = nb_leaks;
@@ -1097,6 +1103,7 @@
 	       nb_errors - old_errors,
 	       nb_internals,
 	       nb_leaks - old_leaks);
+
     old_errors = nb_errors;
     old_tests = nb_tests;
     old_leaks = nb_leaks;
@@ -1104,16 +1111,20 @@
     nb_schematas = 0;
     xstcMetadata("xstc/Tests/Metadata/SunXMLSchema1-0-20020116.testSet",
 		 "xstc/Tests/");
-    if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
+    if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) {
 	printf("Ran %d tests (%d schemata), no errors\n",
 	       nb_tests - old_tests, nb_schematas);
-    else
+    } else {
 	printf("Ran %d tests (%d schemata), %d errors (%d internals), %d leaks\n",
 	       nb_tests - old_tests,
 	       nb_schematas,
 	       nb_errors - old_errors,
 	       nb_internals,
 	       nb_leaks - old_leaks);
+        printf("Some errors were expected.\n");
+        nb_errors = old_errors;
+    }
+
     old_errors = nb_errors;
     old_tests = nb_tests;
     old_leaks = nb_leaks;
@@ -1121,16 +1132,19 @@
     nb_schematas = 0;
     xstcMetadata("xstc/Tests/Metadata/MSXMLSchema1-0-20020116.testSet",
 		 "xstc/Tests/");
-    if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
+    if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) {
 	printf("Ran %d tests (%d schemata), no errors\n",
 	       nb_tests - old_tests, nb_schematas);
-    else
+    } else {
 	printf("Ran %d tests (%d schemata), %d errors (%d internals), %d leaks\n",
 	       nb_tests - old_tests,
 	       nb_schematas,
 	       nb_errors - old_errors,
 	       nb_internals,
 	       nb_leaks - old_leaks);
+        printf("Some errors were expected.\n");
+        nb_errors = old_errors;
+    }
 
     if ((nb_errors == 0) && (nb_leaks == 0)) {
         ret = 0;
diff --git a/runtest.c b/runtest.c
index 0754fe8..80a6c75 100644
--- a/runtest.c
+++ b/runtest.c
@@ -14,11 +14,12 @@
 #include "libxml.h"
 #include <stdio.h>
 
-#if !defined(_WIN32) || defined(__CYGWIN__)
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#elif defined (_WIN32)
+#include <io.h>
 #endif
 #include <string.h>
-#include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
 
@@ -108,10 +109,9 @@
 static char* temp_directory = NULL;
 static int checkTestFile(const char *filename);
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
 
 #include <windows.h>
-#include <io.h>
 
 typedef struct
 {
@@ -247,7 +247,7 @@
 static char testErrors[32769];
 static int testErrorsSize = 0;
 
-static void XMLCDECL
+static void
 testErrorHandler(void *ctx  ATTRIBUTE_UNUSED, const char *msg, ...) {
     va_list args;
     int res;
@@ -269,7 +269,7 @@
     testErrors[testErrorsSize] = 0;
 }
 
-static void XMLCDECL
+static void
 channel(void *ctx  ATTRIBUTE_UNUSED, const char *msg, ...) {
     va_list args;
     int res;
@@ -292,7 +292,7 @@
 }
 
 /**
- * xmlParserPrintFileContext:
+ * xmlParserPrintFileContextInternal:
  * @input:  an xmlParserInputPtr input
  *
  * Displays current context within the input content for error tracking
@@ -301,12 +301,14 @@
 static void
 xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
 		xmlGenericErrorFunc chanl, void *data ) {
-    const xmlChar *cur, *base;
+    const xmlChar *cur, *base, *start;
     unsigned int n, col;	/* GCC warns if signed, because compared with sizeof() */
     xmlChar  content[81]; /* space for 80 chars + line terminator */
     xmlChar *ctnt;
 
-    if (input == NULL) return;
+    if ((input == NULL) || (input->cur == NULL))
+        return;
+
     cur = input->cur;
     base = input->base;
     /* skip backwards over any end-of-lines */
@@ -316,21 +318,32 @@
     n = 0;
     /* search backwards for beginning-of-line (to max buff size) */
     while ((n++ < (sizeof(content)-1)) && (cur > base) &&
-   (*(cur) != '\n') && (*(cur) != '\r'))
+	   (*(cur) != '\n') && (*(cur) != '\r'))
         cur--;
-    if ((*(cur) == '\n') || (*(cur) == '\r')) cur++;
+    if ((*(cur) == '\n') || (*(cur) == '\r')) {
+        cur++;
+    } else {
+        /* skip over continuation bytes */
+        while ((cur < input->cur) && ((*cur & 0xC0) == 0x80))
+            cur++;
+    }
     /* calculate the error position in terms of the current position */
     col = input->cur - cur;
     /* search forward for end-of-line (to max buff size) */
     n = 0;
-    ctnt = content;
+    start = cur;
     /* copy selected text to our buffer */
-    while ((*cur != 0) && (*(cur) != '\n') &&
-   (*(cur) != '\r') && (n < sizeof(content)-1)) {
-		*ctnt++ = *cur++;
-	n++;
+    while ((*cur != 0) && (*(cur) != '\n') && (*(cur) != '\r')) {
+        int len = input->end - cur;
+        int c = xmlGetUTF8Char(cur, &len);
+
+        if ((c < 0) || (n + len > sizeof(content)-1))
+            break;
+        cur += len;
+	n += len;
     }
-    *ctnt = 0;
+    memcpy(content, start, n);
+    content[n] = 0;
     /* print out the selected text */
     chanl(data ,"%s\n", content);
     /* create blank line with problem pointer */
@@ -531,11 +544,17 @@
 
 static void
 initializeLibxml2(void) {
-    xmlGetWarningsDefaultValue = 0;
-    xmlPedanticParserDefault(0);
-
-    xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup);
+    /*
+     * This verifies that xmlInitParser doesn't allocate memory with
+     * xmlMalloc
+     */
+    xmlFree = NULL;
+    xmlMalloc = NULL;
+    xmlRealloc = NULL;
+    xmlMemStrdup = NULL;
     xmlInitParser();
+    xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup);
+    xmlPedanticParserDefault(0);
     xmlSetExternalEntityLoader(testExternalEntityLoader);
     xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler);
 #ifdef LIBXML_SCHEMAS_ENABLED
@@ -599,7 +618,7 @@
     if (stat(filename, &buf) == -1)
         return(0);
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
     if (!(buf.st_mode & _S_IFREG))
         return(0);
 #else
@@ -611,7 +630,7 @@
 }
 
 static int compareFiles(const char *r1 /* temp */, const char *r2 /* result */) {
-    int res1, res2;
+    int res1, res2, total;
     int fd1, fd2;
     char bytes1[4096];
     char bytes2[4096];
@@ -625,16 +644,20 @@
             close(fd1);
             return(-1);
         }
+        total = 0;
         do {
             res1 = read(fd1, bytes1, 4096);
             if (res1 <= 0)
                 break;
+            total += res1;
             res2 = write(fd2, bytes1, res1);
             if (res2 <= 0 || res2 != res1)
                 break;
         } while (1);
         close(fd2);
         close(fd1);
+        if (total == 0)
+            unlink(r2);
         return(res1 != 0);
     }
 
@@ -642,28 +665,27 @@
     if (fd1 < 0)
         return(-1);
     fd2 = open(r2, RD_FLAGS);
-    if (fd2 < 0) {
-        close(fd1);
-        return(-1);
-    }
     while (1) {
         res1 = read(fd1, bytes1, 4096);
-        res2 = read(fd2, bytes2, 4096);
+        res2 = fd2 >= 0 ? read(fd2, bytes2, 4096) : 0;
 	if ((res1 != res2) || (res1 < 0)) {
 	    close(fd1);
-	    close(fd2);
+            if (fd2 >= 0)
+                close(fd2);
 	    return(1);
 	}
 	if (res1 == 0)
 	    break;
 	if (memcmp(bytes1, bytes2, res1) != 0) {
 	    close(fd1);
-	    close(fd2);
+            if (fd2 >= 0)
+                close(fd2);
 	    return(1);
 	}
     }
     close(fd1);
-    close(fd2);
+    if (fd2 >= 0)
+        close(fd2);
     return(0);
 }
 
@@ -675,6 +697,10 @@
     struct stat info;
 
     if (update_results) {
+        if (size == 0) {
+            unlink(filename);
+            return(0);
+        }
         fd = open(filename, WR_FLAGS, 0644);
         if (fd < 0) {
 	    fprintf(stderr, "failed to open %s for writing", filename);
@@ -686,6 +712,8 @@
     }
 
     if (stat(filename, &info) < 0) {
+        if (size == 0)
+            return(0);
         fprintf(stderr, "failed to stat %s\n", filename);
 	return(-1);
     }
@@ -1345,7 +1373,7 @@
  * Display and format a warning messages, gives file, line, position and
  * extra parameters.
  */
-static void XMLCDECL
+static void
 warningDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
 {
     va_list args;
@@ -1368,7 +1396,7 @@
  * Display and format a error messages, gives file, line, position and
  * extra parameters.
  */
-static void XMLCDECL
+static void
 errorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
 {
     va_list args;
@@ -1391,7 +1419,7 @@
  * Display and format a fatalError messages, gives file, line, position and
  * extra parameters.
  */
-static void XMLCDECL
+static void
 fatalErrorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
 {
     va_list args;
@@ -1718,7 +1746,11 @@
 
 #ifdef LIBXML_HTML_ENABLED
     if (options & XML_PARSE_HTML) {
-	htmlSAXParseFile(filename, NULL, emptySAXHandler, NULL);
+        htmlParserCtxtPtr ctxt;
+
+        ctxt = htmlNewSAXParserCtxt(emptySAXHandler, NULL);
+        htmlCtxtReadFile(ctxt, filename, NULL, options);
+        htmlFreeParserCtxt(ctxt);
 	ret = 0;
     } else
 #endif
@@ -1742,7 +1774,11 @@
     }
 #ifdef LIBXML_HTML_ENABLED
     if (options & XML_PARSE_HTML) {
-	htmlSAXParseFile(filename, NULL, debugHTMLSAXHandler, NULL);
+        htmlParserCtxtPtr ctxt;
+
+        ctxt = htmlNewSAXParserCtxt(debugHTMLSAXHandler, NULL);
+        htmlCtxtReadFile(ctxt, filename, NULL, options);
+        htmlFreeParserCtxt(ctxt);
 	ret = 0;
     } else
 #endif
@@ -1955,6 +1991,306 @@
     }
     return(0);
 }
+
+static int pushBoundaryCount;
+static int pushBoundaryRefCount;
+static int pushBoundaryCharsCount;
+static int pushBoundaryCDataCount;
+
+static void
+internalSubsetBnd(void *ctx, const xmlChar *name, const xmlChar *externalID,
+                  const xmlChar *systemID) {
+    pushBoundaryCount++;
+    xmlSAX2InternalSubset(ctx, name, externalID, systemID);
+}
+
+static void
+referenceBnd(void *ctx, const xmlChar *name) {
+    pushBoundaryRefCount++;
+    xmlSAX2Reference(ctx, name);
+}
+
+static void
+charactersBnd(void *ctx, const xmlChar *ch, int len) {
+    pushBoundaryCount++;
+    pushBoundaryCharsCount++;
+    xmlSAX2Characters(ctx, ch, len);
+}
+
+static void
+cdataBlockBnd(void *ctx, const xmlChar *ch, int len) {
+    pushBoundaryCount++;
+    pushBoundaryCDataCount++;
+    xmlSAX2CDataBlock(ctx, ch, len);
+}
+
+static void
+processingInstructionBnd(void *ctx, const xmlChar *target,
+                         const xmlChar *data) {
+    pushBoundaryCount++;
+    xmlSAX2ProcessingInstruction(ctx, target, data);
+}
+
+static void
+commentBnd(void *ctx, const xmlChar *value) {
+    xmlParserCtxtPtr ctxt = ctx;
+    if (ctxt->inSubset == 0)
+        pushBoundaryCount++;
+    xmlSAX2Comment(ctx, value);
+}
+
+static void
+startElementBnd(void *ctx, const xmlChar *xname, const xmlChar **atts) {
+    const char *name = (const char *)xname;
+
+    /* Some elements might be created automatically. */
+    if ((strcmp(name, "html") != 0) &&
+        (strcmp(name, "body") != 0) &&
+        (strcmp(name, "head") != 0) &&
+        (strcmp(name, "p") != 0)) {
+        pushBoundaryCount++;
+    }
+    xmlSAX2StartElement(ctx, xname, atts);
+}
+
+static void
+endElementBnd(void *ctx, const xmlChar *name) {
+    /*pushBoundaryCount++;*/
+    xmlSAX2EndElement(ctx, name);
+}
+
+static void
+startElementNsBnd(void *ctx, const xmlChar *localname, const xmlChar *prefix,
+                  const xmlChar *URI, int nb_namespaces,
+                  const xmlChar **namespaces, int nb_attributes,
+                  int nb_defaulted, const xmlChar **attributes) {
+    pushBoundaryCount++;
+    xmlSAX2StartElementNs(ctx, localname, prefix, URI, nb_namespaces,
+                          namespaces, nb_attributes, nb_defaulted, attributes);
+}
+
+static void
+endElementNsBnd(void *ctx, const xmlChar *localname, const xmlChar *prefix,
+                const xmlChar *URI) {
+    /*pushBoundaryCount++;*/
+    xmlSAX2EndElementNs(ctx, localname, prefix, URI);
+}
+
+/**
+ * pushBoundaryTest:
+ * @filename: the file to parse
+ * @result: the file with expected result
+ * @err: the file with error messages: unused
+ *
+ * Test whether the push parser detects boundaries between syntactical
+ * elements correctly.
+ *
+ * Returns 0 in case of success, an error code otherwise
+ */
+static int
+pushBoundaryTest(const char *filename, const char *result,
+                 const char *err ATTRIBUTE_UNUSED,
+                 int options) {
+    xmlParserCtxtPtr ctxt;
+    xmlDocPtr doc;
+    xmlSAXHandler bndSAX;
+    const char *base;
+    int size, res, numCallbacks;
+    int cur = 0;
+    unsigned long avail, oldConsumed, consumed;
+
+    /*
+     * If the parser made progress, check that exactly one construct was
+     * processed and that the input buffer is (almost) empty.
+     * Since we use a chunk size of 1, this tests whether content is
+     * processed as early as possible.
+     */
+
+    nb_tests++;
+
+    memset(&bndSAX, 0, sizeof(bndSAX));
+#ifdef LIBXML_HTML_ENABLED
+    if (options & XML_PARSE_HTML) {
+        xmlSAX2InitHtmlDefaultSAXHandler(&bndSAX);
+        bndSAX.startElement = startElementBnd;
+        bndSAX.endElement = endElementBnd;
+    } else
+#endif
+    {
+        xmlSAXVersion(&bndSAX, 2);
+        bndSAX.startElementNs = startElementNsBnd;
+        bndSAX.endElementNs = endElementNsBnd;
+    }
+
+    bndSAX.internalSubset = internalSubsetBnd;
+    bndSAX.reference = referenceBnd;
+    bndSAX.characters = charactersBnd;
+    bndSAX.cdataBlock = cdataBlockBnd;
+    bndSAX.processingInstruction = processingInstructionBnd;
+    bndSAX.comment = commentBnd;
+
+    /*
+     * load the document in memory and work from there.
+     */
+    if (loadMem(filename, &base, &size) != 0) {
+        fprintf(stderr, "Failed to load %s\n", filename);
+	return(-1);
+    }
+
+#ifdef LIBXML_HTML_ENABLED
+    if (options & XML_PARSE_HTML)
+	ctxt = htmlCreatePushParserCtxt(&bndSAX, NULL, base, 1, filename,
+	                                XML_CHAR_ENCODING_NONE);
+    else
+#endif
+    ctxt = xmlCreatePushParserCtxt(&bndSAX, NULL, base, 1, filename);
+    xmlCtxtUseOptions(ctxt, options);
+    cur = 1;
+    consumed = 0;
+    numCallbacks = 0;
+    avail = 0;
+    while ((cur < size) && (numCallbacks <= 1) && (avail <= 0)) {
+        int terminate = (cur + 1 >= size);
+        int isText = 0;
+
+        if (ctxt->instate == XML_PARSER_CONTENT) {
+            int firstChar = (ctxt->input->end > ctxt->input->cur) ?
+                            *ctxt->input->cur :
+                            base[cur];
+
+            if ((firstChar != '<') &&
+                ((options & XML_PARSE_HTML) || (firstChar != '&')))
+                isText = 1;
+        }
+
+        oldConsumed = ctxt->input->consumed +
+                      (unsigned long) (ctxt->input->cur - ctxt->input->base);
+
+        pushBoundaryCount = 0;
+        pushBoundaryRefCount = 0;
+        pushBoundaryCharsCount = 0;
+        pushBoundaryCDataCount = 0;
+
+#ifdef LIBXML_HTML_ENABLED
+        if (options & XML_PARSE_HTML)
+            htmlParseChunk(ctxt, base + cur, 1, terminate);
+        else
+#endif
+        xmlParseChunk(ctxt, base + cur, 1, terminate);
+	cur += 1;
+
+        /*
+         * Callback check: Check that only a single construct was parsed.
+         */
+        if (pushBoundaryRefCount > 0) {
+            numCallbacks = 1;
+        } else {
+            numCallbacks = pushBoundaryCount;
+            if (pushBoundaryCharsCount > 1) {
+                if (options & XML_PARSE_HTML) {
+                    /*
+                     * The HTML parser can generate a mix of chars and
+                     * references.
+                     */
+                    numCallbacks -= pushBoundaryCharsCount - 1;
+                } else {
+                    /*
+                     * Allow two chars callbacks. This can happen when
+                     * multi-byte chars are split across buffer boundaries.
+                     */
+                    numCallbacks -= 1;
+                }
+            }
+            if (options & XML_PARSE_HTML) {
+                /*
+                 * Allow multiple cdata callbacks in HTML mode.
+                 */
+                if (pushBoundaryCDataCount > 1)
+                    numCallbacks -= pushBoundaryCDataCount - 1;
+            }
+        }
+
+        /*
+         * Buffer check: If input was consumed, check that the input
+         * buffer is (almost) empty.
+         */
+        consumed = ctxt->input->consumed +
+                   (unsigned long) (ctxt->input->cur - ctxt->input->base);
+        if ((ctxt->instate != XML_PARSER_DTD) &&
+            (consumed >= 4) &&
+            (consumed != oldConsumed)) {
+            size_t max = 0;
+
+            avail = ctxt->input->end - ctxt->input->cur;
+
+            if ((options & XML_PARSE_HTML) &&
+                (ctxt->instate == XML_PARSER_END_TAG)) {
+                /* Something related to script parsing. */
+                max = 3;
+            } else if (isText) {
+                int c = *ctxt->input->cur;
+
+                /* 3 bytes for partial UTF-8 */
+                max = ((c == '<') || (c == '&')) ? 1 : 3;
+            } else if (ctxt->instate == XML_PARSER_CDATA_SECTION) {
+                /* 2 bytes for terminator, 3 bytes for UTF-8 */
+                max = 5;
+            }
+
+            if (avail <= max)
+                avail = 0;
+        }
+    }
+    doc = ctxt->myDoc;
+#ifdef LIBXML_HTML_ENABLED
+    if (options & XML_PARSE_HTML)
+        res = 1;
+    else
+#endif
+    res = ctxt->wellFormed;
+    xmlFreeParserCtxt(ctxt);
+    free((char *)base);
+    if (numCallbacks > 1) {
+	xmlFreeDoc(doc);
+	fprintf(stderr, "Failed push boundary callback test (%d@%lu-%lu): %s\n",
+                numCallbacks, oldConsumed, consumed, filename);
+	return(-1);
+    }
+    if (avail > 0) {
+	xmlFreeDoc(doc);
+	fprintf(stderr, "Failed push boundary buffer test (%lu@%lu): %s\n",
+                avail, consumed, filename);
+	return(-1);
+    }
+    if (!res) {
+	xmlFreeDoc(doc);
+	fprintf(stderr, "Failed to parse %s\n", filename);
+	return(-1);
+    }
+#ifdef LIBXML_HTML_ENABLED
+    if (options & XML_PARSE_HTML)
+	htmlDocDumpMemory(doc, (xmlChar **) &base, &size);
+    else
+#endif
+    xmlDocDumpMemory(doc, (xmlChar **) &base, &size);
+    xmlFreeDoc(doc);
+    res = compareFileMem(result, base, size);
+    if ((base == NULL) || (res != 0)) {
+	if (base != NULL)
+	    xmlFree((char *)base);
+        fprintf(stderr, "Result for %s failed in %s\n", filename, result);
+	return(-1);
+    }
+    xmlFree((char *)base);
+    if (err != NULL) {
+	res = compareFileMem(err, testErrors, testErrorsSize);
+	if (res != 0) {
+	    fprintf(stderr, "Error for %s failed\n", filename);
+	    return(-1);
+	}
+    }
+    return(0);
+}
 #endif
 
 /**
@@ -2087,14 +2423,15 @@
 #ifdef LIBXML_XINCLUDE_ENABLED
     if (options & XML_PARSE_XINCLUDE) {
 	doc = xmlReadFile(filename, NULL, options);
-	xmlXIncludeProcessFlags(doc, options);
+	if (xmlXIncludeProcessFlags(doc, options) < 0) {
+	    xmlFreeDoc(doc);
+            doc = NULL;
+        }
     } else
 #endif
     {
-	xmlGetWarningsDefaultValue = 1;
 	doc = xmlReadFile(filename, NULL, options);
     }
-    xmlGetWarningsDefaultValue = 0;
     if (result) {
 	if (doc == NULL) {
 	    base = "";
@@ -2147,21 +2484,19 @@
              int options) {
     xmlDocPtr doc;
     const char *base = NULL;
-    int size, res = 0;
+    int size, res = 0, fd;
 
     nb_tests++;
-    int fd = open(filename, RD_FLAGS);
+    fd = open(filename, RD_FLAGS);
 #ifdef LIBXML_HTML_ENABLED
     if (options & XML_PARSE_HTML) {
         doc = htmlReadFd(fd, filename, NULL, options);
     } else
 #endif
     {
-	xmlGetWarningsDefaultValue = 1;
 	doc = xmlReadFd(fd, filename, NULL, options);
     }
     close(fd);
-    xmlGetWarningsDefaultValue = 0;
     if (result) {
 	if (doc == NULL) {
 	    base = "";
@@ -2274,7 +2609,6 @@
 	}
     }
 #endif
-    xmlGetWarningsDefaultValue = 1;
     ret = xmlTextReaderRead(reader);
     while (ret == 1) {
 	if ((t != NULL) && (rng == NULL))
@@ -2291,7 +2625,6 @@
 	    testErrorHandler(NULL, "%s validates\n", filename);
 	}
     }
-    xmlGetWarningsDefaultValue = 0;
     if (t != NULL) {
         fclose(t);
 	ret = compareFiles(temp, result);
@@ -2418,12 +2751,11 @@
 
 static void
 testXPath(const char *str, int xptr, int expr) {
-    xmlGenericErrorFunc handler = ignoreGenericError;
     xmlXPathObjectPtr res;
     xmlXPathContextPtr ctxt;
 
     /* Don't print generic errors to stderr. */
-    initGenericErrorDefaultFunc(&handler);
+    xmlSetGenericErrorFunc(NULL, ignoreGenericError);
 
     nb_tests++;
 #if defined(LIBXML_XPTR_ENABLED)
@@ -2455,7 +2787,7 @@
     xmlXPathFreeContext(ctxt);
 
     /* Reset generic error handler. */
-    initGenericErrorDefaultFunc(NULL);
+    xmlSetGenericErrorFunc(NULL, NULL);
 }
 
 /**
@@ -2617,23 +2949,24 @@
     glob_t globbuf;
     size_t i;
     int ret = 0, res;
+    const char *subdir = options == -1 ? "xptr-xp1" : "xptr";
 
     xpathDocument = xmlReadFile(filename, NULL,
-                                options | XML_PARSE_DTDATTR | XML_PARSE_NOENT);
+                                XML_PARSE_DTDATTR | XML_PARSE_NOENT);
     if (xpathDocument == NULL) {
         fprintf(stderr, "Failed to load %s\n", filename);
 	return(-1);
     }
 
-    res = snprintf(pattern, 499, "./test/XPath/xptr/%s*",
-            baseFilename(filename));
+    res = snprintf(pattern, 499, "./test/XPath/%s/%s*",
+            subdir, baseFilename(filename));
     if (res >= 499)
         pattern[499] = 0;
     globbuf.gl_offs = 0;
     glob(pattern, GLOB_DOOFFS, NULL, &globbuf);
     for (i = 0;i < globbuf.gl_pathc;i++) {
-        res = snprintf(result, 499, "result/XPath/xptr/%s",
-	         baseFilename(globbuf.gl_pathv[i]));
+        res = snprintf(result, 499, "result/XPath/%s/%s",
+	         subdir, baseFilename(globbuf.gl_pathv[i]));
         if (res >= 499)
             result[499] = 0;
 	res = xpathCommonTest(globbuf.gl_pathv[i], &result[0], 1, 0);
@@ -2927,7 +3260,7 @@
  */
 static int
 uripMatch(const char * URI) {
-    if ((URI == NULL) || (!strcmp(URI, "file:///etc/xml/catalog")))
+    if ((URI == NULL) || (!strcmp(URI, "file://" SYSCONFDIR "/xml/catalog")))
         return(0);
     /* Verify we received the escaped URL */
     if (strcmp(urip_rcvsURLs[urip_current], URI))
@@ -2946,7 +3279,7 @@
  */
 static void *
 uripOpen(const char * URI) {
-    if ((URI == NULL) || (!strcmp(URI, "file:///etc/xml/catalog")))
+    if ((URI == NULL) || (!strcmp(URI, "file://" SYSCONFDIR "/xml/catalog")))
         return(NULL);
     /* Verify we received the escaped URL */
     if (strcmp(urip_rcvsURLs[urip_current], URI))
@@ -3063,7 +3396,6 @@
 schemasOneTest(const char *sch,
                const char *filename,
                const char *result,
-	       const char *err,
 	       int options,
 	       xmlSchemaPtr schemas) {
     xmlDocPtr doc;
@@ -3115,13 +3447,6 @@
         free(temp);
     }
 
-    if ((validResult != 0) && (err != NULL)) {
-	if (compareFileMem(err, testErrors, testErrorsSize)) {
-	    fprintf(stderr, "Error for %s on %s failed\n", filename, sch);
-	    ret = 1;
-	}
-    }
-
     xmlSchemaFreeValidCtxt(ctxt);
     xmlFreeDoc(doc);
     return(ret);
@@ -3148,6 +3473,7 @@
     xmlSchemaParserCtxtPtr ctxt;
     xmlSchemaPtr schemas;
     int res = 0, len, ret;
+    int parseErrorsSize;
     char pattern[500];
     char prefix[500];
     char result[500];
@@ -3161,6 +3487,7 @@
     xmlSchemaSetParserErrors(ctxt, testErrorHandler, testErrorHandler, ctxt);
     schemas = xmlSchemaParse(ctxt);
     xmlSchemaFreeParserCtxt(ctxt);
+    parseErrorsSize = testErrorsSize;
 
     /*
      * most of the mess is about the output filenames generated by the Makefile
@@ -3180,7 +3507,7 @@
     memcpy(prefix, base, len);
     prefix[len] = 0;
 
-    if (snprintf(pattern, 499, "./test/schemas/%s_?.xml", prefix) >= 499)
+    if (snprintf(pattern, 499, "./test/schemas/%s_*.xml", prefix) >= 499)
         pattern[499] = 0;
 
     if (base[len] == '_') {
@@ -3192,8 +3519,8 @@
     globbuf.gl_offs = 0;
     glob(pattern, GLOB_DOOFFS, NULL, &globbuf);
     for (i = 0;i < globbuf.gl_pathc;i++) {
-        testErrorsSize = 0;
-	testErrors[0] = 0;
+        testErrorsSize = parseErrorsSize;
+        testErrors[parseErrorsSize] = 0;
         instance = globbuf.gl_pathv[i];
 	base2 = baseFilename(instance);
 	len = strlen(base2);
@@ -3211,14 +3538,17 @@
 	    fprintf(stderr, "don't know how to process %s\n", instance);
 	    continue;
 	}
-	if (schemas == NULL) {
-	} else {
+	if (schemas != NULL) {
 	    nb_tests++;
-	    ret = schemasOneTest(filename, instance, result, err,
-	                         options, schemas);
+	    ret = schemasOneTest(filename, instance, result, options, schemas);
 	    if (ret != 0)
 		res = ret;
 	}
+        if (compareFileMem(err, testErrors, testErrorsSize)) {
+            fprintf(stderr, "Error for %s on %s failed\n", instance,
+                    filename);
+            res = 1;
+        }
     }
     globfree(&globbuf);
     xmlSchemaFree(schemas);
@@ -3235,7 +3565,6 @@
 rngOneTest(const char *sch,
                const char *filename,
                const char *result,
-	       const char *err,
 	       int options,
 	       xmlRelaxNGPtr schemas) {
     xmlDocPtr doc;
@@ -3287,15 +3616,6 @@
         free(temp);
     }
 
-    if (err != NULL) {
-	if (compareFileMem(err, testErrors, testErrorsSize)) {
-	    fprintf(stderr, "Error for %s on %s failed\n", filename, sch);
-	    ret = 1;
-	    printf("%s", testErrors);
-	}
-    }
-
-
     xmlRelaxNGFreeValidCtxt(ctxt);
     xmlFreeDoc(doc);
     return(ret);
@@ -3321,6 +3641,7 @@
     xmlRelaxNGParserCtxtPtr ctxt;
     xmlRelaxNGPtr schemas;
     int res = 0, len, ret = 0;
+    int parseErrorsSize;
     char pattern[500];
     char prefix[500];
     char result[500];
@@ -3334,6 +3655,10 @@
     xmlRelaxNGSetParserErrors(ctxt, testErrorHandler, testErrorHandler, ctxt);
     schemas = xmlRelaxNGParse(ctxt);
     xmlRelaxNGFreeParserCtxt(ctxt);
+    if (schemas == NULL)
+        testErrorHandler(NULL, "Relax-NG schema %s failed to compile\n",
+                         filename);
+    parseErrorsSize = testErrorsSize;
 
     /*
      * most of the mess is about the output filenames generated by the Makefile
@@ -3353,8 +3678,8 @@
     globbuf.gl_offs = 0;
     glob(pattern, GLOB_DOOFFS, NULL, &globbuf);
     for (i = 0;i < globbuf.gl_pathc;i++) {
-        testErrorsSize = 0;
-	testErrors[0] = 0;
+        testErrorsSize = parseErrorsSize;
+        testErrors[parseErrorsSize] = 0;
         instance = globbuf.gl_pathv[i];
 	base2 = baseFilename(instance);
 	len = strlen(base2);
@@ -3372,14 +3697,17 @@
 	    fprintf(stderr, "don't know how to process %s\n", instance);
 	    continue;
 	}
-	if (schemas == NULL) {
-	} else {
+	if (schemas != NULL) {
 	    nb_tests++;
-	    res = rngOneTest(filename, instance, result, err,
-	                         options, schemas);
+	    res = rngOneTest(filename, instance, result, options, schemas);
 	    if (res != 0)
 		ret = res;
 	}
+        if (compareFileMem(err, testErrors, testErrorsSize)) {
+            fprintf(stderr, "Error for %s on %s failed\n", instance,
+                    filename);
+            res = 1;
+        }
     }
     globfree(&globbuf);
     xmlRelaxNGFree(schemas);
@@ -3591,10 +3919,6 @@
 	fprintf(stderr, "Missing xml file %s\n", xml);
 	return(-1);
     }
-    if (!checkTestFile(result) && !update_results) {
-	fprintf(stderr, "Missing result file %s\n", result);
-	return(-1);
-    }
     f = fopen(filename, "rb");
     if (f == NULL) {
         fprintf(stderr, "Failed to open %s\n", filename);
@@ -3963,10 +4287,6 @@
 
     if (snprintf(buf, 499, "result/c14n/%s/%s", subdir, prefix) >= 499)
         buf[499] = 0;
-    if (!checkTestFile(buf) && !update_results) {
-        fprintf(stderr, "Missing result file %s", buf);
-	return(-1);
-    }
     result = strdup(buf);
     if (snprintf(buf, 499, "test/c14n/%s/%s.xpath", subdir, prefix) >= 499)
         buf[499] = 0;
@@ -4105,7 +4425,7 @@
     return(NULL);
 }
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
 #include <windows.h>
 #include <string.h>
 
@@ -4178,58 +4498,6 @@
     return (res);
 }
 
-#elif defined __BEOS__
-#include <OS.h>
-
-static thread_id tid[MAX_ARGC];
-
-static int
-testThread(void)
-{
-    unsigned int i, repeat;
-    status_t ret;
-    int res = 0;
-
-    xmlInitParser();
-    for (repeat = 0; repeat < 500; repeat++) {
-        xmlLoadCatalog(catalog);
-        for (i = 0; i < num_threads; i++) {
-            tid[i] = (thread_id) - 1;
-        }
-        for (i = 0; i < num_threads; i++) {
-            tid[i] =
-                spawn_thread(thread_specific_data, "xmlTestThread",
-                             B_NORMAL_PRIORITY, (void *) &threadParams[i]);
-            if (tid[i] < B_OK) {
-                fprintf(stderr, "beos_thread_create failed\n");
-                return (1);
-            }
-            printf("beos_thread_create %d -> %d\n", i, tid[i]);
-        }
-        for (i = 0; i < num_threads; i++) {
-            void *result;
-            ret = wait_for_thread(tid[i], &result);
-            printf("beos_thread_wait %d -> %d\n", i, ret);
-            if (ret != B_OK) {
-                fprintf(stderr, "beos_thread_wait failed\n");
-                return (1);
-            }
-        }
-
-        xmlCatalogCleanup();
-        ret = B_OK;
-        for (i = 0; i < num_threads; i++)
-            if (threadParams[i].okay == 0) {
-                printf("Thread %d handling %s failed\n", i,
-                       threadParams[i].filename);
-                ret = B_ERROR;
-            }
-    }
-    if (ret != B_OK)
-        return(1);
-    return (0);
-}
-
 #elif defined HAVE_PTHREAD_H
 #include <pthread.h>
 
@@ -4297,6 +4565,354 @@
     return(testThread());
 }
 #endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+/************************************************************************
+ *									*
+ *			Regexp tests					*
+ *									*
+ ************************************************************************/
+
+static void testRegexp(FILE *output, xmlRegexpPtr comp, const char *value) {
+    int ret;
+
+    ret = xmlRegexpExec(comp, (const xmlChar *) value);
+    if (ret == 1)
+	fprintf(output, "%s: Ok\n", value);
+    else if (ret == 0)
+	fprintf(output, "%s: Fail\n", value);
+    else
+	fprintf(output, "%s: Error: %d\n", value, ret);
+}
+
+static int
+regexpTest(const char *filename, const char *result, const char *err,
+	   int options ATTRIBUTE_UNUSED) {
+    xmlRegexpPtr comp = NULL;
+    FILE *input, *output;
+    char *temp;
+    char expression[5000];
+    int len, ret, res = 0;
+
+    nb_tests++;
+
+    input = fopen(filename, "rb");
+    if (input == NULL) {
+        xmlGenericError(xmlGenericErrorContext,
+		"Cannot open %s for reading\n", filename);
+	return(-1);
+    }
+    temp = resultFilename(filename, "", ".res");
+    if (temp == NULL) {
+        fprintf(stderr, "Out of memory\n");
+        fatalError();
+    }
+    output = fopen(temp, "wb");
+    if (output == NULL) {
+	fprintf(stderr, "failed to open output file %s\n", temp);
+        free(temp);
+	return(-1);
+    }
+    while (fgets(expression, 4500, input) != NULL) {
+	len = strlen(expression);
+	len--;
+	while ((len >= 0) &&
+	       ((expression[len] == '\n') || (expression[len] == '\t') ||
+		(expression[len] == '\r') || (expression[len] == ' '))) len--;
+	expression[len + 1] = 0;
+	if (len >= 0) {
+	    if (expression[0] == '#')
+		continue;
+	    if ((expression[0] == '=') && (expression[1] == '>')) {
+		char *pattern = &expression[2];
+
+		if (comp != NULL) {
+		    xmlRegFreeRegexp(comp);
+		    comp = NULL;
+		}
+		fprintf(output, "Regexp: %s\n", pattern) ;
+		comp = xmlRegexpCompile((const xmlChar *) pattern);
+		if (comp == NULL) {
+		    fprintf(output, "   failed to compile\n");
+		    break;
+		}
+	    } else if (comp == NULL) {
+		fprintf(output, "Regexp: %s\n", expression) ;
+		comp = xmlRegexpCompile((const xmlChar *) expression);
+		if (comp == NULL) {
+		    fprintf(output, "   failed to compile\n");
+		    break;
+		}
+	    } else if (comp != NULL) {
+		testRegexp(output, comp, expression);
+	    }
+	}
+    }
+    fclose(output);
+    fclose(input);
+    if (comp != NULL)
+	xmlRegFreeRegexp(comp);
+
+    ret = compareFiles(temp, result);
+    if (ret) {
+        fprintf(stderr, "Result for %s failed in %s\n", filename, result);
+        res = 1;
+    }
+    if (temp != NULL) {
+        unlink(temp);
+        free(temp);
+    }
+
+    ret = compareFileMem(err, testErrors, testErrorsSize);
+    if (ret != 0) {
+        fprintf(stderr, "Error for %s failed\n", filename);
+        res = 1;
+    }
+
+    return(res);
+}
+
+#endif /* LIBXML_REGEXPS_ENABLED */
+
+#ifdef LIBXML_AUTOMATA_ENABLED
+/************************************************************************
+ *									*
+ *			Automata tests					*
+ *									*
+ ************************************************************************/
+
+static int scanNumber(char **ptr) {
+    int ret = 0;
+    char *cur;
+
+    cur = *ptr;
+    while ((*cur >= '0') && (*cur <= '9')) {
+	ret = ret * 10 + (*cur - '0');
+	cur++;
+    }
+    *ptr = cur;
+    return(ret);
+}
+
+static int
+automataTest(const char *filename, const char *result,
+             const char *err ATTRIBUTE_UNUSED, int options ATTRIBUTE_UNUSED) {
+    FILE *input, *output;
+    char *temp;
+    char expr[5000];
+    int len;
+    int ret;
+    int i;
+    int res = 0;
+    xmlAutomataPtr am;
+    xmlAutomataStatePtr states[1000];
+    xmlRegexpPtr regexp = NULL;
+    xmlRegExecCtxtPtr exec = NULL;
+
+    nb_tests++;
+
+    for (i = 0;i<1000;i++)
+	states[i] = NULL;
+
+    input = fopen(filename, "rb");
+    if (input == NULL) {
+        xmlGenericError(xmlGenericErrorContext,
+		"Cannot open %s for reading\n", filename);
+	return(-1);
+    }
+    temp = resultFilename(filename, "", ".res");
+    if (temp == NULL) {
+        fprintf(stderr, "Out of memory\n");
+        fatalError();
+    }
+    output = fopen(temp, "wb");
+    if (output == NULL) {
+	fprintf(stderr, "failed to open output file %s\n", temp);
+        free(temp);
+	return(-1);
+    }
+
+    am = xmlNewAutomata();
+    if (am == NULL) {
+        xmlGenericError(xmlGenericErrorContext,
+		"Cannot create automata\n");
+	fclose(input);
+	return(-1);
+    }
+    states[0] = xmlAutomataGetInitState(am);
+    if (states[0] == NULL) {
+        xmlGenericError(xmlGenericErrorContext,
+		"Cannot get start state\n");
+	xmlFreeAutomata(am);
+	fclose(input);
+	return(-1);
+    }
+    ret = 0;
+
+    while (fgets(expr, 4500, input) != NULL) {
+	if (expr[0] == '#')
+	    continue;
+	len = strlen(expr);
+	len--;
+	while ((len >= 0) &&
+	       ((expr[len] == '\n') || (expr[len] == '\t') ||
+		(expr[len] == '\r') || (expr[len] == ' '))) len--;
+	expr[len + 1] = 0;
+	if (len >= 0) {
+	    if ((am != NULL) && (expr[0] == 't') && (expr[1] == ' ')) {
+		char *ptr = &expr[2];
+		int from, to;
+
+		from = scanNumber(&ptr);
+		if (*ptr != ' ') {
+		    xmlGenericError(xmlGenericErrorContext,
+			    "Bad line %s\n", expr);
+		    break;
+		}
+		if (states[from] == NULL)
+		    states[from] = xmlAutomataNewState(am);
+		ptr++;
+		to = scanNumber(&ptr);
+		if (*ptr != ' ') {
+		    xmlGenericError(xmlGenericErrorContext,
+			    "Bad line %s\n", expr);
+		    break;
+		}
+		if (states[to] == NULL)
+		    states[to] = xmlAutomataNewState(am);
+		ptr++;
+		xmlAutomataNewTransition(am, states[from], states[to],
+			                 BAD_CAST ptr, NULL);
+	    } else if ((am != NULL) && (expr[0] == 'e') && (expr[1] == ' ')) {
+		char *ptr = &expr[2];
+		int from, to;
+
+		from = scanNumber(&ptr);
+		if (*ptr != ' ') {
+		    xmlGenericError(xmlGenericErrorContext,
+			    "Bad line %s\n", expr);
+		    break;
+		}
+		if (states[from] == NULL)
+		    states[from] = xmlAutomataNewState(am);
+		ptr++;
+		to = scanNumber(&ptr);
+		if (states[to] == NULL)
+		    states[to] = xmlAutomataNewState(am);
+		xmlAutomataNewEpsilon(am, states[from], states[to]);
+	    } else if ((am != NULL) && (expr[0] == 'f') && (expr[1] == ' ')) {
+		char *ptr = &expr[2];
+		int state;
+
+		state = scanNumber(&ptr);
+		if (states[state] == NULL) {
+		    xmlGenericError(xmlGenericErrorContext,
+			    "Bad state %d : %s\n", state, expr);
+		    break;
+		}
+		xmlAutomataSetFinalState(am, states[state]);
+	    } else if ((am != NULL) && (expr[0] == 'c') && (expr[1] == ' ')) {
+		char *ptr = &expr[2];
+		int from, to;
+		int min, max;
+
+		from = scanNumber(&ptr);
+		if (*ptr != ' ') {
+		    xmlGenericError(xmlGenericErrorContext,
+			    "Bad line %s\n", expr);
+		    break;
+		}
+		if (states[from] == NULL)
+		    states[from] = xmlAutomataNewState(am);
+		ptr++;
+		to = scanNumber(&ptr);
+		if (*ptr != ' ') {
+		    xmlGenericError(xmlGenericErrorContext,
+			    "Bad line %s\n", expr);
+		    break;
+		}
+		if (states[to] == NULL)
+		    states[to] = xmlAutomataNewState(am);
+		ptr++;
+		min = scanNumber(&ptr);
+		if (*ptr != ' ') {
+		    xmlGenericError(xmlGenericErrorContext,
+			    "Bad line %s\n", expr);
+		    break;
+		}
+		ptr++;
+		max = scanNumber(&ptr);
+		if (*ptr != ' ') {
+		    xmlGenericError(xmlGenericErrorContext,
+			    "Bad line %s\n", expr);
+		    break;
+		}
+		ptr++;
+		xmlAutomataNewCountTrans(am, states[from], states[to],
+			                 BAD_CAST ptr, min, max, NULL);
+	    } else if ((am != NULL) && (expr[0] == '-') && (expr[1] == '-')) {
+		/* end of the automata */
+		regexp = xmlAutomataCompile(am);
+		xmlFreeAutomata(am);
+		am = NULL;
+		if (regexp == NULL) {
+		    xmlGenericError(xmlGenericErrorContext,
+			    "Failed to compile the automata");
+		    break;
+		}
+	    } else if ((expr[0] == '=') && (expr[1] == '>')) {
+		if (regexp == NULL) {
+		    fprintf(output, "=> failed not compiled\n");
+		} else {
+		    if (exec == NULL)
+			exec = xmlRegNewExecCtxt(regexp, NULL, NULL);
+		    if (ret == 0) {
+			ret = xmlRegExecPushString(exec, NULL, NULL);
+		    }
+		    if (ret == 1)
+			fprintf(output, "=> Passed\n");
+		    else if ((ret == 0) || (ret == -1))
+			fprintf(output, "=> Failed\n");
+		    else if (ret < 0)
+			fprintf(output, "=> Error\n");
+		    xmlRegFreeExecCtxt(exec);
+		    exec = NULL;
+		}
+		ret = 0;
+	    } else if (regexp != NULL) {
+		if (exec == NULL)
+		    exec = xmlRegNewExecCtxt(regexp, NULL, NULL);
+		ret = xmlRegExecPushString(exec, BAD_CAST expr, NULL);
+	    } else {
+		xmlGenericError(xmlGenericErrorContext,
+			"Unexpected line %s\n", expr);
+	    }
+	}
+    }
+    fclose(output);
+    fclose(input);
+    if (regexp != NULL)
+	xmlRegFreeRegexp(regexp);
+    if (exec != NULL)
+	xmlRegFreeExecCtxt(exec);
+    if (am != NULL)
+	xmlFreeAutomata(am);
+
+    ret = compareFiles(temp, result);
+    if (ret) {
+        fprintf(stderr, "Result for %s failed in %s\n", filename, result);
+        res = 1;
+    }
+    if (temp != NULL) {
+        unlink(temp);
+        free(temp);
+    }
+
+    return(res);
+}
+
+#endif /* LIBXML_AUTOMATA_ENABLED */
+
 /************************************************************************
  *									*
  *			Tests Descriptions				*
@@ -4365,6 +4981,9 @@
     { "XML push regression tests" ,
       pushParseTest, "./test/*", "result/", "", NULL,
       0 },
+    { "XML push boundary tests" ,
+      pushBoundaryTest, "./test/*", "result/", "", NULL,
+      0 },
 #endif
 #ifdef LIBXML_HTML_ENABLED
     { "HTML regression tests" ,
@@ -4377,6 +4996,9 @@
     { "Push HTML regression tests" ,
       pushParseTest, "./test/HTML/*", "result/HTML/", "", ".err",
       XML_PARSE_HTML },
+    { "Push HTML boundary tests" ,
+      pushBoundaryTest, "./test/HTML/*", "result/HTML/", "", NULL,
+      XML_PARSE_HTML },
 #endif
     { "HTML SAX regression tests" ,
       saxParseTest, "./test/HTML/*", "result/HTML/", ".sax", NULL,
@@ -4403,25 +5025,24 @@
 #endif
 #ifdef LIBXML_XINCLUDE_ENABLED
     { "XInclude regression tests" ,
-      errParseTest, "./test/XInclude/docs/*", "result/XInclude/", "", NULL,
-      /* Ignore errors at this point ".err", */
+      errParseTest, "./test/XInclude/docs/*", "result/XInclude/", "", ".err",
       XML_PARSE_XINCLUDE },
 #ifdef LIBXML_READER_ENABLED
     { "XInclude xmlReader regression tests",
       streamParseTest, "./test/XInclude/docs/*", "result/XInclude/", ".rdr",
-      /* Ignore errors at this point ".err", */
-      NULL, XML_PARSE_XINCLUDE },
+      ".err", XML_PARSE_XINCLUDE },
 #endif
     { "XInclude regression tests stripping include nodes" ,
-      errParseTest, "./test/XInclude/docs/*", "result/XInclude/", "", NULL,
-      /* Ignore errors at this point ".err", */
+      errParseTest, "./test/XInclude/docs/*", "result/XInclude/", "", ".err",
       XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE },
 #ifdef LIBXML_READER_ENABLED
     { "XInclude xmlReader regression tests stripping include nodes",
       streamParseTest, "./test/XInclude/docs/*", "result/XInclude/", ".rdr",
-      /* Ignore errors at this point ".err", */
-      NULL, XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE },
+      ".err", XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE },
 #endif
+    { "XInclude regression tests without reader",
+      errParseTest, "./test/XInclude/without-reader/*", "result/XInclude/", "",
+      ".err", XML_PARSE_XINCLUDE },
 #endif
 #ifdef LIBXML_XPATH_ENABLED
 #ifdef LIBXML_DEBUG_ENABLED
@@ -4434,6 +5055,11 @@
 #ifdef LIBXML_XPTR_ENABLED
     { "XPointer document queries regression tests" ,
       xptrDocTest, "./test/XPath/docs/*", NULL, NULL, NULL,
+      -1 },
+#endif
+#ifdef LIBXML_XPTR_LOCS_ENABLED
+    { "XPointer xpointer() queries regression tests" ,
+      xptrDocTest, "./test/XPath/docs/*", NULL, NULL, NULL,
       0 },
 #endif
 #ifdef LIBXML_VALID_ENABLED
@@ -4491,6 +5117,19 @@
       threadsTest, NULL, NULL, NULL, NULL,
       0 },
 #endif
+    { "SVG parsing regression tests" ,
+      oldParseTest, "./test/SVG/*.xml", "result/SVG/", "", NULL,
+      0 },
+#if defined(LIBXML_REGEXP_ENABLED)
+    { "Regexp regression tests" ,
+      regexpTest, "./test/regexp/*", "result/regexp/", "", ".err",
+      0 },
+#endif
+#if defined(LIBXML_AUTOMATA_ENABLED)
+    { "Automata regression tests" ,
+      automataTest, "./test/automata/*", "result/automata/", "", NULL,
+      0 },
+#endif
     {NULL, NULL, NULL, NULL, NULL, NULL, 0}
 };
 
@@ -4546,35 +5185,29 @@
 	    } else {
 	        error = NULL;
 	    }
-	    if ((result) &&(!checkTestFile(result)) && !update_results) {
-	        fprintf(stderr, "Missing result file %s\n", result);
-	    } else if ((error) &&(!checkTestFile(error)) && !update_results) {
-	        fprintf(stderr, "Missing error file %s\n", error);
-	    } else {
-		mem = xmlMemUsed();
-		extraMemoryFromResolver = 0;
-		testErrorsSize = 0;
-		testErrors[0] = 0;
-		res = tst->func(globbuf.gl_pathv[i], result, error,
-		                tst->options | XML_PARSE_COMPACT);
-		xmlResetLastError();
-		if (res != 0) {
-		    fprintf(stderr, "File %s generated an error\n",
-		            globbuf.gl_pathv[i]);
-		    nb_errors++;
-		    err++;
-		}
-		else if (xmlMemUsed() != mem) {
-		    if ((xmlMemUsed() != mem) &&
-		        (extraMemoryFromResolver == 0)) {
-			fprintf(stderr, "File %s leaked %d bytes\n",
-				globbuf.gl_pathv[i], xmlMemUsed() - mem);
-			nb_leaks++;
-			err++;
-		    }
-		}
-		testErrorsSize = 0;
-	    }
+            mem = xmlMemUsed();
+            extraMemoryFromResolver = 0;
+            testErrorsSize = 0;
+            testErrors[0] = 0;
+            res = tst->func(globbuf.gl_pathv[i], result, error,
+                            tst->options | XML_PARSE_COMPACT);
+            xmlResetLastError();
+            if (res != 0) {
+                fprintf(stderr, "File %s generated an error\n",
+                        globbuf.gl_pathv[i]);
+                nb_errors++;
+                err++;
+            }
+            else if (xmlMemUsed() != mem) {
+                if ((xmlMemUsed() != mem) &&
+                    (extraMemoryFromResolver == 0)) {
+                    fprintf(stderr, "File %s leaked %d bytes\n",
+                            globbuf.gl_pathv[i], xmlMemUsed() - mem);
+                    nb_leaks++;
+                    err++;
+                }
+            }
+            testErrorsSize = 0;
 	    if (result)
 		free(result);
 	    if (error)
@@ -4631,7 +5264,7 @@
     int i, a, ret = 0;
     int subset = 0;
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
     setvbuf(stdout, NULL, _IONBF, 0);
     setvbuf(stderr, NULL, _IONBF, 0);
 #endif
@@ -4684,6 +5317,6 @@
 int
 main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
     fprintf(stderr, "runtest requires output to be enabled in libxml2\n");
-    return(1);
+    return(0);
 }
 #endif
diff --git a/runxmlconf.c b/runxmlconf.c
index 8a37aa8..8df9df1 100644
--- a/runxmlconf.c
+++ b/runxmlconf.c
@@ -11,13 +11,8 @@
 
 #ifdef LIBXML_XPATH_ENABLED
 
-#if !defined(_WIN32) || defined(__CYGWIN__)
-#include <unistd.h>
-#endif
 #include <string.h>
-#include <sys/types.h>
 #include <sys/stat.h>
-#include <fcntl.h>
 
 #include <libxml/parser.h>
 #include <libxml/parserInternals.h>
@@ -53,7 +48,7 @@
     if (stat(filename, &buf) == -1)
         return(0);
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
     if (!(buf.st_mode & _S_IFREG))
         return(0);
 #else
@@ -601,7 +596,7 @@
 #else /* ! LIBXML_XPATH_ENABLED */
 #include <stdio.h>
 int
-main(int argc, char **argv) {
+main(int argc ATTRIBUTE_UNUSED, char **argv) {
     fprintf(stderr, "%s need XPath support\n", argv[0]);
 }
 #endif
diff --git a/save.h b/save.h
deleted file mode 100644
index 192b674..0000000
--- a/save.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Summary: Internal Interfaces for saving in libxml2
- * Description: this module describes a few interfaces which were
- *              added along with the API changes in 2.9.0
- *              those are private routines at this point
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_SAVE_H__
-#define __XML_SAVE_H__
-
-#include <libxml/tree.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef LIBXML_OUTPUT_ENABLED
-void xmlBufAttrSerializeTxtContent(xmlBufPtr buf, xmlDocPtr doc,
-                                   xmlAttrPtr attr, const xmlChar * string);
-void xmlBufDumpNotationTable(xmlBufPtr buf, xmlNotationTablePtr table);
-void xmlBufDumpElementDecl(xmlBufPtr buf, xmlElementPtr elem);
-void xmlBufDumpAttributeDecl(xmlBufPtr buf, xmlAttributePtr attr);
-void xmlBufDumpEntityDecl(xmlBufPtr buf, xmlEntityPtr ent);
-#endif
-
-xmlChar *xmlEncodeAttributeEntities(xmlDocPtr doc, const xmlChar *input);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* __XML_SAVE_H__ */
-
diff --git a/schematron.c b/schematron.c
index d005f56..c105a75 100644
--- a/schematron.c
+++ b/schematron.c
@@ -34,6 +34,8 @@
 #include <libxml/pattern.h>
 #include <libxml/schematron.h>
 
+#include "private/error.h"
+
 #define SCHEMATRON_PARSE_OPTIONS XML_PARSE_NOENT
 
 #define SCT_OLD_NS BAD_CAST "http://www.ascc.net/xml/schematron"
@@ -44,20 +46,20 @@
 static const xmlChar *xmlSchematronNs = XML_SCHEMATRON_NS;
 static const xmlChar *xmlOldSchematronNs = SCT_OLD_NS;
 
-#define IS_SCHEMATRON(node, elem)					\
-   ((node != NULL) && (node->type == XML_ELEMENT_NODE ) &&		\
-    (node->ns != NULL) &&						\
-    (xmlStrEqual(node->name, (const xmlChar *) elem)) &&		\
-    ((xmlStrEqual(node->ns->href, xmlSchematronNs)) ||			\
+#define IS_SCHEMATRON(node, elem)                                       \
+   ((node != NULL) && (node->type == XML_ELEMENT_NODE ) &&              \
+    (node->ns != NULL) &&                                               \
+    (xmlStrEqual(node->name, (const xmlChar *) elem)) &&                \
+    ((xmlStrEqual(node->ns->href, xmlSchematronNs)) ||                  \
      (xmlStrEqual(node->ns->href, xmlOldSchematronNs))))
 
-#define NEXT_SCHEMATRON(node)						\
-   while (node != NULL) {						\
-       if ((node->type == XML_ELEMENT_NODE ) && (node->ns != NULL) &&	\
-           ((xmlStrEqual(node->ns->href, xmlSchematronNs)) ||		\
-	    (xmlStrEqual(node->ns->href, xmlOldSchematronNs))))		\
-	   break;							\
-       node = node->next;						\
+#define NEXT_SCHEMATRON(node)                                           \
+   while (node != NULL) {                                               \
+       if ((node->type == XML_ELEMENT_NODE ) && (node->ns != NULL) &&   \
+           ((xmlStrEqual(node->ns->href, xmlSchematronNs)) ||           \
+            (xmlStrEqual(node->ns->href, xmlOldSchematronNs))))         \
+           break;                                                       \
+       node = node->next;                                               \
    }
 
 /**
@@ -65,9 +67,9 @@
  *
  * macro to flag unimplemented blocks
  */
-#define TODO								\
-    xmlGenericError(xmlGenericErrorContext,				\
-	    "Unimplemented block at %s:%d\n",				\
+#define TODO                                                            \
+    xmlGenericError(xmlGenericErrorContext,                             \
+            "Unimplemented block at %s:%d\n",                           \
             __FILE__, __LINE__);
 
 typedef enum {
@@ -76,6 +78,19 @@
 } xmlSchematronTestType;
 
 /**
+ * _xmlSchematronLet:
+ *
+ * A Schematron let variable
+ */
+typedef struct _xmlSchematronLet xmlSchematronLet;
+typedef xmlSchematronLet *xmlSchematronLetPtr;
+struct _xmlSchematronLet {
+    xmlSchematronLetPtr next; /* the next let variable in the list */
+    xmlChar *name;            /* the name of the variable */
+    xmlXPathCompExprPtr comp; /* the compiled expression */
+};
+
+/**
  * _xmlSchematronTest:
  *
  * A Schematrons test, either an assert or a report
@@ -83,12 +98,12 @@
 typedef struct _xmlSchematronTest xmlSchematronTest;
 typedef xmlSchematronTest *xmlSchematronTestPtr;
 struct _xmlSchematronTest {
-    xmlSchematronTestPtr next;	/* the next test in the list */
-    xmlSchematronTestType type;	/* the test type */
-    xmlNodePtr node;		/* the node in the tree */
-    xmlChar *test;		/* the expression to test */
-    xmlXPathCompExprPtr comp;	/* the compiled expression */
-    xmlChar *report;		/* the message to report */
+    xmlSchematronTestPtr next;  /* the next test in the list */
+    xmlSchematronTestType type; /* the test type */
+    xmlNodePtr node;            /* the node in the tree */
+    xmlChar *test;              /* the expression to test */
+    xmlXPathCompExprPtr comp;   /* the compiled expression */
+    xmlChar *report;            /* the message to report */
 };
 
 /**
@@ -99,13 +114,14 @@
 typedef struct _xmlSchematronRule xmlSchematronRule;
 typedef xmlSchematronRule *xmlSchematronRulePtr;
 struct _xmlSchematronRule {
-    xmlSchematronRulePtr next;	/* the next rule in the list */
+    xmlSchematronRulePtr next;  /* the next rule in the list */
     xmlSchematronRulePtr patnext;/* the next rule in the pattern list */
-    xmlNodePtr node;		/* the node in the tree */
-    xmlChar *context;		/* the context evaluation rule */
-    xmlSchematronTestPtr tests;	/* the list of tests */
-    xmlPatternPtr pattern;	/* the compiled pattern associated */
-    xmlChar *report;		/* the message to report */
+    xmlNodePtr node;            /* the node in the tree */
+    xmlChar *context;           /* the context evaluation rule */
+    xmlSchematronTestPtr tests; /* the list of tests */
+    xmlPatternPtr pattern;      /* the compiled pattern associated */
+    xmlChar *report;            /* the message to report */
+    xmlSchematronLetPtr lets;   /* the list of let variables */
 };
 
 /**
@@ -117,8 +133,8 @@
 typedef xmlSchematronPattern *xmlSchematronPatternPtr;
 struct _xmlSchematronPattern {
     xmlSchematronPatternPtr next;/* the next pattern in the list */
-    xmlSchematronRulePtr rules;	/* the list of rules */
-    xmlChar *name;		/* the name of the pattern */
+    xmlSchematronRulePtr rules; /* the list of rules */
+    xmlChar *name;              /* the name of the pattern */
 };
 
 /**
@@ -127,24 +143,24 @@
  * A Schematrons definition
  */
 struct _xmlSchematron {
-    const xmlChar *name;	/* schema name */
-    int preserve;		/* was the document passed by the user */
-    xmlDocPtr doc;		/* pointer to the parsed document */
-    int flags;			/* specific to this schematron */
+    const xmlChar *name;        /* schema name */
+    int preserve;               /* was the document passed by the user */
+    xmlDocPtr doc;              /* pointer to the parsed document */
+    int flags;                  /* specific to this schematron */
 
-    void *_private;		/* unused by the library */
-    xmlDictPtr dict;		/* the dictionary used internally */
+    void *_private;             /* unused by the library */
+    xmlDictPtr dict;            /* the dictionary used internally */
 
-    const xmlChar *title;	/* the title if any */
+    const xmlChar *title;       /* the title if any */
 
-    int nbNs;			/* the number of namespaces */
+    int nbNs;                   /* the number of namespaces */
 
-    int nbPattern;		/* the number of patterns */
+    int nbPattern;              /* the number of patterns */
     xmlSchematronPatternPtr patterns;/* the patterns found */
-    xmlSchematronRulePtr rules;	/* the rules gathered */
-    int nbNamespaces;		/* number of namespaces in the array */
-    int maxNamespaces;		/* size of the array */
-    const xmlChar **namespaces;	/* the array of namespaces */
+    xmlSchematronRulePtr rules; /* the rules gathered */
+    int nbNamespaces;           /* number of namespaces in the array */
+    int maxNamespaces;          /* size of the array */
+    const xmlChar **namespaces; /* the array of namespaces */
 };
 
 /**
@@ -154,7 +170,7 @@
  */
 struct _xmlSchematronValidCtxt {
     int type;
-    int flags;			/* an or of xmlSchematronValidOptions */
+    int flags;                  /* an or of xmlSchematronValidOptions */
 
     xmlDictPtr dict;
     int nberrors;
@@ -163,8 +179,8 @@
     xmlSchematronPtr schema;
     xmlXPathContextPtr xctxt;
 
-    FILE *outputFile;		/* if using XML_SCHEMATRON_OUT_FILE */
-    xmlBufferPtr outputBuffer;	/* if using XML_SCHEMATRON_OUT_BUFFER */
+    FILE *outputFile;           /* if using XML_SCHEMATRON_OUT_FILE */
+    xmlBufferPtr outputBuffer;  /* if using XML_SCHEMATRON_OUT_BUFFER */
 #ifdef LIBXML_OUTPUT_ENABLED
     xmlOutputWriteCallback iowrite; /* if using XML_SCHEMATRON_OUT_IO */
     xmlOutputCloseCallback  ioclose;
@@ -190,16 +206,16 @@
 
     int nberrors;
     int err;
-    xmlXPathContextPtr xctxt;	/* the XPath context used for compilation */
+    xmlXPathContextPtr xctxt;   /* the XPath context used for compilation */
     xmlSchematronPtr schema;
 
-    int nbNamespaces;		/* number of namespaces in the array */
-    int maxNamespaces;		/* size of the array */
-    const xmlChar **namespaces;	/* the array of namespaces */
+    int nbNamespaces;           /* number of namespaces in the array */
+    int maxNamespaces;          /* size of the array */
+    const xmlChar **namespaces; /* the array of namespaces */
 
-    int nbIncludes;		/* number of includes in the array */
-    int maxIncludes;		/* size of the array */
-    xmlNodePtr *includes;	/* the array of includes */
+    int nbIncludes;             /* number of includes in the array */
+    int maxIncludes;            /* size of the array */
+    xmlNodePtr *includes;       /* the array of includes */
 
     /* error reporting data */
     void *userData;                      /* user specific data block */
@@ -212,9 +228,9 @@
 #define XML_STRON_CTXT_VALIDATOR 2
 
 /************************************************************************
- *									*
- *			Error reporting					*
- *									*
+ *                                                                      *
+ *                      Error reporting                                 *
+ *                                                                      *
  ************************************************************************/
 
 /**
@@ -257,7 +273,7 @@
         ctxt->nberrors++;
         channel = ctxt->error;
         data = ctxt->userData;
-	schannel = ctxt->serror;
+        schannel = ctxt->serror;
     }
     __xmlRaiseError(schannel, channel, data, ctxt, node, XML_FROM_SCHEMASP,
                     error, XML_ERR_ERROR, NULL, 0,
@@ -285,9 +301,9 @@
 }
 
 /************************************************************************
- *									*
- *		Parsing and compilation of the Schematrontrons		*
- *									*
+ *                                                                      *
+ *              Parsing and compilation of the Schematrontrons          *
+ *                                                                      *
  ************************************************************************/
 
 /**
@@ -321,11 +337,11 @@
      */
     comp = xmlXPathCtxtCompile(ctxt->xctxt, test);
     if (comp == NULL) {
-	xmlSchematronPErr(ctxt, node,
-	    XML_SCHEMAP_NOROOT,
-	    "Failed to compile test expression %s",
-	    test, NULL);
-	return(NULL);
+        xmlSchematronPErr(ctxt, node,
+            XML_SCHEMAP_NOROOT,
+            "Failed to compile test expression %s",
+            test, NULL);
+        return(NULL);
     }
 
     ret = (xmlSchematronTestPtr) xmlMalloc(sizeof(xmlSchematronTest));
@@ -341,12 +357,12 @@
     ret->report = report;
     ret->next = NULL;
     if (rule->tests == NULL) {
-	rule->tests = ret;
+        rule->tests = ret;
     } else {
         xmlSchematronTestPtr prev = rule->tests;
 
-	while (prev->next != NULL)
-	     prev = prev->next;
+        while (prev->next != NULL)
+             prev = prev->next;
         prev->next = ret;
     }
     return (ret);
@@ -364,14 +380,35 @@
 
     while (tests != NULL) {
         next = tests->next;
-	if (tests->test != NULL)
-	    xmlFree(tests->test);
-	if (tests->comp != NULL)
-	    xmlXPathFreeCompExpr(tests->comp);
-	if (tests->report != NULL)
-	    xmlFree(tests->report);
-	xmlFree(tests);
-	tests = next;
+        if (tests->test != NULL)
+            xmlFree(tests->test);
+        if (tests->comp != NULL)
+            xmlXPathFreeCompExpr(tests->comp);
+        if (tests->report != NULL)
+            xmlFree(tests->report);
+        xmlFree(tests);
+        tests = next;
+    }
+}
+
+/**
+ * xmlSchematronFreeLets:
+ * @lets:  a list of let variables
+ *
+ * Free a list of let variables.
+ */
+static void
+xmlSchematronFreeLets(xmlSchematronLetPtr lets) {
+    xmlSchematronLetPtr next;
+
+    while (lets != NULL) {
+        next = lets->next;
+        if (lets->name != NULL)
+            xmlFree(lets->name);
+        if (lets->comp != NULL)
+            xmlXPathFreeCompExpr(lets->comp);
+        xmlFree(lets);
+        lets = next;
     }
 }
 
@@ -390,7 +427,7 @@
 static xmlSchematronRulePtr
 xmlSchematronAddRule(xmlSchematronParserCtxtPtr ctxt, xmlSchematronPtr schema,
                      xmlSchematronPatternPtr pat, xmlNodePtr node,
-		     xmlChar *context, xmlChar *report)
+                     xmlChar *context, xmlChar *report)
 {
     xmlSchematronRulePtr ret;
     xmlPatternPtr pattern;
@@ -405,10 +442,10 @@
     pattern = xmlPatterncompile(context, ctxt->dict, XML_PATTERN_XPATH,
                                 ctxt->namespaces);
     if (pattern == NULL) {
-	xmlSchematronPErr(ctxt, node,
-	    XML_SCHEMAP_NOROOT,
-	    "Failed to compile context expression %s",
-	    context, NULL);
+        xmlSchematronPErr(ctxt, node,
+            XML_SCHEMAP_NOROOT,
+            "Failed to compile context expression %s",
+            context, NULL);
     }
 
     ret = (xmlSchematronRulePtr) xmlMalloc(sizeof(xmlSchematronRule));
@@ -422,23 +459,24 @@
     ret->pattern = pattern;
     ret->report = report;
     ret->next = NULL;
+    ret->lets = NULL;
     if (schema->rules == NULL) {
-	schema->rules = ret;
+        schema->rules = ret;
     } else {
         xmlSchematronRulePtr prev = schema->rules;
 
-	while (prev->next != NULL)
-	     prev = prev->next;
+        while (prev->next != NULL)
+             prev = prev->next;
         prev->next = ret;
     }
     ret->patnext = NULL;
     if (pat->rules == NULL) {
-	pat->rules = ret;
+        pat->rules = ret;
     } else {
         xmlSchematronRulePtr prev = pat->rules;
 
-	while (prev->patnext != NULL)
-	     prev = prev->patnext;
+        while (prev->patnext != NULL)
+             prev = prev->patnext;
         prev->patnext = ret;
     }
     return (ret);
@@ -456,16 +494,18 @@
 
     while (rules != NULL) {
         next = rules->next;
-	if (rules->tests)
-	    xmlSchematronFreeTests(rules->tests);
-	if (rules->context != NULL)
-	    xmlFree(rules->context);
-	if (rules->pattern)
-	    xmlFreePattern(rules->pattern);
-	if (rules->report != NULL)
-	    xmlFree(rules->report);
-	xmlFree(rules);
-	rules = next;
+        if (rules->tests)
+            xmlSchematronFreeTests(rules->tests);
+        if (rules->context != NULL)
+            xmlFree(rules->context);
+        if (rules->pattern)
+            xmlFreePattern(rules->pattern);
+        if (rules->report != NULL)
+            xmlFree(rules->report);
+        if (rules->lets != NULL)
+            xmlSchematronFreeLets(rules->lets);
+        xmlFree(rules);
+        rules = next;
     }
 }
 
@@ -498,12 +538,12 @@
     ret->name = name;
     ret->next = NULL;
     if (schema->patterns == NULL) {
-	schema->patterns = ret;
+        schema->patterns = ret;
     } else {
         xmlSchematronPatternPtr prev = schema->patterns;
 
-	while (prev->next != NULL)
-	     prev = prev->next;
+        while (prev->next != NULL)
+             prev = prev->next;
         prev->next = ret;
     }
     return (ret);
@@ -521,10 +561,10 @@
 
     while (patterns != NULL) {
         next = patterns->next;
-	if (patterns->name != NULL)
-	    xmlFree(patterns->name);
-	xmlFree(patterns);
-	patterns = next;
+        if (patterns->name != NULL)
+            xmlFree(patterns->name);
+        xmlFree(patterns);
+        patterns = next;
     }
 }
 
@@ -611,7 +651,7 @@
     if (ret->xctxt == NULL) {
         xmlSchematronPErrMemory(NULL, "allocating schema parser XPath context",
                                 NULL);
-	xmlSchematronFreeParserCtxt(ret);
+        xmlSchematronFreeParserCtxt(ret);
         return (NULL);
     }
     ret->xctxt->flags = XML_XPATH_CHECKNS;
@@ -652,7 +692,7 @@
     if (ret->xctxt == NULL) {
         xmlSchematronPErrMemory(NULL, "allocating schema parser XPath context",
                                 NULL);
-	xmlSchematronFreeParserCtxt(ret);
+        xmlSchematronFreeParserCtxt(ret);
         return (NULL);
     }
     return (ret);
@@ -692,7 +732,7 @@
     if (ret->xctxt == NULL) {
         xmlSchematronPErrMemory(NULL, "allocating schema parser XPath context",
                                 NULL);
-	xmlSchematronFreeParserCtxt(ret);
+        xmlSchematronFreeParserCtxt(ret);
         return (NULL);
     }
 
@@ -737,26 +777,26 @@
     if (ctxt->includes == NULL) {
         ctxt->maxIncludes = 10;
         ctxt->includes = (xmlNodePtr *)
-	    xmlMalloc(ctxt->maxIncludes * 2 * sizeof(xmlNodePtr));
-	if (ctxt->includes == NULL) {
-	    xmlSchematronPErrMemory(NULL, "allocating parser includes",
-				    NULL);
-	    return;
-	}
+            xmlMalloc(ctxt->maxIncludes * 2 * sizeof(xmlNodePtr));
+        if (ctxt->includes == NULL) {
+            xmlSchematronPErrMemory(NULL, "allocating parser includes",
+                                    NULL);
+            return;
+        }
         ctxt->nbIncludes = 0;
     } else if (ctxt->nbIncludes + 2 >= ctxt->maxIncludes) {
         xmlNodePtr *tmp;
 
-	tmp = (xmlNodePtr *)
-	    xmlRealloc(ctxt->includes, ctxt->maxIncludes * 4 *
-	               sizeof(xmlNodePtr));
-	if (tmp == NULL) {
-	    xmlSchematronPErrMemory(NULL, "allocating parser includes",
-				    NULL);
-	    return;
-	}
+        tmp = (xmlNodePtr *)
+            xmlRealloc(ctxt->includes, ctxt->maxIncludes * 4 *
+                       sizeof(xmlNodePtr));
+        if (tmp == NULL) {
+            xmlSchematronPErrMemory(NULL, "allocating parser includes",
+                                    NULL);
+            return;
+        }
         ctxt->includes = tmp;
-	ctxt->maxIncludes *= 2;
+        ctxt->maxIncludes *= 2;
     }
     ctxt->includes[2 * ctxt->nbIncludes] = cur;
     ctxt->includes[2 * ctxt->nbIncludes + 1] = (xmlNodePtr) doc;
@@ -785,7 +825,7 @@
     ret = ctxt->includes[2 * ctxt->nbIncludes];
     xmlFreeDoc(doc);
     if (ret != NULL)
-	ret = ret->next;
+        ret = ret->next;
     if (ret == NULL)
         return(xmlSchematronPopInclude(ctxt));
     return(ret);
@@ -807,26 +847,26 @@
     if (ctxt->namespaces == NULL) {
         ctxt->maxNamespaces = 10;
         ctxt->namespaces = (const xmlChar **)
-	    xmlMalloc(ctxt->maxNamespaces * 2 * sizeof(const xmlChar *));
-	if (ctxt->namespaces == NULL) {
-	    xmlSchematronPErrMemory(NULL, "allocating parser namespaces",
-				    NULL);
-	    return;
-	}
+            xmlMalloc(ctxt->maxNamespaces * 2 * sizeof(const xmlChar *));
+        if (ctxt->namespaces == NULL) {
+            xmlSchematronPErrMemory(NULL, "allocating parser namespaces",
+                                    NULL);
+            return;
+        }
         ctxt->nbNamespaces = 0;
     } else if (ctxt->nbNamespaces + 2 >= ctxt->maxNamespaces) {
         const xmlChar **tmp;
 
-	tmp = (const xmlChar **)
-	    xmlRealloc((xmlChar **) ctxt->namespaces, ctxt->maxNamespaces * 4 *
-	               sizeof(const xmlChar *));
-	if (tmp == NULL) {
-	    xmlSchematronPErrMemory(NULL, "allocating parser namespaces",
-				    NULL);
-	    return;
-	}
+        tmp = (const xmlChar **)
+            xmlRealloc((xmlChar **) ctxt->namespaces, ctxt->maxNamespaces * 4 *
+                       sizeof(const xmlChar *));
+        if (tmp == NULL) {
+            xmlSchematronPErrMemory(NULL, "allocating parser namespaces",
+                                    NULL);
+            return;
+        }
         ctxt->namespaces = tmp;
-	ctxt->maxNamespaces *= 2;
+        ctxt->maxNamespaces *= 2;
     }
     ctxt->namespaces[2 * ctxt->nbNamespaces] =
         xmlDictLookup(ctxt->dict, ns, -1);
@@ -839,6 +879,57 @@
 }
 
 /**
+ * xmlSchematronParseTestReportMsg:
+ * @ctxt:  the schema parser context
+ * @con:  the assert or report node
+ *
+ * Format the message content of the assert or report test
+ */
+static void
+xmlSchematronParseTestReportMsg(xmlSchematronParserCtxtPtr ctxt, xmlNodePtr con)
+{
+    xmlNodePtr child;
+    xmlXPathCompExprPtr comp;
+
+    child = con->children;
+    while (child != NULL) {
+        if ((child->type == XML_TEXT_NODE) ||
+            (child->type == XML_CDATA_SECTION_NODE))
+            /* Do Nothing */
+            {}
+        else if (IS_SCHEMATRON(child, "name")) {
+            /* Do Nothing */
+        } else if (IS_SCHEMATRON(child, "value-of")) {
+            xmlChar *select;
+
+            select = xmlGetNoNsProp(child, BAD_CAST "select");
+
+            if (select == NULL) {
+                xmlSchematronPErr(ctxt, child,
+                                  XML_SCHEMAV_ATTRINVALID,
+                                  "value-of has no select attribute",
+                                  NULL, NULL);
+            } else {
+                /*
+                 * try first to compile the test expression
+                 */
+                comp = xmlXPathCtxtCompile(ctxt->xctxt, select);
+                if (comp == NULL) {
+                    xmlSchematronPErr(ctxt, child,
+                                      XML_SCHEMAV_ATTRINVALID,
+                                      "Failed to compile select expression %s",
+                                      select, NULL);
+                }
+                xmlXPathFreeCompExpr(comp);
+            }
+            xmlFree(select);
+        }
+        child = child->next;
+        continue;
+    }
+}
+
+/**
  * xmlSchematronParseRule:
  * @ctxt:  a schema validation context
  * @rule:  the rule node
@@ -848,13 +939,15 @@
 static void
 xmlSchematronParseRule(xmlSchematronParserCtxtPtr ctxt,
                        xmlSchematronPatternPtr pattern,
-		       xmlNodePtr rule)
+                       xmlNodePtr rule)
 {
     xmlNodePtr cur;
     int nbChecks = 0;
     xmlChar *test;
     xmlChar *context;
     xmlChar *report;
+    xmlChar *name;
+    xmlChar *value;
     xmlSchematronRulePtr ruleptr;
     xmlSchematronTestPtr testptr;
 
@@ -862,89 +955,145 @@
 
     context = xmlGetNoNsProp(rule, BAD_CAST "context");
     if (context == NULL) {
-	xmlSchematronPErr(ctxt, rule,
-	    XML_SCHEMAP_NOROOT,
-	    "rule has no context attribute",
-	    NULL, NULL);
-	return;
+        xmlSchematronPErr(ctxt, rule,
+            XML_SCHEMAP_NOROOT,
+            "rule has no context attribute",
+            NULL, NULL);
+        return;
     } else if (context[0] == 0) {
-	xmlSchematronPErr(ctxt, rule,
-	    XML_SCHEMAP_NOROOT,
-	    "rule has an empty context attribute",
-	    NULL, NULL);
-	xmlFree(context);
-	return;
+        xmlSchematronPErr(ctxt, rule,
+            XML_SCHEMAP_NOROOT,
+            "rule has an empty context attribute",
+            NULL, NULL);
+        xmlFree(context);
+        return;
     } else {
-	ruleptr = xmlSchematronAddRule(ctxt, ctxt->schema, pattern,
-	                               rule, context, NULL);
-	if (ruleptr == NULL) {
-	    xmlFree(context);
-	    return;
-	}
+        ruleptr = xmlSchematronAddRule(ctxt, ctxt->schema, pattern,
+                                       rule, context, NULL);
+        if (ruleptr == NULL) {
+            xmlFree(context);
+            return;
+        }
     }
 
     cur = rule->children;
     NEXT_SCHEMATRON(cur);
     while (cur != NULL) {
-	if (IS_SCHEMATRON(cur, "assert")) {
-	    nbChecks++;
-	    test = xmlGetNoNsProp(cur, BAD_CAST "test");
-	    if (test == NULL) {
-		xmlSchematronPErr(ctxt, cur,
-		    XML_SCHEMAP_NOROOT,
-		    "assert has no test attribute",
-		    NULL, NULL);
-	    } else if (test[0] == 0) {
-		xmlSchematronPErr(ctxt, cur,
-		    XML_SCHEMAP_NOROOT,
-		    "assert has an empty test attribute",
-		    NULL, NULL);
-		xmlFree(test);
-	    } else {
-		/* TODO will need dynamic processing instead */
-		report = xmlNodeGetContent(cur);
+        if (IS_SCHEMATRON(cur, "let")) {
+            xmlXPathCompExprPtr var_comp;
+            xmlSchematronLetPtr let;
 
-		testptr = xmlSchematronAddTest(ctxt, XML_SCHEMATRON_ASSERT,
-		                               ruleptr, cur, test, report);
-		if (testptr == NULL)
-		    xmlFree(test);
-	    }
-	} else if (IS_SCHEMATRON(cur, "report")) {
-	    nbChecks++;
-	    test = xmlGetNoNsProp(cur, BAD_CAST "test");
-	    if (test == NULL) {
-		xmlSchematronPErr(ctxt, cur,
-		    XML_SCHEMAP_NOROOT,
-		    "assert has no test attribute",
-		    NULL, NULL);
-	    } else if (test[0] == 0) {
-		xmlSchematronPErr(ctxt, cur,
-		    XML_SCHEMAP_NOROOT,
-		    "assert has an empty test attribute",
-		    NULL, NULL);
-		xmlFree(test);
-	    } else {
-		/* TODO will need dynamic processing instead */
-		report = xmlNodeGetContent(cur);
+            name = xmlGetNoNsProp(cur, BAD_CAST "name");
+            if (name == NULL) {
+                xmlSchematronPErr(ctxt, cur,
+                                  XML_SCHEMAP_NOROOT,
+                                  "let has no name attribute",
+                                  NULL, NULL);
+                return;
+            } else if (name[0] == 0) {
+                xmlSchematronPErr(ctxt, cur,
+                                  XML_SCHEMAP_NOROOT,
+                                  "let has an empty name attribute",
+                                  NULL, NULL);
+                xmlFree(name);
+                return;
+            }
+            value = xmlGetNoNsProp(cur, BAD_CAST "value");
+            if (value == NULL) {
+                xmlSchematronPErr(ctxt, cur,
+                                  XML_SCHEMAP_NOROOT,
+                                  "let has no value attribute",
+                                  NULL, NULL);
+                return;
+            } else if (value[0] == 0) {
+                xmlSchematronPErr(ctxt, cur,
+                                  XML_SCHEMAP_NOROOT,
+                                  "let has an empty value attribute",
+                                  NULL, NULL);
+                xmlFree(value);
+                return;
+            }
 
-		testptr = xmlSchematronAddTest(ctxt, XML_SCHEMATRON_REPORT,
-		                               ruleptr, cur, test, report);
-		if (testptr == NULL)
-		    xmlFree(test);
-	    }
-	} else {
-	    xmlSchematronPErr(ctxt, cur,
-		XML_SCHEMAP_NOROOT,
-		"Expecting an assert or a report element instead of %s",
-		cur->name, NULL);
-	}
-	cur = cur->next;
-	NEXT_SCHEMATRON(cur);
+            var_comp = xmlXPathCtxtCompile(ctxt->xctxt, value);
+            if (var_comp == NULL) {
+                xmlSchematronPErr(ctxt, cur,
+                                  XML_SCHEMAP_NOROOT,
+                                  "Failed to compile let expression %s",
+                                  value, NULL);
+                return;
+            }
+
+            let = (xmlSchematronLetPtr) malloc(sizeof(xmlSchematronLet));
+            let->name = name;
+            let->comp = var_comp;
+            let->next = NULL;
+
+            /* add new let variable to the beginning of the list */
+            if (ruleptr->lets != NULL) {
+                let->next = ruleptr->lets;
+            }
+            ruleptr->lets = let;
+
+            xmlFree(value);
+        } else if (IS_SCHEMATRON(cur, "assert")) {
+            nbChecks++;
+            test = xmlGetNoNsProp(cur, BAD_CAST "test");
+            if (test == NULL) {
+                xmlSchematronPErr(ctxt, cur,
+                    XML_SCHEMAP_NOROOT,
+                    "assert has no test attribute",
+                    NULL, NULL);
+            } else if (test[0] == 0) {
+                xmlSchematronPErr(ctxt, cur,
+                    XML_SCHEMAP_NOROOT,
+                    "assert has an empty test attribute",
+                    NULL, NULL);
+                xmlFree(test);
+            } else {
+                xmlSchematronParseTestReportMsg(ctxt, cur);
+                report = xmlNodeGetContent(cur);
+
+                testptr = xmlSchematronAddTest(ctxt, XML_SCHEMATRON_ASSERT,
+                                               ruleptr, cur, test, report);
+                if (testptr == NULL)
+                    xmlFree(test);
+            }
+        } else if (IS_SCHEMATRON(cur, "report")) {
+            nbChecks++;
+            test = xmlGetNoNsProp(cur, BAD_CAST "test");
+            if (test == NULL) {
+                xmlSchematronPErr(ctxt, cur,
+                    XML_SCHEMAP_NOROOT,
+                    "assert has no test attribute",
+                    NULL, NULL);
+            } else if (test[0] == 0) {
+                xmlSchematronPErr(ctxt, cur,
+                    XML_SCHEMAP_NOROOT,
+                    "assert has an empty test attribute",
+                    NULL, NULL);
+                xmlFree(test);
+            } else {
+                xmlSchematronParseTestReportMsg(ctxt, cur);
+                report = xmlNodeGetContent(cur);
+
+                testptr = xmlSchematronAddTest(ctxt, XML_SCHEMATRON_REPORT,
+                                               ruleptr, cur, test, report);
+                if (testptr == NULL)
+                    xmlFree(test);
+            }
+        } else {
+            xmlSchematronPErr(ctxt, cur,
+                XML_SCHEMAP_NOROOT,
+                "Expecting an assert or a report element instead of %s",
+                cur->name, NULL);
+        }
+        cur = cur->next;
+        NEXT_SCHEMATRON(cur);
     }
     if (nbChecks == 0) {
-	xmlSchematronPErr(ctxt, rule,
-	    XML_SCHEMAP_NOROOT,
-	    "rule has no assert nor report element", NULL, NULL);
+        xmlSchematronPErr(ctxt, rule,
+            XML_SCHEMAP_NOROOT,
+            "rule has no assert nor report element", NULL, NULL);
     }
 }
 
@@ -967,32 +1116,32 @@
 
     id = xmlGetNoNsProp(pat, BAD_CAST "id");
     if (id == NULL) {
-	id = xmlGetNoNsProp(pat, BAD_CAST "name");
+        id = xmlGetNoNsProp(pat, BAD_CAST "name");
     }
     pattern = xmlSchematronAddPattern(ctxt, ctxt->schema, pat, id);
     if (pattern == NULL) {
-	if (id != NULL)
-	    xmlFree(id);
+        if (id != NULL)
+            xmlFree(id);
         return;
     }
     cur = pat->children;
     NEXT_SCHEMATRON(cur);
     while (cur != NULL) {
-	if (IS_SCHEMATRON(cur, "rule")) {
-	    xmlSchematronParseRule(ctxt, pattern, cur);
-	    nbRules++;
-	} else {
-	    xmlSchematronPErr(ctxt, cur,
-		XML_SCHEMAP_NOROOT,
-		"Expecting a rule element instead of %s", cur->name, NULL);
-	}
-	cur = cur->next;
-	NEXT_SCHEMATRON(cur);
+        if (IS_SCHEMATRON(cur, "rule")) {
+            xmlSchematronParseRule(ctxt, pattern, cur);
+            nbRules++;
+        } else {
+            xmlSchematronPErr(ctxt, cur,
+                XML_SCHEMAP_NOROOT,
+                "Expecting a rule element instead of %s", cur->name, NULL);
+        }
+        cur = cur->next;
+        NEXT_SCHEMATRON(cur);
     }
     if (nbRules == 0) {
-	xmlSchematronPErr(ctxt, pat,
-	    XML_SCHEMAP_NOROOT,
-	    "Pattern has no rule element", NULL, NULL);
+        xmlSchematronPErr(ctxt, pat,
+            XML_SCHEMAP_NOROOT,
+            "Pattern has no rule element", NULL, NULL);
     }
 }
 
@@ -1020,10 +1169,10 @@
 
     href = xmlGetNoNsProp(cur, BAD_CAST "href");
     if (href == NULL) {
-	xmlSchematronPErr(ctxt, cur,
-	    XML_SCHEMAP_NOROOT,
-	    "Include has no href attribute", NULL, NULL);
-	return(cur->next);
+        xmlSchematronPErr(ctxt, cur,
+            XML_SCHEMAP_NOROOT,
+            "Include has no href attribute", NULL, NULL);
+        return(cur->next);
     }
 
     /* do the URI base composition, load and find the root */
@@ -1031,19 +1180,19 @@
     URI = xmlBuildURI(href, base);
     doc = xmlReadFile((const char *) URI, NULL, SCHEMATRON_PARSE_OPTIONS);
     if (doc == NULL) {
-	xmlSchematronPErr(ctxt, cur,
-		      XML_SCHEMAP_FAILED_LOAD,
-		      "could not load include '%s'.\n",
-		      URI, NULL);
-	goto done;
+        xmlSchematronPErr(ctxt, cur,
+                      XML_SCHEMAP_FAILED_LOAD,
+                      "could not load include '%s'.\n",
+                      URI, NULL);
+        goto done;
     }
     ret = xmlDocGetRootElement(doc);
     if (ret == NULL) {
-	xmlSchematronPErr(ctxt, cur,
-		      XML_SCHEMAP_FAILED_LOAD,
-		      "could not find root from include '%s'.\n",
-		      URI, NULL);
-	goto done;
+        xmlSchematronPErr(ctxt, cur,
+                      XML_SCHEMAP_FAILED_LOAD,
+                      "could not find root from include '%s'.\n",
+                      URI, NULL);
+        goto done;
     }
 
     /* Success, push the include for rollback on exit */
@@ -1052,7 +1201,7 @@
 done:
     if (ret == NULL) {
         if (doc != NULL)
-	    xmlFreeDoc(doc);
+            xmlFreeDoc(doc);
     }
     xmlFree(href);
     if (base != NULL)
@@ -1091,37 +1240,37 @@
      */
     if (ctxt->URL != NULL) {
         doc = xmlReadFile((const char *) ctxt->URL, NULL,
-	                  SCHEMATRON_PARSE_OPTIONS);
+                          SCHEMATRON_PARSE_OPTIONS);
         if (doc == NULL) {
-	    xmlSchematronPErr(ctxt, NULL,
-			  XML_SCHEMAP_FAILED_LOAD,
+            xmlSchematronPErr(ctxt, NULL,
+                          XML_SCHEMAP_FAILED_LOAD,
                           "xmlSchematronParse: could not load '%s'.\n",
                           ctxt->URL, NULL);
             return (NULL);
         }
-	ctxt->preserve = 0;
+        ctxt->preserve = 0;
     } else if (ctxt->buffer != NULL) {
         doc = xmlReadMemory(ctxt->buffer, ctxt->size, NULL, NULL,
-	                    SCHEMATRON_PARSE_OPTIONS);
+                            SCHEMATRON_PARSE_OPTIONS);
         if (doc == NULL) {
-	    xmlSchematronPErr(ctxt, NULL,
-			  XML_SCHEMAP_FAILED_PARSE,
+            xmlSchematronPErr(ctxt, NULL,
+                          XML_SCHEMAP_FAILED_PARSE,
                           "xmlSchematronParse: could not parse.\n",
                           NULL, NULL);
             return (NULL);
         }
         doc->URL = xmlStrdup(BAD_CAST "in_memory_buffer");
         ctxt->URL = xmlDictLookup(ctxt->dict, BAD_CAST "in_memory_buffer", -1);
-	ctxt->preserve = 0;
+        ctxt->preserve = 0;
     } else if (ctxt->doc != NULL) {
         doc = ctxt->doc;
-	preserve = 1;
-	ctxt->preserve = 1;
+        preserve = 1;
+        ctxt->preserve = 1;
     } else {
-	xmlSchematronPErr(ctxt, NULL,
-		      XML_SCHEMAP_NOTHING_TO_PARSE,
-		      "xmlSchematronParse: could not parse.\n",
-		      NULL, NULL);
+        xmlSchematronPErr(ctxt, NULL,
+                      XML_SCHEMAP_NOTHING_TO_PARSE,
+                      "xmlSchematronParse: could not parse.\n",
+                      NULL, NULL);
         return (NULL);
     }
 
@@ -1130,21 +1279,21 @@
      */
     root = xmlDocGetRootElement(doc);
     if (root == NULL) {
-	xmlSchematronPErr(ctxt, (xmlNodePtr) doc,
-		      XML_SCHEMAP_NOROOT,
-		      "The schema has no document element.\n", NULL, NULL);
-	if (!preserve) {
-	    xmlFreeDoc(doc);
-	}
+        xmlSchematronPErr(ctxt, (xmlNodePtr) doc,
+                      XML_SCHEMAP_NOROOT,
+                      "The schema has no document element.\n", NULL, NULL);
+        if (!preserve) {
+            xmlFreeDoc(doc);
+        }
         return (NULL);
     }
 
     if (!IS_SCHEMATRON(root, "schema")) {
-	xmlSchematronPErr(ctxt, root,
-	    XML_SCHEMAP_NOROOT,
-	    "The XML document '%s' is not a XML schematron document",
-	    ctxt->URL, NULL);
-	goto exit;
+        xmlSchematronPErr(ctxt, root,
+            XML_SCHEMAP_NOROOT,
+            "The XML document '%s' is not a XML schematron document",
+            ctxt->URL, NULL);
+        goto exit;
     }
     ret = xmlSchematronNewSchematron(ctxt);
     if (ret == NULL)
@@ -1158,85 +1307,85 @@
     NEXT_SCHEMATRON(cur);
     if (IS_SCHEMATRON(cur, "title")) {
         xmlChar *title = xmlNodeGetContent(cur);
-	if (title != NULL) {
-	    ret->title = xmlDictLookup(ret->dict, title, -1);
-	    xmlFree(title);
-	}
-	cur = cur->next;
-	NEXT_SCHEMATRON(cur);
+        if (title != NULL) {
+            ret->title = xmlDictLookup(ret->dict, title, -1);
+            xmlFree(title);
+        }
+        cur = cur->next;
+        NEXT_SCHEMATRON(cur);
     }
     while (IS_SCHEMATRON(cur, "ns")) {
         xmlChar *prefix = xmlGetNoNsProp(cur, BAD_CAST "prefix");
         xmlChar *uri = xmlGetNoNsProp(cur, BAD_CAST "uri");
-	if ((uri == NULL) || (uri[0] == 0)) {
-	    xmlSchematronPErr(ctxt, cur,
-		XML_SCHEMAP_NOROOT,
-		"ns element has no uri", NULL, NULL);
-	}
-	if ((prefix == NULL) || (prefix[0] == 0)) {
-	    xmlSchematronPErr(ctxt, cur,
-		XML_SCHEMAP_NOROOT,
-		"ns element has no prefix", NULL, NULL);
-	}
-	if ((prefix) && (uri)) {
-	    xmlXPathRegisterNs(ctxt->xctxt, prefix, uri);
-	    xmlSchematronAddNamespace(ctxt, prefix, uri);
-	    ret->nbNs++;
-	}
-	if (uri)
-	    xmlFree(uri);
-	if (prefix)
-	    xmlFree(prefix);
-	cur = cur->next;
-	NEXT_SCHEMATRON(cur);
+        if ((uri == NULL) || (uri[0] == 0)) {
+            xmlSchematronPErr(ctxt, cur,
+                XML_SCHEMAP_NOROOT,
+                "ns element has no uri", NULL, NULL);
+        }
+        if ((prefix == NULL) || (prefix[0] == 0)) {
+            xmlSchematronPErr(ctxt, cur,
+                XML_SCHEMAP_NOROOT,
+                "ns element has no prefix", NULL, NULL);
+        }
+        if ((prefix) && (uri)) {
+            xmlXPathRegisterNs(ctxt->xctxt, prefix, uri);
+            xmlSchematronAddNamespace(ctxt, prefix, uri);
+            ret->nbNs++;
+        }
+        if (uri)
+            xmlFree(uri);
+        if (prefix)
+            xmlFree(prefix);
+        cur = cur->next;
+        NEXT_SCHEMATRON(cur);
     }
     while (cur != NULL) {
-	if (IS_SCHEMATRON(cur, "pattern")) {
-	    xmlSchematronParsePattern(ctxt, cur);
-	    ret->nbPattern++;
-	} else {
-	    xmlSchematronPErr(ctxt, cur,
-		XML_SCHEMAP_NOROOT,
-		"Expecting a pattern element instead of %s", cur->name, NULL);
-	}
-	cur = cur->next;
-	NEXT_SCHEMATRON(cur);
+        if (IS_SCHEMATRON(cur, "pattern")) {
+            xmlSchematronParsePattern(ctxt, cur);
+            ret->nbPattern++;
+        } else {
+            xmlSchematronPErr(ctxt, cur,
+                XML_SCHEMAP_NOROOT,
+                "Expecting a pattern element instead of %s", cur->name, NULL);
+        }
+        cur = cur->next;
+        NEXT_SCHEMATRON(cur);
     }
     if (ret->nbPattern == 0) {
-	xmlSchematronPErr(ctxt, root,
-	    XML_SCHEMAP_NOROOT,
-	    "The schematron document '%s' has no pattern",
-	    ctxt->URL, NULL);
-	goto exit;
+        xmlSchematronPErr(ctxt, root,
+            XML_SCHEMAP_NOROOT,
+            "The schematron document '%s' has no pattern",
+            ctxt->URL, NULL);
+        goto exit;
     }
     /* the original document must be kept for reporting */
     ret->doc = doc;
     if (preserve) {
-	    ret->preserve = 1;
+            ret->preserve = 1;
     }
     preserve = 1;
 
 exit:
     if (!preserve) {
-	xmlFreeDoc(doc);
+        xmlFreeDoc(doc);
     }
     if (ret != NULL) {
-	if (ctxt->nberrors != 0) {
-	    xmlSchematronFree(ret);
-	    ret = NULL;
-	} else {
-	    ret->namespaces = ctxt->namespaces;
-	    ret->nbNamespaces = ctxt->nbNamespaces;
-	    ctxt->namespaces = NULL;
-	}
+        if (ctxt->nberrors != 0) {
+            xmlSchematronFree(ret);
+            ret = NULL;
+        } else {
+            ret->namespaces = ctxt->namespaces;
+            ret->nbNamespaces = ctxt->nbNamespaces;
+            ctxt->namespaces = NULL;
+        }
     }
     return (ret);
 }
 
 /************************************************************************
- *									*
- *		Schematrontron Reports handler				*
- *									*
+ *                                                                      *
+ *              Schematrontron Reports handler                          *
+ *                                                                      *
  ************************************************************************/
 
 static xmlNodePtr
@@ -1256,7 +1405,7 @@
 
     if ((ret->type == XPATH_NODESET) &&
         (ret->nodesetval != NULL) && (ret->nodesetval->nodeNr > 0))
-	node = ret->nodesetval->nodeTab[0];
+        node = ret->nodesetval->nodeTab[0];
 
     xmlXPathFreeObject(ret);
     return(node);
@@ -1291,9 +1440,10 @@
  */
 static xmlChar *
 xmlSchematronFormatReport(xmlSchematronValidCtxtPtr ctxt,
-			  xmlNodePtr test, xmlNodePtr cur) {
+                          xmlNodePtr test, xmlNodePtr cur) {
     xmlChar *ret = NULL;
     xmlNodePtr child, node;
+    xmlXPathCompExprPtr comp;
 
     if ((test == NULL) || (cur == NULL))
         return(ret);
@@ -1301,55 +1451,107 @@
     child = test->children;
     while (child != NULL) {
         if ((child->type == XML_TEXT_NODE) ||
-	    (child->type == XML_CDATA_SECTION_NODE))
-	    ret = xmlStrcat(ret, child->content);
-	else if (IS_SCHEMATRON(child, "name")) {
-	    xmlChar *path;
+            (child->type == XML_CDATA_SECTION_NODE))
+            ret = xmlStrcat(ret, child->content);
+        else if (IS_SCHEMATRON(child, "name")) {
+            xmlChar *path;
 
-	    path = xmlGetNoNsProp(child, BAD_CAST "path");
+            path = xmlGetNoNsProp(child, BAD_CAST "path");
 
             node = cur;
-	    if (path != NULL) {
-	        node = xmlSchematronGetNode(ctxt, cur, path);
-		if (node == NULL)
-		    node = cur;
-		xmlFree(path);
-	    }
+            if (path != NULL) {
+                node = xmlSchematronGetNode(ctxt, cur, path);
+                if (node == NULL)
+                    node = cur;
+                xmlFree(path);
+            }
 
-	    if ((node->ns == NULL) || (node->ns->prefix == NULL))
-	        ret = xmlStrcat(ret, node->name);
-	    else {
-	        ret = xmlStrcat(ret, node->ns->prefix);
-	        ret = xmlStrcat(ret, BAD_CAST ":");
-	        ret = xmlStrcat(ret, node->name);
-	    }
-	} else {
-	    child = child->next;
-	    continue;
-	}
+            if ((node->ns == NULL) || (node->ns->prefix == NULL))
+                ret = xmlStrcat(ret, node->name);
+            else {
+                ret = xmlStrcat(ret, node->ns->prefix);
+                ret = xmlStrcat(ret, BAD_CAST ":");
+                ret = xmlStrcat(ret, node->name);
+            }
+        } else if (IS_SCHEMATRON(child, "value-of")) {
+            xmlChar *select;
+            xmlXPathObjectPtr eval;
 
-	/*
-	 * remove superfluous \n
-	 */
-	if (ret != NULL) {
-	    int len = xmlStrlen(ret);
-	    xmlChar c;
+            select = xmlGetNoNsProp(child, BAD_CAST "select");
+            comp = xmlXPathCtxtCompile(ctxt->xctxt, select);
+            eval = xmlXPathCompiledEval(comp, ctxt->xctxt);
 
-	    if (len > 0) {
-		c = ret[len - 1];
-		if ((c == ' ') || (c == '\n') || (c == '\r') || (c == '\t')) {
-		    while ((c == ' ') || (c == '\n') ||
-		           (c == '\r') || (c == '\t')) {
-			len--;
-			if (len == 0)
-			    break;
-			c = ret[len - 1];
-		    }
-		    ret[len] = ' ';
-		    ret[len + 1] = 0;
-		}
-	    }
-	}
+            switch (eval->type) {
+            case XPATH_NODESET: {
+                int indx;
+                xmlChar *spacer = BAD_CAST " ";
+
+                if (eval->nodesetval) {
+                    for (indx = 0; indx < eval->nodesetval->nodeNr; indx++) {
+                        if (indx > 0)
+                            ret = xmlStrcat(ret, spacer);
+                        ret = xmlStrcat(ret, eval->nodesetval->nodeTab[indx]->name);
+                    }
+                } else {
+                    xmlGenericError(xmlGenericErrorContext,
+                                    "Empty node set\n");
+                }
+                break;
+            }
+            case XPATH_BOOLEAN: {
+                const char *str = eval->boolval ? "True" : "False";
+                ret = xmlStrcat(ret, BAD_CAST str);
+                break;
+            }
+            case XPATH_NUMBER: {
+                xmlChar *buf;
+                int size;
+
+                size = snprintf(NULL, 0, "%0g", eval->floatval);
+                buf = (xmlChar*) malloc(size);
+                /* xmlStrPrintf(buf, size, "%0g", eval->floatval); // doesn't work */
+                sprintf((char*) buf, "%0g", eval->floatval);
+                ret = xmlStrcat(ret, buf);
+                free(buf);
+                break;
+            }
+            case XPATH_STRING:
+                ret = xmlStrcat(ret, eval->stringval);
+                break;
+            default:
+                xmlGenericError(xmlGenericErrorContext,
+                                "Unsupported XPATH Type: %d\n", eval->type);
+            }
+            xmlXPathFreeObject(eval);
+            xmlXPathFreeCompExpr(comp);
+            xmlFree(select);
+        } else {
+            child = child->next;
+            continue;
+        }
+
+        /*
+         * remove superfluous \n
+         */
+        if (ret != NULL) {
+            int len = xmlStrlen(ret);
+            xmlChar c;
+
+            if (len > 0) {
+                c = ret[len - 1];
+                if ((c == ' ') || (c == '\n') || (c == '\r') || (c == '\t')) {
+                    while ((c == ' ') || (c == '\n') ||
+                           (c == '\r') || (c == '\t')) {
+                        len--;
+                        if (len == 0)
+                            break;
+                        c = ret[len - 1];
+                    }
+                    ret[len] = ' ';
+                    ret[len + 1] = 0;
+                }
+            }
+        }
 
         child = child->next;
     }
@@ -1368,44 +1570,44 @@
  */
 static void
 xmlSchematronReportSuccess(xmlSchematronValidCtxtPtr ctxt,
-		   xmlSchematronTestPtr test, xmlNodePtr cur, xmlSchematronPatternPtr pattern, int success) {
+                   xmlSchematronTestPtr test, xmlNodePtr cur, xmlSchematronPatternPtr pattern, int success) {
     if ((ctxt == NULL) || (cur == NULL) || (test == NULL))
         return;
     /* if quiet and not SVRL report only failures */
     if ((ctxt->flags & XML_SCHEMATRON_OUT_QUIET) &&
         ((ctxt->flags & XML_SCHEMATRON_OUT_XML) == 0) &&
-	(test->type == XML_SCHEMATRON_REPORT))
+        (test->type == XML_SCHEMATRON_REPORT))
         return;
     if (ctxt->flags & XML_SCHEMATRON_OUT_XML) {
         TODO
     } else {
         xmlChar *path;
-	char msg[1000];
-	long line;
-	const xmlChar *report = NULL;
+        char msg[1000];
+        long line;
+        const xmlChar *report = NULL;
 
-        if (((test->type == XML_SCHEMATRON_REPORT) & (!success)) ||
-	    ((test->type == XML_SCHEMATRON_ASSERT) & (success)))
-	    return;
-	line = xmlGetLineNo(cur);
-	path = xmlGetNodePath(cur);
-	if (path == NULL)
-	    path = (xmlChar *) cur->name;
+        if (((test->type == XML_SCHEMATRON_REPORT) && (!success)) ||
+            ((test->type == XML_SCHEMATRON_ASSERT) && (success)))
+            return;
+        line = xmlGetLineNo(cur);
+        path = xmlGetNodePath(cur);
+        if (path == NULL)
+            path = (xmlChar *) cur->name;
 #if 0
-	if ((test->report != NULL) && (test->report[0] != 0))
-	    report = test->report;
+        if ((test->report != NULL) && (test->report[0] != 0))
+            report = test->report;
 #endif
-	if (test->node != NULL)
+        if (test->node != NULL)
             report = xmlSchematronFormatReport(ctxt, test->node, cur);
-	if (report == NULL) {
-	    if (test->type == XML_SCHEMATRON_ASSERT) {
+        if (report == NULL) {
+            if (test->type == XML_SCHEMATRON_ASSERT) {
             report = xmlStrdup((const xmlChar *) "node failed assert");
-	    } else {
+            } else {
             report = xmlStrdup((const xmlChar *) "node failed report");
-	    }
-	    }
-	    snprintf(msg, 999, "%s line %ld: %s\n", (const char *) path,
-		     line, (const char *) report);
+            }
+            }
+            snprintf(msg, 999, "%s line %ld: %s\n", (const char *) path,
+                     line, (const char *) report);
 
     if (ctxt->flags & XML_SCHEMATRON_OUT_ERROR) {
         xmlStructuredErrorFunc schannel = NULL;
@@ -1418,7 +1620,7 @@
             else
                 channel = ctxt->error;
             data = ctxt->userData;
-	}
+        }
 
         __xmlRaiseError(schannel, channel, data,
                         NULL, cur, XML_FROM_SCHEMATRONV,
@@ -1429,13 +1631,13 @@
                         (const char *) report, 0, 0,
                         "%s", msg);
     } else {
-	xmlSchematronReportOutput(ctxt, cur, &msg[0]);
+        xmlSchematronReportOutput(ctxt, cur, &msg[0]);
     }
 
     xmlFree((char *) report);
 
-	if ((path != NULL) && (path != (xmlChar *) cur->name))
-	    xmlFree(path);
+        if ((path != NULL) && (path != (xmlChar *) cur->name))
+            xmlFree(path);
     }
 }
 
@@ -1448,7 +1650,7 @@
  */
 static void
 xmlSchematronReportPattern(xmlSchematronValidCtxtPtr ctxt,
-			   xmlSchematronPatternPtr pattern) {
+                           xmlSchematronPatternPtr pattern) {
     if ((ctxt == NULL) || (pattern == NULL))
         return;
     if ((ctxt->flags & XML_SCHEMATRON_OUT_QUIET) || (ctxt->flags & XML_SCHEMATRON_OUT_ERROR)) /* Error gives pattern name as part of error */
@@ -1456,20 +1658,20 @@
     if (ctxt->flags & XML_SCHEMATRON_OUT_XML) {
         TODO
     } else {
-	char msg[1000];
+        char msg[1000];
 
-	if (pattern->name == NULL)
-	    return;
-	snprintf(msg, 999, "Pattern: %s\n", (const char *) pattern->name);
-	xmlSchematronReportOutput(ctxt, NULL, &msg[0]);
+        if (pattern->name == NULL)
+            return;
+        snprintf(msg, 999, "Pattern: %s\n", (const char *) pattern->name);
+        xmlSchematronReportOutput(ctxt, NULL, &msg[0]);
     }
 }
 
 
 /************************************************************************
- *									*
- *		Validation against a Schematrontron				*
- *									*
+ *                                                                      *
+ *              Validation against a Schematrontron                             *
+ *                                                                      *
  ************************************************************************/
 
 /**
@@ -1521,15 +1723,15 @@
     if (ret->xctxt == NULL) {
         xmlSchematronPErrMemory(NULL, "allocating schema parser XPath context",
                                 NULL);
-	xmlSchematronFreeValidCtxt(ret);
+        xmlSchematronFreeValidCtxt(ret);
         return (NULL);
     }
     for (i = 0;i < schema->nbNamespaces;i++) {
         if ((schema->namespaces[2 * i] == NULL) ||
             (schema->namespaces[2 * i + 1] == NULL))
-	    break;
-	xmlXPathRegisterNs(ret->xctxt, schema->namespaces[2 * i + 1],
-	                   schema->namespaces[2 * i]);
+            break;
+        xmlXPathRegisterNs(ret->xctxt, schema->namespaces[2 * i + 1],
+                           schema->namespaces[2 * i]);
     }
     return (ret);
 }
@@ -1555,34 +1757,34 @@
 static xmlNodePtr
 xmlSchematronNextNode(xmlNodePtr cur) {
     if (cur->children != NULL) {
-	/*
-	 * Do not descend on entities declarations
-	 */
-	if (cur->children->type != XML_ENTITY_DECL) {
-	    cur = cur->children;
-	    /*
-	     * Skip DTDs
-	     */
-	    if (cur->type != XML_DTD_NODE)
-		return(cur);
-	}
+        /*
+         * Do not descend on entities declarations
+         */
+        if (cur->children->type != XML_ENTITY_DECL) {
+            cur = cur->children;
+            /*
+             * Skip DTDs
+             */
+            if (cur->type != XML_DTD_NODE)
+                return(cur);
+        }
     }
 
     while (cur->next != NULL) {
-	cur = cur->next;
-	if ((cur->type != XML_ENTITY_DECL) &&
-	    (cur->type != XML_DTD_NODE))
-	    return(cur);
+        cur = cur->next;
+        if ((cur->type != XML_ENTITY_DECL) &&
+            (cur->type != XML_DTD_NODE))
+            return(cur);
     }
 
     do {
-	cur = cur->parent;
-	if (cur == NULL) break;
-	if (cur->type == XML_DOCUMENT_NODE) return(NULL);
-	if (cur->next != NULL) {
-	    cur = cur->next;
-	    return(cur);
-	}
+        cur = cur->parent;
+        if (cur == NULL) break;
+        if (cur->type == XML_DOCUMENT_NODE) return(NULL);
+        if (cur->next != NULL) {
+            cur = cur->next;
+            return(cur);
+        }
     } while (cur != NULL);
     return(cur);
 }
@@ -1610,37 +1812,39 @@
     ctxt->xctxt->node = cur;
     ret = xmlXPathCompiledEval(test->comp, ctxt->xctxt);
     if (ret == NULL) {
-	failed = 1;
+        failed = 1;
     } else {
         switch (ret->type) {
-	    case XPATH_XSLT_TREE:
-	    case XPATH_NODESET:
-		if ((ret->nodesetval == NULL) ||
-		    (ret->nodesetval->nodeNr == 0))
-		    failed = 1;
-		break;
-	    case XPATH_BOOLEAN:
-		failed = !ret->boolval;
-		break;
-	    case XPATH_NUMBER:
-		if ((xmlXPathIsNaN(ret->floatval)) ||
-		    (ret->floatval == 0.0))
-		    failed = 1;
-		break;
-	    case XPATH_STRING:
-		if ((ret->stringval == NULL) ||
-		    (ret->stringval[0] == 0))
-		    failed = 1;
-		break;
-	    case XPATH_UNDEFINED:
-	    case XPATH_POINT:
-	    case XPATH_RANGE:
-	    case XPATH_LOCATIONSET:
-	    case XPATH_USERS:
-		failed = 1;
-		break;
-	}
-	xmlXPathFreeObject(ret);
+            case XPATH_XSLT_TREE:
+            case XPATH_NODESET:
+                if ((ret->nodesetval == NULL) ||
+                    (ret->nodesetval->nodeNr == 0))
+                    failed = 1;
+                break;
+            case XPATH_BOOLEAN:
+                failed = !ret->boolval;
+                break;
+            case XPATH_NUMBER:
+                if ((xmlXPathIsNaN(ret->floatval)) ||
+                    (ret->floatval == 0.0))
+                    failed = 1;
+                break;
+            case XPATH_STRING:
+                if ((ret->stringval == NULL) ||
+                    (ret->stringval[0] == 0))
+                    failed = 1;
+                break;
+            case XPATH_UNDEFINED:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
+            case XPATH_POINT:
+            case XPATH_RANGE:
+            case XPATH_LOCATIONSET:
+#endif
+            case XPATH_USERS:
+                failed = 1;
+                break;
+        }
+        xmlXPathFreeObject(ret);
     }
     if ((failed) && (test->type == XML_SCHEMATRON_ASSERT))
         ctxt->nberrors++;
@@ -1653,6 +1857,65 @@
 }
 
 /**
+ * xmlSchematronRegisterVariables:
+ * @ctxt:  the schema validation context
+ * @let:  the list of let variables
+ * @instance:  the document instance tree
+ * @cur:  the current node
+ *
+ * Registers a list of let variables to the current context of @cur
+ *
+ * Returns -1 in case of errors, otherwise 0
+ */
+static int
+xmlSchematronRegisterVariables(xmlXPathContextPtr ctxt, xmlSchematronLetPtr let,
+                               xmlDocPtr instance, xmlNodePtr cur)
+{
+    xmlXPathObjectPtr let_eval;
+
+    ctxt->doc = instance;
+    ctxt->node = cur;
+    while (let != NULL) {
+        let_eval = xmlXPathCompiledEval(let->comp, ctxt);
+        if (let_eval == NULL) {
+            xmlGenericError(xmlGenericErrorContext,
+                            "Evaluation of compiled expression failed\n");
+            return -1;
+        }
+        if(xmlXPathRegisterVariableNS(ctxt, let->name, NULL, let_eval)) {
+            xmlGenericError(xmlGenericErrorContext,
+                            "Registering a let variable failed\n");
+            return -1;
+        }
+        let = let->next;
+    }
+    return 0;
+}
+
+/**
+ * xmlSchematronUnregisterVariables:
+ * @ctxt:  the schema validation context
+ * @let:  the list of let variables
+ *
+ * Unregisters a list of let variables from the context
+ *
+ * Returns -1 in case of errors, otherwise 0
+ */
+static int
+xmlSchematronUnregisterVariables(xmlXPathContextPtr ctxt, xmlSchematronLetPtr let)
+{
+    while (let != NULL) {
+        if (xmlXPathRegisterVariableNS(ctxt, let->name, NULL, NULL)) {
+            xmlGenericError(xmlGenericErrorContext,
+                            "Unregistering a let variable failed\n");
+            return -1;
+        }
+        let = let->next;
+    }
+    return 0;
+}
+
+/**
  * xmlSchematronValidateDoc:
  * @ctxt:  the schema validation context
  * @instance:  the document instance tree
@@ -1677,64 +1940,77 @@
     root = xmlDocGetRootElement(instance);
     if (root == NULL) {
         TODO
-	ctxt->nberrors++;
-	return(1);
+        ctxt->nberrors++;
+        return(1);
     }
     if ((ctxt->flags & XML_SCHEMATRON_OUT_QUIET) ||
         (ctxt->flags == 0)) {
-	/*
-	 * we are just trying to assert the validity of the document,
-	 * speed primes over the output, run in a single pass
-	 */
-	cur = root;
-	while (cur != NULL) {
-	    rule = ctxt->schema->rules;
-	    while (rule != NULL) {
-		if (xmlPatternMatch(rule->pattern, cur) == 1) {
-		    test = rule->tests;
-		    while (test != NULL) {
-			xmlSchematronRunTest(ctxt, test, instance, cur, (xmlSchematronPatternPtr)rule->pattern);
-			test = test->next;
-		    }
-		}
-		rule = rule->next;
-	    }
+        /*
+         * we are just trying to assert the validity of the document,
+         * speed primes over the output, run in a single pass
+         */
+        cur = root;
+        while (cur != NULL) {
+            rule = ctxt->schema->rules;
+            while (rule != NULL) {
+                if (xmlPatternMatch(rule->pattern, cur) == 1) {
+                    test = rule->tests;
 
-	    cur = xmlSchematronNextNode(cur);
-	}
+                    if (xmlSchematronRegisterVariables(ctxt->xctxt, rule->lets, instance, cur))
+                        return -1;
+
+                    while (test != NULL) {
+                        xmlSchematronRunTest(ctxt, test, instance, cur, (xmlSchematronPatternPtr)rule->pattern);
+                        test = test->next;
+                    }
+
+                    if (xmlSchematronUnregisterVariables(ctxt->xctxt, rule->lets))
+                        return -1;
+
+                }
+                rule = rule->next;
+            }
+
+            cur = xmlSchematronNextNode(cur);
+        }
     } else {
         /*
-	 * Process all contexts one at a time
-	 */
-	pattern = ctxt->schema->patterns;
+         * Process all contexts one at a time
+         */
+        pattern = ctxt->schema->patterns;
 
-	while (pattern != NULL) {
-	    xmlSchematronReportPattern(ctxt, pattern);
+        while (pattern != NULL) {
+            xmlSchematronReportPattern(ctxt, pattern);
 
-	    /*
-	     * TODO convert the pattern rule to a direct XPath and
-	     * compute directly instead of using the pattern matching
-	     * over the full document...
-	     * Check the exact semantic
-	     */
-	    cur = root;
-	    while (cur != NULL) {
-		rule = pattern->rules;
-		while (rule != NULL) {
-		    if (xmlPatternMatch(rule->pattern, cur) == 1) {
-			test = rule->tests;
-			while (test != NULL) {
-			    xmlSchematronRunTest(ctxt, test, instance, cur, pattern);
-			    test = test->next;
-			}
-		    }
-		    rule = rule->patnext;
-		}
+            /*
+             * TODO convert the pattern rule to a direct XPath and
+             * compute directly instead of using the pattern matching
+             * over the full document...
+             * Check the exact semantic
+             */
+            cur = root;
+            while (cur != NULL) {
+                rule = pattern->rules;
+                while (rule != NULL) {
+                    if (xmlPatternMatch(rule->pattern, cur) == 1) {
+                        test = rule->tests;
+                        xmlSchematronRegisterVariables(ctxt->xctxt, rule->lets,
+                                                       instance, cur);
 
-		cur = xmlSchematronNextNode(cur);
-	    }
-	    pattern = pattern->next;
-	}
+                        while (test != NULL) {
+                            xmlSchematronRunTest(ctxt, test, instance, cur, pattern);
+                            test = test->next;
+                        }
+
+                        xmlSchematronUnregisterVariables(ctxt->xctxt, rule->lets);
+                    }
+                    rule = rule->patnext;
+                }
+
+                cur = xmlSchematronNextNode(cur);
+            }
+            pattern = pattern->next;
+        }
     }
     return(ctxt->nberrors);
 }
@@ -1754,24 +2030,24 @@
         fprintf(stderr, "failed to build schematron parser\n");
     } else {
         schema = xmlSchematronParse(pctxt);
-	if (schema == NULL) {
-	    fprintf(stderr, "failed to compile schematron\n");
-	}
-	xmlSchematronFreeParserCtxt(pctxt);
+        if (schema == NULL) {
+            fprintf(stderr, "failed to compile schematron\n");
+        }
+        xmlSchematronFreeParserCtxt(pctxt);
     }
     instance = xmlReadFile("tst.sct", NULL,
                            XML_PARSE_NOENT | XML_PARSE_NOCDATA);
     if (instance == NULL) {
-	fprintf(stderr, "failed to parse instance\n");
+        fprintf(stderr, "failed to parse instance\n");
     }
     if ((schema != NULL) && (instance != NULL)) {
         vctxt = xmlSchematronNewValidCtxt(schema);
-	if (vctxt == NULL) {
-	    fprintf(stderr, "failed to build schematron validator\n");
-	} else {
-	    ret = xmlSchematronValidateDoc(vctxt, instance);
-	    xmlSchematronFreeValidCtxt(vctxt);
-	}
+        if (vctxt == NULL) {
+            fprintf(stderr, "failed to build schematron validator\n");
+        } else {
+            ret = xmlSchematronValidateDoc(vctxt, instance);
+            xmlSchematronFreeValidCtxt(vctxt);
+        }
     }
     xmlSchematronFree(schema);
     xmlFreeDoc(instance);
diff --git a/test/HTML/comments3.html b/test/HTML/comments3.html
new file mode 100644
index 0000000..327633e
--- /dev/null
+++ b/test/HTML/comments3.html
@@ -0,0 +1,17 @@
+<html>
+  <body>
+    <div>
+      <h3>
+        <a href="https://html.spec.whatwg.org/multipage/parsing.html#parse-error-abrupt-closing-of-empty-comment">
+          Abruptly closed comment
+        </a>
+      </h3>
+      <div>
+        <!-->the previous node should be an empty comment, and this should be a text node-->
+      </div>
+      <div>
+        <!--->the previous node should be an empty comment, and this should be a text node-->
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/test/HTML/issue380.html b/test/HTML/issue380.html
new file mode 100644
index 0000000..46c07f2
--- /dev/null
+++ b/test/HTML/issue380.html
@@ -0,0 +1,5 @@
+<html>
+  <body>
+    <![if !supportLists]>...<![endif]>
+  </body>
+</html>
diff --git a/test/URI/file.uri b/test/URI/file.uri
new file mode 100644
index 0000000..8d8b7a7
--- /dev/null
+++ b/test/URI/file.uri
@@ -0,0 +1 @@
+file:///foo.txt
diff --git a/test/URI/port.uri b/test/URI/port.uri
new file mode 100644
index 0000000..4b22322
--- /dev/null
+++ b/test/URI/port.uri
@@ -0,0 +1,2 @@
+nbd://:10888
+https://example.com:12345/
diff --git a/test/URI/uri.data b/test/URI/uri.data
index a96ea5f..0a2e46f 100644
--- a/test/URI/uri.data
+++ b/test/URI/uri.data
@@ -16,3 +16,6 @@
 http://elsewhere.com/#deep
 http://elsewhere.com/?deep
 http://elsewhere.com/?deep#deep2
+//elsewhere.com/bar
+//elsewhere.com:8080/bar
+//:8080
diff --git a/test/XInclude/docs/coalesce.xml b/test/XInclude/docs/coalesce.xml
new file mode 100644
index 0000000..33d5cb6
--- /dev/null
+++ b/test/XInclude/docs/coalesce.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test xmlns:xi="http://www.w3.org/2001/XInclude">
+    <xi:include href="../ents/coalesce1.xml#xpointer(/t1))"/>
+</test>
diff --git a/test/XInclude/docs/invalid_char.xml b/test/XInclude/docs/invalid_char.xml
new file mode 100644
index 0000000..28e5a48
--- /dev/null
+++ b/test/XInclude/docs/invalid_char.xml
@@ -0,0 +1,3 @@
+<x xmlns:xinclude="http://www.w3.org/2001/XInclude">
+   <xinclude:include href="../ents/invalid_char.txt" parse="text"/>
+</x>
diff --git a/test/XInclude/docs/red.xml b/test/XInclude/docs/red.xml
new file mode 100644
index 0000000..75ee396
--- /dev/null
+++ b/test/XInclude/docs/red.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<book xmlns:xi="http://www.w3.org/2001/XInclude"
+      xmlns:xlink="http://www.w3.org/1999/xlink">
+  <chapter>
+     <para xml:id="t100">Introduction</para>
+  </chapter>
+  <chapter>
+     <xi:include href="./red.xml" xpointer="t100" parse="xml"/>
+  </chapter>
+</book>
diff --git a/test/XInclude/ents/coalesce1.xml b/test/XInclude/ents/coalesce1.xml
new file mode 100644
index 0000000..bba7b69
--- /dev/null
+++ b/test/XInclude/ents/coalesce1.xml
@@ -0,0 +1,5 @@
+<t1 xmlns:xi="http://www.w3.org/2001/XInclude">
+    start
+    <xi:include href="#xpointer(/t1/text()[1])"/>
+    end
+</t1>
diff --git a/test/XInclude/ents/invalid_char.txt b/test/XInclude/ents/invalid_char.txt
new file mode 100644
index 0000000..ae06618
--- /dev/null
+++ b/test/XInclude/ents/invalid_char.txt
@@ -0,0 +1 @@
+invalid: ÿ
\ No newline at end of file
diff --git a/test/XInclude/without-reader/fallback7.xml b/test/XInclude/without-reader/fallback7.xml
new file mode 100644
index 0000000..7ddf936
--- /dev/null
+++ b/test/XInclude/without-reader/fallback7.xml
@@ -0,0 +1,12 @@
+<x xmlns:xi="http://www.w3.org/2001/XInclude">
+    <a>text</a>
+    <xi:include xpointer="xpointer(//b)"/>
+    <xi:include href="404.xml">
+        <xi:fallback>
+            <b>
+                <xi:include xpointer="xpointer(//a)"/>
+            </b>
+        </xi:fallback>
+    </xi:include>
+    <xi:include xpointer="xpointer(//b)"/>
+</x>
diff --git a/test/XInclude/without-reader/issue424-1.xml b/test/XInclude/without-reader/issue424-1.xml
new file mode 100644
index 0000000..8b6aa93
--- /dev/null
+++ b/test/XInclude/without-reader/issue424-1.xml
@@ -0,0 +1,5 @@
+<x xmlns:xinclude="http://www.w3.org/2001/XInclude">
+   <p>Something</p>
+   <d><xinclude:include xpointer="xpointer(//p)"/></d>
+   <xinclude:include xpointer="xpointer(//d)"/>
+</x>
diff --git a/test/XInclude/without-reader/issue424-2.xml b/test/XInclude/without-reader/issue424-2.xml
new file mode 100644
index 0000000..e61eaba
--- /dev/null
+++ b/test/XInclude/without-reader/issue424-2.xml
@@ -0,0 +1,5 @@
+<x xmlns:xinclude="http://www.w3.org/2001/XInclude">
+   <p>Something</p>
+   <xinclude:include xpointer="xpointer(//d)"/>
+   <d><xinclude:include xpointer="xpointer(//p)"/></d>
+</x>
diff --git a/test/XInclude/without-reader/loop.xml b/test/XInclude/without-reader/loop.xml
new file mode 100644
index 0000000..99a7e0b
--- /dev/null
+++ b/test/XInclude/without-reader/loop.xml
@@ -0,0 +1,4 @@
+<x xmlns:xi="http://www.w3.org/2001/XInclude">
+   <a><xi:include xpointer="xpointer(//b)"/></a>
+   <b><xi:include xpointer="xpointer(//a)"/></b>
+</x>
diff --git a/test/XInclude/without-reader/max-recurse.xml b/test/XInclude/without-reader/max-recurse.xml
new file mode 100644
index 0000000..cfe14bd
--- /dev/null
+++ b/test/XInclude/without-reader/max-recurse.xml
@@ -0,0 +1,104 @@
+<x xmlns:xi="http://www.w3.org/2001/XInclude">
+<e00><xi:include xpointer="xpointer(//e01)"/></e00>
+<e01><xi:include xpointer="xpointer(//e02)"/></e01>
+<e02><xi:include xpointer="xpointer(//e03)"/></e02>
+<e03><xi:include xpointer="xpointer(//e04)"/></e03>
+<e04><xi:include xpointer="xpointer(//e05)"/></e04>
+<e05><xi:include xpointer="xpointer(//e06)"/></e05>
+<e06><xi:include xpointer="xpointer(//e07)"/></e06>
+<e07><xi:include xpointer="xpointer(//e08)"/></e07>
+<e08><xi:include xpointer="xpointer(//e09)"/></e08>
+<e09><xi:include xpointer="xpointer(//e10)"/></e09>
+<e10><xi:include xpointer="xpointer(//e11)"/></e10>
+<e11><xi:include xpointer="xpointer(//e12)"/></e11>
+<e12><xi:include xpointer="xpointer(//e13)"/></e12>
+<e13><xi:include xpointer="xpointer(//e14)"/></e13>
+<e14><xi:include xpointer="xpointer(//e15)"/></e14>
+<e15><xi:include xpointer="xpointer(//e16)"/></e15>
+<e16><xi:include xpointer="xpointer(//e17)"/></e16>
+<e17><xi:include xpointer="xpointer(//e18)"/></e17>
+<e18><xi:include xpointer="xpointer(//e19)"/></e18>
+<e19><xi:include xpointer="xpointer(//e20)"/></e19>
+<e20><xi:include xpointer="xpointer(//e21)"/></e20>
+<e21><xi:include xpointer="xpointer(//e22)"/></e21>
+<e22><xi:include xpointer="xpointer(//e23)"/></e22>
+<e23><xi:include xpointer="xpointer(//e24)"/></e23>
+<e24><xi:include xpointer="xpointer(//e25)"/></e24>
+<e25><xi:include xpointer="xpointer(//e26)"/></e25>
+<e26><xi:include xpointer="xpointer(//e27)"/></e26>
+<e27><xi:include xpointer="xpointer(//e28)"/></e27>
+<e28><xi:include xpointer="xpointer(//e29)"/></e28>
+<e29><xi:include xpointer="xpointer(//e30)"/></e29>
+<e30><xi:include xpointer="xpointer(//e31)"/></e30>
+<e31><xi:include xpointer="xpointer(//e32)"/></e31>
+<e32><xi:include xpointer="xpointer(//e33)"/></e32>
+<e33><xi:include xpointer="xpointer(//e34)"/></e33>
+<e34><xi:include xpointer="xpointer(//e35)"/></e34>
+<e35><xi:include xpointer="xpointer(//e36)"/></e35>
+<e36><xi:include xpointer="xpointer(//e37)"/></e36>
+<e37><xi:include xpointer="xpointer(//e38)"/></e37>
+<e38><xi:include xpointer="xpointer(//e39)"/></e38>
+<e39><xi:include xpointer="xpointer(//e40)"/></e39>
+<e40><xi:include xpointer="xpointer(//e41)"/></e40>
+<e41><xi:include xpointer="xpointer(//e42)"/></e41>
+<e42><xi:include xpointer="xpointer(//e43)"/></e42>
+<e43><xi:include xpointer="xpointer(//e44)"/></e43>
+<e44><xi:include xpointer="xpointer(//e45)"/></e44>
+<e45><xi:include xpointer="xpointer(//e46)"/></e45>
+<e46><xi:include xpointer="xpointer(//e47)"/></e46>
+<e47><xi:include xpointer="xpointer(//e48)"/></e47>
+<e48><xi:include xpointer="xpointer(//e49)"/></e48>
+<e49><xi:include xpointer="xpointer(//e50)"/></e49>
+<e50><xi:include xpointer="xpointer(//e51)"/></e50>
+<e51><xi:include xpointer="xpointer(//e52)"/></e51>
+<e52><xi:include xpointer="xpointer(//e53)"/></e52>
+<e53><xi:include xpointer="xpointer(//e54)"/></e53>
+<e54><xi:include xpointer="xpointer(//e55)"/></e54>
+<e55><xi:include xpointer="xpointer(//e56)"/></e55>
+<e56><xi:include xpointer="xpointer(//e57)"/></e56>
+<e57><xi:include xpointer="xpointer(//e58)"/></e57>
+<e58><xi:include xpointer="xpointer(//e59)"/></e58>
+<e59><xi:include xpointer="xpointer(//e60)"/></e59>
+<e60><xi:include xpointer="xpointer(//e61)"/></e60>
+<e61><xi:include xpointer="xpointer(//e62)"/></e61>
+<e62><xi:include xpointer="xpointer(//e63)"/></e62>
+<e63><xi:include xpointer="xpointer(//e64)"/></e63>
+<e64><xi:include xpointer="xpointer(//e65)"/></e64>
+<e65><xi:include xpointer="xpointer(//e66)"/></e65>
+<e66><xi:include xpointer="xpointer(//e67)"/></e66>
+<e67><xi:include xpointer="xpointer(//e68)"/></e67>
+<e68><xi:include xpointer="xpointer(//e69)"/></e68>
+<e69><xi:include xpointer="xpointer(//e70)"/></e69>
+<e70><xi:include xpointer="xpointer(//e71)"/></e70>
+<e71><xi:include xpointer="xpointer(//e72)"/></e71>
+<e72><xi:include xpointer="xpointer(//e73)"/></e72>
+<e73><xi:include xpointer="xpointer(//e74)"/></e73>
+<e74><xi:include xpointer="xpointer(//e75)"/></e74>
+<e75><xi:include xpointer="xpointer(//e76)"/></e75>
+<e76><xi:include xpointer="xpointer(//e77)"/></e76>
+<e77><xi:include xpointer="xpointer(//e78)"/></e77>
+<e78><xi:include xpointer="xpointer(//e79)"/></e78>
+<e79><xi:include xpointer="xpointer(//e80)"/></e79>
+<e80><xi:include xpointer="xpointer(//e81)"/></e80>
+<e81><xi:include xpointer="xpointer(//e82)"/></e81>
+<e82><xi:include xpointer="xpointer(//e83)"/></e82>
+<e83><xi:include xpointer="xpointer(//e84)"/></e83>
+<e84><xi:include xpointer="xpointer(//e85)"/></e84>
+<e85><xi:include xpointer="xpointer(//e86)"/></e85>
+<e86><xi:include xpointer="xpointer(//e87)"/></e86>
+<e87><xi:include xpointer="xpointer(//e88)"/></e87>
+<e88><xi:include xpointer="xpointer(//e89)"/></e88>
+<e89><xi:include xpointer="xpointer(//e90)"/></e89>
+<e90><xi:include xpointer="xpointer(//e91)"/></e90>
+<e91><xi:include xpointer="xpointer(//e92)"/></e91>
+<e92><xi:include xpointer="xpointer(//e93)"/></e92>
+<e93><xi:include xpointer="xpointer(//e94)"/></e93>
+<e94><xi:include xpointer="xpointer(//e95)"/></e94>
+<e95><xi:include xpointer="xpointer(//e96)"/></e95>
+<e96><xi:include xpointer="xpointer(//e97)"/></e96>
+<e97><xi:include xpointer="xpointer(//e98)"/></e97>
+<e98><xi:include xpointer="xpointer(//e99)"/></e98>
+<e99><xi:include xpointer="xpointer(//e100)"/></e99>
+<e100><xi:include xpointer="xpointer(//e101)"/></e100>
+<e101/>
+</x>
diff --git a/test/XInclude/docs/ns1.xml b/test/XInclude/without-reader/ns1.xml
similarity index 100%
rename from test/XInclude/docs/ns1.xml
rename to test/XInclude/without-reader/ns1.xml
diff --git a/test/XPath/expr/functions b/test/XPath/expr/functions
index 00b9461..6008a07 100644
--- a/test/XPath/expr/functions
+++ b/test/XPath/expr/functions
@@ -3,6 +3,7 @@
 number("1.5")
 number('abc')
 -number('abc')
+number('-')
 floor(0.1)
 floor(-0.1)
 floor(-0)
diff --git a/test/XPath/expr/strings b/test/XPath/expr/strings
index c741ee2..ef29251 100644
--- a/test/XPath/expr/strings
+++ b/test/XPath/expr/strings
@@ -36,3 +36,11 @@
 substring("12345",-5000000000,5000000004)
 string-length("")
 string-length("titi")
+normalize-space("  abc  def  ")
+normalize-space("  abc  def")
+normalize-space("abc  def  ")
+normalize-space(" abcdef   ")
+normalize-space("   abcdef")
+normalize-space("abcdef ")
+
+
diff --git a/test/XPath/xptr/chapterschildseq b/test/XPath/xptr-xp1/chapterschildseq
similarity index 100%
rename from test/XPath/xptr/chapterschildseq
rename to test/XPath/xptr-xp1/chapterschildseq
diff --git a/test/XPath/xptr-xp1/chaptersparts b/test/XPath/xptr-xp1/chaptersparts
new file mode 100644
index 0000000..8b20357
--- /dev/null
+++ b/test/XPath/xptr-xp1/chaptersparts
@@ -0,0 +1,6 @@
+xpath1(//chapitre[2])
+xpath1(//chapter[2]) 
+xpath1(//chapitre[2])xpath1(//chapter[2]) 
+xpath1(id("chapter1"))
+xpath1(//*[@id="chapter1"])
+xpath1(id("chapter1"))xpath1(//*[@id="chapter1"])
diff --git a/test/XPath/xptr-xp1/issue289base b/test/XPath/xptr-xp1/issue289base
new file mode 100644
index 0000000..59379ef
--- /dev/null
+++ b/test/XPath/xptr-xp1/issue289base
@@ -0,0 +1 @@
+xmlns(b=abc://d/e:f) xpath1(/b:rootB)
diff --git a/test/XPath/xptr-xp1/vidbase b/test/XPath/xptr-xp1/vidbase
new file mode 100644
index 0000000..82e098b
--- /dev/null
+++ b/test/XPath/xptr-xp1/vidbase
@@ -0,0 +1 @@
+xpath1(id('chapter1')/p)
diff --git a/test/XPath/xptr/vidchildseq b/test/XPath/xptr-xp1/vidchildseq
similarity index 100%
rename from test/XPath/xptr/vidchildseq
rename to test/XPath/xptr-xp1/vidchildseq
diff --git a/test/XPath/xptr-xp1/viderror b/test/XPath/xptr-xp1/viderror
new file mode 100644
index 0000000..104e57f
--- /dev/null
+++ b/test/XPath/xptr-xp1/viderror
@@ -0,0 +1 @@
+xpath1(non-existing-fn())
diff --git a/test/XPath/xptr-xp1/vidparts b/test/XPath/xptr-xp1/vidparts
new file mode 100644
index 0000000..bbf6176
--- /dev/null
+++ b/test/XPath/xptr-xp1/vidparts
@@ -0,0 +1,3 @@
+xpath1(id("chapter1"))
+xpath1(//*[@id="chapter1"])
+xpath1(id("chapter1"))xpath1(//*[@id="chapter1"])
diff --git a/test/boundaries1.xml b/test/boundaries1.xml
new file mode 100644
index 0000000..c4301cd
--- /dev/null
+++ b/test/boundaries1.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<!DOCTYPE d [
+    <!ENTITY a "]>">
+    <!ENTITY b ']>'>
+    <!--> ]> -->
+]    >
+<?pi p1?>
+<!--> c1 -->
+<d a=">" b='>'>
+text&a;text
+<![CDATA[cdata]]>
+<?pi p2?>
+<!--> c2 -->
+</d>
+<?pi p3?>
+<!--> c3 -->
diff --git a/test/errors/rec_att_default.xml b/test/errors/rec_att_default.xml
new file mode 100644
index 0000000..9a33600
--- /dev/null
+++ b/test/errors/rec_att_default.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc SYSTEM "N" [
+  <!ENTITY a "&b;">
+  <!ATTLIST x y CDATA "&a;">
+  <!ENTITY b "&a;">
+]>
+<doc attr="&a;"/>
diff --git a/test/errors/utf8-1.xml b/test/errors/utf8-1.xml
new file mode 100644
index 0000000..0481aa4
--- /dev/null
+++ b/test/errors/utf8-1.xml
@@ -0,0 +1 @@
+<d>Ä..............................................................................<<
diff --git a/test/errors/utf8-2.xml b/test/errors/utf8-2.xml
new file mode 100644
index 0000000..190c7f8
--- /dev/null
+++ b/test/errors/utf8-2.xml
@@ -0,0 +1 @@
+<d>.<<€€€€€€€€€€€€€€€€€€€€€€€€€
diff --git a/test/recurse/g0.ent b/test/recurse/g0.ent
new file mode 100644
index 0000000..46832f1
--- /dev/null
+++ b/test/recurse/g0.ent
@@ -0,0 +1,4 @@
+hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha
+hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha
+hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha
+hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha
diff --git a/test/recurse/g1.ent b/test/recurse/g1.ent
new file mode 100644
index 0000000..e64e692
--- /dev/null
+++ b/test/recurse/g1.ent
@@ -0,0 +1,4 @@
+&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;
+&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;
+&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;
+&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;&g0;
diff --git a/test/recurse/g2.ent b/test/recurse/g2.ent
new file mode 100644
index 0000000..16a80bb
--- /dev/null
+++ b/test/recurse/g2.ent
@@ -0,0 +1,4 @@
+&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;
+&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;
+&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;
+&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;&g1;
diff --git a/test/recurse/g3.ent b/test/recurse/g3.ent
new file mode 100644
index 0000000..6407723
--- /dev/null
+++ b/test/recurse/g3.ent
@@ -0,0 +1,4 @@
+&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;
+&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;
+&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;
+&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;&g2;
diff --git a/test/recurse/ga.ent b/test/recurse/ga.ent
new file mode 100644
index 0000000..4a182de
--- /dev/null
+++ b/test/recurse/ga.ent
@@ -0,0 +1 @@
+some internal data
\ No newline at end of file
diff --git a/test/recurse/gb.ent b/test/recurse/gb.ent
new file mode 100644
index 0000000..1b25ad0
--- /dev/null
+++ b/test/recurse/gb.ent
@@ -0,0 +1 @@
+&a;&a;
\ No newline at end of file
diff --git a/test/recurse/gc.ent b/test/recurse/gc.ent
new file mode 100644
index 0000000..c4f16e6
--- /dev/null
+++ b/test/recurse/gc.ent
@@ -0,0 +1 @@
+&b;&b;
\ No newline at end of file
diff --git a/test/recurse/good.xml b/test/recurse/good.xml
index 60aa1b6..21b18ae 100644
--- a/test/recurse/good.xml
+++ b/test/recurse/good.xml
@@ -97,247 +97,4 @@
 &d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
 &d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
 &d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
 &d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;</foo>
diff --git a/test/recurse/good_attr.xml b/test/recurse/good_attr.xml
new file mode 100644
index 0000000..6d500dd
--- /dev/null
+++ b/test/recurse/good_attr.xml
@@ -0,0 +1,100 @@
+<!DOCTYPE foo [
+<!ENTITY f "some internal data rather large taking quite some room">
+<!ENTITY e "&f;&f;">
+<!ENTITY d "&e;&e;">
+]>
+<foo bar="&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
+&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;"/>
diff --git a/test/recurse/goodattr.xml b/test/recurse/goodattr.xml
deleted file mode 100644
index 94f7071..0000000
--- a/test/recurse/goodattr.xml
+++ /dev/null
@@ -1,343 +0,0 @@
-<!DOCTYPE foo [
-<!ENTITY f "some internal data rather large taking quite some room">
-<!ENTITY e "&f;&f;">
-<!ENTITY d "&e;&e;">
-]>
-<foo bar="&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;
-&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;"/>
diff --git a/test/recurse/huge_dtd.xml b/test/recurse/huge_dtd.xml
new file mode 100644
index 0000000..86761b1
--- /dev/null
+++ b/test/recurse/huge_dtd.xml
@@ -0,0 +1,5 @@
+<!-- The DTD is generated dynamically by testrecurse.c -->
+<!DOCTYPE foo SYSTEM "huge_dtd.dtd">
+<!-- Another entity reference to test whether the DTD is added to
+     sizeentities -->
+<foo>&ent;</foo>
diff --git a/test/recurse/lol3.xml b/test/recurse/lol3.xml
deleted file mode 100644
index acc2346..0000000
--- a/test/recurse/lol3.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0"?>

-<!DOCTYPE billion SYSTEM "lol3.dtd">

-

-<billion></billion>

-

diff --git a/test/recurse/lol4.patch b/test/recurse/lol4.patch
deleted file mode 100644
index f41be28..0000000
--- a/test/recurse/lol4.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: parser.c
-===================================================================
---- parser.c	(revision 3773)
-+++ parser.c	(working copy)
-@@ -2505,6 +2505,11 @@ xmlStringLenDecodeEntities(xmlParserCtxt
- 	    c = CUR_SCHAR(str, l);
- 	else
- 	    c = 0;
-+        if ((nbchars > 500000) &&
-+	    (ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE)) {
-+	    xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
-+	    goto int_error;
-+        }
-     }
-     buffer[nbchars++] = 0;
-     return(buffer);
diff --git a/test/recurse/lol5.xml b/test/recurse/lol_classic.xml
similarity index 100%
rename from test/recurse/lol5.xml
rename to test/recurse/lol_classic.xml
diff --git a/test/recurse/lol_eg.xml b/test/recurse/lol_eg.xml
new file mode 100644
index 0000000..2f8940b
--- /dev/null
+++ b/test/recurse/lol_eg.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE billion [
+  <!ELEMENT billion (#PCDATA)>
+  <!ENTITY g0 SYSTEM "g0.ent">
+  <!ENTITY g1 SYSTEM "g1.ent">
+  <!ENTITY g2 SYSTEM "g2.ent">
+  <!ENTITY g3 SYSTEM "g3.ent">
+]>
+<billion>&g3;</billion>
diff --git a/test/recurse/lol_ep.xml b/test/recurse/lol_ep.xml
new file mode 100644
index 0000000..705437c
--- /dev/null
+++ b/test/recurse/lol_ep.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE billion [
+  <!ELEMENT billion (#PCDATA)>
+  <!ENTITY % p0 SYSTEM "p0.ent">
+  <!ENTITY % p1 SYSTEM "p1.ent">
+  <!ENTITY % p2 SYSTEM "p2.ent">
+  <!ENTITY % p3 SYSTEM "p3.ent">
+  %p3;
+]>
+<billion/>
diff --git a/test/recurse/lol2.xml b/test/recurse/lol_ig_attr.xml
similarity index 100%
rename from test/recurse/lol2.xml
rename to test/recurse/lol_ig_attr.xml
diff --git a/test/recurse/lol1.xml b/test/recurse/lol_ig_content.xml
similarity index 100%
rename from test/recurse/lol1.xml
rename to test/recurse/lol_ig_content.xml
diff --git a/test/recurse/lol_ip_content.dtd b/test/recurse/lol_ip_content.dtd
new file mode 100644
index 0000000..fca54b6
--- /dev/null
+++ b/test/recurse/lol_ip_content.dtd
@@ -0,0 +1,9 @@
+<!ELEMENT billion (#PCDATA)>
+<!ENTITY % p0 "<!---->">
+<!ENTITY % p1 "%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;">
+<!ENTITY % p2 "%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;">
+<!ENTITY % p3 "%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;">
+<!ENTITY % p4 "%p3;%p3;%p3;%p3;%p3;%p3;%p3;%p3;%p3;%p3;%p3;%p3;%p3;%p3;">
+<!ENTITY % p5 "%p4;%p4;%p4;%p4;%p4;%p4;%p4;%p4;%p4;%p4;%p4;%p4;%p4;%p4;">
+<!ENTITY % p6 "%p5;%p5;%p5;%p5;%p5;%p5;%p5;%p5;%p5;%p5;%p5;%p5;%p5;%p5;">
+%p5;
diff --git a/test/recurse/lol_ip_content.xml b/test/recurse/lol_ip_content.xml
new file mode 100644
index 0000000..4e6f4c5
--- /dev/null
+++ b/test/recurse/lol_ip_content.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<!DOCTYPE billion SYSTEM "lol_ip_content.dtd">
+<billion/>
diff --git a/test/recurse/lol3.dtd b/test/recurse/lol_ip_value.dtd
similarity index 100%
rename from test/recurse/lol3.dtd
rename to test/recurse/lol_ip_value.dtd
diff --git a/test/recurse/lol_ip_value.xml b/test/recurse/lol_ip_value.xml
new file mode 100644
index 0000000..dda403d
--- /dev/null
+++ b/test/recurse/lol_ip_value.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>

+<!DOCTYPE billion SYSTEM "lol_ip_value.dtd">

+

+<billion></billion>

+

diff --git a/test/recurse/lol6.xml b/test/recurse/lol_long_name.xml
similarity index 100%
rename from test/recurse/lol6.xml
rename to test/recurse/lol_long_name.xml
diff --git a/test/recurse/lol4.xml b/test/recurse/lol_long_value.xml
similarity index 100%
rename from test/recurse/lol4.xml
rename to test/recurse/lol_long_value.xml
diff --git a/test/recurse/lol_param.xml b/test/recurse/lol_param.xml
new file mode 100644
index 0000000..f627986
--- /dev/null
+++ b/test/recurse/lol_param.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<!--
+  Copyright (C) 2020 Sebastian Pipping <sebastian@pipping.org>
+  v3.1 2020-06-21, not (yet) to be published
+
+  "Parameter Laughs", i.e. variant of Billion Laughs Attack
+                           using parameter entities the other way around
+
+  Use of "%pe24;" below makes the XML processor (e.g. "xmlwf -p < file.xml" or
+  "xmllint file.xml > /dev/null") take 3 to 12 seconds on my machine.
+  Increase to "%pe25;" and beyond carefully: use of "%pe40;" makes my machine
+  need a hard reset.
+
+  Note that unlike libxml2, libexpat does not have any protection against
+  billion laughs attacks to this day, so it's not a new vulnerability
+  with regard to libexpat.  Upcoming release libexpat 2.4.0 will have
+  protection against this family of attacks.
+-->
+<!DOCTYPE r [
+  <!ENTITY % pe_1 "<!---->">
+  <!ENTITY % pe_2 "&#37;pe_1;<!---->&#37;pe_1;">
+  <!ENTITY % pe_3 "&#37;pe_2;<!---->&#37;pe_2;">
+  <!ENTITY % pe_4 "&#37;pe_3;<!---->&#37;pe_3;">
+  <!ENTITY % pe_5 "&#37;pe_4;<!---->&#37;pe_4;">
+  <!ENTITY % pe_6 "&#37;pe_5;<!---->&#37;pe_5;">
+  <!ENTITY % pe_7 "&#37;pe_6;<!---->&#37;pe_6;">
+  <!ENTITY % pe_8 "&#37;pe_7;<!---->&#37;pe_7;">
+  <!ENTITY % pe_9 "&#37;pe_8;<!---->&#37;pe_8;">
+  <!ENTITY % pe10 "&#37;pe_9;<!---->&#37;pe_9;">
+  <!ENTITY % pe11 "&#37;pe10;<!---->&#37;pe10;">
+  <!ENTITY % pe12 "&#37;pe11;<!---->&#37;pe11;">
+  <!ENTITY % pe13 "&#37;pe12;<!---->&#37;pe12;">
+  <!ENTITY % pe14 "&#37;pe13;<!---->&#37;pe13;">
+  <!ENTITY % pe15 "&#37;pe14;<!---->&#37;pe14;">
+  <!ENTITY % pe16 "&#37;pe15;<!---->&#37;pe15;">
+  <!ENTITY % pe17 "&#37;pe16;<!---->&#37;pe16;">
+  <!ENTITY % pe17 "&#37;pe16;<!---->&#37;pe16;">
+  <!ENTITY % pe18 "&#37;pe17;<!---->&#37;pe17;">
+  <!ENTITY % pe19 "&#37;pe18;<!---->&#37;pe18;">
+  <!ENTITY % pe20 "&#37;pe19;<!---->&#37;pe19;">
+  <!ENTITY % pe21 "&#37;pe20;<!---->&#37;pe20;">
+  <!ENTITY % pe22 "&#37;pe21;<!---->&#37;pe21;">
+  <!ENTITY % pe23 "&#37;pe22;<!---->&#37;pe22;">
+  <!ENTITY % pe24 "&#37;pe23;<!---->&#37;pe23;">
+  <!ENTITY % pe25 "&#37;pe24;<!---->&#37;pe24;">
+  <!ENTITY % pe26 "&#37;pe25;<!---->&#37;pe25;">
+  <!ENTITY % pe27 "&#37;pe26;<!---->&#37;pe26;">
+  <!ENTITY % pe28 "&#37;pe27;<!---->&#37;pe27;">
+  <!ENTITY % pe29 "&#37;pe28;<!---->&#37;pe28;">
+  <!ENTITY % pe30 "&#37;pe29;<!---->&#37;pe29;">
+  <!ENTITY % pe31 "&#37;pe30;<!---->&#37;pe30;">
+  <!ENTITY % pe32 "&#37;pe31;<!---->&#37;pe31;">
+  <!ENTITY % pe33 "&#37;pe32;<!---->&#37;pe32;">
+  <!ENTITY % pe34 "&#37;pe33;<!---->&#37;pe33;">
+  <!ENTITY % pe35 "&#37;pe34;<!---->&#37;pe34;">
+  <!ENTITY % pe36 "&#37;pe35;<!---->&#37;pe35;">
+  <!ENTITY % pe37 "&#37;pe36;<!---->&#37;pe36;">
+  <!ENTITY % pe38 "&#37;pe37;<!---->&#37;pe37;">
+  <!ENTITY % pe39 "&#37;pe38;<!---->&#37;pe38;">
+  <!ENTITY % pe40 "&#37;pe39;<!---->&#37;pe39;">
+  %pe24; <!-- not at full potential, increase towards "%pe40;" carefully -->
+]>
+<r/>
diff --git a/test/recurse/p0.ent b/test/recurse/p0.ent
new file mode 100644
index 0000000..82e1292
--- /dev/null
+++ b/test/recurse/p0.ent
@@ -0,0 +1,4 @@
+<!----><!----><!----><!----><!----><!----><!----><!----><!----><!---->
+<!----><!----><!----><!----><!----><!----><!----><!----><!----><!---->
+<!----><!----><!----><!----><!----><!----><!----><!----><!----><!---->
+<!----><!----><!----><!----><!----><!----><!----><!----><!----><!---->
diff --git a/test/recurse/p1.ent b/test/recurse/p1.ent
new file mode 100644
index 0000000..9a21bb5
--- /dev/null
+++ b/test/recurse/p1.ent
@@ -0,0 +1,4 @@
+%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;
+%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;
+%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;
+%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;%p0;
diff --git a/test/recurse/p2.ent b/test/recurse/p2.ent
new file mode 100644
index 0000000..f45c306
--- /dev/null
+++ b/test/recurse/p2.ent
@@ -0,0 +1,4 @@
+%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;
+%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;
+%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;
+%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;%p1;
diff --git a/test/recurse/p3.ent b/test/recurse/p3.ent
new file mode 100644
index 0000000..139d47a
--- /dev/null
+++ b/test/recurse/p3.ent
@@ -0,0 +1,4 @@
+%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;
+%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;
+%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;
+%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;%p2;
diff --git a/test/recurse/pa.ent b/test/recurse/pa.ent
new file mode 100644
index 0000000..f68d1d0
--- /dev/null
+++ b/test/recurse/pa.ent
@@ -0,0 +1 @@
+<!-- comment -->
\ No newline at end of file
diff --git a/test/recurse/pb.ent b/test/recurse/pb.ent
new file mode 100644
index 0000000..53a8942
--- /dev/null
+++ b/test/recurse/pb.ent
@@ -0,0 +1 @@
+%a;%a;
\ No newline at end of file
diff --git a/test/recurse/pc.ent b/test/recurse/pc.ent
new file mode 100644
index 0000000..e3443ea
--- /dev/null
+++ b/test/recurse/pc.ent
@@ -0,0 +1 @@
+%b;%b;
\ No newline at end of file
diff --git a/test/regexp/issue301 b/test/regexp/issue301
new file mode 100644
index 0000000..b5a316b
--- /dev/null
+++ b/test/regexp/issue301
@@ -0,0 +1,4 @@
+=>(a{1,2}|ab){2}
+abab
+=>((1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
+192.168.254.0
diff --git a/test/regexp/issue370 b/test/regexp/issue370
new file mode 100644
index 0000000..626b38e
--- /dev/null
+++ b/test/regexp/issue370
@@ -0,0 +1,3 @@
+=>[A-Za-[G]]
+G
+a
diff --git a/test/regexp/issue65 b/test/regexp/issue65
new file mode 100644
index 0000000..b71bc07
--- /dev/null
+++ b/test/regexp/issue65
@@ -0,0 +1,2 @@
+=>( (a|bc{0,2})){0,2} d
+ b d
diff --git a/test/relaxng/ambig_name-class.rng b/test/relaxng/ambig_name-class.rng
deleted file mode 100755
index 08533d3..0000000
--- a/test/relaxng/ambig_name-class.rng
+++ /dev/null
@@ -1 +0,0 @@
-tutorA.rng
\ No newline at end of file
diff --git a/test/relaxng/ambig_name-class.rng b/test/relaxng/ambig_name-class.rng
new file mode 120000
index 0000000..08533d3
--- /dev/null
+++ b/test/relaxng/ambig_name-class.rng
@@ -0,0 +1 @@
+tutorA.rng
\ No newline at end of file
diff --git a/test/relaxng/ambig_name-class2.rng b/test/relaxng/ambig_name-class2.rng
deleted file mode 100755
index 6cc955c..0000000
--- a/test/relaxng/ambig_name-class2.rng
+++ /dev/null
@@ -1 +0,0 @@
-ambig_name-class.xml
\ No newline at end of file
diff --git a/test/relaxng/ambig_name-class2.rng b/test/relaxng/ambig_name-class2.rng
new file mode 120000
index 0000000..6cc955c
--- /dev/null
+++ b/test/relaxng/ambig_name-class2.rng
@@ -0,0 +1 @@
+ambig_name-class.xml
\ No newline at end of file
diff --git a/test/schemas/oss-fuzz-51295_0.xml b/test/schemas/oss-fuzz-51295_0.xml
new file mode 100644
index 0000000..10a7e70
--- /dev/null
+++ b/test/schemas/oss-fuzz-51295_0.xml
@@ -0,0 +1 @@
+<e/>
diff --git a/test/schemas/oss-fuzz-51295_0.xsd b/test/schemas/oss-fuzz-51295_0.xsd
new file mode 100644
index 0000000..fde96af
--- /dev/null
+++ b/test/schemas/oss-fuzz-51295_0.xsd
@@ -0,0 +1,4 @@
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+    <xs:element name="e" substitutionGroup="e"/>
+    <xs:element name="t" substitutionGroup="e" type='xs:decimal'/>
+</xs:schema>
diff --git a/test/xsdtest/xsdtest.xml b/test/xsdtest/xsdtest.xml
index b8a6de9..2807d26 100644
--- a/test/xsdtest/xsdtest.xml
+++ b/test/xsdtest/xsdtest.xml
@@ -657,6 +657,7 @@
 </datatype>
 <datatype name="byte">
 <valid>1</valid>
+<valid> 1 </valid>
 <valid>127</valid>
 <valid>-128</valid>
 <invalid>128</invalid>
@@ -665,6 +666,7 @@
 <datatype name="unsignedLong">
 <valid>1</valid>
 <valid>+1</valid>
+<valid> 1 </valid>
 <invalid>-1</invalid>
 <valid>0</valid>
 <valid>18446744073709551615</valid>
@@ -674,6 +676,7 @@
 <datatype name="unsignedInt">
 <valid>1</valid>
 <valid>+1</valid>
+<valid> 1 </valid>
 <valid>0</valid>
 <valid>4294967295</valid>
 <invalid>4294967296</invalid>
@@ -682,6 +685,7 @@
 <datatype name="unsignedShort">
 <valid>1</valid>
 <valid>+1</valid>
+<valid> 1 </valid>
 <valid>0</valid>
 <valid>65535</valid>
 <invalid>65536</invalid>
@@ -689,6 +693,7 @@
 </datatype>
 <datatype name="unsignedByte">
 <valid>1</valid>
+<valid> 1 </valid>
 <valid>+1</valid>
 <valid>0</valid>
 <valid>255</valid>
diff --git a/testAutomata.c b/testAutomata.c
deleted file mode 100644
index 13213c6..0000000
--- a/testAutomata.c
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * testAutomata.c: simple module for testing regexp automata
- *
- * See Copyright for the status of this software.
- *
- * Daniel Veillard <veillard@redhat.com>
- */
-
-#include "libxml.h"
-#ifdef LIBXML_AUTOMATA_ENABLED
-#include <string.h>
-
-#include <libxml/tree.h>
-#include <libxml/xmlautomata.h>
-
-static int scanNumber(char **ptr) {
-    int ret = 0;
-    char *cur;
-
-    cur = *ptr;
-    while ((*cur >= '0') && (*cur <= '9')) {
-	ret = ret * 10 + (*cur - '0');
-	cur++;
-    }
-    *ptr = cur;
-    return(ret);
-}
-
-static void
-testRegexpFile(const char *filename) {
-    FILE *input;
-    char expr[5000];
-    int len;
-    int ret;
-    int i;
-    xmlAutomataPtr am;
-    xmlAutomataStatePtr states[1000];
-    xmlRegexpPtr regexp = NULL;
-    xmlRegExecCtxtPtr exec = NULL;
-
-    for (i = 0;i<1000;i++)
-	states[i] = NULL;
-
-    input = fopen(filename, "r");
-    if (input == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-		"Cannot open %s for reading\n", filename);
-	return;
-    }
-
-    am = xmlNewAutomata();
-    if (am == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-		"Cannot create automata\n");
-	fclose(input);
-	return;
-    }
-    states[0] = xmlAutomataGetInitState(am);
-    if (states[0] == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-		"Cannot get start state\n");
-	xmlFreeAutomata(am);
-	fclose(input);
-	return;
-    }
-    ret = 0;
-
-    while (fgets(expr, 4500, input) != NULL) {
-	if (expr[0] == '#')
-	    continue;
-	len = strlen(expr);
-	len--;
-	while ((len >= 0) &&
-	       ((expr[len] == '\n') || (expr[len] == '\t') ||
-		(expr[len] == '\r') || (expr[len] == ' '))) len--;
-	expr[len + 1] = 0;
-	if (len >= 0) {
-	    if ((am != NULL) && (expr[0] == 't') && (expr[1] == ' ')) {
-		char *ptr = &expr[2];
-		int from, to;
-
-		from = scanNumber(&ptr);
-		if (*ptr != ' ') {
-		    xmlGenericError(xmlGenericErrorContext,
-			    "Bad line %s\n", expr);
-		    break;
-		}
-		if (states[from] == NULL)
-		    states[from] = xmlAutomataNewState(am);
-		ptr++;
-		to = scanNumber(&ptr);
-		if (*ptr != ' ') {
-		    xmlGenericError(xmlGenericErrorContext,
-			    "Bad line %s\n", expr);
-		    break;
-		}
-		if (states[to] == NULL)
-		    states[to] = xmlAutomataNewState(am);
-		ptr++;
-		xmlAutomataNewTransition(am, states[from], states[to],
-			                 BAD_CAST ptr, NULL);
-	    } else if ((am != NULL) && (expr[0] == 'e') && (expr[1] == ' ')) {
-		char *ptr = &expr[2];
-		int from, to;
-
-		from = scanNumber(&ptr);
-		if (*ptr != ' ') {
-		    xmlGenericError(xmlGenericErrorContext,
-			    "Bad line %s\n", expr);
-		    break;
-		}
-		if (states[from] == NULL)
-		    states[from] = xmlAutomataNewState(am);
-		ptr++;
-		to = scanNumber(&ptr);
-		if (states[to] == NULL)
-		    states[to] = xmlAutomataNewState(am);
-		xmlAutomataNewEpsilon(am, states[from], states[to]);
-	    } else if ((am != NULL) && (expr[0] == 'f') && (expr[1] == ' ')) {
-		char *ptr = &expr[2];
-		int state;
-
-		state = scanNumber(&ptr);
-		if (states[state] == NULL) {
-		    xmlGenericError(xmlGenericErrorContext,
-			    "Bad state %d : %s\n", state, expr);
-		    break;
-		}
-		xmlAutomataSetFinalState(am, states[state]);
-	    } else if ((am != NULL) && (expr[0] == 'c') && (expr[1] == ' ')) {
-		char *ptr = &expr[2];
-		int from, to;
-		int min, max;
-
-		from = scanNumber(&ptr);
-		if (*ptr != ' ') {
-		    xmlGenericError(xmlGenericErrorContext,
-			    "Bad line %s\n", expr);
-		    break;
-		}
-		if (states[from] == NULL)
-		    states[from] = xmlAutomataNewState(am);
-		ptr++;
-		to = scanNumber(&ptr);
-		if (*ptr != ' ') {
-		    xmlGenericError(xmlGenericErrorContext,
-			    "Bad line %s\n", expr);
-		    break;
-		}
-		if (states[to] == NULL)
-		    states[to] = xmlAutomataNewState(am);
-		ptr++;
-		min = scanNumber(&ptr);
-		if (*ptr != ' ') {
-		    xmlGenericError(xmlGenericErrorContext,
-			    "Bad line %s\n", expr);
-		    break;
-		}
-		ptr++;
-		max = scanNumber(&ptr);
-		if (*ptr != ' ') {
-		    xmlGenericError(xmlGenericErrorContext,
-			    "Bad line %s\n", expr);
-		    break;
-		}
-		ptr++;
-		xmlAutomataNewCountTrans(am, states[from], states[to],
-			                 BAD_CAST ptr, min, max, NULL);
-	    } else if ((am != NULL) && (expr[0] == '-') && (expr[1] == '-')) {
-		/* end of the automata */
-		regexp = xmlAutomataCompile(am);
-		xmlFreeAutomata(am);
-		am = NULL;
-		if (regexp == NULL) {
-		    xmlGenericError(xmlGenericErrorContext,
-			    "Failed to compile the automata");
-		    break;
-		}
-	    } else if ((expr[0] == '=') && (expr[1] == '>')) {
-		if (regexp == NULL) {
-		    printf("=> failed not compiled\n");
-		} else {
-		    if (exec == NULL)
-			exec = xmlRegNewExecCtxt(regexp, NULL, NULL);
-		    if (ret == 0) {
-			ret = xmlRegExecPushString(exec, NULL, NULL);
-		    }
-		    if (ret == 1)
-			printf("=> Passed\n");
-		    else if ((ret == 0) || (ret == -1))
-			printf("=> Failed\n");
-		    else if (ret < 0)
-			printf("=> Error\n");
-		    xmlRegFreeExecCtxt(exec);
-		    exec = NULL;
-		}
-		ret = 0;
-	    } else if (regexp != NULL) {
-		if (exec == NULL)
-		    exec = xmlRegNewExecCtxt(regexp, NULL, NULL);
-		ret = xmlRegExecPushString(exec, BAD_CAST expr, NULL);
-	    } else {
-		xmlGenericError(xmlGenericErrorContext,
-			"Unexpected line %s\n", expr);
-	    }
-	}
-    }
-    fclose(input);
-    if (regexp != NULL)
-	xmlRegFreeRegexp(regexp);
-    if (exec != NULL)
-	xmlRegFreeExecCtxt(exec);
-    if (am != NULL)
-	xmlFreeAutomata(am);
-}
-
-int main(int argc, char **argv) {
-
-    xmlInitMemory();
-
-    if (argc == 1) {
-	int ret;
-	xmlAutomataPtr am;
-	xmlAutomataStatePtr start, cur;
-	xmlRegexpPtr regexp;
-	xmlRegExecCtxtPtr exec;
-
-	am = xmlNewAutomata();
-	start = xmlAutomataGetInitState(am);
-
-	/* generate a[ba]*a */
-	cur = xmlAutomataNewTransition(am, start, NULL, BAD_CAST"a", NULL);
-	xmlAutomataNewTransition(am, cur, cur, BAD_CAST"b", NULL);
-	xmlAutomataNewTransition(am, cur, cur, BAD_CAST"a", NULL);
-	cur = xmlAutomataNewCountTrans(am, cur, NULL, BAD_CAST"a", 2, 3, NULL);
-	xmlAutomataSetFinalState(am, cur);
-
-	/* compile it in a regexp and free the automata */
-	regexp = xmlAutomataCompile(am);
-	xmlFreeAutomata(am);
-
-	/* test the regexp */
-	xmlRegexpPrint(stdout, regexp);
-	exec = xmlRegNewExecCtxt(regexp, NULL, NULL);
-	ret = xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-	if (ret == 1)
-	    printf("final\n");
-	else if (ret < 0)
-	    printf("error\n");
-	ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-	if (ret == 1)
-	    printf("final\n");
-	else if (ret < 0)
-	    printf("error\n");
-	ret =xmlRegExecPushString(exec, BAD_CAST"b", NULL);
-	if (ret == 1)
-	    printf("final\n");
-	else if (ret < 0)
-	    printf("error\n");
-	ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-	if (ret == 1)
-	    printf("final\n");
-	else if (ret < 0)
-	    printf("error\n");
-	ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-	if (ret == 1)
-	    printf("final\n");
-	else if (ret < 0)
-	    printf("error\n");
-	ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-	if (ret == 1)
-	    printf("final\n");
-	else if (ret < 0)
-	    printf("error\n");
-	ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-	if (ret == 1)
-	    printf("final\n");
-	else if (ret < 0)
-	    printf("error\n");
-	if (ret == 0) {
-	    ret = xmlRegExecPushString(exec, NULL, NULL);
-	    if (ret == 1)
-		printf("final\n");
-	    else if (ret < 0)
-		printf("error\n");
-	}
-	xmlRegFreeExecCtxt(exec);
-
-	/* free the regexp */
-	xmlRegFreeRegexp(regexp);
-    } else {
-	int i;
-
-	for (i = 1;i < argc;i++)
-	    testRegexpFile(argv[i]);
-    }
-
-    xmlCleanupParser();
-    xmlMemoryDump();
-    return(0);
-}
-
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : Automata support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_AUTOMATA_ENABLED */
diff --git a/testC14N.c b/testC14N.c
deleted file mode 100644
index addc800..0000000
--- a/testC14N.c
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
- * Canonical XML implementation test program
- * (http://www.w3.org/TR/2001/REC-xml-c14n-20010315)
- *
- * See Copyright for the status of this software.
- *
- * Author: Aleksey Sanin <aleksey@aleksey.com>
- */
-#include "libxml.h"
-#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-
-#include <stdio.h>
-#include <string.h>
-#ifndef STDOUT_FILENO
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#else
-#define STDOUT_FILENO fileno(stdout)
-#endif /* HAVE_UNISTD_H */
-#endif
-#ifdef _WIN32
-#include <io.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-#include <libxml/xmlmemory.h>
-#include <libxml/parser.h>
-#include <libxml/xpath.h>
-#include <libxml/xpathInternals.h>
-
-#include <libxml/c14n.h>
-
-
-static void usage(const char *name) {
-    fprintf(stderr,
-	"Usage: %s <mode> <xml-file> [<xpath-expr>] [<inclusive-ns-list>]\n",
-	    name);
-    fprintf(stderr, "where <mode> is one of following:\n");
-    fprintf(stderr,
-	"--with-comments       \t XML file canonicalization v1.0 w comments \n");
-    fprintf(stderr,
-	"--without-comments    \t XML file canonicalization v1.0 w/o comments\n");
-    fprintf(stderr,
-	"--1-1-with-comments       \t XML file canonicalization v1.1 w comments\n");
-    fprintf(stderr,
-	"--1-1-without-comments    \t XML file canonicalization v1.1 w/o comments\n");
-    fprintf(stderr,
-    "--exc-with-comments   \t Exclusive XML file canonicalization v1.0 w comments\n");
-    fprintf(stderr,
-    "--exc-without-comments\t Exclusive XML file canonicalization v1.0 w/o comments\n");
-}
-
-static xmlXPathObjectPtr
-load_xpath_expr (xmlDocPtr parent_doc, const char* filename);
-
-static xmlChar **parse_list(xmlChar *str);
-
-/* static void print_xpath_nodes(xmlNodeSetPtr nodes); */
-
-static int
-test_c14n(const char* xml_filename, int with_comments, int mode,
-	const char* xpath_filename, xmlChar **inclusive_namespaces) {
-    xmlDocPtr doc;
-    xmlXPathObjectPtr xpath = NULL;
-    xmlChar *result = NULL;
-    int ret;
-
-    /*
-     * build an XML tree from a the file; we need to add default
-     * attributes and resolve all character and entities references
-     */
-    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
-    xmlSubstituteEntitiesDefault(1);
-
-    doc = xmlReadFile(xml_filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT);
-    if (doc == NULL) {
-	fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_filename);
-	return(-1);
-    }
-
-    /*
-     * Check the document is of the right kind
-     */
-    if(xmlDocGetRootElement(doc) == NULL) {
-        fprintf(stderr,"Error: empty document for file \"%s\"\n", xml_filename);
-	xmlFreeDoc(doc);
-	return(-1);
-    }
-
-    /*
-     * load xpath file if specified
-     */
-    if(xpath_filename) {
-	xpath = load_xpath_expr(doc, xpath_filename);
-	if(xpath == NULL) {
-	    fprintf(stderr,"Error: unable to evaluate xpath expression\n");
-	    xmlFreeDoc(doc);
-	    return(-1);
-	}
-    }
-
-    /*
-     * Canonical form
-     */
-    /* fprintf(stderr,"File \"%s\" loaded: start canonization\n", xml_filename); */
-    ret = xmlC14NDocDumpMemory(doc,
-	    (xpath) ? xpath->nodesetval : NULL,
-	    mode, inclusive_namespaces,
-	    with_comments, &result);
-    if(ret >= 0) {
-	if(result != NULL) {
-	    if (write(STDOUT_FILENO, result, ret) == -1) {
-		fprintf(stderr, "Can't write data\n");
-	    }
-	    xmlFree(result);
-	}
-    } else {
-	fprintf(stderr,"Error: failed to canonicalize XML file \"%s\" (ret=%d)\n", xml_filename, ret);
-	if(result != NULL) xmlFree(result);
-	xmlFreeDoc(doc);
-	return(-1);
-    }
-
-    /*
-     * Cleanup
-     */
-    if(xpath != NULL) xmlXPathFreeObject(xpath);
-    xmlFreeDoc(doc);
-
-    return(ret);
-}
-
-int main(int argc, char **argv) {
-    int ret = -1;
-
-    /*
-     * Init libxml
-     */
-    xmlInitParser();
-    LIBXML_TEST_VERSION
-
-    /*
-     * Parse command line and process file
-     */
-    if( argc < 3 ) {
-	fprintf(stderr, "Error: wrong number of arguments.\n");
-	usage(argv[0]);
-    } else if(strcmp(argv[1], "--with-comments") == 0) {
-	ret = test_c14n(argv[2], 1, XML_C14N_1_0, (argc > 3) ? argv[3] : NULL, NULL);
-    } else if(strcmp(argv[1], "--without-comments") == 0) {
-	ret = test_c14n(argv[2], 0, XML_C14N_1_0, (argc > 3) ? argv[3] : NULL, NULL);
-    } else if(strcmp(argv[1], "--1-1-with-comments") == 0) {
-	ret = test_c14n(argv[2], 1, XML_C14N_1_1, (argc > 3) ? argv[3] : NULL, NULL);
-    } else if(strcmp(argv[1], "--1-1-without-comments") == 0) {
-	ret = test_c14n(argv[2], 0, XML_C14N_1_1, (argc > 3) ? argv[3] : NULL, NULL);
-    } else if(strcmp(argv[1], "--exc-with-comments") == 0) {
-	xmlChar **list;
-
-	/* load exclusive namespace from command line */
-	list = (argc > 4) ? parse_list((xmlChar *)argv[4]) : NULL;
-	ret = test_c14n(argv[2], 1, XML_C14N_EXCLUSIVE_1_0, (argc > 3) ? argv[3] : NULL, list);
-	if(list != NULL) xmlFree(list);
-    } else if(strcmp(argv[1], "--exc-without-comments") == 0) {
-	xmlChar **list;
-
-	/* load exclusive namespace from command line */
-	list = (argc > 4) ? parse_list((xmlChar *)argv[4]) : NULL;
-	ret = test_c14n(argv[2], 0, XML_C14N_EXCLUSIVE_1_0, (argc > 3) ? argv[3] : NULL, list);
-	if(list != NULL) xmlFree(list);
-    } else {
-	fprintf(stderr, "Error: bad option.\n");
-	usage(argv[0]);
-    }
-
-    /*
-     * Shutdown libxml
-     */
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return((ret >= 0) ? 0 : 1);
-}
-
-/*
- * Macro used to grow the current buffer.
- */
-#define growBufferReentrant() {						\
-    buffer_size *= 2;							\
-    buffer = (xmlChar **)						\
-		xmlRealloc(buffer, buffer_size * sizeof(xmlChar*));	\
-    if (buffer == NULL) {						\
-	perror("realloc failed");					\
-	return(NULL);							\
-    }									\
-}
-
-static xmlChar **
-parse_list(xmlChar *str) {
-    xmlChar **buffer;
-    xmlChar **out = NULL;
-    int buffer_size = 0;
-    int len;
-
-    if(str == NULL) {
-	return(NULL);
-    }
-
-    len = xmlStrlen(str);
-    if((str[0] == '\'') && (str[len - 1] == '\'')) {
-	str[len - 1] = '\0';
-	str++;
-    }
-    /*
-     * allocate an translation buffer.
-     */
-    buffer_size = 1000;
-    buffer = (xmlChar **) xmlMalloc(buffer_size * sizeof(xmlChar*));
-    if (buffer == NULL) {
-	perror("malloc failed");
-	return(NULL);
-    }
-    out = buffer;
-
-    while(*str != '\0') {
-	if (out - buffer > buffer_size - 10) {
-	    int indx = out - buffer;
-
-	    growBufferReentrant();
-	    out = &buffer[indx];
-	}
-	(*out++) = str;
-	while(*str != ',' && *str != '\0') ++str;
-	if(*str == ',') *(str++) = '\0';
-    }
-    (*out) = NULL;
-    return buffer;
-}
-
-static xmlXPathObjectPtr
-load_xpath_expr (xmlDocPtr parent_doc, const char* filename) {
-    xmlXPathObjectPtr xpath;
-    xmlDocPtr doc;
-    xmlChar *expr;
-    xmlXPathContextPtr ctx;
-    xmlNodePtr node;
-    xmlNsPtr ns;
-
-    /*
-     * load XPath expr as a file
-     */
-    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
-    xmlSubstituteEntitiesDefault(1);
-
-    doc = xmlReadFile(filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT);
-    if (doc == NULL) {
-	fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename);
-	return(NULL);
-    }
-
-    /*
-     * Check the document is of the right kind
-     */
-    if(xmlDocGetRootElement(doc) == NULL) {
-        fprintf(stderr,"Error: empty document for file \"%s\"\n", filename);
-	xmlFreeDoc(doc);
-	return(NULL);
-    }
-
-    node = doc->children;
-    while(node != NULL && !xmlStrEqual(node->name, (const xmlChar *)"XPath")) {
-	node = node->next;
-    }
-
-    if(node == NULL) {
-        fprintf(stderr,"Error: XPath element expected in the file  \"%s\"\n", filename);
-	xmlFreeDoc(doc);
-	return(NULL);
-    }
-
-    expr = xmlNodeGetContent(node);
-    if(expr == NULL) {
-        fprintf(stderr,"Error: XPath content element is NULL \"%s\"\n", filename);
-	xmlFreeDoc(doc);
-	return(NULL);
-    }
-
-    ctx = xmlXPathNewContext(parent_doc);
-    if(ctx == NULL) {
-        fprintf(stderr,"Error: unable to create new context\n");
-        xmlFree(expr);
-        xmlFreeDoc(doc);
-        return(NULL);
-    }
-
-    /*
-     * Register namespaces
-     */
-    ns = node->nsDef;
-    while(ns != NULL) {
-	if(xmlXPathRegisterNs(ctx, ns->prefix, ns->href) != 0) {
-	    fprintf(stderr,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", ns->prefix, ns->href);
-	    xmlFree(expr);
-	    xmlXPathFreeContext(ctx);
-	    xmlFreeDoc(doc);
-	    return(NULL);
-	}
-	ns = ns->next;
-    }
-
-    /*
-     * Evaluate xpath
-     */
-    xpath = xmlXPathEvalExpression(expr, ctx);
-    if(xpath == NULL) {
-        fprintf(stderr,"Error: unable to evaluate xpath expression\n");
-	xmlFree(expr);
-        xmlXPathFreeContext(ctx);
-        xmlFreeDoc(doc);
-        return(NULL);
-    }
-
-    /* print_xpath_nodes(xpath->nodesetval); */
-
-    xmlFree(expr);
-    xmlXPathFreeContext(ctx);
-    xmlFreeDoc(doc);
-    return(xpath);
-}
-
-/*
-static void
-print_xpath_nodes(xmlNodeSetPtr nodes) {
-    xmlNodePtr cur;
-    int i;
-
-    if(nodes == NULL ){
-	fprintf(stderr, "Error: no nodes set defined\n");
-	return;
-    }
-
-    fprintf(stderr, "Nodes Set:\n-----\n");
-    for(i = 0; i < nodes->nodeNr; ++i) {
-	if(nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) {
-	    xmlNsPtr ns;
-
-	    ns = (xmlNsPtr)nodes->nodeTab[i];
-	    cur = (xmlNodePtr)ns->next;
-	    fprintf(stderr, "namespace \"%s\"=\"%s\" for node %s:%s\n",
-		    ns->prefix, ns->href,
-		    (cur->ns) ? cur->ns->prefix : BAD_CAST "", cur->name);
-	} else if(nodes->nodeTab[i]->type == XML_ELEMENT_NODE) {
-	    cur = nodes->nodeTab[i];
-	    fprintf(stderr, "element node \"%s:%s\"\n",
-		    (cur->ns) ? cur->ns->prefix : BAD_CAST "", cur->name);
-	} else {
-	    cur = nodes->nodeTab[i];
-	    fprintf(stderr, "node \"%s\": type %d\n", cur->name, cur->type);
-	}
-    }
-}
-*/
-
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : XPath/Canonicalization and output support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_C14N_ENABLED */
-
-
diff --git a/testHTML.c b/testHTML.c
deleted file mode 100644
index 9b42778..0000000
--- a/testHTML.c
+++ /dev/null
@@ -1,880 +0,0 @@
-/*
- * testHTML.c : a small tester program for HTML input.
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-
-#ifdef LIBXML_HTML_ENABLED
-
-#include <string.h>
-#include <stdarg.h>
-
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-#include <libxml/xmlmemory.h>
-#include <libxml/HTMLparser.h>
-#include <libxml/HTMLtree.h>
-#include <libxml/debugXML.h>
-#include <libxml/xmlerror.h>
-#include <libxml/globals.h>
-
-#ifdef LIBXML_DEBUG_ENABLED
-static int debug = 0;
-#endif
-static int copy = 0;
-static int sax = 0;
-static int repeat = 0;
-static int noout = 0;
-#ifdef LIBXML_PUSH_ENABLED
-static int push = 0;
-#endif /* LIBXML_PUSH_ENABLED */
-static char *encoding = NULL;
-static int options = 0;
-
-static xmlSAXHandler emptySAXHandlerStruct = {
-    NULL, /* internalSubset */
-    NULL, /* isStandalone */
-    NULL, /* hasInternalSubset */
-    NULL, /* hasExternalSubset */
-    NULL, /* resolveEntity */
-    NULL, /* getEntity */
-    NULL, /* entityDecl */
-    NULL, /* notationDecl */
-    NULL, /* attributeDecl */
-    NULL, /* elementDecl */
-    NULL, /* unparsedEntityDecl */
-    NULL, /* setDocumentLocator */
-    NULL, /* startDocument */
-    NULL, /* endDocument */
-    NULL, /* startElement */
-    NULL, /* endElement */
-    NULL, /* reference */
-    NULL, /* characters */
-    NULL, /* ignorableWhitespace */
-    NULL, /* processingInstruction */
-    NULL, /* comment */
-    NULL, /* xmlParserWarning */
-    NULL, /* xmlParserError */
-    NULL, /* xmlParserError */
-    NULL, /* getParameterEntity */
-    NULL, /* cdataBlock */
-    NULL, /* externalSubset */
-    1,    /* initialized */
-    NULL, /* private */
-    NULL, /* startElementNsSAX2Func */
-    NULL, /* endElementNsSAX2Func */
-    NULL  /* xmlStructuredErrorFunc */
-};
-
-static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct;
-extern xmlSAXHandlerPtr debugSAXHandler;
-
-/************************************************************************
- *									*
- *				Debug Handlers				*
- *									*
- ************************************************************************/
-
-/**
- * isStandaloneDebug:
- * @ctxt:  An XML parser context
- *
- * Is this document tagged standalone ?
- *
- * Returns 1 if true
- */
-static int
-isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.isStandalone()\n");
-    return(0);
-}
-
-/**
- * hasInternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- *
- * Returns 1 if true
- */
-static int
-hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.hasInternalSubset()\n");
-    return(0);
-}
-
-/**
- * hasExternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an external subset
- *
- * Returns 1 if true
- */
-static int
-hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.hasExternalSubset()\n");
-    return(0);
-}
-
-/**
- * hasInternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- */
-static void
-internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-	       const xmlChar *ExternalID, const xmlChar *SystemID)
-{
-    fprintf(stdout, "SAX.internalSubset(%s,", name);
-    if (ExternalID == NULL)
-	fprintf(stdout, " ,");
-    else
-	fprintf(stdout, " %s,", ExternalID);
-    if (SystemID == NULL)
-	fprintf(stdout, " )\n");
-    else
-	fprintf(stdout, " %s)\n", SystemID);
-}
-
-/**
- * resolveEntityDebug:
- * @ctxt:  An XML parser context
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * Special entity resolver, better left to the parser, it has
- * more context than the application layer.
- * The default behaviour is to NOT resolve the entities, in that case
- * the ENTITY_REF nodes are built in the structure (and the parameter
- * values).
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlParserInputPtr
-resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId)
-{
-    /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */
-
-
-    fprintf(stdout, "SAX.resolveEntity(");
-    if (publicId != NULL)
-	fprintf(stdout, "%s", (char *)publicId);
-    else
-	fprintf(stdout, " ");
-    if (systemId != NULL)
-	fprintf(stdout, ", %s)\n", (char *)systemId);
-    else
-	fprintf(stdout, ", )\n");
-/*********
-    if (systemId != NULL) {
-        return(xmlNewInputFromFile(ctxt, (char *) systemId));
-    }
- *********/
-    return(NULL);
-}
-
-/**
- * getEntityDebug:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get an entity by name
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlEntityPtr
-getEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    fprintf(stdout, "SAX.getEntity(%s)\n", name);
-    return(NULL);
-}
-
-/**
- * getParameterEntityDebug:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get a parameter entity by name
- *
- * Returns the xmlParserInputPtr
- */
-static xmlEntityPtr
-getParameterEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    fprintf(stdout, "SAX.getParameterEntity(%s)\n", name);
-    return(NULL);
-}
-
-
-/**
- * entityDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the entity name
- * @type:  the entity type
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @content: the entity value (without processing).
- *
- * An entity definition has been parsed
- */
-static void
-entityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type,
-          const xmlChar *publicId, const xmlChar *systemId, xmlChar *content)
-{
-    fprintf(stdout, "SAX.entityDecl(%s, %d, %s, %s, %s)\n",
-            name, type, publicId, systemId, content);
-}
-
-/**
- * attributeDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the attribute name
- * @type:  the attribute type
- *
- * An attribute definition has been parsed
- */
-static void
-attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *elem, const xmlChar *name,
-              int type, int def, const xmlChar *defaultValue,
-	      xmlEnumerationPtr tree ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n",
-            elem, name, type, def, defaultValue);
-}
-
-/**
- * elementDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the element name
- * @type:  the element type
- * @content: the element value (without processing).
- *
- * An element definition has been parsed
- */
-static void
-elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type,
-	    xmlElementContentPtr content ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.elementDecl(%s, %d, ...)\n",
-            name, type);
-}
-
-/**
- * notationDeclDebug:
- * @ctxt:  An XML parser context
- * @name: The name of the notation
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * What to do when a notation declaration has been parsed.
- */
-static void
-notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-	     const xmlChar *publicId, const xmlChar *systemId)
-{
-    fprintf(stdout, "SAX.notationDecl(%s, %s, %s)\n",
-            (char *) name, (char *) publicId, (char *) systemId);
-}
-
-/**
- * unparsedEntityDeclDebug:
- * @ctxt:  An XML parser context
- * @name: The name of the entity
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @notationName: the name of the notation
- *
- * What to do when an unparsed entity declaration is parsed
- */
-static void
-unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-		   const xmlChar *publicId, const xmlChar *systemId,
-		   const xmlChar *notationName)
-{
-    fprintf(stdout, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n",
-            (char *) name, (char *) publicId, (char *) systemId,
-	    (char *) notationName);
-}
-
-/**
- * setDocumentLocatorDebug:
- * @ctxt:  An XML parser context
- * @loc: A SAX Locator
- *
- * Receive the document locator at startup, actually xmlDefaultSAXLocator
- * Everything is available on the context, so this is useless in our case.
- */
-static void
-setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.setDocumentLocator()\n");
-}
-
-/**
- * startDocumentDebug:
- * @ctxt:  An XML parser context
- *
- * called when the document start being processed.
- */
-static void
-startDocumentDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.startDocument()\n");
-}
-
-/**
- * endDocumentDebug:
- * @ctxt:  An XML parser context
- *
- * called when the document end has been detected.
- */
-static void
-endDocumentDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.endDocument()\n");
-}
-
-/**
- * startElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when an opening tag has been processed.
- */
-static void
-startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts)
-{
-    int i;
-
-    fprintf(stdout, "SAX.startElement(%s", (char *) name);
-    if (atts != NULL) {
-        for (i = 0;(atts[i] != NULL);i++) {
-	    fprintf(stdout, ", %s", atts[i++]);
-	    if (atts[i] != NULL) {
-		unsigned char output[40];
-		const unsigned char *att = atts[i];
-		int outlen, attlen;
-	        fprintf(stdout, "='");
-		while ((attlen = strlen((char*)att)) > 0) {
-		    outlen = sizeof output - 1;
-		    htmlEncodeEntities(output, &outlen, att, &attlen, '\'');
-		    output[outlen] = 0;
-		    fprintf(stdout, "%s", (char *) output);
-		    att += attlen;
-		}
-		fprintf(stdout, "'");
-	    }
-	}
-    }
-    fprintf(stdout, ")\n");
-}
-
-/**
- * endElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when the end of an element has been detected.
- */
-static void
-endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    fprintf(stdout, "SAX.endElement(%s)\n", (char *) name);
-}
-
-/**
- * charactersDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @len: the number of xmlChar
- *
- * receiving some chars from the parser.
- * Question: how much at a time ???
- */
-static void
-charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    unsigned char output[40];
-    int inlen = len, outlen = 30;
-
-    htmlEncodeEntities(output, &outlen, ch, &inlen, 0);
-    output[outlen] = 0;
-
-    fprintf(stdout, "SAX.characters(%s, %d)\n", output, len);
-}
-
-/**
- * cdataDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @len: the number of xmlChar
- *
- * receiving some cdata chars from the parser.
- * Question: how much at a time ???
- */
-static void
-cdataDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    unsigned char output[40];
-    int inlen = len, outlen = 30;
-
-    htmlEncodeEntities(output, &outlen, ch, &inlen, 0);
-    output[outlen] = 0;
-
-    fprintf(stdout, "SAX.cdata(%s, %d)\n", output, len);
-}
-
-/**
- * referenceDebug:
- * @ctxt:  An XML parser context
- * @name:  The entity name
- *
- * called when an entity reference is detected.
- */
-static void
-referenceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    fprintf(stdout, "SAX.reference(%s)\n", name);
-}
-
-/**
- * ignorableWhitespaceDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @start: the first char in the string
- * @len: the number of xmlChar
- *
- * receiving some ignorable whitespaces from the parser.
- * Question: how much at a time ???
- */
-static void
-ignorableWhitespaceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    char output[40];
-    int i;
-
-    for (i = 0;(i<len) && (i < 30);i++)
-	output[i] = ch[i];
-    output[i] = 0;
-
-    fprintf(stdout, "SAX.ignorableWhitespace(%s, %d)\n", output, len);
-}
-
-/**
- * processingInstructionDebug:
- * @ctxt:  An XML parser context
- * @target:  the target name
- * @data: the PI data's
- * @len: the number of xmlChar
- *
- * A processing instruction has been parsed.
- */
-static void
-processingInstructionDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *target,
-                      const xmlChar *data)
-{
-    fprintf(stdout, "SAX.processingInstruction(%s, %s)\n",
-            (char *) target, (char *) data);
-}
-
-/**
- * commentDebug:
- * @ctxt:  An XML parser context
- * @value:  the comment content
- *
- * A comment has been parsed.
- */
-static void
-commentDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *value)
-{
-    fprintf(stdout, "SAX.comment(%s)\n", value);
-}
-
-/**
- * warningDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a warning messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-warningDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    va_start(args, msg);
-    fprintf(stdout, "SAX.warning: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-/**
- * errorDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a error messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-errorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    va_start(args, msg);
-    fprintf(stdout, "SAX.error: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-/**
- * fatalErrorDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a fatalError messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-fatalErrorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    va_start(args, msg);
-    fprintf(stdout, "SAX.fatalError: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-static xmlSAXHandler debugSAXHandlerStruct = {
-    internalSubsetDebug,
-    isStandaloneDebug,
-    hasInternalSubsetDebug,
-    hasExternalSubsetDebug,
-    resolveEntityDebug,
-    getEntityDebug,
-    entityDeclDebug,
-    notationDeclDebug,
-    attributeDeclDebug,
-    elementDeclDebug,
-    unparsedEntityDeclDebug,
-    setDocumentLocatorDebug,
-    startDocumentDebug,
-    endDocumentDebug,
-    startElementDebug,
-    endElementDebug,
-    referenceDebug,
-    charactersDebug,
-    ignorableWhitespaceDebug,
-    processingInstructionDebug,
-    commentDebug,
-    warningDebug,
-    errorDebug,
-    fatalErrorDebug,
-    getParameterEntityDebug,
-    cdataDebug,
-    NULL,
-    1,
-    NULL,
-    NULL,
-    NULL,
-    NULL
-};
-
-xmlSAXHandlerPtr debugSAXHandler = &debugSAXHandlerStruct;
-/************************************************************************
- *									*
- *				Debug					*
- *									*
- ************************************************************************/
-
-static void
-parseSAXFile(char *filename) {
-    htmlDocPtr doc = NULL;
-
-    /*
-     * Empty callbacks for checking
-     */
-#ifdef LIBXML_PUSH_ENABLED
-    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];
-	    htmlParserCtxtPtr ctxt;
-
-	    /* if (repeat) */
-		size = 4096;
-	    res = fread(chars, 1, 4, f);
-	    if (res > 0) {
-		ctxt = htmlCreatePushParserCtxt(emptySAXHandler, NULL,
-			    chars, res, filename, XML_CHAR_ENCODING_NONE);
-		while ((res = fread(chars, 1, size, f)) > 0) {
-		    htmlParseChunk(ctxt, chars, res, 0);
-		}
-		htmlParseChunk(ctxt, chars, 0, 1);
-		doc = ctxt->myDoc;
-		htmlFreeParserCtxt(ctxt);
-	    }
-	    if (doc != NULL) {
-		fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
-		xmlFreeDoc(doc);
-	    }
-	    fclose(f);
-	}
-	if (!noout) {
-#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];
-		htmlParserCtxtPtr ctxt;
-
-		/* if (repeat) */
-		    size = 4096;
-		res = fread(chars, 1, 4, f);
-		if (res > 0) {
-		    ctxt = htmlCreatePushParserCtxt(debugSAXHandler, NULL,
-				chars, res, filename, XML_CHAR_ENCODING_NONE);
-		    while ((res = fread(chars, 1, size, f)) > 0) {
-			htmlParseChunk(ctxt, chars, res, 0);
-		    }
-		    htmlParseChunk(ctxt, chars, 0, 1);
-		    doc = ctxt->myDoc;
-		    htmlFreeParserCtxt(ctxt);
-		}
-		if (doc != NULL) {
-		    fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
-		    xmlFreeDoc(doc);
-		}
-		fclose(f);
-	    }
-	}
-    } else {
-#endif /* LIBXML_PUSH_ENABLED */
-	doc = htmlSAXParseFile(filename, NULL, emptySAXHandler, NULL);
-	if (doc != NULL) {
-	    fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
-	    xmlFreeDoc(doc);
-	}
-
-	if (!noout) {
-	    /*
-	     * Debug callback
-	     */
-	    doc = htmlSAXParseFile(filename, NULL, debugSAXHandler, NULL);
-	    if (doc != NULL) {
-		fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
-		xmlFreeDoc(doc);
-	    }
-	}
-#ifdef LIBXML_PUSH_ENABLED
-    }
-#endif /* LIBXML_PUSH_ENABLED */
-}
-
-static void
-parseAndPrintFile(char *filename) {
-    htmlDocPtr doc = NULL;
-
-    /*
-     * build an HTML tree from a string;
-     */
-#ifdef LIBXML_PUSH_ENABLED
-    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];
-	    htmlParserCtxtPtr ctxt;
-
-	    /* if (repeat) */
-		size = 4096;
-	    res = fread(chars, 1, 4, f);
-	    if (res > 0) {
-		ctxt = htmlCreatePushParserCtxt(NULL, NULL,
-			    chars, res, filename, XML_CHAR_ENCODING_NONE);
-		while ((res = fread(chars, 1, size, f)) > 0) {
-		    htmlParseChunk(ctxt, chars, res, 0);
-		}
-		htmlParseChunk(ctxt, chars, 0, 1);
-		doc = ctxt->myDoc;
-		htmlFreeParserCtxt(ctxt);
-	    }
-	    fclose(f);
-	}
-    } else {
-	doc = htmlReadFile(filename, NULL, options);
-    }
-#else
-	doc = htmlReadFile(filename,NULL,options);
-#endif
-    if (doc == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-		"Could not parse %s\n", filename);
-    }
-
-#ifdef LIBXML_TREE_ENABLED
-    /*
-     * test intermediate copy if needed.
-     */
-    if (copy) {
-        htmlDocPtr tmp;
-
-        tmp = doc;
-	doc = xmlCopyDoc(doc, 1);
-	xmlFreeDoc(tmp);
-    }
-#endif
-
-#ifdef LIBXML_OUTPUT_ENABLED
-    /*
-     * print it.
-     */
-    if (!noout) {
-#ifdef LIBXML_DEBUG_ENABLED
-	if (!debug) {
-	    if (encoding)
-		htmlSaveFileEnc("-", doc, encoding);
-	    else
-		htmlDocDump(stdout, doc);
-	} else
-	    xmlDebugDumpDocument(stdout, doc);
-#else
-	if (encoding)
-	    htmlSaveFileEnc("-", doc, encoding);
-	else
-	    htmlDocDump(stdout, doc);
-#endif
-    }
-#endif /* LIBXML_OUTPUT_ENABLED */
-
-    /*
-     * free it.
-     */
-    xmlFreeDoc(doc);
-}
-
-int main(int argc, char **argv) {
-    int i, count;
-    int files = 0;
-
-    for (i = 1; i < argc ; i++) {
-#ifdef LIBXML_DEBUG_ENABLED
-	if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
-	    debug++;
-	else
-#endif
-	    if ((!strcmp(argv[i], "-copy")) || (!strcmp(argv[i], "--copy")))
-	    copy++;
-#ifdef LIBXML_PUSH_ENABLED
-	else if ((!strcmp(argv[i], "-push")) || (!strcmp(argv[i], "--push")))
-	    push++;
-#endif /* LIBXML_PUSH_ENABLED */
-	else if ((!strcmp(argv[i], "-sax")) || (!strcmp(argv[i], "--sax")))
-	    sax++;
-	else if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout")))
-	    noout++;
-	else if ((!strcmp(argv[i], "-repeat")) ||
-	         (!strcmp(argv[i], "--repeat")))
-	    repeat++;
-	else if ((!strcmp(argv[i], "-encode")) ||
-	         (!strcmp(argv[i], "--encode"))) {
-	    i++;
-	    encoding = argv[i];
-        }
-    }
-    for (i = 1; i < argc ; i++) {
-	if ((!strcmp(argv[i], "-encode")) ||
-	         (!strcmp(argv[i], "--encode"))) {
-	    i++;
-	    continue;
-        }
-	if (argv[i][0] != '-') {
-	    if (repeat) {
-		for (count = 0;count < 100 * repeat;count++) {
-		    if (sax)
-			parseSAXFile(argv[i]);
-		    else
-			parseAndPrintFile(argv[i]);
-		}
-	    } else {
-		if (sax)
-		    parseSAXFile(argv[i]);
-		else
-		    parseAndPrintFile(argv[i]);
-	    }
-	    files ++;
-	}
-    }
-    if (files == 0) {
-	printf("Usage : %s [--debug] [--copy] [--copy] HTMLfiles ...\n",
-	       argv[0]);
-	printf("\tParse the HTML files and output the result of the parsing\n");
-#ifdef LIBXML_DEBUG_ENABLED
-	printf("\t--debug : dump a debug tree of the in-memory document\n");
-#endif
-	printf("\t--copy : used to test the internal copy implementation\n");
-	printf("\t--sax : debug the sequence of SAX callbacks\n");
-	printf("\t--repeat : parse the file 100 times, for timing\n");
-	printf("\t--noout : do not print the result\n");
-#ifdef LIBXML_PUSH_ENABLED
-	printf("\t--push : use the push mode parser\n");
-#endif /* LIBXML_PUSH_ENABLED */
-	printf("\t--encode encoding : output in the given encoding\n");
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-#else /* !LIBXML_HTML_ENABLED */
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : HTML support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif
diff --git a/testModule.c b/testModule.c
index 77b7ba1..6d00596 100644
--- a/testModule.c
+++ b/testModule.c
@@ -49,24 +49,26 @@
     xmlStrPrintf(filename, sizeof(filename),
                  "%s/testdso%s",
                  (const xmlChar*)MODULE_PATH,
-		 (const xmlChar*)LIBXML_MODULE_EXTENSION);
+                 (const xmlChar*)LIBXML_MODULE_EXTENSION);
 
     module = xmlModuleOpen((const char*)filename, 0);
-    if (module)
-      {
-        if (xmlModuleSymbol(module, "hello_world", (void **) &hello_world)) {
-	    fprintf(stderr, "Failure to lookup\n");
-	    return(1);
-	}
-	if (hello_world == NULL) {
-	    fprintf(stderr, "Lookup returned NULL\n");
-	    return(1);
-	}
+    if (module == NULL) {
+      fprintf(stderr, "Failed to open module\n");
+      return(1);
+    }
 
-        (*hello_world)();
+    if (xmlModuleSymbol(module, "hello_world", (void **) &hello_world)) {
+      fprintf(stderr, "Failure to lookup\n");
+      return(1);
+    }
+    if (hello_world == NULL) {
+      fprintf(stderr, "Lookup returned NULL\n");
+      return(1);
+    }
 
-        xmlModuleClose(module);
-      }
+    (*hello_world)();
+
+    xmlModuleClose(module);
 
     xmlMemoryDump();
 
diff --git a/testOOM.c b/testOOM.c
index 9ff13f2..217e04a 100644
--- a/testOOM.c
+++ b/testOOM.c
@@ -10,19 +10,7 @@
 
 #include <string.h>
 #include <stdarg.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
 
 #include <libxml/xmlreader.h>
 
diff --git a/testOOMlib.c b/testOOMlib.c
index 34c4aa0..310714f 100644
--- a/testOOMlib.c
+++ b/testOOMlib.c
@@ -9,10 +9,7 @@
 
 #include "testOOMlib.h"
 
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
-
 #include <string.h>
 
 #define _TEST_INT_MAX 2147483647
diff --git a/testOOMlib.h b/testOOMlib.h
index 751999d..fff148f 100644
--- a/testOOMlib.h
+++ b/testOOMlib.h
@@ -1,11 +1,7 @@
 #ifndef TEST_OOM_LIB_H
 #define TEST_OOM_LIB_H
 
-#include <config.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
+#include <stddef.h>
 
 void* test_malloc  (size_t      bytes);
 void* test_realloc (void       *memory,
diff --git a/testReader.c b/testReader.c
deleted file mode 100644
index da2f1b0..0000000
--- a/testReader.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * testReader.c : a small tester program for parsing using the xmlReader
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-
-#ifdef LIBXML_READER_ENABLED
-#include <string.h>
-#include <stdarg.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-
-#include <libxml/xmlreader.h>
-
-static int debug = 0;
-static int dump = 0;
-static int noent = 0;
-static int count = 0;
-static int valid = 0;
-static int consumed = 0;
-
-static void usage(const char *progname) {
-    printf("Usage : %s [options] XMLfiles ...\n", progname);
-    printf("\tParse the XML files using the xmlTextReader API\n");
-    printf("\t --count: count the number of attribute and elements\n");
-    printf("\t --valid: validate the document\n");
-    printf("\t --consumed: count the number of bytes consumed\n");
-    exit(1);
-}
-static int elem, attrs;
-
-static void processNode(xmlTextReaderPtr reader) {
-    int type;
-
-    type = xmlTextReaderNodeType(reader);
-    if (count) {
-	if (type == 1) {
-	    elem++;
-	    attrs += xmlTextReaderAttributeCount(reader);
-	}
-    }
-}
-
-static void handleFile(const char *filename) {
-    xmlTextReaderPtr reader;
-    int ret;
-
-    if (count) {
-	elem = 0;
-	attrs = 0;
-    }
-
-    reader = xmlNewTextReaderFilename(filename);
-    if (reader != NULL) {
-	if (valid)
-	    xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1);
-
-	/*
-	 * Process all nodes in sequence
-	 */
-	ret = xmlTextReaderRead(reader);
-	while (ret == 1) {
-	    processNode(reader);
-	    ret = xmlTextReaderRead(reader);
-	}
-
-	/*
-	 * Done, cleanup and status
-	 */
-	if (consumed)
-		printf("%ld bytes consumed by parser\n", xmlTextReaderByteConsumed(reader));
-	xmlFreeTextReader(reader);
-	if (ret != 0) {
-	    printf("%s : failed to parse\n", filename);
-	} else if (count)
-	    printf("%s : %d elements, %d attributes\n", filename, elem, attrs);
-    } else {
-	fprintf(stderr, "Unable to open %s\n", filename);
-    }
-}
-
-int main(int argc, char **argv) {
-    int i;
-    int files = 0;
-
-    if (argc <= 1) {
-	usage(argv[0]);
-	return(1);
-    }
-    LIBXML_TEST_VERSION
-    for (i = 1; i < argc ; i++) {
-	if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
-	    debug++;
-	else if ((!strcmp(argv[i], "-dump")) || (!strcmp(argv[i], "--dump")))
-	    dump++;
-	else if ((!strcmp(argv[i], "-count")) || (!strcmp(argv[i], "--count")))
-	    count++;
-	else if ((!strcmp(argv[i], "-consumed")) || (!strcmp(argv[i], "--consumed")))
-	    consumed++;
-	else if ((!strcmp(argv[i], "-valid")) || (!strcmp(argv[i], "--valid")))
-	    valid++;
-	else if ((!strcmp(argv[i], "-noent")) ||
-	         (!strcmp(argv[i], "--noent")))
-	    noent++;
-    }
-    if (noent != 0) xmlSubstituteEntitiesDefault(1);
-    for (i = 1; i < argc ; i++) {
-	if (argv[i][0] != '-') {
-	    handleFile(argv[i]);
-	    files ++;
-	}
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-#else
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : xmlReader parser support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_READER_ENABLED */
diff --git a/testRegexp.c b/testRegexp.c
deleted file mode 100644
index 2181741..0000000
--- a/testRegexp.c
+++ /dev/null
@@ -1,402 +0,0 @@
-/*
- * testRegexp.c: simple module for testing regular expressions
- *
- * See Copyright for the status of this software.
- *
- * Daniel Veillard <veillard@redhat.com>
- */
-
-#include "libxml.h"
-#ifdef LIBXML_REGEXP_ENABLED
-#include <string.h>
-
-#include <libxml/tree.h>
-#include <libxml/xmlregexp.h>
-
-static int repeat = 0;
-static int debug = 0;
-
-static void testRegexp(xmlRegexpPtr comp, const char *value) {
-    int ret;
-
-    ret = xmlRegexpExec(comp, (const xmlChar *) value);
-    if (ret == 1)
-	printf("%s: Ok\n", value);
-    else if (ret == 0)
-	printf("%s: Fail\n", value);
-    else
-	printf("%s: Error: %d\n", value, ret);
-    if (repeat) {
-	int j;
-	for (j = 0;j < 999999;j++)
-	    xmlRegexpExec(comp, (const xmlChar *) value);
-    }
-}
-
-static void
-testRegexpFile(const char *filename) {
-    xmlRegexpPtr comp = NULL;
-    FILE *input;
-    char expression[5000];
-    int len;
-
-    input = fopen(filename, "r");
-    if (input == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-		"Cannot open %s for reading\n", filename);
-	return;
-    }
-    while (fgets(expression, 4500, input) != NULL) {
-	len = strlen(expression);
-	len--;
-	while ((len >= 0) &&
-	       ((expression[len] == '\n') || (expression[len] == '\t') ||
-		(expression[len] == '\r') || (expression[len] == ' '))) len--;
-	expression[len + 1] = 0;
-	if (len >= 0) {
-	    if (expression[0] == '#')
-		continue;
-	    if ((expression[0] == '=') && (expression[1] == '>')) {
-		char *pattern = &expression[2];
-
-		if (comp != NULL) {
-		    xmlRegFreeRegexp(comp);
-		    comp = NULL;
-		}
-		printf("Regexp: %s\n", pattern) ;
-		comp = xmlRegexpCompile((const xmlChar *) pattern);
-		if (comp == NULL) {
-		    printf("   failed to compile\n");
-		    break;
-		}
-	    } else if (comp == NULL) {
-		printf("Regexp: %s\n", expression) ;
-		comp = xmlRegexpCompile((const xmlChar *) expression);
-		if (comp == NULL) {
-		    printf("   failed to compile\n");
-		    break;
-		}
-	    } else if (comp != NULL) {
-		testRegexp(comp, expression);
-	    }
-	}
-    }
-    fclose(input);
-    if (comp != NULL)
-	xmlRegFreeRegexp(comp);
-}
-
-#ifdef LIBXML_EXPR_ENABLED
-static void
-runFileTest(xmlExpCtxtPtr ctxt, const char *filename) {
-    xmlExpNodePtr expr = NULL, sub;
-    FILE *input;
-    char expression[5000];
-    int len;
-
-    input = fopen(filename, "r");
-    if (input == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-		"Cannot open %s for reading\n", filename);
-	return;
-    }
-    while (fgets(expression, 4500, input) != NULL) {
-	len = strlen(expression);
-	len--;
-	while ((len >= 0) &&
-	       ((expression[len] == '\n') || (expression[len] == '\t') ||
-		(expression[len] == '\r') || (expression[len] == ' '))) len--;
-	expression[len + 1] = 0;
-	if (len >= 0) {
-	    if (expression[0] == '#')
-		continue;
-	    if ((expression[0] == '=') && (expression[1] == '>')) {
-		char *str = &expression[2];
-
-		if (expr != NULL) {
-		    xmlExpFree(ctxt, expr);
-		    if (xmlExpCtxtNbNodes(ctxt) != 0)
-		        printf(" Parse/free of Expression leaked %d\n",
-			       xmlExpCtxtNbNodes(ctxt));
-		    expr = NULL;
-		}
-		printf("Expression: %s\n", str) ;
-		expr = xmlExpParse(ctxt, str);
-		if (expr == NULL) {
-		    printf("   parsing Failed\n");
-		    break;
-		}
-	    } else if (expr != NULL) {
-	        int expect = -1;
-		int nodes1, nodes2;
-
-		if (expression[0] == '0')
-		    expect = 0;
-		if (expression[0] == '1')
-		    expect = 1;
-		printf("Subexp: %s", expression + 2) ;
-		nodes1 = xmlExpCtxtNbNodes(ctxt);
-		sub = xmlExpParse(ctxt, expression + 2);
-		if (sub == NULL) {
-		    printf("   parsing Failed\n");
-		    break;
-		} else {
-		    int ret;
-
-		    nodes2 = xmlExpCtxtNbNodes(ctxt);
-		    ret = xmlExpSubsume(ctxt, expr, sub);
-
-		    if ((expect == 1) && (ret == 1)) {
-			printf(" => accept, Ok\n");
-		    } else if ((expect == 0) && (ret == 0)) {
-		        printf(" => reject, Ok\n");
-		    } else if ((expect == 1) && (ret == 0)) {
-			printf(" => reject, Failed\n");
-		    } else if ((expect == 0) && (ret == 1)) {
-			printf(" => accept, Failed\n");
-		    } else {
-		        printf(" => fail internally\n");
-		    }
-		    if (xmlExpCtxtNbNodes(ctxt) > nodes2) {
-		        printf(" Subsume leaked %d\n",
-			       xmlExpCtxtNbNodes(ctxt) - nodes2);
-			nodes1 += xmlExpCtxtNbNodes(ctxt) - nodes2;
-		    }
-		    xmlExpFree(ctxt, sub);
-		    if (xmlExpCtxtNbNodes(ctxt) > nodes1) {
-		        printf(" Parse/free leaked %d\n",
-			       xmlExpCtxtNbNodes(ctxt) - nodes1);
-		    }
-		}
-
-	    }
-	}
-    }
-    if (expr != NULL) {
-	xmlExpFree(ctxt, expr);
-	if (xmlExpCtxtNbNodes(ctxt) != 0)
-	    printf(" Parse/free of Expression leaked %d\n",
-		   xmlExpCtxtNbNodes(ctxt));
-    }
-    fclose(input);
-}
-
-static void
-testReduce(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr, const char *tst) {
-    xmlBufferPtr xmlExpBuf;
-    xmlExpNodePtr sub, deriv;
-
-    sub = xmlExpParse(ctxt, tst);
-    if (sub == NULL) {
-        printf("Subset %s failed to parse\n", tst);
-	return;
-    }
-    xmlExpBuf = xmlBufferCreate();
-    xmlExpDump(xmlExpBuf, sub);
-    printf("Subset parsed as: %s\n",
-           (const char *) xmlBufferContent(xmlExpBuf));
-    deriv = xmlExpExpDerive(ctxt, expr, sub);
-    if (deriv == NULL) {
-        printf("Derivation led to an internal error, report this !\n");
-    } else {
-        xmlBufferEmpty(xmlExpBuf);
-	xmlExpDump(xmlExpBuf, deriv);
-	if (xmlExpIsNillable(deriv))
-	    printf("Resulting nillable derivation: %s\n",
-	           (const char *) xmlBufferContent(xmlExpBuf));
-	else
-	    printf("Resulting derivation: %s\n",
-	           (const char *) xmlBufferContent(xmlExpBuf));
-	xmlExpFree(ctxt, deriv);
-    }
-    xmlBufferFree(xmlExpBuf);
-    xmlExpFree(ctxt, sub);
-}
-
-static void
-exprDebug(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr) {
-    xmlBufferPtr xmlExpBuf;
-    xmlExpNodePtr deriv;
-    const char *list[40];
-    int ret;
-
-    xmlExpBuf = xmlBufferCreate();
-
-    if (expr == NULL) {
-        printf("Failed to parse\n");
-	return;
-    }
-    xmlExpDump(xmlExpBuf, expr);
-    printf("Parsed as: %s\n", (const char *) xmlBufferContent(xmlExpBuf));
-    printf("Max token input = %d\n", xmlExpMaxToken(expr));
-    if (xmlExpIsNillable(expr) == 1)
-	printf("Is nillable\n");
-    ret = xmlExpGetLanguage(ctxt, expr, (const xmlChar **) &list[0], 40);
-    if (ret < 0)
-	printf("Failed to get list: %d\n", ret);
-    else {
-	int i;
-
-	printf("Language has %d strings, testing string derivations\n", ret);
-	for (i = 0;i < ret;i++) {
-	    deriv = xmlExpStringDerive(ctxt, expr, BAD_CAST list[i], -1);
-	    if (deriv == NULL) {
-		printf("  %s -> derivation failed\n", list[i]);
-	    } else {
-		xmlBufferEmpty(xmlExpBuf);
-		xmlExpDump(xmlExpBuf, deriv);
-		printf("  %s -> %s\n", list[i],
-		       (const char *) xmlBufferContent(xmlExpBuf));
-	    }
-	    xmlExpFree(ctxt, deriv);
-	}
-    }
-    xmlBufferFree(xmlExpBuf);
-}
-#endif
-
-static void usage(const char *name) {
-    fprintf(stderr, "Usage: %s [flags]\n", name);
-    fprintf(stderr, "Testing tool for libxml2 string and pattern regexps\n");
-    fprintf(stderr, "   --debug: switch on debugging\n");
-    fprintf(stderr, "   --repeat: loop on the operation\n");
-#ifdef LIBXML_EXPR_ENABLED
-    fprintf(stderr, "   --expr: test xmlExp and not xmlRegexp\n");
-#endif
-    fprintf(stderr, "   --input filename: use the given filename for regexp\n");
-    fprintf(stderr, "   --input filename: use the given filename for exp\n");
-}
-
-int main(int argc, char **argv) {
-    xmlRegexpPtr comp = NULL;
-#ifdef LIBXML_EXPR_ENABLED
-    xmlExpNodePtr expr = NULL;
-    int use_exp = 0;
-    xmlExpCtxtPtr ctxt = NULL;
-#endif
-    const char *pattern = NULL;
-    char *filename = NULL;
-    int i;
-
-    xmlInitMemory();
-
-    if (argc <= 1) {
-	usage(argv[0]);
-	return(1);
-    }
-    for (i = 1; i < argc ; i++) {
-	if (!strcmp(argv[i], "-"))
-	    break;
-
-	if (argv[i][0] != '-')
-	    continue;
-	if (!strcmp(argv[i], "--"))
-	    break;
-
-	if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) {
-	    debug++;
-	} else if ((!strcmp(argv[i], "-repeat")) ||
-	         (!strcmp(argv[i], "--repeat"))) {
-	    repeat++;
-#ifdef LIBXML_EXPR_ENABLED
-	} else if ((!strcmp(argv[i], "-expr")) ||
-	         (!strcmp(argv[i], "--expr"))) {
-	    use_exp++;
-#endif
-	} else if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "-f")) ||
-		   (!strcmp(argv[i], "--input")))
-	    filename = argv[++i];
-        else {
-	    fprintf(stderr, "Unknown option %s\n", argv[i]);
-	    usage(argv[0]);
-	}
-    }
-
-#ifdef LIBXML_EXPR_ENABLED
-    if (use_exp)
-	ctxt = xmlExpNewCtxt(0, NULL);
-#endif
-
-    if (filename != NULL) {
-#ifdef LIBXML_EXPR_ENABLED
-        if (use_exp)
-	    runFileTest(ctxt, filename);
-	else
-#endif
-	    testRegexpFile(filename);
-    } else {
-        int  data = 0;
-#ifdef LIBXML_EXPR_ENABLED
-
-        if (use_exp) {
-	    for (i = 1; i < argc ; i++) {
-	        if (strcmp(argv[i], "--") == 0)
-		    data = 1;
-		else if ((argv[i][0] != '-') || (strcmp(argv[i], "-") == 0) ||
-		    (data == 1)) {
-		    if (pattern == NULL) {
-			pattern = argv[i];
-			printf("Testing expr %s:\n", pattern);
-			expr = xmlExpParse(ctxt, pattern);
-			if (expr == NULL) {
-			    printf("   failed to compile\n");
-			    break;
-			}
-			if (debug) {
-			    exprDebug(ctxt, expr);
-			}
-		    } else {
-			testReduce(ctxt, expr, argv[i]);
-		    }
-		}
-	    }
-	    if (expr != NULL) {
-		xmlExpFree(ctxt, expr);
-		expr = NULL;
-	    }
-	} else
-#endif
-        {
-	    for (i = 1; i < argc ; i++) {
-	        if (strcmp(argv[i], "--") == 0)
-		    data = 1;
-		else if ((argv[i][0] != '-') || (strcmp(argv[i], "-") == 0) ||
-		         (data == 1)) {
-		    if (pattern == NULL) {
-			pattern = argv[i];
-			printf("Testing %s:\n", pattern);
-			comp = xmlRegexpCompile((const xmlChar *) pattern);
-			if (comp == NULL) {
-			    printf("   failed to compile\n");
-			    break;
-			}
-			if (debug)
-			    xmlRegexpPrint(stdout, comp);
-		    } else {
-			testRegexp(comp, argv[i]);
-		    }
-		}
-	    }
-	    if (comp != NULL)
-		xmlRegFreeRegexp(comp);
-        }
-    }
-#ifdef LIBXML_EXPR_ENABLED
-    if (ctxt != NULL) {
-	printf("Ops: %d nodes, %d cons\n",
-	       xmlExpCtxtNbNodes(ctxt), xmlExpCtxtNbCons(ctxt));
-	xmlExpFreeCtxt(ctxt);
-    }
-#endif
-    xmlCleanupParser();
-    xmlMemoryDump();
-    return(0);
-}
-
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : Regexp support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_REGEXP_ENABLED */
diff --git a/testRelax.c b/testRelax.c
deleted file mode 100644
index 3549f93..0000000
--- a/testRelax.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * testRelax.c : a small tester program for RelaxNG validation
- *
- * See Copyright for the status of this software.
- *
- * Daniel.Veillard@w3.org
- */
-
-#include "libxml.h"
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#include <libxml/xmlversion.h>
-#include <libxml/parser.h>
-
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_SYS_MMAN_H
-#include <sys/mman.h>
-/* seems needed for Solaris */
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void *) -1)
-#endif
-#endif
-
-#include <libxml/xmlmemory.h>
-#include <libxml/debugXML.h>
-#include <libxml/relaxng.h>
-
-#ifdef LIBXML_DEBUG_ENABLED
-static int debug = 0;
-#endif
-static int noout = 0;
-static int tree = 0;
-#ifdef HAVE_MMAP
-static int memory = 0;
-#endif
-
-
-int main(int argc, char **argv) {
-    int i;
-    int files = 0;
-    xmlRelaxNGPtr schema = NULL;
-
-    for (i = 1; i < argc ; i++) {
-#ifdef LIBXML_DEBUG_ENABLED
-	if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
-	    debug++;
-	else
-#endif
-#ifdef HAVE_MMAP
-	if ((!strcmp(argv[i], "-memory")) || (!strcmp(argv[i], "--memory"))) {
-	    memory++;
-        } else
-#endif
-	if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout"))) {
-	    noout++;
-        } else
-	if ((!strcmp(argv[i], "-tree")) || (!strcmp(argv[i], "--tree"))) {
-	    tree++;
-        }
-    }
-    xmlLineNumbersDefault(1);
-    xmlSubstituteEntitiesDefault(1);
-    for (i = 1; i < argc ; i++) {
-	if (argv[i][0] != '-') {
-	    if (schema == NULL) {
-		xmlRelaxNGParserCtxtPtr ctxt;
-
-#ifdef HAVE_MMAP
-		if (memory) {
-		    int fd;
-		    struct stat info;
-		    const char *base;
-		    if (stat(argv[i], &info) < 0)
-			break;
-		    if ((fd = open(argv[i], O_RDONLY)) < 0)
-			break;
-		    base = mmap(NULL, info.st_size, PROT_READ,
-			        MAP_SHARED, fd, 0) ;
-		    if (base == (void *) MAP_FAILED)
-			break;
-
-		    ctxt = xmlRelaxNGNewMemParserCtxt((char *)base,info.st_size);
-
-		    xmlRelaxNGSetParserErrors(ctxt,
-                            xmlGenericError, xmlGenericError, NULL);
-		    schema = xmlRelaxNGParse(ctxt);
-		    xmlRelaxNGFreeParserCtxt(ctxt);
-		    munmap((char *) base, info.st_size);
-		} else
-#endif
-		{
-		    ctxt = xmlRelaxNGNewParserCtxt(argv[i]);
-		    xmlRelaxNGSetParserErrors(ctxt,
-                            xmlGenericError, xmlGenericError, NULL);
-		    schema = xmlRelaxNGParse(ctxt);
-		    xmlRelaxNGFreeParserCtxt(ctxt);
-		}
-		if (schema == NULL) {
-		    printf("Relax-NG schema %s failed to compile\n", argv[i]);
-		    files = -1;
-		    break;
-		}
-#ifdef LIBXML_OUTPUT_ENABLED
-#ifdef LIBXML_DEBUG_ENABLED
-		if (debug)
-		    xmlRelaxNGDump(stdout, schema);
-#endif
-		if (tree)
-		    xmlRelaxNGDumpTree(stdout, schema);
-#endif /* LIBXML_OUTPUT_ENABLED */
-	    } else {
-		xmlDocPtr doc;
-
-		doc = xmlReadFile(argv[i],NULL,0);
-
-		if (doc == NULL) {
-		    fprintf(stderr, "Could not parse %s\n", argv[i]);
-		} else {
-		    xmlRelaxNGValidCtxtPtr ctxt;
-		    int ret;
-
-		    ctxt = xmlRelaxNGNewValidCtxt(schema);
-		    xmlRelaxNGSetValidErrors(ctxt,
-                            xmlGenericError, xmlGenericError, NULL);
-		    ret = xmlRelaxNGValidateDoc(ctxt, doc);
-		    if (ret == 0) {
-			printf("%s validates\n", argv[i]);
-		    } else if (ret > 0) {
-			printf("%s fails to validate\n", argv[i]);
-		    } else {
-			printf("%s validation generated an internal error\n",
-			       argv[i]);
-		    }
-		    xmlRelaxNGFreeValidCtxt(ctxt);
-		    xmlFreeDoc(doc);
-		}
-	    }
-	    files ++;
-	}
-    }
-    if (schema != NULL)
-	xmlRelaxNGFree(schema);
-    if (files == 0) {
-	printf("Usage : %s [--debug] [--noout] schemas XMLfiles ...\n",
-	       argv[0]);
-	printf("\tParse the HTML files and output the result of the parsing\n");
-#ifdef LIBXML_DEBUG_ENABLED
-	printf("\t--debug : dump a debug tree of the in-memory document\n");
-#endif
-	printf("\t--noout : do not print the result\n");
-	printf("\t--tree : print the intermediate Relax-NG document tree\n");
-#ifdef HAVE_MMAP
-	printf("\t--memory : test the schemas in memory parsing\n");
-#endif
-    }
-    xmlRelaxNGCleanupTypes();
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : RelaxNG support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_SCHEMAS_ENABLED */
diff --git a/testSAX.c b/testSAX.c
deleted file mode 100644
index 81c4b93..0000000
--- a/testSAX.c
+++ /dev/null
@@ -1,1198 +0,0 @@
-/*
- * testSAX.c : a small tester program for parsing using the SAX API.
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_SYS_TIMEB_H
-#include <sys/timeb.h>
-#endif
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-
-#ifdef LIBXML_SAX1_ENABLED
-#include <string.h>
-#include <stdarg.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-
-#include <libxml/globals.h>
-#include <libxml/xmlerror.h>
-#include <libxml/parser.h>
-#include <libxml/parserInternals.h> /* only for xmlNewInputFromFile() */
-#include <libxml/tree.h>
-#include <libxml/debugXML.h>
-#include <libxml/xmlmemory.h>
-
-static int debug = 0;
-static int copy = 0;
-static int recovery = 0;
-static int push = 0;
-static int speed = 0;
-static int noent = 0;
-static int quiet = 0;
-static int nonull = 0;
-static int sax2 = 0;
-static int repeat = 0;
-static int callbacks = 0;
-static int timing = 0;
-
-/*
- * Timing routines.
- */
-/*
- * Internal timing routines to remove the necessity to have unix-specific
- * function calls
- */
-
-#ifndef HAVE_GETTIMEOFDAY
-#ifdef HAVE_SYS_TIMEB_H
-#ifdef HAVE_SYS_TIME_H
-#ifdef HAVE_FTIME
-
-static int
-my_gettimeofday(struct timeval *tvp, void *tzp)
-{
-	struct timeb timebuffer;
-
-	ftime(&timebuffer);
-	if (tvp) {
-		tvp->tv_sec = timebuffer.time;
-		tvp->tv_usec = timebuffer.millitm * 1000L;
-	}
-	return (0);
-}
-#define HAVE_GETTIMEOFDAY 1
-#define gettimeofday my_gettimeofday
-
-#endif /* HAVE_FTIME */
-#endif /* HAVE_SYS_TIME_H */
-#endif /* HAVE_SYS_TIMEB_H */
-#endif /* !HAVE_GETTIMEOFDAY */
-
-#if defined(HAVE_GETTIMEOFDAY)
-static struct timeval begin, end;
-
-/*
- * startTimer: call where you want to start timing
- */
-static void
-startTimer(void)
-{
-    gettimeofday(&begin, NULL);
-}
-
-/*
- * endTimer: call where you want to stop timing and to print out a
- *           message about the timing performed; format is a printf
- *           type argument
- */
-static void XMLCDECL
-endTimer(const char *fmt, ...)
-{
-    long msec;
-    va_list ap;
-
-    gettimeofday(&end, NULL);
-    msec = end.tv_sec - begin.tv_sec;
-    msec *= 1000;
-    msec += (end.tv_usec - begin.tv_usec) / 1000;
-
-#ifndef HAVE_STDARG_H
-#error "endTimer required stdarg functions"
-#endif
-    va_start(ap, fmt);
-    vfprintf(stderr, fmt, ap);
-    va_end(ap);
-
-    fprintf(stderr, " took %ld ms\n", msec);
-}
-#elif defined(HAVE_TIME_H)
-/*
- * No gettimeofday function, so we have to make do with calling clock.
- * This is obviously less accurate, but there's little we can do about
- * that.
- */
-#ifndef CLOCKS_PER_SEC
-#define CLOCKS_PER_SEC 100
-#endif
-
-static clock_t begin, end;
-static void
-startTimer(void)
-{
-    begin = clock();
-}
-static void XMLCDECL
-endTimer(const char *fmt, ...)
-{
-    long msec;
-    va_list ap;
-
-    end = clock();
-    msec = ((end - begin) * 1000) / CLOCKS_PER_SEC;
-
-#ifndef HAVE_STDARG_H
-#error "endTimer required stdarg functions"
-#endif
-    va_start(ap, fmt);
-    vfprintf(stderr, fmt, ap);
-    va_end(ap);
-    fprintf(stderr, " took %ld ms\n", msec);
-}
-#else
-
-/*
- * We don't have a gettimeofday or time.h, so we just don't do timing
- */
-static void
-startTimer(void)
-{
-    /*
-     * Do nothing
-     */
-}
-static void XMLCDECL
-endTimer(char *format, ...)
-{
-    /*
-     * We cannot do anything because we don't have a timing function
-     */
-#ifdef HAVE_STDARG_H
-    va_start(ap, format);
-    vfprintf(stderr, format, ap);
-    va_end(ap);
-    fprintf(stderr, " was not timed\n", msec);
-#else
-    /* We don't have gettimeofday, time or stdarg.h, what crazy world is
-     * this ?!
-     */
-#endif
-}
-#endif
-
-/*
- * empty SAX block
- */
-static xmlSAXHandler emptySAXHandlerStruct = {
-    NULL, /* internalSubset */
-    NULL, /* isStandalone */
-    NULL, /* hasInternalSubset */
-    NULL, /* hasExternalSubset */
-    NULL, /* resolveEntity */
-    NULL, /* getEntity */
-    NULL, /* entityDecl */
-    NULL, /* notationDecl */
-    NULL, /* attributeDecl */
-    NULL, /* elementDecl */
-    NULL, /* unparsedEntityDecl */
-    NULL, /* setDocumentLocator */
-    NULL, /* startDocument */
-    NULL, /* endDocument */
-    NULL, /* startElement */
-    NULL, /* endElement */
-    NULL, /* reference */
-    NULL, /* characters */
-    NULL, /* ignorableWhitespace */
-    NULL, /* processingInstruction */
-    NULL, /* comment */
-    NULL, /* xmlParserWarning */
-    NULL, /* xmlParserError */
-    NULL, /* xmlParserError */
-    NULL, /* getParameterEntity */
-    NULL, /* cdataBlock; */
-    NULL, /* externalSubset; */
-    1,
-    NULL,
-    NULL, /* startElementNs */
-    NULL, /* endElementNs */
-    NULL  /* xmlStructuredErrorFunc */
-};
-
-static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct;
-extern xmlSAXHandlerPtr debugSAXHandler;
-
-/************************************************************************
- *									*
- *				Debug Handlers				*
- *									*
- ************************************************************************/
-
-/**
- * isStandaloneDebug:
- * @ctxt:  An XML parser context
- *
- * Is this document tagged standalone ?
- *
- * Returns 1 if true
- */
-static int
-isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-	return(0);
-    fprintf(stdout, "SAX.isStandalone()\n");
-    return(0);
-}
-
-/**
- * hasInternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- *
- * Returns 1 if true
- */
-static int
-hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-	return(0);
-    fprintf(stdout, "SAX.hasInternalSubset()\n");
-    return(0);
-}
-
-/**
- * hasExternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an external subset
- *
- * Returns 1 if true
- */
-static int
-hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-	return(0);
-    fprintf(stdout, "SAX.hasExternalSubset()\n");
-    return(0);
-}
-
-/**
- * internalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- */
-static void
-internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-	       const xmlChar *ExternalID, const xmlChar *SystemID)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.internalSubset(%s,", name);
-    if (ExternalID == NULL)
-	fprintf(stdout, " ,");
-    else
-	fprintf(stdout, " %s,", ExternalID);
-    if (SystemID == NULL)
-	fprintf(stdout, " )\n");
-    else
-	fprintf(stdout, " %s)\n", SystemID);
-}
-
-/**
- * externalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an external subset
- */
-static void
-externalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-	       const xmlChar *ExternalID, const xmlChar *SystemID)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.externalSubset(%s,", name);
-    if (ExternalID == NULL)
-	fprintf(stdout, " ,");
-    else
-	fprintf(stdout, " %s,", ExternalID);
-    if (SystemID == NULL)
-	fprintf(stdout, " )\n");
-    else
-	fprintf(stdout, " %s)\n", SystemID);
-}
-
-/**
- * resolveEntityDebug:
- * @ctxt:  An XML parser context
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * Special entity resolver, better left to the parser, it has
- * more context than the application layer.
- * The default behaviour is to NOT resolve the entities, in that case
- * the ENTITY_REF nodes are built in the structure (and the parameter
- * values).
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlParserInputPtr
-resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId)
-{
-    callbacks++;
-    if (quiet)
-	return(NULL);
-    /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */
-
-
-    fprintf(stdout, "SAX.resolveEntity(");
-    if (publicId != NULL)
-	fprintf(stdout, "%s", (char *)publicId);
-    else
-	fprintf(stdout, " ");
-    if (systemId != NULL)
-	fprintf(stdout, ", %s)\n", (char *)systemId);
-    else
-	fprintf(stdout, ", )\n");
-/*********
-    if (systemId != NULL) {
-        return(xmlNewInputFromFile(ctxt, (char *) systemId));
-    }
- *********/
-    return(NULL);
-}
-
-/**
- * getEntityDebug:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get an entity by name
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlEntityPtr
-getEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-	return(NULL);
-    fprintf(stdout, "SAX.getEntity(%s)\n", name);
-    return(NULL);
-}
-
-/**
- * getParameterEntityDebug:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get a parameter entity by name
- *
- * Returns the xmlParserInputPtr
- */
-static xmlEntityPtr
-getParameterEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-	return(NULL);
-    fprintf(stdout, "SAX.getParameterEntity(%s)\n", name);
-    return(NULL);
-}
-
-
-/**
- * entityDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the entity name
- * @type:  the entity type
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @content: the entity value (without processing).
- *
- * An entity definition has been parsed
- */
-static void
-entityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type,
-          const xmlChar *publicId, const xmlChar *systemId, xmlChar *content)
-{
-const xmlChar *nullstr = BAD_CAST "(null)";
-    /* not all libraries handle printing null pointers nicely */
-    if (publicId == NULL)
-        publicId = nullstr;
-    if (systemId == NULL)
-        systemId = nullstr;
-    if (content == NULL)
-        content = (xmlChar *)nullstr;
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.entityDecl(%s, %d, %s, %s, %s)\n",
-            name, type, publicId, systemId, content);
-}
-
-/**
- * attributeDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the attribute name
- * @type:  the attribute type
- *
- * An attribute definition has been parsed
- */
-static void
-attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar * elem,
-                   const xmlChar * name, int type, int def,
-                   const xmlChar * defaultValue, xmlEnumerationPtr tree)
-{
-    callbacks++;
-    if (quiet)
-        return;
-    if (defaultValue == NULL)
-        fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, NULL, ...)\n",
-                elem, name, type, def);
-    else
-        fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n",
-                elem, name, type, def, defaultValue);
-    xmlFreeEnumeration(tree);
-}
-
-/**
- * elementDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the element name
- * @type:  the element type
- * @content: the element value (without processing).
- *
- * An element definition has been parsed
- */
-static void
-elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type,
-	    xmlElementContentPtr content ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.elementDecl(%s, %d, ...)\n",
-            name, type);
-}
-
-/**
- * notationDeclDebug:
- * @ctxt:  An XML parser context
- * @name: The name of the notation
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * What to do when a notation declaration has been parsed.
- */
-static void
-notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-	     const xmlChar *publicId, const xmlChar *systemId)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.notationDecl(%s, %s, %s)\n",
-            (char *) name, (char *) publicId, (char *) systemId);
-}
-
-/**
- * unparsedEntityDeclDebug:
- * @ctxt:  An XML parser context
- * @name: The name of the entity
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @notationName: the name of the notation
- *
- * What to do when an unparsed entity declaration is parsed
- */
-static void
-unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-		   const xmlChar *publicId, const xmlChar *systemId,
-		   const xmlChar *notationName)
-{
-const xmlChar *nullstr = BAD_CAST "(null)";
-
-    if (publicId == NULL)
-        publicId = nullstr;
-    if (systemId == NULL)
-        systemId = nullstr;
-    if (notationName == NULL)
-        notationName = nullstr;
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n",
-            (char *) name, (char *) publicId, (char *) systemId,
-	    (char *) notationName);
-}
-
-/**
- * setDocumentLocatorDebug:
- * @ctxt:  An XML parser context
- * @loc: A SAX Locator
- *
- * Receive the document locator at startup, actually xmlDefaultSAXLocator
- * Everything is available on the context, so this is useless in our case.
- */
-static void
-setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.setDocumentLocator()\n");
-}
-
-/**
- * startDocumentDebug:
- * @ctxt:  An XML parser context
- *
- * called when the document start being processed.
- */
-static void
-startDocumentDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.startDocument()\n");
-}
-
-/**
- * endDocumentDebug:
- * @ctxt:  An XML parser context
- *
- * called when the document end has been detected.
- */
-static void
-endDocumentDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.endDocument()\n");
-}
-
-/**
- * startElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when an opening tag has been processed.
- */
-static void
-startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts)
-{
-    int i;
-
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.startElement(%s", (char *) name);
-    if (atts != NULL) {
-        for (i = 0;(atts[i] != NULL);i++) {
-	    fprintf(stdout, ", %s='", atts[i++]);
-	    if (atts[i] != NULL)
-	        fprintf(stdout, "%s'", atts[i]);
-	}
-    }
-    fprintf(stdout, ")\n");
-}
-
-/**
- * endElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when the end of an element has been detected.
- */
-static void
-endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.endElement(%s)\n", (char *) name);
-}
-
-/**
- * charactersDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @len: the number of xmlChar
- *
- * receiving some chars from the parser.
- * Question: how much at a time ???
- */
-static void
-charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    char output[40];
-    int i;
-
-    callbacks++;
-    if (quiet)
-	return;
-    for (i = 0;(i<len) && (i < 30);i++)
-	output[i] = ch[i];
-    output[i] = 0;
-
-    fprintf(stdout, "SAX.characters(%s, %d)\n", output, len);
-}
-
-/**
- * referenceDebug:
- * @ctxt:  An XML parser context
- * @name:  The entity name
- *
- * called when an entity reference is detected.
- */
-static void
-referenceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.reference(%s)\n", name);
-}
-
-/**
- * ignorableWhitespaceDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @start: the first char in the string
- * @len: the number of xmlChar
- *
- * receiving some ignorable whitespaces from the parser.
- * Question: how much at a time ???
- */
-static void
-ignorableWhitespaceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    char output[40];
-    int i;
-
-    callbacks++;
-    if (quiet)
-	return;
-    for (i = 0;(i<len) && (i < 30);i++)
-	output[i] = ch[i];
-    output[i] = 0;
-    fprintf(stdout, "SAX.ignorableWhitespace(%s, %d)\n", output, len);
-}
-
-/**
- * processingInstructionDebug:
- * @ctxt:  An XML parser context
- * @target:  the target name
- * @data: the PI data's
- * @len: the number of xmlChar
- *
- * A processing instruction has been parsed.
- */
-static void
-processingInstructionDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *target,
-                      const xmlChar *data)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    if (data != NULL)
-	fprintf(stdout, "SAX.processingInstruction(%s, %s)\n",
-		(char *) target, (char *) data);
-    else
-	fprintf(stdout, "SAX.processingInstruction(%s, NULL)\n",
-		(char *) target);
-}
-
-/**
- * cdataBlockDebug:
- * @ctx: the user data (XML parser context)
- * @value:  The pcdata content
- * @len:  the block length
- *
- * called when a pcdata block has been parsed
- */
-static void
-cdataBlockDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *value, int len)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.pcdata(%.20s, %d)\n",
-	    (char *) value, len);
-}
-
-/**
- * commentDebug:
- * @ctxt:  An XML parser context
- * @value:  the comment content
- *
- * A comment has been parsed.
- */
-static void
-commentDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *value)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.comment(%s)\n", value);
-}
-
-/**
- * warningDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a warning messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-warningDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    callbacks++;
-    if (quiet)
-	return;
-    va_start(args, msg);
-    fprintf(stdout, "SAX.warning: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-/**
- * errorDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a error messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-errorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    callbacks++;
-    if (quiet)
-	return;
-    va_start(args, msg);
-    fprintf(stdout, "SAX.error: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-/**
- * fatalErrorDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a fatalError messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-fatalErrorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    callbacks++;
-    if (quiet)
-	return;
-    va_start(args, msg);
-    fprintf(stdout, "SAX.fatalError: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-static xmlSAXHandler debugSAXHandlerStruct = {
-    internalSubsetDebug,
-    isStandaloneDebug,
-    hasInternalSubsetDebug,
-    hasExternalSubsetDebug,
-    resolveEntityDebug,
-    getEntityDebug,
-    entityDeclDebug,
-    notationDeclDebug,
-    attributeDeclDebug,
-    elementDeclDebug,
-    unparsedEntityDeclDebug,
-    setDocumentLocatorDebug,
-    startDocumentDebug,
-    endDocumentDebug,
-    startElementDebug,
-    endElementDebug,
-    referenceDebug,
-    charactersDebug,
-    ignorableWhitespaceDebug,
-    processingInstructionDebug,
-    commentDebug,
-    warningDebug,
-    errorDebug,
-    fatalErrorDebug,
-    getParameterEntityDebug,
-    cdataBlockDebug,
-    externalSubsetDebug,
-    1,
-    NULL,
-    NULL,
-    NULL,
-    NULL
-};
-
-xmlSAXHandlerPtr debugSAXHandler = &debugSAXHandlerStruct;
-
-/*
- * SAX2 specific callbacks
- */
-/**
- * startElementNsDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when an opening tag has been processed.
- */
-static void
-startElementNsDebug(void *ctx ATTRIBUTE_UNUSED,
-                    const xmlChar *localname,
-                    const xmlChar *prefix,
-                    const xmlChar *URI,
-		    int nb_namespaces,
-		    const xmlChar **namespaces,
-		    int nb_attributes,
-		    int nb_defaulted,
-		    const xmlChar **attributes)
-{
-    int i;
-
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.startElementNs(%s", (char *) localname);
-    if (prefix == NULL)
-	fprintf(stdout, ", NULL");
-    else
-	fprintf(stdout, ", %s", (char *) prefix);
-    if (URI == NULL)
-	fprintf(stdout, ", NULL");
-    else
-	fprintf(stdout, ", '%s'", (char *) URI);
-    fprintf(stdout, ", %d", nb_namespaces);
-
-    if (namespaces != NULL) {
-        for (i = 0;i < nb_namespaces * 2;i++) {
-	    fprintf(stdout, ", xmlns");
-	    if (namespaces[i] != NULL)
-	        fprintf(stdout, ":%s", namespaces[i]);
-	    i++;
-	    fprintf(stdout, "='%s'", namespaces[i]);
-	}
-    }
-    fprintf(stdout, ", %d, %d", nb_attributes, nb_defaulted);
-    if (attributes != NULL) {
-        for (i = 0;i < nb_attributes * 5;i += 5) {
-	    if (attributes[i + 1] != NULL)
-		fprintf(stdout, ", %s:%s='", attributes[i + 1], attributes[i]);
-	    else
-		fprintf(stdout, ", %s='", attributes[i]);
-	    fprintf(stdout, "%.4s...', %d", attributes[i + 3],
-		    (int)(attributes[i + 4] - attributes[i + 3]));
-	}
-    }
-    fprintf(stdout, ")\n");
-}
-
-/**
- * endElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when the end of an element has been detected.
- */
-static void
-endElementNsDebug(void *ctx ATTRIBUTE_UNUSED,
-                  const xmlChar *localname,
-                  const xmlChar *prefix,
-                  const xmlChar *URI)
-{
-    callbacks++;
-    if (quiet)
-	return;
-    fprintf(stdout, "SAX.endElementNs(%s", (char *) localname);
-    if (prefix == NULL)
-	fprintf(stdout, ", NULL");
-    else
-	fprintf(stdout, ", %s", (char *) prefix);
-    if (URI == NULL)
-	fprintf(stdout, ", NULL)\n");
-    else
-	fprintf(stdout, ", '%s')\n", (char *) URI);
-}
-
-static xmlSAXHandler debugSAX2HandlerStruct = {
-    internalSubsetDebug,
-    isStandaloneDebug,
-    hasInternalSubsetDebug,
-    hasExternalSubsetDebug,
-    resolveEntityDebug,
-    getEntityDebug,
-    entityDeclDebug,
-    notationDeclDebug,
-    attributeDeclDebug,
-    elementDeclDebug,
-    unparsedEntityDeclDebug,
-    setDocumentLocatorDebug,
-    startDocumentDebug,
-    endDocumentDebug,
-    NULL,
-    NULL,
-    referenceDebug,
-    charactersDebug,
-    ignorableWhitespaceDebug,
-    processingInstructionDebug,
-    commentDebug,
-    warningDebug,
-    errorDebug,
-    fatalErrorDebug,
-    getParameterEntityDebug,
-    cdataBlockDebug,
-    externalSubsetDebug,
-    XML_SAX2_MAGIC,
-    NULL,
-    startElementNsDebug,
-    endElementNsDebug,
-    NULL
-};
-
-static xmlSAXHandlerPtr debugSAX2Handler = &debugSAX2HandlerStruct;
-
-/************************************************************************
- *									*
- *				Debug					*
- *									*
- ************************************************************************/
-
-static void
-parseAndPrintFile(char *filename) {
-    int res;
-
-#ifdef LIBXML_PUSH_ENABLED
-    if (push) {
-	FILE *f;
-
-        if ((!quiet) && (!nonull)) {
-	    /*
-	     * 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];
-		xmlParserCtxtPtr ctxt;
-
-		ret = fread(chars, 1, 4, f);
-		if (ret > 0) {
-		    ctxt = xmlCreatePushParserCtxt(emptySAXHandler, NULL,
-				chars, ret, filename);
-		    while ((ret = fread(chars, 1, 3, f)) > 0) {
-			xmlParseChunk(ctxt, chars, ret, 0);
-		    }
-		    xmlParseChunk(ctxt, chars, 0, 1);
-		    xmlFreeParserCtxt(ctxt);
-		}
-		fclose(f);
-	    } else {
-		xmlGenericError(xmlGenericErrorContext,
-			"Cannot read file %s\n", filename);
-	    }
-	}
-	/*
-	 * 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];
-	    xmlParserCtxtPtr ctxt;
-
-	    ret = fread(chars, 1, 4, f);
-	    if (ret > 0) {
-	        if (sax2)
-		    ctxt = xmlCreatePushParserCtxt(debugSAX2Handler, NULL,
-				chars, ret, filename);
-		else
-		    ctxt = xmlCreatePushParserCtxt(debugSAXHandler, NULL,
-				chars, ret, filename);
-		while ((ret = fread(chars, 1, 3, f)) > 0) {
-		    xmlParseChunk(ctxt, chars, ret, 0);
-		}
-		ret = xmlParseChunk(ctxt, chars, 0, 1);
-		xmlFreeParserCtxt(ctxt);
-		if (ret != 0) {
-		    fprintf(stdout,
-		            "xmlSAXUserParseFile returned error %d\n", ret);
-		}
-	    }
-	    fclose(f);
-	}
-    } else {
-#endif /* LIBXML_PUSH_ENABLED */
-	if (!speed) {
-	    /*
-	     * Empty callbacks for checking
-	     */
-	    if ((!quiet) && (!nonull)) {
-		res = xmlSAXUserParseFile(emptySAXHandler, NULL, filename);
-		if (res != 0) {
-		    fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res);
-		}
-	    }
-
-	    /*
-	     * Debug callback
-	     */
-	    callbacks = 0;
-	    if (repeat) {
-	        int i;
-		for (i = 0;i < 99;i++) {
-		    if (sax2)
-			res = xmlSAXUserParseFile(debugSAX2Handler, NULL,
-			                          filename);
-		    else
-			res = xmlSAXUserParseFile(debugSAXHandler, NULL,
-			                          filename);
-		}
-	    }
-	    if (sax2)
-	        res = xmlSAXUserParseFile(debugSAX2Handler, NULL, filename);
-	    else
-		res = xmlSAXUserParseFile(debugSAXHandler, NULL, filename);
-	    if (res != 0) {
-		fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res);
-	    }
-	    if (quiet)
-		fprintf(stdout, "%d callbacks generated\n", callbacks);
-	} else {
-	    /*
-	     * test 100x the SAX parse
-	     */
-	    int i;
-
-	    for (i = 0; i<100;i++)
-		res = xmlSAXUserParseFile(emptySAXHandler, NULL, filename);
-	    if (res != 0) {
-		fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res);
-	    }
-	}
-#ifdef LIBXML_PUSH_ENABLED
-    }
-#endif
-}
-
-
-int main(int argc, char **argv) {
-    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++;
-	else if ((!strcmp(argv[i], "-copy")) || (!strcmp(argv[i], "--copy")))
-	    copy++;
-	else if ((!strcmp(argv[i], "-recover")) ||
-	         (!strcmp(argv[i], "--recover")))
-	    recovery++;
-	else if ((!strcmp(argv[i], "-push")) ||
-	         (!strcmp(argv[i], "--push")))
-#ifdef LIBXML_PUSH_ENABLED
-	    push++;
-#else
-	    fprintf(stderr,"'push' not enabled in library - ignoring\n");
-#endif /* LIBXML_PUSH_ENABLED */
-	else if ((!strcmp(argv[i], "-speed")) ||
-	         (!strcmp(argv[i], "--speed")))
-	    speed++;
-	else if ((!strcmp(argv[i], "-timing")) ||
-	         (!strcmp(argv[i], "--timing"))) {
-	    nonull++;
-	    timing++;
-	    quiet++;
-	} else if ((!strcmp(argv[i], "-repeat")) ||
-	         (!strcmp(argv[i], "--repeat"))) {
-	    repeat++;
-	    quiet++;
-	} else if ((!strcmp(argv[i], "-noent")) ||
-	         (!strcmp(argv[i], "--noent")))
-	    noent++;
-	else if ((!strcmp(argv[i], "-quiet")) ||
-	         (!strcmp(argv[i], "--quiet")))
-	    quiet++;
-	else if ((!strcmp(argv[i], "-sax2")) ||
-	         (!strcmp(argv[i], "--sax2")))
-	    sax2++;
-	else if ((!strcmp(argv[i], "-nonull")) ||
-	         (!strcmp(argv[i], "--nonull")))
-	    nonull++;
-    }
-    if (noent != 0) xmlSubstituteEntitiesDefault(1);
-    for (i = 1; i < argc ; i++) {
-	if (argv[i][0] != '-') {
-	    if (timing) {
-		startTimer();
-	    }
-	    parseAndPrintFile(argv[i]);
-	    if (timing) {
-		endTimer("Parsing");
-	    }
-	    files ++;
-	}
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-#else
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : SAX1 parsing support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_SAX1_ENABLED */
diff --git a/testSchemas.c b/testSchemas.c
deleted file mode 100644
index fc39862..0000000
--- a/testSchemas.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * testSchemas.c : a small tester program for Schema validation
- *
- * See Copyright for the status of this software.
- *
- * Daniel.Veillard@w3.org
- */
-
-#include "libxml.h"
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#include <libxml/xmlversion.h>
-#include <libxml/parser.h>
-
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_SYS_MMAN_H
-#include <sys/mman.h>
-/* seems needed for Solaris */
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void *) -1)
-#endif
-#endif
-
-#include <libxml/xmlmemory.h>
-#include <libxml/debugXML.h>
-#include <libxml/xmlschemas.h>
-#include <libxml/xmlschemastypes.h>
-
-#ifdef LIBXML_DEBUG_ENABLED
-static int debug = 0;
-#endif
-static int noout = 0;
-#ifdef HAVE_MMAP
-static int memory = 0;
-#endif
-
-
-int main(int argc, char **argv) {
-    int i;
-    int files = 0;
-    xmlSchemaPtr schema = NULL;
-
-    for (i = 1; i < argc ; i++) {
-#ifdef LIBXML_DEBUG_ENABLED
-	if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
-	    debug++;
-	else
-#endif
-#ifdef HAVE_MMAP
-	if ((!strcmp(argv[i], "-memory")) || (!strcmp(argv[i], "--memory"))) {
-	    memory++;
-        } else
-#endif
-	if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout"))) {
-	    noout++;
-        }
-    }
-    xmlLineNumbersDefault(1);
-    for (i = 1; i < argc ; i++) {
-	if (argv[i][0] != '-') {
-	    if (schema == NULL) {
-		xmlSchemaParserCtxtPtr ctxt;
-
-#ifdef HAVE_MMAP
-		if (memory) {
-		    int fd;
-		    struct stat info;
-		    const char *base;
-		    if (stat(argv[i], &info) < 0)
-			break;
-		    if ((fd = open(argv[i], O_RDONLY)) < 0)
-			break;
-		    base = mmap(NULL, info.st_size, PROT_READ,
-			        MAP_SHARED, fd, 0) ;
-		    if (base == (void *) MAP_FAILED)
-			break;
-
-		    ctxt = xmlSchemaNewMemParserCtxt((char *)base,info.st_size);
-
-		    xmlSchemaSetParserErrors(ctxt,
-                            xmlGenericError, xmlGenericError, NULL);
-		    schema = xmlSchemaParse(ctxt);
-		    xmlSchemaFreeParserCtxt(ctxt);
-		    munmap((char *) base, info.st_size);
-		} else
-#endif
-		{
-		    ctxt = xmlSchemaNewParserCtxt(argv[i]);
-		    xmlSchemaSetParserErrors(ctxt,
-                            xmlGenericError, xmlGenericError, NULL);
-		    schema = xmlSchemaParse(ctxt);
-		    xmlSchemaFreeParserCtxt(ctxt);
-		}
-#ifdef LIBXML_OUTPUT_ENABLED
-#ifdef LIBXML_DEBUG_ENABLED
-		if (debug)
-		    xmlSchemaDump(stdout, schema);
-#endif
-#endif /* LIBXML_OUTPUT_ENABLED */
-		if (schema == NULL)
-		    goto failed_schemas;
-	    } else {
-		xmlDocPtr doc;
-
-		doc = xmlReadFile(argv[i],NULL,0);
-
-		if (doc == NULL) {
-		    fprintf(stderr, "Could not parse %s\n", argv[i]);
-		} else {
-		    xmlSchemaValidCtxtPtr ctxt;
-		    int ret;
-
-		    ctxt = xmlSchemaNewValidCtxt(schema);
-		    xmlSchemaSetValidErrors(ctxt,
-                            xmlGenericError, xmlGenericError, NULL);
-		    ret = xmlSchemaValidateDoc(ctxt, doc);
-		    if (ret == 0) {
-			printf("%s validates\n", argv[i]);
-		    } else if (ret > 0) {
-			printf("%s fails to validate\n", argv[i]);
-		    } else {
-			printf("%s validation generated an internal error\n",
-			       argv[i]);
-		    }
-		    xmlSchemaFreeValidCtxt(ctxt);
-		    xmlFreeDoc(doc);
-		}
-	    }
-	    files ++;
-	}
-    }
-    if (schema != NULL)
-	xmlSchemaFree(schema);
-    if (files == 0) {
-	printf("Usage : %s [--debug] [--noout] schemas XMLfiles ...\n",
-	       argv[0]);
-	printf("\tParse the HTML files and output the result of the parsing\n");
-#ifdef LIBXML_DEBUG_ENABLED
-	printf("\t--debug : dump a debug tree of the in-memory document\n");
-#endif
-	printf("\t--noout : do not print the result\n");
-#ifdef HAVE_MMAP
-	printf("\t--memory : test the schemas in memory parsing\n");
-#endif
-    }
-failed_schemas:
-    xmlSchemaCleanupTypes();
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : Schemas support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_SCHEMAS_ENABLED */
diff --git a/testThreads.c b/testThreads.c
index bef6537..709ae76 100644
--- a/testThreads.c
+++ b/testThreads.c
@@ -10,25 +10,18 @@
 #include <libxml/catalog.h>
 #ifdef HAVE_PTHREAD_H
 #include <pthread.h>
-#elif defined HAVE_WIN32_THREADS
+#elif defined(_WIN32)
 #include <windows.h>
-#elif defined HAVE_BEOS_THREADS
-#include <OS.h>
 #endif
 #include <string.h>
-#if !defined(_MSC_VER)
-#include <unistd.h>
-#endif
 #include <assert.h>
 
 #define	MAX_ARGC	20
 #define TEST_REPEAT_COUNT 500
 #ifdef HAVE_PTHREAD_H
 static pthread_t tid[MAX_ARGC];
-#elif defined HAVE_WIN32_THREADS
+#elif defined(_WIN32)
 static HANDLE tid[MAX_ARGC];
-#elif defined HAVE_BEOS_THREADS
-static thread_id tid[MAX_ARGC];
 #endif
 
 typedef struct {
@@ -145,7 +138,7 @@
     xmlMemoryDump();
     return (0);
 }
-#elif defined HAVE_WIN32_THREADS
+#elif defined(_WIN32)
 static DWORD WINAPI
 win32_thread_specific_data(void *private_data)
 {
@@ -209,61 +202,7 @@
 
     return (0);
 }
-#elif defined HAVE_BEOS_THREADS
-int
-main(void)
-{
-    unsigned int i, repeat;
-    status_t ret;
-
-    xmlInitParser();
-    printf("Parser initialized\n");
-    for (repeat = 0;repeat < TEST_REPEAT_COUNT;repeat++) {
-    printf("repeat: %d\n",repeat);
-	xmlLoadCatalog(catalog);
-	printf("loaded catalog: %s\n", catalog);
-	for (i = 0; i < num_threads; i++) {
-	    tid[i] = (thread_id) -1;
-	}
-	printf("cleaned threads\n");
-	for (i = 0; i < num_threads; i++) {
-		tid[i] = spawn_thread(thread_specific_data, "xmlTestThread", B_NORMAL_PRIORITY, (void *) &threadParams[i]);
-		if (tid[i] < B_OK) {
-			perror("beos_thread_create");
-			exit(1);
-		}
-		printf("beos_thread_create %d -> %d\n", i, tid[i]);
-	}
-	for (i = 0; i < num_threads; i++) {
-            void *result;
-	    ret = wait_for_thread(tid[i], &result);
-	    printf("beos_thread_wait %d -> %d\n", i, ret);
-	    if (ret != B_OK) {
-			perror("beos_thread_wait");
-			exit(1);
-	    }
-	}
-
-	xmlCatalogCleanup();
-	ret = B_OK;
-	for (i = 0; i < num_threads; i++)
-	    if (threadParams[i].okay == 0) {
-			printf("Thread %d handling %s failed\n", i,
-                               threadParams[i].filename);
-			ret = B_ERROR;
-		}
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-	if (ret == B_OK)
-		printf("testThread : BeOS : SUCCESS!\n");
-	else
-		printf("testThread : BeOS : FAILED!\n");
-
-    return (0);
-}
-#endif /* pthreads or BeOS threads */
+#endif /* pthreads */
 
 #else /* !LIBXML_THREADS_ENABLED */
 int
diff --git a/testURI.c b/testURI.c
deleted file mode 100644
index 0043b20..0000000
--- a/testURI.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * testURI.c : a small tester program for XML input.
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-
-#include <string.h>
-#include <stdio.h>
-#include <stdarg.h>
-
-#include <libxml/xmlmemory.h>
-#include <libxml/uri.h>
-#include <libxml/globals.h>
-
-static const char *base = NULL;
-static int escape = 0;
-static int debug = 0;
-static int relative = 0;
-
-static void handleURI(const char *str) {
-    int ret;
-    xmlURIPtr uri;
-    xmlChar *res = NULL, *parsed = NULL;
-
-    uri = xmlCreateURI();
-
-    if (base == NULL) {
-	ret = xmlParseURIReference(uri, str);
-	if (ret != 0)
-	    printf("%s : error %d\n", str, ret);
-	else {
-	    if (debug) {
-	        if (uri->scheme) printf("scheme: %s\n", uri->scheme);
-	        if (uri->opaque) printf("opaque: %s\n", uri->opaque);
-	        if (uri->authority) printf("authority: %s\n", uri->authority);
-	        if (uri->server) printf("server: %s\n", uri->server);
-	        if (uri->user) printf("user: %s\n", uri->user);
-	        if (uri->port != 0) printf("port: %d\n", uri->port);
-	        if (uri->path) printf("path: %s\n", uri->path);
-	        if (uri->query) printf("query: %s\n", uri->query);
-	        if (uri->fragment) printf("fragment: %s\n", uri->fragment);
-	        if (uri->query_raw) printf("query_raw: %s\n", uri->query_raw);
-	        if (uri->cleanup != 0) printf("cleanup\n");
-	    }
-	    xmlNormalizeURIPath(uri->path);
-	    if (escape != 0) {
-		parsed = xmlSaveUri(uri);
-		res = xmlURIEscape(parsed);
-		printf("%s\n", (char *) res);
-
-	    } else {
-		xmlPrintURI(stdout, uri);
-		printf("\n");
-	    }
-	}
-    } else {
-	if (relative) {
-	    res = xmlBuildRelativeURI((xmlChar *)str, (xmlChar *) base);
-	} else {
-	    res = xmlBuildURI((xmlChar *)str, (xmlChar *) base);
-	}
-
-	if (res != NULL) {
-	    printf("%s\n", (char *) res);
-	}
-	else
-	    printf("::ERROR::\n");
-    }
-    if (res != NULL)
-	xmlFree(res);
-    if (parsed != NULL)
-	xmlFree(parsed);
-    xmlFreeURI(uri);
-}
-
-int main(int argc, char **argv) {
-    int i, arg = 1;
-
-    if ((argc > arg) && (argv[arg] != NULL) &&
-	(!strcmp(argv[arg], "--relative"))) {
-	arg++;
-	relative++;
-    }
-    if ((argc > arg) && (argv[arg] != NULL) &&
-	((!strcmp(argv[arg], "-base")) || (!strcmp(argv[arg], "--base")))) {
-	arg++;
-	base = argv[arg];
-	if (base != NULL)
-	    arg++;
-    }
-    if ((argc > arg) && (argv[arg] != NULL) &&
-	((!strcmp(argv[arg], "-escape")) || (!strcmp(argv[arg], "--escape")))) {
-	arg++;
-	escape++;
-    }
-    if ((argc > arg) && (argv[arg] != NULL) &&
-	((!strcmp(argv[arg], "-debug")) || (!strcmp(argv[arg], "--debug")))) {
-	arg++;
-	debug++;
-    }
-    if (argv[arg] == NULL) {
-	char str[1024];
-
-        while (1) {
-	    /*
-	     * read one line in string buffer.
-	     */
-	    if (fgets (&str[0], sizeof (str) - 1, stdin) == NULL)
-	       break;
-
-	    /*
-	     * remove the ending spaces
-	     */
-	    i = strlen(str);
-	    while ((i > 0) &&
-		   ((str[i - 1] == '\n') || (str[i - 1] == '\r') ||
-		    (str[i - 1] == ' ') || (str[i - 1] == '\t'))) {
-		i--;
-		str[i] = 0;
-	    }
-	    handleURI(str);
-        }
-    } else {
-	while (argv[arg] != NULL) {
-	    handleURI(argv[arg]);
-	    arg++;
-	}
-    }
-    xmlMemoryDump();
-    return(0);
-}
diff --git a/testXPath.c b/testXPath.c
deleted file mode 100644
index ebb9ff7..0000000
--- a/testXPath.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * testXPath.c : a small tester program for XPath.
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
-
-#include <string.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-
-#include <libxml/xpath.h>
-#include <libxml/tree.h>
-#include <libxml/parser.h>
-#include <libxml/debugXML.h>
-#include <libxml/xmlmemory.h>
-#include <libxml/parserInternals.h>
-#include <libxml/xpathInternals.h>
-#include <libxml/xmlerror.h>
-#include <libxml/globals.h>
-#if defined(LIBXML_XPTR_ENABLED)
-#include <libxml/xpointer.h>
-static int xptr = 0;
-#endif
-static int debug = 0;
-static int valid = 0;
-static int expr = 0;
-static int tree = 0;
-static int nocdata = 0;
-static xmlDocPtr document = NULL;
-
-/*
- * Default document
- */
-static xmlChar buffer[] =
-"<?xml version=\"1.0\"?>\n\
-<EXAMPLE prop1=\"gnome is great\" prop2=\"&amp; linux too\">\n\
-  <head>\n\
-   <title>Welcome to Gnome</title>\n\
-  </head>\n\
-  <chapter>\n\
-   <title>The Linux adventure</title>\n\
-   <p>bla bla bla ...</p>\n\
-   <image href=\"linus.gif\"/>\n\
-   <p>...</p>\n\
-  </chapter>\n\
-  <chapter>\n\
-   <title>Chapter 2</title>\n\
-   <p>this is chapter 2 ...</p>\n\
-  </chapter>\n\
-  <chapter>\n\
-   <title>Chapter 3</title>\n\
-   <p>this is chapter 3 ...</p>\n\
-  </chapter>\n\
-</EXAMPLE>\n\
-";
-
-
-static void
-testXPath(const char *str) {
-    xmlXPathObjectPtr res;
-    xmlXPathContextPtr ctxt;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    if (xptr) {
-	ctxt = xmlXPtrNewContext(document, NULL, NULL);
-	res = xmlXPtrEval(BAD_CAST str, ctxt);
-    } else {
-#endif
-	ctxt = xmlXPathNewContext(document);
-	ctxt->node = xmlDocGetRootElement(document);
-	if (expr)
-	    res = xmlXPathEvalExpression(BAD_CAST str, ctxt);
-	else {
-	    /* res = xmlXPathEval(BAD_CAST str, ctxt); */
-	    xmlXPathCompExprPtr comp;
-
-	    comp = xmlXPathCompile(BAD_CAST str);
-	    if (comp != NULL) {
-		if (tree)
-		    xmlXPathDebugDumpCompExpr(stdout, comp, 0);
-
-		res = xmlXPathCompiledEval(comp, ctxt);
-		xmlXPathFreeCompExpr(comp);
-	    } else
-		res = NULL;
-	}
-#if defined(LIBXML_XPTR_ENABLED)
-    }
-#endif
-    xmlXPathDebugDumpObject(stdout, res, 0);
-    xmlXPathFreeObject(res);
-    xmlXPathFreeContext(ctxt);
-}
-
-static void
-testXPathFile(const char *filename) {
-    FILE *input;
-    char expression[5000];
-    int len;
-
-    input = fopen(filename, "r");
-    if (input == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-		"Cannot open %s for reading\n", filename);
-	return;
-    }
-    while (fgets(expression, 4500, input) != NULL) {
-	len = strlen(expression);
-	len--;
-	while ((len >= 0) &&
-	       ((expression[len] == '\n') || (expression[len] == '\t') ||
-		(expression[len] == '\r') || (expression[len] == ' '))) len--;
-	expression[len + 1] = 0;
-	if (len >= 0) {
-	    printf("\n========================\nExpression: %s\n", expression) ;
-	    testXPath(expression);
-	}
-    }
-
-    fclose(input);
-}
-
-int main(int argc, char **argv) {
-    int i;
-    int strings = 0;
-    int usefile = 0;
-    char *filename = NULL;
-
-    for (i = 1; i < argc ; i++) {
-#if defined(LIBXML_XPTR_ENABLED)
-	if ((!strcmp(argv[i], "-xptr")) || (!strcmp(argv[i], "--xptr")))
-	    xptr++;
-	else
-#endif
-	if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
-	    debug++;
-	else if ((!strcmp(argv[i], "-valid")) || (!strcmp(argv[i], "--valid")))
-	    valid++;
-	else if ((!strcmp(argv[i], "-expr")) || (!strcmp(argv[i], "--expr")))
-	    expr++;
-	else if ((!strcmp(argv[i], "-tree")) || (!strcmp(argv[i], "--tree")))
-	    tree++;
-	else if ((!strcmp(argv[i], "-nocdata")) ||
-		 (!strcmp(argv[i], "--nocdata")))
-	    nocdata++;
-	else if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "--input")))
-	    filename = argv[++i];
-	else if ((!strcmp(argv[i], "-f")) || (!strcmp(argv[i], "--file")))
-	    usefile++;
-    }
-    if (valid != 0) xmlDoValidityCheckingDefaultValue = 1;
-    xmlLoadExtDtdDefaultValue |= XML_DETECT_IDS;
-    xmlLoadExtDtdDefaultValue |= XML_COMPLETE_ATTRS;
-    xmlSubstituteEntitiesDefaultValue = 1;
-#ifdef LIBXML_SAX1_ENABLED
-    if (nocdata != 0) {
-	xmlDefaultSAXHandlerInit();
-	xmlDefaultSAXHandler.cdataBlock = NULL;
-    }
-#endif
-    if (document == NULL) {
-        if (filename == NULL)
-	    document = xmlReadDoc(buffer,NULL,NULL,XML_PARSE_COMPACT);
-	else
-	    document = xmlReadFile(filename,NULL,XML_PARSE_COMPACT);
-    }
-    for (i = 1; i < argc ; i++) {
-	if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "--input"))) {
-	    i++; continue;
-	}
-	if (argv[i][0] != '-') {
-	    if (usefile)
-	        testXPathFile(argv[i]);
-	    else
-		testXPath(argv[i]);
-	    strings ++;
-	}
-    }
-    if (strings == 0) {
-	printf("Usage : %s [--debug] [--copy] stringsorfiles ...\n",
-	       argv[0]);
-	printf("\tParse the XPath strings and output the result of the parsing\n");
-	printf("\t--debug : dump a debug version of the result\n");
-	printf("\t--valid : switch on DTD support in the parser\n");
-#if defined(LIBXML_XPTR_ENABLED)
-	printf("\t--xptr : expressions are XPointer expressions\n");
-#endif
-	printf("\t--expr : debug XPath expressions only\n");
-	printf("\t--tree : show the compiled XPath tree\n");
-	printf("\t--nocdata : do not generate CDATA nodes\n");
-	printf("\t--input filename : or\n");
-	printf("\t-i filename      : read the document from filename\n");
-	printf("\t--file : or\n");
-	printf("\t-f     : read queries from files, args\n");
-    }
-    if (document != NULL)
-	xmlFreeDoc(document);
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : XPath/Debug support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_XPATH_ENABLED */
diff --git a/testapi.c b/testapi.c
index 54a8092..12c887f 100644
--- a/testapi.c
+++ b/testapi.c
@@ -17,6 +17,7 @@
 #include <stdlib.h> /* for putenv() */
 #include <string.h>
 #include <libxml/xmlerror.h>
+#include <libxml/catalog.h>
 #include <libxml/relaxng.h>
 
 
@@ -124,6 +125,14 @@
     int ret;
     int blocks, mem;
 
+#if defined(_WIN32)
+    setvbuf(stdout, NULL, _IONBF, 0);
+    setvbuf(stderr, NULL, _IONBF, 0);
+
+    printf("Skipping on Windows for now\n");
+    return(0);
+#endif
+
 #ifdef HAVE_PUTENV
     /* access to the proxy can slow up regression tests a lot */
     putenv((char *) "http_proxy=");
@@ -135,6 +144,9 @@
     memset(longtab, 0, sizeof(longtab));
 
     xmlInitParser();
+#ifdef LIBXML_CATALOG_ENABLED
+    xmlInitializeCatalog();
+#endif
 #ifdef LIBXML_SCHEMAS_ENABLED
     xmlRelaxNGInitTypes();
 #endif
@@ -142,6 +154,7 @@
     LIBXML_TEST_VERSION
 
     xmlSetStructuredErrorFunc(NULL, structured_errors);
+    xmlSetExternalEntityLoader(xmlNoNetExternalEntityLoader);
 
     if (argc >= 2) {
         if (!strcmp(argv[1], "-q")) {
@@ -169,7 +182,6 @@
 
 #include <libxml/HTMLparser.h>
 #include <libxml/HTMLtree.h>
-#include <libxml/catalog.h>
 #include <libxml/chvalid.h>
 #include <libxml/dict.h>
 #include <libxml/encoding.h>
@@ -309,6 +321,8 @@
 static void des_unsigned_int(int no ATTRIBUTE_UNUSED, unsigned int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
+
 #define gen_nb_unsigned_long 4
 
 static unsigned long gen_unsigned_long(int no, int nr ATTRIBUTE_UNUSED) {
@@ -321,6 +335,20 @@
 static void des_unsigned_long(int no ATTRIBUTE_UNUSED, unsigned long val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 }
 
+#define gen_nb_unsigned_long_ptr 2
+
+static unsigned long *gen_unsigned_long_ptr(int no, int nr) {
+    if (no == 0) return(&longtab[nr]);
+    return(NULL);
+}
+
+static void des_unsigned_long_ptr(int no ATTRIBUTE_UNUSED, unsigned long *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+
+#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+
 #define gen_nb_double 4
 
 static double gen_double(int no, int nr ATTRIBUTE_UNUSED) {
@@ -335,15 +363,7 @@
 static void des_double(int no ATTRIBUTE_UNUSED, double val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 }
 
-#define gen_nb_unsigned_long_ptr 2
-
-static unsigned long *gen_unsigned_long_ptr(int no, int nr) {
-    if (no == 0) return(&longtab[nr]);
-    return(NULL);
-}
-
-static void des_unsigned_long_ptr(int no ATTRIBUTE_UNUSED, unsigned long *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#endif /* defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
 
 #define gen_nb_int_ptr 2
 
@@ -434,7 +454,7 @@
 #define gen_nb_fileoutput 6
 
 static const char *gen_fileoutput(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return("/missing.xml");
+    if (no == 0) return("missing/dir/missing.xml");
     if (no == 1) return("<foo/>");
     if (no == 2) return(REMOTE2GOOD);
     if (no == 3) return(REMOTE1GOOD);
@@ -455,8 +475,12 @@
         xmlFreeParserCtxt(val);
 }
 
+#if defined(LIBXML_SAX1_ENABLED) || \
+    defined(LIBXML_VALID_ENABLED) || \
+    defined(LIBXML_PUSH_ENABLED)
 #define gen_nb_xmlSAXHandlerPtr 2
 static xmlSAXHandlerPtr gen_xmlSAXHandlerPtr(int no, int nr ATTRIBUTE_UNUSED) {
+    (void) no;
 #ifdef LIBXML_SAX1_ENABLED
     if (no == 0) return((xmlSAXHandlerPtr) &xmlDefaultSAXHandler);
 #endif
@@ -464,15 +488,18 @@
 }
 static void des_xmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, xmlSAXHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 }
+#endif
 
 #define gen_nb_xmlValidCtxtPtr 2
 static xmlValidCtxtPtr gen_xmlValidCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
+    (void) no;
 #ifdef LIBXML_VALID_ENABLED
     if (no == 0) return(xmlNewValidCtxt());
 #endif
     return(NULL);
 }
 static void des_xmlValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlValidCtxtPtr val, int nr ATTRIBUTE_UNUSED) {
+    (void) val;
 #ifdef LIBXML_VALID_ENABLED
     if (val != NULL)
         xmlFreeValidCtxt(val);
@@ -665,21 +692,6 @@
 }
 #endif
 
-#ifdef LIBXML_FTP_ENABLED
-#define gen_nb_xmlNanoFTPCtxtPtr 4
-static void *gen_xmlNanoFTPCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlNanoFTPNewCtxt(REMOTE2GOOD));
-    if (no == 1) return(xmlNanoFTPNewCtxt(REMOTE1GOOD));
-    if (no == 2) return(xmlNanoFTPNewCtxt("foo"));
-    return(NULL);
-}
-static void des_xmlNanoFTPCtxtPtr(int no ATTRIBUTE_UNUSED, void *val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) {
-        xmlNanoFTPFreeCtxt(val);
-    }
-}
-#endif
-
 #ifdef LIBXML_HTTP_ENABLED
 #define gen_nb_xmlNanoHTTPCtxtPtr 1
 static void *gen_xmlNanoHTTPCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
@@ -762,8 +774,10 @@
 }
 static void desret_unsigned_long(unsigned long val ATTRIBUTE_UNUSED) {
 }
+#if defined(LIBXML_XPATH_ENABLED)
 static void desret_double(double val ATTRIBUTE_UNUSED) {
 }
+#endif
 static void desret_xmlCharEncoding(xmlCharEncoding val ATTRIBUTE_UNUSED) {
 }
 #if 0
@@ -874,11 +888,6 @@
     xmlNanoHTTPClose(val);
 }
 #endif
-#ifdef LIBXML_FTP_ENABLED
-static void desret_xmlNanoFTPCtxtPtr(void *val) {
-    xmlNanoFTPClose(val);
-}
-#endif
 /* cut and pasted from autogenerated to avoid troubles */
 #define gen_nb_const_xmlChar_ptr_ptr 1
 static xmlChar ** gen_const_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
@@ -993,12 +1002,15 @@
 static void desret_const_xmlParserNodeInfo_ptr(const xmlParserNodeInfo *val ATTRIBUTE_UNUSED) {
 }
 
+#if defined(LIBXML_MODULES_ENABLED) || defined(LIBXML_READER_ENABLED) || \
+    defined(LIBXML_SCHEMAS_ENABLED)
 #define gen_nb_void_ptr_ptr 1
 static void ** gen_void_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
     return(NULL);
 }
 static void des_void_ptr_ptr(int no ATTRIBUTE_UNUSED, void ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 }
+#endif
 
 /************************************************************************
  *									*
@@ -1172,7 +1184,6 @@
 #include <libxml/entities.h>
 #include <libxml/hash.h>
 #include <libxml/list.h>
-#include <libxml/nanoftp.h>
 #include <libxml/nanohttp.h>
 #include <libxml/parser.h>
 #include <libxml/parserInternals.h>
@@ -1211,7 +1222,6 @@
 static int test_entities(void);
 static int test_hash(void);
 static int test_list(void);
-static int test_nanoftp(void);
 static int test_nanohttp(void);
 static int test_parser(void);
 static int test_parserInternals(void);
@@ -1264,7 +1274,6 @@
     test_ret += test_entities();
     test_ret += test_hash();
     test_ret += test_list();
-    test_ret += test_nanoftp();
     test_ret += test_nanohttp();
     test_ret += test_parser();
     test_ret += test_parserInternals();
@@ -1355,11 +1364,8 @@
 #ifdef LIBXML_HTML_ENABLED
 
 #define gen_nb_const_htmlElemDesc_ptr 1
-static htmlElemDesc * gen_const_htmlElemDesc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_htmlElemDesc_ptr(int no ATTRIBUTE_UNUSED, const htmlElemDesc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_const_htmlElemDesc_ptr(no, nr) NULL
+#define des_const_htmlElemDesc_ptr(no, val, nr)
 #endif
 
 
@@ -1413,11 +1419,8 @@
 #ifdef LIBXML_HTML_ENABLED
 
 #define gen_nb_htmlNodePtr 1
-static htmlNodePtr gen_htmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_htmlNodePtr(int no ATTRIBUTE_UNUSED, htmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_htmlNodePtr(no, nr) NULL
+#define des_htmlNodePtr(no, val, nr)
 #endif
 
 
@@ -1470,6 +1473,47 @@
 
 
 static int
+test_htmlCreateFileParserCtxt(void) {
+    int test_ret = 0;
+
+#if defined(LIBXML_HTML_ENABLED)
+    int mem_base;
+    htmlParserCtxtPtr ret_val;
+    const char * filename; /* the filename */
+    int n_filename;
+    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
+    int n_encoding;
+
+    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
+    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
+        mem_base = xmlMemBlocks();
+        filename = gen_fileoutput(n_filename, 0);
+        encoding = gen_const_char_ptr(n_encoding, 1);
+
+        ret_val = htmlCreateFileParserCtxt(filename, (const char *)encoding);
+        desret_htmlParserCtxtPtr(ret_val);
+        call_tests++;
+        des_fileoutput(n_filename, filename, 0);
+        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
+        xmlResetLastError();
+        if (mem_base != xmlMemBlocks()) {
+            printf("Leak of %d blocks found in htmlCreateFileParserCtxt",
+	           xmlMemBlocks() - mem_base);
+	    test_ret++;
+            printf(" %d", n_filename);
+            printf(" %d", n_encoding);
+            printf("\n");
+        }
+    }
+    }
+    function_tests++;
+#endif
+
+    return(test_ret);
+}
+
+
+static int
 test_htmlCreateMemoryParserCtxt(void) {
     int test_ret = 0;
 
@@ -1487,8 +1531,8 @@
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = htmlCreateMemoryParserCtxt((const char *)buffer, size);
         desret_htmlParserCtxtPtr(ret_val);
@@ -1515,11 +1559,8 @@
 #ifdef LIBXML_HTML_ENABLED
 
 #define gen_nb_htmlSAXHandlerPtr 1
-static htmlSAXHandlerPtr gen_htmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_htmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, htmlSAXHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_htmlSAXHandlerPtr(no, nr) NULL
+#define des_htmlSAXHandlerPtr(no, val, nr)
 #endif
 
 
@@ -1557,8 +1598,8 @@
         filename = gen_fileoutput(n_filename, 4);
         enc = gen_xmlCharEncoding(n_enc, 5);
         if ((chunk != NULL) &&
-            (size > (int) strlen((const char *) chunk) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST chunk)))
+            size = 0;
 
         ret_val = htmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename, enc);
         desret_htmlParserCtxtPtr(ret_val);
@@ -1734,8 +1775,8 @@
         encoding = gen_const_char_ptr(n_encoding, 4);
         options = gen_int(n_options, 5);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = htmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
         desret_htmlDocPtr(ret_val);
@@ -2092,6 +2133,31 @@
 
 
 static int
+test_htmlInitAutoClose(void) {
+    int test_ret = 0;
+
+#if defined(LIBXML_HTML_ENABLED)
+    int mem_base;
+
+        mem_base = xmlMemBlocks();
+
+        htmlInitAutoClose();
+        call_tests++;
+        xmlResetLastError();
+        if (mem_base != xmlMemBlocks()) {
+            printf("Leak of %d blocks found in htmlInitAutoClose",
+	           xmlMemBlocks() - mem_base);
+	    test_ret++;
+            printf("\n");
+        }
+    function_tests++;
+#endif
+
+    return(test_ret);
+}
+
+
+static int
 test_htmlIsAutoClosed(void) {
     int test_ret = 0;
 
@@ -2192,6 +2258,54 @@
     return(test_ret);
 }
 
+#ifdef LIBXML_HTML_ENABLED
+
+#define gen_nb_const_htmlSAXHandler_ptr 1
+#define gen_const_htmlSAXHandler_ptr(no, nr) NULL
+#define des_const_htmlSAXHandler_ptr(no, val, nr)
+#endif
+
+
+static int
+test_htmlNewSAXParserCtxt(void) {
+    int test_ret = 0;
+
+#if defined(LIBXML_HTML_ENABLED)
+    int mem_base;
+    htmlParserCtxtPtr ret_val;
+    htmlSAXHandler * sax; /* SAX handler */
+    int n_sax;
+    void * userData; /* user data */
+    int n_userData;
+
+    for (n_sax = 0;n_sax < gen_nb_const_htmlSAXHandler_ptr;n_sax++) {
+    for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) {
+        mem_base = xmlMemBlocks();
+        sax = gen_const_htmlSAXHandler_ptr(n_sax, 0);
+        userData = gen_userdata(n_userData, 1);
+
+        ret_val = htmlNewSAXParserCtxt((const htmlSAXHandler *)sax, userData);
+        desret_htmlParserCtxtPtr(ret_val);
+        call_tests++;
+        des_const_htmlSAXHandler_ptr(n_sax, (const htmlSAXHandler *)sax, 0);
+        des_userdata(n_userData, userData, 1);
+        xmlResetLastError();
+        if (mem_base != xmlMemBlocks()) {
+            printf("Leak of %d blocks found in htmlNewSAXParserCtxt",
+	           xmlMemBlocks() - mem_base);
+	    test_ret++;
+            printf(" %d", n_sax);
+            printf(" %d", n_userData);
+            printf("\n");
+        }
+    }
+    }
+    function_tests++;
+#endif
+
+    return(test_ret);
+}
+
 
 static int
 test_htmlNodeStatus(void) {
@@ -2294,8 +2408,8 @@
         size = gen_int(n_size, 2);
         terminate = gen_int(n_terminate, 3);
         if ((chunk != NULL) &&
-            (size > (int) strlen((const char *) chunk) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST chunk)))
+            size = 0;
 
         ret_val = htmlParseChunk(ctxt, (const char *)chunk, size, terminate);
         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
@@ -2640,8 +2754,8 @@
         encoding = gen_const_char_ptr(n_encoding, 3);
         options = gen_int(n_options, 4);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = htmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
         desret_htmlDocPtr(ret_val);
@@ -2798,10 +2912,11 @@
 test_HTMLparser(void) {
     int test_ret = 0;
 
-    if (quiet == 0) printf("Testing HTMLparser : 32 of 38 functions ...\n");
+    if (quiet == 0) printf("Testing HTMLparser : 35 of 41 functions ...\n");
     test_ret += test_UTF8ToHtml();
     test_ret += test_htmlAttrAllowed();
     test_ret += test_htmlAutoCloseTag();
+    test_ret += test_htmlCreateFileParserCtxt();
     test_ret += test_htmlCreateMemoryParserCtxt();
     test_ret += test_htmlCreatePushParserCtxt();
     test_ret += test_htmlCtxtReadDoc();
@@ -2815,9 +2930,11 @@
     test_ret += test_htmlEntityLookup();
     test_ret += test_htmlEntityValueLookup();
     test_ret += test_htmlHandleOmittedElem();
+    test_ret += test_htmlInitAutoClose();
     test_ret += test_htmlIsAutoClosed();
     test_ret += test_htmlIsScriptAttribute();
     test_ret += test_htmlNewParserCtxt();
+    test_ret += test_htmlNewSAXParserCtxt();
     test_ret += test_htmlNodeStatus();
     test_ret += test_htmlParseCharRef();
     test_ret += test_htmlParseChunk();
@@ -2979,11 +3096,8 @@
 
 
 #define gen_nb_xmlChar_ptr_ptr 1
-static xmlChar ** gen_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, xmlChar ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlChar_ptr_ptr(no, nr) NULL
+#define des_xmlChar_ptr_ptr(no, val, nr)
 
 static int
 test_htmlDocDumpMemory(void) {
@@ -3717,33 +3831,6 @@
 }
 
 static int
-test_docbDefaultSAXHandlerInit(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DOCB_ENABLED)
-#ifdef LIBXML_DOCB_ENABLED
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        docbDefaultSAXHandlerInit();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in docbDefaultSAXHandlerInit",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
 test_htmlDefaultSAXHandlerInit(void) {
     int test_ret = 0;
 
@@ -3794,11 +3881,8 @@
 
 
 #define gen_nb_xmlEnumerationPtr 1
-static xmlEnumerationPtr gen_xmlEnumerationPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlEnumerationPtr(int no ATTRIBUTE_UNUSED, xmlEnumerationPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlEnumerationPtr(no, nr) NULL
+#define des_xmlEnumerationPtr(no, val, nr)
 
 static int
 test_xmlSAX2AttributeDecl(void) {
@@ -3892,8 +3976,8 @@
         value = gen_const_xmlChar_ptr(n_value, 1);
         len = gen_int(n_len, 2);
         if ((value != NULL) &&
-            (len > (int) strlen((const char *) value) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST value)))
+            len = 0;
 
         xmlSAX2CDataBlock(ctx, (const xmlChar *)value, len);
         call_tests++;
@@ -3939,8 +4023,8 @@
         ch = gen_const_xmlChar_ptr(n_ch, 1);
         len = gen_int(n_len, 2);
         if ((ch != NULL) &&
-            (len > (int) strlen((const char *) ch) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST ch)))
+            len = 0;
 
         xmlSAX2Characters(ctx, (const xmlChar *)ch, len);
         call_tests++;
@@ -4088,7 +4172,7 @@
 test_xmlSAX2EndElement(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
 #ifdef LIBXML_SAX1_ENABLED
     int mem_base;
     void * ctx; /* the user data (XML parser context) */
@@ -4582,8 +4666,8 @@
         ch = gen_const_xmlChar_ptr(n_ch, 1);
         len = gen_int(n_len, 2);
         if ((ch != NULL) &&
-            (len > (int) strlen((const char *) ch) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST ch)))
+            len = 0;
 
         xmlSAX2IgnorableWhitespace(ctx, (const xmlChar *)ch, len);
         call_tests++;
@@ -4610,11 +4694,8 @@
 
 
 #define gen_nb_xmlSAXHandler_ptr 1
-static xmlSAXHandler * gen_xmlSAXHandler_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSAXHandler_ptr(int no ATTRIBUTE_UNUSED, xmlSAXHandler * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSAXHandler_ptr(no, nr) NULL
+#define des_xmlSAXHandler_ptr(no, val, nr)
 
 static int
 test_xmlSAX2InitDefaultSAXHandler(void) {
@@ -4654,38 +4735,6 @@
 
 
 static int
-test_xmlSAX2InitDocbDefaultSAXHandler(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DOCB_ENABLED)
-    int mem_base;
-    xmlSAXHandler * hdlr; /* the SAX handler */
-    int n_hdlr;
-
-    for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
-        mem_base = xmlMemBlocks();
-        hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
-
-        xmlSAX2InitDocbDefaultSAXHandler(hdlr);
-        call_tests++;
-        des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2InitDocbDefaultSAXHandler",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_hdlr);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
 test_xmlSAX2InitHtmlDefaultSAXHandler(void) {
     int test_ret = 0;
 
@@ -4979,11 +5028,8 @@
 
 
 #define gen_nb_xmlSAXLocatorPtr 1
-static xmlSAXLocatorPtr gen_xmlSAXLocatorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSAXLocatorPtr(int no ATTRIBUTE_UNUSED, xmlSAXLocatorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSAXLocatorPtr(no, nr) NULL
+#define des_xmlSAXLocatorPtr(no, val, nr)
 
 static int
 test_xmlSAX2SetDocumentLocator(void) {
@@ -5056,7 +5102,7 @@
 test_xmlSAX2StartElement(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
 #ifdef LIBXML_SAX1_ENABLED
     int mem_base;
     void * ctx; /* the user data (XML parser context) */
@@ -5322,8 +5368,7 @@
 test_SAX2(void) {
     int test_ret = 0;
 
-    if (quiet == 0) printf("Testing SAX2 : 38 of 38 functions ...\n");
-    test_ret += test_docbDefaultSAXHandlerInit();
+    if (quiet == 0) printf("Testing SAX2 : 36 of 36 functions ...\n");
     test_ret += test_htmlDefaultSAXHandlerInit();
     test_ret += test_xmlDefaultSAXHandlerInit();
     test_ret += test_xmlSAX2AttributeDecl();
@@ -5346,7 +5391,6 @@
     test_ret += test_xmlSAX2HasInternalSubset();
     test_ret += test_xmlSAX2IgnorableWhitespace();
     test_ret += test_xmlSAX2InitDefaultSAXHandler();
-    test_ret += test_xmlSAX2InitDocbDefaultSAXHandler();
     test_ret += test_xmlSAX2InitHtmlDefaultSAXHandler();
     test_ret += test_xmlSAX2InternalSubset();
     test_ret += test_xmlSAX2IsStandalone();
@@ -5607,11 +5651,8 @@
 #ifdef LIBXML_CATALOG_ENABLED
 
 #define gen_nb_xmlCatalogPtr 1
-static xmlCatalogPtr gen_xmlCatalogPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlCatalogPtr(int no ATTRIBUTE_UNUSED, xmlCatalogPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlCatalogPtr(no, nr) NULL
+#define des_xmlCatalogPtr(no, val, nr)
 #endif
 
 
@@ -6623,11 +6664,8 @@
 }
 
 #define gen_nb_const_xmlChRangeGroup_ptr 1
-static xmlChRangeGroup * gen_const_xmlChRangeGroup_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlChRangeGroup_ptr(int no ATTRIBUTE_UNUSED, const xmlChRangeGroup * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_const_xmlChRangeGroup_ptr(no, nr) NULL
+#define des_const_xmlChRangeGroup_ptr(no, val, nr)
 
 static int
 test_xmlCharInRange(void) {
@@ -7527,11 +7565,8 @@
 
 
 #define gen_nb_char_ptr 1
-static char * gen_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_char_ptr(int no ATTRIBUTE_UNUSED, char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_char_ptr(no, nr) NULL
+#define des_char_ptr(no, val, nr)
 
 static int
 test_xmlShellBase(void) {
@@ -8252,8 +8287,8 @@
         name = gen_const_xmlChar_ptr(n_name, 1);
         len = gen_int(n_len, 2);
         if ((name != NULL) &&
-            (len > (int) strlen((const char *) name) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST name)))
+            len = 0;
 
         ret_val = xmlDictExists(dict, (const xmlChar *)name, len);
         desret_const_xmlChar_ptr(ret_val);
@@ -8311,8 +8346,8 @@
         name = gen_const_xmlChar_ptr(n_name, 1);
         len = gen_int(n_len, 2);
         if ((name != NULL) &&
-            (len > (int) strlen((const char *) name) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST name)))
+            len = 0;
 
         ret_val = xmlDictLookup(dict, (const xmlChar *)name, len);
         desret_const_xmlChar_ptr(ret_val);
@@ -8686,11 +8721,8 @@
 
 
 #define gen_nb_xmlCharEncodingHandler_ptr 1
-static xmlCharEncodingHandler * gen_xmlCharEncodingHandler_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlCharEncodingHandler_ptr(int no ATTRIBUTE_UNUSED, xmlCharEncodingHandler * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlCharEncodingHandler_ptr(no, nr) NULL
+#define des_xmlCharEncodingHandler_ptr(no, val, nr)
 
 static int
 test_xmlCharEncCloseFunc(void) {
@@ -9113,11 +9145,8 @@
 
 
 #define gen_nb_xmlCharEncodingHandlerPtr 1
-static xmlCharEncodingHandlerPtr gen_xmlCharEncodingHandlerPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlCharEncodingHandlerPtr(int no ATTRIBUTE_UNUSED, xmlCharEncodingHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlCharEncodingHandlerPtr(no, nr) NULL
+#define des_xmlCharEncodingHandlerPtr(no, val, nr)
 
 static int
 test_xmlRegisterCharEncodingHandler(void) {
@@ -9333,11 +9362,8 @@
 
 
 #define gen_nb_xmlEntitiesTablePtr 1
-static xmlEntitiesTablePtr gen_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, xmlEntitiesTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlEntitiesTablePtr(no, nr) NULL
+#define des_xmlEntitiesTablePtr(no, val, nr)
 
 static int
 test_xmlDumpEntitiesTable(void) {
@@ -9379,11 +9405,8 @@
 
 
 #define gen_nb_xmlEntityPtr 1
-static xmlEntityPtr gen_xmlEntityPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlEntityPtr(int no ATTRIBUTE_UNUSED, xmlEntityPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlEntityPtr(no, nr) NULL
+#define des_xmlEntityPtr(no, val, nr)
 
 static int
 test_xmlDumpEntityDecl(void) {
@@ -9464,11 +9487,8 @@
 
 
 #define gen_nb_const_xmlDoc_ptr 1
-static xmlDoc * gen_const_xmlDoc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlDoc_ptr(int no ATTRIBUTE_UNUSED, const xmlDoc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_const_xmlDoc_ptr(no, nr) NULL
+#define des_const_xmlDoc_ptr(no, val, nr)
 
 static int
 test_xmlEncodeSpecialChars(void) {
@@ -10738,11 +10758,8 @@
 }
 
 #define gen_nb_xmlLinkPtr 1
-static xmlLinkPtr gen_xmlLinkPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlLinkPtr(int no ATTRIBUTE_UNUSED, xmlLinkPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlLinkPtr(no, nr) NULL
+#define des_xmlLinkPtr(no, val, nr)
 
 static int
 test_xmlLinkGetData(void) {
@@ -10846,11 +10863,8 @@
 
 
 #define gen_nb_const_xmlListPtr 1
-static xmlListPtr gen_const_xmlListPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlListPtr(int no ATTRIBUTE_UNUSED, const xmlListPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_const_xmlListPtr(no, nr) NULL
+#define des_const_xmlListPtr(no, val, nr)
 
 static int
 test_xmlListCopy(void) {
@@ -11520,569 +11534,6 @@
 }
 
 static int
-test_xmlNanoFTPCheckResponse(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoFTPCheckResponse(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPCheckResponse",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPCleanup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlNanoFTPCleanup();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPCleanup",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPCloseConnection(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoFTPCloseConnection(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPCloseConnection",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPCwd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-    char * directory; /* a directory on the server */
-    int n_directory;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-    for (n_directory = 0;n_directory < gen_nb_const_char_ptr;n_directory++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-        directory = gen_const_char_ptr(n_directory, 1);
-
-        ret_val = xmlNanoFTPCwd(ctx, (const char *)directory);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        des_const_char_ptr(n_directory, (const char *)directory, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPCwd",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_directory);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPDele(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-    const char * file; /* a file or directory on the server */
-    int n_file;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-    for (n_file = 0;n_file < gen_nb_filepath;n_file++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-        file = gen_filepath(n_file, 1);
-
-        ret_val = xmlNanoFTPDele(ctx, file);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        des_filepath(n_file, file, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPDele",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_file);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPGet(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPGetConnection(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPGetResponse(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoFTPGetResponse(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPGetResponse",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPGetSocket(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPInit(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlNanoFTPInit();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPInit",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPList(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPNewCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    void * ret_val;
-    const char * URL; /* The URL used to initialize the context */
-    int n_URL;
-
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_filepath(n_URL, 0);
-
-        ret_val = xmlNanoFTPNewCtxt(URL);
-        desret_xmlNanoFTPCtxtPtr(ret_val);
-        call_tests++;
-        des_filepath(n_URL, URL, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPNewCtxt",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_URL);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPOpen(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    void * ret_val;
-    const char * URL; /* the URL to the resource */
-    int n_URL;
-
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_filepath(n_URL, 0);
-
-        ret_val = xmlNanoFTPOpen(URL);
-        desret_xmlNanoFTPCtxtPtr(ret_val);
-        call_tests++;
-        des_filepath(n_URL, URL, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPOpen",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_URL);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPProxy(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    char * host; /* the proxy host name */
-    int n_host;
-    int port; /* the proxy port */
-    int n_port;
-    char * user; /* the proxy user name */
-    int n_user;
-    char * passwd; /* the proxy password */
-    int n_passwd;
-    int type; /* the type of proxy 1 for using SITE, 2 for USER a@b */
-    int n_type;
-
-    for (n_host = 0;n_host < gen_nb_const_char_ptr;n_host++) {
-    for (n_port = 0;n_port < gen_nb_int;n_port++) {
-    for (n_user = 0;n_user < gen_nb_const_char_ptr;n_user++) {
-    for (n_passwd = 0;n_passwd < gen_nb_const_char_ptr;n_passwd++) {
-    for (n_type = 0;n_type < gen_nb_int;n_type++) {
-        host = gen_const_char_ptr(n_host, 0);
-        port = gen_int(n_port, 1);
-        user = gen_const_char_ptr(n_user, 2);
-        passwd = gen_const_char_ptr(n_passwd, 3);
-        type = gen_int(n_type, 4);
-
-        xmlNanoFTPProxy((const char *)host, port, (const char *)user, (const char *)passwd, type);
-        call_tests++;
-        des_const_char_ptr(n_host, (const char *)host, 0);
-        des_int(n_port, port, 1);
-        des_const_char_ptr(n_user, (const char *)user, 2);
-        des_const_char_ptr(n_passwd, (const char *)passwd, 3);
-        des_int(n_type, type, 4);
-        xmlResetLastError();
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPQuit(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoFTPQuit(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPQuit",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPRead(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* the FTP context */
-    int n_ctx;
-    void * dest; /* a buffer */
-    int n_dest;
-    int len; /* the buffer length */
-    int n_len;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-    for (n_dest = 0;n_dest < gen_nb_void_ptr;n_dest++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-        dest = gen_void_ptr(n_dest, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlNanoFTPRead(ctx, dest, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        des_void_ptr(n_dest, dest, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPRead",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_dest);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPScanProxy(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    const char * URL; /* The proxy URL used to initialize the proxy context */
-    int n_URL;
-
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-        URL = gen_filepath(n_URL, 0);
-
-        xmlNanoFTPScanProxy(URL);
-        call_tests++;
-        des_filepath(n_URL, URL, 0);
-        xmlResetLastError();
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPUpdateURL(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-    const char * URL; /* The URL used to update the context */
-    int n_URL;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-        URL = gen_filepath(n_URL, 1);
-
-        ret_val = xmlNanoFTPUpdateURL(ctx, URL);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        des_filepath(n_URL, URL, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPUpdateURL",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_URL);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_nanoftp(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing nanoftp : 14 of 22 functions ...\n");
-    test_ret += test_xmlNanoFTPCheckResponse();
-    test_ret += test_xmlNanoFTPCleanup();
-    test_ret += test_xmlNanoFTPCloseConnection();
-    test_ret += test_xmlNanoFTPCwd();
-    test_ret += test_xmlNanoFTPDele();
-    test_ret += test_xmlNanoFTPGet();
-    test_ret += test_xmlNanoFTPGetConnection();
-    test_ret += test_xmlNanoFTPGetResponse();
-    test_ret += test_xmlNanoFTPGetSocket();
-    test_ret += test_xmlNanoFTPInit();
-    test_ret += test_xmlNanoFTPList();
-    test_ret += test_xmlNanoFTPNewCtxt();
-    test_ret += test_xmlNanoFTPOpen();
-    test_ret += test_xmlNanoFTPProxy();
-    test_ret += test_xmlNanoFTPQuit();
-    test_ret += test_xmlNanoFTPRead();
-    test_ret += test_xmlNanoFTPScanProxy();
-    test_ret += test_xmlNanoFTPUpdateURL();
-
-    if (test_ret != 0)
-	printf("Module nanoftp: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
 test_xmlNanoHTTPAuthHeader(void) {
     int test_ret = 0;
 
@@ -12210,11 +11661,8 @@
 
 
 #define gen_nb_char_ptr_ptr 1
-static char ** gen_char_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_char_ptr_ptr(int no ATTRIBUTE_UNUSED, char ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_char_ptr_ptr(no, nr) NULL
+#define des_char_ptr_ptr(no, val, nr)
 
 static int
 test_xmlNanoHTTPFetch(void) {
@@ -12746,8 +12194,8 @@
         size = gen_int(n_size, 3);
         filename = gen_fileoutput(n_filename, 4);
         if ((chunk != NULL) &&
-            (size > (int) strlen((const char *) chunk) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST chunk)))
+            size = 0;
 
         ret_val = xmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename);
         desret_xmlParserCtxtPtr(ret_val);
@@ -12927,8 +12375,8 @@
         encoding = gen_const_char_ptr(n_encoding, 4);
         options = gen_parseroptions(n_options, 5);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = xmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
         desret_xmlDocPtr(ret_val);
@@ -13023,8 +12471,8 @@
         filename = gen_filepath(n_filename, 3);
         encoding = gen_const_char_ptr(n_encoding, 4);
         if ((chunk != NULL) &&
-            (size > (int) strlen((const char *) chunk) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST chunk)))
+            size = 0;
 
         ret_val = xmlCtxtResetPush(ctxt, (const char *)chunk, size, filename, (const char *)encoding);
         desret_int(ret_val);
@@ -13445,12 +12893,52 @@
 }
 
 
+#define gen_nb_const_xmlSAXHandler_ptr 1
+#define gen_const_xmlSAXHandler_ptr(no, nr) NULL
+#define des_const_xmlSAXHandler_ptr(no, val, nr)
+
+static int
+test_xmlNewSAXParserCtxt(void) {
+    int test_ret = 0;
+
+    int mem_base;
+    xmlParserCtxtPtr ret_val;
+    xmlSAXHandler * sax; /* SAX handler */
+    int n_sax;
+    void * userData; /* user data */
+    int n_userData;
+
+    for (n_sax = 0;n_sax < gen_nb_const_xmlSAXHandler_ptr;n_sax++) {
+    for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) {
+        mem_base = xmlMemBlocks();
+        sax = gen_const_xmlSAXHandler_ptr(n_sax, 0);
+        userData = gen_userdata(n_userData, 1);
+
+        ret_val = xmlNewSAXParserCtxt((const xmlSAXHandler *)sax, userData);
+        desret_xmlParserCtxtPtr(ret_val);
+        call_tests++;
+        des_const_xmlSAXHandler_ptr(n_sax, (const xmlSAXHandler *)sax, 0);
+        des_userdata(n_userData, userData, 1);
+        xmlResetLastError();
+        if (mem_base != xmlMemBlocks()) {
+            printf("Leak of %d blocks found in xmlNewSAXParserCtxt",
+	           xmlMemBlocks() - mem_base);
+	    test_ret++;
+            printf(" %d", n_sax);
+            printf(" %d", n_userData);
+            printf("\n");
+        }
+    }
+    }
+    function_tests++;
+
+    return(test_ret);
+}
+
+
 #define gen_nb_xmlNodePtr_ptr 1
-static xmlNodePtr * gen_xmlNodePtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlNodePtr_ptr(int no ATTRIBUTE_UNUSED, xmlNodePtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlNodePtr_ptr(no, nr) NULL
+#define des_xmlNodePtr_ptr(no, val, nr)
 
 static int
 test_xmlParseBalancedChunkMemory(void) {
@@ -13637,8 +13125,8 @@
         size = gen_int(n_size, 2);
         terminate = gen_int(n_terminate, 3);
         if ((chunk != NULL) &&
-            (size > (int) strlen((const char *) chunk) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST chunk)))
+            size = 0;
 
         ret_val = xmlParseChunk(ctxt, (const char *)chunk, size, terminate);
         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
@@ -14097,8 +13585,8 @@
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = xmlParseMemory((const char *)buffer, size);
         desret_xmlDocPtr(ret_val);
@@ -14125,11 +13613,8 @@
 
 
 #define gen_nb_const_xmlParserNodeInfoPtr 1
-static xmlParserNodeInfoPtr gen_const_xmlParserNodeInfoPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlParserNodeInfoPtr(int no ATTRIBUTE_UNUSED, const xmlParserNodeInfoPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_const_xmlParserNodeInfoPtr(no, nr) NULL
+#define des_const_xmlParserNodeInfoPtr(no, val, nr)
 
 static int
 test_xmlParserAddNodeInfo(void) {
@@ -14169,18 +13654,12 @@
 
 
 #define gen_nb_const_xmlParserCtxtPtr 1
-static xmlParserCtxtPtr gen_const_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, const xmlParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_const_xmlParserCtxtPtr(no, nr) NULL
+#define des_const_xmlParserCtxtPtr(no, val, nr)
 
 #define gen_nb_const_xmlNodePtr 1
-static xmlNodePtr gen_const_xmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlNodePtr(int no ATTRIBUTE_UNUSED, const xmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_const_xmlNodePtr(no, nr) NULL
+#define des_const_xmlNodePtr(no, val, nr)
 
 static int
 test_xmlParserFindNodeInfo(void) {
@@ -14222,11 +13701,8 @@
 
 
 #define gen_nb_const_xmlParserNodeInfoSeqPtr 1
-static xmlParserNodeInfoSeqPtr gen_const_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, const xmlParserNodeInfoSeqPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_const_xmlParserNodeInfoSeqPtr(no, nr) NULL
+#define des_const_xmlParserNodeInfoSeqPtr(no, val, nr)
 
 static int
 test_xmlParserFindNodeInfoIndex(void) {
@@ -14268,11 +13744,8 @@
 
 
 #define gen_nb_xmlParserInputPtr 1
-static xmlParserInputPtr gen_xmlParserInputPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlParserInputPtr(int no ATTRIBUTE_UNUSED, xmlParserInputPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlParserInputPtr(no, nr) NULL
+#define des_xmlParserInputPtr(no, val, nr)
 
 static int
 test_xmlParserInputGrow(void) {
@@ -14512,8 +13985,8 @@
         encoding = gen_const_char_ptr(n_encoding, 3);
         options = gen_parseroptions(n_options, 4);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = xmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
         desret_xmlDocPtr(ret_val);
@@ -14637,8 +14110,8 @@
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = xmlRecoverMemory((const char *)buffer, size);
         desret_xmlDocPtr(ret_val);
@@ -14941,8 +14414,8 @@
         size = gen_int(n_size, 2);
         recovery = gen_int(n_recovery, 3);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = xmlSAXParseMemory(sax, (const char *)buffer, size, recovery);
         desret_xmlDocPtr(ret_val);
@@ -15005,8 +14478,8 @@
         recovery = gen_int(n_recovery, 3);
         data = gen_userdata(n_data, 4);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = xmlSAXParseMemoryWithData(sax, (const char *)buffer, size, recovery, data);
         desret_xmlDocPtr(ret_val);
@@ -15123,8 +14596,8 @@
         buffer = gen_const_char_ptr(n_buffer, 2);
         size = gen_int(n_size, 3);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
         
 #ifdef LIBXML_SAX1_ENABLED
         if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
@@ -15286,7 +14759,7 @@
 test_parser(void) {
     int test_ret = 0;
 
-    if (quiet == 0) printf("Testing parser : 58 of 70 functions ...\n");
+    if (quiet == 0) printf("Testing parser : 59 of 71 functions ...\n");
     test_ret += test_xmlByteConsumed();
     test_ret += test_xmlClearNodeInfoSeq();
     test_ret += test_xmlClearParserCtxt();
@@ -15309,6 +14782,7 @@
     test_ret += test_xmlLoadExternalEntity();
     test_ret += test_xmlNewIOInputStream();
     test_ret += test_xmlNewParserCtxt();
+    test_ret += test_xmlNewSAXParserCtxt();
     test_ret += test_xmlParseBalancedChunkMemory();
     test_ret += test_xmlParseBalancedChunkMemoryRecover();
     test_ret += test_xmlParseChunk();
@@ -15354,72 +14828,6 @@
 }
 
 static int
-test_htmlCreateFileParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlParserCtxtPtr ret_val;
-    const char * filename; /* the filename */
-    int n_filename;
-    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
-    int n_encoding;
-
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_fileoutput(n_filename, 0);
-        encoding = gen_const_char_ptr(n_encoding, 1);
-
-        ret_val = htmlCreateFileParserCtxt(filename, (const char *)encoding);
-        desret_htmlParserCtxtPtr(ret_val);
-        call_tests++;
-        des_fileoutput(n_filename, filename, 0);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlCreateFileParserCtxt",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_encoding);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlInitAutoClose(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        htmlInitAutoClose();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlInitAutoClose",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
 test_inputPop(void) {
     int test_ret = 0;
 
@@ -15844,8 +15252,8 @@
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = xmlCreateMemoryParserCtxt((const char *)buffer, size);
         desret_xmlParserCtxtPtr(ret_val);
@@ -15948,43 +15356,6 @@
 
 
 static int
-test_xmlErrMemory(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    char * extra; /* extra information */
-    int n_extra;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_extra = 0;n_extra < gen_nb_const_char_ptr;n_extra++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        extra = gen_const_char_ptr(n_extra, 1);
-
-        xmlErrMemory(ctxt, (const char *)extra);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_char_ptr(n_extra, (const char *)extra, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlErrMemory",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_extra);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
 test_xmlIsLetter(void) {
     int test_ret = 0;
 
@@ -16502,8 +15873,8 @@
         end2 = gen_xmlChar(n_end2, 5);
         end3 = gen_xmlChar(n_end3, 6);
         if ((str != NULL) &&
-            (len > (int) strlen((const char *) str) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST str)))
+            len = 0;
 
         ret_val = xmlStringLenDecodeEntities(ctxt, (const xmlChar *)str, len, what, end, end2, end3);
         desret_xmlChar_ptr(ret_val);
@@ -16669,9 +16040,7 @@
 test_parserInternals(void) {
     int test_ret = 0;
 
-    if (quiet == 0) printf("Testing parserInternals : 33 of 90 functions ...\n");
-    test_ret += test_htmlCreateFileParserCtxt();
-    test_ret += test_htmlInitAutoClose();
+    if (quiet == 0) printf("Testing parserInternals : 30 of 87 functions ...\n");
     test_ret += test_inputPop();
     test_ret += test_inputPush();
     test_ret += test_namePop();
@@ -16686,7 +16055,6 @@
     test_ret += test_xmlCreateMemoryParserCtxt();
     test_ret += test_xmlCreateURLParserCtxt();
     test_ret += test_xmlCurrentChar();
-    test_ret += test_xmlErrMemory();
     test_ret += test_xmlIsLetter();
     test_ret += test_xmlNewEntityInputStream();
     test_ret += test_xmlNewInputFromFile();
@@ -16909,11 +16277,8 @@
 #ifdef LIBXML_PATTERN_ENABLED
 
 #define gen_nb_xmlStreamCtxtPtr 1
-static xmlStreamCtxtPtr gen_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, xmlStreamCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlStreamCtxtPtr(no, nr) NULL
+#define des_xmlStreamCtxtPtr(no, val, nr)
 #endif
 
 
@@ -17160,11 +16525,8 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlRelaxNGPtr 1
-static xmlRelaxNGPtr gen_xmlRelaxNGPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRelaxNGPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlRelaxNGPtr(no, nr) NULL
+#define des_xmlRelaxNGPtr(no, val, nr)
 #endif
 
 
@@ -17248,31 +16610,22 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlRelaxNGParserCtxtPtr 1
-static xmlRelaxNGParserCtxtPtr gen_xmlRelaxNGParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRelaxNGParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlRelaxNGParserCtxtPtr(no, nr) NULL
+#define des_xmlRelaxNGParserCtxtPtr(no, val, nr)
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlRelaxNGValidityErrorFunc_ptr 1
-static xmlRelaxNGValidityErrorFunc * gen_xmlRelaxNGValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRelaxNGValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidityErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlRelaxNGValidityErrorFunc_ptr(no, nr) NULL
+#define des_xmlRelaxNGValidityErrorFunc_ptr(no, val, nr)
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlRelaxNGValidityWarningFunc_ptr 1
-static xmlRelaxNGValidityWarningFunc * gen_xmlRelaxNGValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRelaxNGValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidityWarningFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlRelaxNGValidityWarningFunc_ptr(no, nr) NULL
+#define des_xmlRelaxNGValidityWarningFunc_ptr(no, val, nr)
 #endif
 
 
@@ -17333,11 +16686,8 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlRelaxNGValidCtxtPtr 1
-static xmlRelaxNGValidCtxtPtr gen_xmlRelaxNGValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRelaxNGValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlRelaxNGValidCtxtPtr(no, nr) NULL
+#define des_xmlRelaxNGValidCtxtPtr(no, val, nr)
 #endif
 
 
@@ -17475,8 +16825,8 @@
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = xmlRelaxNGNewMemParserCtxt((const char *)buffer, size);
         desret_xmlRelaxNGParserCtxtPtr(ret_val);
@@ -17754,8 +17104,8 @@
         data = gen_const_xmlChar_ptr(n_data, 1);
         len = gen_int(n_len, 2);
         if ((data != NULL) &&
-            (len > (int) strlen((const char *) data) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST data)))
+            len = 0;
 
         ret_val = xmlRelaxNGValidatePushCData(ctxt, (const xmlChar *)data, len);
         desret_int(ret_val);
@@ -17974,11 +17324,8 @@
 #ifdef LIBXML_SCHEMATRON_ENABLED
 
 #define gen_nb_xmlSchematronValidCtxtPtr 1
-static xmlSchematronValidCtxtPtr gen_xmlSchematronValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchematronValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchematronValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSchematronValidCtxtPtr(no, nr) NULL
+#define des_xmlSchematronValidCtxtPtr(no, val, nr)
 #endif
 
 
@@ -18298,11 +17645,8 @@
 
 
 #define gen_nb_const_xmlBuf_ptr 1
-static xmlBuf * gen_const_xmlBuf_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlBuf_ptr(int no ATTRIBUTE_UNUSED, const xmlBuf * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_const_xmlBuf_ptr(no, nr) NULL
+#define des_const_xmlBuf_ptr(no, val, nr)
 
 static int
 test_xmlBufContent(void) {
@@ -18337,11 +17681,8 @@
 
 
 #define gen_nb_xmlBufPtr 1
-static xmlBufPtr gen_xmlBufPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlBufPtr(int no ATTRIBUTE_UNUSED, xmlBufPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlBufPtr(no, nr) NULL
+#define des_xmlBufPtr(no, val, nr)
 
 static int
 test_xmlBufEnd(void) {
@@ -18376,11 +17717,8 @@
 
 
 #define gen_nb_const_xmlNode_ptr 1
-static xmlNode * gen_const_xmlNode_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlNode_ptr(int no ATTRIBUTE_UNUSED, const xmlNode * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_const_xmlNode_ptr(no, nr) NULL
+#define des_const_xmlNode_ptr(no, val, nr)
 
 static int
 test_xmlBufGetNodeContent(void) {
@@ -18472,8 +17810,8 @@
         str = gen_const_xmlChar_ptr(n_str, 1);
         len = gen_int(n_len, 2);
         if ((str != NULL) &&
-            (len > (int) strlen((const char *) str) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST str)))
+            len = 0;
 
         ret_val = xmlBufferAdd(buf, (const xmlChar *)str, len);
         desret_int(ret_val);
@@ -18521,8 +17859,8 @@
         str = gen_const_xmlChar_ptr(n_str, 1);
         len = gen_int(n_len, 2);
         if ((str != NULL) &&
-            (len > (int) strlen((const char *) str) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST str)))
+            len = 0;
 
         ret_val = xmlBufferAddHead(buf, (const xmlChar *)str, len);
         desret_int(ret_val);
@@ -18628,11 +17966,8 @@
 
 
 #define gen_nb_const_xmlBuffer_ptr 1
-static xmlBuffer * gen_const_xmlBuffer_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlBuffer_ptr(int no ATTRIBUTE_UNUSED, const xmlBuffer * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_const_xmlBuffer_ptr(no, nr) NULL
+#define des_const_xmlBuffer_ptr(no, val, nr)
 
 static int
 test_xmlBufferContent(void) {
@@ -18900,7 +18235,6 @@
         scheme = gen_xmlBufferAllocationScheme(n_scheme, 1);
 
         xmlBufferSetAllocationScheme(buf, scheme);
-        if ((buf != NULL) && (scheme == XML_BUFFER_ALLOC_IMMUTABLE) && (buf->content != NULL) && (buf->content != static_buf_content)) { xmlFree(buf->content); buf->content = NULL;}
         call_tests++;
         des_xmlBufferPtr(n_buf, buf, 0);
         des_xmlBufferAllocationScheme(n_scheme, scheme, 1);
@@ -19096,8 +18430,8 @@
         memory = gen_xmlChar_ptr(n_memory, 2);
         len = gen_int(n_len, 3);
         if ((prefix != NULL) &&
-            (len > (int) strlen((const char *) prefix) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST prefix)))
+            len = 0;
 
         ret_val = xmlBuildQName((const xmlChar *)ncname, (const xmlChar *)prefix, memory, len);
         if ((ret_val != NULL) && (ret_val != ncname) &&
@@ -19509,11 +18843,8 @@
 
 
 #define gen_nb_xmlDOMWrapCtxtPtr 1
-static xmlDOMWrapCtxtPtr gen_xmlDOMWrapCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlDOMWrapCtxtPtr(int no ATTRIBUTE_UNUSED, xmlDOMWrapCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlDOMWrapCtxtPtr(no, nr) NULL
+#define des_xmlDOMWrapCtxtPtr(no, val, nr)
 
 static int
 test_xmlDOMWrapAdoptNode(void) {
@@ -20870,8 +20201,8 @@
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
         if ((content != NULL) &&
-            (len > (int) strlen((const char *) content) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST content)))
+            len = 0;
 
         ret_val = xmlNewCDataBlock(doc, (const xmlChar *)content, len);
         desret_xmlNodePtr(ret_val);
@@ -21446,8 +20777,8 @@
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
         if ((content != NULL) &&
-            (len > (int) strlen((const char *) content) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST content)))
+            len = 0;
 
         ret_val = xmlNewDocTextLen(doc, (const xmlChar *)content, len);
         desret_xmlNodePtr(ret_val);
@@ -21992,8 +21323,8 @@
         content = gen_const_xmlChar_ptr(n_content, 0);
         len = gen_int(n_len, 1);
         if ((content != NULL) &&
-            (len > (int) strlen((const char *) content) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST content)))
+            len = 0;
 
         ret_val = xmlNewTextLen((const xmlChar *)content, len);
         desret_xmlNodePtr(ret_val);
@@ -22108,8 +21439,8 @@
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
         if ((content != NULL) &&
-            (len > (int) strlen((const char *) content) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST content)))
+            len = 0;
 
         xmlNodeAddContentLen(cur, (const xmlChar *)content, len);
         call_tests++;
@@ -22661,8 +21992,8 @@
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
         if ((content != NULL) &&
-            (len > (int) strlen((const char *) content) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST content)))
+            len = 0;
 
         xmlNodeSetContentLen(cur, (const xmlChar *)content, len);
         call_tests++;
@@ -23728,8 +23059,8 @@
         value = gen_const_xmlChar_ptr(n_value, 1);
         len = gen_int(n_len, 2);
         if ((value != NULL) &&
-            (len > (int) strlen((const char *) value) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST value)))
+            len = 0;
 
         ret_val = xmlStringLenGetNodeList((const xmlDoc *)doc, (const xmlChar *)value, len);
         desret_xmlNodePtr(ret_val);
@@ -23777,8 +23108,8 @@
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
         if ((content != NULL) &&
-            (len > (int) strlen((const char *) content) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST content)))
+            len = 0;
 
         ret_val = xmlTextConcat(node, (const xmlChar *)content, len);
         desret_int(ret_val);
@@ -23940,7 +23271,7 @@
 test_xmlValidateNCName(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
 #ifdef LIBXML_TREE_ENABLED
     int mem_base;
     int ret_val;
@@ -24440,11 +23771,8 @@
 
 
 #define gen_nb_xmlURIPtr 1
-static xmlURIPtr gen_xmlURIPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlURIPtr(int no ATTRIBUTE_UNUSED, xmlURIPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlURIPtr(no, nr) NULL
+#define des_xmlURIPtr(no, val, nr)
 
 static int
 test_xmlParseURIReference(void) {
@@ -24991,11 +24319,8 @@
 
 
 #define gen_nb_xmlAttributePtr 1
-static xmlAttributePtr gen_xmlAttributePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlAttributePtr(int no ATTRIBUTE_UNUSED, xmlAttributePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlAttributePtr(no, nr) NULL
+#define des_xmlAttributePtr(no, val, nr)
 
 static int
 test_xmlDumpAttributeDecl(void) {
@@ -25037,11 +24362,8 @@
 
 
 #define gen_nb_xmlAttributeTablePtr 1
-static xmlAttributeTablePtr gen_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, xmlAttributeTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlAttributeTablePtr(no, nr) NULL
+#define des_xmlAttributeTablePtr(no, val, nr)
 
 static int
 test_xmlDumpAttributeTable(void) {
@@ -25083,11 +24405,8 @@
 
 
 #define gen_nb_xmlElementPtr 1
-static xmlElementPtr gen_xmlElementPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlElementPtr(int no ATTRIBUTE_UNUSED, xmlElementPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlElementPtr(no, nr) NULL
+#define des_xmlElementPtr(no, val, nr)
 
 static int
 test_xmlDumpElementDecl(void) {
@@ -25129,11 +24448,8 @@
 
 
 #define gen_nb_xmlElementTablePtr 1
-static xmlElementTablePtr gen_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, xmlElementTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlElementTablePtr(no, nr) NULL
+#define des_xmlElementTablePtr(no, val, nr)
 
 static int
 test_xmlDumpElementTable(void) {
@@ -25175,11 +24491,8 @@
 
 
 #define gen_nb_xmlNotationPtr 1
-static xmlNotationPtr gen_xmlNotationPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlNotationPtr(int no ATTRIBUTE_UNUSED, xmlNotationPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlNotationPtr(no, nr) NULL
+#define des_xmlNotationPtr(no, val, nr)
 
 static int
 test_xmlDumpNotationDecl(void) {
@@ -25221,11 +24534,8 @@
 
 
 #define gen_nb_xmlNotationTablePtr 1
-static xmlNotationTablePtr gen_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, xmlNotationTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlNotationTablePtr(no, nr) NULL
+#define des_xmlNotationTablePtr(no, val, nr)
 
 static int
 test_xmlDumpNotationTable(void) {
@@ -26017,11 +25327,8 @@
 
 
 #define gen_nb_xmlElementContent_ptr 1
-static xmlElementContent * gen_xmlElementContent_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlElementContent_ptr(int no ATTRIBUTE_UNUSED, xmlElementContent * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlElementContent_ptr(no, nr) NULL
+#define des_xmlElementContent_ptr(no, val, nr)
 
 static int
 test_xmlValidGetPotentialChildren(void) {
@@ -27036,8 +26343,8 @@
         data = gen_const_xmlChar_ptr(n_data, 1);
         len = gen_int(n_len, 2);
         if ((data != NULL) &&
-            (len > (int) strlen((const char *) data) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST data)))
+            len = 0;
 
         ret_val = xmlValidatePushCData(ctxt, (const xmlChar *)data, len);
         desret_int(ret_val);
@@ -27367,11 +26674,8 @@
 #ifdef LIBXML_XINCLUDE_ENABLED
 
 #define gen_nb_xmlXIncludeCtxtPtr 1
-static xmlXIncludeCtxtPtr gen_xmlXIncludeCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlXIncludeCtxtPtr(int no ATTRIBUTE_UNUSED, xmlXIncludeCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlXIncludeCtxtPtr(no, nr) NULL
+#define des_xmlXIncludeCtxtPtr(no, val, nr)
 #endif
 
 
@@ -28575,8 +27879,8 @@
         len = gen_int(n_len, 1);
         buf = gen_const_char_ptr(n_buf, 2);
         if ((buf != NULL) &&
-            (len > (int) strlen((const char *) buf) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST buf)))
+            len = 0;
 
         ret_val = xmlOutputBufferWrite(out, len, (const char *)buf);
         desret_int(ret_val);
@@ -28804,8 +28108,8 @@
         size = gen_int(n_size, 1);
         enc = gen_xmlCharEncoding(n_enc, 2);
         if ((mem != NULL) &&
-            (size > (int) strlen((const char *) mem) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST mem)))
+            size = 0;
 
         ret_val = xmlParserInputBufferCreateMem((const char *)mem, size, enc);
         desret_xmlParserInputBufferPtr(ret_val);
@@ -28853,8 +28157,8 @@
         size = gen_int(n_size, 1);
         enc = gen_xmlCharEncoding(n_enc, 2);
         if ((mem != NULL) &&
-            (size > (int) strlen((const char *) mem) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST mem)))
+            size = 0;
 
         ret_val = xmlParserInputBufferCreateStatic((const char *)mem, size, enc);
         desret_xmlParserInputBufferPtr(ret_val);
@@ -28941,8 +28245,8 @@
         len = gen_int(n_len, 1);
         buf = gen_const_char_ptr(n_buf, 2);
         if ((buf != NULL) &&
-            (len > (int) strlen((const char *) buf) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST buf)))
+            len = 0;
 
         ret_val = xmlParserInputBufferPush(in, len, (const char *)buf);
         desret_int(ret_val);
@@ -29209,11 +28513,8 @@
 #ifdef LIBXML_AUTOMATA_ENABLED
 
 #define gen_nb_xmlAutomataPtr 1
-static xmlAutomataPtr gen_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, xmlAutomataPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlAutomataPtr(no, nr) NULL
+#define des_xmlAutomataPtr(no, val, nr)
 #endif
 
 
@@ -29421,11 +28722,8 @@
 #ifdef LIBXML_AUTOMATA_ENABLED
 
 #define gen_nb_xmlAutomataStatePtr 1
-static xmlAutomataStatePtr gen_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, xmlAutomataStatePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlAutomataStatePtr(no, nr) NULL
+#define des_xmlAutomataStatePtr(no, val, nr)
 #endif
 
 
@@ -29509,11 +28807,8 @@
 }
 
 #define gen_nb_xmlGenericErrorFunc_ptr 1
-static xmlGenericErrorFunc * gen_xmlGenericErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlGenericErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlGenericErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlGenericErrorFunc_ptr(no, nr) NULL
+#define des_xmlGenericErrorFunc_ptr(no, val, nr)
 
 static int
 test_initGenericErrorDefaultFunc(void) {
@@ -29546,11 +28841,8 @@
 
 
 #define gen_nb_xmlErrorPtr 1
-static xmlErrorPtr gen_xmlErrorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlErrorPtr(int no ATTRIBUTE_UNUSED, xmlErrorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlErrorPtr(no, nr) NULL
+#define des_xmlErrorPtr(no, val, nr)
 
 static int
 test_xmlCopyError(void) {
@@ -29833,11 +29125,8 @@
 #ifdef LIBXML_MODULES_ENABLED
 
 #define gen_nb_xmlModulePtr 1
-static xmlModulePtr gen_xmlModulePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlModulePtr(int no ATTRIBUTE_UNUSED, xmlModulePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlModulePtr(no, nr) NULL
+#define des_xmlModulePtr(no, val, nr)
 #endif
 
 
@@ -30154,8 +29443,8 @@
         encoding = gen_const_char_ptr(n_encoding, 3);
         options = gen_parseroptions(n_options, 4);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = xmlReaderForMemory((const char *)buffer, size, URL, (const char *)encoding, options);
         desret_xmlTextReaderPtr(ret_val);
@@ -30340,8 +29629,8 @@
         encoding = gen_const_char_ptr(n_encoding, 4);
         options = gen_parseroptions(n_options, 5);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = xmlReaderNewMemory(reader, (const char *)buffer, size, URL, (const char *)encoding, options);
         desret_int(ret_val);
@@ -31204,11 +30493,8 @@
 #ifdef LIBXML_READER_ENABLED
 
 #define gen_nb_xmlTextReaderErrorFunc_ptr 1
-static xmlTextReaderErrorFunc * gen_xmlTextReaderErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlTextReaderErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlTextReaderErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlTextReaderErrorFunc_ptr(no, nr) NULL
+#define des_xmlTextReaderErrorFunc_ptr(no, val, nr)
 #endif
 
 
@@ -31641,11 +30927,8 @@
 #ifdef LIBXML_READER_ENABLED
 
 #define gen_nb_xmlTextReaderLocatorPtr 1
-static xmlTextReaderLocatorPtr gen_xmlTextReaderLocatorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlTextReaderLocatorPtr(int no ATTRIBUTE_UNUSED, xmlTextReaderLocatorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlTextReaderLocatorPtr(no, nr) NULL
+#define des_xmlTextReaderLocatorPtr(no, val, nr)
 #endif
 
 
@@ -33464,11 +32747,8 @@
 #ifdef LIBXML_REGEXP_ENABLED
 
 #define gen_nb_xmlRegExecCtxtPtr 1
-static xmlRegExecCtxtPtr gen_xmlRegExecCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRegExecCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRegExecCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlRegExecCtxtPtr(no, nr) NULL
+#define des_xmlRegExecCtxtPtr(no, val, nr)
 #endif
 
 
@@ -33728,11 +33008,8 @@
 #ifdef LIBXML_REGEXP_ENABLED
 
 #define gen_nb_xmlRegexpPtr 1
-static xmlRegexpPtr gen_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, xmlRegexpPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlRegexpPtr(no, nr) NULL
+#define des_xmlRegexpPtr(no, val, nr)
 #endif
 
 
@@ -33888,11 +33165,8 @@
 #ifdef LIBXML_OUTPUT_ENABLED
 
 #define gen_nb_xmlSaveCtxtPtr 1
-static xmlSaveCtxtPtr gen_xmlSaveCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSaveCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSaveCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSaveCtxtPtr(no, nr) NULL
+#define des_xmlSaveCtxtPtr(no, val, nr)
 #endif
 
 
@@ -34156,31 +33430,22 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlSchemaParserCtxtPtr 1
-static xmlSchemaParserCtxtPtr gen_xmlSchemaParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchemaParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSchemaParserCtxtPtr(no, nr) NULL
+#define des_xmlSchemaParserCtxtPtr(no, val, nr)
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlSchemaValidityErrorFunc_ptr 1
-static xmlSchemaValidityErrorFunc * gen_xmlSchemaValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValidityErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSchemaValidityErrorFunc_ptr(no, nr) NULL
+#define des_xmlSchemaValidityErrorFunc_ptr(no, val, nr)
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlSchemaValidityWarningFunc_ptr 1
-static xmlSchemaValidityWarningFunc * gen_xmlSchemaValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValidityWarningFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSchemaValidityWarningFunc_ptr(no, nr) NULL
+#define des_xmlSchemaValidityWarningFunc_ptr(no, val, nr)
 #endif
 
 
@@ -34380,8 +33645,8 @@
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
         if ((buffer != NULL) &&
-            (size > (int) strlen((const char *) buffer) + 1))
-            continue;
+            (size > xmlStrlen(BAD_CAST buffer)))
+            size = 0;
 
         ret_val = xmlSchemaNewMemParserCtxt((const char *)buffer, size);
         desret_xmlSchemaParserCtxtPtr(ret_val);
@@ -34472,11 +33737,8 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlSchemaSAXPlugPtr 1
-static xmlSchemaSAXPlugPtr gen_xmlSchemaSAXPlugPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaSAXPlugPtr(int no ATTRIBUTE_UNUSED, xmlSchemaSAXPlugPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSchemaSAXPlugPtr(no, nr) NULL
+#define des_xmlSchemaSAXPlugPtr(no, val, nr)
 #endif
 
 
@@ -34940,21 +34202,15 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlSchemaFacetPtr 1
-static xmlSchemaFacetPtr gen_xmlSchemaFacetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaFacetPtr(int no ATTRIBUTE_UNUSED, xmlSchemaFacetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSchemaFacetPtr(no, nr) NULL
+#define des_xmlSchemaFacetPtr(no, val, nr)
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlSchemaTypePtr 1
-static xmlSchemaTypePtr gen_xmlSchemaTypePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaTypePtr(int no ATTRIBUTE_UNUSED, xmlSchemaTypePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSchemaTypePtr(no, nr) NULL
+#define des_xmlSchemaTypePtr(no, val, nr)
 #endif
 
 
@@ -35066,11 +34322,8 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlSchemaValPtr 1
-static xmlSchemaValPtr gen_xmlSchemaValPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaValPtr(int no ATTRIBUTE_UNUSED, xmlSchemaValPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSchemaValPtr(no, nr) NULL
+#define des_xmlSchemaValPtr(no, val, nr)
 #endif
 
 
@@ -35537,11 +34790,8 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #define gen_nb_xmlSchemaValPtr_ptr 1
-static xmlSchemaValPtr * gen_xmlSchemaValPtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaValPtr_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValPtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlSchemaValPtr_ptr(no, nr) NULL
+#define des_xmlSchemaValPtr_ptr(no, val, nr)
 #endif
 
 
@@ -36257,8 +35507,8 @@
         cur = gen_const_char_ptr(n_cur, 0);
         len = gen_int(n_len, 1);
         if ((cur != NULL) &&
-            (len > (int) strlen((const char *) cur) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST cur)))
+            len = 0;
 
         ret_val = xmlCharStrndup((const char *)cur, len);
         desret_xmlChar_ptr(ret_val);
@@ -36699,8 +35949,8 @@
         str2 = gen_const_xmlChar_ptr(n_str2, 1);
         len = gen_int(n_len, 2);
         if ((str2 != NULL) &&
-            (len > (int) strlen((const char *) str2) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST str2)))
+            len = 0;
 
         ret_val = xmlStrncasecmp((const xmlChar *)str1, (const xmlChar *)str2, len);
         desret_int(ret_val);
@@ -36748,8 +35998,8 @@
         str2 = gen_const_xmlChar_ptr(n_str2, 1);
         len = gen_int(n_len, 2);
         if ((str2 != NULL) &&
-            (len > (int) strlen((const char *) str2) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST str2)))
+            len = 0;
 
         ret_val = xmlStrncatNew((const xmlChar *)str1, (const xmlChar *)str2, len);
         desret_xmlChar_ptr(ret_val);
@@ -36797,8 +36047,8 @@
         str2 = gen_const_xmlChar_ptr(n_str2, 1);
         len = gen_int(n_len, 2);
         if ((str2 != NULL) &&
-            (len > (int) strlen((const char *) str2) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST str2)))
+            len = 0;
 
         ret_val = xmlStrncmp((const xmlChar *)str1, (const xmlChar *)str2, len);
         desret_int(ret_val);
@@ -36842,8 +36092,8 @@
         cur = gen_const_xmlChar_ptr(n_cur, 0);
         len = gen_int(n_len, 1);
         if ((cur != NULL) &&
-            (len > (int) strlen((const char *) cur) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST cur)))
+            len = 0;
 
         ret_val = xmlStrndup((const xmlChar *)cur, len);
         desret_xmlChar_ptr(ret_val);
@@ -36927,11 +36177,11 @@
         start = gen_int(n_start, 1);
         len = gen_int(n_len, 2);
         if ((str != NULL) &&
-            (start > (int) strlen((const char *) str) + 1))
-            continue;
+            (start > xmlStrlen(BAD_CAST str)))
+            start = 0;
         if ((str != NULL) &&
-            (len > (int) strlen((const char *) str) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST str)))
+            len = 0;
 
         ret_val = xmlStrsub((const xmlChar *)str, start, len);
         desret_xmlChar_ptr(ret_val);
@@ -37117,8 +36367,8 @@
         utf = gen_const_xmlChar_ptr(n_utf, 0);
         len = gen_int(n_len, 1);
         if ((utf != NULL) &&
-            (len > (int) strlen((const char *) utf) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST utf)))
+            len = 0;
 
         ret_val = xmlUTF8Strndup((const xmlChar *)utf, len);
         desret_xmlChar_ptr(ret_val);
@@ -37198,8 +36448,8 @@
         utf = gen_const_xmlChar_ptr(n_utf, 0);
         len = gen_int(n_len, 1);
         if ((utf != NULL) &&
-            (len > (int) strlen((const char *) utf) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST utf)))
+            len = 0;
 
         ret_val = xmlUTF8Strsize((const xmlChar *)utf, len);
         desret_int(ret_val);
@@ -37244,11 +36494,11 @@
         start = gen_int(n_start, 1);
         len = gen_int(n_len, 2);
         if ((utf != NULL) &&
-            (start > (int) strlen((const char *) utf) + 1))
-            continue;
+            (start > xmlStrlen(BAD_CAST utf)))
+            start = 0;
         if ((utf != NULL) &&
-            (len > (int) strlen((const char *) utf) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST utf)))
+            len = 0;
 
         ret_val = xmlUTF8Strsub((const xmlChar *)utf, start, len);
         desret_xmlChar_ptr(ret_val);
@@ -44562,11 +43812,11 @@
         start = gen_int(n_start, 2);
         len = gen_int(n_len, 3);
         if ((data != NULL) &&
-            (start > (int) strlen((const char *) data) + 1))
-            continue;
+            (start > xmlStrlen(BAD_CAST data)))
+            start = 0;
         if ((data != NULL) &&
-            (len > (int) strlen((const char *) data) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST data)))
+            len = 0;
 
         ret_val = xmlTextWriterWriteBase64(writer, (const char *)data, start, len);
         desret_int(ret_val);
@@ -44623,11 +43873,11 @@
         start = gen_int(n_start, 2);
         len = gen_int(n_len, 3);
         if ((data != NULL) &&
-            (start > (int) strlen((const char *) data) + 1))
-            continue;
+            (start > xmlStrlen(BAD_CAST data)))
+            start = 0;
         if ((data != NULL) &&
-            (len > (int) strlen((const char *) data) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST data)))
+            len = 0;
 
         ret_val = xmlTextWriterWriteBinHex(writer, (const char *)data, start, len);
         desret_int(ret_val);
@@ -45559,8 +44809,8 @@
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
         if ((content != NULL) &&
-            (len > (int) strlen((const char *) content) + 1))
-            continue;
+            (len > xmlStrlen(BAD_CAST content)))
+            len = 0;
 
         ret_val = xmlTextWriterWriteRawLen(writer, (const xmlChar *)content, len);
         desret_int(ret_val);
@@ -46376,21 +45626,15 @@
 #ifdef LIBXML_XPATH_ENABLED
 
 #define gen_nb_xmlXPathCompExprPtr 1
-static xmlXPathCompExprPtr gen_xmlXPathCompExprPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlXPathCompExprPtr(int no ATTRIBUTE_UNUSED, xmlXPathCompExprPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlXPathCompExprPtr(no, nr) NULL
+#define des_xmlXPathCompExprPtr(no, val, nr)
 #endif
 
 #ifdef LIBXML_XPATH_ENABLED
 
 #define gen_nb_xmlXPathContextPtr 1
-static xmlXPathContextPtr gen_xmlXPathContextPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlXPathContextPtr(int no ATTRIBUTE_UNUSED, xmlXPathContextPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlXPathContextPtr(no, nr) NULL
+#define des_xmlXPathContextPtr(no, val, nr)
 #endif
 
 
@@ -47110,11 +46354,8 @@
 #ifdef LIBXML_XPATH_ENABLED
 
 #define gen_nb_xmlXPathParserContextPtr 1
-static xmlXPathParserContextPtr gen_xmlXPathParserContextPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlXPathParserContextPtr(int no ATTRIBUTE_UNUSED, xmlXPathParserContextPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
+#define gen_xmlXPathParserContextPtr(no, nr) NULL
+#define des_xmlXPathParserContextPtr(no, val, nr)
 #endif
 
 
@@ -51396,7 +50637,7 @@
 test_xmlXPtrBuildNodeList(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlNodePtr ret_val;
     xmlXPathObjectPtr obj; /* the XPointer result from the evaluation. */
@@ -51471,7 +50712,7 @@
 test_xmlXPtrEvalRangePredicate(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */
     int n_ctxt;
@@ -51498,159 +50739,12 @@
     return(test_ret);
 }
 
-#ifdef LIBXML_XPTR_ENABLED
-
-#define gen_nb_xmlLocationSetPtr 1
-static xmlLocationSetPtr gen_xmlLocationSetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlLocationSetPtr(int no ATTRIBUTE_UNUSED, xmlLocationSetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlXPtrLocationSetAdd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlLocationSetPtr cur; /* the initial range set */
-    int n_cur;
-    xmlXPathObjectPtr val; /* a new xmlXPathObjectPtr */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlLocationSetPtr(n_cur, 0);
-        val = gen_xmlXPathObjectPtr(n_val, 1);
-
-        xmlXPtrLocationSetAdd(cur, val);
-        call_tests++;
-        des_xmlLocationSetPtr(n_cur, cur, 0);
-        des_xmlXPathObjectPtr(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrLocationSetAdd",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrLocationSetCreate(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrLocationSetDel(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlLocationSetPtr cur; /* the initial range set */
-    int n_cur;
-    xmlXPathObjectPtr val; /* an xmlXPathObjectPtr */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlLocationSetPtr(n_cur, 0);
-        val = gen_xmlXPathObjectPtr(n_val, 1);
-
-        xmlXPtrLocationSetDel(cur, val);
-        call_tests++;
-        des_xmlLocationSetPtr(n_cur, cur, 0);
-        des_xmlXPathObjectPtr(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrLocationSetDel",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrLocationSetMerge(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrLocationSetRemove(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlLocationSetPtr cur; /* the initial range set */
-    int n_cur;
-    int val; /* the index to remove */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlLocationSetPtr(n_cur, 0);
-        val = gen_int(n_val, 1);
-
-        xmlXPtrLocationSetRemove(cur, val);
-        call_tests++;
-        des_xmlLocationSetPtr(n_cur, cur, 0);
-        des_int(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrLocationSetRemove",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
 
 static int
 test_xmlXPtrNewCollapsedRange(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlXPathObjectPtr ret_val;
     xmlNodePtr start; /* the starting and ending node */
@@ -51694,7 +50788,7 @@
 test_xmlXPtrNewLocationSetNodeSet(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlXPathObjectPtr ret_val;
     xmlNodeSetPtr set; /* a node set */
@@ -51728,7 +50822,7 @@
 test_xmlXPtrNewLocationSetNodes(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlXPathObjectPtr ret_val;
     xmlNodePtr start; /* the start NodePtr value */
@@ -51769,7 +50863,7 @@
 test_xmlXPtrNewRange(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlXPathObjectPtr ret_val;
     xmlNodePtr start; /* the starting node */
@@ -51824,7 +50918,7 @@
 test_xmlXPtrNewRangeNodeObject(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlXPathObjectPtr ret_val;
     xmlNodePtr start; /* the starting node */
@@ -51865,7 +50959,7 @@
 test_xmlXPtrNewRangeNodePoint(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlXPathObjectPtr ret_val;
     xmlNodePtr start; /* the starting node */
@@ -51906,7 +51000,7 @@
 test_xmlXPtrNewRangeNodes(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlXPathObjectPtr ret_val;
     xmlNodePtr start; /* the starting node */
@@ -51947,7 +51041,7 @@
 test_xmlXPtrNewRangePointNode(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlXPathObjectPtr ret_val;
     xmlXPathObjectPtr start; /* the starting point */
@@ -51988,7 +51082,7 @@
 test_xmlXPtrNewRangePoints(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlXPathObjectPtr ret_val;
     xmlXPathObjectPtr start; /* the starting point */
@@ -52029,7 +51123,7 @@
 test_xmlXPtrRangeToFunction(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
     int mem_base;
     xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */
     int n_ctxt;
@@ -52063,53 +51157,14 @@
     return(test_ret);
 }
 
-
-static int
-test_xmlXPtrWrapLocationSet(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlLocationSetPtr val; /* the LocationSet value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlLocationSetPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlLocationSetPtr(n_val, 0);
-
-        ret_val = xmlXPtrWrapLocationSet(val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlLocationSetPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrWrapLocationSet",
-	           xmlMemBlocks() - mem_base);
-	    test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
 static int
 test_xpointer(void) {
     int test_ret = 0;
 
-    if (quiet == 0) printf("Testing xpointer : 17 of 21 functions ...\n");
+    if (quiet == 0) printf("Testing xpointer : 13 of 21 functions ...\n");
     test_ret += test_xmlXPtrBuildNodeList();
     test_ret += test_xmlXPtrEval();
     test_ret += test_xmlXPtrEvalRangePredicate();
-    test_ret += test_xmlXPtrLocationSetAdd();
-    test_ret += test_xmlXPtrLocationSetCreate();
-    test_ret += test_xmlXPtrLocationSetDel();
-    test_ret += test_xmlXPtrLocationSetMerge();
-    test_ret += test_xmlXPtrLocationSetRemove();
     test_ret += test_xmlXPtrNewCollapsedRange();
     test_ret += test_xmlXPtrNewContext();
     test_ret += test_xmlXPtrNewLocationSetNodeSet();
@@ -52121,7 +51176,6 @@
     test_ret += test_xmlXPtrNewRangePointNode();
     test_ret += test_xmlXPtrNewRangePoints();
     test_ret += test_xmlXPtrRangeToFunction();
-    test_ret += test_xmlXPtrWrapLocationSet();
 
     if (test_ret != 0)
 	printf("Module xpointer: %d errors\n", test_ret);
@@ -52141,7 +51195,6 @@
     if (!strcmp(module, "entities")) return(test_entities());
     if (!strcmp(module, "hash")) return(test_hash());
     if (!strcmp(module, "list")) return(test_list());
-    if (!strcmp(module, "nanoftp")) return(test_nanoftp());
     if (!strcmp(module, "nanohttp")) return(test_nanohttp());
     if (!strcmp(module, "parser")) return(test_parser());
     if (!strcmp(module, "parserInternals")) return(test_parserInternals());
diff --git a/testchar.c b/testchar.c
index 51e4acf..b612cbd 100644
--- a/testchar.c
+++ b/testchar.c
@@ -7,11 +7,10 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <libxml/tree.h>
 #include <libxml/parser.h>
 #include <libxml/parserInternals.h>
 
-#include "buf.h"
-
 int lastError;
 
 static void errorHandler(void *unused, xmlErrorPtr err) {
@@ -23,7 +22,7 @@
 char document1[100] = "<doc>XXXX</doc>";
 char document2[100] = "<doc foo='XXXX'/>";
 
-static void testDocumentRangeByte1(xmlParserCtxtPtr ctxt, char *document,
+static int testDocumentRangeByte1(xmlParserCtxtPtr ctxt, char *document,
                   int len,  char *data, int forbid1, int forbid2) {
     int i;
     xmlDocPtr res;
@@ -37,33 +36,41 @@
 	res = xmlReadMemory(document, len, "test", NULL, 0);
 
 	if ((i == forbid1) || (i == forbid2)) {
-	    if ((lastError == 0) || (res != NULL))
+	    if ((lastError == 0) || (res != NULL)) {
 	        fprintf(stderr,
 		    "Failed to detect invalid char for Byte 0x%02X: %c\n",
 		        i, i);
+		return(1);
+	    }
 	}
 
 	else if ((i == '<') || (i == '&')) {
-	    if ((lastError == 0) || (res != NULL))
+	    if ((lastError == 0) || (res != NULL)) {
 	        fprintf(stderr,
 		    "Failed to detect illegal char %c for Byte 0x%02X\n", i, i);
+		return(1);
+	    }
 	}
 	else if (((i < 0x20) || (i >= 0x80)) &&
 	    (i != 0x9) && (i != 0xA) && (i != 0xD)) {
-	    if ((lastError != XML_ERR_INVALID_CHAR) && (res != NULL))
+	    if ((lastError != XML_ERR_INVALID_CHAR) && (res != NULL)) {
 	        fprintf(stderr,
 		    "Failed to detect invalid char for Byte 0x%02X\n", i);
+		return(1);
+	    }
 	}
 	else if (res == NULL) {
 	    fprintf(stderr,
 		"Failed to parse valid char for Byte 0x%02X : %c\n", i, i);
+		return(1);
 	}
 	if (res != NULL)
 	    xmlFreeDoc(res);
     }
+    return(0);
 }
 
-static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document,
+static int testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document,
                   int len,  char *data) {
     int i, j;
     xmlDocPtr res;
@@ -80,10 +87,12 @@
 
 	/* if first bit of first char is set, then second bit must too */
 	if ((i & 0x80) && ((i & 0x40) == 0)) {
-	    if ((lastError == 0) || (res != NULL))
+	    if ((lastError == 0) || (res != NULL)) {
 		fprintf(stderr,
 		"Failed to detect invalid char for Bytes 0x%02X 0x%02X\n",
 			i, j);
+		return(1);
+	    }
 	}
 
 	/*
@@ -91,10 +100,12 @@
 	 * bits must be 10
 	 */
 	else if ((i & 0x80) && ((j & 0xC0) != 0x80)) {
-	    if ((lastError == 0) || (res != NULL))
+	    if ((lastError == 0) || (res != NULL)) {
 		fprintf(stderr,
 	    "Failed to detect invalid char for Bytes 0x%02X 0x%02X\n",
 			i, j);
+		return(1);
+	    }
 	}
 
 	/*
@@ -102,10 +113,12 @@
 	 * than 0x80, i.e. one of bits 5 to 1 of i must be set
 	 */
 	else if ((i & 0x80) && ((i & 0x1E) == 0)) {
-	    if ((lastError == 0) || (res != NULL))
+	    if ((lastError == 0) || (res != NULL)) {
 		fprintf(stderr,
 	    "Failed to detect invalid char for Bytes 0x%02X 0x%02X\n",
 			i, j);
+		return(1);
+	    }
 	}
 
 	/*
@@ -113,10 +126,12 @@
 	 * at least 3 bytes, but we give only 2 !
 	 */
 	else if ((i & 0xE0) == 0xE0) {
-	    if ((lastError == 0) || (res != NULL))
+	    if ((lastError == 0) || (res != NULL)) {
 		fprintf(stderr,
 	    "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x00\n",
 			i, j);
+		return(1);
+	    }
 	}
 
 	/*
@@ -125,11 +140,13 @@
 	else if ((lastError != 0) || (res == NULL)) {
 	    fprintf(stderr,
 		"Failed to parse document for Bytes 0x%02X 0x%02X\n", i, j);
+	    return(1);
 	}
 	if (res != NULL)
 	    xmlFreeDoc(res);
     }
     }
+    return(0);
 }
 
 /**
@@ -141,9 +158,10 @@
  * CDATA in text or in attribute values.
  */
 
-static void testDocumentRanges(void) {
+static int testDocumentRanges(void) {
     xmlParserCtxtPtr ctxt;
     char *data;
+    int test_ret = 0;
 
     /*
      * Set up a parsing context using the first document as
@@ -152,7 +170,7 @@
     ctxt = xmlNewParserCtxt();
     if (ctxt == NULL) {
         fprintf(stderr, "Failed to allocate parser context\n");
-	return;
+	return(1);
     }
 
     printf("testing 1 byte char in document: 1");
@@ -163,7 +181,7 @@
     data[2] = ' ';
     data[3] = ' ';
     /* test 1 byte injection at beginning of area */
-    testDocumentRangeByte1(ctxt, &document1[0], strlen(document1),
+    test_ret += testDocumentRangeByte1(ctxt, &document1[0], strlen(document1),
                            data, -1, -1);
     printf(" 2");
     fflush(stdout);
@@ -172,7 +190,7 @@
     data[2] = ' ';
     data[3] = ' ';
     /* test 1 byte injection at end of area */
-    testDocumentRangeByte1(ctxt, &document1[0], strlen(document1),
+    test_ret += testDocumentRangeByte1(ctxt, &document1[0], strlen(document1),
                            data + 3, -1, -1);
 
     printf(" 3");
@@ -183,7 +201,7 @@
     data[2] = ' ';
     data[3] = ' ';
     /* test 1 byte injection at beginning of area */
-    testDocumentRangeByte1(ctxt, &document2[0], strlen(document2),
+    test_ret += testDocumentRangeByte1(ctxt, &document2[0], strlen(document2),
                            data, '\'', -1);
     printf(" 4");
     fflush(stdout);
@@ -192,7 +210,7 @@
     data[2] = ' ';
     data[3] = ' ';
     /* test 1 byte injection at end of area */
-    testDocumentRangeByte1(ctxt, &document2[0], strlen(document2),
+    test_ret += testDocumentRangeByte1(ctxt, &document2[0], strlen(document2),
                            data + 3, '\'', -1);
     printf(" done\n");
 
@@ -204,7 +222,7 @@
     data[2] = ' ';
     data[3] = ' ';
     /* test 2 byte injection at beginning of area */
-    testDocumentRangeByte2(ctxt, &document1[0], strlen(document1),
+    test_ret += testDocumentRangeByte2(ctxt, &document1[0], strlen(document1),
                            data);
     printf(" 2");
     fflush(stdout);
@@ -213,7 +231,7 @@
     data[2] = ' ';
     data[3] = ' ';
     /* test 2 byte injection at end of area */
-    testDocumentRangeByte2(ctxt, &document1[0], strlen(document1),
+    test_ret += testDocumentRangeByte2(ctxt, &document1[0], strlen(document1),
                            data + 2);
 
     printf(" 3");
@@ -224,7 +242,7 @@
     data[2] = ' ';
     data[3] = ' ';
     /* test 2 byte injection at beginning of area */
-    testDocumentRangeByte2(ctxt, &document2[0], strlen(document2),
+    test_ret += testDocumentRangeByte2(ctxt, &document2[0], strlen(document2),
                            data);
     printf(" 4");
     fflush(stdout);
@@ -233,16 +251,18 @@
     data[2] = ' ';
     data[3] = ' ';
     /* test 2 byte injection at end of area */
-    testDocumentRangeByte2(ctxt, &document2[0], strlen(document2),
+    test_ret += testDocumentRangeByte2(ctxt, &document2[0], strlen(document2),
                            data + 2);
     printf(" done\n");
 
     xmlFreeParserCtxt(ctxt);
+    return(test_ret);
 }
 
-static void testCharRangeByte1(xmlParserCtxtPtr ctxt, char *data) {
+static int testCharRangeByte1(xmlParserCtxtPtr ctxt) {
     int i = 0;
     int len, c;
+    char *data = (char *) ctxt->input->cur;
 
     data[1] = 0;
     data[2] = 0;
@@ -250,26 +270,34 @@
     for (i = 0;i <= 0xFF;i++) {
         data[0] = (char) i;
 	ctxt->charset = XML_CHAR_ENCODING_UTF8;
+        ctxt->nbErrors = 0;
 
 	lastError = 0;
         c = xmlCurrentChar(ctxt, &len);
 	if ((i == 0) || (i >= 0x80)) {
 	    /* we must see an error there */
-	    if (lastError != XML_ERR_INVALID_CHAR)
+	    if (lastError != XML_ERR_INVALID_CHAR) {
 	        fprintf(stderr,
 		    "Failed to detect invalid char for Byte 0x%02X\n", i);
+		return(1);
+	    }
 	} else if (i == 0xD) {
-	    if ((c != 0xA) || (len != 1))
+	    if ((c != 0xA) || (len != 1)) {
 		fprintf(stderr, "Failed to convert char for Byte 0x%02X\n", i);
+		return(1);
+	    }
 	} else if ((c != i) || (len != 1)) {
 	    fprintf(stderr, "Failed to parse char for Byte 0x%02X\n", i);
+	    return(1);
 	}
     }
+    return(0);
 }
 
-static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) {
+static int testCharRangeByte2(xmlParserCtxtPtr ctxt) {
     int i, j;
     int len, c;
+    char *data = (char *) ctxt->input->cur;
 
     data[2] = 0;
     data[3] = 0;
@@ -278,16 +306,19 @@
 	    data[0] = (char) i;
 	    data[1] = (char) j;
 	    ctxt->charset = XML_CHAR_ENCODING_UTF8;
+            ctxt->nbErrors = 0;
 
 	    lastError = 0;
 	    c = xmlCurrentChar(ctxt, &len);
 
 	    /* if first bit of first char is set, then second bit must too */
 	    if ((i & 0x80) && ((i & 0x40) == 0)) {
-		if (lastError != XML_ERR_INVALID_CHAR)
+		if (lastError != XML_ERR_INVALID_CHAR) {
 		    fprintf(stderr,
 		    "Failed to detect invalid char for Bytes 0x%02X 0x%02X\n",
 		            i, j);
+		    return(1);
+		}
 	    }
 
 	    /*
@@ -295,10 +326,12 @@
 	     * bits must be 10
 	     */
 	    else if ((i & 0x80) && ((j & 0xC0) != 0x80)) {
-		if (lastError != XML_ERR_INVALID_CHAR)
+		if (lastError != XML_ERR_INVALID_CHAR) {
 		    fprintf(stderr,
 		"Failed to detect invalid char for Bytes 0x%02X 0x%02X: %d\n",
 		            i, j, c);
+		    return(1);
+		}
 	    }
 
 	    /*
@@ -306,10 +339,12 @@
 	     * than 0x80, i.e. one of bits 5 to 1 of i must be set
 	     */
 	    else if ((i & 0x80) && ((i & 0x1E) == 0)) {
-		if (lastError != XML_ERR_INVALID_CHAR)
+		if (lastError != XML_ERR_INVALID_CHAR) {
 		    fprintf(stderr,
 		"Failed to detect invalid char for Bytes 0x%02X 0x%02X: %d\n",
 		            i, j, c);
+		    return(1);
+		}
 	    }
 
 	    /*
@@ -317,10 +352,12 @@
 	     * at least 3 bytes, but we give only 2 !
 	     */
 	    else if ((i & 0xE0) == 0xE0) {
-		if (lastError != XML_ERR_INVALID_CHAR)
+		if (lastError != XML_ERR_INVALID_CHAR) {
 		    fprintf(stderr,
 		"Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x00\n",
 		            i, j);
+		    return(1);
+		}
 	    }
 
             /*
@@ -329,6 +366,7 @@
 	    else if ((lastError != 0) || (len != 2)) {
 		fprintf(stderr,
 		    "Failed to parse char for Bytes 0x%02X 0x%02X\n", i, j);
+		return(1);
 	    }
 
             /*
@@ -338,15 +376,18 @@
 		fprintf(stderr,
 	"Failed to parse char for Bytes 0x%02X 0x%02X: expect %d got %d\n",
 	                i, j, ((j & 0x3F) + ((i & 0x1F) << 6)), c);
+		return(1);
 	    }
         }
     }
+    return(0);
 }
 
-static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) {
+static int testCharRangeByte3(xmlParserCtxtPtr ctxt) {
     int i, j, k, K;
     int len, c;
     unsigned char lows[6] = {0, 0x80, 0x81, 0xC1, 0xFF, 0xBF};
+    char *data = (char *) ctxt->input->cur;
     int value;
 
     data[3] = 0;
@@ -359,6 +400,7 @@
 	data[2] = (char) K;
 	value = (K & 0x3F) + ((j & 0x3F) << 6) + ((i & 0xF) << 12);
 	ctxt->charset = XML_CHAR_ENCODING_UTF8;
+        ctxt->nbErrors = 0;
 
 	lastError = 0;
 	c = xmlCurrentChar(ctxt, &len);
@@ -368,20 +410,24 @@
 	 * at least 4 bytes, but we give only 3 !
 	 */
 	if ((i & 0xF0) == 0xF0) {
-	    if (lastError != XML_ERR_INVALID_CHAR)
+	    if (lastError != XML_ERR_INVALID_CHAR) {
 		fprintf(stderr,
 	"Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n",
 			i, j, K, data[3]);
+		return(1);
+	    }
 	}
 
         /*
 	 * The second and the third bytes must start with 10
 	 */
 	else if (((j & 0xC0) != 0x80) || ((K & 0xC0) != 0x80)) {
-	    if (lastError != XML_ERR_INVALID_CHAR)
+	    if (lastError != XML_ERR_INVALID_CHAR) {
 		fprintf(stderr,
 	"Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X\n",
 			i, j, K);
+		return(1);
+	    }
 	}
 
 	/*
@@ -390,10 +436,12 @@
 	 * the 6th byte of data[1] must be set
 	 */
 	else if (((i & 0xF) == 0) && ((j & 0x20) == 0)) {
-	    if (lastError != XML_ERR_INVALID_CHAR)
+	    if (lastError != XML_ERR_INVALID_CHAR) {
 		fprintf(stderr,
 	    "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X\n",
 			i, j, K);
+		return(1);
+	    }
 	}
 
         /*
@@ -401,10 +449,12 @@
 	 */
 	else if (((value > 0xD7FF) && (value <0xE000)) ||
 	         ((value > 0xFFFD) && (value <0x10000))) {
-	    if (lastError != XML_ERR_INVALID_CHAR)
+	    if (lastError != XML_ERR_INVALID_CHAR) {
 		fprintf(stderr,
 	"Failed to detect invalid char 0x%04X for Bytes 0x%02X 0x%02X 0x%02X\n",
 			value, i, j, K);
+		return(1);
+	    }
 	}
 
 	/*
@@ -414,6 +464,7 @@
 	    fprintf(stderr,
 		"Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X\n",
 		    i, j, K);
+	    return(1);
 	}
 
 	/*
@@ -423,16 +474,19 @@
 	    fprintf(stderr,
     "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X: expect %d got %d\n",
 		i, j, data[2], value, c);
+	    return(1);
 	}
     }
     }
     }
+    return(0);
 }
 
-static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) {
+static int testCharRangeByte4(xmlParserCtxtPtr ctxt) {
     int i, j, k, K, l, L;
     int len, c;
     unsigned char lows[6] = {0, 0x80, 0x81, 0xC1, 0xFF, 0xBF};
+    char *data = (char *) ctxt->input->cur;
     int value;
 
     data[4] = 0;
@@ -449,6 +503,7 @@
 	value = (L & 0x3F) + ((K & 0x3F) << 6) + ((j & 0x3F) << 12) +
 	        ((i & 0x7) << 18);
 	ctxt->charset = XML_CHAR_ENCODING_UTF8;
+        ctxt->nbErrors = 0;
 
 	lastError = 0;
 	c = xmlCurrentChar(ctxt, &len);
@@ -458,10 +513,12 @@
 	 * at least 5 bytes, but we give only 4 !
 	 */
 	if ((i & 0xF8) == 0xF8) {
-	    if (lastError != XML_ERR_INVALID_CHAR)
+	    if (lastError != XML_ERR_INVALID_CHAR) {
 		fprintf(stderr,
   "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n",
 			i, j, K, data[3]);
+		return(1);
+	    }
 	}
 
         /*
@@ -469,10 +526,12 @@
 	 */
 	else if (((j & 0xC0) != 0x80) || ((K & 0xC0) != 0x80) ||
 	         ((L & 0xC0) != 0x80)) {
-	    if (lastError != XML_ERR_INVALID_CHAR)
+	    if (lastError != XML_ERR_INVALID_CHAR) {
 		fprintf(stderr,
 	"Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n",
 			i, j, K, L);
+		return(1);
+	    }
 	}
 
 	/*
@@ -481,10 +540,12 @@
 	 * the 6 or 5th byte of j must be set
 	 */
 	else if (((i & 0x7) == 0) && ((j & 0x30) == 0)) {
-	    if (lastError != XML_ERR_INVALID_CHAR)
+	    if (lastError != XML_ERR_INVALID_CHAR) {
 		fprintf(stderr,
 	"Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n",
 			i, j, K, L);
+		return(1);
+	    }
 	}
 
         /*
@@ -493,10 +554,12 @@
 	else if (((value > 0xD7FF) && (value <0xE000)) ||
 	         ((value > 0xFFFD) && (value <0x10000)) ||
 		 (value > 0x10FFFF)) {
-	    if (lastError != XML_ERR_INVALID_CHAR)
+	    if (lastError != XML_ERR_INVALID_CHAR) {
 		fprintf(stderr,
 "Failed to detect invalid char 0x%04X for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n",
 			value, i, j, K, L);
+		return(1);
+	    }
 	}
 
 	/*
@@ -506,6 +569,7 @@
 	    fprintf(stderr,
 		"Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X\n",
 		    i, j, K);
+	    return(1);
 	}
 
 	/*
@@ -515,11 +579,13 @@
 	    fprintf(stderr,
     "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X: expect %d got %d\n",
 		i, j, data[2], value, c);
+	    return(1);
 	}
     }
     }
     }
     }
+    return(0);
 }
 
 /**
@@ -530,11 +596,12 @@
  * cover the full range of UTF-8 chars accepted by XML-1.0
  */
 
-static void testCharRanges(void) {
+static int testCharRanges(void) {
     char data[5];
     xmlParserCtxtPtr ctxt;
     xmlParserInputBufferPtr buf;
     xmlParserInputPtr input;
+    int test_ret = 0;
 
     memset(data, 0, 5);
 
@@ -545,17 +612,19 @@
     ctxt = xmlNewParserCtxt();
     if (ctxt == NULL) {
         fprintf(stderr, "Failed to allocate parser context\n");
-	return;
+	return(1);
     }
-    buf = xmlParserInputBufferCreateStatic(data, sizeof(data),
-                                           XML_CHAR_ENCODING_NONE);
+    buf = xmlParserInputBufferCreateMem(data, sizeof(data),
+                                        XML_CHAR_ENCODING_NONE);
     if (buf == NULL) {
         fprintf(stderr, "Failed to allocate input buffer\n");
+	test_ret = 1;
 	goto error;
     }
     input = xmlNewInputStream(ctxt);
     if (input == NULL) {
         xmlFreeParserInputBuffer(buf);
+	test_ret = 1;
 	goto error;
     }
     input->filename = NULL;
@@ -567,25 +636,28 @@
 
     printf("testing char range: 1");
     fflush(stdout);
-    testCharRangeByte1(ctxt, data);
+    test_ret += testCharRangeByte1(ctxt);
     printf(" 2");
     fflush(stdout);
-    testCharRangeByte2(ctxt, data);
+    test_ret += testCharRangeByte2(ctxt);
     printf(" 3");
     fflush(stdout);
-    testCharRangeByte3(ctxt, data);
+    test_ret += testCharRangeByte3(ctxt);
     printf(" 4");
     fflush(stdout);
-    testCharRangeByte4(ctxt, data);
+    test_ret += testCharRangeByte4(ctxt);
     printf(" done\n");
     fflush(stdout);
 
 error:
     xmlFreeParserCtxt(ctxt);
+    return(test_ret);
 }
 
 int main(void) {
 
+    int ret = 0;
+
     /*
      * this initialize the library and check potential ABI mismatches
      * between the version it was compiled for and the actual shared
@@ -602,8 +674,8 @@
     /*
      * Run the tests
      */
-    testCharRanges();
-    testDocumentRanges();
+    ret += testCharRanges();
+    ret += testDocumentRanges();
 
     /*
      * Cleanup function for the XML library.
@@ -613,5 +685,5 @@
      * this is to debug memory for regression tests
      */
     xmlMemoryDump();
-    return(0);
+    return(ret ? 1 : 0);
 }
diff --git a/testdict.c b/testdict.c
index 40bebd0..4d74552 100644
--- a/testdict.c
+++ b/testdict.c
@@ -159,7 +159,8 @@
 	fprintf(stderr, "Out of memory while creating sub-dictionary\n");
 	exit(1);
     }
-    memset(test2, 0, sizeof(test2));
+    /* Cast to avoid buggy warning on MSVC. */
+    memset((void *) test2, 0, sizeof(test2));
 
     /*
      * Fill in NB_STRINGS_MIN, at this point the dictionary should not grow
@@ -322,7 +323,8 @@
 	fprintf(stderr, "Out of memory while creating dictionary\n");
 	exit(1);
     }
-    memset(test1, 0, sizeof(test1));
+    /* Cast to avoid buggy warning on MSVC. */
+    memset((void *) test1, 0, sizeof(test1));
 
     /*
      * Fill in NB_STRINGS_MIN, at this point the dictionary should not grow
diff --git a/testlimits.c b/testlimits.c
index 059116a..0680f95 100644
--- a/testlimits.c
+++ b/testlimits.c
@@ -13,13 +13,8 @@
 #include "libxml.h"
 #include <stdio.h>
 
-#if !defined(_WIN32) || defined(__CYGWIN__)
-#include <unistd.h>
-#endif
 #include <string.h>
-#include <sys/types.h>
 #include <sys/stat.h>
-#include <fcntl.h>
 #include <time.h>
 
 #include <libxml/parser.h>
@@ -402,7 +397,7 @@
 static char testErrors[32769];
 static int testErrorsSize = 0;
 
-static void XMLCDECL
+static void
 channel(void *ctx  ATTRIBUTE_UNUSED, const char *msg, ...) {
     va_list args;
     int res;
@@ -1117,7 +1112,7 @@
  * Display and format a warning messages, gives file, line, position and
  * extra parameters.
  */
-static void XMLCDECL
+static void
 warningCallback(void *ctx ATTRIBUTE_UNUSED,
                 const char *msg ATTRIBUTE_UNUSED, ...)
 {
@@ -1134,7 +1129,7 @@
  * Display and format a error messages, gives file, line, position and
  * extra parameters.
  */
-static void XMLCDECL
+static void
 errorCallback(void *ctx ATTRIBUTE_UNUSED, const char *msg ATTRIBUTE_UNUSED,
               ...)
 {
@@ -1151,7 +1146,7 @@
  * Display and format a fatalError messages, gives file, line, position and
  * extra parameters.
  */
-static void XMLCDECL
+static void
 fatalErrorCallback(void *ctx ATTRIBUTE_UNUSED,
                    const char *msg ATTRIBUTE_UNUSED, ...)
 {
@@ -1261,19 +1256,15 @@
     int res = 0;
     xmlParserCtxtPtr ctxt;
     xmlDocPtr doc;
-    xmlSAXHandlerPtr old_sax;
 
     nb_tests++;
 
     maxlen = limit;
-    ctxt = xmlNewParserCtxt();
+    ctxt = xmlNewSAXParserCtxt(callbackSAX2Handler, NULL);
     if (ctxt == NULL) {
         fprintf(stderr, "Failed to create parser context\n");
 	return(1);
     }
-    old_sax = ctxt->sax;
-    ctxt->sax = callbackSAX2Handler;
-    ctxt->userData = NULL;
     doc = xmlCtxtReadFile(ctxt, filename, NULL, options);
 
     if (doc != NULL) {
@@ -1296,7 +1287,6 @@
         } else
             res = 0;
     }
-    ctxt->sax = old_sax;
     xmlFreeParserCtxt(ctxt);
 
     return(res);
diff --git a/testrecurse.c b/testrecurse.c
index 0cbe25a..a70ca34 100644
--- a/testrecurse.c
+++ b/testrecurse.c
@@ -13,20 +13,13 @@
 #include "libxml.h"
 #include <stdio.h>
 
-#if !defined(_WIN32) || defined(__CYGWIN__)
-#include <unistd.h>
-#endif
 #include <string.h>
-#include <sys/types.h>
 #include <sys/stat.h>
-#include <fcntl.h>
 
 #include <libxml/parser.h>
+#include <libxml/parserInternals.h>
 #include <libxml/tree.h>
 #include <libxml/uri.h>
-#ifdef LIBXML_READER_ENABLED
-#include <libxml/xmlreader.h>
-#endif
 
 /*
  * O_BINARY is just for Windows compatibility - if it isn't defined
@@ -38,6 +31,9 @@
 #define	RD_FLAGS	O_RDONLY
 #endif
 
+#define OPT_SAX         (1<<0)
+#define OPT_NO_SUBST    (1<<1)
+
 typedef int (*functest) (const char *filename, const char *result,
                          const char *error, int options);
 
@@ -56,10 +52,9 @@
 static int checkTestFile(const char *filename);
 
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
 
 #include <windows.h>
-#include <io.h>
 
 typedef struct
 {
@@ -158,17 +153,62 @@
 
 #include <libxml/xmlIO.h>
 
+typedef struct {
+    const char *URL;
+    const char *start;
+    const char *segment;
+    const char *finish;
+} xmlHugeDocParts;
 
-static const char *start = "<!DOCTYPE foo [\
-<!ENTITY f 'some internal data'> \
-<!ENTITY e '&f;&f;'> \
-<!ENTITY d '&e;&e;'> \
-]> \
-<foo>";
+static const xmlHugeDocParts hugeDocTable[] = {
+    {
+        "test/recurse/huge.xml",
 
-static const char *segment = "  <bar>&e; &f; &d;</bar>\n";
-static const char *finish = "</foo>";
+        "<!DOCTYPE foo ["
+        "<!ELEMENT foo (bar*)> "
+        "<!ELEMENT bar (#PCDATA)> "
+        "<!ATTLIST bar attr CDATA #IMPLIED> "
+        "<!ENTITY a SYSTEM 'ga.ent'> "
+        "<!ENTITY b SYSTEM 'gb.ent'> "
+        "<!ENTITY c SYSTEM 'gc.ent'> "
+        "<!ENTITY f 'some internal data'> "
+        "<!ENTITY e '&f;&f;'> "
+        "<!ENTITY d '&e;&e;'> "
+        "]> "
+        "<foo>",
 
+        "  <bar attr='&e; &f; &d;'>&a; &b; &c; &e; &f; &d;</bar>\n"
+        "  <bar>_123456789_123456789_123456789_123456789</bar>\n"
+        "  <bar>_123456789_123456789_123456789_123456789</bar>\n"
+        "  <bar>_123456789_123456789_123456789_123456789</bar>\n"
+        "  <bar>_123456789_123456789_123456789_123456789</bar>\n",
+
+        "</foo>"
+    },
+    {
+        "test/recurse/huge_dtd.dtd",
+
+        "<!ELEMENT foo (#PCDATA)>\n"
+        "<!ENTITY ent 'success'>\n"
+        "<!ENTITY % a SYSTEM 'pa.ent'>\n"
+        "<!ENTITY % b SYSTEM 'pb.ent'>\n"
+        "<!ENTITY % c SYSTEM 'pc.ent'>\n"
+        "<!ENTITY % d '<!-- comment -->'>\n"
+        "<!ENTITY % e '%d;%d;'>\n"
+        "<!ENTITY % f '%e;%e;'>\n",
+
+        "<!ENTITY ent '%a; %b; %c; %d; %e; %f;'>\n"
+        "%a; %b; %c; %d; %e; %f;\n"
+        "<!-- _123456789_123456789_123456789_123456789 -->\n"
+        "<!-- _123456789_123456789_123456789_123456789 -->\n"
+        "<!-- _123456789_123456789_123456789_123456789 -->\n",
+
+        ""
+    },
+    { NULL, NULL, NULL, NULL }
+};
+
+static const xmlHugeDocParts *hugeDocParts;
 static int curseg = 0;
 static const char *current;
 static int rlen;
@@ -177,14 +217,22 @@
  * hugeMatch:
  * @URI: an URI to test
  *
- * Check for an huge: query
+ * Check for a huge query
  *
  * Returns 1 if yes and 0 if another Input module should be used
  */
 static int
 hugeMatch(const char * URI) {
-    if ((URI != NULL) && (!strncmp(URI, "huge:", 4)))
-        return(1);
+    int i;
+
+    if (URI == NULL)
+        return(0);
+
+    for (i = 0; hugeDocTable[i].URL; i++) {
+        if (strcmp(URI, hugeDocTable[i].URL) == 0)
+            return(1);
+    }
+
     return(0);
 }
 
@@ -192,25 +240,36 @@
  * hugeOpen:
  * @URI: an URI to test
  *
- * Return a pointer to the huge: query handler, in this example simply
+ * Return a pointer to the huge query handler, in this example simply
  * the current pointer...
  *
  * Returns an Input context or NULL in case or error
  */
 static void *
 hugeOpen(const char * URI) {
-    if ((URI == NULL) || (strncmp(URI, "huge:", 4)))
+    int i;
+
+    if (URI == NULL)
         return(NULL);
-    rlen = strlen(start);
-    current = start;
-    return((void *) current);
+
+    for (i = 0; hugeDocTable[i].URL; i++) {
+        if (strcmp(URI, hugeDocTable[i].URL) == 0) {
+            hugeDocParts = hugeDocTable + i;
+            curseg = 0;
+            current = hugeDocParts->start;
+            rlen = strlen(current);
+            return((void *) current);
+        }
+    }
+
+    return(NULL);
 }
 
 /**
  * hugeClose:
  * @context: the read context
  *
- * Close the huge: query handler
+ * Close the huge query handler
  *
  * Returns 0 or -1 in case of error
  */
@@ -220,7 +279,7 @@
     return(0);
 }
 
-#define MAX_NODES 1000000
+#define MAX_NODES 1000
 
 /**
  * hugeRead:
@@ -228,7 +287,7 @@
  * @buffer: where to store data
  * @len: number of bytes to read
  *
- * Implement an huge: query read.
+ * Implement an huge query read.
  *
  * Returns the number of bytes read or -1 in case of error
  */
@@ -248,15 +307,11 @@
 	memcpy(buffer, current, len);
         curseg ++;
         if (curseg == MAX_NODES) {
-	    fprintf(stderr, "\n");
-            rlen = strlen(finish);
-            current = finish;
+            current = hugeDocParts->finish;
 	} else {
-	    if (curseg % (MAX_NODES / 10) == 0)
-	        fprintf(stderr, ".");
-            rlen = strlen(segment);
-            current = segment;
+            current = hugeDocParts->segment;
 	}
+        rlen = strlen(current);
     } else {
 	memcpy(buffer, current, len);
 	rlen -= len;
@@ -310,7 +365,7 @@
 static char testErrors[32769];
 static int testErrorsSize = 0;
 
-static void XMLCDECL
+static void
 channel(void *ctx  ATTRIBUTE_UNUSED, const char *msg, ...) {
     va_list args;
     int res;
@@ -589,6 +644,17 @@
     }
 }
 
+static void
+initSAX(xmlParserCtxtPtr ctxt) {
+    ctxt->sax->startElementNs = NULL;
+    ctxt->sax->endElementNs = NULL;
+    ctxt->sax->characters = NULL;
+    ctxt->sax->cdataBlock = NULL;
+    ctxt->sax->ignorableWhitespace = NULL;
+    ctxt->sax->processingInstruction = NULL;
+    ctxt->sax->comment = NULL;
+}
+
 /************************************************************************
  *									*
  *		File name and path utilities				*
@@ -643,7 +709,7 @@
     if (stat(filename, &buf) == -1)
         return(0);
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
     if (!(buf.st_mode & _S_IFREG))
         return(0);
 #else
@@ -676,19 +742,28 @@
 recursiveDetectTest(const char *filename,
              const char *result ATTRIBUTE_UNUSED,
              const char *err ATTRIBUTE_UNUSED,
-	     int options ATTRIBUTE_UNUSED) {
+	     int options) {
     xmlDocPtr doc;
     xmlParserCtxtPtr ctxt;
     int res = 0;
+    /*
+     * XML_PARSE_DTDVALID is the only way to load external entities
+     * without XML_PARSE_NOENT. The validation result doesn't matter
+     * anyway.
+     */
+    int parserOptions = XML_PARSE_DTDVALID;
 
     nb_tests++;
 
     ctxt = xmlNewParserCtxt();
+    if (options & OPT_SAX)
+        initSAX(ctxt);
+    if ((options & OPT_NO_SUBST) == 0)
+        parserOptions |= XML_PARSE_NOENT;
     /*
      * base of the test, parse with the old API
      */
-    doc = xmlCtxtReadFile(ctxt, filename, NULL,
-                          XML_PARSE_NOENT | XML_PARSE_DTDLOAD);
+    doc = xmlCtxtReadFile(ctxt, filename, NULL, parserOptions);
     if ((doc != NULL) || (ctxt->lastError.code != XML_ERR_ENTITY_LOOP)) {
         fprintf(stderr, "Failed to detect recursion in %s\n", filename);
 	xmlFreeParserCtxt(ctxt);
@@ -715,19 +790,23 @@
 notRecursiveDetectTest(const char *filename,
              const char *result ATTRIBUTE_UNUSED,
              const char *err ATTRIBUTE_UNUSED,
-	     int options ATTRIBUTE_UNUSED) {
+	     int options) {
     xmlDocPtr doc;
     xmlParserCtxtPtr ctxt;
     int res = 0;
+    int parserOptions = XML_PARSE_DTDLOAD;
 
     nb_tests++;
 
     ctxt = xmlNewParserCtxt();
+    if (options & OPT_SAX)
+        initSAX(ctxt);
+    if ((options & OPT_NO_SUBST) == 0)
+        parserOptions |= XML_PARSE_NOENT;
     /*
      * base of the test, parse with the old API
      */
-    doc = xmlCtxtReadFile(ctxt, filename, NULL,
-                          XML_PARSE_NOENT | XML_PARSE_DTDLOAD);
+    doc = xmlCtxtReadFile(ctxt, filename, NULL, parserOptions);
     if (doc == NULL) {
         fprintf(stderr, "Failed to parse correct file %s\n", filename);
 	xmlFreeParserCtxt(ctxt);
@@ -739,7 +818,6 @@
     return(res);
 }
 
-#ifdef LIBXML_READER_ENABLED
 /**
  * notRecursiveHugeTest:
  * @filename: the file to parse
@@ -755,32 +833,181 @@
 notRecursiveHugeTest(const char *filename ATTRIBUTE_UNUSED,
              const char *result ATTRIBUTE_UNUSED,
              const char *err ATTRIBUTE_UNUSED,
-	     int options ATTRIBUTE_UNUSED) {
-    xmlTextReaderPtr reader;
+	     int options) {
+    xmlParserCtxtPtr ctxt;
+    xmlDocPtr doc;
     int res = 0;
-    int ret;
+    int parserOptions = XML_PARSE_DTDVALID;
 
     nb_tests++;
 
-    reader = xmlReaderForFile("huge:test" , NULL,
-                              XML_PARSE_NOENT | XML_PARSE_DTDLOAD);
-    if (reader == NULL) {
-        fprintf(stderr, "Failed to open huge:test\n");
-	return(1);
-    }
-    ret = xmlTextReaderRead(reader);
-    while (ret == 1) {
-        ret = xmlTextReaderRead(reader);
-    }
-    if (ret != 0) {
-        fprintf(stderr, "Failed to parser huge:test with entities\n");
+    ctxt = xmlNewParserCtxt();
+    if (options & OPT_SAX)
+        initSAX(ctxt);
+    if ((options & OPT_NO_SUBST) == 0)
+        parserOptions |= XML_PARSE_NOENT;
+    doc = xmlCtxtReadFile(ctxt, "test/recurse/huge.xml", NULL, parserOptions);
+    if (doc == NULL) {
+        fprintf(stderr, "Failed to parse huge.xml\n");
 	res = 1;
+    } else {
+        xmlEntityPtr ent;
+        unsigned long fixed_cost = 20;
+        unsigned long allowed_expansion = 1000000;
+        unsigned long f_size = xmlStrlen(BAD_CAST "some internal data");
+        unsigned long e_size;
+        unsigned long d_size;
+        unsigned long total_size;
+
+        ent = xmlGetDocEntity(doc, BAD_CAST "e");
+        e_size = f_size * 2 +
+                 xmlStrlen(BAD_CAST "&f;") * 2 +
+                 fixed_cost * 2;
+        if (ent->expandedSize != e_size) {
+            fprintf(stderr, "Wrong size for entity e: %lu (expected %lu)\n",
+                    ent->expandedSize, e_size);
+            res = 1;
+        }
+
+        ent = xmlGetDocEntity(doc, BAD_CAST "b");
+        if (ent->expandedSize != e_size) {
+            fprintf(stderr, "Wrong size for entity b: %lu (expected %lu)\n",
+                    ent->expandedSize, e_size);
+            res = 1;
+        }
+
+        ent = xmlGetDocEntity(doc, BAD_CAST "d");
+        d_size = e_size * 2 +
+                 xmlStrlen(BAD_CAST "&e;") * 2 +
+                 fixed_cost * 2;
+        if (ent->expandedSize != d_size) {
+            fprintf(stderr, "Wrong size for entity d: %lu (expected %lu)\n",
+                    ent->expandedSize, d_size);
+            res = 1;
+        }
+
+        ent = xmlGetDocEntity(doc, BAD_CAST "c");
+        if (ent->expandedSize != d_size) {
+            fprintf(stderr, "Wrong size for entity c: %lu (expected %lu)\n",
+                    ent->expandedSize, d_size);
+            res = 1;
+        }
+
+        if (ctxt->sizeentcopy < allowed_expansion) {
+            fprintf(stderr, "Total entity size too small: %lu\n",
+                    ctxt->sizeentcopy);
+            res = 1;
+        }
+
+        total_size = (f_size + e_size + d_size + 3 * fixed_cost) *
+                     (MAX_NODES - 1) * 3;
+        if (ctxt->sizeentcopy != total_size) {
+            fprintf(stderr, "Wrong total entity size: %lu (expected %lu)\n",
+                    ctxt->sizeentcopy, total_size);
+            res = 1;
+        }
+
+        if (ctxt->sizeentities != 30) {
+            fprintf(stderr, "Wrong parsed entity size: %lu (expected %lu)\n",
+                    ctxt->sizeentities, 30lu);
+            res = 1;
+        }
     }
-    xmlFreeTextReader(reader);
+
+    xmlFreeDoc(doc);
+    xmlFreeParserCtxt(ctxt);
 
     return(res);
 }
-#endif
+
+/**
+ * notRecursiveHugeTest:
+ * @filename: the file to parse
+ * @result: the file with expected result
+ * @err: the file with error messages: unused
+ *
+ * Parse a memory generated file
+ * good cases
+ *
+ * Returns 0 in case of success, an error code otherwise
+ */
+static int
+hugeDtdTest(const char *filename ATTRIBUTE_UNUSED,
+            const char *result ATTRIBUTE_UNUSED,
+            const char *err ATTRIBUTE_UNUSED,
+            int options) {
+    xmlParserCtxtPtr ctxt;
+    xmlDocPtr doc;
+    int res = 0;
+    int parserOptions = XML_PARSE_DTDVALID;
+
+    nb_tests++;
+
+    ctxt = xmlNewParserCtxt();
+    if (options & OPT_SAX)
+        initSAX(ctxt);
+    if ((options & OPT_NO_SUBST) == 0)
+        parserOptions |= XML_PARSE_NOENT;
+    doc = xmlCtxtReadFile(ctxt, "test/recurse/huge_dtd.xml", NULL,
+                          parserOptions);
+    if (doc == NULL) {
+        fprintf(stderr, "Failed to parse huge_dtd.xml\n");
+	res = 1;
+    } else {
+        unsigned long fixed_cost = 20;
+        unsigned long allowed_expansion = 1000000;
+        unsigned long a_size = xmlStrlen(BAD_CAST "<!-- comment -->");
+        unsigned long b_size;
+        unsigned long c_size;
+        unsigned long e_size;
+        unsigned long f_size;
+        unsigned long total_size;
+
+        if (ctxt->sizeentcopy < allowed_expansion) {
+            fprintf(stderr, "Total entity size too small: %lu\n",
+                    ctxt->sizeentcopy);
+            res = 1;
+        }
+
+        b_size = (a_size + strlen("&a;") + fixed_cost) * 2;
+        c_size = (b_size + strlen("&b;") + fixed_cost) * 2;
+        /*
+         * Internal parameter entites are substitued eagerly and
+         * need different accounting.
+         */
+        e_size = a_size * 2;
+        f_size = e_size * 2;
+        total_size = /* internal */
+                     e_size + f_size + fixed_cost * 4 +
+                     (a_size + e_size + f_size + fixed_cost * 3) *
+                     (MAX_NODES - 1) * 2 +
+                     /* external */
+                     (a_size + b_size + c_size + fixed_cost * 3) *
+                     (MAX_NODES - 1) * 2 +
+                     /* final reference in main doc */
+                     strlen("success") + fixed_cost;
+        if (ctxt->sizeentcopy != total_size) {
+            fprintf(stderr, "Wrong total entity size: %lu (expected %lu)\n",
+                    ctxt->sizeentcopy, total_size);
+            res = 1;
+        }
+
+        total_size = strlen(hugeDocParts->start) +
+                     strlen(hugeDocParts->segment) * (MAX_NODES - 1) +
+                     strlen(hugeDocParts->finish) +
+                     28;
+        if (ctxt->sizeentities != total_size) {
+            fprintf(stderr, "Wrong parsed entity size: %lu (expected %lu)\n",
+                    ctxt->sizeentities, total_size);
+            res = 1;
+        }
+    }
+
+    xmlFreeDoc(doc);
+    xmlFreeParserCtxt(ctxt);
+
+    return(res);
+}
 
 /************************************************************************
  *									*
@@ -793,14 +1020,36 @@
     { "Parsing recursive test cases" ,
       recursiveDetectTest, "./test/recurse/lol*.xml", NULL, NULL, NULL,
       0 },
+    { "Parsing recursive test cases (no substitution)" ,
+      recursiveDetectTest, "./test/recurse/lol*.xml", NULL, NULL, NULL,
+      OPT_NO_SUBST },
+    { "Parsing recursive test cases (SAX)" ,
+      recursiveDetectTest, "./test/recurse/lol*.xml", NULL, NULL, NULL,
+      OPT_SAX },
+    { "Parsing recursive test cases (SAX, no substitution)" ,
+      recursiveDetectTest, "./test/recurse/lol*.xml", NULL, NULL, NULL,
+      OPT_SAX | OPT_NO_SUBST },
     { "Parsing non-recursive test cases" ,
       notRecursiveDetectTest, "./test/recurse/good*.xml", NULL, NULL, NULL,
       0 },
-#ifdef LIBXML_READER_ENABLED
+    { "Parsing non-recursive test cases (SAX)" ,
+      notRecursiveDetectTest, "./test/recurse/good*.xml", NULL, NULL, NULL,
+      OPT_SAX },
     { "Parsing non-recursive huge case" ,
       notRecursiveHugeTest, NULL, NULL, NULL, NULL,
       0 },
-#endif
+    { "Parsing non-recursive huge case (no substitution)" ,
+      notRecursiveHugeTest, NULL, NULL, NULL, NULL,
+      OPT_NO_SUBST },
+    { "Parsing non-recursive huge case (SAX)" ,
+      notRecursiveHugeTest, NULL, NULL, NULL, NULL,
+      OPT_SAX },
+    { "Parsing non-recursive huge case (SAX, no substitution)" ,
+      notRecursiveHugeTest, NULL, NULL, NULL, NULL,
+      OPT_SAX | OPT_NO_SUBST },
+    { "Parsing non-recursive huge DTD case" ,
+      hugeDtdTest, NULL, NULL, NULL, NULL,
+      0 },
     {NULL, NULL, NULL, NULL, NULL, NULL, 0}
 };
 
diff --git a/threads.c b/threads.c
index 42ab82f..56a917e 100644
--- a/threads.c
+++ b/threads.c
@@ -11,50 +11,54 @@
 #include "libxml.h"
 
 #include <string.h>
+#include <stdlib.h>
 
 #include <libxml/threads.h>
 #include <libxml/globals.h>
 
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_PTHREAD_H
-#include <pthread.h>
-#elif defined HAVE_WIN32_THREADS
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#ifndef HAVE_COMPILER_TLS
-#include <process.h>
-#endif
-#endif
-
-#ifdef HAVE_BEOS_THREADS
-#include <OS.h>
-#include <TLS.h>
-#endif
-
 #if defined(SOLARIS)
 #include <note.h>
 #endif
 
+#include "private/dict.h"
+#include "private/threads.h"
+
 /* #define DEBUG_THREADS */
 
-#ifdef HAVE_PTHREAD_H
+#if defined(HAVE_POSIX_THREADS) && \
+    defined(__GLIBC__) && \
+    __GLIBC__ * 100 + __GLIBC_MINOR__ >= 234
 
-#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 303) && \
-    defined(__GLIBC__) && defined(__linux__)
+/*
+ * The modern way available since glibc 2.32.
+ *
+ * The check above is for glibc 2.34 which merged the pthread symbols into
+ * libc. Since we still allow linking without pthread symbols (see below),
+ * this only works if pthread symbols are guaranteed to be available.
+ */
 
-static int libxml_is_threaded = -1;
+#include <sys/single_threaded.h>
 
-#define XML_PTHREAD_WEAK
+#define XML_IS_THREADED() (!__libc_single_threaded)
 
-#pragma weak pthread_once
+#elif defined(HAVE_POSIX_THREADS) && \
+      defined(__GLIBC__) && \
+      defined(__GNUC__)
+
+/*
+ * The traditional way to check for single-threaded applications with
+ * glibc was to check whether the separate libpthread library is
+ * linked in. This works by not linking libxml2 with libpthread (see
+ * BASE_THREAD_LIBS in configure.ac and Makefile.am) and declaring
+ * pthread functions as weak symbols.
+ *
+ * In glibc 2.34, the pthread symbols were moved from libpthread to libc,
+ * so this doesn't work anymore.
+ *
+ * At some point, this legacy code and the BASE_THREAD_LIBS hack in
+ * configure.ac can probably be removed.
+ */
+
 #pragma weak pthread_getspecific
 #pragma weak pthread_setspecific
 #pragma weak pthread_key_create
@@ -72,13 +76,16 @@
 #pragma weak pthread_key_delete
 #pragma weak pthread_cond_signal
 
-#else /* __GNUC__, __GLIBC__, __linux__ */
+#define XML_PTHREAD_WEAK
+#define XML_IS_THREADED() libxml_is_threaded
 
-static int libxml_is_threaded = 1;
+static int libxml_is_threaded = -1;
 
-#endif /* __GNUC__, __GLIBC__, __linux__ */
+#else /* other POSIX platforms */
 
-#endif /* HAVE_PTHREAD_H */
+#define XML_IS_THREADED() 1
+
+#endif
 
 /*
  * TODO: this module still uses malloc/free and not xmlMalloc/xmlFree
@@ -87,26 +94,10 @@
  */
 
 /*
- * xmlMutex are a simple mutual exception locks
- */
-struct _xmlMutex {
-#ifdef HAVE_PTHREAD_H
-    pthread_mutex_t lock;
-#elif defined HAVE_WIN32_THREADS
-    HANDLE mutex;
-#elif defined HAVE_BEOS_THREADS
-    sem_id sem;
-    thread_id tid;
-#else
-    int empty;
-#endif
-};
-
-/*
  * xmlRMutex are reentrant mutual exception locks
  */
 struct _xmlRMutex {
-#ifdef HAVE_PTHREAD_H
+#ifdef HAVE_POSIX_THREADS
     pthread_mutex_t lock;
     unsigned int held;
     unsigned int waiters;
@@ -114,11 +105,6 @@
     pthread_cond_t cv;
 #elif defined HAVE_WIN32_THREADS
     CRITICAL_SECTION cs;
-    unsigned int count;
-#elif defined HAVE_BEOS_THREADS
-    xmlMutexPtr lock;
-    thread_id tid;
-    int32 count;
 #else
     int empty;
 #endif
@@ -130,11 +116,9 @@
  *   - globalkey used for per-thread data
  */
 
-#ifdef HAVE_PTHREAD_H
+#ifdef HAVE_POSIX_THREADS
 static pthread_key_t globalkey;
 static pthread_t mainthread;
-static pthread_once_t once_control = PTHREAD_ONCE_INIT;
-static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
 static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
 #elif defined HAVE_WIN32_THREADS
 #if defined(HAVE_COMPILER_TLS)
@@ -144,26 +128,28 @@
 static DWORD globalkey = TLS_OUT_OF_INDEXES;
 #endif /* HAVE_COMPILER_TLS */
 static DWORD mainthread;
-static struct {
-    DWORD done;
-    LONG control;
-} run_once = { 0, 0};
 static volatile LPCRITICAL_SECTION global_init_lock = NULL;
-
-/* endif HAVE_WIN32_THREADS */
-#elif defined HAVE_BEOS_THREADS
-int32 globalkey = 0;
-thread_id mainthread = 0;
-int32 run_once_init = 0;
-static int32 global_init_lock = -1;
-static vint32 global_init_count = 0;
 #endif
 
 static xmlRMutexPtr xmlLibraryLock = NULL;
 
-#ifdef LIBXML_THREAD_ENABLED
-static void xmlOnceInit(void);
+/**
+ * xmlInitMutex:
+ * @mutex:  the mutex
+ *
+ * Initialize a mutex.
+ */
+void
+xmlInitMutex(xmlMutexPtr mutex)
+{
+#ifdef HAVE_POSIX_THREADS
+    pthread_mutex_init(&mutex->lock, NULL);
+#elif defined HAVE_WIN32_THREADS
+    InitializeCriticalSection(&mutex->cs);
+#else
+    (void) mutex;
 #endif
+}
 
 /**
  * xmlNewMutex:
@@ -180,27 +166,33 @@
 
     if ((tok = malloc(sizeof(xmlMutex))) == NULL)
         return (NULL);
-#ifdef HAVE_PTHREAD_H
-    if (libxml_is_threaded != 0)
-        pthread_mutex_init(&tok->lock, NULL);
-#elif defined HAVE_WIN32_THREADS
-    tok->mutex = CreateMutex(NULL, FALSE, NULL);
-#elif defined HAVE_BEOS_THREADS
-    if ((tok->sem = create_sem(1, "xmlMutex")) < B_OK) {
-        free(tok);
-        return NULL;
-    }
-    tok->tid = -1;
-#endif
+    xmlInitMutex(tok);
     return (tok);
 }
 
 /**
+ * xmlCleanupMutex:
+ * @mutex:  the simple mutex
+ *
+ * Reclaim resources associated with a mutex.
+ */
+void
+xmlCleanupMutex(xmlMutexPtr mutex)
+{
+#ifdef HAVE_POSIX_THREADS
+    pthread_mutex_destroy(&mutex->lock);
+#elif defined HAVE_WIN32_THREADS
+    DeleteCriticalSection(&mutex->cs);
+#else
+    (void) mutex;
+#endif
+}
+
+/**
  * xmlFreeMutex:
  * @tok:  the simple mutex
  *
- * xmlFreeMutex() is used to reclaim resources associated with a libxml2 token
- * struct.
+ * Free a mutex.
  */
 void
 xmlFreeMutex(xmlMutexPtr tok)
@@ -208,14 +200,7 @@
     if (tok == NULL)
         return;
 
-#ifdef HAVE_PTHREAD_H
-    if (libxml_is_threaded != 0)
-        pthread_mutex_destroy(&tok->lock);
-#elif defined HAVE_WIN32_THREADS
-    CloseHandle(tok->mutex);
-#elif defined HAVE_BEOS_THREADS
-    delete_sem(tok->sem);
-#endif
+    xmlCleanupMutex(tok);
     free(tok);
 }
 
@@ -230,19 +215,15 @@
 {
     if (tok == NULL)
         return;
-#ifdef HAVE_PTHREAD_H
-    if (libxml_is_threaded != 0)
+#ifdef HAVE_POSIX_THREADS
+    /*
+     * This assumes that __libc_single_threaded won't change while the
+     * lock is held.
+     */
+    if (XML_IS_THREADED() != 0)
         pthread_mutex_lock(&tok->lock);
 #elif defined HAVE_WIN32_THREADS
-    WaitForSingleObject(tok->mutex, INFINITE);
-#elif defined HAVE_BEOS_THREADS
-    if (acquire_sem(tok->sem) != B_NO_ERROR) {
-#ifdef DEBUG_THREADS
-        xmlGenericError(xmlGenericErrorContext,
-                        "xmlMutexLock():BeOS:Couldn't acquire semaphore\n");
-#endif
-    }
-    tok->tid = find_thread(NULL);
+    EnterCriticalSection(&tok->cs);
 #endif
 
 }
@@ -258,16 +239,11 @@
 {
     if (tok == NULL)
         return;
-#ifdef HAVE_PTHREAD_H
-    if (libxml_is_threaded != 0)
+#ifdef HAVE_POSIX_THREADS
+    if (XML_IS_THREADED() != 0)
         pthread_mutex_unlock(&tok->lock);
 #elif defined HAVE_WIN32_THREADS
-    ReleaseMutex(tok->mutex);
-#elif defined HAVE_BEOS_THREADS
-    if (tok->tid == find_thread(NULL)) {
-        tok->tid = -1;
-        release_sem(tok->sem);
-    }
+    LeaveCriticalSection(&tok->cs);
 #endif
 }
 
@@ -288,22 +264,13 @@
 
     if ((tok = malloc(sizeof(xmlRMutex))) == NULL)
         return (NULL);
-#ifdef HAVE_PTHREAD_H
-    if (libxml_is_threaded != 0) {
-        pthread_mutex_init(&tok->lock, NULL);
-        tok->held = 0;
-        tok->waiters = 0;
-        pthread_cond_init(&tok->cv, NULL);
-    }
+#ifdef HAVE_POSIX_THREADS
+    pthread_mutex_init(&tok->lock, NULL);
+    tok->held = 0;
+    tok->waiters = 0;
+    pthread_cond_init(&tok->cv, NULL);
 #elif defined HAVE_WIN32_THREADS
     InitializeCriticalSection(&tok->cs);
-    tok->count = 0;
-#elif defined HAVE_BEOS_THREADS
-    if ((tok->lock = xmlNewMutex()) == NULL) {
-        free(tok);
-        return NULL;
-    }
-    tok->count = 0;
 #endif
     return (tok);
 }
@@ -320,15 +287,11 @@
 {
     if (tok == NULL)
         return;
-#ifdef HAVE_PTHREAD_H
-    if (libxml_is_threaded != 0) {
-        pthread_mutex_destroy(&tok->lock);
-        pthread_cond_destroy(&tok->cv);
-    }
+#ifdef HAVE_POSIX_THREADS
+    pthread_mutex_destroy(&tok->lock);
+    pthread_cond_destroy(&tok->cv);
 #elif defined HAVE_WIN32_THREADS
     DeleteCriticalSection(&tok->cs);
-#elif defined HAVE_BEOS_THREADS
-    xmlFreeMutex(tok->lock);
 #endif
     free(tok);
 }
@@ -344,8 +307,8 @@
 {
     if (tok == NULL)
         return;
-#ifdef HAVE_PTHREAD_H
-    if (libxml_is_threaded == 0)
+#ifdef HAVE_POSIX_THREADS
+    if (XML_IS_THREADED() == 0)
         return;
 
     pthread_mutex_lock(&tok->lock);
@@ -366,15 +329,6 @@
     pthread_mutex_unlock(&tok->lock);
 #elif defined HAVE_WIN32_THREADS
     EnterCriticalSection(&tok->cs);
-    tok->count++;
-#elif defined HAVE_BEOS_THREADS
-    if (tok->lock->tid == find_thread(NULL)) {
-        tok->count++;
-        return;
-    } else {
-        xmlMutexLock(tok->lock);
-        tok->count = 1;
-    }
 #endif
 }
 
@@ -389,8 +343,8 @@
 {
     if (tok == NULL)
         return;
-#ifdef HAVE_PTHREAD_H
-    if (libxml_is_threaded == 0)
+#ifdef HAVE_POSIX_THREADS
+    if (XML_IS_THREADED() == 0)
         return;
 
     pthread_mutex_lock(&tok->lock);
@@ -402,18 +356,7 @@
     }
     pthread_mutex_unlock(&tok->lock);
 #elif defined HAVE_WIN32_THREADS
-    if (tok->count > 0) {
-	tok->count--;
-        LeaveCriticalSection(&tok->cs);
-    }
-#elif defined HAVE_BEOS_THREADS
-    if (tok->lock->tid == find_thread(NULL)) {
-        tok->count--;
-        if (tok->count == 0) {
-            xmlMutexUnlock(tok->lock);
-        }
-        return;
-    }
+    LeaveCriticalSection(&tok->cs);
 #endif
 }
 
@@ -427,12 +370,15 @@
 __xmlGlobalInitMutexLock(void)
 {
     /* Make sure the global init lock is initialized and then lock it. */
-#ifdef HAVE_PTHREAD_H
-    /* The mutex is statically initialized, so we just lock it. */
+#ifdef HAVE_POSIX_THREADS
 #ifdef XML_PTHREAD_WEAK
     if (pthread_mutex_lock == NULL)
         return;
-#endif /* XML_PTHREAD_WEAK */
+#else
+    if (XML_IS_THREADED() == 0)
+        return;
+#endif
+    /* The mutex is statically initialized, so we just lock it. */
     pthread_mutex_lock(&global_init_lock);
 #elif defined HAVE_WIN32_THREADS
     LPCRITICAL_SECTION cs;
@@ -467,52 +413,25 @@
 
     /* Lock the chosen critical section */
     EnterCriticalSection(global_init_lock);
-#elif defined HAVE_BEOS_THREADS
-    int32 sem;
-
-    /* Allocate a new semaphore */
-    sem = create_sem(1, "xmlGlobalinitMutex");
-
-    while (global_init_lock == -1) {
-        if (atomic_add(&global_init_count, 1) == 0) {
-            global_init_lock = sem;
-        } else {
-            snooze(1);
-            atomic_add(&global_init_count, -1);
-        }
-    }
-
-    /* If another thread successfully recorded its critical
-     * section in the global_init_lock then discard the one
-     * allocated by this thread. */
-    if (global_init_lock != sem)
-        delete_sem(sem);
-
-    /* Acquire the chosen semaphore */
-    if (acquire_sem(global_init_lock) != B_NO_ERROR) {
-#ifdef DEBUG_THREADS
-        xmlGenericError(xmlGenericErrorContext,
-                        "xmlGlobalInitMutexLock():BeOS:Couldn't acquire semaphore\n");
-#endif
-    }
 #endif
 }
 
 void
 __xmlGlobalInitMutexUnlock(void)
 {
-#ifdef HAVE_PTHREAD_H
+#ifdef HAVE_POSIX_THREADS
 #ifdef XML_PTHREAD_WEAK
-    if (pthread_mutex_unlock == NULL)
+    if (pthread_mutex_lock == NULL)
         return;
-#endif /* XML_PTHREAD_WEAK */
+#else
+    if (XML_IS_THREADED() == 0)
+        return;
+#endif
     pthread_mutex_unlock(&global_init_lock);
 #elif defined HAVE_WIN32_THREADS
     if (global_init_lock != NULL) {
 	LeaveCriticalSection(global_init_lock);
     }
-#elif defined HAVE_BEOS_THREADS
-    release_sem(global_init_lock);
 #endif
 }
 
@@ -525,7 +444,7 @@
 void
 __xmlGlobalInitMutexDestroy(void)
 {
-#ifdef HAVE_PTHREAD_H
+#ifdef HAVE_POSIX_THREADS
 #elif defined HAVE_WIN32_THREADS
     if (global_init_lock != NULL) {
         DeleteCriticalSection(global_init_lock);
@@ -590,7 +509,7 @@
 }
 #endif /* LIBXML_THREAD_ENABLED */
 
-#ifdef HAVE_PTHREAD_H
+#ifdef HAVE_POSIX_THREADS
 #elif defined HAVE_WIN32_THREADS
 #if !defined(HAVE_COMPILER_TLS)
 #if defined(LIBXML_STATIC) && !defined(LIBXML_STATIC_FOR_DLL)
@@ -599,7 +518,7 @@
     void *memory;
 } xmlGlobalStateCleanupHelperParams;
 
-static void XMLCDECL
+static void
 xmlGlobalStateCleanupHelper(void *p)
 {
     xmlGlobalStateCleanupHelperParams *params =
@@ -625,27 +544,11 @@
 #endif /* HAVE_COMPILER_TLS */
 #endif /* HAVE_WIN32_THREADS */
 
-#if defined HAVE_BEOS_THREADS
-
-/**
- * xmlGlobalStateCleanup:
- * @data: unused parameter
- *
- * Used for Beos only
- */
-void
-xmlGlobalStateCleanup(void *data)
-{
-    void *globalval = tls_get(globalkey);
-
-    if (globalval != NULL)
-        xmlFreeGlobalState(globalval);
-}
-#endif
-
 /**
  * xmlGetGlobalState:
  *
+ * DEPRECATED: Internal function, do not use.
+ *
  * xmlGetGlobalState() is called to retrieve the global state for a thread.
  *
  * Returns the thread global state or NULL in case of error
@@ -653,14 +556,12 @@
 xmlGlobalStatePtr
 xmlGetGlobalState(void)
 {
-#ifdef HAVE_PTHREAD_H
+#ifdef HAVE_POSIX_THREADS
     xmlGlobalState *globalval;
 
-    if (libxml_is_threaded == 0)
+    if (XML_IS_THREADED() == 0)
         return (NULL);
 
-    pthread_once(&once_control, xmlOnceInit);
-
     if ((globalval = (xmlGlobalState *)
          pthread_getspecific(globalkey)) == NULL) {
         xmlGlobalState *tsd = xmlNewGlobalState();
@@ -681,8 +582,6 @@
 #else /* HAVE_COMPILER_TLS */
     xmlGlobalState *globalval;
     xmlGlobalStateCleanupHelperParams *p;
-
-    xmlOnceInit();
 #if defined(LIBXML_STATIC) && !defined(LIBXML_STATIC_FOR_DLL)
     globalval = (xmlGlobalState *) TlsGetValue(globalkey);
 #else
@@ -725,21 +624,6 @@
     }
     return (globalval);
 #endif /* HAVE_COMPILER_TLS */
-#elif defined HAVE_BEOS_THREADS
-    xmlGlobalState *globalval;
-
-    xmlOnceInit();
-
-    if ((globalval = (xmlGlobalState *) tls_get(globalkey)) == NULL) {
-        xmlGlobalState *tsd = xmlNewGlobalState();
-	if (tsd == NULL)
-	    return (NULL);
-
-        tls_set(globalkey, tsd);
-        on_exit_thread(xmlGlobalStateCleanup, NULL);
-        return (tsd);
-    }
-    return (globalval);
 #else
     return (NULL);
 #endif
@@ -754,6 +638,8 @@
 /**
  * xmlGetThreadId:
  *
+ * DEPRECATED: Internal function, do not use.
+ *
  * xmlGetThreadId() find the current thread ID number
  * Note that this is likely to be broken on some platforms using pthreads
  * as the specification doesn't mandate pthread_t to be an integer type
@@ -763,11 +649,11 @@
 int
 xmlGetThreadId(void)
 {
-#ifdef HAVE_PTHREAD_H
+#ifdef HAVE_POSIX_THREADS
     pthread_t id;
     int ret;
 
-    if (libxml_is_threaded == 0)
+    if (XML_IS_THREADED() == 0)
         return (0);
     id = pthread_self();
     /* horrible but preserves compat, see warning above */
@@ -775,8 +661,6 @@
     return (ret);
 #elif defined HAVE_WIN32_THREADS
     return GetCurrentThreadId();
-#elif defined HAVE_BEOS_THREADS
-    return find_thread(NULL);
 #else
     return ((int) 0);
 #endif
@@ -785,6 +669,8 @@
 /**
  * xmlIsMainThread:
  *
+ * DEPRECATED: Internal function, do not use.
+ *
  * xmlIsMainThread() check whether the current thread is the main thread.
  *
  * Returns 1 if the current thread is the main thread, 0 otherwise
@@ -792,27 +678,17 @@
 int
 xmlIsMainThread(void)
 {
-#ifdef HAVE_PTHREAD_H
-    if (libxml_is_threaded == -1)
-        xmlInitThreads();
-    if (libxml_is_threaded == 0)
-        return (1);
-    pthread_once(&once_control, xmlOnceInit);
-#elif defined HAVE_WIN32_THREADS
-    xmlOnceInit();
-#elif defined HAVE_BEOS_THREADS
-    xmlOnceInit();
-#endif
+    xmlInitParser();
 
 #ifdef DEBUG_THREADS
     xmlGenericError(xmlGenericErrorContext, "xmlIsMainThread()\n");
 #endif
-#ifdef HAVE_PTHREAD_H
+#ifdef HAVE_POSIX_THREADS
+    if (XML_IS_THREADED() == 0)
+        return (1);
     return (pthread_equal(mainthread,pthread_self()));
 #elif defined HAVE_WIN32_THREADS
     return (mainthread == GetCurrentThreadId());
-#elif defined HAVE_BEOS_THREADS
-    return (mainthread == find_thread(NULL));
 #else
     return (1);
 #endif
@@ -851,16 +727,31 @@
 /**
  * xmlInitThreads:
  *
- * xmlInitThreads() is used to to initialize all the thread related
- * data of the libxml2 library.
+ * DEPRECATED: Alias for xmlInitParser.
  */
 void
 xmlInitThreads(void)
 {
-#ifdef HAVE_PTHREAD_H
+    xmlInitParser();
+}
+
+/**
+ * xmlInitThreadsInternal:
+ *
+ * Used to to initialize all the thread related data.
+ */
+void
+xmlInitThreadsInternal(void)
+{
+#ifdef HAVE_POSIX_THREADS
 #ifdef XML_PTHREAD_WEAK
-    if (libxml_is_threaded == -1) {
-        if ((pthread_once != NULL) &&
+    /*
+     * This is somewhat unreliable since libpthread could be loaded
+     * later with dlopen() and threads could be created. But it's
+     * long-standing behavior and hard to work around.
+     */
+    if (libxml_is_threaded == -1)
+        libxml_is_threaded =
             (pthread_getspecific != NULL) &&
             (pthread_setspecific != NULL) &&
             (pthread_key_create != NULL) &&
@@ -872,48 +763,60 @@
             (pthread_cond_init != NULL) &&
             (pthread_cond_destroy != NULL) &&
             (pthread_cond_wait != NULL) &&
-            (pthread_equal != NULL) &&
+            /*
+             * pthread_equal can be inline, resuting in -Waddress warnings.
+             * Let's assume it's available if all the other functions are.
+             */
+            /* (pthread_equal != NULL) && */
             (pthread_self != NULL) &&
-            (pthread_cond_signal != NULL)) {
-            libxml_is_threaded = 1;
-
-/* fprintf(stderr, "Running multithreaded\n"); */
-        } else {
-
-/* fprintf(stderr, "Running without multithread\n"); */
-            libxml_is_threaded = 0;
-        }
-    }
+            (pthread_cond_signal != NULL);
+    if (libxml_is_threaded == 0)
+        return;
 #endif /* XML_PTHREAD_WEAK */
+    pthread_key_create(&globalkey, xmlFreeGlobalState);
+    mainthread = pthread_self();
+#elif defined(HAVE_WIN32_THREADS)
+#if !defined(HAVE_COMPILER_TLS)
+#if !defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL)
+    InitializeCriticalSection(&cleanup_helpers_cs);
+#endif
+    globalkey = TlsAlloc();
+#endif
+    mainthread = GetCurrentThreadId();
 #endif
 }
 
 /**
  * xmlCleanupThreads:
  *
- * xmlCleanupThreads() is used to to cleanup all the thread related
- * data of the libxml2 library once processing has ended.
- *
- * WARNING: if your application is multithreaded or has plugin support
- *          calling this may crash the application if another thread or
- *          a plugin is still using libxml2. It's sometimes very hard to
- *          guess if libxml2 is in use in the application, some libraries
- *          or plugins may use it without notice. In case of doubt abstain
- *          from calling this function or do it just before calling exit()
- *          to avoid leak reports from valgrind !
+ * DEPRECATED: This function is a no-op. Call xmlCleanupParser
+ * to free global state but see the warnings there. xmlCleanupParser
+ * should be only called once at program exit. In most cases, you don't
+ * have call cleanup functions at all.
  */
 void
 xmlCleanupThreads(void)
 {
-#ifdef DEBUG_THREADS
-    xmlGenericError(xmlGenericErrorContext, "xmlCleanupThreads()\n");
-#endif
-#ifdef HAVE_PTHREAD_H
-    if (libxml_is_threaded != 0)
-        pthread_key_delete(globalkey);
-    once_control = once_control_init;
-#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
+}
+
+/**
+ * xmlCleanupThreadsInternal:
+ *
+ * Used to to cleanup all the thread related data.
+ */
+void
+xmlCleanupThreadsInternal(void)
+{
+#ifdef HAVE_POSIX_THREADS
+#ifdef XML_PTHREAD_WEAK
+    if (libxml_is_threaded == 0)
+        return;
+#endif /* XML_PTHREAD_WEAK */
+    pthread_key_delete(globalkey);
+#elif defined(HAVE_WIN32_THREADS)
+#if !defined(HAVE_COMPILER_TLS)
     if (globalkey != TLS_OUT_OF_INDEXES) {
+#if !defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL)
         xmlGlobalStateCleanupHelperParams *p;
 
         EnterCriticalSection(&cleanup_helpers_cs);
@@ -927,61 +830,16 @@
         }
         cleanup_helpers_head = 0;
         LeaveCriticalSection(&cleanup_helpers_cs);
+#endif
         TlsFree(globalkey);
         globalkey = TLS_OUT_OF_INDEXES;
     }
+#if !defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL)
     DeleteCriticalSection(&cleanup_helpers_cs);
 #endif
-}
-
-#ifdef LIBXML_THREAD_ENABLED
-
-/**
- * xmlOnceInit
- *
- * xmlOnceInit() is used to initialize the value of mainthread for use
- * in other routines. This function should only be called using
- * pthread_once() in association with the once_control variable to ensure
- * that the function is only called once. See man pthread_once for more
- * details.
- */
-static void
-xmlOnceInit(void)
-{
-#ifdef HAVE_PTHREAD_H
-    (void) pthread_key_create(&globalkey, xmlFreeGlobalState);
-    mainthread = pthread_self();
-    __xmlInitializeDict();
-#elif defined(HAVE_WIN32_THREADS)
-    if (!run_once.done) {
-        if (InterlockedIncrement(&run_once.control) == 1) {
-#if !defined(HAVE_COMPILER_TLS)
-#if !defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL)
-            InitializeCriticalSection(&cleanup_helpers_cs);
 #endif
-            globalkey = TlsAlloc();
-#endif
-            mainthread = GetCurrentThreadId();
-	    __xmlInitializeDict();
-            run_once.done = 1;
-        } else {
-            /* Another thread is working; give up our slice and
-             * wait until they're done. */
-            while (!run_once.done)
-                Sleep(0);
-        }
-    }
-#elif defined HAVE_BEOS_THREADS
-    if (atomic_add(&run_once_init, 1) == 0) {
-        globalkey = tls_allocate();
-        tls_set(globalkey, NULL);
-        mainthread = find_thread(NULL);
-	__xmlInitializeDict();
-    } else
-        atomic_add(&run_once_init, -1);
 #endif
 }
-#endif
 
 /**
  * DllMain:
@@ -994,10 +852,10 @@
  *
  * Returns TRUE always
  */
-#ifdef HAVE_PTHREAD_H
+#ifdef HAVE_POSIX_THREADS
 #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
 #if defined(LIBXML_STATIC_FOR_DLL)
-int XMLCALL
+int
 xmlDllMain(ATTRIBUTE_UNUSED void *hinstDLL, unsigned long fdwReason,
            ATTRIBUTE_UNUSED void *lpvReserved)
 #else
diff --git a/tree.c b/tree.c
index cbaec5b..eae778d 100644
--- a/tree.c
+++ b/tree.c
@@ -21,12 +21,9 @@
 #include <string.h> /* for memset() only ! */
 #include <stddef.h>
 #include <limits.h>
-#ifdef HAVE_CTYPE_H
 #include <ctype.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
+
 #ifdef LIBXML_ZLIB_ENABLED
 #include <zlib.h>
 #endif
@@ -47,8 +44,10 @@
 #include <libxml/debugXML.h>
 #endif
 
-#include "buf.h"
-#include "save.h"
+#include "private/buf.h"
+#include "private/entities.h"
+#include "private/error.h"
+#include "private/tree.h"
 
 int __xmlRegisterCallbacks = 0;
 
@@ -358,7 +357,7 @@
 
 #define CUR_SCHAR(s, l) xmlStringCurrentChar(NULL, s, &l)
 
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
 /**
  * xmlValidateNCName:
  * @value: the value to check
@@ -1217,11 +1216,6 @@
 #endif
 	return;
     }
-#ifdef LIBXML_DEBUG_RUNTIME
-#ifdef LIBXML_DEBUG_ENABLED
-    xmlDebugCheckDocument(stderr, cur);
-#endif
-#endif
 
     if (cur != NULL) dict = cur->dict;
 
@@ -1287,7 +1281,7 @@
 
     buf = xmlBufCreateSize(0);
     if (buf == NULL) return(NULL);
-    xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_HYBRID);
+    xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT);
 
     q = cur;
     while ((cur < end) && (*cur != 0)) {
@@ -1417,14 +1411,21 @@
 			    if (val != NULL) xmlFree(val);
 			    goto out;
 			}
-			else if ((ent != NULL) && (ent->children == NULL)) {
+			else if ((ent != NULL) &&
+                                 ((ent->flags & XML_ENT_PARSED) == 0) &&
+                                 ((ent->flags & XML_ENT_EXPANDING) == 0)) {
 			    xmlNodePtr temp;
 
-                            /* Set to non-NULL value to avoid recursion. */
-			    ent->children = (xmlNodePtr) -1;
+                            /*
+                             * The entity should have been checked already,
+                             * but set the flag anyway to avoid recursion.
+                             */
+			    ent->flags |= XML_ENT_EXPANDING;
 			    ent->children = xmlStringGetNodeList(doc,
 				    (const xmlChar*)node->content);
 			    ent->owner = 1;
+			    ent->flags &= ~XML_ENT_EXPANDING;
+                            ent->flags |= XML_ENT_PARSED;
 			    temp = ent->children;
 			    while (temp) {
 				temp->parent = (xmlNodePtr)ent;
@@ -1496,9 +1497,9 @@
  */
 xmlNodePtr
 xmlStringGetNodeList(const xmlDoc *doc, const xmlChar *value) {
-    xmlNodePtr ret = NULL, last = NULL;
+    xmlNodePtr ret = NULL, head = NULL, last = NULL;
     xmlNodePtr node;
-    xmlChar *val;
+    xmlChar *val = NULL;
     const xmlChar *cur = value;
     const xmlChar *q;
     xmlEntityPtr ent;
@@ -1508,7 +1509,7 @@
 
     buf = xmlBufCreateSize(0);
     if (buf == NULL) return(NULL);
-    xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_HYBRID);
+    xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT);
 
     q = cur;
     while (*cur != 0) {
@@ -1596,14 +1597,12 @@
 			 */
 			if (!xmlBufIsEmpty(buf)) {
 			    node = xmlNewDocText(doc, NULL);
-			    if (node == NULL) {
-				if (val != NULL) xmlFree(val);
-				goto out;
-			    }
+                            if (node == NULL)
+                                goto out;
 			    node->content = xmlBufDetach(buf);
 
 			    if (last == NULL) {
-				last = ret = node;
+				last = head = node;
 			    } else {
 				last = xmlAddNextSibling(last, node);
 			    }
@@ -1613,18 +1612,23 @@
 			 * Create a new REFERENCE_REF node
 			 */
 			node = xmlNewReference(doc, val);
-			if (node == NULL) {
-			    if (val != NULL) xmlFree(val);
+			if (node == NULL)
 			    goto out;
-			}
-			else if ((ent != NULL) && (ent->children == NULL)) {
+			if ((ent != NULL) &&
+                            ((ent->flags & XML_ENT_PARSED) == 0) &&
+                            ((ent->flags & XML_ENT_EXPANDING) == 0)) {
 			    xmlNodePtr temp;
 
-                            /* Set to non-NULL value to avoid recursion. */
-			    ent->children = (xmlNodePtr) -1;
+                            /*
+                             * The entity should have been checked already,
+                             * but set the flag anyway to avoid recursion.
+                             */
+			    ent->flags |= XML_ENT_EXPANDING;
 			    ent->children = xmlStringGetNodeList(doc,
 				    (const xmlChar*)node->content);
 			    ent->owner = 1;
+			    ent->flags &= ~XML_ENT_EXPANDING;
+                            ent->flags |= XML_ENT_PARSED;
 			    temp = ent->children;
 			    while (temp) {
 				temp->parent = (xmlNodePtr)ent;
@@ -1633,12 +1637,13 @@
 			    }
 			}
 			if (last == NULL) {
-			    last = ret = node;
+			    last = head = node;
 			} else {
 			    last = xmlAddNextSibling(last, node);
 			}
 		    }
 		    xmlFree(val);
+                    val = NULL;
 		}
 		cur++;
 		q = cur;
@@ -1657,7 +1662,7 @@
 	} else
 	    cur++;
     }
-    if ((cur != q) || (ret == NULL)) {
+    if ((cur != q) || (head == NULL)) {
         /*
 	 * Handle the last piece of text.
 	 */
@@ -1666,21 +1671,24 @@
 
     if (!xmlBufIsEmpty(buf)) {
 	node = xmlNewDocText(doc, NULL);
-        if (node == NULL) {
-            xmlBufFree(buf);
-            return(NULL);
-        }
+        if (node == NULL)
+            goto out;
 	node->content = xmlBufDetach(buf);
 
 	if (last == NULL) {
-	    ret = node;
+	    head = node;
 	} else {
 	    xmlAddNextSibling(last, node);
 	}
     }
 
+    ret = head;
+    head = NULL;
+
 out:
     xmlBufFree(buf);
+    if (val != NULL) xmlFree(val);
+    if (head != NULL) xmlFreeNodeList(head);
     return(ret);
 }
 
@@ -1866,7 +1874,7 @@
 
     if ((node != NULL) && (node->type != XML_ELEMENT_NODE)) {
         if ((eatname == 1) &&
-	    ((node->doc == NULL) ||
+	    ((node->doc == NULL) || (node->doc->dict == NULL) ||
 	     (!(xmlDictOwns(node->doc->dict, name)))))
             xmlFree((xmlChar *) name);
         return (NULL);
@@ -1879,6 +1887,7 @@
     if (cur == NULL) {
         if ((eatname == 1) &&
 	    ((node == NULL) || (node->doc == NULL) ||
+             (node->doc->dict == NULL) ||
 	     (!(xmlDictOwns(node->doc->dict, name)))))
             xmlFree((xmlChar *) name);
         xmlTreeErrMemory("building attribute");
@@ -2224,7 +2233,8 @@
  * @content:  the PI content
  *
  * Creation of a processing instruction element.
- * Use xmlDocNewPI preferably to get string interning
+ *
+ * Use of this function is DISCOURAGED in favor of xmlNewDocPI.
  *
  * Returns a pointer to the new node object.
  */
@@ -2240,6 +2250,8 @@
  *
  * Creation of a new node element. @ns is optional (NULL).
  *
+ * Use of this function is DISCOURAGED in favor of xmlNewDocNode.
+ *
  * Returns a pointer to the new node object. Uses xmlStrdup() to make
  * copy of @name.
  */
@@ -2281,6 +2293,8 @@
  *
  * Creation of a new node element. @ns is optional (NULL).
  *
+ * Use of this function is DISCOURAGED in favor of xmlNewDocNodeEatName.
+ *
  * Returns a pointer to the new node object, with pointer @name as
  * new node's name. Use xmlNewNode() if a copy of @name string is
  * is needed as new node's name.
@@ -2384,8 +2398,9 @@
 	}
     } else {
         /* if name don't come from the doc dictionary free it here */
-        if ((name != NULL) && (doc != NULL) &&
-	    (!(xmlDictOwns(doc->dict, name))))
+        if ((name != NULL) &&
+            ((doc == NULL) || (doc->dict == NULL) ||
+	     (!(xmlDictOwns(doc->dict, name)))))
 	    xmlFree(name);
     }
     return(cur);
@@ -2455,6 +2470,9 @@
  * @content:  the text content
  *
  * Creation of a new text node.
+ *
+ * Use of this function is DISCOURAGED in favor of xmlNewDocText.
+ *
  * Returns a pointer to the new node object.
  */
 xmlNodePtr
@@ -2685,6 +2703,8 @@
  * @content:  the text content
  * @len:  the text len.
  *
+ * Use of this function is DISCOURAGED in favor of xmlNewDocTextLen.
+ *
  * Creation of a new text node with an extra parameter for the content's length
  * Returns a pointer to the new node object.
  */
@@ -2736,6 +2756,8 @@
  * xmlNewComment:
  * @content:  the comment content
  *
+ * Use of this function is DISCOURAGED in favor of xmlNewDocComment.
+ *
  * Creation of a new node containing a comment.
  * Returns a pointer to the new node object.
  */
@@ -2815,6 +2837,20 @@
     return(cur);
 }
 
+static const xmlChar *_copyStringForNewDictIfNeeded(xmlDictPtr oldDict, xmlDictPtr newDict, const xmlChar *oldValue) {
+    const xmlChar *newValue = oldValue;
+    if (oldValue) {
+        int oldDictOwnsOldValue = oldDict && (xmlDictOwns(oldDict, oldValue) == 1);
+        if (oldDictOwnsOldValue) {
+            if (newDict)
+                newValue = xmlDictLookup(newDict, oldValue, -1);
+            else
+                newValue = xmlStrdup(oldValue);
+        }
+    }
+    return newValue;
+}
+
 /**
  * xmlSetTreeDoc:
  * @tree:  the top element
@@ -2829,6 +2865,9 @@
     if ((tree == NULL) || (tree->type == XML_NAMESPACE_DECL))
 	return;
     if (tree->doc != doc) {
+        xmlDictPtr oldTreeDict = tree->doc ? tree->doc->dict : NULL;
+        xmlDictPtr newDict = doc ? doc->dict : NULL;
+
 	if(tree->type == XML_ELEMENT_NODE) {
 	    prop = tree->properties;
 	    while (prop != NULL) {
@@ -2836,7 +2875,11 @@
                     xmlRemoveID(tree->doc, prop);
                 }
 
-		prop->doc = doc;
+                if (prop->doc != doc) {
+                    xmlDictPtr oldPropDict = prop->doc ? prop->doc->dict : NULL;
+                    prop->name = _copyStringForNewDictIfNeeded(oldPropDict, newDict, prop->name);
+                    prop->doc = doc;
+                }
 		xmlSetListDoc(prop->children, doc);
 
                 /*
@@ -2865,6 +2908,10 @@
         } else if (tree->children != NULL) {
 	    xmlSetListDoc(tree->children, doc);
         }
+
+        tree->name = _copyStringForNewDictIfNeeded(oldTreeDict, newDict, tree->name);
+        tree->content = (xmlChar *)_copyStringForNewDictIfNeeded(oldTreeDict, NULL, tree->content);
+        /* FIXME: tree->ns should be updated as in xmlStaticCopyNode(). */
 	tree->doc = doc;
     }
 }
@@ -2981,6 +3028,8 @@
  * When inserting after @cur, @prev is passed as @cur.
  * If an existing attribute is found it is destroyed prior to adding @prop.
  *
+ * See the note regarding namespaces in xmlAddChild.
+ *
  * Returns the attribute being inserted or NULL in case of error.
  */
 static xmlNodePtr
@@ -3033,6 +3082,8 @@
  * 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.
  *
+ * See the note regarding namespaces in xmlAddChild.
+ *
  * Returns the new node or NULL in case of error.
  */
 xmlNodePtr
@@ -3111,6 +3162,8 @@
  * 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.
  *
+ * See the note regarding namespaces in xmlAddChild.
+ *
  * Returns the new node or NULL in case of error.
  */
 xmlNodePtr
@@ -3187,6 +3240,8 @@
  * If the new element was already inserted in a document it is
  * first unlinked from its existing context.
  *
+ * See the note regarding namespaces in xmlAddChild.
+ *
  * Returns the new element or NULL in case of error.
  */
 xmlNodePtr
@@ -3263,6 +3318,8 @@
  * Add a list of node at the end of the child list of the parent
  * merging adjacent TEXT nodes (@cur may be freed)
  *
+ * See the note regarding namespaces in xmlAddChild.
+ *
  * Returns the last child or NULL in case of error.
  */
 xmlNodePtr
@@ -3349,6 +3406,12 @@
  * 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.
  *
+ * All tree manipulation functions can safely move nodes within a document.
+ * But when moving nodes from one document to another, references to
+ * namespaces in element or attribute nodes are NOT fixed. In this case,
+ * you MUST call xmlReconciliateNs after the move operation to avoid
+ * memory errors.
+ *
  * Returns the child or NULL in case of error.
  */
 xmlNodePtr
@@ -3706,9 +3769,6 @@
     while (1) {
         while ((cur->children != NULL) &&
                (cur->type != XML_DOCUMENT_NODE) &&
-#ifdef LIBXML_DOCB_ENABLED
-               (cur->type != XML_DOCB_DOCUMENT_NODE) &&
-#endif
                (cur->type != XML_HTML_DOCUMENT_NODE) &&
                (cur->type != XML_DTD_NODE) &&
                (cur->type != XML_ENTITY_REF_NODE)) {
@@ -3719,9 +3779,6 @@
         next = cur->next;
         parent = cur->parent;
 	if ((cur->type == XML_DOCUMENT_NODE) ||
-#ifdef LIBXML_DOCB_ENABLED
-            (cur->type == XML_DOCB_DOCUMENT_NODE) ||
-#endif
             (cur->type == XML_HTML_DOCUMENT_NODE)) {
             xmlFreeDoc((xmlDocPtr) cur);
         } else if (cur->type != XML_DTD_NODE) {
@@ -3812,18 +3869,18 @@
     if ((cur->children != NULL) &&
 	(cur->type != XML_ENTITY_REF_NODE))
 	xmlFreeNodeList(cur->children);
-    if (((cur->type == XML_ELEMENT_NODE) ||
-	 (cur->type == XML_XINCLUDE_START) ||
-	 (cur->type == XML_XINCLUDE_END)) &&
-	(cur->properties != NULL))
-	xmlFreePropList(cur->properties);
-    if ((cur->type != XML_ELEMENT_NODE) &&
-	(cur->content != NULL) &&
-	(cur->type != XML_ENTITY_REF_NODE) &&
-	(cur->type != XML_XINCLUDE_END) &&
-	(cur->type != XML_XINCLUDE_START) &&
-	(cur->content != (xmlChar *) &(cur->properties))) {
-	DICT_FREE(cur->content)
+
+    if ((cur->type == XML_ELEMENT_NODE) ||
+        (cur->type == XML_XINCLUDE_START) ||
+        (cur->type == XML_XINCLUDE_END)) {
+        if (cur->properties != NULL)
+            xmlFreePropList(cur->properties);
+        if (cur->nsDef != NULL)
+            xmlFreeNsList(cur->nsDef);
+    } else if ((cur->content != NULL) &&
+               (cur->type != XML_ENTITY_REF_NODE) &&
+               (cur->content != (xmlChar *) &(cur->properties))) {
+        DICT_FREE(cur->content)
     }
 
     /*
@@ -3836,11 +3893,6 @@
         (cur->type != XML_COMMENT_NODE))
 	DICT_FREE(cur->name)
 
-    if (((cur->type == XML_ELEMENT_NODE) ||
-	 (cur->type == XML_XINCLUDE_START) ||
-	 (cur->type == XML_XINCLUDE_END)) &&
-	(cur->nsDef != NULL))
-	xmlFreeNsList(cur->nsDef);
     xmlFree(cur);
 }
 
@@ -3928,6 +3980,8 @@
  * at the same place. If @cur was already inserted in a document it is
  * first unlinked from its existing context.
  *
+ * See the note regarding namespaces in xmlAddChild.
+ *
  * Returns the @old node
  */
 xmlNodePtr
@@ -4036,6 +4090,10 @@
 
     while (cur != NULL) {
         q = xmlCopyNamespace(cur);
+        if (q == NULL) {
+            xmlFreeNsList(ret);
+            return(NULL);
+        }
 	if (p == NULL) {
 	    ret = p = q;
 	} else {
@@ -4047,9 +4105,6 @@
     return(ret);
 }
 
-static xmlNodePtr
-xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent);
-
 static xmlAttrPtr
 xmlCopyPropInternal(xmlDocPtr doc, xmlNodePtr target, xmlAttrPtr cur) {
     xmlAttrPtr ret;
@@ -4180,8 +4235,10 @@
         return(NULL);
     while (cur != NULL) {
         q = xmlCopyProp(target, cur);
-	if (q == NULL)
+	if (q == NULL) {
+            xmlFreePropList(ret);
 	    return(NULL);
+        }
 	if (p == NULL) {
 	    ret = p = q;
 	} else {
@@ -4213,7 +4270,7 @@
  * namespace info, but don't recurse on children.
  */
 
-static xmlNodePtr
+xmlNodePtr
 xmlStaticCopyNode(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent,
                   int extended) {
     xmlNodePtr ret;
@@ -4238,9 +4295,6 @@
 
         case XML_DOCUMENT_NODE:
         case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
 #ifdef LIBXML_TREE_ENABLED
 	    return((xmlNodePtr) xmlCopyDoc((xmlDocPtr) node, extended));
 #endif /* LIBXML_TREE_ENABLED */
@@ -4299,6 +4353,14 @@
 	if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue))
 	    xmlRegisterNodeDefaultValue((xmlNodePtr)ret);
 
+        /*
+         * Note that since ret->parent is already set, xmlAddChild will
+         * return early and not actually insert the node. It will only
+         * coalesce text nodes and unnecessarily call xmlSetTreeDoc.
+         * Assuming that the subtree to be copied always has its text
+         * nodes coalesced, the somewhat confusing call to xmlAddChild
+         * could be removed.
+         */
         tmp = xmlAddChild(parent, ret);
 	/* node could have coalesced */
 	if (tmp != ret)
@@ -4354,8 +4416,49 @@
 	}
 	ret->last = ret->children;
     } else if ((node->children != NULL) && (extended != 2)) {
-        ret->children = xmlStaticCopyNodeList(node->children, doc, ret);
-	UPDATE_LAST_CHILD_AND_PARENT(ret)
+        xmlNodePtr cur, insert;
+
+        cur = node->children;
+        insert = ret;
+        while (cur != NULL) {
+            xmlNodePtr copy = xmlStaticCopyNode(cur, doc, insert, 2);
+            if (copy == NULL) {
+                xmlFreeNode(ret);
+                return(NULL);
+            }
+
+            /* Check for coalesced text nodes */
+            if (insert->last != copy) {
+                if (insert->last == NULL) {
+                    insert->children = copy;
+                } else {
+                    copy->prev = insert->last;
+                    insert->last->next = copy;
+                }
+                insert->last = copy;
+            }
+
+            if ((cur->type != XML_ENTITY_REF_NODE) &&
+                (cur->children != NULL)) {
+                cur = cur->children;
+                insert = copy;
+                continue;
+            }
+
+            while (1) {
+                if (cur->next != NULL) {
+                    cur = cur->next;
+                    break;
+                }
+
+                cur = cur->parent;
+                insert = insert->parent;
+                if (cur == node) {
+                    cur = NULL;
+                    break;
+                }
+            }
+        }
     }
 
 out:
@@ -4366,7 +4469,7 @@
     return(ret);
 }
 
-static xmlNodePtr
+xmlNodePtr
 xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent) {
     xmlNodePtr ret = NULL;
     xmlNodePtr p = NULL,q;
@@ -4380,7 +4483,7 @@
 	    }
 	    if (doc->intSubset == NULL) {
 		q = (xmlNodePtr) xmlCopyDtd( (xmlDtdPtr) node );
-		if (q == NULL) return(NULL);
+		if (q == NULL) goto error;
 		q->doc = doc;
 		q->parent = parent;
 		doc->intSubset = (xmlDtdPtr) q;
@@ -4392,7 +4495,7 @@
 	} else
 #endif /* LIBXML_TREE_ENABLED */
 	    q = xmlStaticCopyNode(node, doc, parent, 1);
-	if (q == NULL) return(NULL);
+	if (q == NULL) goto error;
 	if (ret == NULL) {
 	    q->prev = NULL;
 	    ret = p = q;
@@ -4405,6 +4508,9 @@
 	node = node->next;
     }
     return(ret);
+error:
+    xmlFreeNodeList(ret);
+    return(NULL);
 }
 
 /**
@@ -4721,12 +4827,12 @@
         return (NULL);
 
     buf_len = 500;
-    buffer = (xmlChar *) xmlMallocAtomic(buf_len * sizeof(xmlChar));
+    buffer = (xmlChar *) xmlMallocAtomic(buf_len);
     if (buffer == NULL) {
 	xmlTreeErrMemory("getting node path");
         return (NULL);
     }
-    buf = (xmlChar *) xmlMallocAtomic(buf_len * sizeof(xmlChar));
+    buf = (xmlChar *) xmlMallocAtomic(buf_len);
     if (buf == NULL) {
 	xmlTreeErrMemory("getting node path");
         xmlFree(buffer);
@@ -5040,9 +5146,6 @@
         case XML_ENTITY_REF_NODE:
         case XML_ENTITY_NODE:
 	case XML_NAMESPACE_DECL:
-#ifdef LIBXML_DOCB_ENABLED
-	case XML_DOCB_DOCUMENT_NODE:
-#endif
 	case XML_XINCLUDE_START:
 	case XML_XINCLUDE_END:
 	    return;
@@ -5116,9 +5219,6 @@
 	case XML_NAMESPACE_DECL:
 	case XML_XINCLUDE_START:
 	case XML_XINCLUDE_END:
-#ifdef LIBXML_DOCB_ENABLED
-	case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    return;
         case XML_ELEMENT_NODE:
         case XML_ATTRIBUTE_NODE:
@@ -5199,9 +5299,6 @@
 	case XML_NAMESPACE_DECL:
 	case XML_XINCLUDE_START:
 	case XML_XINCLUDE_END:
-#ifdef LIBXML_DOCB_ENABLED
-	case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    return;
         case XML_ELEMENT_NODE:
         case XML_ATTRIBUTE_NODE:
@@ -5272,9 +5369,6 @@
         case XML_ATTRIBUTE_NODE:
 	    break;
         case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-	case XML_DOCB_DOCUMENT_NODE:
-#endif
         case XML_HTML_DOCUMENT_NODE: {
 	    xmlDocPtr doc = (xmlDocPtr) cur;
 
@@ -5536,9 +5630,6 @@
         case XML_XINCLUDE_END:
             break;
         case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
         case XML_HTML_DOCUMENT_NODE:
 	    cur = cur->children;
 	    while (cur!= NULL) {
@@ -5586,6 +5677,7 @@
                 buf = xmlBufCreateSize(64);
                 if (buf == NULL)
                     return (NULL);
+                xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT);
 		xmlBufGetNodeContent(buf, cur);
                 ret = xmlBufDetach(buf);
                 xmlBufFree(buf);
@@ -5611,6 +5703,7 @@
                 buf = xmlBufCreate();
                 if (buf == NULL)
                     return (NULL);
+                xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT);
 
                 xmlBufGetNodeContent(buf, cur);
 
@@ -5626,9 +5719,6 @@
         case XML_XINCLUDE_END:
             return (NULL);
         case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
         case XML_HTML_DOCUMENT_NODE: {
 	    xmlBufPtr buf;
 	    xmlChar *ret;
@@ -5636,6 +5726,7 @@
 	    buf = xmlBufCreate();
 	    if (buf == NULL)
 		return (NULL);
+            xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT);
 
 	    xmlBufGetNodeContent(buf, (xmlNodePtr) cur);
 
@@ -5713,16 +5804,12 @@
 	    } else
 		cur->content = NULL;
 	    cur->properties = NULL;
-	    cur->nsDef = NULL;
 	    break;
         case XML_DOCUMENT_NODE:
         case XML_HTML_DOCUMENT_NODE:
         case XML_DOCUMENT_TYPE_NODE:
 	case XML_XINCLUDE_START:
 	case XML_XINCLUDE_END:
-#ifdef LIBXML_DOCB_ENABLED
-	case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    break;
         case XML_NOTATION_NODE:
 	    break;
@@ -5791,7 +5878,6 @@
 	    } else
 		cur->content = NULL;
 	    cur->properties = NULL;
-	    cur->nsDef = NULL;
 	    break;
         case XML_DOCUMENT_NODE:
         case XML_DTD_NODE:
@@ -5800,9 +5886,6 @@
 	case XML_NAMESPACE_DECL:
 	case XML_XINCLUDE_START:
 	case XML_XINCLUDE_END:
-#ifdef LIBXML_DOCB_ENABLED
-	case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    break;
         case XML_ELEMENT_DECL:
 	    /* TODO !!! */
@@ -5844,7 +5927,7 @@
 	    xmlNodePtr last, newNode, tmp;
 
 	    last = cur->last;
-	    newNode = xmlNewTextLen(content, len);
+	    newNode = xmlNewDocTextLen(cur->doc, content, len);
 	    if (newNode != NULL) {
 		tmp = xmlAddChild(cur, newNode);
 		if (tmp != newNode)
@@ -5870,11 +5953,11 @@
 			    xmlDictOwns(cur->doc->dict, cur->content))) {
 		    cur->content = xmlStrncatNew(cur->content, content, len);
 		    cur->properties = NULL;
-		    cur->nsDef = NULL;
-		    break;
-		}
-		cur->content = xmlStrncat(cur->content, content, len);
+		} else {
+		    cur->content = xmlStrncat(cur->content, content, len);
+                }
             }
+	    break;
         case XML_DOCUMENT_NODE:
         case XML_DTD_NODE:
         case XML_HTML_DOCUMENT_NODE:
@@ -5882,9 +5965,6 @@
 	case XML_NAMESPACE_DECL:
 	case XML_XINCLUDE_START:
 	case XML_XINCLUDE_END:
-#ifdef LIBXML_DOCB_ENABLED
-	case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    break;
         case XML_ELEMENT_DECL:
         case XML_ATTRIBUTE_DECL:
@@ -5958,7 +6038,7 @@
     xmlNsPtr cur;
     xmlNsPtr *ret = NULL;
     int nbns = 0;
-    int maxns = 10;
+    int maxns = 0;
     int i;
 
     if ((node == NULL) || (node->type == XML_NAMESPACE_DECL))
@@ -5968,16 +6048,6 @@
         if (node->type == XML_ELEMENT_NODE) {
             cur = node->nsDef;
             while (cur != NULL) {
-                if (ret == NULL) {
-                    ret =
-                        (xmlNsPtr *) xmlMalloc((maxns + 1) *
-                                               sizeof(xmlNsPtr));
-                    if (ret == NULL) {
-			xmlTreeErrMemory("getting namespace list");
-                        return (NULL);
-                    }
-                    ret[nbns] = NULL;
-                }
                 for (i = 0; i < nbns; i++) {
                     if ((cur->prefix == ret[i]->prefix) ||
                         (xmlStrEqual(cur->prefix, ret[i]->prefix)))
@@ -5985,15 +6055,18 @@
                 }
                 if (i >= nbns) {
                     if (nbns >= maxns) {
-                        maxns *= 2;
-                        ret = (xmlNsPtr *) xmlRealloc(ret,
-                                                      (maxns +
-                                                       1) *
+                        xmlNsPtr *tmp;
+
+                        maxns = maxns ? maxns * 2 : 10;
+                        tmp = (xmlNsPtr *) xmlRealloc(ret,
+                                                      (maxns + 1) *
                                                       sizeof(xmlNsPtr));
-                        if (ret == NULL) {
+                        if (tmp == NULL) {
 			    xmlTreeErrMemory("getting namespace list");
+                            xmlFree(ret);
                             return (NULL);
                         }
+                        ret = tmp;
                     }
                     ret[nbns++] = cur;
                     ret[nbns] = NULL;
@@ -7085,7 +7158,7 @@
     ret->use = 0;
     ret->size = xmlDefaultBufferSize;
     ret->alloc = xmlBufferAllocScheme;
-    ret->content = (xmlChar *) xmlMallocAtomic(ret->size * sizeof(xmlChar));
+    ret->content = (xmlChar *) xmlMallocAtomic(ret->size);
     if (ret->content == NULL) {
 	xmlTreeErrMemory("creating buffer");
 	xmlFree(ret);
@@ -7107,6 +7180,8 @@
 xmlBufferCreateSize(size_t size) {
     xmlBufferPtr ret;
 
+    if (size >= UINT_MAX)
+        return(NULL);
     ret = (xmlBufferPtr) xmlMalloc(sizeof(xmlBuffer));
     if (ret == NULL) {
 	xmlTreeErrMemory("creating buffer");
@@ -7114,9 +7189,9 @@
     }
     ret->use = 0;
     ret->alloc = xmlBufferAllocScheme;
-    ret->size = (size ? size+2 : 0);         /* +1 for ending null */
+    ret->size = (size ? size + 1 : 0);         /* +1 for ending null */
     if (ret->size){
-        ret->content = (xmlChar *) xmlMallocAtomic(ret->size * sizeof(xmlChar));
+        ret->content = (xmlChar *) xmlMallocAtomic(ret->size);
         if (ret->content == NULL) {
 	    xmlTreeErrMemory("creating buffer");
             xmlFree(ret);
@@ -7145,8 +7220,6 @@
 
     if (buf == NULL)
         return(NULL);
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE)
-        return(NULL);
 
     ret = buf->content;
     buf->content = NULL;
@@ -7162,29 +7235,14 @@
  * @mem: the memory area
  * @size:  the size in byte
  *
- * routine to create an XML buffer from an immutable memory area.
- * The area won't be modified nor copied, and is expected to be
- * present until the end of the buffer lifetime.
- *
- * returns the new structure.
+ * Create an XML buffer initialized with bytes.
  */
 xmlBufferPtr
 xmlBufferCreateStatic(void *mem, size_t size) {
-    xmlBufferPtr ret;
+    xmlBufferPtr buf = xmlBufferCreateSize(size);
 
-    if ((mem == NULL) || (size == 0))
-        return(NULL);
-
-    ret = (xmlBufferPtr) xmlMalloc(sizeof(xmlBuffer));
-    if (ret == NULL) {
-	xmlTreeErrMemory("creating buffer");
-        return(NULL);
-    }
-    ret->use = size;
-    ret->size = size;
-    ret->alloc = XML_BUFFER_ALLOC_IMMUTABLE;
-    ret->content = (xmlChar *) mem;
-    return(ret);
+    xmlBufferAdd(buf, mem, size);
+    return(buf);
 }
 
 /**
@@ -7204,12 +7262,10 @@
 #endif
         return;
     }
-    if ((buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) ||
-        (buf->alloc == XML_BUFFER_ALLOC_IO)) return;
+    if (buf->alloc == XML_BUFFER_ALLOC_IO) return;
     if ((scheme == XML_BUFFER_ALLOC_DOUBLEIT) ||
         (scheme == XML_BUFFER_ALLOC_EXACT) ||
-        (scheme == XML_BUFFER_ALLOC_HYBRID) ||
-        (scheme == XML_BUFFER_ALLOC_IMMUTABLE))
+        (scheme == XML_BUFFER_ALLOC_HYBRID))
 	buf->alloc = scheme;
 }
 
@@ -7233,8 +7289,7 @@
     if ((buf->alloc == XML_BUFFER_ALLOC_IO) &&
         (buf->contentIO != NULL)) {
         xmlFree(buf->contentIO);
-    } else if ((buf->content != NULL) &&
-        (buf->alloc != XML_BUFFER_ALLOC_IMMUTABLE)) {
+    } else if (buf->content != NULL) {
         xmlFree(buf->content);
     }
     xmlFree(buf);
@@ -7251,10 +7306,7 @@
     if (buf == NULL) return;
     if (buf->content == NULL) return;
     buf->use = 0;
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) {
-        buf->content = BAD_CAST "";
-    } else if ((buf->alloc == XML_BUFFER_ALLOC_IO) &&
-               (buf->contentIO != NULL)) {
+    if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
         size_t start_buf = buf->content - buf->contentIO;
 
 	buf->size += start_buf;
@@ -7281,8 +7333,7 @@
     if (len > buf->use) return(-1);
 
     buf->use -= len;
-    if ((buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) ||
-        ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL))) {
+    if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
 	/*
 	 * we just move the content pointer, but also make sure
 	 * the perceived buffer size has shrunk accordingly
@@ -7321,28 +7372,24 @@
  */
 int
 xmlBufferGrow(xmlBufferPtr buf, unsigned int len) {
-    int size;
+    unsigned int size;
     xmlChar *newbuf;
 
     if (buf == NULL) return(-1);
 
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
-    if (len + buf->use < buf->size) return(0);
+    if (len < buf->size - buf->use)
+        return(0);
+    if (len >= UINT_MAX - buf->use) {
+        xmlTreeErrMemory("growing buffer past UINT_MAX");
+        return(-1);
+    }
 
-    /*
-     * Windows has a BIG problem on realloc timing, so we try to double
-     * the buffer size (if that's enough) (bug 146697)
-     * Apparently BSD too, and it's probably best for linux too
-     * On an embedded system this may be something to change
-     */
-#if 1
-    if (buf->size > len)
-        size = buf->size * 2;
-    else
-        size = buf->use + len + 100;
-#else
-    size = buf->use + len + 100;
-#endif
+    if (buf->size > (size_t) len) {
+        size = buf->size > UINT_MAX / 2 ? UINT_MAX : buf->size * 2;
+    } else {
+        size = buf->use + len;
+        size = size > UINT_MAX - 100 ? UINT_MAX : size + 100;
+    }
 
     if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
         size_t start_buf = buf->content - buf->contentIO;
@@ -7363,7 +7410,7 @@
 	buf->content = newbuf;
     }
     buf->size = size;
-    return(buf->size - buf->use);
+    return(buf->size - buf->use - 1);
 }
 
 /**
@@ -7376,7 +7423,7 @@
  */
 int
 xmlBufferDump(FILE *file, xmlBufferPtr buf) {
-    int ret;
+    size_t ret;
 
     if (buf == NULL) {
 #ifdef DEBUG_BUFFER
@@ -7394,8 +7441,8 @@
     }
     if (file == NULL)
 	file = stdout;
-    ret = fwrite(buf->content, sizeof(xmlChar), buf->use, file);
-    return(ret);
+    ret = fwrite(buf->content, 1, buf->use, file);
+    return(ret > INT_MAX ? INT_MAX : ret);
 }
 
 /**
@@ -7453,14 +7500,12 @@
     if (buf == NULL)
         return(0);
 
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
-
     /* Don't resize if we don't have to */
     if (size < buf->size)
         return 1;
 
     if (size > UINT_MAX - 10) {
-        xmlTreeErrMemory("growing buffer");
+        xmlTreeErrMemory("growing buffer past UINT_MAX");
         return 0;
     }
 
@@ -7469,7 +7514,10 @@
 	case XML_BUFFER_ALLOC_IO:
 	case XML_BUFFER_ALLOC_DOUBLEIT:
 	    /*take care of empty case*/
-	    newSize = (buf->size ? buf->size : size + 10);
+            if (buf->size == 0)
+                newSize = (size > UINT_MAX - 10 ? UINT_MAX : size + 10);
+            else
+                newSize = buf->size;
 	    while (size > newSize) {
 	        if (newSize > UINT_MAX / 2) {
 	            xmlTreeErrMemory("growing buffer");
@@ -7479,7 +7527,7 @@
 	    }
 	    break;
 	case XML_BUFFER_ALLOC_EXACT:
-	    newSize = size+10;
+	    newSize = (size > UINT_MAX - 10 ? UINT_MAX : size + 10);
 	    break;
         case XML_BUFFER_ALLOC_HYBRID:
             if (buf->use < BASE_BUFFER_SIZE)
@@ -7497,7 +7545,7 @@
             break;
 
 	default:
-	    newSize = size+10;
+	    newSize = (size > UINT_MAX - 10 ? UINT_MAX : size + 10);
 	    break;
     }
 
@@ -7522,6 +7570,8 @@
     } else {
 	if (buf->content == NULL) {
 	    rebuf = (xmlChar *) xmlMallocAtomic(newSize);
+	    buf->use = 0;
+	    rebuf[buf->use] = 0;
 	} else if (buf->size - buf->use < 100) {
 	    rebuf = (xmlChar *) xmlRealloc(buf->content, newSize);
         } else {
@@ -7567,7 +7617,6 @@
     if ((str == NULL) || (buf == NULL)) {
 	return -1;
     }
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
     if (len < -1) {
 #ifdef DEBUG_BUFFER
         xmlGenericError(xmlGenericErrorContext,
@@ -7583,15 +7632,20 @@
     if (len < 0) return -1;
     if (len == 0) return 0;
 
-    needSize = buf->use + len + 2;
-    if (needSize > buf->size){
+    /* Note that both buf->size and buf->use can be zero here. */
+    if ((unsigned) len >= buf->size - buf->use) {
+        if ((unsigned) len >= UINT_MAX - buf->use) {
+            xmlTreeErrMemory("growing buffer past UINT_MAX");
+            return XML_ERR_NO_MEMORY;
+        }
+        needSize = buf->use + len + 1;
         if (!xmlBufferResize(buf, needSize)){
 	    xmlTreeErrMemory("growing buffer");
             return XML_ERR_NO_MEMORY;
         }
     }
 
-    memmove(&buf->content[buf->use], str, len*sizeof(xmlChar));
+    memmove(&buf->content[buf->use], str, len);
     buf->use += len;
     buf->content[buf->use] = 0;
     return 0;
@@ -7615,7 +7669,6 @@
 
     if (buf == NULL)
         return(-1);
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
     if (str == NULL) {
 #ifdef DEBUG_BUFFER
         xmlGenericError(xmlGenericErrorContext,
@@ -7648,11 +7701,17 @@
             memmove(&buf->content[0], str, len);
 	    buf->use += len;
 	    buf->size += len;
+            buf->content[buf->use] = 0;
 	    return(0);
 	}
     }
-    needSize = buf->use + len + 2;
-    if (needSize > buf->size){
+    /* Note that both buf->size and buf->use can be zero here. */
+    if ((unsigned) len >= buf->size - buf->use) {
+        if ((unsigned) len >= UINT_MAX - buf->use) {
+            xmlTreeErrMemory("growing buffer past UINT_MAX");
+            return(-1);
+        }
+        needSize = buf->use + len + 1;
         if (!xmlBufferResize(buf, needSize)){
 	    xmlTreeErrMemory("growing buffer");
             return XML_ERR_NO_MEMORY;
@@ -7680,7 +7739,6 @@
 xmlBufferCat(xmlBufferPtr buf, const xmlChar *str) {
     if (buf == NULL)
         return(-1);
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
     if (str == NULL) return -1;
     return xmlBufferAdd(buf, str, -1);
 }
@@ -7697,29 +7755,7 @@
  */
 int
 xmlBufferCCat(xmlBufferPtr buf, const char *str) {
-    const char *cur;
-
-    if (buf == NULL)
-        return(-1);
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
-    if (str == NULL) {
-#ifdef DEBUG_BUFFER
-        xmlGenericError(xmlGenericErrorContext,
-		"xmlBufferCCat: str == NULL\n");
-#endif
-	return -1;
-    }
-    for (cur = str;*cur != 0;cur++) {
-        if (buf->use  + 10 >= buf->size) {
-            if (!xmlBufferResize(buf, buf->use+10)){
-		xmlTreeErrMemory("growing buffer");
-                return XML_ERR_NO_MEMORY;
-            }
-        }
-        buf->content[buf->use++] = *cur;
-    }
-    buf->content[buf->use] = 0;
-    return 0;
+    return xmlBufferCat(buf, (const xmlChar *) str);
 }
 
 /**
@@ -7734,7 +7770,6 @@
 xmlBufferWriteCHAR(xmlBufferPtr buf, const xmlChar *string) {
     if (buf == NULL)
         return;
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
     xmlBufferCat(buf, string);
 }
 
@@ -7750,7 +7785,6 @@
 xmlBufferWriteChar(xmlBufferPtr buf, const char *string) {
     if (buf == NULL)
         return;
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
     xmlBufferCCat(buf, string);
 }
 
@@ -7769,7 +7803,6 @@
     const xmlChar *cur, *base;
     if (buf == NULL)
         return;
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
     if (xmlStrchr(string, '\"')) {
         if (xmlStrchr(string, '\'')) {
 #ifdef DEBUG_BUFFER
@@ -9548,7 +9581,8 @@
 		/*
 		* Attributes (xmlAttr).
 		*/
-		clone = (xmlNodePtr) xmlMalloc(sizeof(xmlAttr));
+                /* Use xmlRealloc to avoid -Warray-bounds warning */
+		clone = (xmlNodePtr) xmlRealloc(NULL, sizeof(xmlAttr));
 		if (clone == NULL) {
 		    xmlTreeErrMemory("xmlDOMWrapCloneNode(): allocating an attr-node");
 		    goto internal_error;
@@ -10191,3 +10225,48 @@
     return (0);
 }
 
+/************************************************************************
+ *									*
+ *			XHTML detection					*
+ *									*
+ ************************************************************************/
+
+#define XHTML_STRICT_PUBLIC_ID BAD_CAST \
+   "-//W3C//DTD XHTML 1.0 Strict//EN"
+#define XHTML_STRICT_SYSTEM_ID BAD_CAST \
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+#define XHTML_FRAME_PUBLIC_ID BAD_CAST \
+   "-//W3C//DTD XHTML 1.0 Frameset//EN"
+#define XHTML_FRAME_SYSTEM_ID BAD_CAST \
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
+#define XHTML_TRANS_PUBLIC_ID BAD_CAST \
+   "-//W3C//DTD XHTML 1.0 Transitional//EN"
+#define XHTML_TRANS_SYSTEM_ID BAD_CAST \
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
+
+/**
+ * xmlIsXHTML:
+ * @systemID:  the system identifier
+ * @publicID:  the public identifier
+ *
+ * Try to find if the document correspond to an XHTML DTD
+ *
+ * Returns 1 if true, 0 if not and -1 in case of error
+ */
+int
+xmlIsXHTML(const xmlChar *systemID, const xmlChar *publicID) {
+    if ((systemID == NULL) && (publicID == NULL))
+	return(-1);
+    if (publicID != NULL) {
+	if (xmlStrEqual(publicID, XHTML_STRICT_PUBLIC_ID)) return(1);
+	if (xmlStrEqual(publicID, XHTML_FRAME_PUBLIC_ID)) return(1);
+	if (xmlStrEqual(publicID, XHTML_TRANS_PUBLIC_ID)) return(1);
+    }
+    if (systemID != NULL) {
+	if (xmlStrEqual(systemID, XHTML_STRICT_SYSTEM_ID)) return(1);
+	if (xmlStrEqual(systemID, XHTML_FRAME_SYSTEM_ID)) return(1);
+	if (xmlStrEqual(systemID, XHTML_TRANS_SYSTEM_ID)) return(1);
+    }
+    return(0);
+}
+
diff --git a/trio.c b/trio.c
index ee270bc..31b3b37 100644
--- a/trio.c
+++ b/trio.c
@@ -98,10 +98,7 @@
 # include <stdarg.h>
 #endif
 #include <stddef.h>
-
-#if defined( HAVE_ERRNO_H ) || defined( __VMS )
 #include <errno.h>
-#endif
 
 #ifndef NULL
 # define NULL 0
diff --git a/uri.c b/uri.c
index 81ec7f4..c3d4871 100644
--- a/uri.c
+++ b/uri.c
@@ -19,6 +19,8 @@
 #include <libxml/globals.h>
 #include <libxml/xmlerror.h>
 
+#include "private/error.h"
+
 /**
  * MAX_URI_LENGTH:
  *
@@ -33,6 +35,9 @@
  */
 #define MAX_URI_LENGTH 1024 * 1024
 
+#define PORT_EMPTY           0
+#define PORT_EMPTY_SERVER   -1
+
 static void
 xmlURIErrMemory(const char *extra)
 {
@@ -768,8 +773,11 @@
         cur += 2;
 	ret = xmlParse3986Authority(uri, &cur);
 	if (ret != 0) return(ret);
-	if (uri->server == NULL)
-	    uri->port = -1;
+        /*
+         * An empty server is marked with a special URI value.
+         */
+	if ((uri->server == NULL) && (uri->port == PORT_EMPTY))
+	    uri->port = PORT_EMPTY_SERVER;
 	ret = xmlParse3986PathAbEmpty(uri, &cur);
 	if (ret != 0) return(ret);
 	*str = cur;
@@ -1026,6 +1034,7 @@
 	return(NULL);
     }
     memset(ret, 0, sizeof(xmlURI));
+    ret->port = PORT_EMPTY;
     return(ret);
 }
 
@@ -1074,7 +1083,7 @@
 
 
     max = 80;
-    ret = (xmlChar *) xmlMallocAtomic((max + 1) * sizeof(xmlChar));
+    ret = (xmlChar *) xmlMallocAtomic(max + 1);
     if (ret == NULL) {
         xmlURIErrMemory("saving URI\n");
 	return(NULL);
@@ -1117,7 +1126,7 @@
 	    }
 	}
     } else {
-	if ((uri->server != NULL) || (uri->port == -1)) {
+	if ((uri->server != NULL) || (uri->port != PORT_EMPTY)) {
 	    if (len + 3 >= max) {
                 temp = xmlSaveUriRealloc(ret, &max);
                 if (temp == NULL) goto mem_error;
@@ -1162,17 +1171,18 @@
 			if (temp == NULL) goto mem_error;
 			ret = temp;
 		    }
-		    ret[len++] = *p++;
-		}
-		if (uri->port > 0) {
-		    if (len + 10 >= max) {
-			temp = xmlSaveUriRealloc(ret, &max);
-			if (temp == NULL) goto mem_error;
-			ret = temp;
-		    }
-		    len += snprintf((char *) &ret[len], max - len, ":%d", uri->port);
+                    /* TODO: escaping? */
+		    ret[len++] = (xmlChar) *p++;
 		}
 	    }
+            if (uri->port > 0) {
+                if (len + 10 >= max) {
+                    temp = xmlSaveUriRealloc(ret, &max);
+                    if (temp == NULL) goto mem_error;
+                    ret = temp;
+                }
+                len += snprintf((char *) &ret[len], max - len, ":%d", uri->port);
+            }
 	} else if (uri->authority != NULL) {
 	    if (len + 3 >= max) {
                 temp = xmlSaveUriRealloc(ret, &max);
@@ -1655,6 +1665,7 @@
 	        c = c * 16 + (*in - 'A') + 10;
 	    in++;
 	    len -= 3;
+            /* Explicit sign change */
 	    *out++ = (char) c;
 	} else {
 	    *out++ = *in++;
@@ -1670,8 +1681,8 @@
  * @str:  string to escape
  * @list: exception list string of chars not to escape
  *
- * This routine escapes a string to hex, ignoring reserved characters (a-z)
- * and the characters in the exception list.
+ * This routine escapes a string to hex, ignoring reserved characters
+ * (a-z, A-Z, 0-9, "@-_.!~*'()") and the characters in the exception list.
  *
  * Returns a new escaped string or NULL in case of error.
  */
@@ -1817,10 +1828,10 @@
         xmlFree(segment);
     }
 
-    if (uri->port) {
-        xmlChar port[10];
+    if (uri->port > 0) {
+        xmlChar port[11];
 
-        snprintf((char *) port, 10, "%d", uri->port);
+        snprintf((char *) port, 11, "%d", uri->port);
         ret = xmlStrcat(ret, BAD_CAST ":");
         ret = xmlStrcat(ret, port);
     }
@@ -1966,12 +1977,13 @@
     if (res == NULL)
 	goto done;
     if ((ref->scheme == NULL) && (ref->path == NULL) &&
-	((ref->authority == NULL) && (ref->server == NULL))) {
+	((ref->authority == NULL) && (ref->server == NULL) &&
+         (ref->port == PORT_EMPTY))) {
 	if (bas->scheme != NULL)
 	    res->scheme = xmlMemStrdup(bas->scheme);
 	if (bas->authority != NULL)
 	    res->authority = xmlMemStrdup(bas->authority);
-	else if ((bas->server != NULL) || (bas->port == -1)) {
+	else {
 	    if (bas->server != NULL)
 		res->server = xmlMemStrdup(bas->server);
 	    if (bas->user != NULL)
@@ -2020,11 +2032,13 @@
      *    component, which will also be undefined if the URI scheme does not
      *    use an authority component.
      */
-    if ((ref->authority != NULL) || (ref->server != NULL)) {
+    if ((ref->authority != NULL) || (ref->server != NULL) ||
+         (ref->port != PORT_EMPTY)) {
 	if (ref->authority != NULL)
 	    res->authority = xmlMemStrdup(ref->authority);
 	else {
-	    res->server = xmlMemStrdup(ref->server);
+            if (ref->server != NULL)
+                res->server = xmlMemStrdup(ref->server);
 	    if (ref->user != NULL)
 		res->user = xmlMemStrdup(ref->user);
             res->port = ref->port;
@@ -2035,7 +2049,7 @@
     }
     if (bas->authority != NULL)
 	res->authority = xmlMemStrdup(bas->authority);
-    else if ((bas->server != NULL) || (bas->port == -1)) {
+    else if ((bas->server != NULL) || (bas->port != PORT_EMPTY)) {
 	if (bas->server != NULL)
 	    res->server = xmlMemStrdup(bas->server);
 	if (bas->user != NULL)
@@ -2105,7 +2119,7 @@
 	/*
 	 * Ensure the path includes a '/'
 	 */
-	if ((out == 0) && (bas->server != NULL))
+	if ((out == 0) && ((bas->server != NULL) || bas->port != PORT_EMPTY))
 	    res->path[out++] = '/';
 	while (ref->path[indx] != 0) {
 	    res->path[out++] = ref->path[indx++];
@@ -2223,7 +2237,8 @@
     if ((ref->scheme != NULL) &&
 	((bas->scheme == NULL) ||
 	 (xmlStrcmp ((xmlChar *)bas->scheme, (xmlChar *)ref->scheme)) ||
-	 (xmlStrcmp ((xmlChar *)bas->server, (xmlChar *)ref->server)))) {
+	 (xmlStrcmp ((xmlChar *)bas->server, (xmlChar *)ref->server)) ||
+         (bas->port != ref->port))) {
 	val = xmlStrdup (URI);
 	goto done;
     }
@@ -2383,7 +2398,7 @@
  * For Windows implementations, additional work needs to be done to
  * replace backslashes in pathnames with "forward slashes"
  */
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
     int len = 0;
     char *p = NULL;
 #endif
@@ -2455,7 +2470,7 @@
 
 path_processing:
 /* For Windows implementations, replace backslashes with 'forward slashes' */
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
     /*
      * Create a URI structure
      */
@@ -2534,7 +2549,7 @@
     cal = xmlCanonicPath(path);
     if (cal == NULL)
         return(NULL);
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
     /* xmlCanonicPath can return an URI on Windows (is that the intended behaviour?)
        If 'cal' is a valid URI already then we are done here, as continuing would make
        it invalid. */
diff --git a/valid.c b/valid.c
index 25b90bc..4352a08 100644
--- a/valid.c
+++ b/valid.c
@@ -11,10 +11,7 @@
 #include "libxml.h"
 
 #include <string.h>
-
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #include <libxml/xmlmemory.h>
 #include <libxml/hash.h>
@@ -26,8 +23,12 @@
 #include <libxml/list.h>
 #include <libxml/globals.h>
 
-static xmlElementPtr xmlGetDtdElementDesc2(xmlDtdPtr dtd, const xmlChar *name,
-	                           int create);
+#include "private/error.h"
+#include "private/parser.h"
+
+static xmlElementPtr
+xmlGetDtdElementDesc2(xmlValidCtxtPtr ctxt, xmlDtdPtr dtd, const xmlChar *name,
+                      int create);
 /* #define DEBUG_VALID_ALGO */
 /* #define DEBUG_REGEXP_ALGO */
 
@@ -67,9 +68,7 @@
 	/* Look up flag to detect if it is part of a parsing
 	   context */
 	if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
-	    long delta = (char *) ctxt - (char *) ctxt->userData;
-	    if ((delta > 0) && (delta < 250))
-		pctxt = ctxt->userData;
+	    pctxt = ctxt->userData;
 	}
     }
     if (extra)
@@ -106,9 +105,7 @@
 	/* Look up flag to detect if it is part of a parsing
 	   context */
 	if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
-	    long delta = (char *) ctxt - (char *) ctxt->userData;
-	    if ((delta > 0) && (delta < 250))
-		pctxt = ctxt->userData;
+	    pctxt = ctxt->userData;
 	}
     }
     if (extra)
@@ -152,9 +149,7 @@
 	/* Look up flag to detect if it is part of a parsing
 	   context */
 	if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
-	    long delta = (char *) ctxt - (char *) ctxt->userData;
-	    if ((delta > 0) && (delta < 250))
-		pctxt = ctxt->userData;
+	    pctxt = ctxt->userData;
 	}
     }
     __xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error,
@@ -194,9 +189,7 @@
 	/* Look up flag to detect if it is part of a parsing
 	   context */
 	if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
-	    long delta = (char *) ctxt - (char *) ctxt->userData;
-	    if ((delta > 0) && (delta < 250))
-		pctxt = ctxt->userData;
+	    pctxt = ctxt->userData;
 	}
     }
     __xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error,
@@ -234,9 +227,7 @@
 	/* Look up flag to detect if it is part of a parsing
 	   context */
 	if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
-	    long delta = (char *) ctxt - (char *) ctxt->userData;
-	    if ((delta > 0) && (delta < 250))
-		pctxt = ctxt->userData;
+	    pctxt = ctxt->userData;
 	}
     }
     __xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error,
@@ -521,11 +512,6 @@
 	case XML_HTML_DOCUMENT_NODE:
 	    xmlGenericError(xmlGenericErrorContext, "?html? ");
 	    break;
-#ifdef LIBXML_DOCB_ENABLED
-	case XML_DOCB_DOCUMENT_NODE:
-	    xmlGenericError(xmlGenericErrorContext, "?docb? ");
-	    break;
-#endif
 	case XML_DTD_NODE:
 	    xmlGenericError(xmlGenericErrorContext, "?dtd? ");
 	    break;
@@ -840,7 +826,7 @@
 	xmlSnprintfElementContent(expr, 5000, elem->content, 1);
 	xmlErrValidNode(ctxt, (xmlNodePtr) elem,
 	                XML_DTD_CONTENT_NOT_DETERMINIST,
-	       "Content model of %s is not determinist: %s\n",
+	       "Content model of %s is not deterministic: %s\n",
 	       elem->name, BAD_CAST expr, NULL);
 #ifdef DEBUG_REGEXP_ALGO
         xmlRegexpPrint(stderr, elem->contModel);
@@ -893,6 +879,8 @@
  */
 void
 xmlFreeValidCtxt(xmlValidCtxtPtr cur) {
+    if (cur == NULL)
+        return;
     if (cur->vstateTab != NULL)
         xmlFree(cur->vstateTab);
     if (cur->nodeTab != NULL)
@@ -1047,6 +1035,7 @@
 	    tmp->type = cur->type;
 	    tmp->ocur = cur->ocur;
 	    prev->c2 = tmp;
+	    tmp->parent = prev;
 	    if (cur->name != NULL) {
 		if (dict)
 		    tmp->name = xmlDictLookup(dict, cur->name, -1);
@@ -2127,7 +2116,7 @@
      * Validity Check:
      * Multiple ID per element
      */
-    elemDef = xmlGetDtdElementDesc2(dtd, elem, 1);
+    elemDef = xmlGetDtdElementDesc2(ctxt, dtd, elem, 1);
     if (elemDef != NULL) {
 
 #ifdef LIBXML_VALID_ENABLED
@@ -3291,7 +3280,8 @@
  */
 
 static xmlElementPtr
-xmlGetDtdElementDesc2(xmlDtdPtr dtd, const xmlChar *name, int create) {
+xmlGetDtdElementDesc2(xmlValidCtxtPtr ctxt, xmlDtdPtr dtd, const xmlChar *name,
+                      int create) {
     xmlElementTablePtr table;
     xmlElementPtr cur;
     xmlChar *uqname = NULL, *prefix = NULL;
@@ -3314,7 +3304,7 @@
 	    dtd->elements = (void *) table;
 	}
 	if (table == NULL) {
-	    xmlVErrMemory(NULL, "element table allocation failed");
+	    xmlVErrMemory(ctxt, "element table allocation failed");
 	    return(NULL);
 	}
     }
@@ -3327,8 +3317,8 @@
     if ((cur == NULL) && (create)) {
 	cur = (xmlElementPtr) xmlMalloc(sizeof(xmlElement));
 	if (cur == NULL) {
-	    xmlVErrMemory(NULL, "malloc failed");
-	    return(NULL);
+	    xmlVErrMemory(ctxt, "malloc failed");
+	    goto error;
 	}
 	memset(cur, 0, sizeof(xmlElement));
 	cur->type = XML_ELEMENT_DECL;
@@ -3340,8 +3330,13 @@
 	cur->prefix = xmlStrdup(prefix);
 	cur->etype = XML_ELEMENT_TYPE_UNDEFINED;
 
-	xmlHashAddEntry2(table, name, prefix, cur);
+	if (xmlHashAddEntry2(table, name, prefix, cur) < 0) {
+	    xmlVErrMemory(ctxt, "adding entry failed");
+            xmlFreeElement(cur);
+            cur = NULL;
+        }
     }
+error:
     if (prefix != NULL) xmlFree(prefix);
     if (uqname != NULL) xmlFree(uqname);
     return(cur);
@@ -4910,6 +4905,7 @@
      */
     if ((CONT != NULL) &&
 	((CONT->parent == NULL) ||
+	 (CONT->parent == (xmlElementContentPtr) 1) ||
 	 (CONT->parent->type != XML_ELEMENT_CONTENT_OR)) &&
 	((CONT->ocur == XML_ELEMENT_CONTENT_MULT) ||
 	 (CONT->ocur == XML_ELEMENT_CONTENT_OPT) ||
@@ -5022,7 +5018,7 @@
 	     * save the second branch 'or' branch
 	     */
 	    DEBUG_VALID_MSG("saving 'or' branch");
-	    if (vstateVPush(ctxt, CONT->c2, NODE, (unsigned char)(DEPTH + 1),
+	    if (vstateVPush(ctxt, CONT->c2, NODE, DEPTH + 1,
 			    OCCURS, ROLLBACK_OR) < 0)
 		return(-1);
 	    DEPTH++;
@@ -5162,7 +5158,8 @@
 	 * Then act accordingly at the parent level
 	 */
 	RESET_OCCURRENCE;
-	if (CONT->parent == NULL)
+	if ((CONT->parent == NULL) ||
+            (CONT->parent == (xmlElementContentPtr) 1))
 	    break;
 
 	switch (CONT->parent->type) {
@@ -5286,9 +5283,6 @@
 		break;
             case XML_ATTRIBUTE_NODE:
             case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-	    case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    case XML_HTML_DOCUMENT_NODE:
             case XML_DOCUMENT_TYPE_NODE:
             case XML_DOCUMENT_FRAG_NODE:
@@ -5447,9 +5441,13 @@
     STATE = 0;
     ret = xmlValidateElementType(ctxt);
     if ((ret == -3) && (warn)) {
-	xmlErrValidWarning(ctxt, child, XML_DTD_CONTENT_NOT_DETERMINIST,
-	       "Content model for Element %s is ambiguous\n",
-	                   name, NULL, NULL);
+	char expr[5000];
+	expr[0] = 0;
+	xmlSnprintfElementContent(expr, 5000, elemDecl->content, 1);
+	xmlErrValidNode(ctxt, (xmlNodePtr) elemDecl,
+                XML_DTD_CONTENT_NOT_DETERMINIST,
+	        "Content model of %s is not deterministic: %s\n",
+	        name, BAD_CAST expr, NULL);
     } else if (ret == -2) {
 	/*
 	 * An entities reference appeared at this level.
@@ -5670,6 +5668,7 @@
     return(ret);
 }
 
+#ifdef LIBXML_REGEXP_ENABLED
 /**
  * xmlValidateCheckMixed:
  * @ctxt:  the validation context
@@ -5735,6 +5734,7 @@
     }
     return(0);
 }
+#endif /* LIBXML_REGEXP_ENABLED */
 
 /**
  * xmlValidGetElemDecl:
@@ -7017,7 +7017,7 @@
 /*
  * Dummy function to suppress messages while we try out valid elements
  */
-static void XMLCDECL xmlNoValidityErr(void *ctx ATTRIBUTE_UNUSED,
+static void xmlNoValidityErr(void *ctx ATTRIBUTE_UNUSED,
                                 const char *msg ATTRIBUTE_UNUSED, ...) {
     return;
 }
diff --git a/vms/build_libxml.com b/vms/build_libxml.com
index 1f7936e..374a877 100755
--- a/vms/build_libxml.com
+++ b/vms/build_libxml.com
@@ -64,8 +64,7 @@
 $!- list of test modules to compile and link.  Compare this list to the
 $!  definition of check_PROGRAMS in MAKEFILE.
 $!
-$   check_PROGRAMS = "testSchemas testRelax testSAX testHTML testXPath testURI " -
-                + "testThreads testC14N testAutomata testRegexp testReader"
+$   check_PROGRAMS = "testThreads testAutomata"
 $!
 $!- set up build logicals -----------------------------------------------------\
 $!
diff --git a/vms/config.vms b/vms/config.vms
index 7f4342c..b55ce0e 100755
--- a/vms/config.vms
+++ b/vms/config.vms
@@ -2,71 +2,24 @@
 
 #define VMS	1
 
-/* Define if you have the strftime function.  */
-#define HAVE_STRFTIME 	1
-
-/* Define if you have the ANSI C header files.  */
-#define STDC_HEADERS	1
-
 #undef PACKAGE
 #undef VERSION
 #undef HAVE_LIBM
 #undef HAVE_LIBHISTORY
 #undef HAVE_LIBREADLINE
 
-#define ICONV_CONST
-
-/* Define if you have the localtime function.  */
-#define HAVE_LOCALTIME	1
-
-/* Define if you have the snprintf function.  */
-#undef HAVE_SNPRINTF
-
-/* Define if you have the strftime function.  */
-#define HAVE_STRFTIME	1
-
 /* Define if you have the <arpa/inet.h> header file.  */
 #undef HAVE_ARPA_INET_H
 
-/* Define if you have the <ctype.h> header file.  */
-#define HAVE_CTYPE_H	1
-
-/* Define if you have the <errno.h> header file.  */
-#define HAVE_ERRNO_H	1
-
 /* Define if you have the <fcntl.h> header file.  */
 #define HAVE_FCNTL_H	1
 
-/* Define if you have the <float.h> header file.  */
-#define HAVE_FLOAT_H	1
-
-/* Define if you have the <malloc.h> header file.  */
-#undef HAVE_MALLOC_H
-
-/* Define if you have the <math.h> header file.  */
-#define HAVE_MATH_H	1
-
 /* Define if you have the <netdb.h> header file.  */
 #define HAVE_NETDB_H	1
 
 /* Define if you have the <netinet/in.h> header file.  */
 #undef HAVE_NETINET_IN_H
 
-/* Define if you have the <stdarg.h> header file.  */
-#define HAVE_STDARG_H	1
-
-/* Define if you have the <stdlib.h> header file.  */
-#define HAVE_STDLIB_H	1
-
-/* Define to 1 if you have the `strftime' function. */
-#define HAVE_STRFTIME 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
 /* Define if you have the <sys/mman.h> header file.  */
 #undef HAVE_SYS_MMAN_H
 
@@ -85,9 +38,6 @@
 /* Define if you have the <sys/types.h> header file.  */
 #undef HAVE_SYS_TYPES_H
 
-/* Define if you have the <time.h> header file.  */
-#define HAVE_TIME_H	1
-
 /* Define if you have the <unistd.h> header file.  */
 #define HAVE_UNISTD_H	1
 
diff --git a/win32/Makefile.bcb b/win32/Makefile.bcb
index d326fb9..4b0a2ef 100644
--- a/win32/Makefile.bcb
+++ b/win32/Makefile.bcb
@@ -42,7 +42,7 @@
 UTILS_INTDIR = int.utils.bcb
 
 # The preprocessor and its options.
-CPP = cpp32.exe -P- -DWIN32
+CPP = cpp32.exe -P-
 CPPFLAGS = -I"$(XML_SRCDIR)\include" -DNOLIBTOOL 
 !if "$(WITH_THREADS)" != "no"
 CPPFLAGS = $(CPPFLAGS) -D_REENTRANT -D__MT__
@@ -50,7 +50,7 @@
 
 # The compiler and its options.
 CC = bcc32.exe
-CFLAGS = -q -DWIN32 -D_NO_VCL -D_WINDOWS -D_MBCS -DEILSEQ=2 -DNOLIBTOOL -w-
+CFLAGS = -q -D_NO_VCL -D_WINDOWS -D_MBCS -DEILSEQ=2 -DNOLIBTOOL -w-
 CFLAGS = $(CFLAGS) -I"$(XML_SRCDIR)" -I"$(XML_SRCDIR)\include" -I"$(INCPREFIX)" -I"$(INCLUDE)"
 !if "$(WITH_THREADS)" != "no"
 CFLAGS = $(CFLAGS) -D_REENTRANT -tWM
@@ -59,9 +59,7 @@
 CFLAGS = $(CFLAGS) -tWR
 !endif
 !if "$(WITH_THREADS)" == "yes" || "$(WITH_THREADS)" == "ctls"
-CFLAGS = $(CFLAGS) -DHAVE_WIN32_THREADS -DHAVE_COMPILER_TLS
-!else if "$(WITH_THREADS)" == "native"
-CFLAGS = $(CFLAGS) -DHAVE_WIN32_THREADS
+CFLAGS = $(CFLAGS) -DHAVE_COMPILER_TLS
 !else if "$(WITH_THREADS)" == "posix"
 CFLAGS = $(CFLAGS) -DHAVE_PTHREAD_H
 !endif
@@ -119,7 +117,6 @@
 	$(XML_INTDIR)\chvalid.obj\
 	$(XML_INTDIR)\debugXML.obj\
 	$(XML_INTDIR)\dict.obj\
-	$(XML_INTDIR)\DOCBparser.obj\
 	$(XML_INTDIR)\encoding.obj\
 	$(XML_INTDIR)\entities.obj\
 	$(XML_INTDIR)\error.obj\
@@ -165,7 +162,6 @@
 	$(XML_INTDIR_A)\chvalid.obj\
 	$(XML_INTDIR_A)\debugXML.obj\
 	$(XML_INTDIR_A)\dict.obj\
-	$(XML_INTDIR_A)\DOCBparser.obj\
 	$(XML_INTDIR_A)\encoding.obj\
 	$(XML_INTDIR_A)\entities.obj\
 	$(XML_INTDIR_A)\error.obj\
@@ -207,18 +203,7 @@
 # Xmllint and friends executables.
 UTILS = $(BINDIR)\xmllint.exe\
 	$(BINDIR)\xmlcatalog.exe\
-	$(BINDIR)\testAutomata.exe\
-	$(BINDIR)\testC14N.exe\
-	$(BINDIR)\testDocbook.exe\
-	$(BINDIR)\testHTML.exe\
-	$(BINDIR)\testReader.exe\
-	$(BINDIR)\testRelax.exe\
-	$(BINDIR)\testRegexp.exe\
 	$(BINDIR)\testModule.exe\
-	$(BINDIR)\testSAX.exe\
-	$(BINDIR)\testSchemas.exe\
-	$(BINDIR)\testURI.exe\
-	$(BINDIR)\testXPath.exe\
 	$(BINDIR)\runtest.exe\
 	$(BINDIR)\runsuite.exe\
 	$(BINDIR)\testapi.exe\
diff --git a/win32/Makefile.mingw b/win32/Makefile.mingw
index 9dfa4ab..bd0c429 100644
--- a/win32/Makefile.mingw
+++ b/win32/Makefile.mingw
@@ -40,19 +40,16 @@
 
 # The compiler and its options.
 CC = gcc.exe
-CFLAGS += -DWIN32 -D_WINDOWS -D_MBCS -DNOLIBTOOL 
+CFLAGS += -D_WINDOWS -D_MBCS -DNOLIBTOOL
 CFLAGS += -I$(XML_SRCDIR) -I$(XML_SRCDIR)/include -I$(INCPREFIX) $(INCLUDE)
 ifneq ($(WITH_THREADS),no)
 CFLAGS += -D_REENTRANT
 endif
 ifeq ($(WITH_THREADS),yes) 
-CFLAGS += -DHAVE_WIN32_THREADS -DHAVE_COMPILER_TLS
+CFLAGS += -DHAVE_COMPILER_TLS
 endif
 ifeq ($(WITH_THREADS),ctls)
-CFLAGS += -DHAVE_WIN32_THREADS -DHAVE_COMPILER_TLS
-endif
-ifeq ($(WITH_THREADS),native)
-CFLAGS += -DHAVE_WIN32_THREADS
+CFLAGS += -DHAVE_COMPILER_TLS
 endif
 ifeq ($(WITH_THREADS),posix)
 CFLAGS += -DHAVE_PTHREAD_H
@@ -111,7 +108,6 @@
 	$(XML_INTDIR)/chvalid.o\
 	$(XML_INTDIR)/debugXML.o\
 	$(XML_INTDIR)/dict.o\
-	$(XML_INTDIR)/DOCBparser.o\
 	$(XML_INTDIR)/encoding.o\
 	$(XML_INTDIR)/entities.o\
 	$(XML_INTDIR)/error.o\
@@ -159,7 +155,6 @@
 	$(XML_INTDIR_A)/chvalid.o\
 	$(XML_INTDIR_A)/debugXML.o\
 	$(XML_INTDIR_A)/dict.o\
-	$(XML_INTDIR_A)/DOCBparser.o\
 	$(XML_INTDIR_A)/encoding.o\
 	$(XML_INTDIR_A)/entities.o\
 	$(XML_INTDIR_A)/error.o\
@@ -203,18 +198,7 @@
 # Xmllint and friends executables.
 UTILS = $(BINDIR)/xmllint.exe\
 	$(BINDIR)/xmlcatalog.exe\
-	$(BINDIR)/testAutomata.exe\
-	$(BINDIR)/testC14N.exe\
-	$(BINDIR)/testDocbook.exe\
-	$(BINDIR)/testHTML.exe\
-	$(BINDIR)/testReader.exe\
-	$(BINDIR)/testRegexp.exe\
 	$(BINDIR)/testModule.exe\
-	$(BINDIR)/testRelax.exe\
-	$(BINDIR)/testSAX.exe\
-	$(BINDIR)/testSchemas.exe\
-	$(BINDIR)/testURI.exe\
-	$(BINDIR)/testXPath.exe\
 	$(BINDIR)/runtest.exe\
 	$(BINDIR)/runsuite.exe\
 	$(BINDIR)/testapi.exe\
diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc
index 725b0ca..7cc25b8 100644
--- a/win32/Makefile.msvc
+++ b/win32/Makefile.msvc
@@ -50,9 +50,7 @@
 CFLAGS = $(CFLAGS) /D "_REENTRANT"
 !endif
 !if "$(WITH_THREADS)" == "yes" || "$(WITH_THREADS)" == "ctls"
-CFLAGS = $(CFLAGS) /D "HAVE_WIN32_THREADS" /D "HAVE_COMPILER_TLS"
-!else if "$(WITH_THREADS)" == "native"
-CFLAGS = $(CFLAGS) /D "HAVE_WIN32_THREADS"
+CFLAGS = $(CFLAGS) /D "HAVE_COMPILER_TLS"
 !else if "$(WITH_THREADS)" == "posix"
 CFLAGS = $(CFLAGS) /D "HAVE_PTHREAD_H"
 !endif
@@ -118,7 +116,6 @@
 	$(XML_INTDIR)\chvalid.obj\
 	$(XML_INTDIR)\debugXML.obj\
 	$(XML_INTDIR)\dict.obj\
-	$(XML_INTDIR)\DOCBparser.obj\
 	$(XML_INTDIR)\encoding.obj\
 	$(XML_INTDIR)\entities.obj\
 	$(XML_INTDIR)\error.obj\
@@ -164,7 +161,6 @@
 	$(XML_INTDIR_A)\chvalid.obj\
 	$(XML_INTDIR_A)\debugXML.obj\
 	$(XML_INTDIR_A)\dict.obj\
-	$(XML_INTDIR_A)\DOCBparser.obj\
 	$(XML_INTDIR_A)\encoding.obj\
 	$(XML_INTDIR_A)\entities.obj\
 	$(XML_INTDIR_A)\error.obj\
@@ -210,7 +206,6 @@
 	$(XML_INTDIR_A_DLL)\chvalid.obj\
 	$(XML_INTDIR_A_DLL)\debugXML.obj\
 	$(XML_INTDIR_A_DLL)\dict.obj\
-	$(XML_INTDIR_A_DLL)\DOCBparser.obj\
 	$(XML_INTDIR_A_DLL)\encoding.obj\
 	$(XML_INTDIR_A_DLL)\entities.obj\
 	$(XML_INTDIR_A_DLL)\error.obj\
@@ -258,18 +253,7 @@
 # Xmllint and friends executables.
 UTILS = $(BINDIR)\xmllint.exe\
 	$(BINDIR)\xmlcatalog.exe\
-	$(BINDIR)\testAutomata.exe\
-	$(BINDIR)\testC14N.exe\
-	$(BINDIR)\testDocbook.exe\
-	$(BINDIR)\testHTML.exe\
-	$(BINDIR)\testReader.exe\
-	$(BINDIR)\testRelax.exe\
-	$(BINDIR)\testRegexp.exe\
 	$(BINDIR)\testModule.exe\
-	$(BINDIR)\testSAX.exe\
-	$(BINDIR)\testSchemas.exe\
-	$(BINDIR)\testURI.exe\
-	$(BINDIR)\testXPath.exe\
 	$(BINDIR)\runtest.exe\
 	$(BINDIR)\runsuite.exe\
 	$(BINDIR)\runxmlconf.exe\
@@ -440,63 +424,3 @@
 	cd .. && win32\$(BINDIR)\testdict.exe
 	cd .. && win32\$(BINDIR)\runxmlconf.exe
 
-XPathtests : $(BINDIR)\testXPath.exe
-	@echo. 2> .memdump
-	@echo ## XPath regression tests
-	@-$(BINDIR)\testXPath.exe | find /C "support not compiled in" 1>nul
-	@if %ERRORLEVEL% NEQ 0 @( \
-		echo Skipping debug not compiled in\
-		@exit 0 \
-	)
-	@for %%I in ($(XML_SRCDIR)\test\XPath\expr\*.*) do @( \
-		@IF NOT EXIST $(XML_SRCDIR)\result\XPath\expr\%%~nxI ( \
-			@echo New test %%~nxI &&\
-			@echo %%~nxI &&\
-			$(BINDIR)\testXPath.exe -f --expr %%I > $(XML_SRCDIR)/result/XPath/expr/%%~nxI &&\
-			findstr /C:"MEMORY ALLOCATED : 0" \
-		) ELSE ( \
-			$(BINDIR)\testXPath.exe -f --expr %%I 2>&1 > result.%%~nxI &&\
-			fc $(XML_SRCDIR)\result\XPath\expr\%%~nxI result.%%~nxI >nul &\
-			iF ERRORLEVEL 1 exit 1 & \
-			findstr "MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0" >nul &&\
-			del result.%%~nxI \
-		) \
-	)
-	@for %%I in ($(XML_SRCDIR)\test\XPath\docs\*.*) do @( \
-		for %%J in ($(XML_SRCDIR)\test\XPath\tests\%%~nxI*.*) do @( \
-			if not exist $(XML_SRCDIR)\result\XPath\tests\%%~nxJ ( \
-				$(BINDIR)\testXPath.exe -f -i %%I %%J > $(XML_SRCDIR)\result\XPath\tests\%%~nxJ &&\
-				findstr /C:"MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0" > nul \
-			) ELSE ( \
-				$(BINDIR)\testXPAth.exe -f -i %%I %%J 2>&1 > result.%%~nxJ &&\
-				findstr /C:"MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0">null &&\
-				fc $(XML_SRCDIR)\result\XPath\tests\%%~nxJ result.%%~nxJ >null & \
-				IF ERRORLEVEL 1 (echo Error: %%I %%J & exit 1) & \
-				del result.%%~nxJ \
-			)\
-		)\
-	)
-
-XMLtests : $(BINDIR)\xmllint.exe
-	@echo. 2> .memdump
-	@echo ## XML regression tests
-	-@for %%I in ($(XML_SRCDIR)\test\*) do @( \
-		if not exist $(XML_SRCDIR)\result\%%~nxI ( \
-			echo New test file %%~nxI &\
-			$(BINDIR)\xmllint.exe  %%I > $(XML_SRCDIR)\result\%%~nxI && \
-			findstr /C:"MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0" > null \
-		) ELSE ( \
-			$(BINDIR)\xmllint.exe %%I 2>&1 > result.%%~nxI && \
-			findstr /C:"MEMORY ALLOC" .memdump | findstr /C:"MEMORY ALLOCATED : 0" > null && \
-			fc $(XML_SRCDIR)\result\%%~nxI result.%%~nxI > null && \
-			$(BINDIR)\xmllint.exe result.%%~nxI 2>&1 > result2.%%~nxI | findstr /V /C:"failed to load external entity" && \
-			fc result.%%~nxI result2.%%~nxI & \
-			del result.%%~nxI result2.%%~nxI\
-		) \
-	)	
-
-				
-
-
-
-	
diff --git a/win32/VC10/README.vc10 b/win32/VC10/README.vc10
deleted file mode 100644
index d33430b..0000000
--- a/win32/VC10/README.vc10
+++ /dev/null
@@ -1,27 +0,0 @@
-

-README file for VC10 project files for libxml2

-----------------------------------------------

-

-to clarify: This is not the readme file for the whole libxml2 project. 

-Rather, it's a readme for the VC10 project files, attached to the libxml2 project.

-

-Quick Start

------------

-

-1) To use, load the libxml2.sln solution file into visual studio

-2) check and correct paths for dependent "iconv" project which most certainly 

-are wrong on your environment.

-3) Compile all projects

-

-

-Background Info

----------------

-

-Running of "configure.sh" won't make sense since VS doesn't support

-this kind of build system and the environment is pretty much known already 

-if you're using Visual Studio. Instead, a preconfigured "config.h" file 

-is provided in the "win32\VC10" directory and referenced by the project

-files already.

-

-The compile process is not completely warning-free: Some warnings will 

-appear during compile which can be ignored.

diff --git a/win32/VC10/RuleSet1.ruleset b/win32/VC10/RuleSet1.ruleset
deleted file mode 100644
index 9985a6c..0000000
--- a/win32/VC10/RuleSet1.ruleset
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>

-<RuleSet Name="New Rule Set" Description=" " ToolsVersion="10.0">

-</RuleSet>
\ No newline at end of file
diff --git a/win32/VC10/config.h b/win32/VC10/config.h
deleted file mode 100644
index 324b74f..0000000
--- a/win32/VC10/config.h
+++ /dev/null
@@ -1,121 +0,0 @@
-#ifndef __LIBXML_WIN32_CONFIG__
-#define __LIBXML_WIN32_CONFIG__
-
-#define HAVE_CTYPE_H
-#define HAVE_STDARG_H
-#define HAVE_MALLOC_H
-#define HAVE_ERRNO_H
-#define HAVE_STDINT_H
-
-#if defined(_WIN32_WCE)
-#undef HAVE_ERRNO_H
-#include "wincecompat.h"
-#else
-#define HAVE_SYS_STAT_H
-#define HAVE_STAT
-#define HAVE_STDLIB_H
-#define HAVE_TIME_H
-#define HAVE_FCNTL_H
-#include <io.h>
-#include <direct.h>
-#endif
-
-#include <libxml/xmlversion.h>
-
-#ifndef ICONV_CONST
-#define ICONV_CONST const
-#endif
-
-/*
- * Windows platforms may define except 
- */
-#undef except
-
-#define HAVE_ISINF
-#define HAVE_ISNAN
-#include <math.h>
-#if defined(_MSC_VER) || defined(__BORLANDC__)
-/* MS C-runtime has functions which can be used in order to determine if
-   a given floating-point variable contains NaN, (+-)INF. These are 
-   preferred, because floating-point technology is considered proprietary
-   by MS and we can assume that their functions know more about their 
-   oddities than we do. */
-#include <float.h>
-/* Bjorn Reese figured a quite nice construct for isinf() using the _fpclass
-   function. */
-#ifndef isinf
-#define isinf(d) ((_fpclass(d) == _FPCLASS_PINF) ? 1 \
-	: ((_fpclass(d) == _FPCLASS_NINF) ? -1 : 0))
-#endif
-/* _isnan(x) returns nonzero if (x == NaN) and zero otherwise. */
-#ifndef isnan
-#define isnan(d) (_isnan(d))
-#endif
-#else /* _MSC_VER */
-#ifndef isinf
-static int isinf (double d) {
-    int expon = 0;
-    double val = frexp (d, &expon);
-    if (expon == 1025) {
-        if (val == 0.5) {
-            return 1;
-        } else if (val == -0.5) {
-            return -1;
-        } else {
-            return 0;
-        }
-    } else {
-        return 0;
-    }
-}
-#endif
-#ifndef isnan
-static int isnan (double d) {
-    int expon = 0;
-    double val = frexp (d, &expon);
-    if (expon == 1025) {
-        if (val == 0.5) {
-            return 0;
-        } else if (val == -0.5) {
-            return 0;
-        } else {
-            return 1;
-        }
-    } else {
-        return 0;
-    }
-}
-#endif
-#endif /* _MSC_VER */
-
-#if defined(_MSC_VER)
-#define mkdir(p,m) _mkdir(p)
-#if _MSC_VER < 1900 // Cannot define this in VS 2015 and above!
-#define snprintf _snprintf
-#endif
-#if _MSC_VER < 1500
-#define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a)
-#endif
-#elif defined(__MINGW32__)
-#define mkdir(p,m) _mkdir(p)
-#endif
-
-/* Threading API to use should be specified here for compatibility reasons.
-   This is however best specified on the compiler's command-line. */
-#if defined(LIBXML_THREAD_ENABLED)
-#if !defined(HAVE_PTHREAD_H) && !defined(HAVE_WIN32_THREADS) && !defined(_WIN32_WCE)
-#define HAVE_WIN32_THREADS
-#endif
-#endif
-
-/* Some third-party libraries far from our control assume the following
-   is defined, which it is not if we don't include windows.h. */
-#if !defined(FALSE)
-#define FALSE 0
-#endif
-#if !defined(TRUE)
-#define TRUE (!(FALSE))
-#endif
-
-#endif /* __LIBXML_WIN32_CONFIG__ */
-
diff --git a/win32/VC10/libxml2-focus.vcxproj b/win32/VC10/libxml2-focus.vcxproj
deleted file mode 100644
index ba6dae6..0000000
--- a/win32/VC10/libxml2-focus.vcxproj
+++ /dev/null
@@ -1,183 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>

-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

-  <ItemGroup Label="ProjectConfigurations">

-    <ProjectConfiguration Include="Debug DLL|Win32">

-      <Configuration>Debug DLL</Configuration>

-      <Platform>Win32</Platform>

-    </ProjectConfiguration>

-    <ProjectConfiguration Include="Debug|Win32">

-      <Configuration>Debug</Configuration>

-      <Platform>Win32</Platform>

-    </ProjectConfiguration>

-    <ProjectConfiguration Include="Release DLL|Win32">

-      <Configuration>Release DLL</Configuration>

-      <Platform>Win32</Platform>

-    </ProjectConfiguration>

-    <ProjectConfiguration Include="Release|Win32">

-      <Configuration>Release</Configuration>

-      <Platform>Win32</Platform>

-    </ProjectConfiguration>

-  </ItemGroup>

-  <PropertyGroup Label="Globals">

-    <ProjectGuid>{7EA50C94-26BD-4893-B773-625CD3D3DEA6}</ProjectGuid>

-    <RootNamespace>libxml2</RootNamespace>

-  </PropertyGroup>

-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

-    <ConfigurationType>StaticLibrary</ConfigurationType>

-    <UseDebugLibraries>true</UseDebugLibraries>

-    <CharacterSet>Unicode</CharacterSet>

-  </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'" Label="Configuration">

-    <ConfigurationType>StaticLibrary</ConfigurationType>

-    <UseDebugLibraries>true</UseDebugLibraries>

-    <CharacterSet>Unicode</CharacterSet>

-  </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

-    <ConfigurationType>StaticLibrary</ConfigurationType>

-    <UseDebugLibraries>false</UseDebugLibraries>

-    <WholeProgramOptimization>true</WholeProgramOptimization>

-    <CharacterSet>Unicode</CharacterSet>

-  </PropertyGroup>

-  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

-    <ConfigurationType>StaticLibrary</ConfigurationType>

-    <CharacterSet>Unicode</CharacterSet>

-    <WholeProgramOptimization>true</WholeProgramOptimization>

-  </PropertyGroup>

-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

-  <ImportGroup Label="ExtensionSettings">

-  </ImportGroup>

-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

-    <Import Project="..\..\..\focus-lib-debug.props" />

-  </ImportGroup>

-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'" Label="PropertySheets">

-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

-    <Import Project="..\..\..\focus-lib-debug-dll.props" />

-  </ImportGroup>

-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

-    <Import Project="..\..\..\focus-lib-release.props" />

-  </ImportGroup>

-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

-    <Import Project="..\..\..\focus-lib-release-dll.props" />

-  </ImportGroup>

-  <PropertyGroup Label="UserMacros" />

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

-    <OutDir>$(ProjectDir)..\..\lib\</OutDir>

-  </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

-    <OutDir>$(ProjectDir)..\..\lib\</OutDir>

-  </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'" />

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

-    <OutDir>$(ProjectDir)..\..\lib\</OutDir>

-  </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

-    <OutDir>$(ProjectDir)..\..\lib\</OutDir>

-  </PropertyGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

-    <ClCompile>

-      <WarningLevel>Level3</WarningLevel>

-      <Optimization>Disabled</Optimization>

-      <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14\include</AdditionalIncludeDirectories>

-      <DisableSpecificWarnings>4018; 4996</DisableSpecificWarnings>

-      <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>

-      <MinimalRebuild>false</MinimalRebuild>

-    </ClCompile>

-    <Link>

-      <GenerateDebugInformation>true</GenerateDebugInformation>

-    </Link>

-  </ItemDefinitionGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

-    <ClCompile>

-      <WarningLevel>Level3</WarningLevel>

-      <Optimization>Disabled</Optimization>

-      <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14\include</AdditionalIncludeDirectories>

-      <DisableSpecificWarnings>4018; 4996</DisableSpecificWarnings>

-      <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>

-      <MinimalRebuild>false</MinimalRebuild>

-    </ClCompile>

-    <Link>

-      <GenerateDebugInformation>true</GenerateDebugInformation>

-    </Link>

-  </ItemDefinitionGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

-    <ClCompile>

-      <WarningLevel>Level3</WarningLevel>

-      <Optimization>MaxSpeed</Optimization>

-      <FunctionLevelLinking>true</FunctionLevelLinking>

-      <IntrinsicFunctions>true</IntrinsicFunctions>

-      <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>

-      <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14\include</AdditionalIncludeDirectories>

-      <DisableSpecificWarnings>4018; 4996</DisableSpecificWarnings>

-    </ClCompile>

-    <Link>

-      <GenerateDebugInformation>true</GenerateDebugInformation>

-      <EnableCOMDATFolding>true</EnableCOMDATFolding>

-      <OptimizeReferences>true</OptimizeReferences>

-    </Link>

-  </ItemDefinitionGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

-    <ClCompile>

-      <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>

-      <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14\include</AdditionalIncludeDirectories>

-      <DisableSpecificWarnings>4018; 4996</DisableSpecificWarnings>

-    </ClCompile>

-  </ItemDefinitionGroup>

-  <ItemGroup>

-    <ClCompile Include="..\..\c14n.c" />

-    <ClCompile Include="..\..\catalog.c" />

-    <ClCompile Include="..\..\chvalid.c" />

-    <ClCompile Include="..\..\debugXML.c" />

-    <ClCompile Include="..\..\dict.c" />

-    <ClCompile Include="..\..\DOCBparser.c" />

-    <ClCompile Include="..\..\encoding.c" />

-    <ClCompile Include="..\..\entities.c" />

-    <ClCompile Include="..\..\error.c" />

-    <ClCompile Include="..\..\globals.c" />

-    <ClCompile Include="..\..\hash.c" />

-    <ClCompile Include="..\..\HTMLparser.c" />

-    <ClCompile Include="..\..\HTMLtree.c" />

-    <ClCompile Include="..\..\legacy.c" />

-    <ClCompile Include="..\..\list.c" />

-    <ClCompile Include="..\..\nanoftp.c" />

-    <ClCompile Include="..\..\nanohttp.c" />

-    <ClCompile Include="..\..\parser.c" />

-    <ClCompile Include="..\..\parserInternals.c" />

-    <ClCompile Include="..\..\pattern.c" />

-    <ClCompile Include="..\..\relaxng.c" />

-    <ClCompile Include="..\..\SAX.c" />

-    <ClCompile Include="..\..\SAX2.c" />

-    <ClCompile Include="..\..\schematron.c" />

-    <ClCompile Include="..\..\threads.c" />

-    <ClCompile Include="..\..\tree.c" />

-    <ClCompile Include="..\..\uri.c" />

-    <ClCompile Include="..\..\valid.c" />

-    <ClCompile Include="..\..\xinclude.c" />

-    <ClCompile Include="..\..\xlink.c" />

-    <ClCompile Include="..\..\xmlcatalog.c" />

-    <ClCompile Include="..\..\xmlIO.c" />

-    <ClCompile Include="..\..\xmlmemory.c" />

-    <ClCompile Include="..\..\xmlmodule.c" />

-    <ClCompile Include="..\..\xmlreader.c" />

-    <ClCompile Include="..\..\xmlregexp.c" />

-    <ClCompile Include="..\..\xmlsave.c" />

-    <ClCompile Include="..\..\xmlschemas.c" />

-    <ClCompile Include="..\..\xmlschemastypes.c" />

-    <ClCompile Include="..\..\xmlstring.c" />

-    <ClCompile Include="..\..\xmlunicode.c" />

-    <ClCompile Include="..\..\xmlwriter.c" />

-    <ClCompile Include="..\..\xpath.c" />

-    <ClCompile Include="..\..\xpointer.c" />

-  </ItemGroup>

-  <ItemGroup>

-    <ClInclude Include="..\..\acconfig.h" />

-    <ClInclude Include="..\..\libxml.h" />

-    <ClInclude Include="config.h" />

-  </ItemGroup>

-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

-  <ImportGroup Label="ExtensionTargets">

-  </ImportGroup>

-</Project>

diff --git a/win32/VC10/libxml2.sln b/win32/VC10/libxml2.sln
deleted file mode 100644
index 8485751..0000000
--- a/win32/VC10/libxml2.sln
+++ /dev/null
@@ -1,49 +0,0 @@
-

-Microsoft Visual Studio Solution File, Format Version 11.00

-# Visual Studio 2010

-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxml2", "libxml2.vcxproj", "{1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}"

-EndProject

-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runsuite", "runsuite.vcxproj", "{D841B4F7-C277-49CB-B379-8B1801C8EE35}"

-	ProjectSection(ProjectDependencies) = postProject

-		{BEC03130-A64C-48F8-863C-52DA83CFB3AE} = {BEC03130-A64C-48F8-863C-52DA83CFB3AE}

-	EndProjectSection

-EndProject

-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iconv", "..\..\..\libiconv-1.14.vc10\windows\VC10\iconv.vcxproj", "{BEC03130-A64C-48F8-863C-52DA83CFB3AE}"

-EndProject

-Global

-	GlobalSection(SolutionConfigurationPlatforms) = preSolution

-		Debug DLL|Win32 = Debug DLL|Win32

-		Debug|Win32 = Debug|Win32

-		Release DLL|Win32 = Release DLL|Win32

-		Release|Win32 = Release|Win32

-	EndGlobalSection

-	GlobalSection(ProjectConfigurationPlatforms) = postSolution

-		{1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Debug DLL|Win32.ActiveCfg = Debug|Win32

-		{1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Debug DLL|Win32.Build.0 = Debug|Win32

-		{1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Debug|Win32.ActiveCfg = Debug|Win32

-		{1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Debug|Win32.Build.0 = Debug|Win32

-		{1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Release DLL|Win32.ActiveCfg = Release|Win32

-		{1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Release DLL|Win32.Build.0 = Release|Win32

-		{1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Release|Win32.ActiveCfg = Release|Win32

-		{1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Release|Win32.Build.0 = Release|Win32

-		{D841B4F7-C277-49CB-B379-8B1801C8EE35}.Debug DLL|Win32.ActiveCfg = Debug|Win32

-		{D841B4F7-C277-49CB-B379-8B1801C8EE35}.Debug DLL|Win32.Build.0 = Debug|Win32

-		{D841B4F7-C277-49CB-B379-8B1801C8EE35}.Debug|Win32.ActiveCfg = Debug|Win32

-		{D841B4F7-C277-49CB-B379-8B1801C8EE35}.Debug|Win32.Build.0 = Debug|Win32

-		{D841B4F7-C277-49CB-B379-8B1801C8EE35}.Release DLL|Win32.ActiveCfg = Release|Win32

-		{D841B4F7-C277-49CB-B379-8B1801C8EE35}.Release DLL|Win32.Build.0 = Release|Win32

-		{D841B4F7-C277-49CB-B379-8B1801C8EE35}.Release|Win32.ActiveCfg = Release|Win32

-		{D841B4F7-C277-49CB-B379-8B1801C8EE35}.Release|Win32.Build.0 = Release|Win32

-		{BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32

-		{BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Debug DLL|Win32.Build.0 = Debug DLL|Win32

-		{BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Debug|Win32.ActiveCfg = Debug|Win32

-		{BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Debug|Win32.Build.0 = Debug|Win32

-		{BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Release DLL|Win32.ActiveCfg = Release DLL|Win32

-		{BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Release DLL|Win32.Build.0 = Release DLL|Win32

-		{BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Release|Win32.ActiveCfg = Release|Win32

-		{BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Release|Win32.Build.0 = Release|Win32

-	EndGlobalSection

-	GlobalSection(SolutionProperties) = preSolution

-		HideSolutionNode = FALSE

-	EndGlobalSection

-EndGlobal

diff --git a/win32/VC10/libxml2.vcxproj b/win32/VC10/libxml2.vcxproj
deleted file mode 100644
index 3095e12..0000000
--- a/win32/VC10/libxml2.vcxproj
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>

-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

-  <ItemGroup Label="ProjectConfigurations">

-    <ProjectConfiguration Include="Debug|Win32">

-      <Configuration>Debug</Configuration>

-      <Platform>Win32</Platform>

-    </ProjectConfiguration>

-    <ProjectConfiguration Include="Release|Win32">

-      <Configuration>Release</Configuration>

-      <Platform>Win32</Platform>

-    </ProjectConfiguration>

-  </ItemGroup>

-  <PropertyGroup Label="Globals">

-    <ProjectGuid>{1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}</ProjectGuid>

-    <RootNamespace>libxml2</RootNamespace>

-  </PropertyGroup>

-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

-    <ConfigurationType>StaticLibrary</ConfigurationType>

-    <UseDebugLibraries>true</UseDebugLibraries>

-    <CharacterSet>Unicode</CharacterSet>

-  </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

-    <ConfigurationType>Application</ConfigurationType>

-    <UseDebugLibraries>false</UseDebugLibraries>

-    <WholeProgramOptimization>true</WholeProgramOptimization>

-    <CharacterSet>MultiByte</CharacterSet>

-  </PropertyGroup>

-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

-  <ImportGroup Label="ExtensionSettings">

-  </ImportGroup>

-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

-  </ImportGroup>

-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

-  </ImportGroup>

-  <PropertyGroup Label="UserMacros" />

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

-    <OutDir>$(ProjectDir)..\..\lib\</OutDir>

-  </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

-    <IntDir>build\$(ProjectName)$(Configuration)\</IntDir>

-  </PropertyGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

-    <ClCompile>

-      <WarningLevel>Level3</WarningLevel>

-      <Optimization>Disabled</Optimization>

-      <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14.vc10\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

-      <DisableSpecificWarnings>4996</DisableSpecificWarnings>

-      <MinimalRebuild>false</MinimalRebuild>

-      <MultiProcessorCompilation>true</MultiProcessorCompilation>

-    </ClCompile>

-    <Link>

-      <GenerateDebugInformation>true</GenerateDebugInformation>

-    </Link>

-  </ItemDefinitionGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

-    <ClCompile>

-      <WarningLevel>Level3</WarningLevel>

-      <Optimization>MaxSpeed</Optimization>

-      <FunctionLevelLinking>true</FunctionLevelLinking>

-      <IntrinsicFunctions>true</IntrinsicFunctions>

-    </ClCompile>

-    <Link>

-      <GenerateDebugInformation>true</GenerateDebugInformation>

-      <EnableCOMDATFolding>true</EnableCOMDATFolding>

-      <OptimizeReferences>true</OptimizeReferences>

-    </Link>

-  </ItemDefinitionGroup>

-  <ItemGroup>

-    <ClCompile Include="..\..\buf.c" />

-    <ClCompile Include="..\..\c14n.c" />

-    <ClCompile Include="..\..\catalog.c" />

-    <ClCompile Include="..\..\chvalid.c" />

-    <ClCompile Include="..\..\debugXML.c" />

-    <ClCompile Include="..\..\dict.c" />

-    <ClCompile Include="..\..\DOCBparser.c" />

-    <ClCompile Include="..\..\encoding.c" />

-    <ClCompile Include="..\..\entities.c" />

-    <ClCompile Include="..\..\error.c" />

-    <ClCompile Include="..\..\globals.c" />

-    <ClCompile Include="..\..\hash.c" />

-    <ClCompile Include="..\..\HTMLparser.c" />

-    <ClCompile Include="..\..\HTMLtree.c" />

-    <ClCompile Include="..\..\legacy.c" />

-    <ClCompile Include="..\..\list.c" />

-    <ClCompile Include="..\..\nanoftp.c" />

-    <ClCompile Include="..\..\nanohttp.c" />

-    <ClCompile Include="..\..\parser.c" />

-    <ClCompile Include="..\..\parserInternals.c" />

-    <ClCompile Include="..\..\pattern.c" />

-    <ClCompile Include="..\..\relaxng.c" />

-    <ClCompile Include="..\..\SAX.c" />

-    <ClCompile Include="..\..\SAX2.c" />

-    <ClCompile Include="..\..\schematron.c" />

-    <ClCompile Include="..\..\threads.c" />

-    <ClCompile Include="..\..\tree.c" />

-    <ClCompile Include="..\..\uri.c" />

-    <ClCompile Include="..\..\valid.c" />

-    <ClCompile Include="..\..\xinclude.c" />

-    <ClCompile Include="..\..\xlink.c" />

-    <ClCompile Include="..\..\xmlcatalog.c" />

-    <ClCompile Include="..\..\xmlIO.c" />

-    <ClCompile Include="..\..\xmlmemory.c" />

-    <ClCompile Include="..\..\xmlmodule.c" />

-    <ClCompile Include="..\..\xmlreader.c" />

-    <ClCompile Include="..\..\xmlregexp.c" />

-    <ClCompile Include="..\..\xmlsave.c" />

-    <ClCompile Include="..\..\xmlschemas.c" />

-    <ClCompile Include="..\..\xmlschemastypes.c" />

-    <ClCompile Include="..\..\xmlstring.c" />

-    <ClCompile Include="..\..\xmlunicode.c" />

-    <ClCompile Include="..\..\xmlwriter.c" />

-    <ClCompile Include="..\..\xpath.c" />

-    <ClCompile Include="..\..\xpointer.c" />

-  </ItemGroup>

-  <ItemGroup>

-    <ClInclude Include="..\..\acconfig.h" />

-    <ClInclude Include="..\..\libxml.h" />

-    <ClInclude Include="config.h" />

-  </ItemGroup>

-  <ItemGroup>

-    <ProjectReference Include="..\..\..\libiconv-1.14.vc10\windows\VC10\iconv.vcxproj">

-      <Project>{bec03130-a64c-48f8-863c-52da83cfb3ae}</Project>

-      <Private>true</Private>

-      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>

-      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>

-      <LinkLibraryDependencies>true</LinkLibraryDependencies>

-      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>

-    </ProjectReference>

-  </ItemGroup>

-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

-  <ImportGroup Label="ExtensionTargets">

-  </ImportGroup>

-</Project>

diff --git a/win32/VC10/libxml2.vcxproj.filters b/win32/VC10/libxml2.vcxproj.filters
deleted file mode 100644
index 55f3897..0000000
--- a/win32/VC10/libxml2.vcxproj.filters
+++ /dev/null
@@ -1,168 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>

-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

-  <ItemGroup>

-    <Filter Include="Source Files">

-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>

-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>

-    </Filter>

-    <Filter Include="Header Files">

-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>

-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>

-    </Filter>

-    <Filter Include="Resource Files">

-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>

-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>

-    </Filter>

-    <Filter Include="Header Files\windows">

-      <UniqueIdentifier>{22791c14-7c07-4222-ad58-8c18d3fb10ba}</UniqueIdentifier>

-    </Filter>

-    <Filter Include="Header Files\windows\VC10">

-      <UniqueIdentifier>{bfddc99f-05d4-4f06-98d1-346b1be73d6f}</UniqueIdentifier>

-    </Filter>

-  </ItemGroup>

-  <ItemGroup>

-    <ClCompile Include="..\..\c14n.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\catalog.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\chvalid.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\debugXML.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\dict.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\DOCBparser.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\encoding.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\entities.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\error.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\globals.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\hash.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\legacy.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\list.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\parser.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\parserInternals.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\pattern.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\relaxng.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\SAX.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\SAX2.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\schematron.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\threads.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\tree.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\uri.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\valid.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xinclude.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xlink.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlcatalog.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlIO.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlmemory.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlmodule.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlreader.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlregexp.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlsave.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlschemas.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlschemastypes.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlstring.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlunicode.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xmlwriter.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xpath.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\xpointer.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\nanohttp.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\nanoftp.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\HTMLparser.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="..\..\HTMLtree.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-  </ItemGroup>

-  <ItemGroup>

-    <ClInclude Include="config.h">

-      <Filter>Header Files\windows\VC10</Filter>

-    </ClInclude>

-    <ClInclude Include="..\..\acconfig.h">

-      <Filter>Header Files</Filter>

-    </ClInclude>

-    <ClInclude Include="..\..\libxml.h">

-      <Filter>Header Files</Filter>

-    </ClInclude>

-  </ItemGroup>

-</Project>

diff --git a/win32/VC10/runsuite.vcxproj b/win32/VC10/runsuite.vcxproj
deleted file mode 100644
index 83cc991..0000000
--- a/win32/VC10/runsuite.vcxproj
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>

-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

-  <ItemGroup Label="ProjectConfigurations">

-    <ProjectConfiguration Include="Debug|Win32">

-      <Configuration>Debug</Configuration>

-      <Platform>Win32</Platform>

-    </ProjectConfiguration>

-    <ProjectConfiguration Include="Release|Win32">

-      <Configuration>Release</Configuration>

-      <Platform>Win32</Platform>

-    </ProjectConfiguration>

-  </ItemGroup>

-  <PropertyGroup Label="Globals">

-    <ProjectGuid>{D841B4F7-C277-49CB-B379-8B1801C8EE35}</ProjectGuid>

-    <RootNamespace>runsuite</RootNamespace>

-  </PropertyGroup>

-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

-    <ConfigurationType>Application</ConfigurationType>

-    <UseDebugLibraries>true</UseDebugLibraries>

-    <CharacterSet>Unicode</CharacterSet>

-  </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

-    <ConfigurationType>Application</ConfigurationType>

-    <UseDebugLibraries>false</UseDebugLibraries>

-    <WholeProgramOptimization>true</WholeProgramOptimization>

-    <CharacterSet>MultiByte</CharacterSet>

-  </PropertyGroup>

-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

-  <ImportGroup Label="ExtensionSettings">

-  </ImportGroup>

-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

-  </ImportGroup>

-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

-  </ImportGroup>

-  <PropertyGroup Label="UserMacros" />

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

-    <OutDir>$(ProjectDir)..\..\lib\</OutDir>

-    <IntDir>build\$(ProjectName)$(Configuration)\</IntDir>

-  </PropertyGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

-    <ClCompile>

-      <WarningLevel>Level3</WarningLevel>

-      <Optimization>Disabled</Optimization>

-      <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14.vc10\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

-      <DisableSpecificWarnings>4996</DisableSpecificWarnings>

-      <PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>

-      <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>

-      <MinimalRebuild>false</MinimalRebuild>

-    </ClCompile>

-    <Link>

-      <GenerateDebugInformation>true</GenerateDebugInformation>

-      <AdditionalDependencies>Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

-    </Link>

-  </ItemDefinitionGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

-    <ClCompile>

-      <WarningLevel>Level3</WarningLevel>

-      <Optimization>MaxSpeed</Optimization>

-      <FunctionLevelLinking>true</FunctionLevelLinking>

-      <IntrinsicFunctions>true</IntrinsicFunctions>

-    </ClCompile>

-    <Link>

-      <GenerateDebugInformation>true</GenerateDebugInformation>

-      <EnableCOMDATFolding>true</EnableCOMDATFolding>

-      <OptimizeReferences>true</OptimizeReferences>

-    </Link>

-  </ItemDefinitionGroup>

-  <ItemGroup>

-    <ClCompile Include="..\..\runsuite.c" />

-  </ItemGroup>

-  <ItemGroup>

-    <ProjectReference Include="..\..\..\libiconv-1.14.vc10\windows\VC10\iconv.vcxproj">

-      <Project>{bec03130-a64c-48f8-863c-52da83cfb3ae}</Project>

-    </ProjectReference>

-    <ProjectReference Include="libxml2.vcxproj">

-      <Project>{1d6039f6-5078-416f-a3af-a36efc7e6a1c}</Project>

-    </ProjectReference>

-  </ItemGroup>

-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

-  <ImportGroup Label="ExtensionTargets">

-  </ImportGroup>

-</Project>
\ No newline at end of file
diff --git a/win32/VC10/runsuite.vcxproj.filters b/win32/VC10/runsuite.vcxproj.filters
deleted file mode 100644
index d7dce00..0000000
--- a/win32/VC10/runsuite.vcxproj.filters
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>

-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

-  <ItemGroup>

-    <Filter Include="Source Files">

-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>

-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>

-    </Filter>

-    <Filter Include="Header Files">

-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>

-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>

-    </Filter>

-    <Filter Include="Resource Files">

-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>

-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>

-    </Filter>

-  </ItemGroup>

-  <ItemGroup>

-    <ClCompile Include="..\..\runsuite.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-  </ItemGroup>

-</Project>
\ No newline at end of file
diff --git a/win32/configure.js b/win32/configure.js
index d784f3b..e53cfcb 100644
--- a/win32/configure.js
+++ b/win32/configure.js
@@ -35,9 +35,9 @@
 var withHtml = true;
 var withC14n = true;
 var withCatalog = true;
-var withDocb = true;
 var withXpath = true;
 var withXptr = true;
+var withXptrLocs = false;
 var withXinclude = true;
 var withIconv = true;
 var withIcu = false;
@@ -46,7 +46,6 @@
 var withLzma = false;
 var withDebug = true;
 var withMemDebug = false;
-var withRunDebug = false;
 var withSchemas = true;
 var withSchematron = true;
 var withRegExps = true;
@@ -121,9 +120,9 @@
 	txt += "  html:       Enable HTML processor (" + (withHtml? "yes" : "no")  + ")\n";
 	txt += "  c14n:       Enable C14N support (" + (withC14n? "yes" : "no")  + ")\n";
 	txt += "  catalog:    Enable catalog support (" + (withCatalog? "yes" : "no")  + ")\n";
-	txt += "  docb:       Enable DocBook support (" + (withDocb? "yes" : "no")  + ")\n";
 	txt += "  xpath:      Enable XPath support (" + (withXpath? "yes" : "no")  + ")\n";
 	txt += "  xptr:       Enable XPointer support (" + (withXptr? "yes" : "no")  + ")\n";
+	txt += "  xptr_locs:  Enable XPointer locs support (" + (withXptrLocs? "yes" : "no")  + ")\n";
 	txt += "  xinclude:   Enable XInclude support (" + (withXinclude? "yes" : "no")  + ")\n";
 	txt += "  iconv:      Enable iconv support (" + (withIconv? "yes" : "no")  + ")\n";
 	txt += "  icu:        Enable icu support (" + (withIcu? "yes" : "no")  + ")\n";
@@ -132,7 +131,6 @@
 	txt += "  lzma:       Enable lzma support (" + (withLzma? "yes" : "no")  + ")\n";
 	txt += "  xml_debug:  Enable XML debbugging module (" + (withDebug? "yes" : "no")  + ")\n";
 	txt += "  mem_debug:  Enable memory debugger (" + (withMemDebug? "yes" : "no")  + ")\n";
-	txt += "  run_debug:  Enable memory debugger (" + (withRunDebug? "yes" : "no")  + ")\n";
 	txt += "  regexps:    Enable regular expressions (" + (withRegExps? "yes" : "no") + ")\n";
 	txt += "  modules:    Enable module support (" + (withModules? "yes" : "no") + ")\n";
 	txt += "  tree:       Enable tree api (" + (withTree? "yes" : "no") + ")\n";
@@ -218,9 +216,9 @@
 	vf.WriteLine("WITH_HTML=" + (withHtml? "1" : "0"));
 	vf.WriteLine("WITH_C14N=" + (withC14n? "1" : "0"));
 	vf.WriteLine("WITH_CATALOG=" + (withCatalog? "1" : "0"));
-	vf.WriteLine("WITH_DOCB=" + (withDocb? "1" : "0"));
 	vf.WriteLine("WITH_XPATH=" + (withXpath? "1" : "0"));
 	vf.WriteLine("WITH_XPTR=" + (withXptr? "1" : "0"));
+	vf.WriteLine("WITH_XPTR_LOCS=" + (withXptrLocs? "1" : "0"));
 	vf.WriteLine("WITH_XINCLUDE=" + (withXinclude? "1" : "0"));
 	vf.WriteLine("WITH_ICONV=" + (withIconv? "1" : "0"));
 	vf.WriteLine("WITH_ICU=" + (withIcu? "1" : "0"));
@@ -229,7 +227,6 @@
 	vf.WriteLine("WITH_LZMA=" + (withLzma? "1" : "0"));
 	vf.WriteLine("WITH_DEBUG=" + (withDebug? "1" : "0"));
 	vf.WriteLine("WITH_MEM_DEBUG=" + (withMemDebug? "1" : "0"));
-	vf.WriteLine("WITH_RUN_DEBUG=" + (withRunDebug? "1" : "0"));
 	vf.WriteLine("WITH_SCHEMAS=" + (withSchemas? "1" : "0"));
 	vf.WriteLine("WITH_SCHEMATRON=" + (withSchematron? "1" : "0"));
 	vf.WriteLine("WITH_REGEXPS=" + (withRegExps? "1" : "0"));
@@ -315,12 +312,12 @@
 			of.WriteLine(s.replace(/\@WITH_C14N\@/, withC14n? "1" : "0"));
 		} else if (s.search(/\@WITH_CATALOG\@/) != -1) {
 			of.WriteLine(s.replace(/\@WITH_CATALOG\@/, withCatalog? "1" : "0"));
-		} else if (s.search(/\@WITH_DOCB\@/) != -1) {
-			of.WriteLine(s.replace(/\@WITH_DOCB\@/, withDocb? "1" : "0"));
 		} else if (s.search(/\@WITH_XPATH\@/) != -1) {
 			of.WriteLine(s.replace(/\@WITH_XPATH\@/, withXpath? "1" : "0"));
 		} else if (s.search(/\@WITH_XPTR\@/) != -1) {
 			of.WriteLine(s.replace(/\@WITH_XPTR\@/, withXptr? "1" : "0"));
+		} else if (s.search(/\@WITH_XPTR_LOCS\@/) != -1) {
+			of.WriteLine(s.replace(/\@WITH_XPTR_LOCS\@/, withXptrLocs? "1" : "0"));
 		} else if (s.search(/\@WITH_XINCLUDE\@/) != -1) {
 			of.WriteLine(s.replace(/\@WITH_XINCLUDE\@/, withXinclude? "1" : "0"));
 		} else if (s.search(/\@WITH_ICONV\@/) != -1) {
@@ -337,8 +334,6 @@
 			of.WriteLine(s.replace(/\@WITH_DEBUG\@/, withDebug? "1" : "0"));
 		} else if (s.search(/\@WITH_MEM_DEBUG\@/) != -1) {
 			of.WriteLine(s.replace(/\@WITH_MEM_DEBUG\@/, withMemDebug? "1" : "0"));
-		} else if (s.search(/\@WITH_RUN_DEBUG\@/) != -1) {
-			of.WriteLine(s.replace(/\@WITH_RUN_DEBUG\@/, withRunDebug? "1" : "0"));
 		} else if (s.search(/\@WITH_SCHEMAS\@/) != -1) {
 			of.WriteLine(s.replace(/\@WITH_SCHEMAS\@/, withSchemas? "1" : "0"));
 		} else if (s.search(/\@WITH_SCHEMATRON\@/) != -1) {
@@ -470,12 +465,12 @@
 			withC14n = strToBool(arg.substring(opt.length + 1, arg.length));
 		else if (opt == "catalog")
 			withCatalog = strToBool(arg.substring(opt.length + 1, arg.length));
-		else if (opt == "docb")
-			withDocb = strToBool(arg.substring(opt.length + 1, arg.length));
 		else if (opt == "xpath")
 			withXpath = strToBool(arg.substring(opt.length + 1, arg.length));
 		else if (opt == "xptr")
 			withXptr = strToBool(arg.substring(opt.length + 1, arg.length));
+		else if (opt == "xptr_locs")
+			withXptrLocs = strToBool(arg.substring(opt.length + 1, arg.length));
 		else if (opt == "xinclude")
 			withXinclude = strToBool(arg.substring(opt.length + 1, arg.length));
 		else if (opt == "iconv")
@@ -492,8 +487,6 @@
 			withDebug = strToBool(arg.substring(opt.length + 1, arg.length));
 		else if (opt == "mem_debug")
 			withMemDebug = strToBool(arg.substring(opt.length + 1, arg.length));
-		else if (opt == "run_debug")
-			withRunDebug = strToBool(arg.substring(opt.length + 1, arg.length));
 		else if (opt == "schemas")
 			withSchemas = strToBool(arg.substring(opt.length + 1, arg.length));
 		else if (opt == "schematron")
@@ -661,9 +654,9 @@
 txtOut += "    HTML processor: " + boolToStr(withHtml) + "\n";
 txtOut += "      C14N support: " + boolToStr(withC14n) + "\n";
 txtOut += "   Catalog support: " + boolToStr(withCatalog) + "\n";
-txtOut += "   DocBook support: " + boolToStr(withDocb) + "\n";
 txtOut += "     XPath support: " + boolToStr(withXpath) + "\n";
 txtOut += "  XPointer support: " + boolToStr(withXptr) + "\n";
+txtOut += "     XPointer locs: " + boolToStr(withXptrLocs) + "\n";
 txtOut += "  XInclude support: " + boolToStr(withXinclude) + "\n";
 txtOut += "     iconv support: " + boolToStr(withIconv) + "\n";
 txtOut += "     icu   support: " + boolToStr(withIcu) + "\n";
@@ -672,7 +665,6 @@
 txtOut += "      lzma support: " + boolToStr(withLzma) + "\n";
 txtOut += "  Debugging module: " + boolToStr(withDebug) + "\n";
 txtOut += "  Memory debugging: " + boolToStr(withMemDebug) + "\n";
-txtOut += " Runtime debugging: " + boolToStr(withRunDebug) + "\n";
 txtOut += "    Regexp support: " + boolToStr(withRegExps) + "\n";
 txtOut += "    Module support: " + boolToStr(withModules) + "\n";
 txtOut += "      Tree support: " + boolToStr(withTree) + "\n";
diff --git a/win32/defgen.xsl b/win32/defgen.xsl
deleted file mode 100644
index a598ff1..0000000
--- a/win32/defgen.xsl
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0"?>
-<!-- 
-	win32/defgen.xsl
-	This stylesheet is used to transform doc/libxml2-api.xml into a pseudo-source,
-	which can then be preprocessed to get the .DEF file for the Microsoft's linker.
-	
-	Use any XSLT processor to produce a file called libxml2.def.src in the win32
-	subdirectory, for example, run xsltproc from the win32 subdirectory:
-	
-	  xsltproc -o libxml2.def.src defgen.xsl ../doc/libxml2-api.xml
-	  
-	Once that finishes, rest assured, the Makefile will know what to do with the
-	generated file. 
-
-	April 2003, Igor Zlatkovic <igor@zlatkovic.com>
--->
-<!DOCTYPE xsl:stylesheet [ <!ENTITY nl '&#xd;&#xa;'> ]>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-	<xsl:strip-space elements="*"/>
-	<xsl:output method="text"/>
-	<xsl:template match="/">
-		<xsl:text>#define LIBXML2_COMPILING_MSCCDEF&nl;</xsl:text>
-		<xsl:text>#include "../include/libxml/xmlversion.h"&nl;</xsl:text>
-		<xsl:text>LIBRARY libxml2&nl;</xsl:text>
-		<xsl:text>EXPORTS&nl;</xsl:text>
-		<xsl:for-each select="/api/symbols/*[self::variable or self::function]">
-			<!-- Basic tests -->
-			<xsl:if test="@file = 'c14n'">
-				<xsl:text>#ifdef LIBXML_C14N_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'catalog'">
-				<xsl:text>#ifdef LIBXML_CATALOG_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'debugXML'">
-				<xsl:text>#ifdef LIBXML_DEBUG_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'DOCBparser'">
-				<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@file = 'HTMLparser') 
-					or (@file = 'HTMLtree')">
-				<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'nanohttp'">
-				<xsl:text>#ifdef LIBXML_HTTP_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'nanoftp'">
-				<xsl:text>#ifdef LIBXML_FTP_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@file = 'relaxng') 
-					or (@file = 'xmlschemas') 
-					or (@file = 'xmlschemastypes')">
-				<xsl:text>#ifdef LIBXML_SCHEMAS_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'xinclude'">
-				<xsl:text>#ifdef LIBXML_XINCLUDE_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'xlink'">
-				<xsl:text>#ifdef LIBXML_XLINK_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'xmlautomata'">
-				<xsl:text>#ifdef LIBXML_AUTOMATA_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@file = 'xmlregexp') 
-					or (@file = 'xmlunicode')">
-				<xsl:text>#ifdef LIBXML_REGEXP_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@file = 'xpath') 
-					or (@file = 'xpathInternals')">
-				<xsl:text>#ifdef LIBXML_XPATH_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'xpointer'">
-				<xsl:text>#ifdef LIBXML_XPTR_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<!-- Extended tests -->
-			<xsl:if test="(@name = 'htmlDefaultSAXHandlerInit') 
-					or (@name = 'htmlInitAutoClose') 
-					or (@name = 'htmlCreateFileParserCtxt') 
-					or (@name = 'inithtmlDefaultSAXHandler')
-					or (@name = 'xmlIsXHTML') 
-					or (@name = 'xmlIOHTTPOpenW') 
-					or (@name = 'xmlRegisterHTTPPostCallbacks') 
-					or (@name = 'xmlIOHTTPMatch')
-					or (@name = 'xmlIOHTTPOpen') 
-					or (@name = 'xmlIOHTTPRead') 
-					or (@name = 'xmlIOHTTPClose')">
-				<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@name = 'docbDefaultSAXHandlerInit') 
-					or (@name = 'initdocbDefaultSAXHandler')">
-				<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@name = 'xmlValidBuildContentModel'">
-				<xsl:text>#ifdef LIBXML_REGEXP_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@name = 'xmlIOFTPMatch') 
-					or (@name = 'xmlIOFTPOpen') 
-					or (@name = 'xmlIOFTPRead') 
-					or (@name = 'xmlIOFTPClose')">
-				<xsl:text>#ifdef LIBXML_FTP_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@name = 'xmlTextReaderRelaxNGValidate') 
-					or (@name = 'xmlTextReaderRelaxNGSetSchema')">
-				<xsl:text>#ifdef LIBXML_SCHEMAS_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@name = 'xmlXPathDebugDumpObject') 
-					or (@name = 'xmlXPathDebugDumpCompExpr')">
-				<xsl:text>#ifdef LIBXML_DEBUG_ENABLED&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@name = 'xmlMallocLoc') 
-					or (@name = 'xmlMallocAtomicLoc') 
-					or (@name = 'xmlReallocLoc') 
-					or (@name = 'xmlMemStrdupLoc')">
-				<xsl:text>#ifdef DEBUG_MEMORY_LOCATION&nl;</xsl:text>
-			</xsl:if>
-			<!-- Symbol -->
-			<xsl:choose>
-				<xsl:when test="(@name = 'xmlMalloc') 
-						or (@name = 'xmlMallocAtomic') 
-						or (@name = 'xmlRealloc') 
-						or (@name = 'xmlFree') 
-						or (@name = 'xmlMemStrdup')">
-					<xsl:text>#ifdef LIBXML_THREAD_ALLOC_ENABLED&nl;</xsl:text>
-					<xsl:text>__</xsl:text>
-					<xsl:value-of select="@name"/>
-					<xsl:text>&nl;</xsl:text>
-					<xsl:text>#else&nl;</xsl:text>
-					<xsl:value-of select="@name"/>
-					<xsl:text> DATA&nl;</xsl:text>
-					<xsl:text>#endif&nl;</xsl:text>
-				</xsl:when>
-				<xsl:when test="(@name = 'docbDefaultSAXHandler') 
-						or (@name = 'htmlDefaultSAXHandler') 
-						or (@name = 'oldXMLWDcompatibility') 
-						or (@name = 'xmlBufferAllocScheme') 
-						or (@name = 'xmlDefaultBufferSize') 
-						or (@name = 'xmlDefaultSAXHandler') 
-						or (@name = 'xmlDefaultSAXLocator') 
-						or (@name = 'xmlDoValidityCheckingDefaultValue') 
-						or (@name = 'xmlGenericError') 
-						or (@name = 'xmlGenericErrorContext') 
-						or (@name = 'xmlGetWarningsDefaultValue') 
-						or (@name = 'xmlIndentTreeOutput') 
-						or (@name = 'xmlTreeIndentString') 
-						or (@name = 'xmlKeepBlanksDefaultValue') 
-						or (@name = 'xmlLineNumbersDefaultValue') 
-						or (@name = 'xmlLoadExtDtdDefaultValue') 
-						or (@name = 'xmlParserDebugEntities') 
-						or (@name = 'xmlParserVersion') 
-						or (@name = 'xmlPedanticParserDefaultValue') 
-						or (@name = 'xmlSaveNoEmptyTags') 
-						or (@name = 'xmlSubstituteEntitiesDefaultValue') 
-						or (@name = 'xmlRegisterNodeDefaultValue') 
-						or (@name = 'xmlDeregisterNodeDefaultValue')">
-					<xsl:text>#ifdef LIBXML_THREAD_ENABLED&nl;</xsl:text>
-					<xsl:if test="@name = 'docbDefaultSAXHandler'">
-						<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>
-					</xsl:if>
-					<xsl:if test="@name = 'htmlDefaultSAXHandler'">
-						<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>
-					</xsl:if>
-					<xsl:text>__</xsl:text>
-					<xsl:value-of select="@name"/>
-					<xsl:text>&nl;</xsl:text>
-					<xsl:if test="@name = 'docbDefaultSAXHandler'">
-						<xsl:text>#endif&nl;</xsl:text>
-					</xsl:if>
-					<xsl:if test="@name = 'htmlDefaultSAXHandler'">
-						<xsl:text>#endif&nl;</xsl:text>
-					</xsl:if>
-					<xsl:text>#else&nl;</xsl:text>
-					<xsl:if test="@name = 'docbDefaultSAXHandler'">
-						<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>
-					</xsl:if>
-					<xsl:if test="@name = 'htmlDefaultSAXHandler'">
-						<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>
-					</xsl:if>
-					<xsl:value-of select="@name"/>
-					<xsl:text> DATA&nl;</xsl:text>
-					<xsl:if test="@name = 'docbDefaultSAXHandler'">
-						<xsl:text>#endif&nl;</xsl:text>
-					</xsl:if>
-					<xsl:if test="@name = 'htmlDefaultSAXHandler'">
-						<xsl:text>#endif&nl;</xsl:text>
-					</xsl:if>
-					<xsl:text>#endif&nl;</xsl:text>
-				</xsl:when>
-				<xsl:otherwise>
-					<xsl:value-of select="@name"/>
-					<xsl:if test="self::variable">
-						<xsl:text> DATA</xsl:text>
-					</xsl:if>
-					<xsl:text>&nl;</xsl:text>
-				</xsl:otherwise>
-			</xsl:choose>
-			<!-- Basic tests (close) -->
-			<xsl:if test="@file = 'c14n'">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'catalog'">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'debugXML'">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'DOCBparser'">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@file = 'HTMLparser') 
-					or (@file = 'HTMLtree')">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'nanohttp'">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'nanoftp'">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@file = 'relaxng') 
-					or (@file = 'xmlschemas') 
-					or (@file = 'xmlschemastypes')">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'xinclude'">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'xlink'">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'xmlautomata'">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@file = 'xmlregexp') 
-					or (@file = 'xmlunicode')">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@file = 'xpath') 
-					or (@file = 'xpathInternals')">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@file = 'xpointer'">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<!-- Extended tests (close) -->
-			<xsl:if test="(@name = 'htmlDefaultSAXHandlerInit') 
-					or (@name = 'htmlInitAutoClose') 
-					or (@name = 'htmlCreateFileParserCtxt') 
-					or (@name = 'inithtmlDefaultSAXHandler')
-					or (@name = 'xmlIsXHTML') 
-					or (@name = 'xmlIOHTTPOpenW') 
-					or (@name = 'xmlRegisterHTTPPostCallbacks') 
-					or (@name = 'xmlIOHTTPMatch')
-					or (@name = 'xmlIOHTTPOpen') 
-					or (@name = 'xmlIOHTTPRead') 
-					or (@name = 'xmlIOHTTPClose')">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@name = 'docbDefaultSAXHandlerInit') 
-					or (@name = 'initdocbDefaultSAXHandler')">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="@name = 'xmlValidBuildContentModel'">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@name = 'xmlIOFTPMatch') 
-					or (@name = 'xmlIOFTPOpen') 
-					or (@name = 'xmlIOFTPRead') 
-					or (@name = 'xmlIOFTPClose')">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@name = 'xmlTextReaderRelaxNGValidate') 
-					or (@name = 'xmlTextReaderRelaxNGSetSchema')">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@name = 'xmlXPathDebugDumpObject') 
-					or (@name = 'xmlXPathDebugDumpCompExpr')">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-			<xsl:if test="(@name = 'xmlMallocLoc') 
-					or (@name = 'xmlMallocAtomicLoc') 
-					or (@name = 'xmlReallocLoc') 
-					or (@name = 'xmlMemStrdupLoc')">
-				<xsl:text>#endif&nl;</xsl:text>
-			</xsl:if>
-		</xsl:for-each>
-	</xsl:template>
-</xsl:stylesheet>
-
diff --git a/win32/libxml2.def.src b/win32/libxml2.def.src
deleted file mode 100644
index c50d649..0000000
--- a/win32/libxml2.def.src
+++ /dev/null
@@ -1,3192 +0,0 @@
-#define LIBXML2_COMPILING_MSCCDEF
-#include "../include/libxml/xmlversion.h"
-LIBRARY libxml2
-EXPORTS
-#ifdef LIBXML_THREAD_ENABLED
-#ifdef LIBXML_DOCB_ENABLED
-__docbDefaultSAXHandler
-#endif
-#else
-#ifdef LIBXML_DOCB_ENABLED
-docbDefaultSAXHandler DATA
-#endif
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-emptyExp DATA
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-forbiddenExp DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-#ifdef LIBXML_HTML_ENABLED
-__htmlDefaultSAXHandler
-#endif
-#else
-#ifdef LIBXML_HTML_ENABLED
-htmlDefaultSAXHandler DATA
-#endif
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__oldXMLWDcompatibility
-#else
-oldXMLWDcompatibility DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlBufferAllocScheme
-#else
-xmlBufferAllocScheme DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlDefaultBufferSize
-#else
-xmlDefaultBufferSize DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlDefaultSAXHandler
-#else
-xmlDefaultSAXHandler DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlDefaultSAXLocator
-#else
-xmlDefaultSAXLocator DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlDeregisterNodeDefaultValue
-#else
-xmlDeregisterNodeDefaultValue DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlDoValidityCheckingDefaultValue
-#else
-xmlDoValidityCheckingDefaultValue DATA
-#endif
-#ifdef LIBXML_THREAD_ALLOC_ENABLED
-__xmlFree
-#else
-xmlFree DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlGenericError
-#else
-xmlGenericError DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlGenericErrorContext
-#else
-xmlGenericErrorContext DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlGetWarningsDefaultValue
-#else
-xmlGetWarningsDefaultValue DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlIndentTreeOutput
-#else
-xmlIndentTreeOutput DATA
-#endif
-xmlIsBaseCharGroup DATA
-xmlIsCharGroup DATA
-xmlIsCombiningGroup DATA
-xmlIsDigitGroup DATA
-xmlIsExtenderGroup DATA
-xmlIsIdeographicGroup DATA
-xmlIsPubidChar_tab DATA
-#ifdef LIBXML_THREAD_ENABLED
-__xmlKeepBlanksDefaultValue
-#else
-xmlKeepBlanksDefaultValue DATA
-#endif
-xmlLastError DATA
-#ifdef LIBXML_THREAD_ENABLED
-__xmlLineNumbersDefaultValue
-#else
-xmlLineNumbersDefaultValue DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlLoadExtDtdDefaultValue
-#else
-xmlLoadExtDtdDefaultValue DATA
-#endif
-#ifdef LIBXML_THREAD_ALLOC_ENABLED
-__xmlMalloc
-#else
-xmlMalloc DATA
-#endif
-#ifdef LIBXML_THREAD_ALLOC_ENABLED
-__xmlMallocAtomic
-#else
-xmlMallocAtomic DATA
-#endif
-#ifdef LIBXML_THREAD_ALLOC_ENABLED
-__xmlMemStrdup
-#else
-xmlMemStrdup DATA
-#endif
-xmlOutputBufferCreateFilenameValue DATA
-#ifdef LIBXML_THREAD_ENABLED
-__xmlParserDebugEntities
-#else
-xmlParserDebugEntities DATA
-#endif
-xmlParserInputBufferCreateFilenameValue DATA
-xmlParserMaxDepth DATA
-#ifdef LIBXML_THREAD_ENABLED
-__xmlParserVersion
-#else
-xmlParserVersion DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlPedanticParserDefaultValue
-#else
-xmlPedanticParserDefaultValue DATA
-#endif
-#ifdef LIBXML_THREAD_ALLOC_ENABLED
-__xmlRealloc
-#else
-xmlRealloc DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlRegisterNodeDefaultValue
-#else
-xmlRegisterNodeDefaultValue DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlSaveNoEmptyTags
-#else
-xmlSaveNoEmptyTags DATA
-#endif
-xmlStringComment DATA
-xmlStringText DATA
-xmlStringTextNoenc DATA
-xmlStructuredError DATA
-xmlStructuredErrorContext DATA
-#ifdef LIBXML_THREAD_ENABLED
-__xmlSubstituteEntitiesDefaultValue
-#else
-xmlSubstituteEntitiesDefaultValue DATA
-#endif
-#ifdef LIBXML_THREAD_ENABLED
-__xmlTreeIndentString
-#else
-xmlTreeIndentString DATA
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNAN DATA
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNINF DATA
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathPINF DATA
-#endif
-#ifdef LIBXML_HTML_ENABLED
-UTF8ToHtml
-#endif
-UTF8Toisolat1
-attribute
-attributeDecl
-cdataBlock
-characters
-checkNamespace
-comment
-#ifdef LIBXML_DOCB_ENABLED
-docbCreateFileParserCtxt
-#endif
-#ifdef LIBXML_DOCB_ENABLED
-docbCreatePushParserCtxt
-#endif
-#ifdef LIBXML_DOCB_ENABLED
-docbDefaultSAXHandlerInit
-#endif
-#ifdef LIBXML_DOCB_ENABLED
-docbEncodeEntities
-#endif
-#ifdef LIBXML_DOCB_ENABLED
-docbFreeParserCtxt
-#endif
-#ifdef LIBXML_DOCB_ENABLED
-docbParseChunk
-#endif
-#ifdef LIBXML_DOCB_ENABLED
-docbParseDoc
-#endif
-#ifdef LIBXML_DOCB_ENABLED
-docbParseDocument
-#endif
-#ifdef LIBXML_DOCB_ENABLED
-docbParseFile
-#endif
-#ifdef LIBXML_DOCB_ENABLED
-docbSAXParseDoc
-#endif
-#ifdef LIBXML_DOCB_ENABLED
-docbSAXParseFile
-#endif
-elementDecl
-endDocument
-endElement
-entityDecl
-externalSubset
-getColumnNumber
-getEntity
-getLineNumber
-getNamespace
-getParameterEntity
-getPublicId
-getSystemId
-globalNamespace
-hasExternalSubset
-hasInternalSubset
-#ifdef LIBXML_HTML_ENABLED
-htmlAttrAllowed
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlAutoCloseTag
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlCreateFileParserCtxt
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlCreateMemoryParserCtxt
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlCreatePushParserCtxt
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlCtxtReadDoc
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlCtxtReadFd
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlCtxtReadFile
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlCtxtReadIO
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlCtxtReadMemory
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlCtxtReset
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlCtxtUseOptions
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlDefaultSAXHandlerInit
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlDocContentDumpFormatOutput
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlDocContentDumpOutput
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlDocDump
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlDocDumpMemory
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlDocDumpMemoryFormat
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlElementAllowedHere
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlElementStatusHere
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlEncodeEntities
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlEntityLookup
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlEntityValueLookup
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlFreeParserCtxt
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlGetMetaEncoding
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlHandleOmittedElem
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlInitAutoClose
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlIsAutoClosed
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlIsBooleanAttr
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlIsScriptAttribute
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlNewDoc
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlNewDocNoDtD
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlNewParserCtxt
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlNodeDump
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlNodeDumpFile
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlNodeDumpFileFormat
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlNodeDumpFormatOutput
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlNodeDumpOutput
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlNodeStatus
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlParseCharRef
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlParseChunk
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlParseDoc
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlParseDocument
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlParseElement
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlParseEntityRef
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlParseFile
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlReadDoc
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlReadFd
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlReadFile
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlReadIO
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlReadMemory
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlSAXParseDoc
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlSAXParseFile
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlSaveFile
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlSaveFileEnc
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlSaveFileFormat
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlSetMetaEncoding
-#endif
-#ifdef LIBXML_HTML_ENABLED
-htmlTagLookup
-#endif
-ignorableWhitespace
-initGenericErrorDefaultFunc
-#ifdef LIBXML_DOCB_ENABLED
-initdocbDefaultSAXHandler
-#endif
-#ifdef LIBXML_HTML_ENABLED
-inithtmlDefaultSAXHandler
-#endif
-initxmlDefaultSAXHandler
-inputPop
-inputPush
-internalSubset
-isStandalone
-isolat1ToUTF8
-namePop
-namePush
-namespaceDecl
-nodePop
-nodePush
-notationDecl
-processingInstruction
-reference
-resolveEntity
-setDocumentLocator
-setNamespace
-startDocument
-startElement
-unparsedEntityDecl
-#ifdef LIBXML_XPATH_ENABLED
-valuePop
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-valuePush
-#endif
-#ifdef LIBXML_XLINK_ENABLED
-xlinkGetDefaultDetect
-#endif
-#ifdef LIBXML_XLINK_ENABLED
-xlinkGetDefaultHandler
-#endif
-#ifdef LIBXML_XLINK_ENABLED
-xlinkIsLink
-#endif
-#ifdef LIBXML_XLINK_ENABLED
-xlinkSetDefaultDetect
-#endif
-#ifdef LIBXML_XLINK_ENABLED
-xlinkSetDefaultHandler
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlACatalogAdd
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlACatalogDump
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlACatalogRemove
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlACatalogResolve
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlACatalogResolvePublic
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlACatalogResolveSystem
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlACatalogResolveURI
-#endif
-xmlAddAttributeDecl
-xmlAddChild
-xmlAddChildList
-xmlAddDocEntity
-xmlAddDtdEntity
-xmlAddElementDecl
-xmlAddEncodingAlias
-xmlAddID
-xmlAddNextSibling
-xmlAddNotationDecl
-xmlAddPrevSibling
-xmlAddRef
-xmlAddSibling
-xmlAllocOutputBuffer
-xmlAllocParserInputBuffer
-xmlAttrSerializeTxtContent
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataCompile
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataGetInitState
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataIsDeterminist
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewAllTrans
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewCountTrans
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewCountTrans2
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewCountedTrans
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewCounter
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewCounterTrans
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewEpsilon
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewNegTrans
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewOnceTrans
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewOnceTrans2
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewState
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewTransition
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataNewTransition2
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlAutomataSetFinalState
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlBoolToText
-#endif
-xmlBufContent
-xmlBufEnd
-xmlBufGetNodeContent
-xmlBufNodeDump
-xmlBufShrink
-xmlBufUse
-xmlBufferAdd
-xmlBufferAddHead
-xmlBufferCCat
-xmlBufferCat
-xmlBufferContent
-xmlBufferCreate
-xmlBufferCreateSize
-xmlBufferCreateStatic
-xmlBufferDetach
-xmlBufferDump
-xmlBufferEmpty
-xmlBufferFree
-xmlBufferGrow
-xmlBufferLength
-xmlBufferResize
-xmlBufferSetAllocationScheme
-xmlBufferShrink
-xmlBufferWriteCHAR
-xmlBufferWriteChar
-xmlBufferWriteQuotedString
-xmlBuildQName
-xmlBuildRelativeURI
-xmlBuildURI
-xmlByteConsumed
-#ifdef LIBXML_C14N_ENABLED
-xmlC14NDocDumpMemory
-#endif
-#ifdef LIBXML_C14N_ENABLED
-xmlC14NDocSave
-#endif
-#ifdef LIBXML_C14N_ENABLED
-xmlC14NDocSaveTo
-#endif
-#ifdef LIBXML_C14N_ENABLED
-xmlC14NExecute
-#endif
-xmlCanonicPath
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogAdd
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogAddLocal
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogCleanup
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogConvert
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogDump
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogFreeLocal
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogGetDefaults
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogGetPublic
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogGetSystem
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogIsEmpty
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogLocalResolve
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogLocalResolveURI
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogRemove
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogResolve
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogResolvePublic
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogResolveSystem
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogResolveURI
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogSetDebug
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogSetDefaultPrefer
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlCatalogSetDefaults
-#endif
-xmlCharEncCloseFunc
-xmlCharEncFirstLine
-xmlCharEncInFunc
-xmlCharEncOutFunc
-xmlCharInRange
-xmlCharStrdup
-xmlCharStrndup
-xmlCheckFilename
-xmlCheckHTTPInput
-xmlCheckLanguageID
-xmlCheckUTF8
-xmlCheckVersion
-xmlChildElementCount
-xmlCleanupCharEncodingHandlers
-xmlCleanupEncodingAliases
-xmlCleanupGlobals
-xmlCleanupInputCallbacks
-xmlCleanupMemory
-xmlCleanupOutputCallbacks
-xmlCleanupParser
-xmlCleanupPredefinedEntities
-xmlCleanupThreads
-xmlClearNodeInfoSeq
-xmlClearParserCtxt
-#ifdef LIBXML_CATALOG_ENABLED
-xmlConvertSGMLCatalog
-#endif
-xmlCopyAttributeTable
-xmlCopyChar
-xmlCopyCharMultiByte
-xmlCopyDoc
-xmlCopyDocElementContent
-xmlCopyDtd
-xmlCopyElementContent
-xmlCopyElementTable
-xmlCopyEntitiesTable
-xmlCopyEnumeration
-xmlCopyError
-xmlCopyNamespace
-xmlCopyNamespaceList
-xmlCopyNode
-xmlCopyNodeList
-xmlCopyNotationTable
-xmlCopyProp
-xmlCopyPropList
-xmlCreateDocParserCtxt
-xmlCreateEntitiesTable
-xmlCreateEntityParserCtxt
-xmlCreateEnumeration
-xmlCreateFileParserCtxt
-xmlCreateIOParserCtxt
-xmlCreateIntSubset
-xmlCreateMemoryParserCtxt
-xmlCreatePushParserCtxt
-xmlCreateURI
-xmlCreateURLParserCtxt
-xmlCtxtGetLastError
-xmlCtxtReadDoc
-xmlCtxtReadFd
-xmlCtxtReadFile
-xmlCtxtReadIO
-xmlCtxtReadMemory
-xmlCtxtReset
-xmlCtxtResetLastError
-xmlCtxtResetPush
-xmlCtxtUseOptions
-xmlCurrentChar
-xmlDOMWrapAdoptNode
-xmlDOMWrapCloneNode
-xmlDOMWrapFreeCtxt
-xmlDOMWrapNewCtxt
-xmlDOMWrapReconcileNamespaces
-xmlDOMWrapRemoveNode
-#ifdef LIBXML_DEBUG_ENABLED
-xmlDebugCheckDocument
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlDebugDumpAttr
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlDebugDumpAttrList
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlDebugDumpDTD
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlDebugDumpDocument
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlDebugDumpDocumentHead
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlDebugDumpEntities
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlDebugDumpNode
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlDebugDumpNodeList
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlDebugDumpOneNode
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlDebugDumpString
-#endif
-xmlDecodeEntities
-xmlDefaultSAXHandlerInit
-xmlDelEncodingAlias
-xmlDeregisterNodeDefault
-xmlDetectCharEncoding
-xmlDictCleanup
-xmlDictCreate
-xmlDictCreateSub
-xmlDictExists
-xmlDictFree
-xmlDictGetUsage
-xmlDictLookup
-xmlDictOwns
-xmlDictQLookup
-xmlDictReference
-xmlDictSetLimit
-xmlDictSize
-xmlDllMain
-xmlDocCopyNode
-xmlDocCopyNodeList
-xmlDocDump
-xmlDocDumpFormatMemory
-xmlDocDumpFormatMemoryEnc
-xmlDocDumpMemory
-xmlDocDumpMemoryEnc
-xmlDocFormatDump
-xmlDocGetRootElement
-xmlDocSetRootElement
-xmlDumpAttributeDecl
-xmlDumpAttributeTable
-xmlDumpElementDecl
-xmlDumpElementTable
-xmlDumpEntitiesTable
-xmlDumpEntityDecl
-xmlDumpNotationDecl
-xmlDumpNotationTable
-xmlElemDump
-xmlEncodeEntities
-xmlEncodeEntitiesReentrant
-xmlEncodeSpecialChars
-xmlErrMemory
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpCtxtNbCons
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpCtxtNbNodes
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpDump
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpExpDerive
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpFree
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpFreeCtxt
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpGetLanguage
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpGetStart
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpIsNillable
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpMaxToken
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpNewAtom
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpNewCtxt
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpNewOr
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpNewRange
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpNewSeq
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpParse
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpRef
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpStringDerive
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlExpSubsume
-#endif
-xmlFileClose
-xmlFileMatch
-xmlFileOpen
-xmlFileRead
-xmlFindCharEncodingHandler
-xmlFirstElementChild
-xmlFreeAttributeTable
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlFreeAutomata
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlFreeCatalog
-#endif
-xmlFreeDoc
-xmlFreeDocElementContent
-xmlFreeDtd
-xmlFreeElementContent
-xmlFreeElementTable
-xmlFreeEntitiesTable
-xmlFreeEnumeration
-xmlFreeIDTable
-xmlFreeInputStream
-xmlFreeMutex
-xmlFreeNode
-xmlFreeNodeList
-xmlFreeNotationTable
-xmlFreeNs
-xmlFreeNsList
-xmlFreeParserCtxt
-xmlFreeParserInputBuffer
-xmlFreePattern
-xmlFreePatternList
-xmlFreeProp
-xmlFreePropList
-xmlFreeRMutex
-xmlFreeRefTable
-xmlFreeStreamCtxt
-xmlFreeTextReader
-xmlFreeTextWriter
-xmlFreeURI
-xmlFreeValidCtxt
-xmlGcMemGet
-xmlGcMemSetup
-xmlGetBufferAllocationScheme
-xmlGetCharEncodingHandler
-xmlGetCharEncodingName
-xmlGetCompressMode
-xmlGetDocCompressMode
-xmlGetDocEntity
-xmlGetDtdAttrDesc
-xmlGetDtdElementDesc
-xmlGetDtdEntity
-xmlGetDtdNotationDesc
-xmlGetDtdQAttrDesc
-xmlGetDtdQElementDesc
-xmlGetEncodingAlias
-xmlGetExternalEntityLoader
-xmlGetFeature
-xmlGetFeaturesList
-xmlGetGlobalState
-xmlGetID
-xmlGetIntSubset
-xmlGetLastChild
-xmlGetLastError
-xmlGetLineNo
-xmlGetNoNsProp
-xmlGetNodePath
-xmlGetNsList
-xmlGetNsProp
-xmlGetParameterEntity
-xmlGetPredefinedEntity
-xmlGetProp
-xmlGetRefs
-xmlGetThreadId
-xmlGetUTF8Char
-xmlHandleEntity
-xmlHasFeature
-xmlHasNsProp
-xmlHasProp
-xmlHashAddEntry
-xmlHashAddEntry2
-xmlHashAddEntry3
-xmlHashCopy
-xmlHashCreate
-xmlHashCreateDict
-xmlHashDefaultDeallocator
-xmlHashFree
-xmlHashLookup
-xmlHashLookup2
-xmlHashLookup3
-xmlHashQLookup
-xmlHashQLookup2
-xmlHashQLookup3
-xmlHashRemoveEntry
-xmlHashRemoveEntry2
-xmlHashRemoveEntry3
-xmlHashScan
-xmlHashScan3
-xmlHashScanFull
-xmlHashScanFull3
-xmlHashSize
-xmlHashUpdateEntry
-xmlHashUpdateEntry2
-xmlHashUpdateEntry3
-#ifdef LIBXML_FTP_ENABLED
-xmlIOFTPClose
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlIOFTPMatch
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlIOFTPOpen
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlIOFTPRead
-#endif
-#ifdef LIBXML_HTML_ENABLED
-xmlIOHTTPClose
-#endif
-#ifdef LIBXML_HTML_ENABLED
-xmlIOHTTPMatch
-#endif
-#ifdef LIBXML_HTML_ENABLED
-xmlIOHTTPOpen
-#endif
-#ifdef LIBXML_HTML_ENABLED
-xmlIOHTTPOpenW
-#endif
-#ifdef LIBXML_HTML_ENABLED
-xmlIOHTTPRead
-#endif
-xmlIOParseDTD
-xmlInitCharEncodingHandlers
-xmlInitGlobals
-xmlInitMemory
-xmlInitNodeInfoSeq
-xmlInitParser
-xmlInitParserCtxt
-xmlInitThreads
-#ifdef LIBXML_CATALOG_ENABLED
-xmlInitializeCatalog
-#endif
-xmlInitializeDict
-xmlInitializeGlobalState
-xmlInitializePredefinedEntities
-xmlIsBaseChar
-xmlIsBlank
-xmlIsBlankNode
-xmlIsChar
-xmlIsCombining
-xmlIsDigit
-xmlIsExtender
-xmlIsID
-xmlIsIdeographic
-xmlIsLetter
-xmlIsMainThread
-xmlIsMixedElement
-xmlIsPubidChar
-xmlIsRef
-#ifdef LIBXML_HTML_ENABLED
-xmlIsXHTML
-#endif
-xmlKeepBlanksDefault
-xmlLastElementChild
-xmlLineNumbersDefault
-xmlLinkGetData
-xmlListAppend
-xmlListClear
-xmlListCopy
-xmlListCreate
-xmlListDelete
-xmlListDup
-xmlListEmpty
-xmlListEnd
-xmlListFront
-xmlListInsert
-xmlListMerge
-xmlListPopBack
-xmlListPopFront
-xmlListPushBack
-xmlListPushFront
-xmlListRemoveAll
-xmlListRemoveFirst
-xmlListRemoveLast
-xmlListReverse
-xmlListReverseSearch
-xmlListReverseWalk
-xmlListSearch
-xmlListSize
-xmlListSort
-xmlListWalk
-#ifdef LIBXML_CATALOG_ENABLED
-xmlLoadACatalog
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlLoadCatalog
-#endif
-#ifdef LIBXML_CATALOG_ENABLED
-xmlLoadCatalogs
-#endif
-xmlLoadExternalEntity
-#ifdef LIBXML_CATALOG_ENABLED
-xmlLoadSGMLSuperCatalog
-#endif
-xmlLockLibrary
-#ifdef LIBXML_DEBUG_ENABLED
-xmlLsCountNode
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlLsOneNode
-#endif
-#ifdef DEBUG_MEMORY_LOCATION
-xmlMallocAtomicLoc
-#endif
-#ifdef DEBUG_MEMORY_LOCATION
-xmlMallocLoc
-#endif
-xmlMemBlocks
-xmlMemDisplay
-xmlMemDisplayLast
-xmlMemFree
-xmlMemGet
-xmlMemMalloc
-xmlMemRealloc
-xmlMemSetup
-xmlMemShow
-#ifdef DEBUG_MEMORY_LOCATION
-xmlMemStrdupLoc
-#endif
-xmlMemUsed
-xmlMemoryDump
-xmlMemoryStrdup
-xmlModuleClose
-xmlModuleFree
-xmlModuleOpen
-xmlModuleSymbol
-xmlMutexLock
-xmlMutexUnlock
-xmlNamespaceParseNCName
-xmlNamespaceParseNSDef
-xmlNamespaceParseQName
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPCheckResponse
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPCleanup
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPClose
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPCloseConnection
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPConnect
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPConnectTo
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPCwd
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPDele
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPFreeCtxt
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPGet
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPGetConnection
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPGetResponse
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPGetSocket
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPInit
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPList
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPNewCtxt
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPOpen
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPProxy
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPQuit
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPRead
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPScanProxy
-#endif
-#ifdef LIBXML_FTP_ENABLED
-xmlNanoFTPUpdateURL
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPAuthHeader
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPCleanup
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPClose
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPContentLength
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPEncoding
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPFetch
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPInit
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPMethod
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPMethodRedir
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPMimeType
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPOpen
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPOpenRedir
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPRead
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPRedir
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPReturnCode
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPSave
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-xmlNanoHTTPScanProxy
-#endif
-#ifdef LIBXML_AUTOMATA_ENABLED
-xmlNewAutomata
-#endif
-xmlNewCDataBlock
-#ifdef LIBXML_CATALOG_ENABLED
-xmlNewCatalog
-#endif
-xmlNewCharEncodingHandler
-xmlNewCharRef
-xmlNewChild
-xmlNewComment
-xmlNewDoc
-xmlNewDocComment
-xmlNewDocElementContent
-xmlNewDocFragment
-xmlNewDocNode
-xmlNewDocNodeEatName
-xmlNewDocPI
-xmlNewDocProp
-xmlNewDocRawNode
-xmlNewDocText
-xmlNewDocTextLen
-xmlNewDtd
-xmlNewElementContent
-xmlNewEntity
-xmlNewEntityInputStream
-xmlNewGlobalNs
-xmlNewIOInputStream
-xmlNewInputFromFile
-xmlNewInputStream
-xmlNewMutex
-xmlNewNode
-xmlNewNodeEatName
-xmlNewNs
-xmlNewNsProp
-xmlNewNsPropEatName
-xmlNewPI
-xmlNewParserCtxt
-xmlNewProp
-xmlNewRMutex
-xmlNewReference
-xmlNewStringInputStream
-xmlNewText
-xmlNewTextChild
-xmlNewTextLen
-xmlNewTextReader
-xmlNewTextReaderFilename
-xmlNewTextWriter
-xmlNewTextWriterDoc
-xmlNewTextWriterFilename
-xmlNewTextWriterMemory
-xmlNewTextWriterPushParser
-xmlNewTextWriterTree
-xmlNewValidCtxt
-xmlNextChar
-xmlNextElementSibling
-xmlNoNetExternalEntityLoader
-xmlNodeAddContent
-xmlNodeAddContentLen
-xmlNodeBufGetContent
-xmlNodeDump
-xmlNodeDumpOutput
-xmlNodeGetBase
-xmlNodeGetContent
-xmlNodeGetLang
-xmlNodeGetSpacePreserve
-xmlNodeIsText
-xmlNodeListGetRawString
-xmlNodeListGetString
-xmlNodeSetBase
-xmlNodeSetContent
-xmlNodeSetContentLen
-xmlNodeSetLang
-xmlNodeSetName
-xmlNodeSetSpacePreserve
-xmlNormalizeURIPath
-xmlNormalizeWindowsPath
-xmlOutputBufferClose
-xmlOutputBufferCreateBuffer
-xmlOutputBufferCreateFd
-xmlOutputBufferCreateFile
-xmlOutputBufferCreateFilename
-xmlOutputBufferCreateFilenameDefault
-xmlOutputBufferCreateIO
-xmlOutputBufferFlush
-xmlOutputBufferGetContent
-xmlOutputBufferGetSize
-xmlOutputBufferWrite
-xmlOutputBufferWriteEscape
-xmlOutputBufferWriteString
-xmlParseAttValue
-xmlParseAttribute
-xmlParseAttributeListDecl
-xmlParseAttributeType
-xmlParseBalancedChunkMemory
-xmlParseBalancedChunkMemoryRecover
-xmlParseCDSect
-#ifdef LIBXML_CATALOG_ENABLED
-xmlParseCatalogFile
-#endif
-xmlParseCharData
-xmlParseCharEncoding
-xmlParseCharRef
-xmlParseChunk
-xmlParseComment
-xmlParseContent
-xmlParseCtxtExternalEntity
-xmlParseDTD
-xmlParseDefaultDecl
-xmlParseDoc
-xmlParseDocTypeDecl
-xmlParseDocument
-xmlParseElement
-xmlParseElementChildrenContentDecl
-xmlParseElementContentDecl
-xmlParseElementDecl
-xmlParseElementMixedContentDecl
-xmlParseEncName
-xmlParseEncodingDecl
-xmlParseEndTag
-xmlParseEntity
-xmlParseEntityDecl
-xmlParseEntityRef
-xmlParseEntityValue
-xmlParseEnumeratedType
-xmlParseEnumerationType
-xmlParseExtParsedEnt
-xmlParseExternalEntity
-xmlParseExternalID
-xmlParseExternalSubset
-xmlParseFile
-xmlParseInNodeContext
-xmlParseMarkupDecl
-xmlParseMemory
-xmlParseMisc
-xmlParseName
-xmlParseNamespace
-xmlParseNmtoken
-xmlParseNotationDecl
-xmlParseNotationType
-xmlParsePEReference
-xmlParsePI
-xmlParsePITarget
-xmlParsePubidLiteral
-xmlParseQuotedString
-xmlParseReference
-xmlParseSDDecl
-xmlParseStartTag
-xmlParseSystemLiteral
-xmlParseTextDecl
-xmlParseURI
-xmlParseURIRaw
-xmlParseURIReference
-xmlParseVersionInfo
-xmlParseVersionNum
-xmlParseXMLDecl
-xmlParserAddNodeInfo
-xmlParserError
-xmlParserFindNodeInfo
-xmlParserFindNodeInfoIndex
-xmlParserGetDirectory
-xmlParserHandlePEReference
-xmlParserHandleReference
-xmlParserInputBufferCreateFd
-xmlParserInputBufferCreateFile
-xmlParserInputBufferCreateFilename
-xmlParserInputBufferCreateFilenameDefault
-xmlParserInputBufferCreateIO
-xmlParserInputBufferCreateMem
-xmlParserInputBufferCreateStatic
-xmlParserInputBufferGrow
-xmlParserInputBufferPush
-xmlParserInputBufferRead
-xmlParserInputGrow
-xmlParserInputRead
-xmlParserInputShrink
-xmlParserPrintFileContext
-xmlParserPrintFileInfo
-xmlParserValidityError
-xmlParserValidityWarning
-xmlParserWarning
-xmlPathToURI
-xmlPatternFromRoot
-xmlPatternGetStreamCtxt
-xmlPatternMatch
-xmlPatternMaxDepth
-xmlPatternMinDepth
-xmlPatternStreamable
-xmlPatterncompile
-xmlPedanticParserDefault
-xmlPopInput
-xmlPopInputCallbacks
-xmlPopOutputCallbacks
-xmlPreviousElementSibling
-xmlPrintURI
-xmlPushInput
-xmlRMutexLock
-xmlRMutexUnlock
-xmlReadDoc
-xmlReadFd
-xmlReadFile
-xmlReadIO
-xmlReadMemory
-xmlReaderForDoc
-xmlReaderForFd
-xmlReaderForFile
-xmlReaderForIO
-xmlReaderForMemory
-xmlReaderNewDoc
-xmlReaderNewFd
-xmlReaderNewFile
-xmlReaderNewIO
-xmlReaderNewMemory
-xmlReaderNewWalker
-xmlReaderWalker
-#ifdef DEBUG_MEMORY_LOCATION
-xmlReallocLoc
-#endif
-xmlReconciliateNs
-xmlRecoverDoc
-xmlRecoverFile
-xmlRecoverMemory
-#ifdef LIBXML_REGEXP_ENABLED
-xmlRegExecErrInfo
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlRegExecNextValues
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlRegExecPushString
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlRegExecPushString2
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlRegFreeExecCtxt
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlRegFreeRegexp
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlRegNewExecCtxt
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlRegexpCompile
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlRegexpExec
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlRegexpIsDeterminist
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlRegexpPrint
-#endif
-xmlRegisterCharEncodingHandler
-xmlRegisterDefaultInputCallbacks
-xmlRegisterDefaultOutputCallbacks
-#ifdef LIBXML_HTML_ENABLED
-xmlRegisterHTTPPostCallbacks
-#endif
-xmlRegisterInputCallbacks
-xmlRegisterNodeDefault
-xmlRegisterOutputCallbacks
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGCleanupTypes
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGDump
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGDumpTree
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGFree
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGFreeParserCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGFreeValidCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGGetParserErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGGetValidErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGInitTypes
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGNewDocParserCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGNewMemParserCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGNewParserCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGNewValidCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGParse
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGSetParserErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGSetParserStructuredErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGSetValidErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGSetValidStructuredErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGValidateDoc
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGValidateFullElement
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGValidatePopElement
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGValidatePushCData
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxNGValidatePushElement
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlRelaxParserSetFlag
-#endif
-xmlRemoveID
-xmlRemoveProp
-xmlRemoveRef
-xmlReplaceNode
-xmlResetError
-xmlResetLastError
-xmlSAX2AttributeDecl
-xmlSAX2CDataBlock
-xmlSAX2Characters
-xmlSAX2Comment
-xmlSAX2ElementDecl
-xmlSAX2EndDocument
-xmlSAX2EndElement
-xmlSAX2EndElementNs
-xmlSAX2EntityDecl
-xmlSAX2ExternalSubset
-xmlSAX2GetColumnNumber
-xmlSAX2GetEntity
-xmlSAX2GetLineNumber
-xmlSAX2GetParameterEntity
-xmlSAX2GetPublicId
-xmlSAX2GetSystemId
-xmlSAX2HasExternalSubset
-xmlSAX2HasInternalSubset
-xmlSAX2IgnorableWhitespace
-xmlSAX2InitDefaultSAXHandler
-xmlSAX2InitDocbDefaultSAXHandler
-xmlSAX2InitHtmlDefaultSAXHandler
-xmlSAX2InternalSubset
-xmlSAX2IsStandalone
-xmlSAX2NotationDecl
-xmlSAX2ProcessingInstruction
-xmlSAX2Reference
-xmlSAX2ResolveEntity
-xmlSAX2SetDocumentLocator
-xmlSAX2StartDocument
-xmlSAX2StartElement
-xmlSAX2StartElementNs
-xmlSAX2UnparsedEntityDecl
-xmlSAXDefaultVersion
-xmlSAXParseDTD
-xmlSAXParseDoc
-xmlSAXParseEntity
-xmlSAXParseFile
-xmlSAXParseFileWithData
-xmlSAXParseMemory
-xmlSAXParseMemoryWithData
-xmlSAXUserParseFile
-xmlSAXUserParseMemory
-xmlSAXVersion
-xmlSaveClose
-xmlSaveDoc
-xmlSaveFile
-xmlSaveFileEnc
-xmlSaveFileTo
-xmlSaveFlush
-xmlSaveFormatFile
-xmlSaveFormatFileEnc
-xmlSaveFormatFileTo
-xmlSaveSetAttrEscape
-xmlSaveSetEscape
-xmlSaveToBuffer
-xmlSaveToFd
-xmlSaveToFilename
-xmlSaveToIO
-xmlSaveTree
-xmlSaveUri
-xmlScanName
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaCheckFacet
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaCleanupTypes
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaCollapseString
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaCompareValues
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaCompareValuesWhtsp
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaCopyValue
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaDump
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaFree
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaFreeFacet
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaFreeParserCtxt
-#endif
-xmlSchemaFreeType
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaFreeValidCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaFreeValue
-#endif
-xmlSchemaFreeWildcard
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaGetBuiltInListSimpleTypeItemType
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaGetBuiltInType
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaGetCanonValue
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaGetCanonValueWhtsp
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaGetFacetValueAsULong
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaGetParserErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaGetPredefinedType
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaGetValType
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaGetValidErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaInitTypes
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaIsBuiltInTypeFacet
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaIsValid
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaNewDocParserCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaNewFacet
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaNewMemParserCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaNewNOTATIONValue
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaNewParserCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaNewQNameValue
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaNewStringValue
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaNewValidCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaParse
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaSAXPlug
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaSAXUnplug
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaSetParserErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaSetParserStructuredErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaSetValidErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaSetValidOptions
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaSetValidStructuredErrors
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValPredefTypeNode
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValPredefTypeNodeNoNorm
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidCtxtGetOptions
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidCtxtGetParserCtxt
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidateDoc
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidateFacet
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidateFacetWhtsp
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidateFile
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidateLengthFacet
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidateLengthFacetWhtsp
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidateListSimpleTypeFacet
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidateOneElement
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidatePredefinedType
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidateSetFilename
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidateSetLocator
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValidateStream
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValueAppend
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValueGetAsBoolean
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValueGetAsString
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaValueGetNext
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlSchemaWhiteSpaceReplace
-#endif
-xmlSchematronFree
-xmlSchematronFreeParserCtxt
-xmlSchematronFreeValidCtxt
-xmlSchematronNewDocParserCtxt
-xmlSchematronNewMemParserCtxt
-xmlSchematronNewParserCtxt
-xmlSchematronNewValidCtxt
-xmlSchematronParse
-xmlSchematronSetValidStructuredErrors
-xmlSchematronValidateDoc
-xmlSearchNs
-xmlSearchNsByHref
-xmlSetBufferAllocationScheme
-xmlSetCompressMode
-xmlSetDocCompressMode
-xmlSetEntityReferenceFunc
-xmlSetExternalEntityLoader
-xmlSetFeature
-xmlSetGenericErrorFunc
-xmlSetListDoc
-xmlSetNs
-xmlSetNsProp
-xmlSetProp
-xmlSetStructuredErrorFunc
-xmlSetTreeDoc
-xmlSetupParserForBuffer
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShell
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellBase
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellCat
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellDir
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellDu
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellList
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellLoad
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellPrintNode
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellPrintXPathError
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellPrintXPathResult
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellPwd
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellSave
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellValidate
-#endif
-#ifdef LIBXML_DEBUG_ENABLED
-xmlShellWrite
-#endif
-xmlSkipBlankChars
-xmlSnprintfElementContent
-xmlSplitQName
-xmlSplitQName2
-xmlSplitQName3
-xmlSprintfElementContent
-xmlStopParser
-xmlStrEqual
-xmlStrPrintf
-xmlStrQEqual
-xmlStrVPrintf
-xmlStrcasecmp
-xmlStrcasestr
-xmlStrcat
-xmlStrchr
-xmlStrcmp
-xmlStrdup
-xmlStreamPop
-xmlStreamPush
-xmlStreamPushAttr
-xmlStreamPushNode
-xmlStreamWantsAnyNode
-xmlStringCurrentChar
-xmlStringDecodeEntities
-xmlStringGetNodeList
-xmlStringLenDecodeEntities
-xmlStringLenGetNodeList
-xmlStrlen
-xmlStrncasecmp
-xmlStrncat
-xmlStrncatNew
-xmlStrncmp
-xmlStrndup
-xmlStrstr
-xmlStrsub
-xmlSubstituteEntitiesDefault
-xmlSwitchEncoding
-xmlSwitchInputEncoding
-xmlSwitchToEncoding
-xmlTextConcat
-xmlTextMerge
-xmlTextReaderAttributeCount
-xmlTextReaderBaseUri
-xmlTextReaderByteConsumed
-xmlTextReaderClose
-xmlTextReaderConstBaseUri
-xmlTextReaderConstEncoding
-xmlTextReaderConstLocalName
-xmlTextReaderConstName
-xmlTextReaderConstNamespaceUri
-xmlTextReaderConstPrefix
-xmlTextReaderConstString
-xmlTextReaderConstValue
-xmlTextReaderConstXmlLang
-xmlTextReaderConstXmlVersion
-xmlTextReaderCurrentDoc
-xmlTextReaderCurrentNode
-xmlTextReaderDepth
-xmlTextReaderExpand
-xmlTextReaderGetAttribute
-xmlTextReaderGetAttributeNo
-xmlTextReaderGetAttributeNs
-xmlTextReaderGetErrorHandler
-xmlTextReaderGetParserColumnNumber
-xmlTextReaderGetParserLineNumber
-xmlTextReaderGetParserProp
-xmlTextReaderGetRemainder
-xmlTextReaderHasAttributes
-xmlTextReaderHasValue
-xmlTextReaderIsDefault
-xmlTextReaderIsEmptyElement
-xmlTextReaderIsNamespaceDecl
-xmlTextReaderIsValid
-xmlTextReaderLocalName
-xmlTextReaderLocatorBaseURI
-xmlTextReaderLocatorLineNumber
-xmlTextReaderLookupNamespace
-xmlTextReaderMoveToAttribute
-xmlTextReaderMoveToAttributeNo
-xmlTextReaderMoveToAttributeNs
-xmlTextReaderMoveToElement
-xmlTextReaderMoveToFirstAttribute
-xmlTextReaderMoveToNextAttribute
-xmlTextReaderName
-xmlTextReaderNamespaceUri
-xmlTextReaderNext
-xmlTextReaderNextSibling
-xmlTextReaderNodeType
-xmlTextReaderNormalization
-xmlTextReaderPrefix
-xmlTextReaderPreserve
-xmlTextReaderPreservePattern
-xmlTextReaderQuoteChar
-xmlTextReaderRead
-xmlTextReaderReadAttributeValue
-xmlTextReaderReadInnerXml
-xmlTextReaderReadOuterXml
-xmlTextReaderReadState
-xmlTextReaderReadString
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlTextReaderRelaxNGSetSchema
-#endif
-#ifdef LIBXML_SCHEMAS_ENABLED
-xmlTextReaderRelaxNGValidate
-#endif
-xmlTextReaderRelaxNGValidateCtxt
-xmlTextReaderSchemaValidate
-xmlTextReaderSchemaValidateCtxt
-xmlTextReaderSetErrorHandler
-xmlTextReaderSetParserProp
-xmlTextReaderSetSchema
-xmlTextReaderSetStructuredErrorHandler
-xmlTextReaderSetup
-xmlTextReaderStandalone
-xmlTextReaderValue
-xmlTextReaderXmlLang
-xmlTextWriterEndAttribute
-xmlTextWriterEndCDATA
-xmlTextWriterEndComment
-xmlTextWriterEndDTD
-xmlTextWriterEndDTDAttlist
-xmlTextWriterEndDTDElement
-xmlTextWriterEndDTDEntity
-xmlTextWriterEndDocument
-xmlTextWriterEndElement
-xmlTextWriterEndPI
-xmlTextWriterFlush
-xmlTextWriterFullEndElement
-xmlTextWriterSetIndent
-xmlTextWriterSetIndentString
-xmlTextWriterSetQuoteChar
-xmlTextWriterStartAttribute
-xmlTextWriterStartAttributeNS
-xmlTextWriterStartCDATA
-xmlTextWriterStartComment
-xmlTextWriterStartDTD
-xmlTextWriterStartDTDAttlist
-xmlTextWriterStartDTDElement
-xmlTextWriterStartDTDEntity
-xmlTextWriterStartDocument
-xmlTextWriterStartElement
-xmlTextWriterStartElementNS
-xmlTextWriterStartPI
-xmlTextWriterWriteAttribute
-xmlTextWriterWriteAttributeNS
-xmlTextWriterWriteBase64
-xmlTextWriterWriteBinHex
-xmlTextWriterWriteCDATA
-xmlTextWriterWriteComment
-xmlTextWriterWriteDTD
-xmlTextWriterWriteDTDAttlist
-xmlTextWriterWriteDTDElement
-xmlTextWriterWriteDTDEntity
-xmlTextWriterWriteDTDExternalEntity
-xmlTextWriterWriteDTDExternalEntityContents
-xmlTextWriterWriteDTDInternalEntity
-xmlTextWriterWriteDTDNotation
-xmlTextWriterWriteElement
-xmlTextWriterWriteElementNS
-xmlTextWriterWriteFormatAttribute
-xmlTextWriterWriteFormatAttributeNS
-xmlTextWriterWriteFormatCDATA
-xmlTextWriterWriteFormatComment
-xmlTextWriterWriteFormatDTD
-xmlTextWriterWriteFormatDTDAttlist
-xmlTextWriterWriteFormatDTDElement
-xmlTextWriterWriteFormatDTDInternalEntity
-xmlTextWriterWriteFormatElement
-xmlTextWriterWriteFormatElementNS
-xmlTextWriterWriteFormatPI
-xmlTextWriterWriteFormatRaw
-xmlTextWriterWriteFormatString
-xmlTextWriterWritePI
-xmlTextWriterWriteRaw
-xmlTextWriterWriteRawLen
-xmlTextWriterWriteString
-xmlTextWriterWriteVFormatAttribute
-xmlTextWriterWriteVFormatAttributeNS
-xmlTextWriterWriteVFormatCDATA
-xmlTextWriterWriteVFormatComment
-xmlTextWriterWriteVFormatDTD
-xmlTextWriterWriteVFormatDTDAttlist
-xmlTextWriterWriteVFormatDTDElement
-xmlTextWriterWriteVFormatDTDInternalEntity
-xmlTextWriterWriteVFormatElement
-xmlTextWriterWriteVFormatElementNS
-xmlTextWriterWriteVFormatPI
-xmlTextWriterWriteVFormatRaw
-xmlTextWriterWriteVFormatString
-xmlThrDefBufferAllocScheme
-xmlThrDefDefaultBufferSize
-xmlThrDefDeregisterNodeDefault
-xmlThrDefDoValidityCheckingDefaultValue
-xmlThrDefGetWarningsDefaultValue
-xmlThrDefIndentTreeOutput
-xmlThrDefKeepBlanksDefaultValue
-xmlThrDefLineNumbersDefaultValue
-xmlThrDefLoadExtDtdDefaultValue
-xmlThrDefOutputBufferCreateFilenameDefault
-xmlThrDefParserDebugEntities
-xmlThrDefParserInputBufferCreateFilenameDefault
-xmlThrDefPedanticParserDefaultValue
-xmlThrDefRegisterNodeDefault
-xmlThrDefSaveNoEmptyTags
-xmlThrDefSetGenericErrorFunc
-xmlThrDefSetStructuredErrorFunc
-xmlThrDefSubstituteEntitiesDefaultValue
-xmlThrDefTreeIndentString
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsAegeanNumbers
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsAlphabeticPresentationForms
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsArabic
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsArabicPresentationFormsA
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsArabicPresentationFormsB
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsArmenian
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsArrows
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsBasicLatin
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsBengali
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsBlock
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsBlockElements
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsBopomofo
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsBopomofoExtended
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsBoxDrawing
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsBraillePatterns
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsBuhid
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsByzantineMusicalSymbols
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCJKCompatibility
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCJKCompatibilityForms
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCJKCompatibilityIdeographs
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCJKCompatibilityIdeographsSupplement
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCJKRadicalsSupplement
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCJKSymbolsandPunctuation
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCJKUnifiedIdeographs
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCJKUnifiedIdeographsExtensionA
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCJKUnifiedIdeographsExtensionB
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCat
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatC
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatCc
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatCf
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatCo
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatCs
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatL
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatLl
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatLm
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatLo
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatLt
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatLu
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatM
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatMc
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatMe
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatMn
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatN
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatNd
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatNl
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatNo
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatP
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatPc
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatPd
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatPe
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatPf
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatPi
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatPo
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatPs
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatS
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatSc
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatSk
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatSm
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatSo
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatZ
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatZl
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatZp
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCatZs
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCherokee
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCombiningDiacriticalMarks
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCombiningDiacriticalMarksforSymbols
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCombiningHalfMarks
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCombiningMarksforSymbols
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsControlPictures
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCurrencySymbols
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCypriotSyllabary
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCyrillic
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsCyrillicSupplement
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsDeseret
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsDevanagari
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsDingbats
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsEnclosedAlphanumerics
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsEnclosedCJKLettersandMonths
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsEthiopic
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsGeneralPunctuation
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsGeometricShapes
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsGeorgian
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsGothic
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsGreek
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsGreekExtended
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsGreekandCoptic
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsGujarati
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsGurmukhi
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsHalfwidthandFullwidthForms
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsHangulCompatibilityJamo
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsHangulJamo
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsHangulSyllables
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsHanunoo
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsHebrew
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsHighPrivateUseSurrogates
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsHighSurrogates
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsHiragana
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsIPAExtensions
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsIdeographicDescriptionCharacters
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsKanbun
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsKangxiRadicals
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsKannada
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsKatakana
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsKatakanaPhoneticExtensions
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsKhmer
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsKhmerSymbols
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsLao
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsLatin1Supplement
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsLatinExtendedA
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsLatinExtendedAdditional
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsLatinExtendedB
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsLetterlikeSymbols
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsLimbu
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsLinearBIdeograms
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsLinearBSyllabary
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsLowSurrogates
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsMalayalam
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsMathematicalAlphanumericSymbols
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsMathematicalOperators
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsMiscellaneousMathematicalSymbolsA
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsMiscellaneousMathematicalSymbolsB
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsMiscellaneousSymbols
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsMiscellaneousSymbolsandArrows
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsMiscellaneousTechnical
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsMongolian
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsMusicalSymbols
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsMyanmar
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsNumberForms
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsOgham
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsOldItalic
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsOpticalCharacterRecognition
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsOriya
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsOsmanya
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsPhoneticExtensions
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsPrivateUse
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsPrivateUseArea
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsRunic
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsShavian
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsSinhala
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsSmallFormVariants
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsSpacingModifierLetters
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsSpecials
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsSuperscriptsandSubscripts
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsSupplementalArrowsA
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsSupplementalArrowsB
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsSupplementalMathematicalOperators
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsSupplementaryPrivateUseAreaA
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsSupplementaryPrivateUseAreaB
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsSyriac
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsTagalog
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsTagbanwa
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsTags
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsTaiLe
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsTaiXuanJingSymbols
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsTamil
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsTelugu
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsThaana
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsThai
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsTibetan
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsUgaritic
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsUnifiedCanadianAboriginalSyllabics
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsVariationSelectors
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsVariationSelectorsSupplement
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsYiRadicals
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsYiSyllables
-#endif
-#ifdef LIBXML_REGEXP_ENABLED
-xmlUCSIsYijingHexagramSymbols
-#endif
-xmlURIEscape
-xmlURIEscapeStr
-xmlURIUnescapeString
-xmlUTF8Charcmp
-xmlUTF8Size
-xmlUTF8Strlen
-xmlUTF8Strloc
-xmlUTF8Strndup
-xmlUTF8Strpos
-xmlUTF8Strsize
-xmlUTF8Strsub
-xmlUnlinkNode
-xmlUnlockLibrary
-xmlUnsetNsProp
-xmlUnsetProp
-#ifdef LIBXML_REGEXP_ENABLED
-xmlValidBuildContentModel
-#endif
-xmlValidCtxtNormalizeAttributeValue
-xmlValidGetPotentialChildren
-xmlValidGetValidElements
-xmlValidNormalizeAttributeValue
-xmlValidateAttributeDecl
-xmlValidateAttributeValue
-xmlValidateDocument
-xmlValidateDocumentFinal
-xmlValidateDtd
-xmlValidateDtdFinal
-xmlValidateElement
-xmlValidateElementDecl
-xmlValidateNCName
-xmlValidateNMToken
-xmlValidateName
-xmlValidateNameValue
-xmlValidateNamesValue
-xmlValidateNmtokenValue
-xmlValidateNmtokensValue
-xmlValidateNotationDecl
-xmlValidateNotationUse
-xmlValidateOneAttribute
-xmlValidateOneElement
-xmlValidateOneNamespace
-xmlValidatePopElement
-xmlValidatePushCData
-xmlValidatePushElement
-xmlValidateQName
-xmlValidateRoot
-#ifdef LIBXML_XINCLUDE_ENABLED
-xmlXIncludeFreeContext
-#endif
-#ifdef LIBXML_XINCLUDE_ENABLED
-xmlXIncludeNewContext
-#endif
-#ifdef LIBXML_XINCLUDE_ENABLED
-xmlXIncludeProcess
-#endif
-#ifdef LIBXML_XINCLUDE_ENABLED
-xmlXIncludeProcessFlags
-#endif
-#ifdef LIBXML_XINCLUDE_ENABLED
-xmlXIncludeProcessFlagsData
-#endif
-#ifdef LIBXML_XINCLUDE_ENABLED
-xmlXIncludeProcessNode
-#endif
-#ifdef LIBXML_XINCLUDE_ENABLED
-xmlXIncludeProcessTree
-#endif
-#ifdef LIBXML_XINCLUDE_ENABLED
-xmlXIncludeProcessTreeFlags
-#endif
-#ifdef LIBXML_XINCLUDE_ENABLED
-xmlXIncludeProcessTreeFlagsData
-#endif
-#ifdef LIBXML_XINCLUDE_ENABLED
-xmlXIncludeSetFlags
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathAddValues
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathBooleanFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastBooleanToNumber
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastBooleanToString
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastNodeSetToBoolean
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastNodeSetToNumber
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastNodeSetToString
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastNodeToNumber
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastNodeToString
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastNumberToBoolean
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastNumberToString
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastStringToBoolean
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastStringToNumber
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastToBoolean
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastToNumber
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCastToString
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCeilingFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCmpNodes
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCompareValues
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCompile
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCompiledEval
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCompiledEvalToBoolean
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathConcatFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathContainsFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathContextSetCache
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathConvertBoolean
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathConvertNumber
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathConvertString
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCountFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathCtxtCompile
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-#ifdef LIBXML_DEBUG_ENABLED
-xmlXPathDebugDumpCompExpr
-#endif
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-#ifdef LIBXML_DEBUG_ENABLED
-xmlXPathDebugDumpObject
-#endif
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathDifference
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathDistinct
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathDistinctSorted
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathDivValues
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathEqualValues
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathErr
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathEval
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathEvalExpr
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathEvalExpression
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathEvalPredicate
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathEvaluatePredicateResult
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathFalseFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathFloorFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathFreeCompExpr
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathFreeContext
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathFreeNodeSet
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathFreeNodeSetList
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathFreeObject
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathFreeParserContext
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathFunctionLookup
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathFunctionLookupNS
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathHasSameNodes
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathIdFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathInit
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathIntersection
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathIsInf
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathIsNaN
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathIsNodeType
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathLangFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathLastFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathLeading
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathLeadingSorted
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathLocalNameFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathModValues
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathMultValues
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNamespaceURIFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNewBoolean
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNewCString
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNewContext
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNewFloat
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNewNodeSet
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNewNodeSetList
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNewParserContext
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNewString
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNewValueTree
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextAncestor
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextAncestorOrSelf
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextAttribute
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextChild
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextDescendant
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextDescendantOrSelf
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextFollowing
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextFollowingSibling
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextNamespace
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextParent
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextPreceding
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextPrecedingSibling
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNextSelf
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeEval
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeLeading
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeLeadingSorted
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeSetAdd
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeSetAddNs
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeSetAddUnique
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeSetContains
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeSetCreate
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeSetDel
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeSetFreeNs
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeSetMerge
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeSetRemove
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeSetSort
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeTrailing
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNodeTrailingSorted
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNormalizeFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNotEqualValues
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNotFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNsLookup
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathNumberFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathObjectCopy
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathOrderDocElems
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathParseNCName
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathParseName
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathPopBoolean
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathPopExternal
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathPopNodeSet
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathPopNumber
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathPopString
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathPositionFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRegisterAllFunctions
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRegisterFunc
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRegisterFuncLookup
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRegisterFuncNS
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRegisterNs
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRegisterVariable
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRegisterVariableLookup
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRegisterVariableNS
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRegisteredFuncsCleanup
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRegisteredNsCleanup
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRegisteredVariablesCleanup
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRoot
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathRoundFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathSetContextNode
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathStartsWithFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathStringEvalNumber
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathStringFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathStringLengthFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathSubValues
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathSubstringAfterFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathSubstringBeforeFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathSubstringFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathSumFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathTrailing
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathTrailingSorted
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathTranslateFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathTrueFunction
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathValueFlipSign
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathVariableLookup
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathVariableLookupNS
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathWrapCString
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathWrapExternal
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathWrapNodeSet
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPathWrapString
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-xmlXPatherror
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrBuildNodeList
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrEval
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrEvalRangePredicate
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrFreeLocationSet
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrLocationSetAdd
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrLocationSetCreate
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrLocationSetDel
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrLocationSetMerge
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrLocationSetRemove
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrNewCollapsedRange
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrNewContext
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrNewLocationSetNodeSet
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrNewLocationSetNodes
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrNewRange
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrNewRangeNodeObject
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrNewRangeNodePoint
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrNewRangeNodes
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrNewRangePointNode
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrNewRangePoints
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrRangeToFunction
-#endif
-#ifdef LIBXML_XPTR_ENABLED
-xmlXPtrWrapLocationSet
-#endif
diff --git a/win32/wince/libxml2.vcb b/win32/wince/libxml2.vcb
deleted file mode 100644
index 954d053..0000000
--- a/win32/wince/libxml2.vcb
+++ /dev/null
@@ -1 +0,0 @@
-Microsoft C/C++ program database 2.00
diff --git a/win32/wince/libxml2.vcl b/win32/wince/libxml2.vcl
deleted file mode 100644
index 627ecb6..0000000
--- a/win32/wince/libxml2.vcl
+++ /dev/null
@@ -1,122 +0,0 @@
-<html>
-<body>
-<pre>
-<h1>Build Log</h1>
-<h3>
---------------------Configuration: libxml2 - Win32 (WCE x86em) Debug--------------------
-</h3>
-<h3>Command Lines</h3>
-Creating temporary file "C:\DOCUME~1\fjvg\CONFIG~1\Temp\RSP12E.tmp" with contents
-[
-/nologo /W3 /Zi /Od /I "..\..\..\include" /I "..\..\include" /I "c:\ppc\libxml\XML\win32\wince" /D "DEBUG" /D _WIN32_WCE=300 /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "WIN32_PLATFORM_PSPC" /D "i486" /D UNDER_CE=300 /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Fp"X86EMDbg/libxml2.pch" /YX /Fo"X86EMDbg/" /Fd"X86EMDbg/" /Gz /c 
-"C:\ppc\libxml\XML\DOCBparser.c"
-"C:\ppc\libxml\XML\encoding.c"
-"C:\ppc\libxml\XML\entities.c"
-"C:\ppc\libxml\XML\error.c"
-"C:\ppc\libxml\XML\globals.c"
-"C:\ppc\libxml\XML\hash.c"
-"C:\ppc\libxml\XML\list.c"
-"C:\ppc\libxml\XML\parser.c"
-"C:\ppc\libxml\XML\parserInternals.c"
-"C:\ppc\libxml\XML\SAX.c"
-"C:\ppc\libxml\XML\threads.c"
-"C:\ppc\libxml\XML\tree.c"
-"C:\ppc\libxml\XML\uri.c"
-"C:\ppc\libxml\XML\valid.c"
-"C:\ppc\libxml\XML\win32\wince\wincecompat.c"
-"C:\ppc\libxml\XML\xlink.c"
-"C:\ppc\libxml\XML\xmlIO.c"
-"C:\ppc\libxml\XML\xmlmemory.c"
-"C:\ppc\libxml\XML\c14n.c"
-"C:\ppc\libxml\XML\catalog.c"
-"C:\ppc\libxml\XML\debugXML.c"
-"C:\ppc\libxml\XML\HTMLparser.c"
-"C:\ppc\libxml\XML\HTMLtree.c"
-"C:\ppc\libxml\XML\nanoftp.c"
-"C:\ppc\libxml\XML\nanohttp.c"
-"C:\ppc\libxml\XML\xinclude.c"
-"C:\ppc\libxml\XML\xpath.c"
-"C:\ppc\libxml\XML\xpointer.c"
-]
-Creating command line "cl.exe @C:\DOCUME~1\fjvg\CONFIG~1\Temp\RSP12E.tmp" 
-Creating temporary file "C:\DOCUME~1\fjvg\CONFIG~1\Temp\RSP12F.tmp" with contents
-[
-corelibc.lib winsock.lib commctrl.lib coredll.lib /nologo /stack:0x10000,0x1000 /dll /incremental:yes /pdb:"X86EMDbg/libxml2.pdb" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:libc.lib /nodefaultlib:libcd.lib /nodefaultlib:libcmt.lib /nodefaultlib:libcmtd.lib /nodefaultlib:msvcrt.lib /nodefaultlib:msvcrtd.lib /nodefaultlib:oldnames.lib /def:".\libxml2.def" /out:"X86EMDbg/libxml2.dll" /implib:"X86EMDbg/libxml2.lib" /windowsce:emulation /MACHINE:IX86 
-.\X86EMDbg\DOCBparser.obj
-.\X86EMDbg\encoding.obj
-.\X86EMDbg\entities.obj
-.\X86EMDbg\error.obj
-.\X86EMDbg\globals.obj
-.\X86EMDbg\hash.obj
-.\X86EMDbg\list.obj
-.\X86EMDbg\parser.obj
-.\X86EMDbg\parserInternals.obj
-.\X86EMDbg\SAX.obj
-.\X86EMDbg\threads.obj
-.\X86EMDbg\tree.obj
-.\X86EMDbg\uri.obj
-.\X86EMDbg\valid.obj
-.\X86EMDbg\wincecompat.obj
-.\X86EMDbg\xlink.obj
-.\X86EMDbg\xmlIO.obj
-.\X86EMDbg\xmlmemory.obj
-.\X86EMDbg\c14n.obj
-.\X86EMDbg\catalog.obj
-.\X86EMDbg\debugXML.obj
-.\X86EMDbg\HTMLparser.obj
-.\X86EMDbg\HTMLtree.obj
-.\X86EMDbg\nanoftp.obj
-.\X86EMDbg\nanohttp.obj
-.\X86EMDbg\xinclude.obj
-.\X86EMDbg\xpath.obj
-.\X86EMDbg\xpointer.obj
-]
-Creating command line "link.exe @C:\DOCUME~1\fjvg\CONFIG~1\Temp\RSP12F.tmp"
-<h3>Output Window</h3>
-Compiling...
-DOCBparser.c
-encoding.c
-entities.c
-error.c
-globals.c
-hash.c
-list.c
-parser.c
-C:\ppc\libxml\XML\parser.c(2282) : warning C4090: '=' : different 'const' qualifiers
-parserInternals.c
-SAX.c
-threads.c
-tree.c
-uri.c
-valid.c
-wincecompat.c
-C:\ppc\libxml\XML\win32\wince\wincecompat.c(37) : warning C4047: '=' : 'char ' differs in levels of indirection from 'char [2]'
-C:\ppc\libxml\XML\win32\wince\wincecompat.c(39) : warning C4047: '=' : 'char ' differs in levels of indirection from 'char [2]'
-C:\ppc\libxml\XML\win32\wince\wincecompat.c(40) : warning C4047: 'return' : 'int ' differs in levels of indirection from 'void *'
-xlink.c
-xmlIO.c
-C:\ppc\libxml\XML\xmlIO.c(2404) : warning C4101: 'dir' : unreferenced local variable
-C:\ppc\libxml\XML\xmlIO.c(2405) : warning C4101: 'cur' : unreferenced local variable
-xmlmemory.c
-c14n.c
-catalog.c
-debugXML.c
-HTMLparser.c
-HTMLtree.c
-nanoftp.c
-nanohttp.c
-C:\ppc\libxml\XML\nanoftp.c(892) : warning C4761: integral size mismatch in argument; conversion supplied
-xinclude.c
-C:\ppc\libxml\XML\nanohttp.c(921) : warning C4761: integral size mismatch in argument; conversion supplied
-xpath.c
-xpointer.c
-Linking...
-   Creating library X86EMDbg/libxml2.lib and object X86EMDbg/libxml2.exp
-
-
-
-<h3>Results</h3>
-libxml2.dll - 0 error(s), 8 warning(s)
-</pre>
-</body>
-</html>
diff --git a/win32/wince/libxml2.vco b/win32/wince/libxml2.vco
deleted file mode 100644
index 3599f1b..0000000
--- a/win32/wince/libxml2.vco
+++ /dev/null
@@ -1 +0,0 @@
-ÐÏࡱ
\ No newline at end of file
diff --git a/win32/wince/libxml2.vcp b/win32/wince/libxml2.vcp
deleted file mode 100644
index 101fbcd..0000000
--- a/win32/wince/libxml2.vcp
+++ /dev/null
@@ -1,5273 +0,0 @@
-# Microsoft eMbedded Visual Tools Project File - Name="libxml2" - Package Owner=<4>
-# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (WCE SH3) Dynamic-Link Library" 0x8102
-# TARGTYPE "Win32 (WCE x86em) Dynamic-Link Library" 0x7f02
-# TARGTYPE "Win32 (WCE x86) Dynamic-Link Library" 0x8302
-# TARGTYPE "Win32 (WCE ARM) Dynamic-Link Library" 0x8502
-# TARGTYPE "Win32 (WCE MIPS) Dynamic-Link Library" 0x8202
-
-CFG=libxml2 - Win32 (WCE ARM) Release
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "libxml2.vcn".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "libxml2.vcn" CFG="libxml2 - Win32 (WCE ARM) Release"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "libxml2 - Win32 (WCE ARM) Release" (based on "Win32 (WCE ARM) Dynamic-Link Library")
-!MESSAGE "libxml2 - Win32 (WCE ARM) Debug" (based on "Win32 (WCE ARM) Dynamic-Link Library")
-!MESSAGE "libxml2 - Win32 (WCE x86em) Debug" (based on "Win32 (WCE x86em) Dynamic-Link Library")
-!MESSAGE "libxml2 - Win32 (WCE MIPS) Release" (based on "Win32 (WCE MIPS) Dynamic-Link Library")
-!MESSAGE "libxml2 - Win32 (WCE SH3) Release" (based on "Win32 (WCE SH3) Dynamic-Link Library")
-!MESSAGE "libxml2 - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-# PROP ATL_Project 2
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "ARMRel"
-# PROP BASE Intermediate_Dir "ARMRel"
-# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "ARMRel"
-# PROP Intermediate_Dir "ARMRel"
-# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
-CPP=clarm.exe
-# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_USRDLL" /D "CEDLL_EXPORTS" /YX /Oxs /M$(CECrtMT) /c
-# ADD CPP /nologo /W3 /I "..\..\include" /I "c:\ppc\libxml\XML\win32\wince" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_USRDLL" /D "CEDLL_EXPORTS" /YX /Oxs /M$(CECrtMT) /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00100000" /stack:0x10000,0x1000 /entry:"_DllMainCRTStartup" /dll /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
-# ADD LINK32 winsock.lib commctrl.lib coredll.lib /nologo /base:"0x00100000" /stack:0x10000,0x1000 /entry:"_DllMainCRTStartup" /dll /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "ARMDbg"
-# PROP BASE Intermediate_Dir "ARMDbg"
-# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "ARMDbg"
-# PROP Intermediate_Dir "ARMDbg"
-# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
-CPP=clarm.exe
-# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "DEBUG" /D "_USRDLL" /D "CEDLL_EXPORTS" /YX /Oxs /M$(CECrtMT) /c
-# ADD CPP /nologo /W3 /I "..\..\include" /I "c:\ppc\libxml\XML\win32\wince" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "DEBUG" /D "_USRDLL" /D "CEDLL_EXPORTS" /Oxs /M$(CECrtMT) /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00100000" /stack:0x10000,0x1000 /entry:"_DllMainCRTStartup" /dll /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
-# ADD LINK32 winsock.lib commctrl.lib coredll.lib /nologo /base:"0x00100000" /stack:0x10000,0x1000 /entry:"_DllMainCRTStartup" /dll /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "X86EMDbg"
-# PROP BASE Intermediate_Dir "X86EMDbg"
-# PROP BASE CPU_ID "{D6518FF4-710F-11D3-99F2-00105A0DF099}"
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "X86EMDbg"
-# PROP Intermediate_Dir "X86EMDbg"
-# PROP CPU_ID "{D6518FF4-710F-11D3-99F2-00105A0DF099}"
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "i486" /r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "i486" /r
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "$(CePlatform)" /D "i486" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gz /c
-# ADD CPP /nologo /W3 /Zi /Od /I "..\..\..\include" /I "..\..\include" /I "c:\ppc\libxml\XML\win32\wince" /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "$(CePlatform)" /D "i486" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gz /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /stack:0x10000,0x1000 /dll /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /windowsce:emulation /MACHINE:IX86
-# ADD LINK32 $(CEx86Corelibc) winsock.lib commctrl.lib coredll.lib /nologo /stack:0x10000,0x1000 /dll /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /windowsce:emulation /MACHINE:IX86
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "MIPSRel"
-# PROP BASE Intermediate_Dir "MIPSRel"
-# PROP BASE CPU_ID "{D6519010-710F-11D3-99F2-00105A0DF099}"
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "MIPSRel"
-# PROP Intermediate_Dir "MIPSRel"
-# PROP CPU_ID "{D6519010-710F-11D3-99F2-00105A0DF099}"
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r
-CPP=clmips.exe
-# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /Oxs /M$(CECrtMT) /c
-# ADD CPP /nologo /W3 /I "..\..\include" /I "c:\ppc\libxml\XML\win32\wince" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /Oxs /M$(CECrtMT) /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00100000" /stack:0x10000,0x1000 /entry:"_DllMainCRTStartup" /dll /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS
-# ADD LINK32 commctrl.lib coredll.lib winsock.lib /nologo /base:"0x00100000" /stack:0x10000,0x1000 /entry:"_DllMainCRTStartup" /dll /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "SH3Rel"
-# PROP BASE Intermediate_Dir "SH3Rel"
-# PROP BASE CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}"
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "SH3Rel"
-# PROP Intermediate_Dir "SH3Rel"
-# PROP CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}"
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP Target_Dir ""
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r
-CPP=shcl.exe
-# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /Oxs /M$(CECrtMT) /c
-# ADD CPP /nologo /W3 /I "..\..\include" /I "c:\ppc\libxml\XML\win32\wince" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /Oxs /M$(CECrtMT) /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00100000" /stack:0x10000,0x1000 /entry:"_DllMainCRTStartup" /dll /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3
-# ADD LINK32 commctrl.lib coredll.lib winsock.lib /nologo /base:"0x00100000" /stack:0x10000,0x1000 /entry:"_DllMainCRTStartup" /dll /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "X86Dbg"
-# PROP BASE Intermediate_Dir "X86Dbg"
-# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "X86Dbg"
-# PROP Intermediate_Dir "X86Dbg"
-# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c
-# ADD CPP /nologo /W3 /Zi /Od /I "..\..\include" /I "c:\ppc\libxml\XML\win32\wince" /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00100000" /stack:0x10000,0x1000 /entry:"_DllMainCRTStartup" /dll /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
-# ADD LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) winsock.lib /nologo /base:"0x00100000" /stack:0x10000,0x1000 /entry:"_DllMainCRTStartup" /dll /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
-
-!ENDIF 
-
-# Begin Target
-
-# Name "libxml2 - Win32 (WCE ARM) Release"
-# Name "libxml2 - Win32 (WCE ARM) Debug"
-# Name "libxml2 - Win32 (WCE x86em) Debug"
-# Name "libxml2 - Win32 (WCE MIPS) Release"
-# Name "libxml2 - Win32 (WCE SH3) Release"
-# Name "libxml2 - Win32 (WCE x86) Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\c14n.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_C14N_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\c14n.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_C14N_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-# PROP Exclude_From_Build 1
-DEP_CPP_C14N_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\c14n.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_C14N_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_C14N_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\c14n.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_C14N_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_C14N_=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_C14N_=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_C14N_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\c14n.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_C14N_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_C14N_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\c14n.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_C14N_=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\catalog.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_CATAL=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_CATAL=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-# PROP Exclude_From_Build 1
-DEP_CPP_CATAL=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_CATAL=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_CATAL=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_CATAL=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_CATAL=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_CATAL=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_CATAL=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_CATAL=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-# PROP Exclude_From_Build 1
-DEP_CPP_CATAL=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_CATAL=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\debugXML.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_DEBUG=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_DEBUG=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_DEBUG=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_DEBUG=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_DEBUG=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_DEBUG=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_DEBUG=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_DEBUG=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_DEBUG=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_DEBUG=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_DEBUG=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_DEBUG=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\DOCBparser.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_DOCBP=\
-	"..\..\config.h"\
-	"..\..\include\libxml\DOCBparser.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_DOCBP=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_DOCBP=\
-	"..\..\config.h"\
-	"..\..\include\libxml\DOCBparser.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_DOCBP=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_DOCBP=\
-	"..\..\config.h"\
-	"..\..\include\libxml\DOCBparser.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_DOCBP=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_DOCBP=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_DOCBP=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_DOCBP=\
-	"..\..\config.h"\
-	"..\..\include\libxml\DOCBparser.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_DOCBP=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-# PROP Exclude_From_Build 1
-DEP_CPP_DOCBP=\
-	"..\..\config.h"\
-	"..\..\include\libxml\DOCBparser.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_DOCBP=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\encoding.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_ENCOD=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ENCOD=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_ENCOD=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ENCOD=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_ENCOD=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ENCOD=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_ENCOD=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_ENCOD=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_ENCOD=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ENCOD=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_ENCOD=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ENCOD=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\entities.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_ENTIT=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ENTIT=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_ENTIT=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ENTIT=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_ENTIT=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ENTIT=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_ENTIT=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_ENTIT=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_ENTIT=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ENTIT=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_ENTIT=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ENTIT=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\error.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_ERROR=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ERROR=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_ERROR=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ERROR=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_ERROR=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ERROR=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_ERROR=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_ERROR=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_ERROR=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ERROR=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_ERROR=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_ERROR=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\globals.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_GLOBA=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_GLOBA=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_GLOBA=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_GLOBA=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_GLOBA=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_GLOBA=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_GLOBA=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_GLOBA=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_GLOBA=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_GLOBA=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_GLOBA=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_GLOBA=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\hash.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HASH_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HASH_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HASH_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HASH_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_HASH_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HASH_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_HASH_=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_HASH_=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_HASH_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HASH_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HASH_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HASH_=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\HTMLparser.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HTMLP=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HTMLP=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-# PROP Exclude_From_Build 1
-DEP_CPP_HTMLP=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HTMLP=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_HTMLP=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HTMLP=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_HTMLP=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_HTMLP=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_HTMLP=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HTMLP=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HTMLP=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HTMLP=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\HTMLtree.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HTMLT=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HTMLT=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-# PROP Exclude_From_Build 1
-DEP_CPP_HTMLT=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HTMLT=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_HTMLT=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HTMLT=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_HTMLT=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_HTMLT=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_HTMLT=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HTMLT=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HTMLT=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_HTMLT=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\libxml2.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\libxml2.def.src
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-USERDEP__LIBXM="../../include/libxml/xmlversion.h;"	
-# Begin Custom Build
-InputPath=.\libxml2.def.src
-
-"libxml2.def" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	cl /I"..\.." /I"..\..\include" /nologo /EP $(InputPath) > libxml2.def
-
-# End Custom Build
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\list.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_LIST_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_LIST_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_LIST_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_LIST_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_LIST_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_LIST_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_LIST_=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_LIST_=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_LIST_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_LIST_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_LIST_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_LIST_=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\nanoftp.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_NANOF=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanoftp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_NANOF=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_NANOF=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanoftp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_NANOF=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_NANOF=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanoftp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_NANOF=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_NANOF=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_NANOF=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_NANOF=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanoftp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_NANOF=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_NANOF=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanoftp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_NANOF=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\nanohttp.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_NANOH=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanohttp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_NANOH=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_NANOH=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanohttp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_NANOH=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_NANOH=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanohttp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_NANOH=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_NANOH=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_NANOH=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_NANOH=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanohttp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_NANOH=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_NANOH=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanohttp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_NANOH=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\parser.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_PARSE=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_PARSE=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_PARSE=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_PARSE=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_PARSE=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_PARSE=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_PARSE=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_PARSE=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_PARSE=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_PARSE=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_PARSE=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_PARSE=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\parserInternals.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_PARSER=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_PARSER=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_PARSER=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_PARSER=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_PARSER=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_PARSER=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_PARSER=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_PARSER=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_PARSER=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_PARSER=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_PARSER=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_PARSER=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\SAX.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_SAX_C=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_SAX_C=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_SAX_C=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_SAX_C=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_SAX_C=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_SAX_C=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_SAX_C=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_SAX_C=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_SAX_C=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_SAX_C=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_SAX_C=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\HTMLtree.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_SAX_C=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\threads.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_THREA=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_THREA=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_THREA=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_THREA=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_THREA=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_THREA=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_THREA=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_THREA=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_THREA=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_THREA=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_THREA=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_THREA=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\tree.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_TREE_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_TREE_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_TREE_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_TREE_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_TREE_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_TREE_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_TREE_=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_TREE_=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_TREE_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_TREE_=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_TREE_=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_TREE_=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\uri.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_URI_C=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_URI_C=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_URI_C=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_URI_C=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_URI_C=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_URI_C=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_URI_C=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_URI_C=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_URI_C=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_URI_C=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_URI_C=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_URI_C=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\valid.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_VALID=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_VALID=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_VALID=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_VALID=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_VALID=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_VALID=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_VALID=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_VALID=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_VALID=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_VALID=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_VALID=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_VALID=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\wincecompat.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_WINCE=\
-	".\wincecompat.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_WINCE=\
-	".\wincecompat.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_WINCE=\
-	".\wincecompat.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_WINCE=\
-	".\wincecompat.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_WINCE=\
-	".\wincecompat.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_WINCE=\
-	".\wincecompat.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\xinclude.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_XINCL=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xinclude.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XINCL=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-# PROP Exclude_From_Build 1
-DEP_CPP_XINCL=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xinclude.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XINCL=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_XINCL=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xinclude.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XINCL=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_XINCL=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_XINCL=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_XINCL=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xinclude.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XINCL=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_XINCL=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xinclude.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XINCL=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\xlink.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_XLINK=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XLINK=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_XLINK=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XLINK=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_XLINK=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XLINK=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_XLINK=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_XLINK=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_XLINK=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XLINK=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_XLINK=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XLINK=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\xmlIO.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_XMLIO=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanoftp.h"\
-	"..\..\include\libxml\nanohttp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XMLIO=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_XMLIO=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanoftp.h"\
-	"..\..\include\libxml\nanohttp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XMLIO=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_XMLIO=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanoftp.h"\
-	"..\..\include\libxml\nanohttp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XMLIO=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_XMLIO=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_XMLIO=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_XMLIO=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanoftp.h"\
-	"..\..\include\libxml\nanohttp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XMLIO=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_XMLIO=\
-	"..\..\config.h"\
-	"..\..\include\libxml\catalog.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\nanoftp.h"\
-	"..\..\include\libxml\nanohttp.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XMLIO=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\xmlmemory.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_XMLME=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XMLME=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_XMLME=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XMLME=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_XMLME=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XMLME=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_XMLME=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_XMLME=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_XMLME=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XMLME=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_XMLME=\
-	"..\..\config.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XMLME=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\xpath.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_XPATH=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	"..\..\triodef.h"\
-	"..\..\trionan.c"\
-	"..\..\trionan.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XPATH=\
-	"..\..\config-mac.h"\
-	"..\..\doc\doc_nan.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-# PROP Exclude_From_Build 1
-DEP_CPP_XPATH=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	"..\..\triodef.h"\
-	"..\..\trionan.c"\
-	"..\..\trionan.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XPATH=\
-	"..\..\config-mac.h"\
-	"..\..\doc\doc_nan.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_XPATH=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	"..\..\triodef.h"\
-	"..\..\trionan.c"\
-	"..\..\trionan.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XPATH=\
-	"..\..\config-mac.h"\
-	"..\..\doc\doc_nan.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_XPATH=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	"..\..\triodef.h"\
-	"..\..\trionan.c"\
-	"..\..\trionan.h"\
-	
-NODEP_CPP_XPATH=\
-	"..\..\config-mac.h"\
-	"..\..\doc\doc_nan.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_XPATH=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	"..\..\triodef.h"\
-	"..\..\trionan.c"\
-	"..\..\trionan.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XPATH=\
-	"..\..\config-mac.h"\
-	"..\..\doc\doc_nan.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_XPATH=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	"..\..\triodef.h"\
-	"..\..\trionan.c"\
-	"..\..\trionan.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XPATH=\
-	"..\..\config-mac.h"\
-	"..\..\doc\doc_nan.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\xpointer.c
-
-!IF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_XPOIN=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\include\winCEconfig.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XPOIN=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE ARM) Debug"
-
-# PROP Exclude_From_Build 1
-DEP_CPP_XPOIN=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XPOIN=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86em) Debug"
-
-DEP_CPP_XPOIN=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XPOIN=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE MIPS) Release"
-
-DEP_CPP_XPOIN=\
-	"..\..\config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	
-NODEP_CPP_XPOIN=\
-	"..\..\config-mac.h"\
-	"..\..\win32config.h"\
-	"..\..\winCEconfig.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE SH3) Release"
-
-DEP_CPP_XPOIN=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XPOIN=\
-	"..\..\config-mac.h"\
-	
-
-!ELSEIF  "$(CFG)" == "libxml2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_XPOIN=\
-	"..\..\config.h"\
-	"..\..\include\libxml\debugXML.h"\
-	"..\..\include\libxml\encoding.h"\
-	"..\..\include\libxml\entities.h"\
-	"..\..\include\libxml\globals.h"\
-	"..\..\include\libxml\hash.h"\
-	"..\..\include\libxml\HTMLparser.h"\
-	"..\..\include\libxml\list.h"\
-	"..\..\include\libxml\parser.h"\
-	"..\..\include\libxml\parserInternals.h"\
-	"..\..\include\libxml\SAX.h"\
-	"..\..\include\libxml\threads.h"\
-	"..\..\include\libxml\tree.h"\
-	"..\..\include\libxml\uri.h"\
-	"..\..\include\libxml\valid.h"\
-	"..\..\include\libxml\xlink.h"\
-	"..\..\include\libxml\xmlerror.h"\
-	"..\..\include\libxml\xmlIO.h"\
-	"..\..\include\libxml\xmlmemory.h"\
-	"..\..\include\libxml\xmlversion.h"\
-	"..\..\include\libxml\xmlwin32version.h"\
-	"..\..\include\libxml\xpath.h"\
-	"..\..\include\libxml\xpathInternals.h"\
-	"..\..\include\libxml\xpointer.h"\
-	"..\..\include\win32config.h"\
-	"..\..\libxml.h"\
-	"..\..\trio.h"\
-	".\wincecompat.h"\
-	
-NODEP_CPP_XPOIN=\
-	"..\..\config-mac.h"\
-	
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\include\libxml\c14n.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\catalog.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\debugXML.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\DOCBparser.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\encoding.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\entities.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\globals.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\hash.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\HTMLparser.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\HTMLtree.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxml.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\list.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\nanoftp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\nanohttp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\parser.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\parserInternals.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\SAX.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\tree.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\uri.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\valid.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\win32config.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\wincecompat.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\xinclude.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\xlink.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\xmlerror.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\xmlIO.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\xmlmemory.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\xmlversion.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\xmlwin32version.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\xpath.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\xpathInternals.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\libxml\xpointer.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/win32/wince/libxml2.vcw b/win32/wince/libxml2.vcw
deleted file mode 100644
index c050c4f..0000000
--- a/win32/wince/libxml2.vcw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "libxml2"=.\libxml2.vcp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "ppcTest"=.\ppcTest\ppcTest.vcp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/win32/wince/wincecompat.c b/win32/wince/wincecompat.c
deleted file mode 100644
index 1678224..0000000
--- a/win32/wince/wincecompat.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * wincecompat.c : wince compatibility module
- *
- * See Copyright for the status of this software.
- *
- * javier@tiresiassoft.com
- *
- * 17 Sep 2002  created
- */
-
-#include "wincecompat.h"
-
-char *strError[]= {"Error 0","","No such file or directory","","","","","Arg list too long",
-	"Exec format error","Bad file number","","","Not enough core","Permission denied","","",
-	"","File exists","Cross-device link","","","","Invalid argument","","Too many open files",
-	"","","","No space left on device","","","","","Math argument","Result too large","",
-	"Resource deadlock would occur", "Unknown error under wince"};
-
-
-int errno=0;
-
-int read(int handle, char *buffer, unsigned int len)
-{
-	return(fread(&buffer[0], len, 1, (FILE *) handle));
-}
-
-int write(int handle, const char *buffer, unsigned int len)
-{
-	return(fwrite(&buffer[0], len,1,(FILE *) handle));
-}
-
-int open(const char *filename,int oflag, ...)
-{
-	char mode[3]; /* mode[0] ="w/r/a"  mode[1]="+" */
-	mode[2]=0;
-	if ( oflag==(O_WRONLY|O_CREAT) )
-		mode[0]='w';
-	else if (oflag==O_RDONLY)
-		mode[0]='r';
-	return (int) fopen(filename, mode);
-}
-
-int close(int handle)
-{
-	return ( fclose((FILE *) handle) );
-}
-
-
-char *getcwd( char *buffer, unsigned int size)
-{
-    /* Windows CE don't have the concept of a current directory
-     * so we just return NULL to indicate an error
-     */
-    return NULL;
-}
-
-char *getenv( const char *varname )
-{
-	return NULL;
-}
-
-char *strerror(int errnum)
-{
-	if (errnum>MAX_STRERROR)
-		return strError[MAX_STRERROR];
-	else
-		return strError[errnum];
-}
diff --git a/win32/wince/wincecompat.h b/win32/wince/wincecompat.h
deleted file mode 100644
index 5154179..0000000
--- a/win32/wince/wincecompat.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * wincecompat.h : wince compatibility header file 
- *
- * See Copyright for the status of this software.
- *
- * javier@tiresiassoft.com
- *
- * 17 Sep 2002  created
- */
-
-#ifndef __WINCECOMPAT_H__
-#define __WINCECOMPAT_H__
-
-#include <stdio.h>
-#include <winbase.h>
-
-#define MAX_STRERROR 31
-
-#define O_RDONLY       0x0000  /* open for reading only */
-#define O_WRONLY       0x0001  /* open for writing only */
-#define O_RDWR         0x0002  /* open for reading and writing */
-#define O_APPEND       0x0008  /* writes done at eof */
-
-#define O_CREAT        0x0100  /* create and open file */
-#define O_TRUNC        0x0200  /* open and truncate */
-#define O_EXCL         0x0400  /* open only if file doesn't already exist */
-
-#define BUFSIZ 4096
-
-extern int errno;
-/* 
-	Prototypes 
-*/
-int read(int handle, char *buffer, unsigned int len);
-int write(int handle, const char *buffer, unsigned int len);
-int open(const char *filename,int oflag, ...);
-int close(int handle);
-char *getenv( const char *varname );
-char *getcwd( char *buffer, unsigned int size);
-char *strerror(int errnum);
-
-/*
-	Macro'ed nonexistent function names
-
-*/
-#define snprintf _snprintf
-#define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a)
-#define perror(_t) MessageBox(NULL, _T("_t"), _T("Error/Warning"), MB_OK)
-
-#endif
diff --git a/xinclude.c b/xinclude.c
index 4f5b684..66a7469 100644
--- a/xinclude.c
+++ b/xinclude.c
@@ -27,7 +27,10 @@
 #ifdef LIBXML_XINCLUDE_ENABLED
 #include <libxml/xinclude.h>
 
-#include "buf.h"
+#include "private/buf.h"
+#include "private/error.h"
+#include "private/tree.h"
+#include "private/xinclude.h"
 
 #define XINCLUDE_MAX_DEPTH 40
 
@@ -54,45 +57,67 @@
 struct _xmlXIncludeRef {
     xmlChar              *URI; /* the fully resolved resource URL */
     xmlChar         *fragment; /* the fragment in the URI */
-    xmlDocPtr		  doc; /* the parsed document */
-    xmlNodePtr            ref; /* the node making the reference in the source */
+    xmlNodePtr           elem; /* the xi:include element */
     xmlNodePtr            inc; /* the included copy */
     int                   xml; /* xml or txt */
-    int                 count; /* how many refs use that specific doc */
     int	             fallback; /* fallback was loaded */
     int		      emptyFb; /* flag to show fallback empty */
+    int		    expanding; /* flag to detect inclusion loops */
+    int		      replace; /* should the node be replaced? */
+};
+
+typedef struct _xmlXIncludeDoc xmlXIncludeDoc;
+typedef xmlXIncludeDoc *xmlXIncludeDocPtr;
+struct _xmlXIncludeDoc {
+    xmlDocPtr             doc; /* the parsed document */
+    xmlChar              *url; /* the URL */
+    int             expanding; /* flag to detect inclusion loops */
+};
+
+typedef struct _xmlXIncludeTxt xmlXIncludeTxt;
+typedef xmlXIncludeTxt *xmlXIncludeTxtPtr;
+struct _xmlXIncludeTxt {
+    xmlChar		*text; /* text string */
+    xmlChar              *url; /* the URL */
 };
 
 struct _xmlXIncludeCtxt {
     xmlDocPtr             doc; /* the source document */
-    int               incBase; /* the first include for this document */
     int                 incNr; /* number of includes */
     int                incMax; /* size of includes tab */
     xmlXIncludeRefPtr *incTab; /* array of included references */
 
     int                 txtNr; /* number of unparsed documents */
     int                txtMax; /* size of unparsed documents tab */
-    xmlChar *         *txtTab; /* array of unparsed text strings */
-    xmlURL         *txturlTab; /* array of unparsed text URLs */
+    xmlXIncludeTxt    *txtTab; /* array of unparsed documents */
 
-    xmlChar *             url; /* the current URL processed */
-    int                 urlNr; /* number of URLs stacked */
-    int                urlMax; /* size of URL stack */
-    xmlChar *         *urlTab; /* URL stack */
+    int                 urlNr; /* number of documents stacked */
+    int                urlMax; /* size of document stack */
+    xmlXIncludeDoc    *urlTab; /* document stack */
 
     int              nbErrors; /* the number of errors detected */
+    int              fatalErr; /* abort processing */
     int                legacy; /* using XINCLUDE_OLD_NS */
     int            parseFlags; /* the flags used for parsing XML documents */
     xmlChar *		 base; /* the current xml:base */
 
     void            *_private; /* application data */
 
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
     unsigned long    incTotal; /* total number of processed inclusions */
+#endif
+    int			depth; /* recursion depth */
+    int		     isStream; /* streaming mode */
 };
 
+static xmlXIncludeRefPtr
+xmlXIncludeExpandNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr node);
+
 static int
-xmlXIncludeDoProcess(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr tree,
-                     int skipRoot);
+xmlXIncludeLoadNode(xmlXIncludeCtxtPtr ctxt, xmlXIncludeRefPtr ref);
+
+static int
+xmlXIncludeDoProcess(xmlXIncludeCtxtPtr ctxt, xmlNodePtr tree);
 
 
 /************************************************************************
@@ -200,12 +225,6 @@
 #ifdef DEBUG_XINCLUDE
     xmlGenericError(xmlGenericErrorContext, "Freeing ref\n");
 #endif
-    if (ref->doc != NULL) {
-#ifdef DEBUG_XINCLUDE
-	xmlGenericError(xmlGenericErrorContext, "Freeing doc %s\n", ref->URI);
-#endif
-	xmlFreeDoc(ref->doc);
-    }
     if (ref->URI != NULL)
 	xmlFree(ref->URI);
     if (ref->fragment != NULL)
@@ -217,6 +236,7 @@
  * xmlXIncludeNewRef:
  * @ctxt: the XInclude context
  * @URI:  the resource URI
+ * @elem:  the xi:include element
  *
  * Creates a new reference within an XInclude context
  *
@@ -224,7 +244,7 @@
  */
 static xmlXIncludeRefPtr
 xmlXIncludeNewRef(xmlXIncludeCtxtPtr ctxt, const xmlChar *URI,
-	          xmlNodePtr ref) {
+	          xmlNodePtr elem) {
     xmlXIncludeRefPtr ret;
 
 #ifdef DEBUG_XINCLUDE
@@ -232,7 +252,7 @@
 #endif
     ret = (xmlXIncludeRefPtr) xmlMalloc(sizeof(xmlXIncludeRef));
     if (ret == NULL) {
-        xmlXIncludeErrMemory(ctxt, ref, "growing XInclude context");
+        xmlXIncludeErrMemory(ctxt, elem, "growing XInclude context");
 	return(NULL);
     }
     memset(ret, 0, sizeof(xmlXIncludeRef));
@@ -241,9 +261,7 @@
     else
 	ret->URI = xmlStrdup(URI);
     ret->fragment = NULL;
-    ret->ref = ref;
-    ret->doc = NULL;
-    ret->count = 0;
+    ret->elem = elem;
     ret->xml = 0;
     ret->inc = NULL;
     if (ctxt->incMax == 0) {
@@ -251,20 +269,24 @@
         ctxt->incTab = (xmlXIncludeRefPtr *) xmlMalloc(ctxt->incMax *
 					      sizeof(ctxt->incTab[0]));
         if (ctxt->incTab == NULL) {
-	    xmlXIncludeErrMemory(ctxt, ref, "growing XInclude context");
+	    xmlXIncludeErrMemory(ctxt, elem, "growing XInclude context");
 	    xmlXIncludeFreeRef(ret);
 	    return(NULL);
 	}
     }
     if (ctxt->incNr >= ctxt->incMax) {
-	ctxt->incMax *= 2;
-        ctxt->incTab = (xmlXIncludeRefPtr *) xmlRealloc(ctxt->incTab,
-	             ctxt->incMax * sizeof(ctxt->incTab[0]));
-        if (ctxt->incTab == NULL) {
-	    xmlXIncludeErrMemory(ctxt, ref, "growing XInclude context");
+        xmlXIncludeRefPtr *tmp;
+        size_t newSize = ctxt->incMax * 2;
+
+        tmp = (xmlXIncludeRefPtr *) xmlRealloc(ctxt->incTab,
+	             newSize * sizeof(ctxt->incTab[0]));
+        if (tmp == NULL) {
+	    xmlXIncludeErrMemory(ctxt, elem, "growing XInclude context");
 	    xmlXIncludeFreeRef(ret);
 	    return(NULL);
 	}
+        ctxt->incTab = tmp;
+        ctxt->incMax *= 2;
     }
     ctxt->incTab[ctxt->incNr++] = ret;
     return(ret);
@@ -296,7 +318,6 @@
     memset(ret, 0, sizeof(xmlXIncludeCtxt));
     ret->doc = doc;
     ret->incNr = 0;
-    ret->incBase = 0;
     ret->incMax = 0;
     ret->incTab = NULL;
     ret->nbErrors = 0;
@@ -304,73 +325,6 @@
 }
 
 /**
- * xmlXIncludeURLPush:
- * @ctxt:  the parser context
- * @value:  the url
- *
- * Pushes a new url on top of the url stack
- *
- * Returns -1 in case of error, the index in the stack otherwise
- */
-static int
-xmlXIncludeURLPush(xmlXIncludeCtxtPtr ctxt,
-	           const xmlChar *value)
-{
-    if (ctxt->urlNr > XINCLUDE_MAX_DEPTH) {
-	xmlXIncludeErr(ctxt, NULL, XML_XINCLUDE_RECURSION,
-	               "detected a recursion in %s\n", value);
-	return(-1);
-    }
-    if (ctxt->urlTab == NULL) {
-	ctxt->urlMax = 4;
-	ctxt->urlNr = 0;
-	ctxt->urlTab = (xmlChar * *) xmlMalloc(
-		        ctxt->urlMax * sizeof(ctxt->urlTab[0]));
-        if (ctxt->urlTab == NULL) {
-	    xmlXIncludeErrMemory(ctxt, NULL, "adding URL");
-            return (-1);
-        }
-    }
-    if (ctxt->urlNr >= ctxt->urlMax) {
-        ctxt->urlMax *= 2;
-        ctxt->urlTab =
-            (xmlChar * *) xmlRealloc(ctxt->urlTab,
-                                      ctxt->urlMax *
-                                      sizeof(ctxt->urlTab[0]));
-        if (ctxt->urlTab == NULL) {
-	    xmlXIncludeErrMemory(ctxt, NULL, "adding URL");
-            return (-1);
-        }
-    }
-    ctxt->url = ctxt->urlTab[ctxt->urlNr] = xmlStrdup(value);
-    return (ctxt->urlNr++);
-}
-
-/**
- * xmlXIncludeURLPop:
- * @ctxt: the parser context
- *
- * Pops the top URL from the URL stack
- */
-static void
-xmlXIncludeURLPop(xmlXIncludeCtxtPtr ctxt)
-{
-    xmlChar * ret;
-
-    if (ctxt->urlNr <= 0)
-        return;
-    ctxt->urlNr--;
-    if (ctxt->urlNr > 0)
-        ctxt->url = ctxt->urlTab[ctxt->urlNr - 1];
-    else
-        ctxt->url = NULL;
-    ret = ctxt->urlTab[ctxt->urlNr];
-    ctxt->urlTab[ctxt->urlNr] = NULL;
-    if (ret != NULL)
-	xmlFree(ret);
-}
-
-/**
  * xmlXIncludeFreeContext:
  * @ctxt: the XInclude context
  *
@@ -385,10 +339,13 @@
 #endif
     if (ctxt == NULL)
 	return;
-    while (ctxt->urlNr > 0)
-	xmlXIncludeURLPop(ctxt);
-    if (ctxt->urlTab != NULL)
+    if (ctxt->urlTab != NULL) {
+	for (i = 0; i < ctxt->urlNr; i++) {
+	    xmlFreeDoc(ctxt->urlTab[i].doc);
+	    xmlFree(ctxt->urlTab[i].url);
+	}
 	xmlFree(ctxt->urlTab);
+    }
     for (i = 0;i < ctxt->incNr;i++) {
 	if (ctxt->incTab[i] != NULL)
 	    xmlXIncludeFreeRef(ctxt->incTab[i]);
@@ -397,18 +354,11 @@
 	xmlFree(ctxt->incTab);
     if (ctxt->txtTab != NULL) {
 	for (i = 0;i < ctxt->txtNr;i++) {
-	    if (ctxt->txtTab[i] != NULL)
-		xmlFree(ctxt->txtTab[i]);
+	    xmlFree(ctxt->txtTab[i].text);
+	    xmlFree(ctxt->txtTab[i].url);
 	}
 	xmlFree(ctxt->txtTab);
     }
-    if (ctxt->txturlTab != NULL) {
-	for (i = 0;i < ctxt->txtNr;i++) {
-	    if (ctxt->txturlTab[i] != NULL)
-		xmlFree(ctxt->txturlTab[i]);
-	}
-	xmlFree(ctxt->txturlTab);
-    }
     if (ctxt->base != NULL) {
         xmlFree(ctxt->base);
     }
@@ -494,7 +444,7 @@
  *
  * Add a new node to process to an XInclude context
  */
-static int
+static xmlXIncludeRefPtr
 xmlXIncludeAddNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr cur) {
     xmlXIncludeRefPtr ref;
     xmlURIPtr uri;
@@ -504,14 +454,14 @@
     xmlChar *parse;
     xmlChar *base;
     xmlChar *URI;
-    int xml = 1, i; /* default Issue 64 */
+    int xml = 1;
     int local = 0;
 
 
     if (ctxt == NULL)
-	return(-1);
+	return(NULL);
     if (cur == NULL)
-	return(-1);
+	return(NULL);
 
 #ifdef DEBUG_XINCLUDE
     xmlGenericError(xmlGenericErrorContext, "Add node\n");
@@ -523,10 +473,8 @@
     if (href == NULL) {
 	href = xmlStrdup(BAD_CAST ""); /* @@@@ href is now optional */
 	if (href == NULL)
-	    return(-1);
+	    return(NULL);
     }
-    if ((href[0] == '#') || (href[0] == 0))
-	local = 1;
     parse = xmlXIncludeGetProp(ctxt, cur, XINCLUDE_PARSE);
     if (parse != NULL) {
 	if (xmlStrEqual(parse, XINCLUDE_PARSE_XML))
@@ -540,7 +488,7 @@
 		xmlFree(href);
 	    if (parse != NULL)
 		xmlFree(parse);
-	    return(-1);
+	    return(NULL);
 	}
     }
 
@@ -576,7 +524,7 @@
     if (URI == NULL) {
 	xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_HREF_URI,
 	               "failed build URL\n", NULL);
-	return(-1);
+	return(NULL);
     }
     fragment = xmlXIncludeGetProp(ctxt, cur, XINCLUDE_PARSE_XPOINTER);
 
@@ -590,7 +538,7 @@
 	if (fragment != NULL)
 	    xmlFree(fragment);
 	xmlFree(URI);
-	return(-1);
+	return(NULL);
     }
 
     if (uri->fragment != NULL) {
@@ -608,20 +556,24 @@
 	        xmlFree(fragment);
 	    xmlFreeURI(uri);
 	    xmlFree(URI);
-	    return(-1);
+	    return(NULL);
 	}
 	uri->fragment = NULL;
     }
     URL = xmlSaveUri(uri);
     xmlFreeURI(uri);
-    xmlFree(URI);
     if (URL == NULL) {
 	xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_HREF_URI,
 	               "invalid value URI %s\n", URI);
 	if (fragment != NULL)
 	    xmlFree(fragment);
-	return(-1);
+        xmlFree(URI);
+	return(NULL);
     }
+    xmlFree(URI);
+
+    if (xmlStrEqual(URL, ctxt->doc->URL))
+	local = 1;
 
     /*
      * If local and xml then we need a fragment
@@ -633,34 +585,18 @@
 		       URL);
         xmlFree(URL);
         xmlFree(fragment);
-	return(-1);
-    }
-
-    /*
-     * Check the URL against the stack for recursions
-     */
-    if ((!local) && (xml == 1)) {
-	for (i = 0;i < ctxt->urlNr;i++) {
-	    if (xmlStrEqual(URL, ctxt->urlTab[i])) {
-		xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_RECURSION,
-		               "detected a recursion in %s\n", URL);
-                xmlFree(URL);
-                xmlFree(fragment);
-		return(-1);
-	    }
-	}
+	return(NULL);
     }
 
     ref = xmlXIncludeNewRef(ctxt, URL, cur);
     xmlFree(URL);
     if (ref == NULL) {
-	return(-1);
+        xmlFree(fragment);
+	return(NULL);
     }
     ref->fragment = fragment;
-    ref->doc = NULL;
     ref->xml = xml;
-    ref->count = 1;
-    return(0);
+    return(ref);
 }
 
 /**
@@ -674,138 +610,35 @@
 static void
 xmlXIncludeRecurseDoc(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc,
 	              const xmlURL url ATTRIBUTE_UNUSED) {
-    xmlXIncludeCtxtPtr newctxt;
+    xmlDocPtr oldDoc;
+    xmlXIncludeRefPtr *oldIncTab;
+    int oldIncMax, oldIncNr, oldIsStream;
     int i;
 
-    /*
-     * Avoid recursion in already substituted resources
-    for (i = 0;i < ctxt->urlNr;i++) {
-	if (xmlStrEqual(doc->URL, ctxt->urlTab[i]))
-	    return;
+    oldDoc = ctxt->doc;
+    oldIncMax = ctxt->incMax;
+    oldIncNr = ctxt->incNr;
+    oldIncTab = ctxt->incTab;
+    oldIsStream = ctxt->isStream;
+    ctxt->doc = doc;
+    ctxt->incMax = 0;
+    ctxt->incNr = 0;
+    ctxt->incTab = NULL;
+    ctxt->isStream = 0;
+
+    xmlXIncludeDoProcess(ctxt, xmlDocGetRootElement(doc));
+
+    if (ctxt->incTab != NULL) {
+        for (i = 0; i < ctxt->incNr; i++)
+            xmlXIncludeFreeRef(ctxt->incTab[i]);
+        xmlFree(ctxt->incTab);
     }
-     */
 
-#ifdef DEBUG_XINCLUDE
-    xmlGenericError(xmlGenericErrorContext, "Recursing in doc %s\n", doc->URL);
-#endif
-    /*
-     * Handle recursion here.
-     */
-
-    newctxt = xmlXIncludeNewContext(doc);
-    if (newctxt != NULL) {
-	/*
-	 * Copy the private user data
-	 */
-	newctxt->_private = ctxt->_private;
-	/*
-	 * Copy the existing document set
-	 */
-	newctxt->incMax = ctxt->incMax;
-	newctxt->incNr = ctxt->incNr;
-        newctxt->incTab = (xmlXIncludeRefPtr *) xmlMalloc(newctxt->incMax *
-		                          sizeof(newctxt->incTab[0]));
-        if (newctxt->incTab == NULL) {
-	    xmlXIncludeErrMemory(ctxt, (xmlNodePtr) doc, "processing doc");
-	    xmlFree(newctxt);
-	    return;
-	}
-	/*
-	 * copy the urlTab
-	 */
-	newctxt->urlMax = ctxt->urlMax;
-	newctxt->urlNr = ctxt->urlNr;
-	newctxt->urlTab = ctxt->urlTab;
-
-	/*
-	 * Inherit the existing base
-	 */
-	newctxt->base = xmlStrdup(ctxt->base);
-
-	/*
-	 * Inherit the documents already in use by other includes
-	 */
-	newctxt->incBase = ctxt->incNr;
-	for (i = 0;i < ctxt->incNr;i++) {
-	    newctxt->incTab[i] = ctxt->incTab[i];
-	    newctxt->incTab[i]->count++; /* prevent the recursion from
-					    freeing it */
-	}
-	/*
-	 * The new context should also inherit the Parse Flags
-	 * (bug 132597)
-	 */
-	newctxt->parseFlags = ctxt->parseFlags;
-        newctxt->incTotal = ctxt->incTotal;
-	xmlXIncludeDoProcess(newctxt, doc, xmlDocGetRootElement(doc), 0);
-        ctxt->incTotal = newctxt->incTotal;
-	for (i = 0;i < ctxt->incNr;i++) {
-	    newctxt->incTab[i]->count--;
-	    newctxt->incTab[i] = NULL;
-	}
-
-	/* urlTab may have been reallocated */
-	ctxt->urlTab = newctxt->urlTab;
-	ctxt->urlMax = newctxt->urlMax;
-
-	newctxt->urlMax = 0;
-	newctxt->urlNr = 0;
-	newctxt->urlTab = NULL;
-
-	xmlXIncludeFreeContext(newctxt);
-    }
-#ifdef DEBUG_XINCLUDE
-    xmlGenericError(xmlGenericErrorContext, "Done recursing in doc %s\n", url);
-#endif
-}
-
-/**
- * xmlXIncludeAddTxt:
- * @ctxt:  the XInclude context
- * @txt:  the new text node
- * @url:  the associated URL
- *
- * Add a new text node to the list
- */
-static void
-xmlXIncludeAddTxt(xmlXIncludeCtxtPtr ctxt, const xmlChar *txt,
-                  const xmlURL url) {
-#ifdef DEBUG_XINCLUDE
-    xmlGenericError(xmlGenericErrorContext, "Adding text %s\n", url);
-#endif
-    if (ctxt->txtMax == 0) {
-	ctxt->txtMax = 4;
-        ctxt->txtTab = (xmlChar **) xmlMalloc(ctxt->txtMax *
-		                          sizeof(ctxt->txtTab[0]));
-        if (ctxt->txtTab == NULL) {
-	    xmlXIncludeErrMemory(ctxt, NULL, "processing text");
-	    return;
-	}
-        ctxt->txturlTab = (xmlURL *) xmlMalloc(ctxt->txtMax *
-		                          sizeof(ctxt->txturlTab[0]));
-        if (ctxt->txturlTab == NULL) {
-	    xmlXIncludeErrMemory(ctxt, NULL, "processing text");
-	    return;
-	}
-    }
-    if (ctxt->txtNr >= ctxt->txtMax) {
-	ctxt->txtMax *= 2;
-        ctxt->txtTab = (xmlChar **) xmlRealloc(ctxt->txtTab,
-	             ctxt->txtMax * sizeof(ctxt->txtTab[0]));
-        if (ctxt->txtTab == NULL) {
-	    xmlXIncludeErrMemory(ctxt, NULL, "processing text");
-	    return;
-	}
-        ctxt->txturlTab = (xmlURL *) xmlRealloc(ctxt->txturlTab,
-	             ctxt->txtMax * sizeof(ctxt->txturlTab[0]));
-        if (ctxt->txturlTab == NULL) {
-	    xmlXIncludeErrMemory(ctxt, NULL, "processing text");
-	    return;
-	}
-    }
-    ctxt->txtTab[ctxt->txtNr] = xmlStrdup(txt);
-    ctxt->txturlTab[ctxt->txtNr] = xmlStrdup(url);
-    ctxt->txtNr++;
+    ctxt->doc = oldDoc;
+    ctxt->incMax = oldIncMax;
+    ctxt->incNr = oldIncNr;
+    ctxt->incTab = oldIncTab;
+    ctxt->isStream = oldIsStream;
 }
 
 /************************************************************************
@@ -814,72 +647,109 @@
  *									*
  ************************************************************************/
 
-static xmlNodePtr
-xmlXIncludeCopyNodeList(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
-	                xmlDocPtr source, xmlNodePtr elem);
-
 /**
  * xmlXIncludeCopyNode:
  * @ctxt:  the XInclude context
- * @target:  the document target
- * @source:  the document source
  * @elem:  the element
+ * @copyChildren:  copy children instead of node if true
  *
- * Make a copy of the node while preserving the XInclude semantic
- * of the Infoset copy
+ * Make a copy of the node while expanding nested XIncludes.
+ *
+ * Returns a node list, not a single node.
  */
 static xmlNodePtr
-xmlXIncludeCopyNode(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
-	            xmlDocPtr source, xmlNodePtr elem) {
+xmlXIncludeCopyNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr elem,
+                    int copyChildren) {
     xmlNodePtr result = NULL;
+    xmlNodePtr insertParent = NULL;
+    xmlNodePtr insertLast = NULL;
+    xmlNodePtr cur;
 
-    if ((ctxt == NULL) || (target == NULL) || (source == NULL) ||
-	(elem == NULL))
-	return(NULL);
-    if (elem->type == XML_DTD_NODE)
-	return(NULL);
-    if (elem->type == XML_DOCUMENT_NODE)
-	result = xmlXIncludeCopyNodeList(ctxt, target, source, elem->children);
-    else
-        result = xmlDocCopyNode(elem, target, 1);
-    return(result);
-}
-
-/**
- * xmlXIncludeCopyNodeList:
- * @ctxt:  the XInclude context
- * @target:  the document target
- * @source:  the document source
- * @elem:  the element list
- *
- * Make a copy of the node list while preserving the XInclude semantic
- * of the Infoset copy
- */
-static xmlNodePtr
-xmlXIncludeCopyNodeList(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
-	                xmlDocPtr source, xmlNodePtr elem) {
-    xmlNodePtr cur, res, result = NULL, last = NULL;
-
-    if ((ctxt == NULL) || (target == NULL) || (source == NULL) ||
-	(elem == NULL))
-	return(NULL);
-    cur = elem;
-    while (cur != NULL) {
-	res = xmlXIncludeCopyNode(ctxt, target, source, cur);
-	if (res != NULL) {
-	    if (result == NULL) {
-		result = last = res;
-	    } else {
-		last->next = res;
-		res->prev = last;
-		last = res;
-	    }
-	}
-	cur = cur->next;
+    if (copyChildren) {
+        cur = elem->children;
+        if (cur == NULL)
+            return(NULL);
+    } else {
+        cur = elem;
     }
-    return(result);
+
+    while (1) {
+        xmlNodePtr copy = NULL;
+        int recurse = 0;
+
+        if ((cur->type == XML_DOCUMENT_NODE) ||
+            (cur->type == XML_DTD_NODE)) {
+            ;
+        } else if ((cur->type == XML_ELEMENT_NODE) &&
+                   (cur->ns != NULL) &&
+                   (xmlStrEqual(cur->name, XINCLUDE_NODE)) &&
+                   ((xmlStrEqual(cur->ns->href, XINCLUDE_NS)) ||
+                    (xmlStrEqual(cur->ns->href, XINCLUDE_OLD_NS)))) {
+            xmlXIncludeRefPtr ref = xmlXIncludeExpandNode(ctxt, cur);
+
+            if (ref == NULL)
+                goto error;
+            /*
+             * TODO: Insert XML_XINCLUDE_START and XML_XINCLUDE_END nodes
+             */
+            if (ref->inc != NULL) {
+                copy = xmlStaticCopyNodeList(ref->inc, ctxt->doc,
+                                             insertParent);
+                if (copy == NULL)
+                    goto error;
+            }
+        } else {
+            copy = xmlStaticCopyNode(cur, ctxt->doc, insertParent, 2);
+            if (copy == NULL)
+                goto error;
+
+            recurse = (cur->type != XML_ENTITY_REF_NODE) &&
+                      (cur->children != NULL);
+        }
+
+        if (copy != NULL) {
+            if (result == NULL)
+                result = copy;
+            if (insertLast != NULL) {
+                insertLast->next = copy;
+                copy->prev = insertLast;
+            } else if (insertParent != NULL) {
+                insertParent->children = copy;
+            }
+            insertLast = copy;
+            while (insertLast->next != NULL) {
+                insertLast = insertLast->next;
+            }
+        }
+
+        if (recurse) {
+            cur = cur->children;
+            insertParent = insertLast;
+            insertLast = NULL;
+            continue;
+        }
+
+        if (cur == elem)
+            return(result);
+
+        while (cur->next == NULL) {
+            cur = cur->parent;
+            if (cur == elem)
+                return(result);
+            insertParent->last = insertLast;
+            insertLast = insertParent;
+            insertParent = insertParent->parent;
+        }
+
+        cur = cur->next;
+    }
+
+error:
+    xmlFreeNodeList(result);
+    return(NULL);
 }
 
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 /**
  * xmlXIncludeGetNthChild:
  * @cur:  the node
@@ -911,8 +781,6 @@
 /**
  * xmlXIncludeCopyRange:
  * @ctxt:  the XInclude context
- * @target:  the document target
- * @source:  the document source
  * @obj:  the XPointer result from the evaluation.
  *
  * Build a node list tree copy of the XPointer result.
@@ -921,8 +789,7 @@
  *         The caller has to free the node tree.
  */
 static xmlNodePtr
-xmlXIncludeCopyRange(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
-	                xmlDocPtr source, xmlXPathObjectPtr range) {
+xmlXIncludeCopyRange(xmlXIncludeCtxtPtr ctxt, xmlXPathObjectPtr range) {
     /* pointers to generated nodes */
     xmlNodePtr list = NULL, last = NULL, listParent = NULL;
     xmlNodePtr tmp, tmp2;
@@ -931,8 +798,7 @@
     int index1, index2;
     int level = 0, lastLevel = 0, endLevel = 0, endFlag = 0;
 
-    if ((ctxt == NULL) || (target == NULL) || (source == NULL) ||
-	(range == NULL))
+    if ((ctxt == NULL) || (range == NULL))
 	return(NULL);
     if (range->type != XPATH_RANGE)
 	return(NULL);
@@ -942,7 +808,7 @@
 	return(NULL);
     end = range->user2;
     if (end == NULL)
-	return(xmlDocCopyNode(start, target, 1));
+	return(xmlDocCopyNode(start, ctxt->doc, 1));
     if (end->type == XML_NAMESPACE_DECL)
         return(NULL);
 
@@ -964,7 +830,7 @@
 	if (level < 0) {
 	    while (level < 0) {
 	        /* copy must include namespaces and properties */
-	        tmp2 = xmlDocCopyNode(listParent, target, 2);
+	        tmp2 = xmlDocCopyNode(listParent, ctxt->doc, 2);
 	        xmlAddChild(tmp2, list);
 	        list = tmp2;
 	        listParent = listParent->parent;
@@ -986,7 +852,7 @@
 		int len;
 
 		if (content == NULL) {
-		    tmp = xmlNewTextLen(NULL, 0);
+		    tmp = xmlNewDocTextLen(ctxt->doc, NULL, 0);
 		} else {
 		    len = index2;
 		    if ((cur == start) && (index1 > 1)) {
@@ -995,7 +861,7 @@
 		    } else {
 			len = index2;
 		    }
-		    tmp = xmlNewTextLen(content, len);
+		    tmp = xmlNewDocTextLen(ctxt->doc, content, len);
 		}
 		/* single sub text node selection */
 		if (list == NULL)
@@ -1010,7 +876,7 @@
 	        endLevel = level;	/* remember the level of the end node */
 		endFlag = 1;
 		/* last node - need to take care of properties + namespaces */
-		tmp = xmlDocCopyNode(cur, target, 2);
+		tmp = xmlDocCopyNode(cur, ctxt->doc, 2);
 		if (list == NULL) {
 		    list = tmp;
 		    listParent = cur->parent;
@@ -1046,13 +912,13 @@
 		const xmlChar *content = cur->content;
 
 		if (content == NULL) {
-		    tmp = xmlNewTextLen(NULL, 0);
+		    tmp = xmlNewDocTextLen(ctxt->doc, NULL, 0);
 		} else {
 		    if (index1 > 1) {
 			content += (index1 - 1);
 			index1 = 0;
 		    }
-		    tmp = xmlNewText(content);
+		    tmp = xmlNewDocText(ctxt->doc, content);
 		}
 		last = list = tmp;
 		listParent = cur->parent;
@@ -1061,7 +927,7 @@
 		 * start of the range - need to take care of
 		 * properties and namespaces
 		 */
-		tmp = xmlDocCopyNode(cur, target, 2);
+		tmp = xmlDocCopyNode(cur, ctxt->doc, 2);
 		list = last = tmp;
 		listParent = cur->parent;
 		if (index1 > 1) {	/* Do we need to position? */
@@ -1098,7 +964,7 @@
 		     * Middle of the range - need to take care of
 		     * properties and namespaces
 		     */
-		    tmp = xmlDocCopyNode(cur, target, 2);
+		    tmp = xmlDocCopyNode(cur, ctxt->doc, 2);
 		    break;
 	    }
 	    if (tmp != NULL) {
@@ -1119,12 +985,11 @@
     }
     return(list);
 }
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 
 /**
- * xmlXIncludeBuildNodeList:
+ * xmlXIncludeCopyXPointer:
  * @ctxt:  the XInclude context
- * @target:  the document target
- * @source:  the document source
  * @obj:  the XPointer result from the evaluation.
  *
  * Build a node list tree copy of the XPointer result.
@@ -1134,15 +999,11 @@
  *         the caller has to free the node tree.
  */
 static xmlNodePtr
-xmlXIncludeCopyXPointer(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
-	                xmlDocPtr source, xmlXPathObjectPtr obj) {
-    xmlNodePtr list = NULL, last = NULL;
+xmlXIncludeCopyXPointer(xmlXIncludeCtxtPtr ctxt, xmlXPathObjectPtr obj) {
+    xmlNodePtr list = NULL, last = NULL, copy;
     int i;
 
-    if (source == NULL)
-	source = ctxt->doc;
-    if ((ctxt == NULL) || (target == NULL) || (source == NULL) ||
-	(obj == NULL))
+    if ((ctxt == NULL) || (obj == NULL))
 	return(NULL);
     switch (obj->type) {
         case XPATH_NODESET: {
@@ -1150,89 +1011,71 @@
 	    if (set == NULL)
 		return(NULL);
 	    for (i = 0;i < set->nodeNr;i++) {
+                xmlNodePtr node;
+
 		if (set->nodeTab[i] == NULL)
 		    continue;
 		switch (set->nodeTab[i]->type) {
+		    case XML_DOCUMENT_NODE:
+		    case XML_HTML_DOCUMENT_NODE:
+                        node = xmlDocGetRootElement(
+                                (xmlDocPtr) set->nodeTab[i]);
+                        if (node == NULL) {
+                            xmlXIncludeErr(ctxt, set->nodeTab[i],
+                                           XML_ERR_INTERNAL_ERROR,
+                                           "document without root\n", NULL);
+                            continue;
+                        }
+                        break;
 		    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:
 		    case XML_COMMENT_NODE:
-		    case XML_DOCUMENT_NODE:
-		    case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-		    case XML_DOCB_DOCUMENT_NODE:
-#endif
-		    case XML_XINCLUDE_END:
+                        node = set->nodeTab[i];
 			break;
-		    case XML_XINCLUDE_START: {
-	                xmlNodePtr tmp, cur = set->nodeTab[i];
-
-			cur = cur->next;
-			while (cur != NULL) {
-			    switch(cur->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:
-				case XML_COMMENT_NODE:
-				    tmp = xmlXIncludeCopyNode(ctxt, target,
-							      source, cur);
-				    if (last == NULL) {
-					list = last = tmp;
-				    } else {
-					last = xmlAddNextSibling(last, tmp);
-				    }
-				    cur = cur->next;
-				    continue;
-				default:
-				    break;
-			    }
-			    break;
-			}
-			continue;
-		    }
-		    case XML_ATTRIBUTE_NODE:
-		    case XML_NAMESPACE_DECL:
-		    case XML_DOCUMENT_TYPE_NODE:
-		    case XML_DOCUMENT_FRAG_NODE:
-		    case XML_NOTATION_NODE:
-		    case XML_DTD_NODE:
-		    case XML_ELEMENT_DECL:
-		    case XML_ATTRIBUTE_DECL:
-		    case XML_ENTITY_DECL:
+                    default:
+                        xmlXIncludeErr(ctxt, set->nodeTab[i],
+                                       XML_XINCLUDE_XPTR_RESULT,
+                                       "invalid node type in XPtr result\n",
+                                       NULL);
 			continue; /* for */
 		}
-		if (last == NULL)
-		    list = last = xmlXIncludeCopyNode(ctxt, target, source,
-			                              set->nodeTab[i]);
-		else {
-		    xmlAddNextSibling(last,
-			    xmlXIncludeCopyNode(ctxt, target, source,
-				                set->nodeTab[i]));
-		    if (last->next != NULL)
-			last = last->next;
+                /*
+                 * OPTIMIZE TODO: External documents should already be
+                 * expanded, so xmlDocCopyNode should work as well.
+                 * xmlXIncludeCopyNode is only required for the initial
+                 * document.
+                 */
+		copy = xmlXIncludeCopyNode(ctxt, node, 0);
+                if (copy == NULL) {
+                    xmlFreeNodeList(list);
+                    return(NULL);
+                }
+		if (last == NULL) {
+                    list = copy;
+                } else {
+                    while (last->next != NULL)
+                        last = last->next;
+                    copy->prev = last;
+                    last->next = copy;
 		}
+                last = copy;
 	    }
 	    break;
 	}
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	case XPATH_LOCATIONSET: {
 	    xmlLocationSetPtr set = (xmlLocationSetPtr) obj->user;
 	    if (set == NULL)
 		return(NULL);
 	    for (i = 0;i < set->locNr;i++) {
 		if (last == NULL)
-		    list = last = xmlXIncludeCopyXPointer(ctxt, target, source,
+		    list = last = xmlXIncludeCopyXPointer(ctxt,
 			                                  set->locTab[i]);
 		else
 		    xmlAddNextSibling(last,
-			    xmlXIncludeCopyXPointer(ctxt, target, source,
-				                    set->locTab[i]));
+			    xmlXIncludeCopyXPointer(ctxt, set->locTab[i]));
 		if (last != NULL) {
 		    while (last->next != NULL)
 			last = last->next;
@@ -1241,11 +1084,11 @@
 	    break;
 	}
 	case XPATH_RANGE:
-	    return(xmlXIncludeCopyRange(ctxt, target, source, obj));
-#endif
+	    return(xmlXIncludeCopyRange(ctxt, obj));
 	case XPATH_POINT:
 	    /* points are ignored in XInclude */
 	    break;
+#endif
 	default:
 	    break;
     }
@@ -1268,7 +1111,7 @@
  * xmlXIncludeMergeOneEntity:
  * @ent: the entity
  * @doc:  the including doc
- * @nr: the entity name
+ * @name: the entity name
  *
  * Implements the merge of one entity
  */
@@ -1406,59 +1249,52 @@
  * xmlXIncludeLoadDoc:
  * @ctxt:  the XInclude context
  * @url:  the associated URL
- * @nr:  the xinclude node number
+ * @ref:  an XMLXincludeRefPtr
  *
  * Load the document, and store the result in the XInclude context
  *
  * Returns 0 in case of success, -1 in case of failure
  */
 static int
-xmlXIncludeLoadDoc(xmlXIncludeCtxtPtr ctxt, const xmlChar *url, int nr) {
+xmlXIncludeLoadDoc(xmlXIncludeCtxtPtr ctxt, const xmlChar *url,
+                   xmlXIncludeRefPtr ref) {
+    xmlXIncludeDocPtr cache;
     xmlDocPtr doc;
     xmlURIPtr uri;
-    xmlChar *URL;
+    xmlChar *URL = NULL;
     xmlChar *fragment = NULL;
     int i = 0;
+    int ret = -1;
 #ifdef LIBXML_XPTR_ENABLED
     int saveFlags;
 #endif
 
 #ifdef DEBUG_XINCLUDE
-    xmlGenericError(xmlGenericErrorContext, "Loading doc %s:%d\n", url, nr);
+    xmlGenericError(xmlGenericErrorContext, "Loading doc %s\n", url);
 #endif
     /*
      * Check the URL and remove any fragment identifier
      */
     uri = xmlParseURI((const char *)url);
     if (uri == NULL) {
-	xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-	               XML_XINCLUDE_HREF_URI,
+	xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_HREF_URI,
 		       "invalid value URI %s\n", url);
-	return(-1);
+        goto error;
     }
     if (uri->fragment != NULL) {
 	fragment = (xmlChar *) uri->fragment;
 	uri->fragment = NULL;
     }
-    if ((ctxt->incTab != NULL) && (ctxt->incTab[nr] != NULL) &&
-        (ctxt->incTab[nr]->fragment != NULL)) {
+    if (ref->fragment != NULL) {
 	if (fragment != NULL) xmlFree(fragment);
-	fragment = xmlStrdup(ctxt->incTab[nr]->fragment);
+	fragment = xmlStrdup(ref->fragment);
     }
     URL = xmlSaveUri(uri);
     xmlFreeURI(uri);
     if (URL == NULL) {
-        if (ctxt->incTab != NULL)
-	    xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-			   XML_XINCLUDE_HREF_URI,
-			   "invalid value URI %s\n", url);
-	else
-	    xmlXIncludeErr(ctxt, NULL,
-			   XML_XINCLUDE_HREF_URI,
-			   "invalid value URI %s\n", url);
-	if (fragment != NULL)
-	    xmlFree(fragment);
-	return(-1);
+        xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_HREF_URI,
+                       "invalid value URI %s\n", url);
+        goto error;
     }
 
     /*
@@ -1472,15 +1308,21 @@
     }
 
     /*
-     * Prevent reloading twice the document.
+     * Prevent reloading the document twice.
      */
-    for (i = 0; i < ctxt->incNr; i++) {
-	if ((xmlStrEqual(URL, ctxt->incTab[i]->URI)) &&
-	    (ctxt->incTab[i]->doc != NULL)) {
-	    doc = ctxt->incTab[i]->doc;
+    for (i = 0; i < ctxt->urlNr; i++) {
+	if (xmlStrEqual(URL, ctxt->urlTab[i].url)) {
 #ifdef DEBUG_XINCLUDE
 	    printf("Already loaded %s\n", URL);
 #endif
+            if (ctxt->urlTab[i].expanding) {
+                xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_RECURSION,
+                               "inclusion loop detected\n", NULL);
+                goto error;
+            }
+	    doc = ctxt->urlTab[i].doc;
+            if (doc == NULL)
+                goto error;
 	    goto loaded;
 	}
     }
@@ -1507,13 +1349,29 @@
 #ifdef LIBXML_XPTR_ENABLED
     ctxt->parseFlags = saveFlags;
 #endif
-    if (doc == NULL) {
-	xmlFree(URL);
-	if (fragment != NULL)
-	    xmlFree(fragment);
-	return(-1);
+
+    /* Also cache NULL docs */
+    if (ctxt->urlNr >= ctxt->urlMax) {
+        xmlXIncludeDoc *tmp;
+        size_t newSize = ctxt->urlMax ? ctxt->urlMax * 2 : 8;
+
+        tmp = xmlRealloc(ctxt->urlTab, sizeof(xmlXIncludeDoc) * newSize);
+        if (tmp == NULL) {
+            xmlXIncludeErrMemory(ctxt, ref->elem,
+                                 "growing XInclude URL table");
+            xmlFreeDoc(doc);
+            goto error;
+        }
+        ctxt->urlMax = newSize;
+        ctxt->urlTab = tmp;
     }
-    ctxt->incTab[nr]->doc = doc;
+    cache = &ctxt->urlTab[ctxt->urlNr++];
+    cache->doc = doc;
+    cache->url = xmlStrdup(URL);
+    cache->expanding = 0;
+
+    if (doc == NULL)
+        goto error;
     /*
      * It's possible that the requested URL has been mapped to a
      * completely different location (e.g. through a catalog entry).
@@ -1524,15 +1382,6 @@
        xmlFree(URL);
        URL = xmlStrdup(doc->URL);
    }
-    for (i = nr + 1; i < ctxt->incNr; i++) {
-	if (xmlStrEqual(URL, ctxt->incTab[i]->URI)) {
-	    ctxt->incTab[nr]->count++;
-#ifdef DEBUG_XINCLUDE
-	    printf("Increasing %s count since reused\n", URL);
-#endif
-            break;
-	}
-    }
 
     /*
      * Make sure we have all entities fixed up
@@ -1552,15 +1401,16 @@
 	doc->extSubset = NULL;
     }
      */
+    cache->expanding = 1;
     xmlXIncludeRecurseDoc(ctxt, doc, URL);
+    cache->expanding = 0;
 
 loaded:
     if (fragment == NULL) {
 	/*
 	 * Add the top children list as the replacement copy.
 	 */
-	ctxt->incTab[nr]->inc = xmlXIncludeCopyNodeList(ctxt, ctxt->doc,
-		                                        doc, doc->children);
+        ref->inc = xmlDocCopyNode(xmlDocGetRootElement(doc), ctxt->doc, 1);
     }
 #ifdef LIBXML_XPTR_ENABLED
     else {
@@ -1572,56 +1422,56 @@
 	xmlXPathContextPtr xptrctxt;
 	xmlNodeSetPtr set;
 
+        if (ctxt->isStream && doc == ctxt->doc) {
+	    xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_XPTR_FAILED,
+			   "XPointer expressions not allowed in streaming"
+                           " mode\n", NULL);
+            goto error;
+        }
+
 	xptrctxt = xmlXPtrNewContext(doc, NULL, NULL);
 	if (xptrctxt == NULL) {
-	    xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-	                   XML_XINCLUDE_XPTR_FAILED,
+	    xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_XPTR_FAILED,
 			   "could not create XPointer context\n", NULL);
-	    xmlFree(URL);
-	    xmlFree(fragment);
-	    return(-1);
+            goto error;
 	}
 	xptr = xmlXPtrEval(fragment, xptrctxt);
 	if (xptr == NULL) {
-	    xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-	                   XML_XINCLUDE_XPTR_FAILED,
+	    xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_XPTR_FAILED,
 			   "XPointer evaluation failed: #%s\n",
 			   fragment);
 	    xmlXPathFreeContext(xptrctxt);
-	    xmlFree(URL);
-	    xmlFree(fragment);
-	    return(-1);
+            goto error;
 	}
 	switch (xptr->type) {
 	    case XPATH_UNDEFINED:
 	    case XPATH_BOOLEAN:
 	    case XPATH_NUMBER:
 	    case XPATH_STRING:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	    case XPATH_POINT:
+#endif
 	    case XPATH_USERS:
 	    case XPATH_XSLT_TREE:
-		xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-		               XML_XINCLUDE_XPTR_RESULT,
+		xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_XPTR_RESULT,
 			       "XPointer is not a range: #%s\n",
 			       fragment);
                 xmlXPathFreeObject(xptr);
 		xmlXPathFreeContext(xptrctxt);
-		xmlFree(URL);
-		xmlFree(fragment);
-		return(-1);
+                goto error;
 	    case XPATH_NODESET:
 	        if ((xptr->nodesetval == NULL) ||
 		    (xptr->nodesetval->nodeNr <= 0)) {
                     xmlXPathFreeObject(xptr);
 		    xmlXPathFreeContext(xptrctxt);
-		    xmlFree(URL);
-		    xmlFree(fragment);
-		    return(-1);
+                    goto error;
 		}
 
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	    case XPATH_RANGE:
 	    case XPATH_LOCATIONSET:
 		break;
+#endif
 	}
 	set = xptr->nodesetval;
 	if (set != NULL) {
@@ -1638,20 +1488,17 @@
 		    case XML_COMMENT_NODE:
 		    case XML_DOCUMENT_NODE:
 		    case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-		    case XML_DOCB_DOCUMENT_NODE:
-#endif
 			continue;
 
 		    case XML_ATTRIBUTE_NODE:
-			xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+			xmlXIncludeErr(ctxt, ref->elem,
 			               XML_XINCLUDE_XPTR_RESULT,
 				       "XPointer selects an attribute: #%s\n",
 				       fragment);
 			set->nodeTab[i] = NULL;
 			continue;
 		    case XML_NAMESPACE_DECL:
-			xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+			xmlXIncludeErr(ctxt, ref->elem,
 			               XML_XINCLUDE_XPTR_RESULT,
 				       "XPointer selects a namespace: #%s\n",
 				       fragment);
@@ -1666,7 +1513,7 @@
 		    case XML_ENTITY_DECL:
 		    case XML_XINCLUDE_START:
 		    case XML_XINCLUDE_END:
-			xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+			xmlXIncludeErr(ctxt, ref->elem,
 			               XML_XINCLUDE_XPTR_RESULT,
 				   "XPointer selects unexpected nodes: #%s\n",
 				       fragment);
@@ -1676,11 +1523,9 @@
 		}
 	    }
 	}
-        ctxt->incTab[nr]->inc =
-            xmlXIncludeCopyXPointer(ctxt, ctxt->doc, doc, xptr);
+        ref->inc = xmlXIncludeCopyXPointer(ctxt, xptr);
         xmlXPathFreeObject(xptr);
 	xmlXPathFreeContext(xptrctxt);
-	xmlFree(fragment);
     }
 #endif
 
@@ -1698,8 +1543,7 @@
 	 * The base is only adjusted if "necessary", i.e. if the xinclude node
 	 * has a base specified, or the URL is relative
 	 */
-	base = xmlGetNsProp(ctxt->incTab[nr]->ref, BAD_CAST "base",
-			XML_XML_NAMESPACE);
+	base = xmlGetNsProp(ref->elem, BAD_CAST "base", XML_XML_NAMESPACE);
 	if (base == NULL) {
 	    /*
 	     * No xml:base on the xinclude node, so we check whether the
@@ -1707,19 +1551,18 @@
 	     */
 	    curBase = xmlBuildRelativeURI(URL, ctxt->base);
 	    if (curBase == NULL) {	/* Error return */
-	        xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-	               XML_XINCLUDE_HREF_URI,
+	        xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_HREF_URI,
 		       "trying to build relative URI from %s\n", URL);
 	    } else {
 		/* If the URI doesn't contain a slash, it's not relative */
-	        if (!xmlStrchr(curBase, (xmlChar) '/'))
+	        if (!xmlStrchr(curBase, '/'))
 		    xmlFree(curBase);
 		else
 		    base = curBase;
 	    }
 	}
 	if (base != NULL) {	/* Adjustment may be needed */
-	    node = ctxt->incTab[nr]->inc;
+	    node = ref->inc;
 	    while (node != NULL) {
 		/* Only work on element nodes */
 		if (node->type == XML_ELEMENT_NODE) {
@@ -1749,7 +1592,7 @@
 				relBase = xmlBuildURI(xmlBase, base);
 				if (relBase == NULL) { /* error */
 				    xmlXIncludeErr(ctxt,
-						ctxt->incTab[nr]->ref,
+						ref->elem,
 						XML_XINCLUDE_HREF_URI,
 					"trying to rebuild base from %s\n",
 						xmlBase);
@@ -1768,40 +1611,40 @@
 	    xmlFree(base);
 	}
     }
-    if ((nr < ctxt->incNr) && (ctxt->incTab[nr]->doc != NULL) &&
-	(ctxt->incTab[nr]->count <= 1)) {
-#ifdef DEBUG_XINCLUDE
-        printf("freeing %s\n", ctxt->incTab[nr]->doc->URL);
-#endif
-	xmlFreeDoc(ctxt->incTab[nr]->doc);
-	ctxt->incTab[nr]->doc = NULL;
-    }
+    ret = 0;
+
+error:
     xmlFree(URL);
-    return(0);
+    xmlFree(fragment);
+    return(ret);
 }
 
 /**
  * xmlXIncludeLoadTxt:
  * @ctxt:  the XInclude context
  * @url:  the associated URL
- * @nr:  the xinclude node number
+ * @ref:  an XMLXincludeRefPtr
  *
  * Load the content, and store the result in the XInclude context
  *
  * Returns 0 in case of success, -1 in case of failure
  */
 static int
-xmlXIncludeLoadTxt(xmlXIncludeCtxtPtr ctxt, const xmlChar *url, int nr) {
+xmlXIncludeLoadTxt(xmlXIncludeCtxtPtr ctxt, const xmlChar *url,
+                   xmlXIncludeRefPtr ref) {
     xmlParserInputBufferPtr buf;
-    xmlNodePtr node;
-    xmlURIPtr uri;
-    xmlChar *URL;
+    xmlNodePtr node = NULL;
+    xmlURIPtr uri = NULL;
+    xmlChar *URL = NULL;
     int i;
+    int ret = -1;
     xmlChar *encoding = NULL;
     xmlCharEncoding enc = (xmlCharEncoding) 0;
-    xmlParserCtxtPtr pctxt;
-    xmlParserInputPtr inputStream;
-    int xinclude_multibyte_fallback_used = 0;
+    xmlParserCtxtPtr pctxt = NULL;
+    xmlParserInputPtr inputStream = NULL;
+    int len;
+    const xmlChar *content;
+
 
     /* Don't read from stdin. */
     if (xmlStrcmp(url, BAD_CAST "-") == 0)
@@ -1812,23 +1655,21 @@
      */
     uri = xmlParseURI((const char *)url);
     if (uri == NULL) {
-	xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref, XML_XINCLUDE_HREF_URI,
+	xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_HREF_URI,
 	               "invalid value URI %s\n", url);
-	return(-1);
+	goto error;
     }
     if (uri->fragment != NULL) {
-	xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref, XML_XINCLUDE_TEXT_FRAGMENT,
+	xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_TEXT_FRAGMENT,
 	               "fragment identifier forbidden for text: %s\n",
 		       (const xmlChar *) uri->fragment);
-	xmlFreeURI(uri);
-	return(-1);
+	goto error;
     }
     URL = xmlSaveUri(uri);
-    xmlFreeURI(uri);
     if (URL == NULL) {
-	xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref, XML_XINCLUDE_HREF_URI,
+	xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_HREF_URI,
 	               "invalid value URI %s\n", url);
-	return(-1);
+	goto error;
     }
 
     /*
@@ -1836,27 +1677,26 @@
      * directly through ctxt->doc.
      */
     if (URL[0] == 0) {
-	xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-	               XML_XINCLUDE_TEXT_DOCUMENT,
+	xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_TEXT_DOCUMENT,
 		       "text serialization of document not available\n", NULL);
-	xmlFree(URL);
-	return(-1);
+	goto error;
     }
 
     /*
-     * Prevent reloading twice the document.
+     * Prevent reloading the document twice.
      */
     for (i = 0; i < ctxt->txtNr; i++) {
-	if (xmlStrEqual(URL, ctxt->txturlTab[i])) {
-            node = xmlNewText(ctxt->txtTab[i]);
+	if (xmlStrEqual(URL, ctxt->txtTab[i].url)) {
+            node = xmlNewDocText(ctxt->doc, ctxt->txtTab[i].text);
 	    goto loaded;
 	}
     }
+
     /*
      * Try to get the encoding if available
      */
-    if ((ctxt->incTab[nr] != NULL) && (ctxt->incTab[nr]->ref != NULL)) {
-	encoding = xmlGetProp(ctxt->incTab[nr]->ref, XINCLUDE_PARSE_ENCODING);
+    if (ref->elem != NULL) {
+	encoding = xmlGetProp(ref->elem, XINCLUDE_PARSE_ENCODING);
     }
     if (encoding != NULL) {
 	/*
@@ -1867,14 +1707,10 @@
 	 */
         enc = xmlParseCharEncoding((const char *) encoding);
 	if (enc == XML_CHAR_ENCODING_ERROR) {
-	    xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-	                   XML_XINCLUDE_UNKNOWN_ENCODING,
+	    xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_UNKNOWN_ENCODING,
 			   "encoding %s not supported\n", encoding);
-	    xmlFree(encoding);
-	    xmlFree(URL);
-	    return(-1);
+	    goto error;
 	}
-	xmlFree(encoding);
     }
 
     /*
@@ -1882,79 +1718,84 @@
      */
     pctxt = xmlNewParserCtxt();
     inputStream = xmlLoadExternalEntity((const char*)URL, NULL, pctxt);
-    if(inputStream == NULL) {
-	xmlFreeParserCtxt(pctxt);
-	xmlFree(URL);
-	return(-1);
-    }
+    if(inputStream == NULL)
+	goto error;
     buf = inputStream->buf;
-    if (buf == NULL) {
-	xmlFreeInputStream (inputStream);
-	xmlFreeParserCtxt(pctxt);
-	xmlFree(URL);
-	return(-1);
-    }
+    if (buf == NULL)
+	goto error;
     if (buf->encoder)
 	xmlCharEncCloseFunc(buf->encoder);
     buf->encoder = xmlGetCharEncodingHandler(enc);
-    node = xmlNewText(NULL);
+    node = xmlNewDocText(ctxt->doc, NULL);
+    if (node == NULL) {
+        xmlXIncludeErrMemory(ctxt, ref->elem, NULL);
+	goto error;
+    }
 
     /*
      * Scan all chars from the resource and add the to the node
      */
-xinclude_multibyte_fallback:
-    while (xmlParserInputBufferRead(buf, 128) > 0) {
-	int len;
-	const xmlChar *content;
+    while (xmlParserInputBufferRead(buf, 4096) > 0)
+        ;
 
-	content = xmlBufContent(buf->buffer);
-	len = xmlBufLength(buf->buffer);
-	for (i = 0;i < len;) {
-	    int cur;
-	    int l;
+    content = xmlBufContent(buf->buffer);
+    len = xmlBufLength(buf->buffer);
+    for (i = 0; i < len;) {
+        int cur;
+        int l;
 
-	    cur = xmlStringCurrentChar(NULL, &content[i], &l);
-	    if (!IS_CHAR(cur)) {
-		/* Handle split multibyte char at buffer boundary */
-		if (((len - i) < 4) && (!xinclude_multibyte_fallback_used)) {
-		    xinclude_multibyte_fallback_used = 1;
-		    xmlBufShrink(buf->buffer, i);
-		    goto xinclude_multibyte_fallback;
-		} else {
-		    xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-				   XML_XINCLUDE_INVALID_CHAR,
-				   "%s contains invalid char\n", URL);
-		    xmlFreeParserCtxt(pctxt);
-		    xmlFreeParserInputBuffer(buf);
-		    xmlFree(URL);
-		    return(-1);
-		}
-	    } else {
-		xinclude_multibyte_fallback_used = 0;
-		xmlNodeAddContentLen(node, &content[i], l);
-	    }
-	    i += l;
-	}
-	xmlBufShrink(buf->buffer, len);
+        cur = xmlStringCurrentChar(NULL, &content[i], &l);
+        if (!IS_CHAR(cur)) {
+            xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_INVALID_CHAR,
+                           "%s contains invalid char\n", URL);
+            goto error;
+        }
+
+        i += l;
     }
-    xmlFreeParserCtxt(pctxt);
-    xmlXIncludeAddTxt(ctxt, node->content, URL);
-    xmlFreeInputStream(inputStream);
+
+    xmlNodeAddContentLen(node, content, len);
+
+    if (ctxt->txtNr >= ctxt->txtMax) {
+        xmlXIncludeTxt *tmp;
+        size_t newSize = ctxt->txtMax ? ctxt->txtMax * 2 : 8;
+
+        tmp = xmlRealloc(ctxt->txtTab, sizeof(xmlXIncludeTxt) * newSize);
+        if (tmp == NULL) {
+            xmlXIncludeErrMemory(ctxt, ref->elem,
+                                 "growing XInclude text table");
+	    goto error;
+        }
+        ctxt->txtMax = newSize;
+        ctxt->txtTab = tmp;
+    }
+    ctxt->txtTab[ctxt->txtNr].text = xmlStrdup(node->content);
+    ctxt->txtTab[ctxt->txtNr].url = xmlStrdup(URL);
+    ctxt->txtNr++;
 
 loaded:
     /*
      * Add the element as the replacement copy.
      */
-    ctxt->incTab[nr]->inc = node;
+    ref->inc = node;
+    node = NULL;
+    ret = 0;
+
+error:
+    xmlFreeNode(node);
+    xmlFreeInputStream(inputStream);
+    xmlFreeParserCtxt(pctxt);
+    xmlFree(encoding);
+    xmlFreeURI(uri);
     xmlFree(URL);
-    return(0);
+    return(ret);
 }
 
 /**
  * xmlXIncludeLoadFallback:
  * @ctxt:  the XInclude context
  * @fallback:  the fallback node
- * @nr:  the xinclude node number
+ * @ref:  an XMLXincludeRefPtr
  *
  * Load the content of the fallback node, and store the result
  * in the XInclude context
@@ -1962,10 +1803,10 @@
  * Returns 0 in case of success, -1 in case of failure
  */
 static int
-xmlXIncludeLoadFallback(xmlXIncludeCtxtPtr ctxt, xmlNodePtr fallback, int nr) {
-    xmlXIncludeCtxtPtr newctxt;
+xmlXIncludeLoadFallback(xmlXIncludeCtxtPtr ctxt, xmlNodePtr fallback,
+                        xmlXIncludeRefPtr ref) {
     int ret = 0;
-    int oldNbErrors = ctxt->nbErrors;
+    int oldNbErrors;
 
     if ((fallback == NULL) || (fallback->type == XML_NAMESPACE_DECL) ||
         (ctxt == NULL))
@@ -1975,29 +1816,17 @@
 	 * It's possible that the fallback also has 'includes'
 	 * (Bug 129969), so we re-process the fallback just in case
 	 */
-	newctxt = xmlXIncludeNewContext(ctxt->doc);
-	if (newctxt == NULL)
-	    return (-1);
-	newctxt->_private = ctxt->_private;
-	newctxt->base = xmlStrdup(ctxt->base);	/* Inherit the base from the existing context */
-	xmlXIncludeSetFlags(newctxt, ctxt->parseFlags);
-        newctxt->incTotal = ctxt->incTotal;
-        if (xmlXIncludeDoProcess(newctxt, ctxt->doc, fallback, 1) < 0)
-            ret = -1;
-        ctxt->incTotal = newctxt->incTotal;
+        oldNbErrors = ctxt->nbErrors;
+	ref->inc = xmlXIncludeCopyNode(ctxt, fallback, 1);
 	if (ctxt->nbErrors > oldNbErrors)
 	    ret = -1;
-	xmlXIncludeFreeContext(newctxt);
-
-	ctxt->incTab[nr]->inc = xmlDocCopyNodeList(ctxt->doc,
-	                                           fallback->children);
-        if (ctxt->incTab[nr]->inc == NULL)
-            ctxt->incTab[nr]->emptyFb = 1;
+        else if (ref->inc == NULL)
+            ref->emptyFb = 1;
     } else {
-        ctxt->incTab[nr]->inc = NULL;
-	ctxt->incTab[nr]->emptyFb = 1;	/* flag empty callback */
+        ref->inc = NULL;
+	ref->emptyFb = 1;	/* flag empty callback */
     }
-    ctxt->incTab[nr]->fallback = 1;
+    ref->fallback = 1;
     return(ret);
 }
 
@@ -2008,32 +1837,74 @@
  ************************************************************************/
 
 /**
- * xmlXIncludePreProcessNode:
+ * xmlXIncludeExpandNode:
  * @ctxt: an XInclude context
  * @node: an XInclude node
  *
- * Implement the XInclude preprocessing, currently just adding the element
- * for further processing.
+ * If the XInclude node wasn't processed yet, create a new RefPtr,
+ * add it to ctxt->incTab and load the included items.
  *
- * Returns the result list or NULL in case of error
+ * Returns the new or existing xmlXIncludeRefPtr, or NULL in case of error.
  */
-static xmlNodePtr
-xmlXIncludePreProcessNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr node) {
-    xmlXIncludeAddNode(ctxt, node);
-    return(NULL);
+static xmlXIncludeRefPtr
+xmlXIncludeExpandNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr node) {
+    xmlXIncludeRefPtr ref;
+    int i;
+
+    if (ctxt->fatalErr)
+        return(NULL);
+    if (ctxt->depth >= XINCLUDE_MAX_DEPTH) {
+        xmlXIncludeErr(ctxt, node, XML_XINCLUDE_RECURSION,
+                       "maximum recursion depth exceeded\n", NULL);
+        ctxt->fatalErr = 1;
+        return(NULL);
+    }
+
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+    /*
+     * The XInclude engine offers no protection against exponential
+     * expansion attacks similar to "billion laughs". Avoid timeouts by
+     * limiting the total number of replacements when fuzzing.
+     */
+    if (ctxt->incTotal >= 20)
+        return(NULL);
+    ctxt->incTotal++;
+#endif
+
+    for (i = 0; i < ctxt->incNr; i++) {
+        if (ctxt->incTab[i]->elem == node) {
+            if (ctxt->incTab[i]->expanding) {
+                xmlXIncludeErr(ctxt, node, XML_XINCLUDE_RECURSION,
+                               "inclusion loop detected\n", NULL);
+                return(NULL);
+            }
+            return(ctxt->incTab[i]);
+        }
+    }
+
+    ref = xmlXIncludeAddNode(ctxt, node);
+    if (ref == NULL)
+        return(NULL);
+    ref->expanding = 1;
+    ctxt->depth++;
+    xmlXIncludeLoadNode(ctxt, ref);
+    ctxt->depth--;
+    ref->expanding = 0;
+
+    return(ref);
 }
 
 /**
  * xmlXIncludeLoadNode:
  * @ctxt: an XInclude context
- * @nr: the node number
+ * @ref: an xmlXIncludeRefPtr
  *
  * Find and load the infoset replacement for the given node.
  *
  * Returns 0 if substitution succeeded, -1 if some processing failed
  */
 static int
-xmlXIncludeLoadNode(xmlXIncludeCtxtPtr ctxt, int nr) {
+xmlXIncludeLoadNode(xmlXIncludeCtxtPtr ctxt, xmlXIncludeRefPtr ref) {
     xmlNodePtr cur;
     xmlChar *href;
     xmlChar *parse;
@@ -2043,11 +1914,9 @@
     int xml = 1; /* default Issue 64 */
     int ret;
 
-    if (ctxt == NULL)
+    if ((ctxt == NULL) || (ref == NULL))
 	return(-1);
-    if ((nr < 0) || (nr >= ctxt->incNr))
-	return(-1);
-    cur = ctxt->incTab[nr]->ref;
+    cur = ref->elem;
     if (cur == NULL)
 	return(-1);
 
@@ -2067,8 +1936,7 @@
 	else if (xmlStrEqual(parse, XINCLUDE_PARSE_TEXT))
 	    xml = 0;
 	else {
-	    xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-	                   XML_XINCLUDE_PARSE_VALUE,
+	    xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_PARSE_VALUE,
 			   "invalid value %s for 'parse'\n", parse);
 	    if (href != NULL)
 		xmlFree(href);
@@ -2102,8 +1970,8 @@
 	    xmlFree(eschref);
     }
     if (URI == NULL) {
-	xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-	               XML_XINCLUDE_HREF_URI, "failed build URL\n", NULL);
+	xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_HREF_URI,
+                       "failed build URL\n", NULL);
 	if (parse != NULL)
 	    xmlFree(parse);
 	if (href != NULL)
@@ -2125,10 +1993,10 @@
     ctxt->base = base;
 
     if (xml) {
-	ret = xmlXIncludeLoadDoc(ctxt, URI, nr);
+	ret = xmlXIncludeLoadDoc(ctxt, URI, ref);
 	/* xmlXIncludeGetFragment(ctxt, cur, URI); */
     } else {
-	ret = xmlXIncludeLoadTxt(ctxt, URI, nr);
+	ret = xmlXIncludeLoadTxt(ctxt, URI, ref);
     }
 
     /*
@@ -2152,15 +2020,14 @@
 		(xmlStrEqual(children->name, XINCLUDE_FALLBACK)) &&
 		((xmlStrEqual(children->ns->href, XINCLUDE_NS)) ||
 		 (xmlStrEqual(children->ns->href, XINCLUDE_OLD_NS)))) {
-		ret = xmlXIncludeLoadFallback(ctxt, children, nr);
+		ret = xmlXIncludeLoadFallback(ctxt, children, ref);
 		break;
 	    }
 	    children = children->next;
 	}
     }
     if (ret < 0) {
-	xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-	               XML_XINCLUDE_NO_FALLBACK,
+	xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_NO_FALLBACK,
 		       "could not load %s, and no fallback was found\n",
 		       URI);
     }
@@ -2182,27 +2049,25 @@
 /**
  * xmlXIncludeIncludeNode:
  * @ctxt: an XInclude context
- * @nr: the node number
+ * @ref: an xmlXIncludeRefPtr
  *
  * Implement the infoset replacement for the given node
  *
  * Returns 0 if substitution succeeded, -1 if some processing failed
  */
 static int
-xmlXIncludeIncludeNode(xmlXIncludeCtxtPtr ctxt, int nr) {
+xmlXIncludeIncludeNode(xmlXIncludeCtxtPtr ctxt, xmlXIncludeRefPtr ref) {
     xmlNodePtr cur, end, list, tmp;
 
-    if (ctxt == NULL)
+    if ((ctxt == NULL) || (ref == NULL))
 	return(-1);
-    if ((nr < 0) || (nr >= ctxt->incNr))
-	return(-1);
-    cur = ctxt->incTab[nr]->ref;
+    cur = ref->elem;
     if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
 	return(-1);
 
-    list = ctxt->incTab[nr]->inc;
-    ctxt->incTab[nr]->inc = NULL;
-    ctxt->incTab[nr]->emptyFb = 0;
+    list = ref->inc;
+    ref->inc = NULL;
+    ref->emptyFb = 0;
 
     /*
      * Check against the risk of generating a multi-rooted document
@@ -2218,8 +2083,7 @@
 	    tmp = tmp->next;
 	}
 	if (nb_elem > 1) {
-	    xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-	                   XML_XINCLUDE_MULTIPLE_ROOT,
+	    xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_MULTIPLE_ROOT,
 		       "XInclude error: would result in multiple root nodes\n",
 			   NULL);
             xmlFreeNodeList(list);
@@ -2237,6 +2101,9 @@
 
 	    xmlAddPrevSibling(cur, end);
 	}
+        /*
+         * FIXME: xmlUnlinkNode doesn't coalesce text nodes.
+         */
 	xmlUnlinkNode(cur);
 	xmlFreeNode(cur);
     } else {
@@ -2246,7 +2113,7 @@
 	 * Change the current node as an XInclude start one, and add an
 	 * XInclude end one
 	 */
-        if (ctxt->incTab[nr]->fallback)
+        if (ref->fallback)
             xmlUnsetProp(cur, BAD_CAST "href");
 	cur->type = XML_XINCLUDE_START;
         /* Remove fallback children */
@@ -2257,8 +2124,7 @@
         }
 	end = xmlNewDocNode(cur->doc, cur->ns, cur->name, NULL);
 	if (end == NULL) {
-	    xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
-	                   XML_XINCLUDE_BUILD_FAILED,
+	    xmlXIncludeErr(ctxt, ref->elem, XML_XINCLUDE_BUILD_FAILED,
 			   "failed to build node\n", NULL);
             xmlFreeNodeList(list);
 	    return(-1);
@@ -2360,9 +2226,7 @@
 /**
  * xmlXIncludeDoProcess:
  * @ctxt: the XInclude processing context
- * @doc: an XML document
  * @tree: the top of the tree to process
- * @skipRoot: don't process the root node of the tree
  *
  * Implement the XInclude substitution on the XML document @doc
  *
@@ -2370,63 +2234,31 @@
  *    or the number of substitutions done.
  */
 static int
-xmlXIncludeDoProcess(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr tree,
-                     int skipRoot) {
+xmlXIncludeDoProcess(xmlXIncludeCtxtPtr ctxt, xmlNodePtr tree) {
+    xmlXIncludeRefPtr ref;
     xmlNodePtr cur;
     int ret = 0;
     int i, start;
 
-    if ((doc == NULL) || (tree == NULL) || (tree->type == XML_NAMESPACE_DECL))
+    if ((tree == NULL) || (tree->type == XML_NAMESPACE_DECL))
 	return(-1);
-    if ((skipRoot) && (tree->children == NULL))
-        return(-1);
     if (ctxt == NULL)
 	return(-1);
 
-    if (doc->URL != NULL) {
-	ret = xmlXIncludeURLPush(ctxt, doc->URL);
-	if (ret < 0)
-	    return(-1);
-    }
-    start = ctxt->incNr;
-
-    /*
-     * TODO: The phases must run separately for recursive inclusions.
-     *
-     * - Phase 1 should start with top-level XInclude nodes, load documents,
-     *   execute XPointer expressions, then process only the result nodes
-     *   (not whole document, see bug #324081) and only for phase 1
-     *   recursively. We will need a backreference from xmlNodes to
-     *   xmlIncludeRefs to detect references that were already visited.
-     *   This can also be used for proper cycle detection, see bug #344240.
-     *
-     * - Phase 2 should visit all top-level XInclude nodes and expand
-     *   possible subreferences in the replacement recursively.
-     *
-     * - Phase 3 should finally replace the top-level XInclude nodes.
-     *   It could also be run together with phase 2.
-     */
-
     /*
      * First phase: lookup the elements in the document
      */
-    if (skipRoot)
-        cur = tree->children;
-    else
-        cur = tree;
+    start = ctxt->incNr;
+    cur = tree;
     do {
 	/* TODO: need to work on entities -> stack */
         if (xmlXIncludeTestNode(ctxt, cur) == 1) {
-#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+            ref = xmlXIncludeExpandNode(ctxt, cur);
             /*
-             * Avoid superlinear expansion by limiting the total number
-             * of replacements.
+             * Mark direct includes.
              */
-            if (ctxt->incTotal >= 20)
-                return(-1);
-#endif
-            ctxt->incTotal++;
-            xmlXIncludePreProcessNode(ctxt, cur);
+            if (ref != NULL)
+                ref->replace = 1;
         } else if ((cur->children != NULL) &&
                    ((cur->type == XML_DOCUMENT_NODE) ||
                     (cur->type == XML_ELEMENT_NODE))) {
@@ -2445,32 +2277,40 @@
     } while ((cur != NULL) && (cur != tree));
 
     /*
-     * Second Phase : collect the infosets fragments
+     * Second phase: extend the original document infoset.
      */
-    for (i = start;i < ctxt->incNr; i++) {
-        xmlXIncludeLoadNode(ctxt, i);
+    for (i = start; i < ctxt->incNr; i++) {
+	if (ctxt->incTab[i]->replace != 0) {
+            if ((ctxt->incTab[i]->inc != NULL) ||
+                (ctxt->incTab[i]->emptyFb != 0)) {	/* (empty fallback) */
+                xmlXIncludeIncludeNode(ctxt, ctxt->incTab[i]);
+            }
+            ctxt->incTab[i]->replace = 0;
+        } else {
+            /*
+             * Ignore includes which were added indirectly, for example
+             * inside xi:fallback elements.
+             */
+            if (ctxt->incTab[i]->inc != NULL) {
+                xmlFreeNodeList(ctxt->incTab[i]->inc);
+                ctxt->incTab[i]->inc = NULL;
+            }
+        }
 	ret++;
     }
 
-    /*
-     * Third phase: extend the original document infoset.
-     *
-     * Originally we bypassed the inclusion if there were any errors
-     * encountered on any of the XIncludes.  A bug was raised (bug
-     * 132588) requesting that we output the XIncludes without error,
-     * so the check for inc!=NULL || xptr!=NULL was put in.  This may
-     * give some other problems in the future, but for now it seems to
-     * work ok.
-     *
-     */
-    for (i = ctxt->incBase;i < ctxt->incNr; i++) {
-	if ((ctxt->incTab[i]->inc != NULL) ||
-	    (ctxt->incTab[i]->emptyFb != 0))	/* (empty fallback) */
-	    xmlXIncludeIncludeNode(ctxt, i);
+    if (ctxt->isStream) {
+        /*
+         * incTab references nodes which will eventually be deleted in
+         * streaming mode. The table is only required for XPointer
+         * expressions which aren't allowed in streaming mode.
+         */
+        for (i = 0;i < ctxt->incNr;i++) {
+            xmlXIncludeFreeRef(ctxt->incTab[i]);
+        }
+        ctxt->incNr = 0;
     }
 
-    if (doc->URL != NULL)
-	xmlXIncludeURLPop(ctxt);
     return(ret);
 }
 
@@ -2492,6 +2332,23 @@
 }
 
 /**
+ * xmlXIncludeSetStreamingMode:
+ * @ctxt:  an XInclude processing context
+ * @mode:  whether streaming mode should be enabled
+ *
+ * In streaming mode, XPointer expressions aren't allowed.
+ *
+ * Returns 0 in case of success and -1 in case of error.
+ */
+int
+xmlXIncludeSetStreamingMode(xmlXIncludeCtxtPtr ctxt, int mode) {
+    if (ctxt == NULL)
+        return(-1);
+    ctxt->isStream = !!mode;
+    return(0);
+}
+
+/**
  * xmlXIncludeProcessTreeFlagsData:
  * @tree: an XML node
  * @flags: a set of xmlParserOption used for parsing XML includes
@@ -2519,7 +2376,7 @@
     ctxt->_private = data;
     ctxt->base = xmlStrdup((xmlChar *)tree->doc->URL);
     xmlXIncludeSetFlags(ctxt, flags);
-    ret = xmlXIncludeDoProcess(ctxt, tree->doc, tree, 0);
+    ret = xmlXIncludeDoProcess(ctxt, tree);
     if ((ret >= 0) && (ctxt->nbErrors > 0))
         ret = -1;
 
@@ -2603,7 +2460,7 @@
 	return(-1);
     ctxt->base = xmlNodeGetBase(tree->doc, tree);
     xmlXIncludeSetFlags(ctxt, flags);
-    ret = xmlXIncludeDoProcess(ctxt, tree->doc, tree, 0);
+    ret = xmlXIncludeDoProcess(ctxt, tree);
     if ((ret >= 0) && (ctxt->nbErrors > 0))
 	ret = -1;
 
@@ -2643,7 +2500,7 @@
     if ((node == NULL) || (node->type == XML_NAMESPACE_DECL) ||
         (node->doc == NULL) || (ctxt == NULL))
 	return(-1);
-    ret = xmlXIncludeDoProcess(ctxt, node->doc, node, 0);
+    ret = xmlXIncludeDoProcess(ctxt, node);
     if ((ret >= 0) && (ctxt->nbErrors > 0))
 	ret = -1;
     return(ret);
diff --git a/xlink.c b/xlink.c
index 0390a38..65715cb 100644
--- a/xlink.c
+++ b/xlink.c
@@ -13,24 +13,8 @@
 
 #ifdef LIBXML_XPTR_ENABLED
 #include <string.h> /* for memset() only */
-#ifdef HAVE_CTYPE_H
 #include <ctype.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef LIBXML_ZLIB_ENABLED
-#include <zlib.h>
-#endif
 
 #include <libxml/xmlmemory.h>
 #include <libxml/tree.h>
diff --git a/xml2-config.1 b/xml2-config.1
deleted file mode 100644
index 4dec38f..0000000
--- a/xml2-config.1
+++ /dev/null
@@ -1,31 +0,0 @@
-.TH GNOME-XML 1 "3 July 1999" Version 1.1.0
-.SH NAME
-xml-config - script to get information about the installed version of GNOME-XML
-.SH SYNOPSIS
-.B xml-config
-[\-\-prefix\fI[=DIR]\fP] [\-\-libs] [\-\-cflags] [\-\-version] [\-\-help]
-.SH DESCRIPTION
-\fIxml-config\fP is a tool that is used to determine the compile and
-linker flags that should be used to compile and link programs that use
-\fIGNOME-XML\fP.
-.SH OPTIONS
-\fIxml-config\fP accepts the following options:
-.TP 8
-.B  \-\-version
-Print the currently installed version of \fIGNOME-XML\fP on the standard output.
-.TP 8
-.B  \-\-libs
-Print the linker flags that are necessary to link a \fIGNOME-XML\fP program.
-Add \-\-dynamic after --libs to print only shared library linking information.
-.TP 8
-.B  \-\-cflags
-Print the compiler flags that are necessary to compile a \fIGNOME-XML\fP program.
-.TP 8
-.B  \-\-prefix=PREFIX
-If specified, use PREFIX instead of the installation prefix that
-\fIGNOME-XML\fP was built with when computing the output for the
-\-\-cflags and \-\-libs options. This option must be specified before
-any \-\-libs or \-\-cflags options.
-.SH AUTHOR
-This manual page was written by Fredrik Hallenberg <hallon@lysator.liu.se>,
-for the Debian GNU/linux system (but may be used by others).
diff --git a/xml2-config.in b/xml2-config.in
index 5863ffa..bda3221 100644
--- a/xml2-config.in
+++ b/xml2-config.in
@@ -86,14 +86,12 @@
             shift
             libs="@XML_LIBS@"
         else
-            libs="@XML_LIBS@ @XML_PRIVATE_LIBS@ @MODULE_PLATFORM_LIBS@"
+            libs="@XML_LIBS@ @XML_PRIVATE_LIBS@ @MODULE_PLATFORM_LIBS@ @LIBS@"
         fi
 
         if [ "@XML_LIBDIR@" != "-L/usr/lib" -a "@XML_LIBDIR@" != "-L/usr/lib64" ]; then
             libs="@XML_LIBDIR@ $libs"
         fi
-
-        libs="$libs @WIN32_EXTRA_LIBADD@"
         ;;
 
     *)
diff --git a/xml2Conf.sh.in b/xml2Conf.sh.in
deleted file mode 100644
index 31228c0..0000000
--- a/xml2Conf.sh.in
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# Configuration file for using the XML library in GNOME applications
-#
-XML2_LIBDIR="@XML_LIBDIR@"
-XML2_LIBS="@XML_LIBS@ @XML_PRIVATE_LIBS@"
-XML2_INCLUDEDIR="@XML_INCLUDEDIR@"
-MODULE_VERSION="xml2-@VERSION@"
-
diff --git a/xmlIO.c b/xmlIO.c
index c510a7e..5cab16f 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -12,15 +12,9 @@
 #include "libxml.h"
 
 #include <string.h>
-#include <stddef.h>
-#ifdef HAVE_ERRNO_H
+#include <stdlib.h>
 #include <errno.h>
-#endif
 
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
 #ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
 #endif
@@ -30,9 +24,6 @@
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
 #ifdef LIBXML_ZLIB_ENABLED
 #include <zlib.h>
 #endif
@@ -40,13 +31,11 @@
 #include <lzma.h>
 #endif
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
-#endif
-
-#if defined(_WIN32_WCE)
-#include <winnls.h> /* for CP_UTF8 */
+#include <io.h>
+#include <direct.h>
 #endif
 
 #ifndef S_ISDIR
@@ -74,8 +63,11 @@
 #endif
 #include <libxml/globals.h>
 
-#include "buf.h"
-#include "enc.h"
+#include "private/buf.h"
+#include "private/enc.h"
+#include "private/error.h"
+#include "private/io.h"
+#include "private/parser.h"
 
 /* #define VERBOSE_FAILURE */
 /* #define DEBUG_EXTERNAL_ENTITIES */
@@ -119,9 +111,6 @@
 static xmlOutputCallback xmlOutputCallbackTable[MAX_OUTPUT_CALLBACK];
 static int xmlOutputCallbackNr = 0;
 static int xmlOutputCallbackInitialized = 0;
-
-xmlOutputBufferPtr
-xmlAllocOutputBufferInternal(xmlCharEncodingHandlerPtr encoder);
 #endif /* LIBXML_OUTPUT_ENABLED */
 
 /************************************************************************
@@ -130,7 +119,7 @@
  *									*
  ************************************************************************/
 
-static const char *IOerr[] = {
+static const char* const IOerr[] = {
     "Unknown IO error",         /* UNKNOWN */
     "Permission denied",	/* EACCES */
     "Resource temporarily unavailable",/* EAGAIN */
@@ -190,7 +179,7 @@
     "unknown address family",	/* EAFNOSUPPORT */
 };
 
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+#if defined(_WIN32)
 /**
  * __xmlIOWin32UTF8ToWChar:
  * @u8String:  uft-8 string
@@ -248,7 +237,6 @@
     unsigned int idx;
 
     if (code == 0) {
-#ifdef HAVE_ERRNO_H
 	if (errno == 0) code = 0;
 #ifdef EACCES
         else if (errno == EACCES) code = XML_IO_EACCES;
@@ -404,7 +392,6 @@
         else if (errno == EAFNOSUPPORT) code = XML_IO_EAFNOSUPPORT;
 #endif
         else code = XML_IO_UNKNOWN;
-#endif /* HAVE_ERRNO_H */
     }
     idx = 0;
     if (code >= XML_IO_UNKNOWN) idx = code - XML_IO_UNKNOWN;
@@ -595,7 +582,7 @@
  *									*
  ************************************************************************/
 
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+#if defined(_WIN32)
 
 /**
  *  xmlWrapOpenUtf8:
@@ -696,7 +683,7 @@
 xmlCheckFilename (const char *path)
 {
 #ifdef HAVE_STAT
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+#if defined(_WIN32)
     struct _stat stat_buffer;
 #else
     struct stat stat_buffer;
@@ -706,7 +693,7 @@
 	return(0);
 
 #ifdef HAVE_STAT
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+#if defined(_WIN32)
     /*
      * On Windows stat and wstat do not work with long pathname,
      * which start with '\\?\'
@@ -730,20 +717,6 @@
 }
 
 /**
- * xmlInputReadCallbackNop:
- *
- * No Operation xmlInputReadCallback function, does nothing.
- *
- * Returns zero
- */
-int
-xmlInputReadCallbackNop(void *context ATTRIBUTE_UNUSED,
-                        char *buffer ATTRIBUTE_UNUSED,
-                        int len ATTRIBUTE_UNUSED) {
-    return(0);
-}
-
-/**
  * xmlFdRead:
  * @context:  the I/O context
  * @buffer:  where to drop data
@@ -837,20 +810,20 @@
     }
 
     if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file://localhost/", 17)) {
-#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+#if defined (_WIN32)
 	path = &filename[17];
 #else
 	path = &filename[16];
 #endif
     } else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:///", 8)) {
-#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+#if defined (_WIN32)
 	path = &filename[8];
 #else
 	path = &filename[7];
 #endif
     } else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:/", 6)) {
         /* lots of generators seems to lazy to read RFC 1738 */
-#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+#if defined (_WIN32)
 	path = &filename[6];
 #else
 	path = &filename[5];
@@ -863,10 +836,10 @@
         return(NULL);
 #endif
 
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+#if defined(_WIN32)
     fd = xmlWrapOpenUtf8(path, 0);
 #else
-    fd = fopen(path, "r");
+    fd = fopen(path, "rb");
 #endif /* WIN32 */
     if (fd == NULL) xmlIOErr(0, path);
     return((void *) fd);
@@ -919,13 +892,13 @@
     }
 
     if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file://localhost/", 17))
-#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+#if defined (_WIN32)
 	path = &filename[17];
 #else
 	path = &filename[16];
 #endif
     else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:///", 8)) {
-#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+#if defined (_WIN32)
 	path = &filename[8];
 #else
 	path = &filename[7];
@@ -936,7 +909,7 @@
     if (path == NULL)
 	return(NULL);
 
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+#if defined(_WIN32)
     fd = xmlWrapOpenUtf8(path, 1);
 #elif(__MVS__)
     fd = fopen(path, "w");
@@ -1109,13 +1082,13 @@
     }
 
     if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file://localhost/", 17))
-#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+#if defined (_WIN32)
 	path = &filename[17];
 #else
 	path = &filename[16];
 #endif
     else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:///", 8)) {
-#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+#if defined (_WIN32)
 	path = &filename[8];
 #else
 	path = &filename[7];
@@ -1128,7 +1101,7 @@
     if (!xmlCheckFilename(path))
         return(NULL);
 
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+#if defined(_WIN32)
     fd = xmlWrapGzOpenUtf8(path, "rb");
 #else
     fd = gzopen(path, "rb");
@@ -1140,7 +1113,7 @@
  * xmlGzfileOpen:
  * @filename:  the URI for matching
  *
- * Wrapper around xmlGzfileOpen if the open fais, it will
+ * Wrapper around xmlGzfileOpen_real if the open fails, it will
  * try to unescape @filename
  */
 static void *
@@ -1188,13 +1161,13 @@
     }
 
     if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file://localhost/", 17))
-#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+#if defined (_WIN32)
 	path = &filename[17];
 #else
 	path = &filename[16];
 #endif
     else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:///", 8)) {
-#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+#if defined (_WIN32)
 	path = &filename[8];
 #else
 	path = &filename[7];
@@ -1205,7 +1178,7 @@
     if (path == NULL)
 	return(NULL);
 
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+#if defined(_WIN32)
     fd = xmlWrapGzOpenUtf8(path, mode);
 #else
     fd = gzopen(path, mode);
@@ -1276,7 +1249,7 @@
  *		I/O for compressed file accesses			*
  *									*
  ************************************************************************/
-#include "xzlib.h"
+#include "private/xzlib.h"
 /**
  * xmlXzfileMatch:
  * @filename:  the URI for matching
@@ -2045,8 +2018,7 @@
 		    xmlGenericError( xmlGenericErrorContext,
 			"Transmitted content saved in file:  %s\n", buffer );
 
-		    fwrite( http_content, sizeof( char ),
-					content_lgth, tst_file );
+		    fwrite( http_content, 1, content_lgth, tst_file );
 		    fclose( tst_file );
 		}
 
@@ -2060,7 +2032,7 @@
 		    while ( (avail = xmlNanoHTTPRead( http_ctxt,
 					buffer, sizeof( buffer ) )) > 0 ) {
 
-			fwrite( buffer, sizeof( char ), avail, tst_file );
+			fwrite( buffer, 1, avail, tst_file );
 		    }
 
 		    fclose( tst_file );
@@ -2356,7 +2328,7 @@
 	xmlIOErrMemory("creating input buffer");
 	return(NULL);
     }
-    memset(ret, 0, (size_t) sizeof(xmlParserInputBuffer));
+    memset(ret, 0, sizeof(xmlParserInputBuffer));
     ret->buffer = xmlBufCreateSize(2 * xmlDefaultBufferSize);
     if (ret->buffer == NULL) {
         xmlFree(ret);
@@ -2395,16 +2367,13 @@
 	xmlIOErrMemory("creating output buffer");
 	return(NULL);
     }
-    memset(ret, 0, (size_t) sizeof(xmlOutputBuffer));
+    memset(ret, 0, sizeof(xmlOutputBuffer));
     ret->buffer = xmlBufCreate();
     if (ret->buffer == NULL) {
         xmlFree(ret);
 	return(NULL);
     }
-
-    /* try to avoid a performance problem with Windows realloc() */
-    if (xmlBufGetAllocationScheme(ret->buffer) == XML_BUFFER_ALLOC_EXACT)
-        xmlBufSetAllocationScheme(ret->buffer, XML_BUFFER_ALLOC_DOUBLEIT);
+    xmlBufSetAllocationScheme(ret->buffer, XML_BUFFER_ALLOC_DOUBLEIT);
 
     ret->encoder = encoder;
     if (encoder != NULL) {
@@ -2446,7 +2415,7 @@
 	xmlIOErrMemory("creating output buffer");
 	return(NULL);
     }
-    memset(ret, 0, (size_t) sizeof(xmlOutputBuffer));
+    memset(ret, 0, sizeof(xmlOutputBuffer));
     ret->buffer = xmlBufCreate();
     if (ret->buffer == NULL) {
         xmlFree(ret);
@@ -2963,11 +2932,11 @@
     ret = xmlAllocParserInputBuffer(enc);
     if (ret != NULL) {
         ret->context = (void *) mem;
-	ret->readcallback = xmlInputReadCallbackNop;
+	ret->readcallback = NULL;
 	ret->closecallback = NULL;
 	errcode = xmlBufAdd(ret->buffer, (const xmlChar *) mem, size);
 	if (errcode != 0) {
-	    xmlFree(ret);
+	    xmlFreeParserInputBuffer(ret);
 	    return(NULL);
 	}
     }
@@ -2981,43 +2950,14 @@
  * @size:  the length of the memory block
  * @enc:  the charset encoding if known
  *
- * Create a buffered parser input for the progressive parsing for the input
- * from an immutable memory area. This will not copy the memory area to
- * the buffer, but the memory is expected to be available until the end of
- * the parsing, this is useful for example when using mmap'ed file.
+ * DEPRECATED: Use xmlParserInputBufferCreateMem.
  *
  * Returns the new parser input or NULL
  */
 xmlParserInputBufferPtr
 xmlParserInputBufferCreateStatic(const char *mem, int size,
                                  xmlCharEncoding enc) {
-    xmlParserInputBufferPtr ret;
-
-    if (size < 0) return(NULL);
-    if (mem == NULL) return(NULL);
-
-    ret = (xmlParserInputBufferPtr) xmlMalloc(sizeof(xmlParserInputBuffer));
-    if (ret == NULL) {
-	xmlIOErrMemory("creating input buffer");
-	return(NULL);
-    }
-    memset(ret, 0, (size_t) sizeof(xmlParserInputBuffer));
-    ret->buffer = xmlBufCreateStatic((void *)mem, (size_t) size);
-    if (ret->buffer == NULL) {
-        xmlFree(ret);
-	return(NULL);
-    }
-    ret->encoder = xmlGetCharEncodingHandler(enc);
-    if (ret->encoder != NULL)
-        ret->raw = xmlBufCreateSize(2 * xmlDefaultBufferSize);
-    else
-        ret->raw = NULL;
-    ret->compressed = -1;
-    ret->context = (void *) mem;
-    ret->readcallback = NULL;
-    ret->closecallback = NULL;
-
-    return(ret);
+    return(xmlParserInputBufferCreateMem(mem, size, enc));
 }
 
 #ifdef LIBXML_OUTPUT_ENABLED
@@ -3172,7 +3112,7 @@
     if (len < 0) return(0);
     if ((in == NULL) || (in->error)) return(-1);
     if (in->encoder != NULL) {
-        unsigned int use;
+        size_t use, consumed;
 
         /*
 	 * Store the data in the incoming raw buffer
@@ -3194,7 +3134,12 @@
 	    in->error = XML_IO_ENCODER;
 	    return(-1);
 	}
-	in->rawconsumed += (use - xmlBufUse(in->raw));
+        consumed = use - xmlBufUse(in->raw);
+        if ((consumed > ULONG_MAX) ||
+            (in->rawconsumed > ULONG_MAX - (unsigned long)consumed))
+            in->rawconsumed = ULONG_MAX;
+        else
+	    in->rawconsumed += consumed;
     } else {
 	nbchars = len;
         ret = xmlBufAdd(in->buffer, (xmlChar *) buf, nbchars);
@@ -3239,41 +3184,42 @@
  */
 int
 xmlParserInputBufferGrow(xmlParserInputBufferPtr in, int len) {
-    char *buffer = NULL;
+    xmlBufPtr buf;
     int res = 0;
-    int nbchars = 0;
 
     if ((in == NULL) || (in->error)) return(-1);
     if ((len <= MINLEN) && (len != 4))
         len = MINLEN;
 
-    if (xmlBufAvail(in->buffer) <= 0) {
-	xmlIOErr(XML_IO_BUFFER_FULL, NULL);
-	in->error = XML_IO_BUFFER_FULL;
-	return(-1);
+    if (in->encoder == NULL) {
+        if (in->readcallback == NULL)
+            return(0);
+        buf = in->buffer;
+    } else {
+        if (in->raw == NULL) {
+	    in->raw = xmlBufCreate();
+	}
+        buf = in->raw;
     }
 
-    if (xmlBufGrow(in->buffer, len + 1) < 0) {
-        xmlIOErrMemory("growing input buffer");
-        in->error = XML_ERR_NO_MEMORY;
-        return(-1);
-    }
-    buffer = (char *)xmlBufEnd(in->buffer);
-
     /*
      * Call the read method for this I/O type.
      */
     if (in->readcallback != NULL) {
-	res = in->readcallback(in->context, &buffer[0], len);
+        if (xmlBufGrow(buf, len + 1) < 0) {
+            xmlIOErrMemory("growing input buffer");
+            in->error = XML_ERR_NO_MEMORY;
+            return(-1);
+        }
+
+	res = in->readcallback(in->context, (char *)xmlBufEnd(buf), len);
 	if (res <= 0)
 	    in->readcallback = endOfInput;
-    } else {
-	xmlIOErr(XML_IO_NO_INPUT, NULL);
-	in->error = XML_IO_NO_INPUT;
-	return(-1);
-    }
-    if (res < 0) {
-	return(-1);
+        if (res < 0)
+            return(-1);
+
+        if (xmlBufAddLen(buf, res) < 0)
+            return(-1);
     }
 
     /*
@@ -3286,41 +3232,32 @@
 #endif
     }
 
-    len = res;
     if (in->encoder != NULL) {
-        unsigned int use;
-
-        /*
-	 * Store the data in the incoming raw buffer
-	 */
-        if (in->raw == NULL) {
-	    in->raw = xmlBufCreate();
-	}
-	res = xmlBufAdd(in->raw, (const xmlChar *) buffer, len);
-	if (res != 0)
-	    return(-1);
+        size_t use, consumed;
 
 	/*
 	 * convert as much as possible to the parser reading buffer.
 	 */
-	use = xmlBufUse(in->raw);
-	nbchars = xmlCharEncInput(in, 1);
-	if (nbchars < 0) {
+	use = xmlBufUse(buf);
+	res = xmlCharEncInput(in, 1);
+	if (res < 0) {
 	    xmlIOErr(XML_IO_ENCODER, NULL);
 	    in->error = XML_IO_ENCODER;
 	    return(-1);
 	}
-	in->rawconsumed += (use - xmlBufUse(in->raw));
-    } else {
-	nbchars = len;
-        xmlBufAddLen(in->buffer, nbchars);
+        consumed = use - xmlBufUse(buf);
+        if ((consumed > ULONG_MAX) ||
+            (in->rawconsumed > ULONG_MAX - (unsigned long)consumed))
+            in->rawconsumed = ULONG_MAX;
+        else
+	    in->rawconsumed += consumed;
     }
 #ifdef DEBUG_INPUT
     xmlGenericError(xmlGenericErrorContext,
 	    "I/O: read %d chars, buffer %d\n",
             nbchars, xmlBufUse(in->buffer));
 #endif
-    return(nbchars);
+    return(res);
 }
 
 /**
@@ -3337,13 +3274,7 @@
  */
 int
 xmlParserInputBufferRead(xmlParserInputBufferPtr in, int len) {
-    if ((in == NULL) || (in->error)) return(-1);
-    if (in->readcallback != NULL)
-	return(xmlParserInputBufferGrow(in, len));
-    else if (xmlBufGetAllocationScheme(in->buffer) == XML_BUFFER_ALLOC_IMMUTABLE)
-	return(0);
-    else
-        return(-1);
+    return(xmlParserInputBufferGrow(in, len));
 }
 
 #ifdef LIBXML_OUTPUT_ENABLED
@@ -3509,7 +3440,7 @@
 	    *out++ = '3';
 	    *out++ = ';';
 	} else {
-	    *out++ = (unsigned char) *in;
+	    *out++ = *in;
 	}
 	++in;
     }
@@ -3545,8 +3476,7 @@
     int cons;        /* byte from str consumed */
 
     if ((out == NULL) || (out->error) || (str == NULL) ||
-        (out->buffer == NULL) ||
-	(xmlBufGetAllocationScheme(out->buffer) == XML_BUFFER_ALLOC_IMMUTABLE))
+        (out->buffer == NULL))
         return(-1);
     len = strlen((const char *)str);
     if (len < 0) return(0);
@@ -3560,7 +3490,7 @@
 	 * how many bytes to consume and how many bytes to store.
 	 */
 	cons = len;
-	chunk = xmlBufAvail(out->buffer) - 1;
+	chunk = xmlBufAvail(out->buffer);
 
         /*
 	 * make sure we have enough room to save first, if this is
@@ -3765,16 +3695,12 @@
     char dir[1024];
     char *cur;
 
-#ifdef _WIN32_WCE  /* easy way by now ... wince does not have dirs! */
-    return NULL;
-#endif
-
     if (xmlInputCallbackInitialized == 0)
 	xmlRegisterDefaultInputCallbacks();
 
     if (filename == NULL) return(NULL);
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
 #   define IS_XMLPGD_SEP(ch) ((ch=='/')||(ch=='\\'))
 #else
 #   define IS_XMLPGD_SEP(ch) (ch=='/')
@@ -3891,13 +3817,13 @@
 	return(0);
 
     if (!xmlStrncasecmp(BAD_CAST URL, BAD_CAST "file://localhost/", 17))
-#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+#if defined (_WIN32)
 	path = &URL[17];
 #else
 	path = &URL[16];
 #endif
     else if (!xmlStrncasecmp(BAD_CAST URL, BAD_CAST "file:///", 8)) {
-#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+#if defined (_WIN32)
 	path = &URL[8];
 #else
 	path = &URL[7];
diff --git a/xmlcatalog.c b/xmlcatalog.c
index 7b6f376..60ff001 100644
--- a/xmlcatalog.c
+++ b/xmlcatalog.c
@@ -11,10 +11,7 @@
 #include <string.h>
 #include <stdio.h>
 #include <stdarg.h>
-
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #ifdef HAVE_LIBREADLINE
 #include <readline/readline.h>
@@ -43,7 +40,7 @@
 
 
 #ifndef XML_SGML_DEFAULT_CATALOG
-#define XML_SGML_DEFAULT_CATALOG "/etc/sgml/catalog"
+#define XML_SGML_DEFAULT_CATALOG SYSCONFDIR "/sgml/catalog"
 #endif
 
 /************************************************************************
@@ -512,6 +509,9 @@
 		    xmlACatalogDump(catal, stdout);
 		}
 		i += 2;
+
+                xmlFreeCatalog(catal);
+                xmlFreeCatalog(super);
 	    } else {
 		if ((!strcmp(argv[i], "-add")) ||
 		    (!strcmp(argv[i], "--add"))) {
diff --git a/xmllint.c b/xmllint.c
index b314189..2f0ada1 100644
--- a/xmllint.c
+++ b/xmllint.c
@@ -10,22 +10,17 @@
 
 #include <string.h>
 #include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
 #include <assert.h>
+#include <time.h>
 
 #ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-
 #ifdef HAVE_SYS_TIMEB_H
 #include <sys/timeb.h>
 #endif
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
 #ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
 #endif
@@ -34,6 +29,8 @@
 #endif
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#elif defined (_WIN32)
+#include <io.h>
 #endif
 #ifdef HAVE_SYS_MMAN_H
 #include <sys/mman.h>
@@ -42,9 +39,6 @@
 #define MAP_FAILED ((void *) -1)
 #endif
 #endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
 #ifdef HAVE_LIBREADLINE
 #include <readline/readline.h>
 #ifdef HAVE_LIBHISTORY
@@ -87,7 +81,7 @@
 #endif
 
 #ifndef XML_XML_DEFAULT_CATALOG
-#define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog"
+#define XML_XML_DEFAULT_CATALOG "file://" SYSCONFDIR "/xml/catalog"
 #endif
 
 typedef enum {
@@ -118,8 +112,8 @@
 static int noblanks = 0;
 static int noout = 0;
 static int nowrap = 0;
-#ifdef LIBXML_OUTPUT_ENABLED
 static int format = 0;
+#ifdef LIBXML_OUTPUT_ENABLED
 static const char *output = NULL;
 static int compress = 0;
 static int oldout = 0;
@@ -434,7 +428,7 @@
  *           message about the timing performed; format is a printf
  *           type argument
  */
-static void XMLCDECL LIBXML_ATTR_FORMAT(1,2)
+static void LIBXML_ATTR_FORMAT(1,2)
 endTimer(const char *fmt, ...)
 {
     long msec;
@@ -445,16 +439,13 @@
     msec *= 1000;
     msec += (end.tv_usec - begin.tv_usec) / 1000;
 
-#ifndef HAVE_STDARG_H
-#error "endTimer required stdarg functions"
-#endif
     va_start(ap, fmt);
     vfprintf(stderr, fmt, ap);
     va_end(ap);
 
     fprintf(stderr, " took %ld ms\n", msec);
 }
-#elif defined(HAVE_TIME_H)
+#else
 /*
  * No gettimeofday function, so we have to make do with calling clock.
  * This is obviously less accurate, but there's little we can do about
@@ -470,7 +461,7 @@
 {
     begin = clock();
 }
-static void XMLCDECL LIBXML_ATTR_FORMAT(1,2)
+static void LIBXML_ATTR_FORMAT(1,2)
 endTimer(const char *fmt, ...)
 {
     long msec;
@@ -479,44 +470,11 @@
     end = clock();
     msec = ((end - begin) * 1000) / CLOCKS_PER_SEC;
 
-#ifndef HAVE_STDARG_H
-#error "endTimer required stdarg functions"
-#endif
     va_start(ap, fmt);
     vfprintf(stderr, fmt, ap);
     va_end(ap);
     fprintf(stderr, " took %ld ms\n", msec);
 }
-#else
-
-/*
- * We don't have a gettimeofday or time.h, so we just don't do timing
- */
-static void
-startTimer(void)
-{
-    /*
-     * Do nothing
-     */
-}
-static void XMLCDECL LIBXML_ATTR_FORMAT(1,2)
-endTimer(char *format, ...)
-{
-    /*
-     * We cannot do anything because we don't have a timing function
-     */
-#ifdef HAVE_STDARG_H
-    va_list ap;
-    va_start(ap, format);
-    vfprintf(stderr, format, ap);
-    va_end(ap);
-    fprintf(stderr, " was not timed\n");
-#else
-    /* We don't have gettimeofday, time or stdarg.h, what crazy world is
-     * this ?!
-     */
-#endif
-}
 #endif
 /************************************************************************
  *									*
@@ -625,7 +583,7 @@
  * Display and format an error messages, gives file, line, position and
  * extra parameters.
  */
-static void XMLCDECL LIBXML_ATTR_FORMAT(2,3)
+static void LIBXML_ATTR_FORMAT(2,3)
 xmlHTMLError(void *ctx, const char *msg, ...)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
@@ -662,7 +620,7 @@
  * Display and format a warning messages, gives file, line, position and
  * extra parameters.
  */
-static void XMLCDECL LIBXML_ATTR_FORMAT(2,3)
+static void LIBXML_ATTR_FORMAT(2,3)
 xmlHTMLWarning(void *ctx, const char *msg, ...)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
@@ -700,7 +658,7 @@
  * Display and format an validity error messages, gives file,
  * line, position and extra parameters.
  */
-static void XMLCDECL LIBXML_ATTR_FORMAT(2,3)
+static void LIBXML_ATTR_FORMAT(2,3)
 xmlHTMLValidityError(void *ctx, const char *msg, ...)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
@@ -737,7 +695,7 @@
  * Display and format a validity warning messages, gives file, line,
  * position and extra parameters.
  */
-static void XMLCDECL LIBXML_ATTR_FORMAT(2,3)
+static void LIBXML_ATTR_FORMAT(2,3)
 xmlHTMLValidityWarning(void *ctx, const char *msg, ...)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
@@ -1403,7 +1361,7 @@
  * Display and format a warning messages, gives file, line, position and
  * extra parameters.
  */
-static void XMLCDECL LIBXML_ATTR_FORMAT(2,3)
+static void LIBXML_ATTR_FORMAT(2,3)
 warningDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
 {
     va_list args;
@@ -1426,7 +1384,7 @@
  * Display and format a error messages, gives file, line, position and
  * extra parameters.
  */
-static void XMLCDECL LIBXML_ATTR_FORMAT(2,3)
+static void LIBXML_ATTR_FORMAT(2,3)
 errorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
 {
     va_list args;
@@ -1449,7 +1407,7 @@
  * Display and format a fatalError messages, gives file, line, position and
  * extra parameters.
  */
-static void XMLCDECL LIBXML_ATTR_FORMAT(2,3)
+static void LIBXML_ATTR_FORMAT(2,3)
 fatalErrorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
 {
     va_list args;
@@ -1628,10 +1586,6 @@
 testSAX(const char *filename) {
     xmlSAXHandlerPtr handler;
     const char *user_data = "user_data"; /* mostly for debugging */
-    xmlParserInputBufferPtr buf = NULL;
-    xmlParserInputPtr inputStream;
-    xmlParserCtxtPtr ctxt = NULL;
-    xmlSAXHandlerPtr old_sax = NULL;
 
     callbacks = 0;
 
@@ -1645,24 +1599,22 @@
         handler = debugSAX2Handler;
     }
 
-    /*
-     * it's not the simplest code but the most generic in term of I/O
-     */
-    buf = xmlParserInputBufferCreateFilename(filename, XML_CHAR_ENCODING_NONE);
-    if (buf == NULL) {
-        goto error;
-    }
-
 #ifdef LIBXML_SCHEMAS_ENABLED
     if (wxschemas != NULL) {
         int ret;
 	xmlSchemaValidCtxtPtr vctxt;
+        xmlParserInputBufferPtr buf;
+
+        buf = xmlParserInputBufferCreateFilename(filename,
+                XML_CHAR_ENCODING_NONE);
+        if (buf == NULL)
+            return;
 
 	vctxt = xmlSchemaNewValidCtxt(wxschemas);
         if (vctxt == NULL) {
             progresult = XMLLINT_ERR_MEM;
             xmlFreeParserInputBuffer(buf);
-            goto error;
+            return;
         }
 	xmlSchemaSetValidErrors(vctxt, xmlGenericError, xmlGenericError, NULL);
 	xmlSchemaValidateSetFilename(vctxt, filename);
@@ -1687,38 +1639,23 @@
     } else
 #endif
     {
+        xmlParserCtxtPtr ctxt = NULL;
+
 	/*
 	 * Create the parser context amd hook the input
 	 */
-	ctxt = xmlNewParserCtxt();
+	ctxt = xmlNewSAXParserCtxt(handler, (void *) user_data);
 	if (ctxt == NULL) {
             progresult = XMLLINT_ERR_MEM;
-	    xmlFreeParserInputBuffer(buf);
-	    goto error;
+	    return;
 	}
-	old_sax = ctxt->sax;
-	ctxt->sax = handler;
-	ctxt->userData = (void *) user_data;
-	inputStream = xmlNewIOInputStream(ctxt, buf, XML_CHAR_ENCODING_NONE);
-	if (inputStream == NULL) {
-	    xmlFreeParserInputBuffer(buf);
-	    goto error;
-	}
-	inputPush(ctxt, inputStream);
-
-	/* do the parsing */
-	xmlParseDocument(ctxt);
+        xmlCtxtReadFile(ctxt, filename, NULL, options);
 
 	if (ctxt->myDoc != NULL) {
 	    fprintf(stderr, "SAX generated a doc !\n");
 	    xmlFreeDoc(ctxt->myDoc);
 	    ctxt->myDoc = NULL;
 	}
-    }
-
-error:
-    if (ctxt != NULL) {
-        ctxt->sax = old_sax;
         xmlFreeParserCtxt(ctxt);
     }
 }
@@ -2088,8 +2025,9 @@
             xmlOutputBufferPtr buf;
 
             if ((cur->nodesetval == NULL) || (cur->nodesetval->nodeNr <= 0)) {
-                fprintf(stderr, "XPath set is empty\n");
-                progresult = XMLLINT_ERR_XPATH;
+                if (!quiet) {
+                    fprintf(stderr, "XPath set is empty\n");
+                }
                 break;
             }
             buf = xmlOutputBufferCreateFile(stdout, NULL);
@@ -2202,13 +2140,7 @@
         if ((filename[0] == '-') && (filename[1] == 0)) {
             f = stdin;
         } else {
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
 	    f = fopen(filename, "rb");
-#elif defined(__OS400__)
-	    f = fopen(filename, "rb");
-#else
-	    f = fopen(filename, "r");
-#endif
         }
         if (f != NULL) {
             int res;
@@ -2276,15 +2208,9 @@
 
 	    /* '-' Usually means stdin -<sven@zen.org> */
 	    if ((filename[0] == '-') && (filename[1] == 0)) {
-	      f = stdin;
+	        f = stdin;
 	    } else {
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
 		f = fopen(filename, "rb");
-#elif defined(__OS400__)
-		f = fopen(filename, "rb");
-#else
-		f = fopen(filename, "r");
-#endif
 	    }
 	    if (f != NULL) {
 		int ret;
@@ -2327,13 +2253,7 @@
 	    } else {
 	        FILE *f;
 
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
 		f = fopen(filename, "rb");
-#elif defined(__OS400__)
-		f = fopen(filename, "rb");
-#else
-		f = fopen(filename, "r");
-#endif
 		if (f != NULL) {
 		    if (rectxt == NULL)
 			doc = xmlReadIO(myRead, myClose, f, filename, NULL,
@@ -2417,14 +2337,8 @@
 	} else {
 	    if (rectxt != NULL)
 	        doc = xmlCtxtReadFile(rectxt, filename, NULL, options);
-	    else {
-#ifdef LIBXML_SAX1_ENABLED
-                if (sax1)
-		    doc = xmlParseFile(filename);
-		else
-#endif /* LIBXML_SAX1_ENABLED */
+	    else
 		doc = xmlReadFile(filename, NULL, options);
-	    }
 	}
     }
 
@@ -2798,7 +2712,6 @@
                 xmlFreeDtd(dtd);
                 return;
 	    }
-	    cvp->userData = NULL;
 	    cvp->error    = xmlGenericError;
 	    cvp->warning  = xmlGenericError;
 
@@ -2836,7 +2749,6 @@
 	if ((timing) && (!repeat)) {
 	    startTimer();
 	}
-	cvp->userData = NULL;
 	cvp->error    = xmlGenericError;
 	cvp->warning  = xmlGenericError;
 	if (!xmlValidateDocument(cvp, doc)) {
@@ -3224,8 +3136,7 @@
 	    options |= XML_PARSE_HUGE;
 	} else if ((!strcmp(argv[i], "-noent")) ||
 	         (!strcmp(argv[i], "--noent"))) {
-	    noent++;
-	    options |= XML_PARSE_NOENT;
+	    noent = 1;
 	} else if ((!strcmp(argv[i], "-noenc")) ||
 	         (!strcmp(argv[i], "--noenc"))) {
 	    noenc++;
@@ -3378,15 +3289,13 @@
 #endif /* LIBXML_OUTPUT_ENABLED */
 	else if ((!strcmp(argv[i], "-nowarning")) ||
 	         (!strcmp(argv[i], "--nowarning"))) {
-	    xmlGetWarningsDefaultValue = 0;
-	    xmlPedanticParserDefault(0);
 	    options |= XML_PARSE_NOWARNING;
+            options &= ~XML_PARSE_PEDANTIC;
         }
 	else if ((!strcmp(argv[i], "-pedantic")) ||
 	         (!strcmp(argv[i], "--pedantic"))) {
-	    xmlGetWarningsDefaultValue = 1;
-	    xmlPedanticParserDefault(1);
 	    options |= XML_PARSE_PEDANTIC;
+            options &= XML_PARSE_NOWARNING;
         }
 #ifdef LIBXML_DEBUG_ENABLED
 	else if ((!strcmp(argv[i], "-debugent")) ||
@@ -3432,9 +3341,7 @@
         }
 	else if ((!strcmp(argv[i], "-noblanks")) ||
 	         (!strcmp(argv[i], "--noblanks"))) {
-	    noblanks++;
-	    xmlKeepBlanksDefault(0);
-	    options |= XML_PARSE_NOBLANKS;
+	    noblanks = 1;
         }
 	else if ((!strcmp(argv[i], "-maxmem")) ||
 	         (!strcmp(argv[i], "--maxmem"))) {
@@ -3442,23 +3349,16 @@
         }
 	else if ((!strcmp(argv[i], "-format")) ||
 	         (!strcmp(argv[i], "--format"))) {
-	     noblanks++;
 #ifdef LIBXML_OUTPUT_ENABLED
-	     format = 1;
+	    format = 1;
 #endif /* LIBXML_OUTPUT_ENABLED */
-	     xmlKeepBlanksDefault(0);
 	}
 	else if ((!strcmp(argv[i], "-pretty")) ||
 	         (!strcmp(argv[i], "--pretty"))) {
-	     i++;
+	    i++;
 #ifdef LIBXML_OUTPUT_ENABLED
-       if (argv[i] != NULL) {
-	         format = atoi(argv[i]);
-	         if (format == 1) {
-	             noblanks++;
-	             xmlKeepBlanksDefault(0);
-	         }
-       }
+            if (argv[i] != NULL)
+	        format = atoi(argv[i]);
 #endif /* LIBXML_OUTPUT_ENABLED */
 	}
 #ifdef LIBXML_READER_ENABLED
@@ -3497,20 +3397,19 @@
 	         (!strcmp(argv[i], "--relaxng"))) {
 	    i++;
 	    relaxng = argv[i];
-	    noent++;
-	    options |= XML_PARSE_NOENT;
+	    noent = 1;
 	} else if ((!strcmp(argv[i], "-schema")) ||
 	         (!strcmp(argv[i], "--schema"))) {
 	    i++;
 	    schema = argv[i];
-	    noent++;
+	    noent = 1;
 #endif
 #ifdef LIBXML_SCHEMATRON_ENABLED
 	} else if ((!strcmp(argv[i], "-schematron")) ||
 	         (!strcmp(argv[i], "--schematron"))) {
 	    i++;
 	    schematron = argv[i];
-	    noent++;
+	    noent = 1;
 #endif
         } else if ((!strcmp(argv[i], "-nonet")) ||
                    (!strcmp(argv[i], "--nonet"))) {
@@ -3559,13 +3458,6 @@
     }
 #endif
 
-#ifdef LIBXML_SAX1_ENABLED
-    if (sax1)
-        xmlSAXDefaultVersion(1);
-    else
-        xmlSAXDefaultVersion(2);
-#endif /* LIBXML_SAX1_ENABLED */
-
     if (chkregister) {
 	xmlRegisterNodeDefault(registerNode);
 	xmlDeregisterNodeDefault(deregisterNode);
@@ -3580,15 +3472,14 @@
     defaultEntityLoader = xmlGetExternalEntityLoader();
     xmlSetExternalEntityLoader(xmllintExternalEntityLoader);
 
-    xmlLineNumbersDefault(1);
     if (loaddtd != 0)
 	xmlLoadExtDtdDefaultValue |= XML_DETECT_IDS;
     if (dtdattrs)
 	xmlLoadExtDtdDefaultValue |= XML_COMPLETE_ATTRS;
-    if (noent != 0) xmlSubstituteEntitiesDefault(1);
-#ifdef LIBXML_VALID_ENABLED
-    if (valid != 0) xmlDoValidityCheckingDefaultValue = 1;
-#endif /* LIBXML_VALID_ENABLED */
+    if (noent != 0)
+        options |= XML_PARSE_NOENT;
+    if ((noblanks != 0) || (format == 1))
+        options |= XML_PARSE_NOBLANKS;
     if ((htmlout) && (!nowrap)) {
 	xmlGenericError(xmlGenericErrorContext,
          "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"\n");
@@ -3846,7 +3737,6 @@
 	xmlRelaxNGFree(relaxngschemas);
     if (wxschemas != NULL)
 	xmlSchemaFree(wxschemas);
-    xmlRelaxNGCleanupTypes();
 #endif
 #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED)
     if (patternc != NULL)
diff --git a/xmlmemory.c b/xmlmemory.c
index ff50038..eed1666 100644
--- a/xmlmemory.c
+++ b/xmlmemory.c
@@ -8,26 +8,9 @@
 #include "libxml.h"
 
 #include <string.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#else
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-#endif
-
-#ifdef HAVE_CTYPE_H
 #include <ctype.h>
-#endif
+#include <time.h>
 
 /* #define DEBUG_MEMORY */
 
@@ -48,11 +31,13 @@
 #include <libxml/xmlerror.h>
 #include <libxml/threads.h>
 
-static int xmlMemInitialized = 0;
+#include "private/memory.h"
+#include "private/threads.h"
+
 static unsigned long  debugMemSize = 0;
 static unsigned long  debugMemBlocks = 0;
 static unsigned long  debugMaxMemSize = 0;
-static xmlMutexPtr xmlMemMutex = NULL;
+static xmlMutex xmlMemMutex;
 
 void xmlMallocBreakpoint(void);
 
@@ -164,7 +149,7 @@
     MEMHDR *p;
     void *ret;
 
-    if (!xmlMemInitialized) xmlInitMemory();
+    xmlInitParser();
 #ifdef DEBUG_MEMORY
     xmlGenericError(xmlGenericErrorContext,
 	    "Malloc(%d)\n",size);
@@ -192,7 +177,7 @@
     p->mh_type = MALLOC_TYPE;
     p->mh_file = file;
     p->mh_line = line;
-    xmlMutexLock(xmlMemMutex);
+    xmlMutexLock(&xmlMemMutex);
     p->mh_number = ++block;
     debugMemSize += size;
     debugMemBlocks++;
@@ -200,7 +185,7 @@
 #ifdef MEM_LIST
     debugmem_list_add(p);
 #endif
-    xmlMutexUnlock(xmlMemMutex);
+    xmlMutexUnlock(&xmlMemMutex);
 
 #ifdef DEBUG_MEMORY
     xmlGenericError(xmlGenericErrorContext,
@@ -240,7 +225,7 @@
     MEMHDR *p;
     void *ret;
 
-    if (!xmlMemInitialized) xmlInitMemory();
+    xmlInitParser();
 #ifdef DEBUG_MEMORY
     xmlGenericError(xmlGenericErrorContext,
 	    "Malloc(%d)\n",size);
@@ -268,7 +253,7 @@
     p->mh_type = MALLOC_ATOMIC_TYPE;
     p->mh_file = file;
     p->mh_line = line;
-    xmlMutexLock(xmlMemMutex);
+    xmlMutexLock(&xmlMemMutex);
     p->mh_number = ++block;
     debugMemSize += size;
     debugMemBlocks++;
@@ -276,7 +261,7 @@
 #ifdef MEM_LIST
     debugmem_list_add(p);
 #endif
-    xmlMutexUnlock(xmlMemMutex);
+    xmlMutexUnlock(&xmlMemMutex);
 
 #ifdef DEBUG_MEMORY
     xmlGenericError(xmlGenericErrorContext,
@@ -337,7 +322,7 @@
     if (ptr == NULL)
         return(xmlMallocLoc(size, file, line));
 
-    if (!xmlMemInitialized) xmlInitMemory();
+    xmlInitParser();
     TEST_POINT
 
     p = CLIENT_2_HDR(ptr);
@@ -348,7 +333,7 @@
 	 goto error;
     }
     p->mh_tag = ~MEMTAG;
-    xmlMutexLock(xmlMemMutex);
+    xmlMutexLock(&xmlMemMutex);
     debugMemSize -= p->mh_size;
     debugMemBlocks--;
 #ifdef DEBUG_MEMORY
@@ -357,7 +342,7 @@
 #ifdef MEM_LIST
     debugmem_list_delete(p);
 #endif
-    xmlMutexUnlock(xmlMemMutex);
+    xmlMutexUnlock(&xmlMemMutex);
 
     if (size > (MAX_SIZE_T - RESERVE_SIZE)) {
 	xmlGenericError(xmlGenericErrorContext,
@@ -385,14 +370,14 @@
     p->mh_size = size;
     p->mh_file = file;
     p->mh_line = line;
-    xmlMutexLock(xmlMemMutex);
+    xmlMutexLock(&xmlMemMutex);
     debugMemSize += size;
     debugMemBlocks++;
     if (debugMemSize > debugMaxMemSize) debugMaxMemSize = debugMemSize;
 #ifdef MEM_LIST
     debugmem_list_add(p);
 #endif
-    xmlMutexUnlock(xmlMemMutex);
+    xmlMutexUnlock(&xmlMemMutex);
 
     TEST_POINT
 
@@ -463,7 +448,7 @@
     if (xmlMemStopAtBlock == p->mh_number) xmlMallocBreakpoint();
     p->mh_tag = ~MEMTAG;
     memset(target, -1, p->mh_size);
-    xmlMutexLock(xmlMemMutex);
+    xmlMutexLock(&xmlMemMutex);
     debugMemSize -= p->mh_size;
     debugMemBlocks--;
 #ifdef DEBUG_MEMORY
@@ -472,7 +457,7 @@
 #ifdef MEM_LIST
     debugmem_list_delete(p);
 #endif
-    xmlMutexUnlock(xmlMemMutex);
+    xmlMutexUnlock(&xmlMemMutex);
 
     free(p);
 
@@ -510,7 +495,7 @@
     size_t size = strlen(str) + 1;
     MEMHDR *p;
 
-    if (!xmlMemInitialized) xmlInitMemory();
+    xmlInitParser();
     TEST_POINT
 
     if (size > (MAX_SIZE_T - RESERVE_SIZE)) {
@@ -529,7 +514,7 @@
     p->mh_type = STRDUP_TYPE;
     p->mh_file = file;
     p->mh_line = line;
-    xmlMutexLock(xmlMemMutex);
+    xmlMutexLock(&xmlMemMutex);
     p->mh_number = ++block;
     debugMemSize += size;
     debugMemBlocks++;
@@ -537,7 +522,7 @@
 #ifdef MEM_LIST
     debugmem_list_add(p);
 #endif
-    xmlMutexUnlock(xmlMemMutex);
+    xmlMutexUnlock(&xmlMemMutex);
 
     s = (char *) HDR_2_CLIENT(p);
 
@@ -583,12 +568,7 @@
 
 int
 xmlMemUsed(void) {
-    int res;
-
-    xmlMutexLock(xmlMemMutex);
-    res = debugMemSize;
-    xmlMutexUnlock(xmlMemMutex);
-    return(res);
+    return(debugMemSize);
 }
 
 /**
@@ -603,74 +583,12 @@
 xmlMemBlocks(void) {
     int res;
 
-    xmlMutexLock(xmlMemMutex);
+    xmlMutexLock(&xmlMemMutex);
     res = debugMemBlocks;
-    xmlMutexUnlock(xmlMemMutex);
+    xmlMutexUnlock(&xmlMemMutex);
     return(res);
 }
 
-#ifdef MEM_LIST
-/**
- * xmlMemContentShow:
- * @fp:  a FILE descriptor used as the output file
- * @p:  a memory block header
- *
- * tries to show some content from the memory block
- */
-
-static void
-xmlMemContentShow(FILE *fp, MEMHDR *p)
-{
-    int i,j,k,len;
-    const char *buf;
-
-    if (p == NULL) {
-	fprintf(fp, " NULL");
-	return;
-    }
-    len = p->mh_size;
-    buf = (const char *) HDR_2_CLIENT(p);
-
-    for (i = 0;i < len;i++) {
-        if (buf[i] == 0) break;
-	if (!isprint((unsigned char) buf[i])) break;
-    }
-    if ((i < 4) && ((buf[i] != 0) || (i == 0))) {
-        if (len >= 4) {
-	    MEMHDR *q;
-	    void *cur;
-
-            for (j = 0;(j < len -3) && (j < 40);j += 4) {
-		cur = *((void **) &buf[j]);
-		q = CLIENT_2_HDR(cur);
-		p = memlist;
-		k = 0;
-		while (p != NULL) {
-		    if (p == q) break;
-		    p = p->mh_next;
-		    if (k++ > 100) break;
-		}
-		if ((p != NULL) && (p == q)) {
-		    fprintf(fp, " pointer to #%lu at index %d",
-		            p->mh_number, j);
-		    return;
-		}
-	    }
-	}
-    } else if ((i == 0) && (buf[i] == 0)) {
-        fprintf(fp," null");
-    } else {
-        if (buf[i] == 0) fprintf(fp," \"%.25s\"", buf);
-	else {
-            fprintf(fp," [");
-	    for (j = 0;j < i;j++)
-                fprintf(fp,"%c", buf[j]);
-            fprintf(fp,"]");
-	}
-    }
-}
-#endif
-
 /**
  * xmlMemDisplayLast:
  * @fp:  a FILE descriptor used as the output file, if NULL, the result is
@@ -705,7 +623,7 @@
             nbBytes, debugMemSize, debugMaxMemSize);
     fprintf(fp,"BLOCK  NUMBER   SIZE  TYPE\n");
     idx = 0;
-    xmlMutexLock(xmlMemMutex);
+    xmlMutexLock(&xmlMemMutex);
     p = memlist;
     while ((p) && (nbBytes > 0)) {
 	  fprintf(fp,"%-5u  %6lu %6lu ",idx++,p->mh_number,
@@ -718,7 +636,7 @@
            case REALLOC_ATOMIC_TYPE:fprintf(fp,"atomicrealloc() in ");break;
            default:
 	        fprintf(fp,"Unknown memory block, may be corrupted");
-		xmlMutexUnlock(xmlMemMutex);
+		xmlMutexUnlock(&xmlMemMutex);
 		if (old_fp == NULL)
 		    fclose(fp);
 		return;
@@ -727,16 +645,12 @@
         if (p->mh_tag != MEMTAG)
 	      fprintf(fp,"  INVALID");
         nb++;
-	if (nb < 100)
-	    xmlMemContentShow(fp, p);
-	else
-	    fprintf(fp," skip");
 
         fprintf(fp,"\n");
 	nbBytes -= (unsigned long)p->mh_size;
         p = p->mh_next;
     }
-    xmlMutexUnlock(xmlMemMutex);
+    xmlMutexUnlock(&xmlMemMutex);
 #else
     fprintf(fp,"Memory list not compiled (MEM_LIST not defined !)\n");
 #endif
@@ -759,12 +673,10 @@
     MEMHDR *p;
     unsigned idx;
     int     nb = 0;
-#if defined(HAVE_LOCALTIME) && defined(HAVE_STRFTIME)
     time_t currentTime;
     char buf[500];
     struct tm * tstruct;
 #endif
-#endif
     FILE *old_fp = fp;
 
     if (fp == NULL) {
@@ -774,19 +686,17 @@
     }
 
 #ifdef MEM_LIST
-#if defined(HAVE_LOCALTIME) && defined(HAVE_STRFTIME)
     currentTime = time(NULL);
     tstruct = localtime(&currentTime);
     strftime(buf, sizeof(buf) - 1, "%I:%M:%S %p", tstruct);
     fprintf(fp,"      %s\n\n", buf);
-#endif
 
 
     fprintf(fp,"      MEMORY ALLOCATED : %lu, MAX was %lu\n",
             debugMemSize, debugMaxMemSize);
     fprintf(fp,"BLOCK  NUMBER   SIZE  TYPE\n");
     idx = 0;
-    xmlMutexLock(xmlMemMutex);
+    xmlMutexLock(&xmlMemMutex);
     p = memlist;
     while (p) {
 	  fprintf(fp,"%-5u  %6lu %6lu ",idx++,p->mh_number,
@@ -799,7 +709,7 @@
            case REALLOC_ATOMIC_TYPE:fprintf(fp,"atomicrealloc() in ");break;
            default:
 	        fprintf(fp,"Unknown memory block, may be corrupted");
-		xmlMutexUnlock(xmlMemMutex);
+		xmlMutexUnlock(&xmlMemMutex);
 		if (old_fp == NULL)
 		    fclose(fp);
 		return;
@@ -808,15 +718,11 @@
         if (p->mh_tag != MEMTAG)
 	      fprintf(fp,"  INVALID");
         nb++;
-	if (nb < 100)
-	    xmlMemContentShow(fp, p);
-	else
-	    fprintf(fp," skip");
 
         fprintf(fp,"\n");
         p = p->mh_next;
     }
-    xmlMutexUnlock(xmlMemMutex);
+    xmlMutexUnlock(&xmlMemMutex);
 #else
     fprintf(fp,"Memory list not compiled (MEM_LIST not defined !)\n");
 #endif
@@ -893,7 +799,7 @@
 	fprintf(fp,"      MEMORY ALLOCATED : %lu, MAX was %lu\n",
 		debugMemSize, debugMaxMemSize);
 #ifdef MEM_LIST
-    xmlMutexLock(xmlMemMutex);
+    xmlMutexLock(&xmlMemMutex);
     if (nr > 0) {
 	fprintf(fp,"NUMBER   SIZE  TYPE   WHERE\n");
 	p = memlist;
@@ -911,13 +817,12 @@
 	        fprintf(fp,"%s(%u)", p->mh_file, p->mh_line);
 	    if (p->mh_tag != MEMTAG)
 		fprintf(fp,"  INVALID");
-	    xmlMemContentShow(fp, p);
 	    fprintf(fp,"\n");
 	    nr--;
 	    p = p->mh_next;
 	}
     }
-    xmlMutexUnlock(xmlMemMutex);
+    xmlMutexUnlock(&xmlMemMutex);
 #endif /* MEM_LIST */
 }
 
@@ -956,66 +861,71 @@
 /**
  * xmlInitMemory:
  *
+ * DEPRECATED: Alias for xmlInitParser.
+ */
+int
+xmlInitMemory(void) {
+    xmlInitParser();
+    return(0);
+}
+
+/**
+ * xmlInitMemoryInternal:
+ *
  * Initialize the memory layer.
  *
  * Returns 0 on success
  */
-int
-xmlInitMemory(void)
-{
-#ifdef HAVE_STDLIB_H
+void
+xmlInitMemoryInternal(void) {
      char *breakpoint;
-#endif
 #ifdef DEBUG_MEMORY
      xmlGenericError(xmlGenericErrorContext,
 	     "xmlInitMemory()\n");
 #endif
-    /*
-     This is really not good code (see Bug 130419).  Suggestions for
-     improvement will be welcome!
-    */
-     if (xmlMemInitialized) return(-1);
-     xmlMemInitialized = 1;
-     xmlMemMutex = xmlNewMutex();
+     xmlInitMutex(&xmlMemMutex);
 
-#ifdef HAVE_STDLIB_H
      breakpoint = getenv("XML_MEM_BREAKPOINT");
      if (breakpoint != NULL) {
          sscanf(breakpoint, "%ud", &xmlMemStopAtBlock);
      }
-#endif
-#ifdef HAVE_STDLIB_H
      breakpoint = getenv("XML_MEM_TRACE");
      if (breakpoint != NULL) {
          sscanf(breakpoint, "%p", &xmlMemTraceBlockAt);
      }
-#endif
 
 #ifdef DEBUG_MEMORY
      xmlGenericError(xmlGenericErrorContext,
 	     "xmlInitMemory() Ok\n");
 #endif
-     return(0);
 }
 
 /**
  * xmlCleanupMemory:
  *
+ * DEPRECATED: This function is a no-op. Call xmlCleanupParser
+ * to free global state but see the warnings there. xmlCleanupParser
+ * should be only called once at program exit. In most cases, you don't
+ * have call cleanup functions at all.
+ */
+void
+xmlCleanupMemory(void) {
+}
+
+/**
+ * xmlCleanupMemoryInternal:
+ *
  * Free up all the memory allocated by the library for its own
  * use. This should not be called by user level code.
  */
 void
-xmlCleanupMemory(void) {
+xmlCleanupMemoryInternal(void) {
 #ifdef DEBUG_MEMORY
      xmlGenericError(xmlGenericErrorContext,
 	     "xmlCleanupMemory()\n");
 #endif
-    if (xmlMemInitialized == 0)
-        return;
 
-    xmlFreeMutex(xmlMemMutex);
-    xmlMemMutex = NULL;
-    xmlMemInitialized = 0;
+    xmlCleanupMutex(&xmlMemMutex);
 #ifdef DEBUG_MEMORY
      xmlGenericError(xmlGenericErrorContext,
 	     "xmlCleanupMemory() Ok\n");
diff --git a/xmlmodule.c b/xmlmodule.c
index 82bf133..cbb25a6 100644
--- a/xmlmodule.c
+++ b/xmlmodule.c
@@ -22,6 +22,8 @@
 #include <libxml/xmlmodule.h>
 #include <libxml/globals.h>
 
+#include "private/error.h"
+
 #ifdef LIBXML_MODULES_ENABLED
 
 struct _xmlModule {
@@ -301,7 +303,7 @@
 #endif /* HAVE_SHLLOAD */
 #endif /* ! HAVE_DLOPEN */
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32)
 
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
@@ -340,127 +342,12 @@
 static int
 xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
 {
-XML_IGNORE_PEDANTIC_WARNINGS
-#ifdef _WIN32_WCE
-    /*
-     * GetProcAddressA seems only available on WinCE
-     */
-    *symbol = GetProcAddressA(handle, name);
-#else
+XML_IGNORE_FPTR_CAST_WARNINGS
     *symbol = GetProcAddress(handle, name);
-#endif
     return (NULL == *symbol) ? -1 : 0;
 XML_POP_WARNINGS
 }
 
 #endif /* _WIN32 */
 
-#ifdef HAVE_BEOS
-
-#include <kernel/image.h>
-
-/*
- * xmlModulePlatformOpen:
- * beos api info: http://www.beunited.org/bebook/The%20Kernel%20Kit/Images.html
- * returns a handle on success, and zero on error.
- */
-
-static void *
-xmlModulePlatformOpen(const char *name)
-{
-    return (void *) load_add_on(name);
-}
-
-/*
- * xmlModulePlatformClose:
- * beos api info: http://www.beunited.org/bebook/The%20Kernel%20Kit/Images.html
- * returns 0 on success, and non-zero on error.
- */
-
-static int
-xmlModulePlatformClose(void *handle)
-{
-    status_t rc;
-
-    rc = unload_add_on((image_id) handle);
-
-    if (rc == B_OK)
-        return 0;
-    else
-        return -1;
-}
-
-/*
- * xmlModulePlatformSymbol:
- * beos api info: http://www.beunited.org/bebook/The%20Kernel%20Kit/Images.html
- * returns 0 on success and the loaded symbol in result, and -1 on error.
- */
-
-static int
-xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
-{
-    status_t rc;
-
-    rc = get_image_symbol((image_id) handle, name, B_SYMBOL_TYPE_ANY, symbol);
-
-    return (rc == B_OK) ? 0 : -1;
-}
-
-#endif /* HAVE_BEOS */
-
-#ifdef HAVE_OS2
-
-#include <os2.h>
-
-/*
- * xmlModulePlatformOpen:
- * os2 api info: http://www.edm2.com/os2api/Dos/DosLoadModule.html
- * returns a handle on success, and zero on error.
- */
-
-static void *
-xmlModulePlatformOpen(const char *name)
-{
-    char errbuf[256];
-    void *handle;
-    int rc;
-
-    rc = DosLoadModule(errbuf, sizeof(errbuf) - 1, name, &handle);
-
-    if (rc)
-        return 0;
-    else
-        return (handle);
-}
-
-/*
- * xmlModulePlatformClose:
- * os2 api info: http://www.edm2.com/os2api/Dos/DosFreeModule.html
- * returns 0 on success, and non-zero on error.
- */
-
-static int
-xmlModulePlatformClose(void *handle)
-{
-    return DosFreeModule(handle);
-}
-
-/*
- * xmlModulePlatformSymbol:
- * os2 api info: http://www.edm2.com/os2api/Dos/DosQueryProcAddr.html
- * returns 0 on success and the loaded symbol in result, and -1 on error.
- */
-
-static int
-xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
-{
-    int rc;
-
-    rc = DosQueryProcAddr(handle, 0, name, symbol);
-
-    return (rc == NO_ERROR) ? 0 : -1;
-}
-
-#endif /* HAVE_OS2 */
-
 #endif /* LIBXML_MODULES_ENABLED */
diff --git a/xmlreader.c b/xmlreader.c
index be3f661..979385a 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -20,13 +20,8 @@
 #ifdef LIBXML_READER_ENABLED
 #include <string.h> /* for memset() only ! */
 #include <stdarg.h>
-
-#ifdef HAVE_CTYPE_H
 #include <ctype.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #include <libxml/xmlmemory.h>
 #include <libxml/xmlIO.h>
@@ -44,7 +39,11 @@
 #include <libxml/pattern.h>
 #endif
 
-#include "buf.h"
+#include "private/buf.h"
+#include "private/tree.h"
+#ifdef LIBXML_XINCLUDE_ENABLED
+#include "private/xinclude.h"
+#endif
 
 #define MAX_ERR_MSG_SIZE 64000
 
@@ -541,30 +540,23 @@
  *
  * Pushes a new entity reference node on top of the entities stack
  *
- * Returns 0 in case of error, the index in the stack otherwise
+ * Returns -1 in case of error, the index in the stack otherwise
  */
 static int
 xmlTextReaderEntPush(xmlTextReaderPtr reader, xmlNodePtr value)
 {
-    if (reader->entMax <= 0) {
-	reader->entMax = 10;
-	reader->entTab = (xmlNodePtr *) xmlMalloc(reader->entMax *
-		                                  sizeof(reader->entTab[0]));
-        if (reader->entTab == NULL) {
-            xmlGenericError(xmlGenericErrorContext, "xmlMalloc failed !\n");
-            return (0);
-        }
-    }
     if (reader->entNr >= reader->entMax) {
-        reader->entMax *= 2;
-        reader->entTab =
-            (xmlNodePtr *) xmlRealloc(reader->entTab,
-                                      reader->entMax *
-                                      sizeof(reader->entTab[0]));
-        if (reader->entTab == NULL) {
+        size_t newSize = reader->entMax == 0 ? 10 : reader->entMax * 2;
+        xmlNodePtr *tmp;
+
+        tmp = (xmlNodePtr *) xmlRealloc(reader->entTab,
+                                        newSize * sizeof(*tmp));
+        if (tmp == NULL) {
             xmlGenericError(xmlGenericErrorContext, "xmlRealloc failed !\n");
-            return (0);
+            return (-1);
         }
+        reader->entTab = tmp;
+        reader->entMax = newSize;
     }
     reader->entTab[reader->entNr] = value;
     reader->ent = value;
@@ -774,7 +766,6 @@
     xmlBufPtr inbuf;
     int val, s;
     xmlTextReaderState oldstate;
-    int alloc;
 
     if ((reader->input == NULL) || (reader->input->buffer == NULL))
 	return(-1);
@@ -782,7 +773,6 @@
     oldstate = reader->state;
     reader->state = XML_TEXTREADER_NONE;
     inbuf = reader->input->buffer;
-    alloc = xmlBufGetAllocationScheme(inbuf);
 
     while (reader->state == XML_TEXTREADER_NONE) {
 	if (xmlBufUse(inbuf) < reader->cur + CHUNK_SIZE) {
@@ -792,7 +782,7 @@
 	    if (reader->mode != XML_TEXTREADER_MODE_EOF) {
 		val = xmlParserInputBufferRead(reader->input, 4096);
 		if ((val == 0) &&
-		    (alloc == XML_BUFFER_ALLOC_IMMUTABLE)) {
+		    (reader->input->readcallback == NULL)) {
 		    if (xmlBufUse(inbuf) == reader->cur) {
 			reader->mode = XML_TEXTREADER_MODE_EOF;
 			reader->state = oldstate;
@@ -841,7 +831,7 @@
      * Discard the consumed input when needed and possible
      */
     if (reader->mode == XML_TEXTREADER_MODE_INTERACTIVE) {
-        if (alloc != XML_BUFFER_ALLOC_IMMUTABLE) {
+        if (reader->input->readcallback != NULL) {
 	    if ((reader->cur >= 4096) &&
 		(xmlBufUse(inbuf) - reader->cur <= CHUNK_SIZE)) {
 		val = xmlBufShrink(inbuf, reader->cur);
@@ -1039,7 +1029,11 @@
 	    if ((node->children != NULL) &&
 		(node->children->type == XML_ENTITY_DECL) &&
 		(node->children->children != NULL)) {
-		xmlTextReaderEntPush(reader, node);
+		if (xmlTextReaderEntPush(reader, node) < 0) {
+                    if (node == oldnode)
+                        break;
+                    goto skip_children;
+                }
 		node = node->children->children;
 		continue;
 	    } else {
@@ -1185,6 +1179,7 @@
     buffer = xmlBufferCreate();
     if (buffer == NULL)
        return NULL;
+    xmlBufferSetAllocationScheme(buffer, XML_BUFFER_ALLOC_DOUBLEIT);
 
     for ( ; node != NULL; node = node->next) {
        switch (node->type) {
@@ -1389,9 +1384,6 @@
     reader->node = reader->node->parent;
     if ((reader->node == NULL) ||
 	(reader->node->type == XML_DOCUMENT_NODE) ||
-#ifdef LIBXML_DOCB_ENABLED
-	(reader->node->type == XML_DOCB_DOCUMENT_NODE) ||
-#endif
 	(reader->node->type == XML_HTML_DOCUMENT_NODE)) {
 	if (reader->mode != XML_TEXTREADER_MODE_EOF) {
 	    val = xmlParseChunk(reader->ctxt, "", 0, 1);
@@ -1460,6 +1452,7 @@
 	    reader->xincctxt = xmlXIncludeNewContext(reader->ctxt->myDoc);
 	    xmlXIncludeSetFlags(reader->xincctxt,
 	                        reader->parserFlags & (~XML_PARSE_NOXINCNODE));
+            xmlXIncludeSetStreamingMode(reader->xincctxt, 1);
 	}
 	/*
 	 * expand that node and process it
@@ -1486,7 +1479,8 @@
 	if ((reader->node->children != NULL) &&
 	    (reader->node->children->type == XML_ENTITY_DECL) &&
 	    (reader->node->children->children != NULL)) {
-	    xmlTextReaderEntPush(reader, reader->node);
+	    if (xmlTextReaderEntPush(reader, reader->node) < 0)
+                goto get_next_node;
 	    reader->node = reader->node->children->children;
 	}
 #ifdef LIBXML_REGEXP_ENABLED
@@ -1641,11 +1635,14 @@
     buff = xmlBufferCreate();
     if (buff == NULL)
         return NULL;
+    xmlBufferSetAllocationScheme(buff, XML_BUFFER_ALLOC_DOUBLEIT);
     for (cur_node = reader->node->children; cur_node != NULL;
          cur_node = cur_node->next) {
         /* XXX: Why is the node copied? */
         node = xmlDocCopyNode(cur_node, doc, 1);
+        /* XXX: Why do we need a second buffer? */
         buff2 = xmlBufferCreate();
+        xmlBufferSetAllocationScheme(buff2, XML_BUFFER_ALLOC_DOUBLEIT);
         if (xmlNodeDump(buff2, doc, node, 0, 0) == -1) {
             xmlFreeNode(node);
             xmlBufferFree(buff2);
@@ -1695,6 +1692,7 @@
 		node = xmlDocCopyNode(node, doc, 1);
 	}
     buff = xmlBufferCreate();
+    xmlBufferSetAllocationScheme(buff, XML_BUFFER_ALLOC_DOUBLEIT);
     if (xmlNodeDump(buff, doc, node, 0, 0) == -1) {
         xmlFreeNode(node);
         xmlBufferFree(buff);
@@ -2025,7 +2023,7 @@
     }
     /* no operation on a reader should require a huge buffer */
     xmlBufSetAllocationScheme(ret->buffer,
-			      XML_BUFFER_ALLOC_BOUNDED);
+			      XML_BUFFER_ALLOC_DOUBLEIT);
     ret->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
     if (ret->sax == NULL) {
 	xmlBufFree(ret->buffer);
@@ -2184,36 +2182,16 @@
 	xmlFree(reader->patternTab);
     }
 #endif
-    if (reader->faketext != NULL) {
-	xmlFreeNode(reader->faketext);
-    }
+    if (reader->mode != XML_TEXTREADER_MODE_CLOSED)
+        xmlTextReaderClose(reader);
     if (reader->ctxt != NULL) {
         if (reader->dict == reader->ctxt->dict)
 	    reader->dict = NULL;
-#ifdef LIBXML_VALID_ENABLED
-	if ((reader->ctxt->vctxt.vstateTab != NULL) &&
-	    (reader->ctxt->vctxt.vstateMax > 0)){
-#ifdef LIBXML_REGEXP_ENABLED
-            while (reader->ctxt->vctxt.vstateNr > 0)
-                xmlValidatePopElement(&reader->ctxt->vctxt, NULL, NULL, NULL);
-#endif /* LIBXML_REGEXP_ENABLED */
-	    xmlFree(reader->ctxt->vctxt.vstateTab);
-	    reader->ctxt->vctxt.vstateTab = NULL;
-	    reader->ctxt->vctxt.vstateMax = 0;
-	}
-#endif /* LIBXML_VALID_ENABLED */
-	if (reader->ctxt->myDoc != NULL) {
-	    if (reader->preserve == 0)
-		xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc);
-	    reader->ctxt->myDoc = NULL;
-	}
 	if (reader->allocs & XML_TEXTREADER_CTXT)
 	    xmlFreeParserCtxt(reader->ctxt);
     }
     if (reader->sax != NULL)
 	xmlFree(reader->sax);
-    if ((reader->input != NULL)  && (reader->allocs & XML_TEXTREADER_INPUT))
-	xmlFreeParserInputBuffer(reader->input);
     if (reader->buffer != NULL)
         xmlBufFree(reader->buffer);
     if (reader->entTab != NULL)
@@ -2244,7 +2222,23 @@
     reader->node = NULL;
     reader->curnode = NULL;
     reader->mode = XML_TEXTREADER_MODE_CLOSED;
+    if (reader->faketext != NULL) {
+        xmlFreeNode(reader->faketext);
+        reader->faketext = NULL;
+    }
     if (reader->ctxt != NULL) {
+#ifdef LIBXML_VALID_ENABLED
+	if ((reader->ctxt->vctxt.vstateTab != NULL) &&
+	    (reader->ctxt->vctxt.vstateMax > 0)){
+#ifdef LIBXML_REGEXP_ENABLED
+            while (reader->ctxt->vctxt.vstateNr > 0)
+                xmlValidatePopElement(&reader->ctxt->vctxt, NULL, NULL, NULL);
+#endif /* LIBXML_REGEXP_ENABLED */
+	    xmlFree(reader->ctxt->vctxt.vstateTab);
+	    reader->ctxt->vctxt.vstateTab = NULL;
+	    reader->ctxt->vctxt.vstateMax = 0;
+	}
+#endif /* LIBXML_VALID_ENABLED */
 	xmlStopParser(reader->ctxt);
 	if (reader->ctxt->myDoc != NULL) {
 	    if (reader->preserve == 0)
@@ -2983,9 +2977,6 @@
 	    return(XML_READER_TYPE_COMMENT);
         case XML_DOCUMENT_NODE:
         case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    return(XML_READER_TYPE_DOCUMENT);
         case XML_DOCUMENT_FRAG_NODE:
 	    return(XML_READER_TYPE_DOCUMENT_FRAGMENT);
@@ -3140,9 +3131,6 @@
 	    return(xmlStrdup(BAD_CAST "#comment"));
         case XML_DOCUMENT_NODE:
         case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    return(xmlStrdup(BAD_CAST "#document"));
         case XML_DOCUMENT_FRAG_NODE:
 	    return(xmlStrdup(BAD_CAST "#document-fragment"));
@@ -3211,9 +3199,6 @@
 	    return(CONSTSTR(BAD_CAST "#comment"));
         case XML_DOCUMENT_NODE:
         case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    return(CONSTSTR(BAD_CAST "#document"));
         case XML_DOCUMENT_FRAG_NODE:
 	    return(CONSTSTR(BAD_CAST "#document-fragment"));
@@ -3572,7 +3557,7 @@
                         return (NULL);
                     }
 		    xmlBufSetAllocationScheme(reader->buffer,
-		                              XML_BUFFER_ALLOC_BOUNDED);
+		                              XML_BUFFER_ALLOC_DOUBLEIT);
                 } else
                     xmlBufEmpty(reader->buffer);
 	        xmlBufGetNodeContent(reader->buffer, node);
@@ -3582,7 +3567,7 @@
 		    xmlBufFree(reader->buffer);
 		    reader->buffer = xmlBufCreateSize(100);
 		    xmlBufSetAllocationScheme(reader->buffer,
-		                              XML_BUFFER_ALLOC_BOUNDED);
+		                              XML_BUFFER_ALLOC_DOUBLEIT);
 		    ret = BAD_CAST "";
 		}
 		return(ret);
@@ -3629,7 +3614,7 @@
     if (reader == NULL)
 	return(-1);
     /* TODO maybe lookup the attribute value for " first */
-    return((int) '"');
+    return('"');
 }
 
 /**
@@ -3994,19 +3979,19 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 static char *xmlTextReaderBuildMessage(const char *msg, va_list ap) LIBXML_ATTR_FORMAT(1,0);
 
-static void XMLCDECL
+static void
 xmlTextReaderValidityError(void *ctxt, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 
-static void XMLCDECL
+static void
 xmlTextReaderValidityWarning(void *ctxt, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 
-static void XMLCDECL
+static void
 xmlTextReaderValidityErrorRelay(void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 
-static void XMLCDECL
+static void
 xmlTextReaderValidityWarningRelay(void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 
-static void XMLCDECL
+static void
 xmlTextReaderValidityErrorRelay(void *ctx, const char *msg, ...)
 {
     xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx;
@@ -4029,7 +4014,7 @@
     va_end(ap);
 }
 
-static void XMLCDECL
+static void
 xmlTextReaderValidityWarningRelay(void *ctx, const char *msg, ...)
 {
     xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx;
@@ -4798,7 +4783,7 @@
     }
 }
 
-static void XMLCDECL LIBXML_ATTR_FORMAT(2,3)
+static void LIBXML_ATTR_FORMAT(2,3)
 xmlTextReaderError(void *ctxt, const char *msg, ...)
 {
     va_list ap;
@@ -4811,7 +4796,7 @@
 
 }
 
-static void XMLCDECL LIBXML_ATTR_FORMAT(2,3)
+static void LIBXML_ATTR_FORMAT(2,3)
 xmlTextReaderWarning(void *ctxt, const char *msg, ...)
 {
     va_list ap;
@@ -4823,7 +4808,7 @@
     va_end(ap);
 }
 
-static void XMLCDECL
+static void
 xmlTextReaderValidityError(void *ctxt, const char *msg, ...)
 {
     va_list ap;
@@ -4843,7 +4828,7 @@
     }
 }
 
-static void XMLCDECL
+static void
 xmlTextReaderValidityWarning(void *ctxt, const char *msg, ...)
 {
     va_list ap;
@@ -5096,7 +5081,7 @@
     }
     /* no operation on a reader should require a huge buffer */
     xmlBufSetAllocationScheme(reader->buffer,
-			      XML_BUFFER_ALLOC_BOUNDED);
+			      XML_BUFFER_ALLOC_DOUBLEIT);
     if (reader->sax == NULL)
 	reader->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
     if (reader->sax == NULL) {
@@ -5377,8 +5362,7 @@
     xmlTextReaderPtr reader;
     xmlParserInputBufferPtr buf;
 
-    buf = xmlParserInputBufferCreateStatic(buffer, size,
-                                      XML_CHAR_ENCODING_NONE);
+    buf = xmlParserInputBufferCreateMem(buffer, size, XML_CHAR_ENCODING_NONE);
     if (buf == NULL) {
         return (NULL);
     }
@@ -5604,7 +5588,7 @@
     if (buffer == NULL)
         return (-1);
 
-    input = xmlParserInputBufferCreateStatic(buffer, size,
+    input = xmlParserInputBufferCreateMem(buffer, size,
                                       XML_CHAR_ENCODING_NONE);
     if (input == NULL) {
         return (-1);
diff --git a/xmlregexp.c b/xmlregexp.c
index 984c7ac..5638ddc 100644
--- a/xmlregexp.c
+++ b/xmlregexp.c
@@ -23,12 +23,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#ifdef HAVE_LIMITS_H
 #include <limits.h>
-#endif
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
-#endif
 
 #include <libxml/tree.h>
 #include <libxml/parserInternals.h>
@@ -36,9 +31,9 @@
 #include <libxml/xmlautomata.h>
 #include <libxml/xmlunicode.h>
 
-#ifndef INT_MAX
-#define INT_MAX 123456789 /* easy to flag and big enough for our needs */
-#endif
+#include "private/error.h"
+#include "private/regexp.h"
+
 #ifndef SIZE_MAX
 #define SIZE_MAX ((size_t) -1)
 #endif
@@ -369,8 +364,6 @@
 static int xmlRegCheckCharacterRange(xmlRegAtomType type, int codepoint,
                   int neg, int start, int end, const xmlChar *blockName);
 
-void xmlAutomataSetFlags(xmlAutomataPtr am, int flags);
-
 /************************************************************************
  *									*
  *		Regexp memory error handler				*
@@ -443,7 +436,8 @@
     void *ret;
 
     /* Check for overflow */
-    if (dim1 > SIZE_MAX / dim2 / elemSize)
+    if ((dim2 == 0) || (elemSize == 0) ||
+        (dim1 > SIZE_MAX / dim2 / elemSize))
         return (NULL);
     totalSize = dim1 * dim2 * elemSize;
     ret = xmlMalloc(totalSize);
@@ -1245,7 +1239,7 @@
  *									*
  ************************************************************************/
 
-static void
+static xmlRegRangePtr
 xmlRegAtomAddRange(xmlRegParserCtxtPtr ctxt, xmlRegAtomPtr atom,
 	           int neg, xmlRegAtomType type, int start, int end,
 		   xmlChar *blockName) {
@@ -1253,11 +1247,11 @@
 
     if (atom == NULL) {
 	ERROR("add range: atom is NULL");
-	return;
+	return(NULL);
     }
     if (atom->type != XML_REGEXP_RANGES) {
 	ERROR("add range: atom is not ranges");
-	return;
+	return(NULL);
     }
     if (atom->maxRanges == 0) {
 	atom->maxRanges = 4;
@@ -1266,7 +1260,7 @@
 	if (atom->ranges == NULL) {
 	    xmlRegexpErrMemory(ctxt, "adding ranges");
 	    atom->maxRanges = 0;
-	    return;
+	    return(NULL);
 	}
     } else if (atom->nbRanges >= atom->maxRanges) {
 	xmlRegRangePtr *tmp;
@@ -1276,16 +1270,17 @@
 	if (tmp == NULL) {
 	    xmlRegexpErrMemory(ctxt, "adding ranges");
 	    atom->maxRanges /= 2;
-	    return;
+	    return(NULL);
 	}
 	atom->ranges = tmp;
     }
     range = xmlRegNewRange(ctxt, neg, type, start, end);
     if (range == NULL)
-	return;
+	return(NULL);
     range->blockName = blockName;
     atom->ranges[atom->nbRanges++] = range;
 
+    return(range);
 }
 
 static int
@@ -1322,26 +1317,17 @@
 	ERROR("atom push: atom is NULL");
 	return(-1);
     }
-    if (ctxt->maxAtoms == 0) {
-	ctxt->maxAtoms = 4;
-	ctxt->atoms = (xmlRegAtomPtr *) xmlMalloc(ctxt->maxAtoms *
-		                             sizeof(xmlRegAtomPtr));
-	if (ctxt->atoms == NULL) {
-	    xmlRegexpErrMemory(ctxt, "pushing atom");
-	    ctxt->maxAtoms = 0;
-	    return(-1);
-	}
-    } else if (ctxt->nbAtoms >= ctxt->maxAtoms) {
+    if (ctxt->nbAtoms >= ctxt->maxAtoms) {
+        size_t newSize = ctxt->maxAtoms ? ctxt->maxAtoms * 2 : 4;
 	xmlRegAtomPtr *tmp;
-	ctxt->maxAtoms *= 2;
-	tmp = (xmlRegAtomPtr *) xmlRealloc(ctxt->atoms, ctxt->maxAtoms *
-		                             sizeof(xmlRegAtomPtr));
+
+	tmp = xmlRealloc(ctxt->atoms, newSize * sizeof(xmlRegAtomPtr));
 	if (tmp == NULL) {
 	    xmlRegexpErrMemory(ctxt, "allocating counter");
-	    ctxt->maxAtoms /= 2;
 	    return(-1);
 	}
 	ctxt->atoms = tmp;
+        ctxt->maxAtoms = newSize;
     }
     atom->no = ctxt->nbAtoms;
     ctxt->atoms[ctxt->nbAtoms++] = atom;
@@ -1455,33 +1441,31 @@
     xmlRegStateAddTransTo(ctxt, target, state->no);
 }
 
-static int
-xmlRegStatePush(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr state) {
-    if (state == NULL) return(-1);
-    if (ctxt->maxStates == 0) {
-	ctxt->maxStates = 4;
-	ctxt->states = (xmlRegStatePtr *) xmlMalloc(ctxt->maxStates *
-		                             sizeof(xmlRegStatePtr));
-	if (ctxt->states == NULL) {
-	    xmlRegexpErrMemory(ctxt, "adding state");
-	    ctxt->maxStates = 0;
-	    return(-1);
-	}
-    } else if (ctxt->nbStates >= ctxt->maxStates) {
+static xmlRegStatePtr
+xmlRegStatePush(xmlRegParserCtxtPtr ctxt) {
+    xmlRegStatePtr state;
+
+    if (ctxt->nbStates >= ctxt->maxStates) {
+        size_t newSize = ctxt->maxStates ? ctxt->maxStates * 2 : 4;
 	xmlRegStatePtr *tmp;
-	ctxt->maxStates *= 2;
-	tmp = (xmlRegStatePtr *) xmlRealloc(ctxt->states, ctxt->maxStates *
-		                             sizeof(xmlRegStatePtr));
+
+	tmp = xmlRealloc(ctxt->states, newSize * sizeof(tmp[0]));
 	if (tmp == NULL) {
 	    xmlRegexpErrMemory(ctxt, "adding state");
-	    ctxt->maxStates /= 2;
-	    return(-1);
+	    return(NULL);
 	}
 	ctxt->states = tmp;
+	ctxt->maxStates = newSize;
     }
+
+    state = xmlRegNewState(ctxt);
+    if (state == NULL)
+        return(NULL);
+
     state->no = ctxt->nbStates;
     ctxt->states[ctxt->nbStates++] = state;
-    return(0);
+
+    return(state);
 }
 
 /**
@@ -1492,19 +1476,21 @@
  * @lax:
  *
  */
-static void
+static int
 xmlFAGenerateAllTransition(xmlRegParserCtxtPtr ctxt,
 			   xmlRegStatePtr from, xmlRegStatePtr to,
 			   int lax) {
     if (to == NULL) {
-	to = xmlRegNewState(ctxt);
-	xmlRegStatePush(ctxt, to);
+	to = xmlRegStatePush(ctxt);
+        if (to == NULL)
+            return(-1);
 	ctxt->state = to;
     }
     if (lax)
 	xmlRegStateAddTrans(ctxt, from, NULL, to, -1, REGEXP_ALL_LAX_COUNTER);
     else
 	xmlRegStateAddTrans(ctxt, from, NULL, to, -1, REGEXP_ALL_COUNTER);
+    return(0);
 }
 
 /**
@@ -1514,15 +1500,17 @@
  * @to:  the target state or NULL for building a new one
  *
  */
-static void
+static int
 xmlFAGenerateEpsilonTransition(xmlRegParserCtxtPtr ctxt,
 			       xmlRegStatePtr from, xmlRegStatePtr to) {
     if (to == NULL) {
-	to = xmlRegNewState(ctxt);
-	xmlRegStatePush(ctxt, to);
+	to = xmlRegStatePush(ctxt);
+        if (to == NULL)
+            return(-1);
 	ctxt->state = to;
     }
     xmlRegStateAddTrans(ctxt, from, NULL, to, -1, -1);
+    return(0);
 }
 
 /**
@@ -1533,15 +1521,17 @@
  * counter:  the counter for that transition
  *
  */
-static void
+static int
 xmlFAGenerateCountedEpsilonTransition(xmlRegParserCtxtPtr ctxt,
 	    xmlRegStatePtr from, xmlRegStatePtr to, int counter) {
     if (to == NULL) {
-	to = xmlRegNewState(ctxt);
-	xmlRegStatePush(ctxt, to);
+	to = xmlRegStatePush(ctxt);
+        if (to == NULL)
+            return(-1);
 	ctxt->state = to;
     }
     xmlRegStateAddTrans(ctxt, from, NULL, to, counter, -1);
+    return(0);
 }
 
 /**
@@ -1552,15 +1542,17 @@
  * counter:  the counter for that transition
  *
  */
-static void
+static int
 xmlFAGenerateCountedTransition(xmlRegParserCtxtPtr ctxt,
 	    xmlRegStatePtr from, xmlRegStatePtr to, int counter) {
     if (to == NULL) {
-	to = xmlRegNewState(ctxt);
-	xmlRegStatePush(ctxt, to);
+	to = xmlRegStatePush(ctxt);
+        if (to == NULL)
+            return(-1);
 	ctxt->state = to;
     }
     xmlRegStateAddTrans(ctxt, from, NULL, to, -1, counter);
+    return(0);
 }
 
 /**
@@ -1587,9 +1579,6 @@
 	 * this is a subexpression handling one should not need to
 	 * create a new node except for XML_REGEXP_QUANT_RANGE.
 	 */
-	if (xmlRegAtomPush(ctxt, atom) < 0) {
-	    return(-1);
-	}
 	if ((to != NULL) && (atom->stop != to) &&
 	    (atom->quant != XML_REGEXP_QUANT_RANGE)) {
 	    /*
@@ -1599,8 +1588,9 @@
 #ifdef DV
 	} else if ((to == NULL) && (atom->quant != XML_REGEXP_QUANT_RANGE) &&
 		   (atom->quant != XML_REGEXP_QUANT_ONCE)) {
-	    to = xmlRegNewState(ctxt);
-	    xmlRegStatePush(ctxt, to);
+	    to = xmlRegStatePush(ctxt, to);
+            if (to == NULL)
+                return(-1);
 	    ctxt->state = to;
 	    xmlFAGenerateEpsilonTransition(ctxt, atom->stop, to);
 #endif
@@ -1640,8 +1630,9 @@
 		if (to != NULL) {
 		    newstate = to;
 		} else {
-		    newstate = xmlRegNewState(ctxt);
-		    xmlRegStatePush(ctxt, newstate);
+		    newstate = xmlRegStatePush(ctxt);
+                    if (newstate == NULL)
+                        return(-1);
 		}
 
 		/*
@@ -1669,10 +1660,14 @@
 		    copy->max = 0;
 
 		    if (xmlFAGenerateTransitions(ctxt, atom->start, NULL, copy)
-		        < 0)
+		        < 0) {
+                        xmlRegFreeAtom(copy);
 			return(-1);
+                    }
 		    inter = ctxt->state;
 		    counter = xmlRegGetCounter(ctxt);
+                    if (counter < 0)
+                        return(-1);
 		    ctxt->counters[counter].min = atom->min - 1;
 		    ctxt->counters[counter].max = atom->max - 1;
 		    /* count the number of times we see it again */
@@ -1691,14 +1686,16 @@
 		     * epsilon transition.
 		     */
 		    counter = xmlRegGetCounter(ctxt);
+                    if (counter < 0)
+                        return(-1);
 		    ctxt->counters[counter].min = atom->min - 1;
 		    ctxt->counters[counter].max = atom->max - 1;
-		    /* count the number of times we see it again */
-		    xmlFAGenerateCountedEpsilonTransition(ctxt, atom->stop,
-						   atom->start, counter);
 		    /* allow a way out based on the count */
 		    xmlFAGenerateCountedTransition(ctxt, atom->stop,
 			                           newstate, counter);
+		    /* count the number of times we see it again */
+		    xmlFAGenerateCountedEpsilonTransition(ctxt, atom->stop,
+						   atom->start, counter);
 		    /* and if needed allow a direct exit for 0 */
 		    if (atom->min == 0)
 			xmlFAGenerateEpsilonTransition(ctxt, atom->start0,
@@ -1713,6 +1710,8 @@
 	    default:
 		break;
 	}
+	if (xmlRegAtomPush(ctxt, atom) < 0)
+	    return(-1);
 	return(0);
     }
     if ((atom->min == 0) && (atom->max == 0) &&
@@ -1721,12 +1720,9 @@
 	 * we can discard the atom and generate an epsilon transition instead
 	 */
 	if (to == NULL) {
-	    to = xmlRegNewState(ctxt);
-	    if (to != NULL)
-		xmlRegStatePush(ctxt, to);
-	    else {
+	    to = xmlRegStatePush(ctxt);
+	    if (to == NULL)
 		return(-1);
-	    }
 	}
 	xmlFAGenerateEpsilonTransition(ctxt, from, to);
 	ctxt->state = to;
@@ -1734,12 +1730,9 @@
 	return(0);
     }
     if (to == NULL) {
-	to = xmlRegNewState(ctxt);
-	if (to != NULL)
-	    xmlRegStatePush(ctxt, to);
-	else {
+	to = xmlRegStatePush(ctxt);
+	if (to == NULL)
 	    return(-1);
-	}
     }
     end = to;
     if ((atom->quant == XML_REGEXP_QUANT_MULT) ||
@@ -1751,18 +1744,12 @@
 	 */
         xmlRegStatePtr tmp;
 
-	tmp = xmlRegNewState(ctxt);
-	if (tmp != NULL)
-	    xmlRegStatePush(ctxt, tmp);
-	else {
+	tmp = xmlRegStatePush(ctxt);
+        if (tmp == NULL)
 	    return(-1);
-	}
 	xmlFAGenerateEpsilonTransition(ctxt, tmp, to);
 	to = tmp;
     }
-    if (xmlRegAtomPush(ctxt, atom) < 0) {
-	return(-1);
-    }
     if ((atom->quant == XML_REGEXP_QUANT_RANGE) &&
         (atom->min == 0) && (atom->max > 0)) {
 	nullable = 1;
@@ -1793,6 +1780,8 @@
 	default:
 	    break;
     }
+    if (xmlRegAtomPush(ctxt, atom) < 0)
+	return(-1);
     return(0);
 }
 
@@ -3364,7 +3353,6 @@
 		    /*
 		     * this is a multiple input sequence
 		     * If there is a counter associated increment it now.
-		     * before potentially saving and rollback
 		     * do not increment if the counter is already over the
 		     * maximum limit in which case get to next transition
 		     */
@@ -3380,15 +3368,17 @@
 			counter = &exec->comp->counters[trans->counter];
 			if (exec->counts[trans->counter] >= counter->max)
 			    continue; /* for loop on transitions */
-
+                    }
+                    /* Save before incrementing */
+		    if (exec->state->nbTrans > exec->transno + 1) {
+			xmlFARegExecSave(exec);
+		    }
+		    if (trans->counter >= 0) {
 #ifdef DEBUG_REGEXP_EXEC
 			printf("Increasing count %d\n", trans->counter);
 #endif
 			exec->counts[trans->counter]++;
 		    }
-		    if (exec->state->nbTrans > exec->transno + 1) {
-			xmlFARegExecSave(exec);
-		    }
 		    exec->transcount = 1;
 		    do {
 			/*
@@ -4899,14 +4889,60 @@
     }
     if (ctxt->atom == NULL) {
 	ctxt->atom = xmlRegNewAtom(ctxt, type);
-	if (ctxt->atom != NULL)
-	    ctxt->atom->valuep = blockName;
+        if (ctxt->atom == NULL) {
+            xmlFree(blockName);
+            return;
+        }
+	ctxt->atom->valuep = blockName;
     } else if (ctxt->atom->type == XML_REGEXP_RANGES) {
-        xmlRegAtomAddRange(ctxt, ctxt->atom, ctxt->neg,
-		           type, 0, 0, blockName);
+        if (xmlRegAtomAddRange(ctxt, ctxt->atom, ctxt->neg,
+                               type, 0, 0, blockName) == NULL) {
+            xmlFree(blockName);
+        }
     }
 }
 
+static int parse_escaped_codeunit(xmlRegParserCtxtPtr ctxt)
+{
+    int val = 0, i, cur;
+    for (i = 0; i < 4; i++) {
+	NEXT;
+	val *= 16;
+	cur = CUR;
+	if (cur >= '0' && cur <= '9') {
+	    val += cur - '0';
+	} else if (cur >= 'A' && cur <= 'F') {
+	    val += cur - 'A' + 10;
+	} else if (cur >= 'a' && cur <= 'f') {
+	    val += cur - 'a' + 10;
+	} else {
+	    ERROR("Expecting hex digit");
+	    return -1;
+	}
+    }
+    return val;
+}
+
+static int parse_escaped_codepoint(xmlRegParserCtxtPtr ctxt)
+{
+    int val = parse_escaped_codeunit(ctxt);
+    if (0xD800 <= val && val <= 0xDBFF) {
+	NEXT;
+	if (CUR == '\\') {
+	    NEXT;
+	    if (CUR == 'u') {
+		int low = parse_escaped_codeunit(ctxt);
+		if (0xDC00 <= low && low <= 0xDFFF) {
+		    return (val - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000;
+		}
+	    }
+	}
+	ERROR("Invalid low surrogate pair code unit");
+	val = -1;
+    }
+    return val;
+}
+
 /**
  * xmlFAParseCharClassEsc:
  * @ctxt:  a regexp parser context
@@ -4969,7 +5005,25 @@
 	(cur == '|') || (cur == '.') || (cur == '?') || (cur == '*') ||
 	(cur == '+') || (cur == '(') || (cur == ')') || (cur == '{') ||
 	(cur == '}') || (cur == 0x2D) || (cur == 0x5B) || (cur == 0x5D) ||
-	(cur == 0x5E)) {
+	(cur == 0x5E) ||
+
+	/* Non-standard escape sequences:
+	 *                  Java 1.8|.NET Core 3.1|MSXML 6 */
+	(cur == '!') ||     /*   +  |     +       |    +   */
+	(cur == '"') ||     /*   +  |     +       |    +   */
+	(cur == '#') ||     /*   +  |     +       |    +   */
+	(cur == '$') ||     /*   +  |     +       |    +   */
+	(cur == '%') ||     /*   +  |     +       |    +   */
+	(cur == ',') ||     /*   +  |     +       |    +   */
+	(cur == '/') ||     /*   +  |     +       |    +   */
+	(cur == ':') ||     /*   +  |     +       |    +   */
+	(cur == ';') ||     /*   +  |     +       |    +   */
+	(cur == '=') ||     /*   +  |     +       |    +   */
+	(cur == '>') ||     /*      |     +       |    +   */
+	(cur == '@') ||     /*   +  |     +       |    +   */
+	(cur == '`') ||     /*   +  |     +       |    +   */
+	(cur == '~') ||     /*   +  |     +       |    +   */
+	(cur == 'u')) {     /*      |     +       |    +   */
 	if (ctxt->atom == NULL) {
 	    ctxt->atom = xmlRegNewAtom(ctxt, XML_REGEXP_CHARVAL);
 	    if (ctxt->atom != NULL) {
@@ -4983,6 +5037,13 @@
 		    case 't':
 		        ctxt->atom->codepoint = '\t';
 			break;
+		    case 'u':
+			cur = parse_escaped_codepoint(ctxt);
+			if (cur < 0) {
+			    return;
+			}
+			ctxt->atom->codepoint = cur;
+			break;
 		    default:
 			ctxt->atom->codepoint = cur;
 		}
@@ -5107,7 +5168,7 @@
     }
     NEXTL(len);
     cur = CUR;
-    if ((cur != '-') || (NXT(1) == ']')) {
+    if ((cur != '-') || (NXT(1) == '[') || (NXT(1) == ']')) {
         xmlRegAtomAddRange(ctxt, ctxt->atom, ctxt->neg,
 		              XML_REGEXP_CHARVAL, start, end, NULL);
 	return;
@@ -5441,8 +5502,12 @@
 	xmlFAGenerateEpsilonTransition(ctxt, previous, to);
     } else {
 	if (xmlFAGenerateTransitions(ctxt, previous,
-	        (CUR=='|' || CUR==')' || CUR==0) ? to : NULL, ctxt->atom) < 0)
+	        (CUR=='|' || CUR==')' || CUR==0) ? to : NULL,
+                ctxt->atom) < 0) {
+            xmlRegFreeAtom(ctxt->atom);
+            ctxt->atom = NULL;
 	    return(-1);
+        }
 	previous = ctxt->state;
 	ctxt->atom = NULL;
     }
@@ -5451,8 +5516,11 @@
 	if (ret != 0) {
 	    if (xmlFAGenerateTransitions(ctxt, previous,
 	            (CUR=='|' || CUR==')' || CUR==0) ? to : NULL,
-                    ctxt->atom) < 0)
-		    return(-1);
+                    ctxt->atom) < 0) {
+                xmlRegFreeAtom(ctxt->atom);
+                ctxt->atom = NULL;
+                return(-1);
+            }
 	    previous = ctxt->state;
 	    ctxt->atom = NULL;
 	}
@@ -5553,7 +5621,7 @@
  */
 xmlRegexpPtr
 xmlRegexpCompile(const xmlChar *regexp) {
-    xmlRegexpPtr ret;
+    xmlRegexpPtr ret = NULL;
     xmlRegParserCtxtPtr ctxt;
 
     ctxt = xmlRegNewParserCtxt(regexp);
@@ -5561,19 +5629,19 @@
 	return(NULL);
 
     /* initialize the parser */
+    ctxt->state = xmlRegStatePush(ctxt);
+    if (ctxt->state == NULL)
+        goto error;
+    ctxt->start = ctxt->state;
     ctxt->end = NULL;
-    ctxt->start = ctxt->state = xmlRegNewState(ctxt);
-    xmlRegStatePush(ctxt, ctxt->start);
 
     /* parse the expression building an automata */
     xmlFAParseRegExp(ctxt, 1);
     if (CUR != 0) {
 	ERROR("xmlFAParseRegExp: extra characters");
     }
-    if (ctxt->error != 0) {
-	xmlRegFreeParserCtxt(ctxt);
-	return(NULL);
-    }
+    if (ctxt->error != 0)
+        goto error;
     ctxt->end = ctxt->state;
     ctxt->start->type = XML_REGEXP_START_STATE;
     ctxt->end->type = XML_REGEXP_FINAL_STATE;
@@ -5582,11 +5650,11 @@
     xmlFAEliminateEpsilonTransitions(ctxt);
 
 
-    if (ctxt->error != 0) {
-	xmlRegFreeParserCtxt(ctxt);
-	return(NULL);
-    }
+    if (ctxt->error != 0)
+        goto error;
     ret = xmlRegEpxFromParse(ctxt);
+
+error:
     xmlRegFreeParserCtxt(ctxt);
     return(ret);
 }
@@ -5711,18 +5779,15 @@
 	return(NULL);
 
     /* initialize the parser */
+    ctxt->state = xmlRegStatePush(ctxt);
+    if (ctxt->state == NULL) {
+	xmlFreeAutomata(ctxt);
+	return(NULL);
+    }
+    ctxt->start = ctxt->state;
     ctxt->end = NULL;
-    ctxt->start = ctxt->state = xmlRegNewState(ctxt);
-    if (ctxt->start == NULL) {
-	xmlFreeAutomata(ctxt);
-	return(NULL);
-    }
+
     ctxt->start->type = XML_REGEXP_START_STATE;
-    if (xmlRegStatePush(ctxt, ctxt->start) < 0) {
-        xmlRegFreeState(ctxt->start);
-	xmlFreeAutomata(ctxt);
-	return(NULL);
-    }
     ctxt->flags = 0;
 
     return(ctxt);
@@ -5985,6 +6050,8 @@
 	return(NULL);
     if ((token2 == NULL) || (*token2 == 0)) {
 	atom->valuep = xmlStrdup(token);
+        if (atom->valuep == NULL)
+            goto error;
     } else {
 	int lenn, lenp;
 	xmlChar *str;
@@ -5993,10 +6060,8 @@
 	lenp = strlen((char *) token);
 
 	str = (xmlChar *) xmlMallocAtomic(lenn + lenp + 2);
-	if (str == NULL) {
-	    xmlRegFreeAtom(atom);
-	    return(NULL);
-	}
+	if (str == NULL)
+	    goto error;
 	memcpy(&str[0], token, lenp);
 	str[lenp] = '|';
 	memcpy(&str[lenp + 1], token2, lenn);
@@ -6015,16 +6080,20 @@
      * associate a counter to the transition.
      */
     counter = xmlRegGetCounter(am);
+    if (counter < 0)
+        goto error;
     am->counters[counter].min = min;
     am->counters[counter].max = max;
 
     /* xmlFAGenerateTransitions(am, from, to, atom); */
     if (to == NULL) {
-        to = xmlRegNewState(am);
-	xmlRegStatePush(am, to);
+	to = xmlRegStatePush(am);
+        if (to == NULL)
+            goto error;
     }
     xmlRegStateAddTrans(am, from, atom, to, counter, -1);
-    xmlRegAtomPush(am, atom);
+    if (xmlRegAtomPush(am, atom) < 0)
+        goto error;
     am->state = to;
 
     if (to == NULL)
@@ -6034,6 +6103,10 @@
     if (min == 0)
 	xmlFAGenerateEpsilonTransition(am, from, to);
     return(to);
+
+error:
+    xmlRegFreeAtom(atom);
+    return(NULL);
 }
 
 /**
@@ -6070,6 +6143,8 @@
     if (atom == NULL)
 	return(NULL);
     atom->valuep = xmlStrdup(token);
+    if (atom->valuep == NULL)
+        goto error;
     atom->data = data;
     if (min == 0)
 	atom->min = 1;
@@ -6081,16 +6156,20 @@
      * associate a counter to the transition.
      */
     counter = xmlRegGetCounter(am);
+    if (counter < 0)
+        goto error;
     am->counters[counter].min = min;
     am->counters[counter].max = max;
 
     /* xmlFAGenerateTransitions(am, from, to, atom); */
     if (to == NULL) {
-        to = xmlRegNewState(am);
-	xmlRegStatePush(am, to);
+	to = xmlRegStatePush(am);
+        if (to == NULL)
+            goto error;
     }
     xmlRegStateAddTrans(am, from, atom, to, counter, -1);
-    xmlRegAtomPush(am, atom);
+    if (xmlRegAtomPush(am, atom) < 0)
+        goto error;
     am->state = to;
 
     if (to == NULL)
@@ -6100,6 +6179,10 @@
     if (min == 0)
 	xmlFAGenerateEpsilonTransition(am, from, to);
     return(to);
+
+error:
+    xmlRegFreeAtom(atom);
+    return(NULL);
 }
 
 /**
@@ -6140,6 +6223,8 @@
 	return(NULL);
     if ((token2 == NULL) || (*token2 == 0)) {
 	atom->valuep = xmlStrdup(token);
+        if (atom->valuep == NULL)
+            goto error;
     } else {
 	int lenn, lenp;
 	xmlChar *str;
@@ -6148,10 +6233,8 @@
 	lenp = strlen((char *) token);
 
 	str = (xmlChar *) xmlMallocAtomic(lenn + lenp + 2);
-	if (str == NULL) {
-	    xmlRegFreeAtom(atom);
-	    return(NULL);
-	}
+	if (str == NULL)
+	    goto error;
 	memcpy(&str[0], token, lenp);
 	str[lenp] = '|';
 	memcpy(&str[lenp + 1], token2, lenn);
@@ -6167,18 +6250,26 @@
      * associate a counter to the transition.
      */
     counter = xmlRegGetCounter(am);
+    if (counter < 0)
+        goto error;
     am->counters[counter].min = 1;
     am->counters[counter].max = 1;
 
     /* xmlFAGenerateTransitions(am, from, to, atom); */
     if (to == NULL) {
-	to = xmlRegNewState(am);
-	xmlRegStatePush(am, to);
+	to = xmlRegStatePush(am);
+        if (to == NULL)
+            goto error;
     }
     xmlRegStateAddTrans(am, from, atom, to, counter, -1);
-    xmlRegAtomPush(am, atom);
+    if (xmlRegAtomPush(am, atom) < 0)
+        goto error;
     am->state = to;
     return(to);
+
+error:
+    xmlRegFreeAtom(atom);
+    return(NULL);
 }
 
 
@@ -6226,18 +6317,26 @@
      * associate a counter to the transition.
      */
     counter = xmlRegGetCounter(am);
+    if (counter < 0)
+        goto error;
     am->counters[counter].min = 1;
     am->counters[counter].max = 1;
 
     /* xmlFAGenerateTransitions(am, from, to, atom); */
     if (to == NULL) {
-	to = xmlRegNewState(am);
-	xmlRegStatePush(am, to);
+	to = xmlRegStatePush(am);
+        if (to == NULL)
+            goto error;
     }
     xmlRegStateAddTrans(am, from, atom, to, counter, -1);
-    xmlRegAtomPush(am, atom);
+    if (xmlRegAtomPush(am, atom) < 0)
+        goto error;
     am->state = to;
     return(to);
+
+error:
+    xmlRegFreeAtom(atom);
+    return(NULL);
 }
 
 /**
@@ -6250,13 +6349,9 @@
  */
 xmlAutomataStatePtr
 xmlAutomataNewState(xmlAutomataPtr am) {
-    xmlAutomataStatePtr to;
-
     if (am == NULL)
 	return(NULL);
-    to = xmlRegNewState(am);
-    xmlRegStatePush(am, to);
-    return(to);
+    return(xmlRegStatePush(am));
 }
 
 /**
diff --git a/xmlsave.c b/xmlsave.c
index 3addd65..5b5c8f1 100644
--- a/xmlsave.c
+++ b/xmlsave.c
@@ -19,57 +19,15 @@
 
 #include <libxml/HTMLtree.h>
 
-#include "buf.h"
-#include "enc.h"
-#include "save.h"
-
-/************************************************************************
- *									*
- *			XHTML detection					*
- *									*
- ************************************************************************/
-#define XHTML_STRICT_PUBLIC_ID BAD_CAST \
-   "-//W3C//DTD XHTML 1.0 Strict//EN"
-#define XHTML_STRICT_SYSTEM_ID BAD_CAST \
-   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
-#define XHTML_FRAME_PUBLIC_ID BAD_CAST \
-   "-//W3C//DTD XHTML 1.0 Frameset//EN"
-#define XHTML_FRAME_SYSTEM_ID BAD_CAST \
-   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
-#define XHTML_TRANS_PUBLIC_ID BAD_CAST \
-   "-//W3C//DTD XHTML 1.0 Transitional//EN"
-#define XHTML_TRANS_SYSTEM_ID BAD_CAST \
-   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
-
-#define XHTML_NS_NAME BAD_CAST "http://www.w3.org/1999/xhtml"
-/**
- * xmlIsXHTML:
- * @systemID:  the system identifier
- * @publicID:  the public identifier
- *
- * Try to find if the document correspond to an XHTML DTD
- *
- * Returns 1 if true, 0 if not and -1 in case of error
- */
-int
-xmlIsXHTML(const xmlChar *systemID, const xmlChar *publicID) {
-    if ((systemID == NULL) && (publicID == NULL))
-	return(-1);
-    if (publicID != NULL) {
-	if (xmlStrEqual(publicID, XHTML_STRICT_PUBLIC_ID)) return(1);
-	if (xmlStrEqual(publicID, XHTML_FRAME_PUBLIC_ID)) return(1);
-	if (xmlStrEqual(publicID, XHTML_TRANS_PUBLIC_ID)) return(1);
-    }
-    if (systemID != NULL) {
-	if (xmlStrEqual(systemID, XHTML_STRICT_SYSTEM_ID)) return(1);
-	if (xmlStrEqual(systemID, XHTML_FRAME_SYSTEM_ID)) return(1);
-	if (xmlStrEqual(systemID, XHTML_TRANS_SYSTEM_ID)) return(1);
-    }
-    return(0);
-}
+#include "private/buf.h"
+#include "private/enc.h"
+#include "private/error.h"
+#include "private/save.h"
 
 #ifdef LIBXML_OUTPUT_ENABLED
 
+#define XHTML_NS_NAME BAD_CAST "http://www.w3.org/1999/xhtml"
+
 #define TODO								\
     xmlGenericError(xmlGenericErrorContext,				\
 	    "Unimplemented block at %s:%d\n",				\
@@ -463,7 +421,7 @@
  *
  * This will dump the content of the notation table as an XML DTD definition
  */
-void
+static void
 xmlBufDumpNotationTable(xmlBufPtr buf, xmlNotationTablePtr table) {
     xmlBufferPtr buffer;
 
@@ -474,6 +432,7 @@
          */
         return;
     }
+    xmlBufferSetAllocationScheme(buffer, XML_BUFFER_ALLOC_DOUBLEIT);
     xmlDumpNotationTable(buffer, table);
     xmlBufMergeBuffer(buf, buffer);
 }
@@ -486,7 +445,7 @@
  * This will dump the content of the element declaration as an XML
  * DTD definition
  */
-void
+static void
 xmlBufDumpElementDecl(xmlBufPtr buf, xmlElementPtr elem) {
     xmlBufferPtr buffer;
 
@@ -497,6 +456,7 @@
          */
         return;
     }
+    xmlBufferSetAllocationScheme(buffer, XML_BUFFER_ALLOC_DOUBLEIT);
     xmlDumpElementDecl(buffer, elem);
     xmlBufMergeBuffer(buf, buffer);
 }
@@ -509,7 +469,7 @@
  * This will dump the content of the attribute declaration as an XML
  * DTD definition
  */
-void
+static void
 xmlBufDumpAttributeDecl(xmlBufPtr buf, xmlAttributePtr attr) {
     xmlBufferPtr buffer;
 
@@ -520,6 +480,7 @@
          */
         return;
     }
+    xmlBufferSetAllocationScheme(buffer, XML_BUFFER_ALLOC_DOUBLEIT);
     xmlDumpAttributeDecl(buffer, attr);
     xmlBufMergeBuffer(buf, buffer);
 }
@@ -531,7 +492,7 @@
  *
  * This will dump the content of the entity table as an XML DTD definition
  */
-void
+static void
 xmlBufDumpEntityDecl(xmlBufPtr buf, xmlEntityPtr ent) {
     xmlBufferPtr buffer;
 
@@ -542,6 +503,7 @@
          */
         return;
     }
+    xmlBufferSetAllocationScheme(buffer, XML_BUFFER_ALLOC_DOUBLEIT);
     xmlDumpEntityDecl(buffer, ent);
     xmlBufMergeBuffer(buf, buffer);
 }
@@ -591,7 +553,6 @@
 xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur);
 #endif
 static void xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur);
-void xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur);
 static int xmlDocContentDumpOutput(xmlSaveCtxtPtr ctxt, xmlDocPtr cur);
 
 /**
@@ -1375,7 +1336,7 @@
 		 (htmlIsBooleanAttr(cur->name))) {
 	    if (cur->children != NULL)
 		xmlFreeNode(cur->children);
-	    cur->children = xmlNewText(cur->name);
+	    cur->children = xmlNewDocText(cur->doc, cur->name);
 	    if (cur->children != NULL)
 		cur->children->parent = (xmlNodePtr) cur;
 	}
@@ -2174,7 +2135,7 @@
     xmlBufBackToBuffer(buffer);
     if (ret > INT_MAX)
         return(-1);
-    return((int) ret);
+    return(ret);
 }
 
 /**
@@ -2402,6 +2363,7 @@
 
     if ((out_buff = xmlAllocOutputBuffer(conv_hdlr)) == NULL ) {
         xmlSaveErrMemory("creating buffer");
+        xmlCharEncCloseFunc(conv_hdlr);
         return;
     }
 
diff --git a/xmlschemas.c b/xmlschemas.c
index 493db34..65c9123 100644
--- a/xmlschemas.c
+++ b/xmlschemas.c
@@ -76,6 +76,9 @@
 #include <libxml/xmlreader.h>
 #endif
 
+#include "private/error.h"
+#include "private/string.h"
+
 /* #define DEBUG 1 */
 
 /* #define DEBUG_CONTENT 1 */
@@ -305,10 +308,20 @@
 #define WXS_SCHEMA(ctx) (ctx)->schema
 
 #define WXS_ADD_LOCAL(ctx, item) \
-    xmlSchemaAddItemSize(&(WXS_BUCKET(ctx)->locals), 10, item)
+    do { \
+        if (xmlSchemaAddItemSize(&(WXS_BUCKET(ctx)->locals), 10, item) < 0) { \
+            xmlFree(item); \
+            item = NULL; \
+        } \
+    } while (0)
 
 #define WXS_ADD_GLOBAL(ctx, item) \
-    xmlSchemaAddItemSize(&(WXS_BUCKET(ctx)->globals), 5, item)
+    do { \
+        if (xmlSchemaAddItemSize(&(WXS_BUCKET(ctx)->globals), 5, item) < 0) { \
+            xmlFree(item); \
+            item = NULL; \
+        } \
+    } while (0)
 
 #define WXS_ADD_PENDING(ctx, item) \
     xmlSchemaAddItemSize(&((ctx)->constructor->pending), 10, item)
@@ -3407,23 +3420,17 @@
 static int
 xmlSchemaItemListAdd(xmlSchemaItemListPtr list, void *item)
 {
-    if (list->items == NULL) {
-	list->items = (void **) xmlMalloc(
-	    20 * sizeof(void *));
-	if (list->items == NULL) {
-	    xmlSchemaPErrMemory(NULL, "allocating new item list", NULL);
-	    return(-1);
-	}
-	list->sizeItems = 20;
-    } else if (list->sizeItems <= list->nbItems) {
-	list->sizeItems *= 2;
-	list->items = (void **) xmlRealloc(list->items,
-	    list->sizeItems * sizeof(void *));
-	if (list->items == NULL) {
+    if (list->sizeItems <= list->nbItems) {
+        void **tmp;
+        size_t newSize = list->sizeItems == 0 ? 20 : list->sizeItems * 2;
+
+	tmp = (void **) xmlRealloc(list->items, newSize * sizeof(void *));
+	if (tmp == NULL) {
 	    xmlSchemaPErrMemory(NULL, "growing item list", NULL);
-	    list->sizeItems = 0;
 	    return(-1);
 	}
+        list->items = tmp;
+	list->sizeItems = newSize;
     }
     list->items[list->nbItems++] = item;
     return(0);
@@ -3445,14 +3452,17 @@
 	}
 	list->sizeItems = initialSize;
     } else if (list->sizeItems <= list->nbItems) {
+        void **tmp;
+
 	list->sizeItems *= 2;
-	list->items = (void **) xmlRealloc(list->items,
+	tmp = (void **) xmlRealloc(list->items,
 	    list->sizeItems * sizeof(void *));
-	if (list->items == NULL) {
+	if (tmp == NULL) {
 	    xmlSchemaPErrMemory(NULL, "growing item list", NULL);
-	    list->sizeItems = 0;
+	    list->sizeItems /= 2;
 	    return(-1);
 	}
+        list->items = tmp;
     }
     list->items[list->nbItems++] = item;
     return(0);
@@ -3461,23 +3471,17 @@
 static int
 xmlSchemaItemListInsert(xmlSchemaItemListPtr list, void *item, int idx)
 {
-    if (list->items == NULL) {
-	list->items = (void **) xmlMalloc(
-	    20 * sizeof(void *));
-	if (list->items == NULL) {
-	    xmlSchemaPErrMemory(NULL, "allocating new item list", NULL);
-	    return(-1);
-	}
-	list->sizeItems = 20;
-    } else if (list->sizeItems <= list->nbItems) {
-	list->sizeItems *= 2;
-	list->items = (void **) xmlRealloc(list->items,
-	    list->sizeItems * sizeof(void *));
-	if (list->items == NULL) {
+    if (list->sizeItems <= list->nbItems) {
+        void **tmp;
+        size_t newSize = list->sizeItems == 0 ? 20 : list->sizeItems * 2;
+
+	tmp = (void **) xmlRealloc(list->items, newSize * sizeof(void *));
+	if (tmp == NULL) {
 	    xmlSchemaPErrMemory(NULL, "growing item list", NULL);
-	    list->sizeItems = 0;
 	    return(-1);
 	}
+        list->items = tmp;
+	list->sizeItems = newSize;
     }
     /*
     * Just append if the index is greater/equal than the item count.
@@ -3645,12 +3649,12 @@
     ret->type = type;
     ret->globals = xmlSchemaItemListCreate();
     if (ret->globals == NULL) {
-	xmlFree(ret);
+	xmlSchemaBucketFree(ret);
 	return(NULL);
     }
     ret->locals = xmlSchemaItemListCreate();
     if (ret->locals == NULL) {
-	xmlFree(ret);
+	xmlSchemaBucketFree(ret);
 	return(NULL);
     }
     /*
@@ -3739,7 +3743,10 @@
 		return(NULL);
 	    }
 	}
-	xmlSchemaItemListAdd(mainSchema->includes, ret);
+	if (xmlSchemaItemListAdd(mainSchema->includes, ret) < 0) {
+	    xmlSchemaBucketFree(ret);
+	    return(NULL);
+        }
     }
     /*
     * Add to list of all buckets; this is used for lookup
@@ -3758,8 +3765,7 @@
 	if (*list == NULL)
 	    return(-1);
     }
-    xmlSchemaItemListAddSize(*list, initialSize, item);
-    return(0);
+    return(xmlSchemaItemListAddSize(*list, initialSize, item));
 }
 
 /**
@@ -4757,6 +4763,8 @@
 	val = xmlStrdup((xmlChar *)"");
     ret = xmlDictLookup(ctxt->dict, val, -1);
     xmlFree(val);
+    if (ret == NULL)
+        xmlSchemaPErrMemory(ctxt, "getting node content", node);
     return(ret);
 }
 
@@ -6100,6 +6108,8 @@
     if (attr == NULL)
 	return (def);
     val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+    if (val == NULL)
+        return (def);
 
     if (xmlStrEqual(val, (const xmlChar *) "unbounded")) {
 	if (max != UNBOUNDED) {
@@ -6174,6 +6184,8 @@
     if (attr == NULL)
 	return (def);
     val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+    if (val == NULL)
+	return (def);
     cur = val;
     while (IS_BLANK_CH(*cur))
         cur++;
@@ -6846,6 +6858,8 @@
      */
     attr = xmlSchemaGetPropNode(node, "namespace");
     ns = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+    if (ns == NULL)
+        return (-1);
     if ((attr == NULL) || (xmlStrEqual(ns, BAD_CAST "##any")))
 	wildc->any = 1;
     else if (xmlStrEqual(ns, BAD_CAST "##other")) {
@@ -8994,6 +9008,8 @@
 	xmlSchemaQNameRefPtr ref;
 
 	cur = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+        if (cur == NULL)
+            return (-1);
 	type->base = cur;
 	do {
 	    while (IS_BLANK_CH(*cur))
@@ -9004,6 +9020,11 @@
 	    if (end == cur)
 		break;
 	    tmp = xmlStrndup(cur, end - cur);
+            if (tmp == NULL) {
+                xmlSchemaPErrMemory(ctxt, "xmlSchemaParseUnion, "
+                    "duplicating type name", NULL);
+                return (-1);
+            }
 	    if (xmlSchemaPValAttrNodeQNameValue(ctxt, schema,
 		NULL, attr, BAD_CAST tmp, &nsName, &localName) == 0) {
 		/*
@@ -9014,6 +9035,7 @@
 		if (link == NULL) {
 		    xmlSchemaPErrMemory(ctxt, "xmlSchemaParseUnion, "
 			"allocating a type link", NULL);
+	            FREE_AND_NULL(tmp)
 		    return (-1);
 		}
 		link->type = NULL;
@@ -11149,17 +11171,6 @@
 	    * differ from the resulting namespace.
 	    */
 	    isChameleon = 1;
-	    if (bucket->parsed &&
-		bucket->origTargetNamespace != NULL) {
-		xmlSchemaCustomErr(ACTXT_CAST pctxt,
-		    XML_SCHEMAP_SRC_INCLUDE,
-		    node, NULL,
-		    "The target namespace of the included/redefined schema "
-		    "'%s' has to be absent or the same as the "
-		    "including/redefining schema's target namespace",
-		    schemaLocation, NULL);
-		goto exit_error;
-	    }
 	    bucket->targetNamespace = pctxt->targetNamespace;
 	}
     }
@@ -13345,8 +13356,19 @@
 	    * declaration `resolved` to by the `actual value`
 	    * of the substitutionGroup [attribute], if present"
 	    */
-	    if (elemDecl->subtypes == NULL)
-		elemDecl->subtypes = substHead->subtypes;
+	    if (elemDecl->subtypes == NULL) {
+                if (substHead->subtypes == NULL) {
+                    /*
+                     * This can happen with self-referencing substitution
+                     * groups. The cycle will be detected later, but we have
+                     * to set subtypes to avoid null-pointer dereferences.
+                     */
+	            elemDecl->subtypes = xmlSchemaGetBuiltInType(
+                            XML_SCHEMAS_ANYTYPE);
+                } else {
+		    elemDecl->subtypes = substHead->subtypes;
+                }
+            }
 	}
     }
     /*
@@ -14536,6 +14558,7 @@
 	    {
 		PERROR_INT("xmlSchemaFixupTypeAttributeUses",
 		"failed to expand attributes");
+                return(-1);
 	    }
 	    if (pctxt->attrProhibs->nbItems != 0)
 		prohibs = pctxt->attrProhibs;
@@ -14546,6 +14569,7 @@
 	    {
 		PERROR_INT("xmlSchemaFixupTypeAttributeUses",
 		"failed to expand attributes");
+                return(-1);
 	    }
 	}
     }
@@ -19946,7 +19970,8 @@
 	    /*
 	    * The set of all {derivation method}s involved in the derivation
 	    */
-	    while ((type != NULL) && (type != headType)) {
+	    while ((type != NULL) && (type != headType) &&
+                   (type != type->baseType)) {
 		if ((WXS_IS_EXTENSION(type)) &&
 		    ((methSet & XML_SCHEMAS_TYPE_BLOCK_RESTRICTION) == 0))
 		    methSet |= XML_SCHEMAS_TYPE_BLOCK_EXTENSION;
@@ -21452,7 +21477,7 @@
     if (ctxt->constructor == NULL) {
 	ctxt->constructor = xmlSchemaConstructionCtxtCreate(ctxt->dict);
 	if (ctxt->constructor == NULL)
-	    return(NULL);
+	    goto exit_failure;
 	/* Take ownership of the constructor to be able to free it. */
 	ctxt->ownsConstructor = 1;
     }
@@ -21861,7 +21886,6 @@
 {
     const xmlChar *cur, *end;
     const xmlChar *nsname = NULL, *location;
-    int count = 0;
     int ret = 0;
     xmlSchemaAttrInfoPtr iattr;
 
@@ -21896,7 +21920,7 @@
 		end++;
 	    if (end == cur)
 		break;
-	    count++; /* TODO: Don't use the schema's dict. */
+	    /* TODO: Don't use the schema's dict. */
 	    nsname = xmlDictLookup(vctxt->schema->dict, cur, end - cur);
 	    cur = end;
 	}
@@ -21923,7 +21947,7 @@
 	    }
 	    break;
 	}
-	count++; /* TODO: Don't use the schema's dict. */
+	/* TODO: Don't use the schema's dict. */
 	location = xmlDictLookup(vctxt->schema->dict, cur, end - cur);
 	cur = end;
 	ret = xmlSchemaAssembleByLocation(vctxt, vctxt->schema,
@@ -24634,6 +24658,7 @@
 		       int valNeeded)
 {
     int ret;
+    xmlChar *stripped;
     const xmlChar *nsName;
     xmlChar *local, *prefix = NULL;
 
@@ -24650,7 +24675,10 @@
     * NOTE: xmlSplitQName2 will always return a duplicated
     * strings.
     */
-    local = xmlSplitQName2(value, &prefix);
+    /* TODO: Export and use xmlSchemaStrip instead */
+    stripped = xmlSchemaCollapseString(value);
+    local = xmlSplitQName2(stripped ? stripped : value, &prefix);
+    xmlFree(stripped);
     if (local == NULL)
 	local = xmlStrdup(value);
     /*
@@ -26463,13 +26491,15 @@
 	    normValue = xmlSchemaNormalizeValue(inode->typeDef,
 		inode->decl->value);
 	    if (normValue != NULL) {
-		textChild = xmlNewText(BAD_CAST normValue);
+		textChild = xmlNewDocText(inode->node->doc,
+                        BAD_CAST normValue);
 		xmlFree(normValue);
 	    } else
-		textChild = xmlNewText(inode->decl->value);
+		textChild = xmlNewDocText(inode->node->doc,
+                        inode->decl->value);
 	    if (textChild == NULL) {
 		VERROR_INT("xmlSchemaValidatorPopElem",
-		    "calling xmlNewText()");
+		    "calling xmlNewDocText()");
 		goto internal_error;
 	    } else
 		xmlAddChild(inode->node, textChild);
@@ -27815,17 +27845,6 @@
 	} while (cur != NULL);
 	vctxt->aidcs = NULL;
     }
-    if (vctxt->idcMatcherCache != NULL) {
-	xmlSchemaIDCMatcherPtr matcher = vctxt->idcMatcherCache, tmp;
-
-	while (matcher) {
-	    tmp = matcher;
-	    matcher = matcher->nextCached;
-	    xmlSchemaIDCFreeMatcherList(tmp);
-	}
-	vctxt->idcMatcherCache = NULL;
-    }
-
 
     if (vctxt->idcNodes != NULL) {
 	int i;
@@ -27892,6 +27911,21 @@
         xmlFree(vctxt->filename);
 	vctxt->filename = NULL;
     }
+
+    /*
+     * Note that some cleanup functions can move items to the cache,
+     * so the cache shouldn't be freed too early.
+     */
+    if (vctxt->idcMatcherCache != NULL) {
+	xmlSchemaIDCMatcherPtr matcher = vctxt->idcMatcherCache, tmp;
+
+	while (matcher) {
+	    tmp = matcher;
+	    matcher = matcher->nextCached;
+	    xmlSchemaIDCFreeMatcherList(tmp);
+	}
+	vctxt->idcMatcherCache = NULL;
+    }
 }
 
 /**
@@ -28681,7 +28715,7 @@
  * Varargs error callbacks to the user application, harder ...
  */
 
-static void XMLCDECL
+static void
 warningSplit(void *ctx, const char *msg ATTRIBUTE_UNUSED, ...) {
     xmlSchemaSAXPlugPtr ctxt = (xmlSchemaSAXPlugPtr) ctx;
     if ((ctxt != NULL) && (ctxt->user_sax != NULL) &&
@@ -28689,7 +28723,7 @@
 	TODO
     }
 }
-static void XMLCDECL
+static void
 errorSplit(void *ctx, const char *msg ATTRIBUTE_UNUSED, ...) {
     xmlSchemaSAXPlugPtr ctxt = (xmlSchemaSAXPlugPtr) ctx;
     if ((ctxt != NULL) && (ctxt->user_sax != NULL) &&
@@ -28697,7 +28731,7 @@
 	TODO
     }
 }
-static void XMLCDECL
+static void
 fatalErrorSplit(void *ctx, const char *msg ATTRIBUTE_UNUSED, ...) {
     xmlSchemaSAXPlugPtr ctxt = (xmlSchemaSAXPlugPtr) ctx;
     if ((ctxt != NULL) && (ctxt->user_sax != NULL) &&
@@ -29053,7 +29087,6 @@
                         xmlSAXHandlerPtr sax, void *user_data)
 {
     xmlSchemaSAXPlugPtr plug = NULL;
-    xmlSAXHandlerPtr old_sax = NULL;
     xmlParserCtxtPtr pctxt = NULL;
     xmlParserInputPtr inputStream = NULL;
     int ret;
@@ -29064,12 +29097,9 @@
     /*
      * prepare the parser
      */
-    pctxt = xmlNewParserCtxt();
+    pctxt = xmlNewSAXParserCtxt(sax, user_data);
     if (pctxt == NULL)
         return (-1);
-    old_sax = pctxt->sax;
-    pctxt->sax = sax;
-    pctxt->userData = user_data;
 #if 0
     if (options)
         xmlCtxtUseOptions(pctxt, options);
@@ -29115,7 +29145,6 @@
     }
     /* cleanup */
     if (pctxt != NULL) {
-	pctxt->sax = old_sax;
 	xmlFreeParserCtxt(pctxt);
     }
     return (ret);
diff --git a/xmlschemastypes.c b/xmlschemastypes.c
index 64a3b3e..5d7eb41 100644
--- a/xmlschemastypes.c
+++ b/xmlschemastypes.c
@@ -18,6 +18,9 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 
 #include <string.h>
+#include <math.h>
+#include <float.h>
+
 #include <libxml/xmlmemory.h>
 #include <libxml/parser.h>
 #include <libxml/parserInternals.h>
@@ -30,12 +33,7 @@
 #include <libxml/schemasInternals.h>
 #include <libxml/xmlschemastypes.h>
 
-#ifdef HAVE_MATH_H
-#include <math.h>
-#endif
-#ifdef HAVE_FLOAT_H
-#include <float.h>
-#endif
+#include "private/error.h"
 
 #define DEBUG
 
@@ -406,6 +404,10 @@
     xmlSchemaTypeAnyTypeDef = xmlSchemaInitBasicType("anyType",
                                                      XML_SCHEMAS_ANYTYPE,
 						     NULL);
+    if (xmlSchemaTypeAnyTypeDef == NULL) {
+	xmlSchemaTypeErrMemory(NULL, NULL);
+        return;
+    }
     xmlSchemaTypeAnyTypeDef->baseType = xmlSchemaTypeAnyTypeDef;
     xmlSchemaTypeAnyTypeDef->contentType = XML_SCHEMA_CONTENT_MIXED;
     /*
@@ -627,6 +629,11 @@
 /**
  * xmlSchemaCleanupTypes:
  *
+ * DEPRECATED: This function will be made private. Call xmlCleanupParser
+ * to free global state but see the warnings there. xmlCleanupParser
+ * should be only called once at program exit. In most cases, you don't
+ * have call cleanup functions at all.
+ *
  * Cleanup the default XML Schemas type library
  */
 void
@@ -3033,6 +3040,8 @@
 			    value = norm;
 		    }
 		    tmpval = xmlStrdup(value);
+                    if (tmpval == NULL)
+                        goto error;
 		    for (cur = tmpval; *cur; ++cur) {
 			if (*cur < 32 || *cur >= 127 || *cur == ' ' ||
 			    *cur == '<' || *cur == '>' || *cur == '"' ||
@@ -3219,8 +3228,7 @@
                     if (v == NULL)
                         goto error;
                     base =
-                        (xmlChar *) xmlMallocAtomic((i + pad + 1) *
-                                                    sizeof(xmlChar));
+                        (xmlChar *) xmlMallocAtomic(i + pad + 1);
                     if (base == NULL) {
 		        xmlSchemaTypeErrMemory(node, "allocating base64 data");
                         xmlFree(v);
@@ -3308,6 +3316,8 @@
 
                 if (cur == NULL)
                     goto return1;
+		if (normOnTheFly)
+		    while IS_WSP_BLANK_CH(*cur) cur++;
                 if (*cur == '-') {
                     sign = 1;
                     cur++;
@@ -3316,6 +3326,8 @@
                 ret = xmlSchemaParseUInt(&cur, &lo, &mi, &hi);
                 if (ret < 0)
                     goto return1;
+		if (normOnTheFly)
+		    while IS_WSP_BLANK_CH(*cur) cur++;
                 if (*cur != 0)
                     goto return1;
                 if (type->builtInType == XML_SCHEMAS_LONG) {
@@ -3380,9 +3392,13 @@
 
                 if (cur == NULL)
                     goto return1;
+		if (normOnTheFly)
+		    while IS_WSP_BLANK_CH(*cur) cur++;
                 ret = xmlSchemaParseUInt(&cur, &lo, &mi, &hi);
                 if (ret < 0)
                     goto return1;
+		if (normOnTheFly)
+		    while IS_WSP_BLANK_CH(*cur) cur++;
                 if (*cur != 0)
                     goto return1;
                 if (type->builtInType == XML_SCHEMAS_ULONG) {
@@ -4132,9 +4148,15 @@
 
         if (!y->value.date.tz_flag) {
             p1 = xmlSchemaDateNormalize(x, 0);
+            if (p1 == NULL)
+                return -2;
             p1d = _xmlSchemaDateCastYMToDays(p1) + p1->value.date.day;
             /* normalize y + 14:00 */
             q1 = xmlSchemaDateNormalize(y, (14 * SECS_PER_HOUR));
+            if (q1 == NULL) {
+		xmlSchemaFreeValue(p1);
+                return -2;
+            }
 
             q1d = _xmlSchemaDateCastYMToDays(q1) + q1->value.date.day;
             if (p1d < q1d) {
@@ -4153,6 +4175,11 @@
 		    int ret = 0;
                     /* normalize y - 14:00 */
                     q2 = xmlSchemaDateNormalize(y, -(14 * SECS_PER_HOUR));
+                    if (q2 == NULL) {
+                        xmlSchemaFreeValue(p1);
+                        xmlSchemaFreeValue(q1);
+                        return -2;
+                    }
                     q2d = _xmlSchemaDateCastYMToDays(q2) + q2->value.date.day;
                     if (p1d > q2d)
                         ret = 1;
@@ -4176,10 +4203,16 @@
         }
     } else if (y->value.date.tz_flag) {
         q1 = xmlSchemaDateNormalize(y, 0);
+        if (q1 == NULL)
+            return -2;
         q1d = _xmlSchemaDateCastYMToDays(q1) + q1->value.date.day;
 
         /* normalize x - 14:00 */
         p1 = xmlSchemaDateNormalize(x, -(14 * SECS_PER_HOUR));
+        if (p1 == NULL) {
+	    xmlSchemaFreeValue(q1);
+            return -2;
+        }
         p1d = _xmlSchemaDateCastYMToDays(p1) + p1->value.date.day;
 
         if (p1d < q1d) {
@@ -4198,6 +4231,11 @@
 	        int ret = 0;
                 /* normalize x + 14:00 */
                 p2 = xmlSchemaDateNormalize(x, (14 * SECS_PER_HOUR));
+                if (p2 == NULL) {
+                    xmlSchemaFreeValue(p1);
+                    xmlSchemaFreeValue(q1);
+                    return -2;
+                }
                 p2d = _xmlSchemaDateCastYMToDays(p2) + p2->value.date.day;
 
                 if (p2d > q1d) {
@@ -4227,9 +4265,15 @@
     if (x->type == y->type) {
         int ret = 0;
         q1 = xmlSchemaDateNormalize(y, 0);
+        if (q1 == NULL)
+            return -2;
         q1d = _xmlSchemaDateCastYMToDays(q1) + q1->value.date.day;
 
         p1 = xmlSchemaDateNormalize(x, 0);
+        if (p1 == NULL) {
+	    xmlSchemaFreeValue(q1);
+            return -2;
+        }
         p1d = _xmlSchemaDateCastYMToDays(p1) + p1->value.date.day;
 
         if (p1d < q1d) {
diff --git a/xmlstring.c b/xmlstring.c
index a85685d..5473472 100644
--- a/xmlstring.c
+++ b/xmlstring.c
@@ -23,6 +23,9 @@
 #include <libxml/parserInternals.h>
 #include <libxml/xmlstring.h>
 
+#include "private/parser.h"
+#include "private/string.h"
+
 /************************************************************************
  *                                                                      *
  *                Commodity functions to handle xmlChars                *
@@ -43,12 +46,11 @@
     xmlChar *ret;
 
     if ((cur == NULL) || (len < 0)) return(NULL);
-    ret = (xmlChar *) xmlMallocAtomic(((size_t) len + 1) * sizeof(xmlChar));
+    ret = (xmlChar *) xmlMallocAtomic((size_t) len + 1);
     if (ret == NULL) {
-        xmlErrMemory(NULL, NULL);
         return(NULL);
     }
-    memcpy(ret, cur, len * sizeof(xmlChar));
+    memcpy(ret, cur, len);
     ret[len] = 0;
     return(ret);
 }
@@ -88,12 +90,12 @@
     xmlChar *ret;
 
     if ((cur == NULL) || (len < 0)) return(NULL);
-    ret = (xmlChar *) xmlMallocAtomic(((size_t) len + 1) * sizeof(xmlChar));
+    ret = (xmlChar *) xmlMallocAtomic((size_t) len + 1);
     if (ret == NULL) {
-        xmlErrMemory(NULL, NULL);
         return(NULL);
     }
     for (i = 0;i < len;i++) {
+        /* Explicit sign change */
         ret[i] = (xmlChar) cur[i];
         if (ret[i] == 0) return(ret);
     }
@@ -424,13 +426,7 @@
 
 int
 xmlStrlen(const xmlChar *str) {
-    size_t len = 0;
-
-    if (str == NULL) return(0);
-    while (*str != 0) { /* non input consuming */
-        str++;
-        len++;
-    }
+    size_t len = str ? strlen((const char *)str) : 0;
     return(len > INT_MAX ? 0 : len);
 }
 
@@ -463,12 +459,11 @@
     size = xmlStrlen(cur);
     if ((size < 0) || (size > INT_MAX - len))
         return(NULL);
-    ret = (xmlChar *) xmlRealloc(cur, ((size_t) size + len + 1) * sizeof(xmlChar));
+    ret = (xmlChar *) xmlRealloc(cur, (size_t) size + len + 1);
     if (ret == NULL) {
-        xmlErrMemory(NULL, NULL);
         return(cur);
     }
-    memcpy(&ret[size], add, len * sizeof(xmlChar));
+    memcpy(&ret[size], add, len);
     ret[size + len] = 0;
     return(ret);
 }
@@ -503,13 +498,12 @@
     size = xmlStrlen(str1);
     if ((size < 0) || (size > INT_MAX - len))
         return(NULL);
-    ret = (xmlChar *) xmlMalloc(((size_t) size + len + 1) * sizeof(xmlChar));
+    ret = (xmlChar *) xmlMalloc((size_t) size + len + 1);
     if (ret == NULL) {
-        xmlErrMemory(NULL, NULL);
         return(xmlStrndup(str1, size));
     }
-    memcpy(ret, str1, size * sizeof(xmlChar));
-    memcpy(&ret[size], str2, len * sizeof(xmlChar));
+    memcpy(ret, str1, size);
+    memcpy(&ret[size], str2, len);
     ret[size + len] = 0;
     return(ret);
 }
@@ -549,7 +543,7 @@
  *
  * Returns the number of characters written to @buf or -1 if an error occurs.
  */
-int XMLCDECL
+int
 xmlStrPrintf(xmlChar *buf, int len, const char *msg, ...) {
     va_list args;
     int ret;
@@ -877,11 +871,11 @@
 
     if ((utf == NULL) || (len < 0)) return(NULL);
     i = xmlUTF8Strsize(utf, len);
-    ret = (xmlChar *) xmlMallocAtomic(((size_t) i + 1) * sizeof(xmlChar));
+    ret = (xmlChar *) xmlMallocAtomic((size_t) i + 1);
     if (ret == NULL) {
         return(NULL);
     }
-    memcpy(ret, utf, i * sizeof(xmlChar));
+    memcpy(ret, utf, i);
     ret[i] = 0;
     return(ret);
 }
@@ -1028,13 +1022,12 @@
     if ((count > INT_MAX) || (msgLen > INT_MAX - count))
         return(NULL);
     resultLen = msgLen + count + 1;
-    result = (xmlChar *) xmlMallocAtomic(resultLen * sizeof(xmlChar));
+    result = (xmlChar *) xmlMallocAtomic(resultLen);
     if (result == NULL) {
         /* Clear *msg to prevent format string vulnerabilities in
            out-of-memory situations. */
         xmlFree(*msg);
         *msg = NULL;
-        xmlErrMemory(NULL, NULL);
         return(NULL);
     }
 
diff --git a/xmlunicode.c b/xmlunicode.c
index d34ba8f..677f25e 100644
--- a/xmlunicode.c
+++ b/xmlunicode.c
@@ -34,7 +34,7 @@
 } xmlUnicodeNameTable;
 
 
-static xmlIntFunc *xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname);
+static xmlIntFunc *xmlUnicodeLookup(const xmlUnicodeNameTable *tptr, const char *tname);
 
 static const xmlUnicodeRange xmlUnicodeBlocks[] = {
   {"AegeanNumbers", xmlUCSIsAegeanNumbers},
@@ -166,7 +166,7 @@
   {"YiSyllables", xmlUCSIsYiSyllables},
   {"YijingHexagramSymbols", xmlUCSIsYijingHexagramSymbols}};
 
-static xmlUnicodeRange xmlUnicodeCats[] = {
+static const xmlUnicodeRange xmlUnicodeCats[] = {
   {"C", xmlUCSIsCatC},
   {"Cc", xmlUCSIsCatCc},
   {"Cf", xmlUCSIsCatCf},
@@ -212,7 +212,7 @@
 static const xmlChLRange xmlCL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001},
     {0xe0020, 0xe007f}, {0xf0000, 0xf0000}, {0xffffd, 0xffffd},
     {0x100000, 0x100000}, {0x10fffd, 0x10fffd} };
-static xmlChRangeGroup xmlCG = {18,7,xmlCS,xmlCL};
+static const xmlChRangeGroup xmlCG = {18,7,xmlCS,xmlCL};
 
 static const xmlChSRange xmlCfS[] = {{0xad, 0xad}, {0x600, 0x603},
     {0x6dd, 0x6dd}, {0x70f, 0x70f}, {0x17b4, 0x17b5}, {0x200b, 0x200f},
@@ -220,7 +220,7 @@
     {0xfff9, 0xfffb} };
 static const xmlChLRange xmlCfL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001},
     {0xe0020, 0xe007f} };
-static xmlChRangeGroup xmlCfG = {11,3,xmlCfS,xmlCfL};
+static const xmlChRangeGroup xmlCfG = {11,3,xmlCfS,xmlCfL};
 
 static const xmlChSRange xmlLS[] = {{0x41, 0x5a}, {0x61, 0x7a},
     {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6},
@@ -309,7 +309,7 @@
     {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788},
     {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9},
     {0x20000, 0x20000}, {0x2a6d6, 0x2a6d6}, {0x2f800, 0x2fa1d} };
-static xmlChRangeGroup xmlLG = {279,50,xmlLS,xmlLL};
+static const xmlChRangeGroup xmlLG = {279,50,xmlLS,xmlLL};
 
 static const xmlChSRange xmlLlS[] = {{0x61, 0x7a}, {0xaa, 0xaa},
     {0xb5, 0xb5}, {0xba, 0xba}, {0xdf, 0xf6}, {0xf8, 0xff}, {0x101, 0x101},
@@ -421,7 +421,7 @@
     {0x1d6fc, 0x1d714}, {0x1d716, 0x1d71b}, {0x1d736, 0x1d74e},
     {0x1d750, 0x1d755}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d78f},
     {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9} };
-static xmlChRangeGroup xmlLlG = {396,28,xmlLlS,xmlLlL};
+static const xmlChRangeGroup xmlLlG = {396,28,xmlLlS,xmlLlL};
 
 static const xmlChSRange xmlLmS[] = {{0x2b0, 0x2c1}, {0x2c6, 0x2d1},
     {0x2e0, 0x2e4}, {0x2ee, 0x2ee}, {0x37a, 0x37a}, {0x559, 0x559},
@@ -429,7 +429,7 @@
     {0x17d7, 0x17d7}, {0x1843, 0x1843}, {0x1d2c, 0x1d61}, {0x3005, 0x3005},
     {0x3031, 0x3035}, {0x303b, 0x303b}, {0x309d, 0x309e}, {0x30fc, 0x30fe},
     {0xff70, 0xff70}, {0xff9e, 0xff9f} };
-static xmlChRangeGroup xmlLmG = {20,0,xmlLmS,NULL};
+static const xmlChRangeGroup xmlLmG = {20,0,xmlLmS,NULL};
 
 static const xmlChSRange xmlLoS[] = {{0x1bb, 0x1bb}, {0x1c0, 0x1c3},
     {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a}, {0x641, 0x64a},
@@ -492,12 +492,12 @@
     {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835},
     {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x1083f},
     {0x20000, 0x20000}, {0x2a6d6, 0x2a6d6}, {0x2f800, 0x2fa1d} };
-static xmlChRangeGroup xmlLoG = {211,20,xmlLoS,xmlLoL};
+static const xmlChRangeGroup xmlLoG = {211,20,xmlLoS,xmlLoL};
 
 static const xmlChSRange xmlLtS[] = {{0x1c5, 0x1c5}, {0x1c8, 0x1c8},
     {0x1cb, 0x1cb}, {0x1f2, 0x1f2}, {0x1f88, 0x1f8f}, {0x1f98, 0x1f9f},
     {0x1fa8, 0x1faf}, {0x1fbc, 0x1fbc}, {0x1fcc, 0x1fcc}, {0x1ffc, 0x1ffc} };
-static xmlChRangeGroup xmlLtG = {10,0,xmlLtS,NULL};
+static const xmlChRangeGroup xmlLtG = {10,0,xmlLtS,NULL};
 
 static const xmlChSRange xmlLuS[] = {{0x41, 0x5a}, {0xc0, 0xd6},
     {0xd8, 0xde}, {0x100, 0x100}, {0x102, 0x102}, {0x104, 0x104},
@@ -608,7 +608,7 @@
     {0x1d608, 0x1d621}, {0x1d63c, 0x1d655}, {0x1d670, 0x1d689},
     {0x1d6a8, 0x1d6c0}, {0x1d6e2, 0x1d6fa}, {0x1d71c, 0x1d734},
     {0x1d756, 0x1d76e}, {0x1d790, 0x1d7a8} };
-static xmlChRangeGroup xmlLuG = {390,31,xmlLuS,xmlLuL};
+static const xmlChRangeGroup xmlLuG = {390,31,xmlLuS,xmlLuL};
 
 static const xmlChSRange xmlMS[] = {{0x300, 0x357}, {0x35d, 0x36f},
     {0x483, 0x486}, {0x488, 0x489}, {0x591, 0x5a1}, {0x5a3, 0x5b9},
@@ -642,7 +642,7 @@
 static const xmlChLRange xmlML[] = {{0x1d165, 0x1d169}, {0x1d16d, 0x1d172},
     {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad},
     {0xe0100, 0xe01ef} };
-static xmlChRangeGroup xmlMG = {113,6,xmlMS,xmlML};
+static const xmlChRangeGroup xmlMG = {113,6,xmlMS,xmlML};
 
 static const xmlChSRange xmlMcS[] = {{0x903, 0x903}, {0x93e, 0x940},
     {0x949, 0x94c}, {0x982, 0x983}, {0x9be, 0x9c0}, {0x9c7, 0x9c8},
@@ -660,7 +660,7 @@
     {0x17c7, 0x17c8}, {0x1923, 0x1926}, {0x1929, 0x192b}, {0x1930, 0x1931},
     {0x1933, 0x1938} };
 static const xmlChLRange xmlMcL[] = {{0x1d165, 0x1d166}, {0x1d16d, 0x1d172} };
-static xmlChRangeGroup xmlMcG = {55,2,xmlMcS,xmlMcL};
+static const xmlChRangeGroup xmlMcG = {55,2,xmlMcS,xmlMcL};
 
 static const xmlChSRange xmlMnS[] = {{0x300, 0x357}, {0x35d, 0x36f},
     {0x483, 0x486}, {0x591, 0x5a1}, {0x5a3, 0x5b9}, {0x5bb, 0x5bd},
@@ -692,7 +692,7 @@
     {0xfe00, 0xfe0f}, {0xfe20, 0xfe23} };
 static const xmlChLRange xmlMnL[] = {{0x1d167, 0x1d169}, {0x1d17b, 0x1d182},
     {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0xe0100, 0xe01ef} };
-static xmlChRangeGroup xmlMnG = {108,5,xmlMnS,xmlMnL};
+static const xmlChRangeGroup xmlMnG = {108,5,xmlMnS,xmlMnL};
 
 static const xmlChSRange xmlNS[] = {{0x30, 0x39}, {0xb2, 0xb3},
     {0xb9, 0xb9}, {0xbc, 0xbe}, {0x660, 0x669}, {0x6f0, 0x6f9},
@@ -707,7 +707,7 @@
     {0x3251, 0x325f}, {0x3280, 0x3289}, {0x32b1, 0x32bf}, {0xff10, 0xff19} };
 static const xmlChLRange xmlNL[] = {{0x10107, 0x10133}, {0x10320, 0x10323},
     {0x1034a, 0x1034a}, {0x104a0, 0x104a9}, {0x1d7ce, 0x1d7ff} };
-static xmlChRangeGroup xmlNG = {42,5,xmlNS,xmlNL};
+static const xmlChRangeGroup xmlNG = {42,5,xmlNS,xmlNL};
 
 static const xmlChSRange xmlNdS[] = {{0x30, 0x39}, {0x660, 0x669},
     {0x6f0, 0x6f9}, {0x966, 0x96f}, {0x9e6, 0x9ef}, {0xa66, 0xa6f},
@@ -716,7 +716,7 @@
     {0xf20, 0xf29}, {0x1040, 0x1049}, {0x1369, 0x1371}, {0x17e0, 0x17e9},
     {0x1810, 0x1819}, {0x1946, 0x194f}, {0xff10, 0xff19} };
 static const xmlChLRange xmlNdL[] = {{0x104a0, 0x104a9}, {0x1d7ce, 0x1d7ff} };
-static xmlChRangeGroup xmlNdG = {21,2,xmlNdS,xmlNdL};
+static const xmlChRangeGroup xmlNdG = {21,2,xmlNdS,xmlNdL};
 
 static const xmlChSRange xmlNoS[] = {{0xb2, 0xb3}, {0xb9, 0xb9},
     {0xbc, 0xbe}, {0x9f4, 0x9f9}, {0xbf0, 0xbf2}, {0xf2a, 0xf33},
@@ -725,7 +725,7 @@
     {0x2776, 0x2793}, {0x3192, 0x3195}, {0x3220, 0x3229}, {0x3251, 0x325f},
     {0x3280, 0x3289}, {0x32b1, 0x32bf} };
 static const xmlChLRange xmlNoL[] = {{0x10107, 0x10133}, {0x10320, 0x10323} };
-static xmlChRangeGroup xmlNoG = {20,2,xmlNoS,xmlNoL};
+static const xmlChRangeGroup xmlNoG = {20,2,xmlNoS,xmlNoL};
 
 static const xmlChSRange xmlPS[] = {{0x21, 0x23}, {0x25, 0x2a},
     {0x2c, 0x2f}, {0x3a, 0x3b}, {0x3f, 0x40}, {0x5b, 0x5d}, {0x5f, 0x5f},
@@ -749,13 +749,13 @@
     {0xff0c, 0xff0f}, {0xff1a, 0xff1b}, {0xff1f, 0xff20}, {0xff3b, 0xff3d},
     {0xff3f, 0xff3f}, {0xff5b, 0xff5b}, {0xff5d, 0xff5d}, {0xff5f, 0xff65} };
 static const xmlChLRange xmlPL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} };
-static xmlChRangeGroup xmlPG = {84,2,xmlPS,xmlPL};
+static const xmlChRangeGroup xmlPG = {84,2,xmlPS,xmlPL};
 
 static const xmlChSRange xmlPdS[] = {{0x2d, 0x2d}, {0x58a, 0x58a},
     {0x1806, 0x1806}, {0x2010, 0x2015}, {0x301c, 0x301c}, {0x3030, 0x3030},
     {0x30a0, 0x30a0}, {0xfe31, 0xfe32}, {0xfe58, 0xfe58}, {0xfe63, 0xfe63},
     {0xff0d, 0xff0d} };
-static xmlChRangeGroup xmlPdG = {11,0,xmlPdS,NULL};
+static const xmlChRangeGroup xmlPdG = {11,0,xmlPdS,NULL};
 
 static const xmlChSRange xmlPeS[] = {{0x29, 0x29}, {0x5d, 0x5d},
     {0x7d, 0x7d}, {0xf3b, 0xf3b}, {0xf3d, 0xf3d}, {0x169c, 0x169c},
@@ -774,7 +774,7 @@
     {0xfe48, 0xfe48}, {0xfe5a, 0xfe5a}, {0xfe5c, 0xfe5c}, {0xfe5e, 0xfe5e},
     {0xff09, 0xff09}, {0xff3d, 0xff3d}, {0xff5d, 0xff5d}, {0xff60, 0xff60},
     {0xff63, 0xff63} };
-static xmlChRangeGroup xmlPeG = {63,0,xmlPeS,NULL};
+static const xmlChRangeGroup xmlPeG = {63,0,xmlPeS,NULL};
 
 static const xmlChSRange xmlPoS[] = {{0x21, 0x23}, {0x25, 0x27},
     {0x2a, 0x2a}, {0x2c, 0x2c}, {0x2e, 0x2f}, {0x3a, 0x3b}, {0x3f, 0x40},
@@ -795,7 +795,7 @@
     {0xff0a, 0xff0a}, {0xff0c, 0xff0c}, {0xff0e, 0xff0f}, {0xff1a, 0xff1b},
     {0xff1f, 0xff20}, {0xff3c, 0xff3c}, {0xff61, 0xff61}, {0xff64, 0xff64} };
 static const xmlChLRange xmlPoL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} };
-static xmlChRangeGroup xmlPoG = {72,2,xmlPoS,xmlPoL};
+static const xmlChRangeGroup xmlPoG = {72,2,xmlPoS,xmlPoL};
 
 static const xmlChSRange xmlPsS[] = {{0x28, 0x28}, {0x5b, 0x5b},
     {0x7b, 0x7b}, {0xf3a, 0xf3a}, {0xf3c, 0xf3c}, {0x169b, 0x169b},
@@ -814,7 +814,7 @@
     {0xfe41, 0xfe41}, {0xfe43, 0xfe43}, {0xfe47, 0xfe47}, {0xfe59, 0xfe59},
     {0xfe5b, 0xfe5b}, {0xfe5d, 0xfe5d}, {0xff08, 0xff08}, {0xff3b, 0xff3b},
     {0xff5b, 0xff5b}, {0xff5f, 0xff5f}, {0xff62, 0xff62} };
-static xmlChRangeGroup xmlPsG = {65,0,xmlPsS,NULL};
+static const xmlChRangeGroup xmlPsG = {65,0,xmlPsS,NULL};
 
 static const xmlChSRange xmlSS[] = {{0x24, 0x24}, {0x2b, 0x2b},
     {0x3c, 0x3e}, {0x5e, 0x5e}, {0x60, 0x60}, {0x7c, 0x7c}, {0x7e, 0x7e},
@@ -857,13 +857,13 @@
     {0x1d6db, 0x1d6db}, {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715},
     {0x1d735, 0x1d735}, {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f},
     {0x1d789, 0x1d789}, {0x1d7a9, 0x1d7a9}, {0x1d7c3, 0x1d7c3} };
-static xmlChRangeGroup xmlSG = {133,20,xmlSS,xmlSL};
+static const xmlChRangeGroup xmlSG = {133,20,xmlSS,xmlSL};
 
 static const xmlChSRange xmlScS[] = {{0x24, 0x24}, {0xa2, 0xa5},
     {0x9f2, 0x9f3}, {0xaf1, 0xaf1}, {0xbf9, 0xbf9}, {0xe3f, 0xe3f},
     {0x17db, 0x17db}, {0x20a0, 0x20b1}, {0xfdfc, 0xfdfc}, {0xfe69, 0xfe69},
     {0xff04, 0xff04}, {0xffe0, 0xffe1}, {0xffe5, 0xffe6} };
-static xmlChRangeGroup xmlScG = {13,0,xmlScS,NULL};
+static const xmlChRangeGroup xmlScG = {13,0,xmlScS,NULL};
 
 static const xmlChSRange xmlSkS[] = {{0x5e, 0x5e}, {0x60, 0x60},
     {0xa8, 0xa8}, {0xaf, 0xaf}, {0xb4, 0xb4}, {0xb8, 0xb8}, {0x2c2, 0x2c5},
@@ -871,7 +871,7 @@
     {0x384, 0x385}, {0x1fbd, 0x1fbd}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf},
     {0x1fdd, 0x1fdf}, {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x309b, 0x309c},
     {0xff3e, 0xff3e}, {0xff40, 0xff40}, {0xffe3, 0xffe3} };
-static xmlChRangeGroup xmlSkG = {22,0,xmlSkS,NULL};
+static const xmlChRangeGroup xmlSkG = {22,0,xmlSkS,NULL};
 
 static const xmlChSRange xmlSmS[] = {{0x2b, 0x2b}, {0x3c, 0x3e},
     {0x7c, 0x7c}, {0x7e, 0x7e}, {0xac, 0xac}, {0xb1, 0xb1}, {0xd7, 0xd7},
@@ -890,7 +890,7 @@
     {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715}, {0x1d735, 0x1d735},
     {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f}, {0x1d789, 0x1d789},
     {0x1d7a9, 0x1d7a9}, {0x1d7c3, 0x1d7c3} };
-static xmlChRangeGroup xmlSmG = {48,10,xmlSmS,xmlSmL};
+static const xmlChRangeGroup xmlSmG = {48,10,xmlSmS,xmlSmL};
 
 static const xmlChSRange xmlSoS[] = {{0xa6, 0xa7}, {0xa9, 0xa9},
     {0xae, 0xae}, {0xb0, 0xb0}, {0xb6, 0xb6}, {0x482, 0x482},
@@ -923,15 +923,15 @@
     {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d12a, 0x1d164},
     {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9},
     {0x1d1ae, 0x1d1dd}, {0x1d300, 0x1d356} };
-static xmlChRangeGroup xmlSoG = {103,10,xmlSoS,xmlSoL};
+static const xmlChRangeGroup xmlSoG = {103,10,xmlSoS,xmlSoL};
 
 static const xmlChSRange xmlZS[] = {{0x20, 0x20}, {0xa0, 0xa0},
     {0x1680, 0x1680}, {0x180e, 0x180e}, {0x2000, 0x200a}, {0x2028, 0x2029},
     {0x202f, 0x202f}, {0x205f, 0x205f}, {0x3000, 0x3000} };
-static xmlChRangeGroup xmlZG = {9,0,xmlZS,NULL};
+static const xmlChRangeGroup xmlZG = {9,0,xmlZS,NULL};
 
-static xmlUnicodeNameTable xmlUnicodeBlockTbl = {xmlUnicodeBlocks, 128};
-static xmlUnicodeNameTable xmlUnicodeCatTbl = {xmlUnicodeCats, 36};
+static const xmlUnicodeNameTable xmlUnicodeBlockTbl = {xmlUnicodeBlocks, 128};
+static const xmlUnicodeNameTable xmlUnicodeCatTbl = {xmlUnicodeCats, 36};
 
 /**
  * xmlUnicodeLookup:
@@ -943,7 +943,7 @@
  * Returns pointer to range function if found, otherwise NULL
  */
 static xmlIntFunc
-*xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname) {
+*xmlUnicodeLookup(const xmlUnicodeNameTable *tptr, const char *tname) {
     int low, high, mid, cmp;
     const xmlUnicodeRange *sptr;
 
diff --git a/xmlwriter.c b/xmlwriter.c
index 2ca2056..0de56e7 100644
--- a/xmlwriter.c
+++ b/xmlwriter.c
@@ -21,9 +21,10 @@
 
 #include <libxml/xmlwriter.h>
 
-#include "buf.h"
-#include "enc.h"
-#include "save.h"
+#include "private/buf.h"
+#include "private/enc.h"
+#include "private/error.h"
+#include "private/save.h"
 
 #define B64LINELEN 72
 #define B64CRLF "\r\n"
@@ -188,7 +189,7 @@
                         "xmlNewTextWriter : out of memory!\n");
         return NULL;
     }
-    memset(ret, 0, (size_t) sizeof(xmlTextWriter));
+    memset(ret, 0, sizeof(xmlTextWriter));
 
     ret->nodes = xmlListCreate(xmlFreeTextWriterStackEntry,
                                xmlCmpTextWriterStackEntry);
@@ -863,7 +864,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
                                 const char *format, ...)
 {
@@ -1291,7 +1292,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer, const char *format,
                             ...)
 {
@@ -1417,7 +1418,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatString(xmlTextWriterPtr writer, const char *format,
                                ...)
 {
@@ -1541,7 +1542,7 @@
 xmlOutputBufferWriteBase64(xmlOutputBufferPtr out, int len,
                            const unsigned char *data)
 {
-    static unsigned char dtable[64] =
+    static const unsigned char dtable[64] =
             {'A','B','C','D','E','F','G','H','I','J','K','L','M',
 	     'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
 	     'a','b','c','d','e','f','g','h','i','j','k','l','m',
@@ -1674,7 +1675,7 @@
 {
     int count;
     int sum;
-    static char hex[16] =
+    static const char hex[16] =
 	{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
     int i;
 
@@ -1963,7 +1964,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
                                   const xmlChar * name, const char *format,
                                   ...)
@@ -2058,7 +2059,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
                                     const xmlChar * prefix,
                                     const xmlChar * name,
@@ -2166,7 +2167,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
                                 const xmlChar * name, const char *format,
                                 ...)
@@ -2263,7 +2264,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
                                   const xmlChar * prefix,
                                   const xmlChar * name,
@@ -2520,7 +2521,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer, const xmlChar * target,
                            const char *format, ...)
 {
@@ -2735,7 +2736,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer, const char *format,
                               ...)
 {
@@ -3044,7 +3045,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
                             const xmlChar * name,
                             const xmlChar * pubid,
@@ -3288,7 +3289,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
                                    const xmlChar * name,
                                    const char *format, ...)
@@ -3525,7 +3526,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
                                    const xmlChar * name,
                                    const char *format, ...)
@@ -3783,7 +3784,7 @@
  *
  * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
  */
-int XMLCDECL
+int
 xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
                                           int pe,
                                           const xmlChar * name,
diff --git a/xpath.c b/xpath.c
index 11b452e..2762858 100644
--- a/xpath.c
+++ b/xpath.c
@@ -25,22 +25,9 @@
 #include <limits.h>
 #include <string.h>
 #include <stddef.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_MATH_H
 #include <math.h>
-#endif
-#ifdef HAVE_FLOAT_H
 #include <float.h>
-#endif
-#ifdef HAVE_CTYPE_H
 #include <ctype.h>
-#endif
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
 
 #include <libxml/xmlmemory.h>
 #include <libxml/tree.h>
@@ -49,7 +36,7 @@
 #include <libxml/xpathInternals.h>
 #include <libxml/parserInternals.h>
 #include <libxml/hash.h>
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 #include <libxml/xpointer.h>
 #endif
 #ifdef LIBXML_DEBUG_ENABLED
@@ -62,7 +49,9 @@
 #include <libxml/pattern.h>
 #endif
 
-#include "buf.h"
+#include "private/buf.h"
+#include "private/error.h"
+#include "private/xpath.h"
 
 #ifdef LIBXML_PATTERN_ENABLED
 #define XPATH_STREAMING
@@ -142,6 +131,9 @@
  */
 #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
 #define XPATH_MAX_RECURSION_DEPTH 500
+#elif defined(_WIN32)
+/* Windows typically limits stack size to 1MB. */
+#define XPATH_MAX_RECURSION_DEPTH 1000
 #else
 #define XPATH_MAX_RECURSION_DEPTH 5000
 #endif
@@ -153,6 +145,9 @@
  * any use of the macros IS_ASCII_CHARACTER and IS_ASCII_DIGIT)
  */
 
+static void
+xmlXPathNodeSetClear(xmlNodeSetPtr set, int hasNsNodes);
+
 #ifdef XP_OPTIMIZED_NON_ELEM_COMPARISON
 /**
  * xmlXPathCmpNodesExt:
@@ -488,23 +483,39 @@
  *									*
  ************************************************************************/
 
-double xmlXPathNAN;
-double xmlXPathPINF;
-double xmlXPathNINF;
+double xmlXPathNAN = 0.0;
+double xmlXPathPINF = 0.0;
+double xmlXPathNINF = 0.0;
 
 /**
  * xmlXPathInit:
  *
+ * DEPRECATED: Alias for xmlInitParser.
+ */
+void
+xmlXPathInit(void) {
+    xmlInitParser();
+}
+
+/**
+ * xmlInitXPathInternal:
+ *
  * Initialize the XPath environment
  */
 ATTRIBUTE_NO_SANITIZE("float-divide-by-zero")
 void
-xmlXPathInit(void) {
+xmlInitXPathInternal(void) {
+#if defined(NAN) && defined(INFINITY)
+    xmlXPathNAN = NAN;
+    xmlXPathPINF = INFINITY;
+    xmlXPathNINF = -INFINITY;
+#else
     /* MSVC doesn't allow division by zero in constant expressions. */
     double zero = 0.0;
     xmlXPathNAN = 0.0 / zero;
     xmlXPathPINF = 1.0 / zero;
     xmlXPathNINF = -xmlXPathPINF;
+#endif
 }
 
 /**
@@ -590,7 +601,7 @@
 /*
  * The array xmlXPathErrorMessages corresponds to the enum xmlXPathError
  */
-static const char *xmlXPathErrorMessages[] = {
+static const char* const xmlXPathErrorMessages[] = {
     "Ok\n",
     "Number encoding\n",
     "Unfinished literal\n",
@@ -704,6 +715,9 @@
 			"%s", xmlXPathErrorMessages[error]);
 	return;
     }
+    /* Only report the first error */
+    if (ctxt->error != 0)
+        return;
     ctxt->error = error;
     if (ctxt->context == NULL) {
 	__xmlRaiseError(NULL, NULL, NULL,
@@ -809,32 +823,30 @@
 		       void *item,
 		       int initialSize)
 {
-    if (list->items == NULL) {
-	if (initialSize <= 0)
-	    initialSize = 1;
-	list->items = (void **) xmlMalloc(initialSize * sizeof(void *));
-	if (list->items == NULL) {
-	    xmlXPathErrMemory(NULL,
-		"xmlPointerListCreate: allocating item\n");
-	    return(-1);
-	}
-	list->number = 0;
-	list->size = initialSize;
-    } else if (list->size <= list->number) {
-        if (list->size > 50000000) {
-	    xmlXPathErrMemory(NULL,
-		"xmlPointerListAddSize: re-allocating item\n");
-            return(-1);
+    if (list->size <= list->number) {
+        void **tmp;
+        size_t newSize;
+
+        if (list->size == 0) {
+            if (initialSize <= 0)
+                initialSize = 1;
+            newSize = initialSize;
+        } else {
+            if (list->size > 50000000) {
+                xmlXPathErrMemory(NULL,
+                    "xmlPointerListAddSize: re-allocating item\n");
+                return(-1);
+            }
+	    newSize = list->size * 2;
         }
-	list->size *= 2;
-	list->items = (void **) xmlRealloc(list->items,
-	    list->size * sizeof(void *));
-	if (list->items == NULL) {
+	tmp = (void **) xmlRealloc(list->items, newSize * sizeof(void *));
+	if (tmp == NULL) {
 	    xmlXPathErrMemory(NULL,
 		"xmlPointerListAddSize: re-allocating item\n");
-	    list->size = 0;
 	    return(-1);
 	}
+        list->items = tmp;
+        list->size = newSize;
     }
     list->items[list->number++] = item;
     return(0);
@@ -911,7 +923,7 @@
     XPATH_OP_PREDICATE,
     XPATH_OP_FILTER, /* 16 */
     XPATH_OP_SORT /* 17 */
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
     ,XPATH_OP_RANGETO
 #endif
 } xmlXPathOp;
@@ -1362,7 +1374,7 @@
     fprintf(output, "%d", i + 1);
     xmlXPathDebugDumpNodeList(output, cur->nodeTab[0]->children, depth + 1);
 }
-#if defined(LIBXML_XPTR_ENABLED)
+#if defined(LIBXML_XPTR_LOCS_ENABLED)
 static void
 xmlXPathDebugDumpLocationSet(FILE *output, xmlLocationSetPtr cur, int depth) {
     int i;
@@ -1385,7 +1397,7 @@
 	xmlXPathDebugDumpObject(output, cur->locTab[i], depth + 1);
     }
 }
-#endif /* LIBXML_XPTR_ENABLED */
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 
 /**
  * xmlXPathDebugDumpObject:
@@ -1454,6 +1466,7 @@
 	    xmlDebugDumpString(output, cur->stringval);
 	    fprintf(output, "\n");
 	    break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	case XPATH_POINT:
 	    fprintf(output, "Object is a point : index %d in node", cur->index);
 	    xmlXPathDebugDumpNode(output, (xmlNodePtr) cur->user, depth + 1);
@@ -1489,12 +1502,11 @@
 	    }
 	    break;
 	case XPATH_LOCATIONSET:
-#if defined(LIBXML_XPTR_ENABLED)
 	    fprintf(output, "Object is a Location Set:\n");
 	    xmlXPathDebugDumpLocationSet(output,
 		    (xmlLocationSetPtr) cur->user, depth);
-#endif
 	    break;
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 	case XPATH_USERS:
 	    fprintf(output, "Object is user defined\n");
 	    break;
@@ -1662,7 +1674,7 @@
         case XPATH_OP_ARG: fprintf(output, "ARG"); break;
         case XPATH_OP_PREDICATE: fprintf(output, "PREDICATE"); break;
         case XPATH_OP_FILTER: fprintf(output, "FILTER"); break;
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
         case XPATH_OP_RANGETO: fprintf(output, "RANGETO"); break;
 #endif
 	default:
@@ -1854,6 +1866,7 @@
 		case XPATH_STRING:
 		    cache->dbgReusedString++;
 		    break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 		case XPATH_POINT:
 		    cache->dbgReusedPoint++;
 		    break;
@@ -1863,6 +1876,7 @@
 		case XPATH_LOCATIONSET:
 		    cache->dbgReusedLocset++;
 		    break;
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 		case XPATH_USERS:
 		    cache->dbgReusedUsers++;
 		    break;
@@ -1921,6 +1935,7 @@
 		xmlXPathDebugObjMaxString =
 		    xmlXPathDebugObjCounterString;
 	    break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	case XPATH_POINT:
 	    if (! isCached)
 		xmlXPathDebugObjTotalPoint++;
@@ -1948,6 +1963,7 @@
 		xmlXPathDebugObjMaxLocset =
 		    xmlXPathDebugObjCounterLocset;
 	    break;
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 	case XPATH_USERS:
 	    if (! isCached)
 		xmlXPathDebugObjTotalUsers++;
@@ -2008,6 +2024,7 @@
 		case XPATH_STRING:
 		    cache->dbgCachedString++;
 		    break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 		case XPATH_POINT:
 		    cache->dbgCachedPoint++;
 		    break;
@@ -2017,6 +2034,7 @@
 		case XPATH_LOCATIONSET:
 		    cache->dbgCachedLocset++;
 		    break;
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 		case XPATH_USERS:
 		    cache->dbgCachedUsers++;
 		    break;
@@ -2045,6 +2063,7 @@
 	case XPATH_STRING:
 	    xmlXPathDebugObjCounterString--;
 	    break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	case XPATH_POINT:
 	    xmlXPathDebugObjCounterPoint--;
 	    break;
@@ -2054,6 +2073,7 @@
 	case XPATH_LOCATIONSET:
 	    xmlXPathDebugObjCounterLocset--;
 	    break;
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 	case XPATH_USERS:
 	    xmlXPathDebugObjCounterUsers--;
 	    break;
@@ -2200,7 +2220,7 @@
         xmlXPathErrMemory(NULL, "creating object cache\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathContextCache));
+    memset(ret, 0 , sizeof(xmlXPathContextCache));
     ret->maxNodeset = 100;
     ret->maxString = 100;
     ret->maxBoolean = 100;
@@ -2319,6 +2339,8 @@
  * Wrap the Nodeset @val in a new xmlXPathObjectPtr
  *
  * Returns the created or reused object.
+ *
+ * In case of error the node set is destroyed and NULL is returned.
  */
 static xmlXPathObjectPtr
 xmlXPathCacheWrapNodeSet(xmlXPathContextPtr ctxt, xmlNodeSetPtr val)
@@ -2445,21 +2467,24 @@
 	    (cache->miscObjs->number != 0))
 	{
 	    xmlXPathObjectPtr ret;
+            xmlNodeSetPtr set;
 	    /*
 	    * Fallback to misc-cache.
 	    */
 
+	    set = xmlXPathNodeSetCreate(val);
+	    if (set == NULL) {
+		ctxt->lastError.domain = XML_FROM_XPATH;
+		ctxt->lastError.code = XML_ERR_NO_MEMORY;
+		return(NULL);
+	    }
+
 	    ret = (xmlXPathObjectPtr)
 		cache->miscObjs->items[--cache->miscObjs->number];
 
 	    ret->type = XPATH_NODESET;
 	    ret->boolval = 0;
-	    ret->nodesetval = xmlXPathNodeSetCreate(val);
-	    if (ret->nodesetval == NULL) {
-		ctxt->lastError.domain = XML_FROM_XPATH;
-		ctxt->lastError.code = XML_ERR_NO_MEMORY;
-		return(NULL);
-	    }
+	    ret->nodesetval = set;
 #ifdef XP_DEBUG_OBJ_USAGE
 	    xmlXPathDebugObjUsageRequested(ctxt, XPATH_NODESET);
 #endif
@@ -2706,9 +2731,11 @@
 	res = xmlXPathCastNumberToString(val->floatval);
 	break;
     case XPATH_USERS:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
     case XPATH_POINT:
     case XPATH_RANGE:
     case XPATH_LOCATIONSET:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 	TODO;
 	break;
     }
@@ -2807,42 +2834,6 @@
  ************************************************************************/
 
 /**
- * xmlXPathSetFrame:
- * @ctxt: an XPath parser context
- *
- * Set the callee evaluation frame
- *
- * Returns the previous frame value to be restored once done
- */
-static int
-xmlXPathSetFrame(xmlXPathParserContextPtr ctxt) {
-    int ret;
-
-    if (ctxt == NULL)
-        return(0);
-    ret = ctxt->valueFrame;
-    ctxt->valueFrame = ctxt->valueNr;
-    return(ret);
-}
-
-/**
- * xmlXPathPopFrame:
- * @ctxt: an XPath parser context
- * @frame: the previous frame value
- *
- * Remove the callee evaluation frame
- */
-static void
-xmlXPathPopFrame(xmlXPathParserContextPtr ctxt, int frame) {
-    if (ctxt == NULL)
-        return;
-    if (ctxt->valueNr < ctxt->valueFrame) {
-        xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_STACK_ERROR);
-    }
-    ctxt->valueFrame = frame;
-}
-
-/**
  * valuePop:
  * @ctxt: an XPath evaluation context
  *
@@ -2858,11 +2849,6 @@
     if ((ctxt == NULL) || (ctxt->valueNr <= 0))
         return (NULL);
 
-    if (ctxt->valueNr <= ctxt->valueFrame) {
-        xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_STACK_ERROR);
-        return (NULL);
-    }
-
     ctxt->valueNr--;
     if (ctxt->valueNr > 0)
         ctxt->value = ctxt->valueTab[ctxt->valueNr - 1];
@@ -2881,6 +2867,8 @@
  * a memory error is recorded in the parser context.
  *
  * Returns the number of items on the value stack, or -1 in case of error.
+ *
+ * The object is destroyed in case of error.
  */
 int
 valuePush(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr value)
@@ -2899,6 +2887,7 @@
 
         if (ctxt->valueMax >= XPATH_MAX_STACK_DEPTH) {
             xmlXPathPErrMemory(ctxt, "XPath stack depth limit reached\n");
+            xmlXPathFreeObject(value);
             return (-1);
         }
         tmp = (xmlXPathObjectPtr *) xmlRealloc(ctxt->valueTab,
@@ -2906,6 +2895,7 @@
                                              sizeof(ctxt->valueTab[0]));
         if (tmp == NULL) {
             xmlXPathPErrMemory(ctxt, "pushing value\n");
+            xmlXPathFreeObject(value);
             return (-1);
         }
         ctxt->valueMax *= 2;
@@ -3091,7 +3081,7 @@
 #define CUR_CHAR(l) xmlXPathCurrentChar(ctxt, &l)
 
 #define COPY_BUF(l,b,i,v)                                              \
-    if (l == 1) b[i++] = (xmlChar) v;                                  \
+    if (l == 1) b[i++] = v;                                            \
     else i += xmlCopyChar(l,&b[i],v)
 
 #define NEXTL(l)  ctxt->cur += l
@@ -3298,7 +3288,7 @@
 	    }
 	} while (cur != NULL);
     }
-    return((long) count);
+    return(count);
 }
 
 /**
@@ -3574,7 +3564,7 @@
         xmlXPathErrMemory(NULL, "creating nodeset\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlNodeSet));
+    memset(ret, 0 , sizeof(xmlNodeSet));
     if (val != NULL) {
         ret->nodeTab = (xmlNodePtr *) xmlMalloc(XML_NODESET_DEFAULT *
 					     sizeof(xmlNodePtr));
@@ -3584,14 +3574,17 @@
 	    return(NULL);
 	}
 	memset(ret->nodeTab, 0 ,
-	       XML_NODESET_DEFAULT * (size_t) sizeof(xmlNodePtr));
+	       XML_NODESET_DEFAULT * sizeof(xmlNodePtr));
         ret->nodeMax = XML_NODESET_DEFAULT;
 	if (val->type == XML_NAMESPACE_DECL) {
 	    xmlNsPtr ns = (xmlNsPtr) val;
+            xmlNodePtr nsNode = xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
 
-            /* TODO: Check memory error. */
-	    ret->nodeTab[ret->nodeNr++] =
-		xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
+            if (nsNode == NULL) {
+                xmlXPathFreeNodeSet(ret);
+                return(NULL);
+            }
+	    ret->nodeTab[ret->nodeNr++] = nsNode;
 	} else
 	    ret->nodeTab[ret->nodeNr++] = val;
     }
@@ -3648,7 +3641,7 @@
 int
 xmlXPathNodeSetAddNs(xmlNodeSetPtr cur, xmlNodePtr node, xmlNsPtr ns) {
     int i;
-
+    xmlNodePtr nsNode;
 
     if ((cur == NULL) || (ns == NULL) || (node == NULL) ||
         (ns->type != XML_NAMESPACE_DECL) ||
@@ -3678,7 +3671,7 @@
 	    return(-1);
 	}
 	memset(cur->nodeTab, 0 ,
-	       XML_NODESET_DEFAULT * (size_t) sizeof(xmlNodePtr));
+	       XML_NODESET_DEFAULT * sizeof(xmlNodePtr));
         cur->nodeMax = XML_NODESET_DEFAULT;
     } else if (cur->nodeNr == cur->nodeMax) {
         xmlNodePtr *temp;
@@ -3696,8 +3689,10 @@
         cur->nodeMax *= 2;
 	cur->nodeTab = temp;
     }
-    /* TODO: Check memory error. */
-    cur->nodeTab[cur->nodeNr++] = xmlXPathNodeSetDupNs(node, ns);
+    nsNode = xmlXPathNodeSetDupNs(node, ns);
+    if(nsNode == NULL)
+        return(-1);
+    cur->nodeTab[cur->nodeNr++] = nsNode;
     return(0);
 }
 
@@ -3734,7 +3729,7 @@
 	    return(-1);
 	}
 	memset(cur->nodeTab, 0 ,
-	       XML_NODESET_DEFAULT * (size_t) sizeof(xmlNodePtr));
+	       XML_NODESET_DEFAULT * sizeof(xmlNodePtr));
         cur->nodeMax = XML_NODESET_DEFAULT;
     } else if (cur->nodeNr == cur->nodeMax) {
         xmlNodePtr *temp;
@@ -3754,10 +3749,11 @@
     }
     if (val->type == XML_NAMESPACE_DECL) {
 	xmlNsPtr ns = (xmlNsPtr) val;
+        xmlNodePtr nsNode = xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
 
-        /* TODO: Check memory error. */
-	cur->nodeTab[cur->nodeNr++] =
-	    xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
+        if (nsNode == NULL)
+            return(-1);
+	cur->nodeTab[cur->nodeNr++] = nsNode;
     } else
 	cur->nodeTab[cur->nodeNr++] = val;
     return(0);
@@ -3789,7 +3785,7 @@
 	    return(-1);
 	}
 	memset(cur->nodeTab, 0 ,
-	       XML_NODESET_DEFAULT * (size_t) sizeof(xmlNodePtr));
+	       XML_NODESET_DEFAULT * sizeof(xmlNodePtr));
         cur->nodeMax = XML_NODESET_DEFAULT;
     } else if (cur->nodeNr == cur->nodeMax) {
         xmlNodePtr *temp;
@@ -3809,10 +3805,11 @@
     }
     if (val->type == XML_NAMESPACE_DECL) {
 	xmlNsPtr ns = (xmlNsPtr) val;
+        xmlNodePtr nsNode = xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
 
-        /* TODO: Check memory error. */
-	cur->nodeTab[cur->nodeNr++] =
-	    xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
+        if (nsNode == NULL)
+            return(-1);
+	cur->nodeTab[cur->nodeNr++] = nsNode;
     } else
 	cur->nodeTab[cur->nodeNr++] = val;
     return(0);
@@ -3827,6 +3824,8 @@
  * if @val1 is NULL, a new set is created and copied from @val2
  *
  * Returns @val1 once extended or NULL in case of error.
+ *
+ * Frees @val1 in case of error.
  */
 xmlNodeSetPtr
 xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2) {
@@ -3836,35 +3835,8 @@
     if (val2 == NULL) return(val1);
     if (val1 == NULL) {
 	val1 = xmlXPathNodeSetCreate(NULL);
-    if (val1 == NULL)
-        return (NULL);
-#if 0
-	/*
-	* TODO: The optimization won't work in every case, since
-	*  those nasty namespace nodes need to be added with
-	*  xmlXPathNodeSetDupNs() to the set; thus a pure
-	*  memcpy is not possible.
-	*  If there was a flag on the nodesetval, indicating that
-	*  some temporary nodes are in, that would be helpful.
-	*/
-	/*
-	* Optimization: Create an equally sized node-set
-	* and memcpy the content.
-	*/
-	val1 = xmlXPathNodeSetCreateSize(val2->nodeNr);
-	if (val1 == NULL)
-	    return(NULL);
-	if (val2->nodeNr != 0) {
-	    if (val2->nodeNr == 1)
-		*(val1->nodeTab) = *(val2->nodeTab);
-	    else {
-		memcpy(val1->nodeTab, val2->nodeTab,
-		    val2->nodeNr * sizeof(xmlNodePtr));
-	    }
-	    val1->nodeNr = val2->nodeNr;
-	}
-	return(val1);
-#endif
+        if (val1 == NULL)
+            return (NULL);
     }
 
     /* @@ with_ns to check whether namespace nodes should be looked at @@ */
@@ -3903,38 +3875,43 @@
 						    sizeof(xmlNodePtr));
 	    if (val1->nodeTab == NULL) {
 	        xmlXPathErrMemory(NULL, "merging nodeset\n");
-		return(NULL);
+		goto error;
 	    }
 	    memset(val1->nodeTab, 0 ,
-		   XML_NODESET_DEFAULT * (size_t) sizeof(xmlNodePtr));
+		   XML_NODESET_DEFAULT * sizeof(xmlNodePtr));
 	    val1->nodeMax = XML_NODESET_DEFAULT;
 	} else if (val1->nodeNr == val1->nodeMax) {
 	    xmlNodePtr *temp;
 
             if (val1->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
                 xmlXPathErrMemory(NULL, "merging nodeset hit limit\n");
-                return(NULL);
+                goto error;
             }
 	    temp = (xmlNodePtr *) xmlRealloc(val1->nodeTab, val1->nodeMax * 2 *
 					     sizeof(xmlNodePtr));
 	    if (temp == NULL) {
 	        xmlXPathErrMemory(NULL, "merging nodeset\n");
-		return(NULL);
+		goto error;
 	    }
 	    val1->nodeTab = temp;
 	    val1->nodeMax *= 2;
 	}
 	if (n2->type == XML_NAMESPACE_DECL) {
 	    xmlNsPtr ns = (xmlNsPtr) n2;
+            xmlNodePtr nsNode = xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
 
-            /* TODO: Check memory error. */
-	    val1->nodeTab[val1->nodeNr++] =
-		xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
+            if (nsNode == NULL)
+                goto error;
+	    val1->nodeTab[val1->nodeNr++] = nsNode;
 	} else
 	    val1->nodeTab[val1->nodeNr++] = n2;
     }
 
     return(val1);
+
+error:
+    xmlXPathFreeNodeSet(val1);
+    return(NULL);
 }
 
 
@@ -3947,6 +3924,8 @@
  * Checks for duplicate nodes. Clears set2.
  *
  * Returns @set1 once extended or NULL in case of error.
+ *
+ * Frees @set1 in case of error.
  */
 static xmlNodeSetPtr
 xmlXPathNodeSetMergeAndClear(xmlNodeSetPtr set1, xmlNodeSetPtr set2)
@@ -3975,7 +3954,6 @@
 			/*
 			* Free the namespace node.
 			*/
-			set2->nodeTab[i] = NULL;
 			xmlXPathNodeSetFreeNs((xmlNsPtr) n2);
 			goto skip_node;
 		    }
@@ -3989,34 +3967,39 @@
 		    XML_NODESET_DEFAULT * sizeof(xmlNodePtr));
 		if (set1->nodeTab == NULL) {
 		    xmlXPathErrMemory(NULL, "merging nodeset\n");
-		    return(NULL);
+		    goto error;
 		}
 		memset(set1->nodeTab, 0,
-		    XML_NODESET_DEFAULT * (size_t) sizeof(xmlNodePtr));
+		    XML_NODESET_DEFAULT * sizeof(xmlNodePtr));
 		set1->nodeMax = XML_NODESET_DEFAULT;
 	    } else if (set1->nodeNr >= set1->nodeMax) {
 		xmlNodePtr *temp;
 
                 if (set1->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
                     xmlXPathErrMemory(NULL, "merging nodeset hit limit\n");
-                    return(NULL);
+                    goto error;
                 }
 		temp = (xmlNodePtr *) xmlRealloc(
 		    set1->nodeTab, set1->nodeMax * 2 * sizeof(xmlNodePtr));
 		if (temp == NULL) {
 		    xmlXPathErrMemory(NULL, "merging nodeset\n");
-		    return(NULL);
+		    goto error;
 		}
 		set1->nodeTab = temp;
 		set1->nodeMax *= 2;
 	    }
 	    set1->nodeTab[set1->nodeNr++] = n2;
 skip_node:
-	    {}
+            set2->nodeTab[i] = NULL;
 	}
     }
     set2->nodeNr = 0;
     return(set1);
+
+error:
+    xmlXPathFreeNodeSet(set1);
+    xmlXPathNodeSetClear(set2, 1);
+    return(NULL);
 }
 
 /**
@@ -4028,6 +4011,8 @@
  * Doesn't check for duplicate nodes. Clears set2.
  *
  * Returns @set1 once extended or NULL in case of error.
+ *
+ * Frees @set1 in case of error.
  */
 static xmlNodeSetPtr
 xmlXPathNodeSetMergeAndClearNoDupls(xmlNodeSetPtr set1, xmlNodeSetPtr set2)
@@ -4043,32 +4028,38 @@
 		    XML_NODESET_DEFAULT * sizeof(xmlNodePtr));
 		if (set1->nodeTab == NULL) {
 		    xmlXPathErrMemory(NULL, "merging nodeset\n");
-		    return(NULL);
+		    goto error;
 		}
 		memset(set1->nodeTab, 0,
-		    XML_NODESET_DEFAULT * (size_t) sizeof(xmlNodePtr));
+		    XML_NODESET_DEFAULT * sizeof(xmlNodePtr));
 		set1->nodeMax = XML_NODESET_DEFAULT;
 	    } else if (set1->nodeNr >= set1->nodeMax) {
 		xmlNodePtr *temp;
 
                 if (set1->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
                     xmlXPathErrMemory(NULL, "merging nodeset hit limit\n");
-                    return(NULL);
+                    goto error;
                 }
 		temp = (xmlNodePtr *) xmlRealloc(
 		    set1->nodeTab, set1->nodeMax * 2 * sizeof(xmlNodePtr));
 		if (temp == NULL) {
 		    xmlXPathErrMemory(NULL, "merging nodeset\n");
-		    return(NULL);
+		    goto error;
 		}
 		set1->nodeTab = temp;
 		set1->nodeMax *= 2;
 	    }
 	    set1->nodeTab[set1->nodeNr++] = n2;
+            set2->nodeTab[i] = NULL;
 	}
     }
     set2->nodeNr = 0;
     return(set1);
+
+error:
+    xmlXPathFreeNodeSet(set1);
+    xmlXPathNodeSetClear(set2, 1);
+    return(NULL);
 }
 
 /**
@@ -4305,7 +4296,7 @@
         xmlXPathErrMemory(NULL, "creating nodeset\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0 , sizeof(xmlXPathObject));
     ret->type = XPATH_NODESET;
     ret->boolval = 0;
     /* TODO: Check memory error. */
@@ -4335,7 +4326,7 @@
         xmlXPathErrMemory(NULL, "creating result value tree\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0 , sizeof(xmlXPathObject));
     ret->type = XPATH_XSLT_TREE;
     ret->boolval = 1;
     ret->user = (void *) val;
@@ -4386,6 +4377,8 @@
  * Wrap the Nodeset @val in a new xmlXPathObjectPtr
  *
  * Returns the newly created object.
+ *
+ * In case of error the node set is destroyed and NULL is returned.
  */
 xmlXPathObjectPtr
 xmlXPathWrapNodeSet(xmlNodeSetPtr val) {
@@ -4394,9 +4387,10 @@
     ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
     if (ret == NULL) {
         xmlXPathErrMemory(NULL, "creating node set object\n");
+        xmlXPathFreeNodeSet(val);
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0 , sizeof(xmlXPathObject));
     ret->type = XPATH_NODESET;
     ret->nodesetval = val;
 #ifdef XP_DEBUG_OBJ_USAGE
@@ -4526,16 +4520,23 @@
 	cur = xmlXPathNodeSetItem(nodes, i);
 	strval = xmlXPathCastNodeToString(cur);
 	if (xmlHashLookup(hash, strval) == NULL) {
-	    xmlHashAddEntry(hash, strval, strval);
-            /* TODO: Propagate memory error. */
+	    if (xmlHashAddEntry(hash, strval, strval) < 0) {
+                xmlFree(strval);
+                goto error;
+            }
 	    if (xmlXPathNodeSetAddUnique(ret, cur) < 0)
-	        break;
+	        goto error;
 	} else {
 	    xmlFree(strval);
 	}
     }
     xmlHashFree(hash, xmlHashDefaultDeallocator);
     return(ret);
+
+error:
+    xmlHashFree(hash, xmlHashDefaultDeallocator);
+    xmlXPathFreeNodeSet(ret);
+    return(NULL);
 }
 
 /**
@@ -4848,7 +4849,7 @@
 	return(-1);
     if (f == NULL)
         return(xmlHashRemoveEntry2(ctxt->funcHash, name, ns_uri, NULL));
-XML_IGNORE_PEDANTIC_WARNINGS
+XML_IGNORE_FPTR_CAST_WARNINGS
     return(xmlHashAddEntry2(ctxt->funcHash, name, ns_uri, (void *) f));
 XML_POP_WARNINGS
 }
@@ -4931,7 +4932,7 @@
     if (ctxt->funcHash == NULL)
 	return(NULL);
 
-XML_IGNORE_PEDANTIC_WARNINGS
+XML_IGNORE_FPTR_CAST_WARNINGS
     ret = (xmlXPathFunction) xmlHashLookup2(ctxt->funcHash, name, ns_uri);
 XML_POP_WARNINGS
     return(ret);
@@ -5112,6 +5113,8 @@
 int
 xmlXPathRegisterNs(xmlXPathContextPtr ctxt, const xmlChar *prefix,
 			   const xmlChar *ns_uri) {
+    xmlChar *copy;
+
     if (ctxt == NULL)
 	return(-1);
     if (prefix == NULL)
@@ -5126,8 +5129,17 @@
     if (ns_uri == NULL)
         return(xmlHashRemoveEntry(ctxt->nsHash, prefix,
 	                          xmlHashDefaultDeallocator));
-    return(xmlHashUpdateEntry(ctxt->nsHash, prefix, (void *) xmlStrdup(ns_uri),
-			      xmlHashDefaultDeallocator));
+
+    copy = xmlStrdup(ns_uri);
+    if (copy == NULL)
+        return(-1);
+    if (xmlHashUpdateEntry(ctxt->nsHash, prefix, copy,
+                           xmlHashDefaultDeallocator) < 0) {
+        xmlFree(copy);
+        return(-1);
+    }
+
+    return(0);
 }
 
 /**
@@ -5205,7 +5217,7 @@
         xmlXPathErrMemory(NULL, "creating float object\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0 , sizeof(xmlXPathObject));
     ret->type = XPATH_NUMBER;
     ret->floatval = val;
 #ifdef XP_DEBUG_OBJ_USAGE
@@ -5231,7 +5243,7 @@
         xmlXPathErrMemory(NULL, "creating boolean object\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0 , sizeof(xmlXPathObject));
     ret->type = XPATH_BOOLEAN;
     ret->boolval = (val != 0);
 #ifdef XP_DEBUG_OBJ_USAGE
@@ -5257,7 +5269,7 @@
         xmlXPathErrMemory(NULL, "creating string object\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0 , sizeof(xmlXPathObject));
     ret->type = XPATH_STRING;
     if (val != NULL)
 	ret->stringval = xmlStrdup(val);
@@ -5276,6 +5288,8 @@
  * Wraps the @val string into an XPath object.
  *
  * Returns the newly created object.
+ *
+ * Frees @val in case of error.
  */
 xmlXPathObjectPtr
 xmlXPathWrapString (xmlChar *val) {
@@ -5284,9 +5298,10 @@
     ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
     if (ret == NULL) {
         xmlXPathErrMemory(NULL, "creating string object\n");
+        xmlFree(val);
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0 , sizeof(xmlXPathObject));
     ret->type = XPATH_STRING;
     ret->stringval = val;
 #ifdef XP_DEBUG_OBJ_USAGE
@@ -5312,7 +5327,7 @@
         xmlXPathErrMemory(NULL, "creating string object\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0 , sizeof(xmlXPathObject));
     ret->type = XPATH_STRING;
     ret->stringval = xmlStrdup(BAD_CAST val);
 #ifdef XP_DEBUG_OBJ_USAGE
@@ -5351,7 +5366,7 @@
         xmlXPathErrMemory(NULL, "creating user object\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0 , sizeof(xmlXPathObject));
     ret->type = XPATH_USERS;
     ret->user = val;
 #ifdef XP_DEBUG_OBJ_USAGE
@@ -5380,15 +5395,17 @@
         xmlXPathErrMemory(NULL, "copying object\n");
 	return(NULL);
     }
-    memcpy(ret, val , (size_t) sizeof(xmlXPathObject));
+    memcpy(ret, val , sizeof(xmlXPathObject));
 #ifdef XP_DEBUG_OBJ_USAGE
     xmlXPathDebugObjUsageRequested(NULL, val->type);
 #endif
     switch (val->type) {
 	case XPATH_BOOLEAN:
 	case XPATH_NUMBER:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	case XPATH_POINT:
 	case XPATH_RANGE:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 	    break;
 	case XPATH_STRING:
 	    ret->stringval = xmlStrdup(val->stringval);
@@ -5432,8 +5449,8 @@
 	    /* Do not deallocate the copied tree value */
 	    ret->boolval = 0;
 	    break;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	case XPATH_LOCATIONSET:
-#ifdef LIBXML_XPTR_ENABLED
 	{
 	    xmlLocationSetPtr loc = val->user;
 	    ret->user = (void *) xmlXPtrLocationSetMerge(NULL, loc);
@@ -5476,7 +5493,7 @@
 	    if (obj->nodesetval != NULL)
 		xmlXPathFreeNodeSet(obj->nodesetval);
 	}
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
     } else if (obj->type == XPATH_LOCATIONSET) {
 	if (obj->user != NULL)
 	    xmlXPtrFreeLocationSet(obj->user);
@@ -5566,7 +5583,7 @@
 		    goto obj_cached;
 		}
 		break;
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	    case XPATH_LOCATIONSET:
 		if (obj->user != NULL) {
 		    xmlXPtrFreeLocationSet(obj->user);
@@ -5769,9 +5786,11 @@
 	    break;
 	}
 	case XPATH_USERS:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	case XPATH_POINT:
 	case XPATH_RANGE:
 	case XPATH_LOCATIONSET:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 	    TODO
 	    ret = xmlStrdup((const xmlChar *) "");
 	    break;
@@ -5814,9 +5833,11 @@
 	res = xmlXPathCastNumberToString(val->floatval);
 	break;
     case XPATH_USERS:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
     case XPATH_POINT:
     case XPATH_RANGE:
     case XPATH_LOCATIONSET:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 	TODO;
 	break;
     }
@@ -5934,9 +5955,11 @@
 	ret = xmlXPathCastBooleanToNumber(val->boolval);
 	break;
     case XPATH_USERS:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
     case XPATH_POINT:
     case XPATH_RANGE:
     case XPATH_LOCATIONSET:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 	TODO;
 	ret = xmlXPathNAN;
 	break;
@@ -6046,9 +6069,11 @@
 	ret = val->boolval;
 	break;
     case XPATH_USERS:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
     case XPATH_POINT:
     case XPATH_RANGE:
     case XPATH_LOCATIONSET:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 	TODO;
 	ret = 0;
 	break;
@@ -6102,7 +6127,7 @@
         xmlXPathErrMemory(NULL, "creating context\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathContext));
+    memset(ret, 0 , sizeof(xmlXPathContext));
     ret->doc = doc;
     ret->node = NULL;
 
@@ -6210,7 +6235,7 @@
         xmlXPathErrMemory(ctxt, "creating parser context\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathParserContext));
+    memset(ret, 0 , sizeof(xmlXPathParserContext));
     ret->cur = ret->base = str;
     ret->context = ctxt;
 
@@ -6246,7 +6271,7 @@
         xmlXPathErrMemory(ctxt, "creating evaluation context\n");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathParserContext));
+    memset(ret, 0 , sizeof(xmlXPathParserContext));
 
     /* Allocate the value stack */
     ret->valueTab = (xmlXPathObjectPtr *)
@@ -6259,7 +6284,6 @@
     ret->valueNr = 0;
     ret->valueMax = 10;
     ret->value = NULL;
-    ret->valueFrame = 0;
 
     ret->context = ctxt;
     ret->comp = comp;
@@ -6344,16 +6368,14 @@
 		return(0);
 	    if (string[0] == 0)
 		return(0);
-	    return(((unsigned int) string[0]) +
-		   (((unsigned int) string[1]) << 8));
+	    return(string[0] + (string[1] << 8));
 	case XML_NAMESPACE_DECL:
 	    string = ((xmlNsPtr)node)->href;
 	    if (string == NULL)
 		return(0);
 	    if (string[0] == 0)
 		return(0);
-	    return(((unsigned int) string[0]) +
-		   (((unsigned int) string[1]) << 8));
+	    return(string[0] + (string[1] << 8));
 	case XML_ATTRIBUTE_NODE:
 	    tmp = ((xmlAttrPtr) node)->children;
 	    break;
@@ -6375,14 +6397,13 @@
 	}
 	if ((string != NULL) && (string[0] != 0)) {
 	    if (len == 1) {
-		return(ret + (((unsigned int) string[0]) << 8));
+		return(ret + (string[0] << 8));
 	    }
 	    if (string[1] == 0) {
 		len = 1;
-		ret = (unsigned int) string[0];
+		ret = string[0];
 	    } else {
-		return(((unsigned int) string[0]) +
-		       (((unsigned int) string[1]) << 8));
+		return(string[0] + (string[1] << 8));
 	    }
 	}
 	/*
@@ -6431,11 +6452,10 @@
 static unsigned int
 xmlXPathStringHash(const xmlChar * string) {
     if (string == NULL)
-	return((unsigned int) 0);
+	return(0);
     if (string[0] == 0)
 	return(0);
-    return(((unsigned int) string[0]) +
-	   (((unsigned int) string[1]) << 8));
+    return(string[0] + (string[1] << 8));
 }
 
 /**
@@ -6798,6 +6818,7 @@
 		valuePush(ctxt, xmlXPathCacheNewString(ctxt->context, str2));
 		xmlFree(str2);
 		xmlXPathNumberFunction(ctxt, 1);
+                CHECK_ERROR0;
 		val = valuePop(ctxt);
 		v = val->floatval;
 		xmlXPathReleaseObject(ctxt->context, val);
@@ -6985,9 +7006,11 @@
 		    ret = (arg1->boolval == ret);
 		    break;
 		case XPATH_USERS:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 		case XPATH_POINT:
 		case XPATH_RANGE:
 		case XPATH_LOCATIONSET:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 		    TODO
 		    break;
 		case XPATH_NODESET:
@@ -7011,6 +7034,8 @@
 		    valuePush(ctxt, arg2);
 		    xmlXPathNumberFunction(ctxt, 1);
 		    arg2 = valuePop(ctxt);
+                    if (ctxt->error)
+                        break;
                     /* Falls through. */
 		case XPATH_NUMBER:
 		    /* Hand check NaN and Infinity equalities */
@@ -7042,9 +7067,11 @@
 		    }
 		    break;
 		case XPATH_USERS:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 		case XPATH_POINT:
 		case XPATH_RANGE:
 		case XPATH_LOCATIONSET:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 		    TODO
 		    break;
 		case XPATH_NODESET:
@@ -7074,6 +7101,8 @@
 		    valuePush(ctxt, arg1);
 		    xmlXPathNumberFunction(ctxt, 1);
 		    arg1 = valuePop(ctxt);
+                    if (ctxt->error)
+                        break;
 		    /* Hand check NaN and Infinity equalities */
 		    if (xmlXPathIsNaN(arg1->floatval) ||
 			    xmlXPathIsNaN(arg2->floatval)) {
@@ -7103,9 +7132,11 @@
 		    }
 		    break;
 		case XPATH_USERS:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 		case XPATH_POINT:
 		case XPATH_RANGE:
 		case XPATH_LOCATIONSET:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 		    TODO
 		    break;
 		case XPATH_NODESET:
@@ -7114,9 +7145,11 @@
 	    }
 	    break;
         case XPATH_USERS:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	case XPATH_POINT:
 	case XPATH_RANGE:
 	case XPATH_LOCATIONSET:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 	    TODO
 	    break;
 	case XPATH_NODESET:
@@ -7199,9 +7232,11 @@
 		ret = xmlXPathEqualNodeSetString(arg1, arg2->stringval, 0);
 		break;
 	    case XPATH_USERS:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	    case XPATH_POINT:
 	    case XPATH_RANGE:
 	    case XPATH_LOCATIONSET:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 		TODO
 		break;
 	}
@@ -7284,9 +7319,11 @@
 		ret = xmlXPathEqualNodeSetString(arg1, arg2->stringval,1);
 		break;
 	    case XPATH_USERS:
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	    case XPATH_POINT:
 	    case XPATH_RANGE:
 	    case XPATH_LOCATIONSET:
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 		TODO
 		break;
 	}
@@ -7365,21 +7402,13 @@
 	xmlXPathNumberFunction(ctxt, 1);
 	arg1 = valuePop(ctxt);
     }
-    if (arg1->type != XPATH_NUMBER) {
-	xmlXPathFreeObject(arg1);
-	xmlXPathFreeObject(arg2);
-	XP_ERROR0(XPATH_INVALID_OPERAND);
-    }
     if (arg2->type != XPATH_NUMBER) {
 	valuePush(ctxt, arg2);
 	xmlXPathNumberFunction(ctxt, 1);
 	arg2 = valuePop(ctxt);
     }
-    if (arg2->type != XPATH_NUMBER) {
-	xmlXPathReleaseObject(ctxt->context, arg1);
-	xmlXPathReleaseObject(ctxt->context, arg2);
-	XP_ERROR0(XPATH_INVALID_OPERAND);
-    }
+    if (ctxt->error)
+        goto error;
     /*
      * Add tests for infinity and nan
      * => feedback on 3.4 for Inf and NaN
@@ -7429,6 +7458,7 @@
 	    }
 	}
     }
+error:
     xmlXPathReleaseObject(ctxt->context, arg1);
     xmlXPathReleaseObject(ctxt->context, arg2);
     return(ret);
@@ -7651,9 +7681,6 @@
             case XML_DOCUMENT_TYPE_NODE:
             case XML_DOCUMENT_FRAG_NODE:
             case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-	    case XML_DOCB_DOCUMENT_NODE:
-#endif
 		return(((xmlDocPtr) ctxt->context->node)->children);
 	    case XML_ELEMENT_DECL:
 	    case XML_ATTRIBUTE_DECL:
@@ -7709,9 +7736,6 @@
 		return(NULL);
             case XML_DOCUMENT_NODE:
             case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-	    case XML_DOCB_DOCUMENT_NODE:
-#endif
 		return(xmlDocGetRootElement((xmlDocPtr) cur));
 	    default:
 		return(NULL);
@@ -7772,9 +7796,6 @@
 	    case XML_XINCLUDE_START:
 	    case XML_DOCUMENT_FRAG_NODE:
 	    case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-	    case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    case XML_HTML_DOCUMENT_NODE:
 		return(contextNode);
 	    default:
@@ -7799,9 +7820,6 @@
 		    break;
 		/* Not sure if we need those here. */
 		case XML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-		case XML_DOCB_DOCUMENT_NODE:
-#endif
 		case XML_HTML_DOCUMENT_NODE:
 		    if (cur != start)
 			return(cur);
@@ -7968,9 +7986,6 @@
             case XML_DOCUMENT_TYPE_NODE:
             case XML_DOCUMENT_FRAG_NODE:
             case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-	    case XML_DOCB_DOCUMENT_NODE:
-#endif
                 return(NULL);
 	    case XML_NAMESPACE_DECL: {
 		xmlNsPtr ns = (xmlNsPtr) ctxt->context->node;
@@ -8041,9 +8056,6 @@
             case XML_DOCUMENT_TYPE_NODE:
             case XML_DOCUMENT_FRAG_NODE:
             case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-	    case XML_DOCB_DOCUMENT_NODE:
-#endif
                 return(NULL);
 	    case XML_NAMESPACE_DECL: {
 		xmlNsPtr ns = (xmlNsPtr) ctxt->context->node;
@@ -8102,9 +8114,6 @@
 	case XML_DOCUMENT_TYPE_NODE:
 	case XML_DOCUMENT_FRAG_NODE:
 	case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-	case XML_DOCB_DOCUMENT_NODE:
-#endif
 	    return(NULL);
     }
     return(NULL);
@@ -8835,9 +8844,8 @@
 				     NULL, 0);
 		    if (fullname == cur->nodesetval->nodeTab[i]->name)
 			fullname = xmlStrdup(cur->nodesetval->nodeTab[i]->name);
-		    if (fullname == NULL) {
-			XP_ERROR(XPATH_MEMORY_ERROR);
-		    }
+		    if (fullname == NULL)
+                        xmlXPathPErrMemory(ctxt, NULL);
 		    valuePush(ctxt, xmlXPathCacheWrapString(
 			ctxt->context, fullname));
                 }
@@ -9189,7 +9197,7 @@
   if (target) {
     point = xmlStrstr(str->stringval, find->stringval);
     if (point) {
-      offset = (int)(point - str->stringval);
+      offset = point - str->stringval;
       xmlBufAdd(target, str->stringval, offset);
     }
     valuePush(ctxt, xmlXPathCacheNewString(ctxt->context,
@@ -9232,7 +9240,7 @@
   if (target) {
     point = xmlStrstr(str->stringval, find->stringval);
     if (point) {
-      offset = (int)(point - str->stringval) + xmlStrlen(find->stringval);
+      offset = point - str->stringval + xmlStrlen(find->stringval);
       xmlBufAdd(target, &str->stringval[offset],
 		   xmlStrlen(str->stringval) - offset);
     }
@@ -9260,52 +9268,45 @@
  */
 void
 xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
-  xmlXPathObjectPtr obj = NULL;
-  xmlChar *source = NULL;
-  xmlBufPtr target;
-  xmlChar blank;
+    xmlChar *source, *target;
+    int blank;
 
-  if (ctxt == NULL) return;
-  if (nargs == 0) {
-    /* Use current context node */
-      valuePush(ctxt,
-	  xmlXPathCacheWrapString(ctxt->context,
-	    xmlXPathCastNodeToString(ctxt->context->node)));
-    nargs = 1;
-  }
+    if (ctxt == NULL) return;
+    if (nargs == 0) {
+        /* Use current context node */
+        valuePush(ctxt,
+            xmlXPathCacheWrapString(ctxt->context,
+                xmlXPathCastNodeToString(ctxt->context->node)));
+        nargs = 1;
+    }
 
-  CHECK_ARITY(1);
-  CAST_TO_STRING;
-  CHECK_TYPE(XPATH_STRING);
-  obj = valuePop(ctxt);
-  source = obj->stringval;
-
-  target = xmlBufCreate();
-  if (target && source) {
+    CHECK_ARITY(1);
+    CAST_TO_STRING;
+    CHECK_TYPE(XPATH_STRING);
+    source = ctxt->value->stringval;
+    if (source == NULL)
+        return;
+    target = source;
 
     /* Skip leading whitespaces */
     while (IS_BLANK_CH(*source))
-      source++;
+        source++;
 
     /* Collapse intermediate whitespaces, and skip trailing whitespaces */
     blank = 0;
     while (*source) {
-      if (IS_BLANK_CH(*source)) {
-	blank = 0x20;
-      } else {
-	if (blank) {
-	  xmlBufAdd(target, &blank, 1);
-	  blank = 0;
-	}
-	xmlBufAdd(target, source, 1);
-      }
-      source++;
+        if (IS_BLANK_CH(*source)) {
+	    blank = 1;
+        } else {
+            if (blank) {
+                *target++ = 0x20;
+                blank = 0;
+            }
+            *target++ = *source;
+        }
+        source++;
     }
-    valuePush(ctxt, xmlXPathCacheNewString(ctxt->context,
-	xmlBufContent(target)));
-    xmlBufFree(target);
-  }
-  xmlXPathReleaseObject(ctxt->context, obj);
+    *target = 0;
 }
 
 /**
@@ -9336,7 +9337,7 @@
     xmlXPathObjectPtr to;
     xmlBufPtr target;
     int offset, max;
-    xmlChar ch;
+    int ch;
     const xmlChar *point;
     xmlChar *cptr;
 
@@ -9742,7 +9743,7 @@
     } else {
 	/* 1-byte code */
 	*len = 1;
-	return((int) *cur);
+	return(*cur);
     }
 encoding_error:
     /*
@@ -9924,7 +9925,7 @@
             if (len > XML_MAX_NAME_LENGTH) {
                 XP_ERRORNULL(XPATH_EXPR_ERROR);
             }
-	    buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
+	    buffer = (xmlChar *) xmlMallocAtomic(max);
 	    if (buffer == NULL) {
 		XP_ERRORNULL(XPATH_MEMORY_ERROR);
 	    }
@@ -9941,8 +9942,7 @@
                         XP_ERRORNULL(XPATH_EXPR_ERROR);
                     }
 		    max *= 2;
-		    tmp = (xmlChar *) xmlRealloc(buffer,
-			                         max * sizeof(xmlChar));
+		    tmp = (xmlChar *) xmlRealloc(buffer, max);
 		    if (tmp == NULL) {
                         xmlFree(buffer);
 			XP_ERRORNULL(XPATH_MEMORY_ERROR);
@@ -9994,13 +9994,13 @@
 #endif
     if (cur == NULL) return(0);
     while (IS_BLANK_CH(*cur)) cur++;
-    if ((*cur != '.') && ((*cur < '0') || (*cur > '9')) && (*cur != '-')) {
-        return(xmlXPathNAN);
-    }
     if (*cur == '-') {
 	isneg = 1;
 	cur++;
     }
+    if ((*cur != '.') && ((*cur < '0') || (*cur > '9'))) {
+        return(xmlXPathNAN);
+    }
 
 #ifdef __GNUC__
     /*
@@ -10257,7 +10257,10 @@
     } else {
 	XP_ERROR(XPATH_START_LITERAL_ERROR);
     }
-    if (ret == NULL) return;
+    if (ret == NULL) {
+        xmlXPathPErrMemory(ctxt, NULL);
+        return;
+    }
     lit = xmlXPathCacheNewString(ctxt->context, ret);
     if (lit == NULL) {
 	ctxt->error = XPATH_MEMORY_ERROR;
@@ -10503,7 +10506,7 @@
 
 static xmlChar *
 xmlXPathScanName(xmlXPathParserContextPtr ctxt) {
-    int len = 0, l;
+    int l;
     int c;
     const xmlChar *cur;
     xmlChar *ret;
@@ -10523,7 +10526,6 @@
 	    (c == '_') || (c == ':') ||
 	    (IS_COMBINING(c)) ||
 	    (IS_EXTENDER(c)))) {
-	len += l;
 	NEXTL(l);
 	c = CUR_CHAR(l);
     }
@@ -10625,7 +10627,7 @@
 				"PathExpr: Type search\n");
 #endif
 			lc = 1;
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
                     } else if (ctxt->xptr &&
                                xmlStrEqual(name, BAD_CAST "range-to")) {
                         lc = 1;
@@ -11276,7 +11278,7 @@
  */
 static void
 xmlXPathCompStep(xmlXPathParserContextPtr ctxt) {
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
     int rangeto = 0;
     int op2 = -1;
 #endif
@@ -11301,7 +11303,7 @@
 	/*
 	 * The modification needed for XPointer change to the production
 	 */
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	if (ctxt->xptr) {
 	    name = xmlXPathParseNCName(ctxt);
 	    if ((name != NULL) && (xmlStrEqual(name, BAD_CAST "range-to"))) {
@@ -11386,7 +11388,7 @@
 	    xmlGenericErrorContextNodeSet(stdout, ctxt->value->nodesetval);
 #endif
 
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 eval_predicates:
 #endif
 	op1 = ctxt->comp->last;
@@ -11397,7 +11399,7 @@
 	    xmlXPathCompPredicate(ctxt, 0);
 	}
 
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	if (rangeto) {
 	    PUSH_BINARY_EXPR(XPATH_OP_RANGETO, op2, op1, 0, 0);
 	} else
@@ -11740,7 +11742,7 @@
     xpctxt->proximityPosition = oldpp;
 }
 
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 /**
  * xmlXPathLocationSetFilter:
  * @ctxt:  the XPath Parser context
@@ -11857,7 +11859,7 @@
     xpctxt->contextSize = oldcs;
     xpctxt->proximityPosition = oldpp;
 }
-#endif /* LIBXML_XPTR_ENABLED */
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 
 /**
  * xmlXPathCompOpEvalPredicate:
@@ -12275,9 +12277,6 @@
 			switch (cur->type) {
 			    case XML_DOCUMENT_NODE:
 			    case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-			    case XML_DOCB_DOCUMENT_NODE:
-#endif
 			    case XML_ELEMENT_NODE:
 			    case XML_ATTRIBUTE_NODE:
 			    case XML_PI_NODE:
@@ -12866,6 +12865,7 @@
 {
     int total = 0;
     xmlXPathCompExprPtr comp;
+    xmlXPathObjectPtr obj;
     xmlNodeSetPtr set;
 
     CHECK_ERROR0;
@@ -12916,7 +12916,7 @@
     if (ctxt->value == NULL)
 	return (total);
 
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
     /*
     * Hum are we filtering the result of an XPointer expression
     */
@@ -12931,15 +12931,22 @@
 
 	return (total);
     }
-#endif /* LIBXML_XPTR_ENABLED */
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 
+    /*
+     * In case of errors, xmlXPathNodeSetFilter can pop additional nodes from
+     * the stack. We have to temporarily remove the nodeset object from the
+     * stack to avoid freeing it prematurely.
+     */
     CHECK_TYPE0(XPATH_NODESET);
-    set = ctxt->value->nodesetval;
+    obj = valuePop(ctxt);
+    set = obj->nodesetval;
     if (set != NULL) {
         xmlXPathNodeSetFilter(ctxt, set, op->ch2, 1, 1, 1);
         if (set->nodeNr > 0)
             *first = set->nodeTab[0];
     }
+    valuePush(ctxt, obj);
 
     return (total);
 }
@@ -13156,20 +13163,17 @@
 		int i;
                 int frame;
 
-                frame = xmlXPathSetFrame(ctxt);
+                frame = ctxt->valueNr;
                 if (op->ch1 != -1) {
                     total +=
                         xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
-                    if (ctxt->error != XPATH_EXPRESSION_OK) {
-                        xmlXPathPopFrame(ctxt, frame);
+                    if (ctxt->error != XPATH_EXPRESSION_OK)
                         break;
-                    }
                 }
-		if (ctxt->valueNr < ctxt->valueFrame + op->value) {
+		if (ctxt->valueNr < frame + op->value) {
 		    xmlGenericError(xmlGenericErrorContext,
 			    "xmlXPathCompOpEval: parameter error\n");
 		    ctxt->error = XPATH_INVALID_OPERAND;
-                    xmlXPathPopFrame(ctxt, frame);
 		    break;
 		}
 		for (i = 0; i < op->value; i++) {
@@ -13177,7 +13181,6 @@
 			xmlGenericError(xmlGenericErrorContext,
 				"xmlXPathCompOpEval: parameter error\n");
 			ctxt->error = XPATH_INVALID_OPERAND;
-                        xmlXPathPopFrame(ctxt, frame);
 			break;
 		    }
                 }
@@ -13196,7 +13199,6 @@
                             xmlGenericError(xmlGenericErrorContext,
             "xmlXPathCompOpEval: function %s bound to undefined prefix %s\n",
                                     (char *)op->value4, (char *)op->value5);
-                            xmlXPathPopFrame(ctxt, frame);
                             ctxt->error = XPATH_UNDEF_PREFIX_ERROR;
                             break;
                         }
@@ -13220,9 +13222,8 @@
                 ctxt->context->function = oldFunc;
                 ctxt->context->functionURI = oldFuncURI;
                 if ((ctxt->error == XPATH_EXPRESSION_OK) &&
-                    (ctxt->valueNr != ctxt->valueFrame + 1))
+                    (ctxt->valueNr != frame + 1))
                     XP_ERROR0(XPATH_STACK_ERROR);
-                xmlXPathPopFrame(ctxt, frame);
                 break;
             }
         case XPATH_OP_ARG:
@@ -13237,6 +13238,7 @@
             break;
         case XPATH_OP_PREDICATE:
         case XPATH_OP_FILTER:{
+                xmlXPathObjectPtr obj;
                 xmlNodeSetPtr set;
 
                 /*
@@ -13339,7 +13341,7 @@
                 if (ctxt->value == NULL)
                     break;
 
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
                 /*
                  * Hum are we filtering the result of an XPointer expression
                  */
@@ -13349,13 +13351,21 @@
                                               1, locset->locNr);
                     break;
                 }
-#endif /* LIBXML_XPTR_ENABLED */
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 
+                /*
+                 * In case of errors, xmlXPathNodeSetFilter can pop additional
+                 * nodes from the stack. We have to temporarily remove the
+                 * nodeset object from the stack to avoid freeing it
+                 * prematurely.
+                 */
                 CHECK_TYPE0(XPATH_NODESET);
-                set = ctxt->value->nodesetval;
+                obj = valuePop(ctxt);
+                set = obj->nodesetval;
                 if (set != NULL)
                     xmlXPathNodeSetFilter(ctxt, set, op->ch2,
                                           1, set->nodeNr, 1);
+                valuePush(ctxt, obj);
                 break;
             }
         case XPATH_OP_SORT:
@@ -13370,7 +13380,7 @@
                 xmlXPathNodeSetSort(ctxt->value->nodesetval);
 	    }
             break;
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
         case XPATH_OP_RANGETO:{
                 xmlXPathObjectPtr range;
                 xmlXPathObjectPtr res, obj;
@@ -13528,7 +13538,7 @@
                 ctxt->context->proximityPosition = oldpp;
                 break;
             }
-#endif /* LIBXML_XPTR_ENABLED */
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
         default:
             xmlGenericError(xmlGenericErrorContext,
                             "XPath: unknown precompiled operation %d\n", op->op);
@@ -13649,8 +13659,6 @@
     xmlNodePtr cur = NULL, limit = NULL;
     xmlStreamCtxtPtr patstream = NULL;
 
-    int nb_nodes = 0;
-
     if ((ctxt == NULL) || (comp == NULL))
         return(-1);
     max_depth = xmlPatternMaxDepth(comp);
@@ -13707,9 +13715,6 @@
             case XML_DOCUMENT_NODE:
             case XML_DOCUMENT_FRAG_NODE:
             case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-            case XML_DOCB_DOCUMENT_NODE:
-#endif
 	        cur = ctxt->node;
 		break;
             case XML_ATTRIBUTE_NODE:
@@ -13770,8 +13775,6 @@
             ctxt->opCount++;
         }
 
-        nb_nodes++;
-
 	switch (cur->type) {
 	    case XML_ELEMENT_NODE:
 	    case XML_TEXT_NODE:
@@ -13863,11 +13866,6 @@
 
 done:
 
-#if 0
-    printf("stream eval: checked %d nodes selected %d\n",
-           nb_nodes, retObj->nodesetval->nodeNr);
-#endif
-
     if (patstream)
 	xmlFreeStreamCtxt(patstream);
     return(0);
@@ -13890,24 +13888,22 @@
 xmlXPathRunEval(xmlXPathParserContextPtr ctxt, int toBool)
 {
     xmlXPathCompExprPtr comp;
+    int oldDepth;
 
     if ((ctxt == NULL) || (ctxt->comp == NULL))
 	return(-1);
 
-    ctxt->context->depth = 0;
-
     if (ctxt->valueTab == NULL) {
 	/* Allocate the value stack */
 	ctxt->valueTab = (xmlXPathObjectPtr *)
 			 xmlMalloc(10 * sizeof(xmlXPathObjectPtr));
 	if (ctxt->valueTab == NULL) {
 	    xmlXPathPErrMemory(ctxt, "creating evaluation context\n");
-	    xmlFree(ctxt);
+	    return(-1);
 	}
 	ctxt->valueNr = 0;
 	ctxt->valueMax = 10;
 	ctxt->value = NULL;
-        ctxt->valueFrame = 0;
     }
 #ifdef XPATH_STREAMING
     if (ctxt->comp->stream) {
@@ -13949,11 +13945,13 @@
 	    "xmlXPathRunEval: last is less than zero\n");
 	return(-1);
     }
+    oldDepth = ctxt->context->depth;
     if (toBool)
 	return(xmlXPathCompOpEvalToBoolean(ctxt,
 	    &comp->steps[comp->last], 0));
     else
 	xmlXPathCompOpEval(ctxt, &comp->steps[comp->last]);
+    ctxt->context->depth = oldDepth;
 
     return(0);
 }
@@ -14039,7 +14037,7 @@
 	    return(res->nodesetval->nodeNr != 0);
         case XPATH_STRING:
 	    return((res->stringval != NULL) && (res->stringval[0] != 0));
-#ifdef LIBXML_XPTR_ENABLED
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 	case XPATH_LOCATIONSET:{
 	    xmlLocationSetPtr ptr = res->user;
 	    if (ptr == NULL)
@@ -14120,6 +14118,7 @@
 	    comp = xmlXPathNewCompExpr();
 	    if (comp == NULL) {
 		xmlXPathErrMemory(ctxt, "allocating streamable expression\n");
+	        xmlFreePattern(stream);
 		return(NULL);
 	    }
 	    comp->stream = stream;
@@ -14224,6 +14223,7 @@
 xmlXPathCtxtCompile(xmlXPathContextPtr ctxt, const xmlChar *str) {
     xmlXPathParserContextPtr pctxt;
     xmlXPathCompExprPtr comp;
+    int oldDepth = 0;
 
 #ifdef XPATH_STREAMING
     comp = xmlXPathTryStreamCompile(ctxt, str);
@@ -14237,8 +14237,10 @@
     if (pctxt == NULL)
         return NULL;
     if (ctxt != NULL)
-        ctxt->depth = 0;
+        oldDepth = ctxt->depth;
     xmlXPathCompileExpr(pctxt, 1);
+    if (ctxt != NULL)
+        ctxt->depth = oldDepth;
 
     if( pctxt->error != XPATH_EXPRESSION_OK )
     {
@@ -14259,8 +14261,10 @@
 	comp = pctxt->comp;
 	if ((comp->nbStep > 1) && (comp->last >= 0)) {
             if (ctxt != NULL)
-                ctxt->depth = 0;
+                oldDepth = ctxt->depth;
 	    xmlXPathOptimizeExpression(pctxt, &comp->steps[comp->last]);
+            if (ctxt != NULL)
+                ctxt->depth = oldDepth;
 	}
 	pctxt->comp = NULL;
     }
@@ -14336,6 +14340,8 @@
     }
 #endif
     pctxt = xmlXPathCompParserContext(comp, ctxt);
+    if (pctxt == NULL)
+        return(-1);
     res = xmlXPathRunEval(pctxt, toBool);
 
     if (pctxt->error != XPATH_EXPRESSION_OK) {
@@ -14416,6 +14422,7 @@
 #ifdef XPATH_STREAMING
     xmlXPathCompExprPtr comp;
 #endif
+    int oldDepth = 0;
 
     if (ctxt == NULL) return;
 
@@ -14429,8 +14436,10 @@
 #endif
     {
         if (ctxt->context != NULL)
-            ctxt->context->depth = 0;
+            oldDepth = ctxt->context->depth;
 	xmlXPathCompileExpr(ctxt, 1);
+        if (ctxt->context != NULL)
+            ctxt->context->depth = oldDepth;
         CHECK_ERROR;
 
         /* Check for trailing characters. */
@@ -14439,9 +14448,11 @@
 
 	if ((ctxt->comp->nbStep > 1) && (ctxt->comp->last >= 0)) {
             if (ctxt->context != NULL)
-                ctxt->context->depth = 0;
+                oldDepth = ctxt->context->depth;
 	    xmlXPathOptimizeExpression(ctxt,
 		&ctxt->comp->steps[ctxt->comp->last]);
+            if (ctxt->context != NULL)
+                ctxt->context->depth = oldDepth;
         }
     }
 
diff --git a/xpointer.c b/xpointer.c
index d672889..d8c18d7 100644
--- a/xpointer.c
+++ b/xpointer.c
@@ -52,6 +52,8 @@
 #endif
 #endif
 
+#include "private/error.h"
+
 #define TODO								\
     xmlGenericError(xmlGenericErrorContext,				\
 	    "Unimplemented block at %s:%d\n",				\
@@ -132,6 +134,7 @@
  *		A few helper functions for child sequences		*
  *									*
  ************************************************************************/
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 /* xmlXPtrAdvanceNode is a private function, but used by xinclude.c */
 xmlNodePtr xmlXPtrAdvanceNode(xmlNodePtr cur, int *level);
 /**
@@ -177,6 +180,7 @@
     }
     return(i);
 }
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 
 /**
  * xmlXPtrGetNthChild:
@@ -205,6 +209,7 @@
     return(cur);
 }
 
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 /************************************************************************
  *									*
  *		Handling of XPointer specific types			*
@@ -263,7 +268,7 @@
         xmlXPtrErrMemory("allocating point");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0 , sizeof(xmlXPathObject));
     ret->type = XPATH_POINT;
     ret->user = (void *) node;
     ret->index = indx;
@@ -583,7 +588,7 @@
         xmlXPtrErrMemory("allocating locationset");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlLocationSet));
+    memset(ret, 0 , sizeof(xmlLocationSet));
     if (val != NULL) {
         ret->locTab = (xmlXPathObjectPtr *) xmlMalloc(XML_RANGESET_DEFAULT *
 					     sizeof(xmlXPathObjectPtr));
@@ -593,7 +598,7 @@
 	    return(NULL);
 	}
 	memset(ret->locTab, 0 ,
-	       XML_RANGESET_DEFAULT * (size_t) sizeof(xmlXPathObjectPtr));
+	       XML_RANGESET_DEFAULT * sizeof(xmlXPathObjectPtr));
         ret->locMax = XML_RANGESET_DEFAULT;
 	ret->locTab[ret->locNr++] = val;
     }
@@ -635,7 +640,7 @@
 	    return;
 	}
 	memset(cur->locTab, 0 ,
-	       XML_RANGESET_DEFAULT * (size_t) sizeof(xmlXPathObjectPtr));
+	       XML_RANGESET_DEFAULT * sizeof(xmlXPathObjectPtr));
         cur->locMax = XML_RANGESET_DEFAULT;
     } else if (cur->locNr == cur->locMax) {
         xmlXPathObjectPtr *temp;
@@ -768,7 +773,7 @@
         xmlXPtrErrMemory("allocating locationset");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0 , sizeof(xmlXPathObject));
     ret->type = XPATH_LOCATIONSET;
     if (end == NULL)
 	ret->user = xmlXPtrLocationSetCreate(xmlXPtrNewCollapsedRange(start));
@@ -795,7 +800,7 @@
         xmlXPtrErrMemory("allocating locationset");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0, sizeof(xmlXPathObject));
     ret->type = XPATH_LOCATIONSET;
     if (set != NULL) {
 	int i;
@@ -831,11 +836,12 @@
         xmlXPtrErrMemory("allocating locationset");
 	return(NULL);
     }
-    memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+    memset(ret, 0, sizeof(xmlXPathObject));
     ret->type = XPATH_LOCATIONSET;
     ret->user = (void *) val;
     return(ret);
 }
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 
 /************************************************************************
  *									*
@@ -963,7 +969,7 @@
 
     len = xmlStrlen(ctxt->cur);
     len++;
-    buffer = (xmlChar *) xmlMallocAtomic(len * sizeof (xmlChar));
+    buffer = (xmlChar *) xmlMallocAtomic(len);
     if (buffer == NULL) {
         xmlXPtrErrMemory("allocating buffer");
         xmlFree(name);
@@ -996,7 +1002,8 @@
 	XP_ERROR(XPTR_SYNTAX_ERROR);
     }
 
-    if (xmlStrEqual(name, (xmlChar *) "xpointer")) {
+    if (xmlStrEqual(name, (xmlChar *) "xpointer") ||
+        xmlStrEqual(name, (xmlChar *) "xpath1")) {
 	const xmlChar *oldBase = ctxt->base;
 	const xmlChar *oldCur = ctxt->cur;
 
@@ -1010,6 +1017,9 @@
 	ctxt->context->node = (xmlNodePtr)ctxt->context->doc;
 	ctxt->context->proximityPosition = 1;
 	ctxt->context->contextSize = 1;
+#ifdef LIBXML_XPTR_LOCS_ENABLED
+        ctxt->xptr = xmlStrEqual(name, (xmlChar *) "xpointer");
+#endif
 	xmlXPathEvalExpr(ctxt);
 	ctxt->base = oldBase;
         ctxt->cur = oldCur;
@@ -1125,12 +1135,14 @@
 	    xmlXPathObjectPtr obj = ctxt->value;
 
 	    switch (obj->type) {
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 		case XPATH_LOCATIONSET: {
 		    xmlLocationSetPtr loc = ctxt->value->user;
 		    if ((loc != NULL) && (loc->locNr > 0))
 			return;
 		    break;
 		}
+#endif
 		case XPATH_NODESET: {
 		    xmlNodeSetPtr loc = ctxt->value->nodesetval;
 		    if ((loc != NULL) && (loc->nodeNr > 0))
@@ -1269,6 +1281,7 @@
  *									*
  ************************************************************************/
 
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 static
 void xmlXPtrStringRangeFunction(xmlXPathParserContextPtr ctxt, int nargs);
 static
@@ -1283,6 +1296,7 @@
 void xmlXPtrRangeInsideFunction(xmlXPathParserContextPtr ctxt, int nargs);
 static
 void xmlXPtrRangeFunction(xmlXPathParserContextPtr ctxt, int nargs);
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 
 /**
  * xmlXPtrNewContext:
@@ -1298,10 +1312,13 @@
 xmlXPathContextPtr
 xmlXPtrNewContext(xmlDocPtr doc, xmlNodePtr here, xmlNodePtr origin) {
     xmlXPathContextPtr ret;
+    (void) here;
+    (void) origin;
 
     ret = xmlXPathNewContext(doc);
     if (ret == NULL)
 	return(ret);
+#ifdef LIBXML_XPTR_LOCS_ENABLED
     ret->xptr = 1;
     ret->here = here;
     ret->origin = origin;
@@ -1320,6 +1337,7 @@
 	                 xmlXPtrHereFunction);
     xmlXPathRegisterFunc(ret, (xmlChar *)" origin",
 	                 xmlXPtrOriginFunction);
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 
     return(ret);
 }
@@ -1349,12 +1367,13 @@
     ctxt = xmlXPathNewParserContext(str, ctx);
     if (ctxt == NULL)
 	return(NULL);
-    ctxt->xptr = 1;
     xmlXPtrEvalXPointer(ctxt);
 
     if ((ctxt->value != NULL) &&
-	(ctxt->value->type != XPATH_NODESET) &&
-	(ctxt->value->type != XPATH_LOCATIONSET)) {
+#ifdef LIBXML_XPTR_LOCS_ENABLED
+	(ctxt->value->type != XPATH_LOCATIONSET) &&
+#endif
+	(ctxt->value->type != XPATH_NODESET)) {
         xmlXPtrErr(ctxt, XML_XPTR_EVAL_FAILED,
 		"xmlXPtrEval: evaluation failed to return a node set\n",
 		   NULL);
@@ -1395,6 +1414,7 @@
     return(res);
 }
 
+#ifdef LIBXML_XPTR_LOCS_ENABLED
 /**
  * xmlXPtrBuildRangeNodeList:
  * @range:  a range object
@@ -1601,9 +1621,6 @@
 		    case XML_COMMENT_NODE:
 		    case XML_DOCUMENT_NODE:
 		    case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-		    case XML_DOCB_DOCUMENT_NODE:
-#endif
 		    case XML_XINCLUDE_START:
 		    case XML_XINCLUDE_END:
 			break;
@@ -2756,6 +2773,7 @@
 	 */
 	tmp = xmlXPtrNewLocationSetNodeSet(set->nodesetval);
 	xmlXPathFreeObject(set);
+        set = NULL;
 	if (tmp == NULL) {
             xmlXPathErr(ctxt, XPATH_MEMORY_ERROR);
             goto error;
@@ -2950,6 +2968,7 @@
     NEXT;
     SKIP_BLANKS;
 }
+#endif /* LIBXML_XPTR_LOCS_ENABLED */
 
 #endif
 
diff --git a/xstc/fixup-tests.py b/xstc/fixup-tests.py
index 6e33d1c..138d6e0 100755
--- a/xstc/fixup-tests.py
+++ b/xstc/fixup-tests.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -u
+#!/usr/bin/env python3
 
 import sys, os
 import libxml2
@@ -11,7 +11,7 @@
 signature = str()
 dictXSD = dict()
 
-def gatherFiles():	
+def gatherFiles():
     for file in filenames:
         if (file[-5] in ["a", "b", "c"]) and (file[-3:] == 'xsd'):
             # newfilename = string.replace(filename, ' ', '_')
@@ -26,74 +26,74 @@
 
 def debugMsg(text):
     #pass
-    print "DEBUG:", text
-    
-    
-def fixup():      
+    print("DEBUG:", text)
+
+
+def fixup():
     for mainXSD in dictXSD:
-        debugMsg("fixing '%s'..." % mainXSD)	
-	schemaDoc = None
-	xpmainCtx = None	
+        debugMsg("fixing '%s'..." % mainXSD)
+        schemaDoc = None
+        xpmainCtx = None
         # Load the schema document.
         schemaFile = os.path.join(baseDir, mainXSD)
         schemaDoc = libxml2.parseFile(schemaFile)
-	if (schemaDoc is None):
-	    print "ERROR: doc '%s' not found" % mainXSD
+        if (schemaDoc is None):
+            print("ERROR: doc '%s' not found" % mainXSD)
             sys.exit(1)
-	try:    
-	    xpmainCtx = schemaDoc.xpathNewContext()
-            xpmainCtx.xpathRegisterNs("xs", "http://www.w3.org/2001/XMLSchema");		
+        try:
+            xpmainCtx = schemaDoc.xpathNewContext()
+            xpmainCtx.xpathRegisterNs("xs", "http://www.w3.org/2001/XMLSchema")
             xpres = xpmainCtx.xpathEval("/xs:schema")
             if len(xpres) == 0:
-                print "ERROR: doc '%s' has no <schema> element" % mainXSD
+                print("ERROR: doc '%s' has no <schema> element" % mainXSD)
                 sys.exit(1)
-	    schemaElem = xpres[0]  
-	    schemaNs = schemaElem.ns()
-	    # Select all <import>s.
-	    xpres = xpmainCtx.xpathEval("/xs:schema/xs:import")	
-	    if len(xpres) != 0:
-	        for elem in xpres:
-	            loc = elem.noNsProp("schemaLocation")
-	            if (loc is not None):
-	                debugMsg("  imports '%s'" % loc)
-	                if loc in dictXSD[mainXSD]:
-	                    dictXSD[mainXSD].remove(loc)			
-	    for loc in dictXSD[mainXSD]:	    
-	        # Read out the targetNamespace.
-	        impTargetNs = None
-	        impFile = os.path.join(baseDir, loc)
-	        impDoc = libxml2.parseFile(impFile)
-		try:
+            schemaElem = xpres[0]
+            schemaNs = schemaElem.ns()
+            # Select all <import>s.
+            xpres = xpmainCtx.xpathEval("/xs:schema/xs:import")
+            if len(xpres) != 0:
+                for elem in xpres:
+                    loc = elem.noNsProp("schemaLocation")
+                    if (loc is not None):
+                        debugMsg("  imports '%s'" % loc)
+                        if loc in dictXSD[mainXSD]:
+                            dictXSD[mainXSD].remove(loc)
+            for loc in dictXSD[mainXSD]:
+                # Read out the targetNamespace.
+                impTargetNs = None
+                impFile = os.path.join(baseDir, loc)
+                impDoc = libxml2.parseFile(impFile)
+                try:
                     xpimpCtx = impDoc.xpathNewContext()
-		    try:
+                    try:
                         xpimpCtx.setContextDoc(impDoc)
-	                xpimpCtx.xpathRegisterNs("xs", "http://www.w3.org/2001/XMLSchema");  
-	                xpres = xpimpCtx.xpathEval("/xs:schema")
-	                impTargetNs = xpres[0].noNsProp("targetNamespace")
-	            finally:
+                        xpimpCtx.xpathRegisterNs("xs", "http://www.w3.org/2001/XMLSchema")
+                        xpres = xpimpCtx.xpathEval("/xs:schema")
+                        impTargetNs = xpres[0].noNsProp("targetNamespace")
+                    finally:
                         xpimpCtx.xpathFreeContext()
-	        finally:
+                finally:
                     impDoc.freeDoc()
-	                
-	        # Add the <import>.
-	        debugMsg("  adding <import namespace='%s' schemaLocation='%s'/>" % (impTargetNs, loc))
-	        newElem = schemaDoc.newDocNode(schemaNs, "import", None)
-	        if (impTargetNs is not None):
+
+                # Add the <import>.
+                debugMsg("  adding <import namespace='%s' schemaLocation='%s'/>" % (impTargetNs, loc))
+                newElem = schemaDoc.newDocNode(schemaNs, "import", None)
+                if (impTargetNs is not None):
                     newElem.newProp("namespace", impTargetNs)
-	        newElem.newProp("schemaLocation", loc)
-	        if schemaElem.children is not None:
+                newElem.newProp("schemaLocation", loc)
+                if schemaElem.children is not None:
                     schemaElem.children.addPrevSibling(newElem)
                 schemaDoc.saveFile(schemaFile)
-	finally:
+        finally:
             xpmainCtx.xpathFreeContext()
             schemaDoc.freeDoc()
-	    
+
 try:
     gatherFiles()
     fixup()
 finally:
     libxml2.cleanupParser()
     if libxml2.debugMemory(1) != 0:
-        print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+        print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
         libxml2.dumpMemory()
 
diff --git a/xstc/xstc-to-python.xsl b/xstc/xstc-to-python.xsl
index 78d55cd..37de882 100755
--- a/xstc/xstc-to-python.xsl
+++ b/xstc/xstc-to-python.xsl
@@ -7,7 +7,7 @@
     <xsl:output method="text"/>   

 

     <xsl:template match="/">

-        <xsl:text>#!/usr/bin/python -u

+        <xsl:text>#!/usr/bin/env python

 # -*- coding: UTF-8 -*-

 #

 # This file is generated from the W3C test suite description file.

diff --git a/xstc/xstc.py b/xstc/xstc.py
index 21c1f41..cf4a8a1 100755
--- a/xstc/xstc.py
+++ b/xstc/xstc.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 
 #
 # This is the MS subset of the W3C test suite for XML Schemas.
@@ -6,7 +6,7 @@
 #
 
 import sys, os
-import exceptions, optparse
+import optparse
 import libxml2
 
 opa = optparse.OptionParser()
@@ -322,7 +322,7 @@
 			sys.stdout.write("'%s'\n" % self.name)
 		try:
 			self.validate()
-		except (Exception, libxml2.parserError, libxml2.treeError), e:
+		except (Exception, libxml2.parserError, libxml2.treeError) as e:
 			self.failExcept(e)
 			
 def parseSchema(fileName):
@@ -359,7 +359,7 @@
 			if schema is None:
 				self.debugMsg("schema is None")
 				self.debugMsg("checking for IO errors...")
-				if self.isIOError(file, "schema"):
+				if self.isIOError(filePath, "schema"):
 					return
 			self.debugMsg("checking schema result")
 			if (schema is None and self.val) or (schema is not None and self.val == 0):
@@ -614,7 +614,7 @@
 
 	def addToCombines(self, test):
 		found = False
-		if self.combinesRan.has_key(test.combineName):
+		if test.combineName in self.combinesRan:
 			self.combinesRan[test.combineName].append(test)
 		else:
 			self.combinesRan[test.combineName] = [test]
diff --git a/xzlib.c b/xzlib.c
index 62cb2b0..33c27a2 100644
--- a/xzlib.c
+++ b/xzlib.c
@@ -11,14 +11,9 @@
 #ifdef LIBXML_LZMA_ENABLED
 
 #include <string.h>
-#ifdef HAVE_ERRNO_H
+#include <stdlib.h>
 #include <errno.h>
-#endif
 
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
 #ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
 #endif
@@ -27,9 +22,8 @@
 #endif
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
+#elif defined (_WIN32)
+#include <io.h>
 #endif
 #ifdef LIBXML_ZLIB_ENABLED
 #include <zlib.h>
@@ -38,7 +32,7 @@
 #include <lzma.h>
 #endif
 
-#include "xzlib.h"
+#include "private/xzlib.h"
 #include <libxml/xmlmemory.h>
 
 /* values for xz_state how */
diff --git a/xzlib.h b/xzlib.h
deleted file mode 100644
index 7b1df15..0000000
--- a/xzlib.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * xzlib.h: header for the front end for the transparent support of lzma
- *          compression at the I/O layer
- *
- * See Copyright for the status of this software.
- *
- * Anders F Bjorklund <afb@users.sourceforge.net>
- */
-
-#ifndef LIBXML2_XZLIB_H
-#define LIBXML2_XZLIB_H
-typedef void *xzFile;           /* opaque lzma file descriptor */
-
-xzFile __libxml2_xzopen(const char *path, const char *mode);
-xzFile __libxml2_xzdopen(int fd, const char *mode);
-int __libxml2_xzread(xzFile file, void *buf, unsigned len);
-int __libxml2_xzclose(xzFile file);
-int __libxml2_xzcompressed(xzFile f);
-#endif /* LIBXML2_XZLIB_H */